aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--app/fn/fn.php2
-rw-r--r--app/view/templates/layout.php7
-rw-r--r--package-lock.json60
-rw-r--r--package.json1
-rw-r--r--src/sentry.js10
-rw-r--r--webpack.config.js3
7 files changed, 81 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index f257a04..4b75078 100644
--- a/Makefile
+++ b/Makefile
@@ -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',