Commit ffa3c906 authored by 郭志伟's avatar 郭志伟

feat: sentry接入

parent 538b9be0
module.exports = {
// Sentry options are required
organization: 'sentry',
project: 'cauchy-ui',
apiKey: '0d3fa45c10f047d7bfe03eb268a93c23a878d7585dc749418f728f88d65e1477',
const crypto = require('crypto');
const pkgInfo = require('./package.json');
const project = pkgInfo.name;
const hashName = crypto
.createHash('md5')
.update(project)
.digest('hex')
.substr(0, 8);
// Release version name/hash is required
release: 'cauchy-ui@1.0.0',
baseSentryURL: 'http://sentry.quantgroups.com/api/0',
deleteAfterCompile: true,
include: /static\/js\//, // 只上传js和map文件
ignore: ['node_modules'],
suppressErrors: true,
filenameTransform: function (filename) {
return '~/cauchy-ui/public/' + filename
},
}
module.exports = {
org: 'sentry',
project,
authToken: '3f1f6f3789594e3a81280c1cd8d4d1008037a7abad714698b60b6f358c3d7562',
url: 'http://newsentry.quantgroups.com',
release: `${project}@1.0.0`,
ignore: ['node_modules', 'tests'],
silent: true,
include: [
{
paths: ['./dist/js'],
urlPrefix: `https://misc.lkbang.net/${hashName}/`
}
]
};
......@@ -1155,6 +1155,41 @@
"babel-runtime": "^6.0.0"
}
},
"@qg/sentry-cli": {
"version": "1.74.5",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fsentry-cli/-/sentry-cli-1.74.5.tgz",
"integrity": "sha512-zXsp9b+BWSd/cyte00Xt9+U5lit5abmgoiod2XdZtGkz96NlOh+QU4lmIBytK3zpXzSp0sRf2/SUHalOMzZfkg==",
"dev": true,
"requires": {
"https-proxy-agent": "^5.0.0",
"mkdirp": "^0.5.5",
"node-fetch": "^2.6.7",
"npmlog": "^4.1.2",
"progress": "^2.0.3",
"proxy-from-env": "^1.1.0",
"which": "^2.0.2"
},
"dependencies": {
"which": {
"version": "2.0.2",
"resolved": "http://npmprivate.quantgroups.com/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
}
}
},
"@qg/sentry-webpack-plugin": {
"version": "1.19.0",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fsentry-webpack-plugin/-/sentry-webpack-plugin-1.19.0.tgz",
"integrity": "sha512-3YL+cMVdHlb3EQG3kljxduu4hxo+t4ISYx0qMYS+VOlmLEH0MIP5Gxz4Oe0obExonUt2N4oUB0tNo7ycQqxt8w==",
"dev": true,
"requires": {
"@qg/sentry-cli": "1.74.5"
}
},
"@qg/ui-request": {
"version": "0.0.20",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fui-request/-/ui-request-0.0.20.tgz",
......@@ -1243,6 +1278,64 @@
}
}
},
"@sentry/browser": {
"version": "7.9.0",
"resolved": "http://npmprivate.quantgroups.com/@sentry%2fbrowser/-/browser-7.9.0.tgz",
"integrity": "sha512-R0/EatdSBPZ+orsD5Mu/Gq8XmEfr/KCzJv05S35GVPDkIgczIJ2AYlHgchnEO0m63jDFyWLzUteQmPZ3pao9PQ==",
"requires": {
"@sentry/core": "7.9.0",
"@sentry/types": "7.9.0",
"@sentry/utils": "7.9.0",
"tslib": "^1.9.3"
}
},
"@sentry/core": {
"version": "7.9.0",
"resolved": "http://npmprivate.quantgroups.com/@sentry%2fcore/-/core-7.9.0.tgz",
"integrity": "sha512-WVGd2hV7Clcpl7/GL8LsRr4Zk9o/7o4rZHfs1Qed5lMRNYcxiMwucC1CYILVpJqVfY+8vIRP9v9Ss9ta2VUikw==",
"requires": {
"@sentry/hub": "7.9.0",
"@sentry/types": "7.9.0",
"@sentry/utils": "7.9.0",
"tslib": "^1.9.3"
}
},
"@sentry/hub": {
"version": "7.9.0",
"resolved": "http://npmprivate.quantgroups.com/@sentry%2fhub/-/hub-7.9.0.tgz",
"integrity": "sha512-KzPbGCB5mONgsXEzqHy6uOaOuqLnhmFmSpGg+M03J6UJnJaNM7nrNp80MhStmjLMq6whEYVE07DrMAn3+iaQdg==",
"requires": {
"@sentry/types": "7.9.0",
"@sentry/utils": "7.9.0",
"tslib": "^1.9.3"
}
},
"@sentry/types": {
"version": "7.9.0",
"resolved": "http://npmprivate.quantgroups.com/@sentry%2ftypes/-/types-7.9.0.tgz",
"integrity": "sha512-VGnUgELVMpGJCYW1triO+5XSyaPjB2Zu6esUgbb8iJ5bi+OWtxklixXgwhdaTb0FDzmRL/T/pckmrIuBTLySHQ=="
},
"@sentry/utils": {
"version": "7.9.0",
"resolved": "http://npmprivate.quantgroups.com/@sentry%2futils/-/utils-7.9.0.tgz",
"integrity": "sha512-4f9TZvAVopgG7Lp1TcPSekSX1Ashk68Et4T8Y+60EVX5se19i0hpytbHWWwrXSrb3w0KpGANk0byoZkdaTgkYA==",
"requires": {
"@sentry/types": "7.9.0",
"tslib": "^1.9.3"
}
},
"@sentry/vue": {
"version": "7.9.0",
"resolved": "http://npmprivate.quantgroups.com/@sentry%2fvue/-/vue-7.9.0.tgz",
"integrity": "sha512-oHTNc31xfOqxASEQXzZ9LxN2cbKlhQNuaLQZEG4W/3mEWwJM/TLwd/0pWQPUmUQDuQlxTb56hEqCbaCPNTOPqw==",
"requires": {
"@sentry/browser": "7.9.0",
"@sentry/core": "7.9.0",
"@sentry/types": "7.9.0",
"@sentry/utils": "7.9.0",
"tslib": "^1.9.3"
}
},
"@soda/friendly-errors-webpack-plugin": {
"version": "1.7.1",
"resolved": "http://npmprivate.quantgroups.com/@soda%2ffriendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz",
......@@ -2265,6 +2358,16 @@
"integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==",
"dev": true
},
"are-we-there-yet": {
"version": "1.1.7",
"resolved": "http://npmprivate.quantgroups.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
"integrity": "sha1-sVR0qTKtq0/4pQ2a36fk6SbyEUY=",
"dev": true,
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
}
},
"argparse": {
"version": "1.0.10",
"resolved": "http://npmprivate.quantgroups.com/argparse/-/argparse-1.0.10.tgz",
......@@ -3542,6 +3645,12 @@
"q": "^1.1.2"
}
},
"code-point-at": {
"version": "1.1.0",
"resolved": "http://npmprivate.quantgroups.com/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
},
"collection-visit": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/collection-visit/-/collection-visit-1.0.0.tgz",
......@@ -3703,6 +3812,12 @@
"integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
"dev": true
},
"console-control-strings": {
"version": "1.1.0",
"resolved": "http://npmprivate.quantgroups.com/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true
},
"consolidate": {
"version": "0.15.1",
"resolved": "http://npmprivate.quantgroups.com/consolidate/-/consolidate-0.15.1.tgz",
......@@ -4566,6 +4681,12 @@
"resolved": "http://npmprivate.quantgroups.com/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
},
"delegates": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"dev": true
},
"depd": {
"version": "1.1.2",
"resolved": "http://npmprivate.quantgroups.com/depd/-/depd-1.1.2.tgz",
......@@ -5954,6 +6075,59 @@
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
"dev": true
},
"gauge": {
"version": "2.7.4",
"resolved": "http://npmprivate.quantgroups.com/gauge/-/gauge-2.7.4.tgz",
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"dev": true,
"requires": {
"aproba": "^1.0.3",
"console-control-strings": "^1.0.0",
"has-unicode": "^2.0.0",
"object-assign": "^4.1.0",
"signal-exit": "^3.0.0",
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
"wide-align": "^1.1.0"
},
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
"resolved": "http://npmprivate.quantgroups.com/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
},
"string-width": {
"version": "1.0.2",
"resolved": "http://npmprivate.quantgroups.com/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "http://npmprivate.quantgroups.com/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
}
}
},
"gensync": {
"version": "1.0.0-beta.1",
"resolved": "http://npmprivate.quantgroups.com/gensync/-/gensync-1.0.0-beta.1.tgz",
......@@ -6208,6 +6382,12 @@
"integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
"dev": true
},
"has-unicode": {
"version": "2.0.1",
"resolved": "http://npmprivate.quantgroups.com/has-unicode/-/has-unicode-2.0.1.tgz",
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
"dev": true
},
"has-value": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/has-value/-/has-value-1.0.0.tgz",
......@@ -8766,6 +8946,15 @@
"lower-case": "^1.1.1"
}
},
"node-fetch": {
"version": "2.6.7",
"resolved": "http://npmprivate.quantgroups.com/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"dev": true,
"requires": {
"whatwg-url": "^5.0.0"
}
},
"node-forge": {
"version": "0.10.0",
"resolved": "http://npmprivate.quantgroups.com/node-forge/-/node-forge-0.10.0.tgz",
......@@ -8866,6 +9055,18 @@
"path-key": "^2.0.0"
}
},
"npmlog": {
"version": "4.1.2",
"resolved": "http://npmprivate.quantgroups.com/npmlog/-/npmlog-4.1.2.tgz",
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
"dev": true,
"requires": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
"gauge": "~2.7.3",
"set-blocking": "~2.0.0"
}
},
"nth-check": {
"version": "1.0.2",
"resolved": "http://npmprivate.quantgroups.com/nth-check/-/nth-check-1.0.2.tgz",
......@@ -8881,6 +9082,12 @@
"integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
"dev": true
},
"number-is-nan": {
"version": "1.0.1",
"resolved": "http://npmprivate.quantgroups.com/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
"oauth-sign": {
"version": "0.9.0",
"resolved": "http://npmprivate.quantgroups.com/oauth-sign/-/oauth-sign-0.9.0.tgz",
......@@ -12508,6 +12715,12 @@
"punycode": "^2.1.1"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "http://npmprivate.quantgroups.com/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
"dev": true
},
"traverse": {
"version": "0.6.6",
"resolved": "http://npmprivate.quantgroups.com/traverse/-/traverse-0.6.6.tgz",
......@@ -12529,8 +12742,7 @@
"tslib": {
"version": "1.13.0",
"resolved": "http://npmprivate.quantgroups.com/tslib/-/tslib-1.13.0.tgz",
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
"dev": true
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
},
"tsml": {
"version": "1.0.1",
......@@ -13929,6 +14141,12 @@
"defaults": "^1.0.3"
}
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "http://npmprivate.quantgroups.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
"dev": true
},
"webpack": {
"version": "4.43.0",
"resolved": "http://npmprivate.quantgroups.com/webpack/-/webpack-4.43.0.tgz",
......@@ -14951,6 +15169,16 @@
"resolved": "http://npmprivate.quantgroups.com/weixin-js-sdk/-/weixin-js-sdk-1.6.0.tgz",
"integrity": "sha512-3IYQH7aalJGFJrwdT3epvTdR1MboMiH7vIZ5BRL2eYOJ12BNah7csoMkmSZzkq1+l92sSq29XdTCVjCJoK2sBQ=="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "http://npmprivate.quantgroups.com/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"dev": true,
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"which": {
"version": "1.3.1",
"resolved": "http://npmprivate.quantgroups.com/which/-/which-1.3.1.tgz",
......@@ -14972,6 +15200,15 @@
"integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
"dev": true
},
"wide-align": {
"version": "1.1.5",
"resolved": "http://npmprivate.quantgroups.com/wide-align/-/wide-align-1.1.5.tgz",
"integrity": "sha1-3x1MIGhUNp7PPJpImPGyP72dFdM=",
"dev": true,
"requires": {
"string-width": "^1.0.2 || 2 || 3 || 4"
}
},
"win-release": {
"version": "1.1.1",
"resolved": "http://npmprivate.quantgroups.com/win-release/-/win-release-1.1.1.tgz",
......
......@@ -8,21 +8,20 @@ import '@/service/cherryUI.service';
import './style/index.less';
import saService from '@/service/sa.service';
import Bridge from '@qg/js-bridge';
import Raven from 'raven-js';
import RavenVue from 'raven-js/plugins/vue';
import { release } from '../.sentryclirc';
import { init as sentryInit } from '@sentry/vue';
import fontResize from './directives/fontResize';
import cfg from './config';
import FastClick from 'fastclick';
FastClick.attach(document.body, { tapDelay: 1 });
if (process.env.SENTRY_ENV !== 'test' && process.env.NODE_ENV === 'production') {
Raven.config('//7fc2cea5ef8244fd9b4cf13051e408d8@sentry.quantgroups.com/73', {
release,
sentryInit({
Vue,
dsn: 'http://d7ca98c07c6946b6b56a54b9707cb9b3@sentry.q-gp.com/15', // 项目设置中的Client Keys
release: 'cauchy-ui@1.0.0', // 项目名加版本号
tracesSampleRate: 0.5, // 上报频率, 1最大, 0最小, 建议验证设置为1, 项目运行根据情况降低频率
environment: process.env.NODE_ENV
})
.addPlugin(RavenVue, Vue)
.install();
});
}
Vue.prototype.util = new Bridge();
Vue.prototype.$track = new uiTrack({
......
const path = require('path');
const resolve = dir => path.join(__dirname, dir);
const IS_PROD = process.env.NODE_ENV === 'production';
const webpack = require('webpack');
const WebpackCosCdnUploadPlugin = require('@qg/webpack-cos-cdn-upload-plugin');
// const SentryPlugin = require('webpack-sentry-plugin');
// const SentryConfig = require('./.sentryclirc');
const SentryPlugin = require('@qg/sentry-webpack-plugin');
const SentryConfig = require('./.sentryclirc');
// cdn预加载使用
const externals = {
vue: 'Vue',
......@@ -131,8 +132,13 @@ module.exports = {
if (IS_PROD) {
config.externals = externals;
configObj = {
// plugins: [new SentryPlugin(SentryConfig), new WebpackCosCdnUploadPlugin()]
plugins: [new WebpackCosCdnUploadPlugin()]
plugins: [
new WebpackCosCdnUploadPlugin(),
new SentryPlugin(SentryConfig),
new webpack.DefinePlugin({
'process.env.SENTRY_ENV': `"${process.env.SENTRY_ENV || ''}"`
})
]
};
}
return configObj;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment