diff --git a/package-lock.json b/package-lock.json index 780d26c..9f177c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,9 @@ "@material-design-icons/svg": "^0.14.2", "@mdi/font": "^7.1.96", "@mdi/js": "^7.2.96", + "@sentry/browser": "^9.7.0", + "@sentry/integrations": "^7.114.0", + "@sentry/vue": "^9.7.0", "@tweenjs/tween.js": "^21.0.0", "@vojtechlanka/vue-simple-suggest": "^2.0.6", "@vuepic/vue-datepicker": "^11.0.1", @@ -729,6 +732,152 @@ "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==", "dev": true }, + "node_modules/@sentry-internal/browser-utils": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-9.7.0.tgz", + "integrity": "sha512-1wVd8mCvbeGs3wSDZFYQ9RE8I8Ii8iQ2wnHKbONk645RIT6FwSCPHlnFKWYSFVxo85Wm6SFbKcv1zvTNXUVhfQ==", + "license": "MIT", + "dependencies": { + "@sentry/core": "9.7.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@sentry-internal/feedback": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-9.7.0.tgz", + "integrity": "sha512-Ld51wOfXYO90++ZGBuVF/5PAMBnVWFfvvleXRgA9VaL2hq296+tLXYVccHTgH+dZmwjJgsybDAxHdj+k1FFnmw==", + "license": "MIT", + "dependencies": { + "@sentry/core": "9.7.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@sentry-internal/replay": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-9.7.0.tgz", + "integrity": "sha512-JOwwqe3JtcbkvC/hM7qr1x40lk3K5zm8r2HHVKVLzrf6cAuLF9x17R7h+0cDOHcilacbtIQQ9Fjjb63a1/iDLQ==", + "license": "MIT", + "dependencies": { + "@sentry-internal/browser-utils": "9.7.0", + "@sentry/core": "9.7.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@sentry-internal/replay-canvas": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-9.7.0.tgz", + "integrity": "sha512-E/XESnVLV+CUyrucrxK2kHpEKTDrz7LTBwjnt3FDHA8MfwMRX+np0sYjvcIRWAG4xxBOYBGlWD2+n0Y2pqYa2Q==", + "license": "MIT", + "dependencies": { + "@sentry-internal/replay": "9.7.0", + "@sentry/core": "9.7.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@sentry/browser": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-9.7.0.tgz", + "integrity": "sha512-G2AZuWAfatv30rFWYcbAZNnty9826ld8k+EucYLtDGN0uBdHXX9XT/x7/C8dprtV16jGWzrfvMza8C7Z4uj8BA==", + "license": "MIT", + "dependencies": { + "@sentry-internal/browser-utils": "9.7.0", + "@sentry-internal/feedback": "9.7.0", + "@sentry-internal/replay": "9.7.0", + "@sentry-internal/replay-canvas": "9.7.0", + "@sentry/core": "9.7.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@sentry/core": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-9.7.0.tgz", + "integrity": "sha512-EprjtU7F6eltB4Nx8fzWFXsfAC/6yNGuKo2bHKeIAmNufjD0X4ifz+iB3d0pKuwsn9jQbLrQTIGwKdTO3dstFw==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@sentry/integrations": { + "version": "7.114.0", + "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.114.0.tgz", + "integrity": "sha512-BJIBWXGKeIH0ifd7goxOS29fBA8BkEgVVCahs6xIOXBjX1IRS6PmX0zYx/GP23nQTfhJiubv2XPzoYOlZZmDxg==", + "license": "MIT", + "dependencies": { + "@sentry/core": "7.114.0", + "@sentry/types": "7.114.0", + "@sentry/utils": "7.114.0", + "localforage": "^1.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/integrations/node_modules/@sentry/core": { + "version": "7.114.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.114.0.tgz", + "integrity": "sha512-YnanVlmulkjgZiVZ9BfY9k6I082n+C+LbZo52MTvx3FY6RE5iyiPMpaOh67oXEZRWcYQEGm+bKruRxLVP6RlbA==", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.114.0", + "@sentry/utils": "7.114.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/types": { + "version": "7.114.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.114.0.tgz", + "integrity": "sha512-tsqkkyL3eJtptmPtT0m9W/bPLkU7ILY7nvwpi1hahA5jrM7ppoU0IMaQWAgTD+U3rzFH40IdXNBFb8Gnqcva4w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/utils": { + "version": "7.114.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.114.0.tgz", + "integrity": "sha512-319N90McVpupQ6vws4+tfCy/03AdtsU0MurIE4+W5cubHME08HtiEWlfacvAxX+yuKFhvdsO4K4BB/dj54ideg==", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.114.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/vue": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@sentry/vue/-/vue-9.7.0.tgz", + "integrity": "sha512-pN6HPQlo84TJIF2KCHi8o9KqXOL64swMwt7yL77PsdQX7C4yydjzfwjWSvTd7RF3QaO3LBGALE/yOPgHuvTv1w==", + "license": "MIT", + "dependencies": { + "@sentry/browser": "9.7.0", + "@sentry/core": "9.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "pinia": "2.x || 3.x", + "vue": "2.x || 3.x" + }, + "peerDependenciesMeta": { + "pinia": { + "optional": true + } + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -2504,6 +2653,12 @@ "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==", + "license": "MIT" + }, "node_modules/immutable": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", @@ -2861,11 +3016,29 @@ "node": ">= 0.8.0" } }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/loadjs": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz", "integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA==" }, + "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==", + "license": "Apache-2.0", + "dependencies": { + "lie": "3.1.1" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", diff --git a/package.json b/package.json index 7b19d7b..05e1687 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,9 @@ "@material-design-icons/svg": "^0.14.2", "@mdi/font": "^7.1.96", "@mdi/js": "^7.2.96", + "@sentry/browser": "^9.7.0", + "@sentry/integrations": "^7.114.0", + "@sentry/vue": "^9.7.0", "@tweenjs/tween.js": "^21.0.0", "@vojtechlanka/vue-simple-suggest": "^2.0.6", "@vuepic/vue-datepicker": "^11.0.1", diff --git a/src/main.js b/src/main.js index 66c0bbe..cdf1b4a 100644 --- a/src/main.js +++ b/src/main.js @@ -1,3 +1,4 @@ +// import Vue from "vue" import { createApp } from 'vue' import { createPinia } from 'pinia' @@ -14,10 +15,35 @@ import './assets/main.scss' import VuePlyr from 'vue-plyr' import 'vue-plyr/dist/vue-plyr.css' +// import * as Sentry from "@sentry/browser"; +// import * as Integrations from "@sentry/integrations"; + +// Sentry.init({ +// dsn: "https://d1780f9da2fc4dd28c9c17cb344a088f@frontlog.figli.io/2", +// integrations: [new Integrations.Vue()], +// }); +import * as Sentry from "@sentry/vue"; +import { createSentryPiniaPlugin } from "@sentry/vue"; + + const app = createApp(App) +Sentry.init({ + app, + dsn: "https://d1780f9da2fc4dd28c9c17cb344a088f@frontlog.figli.io/2", + integrations: [ + Sentry.browserTracingIntegration({ router }), + ], + tracesSampleRate: 0.01, + normalizeDepth: 10, // Or however deep you want your state context to be. + environment: "prod", + release : '1' +}); + const pinia = createPinia() pinia.use( ({store}) => { store.router = router } ) +pinia.use(createSentryPiniaPlugin()); + app.use(pinia) app.use(router) // app.use(VueCollapsiblePanel)