diff --git a/.sentryclirc b/.sentryclirc new file mode 100644 index 0000000..350d1fe --- /dev/null +++ b/.sentryclirc @@ -0,0 +1,6 @@ +[auth] +token=9d2150a82b574f9f9250090a6c055bb66275f7a2efb94bb1a717bcd01ce2d3d1 + +[defaults] +org=sharplab +project=javascript-angular \ No newline at end of file diff --git a/angular.json b/angular.json index 9bd898a..e24ba79 100644 --- a/angular.json +++ b/angular.json @@ -38,7 +38,11 @@ ], "optimization": true, "outputHashing": "all", - "sourceMap": false, + "sourceMap": { + "scripts": true, + "styles": true, + "hidden": true + }, "namedChunks": false, "extractLicenses": true, "vendorChunk": false, diff --git a/package-lock.json b/package-lock.json index 16f9df3..447e119 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,6 @@ "@angular/router": "^14.2.5", "@ngx-translate/core": "^13.0.0", "@ngx-translate/http-loader": "^6.0.0", - "@sentry/angular-ivy": "^7.48.0", "classlist.js": "^1.1.20150312", "file-saver": "^2.0.2", "jszip": "^3.10.1", @@ -39,6 +38,8 @@ "@angular/cli": "^14.2.5", "@angular/compiler-cli": "^14.2.5", "@angular/language-service": "^14.2.5", + "@sentry/angular-ivy": "^7.48.0", + "@sentry/cli": "^2.17.5", "@types/file-saver": "^2.0.1", "@types/jest": "^28.1.8", "@types/luxon": "^1.25.0", @@ -5807,6 +5808,7 @@ "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.48.0.tgz", "integrity": "sha512-MFAPDTrvCtfSm0/Zbmx7HA0Q5uCfRadOUpN8Y8rP1ndz+329h2kA3mZRCuC+3/aXL11zs2CHUhcAkGjwH2vogg==", + "dev": true, "dependencies": { "@sentry/core": "7.48.0", "@sentry/types": "7.48.0", @@ -5820,12 +5822,14 @@ "node_modules/@sentry-internal/tracing/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/@sentry/angular-ivy": { "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/angular-ivy/-/angular-ivy-7.48.0.tgz", "integrity": "sha512-pq+epNd7tJB5/tkyw13V9UcFfa1/9NSFaZoPBjI3drxMSrp7yTGtG6nuLJsJOShN26d93wpPFD/JOqZY02MDng==", + "dev": true, "dependencies": { "@sentry/browser": "7.48.0", "@sentry/types": "7.48.0", @@ -5846,6 +5850,7 @@ "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.48.0.tgz", "integrity": "sha512-tdx/2nhuiykncmXFlV4Dpp+Hxgt/v31LiyXE79IcM560wc+QmWKtzoW9azBWQ0xt5KOO3ERMib9qPE4/ql1/EQ==", + "dev": true, "dependencies": { "@sentry-internal/tracing": "7.48.0", "@sentry/core": "7.48.0", @@ -5861,12 +5866,34 @@ "node_modules/@sentry/browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@sentry/cli": { + "version": "2.17.5", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.17.5.tgz", + "integrity": "sha512-0tXjLDpaKB46851EMJ6NbP0o9/gdEaDSLAyjEtXxlVO6+RyhUj6x6jDwn0vis8n/7q0AvbIjAcJrot+TbZP+WQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.7", + "progress": "^2.0.3", + "proxy-from-env": "^1.1.0", + "which": "^2.0.2" + }, + "bin": { + "sentry-cli": "bin/sentry-cli" + }, + "engines": { + "node": ">= 10" + } }, "node_modules/@sentry/core": { "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.48.0.tgz", "integrity": "sha512-8FYuJTMpyuxRZvlen3gQ3rpOtVInSDmSyXqWEhCLuG/w34AtWoTiW7G516rsAAh6Hy1TP91GooMWbonP3XQNTQ==", + "dev": true, "dependencies": { "@sentry/types": "7.48.0", "@sentry/utils": "7.48.0", @@ -5879,12 +5906,14 @@ "node_modules/@sentry/core/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/@sentry/replay": { "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.48.0.tgz", "integrity": "sha512-8fRHMGJ0NJeIZi6UucxUTvfDPaBa7+jU1kCTLjCcuH3X/UVz5PtGLMtFSO5U8HP+mUDlPs97MP1uoDvMa4S2Ng==", + "dev": true, "dependencies": { "@sentry/core": "7.48.0", "@sentry/types": "7.48.0", @@ -5898,6 +5927,7 @@ "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.48.0.tgz", "integrity": "sha512-kkAszZwQ5/v4n7Yyw/DPNRWx7h724mVNRGZIJa9ggUMvTgMe7UKCZZ5wfQmYiKVlGbwd9pxXAcP8Oq15EbByFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -5906,6 +5936,7 @@ "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.48.0.tgz", "integrity": "sha512-d977sghkFVMfld0LrEyyY2gYrfayLPdDEpUDT+hg5y79r7zZDCFyHtdB86699E5K89MwDZahW7Erk+a1nk4x5w==", + "dev": true, "dependencies": { "@sentry/types": "7.48.0", "tslib": "^1.9.3" @@ -5917,7 +5948,8 @@ "node_modules/@sentry/utils/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/@sinclair/typebox": { "version": "0.24.44", @@ -6601,12 +6633,12 @@ } }, "node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", "dev": true, "engines": { - "node": ">=0.3.0" + "node": ">=6.0" } }, "node_modules/agent-base": { @@ -14601,6 +14633,48 @@ "dev": true, "optional": true }, + "node_modules/node-fetch": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.10.tgz", + "integrity": "sha512-5YytjUVbwzjE/BX4N62vnPPkGNxlJPwdA9/ArUc4pcM6cYS4Hinuv4VazzwjMGgnWuiQqcemOanib/5PpcsGug==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -16254,6 +16328,15 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -16553,6 +16636,12 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -19011,12 +19100,12 @@ } }, "node_modules/webdriver-manager": { - "version": "12.1.8", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz", - "integrity": "sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg==", + "version": "12.1.9", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.9.tgz", + "integrity": "sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ==", "dev": true, "dependencies": { - "adm-zip": "^0.4.9", + "adm-zip": "^0.5.2", "chalk": "^1.1.1", "del": "^2.2.0", "glob": "^7.0.3", @@ -23759,6 +23848,7 @@ "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.48.0.tgz", "integrity": "sha512-MFAPDTrvCtfSm0/Zbmx7HA0Q5uCfRadOUpN8Y8rP1ndz+329h2kA3mZRCuC+3/aXL11zs2CHUhcAkGjwH2vogg==", + "dev": true, "requires": { "@sentry/core": "7.48.0", "@sentry/types": "7.48.0", @@ -23769,7 +23859,8 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, @@ -23777,6 +23868,7 @@ "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/angular-ivy/-/angular-ivy-7.48.0.tgz", "integrity": "sha512-pq+epNd7tJB5/tkyw13V9UcFfa1/9NSFaZoPBjI3drxMSrp7yTGtG6nuLJsJOShN26d93wpPFD/JOqZY02MDng==", + "dev": true, "requires": { "@sentry/browser": "7.48.0", "@sentry/types": "7.48.0", @@ -23788,6 +23880,7 @@ "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.48.0.tgz", "integrity": "sha512-tdx/2nhuiykncmXFlV4Dpp+Hxgt/v31LiyXE79IcM560wc+QmWKtzoW9azBWQ0xt5KOO3ERMib9qPE4/ql1/EQ==", + "dev": true, "requires": { "@sentry-internal/tracing": "7.48.0", "@sentry/core": "7.48.0", @@ -23800,14 +23893,29 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, + "@sentry/cli": { + "version": "2.17.5", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.17.5.tgz", + "integrity": "sha512-0tXjLDpaKB46851EMJ6NbP0o9/gdEaDSLAyjEtXxlVO6+RyhUj6x6jDwn0vis8n/7q0AvbIjAcJrot+TbZP+WQ==", + "dev": true, + "requires": { + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.7", + "progress": "^2.0.3", + "proxy-from-env": "^1.1.0", + "which": "^2.0.2" + } + }, "@sentry/core": { "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.48.0.tgz", "integrity": "sha512-8FYuJTMpyuxRZvlen3gQ3rpOtVInSDmSyXqWEhCLuG/w34AtWoTiW7G516rsAAh6Hy1TP91GooMWbonP3XQNTQ==", + "dev": true, "requires": { "@sentry/types": "7.48.0", "@sentry/utils": "7.48.0", @@ -23817,7 +23925,8 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, @@ -23825,6 +23934,7 @@ "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.48.0.tgz", "integrity": "sha512-8fRHMGJ0NJeIZi6UucxUTvfDPaBa7+jU1kCTLjCcuH3X/UVz5PtGLMtFSO5U8HP+mUDlPs97MP1uoDvMa4S2Ng==", + "dev": true, "requires": { "@sentry/core": "7.48.0", "@sentry/types": "7.48.0", @@ -23834,12 +23944,14 @@ "@sentry/types": { "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.48.0.tgz", - "integrity": "sha512-kkAszZwQ5/v4n7Yyw/DPNRWx7h724mVNRGZIJa9ggUMvTgMe7UKCZZ5wfQmYiKVlGbwd9pxXAcP8Oq15EbByFQ==" + "integrity": "sha512-kkAszZwQ5/v4n7Yyw/DPNRWx7h724mVNRGZIJa9ggUMvTgMe7UKCZZ5wfQmYiKVlGbwd9pxXAcP8Oq15EbByFQ==", + "dev": true }, "@sentry/utils": { "version": "7.48.0", "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.48.0.tgz", "integrity": "sha512-d977sghkFVMfld0LrEyyY2gYrfayLPdDEpUDT+hg5y79r7zZDCFyHtdB86699E5K89MwDZahW7Erk+a1nk4x5w==", + "dev": true, "requires": { "@sentry/types": "7.48.0", "tslib": "^1.9.3" @@ -23848,7 +23960,8 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, @@ -24503,9 +24616,9 @@ } }, "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", "dev": true }, "agent-base": { @@ -30470,6 +30583,39 @@ "dev": true, "optional": true }, + "node-fetch": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.10.tgz", + "integrity": "sha512-5YytjUVbwzjE/BX4N62vnPPkGNxlJPwdA9/ArUc4pcM6cYS4Hinuv4VazzwjMGgnWuiQqcemOanib/5PpcsGug==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, "node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -31590,6 +31736,12 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -31829,6 +31981,12 @@ } } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -33695,12 +33853,12 @@ } }, "webdriver-manager": { - "version": "12.1.8", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz", - "integrity": "sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg==", + "version": "12.1.9", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.9.tgz", + "integrity": "sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ==", "dev": true, "requires": { - "adm-zip": "^0.4.9", + "adm-zip": "^0.5.2", "chalk": "^1.1.1", "del": "^2.2.0", "glob": "^7.0.3", diff --git a/package.json b/package.json index d2bef88..8100a0d 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,6 @@ "@angular/router": "^14.2.5", "@ngx-translate/core": "^13.0.0", "@ngx-translate/http-loader": "^6.0.0", - "@sentry/angular-ivy": "^7.48.0", "classlist.js": "^1.1.20150312", "file-saver": "^2.0.2", "jszip": "^3.10.1", @@ -34,6 +33,8 @@ "@angular/cli": "^14.2.5", "@angular/compiler-cli": "^14.2.5", "@angular/language-service": "^14.2.5", + "@sentry/cli": "^2.17.5", + "@sentry/angular-ivy": "^7.48.0", "@types/file-saver": "^2.0.1", "@types/jest": "^28.1.8", "@types/luxon": "^1.25.0", @@ -57,8 +58,10 @@ "test": "ng test", "lint": "ng lint", "deploy": "cd dist && scp -r . nick@psharplab.campus.mcgill.ca:/home/nick/tmp-frontend", - "build-deploy": "npm run build && npm run deploy", - "lint-fix": "ng lint --fix=true" + "build-deploy": "npm run build && npm run sentry:generate-sourcemaps && npm run sentry:upload-sourcemaps && npm run deploy", + "lint-fix": "ng lint --fix=true", + "sentry:generate-sourcemaps": "sentry-cli sourcemaps inject ./dist", + "sentry:upload-sourcemaps": "sentry-cli sourcemaps upload ./dist" }, "repository": { "type": "git", diff --git a/src/main.ts b/src/main.ts index cac171f..996d5c2 100644 --- a/src/main.ts +++ b/src/main.ts @@ -6,27 +6,26 @@ import { environment } from './environments/environment'; import * as Sentry from '@sentry/angular-ivy'; -Sentry.init({ - dsn: 'https://1eac536a2ca24255a6faf10c0f3abc39@o4505031493222400.ingest.sentry.io/4505031494467584', - integrations: [ - new Sentry.BrowserTracing({ - tracePropagationTargets: [ - 'localhost', - 'localhost:8181', - 'https://psharplab.campus.mcgill.ca', - 'https://psharplab.campus.mcgill.ca/api', - ], - }), - new Sentry.Replay({ - maskAllText: false, - blockAllMedia: false, - }), - ], - tracesSampleRate: 1.0, - replaysOnErrorSampleRate: 1.0, -}); - if (environment.production) { + Sentry.init({ + dsn: 'https://1eac536a2ca24255a6faf10c0f3abc39@o4505031493222400.ingest.sentry.io/4505031494467584', + integrations: [ + new Sentry.BrowserTracing({ + tracePropagationTargets: [ + 'localhost', + 'localhost:8181', + 'https://psharplab.campus.mcgill.ca', + 'https://psharplab.campus.mcgill.ca/api', + ], + }), + new Sentry.Replay({ + maskAllText: false, + blockAllMedia: false, + }), + ], + tracesSampleRate: 1.0, + replaysOnErrorSampleRate: 1.0, + }); enableProdMode(); } diff --git a/tsconfig.json b/tsconfig.json index c2d6341..a5768f7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,20 +1,19 @@ /* To learn more about this file see: https://angular.io/config/tsconfig. */ { - "compileOnSave": false, - "compilerOptions": { - "baseUrl": "./", - "outDir": "./dist/out-tsc", - "sourceMap": true, - "declaration": false, - "downlevelIteration": true, - "experimentalDecorators": true, - "moduleResolution": "node", - "importHelpers": true, - "target": "es2020", - "module": "es2020", - "lib": [ - "es2018", - "dom" - ] - } + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "sourceMap": true, + "inlineSources": true, + "sourceRoot": "/", + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "es2020", + "module": "es2020", + "lib": ["es2018", "dom"] + } }