diff --git a/src/NuGetTrends.Web/Portal/package-lock.json b/src/NuGetTrends.Web/Portal/package-lock.json index 29b21c0..29ee9c6 100644 --- a/src/NuGetTrends.Web/Portal/package-lock.json +++ b/src/NuGetTrends.Web/Portal/package-lock.json @@ -17,8 +17,8 @@ "@angular/platform-browser": "^17.1.3", "@angular/platform-browser-dynamic": "^17.1.3", "@angular/router": "^17.1.3", - "@sentry/angular-ivy": "^7.100.1", - "@sentry/integrations": "^7.100.1", + "@sentry-internal/feedback": "^8.0.0-alpha.4", + "@sentry/angular-ivy": "^8.0.0-alpha.4", "@types/chart.js": "2.9.32", "bulma": "^0.9.4", "bulma-start": "^0.0.5", @@ -4368,58 +4368,152 @@ } }, "node_modules/@sentry-internal/feedback": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.100.1.tgz", - "integrity": "sha512-yqcRVnjf+qS+tC4NxOKLJOaSJ+csHmh/dHUzvCTkf5rLsplwXYRnny2r0tqGTQ4tuXMxwgSMKPYwicg81P+xuw==", + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.0.0-alpha.4.tgz", + "integrity": "sha512-/Nl6mX8qa84AI6AWvKtzMzKVVUaLUq6bd9uAqEu/N2HlX1WiX3/W/g+Ef//oUM9u/eLgWW22OU4fGy4u0ExP/Q==", "dependencies": { - "@sentry/core": "7.100.1", - "@sentry/types": "7.100.1", - "@sentry/utils": "7.100.1" + "@sentry/core": "8.0.0-alpha.4", + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4", + "preact": "^10.19.4" }, "engines": { - "node": ">=12" + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/feedback/node_modules/@sentry/core": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.0.0-alpha.4.tgz", + "integrity": "sha512-eMPDAWHrdaaQJriHZrpDSL4sjdlAgxEZhkkxrBYDMnS5OKCocL4dXAHYzYfgj9Kx1Id01I1C6KYaL65X3I+cuQ==", + "dependencies": { + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/feedback/node_modules/@sentry/types": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.0.0-alpha.4.tgz", + "integrity": "sha512-lx/LpoZZ1nwWQOmBPJwgcgHnSBsfRyPTk7Cp3AANSFm2DTdQm3IIVK9qz9nTNqf3qQ+WHLXf/a+QWNd4MRXKCg==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/feedback/node_modules/@sentry/utils": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.0.0-alpha.4.tgz", + "integrity": "sha512-whSMyV/hdymcCRJlxdvNqD9ue6Dyby1lbC+MFHo8OWgSY0nTst4trKCDDDr3+2Twi6bJi1OSOYE88BC2aDowQQ==", + "dependencies": { + "@sentry/types": "8.0.0-alpha.4" + }, + "engines": { + "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.100.1.tgz", - "integrity": "sha512-TnqxqJGhbFhhYRhTG2WLFer+lVieV7mNGeIxFBiw1L4kuj8KGl+C0sknssKyZSRVJFSahhHIosHJGRMkkD//7g==", + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.0.0-alpha.4.tgz", + "integrity": "sha512-BfdHhBww7W75q03wI/1gvzW9J3Bf9WfG8QSkJY+DLmDdiyC1S1u9BGt8cXznQWqHBOWhAh9Nr5D337j9tmc4fQ==", "dependencies": { - "@sentry/core": "7.100.1", - "@sentry/replay": "7.100.1", - "@sentry/types": "7.100.1", - "@sentry/utils": "7.100.1" + "@sentry/core": "8.0.0-alpha.4", + "@sentry/replay": "8.0.0-alpha.4", + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4" }, "engines": { - "node": ">=12" + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/core": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.0.0-alpha.4.tgz", + "integrity": "sha512-eMPDAWHrdaaQJriHZrpDSL4sjdlAgxEZhkkxrBYDMnS5OKCocL4dXAHYzYfgj9Kx1Id01I1C6KYaL65X3I+cuQ==", + "dependencies": { + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/types": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.0.0-alpha.4.tgz", + "integrity": "sha512-lx/LpoZZ1nwWQOmBPJwgcgHnSBsfRyPTk7Cp3AANSFm2DTdQm3IIVK9qz9nTNqf3qQ+WHLXf/a+QWNd4MRXKCg==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/utils": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.0.0-alpha.4.tgz", + "integrity": "sha512-whSMyV/hdymcCRJlxdvNqD9ue6Dyby1lbC+MFHo8OWgSY0nTst4trKCDDDr3+2Twi6bJi1OSOYE88BC2aDowQQ==", + "dependencies": { + "@sentry/types": "8.0.0-alpha.4" + }, + "engines": { + "node": ">=14.18" } }, "node_modules/@sentry-internal/tracing": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.100.1.tgz", - "integrity": "sha512-+u9RRf5eL3StiyiRyAHZmdkAR7GTSGx4Mt4Lmi5NEtCcWlTGZ1QgW2r8ZbhouVmTiJkjhQgYCyej3cojtazeJg==", + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-8.0.0-alpha.4.tgz", + "integrity": "sha512-tvetJP8TvYmSf/iFVlHSkTaolg/eFtu+EkaIE8JjP0jKsq6oPAGGCeASNHD/wTP/xZ4/JRLvpKg5C51RDh7Hvg==", "dependencies": { - "@sentry/core": "7.100.1", - "@sentry/types": "7.100.1", - "@sentry/utils": "7.100.1" + "@sentry/core": "8.0.0-alpha.4", + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4" }, "engines": { - "node": ">=8" + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/tracing/node_modules/@sentry/core": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.0.0-alpha.4.tgz", + "integrity": "sha512-eMPDAWHrdaaQJriHZrpDSL4sjdlAgxEZhkkxrBYDMnS5OKCocL4dXAHYzYfgj9Kx1Id01I1C6KYaL65X3I+cuQ==", + "dependencies": { + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/tracing/node_modules/@sentry/types": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.0.0-alpha.4.tgz", + "integrity": "sha512-lx/LpoZZ1nwWQOmBPJwgcgHnSBsfRyPTk7Cp3AANSFm2DTdQm3IIVK9qz9nTNqf3qQ+WHLXf/a+QWNd4MRXKCg==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/tracing/node_modules/@sentry/utils": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.0.0-alpha.4.tgz", + "integrity": "sha512-whSMyV/hdymcCRJlxdvNqD9ue6Dyby1lbC+MFHo8OWgSY0nTst4trKCDDDr3+2Twi6bJi1OSOYE88BC2aDowQQ==", + "dependencies": { + "@sentry/types": "8.0.0-alpha.4" + }, + "engines": { + "node": ">=14.18" } }, "node_modules/@sentry/angular-ivy": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry/angular-ivy/-/angular-ivy-7.100.1.tgz", - "integrity": "sha512-8px/INZKoM4+m2TzU3JtOi8us9HzZ1pAAjMPiTd2kCLCpdRtvVjSlw0EcTCFBi77NdAc6ZwapFCU0RIHE7mtIA==", + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/angular-ivy/-/angular-ivy-8.0.0-alpha.4.tgz", + "integrity": "sha512-zHq32oBn5lLtrGXJap4oI03cKbuLHRPwgOY8YZbi13stNvKMaQkIiBsRT3cvzWuYBzuwEmthwDtUZ58zDZMUKg==", "dependencies": { - "@sentry/browser": "7.100.1", - "@sentry/core": "7.100.1", - "@sentry/types": "7.100.1", - "@sentry/utils": "7.100.1", + "@sentry/browser": "8.0.0-alpha.4", + "@sentry/core": "8.0.0-alpha.4", + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4", "tslib": "^2.4.1" }, "engines": { - "node": ">=12" + "node": ">=14.18" }, "peerDependencies": { "@angular/common": ">= 12.x <= 17.x", @@ -4428,80 +4522,128 @@ "rxjs": "^6.5.5 || ^7.x" } }, + "node_modules/@sentry/angular-ivy/node_modules/@sentry/core": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.0.0-alpha.4.tgz", + "integrity": "sha512-eMPDAWHrdaaQJriHZrpDSL4sjdlAgxEZhkkxrBYDMnS5OKCocL4dXAHYzYfgj9Kx1Id01I1C6KYaL65X3I+cuQ==", + "dependencies": { + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/angular-ivy/node_modules/@sentry/types": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.0.0-alpha.4.tgz", + "integrity": "sha512-lx/LpoZZ1nwWQOmBPJwgcgHnSBsfRyPTk7Cp3AANSFm2DTdQm3IIVK9qz9nTNqf3qQ+WHLXf/a+QWNd4MRXKCg==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/angular-ivy/node_modules/@sentry/utils": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.0.0-alpha.4.tgz", + "integrity": "sha512-whSMyV/hdymcCRJlxdvNqD9ue6Dyby1lbC+MFHo8OWgSY0nTst4trKCDDDr3+2Twi6bJi1OSOYE88BC2aDowQQ==", + "dependencies": { + "@sentry/types": "8.0.0-alpha.4" + }, + "engines": { + "node": ">=14.18" + } + }, "node_modules/@sentry/browser": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.100.1.tgz", - "integrity": "sha512-IxHQ08ixf0bmaWpe4yt1J4UUsOpg02fxax9z3tOQYXw5MSzz5pDXn8M8DFUVJB3wWuyXhHXTub9yD3VIP9fnoA==", + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.0.0-alpha.4.tgz", + "integrity": "sha512-b9USsjKYKWRDk1ePxBUVRzrrK9Td3tpr0sZtHFe+u0WhVxu0FnxIMycqmhVnz/A2mgZt0qKC2sny/iz0isCyDg==", "dependencies": { - "@sentry-internal/feedback": "7.100.1", - "@sentry-internal/replay-canvas": "7.100.1", - "@sentry-internal/tracing": "7.100.1", - "@sentry/core": "7.100.1", - "@sentry/replay": "7.100.1", - "@sentry/types": "7.100.1", - "@sentry/utils": "7.100.1" + "@sentry-internal/feedback": "8.0.0-alpha.4", + "@sentry-internal/replay-canvas": "8.0.0-alpha.4", + "@sentry-internal/tracing": "8.0.0-alpha.4", + "@sentry/core": "8.0.0-alpha.4", + "@sentry/replay": "8.0.0-alpha.4", + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4" }, "engines": { - "node": ">=8" + "node": ">=14.18" } }, - "node_modules/@sentry/core": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.100.1.tgz", - "integrity": "sha512-f+ItUge/o9AjlveQq0ZUbQauKlPH1FIJbC1TRaYLJ4KNfOdrsh8yZ29RmWv0cFJ/e+FGTr603gWpRPObF5rM8Q==", + "node_modules/@sentry/browser/node_modules/@sentry/core": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.0.0-alpha.4.tgz", + "integrity": "sha512-eMPDAWHrdaaQJriHZrpDSL4sjdlAgxEZhkkxrBYDMnS5OKCocL4dXAHYzYfgj9Kx1Id01I1C6KYaL65X3I+cuQ==", "dependencies": { - "@sentry/types": "7.100.1", - "@sentry/utils": "7.100.1" + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4" }, "engines": { - "node": ">=8" + "node": ">=14.18" } }, - "node_modules/@sentry/integrations": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.100.1.tgz", - "integrity": "sha512-RUyZHcsN3Plc8G4hJN3BCMdbwS8ljUY3E3iLjzucA4HroBsGk5AMc6n7Pp/QqFIRgxrPjKEgA52Wgy5Nq6dSvw==", + "node_modules/@sentry/browser/node_modules/@sentry/types": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.0.0-alpha.4.tgz", + "integrity": "sha512-lx/LpoZZ1nwWQOmBPJwgcgHnSBsfRyPTk7Cp3AANSFm2DTdQm3IIVK9qz9nTNqf3qQ+WHLXf/a+QWNd4MRXKCg==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/browser/node_modules/@sentry/utils": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.0.0-alpha.4.tgz", + "integrity": "sha512-whSMyV/hdymcCRJlxdvNqD9ue6Dyby1lbC+MFHo8OWgSY0nTst4trKCDDDr3+2Twi6bJi1OSOYE88BC2aDowQQ==", "dependencies": { - "@sentry/core": "7.100.1", - "@sentry/types": "7.100.1", - "@sentry/utils": "7.100.1", - "localforage": "^1.8.1" + "@sentry/types": "8.0.0-alpha.4" }, "engines": { - "node": ">=8" + "node": ">=14.18" } }, "node_modules/@sentry/replay": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.100.1.tgz", - "integrity": "sha512-B1NFjzGEFaqejxBRdUyEzH8ChXc2kfiqlA/W/Lg0aoWIl2/7nuMk+l4ld9gW5F5bIAXDTVd5vYltb1lWEbpr7w==", + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-8.0.0-alpha.4.tgz", + "integrity": "sha512-lMy1jcGhM8am0mtnhKxIm0zRxicRdt/uMroR6TngUqiTZ1mUavqH1I5G9JeJoESsCbf1I2s++3ci1M5NTOmw7w==", "dependencies": { - "@sentry-internal/tracing": "7.100.1", - "@sentry/core": "7.100.1", - "@sentry/types": "7.100.1", - "@sentry/utils": "7.100.1" + "@sentry-internal/tracing": "8.0.0-alpha.4", + "@sentry/core": "8.0.0-alpha.4", + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4" }, "engines": { - "node": ">=12" + "node": ">=14.18" } }, - "node_modules/@sentry/types": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.100.1.tgz", - "integrity": "sha512-fLM+LedHuKzOd8IhXBqaQuym+AA519MGjeczBa5kGakes/BbAsUMwsNfjsKQedp7Kh44RgYF99jwoRPK2oDrXw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/utils": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.100.1.tgz", - "integrity": "sha512-Ve6dXr1o6xiBe3VCoJgiutmBKrugryI65EZAbYto5XI+t+PjiLLf9wXtEMF24ZrwImo4Lv3E9Uqza+fWkEbw6A==", + "node_modules/@sentry/replay/node_modules/@sentry/core": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.0.0-alpha.4.tgz", + "integrity": "sha512-eMPDAWHrdaaQJriHZrpDSL4sjdlAgxEZhkkxrBYDMnS5OKCocL4dXAHYzYfgj9Kx1Id01I1C6KYaL65X3I+cuQ==", "dependencies": { - "@sentry/types": "7.100.1" + "@sentry/types": "8.0.0-alpha.4", + "@sentry/utils": "8.0.0-alpha.4" }, "engines": { - "node": ">=8" + "node": ">=14.18" + } + }, + "node_modules/@sentry/replay/node_modules/@sentry/types": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.0.0-alpha.4.tgz", + "integrity": "sha512-lx/LpoZZ1nwWQOmBPJwgcgHnSBsfRyPTk7Cp3AANSFm2DTdQm3IIVK9qz9nTNqf3qQ+WHLXf/a+QWNd4MRXKCg==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/replay/node_modules/@sentry/utils": { + "version": "8.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.0.0-alpha.4.tgz", + "integrity": "sha512-whSMyV/hdymcCRJlxdvNqD9ue6Dyby1lbC+MFHo8OWgSY0nTst4trKCDDDr3+2Twi6bJi1OSOYE88BC2aDowQQ==", + "dependencies": { + "@sentry/types": "8.0.0-alpha.4" + }, + "engines": { + "node": ">=14.18" } }, "node_modules/@sigstore/bundle": { @@ -8468,11 +8610,6 @@ "node": ">=0.10.0" } }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" - }, "node_modules/immutable": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", @@ -9424,14 +9561,6 @@ } } }, - "node_modules/lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", - "dependencies": { - "immediate": "~3.0.5" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -9456,14 +9585,6 @@ "node": ">= 12.13.0" } }, - "node_modules/localforage": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", - "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", - "dependencies": { - "lie": "3.1.1" - } - }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -11264,6 +11385,15 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "node_modules/preact": { + "version": "10.19.6", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.6.tgz", + "integrity": "sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", diff --git a/src/NuGetTrends.Web/Portal/package.json b/src/NuGetTrends.Web/Portal/package.json index 713c361..82df360 100644 --- a/src/NuGetTrends.Web/Portal/package.json +++ b/src/NuGetTrends.Web/Portal/package.json @@ -20,8 +20,8 @@ "@angular/platform-browser": "^17.1.3", "@angular/platform-browser-dynamic": "^17.1.3", "@angular/router": "^17.1.3", - "@sentry/angular-ivy": "^7.100.1", - "@sentry/integrations": "^7.100.1", + "@sentry/angular-ivy": "^8.0.0-alpha.4", + "@sentry-internal/feedback": "^8.0.0-alpha.4", "@types/chart.js": "2.9.32", "bulma": "^0.9.4", "bulma-start": "^0.0.5", diff --git a/src/NuGetTrends.Web/Portal/src/app/app.module.ts b/src/NuGetTrends.Web/Portal/src/app/app.module.ts index 86441fa..6170902 100644 --- a/src/NuGetTrends.Web/Portal/src/app/app.module.ts +++ b/src/NuGetTrends.Web/Portal/src/app/app.module.ts @@ -5,6 +5,7 @@ import { DatePipe } from '@angular/common'; import { HttpClientModule } from '@angular/common/http'; import { Router } from '@angular/router'; import * as Sentry from '@sentry/angular-ivy'; +import { feedbackIntegration, feedbackModalIntegration, feedbackScreenshotIntegration } from "@sentry-internal/feedback"; import { AppComponent } from './app.component'; import { AppRoutingModule } from './app-routes.module'; @@ -41,7 +42,7 @@ Sentry.init({ networkResponseHeaders: ["Server"], }), Sentry.replayCanvasIntegration(), - Sentry.feedbackIntegration({ + feedbackIntegration({ colorScheme: "light", // no dark theme yet themeLight: { submitBackground: '#215C84', @@ -51,17 +52,12 @@ Sentry.init({ inputForeground: '#374151', }, }), - new Sentry.BrowserTracing({ - routingInstrumentation: Sentry.instrumentAngularRouting, + feedbackModalIntegration(), + feedbackScreenshotIntegration(), + Sentry.browserTracingIntegration({ idleTimeout: 30000, - heartbeatInterval:10000, - _experiments: { - enableInteractions: true, - // If you want automatic route transactions in react or similar - onStartRouteTransaction: Sentry.onProfilingStartRouteTransaction, - } }), - new Sentry.BrowserProfilingIntegration(), + Sentry.browserProfilingIntegration(), ], }); diff --git a/src/NuGetTrends.Web/Portal/src/app/packages/packages.component.ts b/src/NuGetTrends.Web/Portal/src/app/packages/packages.component.ts index 0e638a2..76fcba6 100644 --- a/src/NuGetTrends.Web/Portal/src/app/packages/packages.component.ts +++ b/src/NuGetTrends.Web/Portal/src/app/packages/packages.component.ts @@ -16,7 +16,7 @@ import { IPackageDownloadHistory, IDownloadStats } from '../shared/models/packag styleUrls: ['./packages.component.scss'], animations: [AppAnimations.slideInOutAnimation] }) -@Sentry.TraceClassDecorator() +@Sentry.TraceClass({ name: 'HeaderComponent' }) export class PackagesComponent implements OnInit, OnDestroy { private trendChart!: Chart; diff --git a/src/NuGetTrends.Web/Portal/src/app/shared/components/loading-indicator/loading-indicator.component.ts b/src/NuGetTrends.Web/Portal/src/app/shared/components/loading-indicator/loading-indicator.component.ts index 5725566..3d6eb81 100644 --- a/src/NuGetTrends.Web/Portal/src/app/shared/components/loading-indicator/loading-indicator.component.ts +++ b/src/NuGetTrends.Web/Portal/src/app/shared/components/loading-indicator/loading-indicator.component.ts @@ -10,7 +10,7 @@ import { LoadingIndicatorService } from './loading-indicator.service'; templateUrl: './loading-indicator.component.html', styleUrls: ['./loading-indicator.component.scss'] }) -@Sentry.TraceClassDecorator() +@Sentry.TraceClass({ name: 'LoadingIndicatorComponent' }) export class LoadingIndicatorComponent implements AfterViewInit, OnDestroy { loadingSubscription?: Subscription; diff --git a/src/NuGetTrends.Web/Portal/src/app/shared/components/package-list/package-list.component.ts b/src/NuGetTrends.Web/Portal/src/app/shared/components/package-list/package-list.component.ts index c3f6ded..b2aefe4 100644 --- a/src/NuGetTrends.Web/Portal/src/app/shared/components/package-list/package-list.component.ts +++ b/src/NuGetTrends.Web/Portal/src/app/shared/components/package-list/package-list.component.ts @@ -11,7 +11,7 @@ import * as Sentry from "@sentry/angular-ivy"; templateUrl: './package-list.component.html', styleUrls: ['./package-list.component.scss'] }) -@Sentry.TraceClassDecorator() +@Sentry.TraceClass({ name: 'HeaderComponent' }) export class PackageListComponent implements OnDestroy { packageList: Array; diff --git a/src/NuGetTrends.Web/Portal/src/app/shared/components/search-input/search-input.component.ts b/src/NuGetTrends.Web/Portal/src/app/shared/components/search-input/search-input.component.ts index 944de1f..1fbf2e7 100644 --- a/src/NuGetTrends.Web/Portal/src/app/shared/components/search-input/search-input.component.ts +++ b/src/NuGetTrends.Web/Portal/src/app/shared/components/search-input/search-input.component.ts @@ -16,7 +16,7 @@ import { PackagesService, PackageInteractionService } from '../../../core'; styleUrls: ['./search-input.component.scss'], encapsulation: ViewEncapsulation.None, }) -@Sentry.TraceClassDecorator() +@Sentry.TraceClass({ name: 'SearchInputComponent' }) export class SearchInputComponent implements AfterViewInit { @ViewChild(MatAutocomplete) autoComplete!: MatAutocomplete; @ViewChild('searchBox') searchBox!: ElementRef; diff --git a/src/NuGetTrends.Web/Portal/src/app/shared/components/share-popover/share-popover.component.ts b/src/NuGetTrends.Web/Portal/src/app/shared/components/share-popover/share-popover.component.ts index e61460f..5c4db4d 100644 --- a/src/NuGetTrends.Web/Portal/src/app/shared/components/share-popover/share-popover.component.ts +++ b/src/NuGetTrends.Web/Portal/src/app/shared/components/share-popover/share-popover.component.ts @@ -9,7 +9,7 @@ import { SocialShareService } from 'src/app/core/services/social-share.service'; templateUrl: './share-popover.component.html', styleUrls: ['./share-popover.component.scss'] }) -@Sentry.TraceClassDecorator() +@Sentry.TraceClass({ name: 'SharePopoverComponent' }) export class SharePopoverComponent { @Input() buttonText = ''; @Output() shared = new EventEmitter(); diff --git a/src/NuGetTrends.Web/Portal/src/main.ts b/src/NuGetTrends.Web/Portal/src/main.ts index 15447b3..685b761 100644 --- a/src/NuGetTrends.Web/Portal/src/main.ts +++ b/src/NuGetTrends.Web/Portal/src/main.ts @@ -9,20 +9,12 @@ if (environment.production) { enableProdMode(); } -const activeTransaction = Sentry.getActiveTransaction(); -const bootstrapSpan = - activeTransaction && - activeTransaction.startChild({ - description: "platform-browser-dynamic", - op: "ui.angular.bootstrap", - }); +const span = Sentry.startInactiveSpan({ name: 'platform-browser-dynamic', op: 'ui.angular.bootstrap' }); platformBrowserDynamic() .bootstrapModule(AppModule) .then(() => console.log(`Bootstrap success`)) .catch(err => console.error(err)) .finally(() => { - if (bootstrapSpan) { - bootstrapSpan.finish(); - } + span.end(); });