diff --git a/next.config.js b/next.config.js
index efb84fd5a..58b39c3e1 100644
--- a/next.config.js
+++ b/next.config.js
@@ -1,67 +1,25 @@
-// Use the SentryWebpack plugin to upload the source maps during build step
-const SentryWebpackPlugin = require('@sentry/webpack-plugin');
const withBundleAnalyzer = require('@next/bundle-analyzer')({
enabled: process.env.ANALYZE === 'true',
});
const withWorkbox = require('@ente-io/next-with-workbox');
-const {
- NEXT_PUBLIC_SENTRY_DSN: SENTRY_DSN,
- SENTRY_ORG,
- SENTRY_PROJECT,
- SENTRY_AUTH_TOKEN,
- NODE_ENV,
- GITHUB_COMMIT_SHA: COMMIT_SHA,
-} = process.env;
+const { withSentryConfig } = require('@sentry/nextjs');
-process.env.SENTRY_DSN = SENTRY_DSN;
-const basePath = '';
+const cp = require('child_process');
+const gitSha = cp.execSync('git rev-parse --short HEAD', {
+ cwd: __dirname,
+ encoding: 'utf8',
+});
-module.exports = withWorkbox(withBundleAnalyzer({
- productionBrowserSourceMaps: true,
+module.exports = withSentryConfig(withWorkbox(withBundleAnalyzer({
future: {
webpack5: true,
},
env: {
- // Make the COMMIT_SHA available to the client so that Sentry events can be
- // marked for the release they belong to. It may be undefined if running
- // outside of Vercel
- NEXT_PUBLIC_COMMIT_SHA: COMMIT_SHA,
+ SENTRY_RELEASE: gitSha,
},
workbox: {
swSrc: 'src/serviceWorker.js',
exclude: [/manifest\.json$/i],
},
- webpack: (config, { isServer, webpack }) => {
- if (!isServer) {
- config.resolve.alias['@sentry/node'] = '@sentry/browser';
- }
- // Define an environment variable so source code can check whether or not
- // it's running on the server so we can correctly initialize Sentry
- config.plugins.push(
- new webpack.DefinePlugin({
- 'process.env.NEXT_IS_SERVER': JSON.stringify(
- isServer.toString(),
- ),
- }),
- );
- if (
- false &&
- SENTRY_DSN &&
- SENTRY_ORG &&
- SENTRY_PROJECT &&
- SENTRY_AUTH_TOKEN &&
- NODE_ENV === 'production'
- ) {
- config.plugins.push(
- new SentryWebpackPlugin({
- include: '.next',
- ignore: ['node_modules'],
- stripPrefix: ['webpack://_N_E/'],
- urlPrefix: `~${basePath}/_next`,
- }),
- );
- }
- return config;
- },
-}));
+})), { release: gitSha });
diff --git a/package.json b/package.json
index 3ec17d976..78962a4bd 100644
--- a/package.json
+++ b/package.json
@@ -13,12 +13,8 @@
"postinstall": "husky install"
},
"dependencies": {
+ "@sentry/nextjs": "^6.5.1",
"@ente-io/next-with-workbox": "^1.0.3",
- "@sentry/browser": "^5.21.3",
- "@sentry/integrations": "^5.21.3",
- "@sentry/node": "^5.21.3",
- "@sentry/types": "^6.6.0",
- "@sentry/webpack-plugin": "^1.12.1",
"@stripe/stripe-js": "^1.13.2",
"@typescript-eslint/eslint-plugin": "^4.25.0",
"@typescript-eslint/parser": "^4.25.0",
diff --git a/sentry.client.config.js b/sentry.client.config.js
new file mode 100644
index 000000000..6b1e89086
--- /dev/null
+++ b/sentry.client.config.js
@@ -0,0 +1,15 @@
+import * as Sentry from '@sentry/nextjs';
+
+const SENTRY_DSN = process.env.NEXT_PUBLIC_SENTRY_DSN ?? 'https://860186db60c54c7fbacfe255124958e8@errors.ente.io/4';
+const SENTRY_ENV = process.env.NEXT_PUBLIC_SENTRY_ENV ?? 'development';
+Sentry.init({
+ dsn: SENTRY_DSN,
+ enabled: SENTRY_ENV !== 'development',
+ release: process.env.SENTRY_RELEASE,
+ attachStacktrace: true,
+ autoSessionTracking: false,
+ // ...
+ // Note: if you want to override the automatic release value, do not set a
+ // `release` value here - use the environment variable `SENTRY_RELEASE`, so
+ // that it will also get attached to your source maps
+});
diff --git a/sentry.server.config.js b/sentry.server.config.js
new file mode 100644
index 000000000..33af4278b
--- /dev/null
+++ b/sentry.server.config.js
@@ -0,0 +1,12 @@
+import * as Sentry from '@sentry/nextjs';
+
+const SENTRY_DSN = process.env.NEXT_PUBLIC_SENTRY_DSN ?? 'https://860186db60c54c7fbacfe255124958e8@errors.ente.io/4';
+const SENTRY_ENV = process.env.NEXT_PUBLIC_SENTRY_ENV ?? 'development';
+
+Sentry.init({
+ dsn: SENTRY_DSN,
+ enabled: SENTRY_ENV !== 'development',
+ environment: SENTRY_ENV,
+ release: process.env.SENTRY_RELEASE,
+ autoSessionTracking: false,
+});
diff --git a/src/pages/404.js b/src/pages/404.js
deleted file mode 100644
index 423922c80..000000000
--- a/src/pages/404.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import React from 'react';
-import Error from 'next/error';
-
-export default function NotFound() {
- // Opinionated: do not record an exception in Sentry for 404
- return ;
-}
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index 21dd3037a..c13831d36 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -8,7 +8,7 @@ import Head from 'next/head';
import 'bootstrap/dist/css/bootstrap.min.css';
import 'photoswipe/dist/photoswipe.css';
import EnteSpinner from 'components/EnteSpinner';
-import { logError, sentryInit } from '../utils/sentry';
+import { logError } from '../utils/sentry';
import { Workbox } from 'workbox-window';
import { getEndpoint } from 'utils/common/apiUtil';
import { getData, LS_KEYS } from 'utils/storage/localStorage';
@@ -339,7 +339,6 @@ export interface BannerMessage {
variant: string;
}
-sentryInit();
type AppContextType = {
showNavBar: (show: boolean) => void;
diff --git a/src/pages/_error.js b/src/pages/_error.js
deleted file mode 100644
index 741564291..000000000
--- a/src/pages/_error.js
+++ /dev/null
@@ -1,61 +0,0 @@
-import React from 'react';
-import NextErrorComponent from 'next/error';
-import * as Sentry from '@sentry/node';
-
-const MyError = ({ statusCode, hasGetInitialPropsRun, err }) => {
- if (!hasGetInitialPropsRun && err) {
- // getInitialProps is not called in case of
- // https://github.com/vercel/next.js/issues/8592. As a workaround, we pass
- // err via _app.js so it can be captured
- Sentry.captureException(err);
- // Flushing is not required in this case as it only happens on the client
- }
-
- return ;
-};
-
-MyError.getInitialProps = async ({ res, err, asPath }) => {
- const errorInitialProps = await NextErrorComponent.getInitialProps({
- res,
- err,
- });
-
- // Workaround for https://github.com/vercel/next.js/issues/8592, mark when
- // getInitialProps has run
- errorInitialProps.hasGetInitialPropsRun = true;
-
- // Running on the server, the response object (`res`) is available.
- //
- // Next.js will pass an err on the server if a page's data fetching methods
- // threw or returned a Promise that rejected
- //
- // Running on the client (browser), Next.js will provide an err if:
- //
- // - a page's `getInitialProps` threw or returned a Promise that rejected
- // - an exception was thrown somewhere in the React lifecycle (render,
- // componentDidMount, etc) that was caught by Next.js's React Error
- // Boundary. Read more about what types of exceptions are caught by Error
- // Boundaries: https://reactjs.org/docs/error-boundaries.html
-
- if (err) {
- Sentry.captureException(err);
-
- // Flushing before returning is necessary if deploying to Vercel, see
- // https://vercel.com/docs/platform/limits#streaming-responses
- await Sentry.flush(2000);
-
- return errorInitialProps;
- }
-
- // If this point is reached, getInitialProps was called without any
- // information about what the error might be. This is unexpected and may
- // indicate a bug introduced in Next.js, so record it in Sentry
- Sentry.captureException(
- new Error(`_error.js getInitialProps missing data at path: ${asPath}`),
- );
- await Sentry.flush(2000);
-
- return errorInitialProps;
-};
-
-export default MyError;
diff --git a/src/utils/sentry/index.ts b/src/utils/sentry/index.ts
index 56178e80b..a63f5acbf 100644
--- a/src/utils/sentry/index.ts
+++ b/src/utils/sentry/index.ts
@@ -1,47 +1,4 @@
-import * as Sentry from '@sentry/browser';
-import { RewriteFrames, CaptureConsole } from '@sentry/integrations';
-
-export const sentryInit = () => {
- if (process.env.NEXT_PUBLIC_SENTRY_DSN) {
- const integrations = [];
- if (
- process.env.NEXT_IS_SERVER === 'true' &&
- process.env.NEXT_PUBLIC_SENTRY_SERVER_ROOT_DIR
- ) {
- // For Node.js, rewrite Error.stack to use relative paths, so that source
- // maps starting with ~/_next map to files in Error.stack with path
- // app:///_next
- integrations.push(
- new RewriteFrames({
- iteratee: (frame) => {
- frame.filename = frame.filename.replace(
- process.env.NEXT_PUBLIC_SENTRY_SERVER_ROOT_DIR,
- 'app:///',
- );
- frame.filename = frame.filename.replace(
- '.next',
- '_next',
- );
- return frame;
- },
- }),
- );
- }
- integrations.push(
- new CaptureConsole({
- levels: ['error'],
- }),
- );
-
- Sentry.init({
- enabled: process.env.NODE_ENV === 'production',
- environment: process.env.NODE_ENV,
- integrations,
- dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
- attachStacktrace: true,
- });
- }
-};
+import * as Sentry from '@sentry/nextjs';
export const logError = (e: any, msg?: string) => {
Sentry.captureException(e, {
diff --git a/yarn.lock b/yarn.lock
index f3ff2c163..91235ae0a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1175,20 +1175,20 @@
estree-walker "^1.0.1"
picomatch "^2.2.2"
-"@sentry/browser@^5.21.3":
- version "5.30.0"
- resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.30.0.tgz#c28f49d551db3172080caef9f18791a7fd39e3b3"
- integrity sha512-rOb58ZNVJWh1VuMuBG1mL9r54nZqKeaIlwSlvzJfc89vyfd7n6tQ1UXMN383QBz/MS5H5z44Hy5eE+7pCrYAfw==
+"@sentry/browser@6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.5.1.tgz#9a6ed5607b3b0f4e83f38720e3e202906f8c5bdb"
+ integrity sha512-iVLCdEFwsoWAzE/hNknexPQjjDpMQV7mmaq9Z1P63bD6MfhwVTx4hG4pHn8HEvC38VvCVf1wv0v/LxtoODAYXg==
dependencies:
- "@sentry/core" "5.30.0"
- "@sentry/types" "5.30.0"
- "@sentry/utils" "5.30.0"
+ "@sentry/core" "6.5.1"
+ "@sentry/types" "6.5.1"
+ "@sentry/utils" "6.5.1"
tslib "^1.9.3"
-"@sentry/cli@^1.64.1":
- version "1.66.0"
- resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.66.0.tgz#0526f1bc1c0570ce72ed817190af92f3b63a2e9a"
- integrity sha512-2pZ+JHnvKqwyJWcGkKg/gCM/zURYronAnruBNllI+rH2g5IL0N90deMmjB1xcqXS66J222+MPTtWrGEK1Vl0/w==
+"@sentry/cli@^1.63.1":
+ version "1.65.0"
+ resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.65.0.tgz#bdf613e3a4359b9e282b968a7387d5dca361931b"
+ integrity sha512-N5riXQ7H+tGMQ+VCEVJI8Qy4FoVDvDw7jmFYbcn5xLWTyM+g0rVEm7kUL33zZENxdL2plNlepklPU+rFk4KDRw==
dependencies:
https-proxy-agent "^5.0.0"
mkdirp "^0.5.5"
@@ -1197,95 +1197,116 @@
progress "^2.0.3"
proxy-from-env "^1.1.0"
-"@sentry/core@5.30.0":
- version "5.30.0"
- resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3"
- integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==
+"@sentry/core@6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.5.1.tgz#c8b6c3ed86ed07b193c95d599c1b9a4a161e500e"
+ integrity sha512-Mh3sl/iUOT1myHmM6RlDy2ARzkUClx/g4DAt1rJ/IpQBOlDYQraplXSIW80i/hzRgQDfwhwgf4wUa5DicKBjKw==
dependencies:
- "@sentry/hub" "5.30.0"
- "@sentry/minimal" "5.30.0"
- "@sentry/types" "5.30.0"
- "@sentry/utils" "5.30.0"
+ "@sentry/hub" "6.5.1"
+ "@sentry/minimal" "6.5.1"
+ "@sentry/types" "6.5.1"
+ "@sentry/utils" "6.5.1"
tslib "^1.9.3"
-"@sentry/hub@5.30.0":
- version "5.30.0"
- resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100"
- integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==
+"@sentry/hub@6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.5.1.tgz#135ef09d07d32e87a53f664c0ae8fcc4f5963519"
+ integrity sha512-lBRMBVMYP8B4PfRiM70murbtJAXiIAao/asDEMIRNGMP6pI2ArqXfJCBYDkStukhikYD0Kqb4trXq+JYF07Hbg==
dependencies:
- "@sentry/types" "5.30.0"
- "@sentry/utils" "5.30.0"
+ "@sentry/types" "6.5.1"
+ "@sentry/utils" "6.5.1"
tslib "^1.9.3"
-"@sentry/integrations@^5.21.3":
- version "5.30.0"
- resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-5.30.0.tgz#2f25fb998cb19c76b3803d84c1a577b3d837010f"
- integrity sha512-Fqh4ALLoQWdd+1ih0iBduANWFyNmFWMxwvBu3V/wLDRi8OcquI0lEzWai1InzTJTiNhRHPnhuU++l/vkO0OCww==
+"@sentry/integrations@6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-6.5.1.tgz#e7016f3023a98e2ef893daba18ba74bd8d62654b"
+ integrity sha512-NYiW0rH7fwv7aRtrRnfCSIiwulfV2NoLjhmghCONsyo10DNtYmOpogLotCytZFWLDnTJW1+pmTomq8UW/OSTcQ==
dependencies:
- "@sentry/types" "5.30.0"
- "@sentry/utils" "5.30.0"
- localforage "1.8.1"
+ "@sentry/types" "6.5.1"
+ "@sentry/utils" "6.5.1"
+ localforage "^1.8.1"
tslib "^1.9.3"
-"@sentry/minimal@5.30.0":
- version "5.30.0"
- resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b"
- integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==
+"@sentry/minimal@6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.5.1.tgz#b8c1b382c2ea788eec3d32d203e5081b00eb6838"
+ integrity sha512-q9Do/oreu1RP695CXCLowVDuQyk7ilE6FGdz2QLpTXAfx8247qOwk6+zy9Kea/Djk93+BoSDVQUSneNiVwl0nQ==
dependencies:
- "@sentry/hub" "5.30.0"
- "@sentry/types" "5.30.0"
+ "@sentry/hub" "6.5.1"
+ "@sentry/types" "6.5.1"
tslib "^1.9.3"
-"@sentry/node@^5.21.3":
- version "5.30.0"
- resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.30.0.tgz#4ca479e799b1021285d7fe12ac0858951c11cd48"
- integrity sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==
+"@sentry/nextjs@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-6.5.1.tgz#a16d5b01ec46b853fc540ac081e83458461e9b43"
+ integrity sha512-cuSGvK8iCA9Nfakj5k903POE4kLSYWLLfjEfaP3CdfXD5KyZL6xhxvFJoZfq8mQT8dDLH4QArTpSIbUtic3meg==
dependencies:
- "@sentry/core" "5.30.0"
- "@sentry/hub" "5.30.0"
- "@sentry/tracing" "5.30.0"
- "@sentry/types" "5.30.0"
- "@sentry/utils" "5.30.0"
+ "@sentry/core" "6.5.1"
+ "@sentry/integrations" "6.5.1"
+ "@sentry/node" "6.5.1"
+ "@sentry/react" "6.5.1"
+ "@sentry/tracing" "6.5.1"
+ "@sentry/utils" "6.5.1"
+ "@sentry/webpack-plugin" "1.15.0"
+ tslib "^1.9.3"
+
+"@sentry/node@6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.5.1.tgz#a572b380858de5aeaf98eade6d8d3afcba13d364"
+ integrity sha512-Yh8J/QJ5e8gRBVL9VLCDpUvmiaxsxVZm0CInPHw3V/smgMkrzSKEiqxSeMq8ImPlaJrCFECqdpv4gnvYKI+mQQ==
+ dependencies:
+ "@sentry/core" "6.5.1"
+ "@sentry/hub" "6.5.1"
+ "@sentry/tracing" "6.5.1"
+ "@sentry/types" "6.5.1"
+ "@sentry/utils" "6.5.1"
cookie "^0.4.1"
https-proxy-agent "^5.0.0"
lru_map "^0.3.3"
tslib "^1.9.3"
-"@sentry/tracing@5.30.0":
- version "5.30.0"
- resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.30.0.tgz#501d21f00c3f3be7f7635d8710da70d9419d4e1f"
- integrity sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==
+"@sentry/react@6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/react/-/react-6.5.1.tgz#1c7019fc3d8b1168c1ab8936cb65971b314d060d"
+ integrity sha512-YeGi7FzInhMZQxiy5fKqb7kS6W+u4NfsjzsVV3bLjJ1kiVtbpzZ2gs+ObHqW3zVE622V4nL7A4P8/CBHbcm5PA==
dependencies:
- "@sentry/hub" "5.30.0"
- "@sentry/minimal" "5.30.0"
- "@sentry/types" "5.30.0"
- "@sentry/utils" "5.30.0"
+ "@sentry/browser" "6.5.1"
+ "@sentry/minimal" "6.5.1"
+ "@sentry/types" "6.5.1"
+ "@sentry/utils" "6.5.1"
+ hoist-non-react-statics "^3.3.2"
tslib "^1.9.3"
-"@sentry/types@5.30.0":
- version "5.30.0"
- resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402"
- integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==
-
-"@sentry/types@^6.6.0":
- version "6.7.0"
- resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.7.0.tgz#93f105c3bbca08224db79d9dd83bed0a56ef13d3"
- integrity sha512-5pKv0yJEOnkjy3J3eiGaM1CD2+p3rXkctJa8loZH7QgY7mJgUTKpozO3YymUmGjblthlrbuhH+5wUIBnVF60Bg==
-
-"@sentry/utils@5.30.0":
- version "5.30.0"
- resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980"
- integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==
+"@sentry/tracing@6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-6.5.1.tgz#a5f3e497d4f1f319f36475df050e135cf65af750"
+ integrity sha512-y1W/xFC2hAuKqSuuaovkElHY4pbli3XoXrreesg8PtO7ilX6ZbatOQbHsEsHQyoUv0F6aVA+MABOxWH2jt7tfw==
dependencies:
- "@sentry/types" "5.30.0"
+ "@sentry/hub" "6.5.1"
+ "@sentry/minimal" "6.5.1"
+ "@sentry/types" "6.5.1"
+ "@sentry/utils" "6.5.1"
tslib "^1.9.3"
-"@sentry/webpack-plugin@^1.12.1":
- version "1.15.1"
- resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-1.15.1.tgz#deb014fce8c1b51811100f25ec9050dd03addd9b"
- integrity sha512-/Z06MJDXyWcN2+CbeDTMDwVzySjgZWQajOke773TvpkgqdtkeT1eYBsA+pfsje+ZE1prEgrZdlH/L9HdM1odnQ==
+"@sentry/types@6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.5.1.tgz#0a34ecfd1ae9275a416a105640eb4bed45a46a1d"
+ integrity sha512-b/7a6CMoytaeFPx4IBjfxPw3nPvsQh7ui1C8Vw0LxNNDgBwVhPLzUOWeLWbo5YZCVbGEMIWwtCUQYWxneceZSA==
+
+"@sentry/utils@6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.5.1.tgz#046baf7d1a6564d6d555437ad3674dba9bc0806a"
+ integrity sha512-Wv86JYGQH+ZJ5XGFQX7h6ijl32667ikenoL9EyXMn8UoOYX/MLwZoQZin1P60wmKkYR9ifTNVmpaI9OoTaH+UQ==
dependencies:
- "@sentry/cli" "^1.64.1"
+ "@sentry/types" "6.5.1"
+ tslib "^1.9.3"
+
+"@sentry/webpack-plugin@1.15.0":
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-1.15.0.tgz#c7f9eafbbace1929c3fb81bb720fc0d7e8b4f86d"
+ integrity sha512-KHVug+xI+KH/xCL7otWcRRszw0rt6i/BCH5F8+6/njz2gCBrYQOzdMvzWm4GeXZUuw5ekgycYaUhDs1/6enjuQ==
+ dependencies:
+ "@sentry/cli" "^1.63.1"
"@stripe/stripe-js@^1.13.2":
version "1.15.0"
@@ -3524,7 +3545,7 @@ hmac-drbg@^1.0.1:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1:
+hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
@@ -4093,20 +4114,13 @@ loader-utils@1.2.3:
emojis-list "^2.0.0"
json5 "^1.0.1"
-localforage@*, localforage@^1.9.0:
+localforage@*, localforage@^1.8.1, localforage@^1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.9.0.tgz#f3e4d32a8300b362b4634cc4e066d9d00d2f09d1"
integrity sha512-rR1oyNrKulpe+VM9cYmcFn6tsHuokyVHFaCM3+osEmxaHTbEk8oQu6eGDfS6DQLWi/N67XRmB8ECG37OES368g==
dependencies:
lie "3.1.1"
-localforage@1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.8.1.tgz#f6c0a24b41ab33b10e4dc84342dd696f6f3e3433"
- integrity sha512-azSSJJfc7h4bVpi0PGi+SmLQKJl2/8NErI+LhJsrORNikMZnhaQ7rv9fHj+ofwgSHrKRlsDCL/639a6nECIKuQ==
- dependencies:
- lie "3.1.1"
-
locate-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"