From 31a74f8d3136924d8f5f4a87eca18688af7a8e79 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Fri, 12 Sep 2025 15:26:31 +0300 Subject: [PATCH] yolo rip out sentry --- __mocks__/sentry-expo.js | 3 - app.config.js | 10 - jest/jestSetup.js | 11 - metro.config.js | 5 +- package.json | 5 +- patches/@sentry+react-native+6.16.1.patch | 13 - src/App.native.tsx | 4 +- src/App.web.tsx | 4 +- src/logger/__tests__/logger.test.ts | 481 ---------------------- src/logger/index.ts | 5 +- src/logger/sentry/lib/index.ts | 1 - src/logger/sentry/lib/index.web.ts | 1 - src/logger/sentry/setup/index.ts | 32 -- src/logger/transports/sentry.ts | 31 +- yarn.lock | 371 +---------------- 15 files changed, 17 insertions(+), 960 deletions(-) delete mode 100644 __mocks__/sentry-expo.js delete mode 100644 patches/@sentry+react-native+6.16.1.patch delete mode 100644 src/logger/__tests__/logger.test.ts delete mode 100644 src/logger/sentry/lib/index.ts delete mode 100644 src/logger/sentry/lib/index.web.ts delete mode 100644 src/logger/sentry/setup/index.ts diff --git a/__mocks__/sentry-expo.js b/__mocks__/sentry-expo.js deleted file mode 100644 index 5a0e644e8a..0000000000 --- a/__mocks__/sentry-expo.js +++ /dev/null @@ -1,3 +0,0 @@ -jest.mock('sentry-expo', () => ({ - init: () => jest.fn(), -})) diff --git a/app.config.js b/app.config.js index f976571d59..676ced1776 100644 --- a/app.config.js +++ b/app.config.js @@ -28,8 +28,6 @@ module.exports = function (_config) { const UPDATES_ENABLED = IS_TESTFLIGHT || IS_PRODUCTION - const USE_SENTRY = Boolean(process.env.SENTRY_AUTH_TOKEN) - return { expo: { version: VERSION, @@ -195,14 +193,6 @@ module.exports = function (_config) { 'react-native-edge-to-edge', {android: {enforceNavigationBarContrast: false}}, ], - USE_SENTRY && [ - '@sentry/react-native/expo', - { - organization: 'blueskyweb', - project: 'app', - url: 'https://sentry.io', - }, - ], [ 'expo-build-properties', { diff --git a/jest/jestSetup.js b/jest/jestSetup.js index 8def1158c0..3669d2f023 100644 --- a/jest/jestSetup.js +++ b/jest/jestSetup.js @@ -65,17 +65,6 @@ jest.mock('lande', () => ({ default: jest.fn().mockReturnValue([['eng']]), })) -jest.mock('sentry-expo', () => ({ - init: () => jest.fn(), - Native: { - ReactNativeTracing: jest.fn().mockImplementation(() => ({ - start: jest.fn(), - stop: jest.fn(), - })), - ReactNavigationInstrumentation: jest.fn(), - }, -})) - jest.mock('crypto', () => ({})) jest.mock('expo-application', () => ({ diff --git a/metro.config.js b/metro.config.js index dcdead3f5d..e49ca1db9d 100644 --- a/metro.config.js +++ b/metro.config.js @@ -1,6 +1,7 @@ // Learn more https://docs.expo.io/guides/customizing-metro -const {getSentryExpoConfig} = require('@sentry/react-native/metro') -const cfg = getSentryExpoConfig(__dirname) +const {getDefaultConfig} = require('expo/metro-config') + +const cfg = getDefaultConfig(__dirname) cfg.resolver.sourceExts = process.env.RN_SRC_EXT ? process.env.RN_SRC_EXT.split(',').concat(cfg.resolver.sourceExts) diff --git a/package.json b/package.json index 35850390a2..f53bb32d97 100644 --- a/package.json +++ b/package.json @@ -63,8 +63,7 @@ "intl:push": "crowdin push translations --verbose -b main", "nuke": "rm -rf ./node_modules && rm -rf ./ios && rm -rf ./android", "update-extensions": "bash scripts/updateExtensions.sh", - "export": "npx expo export --dump-sourcemap && yarn upload-native-sourcemaps", - "upload-native-sourcemaps": "npx sentry-expo-upload-sourcemaps dist", + "export": "npx expo export --dump-sourcemap", "make-deploy-bundle": "bash scripts/bundleUpdate.sh", "generate-webpack-stats-file": "EXPO_PUBLIC_GENERATE_STATS=1 yarn build-web", "open-analyzer": "EXPO_PUBLIC_OPEN_ANALYZER=1 yarn build-web", @@ -98,7 +97,6 @@ "@react-navigation/drawer": "^7.3.12", "@react-navigation/native": "^7.1.9", "@react-navigation/native-stack": "^7.3.13", - "@sentry/react-native": "~6.16.1", "@tanstack/query-async-storage-persister": "^5.25.0", "@tanstack/react-query": "^5.8.1", "@tanstack/react-query-persist-client": "^5.25.0", @@ -230,7 +228,6 @@ "@react-native/babel-preset": "0.81.4", "@react-native/eslint-config": "^0.81.4", "@react-native/typescript-config": "^0.81.4", - "@sentry/webpack-plugin": "^3.2.2", "@testing-library/jest-native": "^5.4.3", "@testing-library/react-native": "^13.2.0", "@types/jest": "^29.4.0", diff --git a/patches/@sentry+react-native+6.16.1.patch b/patches/@sentry+react-native+6.16.1.patch deleted file mode 100644 index 2291c598c6..0000000000 --- a/patches/@sentry+react-native+6.16.1.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js b/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js -index c282ade..8777755 100755 ---- a/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js -+++ b/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js -@@ -215,7 +215,7 @@ for (const [assetGroupName, assets] of Object.entries(groupedAssets)) { - - const isHermes = assets.find(asset => asset.endsWith('.hbc')); - const windowsCallback = process.platform === "win32" ? 'node ' : ''; -- execSync(`${windowsCallback}${sentryCliBin} sourcemaps upload ${isHermes ? '--debug-id-reference' : ''} ${assets.join(' ')}`, { -+ execSync(`${windowsCallback}${sentryCliBin} sourcemaps upload ${isHermes ? '--debug-id-reference' : ''} ${assets.join(' ')} --dist ${process.env.SENTRY_DIST}`, { - env: { - ...process.env, - [SENTRY_PROJECT]: sentryProject, diff --git a/src/App.native.tsx b/src/App.native.tsx index 036ecff60e..73be66ceb0 100644 --- a/src/App.native.tsx +++ b/src/App.native.tsx @@ -1,4 +1,3 @@ -import '#/logger/sentry/setup' import '#/logger/bitdrift/setup' import '#/view/icons' @@ -14,7 +13,6 @@ import * as SplashScreen from 'expo-splash-screen' import * as SystemUI from 'expo-system-ui' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' -import * as Sentry from '@sentry/react-native' import {KeyboardControllerProvider} from '#/lib/hooks/useEnableKeyboardController' import {Provider as HideBottomBarBorderProvider} from '#/lib/hooks/useHideBottomBarBorder' @@ -253,4 +251,4 @@ function App() { ) } -export default Sentry.wrap(App) +export default App diff --git a/src/App.web.tsx b/src/App.web.tsx index c86960172a..a7eb409a5a 100644 --- a/src/App.web.tsx +++ b/src/App.web.tsx @@ -1,4 +1,3 @@ -import '#/logger/sentry/setup' // must be near top import '#/view/icons' import './style.css' @@ -7,7 +6,6 @@ import {RootSiblingParent} from 'react-native-root-siblings' import {SafeAreaProvider} from 'react-native-safe-area-context' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' -import * as Sentry from '@sentry/react-native' import {QueryProvider} from '#/lib/react-query' import {Provider as StatsigProvider} from '#/lib/statsig/statsig' @@ -221,4 +219,4 @@ function App() { ) } -export default Sentry.wrap(App) +export default App diff --git a/src/logger/__tests__/logger.test.ts b/src/logger/__tests__/logger.test.ts deleted file mode 100644 index 435a5e5d1c..0000000000 --- a/src/logger/__tests__/logger.test.ts +++ /dev/null @@ -1,481 +0,0 @@ -import {beforeAll, describe, expect, jest, test} from '@jest/globals' -import * as Sentry from '@sentry/react-native' -import {nanoid} from 'nanoid/non-secure' - -import {Logger} from '#/logger' -import {sentryTransport} from '#/logger/transports/sentry' -import {LogLevel} from '#/logger/types' - -jest.mock('@sentry/react-native', () => ({ - addBreadcrumb: jest.fn(), - captureException: jest.fn(), - captureMessage: jest.fn(), -})) - -beforeAll(() => { - jest.useFakeTimers() -}) - -describe('general functionality', () => { - test('default params', () => { - const logger = new Logger() - expect(logger.level).toEqual(LogLevel.Info) - }) - - test('can override default params', () => { - const logger = new Logger({ - level: LogLevel.Debug, - }) - expect(logger.level).toEqual(LogLevel.Debug) - }) - - test('contextFilter overrides level', () => { - const logger = new Logger({ - level: LogLevel.Info, - contextFilter: 'test', - }) - expect(logger.level).toEqual(LogLevel.Debug) - }) - - test('supports extra metadata', () => { - const timestamp = Date.now() - const logger = new Logger({}) - - const mockTransport = jest.fn() - - logger.addTransport(mockTransport) - - const extra = {foo: true} - logger.warn('message', extra) - - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Warn, - undefined, - 'message', - extra, - timestamp, - ) - }) - - test('supports nullish/falsy metadata', () => { - const timestamp = Date.now() - const logger = new Logger({}) - - const mockTransport = jest.fn() - - const remove = logger.addTransport(mockTransport) - - // @ts-expect-error testing the JS case - logger.warn('a', null) - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Warn, - undefined, - 'a', - {}, - timestamp, - ) - - // @ts-expect-error testing the JS case - logger.warn('b', false) - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Warn, - undefined, - 'b', - {}, - timestamp, - ) - - // @ts-expect-error testing the JS case - logger.warn('c', 0) - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Warn, - undefined, - 'c', - {}, - timestamp, - ) - - remove() - - logger.addTransport((level, context, message, metadata) => { - expect(typeof metadata).toEqual('object') - }) - - // @ts-expect-error testing the JS case - logger.warn('message', null) - }) - - test('sentryTransport', () => { - const message = 'message' - const timestamp = Date.now() - const sentryTimestamp = timestamp / 1000 - - /* - sentryTransport( - LogLevel.Debug, - Logger.Context.Default, - message, - {}, - timestamp, - ) - expect(Sentry.addBreadcrumb).toHaveBeenCalledWith({ - category: Logger.Context.Default, - message, - data: {__context__: 'logger'}, - type: 'default', - level: LogLevel.Debug, - timestamp: sentryTimestamp, - }) - */ - - sentryTransport( - LogLevel.Info, - Logger.Context.Default, - message, - {type: 'info', prop: true}, - timestamp, - ) - expect(Sentry.addBreadcrumb).toHaveBeenCalledWith({ - category: Logger.Context.Default, - message, - data: {prop: true, __context__: 'logger'}, - type: 'info', - level: LogLevel.Info, - timestamp: sentryTimestamp, - }) - - sentryTransport( - LogLevel.Log, - Logger.Context.Default, - message, - {}, - timestamp, - ) - expect(Sentry.addBreadcrumb).toHaveBeenCalledWith({ - category: Logger.Context.Default, - message, - data: {__context__: 'logger'}, - type: 'default', - level: 'log', - timestamp: sentryTimestamp, - }) - jest.runAllTimers() - expect(Sentry.captureMessage).toHaveBeenCalledWith(message, { - level: 'log', - tags: {category: 'logger'}, - extra: {__context__: 'logger'}, - }) - - sentryTransport( - LogLevel.Warn, - Logger.Context.Default, - message, - {}, - timestamp, - ) - expect(Sentry.addBreadcrumb).toHaveBeenCalledWith({ - category: Logger.Context.Default, - message, - data: {__context__: 'logger'}, - type: 'default', - level: 'warning', - timestamp: sentryTimestamp, - }) - jest.runAllTimers() - expect(Sentry.captureMessage).toHaveBeenCalledWith(message, { - level: 'warning', - tags: {category: 'logger'}, - extra: {__context__: 'logger'}, - }) - - const e = new Error('error') - const tags = { - prop: 'prop', - } - - sentryTransport( - LogLevel.Error, - Logger.Context.Default, - e, - { - tags, - prop: true, - }, - timestamp, - ) - - expect(Sentry.captureException).toHaveBeenCalledWith(e, { - tags: { - ...tags, - category: 'logger', - }, - extra: { - prop: true, - __context__: 'logger', - }, - }) - }) - - test('sentryTransport serializes errors', () => { - const message = 'message' - const timestamp = Date.now() - const sentryTimestamp = timestamp / 1000 - - sentryTransport( - LogLevel.Info, - undefined, - message, - {error: new Error('foo')}, - timestamp, - ) - expect(Sentry.addBreadcrumb).toHaveBeenCalledWith({ - message, - data: {error: 'Error: foo'}, - type: 'default', - level: LogLevel.Info, - timestamp: sentryTimestamp, - }) - }) - - test('add/remove transport', () => { - const timestamp = Date.now() - const logger = new Logger({}) - const mockTransport = jest.fn() - - const remove = logger.addTransport(mockTransport) - - logger.warn('warn') - - remove() - - logger.warn('warn') - - // only called once bc it was removed - expect(mockTransport).toHaveBeenNthCalledWith( - 1, - LogLevel.Warn, - undefined, - 'warn', - {}, - timestamp, - ) - }) -}) - -describe('create', () => { - test('create', () => { - const mockTransport = jest.fn() - const timestamp = Date.now() - const message = nanoid() - const logger = Logger.create(Logger.Context.Default) - - logger.addTransport(mockTransport) - logger.info(message, {}) - - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Info, - Logger.Context.Default, - message, - {}, - timestamp, - ) - }) -}) - -describe('debug contexts', () => { - test('specific', () => { - const mockTransport = jest.fn() - const timestamp = Date.now() - const message = nanoid() - const logger = new Logger({ - // @ts-ignore - context: 'specific', - level: LogLevel.Debug, - }) - - logger.addTransport(mockTransport) - logger.debug(message, {}) - - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Debug, - 'specific', - message, - {}, - timestamp, - ) - }) - - test('namespaced', () => { - const mockTransport = jest.fn() - const timestamp = Date.now() - const message = nanoid() - const logger = new Logger({ - // @ts-ignore - context: 'namespace:foo', - contextFilter: 'namespace:*', - level: LogLevel.Debug, - }) - - logger.addTransport(mockTransport) - logger.debug(message, {}) - - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Debug, - 'namespace:foo', - message, - {}, - timestamp, - ) - }) - - test('ignores inactive', () => { - const mockTransport = jest.fn() - const timestamp = Date.now() - const message = nanoid() - const logger = new Logger({ - // @ts-ignore - context: 'namespace:bar:baz', - contextFilter: 'namespace:foo:*', - }) - - logger.addTransport(mockTransport) - logger.debug(message, {}) - - expect(mockTransport).not.toHaveBeenCalledWith( - LogLevel.Debug, - 'namespace:bar:baz', - message, - {}, - timestamp, - ) - }) -}) - -describe('supports levels', () => { - test('debug', () => { - const timestamp = Date.now() - const logger = new Logger({ - level: LogLevel.Debug, - }) - const message = nanoid() - const mockTransport = jest.fn() - - logger.addTransport(mockTransport) - - logger.debug(message) - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Debug, - undefined, - message, - {}, - timestamp, - ) - - logger.info(message) - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Info, - undefined, - message, - {}, - timestamp, - ) - - logger.warn(message) - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Warn, - undefined, - message, - {}, - timestamp, - ) - - const e = new Error(message) - logger.error(e) - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Error, - undefined, - e, - {}, - timestamp, - ) - }) - - test('info', () => { - const timestamp = Date.now() - const logger = new Logger({ - level: LogLevel.Info, - }) - const message = nanoid() - const mockTransport = jest.fn() - - logger.addTransport(mockTransport) - - logger.debug(message) - expect(mockTransport).not.toHaveBeenCalled() - - logger.info(message) - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Info, - undefined, - message, - {}, - timestamp, - ) - }) - - test('warn', () => { - const timestamp = Date.now() - const logger = new Logger({ - level: LogLevel.Warn, - }) - const message = nanoid() - const mockTransport = jest.fn() - - logger.addTransport(mockTransport) - - logger.debug(message) - expect(mockTransport).not.toHaveBeenCalled() - - logger.info(message) - expect(mockTransport).not.toHaveBeenCalled() - - logger.warn(message) - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Warn, - undefined, - message, - {}, - timestamp, - ) - }) - - test('error', () => { - const timestamp = Date.now() - const logger = new Logger({ - level: LogLevel.Error, - }) - const message = nanoid() - const mockTransport = jest.fn() - - logger.addTransport(mockTransport) - - logger.debug(message) - expect(mockTransport).not.toHaveBeenCalled() - - logger.info(message) - expect(mockTransport).not.toHaveBeenCalled() - - logger.warn(message) - expect(mockTransport).not.toHaveBeenCalled() - - const e = new Error('original message') - logger.error(e) - expect(mockTransport).toHaveBeenCalledWith( - LogLevel.Error, - undefined, - e, - {}, - timestamp, - ) - }) -}) diff --git a/src/logger/index.ts b/src/logger/index.ts index 998d025818..f4a381b3e7 100644 --- a/src/logger/index.ts +++ b/src/logger/index.ts @@ -5,7 +5,6 @@ import {add} from '#/logger/logDump' import {type MetricEvents} from '#/logger/metrics' import {bitdriftTransport} from '#/logger/transports/bitdrift' import {consoleTransport} from '#/logger/transports/console' -import {sentryTransport} from '#/logger/transports/sentry' import { LogContext, LogLevel, @@ -19,9 +18,7 @@ import {ENV} from '#/env' const TRANSPORTS: Transport[] = (function configureTransports() { switch (ENV) { case 'production': { - return [sentryTransport, isNative && bitdriftTransport].filter( - Boolean, - ) as Transport[] + return [isNative && bitdriftTransport].filter(Boolean) as Transport[] } case 'test': { return [] diff --git a/src/logger/sentry/lib/index.ts b/src/logger/sentry/lib/index.ts deleted file mode 100644 index e771560e73..0000000000 --- a/src/logger/sentry/lib/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * as Sentry from '@sentry/react-native' diff --git a/src/logger/sentry/lib/index.web.ts b/src/logger/sentry/lib/index.web.ts deleted file mode 100644 index e771560e73..0000000000 --- a/src/logger/sentry/lib/index.web.ts +++ /dev/null @@ -1 +0,0 @@ -export * as Sentry from '@sentry/react-native' diff --git a/src/logger/sentry/setup/index.ts b/src/logger/sentry/setup/index.ts deleted file mode 100644 index d062f05d2b..0000000000 --- a/src/logger/sentry/setup/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -import {init} from '@sentry/react-native' - -import * as env from '#/env' - -init({ - enabled: !env.IS_DEV && !!env.SENTRY_DSN, - autoSessionTracking: false, - dsn: env.SENTRY_DSN, - debug: false, // If `true`, Sentry will try to print out useful debugging information if something goes wrong with sending the event. Set it to `false` in production - environment: env.ENV, - dist: env.BUNDLE_IDENTIFIER, - release: env.RELEASE_VERSION, - ignoreErrors: [ - /* - * Unknown internals errors - */ - `t is not defined`, - `Can't find variable: t`, - /* - * Un-useful errors - */ - `Network request failed`, - ], - /** - * Does not affect traces of error events or other logs, just disables - * automatically attaching stack traces to events. This helps us group events - * and prevents explosions of separate issues. - * - * @see https://docs.sentry.io/platforms/react-native/configuration/options/#attach-stacktrace - */ - attachStacktrace: false, -}) diff --git a/src/logger/transports/sentry.ts b/src/logger/transports/sentry.ts index 5453279015..86577757a5 100644 --- a/src/logger/transports/sentry.ts +++ b/src/logger/transports/sentry.ts @@ -1,5 +1,4 @@ import {isNetworkError} from '#/lib/strings/errors' -import {Sentry} from '#/logger/sentry/lib' import {LogLevel, type Transport} from '#/logger/types' import {prepareMetadata} from '#/logger/util' @@ -7,8 +6,7 @@ export const sentryTransport: Transport = ( level, context, message, - {type, tags, ...metadata}, - timestamp, + {tags, ...metadata}, ) => { // Skip debug messages entirely for now - esb if (level === LogLevel.Debug) return @@ -38,15 +36,6 @@ export const sentryTransport: Transport = ( } as const )[level] - Sentry.addBreadcrumb({ - category: context, - message, - data: meta, - type: type || 'default', - level: severity, - timestamp: timestamp / 1000, // Sentry expects seconds - }) - // We don't want to send any network errors to sentry if (isNetworkError(message)) { return @@ -68,20 +57,15 @@ export const sentryTransport: Transport = ( /** * It's otherwise an Error and should be reported with captureException */ - Sentry.captureException(message, { - tags: _tags, - extra: meta, - }) } } -const queuedMessages: [string, Parameters[1]][] = - [] +const queuedMessages: [string, Parameters[1]][] = [] let sentrySendTimeout: ReturnType | null = null function queueMessageForSentry( message: string, - captureContext: Parameters[1], + captureContext: Parameters[1], ) { queuedMessages.push([message, captureContext]) if (!sentrySendTimeout) { @@ -94,11 +78,4 @@ function queueMessageForSentry( } } -function sendQueuedMessages() { - while (queuedMessages.length > 0) { - const record = queuedMessages.shift() - if (record) { - Sentry.captureMessage(record[0], record[1]) - } - } -} +function sendQueuedMessages() {} diff --git a/yarn.lock b/yarn.lock index efd23341b8..d02cba5cce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1240,7 +1240,7 @@ "@babel/highlight" "^7.24.2" picocolors "^1.0.0" -"@babel/code-frame@^7.24.7", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2": +"@babel/code-frame@^7.24.7", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": version "7.26.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== @@ -1264,11 +1264,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== -"@babel/compat-data@^7.26.5": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" - integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== - "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.20.0", "@babel/core@^7.20.2": version "7.22.10" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.10.tgz#aad442c7bcd1582252cb4576747ace35bc122f35" @@ -1290,27 +1285,6 @@ json5 "^2.2.2" semver "^6.3.1" -"@babel/core@^7.18.5": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.10.tgz#5c876f83c8c4dcb233ee4b670c0606f2ac3000f9" - integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.10" - "@babel/helper-compilation-targets" "^7.26.5" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.10" - "@babel/parser" "^7.26.10" - "@babel/template" "^7.26.9" - "@babel/traverse" "^7.26.10" - "@babel/types" "^7.26.10" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - "@babel/core@^7.21.0": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" @@ -1434,17 +1408,6 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" -"@babel/generator@^7.26.10": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.10.tgz#a60d9de49caca16744e6340c3658dfef6138c3f7" - integrity sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang== - dependencies: - "@babel/parser" "^7.26.10" - "@babel/types" "^7.26.10" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - "@babel/generator@^7.28.3": version "7.28.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e" @@ -1529,17 +1492,6 @@ lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-compilation-targets@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz#75d92bb8d8d51301c0d49e52a65c9a7fe94514d8" - integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== - dependencies: - "@babel/compat-data" "^7.26.5" - "@babel/helper-validator-option" "^7.25.9" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.10": version "7.22.10" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz#dd2612d59eac45588021ac3d6fa976d08f4e95a3" @@ -2106,14 +2058,6 @@ "@babel/template" "^7.25.9" "@babel/types" "^7.26.0" -"@babel/helpers@^7.26.10": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.10.tgz#6baea3cd62ec2d0c1068778d63cb1314f6637384" - integrity sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g== - dependencies: - "@babel/template" "^7.26.9" - "@babel/types" "^7.26.10" - "@babel/highlight@^7.10.4", "@babel/highlight@^7.22.10": version "7.22.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.10.tgz#02a3f6d8c1cb4521b2fd0ab0da8f4739936137d7" @@ -2164,13 +2108,6 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== -"@babel/parser@^7.26.10", "@babel/parser@^7.26.9": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.10.tgz#e9bdb82f14b97df6569b0b038edd436839c57749" - integrity sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA== - dependencies: - "@babel/types" "^7.26.10" - "@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.4": version "7.28.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.4.tgz#da25d4643532890932cc03f7705fe19637e03fa8" @@ -3430,15 +3367,6 @@ "@babel/parser" "^7.25.9" "@babel/types" "^7.25.9" -"@babel/template@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.9.tgz#4577ad3ddf43d194528cff4e1fa6b232fa609bb2" - integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/parser" "^7.26.9" - "@babel/types" "^7.26.9" - "@babel/template@^7.27.2": version "7.27.2" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" @@ -3522,19 +3450,6 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/traverse@^7.26.10": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.10.tgz#43cca33d76005dbaa93024fae536cc1946a4c380" - integrity sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.10" - "@babel/parser" "^7.26.10" - "@babel/template" "^7.26.9" - "@babel/types" "^7.26.10" - debug "^4.3.1" - globals "^11.1.0" - "@babel/traverse@^7.27.1", "@babel/traverse@^7.28.3": version "7.28.4" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.4.tgz#8d456101b96ab175d487249f60680221692b958b" @@ -3601,14 +3516,6 @@ "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" -"@babel/types@^7.26.10", "@babel/types@^7.26.9": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.10.tgz#396382f6335bd4feb65741eacfc808218f859259" - integrity sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.4": version "7.28.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.4.tgz#0a4e618f4c60a7cd6c11cb2d48060e4dbe38ac3a" @@ -5110,11 +5017,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/sourcemap-codec@^1.4.15": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - "@jridgewell/sourcemap-codec@^1.5.0": version "1.5.5" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" @@ -6328,235 +6230,6 @@ resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@sentry-internal/browser-utils@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.54.0.tgz#2d68c7fa843db867ed98059faf1a750be3eca95a" - integrity sha512-DKWCqb4YQosKn6aD45fhKyzhkdG7N6goGFDeyTaJFREJDFVDXiNDsYZu30nJ6BxMM7uQIaARhPAC5BXfoED3pQ== - dependencies: - "@sentry/core" "8.54.0" - -"@sentry-internal/feedback@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.54.0.tgz#52c3a63aa5b520eca7acfa1376621e8441984126" - integrity sha512-nQqRacOXoElpE0L0ADxUUII0I3A94niqG9Z4Fmsw6057QvyrV/LvTiMQBop6r5qLjwMqK+T33iR4/NQI5RhsXQ== - dependencies: - "@sentry/core" "8.54.0" - -"@sentry-internal/replay-canvas@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.54.0.tgz#e57a3893db2bb0ea7ad9dc2a804bb035142fe3ba" - integrity sha512-K/On3OAUBeq/TV2n+1EvObKC+WMV9npVXpVyJqCCyn8HYMm8FUGzuxeajzm0mlW4wDTPCQor6mK9/IgOquUzCw== - dependencies: - "@sentry-internal/replay" "8.54.0" - "@sentry/core" "8.54.0" - -"@sentry-internal/replay@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.54.0.tgz#b92990a51ffbe8d92998ff8188db9e3a6f9d1e18" - integrity sha512-8xuBe06IaYIGJec53wUC12tY2q4z2Z0RPS2s1sLtbA00EvK1YDGuXp96IDD+HB9mnDMrQ/jW5f97g9TvPsPQUg== - dependencies: - "@sentry-internal/browser-utils" "8.54.0" - "@sentry/core" "8.54.0" - -"@sentry/babel-plugin-component-annotate@3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-3.2.2.tgz#0c5f26e417b8f524924fa4531b82ad5603216e90" - integrity sha512-D+SKQ266ra/wo87s9+UI/rKQi3qhGPCR8eSCDe0VJudhjHsqyNU+JJ5lnIGCgmZaWFTXgdBP/gdr1Iz1zqGs4Q== - -"@sentry/babel-plugin-component-annotate@3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-3.5.0.tgz#1b0d01f903b725da876117d551610085c3dd21c7" - integrity sha512-s2go8w03CDHbF9luFGtBHKJp4cSpsQzNVqgIa9Pfa4wnjipvrK6CxVT4icpLA3YO6kg5u622Yoa5GF3cJdippw== - -"@sentry/browser@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.54.0.tgz#5487075908aac564892e689e1b6d233fdb314f5b" - integrity sha512-BgUtvxFHin0fS0CmJVKTLXXZcke0Av729IVfi+2fJ4COX8HO7/HAP02RKaSQGmL2HmvWYTfNZ7529AnUtrM4Rg== - dependencies: - "@sentry-internal/browser-utils" "8.54.0" - "@sentry-internal/feedback" "8.54.0" - "@sentry-internal/replay" "8.54.0" - "@sentry-internal/replay-canvas" "8.54.0" - "@sentry/core" "8.54.0" - -"@sentry/bundler-plugin-core@3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@sentry/bundler-plugin-core/-/bundler-plugin-core-3.2.2.tgz#c9193b0c97acf0097fdb820d86eaaad9c9b6b2c4" - integrity sha512-YGrtmqQ2jMixccX2slVG/Lw7pCGJL3DGB3clmY9mO8QBEBIN3/gEANiHJVWwRidpUOS/0b7yVVGAdwZ87oPwTg== - dependencies: - "@babel/core" "^7.18.5" - "@sentry/babel-plugin-component-annotate" "3.2.2" - "@sentry/cli" "2.42.2" - dotenv "^16.3.1" - find-up "^5.0.0" - glob "^9.3.2" - magic-string "0.30.8" - unplugin "1.0.1" - -"@sentry/cli-darwin@2.42.2": - version "2.42.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.42.2.tgz#a32a4f226e717122b37d9969e8d4d0e14779f720" - integrity sha512-GtJSuxER7Vrp1IpxdUyRZzcckzMnb4N5KTW7sbTwUiwqARRo+wxS+gczYrS8tdgtmXs5XYhzhs+t4d52ITHMIg== - -"@sentry/cli-darwin@2.46.0": - version "2.46.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.46.0.tgz#e07ff66f03e8cb6e1988b7673ae5dbd6ff957b1d" - integrity sha512-5Ll+e5KAdIk9OYiZO8aifMBRNWmNyPjSqdjaHlBC1Qfh7pE3b1zyzoHlsUazG0bv0sNrSGea8e7kF5wIO1hvyg== - -"@sentry/cli-linux-arm64@2.42.2": - version "2.42.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.42.2.tgz#1c06c83ff21f51ec23acf5be3b1f8c7553bf86b1" - integrity sha512-BOxzI7sgEU5Dhq3o4SblFXdE9zScpz6EXc5Zwr1UDZvzgXZGosUtKVc7d1LmkrHP8Q2o18HcDWtF3WvJRb5Zpw== - -"@sentry/cli-linux-arm64@2.46.0": - version "2.46.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.46.0.tgz#d5b27e5813e7b3add65c9e3dbdd75a8bea4ef324" - integrity sha512-OEJN8yAjI9y5B4telyqzu27Hi3+S4T8VxZCqJz1+z2Mp0Q/MZ622AahVPpcrVq/5bxrnlZR16+lKh8L1QwNFPg== - -"@sentry/cli-linux-arm@2.42.2": - version "2.42.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.42.2.tgz#00cadc359ae3c051efb3e63873c033c61dbd1ca1" - integrity sha512-7udCw+YL9lwq+9eL3WLspvnuG+k5Icg92YE7zsteTzWLwgPVzaxeZD2f8hwhsu+wmL+jNqbpCRmktPteh3i2mg== - -"@sentry/cli-linux-arm@2.46.0": - version "2.46.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.46.0.tgz#d2a0f21cd208ef8e844bc5e565b337640d125441" - integrity sha512-WRrLNq/TEX/TNJkGqq6Ad0tGyapd5dwlxtsPbVBrIdryuL1mA7VCBoaHBr3kcwJLsgBHFH0lmkMee2ubNZZdkg== - -"@sentry/cli-linux-i686@2.42.2": - version "2.42.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.42.2.tgz#3b817b715dd806c20dfbffd539725ad8089c310a" - integrity sha512-Sw/dQp5ZPvKnq3/y7wIJyxTUJYPGoTX/YeMbDs8BzDlu9to2LWV3K3r7hE7W1Lpbaw4tSquUHiQjP5QHCOS7aQ== - -"@sentry/cli-linux-i686@2.46.0": - version "2.46.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.46.0.tgz#73368ebe30236c8647caec420f717a7f45410f29" - integrity sha512-xko3/BVa4LX8EmRxVOCipV+PwfcK5Xs8lP6lgF+7NeuAHMNL4DqF6iV9rrN8gkGUHCUI9RXSve37uuZnFy55+Q== - -"@sentry/cli-linux-x64@2.42.2": - version "2.42.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.42.2.tgz#ddf906bc3071cc79ce6e633eddcb76bb9068e688" - integrity sha512-mU4zUspAal6TIwlNLBV5oq6yYqiENnCWSxtSQVzWs0Jyq97wtqGNG9U+QrnwjJZ+ta/hvye9fvL2X25D/RxHQw== - -"@sentry/cli-linux-x64@2.46.0": - version "2.46.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.46.0.tgz#49da3dfd873e0e72abef968e1c213b9397e5d70e" - integrity sha512-hJ1g5UEboYcOuRia96LxjJ0jhnmk8EWLDvlGnXLnYHkwy3ree/L7sNgdp/QsY8Z4j2PGO5f22Va+UDhSjhzlfQ== - -"@sentry/cli-win32-arm64@2.46.0": - version "2.46.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.46.0.tgz#4e26b254d5283eb114ac916ac504283a30b2ecdb" - integrity sha512-mN7cpPoCv2VExFRGHt+IoK11yx4pM4ADZQGEso5BAUZ5duViXB2WrAXCLd8DrwMnP0OE978a7N8OtzsFqjkbNA== - -"@sentry/cli-win32-i686@2.42.2": - version "2.42.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.42.2.tgz#9036085c7c6ce455ad45fda411c55ff39c06eb95" - integrity sha512-iHvFHPGqgJMNqXJoQpqttfsv2GI3cGodeTq4aoVLU/BT3+hXzbV0x1VpvvEhncJkDgDicJpFLM8sEPHb3b8abw== - -"@sentry/cli-win32-i686@2.46.0": - version "2.46.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.46.0.tgz#72f7c0a611f17b7e5b34e2b47309d165195a8276" - integrity sha512-6F73AUE3lm71BISUO19OmlnkFD5WVe4/wA1YivtLZTc1RU3eUYJLYxhDfaH3P77+ycDppQ2yCgemLRaA4A8mNQ== - -"@sentry/cli-win32-x64@2.42.2": - version "2.42.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.42.2.tgz#7d6464b63f32c9f97fff428f246b1f039b402233" - integrity sha512-vPPGHjYoaGmfrU7xhfFxG7qlTBacroz5NdT+0FmDn6692D8IvpNXl1K+eV3Kag44ipJBBeR8g1HRJyx/F/9ACw== - -"@sentry/cli-win32-x64@2.46.0": - version "2.46.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.46.0.tgz#8cfd438ec365b0ee925d9724a24b533b4cb75587" - integrity sha512-yuGVcfepnNL84LGA0GjHzdMIcOzMe0bjPhq/rwPsPN+zu11N+nPR2wV2Bum4U0eQdqYH3iAlMdL5/BEQfuLJww== - -"@sentry/cli@2.42.2": - version "2.42.2" - resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.42.2.tgz#8173df4d057d600a9ef0cf1e9b42b0c6607b46e4" - integrity sha512-spb7S/RUumCGyiSTg8DlrCX4bivCNmU/A1hcfkwuciTFGu8l5CDc2I6jJWWZw8/0enDGxuj5XujgXvU5tr4bxg== - dependencies: - https-proxy-agent "^5.0.0" - node-fetch "^2.6.7" - progress "^2.0.3" - proxy-from-env "^1.1.0" - which "^2.0.2" - optionalDependencies: - "@sentry/cli-darwin" "2.42.2" - "@sentry/cli-linux-arm" "2.42.2" - "@sentry/cli-linux-arm64" "2.42.2" - "@sentry/cli-linux-i686" "2.42.2" - "@sentry/cli-linux-x64" "2.42.2" - "@sentry/cli-win32-i686" "2.42.2" - "@sentry/cli-win32-x64" "2.42.2" - -"@sentry/cli@2.46.0": - version "2.46.0" - resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.46.0.tgz#790864874ea04f804053aa85dc94501b2cc321bb" - integrity sha512-nqoPl7UCr446QFkylrsRrUXF51x8Z9dGquyf4jaQU+OzbOJMqclnYEvU6iwbwvaw3tu/2DnoZE/Og+Nq1h63sA== - dependencies: - https-proxy-agent "^5.0.0" - node-fetch "^2.6.7" - progress "^2.0.3" - proxy-from-env "^1.1.0" - which "^2.0.2" - optionalDependencies: - "@sentry/cli-darwin" "2.46.0" - "@sentry/cli-linux-arm" "2.46.0" - "@sentry/cli-linux-arm64" "2.46.0" - "@sentry/cli-linux-i686" "2.46.0" - "@sentry/cli-linux-x64" "2.46.0" - "@sentry/cli-win32-arm64" "2.46.0" - "@sentry/cli-win32-i686" "2.46.0" - "@sentry/cli-win32-x64" "2.46.0" - -"@sentry/core@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.54.0.tgz#a2ebec965cadcb6de89e116689feeef79d5862a6" - integrity sha512-03bWf+D1j28unOocY/5FDB6bUHtYlm6m6ollVejhg45ZmK9iPjdtxNWbrLsjT1WRym0Tjzowu+A3p+eebYEv0Q== - -"@sentry/react-native@~6.16.1": - version "6.16.1" - resolved "https://registry.yarnpkg.com/@sentry/react-native/-/react-native-6.16.1.tgz#c3a6b8974030ff3f3e72ec12617f15aa94ca85c3" - integrity sha512-T172mEcdd2BmMsHjbRIlRgePz46OoUC2MNrciOSBfsxcy1YdWmMKcmVRiwSEi5CQm9077+4B0aHNsmYqOgufng== - dependencies: - "@sentry/babel-plugin-component-annotate" "3.5.0" - "@sentry/browser" "8.54.0" - "@sentry/cli" "2.46.0" - "@sentry/core" "8.54.0" - "@sentry/react" "8.54.0" - "@sentry/types" "8.54.0" - "@sentry/utils" "8.54.0" - -"@sentry/react@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.54.0.tgz#16cec103b5d5697bdfebacf6e2d35f19699b3ab3" - integrity sha512-42T/fp8snYN19Fy/2P0Mwotu4gcdy+1Lx+uYCNcYP1o7wNGigJ7qb27sW7W34GyCCHjoCCfQgeOqDQsyY8LC9w== - dependencies: - "@sentry/browser" "8.54.0" - "@sentry/core" "8.54.0" - hoist-non-react-statics "^3.3.2" - -"@sentry/types@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.54.0.tgz#1d57bb094443081de4e0d8b638e6ebc40f5ddd36" - integrity sha512-wztdtr7dOXQKi0iRvKc8XJhJ7HaAfOv8lGu0yqFOFwBZucO/SHnu87GOPi8mvrTiy1bentQO5l+zXWAaMvG4uw== - dependencies: - "@sentry/core" "8.54.0" - -"@sentry/utils@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.54.0.tgz#5e28e03a249451b4a55200a0787f4e2c59bab2c5" - integrity sha512-JL8UDjrsKxKclTdLXfuHfE7B3KbrAPEYP7tMyN/xiO2vsF6D84fjwYyalO0ZMtuFZE6vpSze8ZOLEh6hLnPYsw== - dependencies: - "@sentry/core" "8.54.0" - -"@sentry/webpack-plugin@^3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-3.2.2.tgz#716ab462279c25cea17490d02cb1d22b00f3f661" - integrity sha512-6OkVKNOjKk8P9j7oh6svZ+kEP1i9YIHBC2aGWL2XsgeZTIrMBxJAXtOf+qSrfMAxEtibSroGVOMQc/y3WJTQtg== - dependencies: - "@sentry/bundler-plugin-core" "3.2.2" - unplugin "1.0.1" - uuid "^9.0.0" - "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" @@ -10238,11 +9911,6 @@ dotenv@^16.0.3: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== -dotenv@^16.3.1: - version "16.4.7" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26" - integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ== - dotenv@^16.4.4, dotenv@^16.4.5, dotenv@~16.4.5: version "16.4.5" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" @@ -12059,7 +11727,7 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^9.3.2, glob@^9.3.3: +glob@^9.3.3: version "9.3.5" resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== @@ -12321,7 +11989,7 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.3.0: 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== @@ -12484,7 +12152,7 @@ http-terminator@^3.2.0: roarr "^7.0.4" type-fest "^2.3.3" -https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: +https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== @@ -14357,13 +14025,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -magic-string@0.30.8: - version "0.30.8" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.8.tgz#14e8624246d2bedba70d5462aa99ac9681844613" - integrity sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -14992,7 +14653,7 @@ node-abi@^3.3.0: dependencies: semver "^7.3.5" -node-fetch@^2.6.12, node-fetch@^2.6.7: +node-fetch@^2.6.12: version "2.6.13" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.13.tgz#a20acbbec73c2e09f9007de5cda17104122e0010" integrity sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA== @@ -19248,16 +18909,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -unplugin@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.0.1.tgz#83b528b981cdcea1cad422a12cd02e695195ef3f" - integrity sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA== - dependencies: - acorn "^8.8.1" - chokidar "^3.5.3" - webpack-sources "^3.2.3" - webpack-virtual-modules "^0.5.0" - unraw@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unraw/-/unraw-3.0.0.tgz#73443ed70d2ab09ccbac2b00525602d5991fbbe3" @@ -19408,11 +19059,6 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" @@ -19600,11 +19246,6 @@ webpack-sources@^3.2.0, webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack-virtual-modules@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz#362f14738a56dae107937ab98ea7062e8bdd3b6c" - integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw== - webpack@^5.64.4: version "5.88.2" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.2.tgz#f62b4b842f1c6ff580f3fcb2ed4f0b579f4c210e" @@ -19827,7 +19468,7 @@ which@^1.2.9: dependencies: isexe "^2.0.0" -which@^2.0.1, which@^2.0.2: +which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==