From b5f99b217a0d02326d7715404ed2dca7b665afba Mon Sep 17 00:00:00 2001 From: Jonathan Cremin Date: Mon, 11 Mar 2019 21:03:44 +0000 Subject: [PATCH] Switch to @sentry/node --- app.js | 10 +-- lib/error-handler.js | 4 +- package.json | 2 +- worker.js | 10 +-- yarn.lock | 147 ++++++++++++++++++++++++++++++++----------- 5 files changed, 124 insertions(+), 49 deletions(-) diff --git a/app.js b/app.js index 0cf088f..6915055 100644 --- a/app.js +++ b/app.js @@ -10,7 +10,7 @@ import compress from 'koa-compress'; import serve from 'koa-static'; import views from 'koa-views'; import bodyparser from 'koa-bodyparser'; -import raven from 'raven'; +import * as Sentry from '@sentry/node'; import debuglog from 'debug'; import index from './routes/index'; import recent from './routes/recent'; @@ -23,15 +23,17 @@ const debug = debuglog('combine.fm'); process.env.VUE_ENV = 'server'; -raven.config(process.env.SENTRY_DSN).install(); +Sentry.init({ + dsn: process.env.SENTRY_DSN, +}); const app = new koa(); app.on('error', (err) => { - raven.captureException(err); + Sentry.captureException(err); }); -app.use(errorHandler(raven)); +app.use(errorHandler(Sentry)); app.use(bodyparser()); app.use(cors()); diff --git a/lib/error-handler.js b/lib/error-handler.js index 562090c..e3640df 100644 --- a/lib/error-handler.js +++ b/lib/error-handler.js @@ -2,7 +2,7 @@ import debuglog from 'debug'; const debug = debuglog('combine.fm'); -export default function (raven) { +export default function (Sentry) { return async function error(ctx, next) { ctx.set('Server', 'Nintendo 64'); try { @@ -15,7 +15,7 @@ export default function (raven) { ctx.body = err.error; } else { debug('Error: %o', err); - raven.captureException(err); + Sentry.captureException(err); throw err; } } diff --git a/package.json b/package.json index 5f5ee88..1412e31 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@babel/polyfill": "^7.0.0-beta.46", "@babel/preset-env": "^7.0.0-beta.46", "@babel/register": "^7.0.0-beta.46", + "@sentry/node": "^4.6.4", "apple-music-jwt": "^0.2.0", "babel-loader": "^8.0.0-beta.2", "bluebird": "^3.5.1", @@ -49,7 +50,6 @@ "nodebrainz": "^2.1.1", "pg": "^7.4.3", "playmusic": "^2.3.0", - "raven": "^2.6.0", "sass-loader": "^7.0.1", "sequelize": "^4.37.6", "spotify-web-api-node": "^4.0.0", diff --git a/worker.js b/worker.js index d71c36d..672ed8c 100644 --- a/worker.js +++ b/worker.js @@ -1,6 +1,6 @@ import co from 'co'; import kue from 'kue'; -import raven from 'raven'; +import * as Sentry from '@sentry/node'; import debuglog from 'debug'; import { inspect } from 'util'; @@ -9,7 +9,9 @@ import services from './lib/services'; const debug = debuglog('combine.fm:worker'); -raven.config(process.env.SENTRY_DSN).install(); +Sentry.init({ + dsn: process.env.SENTRY_DSN, +}); const queue = kue.createQueue({ redis: process.env.REDIS_URL, @@ -53,14 +55,14 @@ function search(data, done) { debug(`Error searching on: ${service.id}`); debug(share); debug(inspect(err, { depth: 5 })); - raven.captureException(err); + Sentry.captureException(err); return done(err); } }).catch((err) => { debug(`Error searching on: ${service.id}`); debug(share); debug(inspect(err, { depth: 5 })); - raven.captureException(err); + Sentry.captureException(err); return done(err); }); } diff --git a/yarn.lock b/yarn.lock index 6bd4ef8..3f1cfc3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -630,6 +630,65 @@ lodash "^4.17.11" to-fast-properties "^2.0.0" +"@sentry/core@4.6.4": + version "4.6.4" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-4.6.4.tgz#7236e08115423b81b96a13c2c37f29bcc1477745" + integrity sha512-NGl2nkAaQ8dGqJAMS1Hb+7RyVjW4tmCbK6d7H/zKnOpBuU+qSW4XCm2NoGLLa8qb4SZUPIBRv6U0ByvEQlGtqw== + dependencies: + "@sentry/hub" "4.6.4" + "@sentry/minimal" "4.6.4" + "@sentry/types" "4.5.3" + "@sentry/utils" "4.6.4" + tslib "^1.9.3" + +"@sentry/hub@4.6.4": + version "4.6.4" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-4.6.4.tgz#2bd5d67ccd43d4f5afc45005a330a11b14d46cea" + integrity sha512-R3ACxUZbrAMP6vyIvt1k4bE3OIyg1CzbEhzknKljPrk1abVmJVP7W/X1vBysdRtI3m/9RjOSO7Lxx3XXqoHoQg== + dependencies: + "@sentry/types" "4.5.3" + "@sentry/utils" "4.6.4" + tslib "^1.9.3" + +"@sentry/minimal@4.6.4": + version "4.6.4" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-4.6.4.tgz#dc4bb47df90dad6025d832852ac11fe29ed50147" + integrity sha512-jZa9mfzDzJI98tg6uxFG3gdVLyz0nOHpLP9H8Kn/BelZ7WEG/ogB8PDi1hI9JvCTXAr8kV81mEecldADa9L9Yg== + dependencies: + "@sentry/hub" "4.6.4" + "@sentry/types" "4.5.3" + tslib "^1.9.3" + +"@sentry/node@^4.6.4": + version "4.6.4" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-4.6.4.tgz#933c2e3ce93bc7861de6d4310ed1fe66f85da301" + integrity sha512-nfaLB+cE0dddjWD0yI0nB/UqXkPw/6FKDRpB1NZ61amAM4QRXa4hRTdHvqjUovzV/5/pVMQYsOyCk0pNWMtMUQ== + dependencies: + "@sentry/core" "4.6.4" + "@sentry/hub" "4.6.4" + "@sentry/types" "4.5.3" + "@sentry/utils" "4.6.4" + "@types/stack-trace" "0.0.29" + cookie "0.3.1" + https-proxy-agent "2.2.1" + lru_map "0.3.3" + lsmod "1.0.0" + stack-trace "0.0.10" + tslib "^1.9.3" + +"@sentry/types@4.5.3": + version "4.5.3" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-4.5.3.tgz#3350dce2b7f9b936a8c327891c12e3aef7bd8852" + integrity sha512-7ll1PAFNjrBNX9rzy3P2qAQrpQwHaDO3uKj735qsnGw34OtAS8Xr8WYrjI14f9fMPa/XIeWvMPb4GMic28V/ag== + +"@sentry/utils@4.6.4": + version "4.6.4" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-4.6.4.tgz#ca254c142b519b4f20d63c2f9edf1a89966be36f" + integrity sha512-Tc5R46z7ve9Z+uU34ceDoEUR7skfQgXVIZqjbrTQphgm6EcMSNdRfkK3SJYZL5MNKiKhb7Tt/O3aPBy5bTZy6w== + dependencies: + "@sentry/types" "4.5.3" + tslib "^1.9.3" + "@types/babel-types@*", "@types/babel-types@^7.0.0": version "7.0.6" resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.6.tgz#a7cfaaeee96e90c4c54da0e580aaff3f4cffacac" @@ -652,6 +711,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.0.tgz#070e9ce7c90e727aca0e0c14e470f9a93ffe9390" integrity sha512-D5Rt+HXgEywr3RQJcGlZUCTCx1qVbCZpVk3/tOOA6spLNZdGm8BU+zRgdRYDoF1pO3RuXLxADzMrF903JlQXqg== +"@types/stack-trace@0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/stack-trace/-/stack-trace-0.0.29.tgz#eb7a7c60098edb35630ed900742a5ecb20cfcb4d" + integrity sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g== + "@vue/component-compiler-utils@^2.5.1": version "2.6.0" resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-2.6.0.tgz#aa46d2a6f7647440b0b8932434d22f12371e543b" @@ -873,6 +937,13 @@ acorn@^6.0.5, acorn@^6.0.7: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== +agent-base@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" + integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg== + dependencies: + es6-promisify "^5.0.0" + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -1536,11 +1607,6 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -charenc@~0.0.1: - version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" - integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= - chokidar@^2.0.2, chokidar@^2.0.3, chokidar@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.2.tgz#9c23ea40b01638439e0513864d362aeacc5ad058" @@ -1991,11 +2057,6 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -crypt@~0.0.1: - version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" - integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= - crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -2414,6 +2475,18 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" +es6-promise@^4.0.3: + version "4.2.6" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.6.tgz#b685edd8258886365ea62b57d30de28fadcd974f" + integrity sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + dependencies: + es6-promise "^4.0.3" + escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -3390,6 +3463,14 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= +https-proxy-agent@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" + integrity sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ== + dependencies: + agent-base "^4.1.0" + debug "^3.1.0" + humanize-number@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/humanize-number/-/humanize-number-0.0.2.tgz#11c0af6a471643633588588048f1799541489c18" @@ -3611,7 +3692,7 @@ is-bluebird@^1.0.2: resolved "https://registry.yarnpkg.com/is-bluebird/-/is-bluebird-1.0.2.tgz#096439060f4aa411abee19143a84d6a55346d6e2" integrity sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI= -is-buffer@^1.1.5, is-buffer@~1.1.1: +is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== @@ -4449,6 +4530,16 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru_map@0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" + integrity sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0= + +lsmod@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lsmod/-/lsmod-1.0.0.tgz#9a00f76dca36eb23fa05350afe1b585d4299e64b" + integrity sha1-mgD3bco26yP6BTUK/htYXUKZ5ks= + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -4494,15 +4585,6 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" -md5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" - integrity sha1-U6s41f48iJG6RlMp6iP6wFQBJvk= - dependencies: - charenc "~0.0.1" - crypt "~0.0.1" - is-buffer "~1.1.1" - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -5989,17 +6071,6 @@ range-parser@~1.2.0: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= -raven@^2.6.0: - version "2.6.4" - resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3" - integrity sha512-6PQdfC4+DQSFncowthLf+B6Hr0JpPsFBgTVYTAOq7tCmx/kR4SXbeawtPch20+3QfUcQDoJBLjWW1ybvZ4kXTw== - dependencies: - cookie "0.3.1" - md5 "^2.2.1" - stack-trace "0.0.10" - timed-out "4.0.1" - uuid "3.3.2" - raw-body@2.3.3, raw-body@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" @@ -7224,7 +7295,7 @@ through@2, through@^2.3.6: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -timed-out@4.0.1, timed-out@^4.0.0: +timed-out@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= @@ -7335,7 +7406,7 @@ trim-right@^1.0.1: dependencies: glob "^7.1.2" -tslib@^1.9.0: +tslib@^1.9.0, tslib@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== @@ -7591,16 +7662,16 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@3.3.2, uuid@^3.2.1, uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - uuid@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= +uuid@^3.2.1, uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + v8-compile-cache@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c"