diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | app/fn/fn.php | 2 | ||||
-rw-r--r-- | app/view/templates/layout.php | 7 | ||||
-rw-r--r-- | package-lock.json | 60 | ||||
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | src/sentry.js | 10 | ||||
-rw-r--r-- | webpack.config.js | 3 |
7 files changed, 81 insertions, 6 deletions
@@ -22,10 +22,10 @@ release: node_modules release-it sentryrelease: ENV := prod -sentryrelease: build +sentryrelease: buildclean build sentry-cli releases new $(GIT_VERSION) sentry-cli releases set-commits $(GIT_VERSION) --auto - sentry-cli releases files $(GIT_VERSION) upload-sourcemaps assets/js --url-prefix '~/assets/js' + sentry-cli releases files $(GIT_VERSION) upload-sourcemaps assets/js --url-prefix '~/assets/js' --rewrite sentry-cli releases finalize $(GIT_VERSION) dist: distclean $(zip_release) $(js_srcmaps) diff --git a/app/fn/fn.php b/app/fn/fn.php index f462d2d..f96b8ba 100644 --- a/app/fn/fn.php +++ b/app/fn/fn.php @@ -76,7 +76,7 @@ function idclean(string $input) function getversion() { if(file_exists('VERSION')) { - $version = file_get_contents('VERSION'); + $version = trim(file_get_contents('VERSION')); } else { $version = 'unknown'; } diff --git a/app/view/templates/layout.php b/app/view/templates/layout.php index 85351d6..c249622 100644 --- a/app/view/templates/layout.php +++ b/app/view/templates/layout.php @@ -18,6 +18,13 @@ echo '<link rel="stylesheet" href="' . Wcms\Model::csspath() . Wcms\Config::interfacecss() . '">'; } ?> + <script> + const sentrydsn = '<?= Wcms\Config::sentrydsn() ?>'; + const version = '<?= getversion() ?>'; + const url = '<?= Wcms\Config::url() ?>'; + const basepath = '<?= Wcms\Config::basepath() ?>'; + </script> + <script src="<?= Wcms\Model::jspath() ?>sentry.bundle.js"></script> </head> diff --git a/package-lock.json b/package-lock.json index b31f92e..5d5decf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -124,6 +124,17 @@ "universal-user-agent": "^4.0.0" } }, + "@sentry/browser": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-5.7.1.tgz", + "integrity": "sha512-K0x1XhsHS8PPdtlVOLrKZyYvi5Vexs9WApdd214bO6KaGF296gJvH1mG8XOY0+7aA5i2A7T3ttcaJNDYS49lzw==", + "requires": { + "@sentry/core": "5.7.1", + "@sentry/types": "5.7.1", + "@sentry/utils": "5.7.1", + "tslib": "^1.9.3" + } + }, "@sentry/cli": { "version": "1.49.0", "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.49.0.tgz", @@ -138,6 +149,52 @@ "proxy-from-env": "^1.0.0" } }, + "@sentry/core": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.7.1.tgz", + "integrity": "sha512-AOn3k3uVWh2VyajcHbV9Ta4ieDIeLckfo7UMLM+CTk2kt7C89SayDGayJMSsIrsZlL4qxBoLB9QY4W2FgAGJrg==", + "requires": { + "@sentry/hub": "5.7.1", + "@sentry/minimal": "5.7.1", + "@sentry/types": "5.7.1", + "@sentry/utils": "5.7.1", + "tslib": "^1.9.3" + } + }, + "@sentry/hub": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.7.1.tgz", + "integrity": "sha512-evGh323WR073WSBCg/RkhlUmCQyzU0xzBzCZPscvcoy5hd4SsLE6t9Zin+WACHB9JFsRQIDwNDn+D+pj3yKsig==", + "requires": { + "@sentry/types": "5.7.1", + "@sentry/utils": "5.7.1", + "tslib": "^1.9.3" + } + }, + "@sentry/minimal": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.7.1.tgz", + "integrity": "sha512-nS/Dg+jWAZtcxQW8wKbkkw4dYvF6uyY/vDiz/jFCaux0LX0uhgXAC9gMOJmgJ/tYBLJ64l0ca5LzpZa7BMJQ0g==", + "requires": { + "@sentry/hub": "5.7.1", + "@sentry/types": "5.7.1", + "tslib": "^1.9.3" + } + }, + "@sentry/types": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.7.1.tgz", + "integrity": "sha512-tbUnTYlSliXvnou5D4C8Zr+7/wJrHLbpYX1YkLXuIJRU0NSi81bHMroAuHWILcQKWhVjaV/HZzr7Y/hhWtbXVQ==" + }, + "@sentry/utils": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.7.1.tgz", + "integrity": "sha512-nhirUKj/qFLsR1i9kJ5BRvNyzdx/E2vorIsukuDrbo8e3iZ11JMgCOVrmC8Eq9YkHBqgwX4UnrPumjFyvGMZ2Q==", + "requires": { + "@sentry/types": "5.7.1", + "tslib": "^1.9.3" + } + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -5532,8 +5589,7 @@ "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, "tty-browserify": { "version": "0.0.0", diff --git a/package.json b/package.json index 58dde93..0e640bd 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "repository": "github:vincent-peugnet/wcms", "license": "MIT", "dependencies": { + "@sentry/browser": "^5.7.1", "codemirror": "^5.49.0" }, "devDependencies": { diff --git a/src/sentry.js b/src/sentry.js new file mode 100644 index 0000000..d30752d --- /dev/null +++ b/src/sentry.js @@ -0,0 +1,10 @@ +import * as Sentry from '@sentry/browser'; + +Sentry.init({ + dsn: sentrydsn, + release: version, +}); +Sentry.setUser({ + id: url, + username: basepath, +}); diff --git a/webpack.config.js b/webpack.config.js index 1293e7e..02d9318 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -5,13 +5,14 @@ module.exports = (env) => { return { // Environment dependent mode: env == 'dev' ? 'development' : 'production', - devtool: env == 'dev' ? 'cheap-eval-source-map' : 'hidden-source-map', + devtool: env == 'dev' ? 'cheap-eval-source-map' : 'source-map', stats: env == 'dev' ? {} : { warnings: false }, // Constant entry: { edit: './src/edit.js', home: './src/home.js', + sentry: './src/sentry.js', }, output: { filename: 'assets/js/[name].bundle.js', |