chore: Bugsnag -> Sentry (#1178)
* Bugsnag -> Sentry * fix: Import style
This commit is contained in:
parent
8fbd4a7463
commit
c15cbd06a4
|
@ -39,7 +39,7 @@ SLACK_VERIFICATION_TOKEN=PLxk6OlXXXXXVj3YYYY
|
|||
SLACK_APP_ID=A0XXXXXXX
|
||||
SLACK_MESSAGE_ACTIONS=true
|
||||
GOOGLE_ANALYTICS_ID=
|
||||
BUGSNAG_KEY=
|
||||
SENTRY_DSN=
|
||||
|
||||
# AWS credentials (optional in development)
|
||||
AWS_ACCESS_KEY_ID=get_a_key_from_aws
|
||||
|
|
|
@ -53,8 +53,8 @@
|
|||
"SLACK_KEY": true,
|
||||
"DEPLOYMENT": true,
|
||||
"BASE_URL": true,
|
||||
"BUGSNAG_KEY": true,
|
||||
"SENTRY_DSN": true,
|
||||
"afterAll": true,
|
||||
"Bugsnag": true
|
||||
"Sentry": true
|
||||
}
|
||||
}
|
||||
|
|
4
app.json
4
app.json
|
@ -145,8 +145,8 @@
|
|||
"description": "UA-xxxx (optional)",
|
||||
"required": false
|
||||
},
|
||||
"BUGSNAG_KEY": {
|
||||
"description": "An API key for bugsnag if you wish to collect error reporting (optional)",
|
||||
"SENTRY_DSN": {
|
||||
"description": "An API key for Sentry if you wish to collect error reporting (optional)",
|
||||
"required": false
|
||||
},
|
||||
"TEAM_LOGO": {
|
||||
|
|
|
@ -21,9 +21,8 @@ class ErrorBoundary extends React.Component<Props> {
|
|||
componentDidCatch(error: Error, info: Object) {
|
||||
this.error = error;
|
||||
|
||||
// Error handler is often blocked by the browser
|
||||
if (window.Bugsnag) {
|
||||
Bugsnag.notifyException(error, { react: info });
|
||||
if (window.Sentry) {
|
||||
Sentry.captureException(error);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -41,7 +40,7 @@ class ErrorBoundary extends React.Component<Props> {
|
|||
|
||||
render() {
|
||||
if (this.error) {
|
||||
const isReported = !!window.Bugsnag;
|
||||
const isReported = !!window.Sentry;
|
||||
|
||||
return (
|
||||
<CenteredContent>
|
||||
|
|
|
@ -75,13 +75,12 @@ export default class AuthStore {
|
|||
this.user = new User(user);
|
||||
this.team = new Team(team);
|
||||
|
||||
if (window.Bugsnag) {
|
||||
Bugsnag.user = {
|
||||
id: user.id,
|
||||
name: user.name,
|
||||
teamId: team.id,
|
||||
team: team.name,
|
||||
};
|
||||
if (window.Sentry) {
|
||||
Sentry.configureScope(function(scope) {
|
||||
scope.setUser({ id: user.id });
|
||||
scope.setExtra('team', team.name);
|
||||
scope.setExtra('teamId', team.id);
|
||||
});
|
||||
}
|
||||
|
||||
// If we came from a redirect then send the user immediately there
|
||||
|
|
|
@ -3,9 +3,9 @@ declare var __DEV__: string;
|
|||
declare var SLACK_KEY: string;
|
||||
declare var SLACK_APP_ID: string;
|
||||
declare var BASE_URL: string;
|
||||
declare var BUGSNAG_KEY: ?string;
|
||||
declare var SENTRY_DSN: ?string;
|
||||
declare var DEPLOYMENT: string;
|
||||
declare var Bugsnag: any;
|
||||
declare var Sentry: any;
|
||||
declare var process: {
|
||||
env: {
|
||||
[string]: string,
|
||||
|
|
|
@ -1,158 +0,0 @@
|
|||
// flow-typed signature: fa2210251969d5a91003802cd9026d2d
|
||||
// flow-typed version: <<STUB>>/bugsnag_v^1.7.0/flow_v0.86.0
|
||||
|
||||
/**
|
||||
* This is an autogenerated libdef stub for:
|
||||
*
|
||||
* 'bugsnag'
|
||||
*
|
||||
* Fill this stub out by replacing all the `any` types.
|
||||
*
|
||||
* Once filled out, we encourage you to share your work with the
|
||||
* community by sending a pull request to:
|
||||
* https://github.com/flowtype/flow-typed
|
||||
*/
|
||||
|
||||
declare module 'bugsnag' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* We include stubs for each file inside this npm package in case you need to
|
||||
* require those files directly. Feel free to delete any files that aren't
|
||||
* needed.
|
||||
*/
|
||||
declare module 'bugsnag/examples/express/api' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/examples/express/bugsnag' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/examples/express/index' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/examples/koa/api' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/examples/koa/bugsnag' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/examples/koa/index' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/Gruntfile' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/lib/bugsnag' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/lib/configuration' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/lib/error' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/lib/logger' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/lib/notification' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/lib/request_info' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/lib/utils' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/test/bugsnag' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/test/error' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/test/express' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/test/notification' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
declare module 'bugsnag/test/utils' {
|
||||
declare module.exports: any;
|
||||
}
|
||||
|
||||
// Filename aliases
|
||||
declare module 'bugsnag/examples/express/api.js' {
|
||||
declare module.exports: $Exports<'bugsnag/examples/express/api'>;
|
||||
}
|
||||
declare module 'bugsnag/examples/express/bugsnag.js' {
|
||||
declare module.exports: $Exports<'bugsnag/examples/express/bugsnag'>;
|
||||
}
|
||||
declare module 'bugsnag/examples/express/index.js' {
|
||||
declare module.exports: $Exports<'bugsnag/examples/express/index'>;
|
||||
}
|
||||
declare module 'bugsnag/examples/koa/api.js' {
|
||||
declare module.exports: $Exports<'bugsnag/examples/koa/api'>;
|
||||
}
|
||||
declare module 'bugsnag/examples/koa/bugsnag.js' {
|
||||
declare module.exports: $Exports<'bugsnag/examples/koa/bugsnag'>;
|
||||
}
|
||||
declare module 'bugsnag/examples/koa/index.js' {
|
||||
declare module.exports: $Exports<'bugsnag/examples/koa/index'>;
|
||||
}
|
||||
declare module 'bugsnag/Gruntfile.js' {
|
||||
declare module.exports: $Exports<'bugsnag/Gruntfile'>;
|
||||
}
|
||||
declare module 'bugsnag/lib/bugsnag.js' {
|
||||
declare module.exports: $Exports<'bugsnag/lib/bugsnag'>;
|
||||
}
|
||||
declare module 'bugsnag/lib/configuration.js' {
|
||||
declare module.exports: $Exports<'bugsnag/lib/configuration'>;
|
||||
}
|
||||
declare module 'bugsnag/lib/error.js' {
|
||||
declare module.exports: $Exports<'bugsnag/lib/error'>;
|
||||
}
|
||||
declare module 'bugsnag/lib/logger.js' {
|
||||
declare module.exports: $Exports<'bugsnag/lib/logger'>;
|
||||
}
|
||||
declare module 'bugsnag/lib/notification.js' {
|
||||
declare module.exports: $Exports<'bugsnag/lib/notification'>;
|
||||
}
|
||||
declare module 'bugsnag/lib/request_info.js' {
|
||||
declare module.exports: $Exports<'bugsnag/lib/request_info'>;
|
||||
}
|
||||
declare module 'bugsnag/lib/utils.js' {
|
||||
declare module.exports: $Exports<'bugsnag/lib/utils'>;
|
||||
}
|
||||
declare module 'bugsnag/test/bugsnag.js' {
|
||||
declare module.exports: $Exports<'bugsnag/test/bugsnag'>;
|
||||
}
|
||||
declare module 'bugsnag/test/error.js' {
|
||||
declare module.exports: $Exports<'bugsnag/test/error'>;
|
||||
}
|
||||
declare module 'bugsnag/test/express.js' {
|
||||
declare module.exports: $Exports<'bugsnag/test/express'>;
|
||||
}
|
||||
declare module 'bugsnag/test/notification.js' {
|
||||
declare module.exports: $Exports<'bugsnag/test/notification'>;
|
||||
}
|
||||
declare module 'bugsnag/test/utils.js' {
|
||||
declare module.exports: $Exports<'bugsnag/test/utils'>;
|
||||
}
|
|
@ -55,6 +55,7 @@
|
|||
"url": "git+ssh://git@github.com/outline/outline.git"
|
||||
},
|
||||
"dependencies": {
|
||||
"@sentry/node": "^5.12.2",
|
||||
"@tippy.js/react": "^2.2.2",
|
||||
"@tommoor/remove-markdown": "0.3.1",
|
||||
"autotrack": "^2.4.1",
|
||||
|
@ -77,7 +78,6 @@
|
|||
"babel-regenerator-runtime": "6.5.0",
|
||||
"boundless-arrow-key-navigation": "^1.0.4",
|
||||
"boundless-popover": "^1.0.4",
|
||||
"bugsnag": "^1.7.0",
|
||||
"bull": "^3.5.2",
|
||||
"cancan": "3.1.0",
|
||||
"copy-to-clipboard": "^3.0.6",
|
||||
|
|
|
@ -10,8 +10,8 @@ import logger from 'koa-logger';
|
|||
import mount from 'koa-mount';
|
||||
import enforceHttps from 'koa-sslify';
|
||||
import Koa from 'koa';
|
||||
import bugsnag from 'bugsnag';
|
||||
import onerror from 'koa-onerror';
|
||||
import * as Sentry from '@sentry/node';
|
||||
import updates from './utils/updates';
|
||||
|
||||
import auth from './auth';
|
||||
|
@ -46,12 +46,6 @@ if (process.env.NODE_ENV === 'development') {
|
|||
// that means no watching, but recompilation on every request
|
||||
lazy: false,
|
||||
|
||||
// // watch options (only lazy: false)
|
||||
// watchOptions: {
|
||||
// aggregateTimeout: 300,
|
||||
// poll: true
|
||||
// },
|
||||
|
||||
// public path to bind the middleware to
|
||||
// use the same as in webpack
|
||||
publicPath: config.output.publicPath,
|
||||
|
@ -89,23 +83,31 @@ if (process.env.NODE_ENV === 'development') {
|
|||
|
||||
// trust header fields set by our proxy. eg X-Forwarded-For
|
||||
app.proxy = true;
|
||||
}
|
||||
|
||||
// catch errors in one place, automatically set status and response headers
|
||||
onerror(app);
|
||||
// catch errors in one place, automatically set status and response headers
|
||||
onerror(app);
|
||||
|
||||
if (process.env.BUGSNAG_KEY) {
|
||||
bugsnag.register(process.env.BUGSNAG_KEY, {
|
||||
filters: ['authorization'],
|
||||
if (process.env.SENTRY_DSN) {
|
||||
Sentry.init({
|
||||
dsn: process.env.SENTRY_DSN,
|
||||
environment: process.env.NODE_ENV,
|
||||
});
|
||||
|
||||
app.on('error', (error, ctx) => {
|
||||
// we don't need to report every time a request stops to the bug tracker
|
||||
if (error.code === 'EPIPE' || error.code === 'ECONNRESET') {
|
||||
console.warn('Connection error', { error });
|
||||
return;
|
||||
}
|
||||
|
||||
Sentry.withScope(function(scope) {
|
||||
scope.addEventProcessor(function(event) {
|
||||
return Sentry.Handlers.parseRequest(event, ctx.request);
|
||||
});
|
||||
Sentry.captureException(error);
|
||||
});
|
||||
app.on('error', (error, ctx) => {
|
||||
// we don't need to report every time a request stops to the bug tracker
|
||||
if (error.code === 'EPIPE' || error.code === 'ECONNRESET') {
|
||||
console.warn('Connection error', { error });
|
||||
} else {
|
||||
bugsnag.koaHandler(error, ctx);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
app.use(mount('/auth', auth));
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// @flow
|
||||
import * as React from 'react';
|
||||
import debug from 'debug';
|
||||
import bugsnag from 'bugsnag';
|
||||
import * as Sentry from '@sentry/node';
|
||||
import nodemailer from 'nodemailer';
|
||||
import Oy from 'oy-vey';
|
||||
import { createQueue } from './utils/queue';
|
||||
|
@ -83,7 +83,7 @@ export class Mailer {
|
|||
attachments: data.attachments,
|
||||
});
|
||||
} catch (err) {
|
||||
bugsnag.notify(err);
|
||||
Sentry.captureException(err);
|
||||
throw err; // Re-throw for queue to re-try
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,11 +33,18 @@
|
|||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script
|
||||
src="https://browser.sentry-cdn.com/5.12.1/bundle.min.js"
|
||||
integrity="sha384-y+an4eARFKvjzOivf/Z7JtMJhaN6b+lLQ5oFbBbUwZNNVir39cYtkjW1r6Xjbxg3"
|
||||
crossorigin="anonymous"
|
||||
>
|
||||
</script>
|
||||
<script>
|
||||
Sentry.init({ dsn: '<%= SENTRY_DSN %>' });
|
||||
|
||||
if (window.localStorage.getItem("theme") === "dark") {
|
||||
window.document.querySelector('#root').style.background = "#111319";
|
||||
}
|
||||
</script>
|
||||
<script src="//d2wy8f7a9ursnm.cloudfront.net/bugsnag-3.min.js" data-apikey="<%= BUGSNAG_KEY %>"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,7 +5,7 @@ import format from 'date-fns/format';
|
|||
import AWS from 'aws-sdk';
|
||||
import invariant from 'invariant';
|
||||
import fetch from 'isomorphic-fetch';
|
||||
import bugsnag from 'bugsnag';
|
||||
import * as Sentry from '@sentry/node';
|
||||
|
||||
const AWS_SECRET_ACCESS_KEY = process.env.AWS_SECRET_ACCESS_KEY;
|
||||
const AWS_ACCESS_KEY_ID = process.env.AWS_ACCESS_KEY_ID;
|
||||
|
@ -116,7 +116,7 @@ export const uploadToS3FromUrl = async (
|
|||
return `${endpoint}/${key}`;
|
||||
} catch (err) {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
bugsnag.notify(err);
|
||||
Sentry.captureException(err);
|
||||
} else {
|
||||
throw err;
|
||||
}
|
||||
|
@ -149,7 +149,7 @@ export const getImageByKey = async (key: string) => {
|
|||
return data.Body;
|
||||
} catch (err) {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
bugsnag.notify(err);
|
||||
Sentry.captureException(err);
|
||||
} else {
|
||||
throw err;
|
||||
}
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
import fs from 'fs';
|
||||
import JSZip from 'jszip';
|
||||
import tmp from 'tmp';
|
||||
import * as Sentry from '@sentry/node';
|
||||
import unescape from '../../shared/utils/unescape';
|
||||
import { Attachment, Collection, Document } from '../models';
|
||||
import { getImageByKey } from './s3';
|
||||
import bugsnag from 'bugsnag';
|
||||
|
||||
async function addToArchive(zip, documents) {
|
||||
for (const doc of documents) {
|
||||
|
@ -36,7 +36,7 @@ async function addImageToArchive(zip, key) {
|
|||
zip.file(key, img, { createFolders: true });
|
||||
} catch (err) {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
bugsnag.notify(err);
|
||||
Sentry.captureException(err);
|
||||
} else {
|
||||
// error during file retrieval
|
||||
console.error(err);
|
||||
|
|
|
@ -11,7 +11,7 @@ const definePlugin = new webpack.DefinePlugin({
|
|||
),
|
||||
SLACK_APP_ID: JSON.stringify(process.env.SLACK_APP_ID),
|
||||
BASE_URL: JSON.stringify(process.env.URL),
|
||||
BUGSNAG_KEY: JSON.stringify(process.env.BUGSNAG_KEY),
|
||||
SENTRY_DSN: JSON.stringify(process.env.SENTRY_DSN),
|
||||
DEPLOYMENT: JSON.stringify(process.env.DEPLOYMENT || 'hosted'),
|
||||
'process.env': {
|
||||
URL: JSON.stringify(process.env.URL),
|
||||
|
|
132
yarn.lock
132
yarn.lock
|
@ -208,6 +208,85 @@
|
|||
dependencies:
|
||||
"@types/node" "^12.11.1"
|
||||
|
||||
"@sentry/apm@5.12.3":
|
||||
version "5.12.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/apm/-/apm-5.12.3.tgz#23a5e9c771a8748f59426a1d0f8b1fbb9b72a717"
|
||||
integrity sha512-OSGEeo4b1Gsu/TUcWMx9vmgSnQvR+zM+1Iwq5xFQAK2ET3Y4gBFqZ1iRt2hxlzr8KCQmQTQc1mao1X0tmidFQg==
|
||||
dependencies:
|
||||
"@sentry/browser" "5.12.1"
|
||||
"@sentry/hub" "5.12.0"
|
||||
"@sentry/minimal" "5.12.0"
|
||||
"@sentry/types" "5.12.0"
|
||||
"@sentry/utils" "5.12.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/browser@5.12.1":
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.12.1.tgz#dc1f268595269fb7277f55eb625c7e92d76dc01b"
|
||||
integrity sha512-Zl7VdppUxctyaoqMSEhnDJp2rrupx8n8N2n3PSooH74yhB2Z91nt84mouczprBsw3JU1iggGyUw9seRFzDI1hw==
|
||||
dependencies:
|
||||
"@sentry/core" "5.12.0"
|
||||
"@sentry/types" "5.12.0"
|
||||
"@sentry/utils" "5.12.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/core@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.12.0.tgz#d6380c4ef7beee5f418ac1d0e5be86a2de2af449"
|
||||
integrity sha512-wY4rsoX71QsGpcs9tF+OxKgDPKzIFMRvFiSRcJoPMfhFsTilQ/CBMn/c3bDtWQd9Bnr/ReQIL6NbnIjUsPHA4Q==
|
||||
dependencies:
|
||||
"@sentry/hub" "5.12.0"
|
||||
"@sentry/minimal" "5.12.0"
|
||||
"@sentry/types" "5.12.0"
|
||||
"@sentry/utils" "5.12.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/hub@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.12.0.tgz#5e8c8f249f5bdbeb8cc4ec02c2ccc53a67f2cc02"
|
||||
integrity sha512-3k7yE8BEVJsKx8mR4LcI4IN0O8pngmq44OcJ/fRUUBAPqsT38jsJdP2CaWhdlM1jiNUzUDB1ktBv6/lY+VgcoQ==
|
||||
dependencies:
|
||||
"@sentry/types" "5.12.0"
|
||||
"@sentry/utils" "5.12.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/minimal@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.12.0.tgz#2611e2aa520c1edb7999e6de51bd65ec66341757"
|
||||
integrity sha512-fk73meyz4k4jCg9yzbma+WkggsfEIQWI2e2TWfYsRGcrV3RnlSrXyM4D91/A8Bjx10SNezHPUFHjasjlHXOkyA==
|
||||
dependencies:
|
||||
"@sentry/hub" "5.12.0"
|
||||
"@sentry/types" "5.12.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/node@^5.12.2":
|
||||
version "5.12.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.12.3.tgz#4a4934b04c5163fc340312eaf0d152990aa7140f"
|
||||
integrity sha512-QwqN+i6IC3/YrNq7kqxH7YiXtZYY8tBuJqFi84WbiMHF7MAqxMSPNQJGfX2GJuMHKHwn6IZdgSE8+FkfN9zGLQ==
|
||||
dependencies:
|
||||
"@sentry/apm" "5.12.3"
|
||||
"@sentry/core" "5.12.0"
|
||||
"@sentry/hub" "5.12.0"
|
||||
"@sentry/types" "5.12.0"
|
||||
"@sentry/utils" "5.12.0"
|
||||
cookie "^0.3.1"
|
||||
https-proxy-agent "^4.0.0"
|
||||
lru_map "^0.3.3"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/types@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.12.0.tgz#5367e53c74261beea01502e3f7b6f3d822682a31"
|
||||
integrity sha512-aZbBouBLrKB8wXlztriIagZNmsB+wegk1Jkl6eprqRW/w24Sl/47tiwH8c5S4jYTxdAiJk+SAR10AAuYmIN3zg==
|
||||
|
||||
"@sentry/utils@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.12.0.tgz#62967f934a3ee6d21472eac0219084e37225933e"
|
||||
integrity sha512-fYUadGLbfTCbs4OG5hKCOtv2jrNE4/8LHNABy9DwNJ/t5DVtGqWAZBnxsC+FG6a3nVqCpxjFI9AHlYsJ2wsf7Q==
|
||||
dependencies:
|
||||
"@sentry/types" "5.12.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sindresorhus/is@^0.7.0":
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
|
||||
|
@ -326,6 +405,11 @@ after@0.8.2:
|
|||
resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
|
||||
integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=
|
||||
|
||||
agent-base@5:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c"
|
||||
integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==
|
||||
|
||||
agent-base@^4.3.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee"
|
||||
|
@ -530,11 +614,6 @@ arrify@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
|
||||
integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
|
||||
|
||||
asap@~2.0.3:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
|
||||
integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
|
||||
|
||||
asn1.js@^4.0.0:
|
||||
version "4.10.1"
|
||||
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
|
||||
|
@ -1760,16 +1839,6 @@ buffers@~0.1.1:
|
|||
resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb"
|
||||
integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s=
|
||||
|
||||
bugsnag@^1.7.0:
|
||||
version "1.12.2"
|
||||
resolved "https://registry.yarnpkg.com/bugsnag/-/bugsnag-1.12.2.tgz#61b2a309f95a4b53e65517052ec46991f91ecb4d"
|
||||
integrity sha512-QLNXll+cMJGouLaDyszDKH77wCIWgvVvC+IxZK9GyI4hLlJLyTkWMOgNnA/Grk7s4+lWctK37gwuuhkAzmtn/g==
|
||||
dependencies:
|
||||
json-stringify-safe "~5.0.1"
|
||||
promise "7.x"
|
||||
request "^2.81.0"
|
||||
stack-trace "~0.0.9"
|
||||
|
||||
builtin-modules@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-2.0.0.tgz#60b7ef5ae6546bd7deefa74b08b62a43a232648e"
|
||||
|
@ -2365,7 +2434,7 @@ convert-source-map@^1.4.0, convert-source-map@^1.5.1:
|
|||
dependencies:
|
||||
safe-buffer "~5.1.1"
|
||||
|
||||
cookie@0.3.1:
|
||||
cookie@0.3.1, cookie@^0.3.1:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
|
||||
integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
|
||||
|
@ -2610,7 +2679,7 @@ date-fns@1.29.0:
|
|||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6"
|
||||
integrity sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==
|
||||
|
||||
debug@*, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@~4.1.0:
|
||||
debug@*, debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@~4.1.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
|
||||
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
|
||||
|
@ -4572,6 +4641,14 @@ https-proxy-agent@^3.0.0:
|
|||
agent-base "^4.3.0"
|
||||
debug "^3.1.0"
|
||||
|
||||
https-proxy-agent@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b"
|
||||
integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==
|
||||
dependencies:
|
||||
agent-base "5"
|
||||
debug "4"
|
||||
|
||||
humanize-number@0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/humanize-number/-/humanize-number-0.0.2.tgz#11c0af6a471643633588588048f1799541489c18"
|
||||
|
@ -6234,6 +6311,11 @@ lru-queue@0.1:
|
|||
dependencies:
|
||||
es5-ext "~0.10.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=
|
||||
|
||||
macos-release@^2.2.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f"
|
||||
|
@ -7580,13 +7662,6 @@ promise.prototype.finally@^3.1.1:
|
|||
es-abstract "^1.13.0"
|
||||
function-bind "^1.1.1"
|
||||
|
||||
promise@7.x:
|
||||
version "7.3.1"
|
||||
resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
|
||||
integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
|
||||
dependencies:
|
||||
asap "~2.0.3"
|
||||
|
||||
prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.2, prop-types@^15.7.2:
|
||||
version "15.7.2"
|
||||
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
|
||||
|
@ -8238,7 +8313,7 @@ request-promise-native@^1.0.5:
|
|||
stealthy-require "^1.1.1"
|
||||
tough-cookie "^2.3.3"
|
||||
|
||||
request@^2.81.0, request@^2.87.0:
|
||||
request@^2.87.0:
|
||||
version "2.88.0"
|
||||
resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
|
||||
integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
|
||||
|
@ -9113,11 +9188,6 @@ ssri@^5.2.4:
|
|||
dependencies:
|
||||
safe-buffer "^5.1.1"
|
||||
|
||||
stack-trace@~0.0.9:
|
||||
version "0.0.10"
|
||||
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
|
||||
integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=
|
||||
|
||||
stack-utils@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
|
||||
|
@ -9678,7 +9748,7 @@ trim-right@^1.0.1:
|
|||
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
|
||||
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
|
||||
|
||||
tslib@^1.9.0:
|
||||
tslib@^1.9.0, tslib@^1.9.3:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
|
||||
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
|
||||
|
|
Reference in New Issue