diff --git a/.sentryclirc b/.sentryclirc new file mode 100644 index 00000000..6c579c1c --- /dev/null +++ b/.sentryclirc @@ -0,0 +1,4 @@ +[defaults] +url = https://sentry.io/ +org = gns3 +project = gns3-web-ui diff --git a/.travis.yml b/.travis.yml index d7ed4f75..bcca5129 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,3 +69,14 @@ after_script: python3 scripts/build.py build_exe -b dist/exe.gns3server -s python3 scripts/build.py validate -b dist - yarn electron-builder --linux --x64 --publish always + +# build sourcemaps and upload to Sentry + # fix node issue with memory + - | + if [ -n "$TRAVIS_TAG" ]; + export NODE_OPTIONS=--max_old_space_size=4096 + export RELEASE_VERSION=$(node -e "const fs = require('fs'); let p = fs.readFileSync('package.json'); console.log(JSON.parse(p).version);") + yarn ng build --configuration=production --base-href /static/web-ui/ + yarn sentry-cli releases new $RELEASE_VERSION + yarn sentry-cli releases files $RELEASE_VERSION upload-sourcemaps dist/ + fi diff --git a/angular.json b/angular.json index 08e6c2f8..e8fb572d 100644 --- a/angular.json +++ b/angular.json @@ -32,7 +32,11 @@ "production": { "optimization": true, "outputHashing": "all", - "sourceMap": false, + "sourceMap": { + "hidden": true, + "scripts": true, + "styles": false + }, "extractCss": true, "namedChunks": false, "aot": true, diff --git a/package.json b/package.json index 1de789be..05e9219d 100644 --- a/package.json +++ b/package.json @@ -77,6 +77,7 @@ "@angular/cli": "^7.3.3", "@angular/compiler-cli": "^7.2.7", "@angular/language-service": "^7.2.7", + "@sentry/cli": "^1.40.0", "@sentry/electron": "^0.16.0", "@types/jasmine": "~3.3.9", "@types/jasminewd2": "~2.0.6", diff --git a/yarn.lock b/yarn.lock index 9eec90ab..76d0d717 100644 --- a/yarn.lock +++ b/yarn.lock @@ -357,6 +357,18 @@ "@sentry/utils" "4.6.4" tslib "^1.9.3" +"@sentry/cli@^1.40.0": + version "1.40.0" + resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.40.0.tgz#ab6565034d63bb6dfa840954f16efb058578fbcb" + integrity sha512-xn9MnHPnH9d8/BnOCg9GubGhdXTv+aZ+4ax0YEsjQklq8u9GfFZVpBQJ0cykMUBup7+DHmyGGga8qcoO9ew0gw== + dependencies: + fs-copy-file-sync "^1.1.1" + https-proxy-agent "^2.2.1" + mkdirp "^0.5.1" + node-fetch "^2.1.2" + progress "2.0.0" + proxy-from-env "^1.0.0" + "@sentry/core@4.6.2 || ~4.6.4", "@sentry/core@4.6.4": version "4.6.4" resolved "https://registry.yarnpkg.com/@sentry/core/-/core-4.6.4.tgz#7236e08115423b81b96a13c2c37f29bcc1477745" @@ -3843,6 +3855,11 @@ fs-access@^1.0.0: dependencies: null-check "^1.0.0" +fs-copy-file-sync@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz#11bf32c096c10d126e5f6b36d06eece776062918" + integrity sha512-2QY5eeqVv4m2PfyMiEuy9adxNP+ajf+8AR05cEi+OAzPcOj90hvFImeZhTmKLBgSd9EvG33jsD7ZRxsx9dThkQ== + fs-extra-p@^7.0.0, fs-extra-p@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-7.0.1.tgz#4eec0b6dfa150fa90f6ddd773b4fb1d55cad54e3" @@ -4439,7 +4456,7 @@ inherits@2.0.1: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= -ini@1.3.5, ini@^1.3.4, ini@~1.3.0: +ini@1.3.5, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== @@ -5813,7 +5830,7 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-fetch@^2.3.0: +node-fetch@^2.1.2, node-fetch@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5" integrity sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA== @@ -6627,6 +6644,11 @@ progress-stream@^1.1.0: speedometer "~0.1.2" through2 "~0.2.3" +progress@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8= + promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -6683,6 +6705,11 @@ proxy-addr@~2.0.4: forwarded "~0.1.2" ipaddr.js "1.8.0" +proxy-from-env@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= + prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"