chore(core): split sentry and setup into web/electron (#6357)

This commit is contained in:
Brooooooklyn
2024-03-28 10:24:25 +00:00
parent 88d04e23e9
commit c2847e2082
17 changed files with 463 additions and 198 deletions

View File

@@ -280,8 +280,10 @@ jobs:
- name: Build Web - name: Build Web
# always skip cache because its fast, and cache configuration is always changing # always skip cache because its fast, and cache configuration is always changing
run: yarn nx build @affine/web --skip-nx-cache run: yarn nx build @affine/web --skip-nx-cache
env:
DISTRIBUTION: 'desktop'
- name: zip web - name: zip web
run: tar -czf dist.tar.gz --directory=packages/frontend/web/dist . run: tar -czf dist.tar.gz --directory=packages/frontend/electron/dist .
- name: Upload web artifact - name: Upload web artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:

View File

@@ -90,6 +90,10 @@ jobs:
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
SKIP_GENERATE_ASSETS: 1 SKIP_GENERATE_ASSETS: 1
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Setup Version - name: Setup Version
@@ -169,6 +173,10 @@ jobs:
FILES_TO_BE_SIGNED: ${{ steps.get_files_to_be_signed.outputs.FILES_TO_BE_SIGNED }} FILES_TO_BE_SIGNED: ${{ steps.get_files_to_be_signed.outputs.FILES_TO_BE_SIGNED }}
env: env:
SKIP_GENERATE_ASSETS: 1 SKIP_GENERATE_ASSETS: 1
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Setup Version - name: Setup Version

View File

@@ -6,7 +6,6 @@
"exports": { "exports": {
"./app": "./src/app.tsx", "./app": "./src/app.tsx",
"./router": "./src/router.tsx", "./router": "./src/router.tsx",
"./bootstrap/setup": "./src/bootstrap/setup.ts",
"./bootstrap/register-plugins": "./src/bootstrap/register-plugins.ts", "./bootstrap/register-plugins": "./src/bootstrap/register-plugins.ts",
"./*": "./src/*" "./*": "./src/*"
}, },
@@ -42,8 +41,8 @@
"@radix-ui/react-select": "^2.0.0", "@radix-ui/react-select": "^2.0.0",
"@radix-ui/react-toolbar": "^1.0.4", "@radix-ui/react-toolbar": "^1.0.4",
"@react-hookz/web": "^24.0.4", "@react-hookz/web": "^24.0.4",
"@sentry/integrations": "^7.102.1", "@sentry/integrations": "^7.108.0",
"@sentry/react": "^7.102.1", "@sentry/react": "^7.108.0",
"@toeverything/theme": "^0.7.29", "@toeverything/theme": "^0.7.29",
"@vanilla-extract/dynamic": "^2.1.0", "@vanilla-extract/dynamic": "^2.1.0",
"animejs": "^3.2.2", "animejs": "^3.2.2",

View File

@@ -0,0 +1,7 @@
import '@affine/env/constant';
import './register-blocksuite-components';
import './edgeless-template';
import { setupGlobal } from '@affine/env/global';
setupGlobal();

View File

@@ -1,78 +0,0 @@
import './register-blocksuite-components';
import './edgeless-template';
import { apis, events } from '@affine/electron-api';
import { setupGlobal } from '@affine/env/global';
import * as Sentry from '@sentry/react';
import { debounce } from 'lodash-es';
import { useEffect } from 'react';
import {
createRoutesFromChildren,
matchRoutes,
useLocation,
useNavigationType,
} from 'react-router-dom';
import { appConfigProxy } from '../hooks/use-app-config-storage';
import { performanceLogger } from '../shared';
const performanceSetupLogger = performanceLogger.namespace('setup');
export function setup() {
performanceSetupLogger.info('start');
performanceSetupLogger.info('setup global');
setupGlobal();
if (window.SENTRY_RELEASE || environment.isDebug) {
// https://docs.sentry.io/platforms/javascript/guides/react/#configure
Sentry.init({
dsn: process.env.SENTRY_DSN,
environment: process.env.BUILD_TYPE ?? 'development',
integrations: [
new Sentry.BrowserTracing({
routingInstrumentation: Sentry.reactRouterV6Instrumentation(
useEffect,
useLocation,
useNavigationType,
createRoutesFromChildren,
matchRoutes
),
}),
new Sentry.Replay(),
],
// Set tracesSampleRate to 1.0 to capture 100%
// of transactions for performance monitoring.
tracesSampleRate: 1.0,
});
Sentry.setTags({
appVersion: runtimeConfig.appVersion,
editorVersion: runtimeConfig.editorVersion,
});
}
// load persistent config for electron
// TODO: should be sync, but it's not necessary for now
if (environment.isDesktop) {
appConfigProxy
.getSync()
.catch(() => console.error('failed to load app config'));
const handleMaximized = (maximized: boolean | undefined) => {
document.documentElement.dataset.maximized = String(maximized);
};
const handleFullscreen = (fullscreen: boolean | undefined) => {
document.documentElement.dataset.fullscreen = String(fullscreen);
};
apis?.ui.isMaximized().then(handleMaximized).catch(console.error);
apis?.ui.isFullScreen().then(handleFullscreen).catch(console.error);
events?.ui.onMaximized(handleMaximized);
events?.ui.onFullScreen(handleFullscreen);
const handleResize = debounce(() => {
apis?.ui.handleWindowResize().catch(console.error);
}, 50);
window.addEventListener('resize', handleResize);
}
performanceSetupLogger.info('done');
}

View File

@@ -43,6 +43,9 @@
"@electron-forge/shared-types": "^7.3.0", "@electron-forge/shared-types": "^7.3.0",
"@emotion/react": "^11.11.4", "@emotion/react": "^11.11.4",
"@pengx17/electron-forge-maker-appimage": "^1.1.1", "@pengx17/electron-forge-maker-appimage": "^1.1.1",
"@sentry/electron": "^4.21.0",
"@sentry/esbuild-plugin": "^2.16.0",
"@sentry/react": "^7.108.0",
"@toeverything/infra": "workspace:*", "@toeverything/infra": "workspace:*",
"@types/uuid": "^9.0.8", "@types/uuid": "^9.0.8",
"@vitejs/plugin-react-swc": "^3.6.0", "@vitejs/plugin-react-swc": "^3.6.0",

View File

@@ -1,14 +1,29 @@
import './polyfill/dispose'; import './polyfill/dispose';
// Side effect import, "declare global" import '@affine/core/bootstrap/preload';
import '@affine/env/constant';
import { setup } from '@affine/core/bootstrap/setup'; import { appConfigProxy } from '@affine/core/hooks/use-app-config-storage';
import { performanceLogger } from '@affine/core/shared'; import { performanceLogger } from '@affine/core/shared';
import { StrictMode } from 'react'; import { apis, events } from '@affine/electron-api';
import { ResizeObserver } from '@juggle/resize-observer';
import { init, replayIntegration, setTags } from '@sentry/electron/renderer';
import {
init as reactInit,
reactRouterV6BrowserTracingIntegration,
} from '@sentry/react';
import { debounce } from 'lodash-es';
import { StrictMode, useEffect } from 'react';
import { createRoot } from 'react-dom/client'; import { createRoot } from 'react-dom/client';
import {
createRoutesFromChildren,
matchRoutes,
useLocation,
useNavigationType,
} from 'react-router-dom';
import { App } from './app'; import { App } from './app';
window.ResizeObserver = ResizeObserver;
const performanceMainLogger = performanceLogger.namespace('main'); const performanceMainLogger = performanceLogger.namespace('main');
function main() { function main() {
performanceMainLogger.info('start'); performanceMainLogger.info('start');
@@ -18,7 +33,56 @@ function main() {
performanceMainLogger.info('skip setup'); performanceMainLogger.info('skip setup');
} else { } else {
performanceMainLogger.info('setup start'); performanceMainLogger.info('setup start');
setup(); if (window.SENTRY_RELEASE || environment.isDebug) {
// https://docs.sentry.io/platforms/javascript/guides/electron/
init(
{
dsn: process.env.SENTRY_DSN,
environment: process.env.BUILD_TYPE ?? 'development',
integrations: [
reactRouterV6BrowserTracingIntegration({
useEffect,
useLocation,
useNavigationType,
createRoutesFromChildren,
matchRoutes,
}),
replayIntegration(),
],
},
reactInit
);
setTags({
appVersion: runtimeConfig.appVersion,
editorVersion: runtimeConfig.editorVersion,
});
window.addEventListener('offline', () => {
apis?.ui.handleNetworkChange(false);
});
window.addEventListener('online', () => {
apis?.ui.handleNetworkChange(true);
});
}
// load persistent config for electron
// TODO: should be sync, but it's not necessary for now
appConfigProxy
.getSync()
.catch(() => console.error('failed to load app config'));
const handleMaximized = (maximized: boolean | undefined) => {
document.documentElement.dataset.maximized = String(maximized);
};
const handleFullscreen = (fullscreen: boolean | undefined) => {
document.documentElement.dataset.fullscreen = String(fullscreen);
};
apis?.ui.isMaximized().then(handleMaximized).catch(console.error);
apis?.ui.isFullScreen().then(handleFullscreen).catch(console.error);
events?.ui.onMaximized(handleMaximized);
events?.ui.onFullScreen(handleFullscreen);
const handleResize = debounce(() => {
apis?.ui.handleWindowResize().catch(console.error);
}, 50);
window.addEventListener('resize', handleResize);
performanceMainLogger.info('setup done'); performanceMainLogger.info('setup done');
} }

View File

@@ -3,6 +3,7 @@ import { fileURLToPath } from 'node:url';
// eslint-disable-next-line @typescript-eslint/no-restricted-imports // eslint-disable-next-line @typescript-eslint/no-restricted-imports
import { getRuntimeConfig } from '@affine/cli/src/webpack/runtime-config'; import { getRuntimeConfig } from '@affine/cli/src/webpack/runtime-config';
import { sentryEsbuildPlugin } from '@sentry/esbuild-plugin';
import type { BuildOptions } from 'esbuild'; import type { BuildOptions } from 'esbuild';
export const electronDir = fileURLToPath(new URL('..', import.meta.url)); export const electronDir = fileURLToPath(new URL('..', import.meta.url));
@@ -28,6 +29,26 @@ export const config = (): BuildOptions => {
}) })
); );
if (process.env.GITHUB_SHA) {
define['process.env.GITHUB_SHA'] = `"${process.env.GITHUB_SHA}"`;
}
const plugins = [];
if (
process.env.SENTRY_AUTH_TOKEN &&
process.env.SENTRY_ORG &&
process.env.SENTRY_PROJECT
) {
plugins.push(
sentryEsbuildPlugin({
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT,
authToken: process.env.SENTRY_AUTH_TOKEN,
})
);
}
return { return {
entryPoints: [ entryPoints: [
resolve(electronDir, './src/main/index.ts'), resolve(electronDir, './src/main/index.ts'),
@@ -48,5 +69,6 @@ export const config = (): BuildOptions => {
assetNames: '[name]', assetNames: '[name]',
treeShaking: true, treeShaking: true,
sourcemap: 'linked', sourcemap: 'linked',
plugins,
}; };
}; };

View File

@@ -2,6 +2,7 @@ import './security-restrictions';
import path from 'node:path'; import path from 'node:path';
import { init, IPCMode } from '@sentry/electron/main';
import { app } from 'electron'; import { app } from 'electron';
import { createApplicationMenu } from './application-menu/create'; import { createApplicationMenu } from './application-menu/create';
@@ -12,6 +13,7 @@ import { registerEvents } from './events';
import { registerHandlers } from './handlers'; import { registerHandlers } from './handlers';
import { logger } from './logger'; import { logger } from './logger';
import { registerProtocol } from './protocol'; import { registerProtocol } from './protocol';
import { isOnline } from './ui/handlers';
import { registerUpdater } from './updater'; import { registerUpdater } from './updater';
import { launch } from './windows-manager/launcher'; import { launch } from './windows-manager/launcher';
import { launchStage } from './windows-manager/stage'; import { launchStage } from './windows-manager/stage';
@@ -64,6 +66,19 @@ app.on('activate', () => {
setupDeepLink(app); setupDeepLink(app);
// https://docs.sentry.io/platforms/javascript/guides/electron/
if (process.env.SENTRY_DSN) {
init({
dsn: process.env.SENTRY_DSN,
ipcMode: IPCMode.Protocol,
transportOptions: {
maxQueueAgeDays: 30,
maxQueueCount: 100,
beforeSend: () => (isOnline ? 'send' : 'queue'),
},
});
}
/** /**
* Create app window when background process will be ready * Create app window when background process will be ready
*/ */

View File

@@ -15,6 +15,8 @@ import { launchStage } from '../windows-manager/stage';
import { getChallengeResponse } from './challenge'; import { getChallengeResponse } from './challenge';
import { getGoogleOauthCode } from './google-auth'; import { getGoogleOauthCode } from './google-auth';
export let isOnline = true;
export const uiHandlers = { export const uiHandlers = {
isMaximized: async () => { isMaximized: async () => {
const window = await getMainWindow(); const window = await getMainWindow();
@@ -58,6 +60,9 @@ export const uiHandlers = {
handleCloseApp: async () => { handleCloseApp: async () => {
app.quit(); app.quit();
}, },
handleNetworkChange: async (_, _isOnline: boolean) => {
isOnline = _isOnline;
},
getGoogleOauthCode: async () => { getGoogleOauthCode: async () => {
return getGoogleOauthCode(); return getGoogleOauthCode();
}, },

View File

@@ -1 +1,2 @@
import '@sentry/electron/preload';
import './bootstrap'; import './bootstrap';

View File

@@ -14,6 +14,7 @@
"@affine/core": "workspace:*", "@affine/core": "workspace:*",
"@affine/env": "workspace:*", "@affine/env": "workspace:*",
"@juggle/resize-observer": "^3.4.0", "@juggle/resize-observer": "^3.4.0",
"@sentry/react": "^7.108.0",
"core-js": "^3.36.1", "core-js": "^3.36.1",
"intl-segmenter-polyfill-rs": "^0.1.7", "intl-segmenter-polyfill-rs": "^0.1.7",
"jotai": "^2.7.1", "jotai": "^2.7.1",

View File

@@ -2,12 +2,24 @@ import './polyfill/dispose';
import './polyfill/intl-segmenter'; import './polyfill/intl-segmenter';
import './polyfill/request-idle-callback'; import './polyfill/request-idle-callback';
import './polyfill/resize-observer'; import './polyfill/resize-observer';
import '@affine/core/bootstrap/preload';
import { setup } from '@affine/core/bootstrap/setup';
import { performanceLogger } from '@affine/core/shared'; import { performanceLogger } from '@affine/core/shared';
import { isDesktop } from '@affine/env/constant'; import { isDesktop } from '@affine/env/constant';
import { StrictMode } from 'react'; import {
init,
reactRouterV6BrowserTracingIntegration,
replayIntegration,
setTags,
} from '@sentry/react';
import { StrictMode, useEffect } from 'react';
import { createRoot } from 'react-dom/client'; import { createRoot } from 'react-dom/client';
import {
createRoutesFromChildren,
matchRoutes,
useLocation,
useNavigationType,
} from 'react-router-dom';
import { App } from './app'; import { App } from './app';
@@ -20,7 +32,27 @@ function main() {
performanceMainLogger.info('skip setup'); performanceMainLogger.info('skip setup');
} else { } else {
performanceMainLogger.info('setup start'); performanceMainLogger.info('setup start');
setup(); if (window.SENTRY_RELEASE || environment.isDebug) {
// https://docs.sentry.io/platforms/javascript/guides/react/#configure
init({
dsn: process.env.SENTRY_DSN,
environment: process.env.BUILD_TYPE ?? 'development',
integrations: [
reactRouterV6BrowserTracingIntegration({
useEffect,
useLocation,
useNavigationType,
createRoutesFromChildren,
matchRoutes,
}),
replayIntegration(),
],
});
setTags({
appVersion: runtimeConfig.appVersion,
editorVersion: runtimeConfig.editorVersion,
});
}
performanceMainLogger.info('setup done'); performanceMainLogger.info('setup done');
} }

View File

@@ -27,8 +27,10 @@ const config: PlaywrightTestConfig = {
port: 8080, port: 8080,
timeout: 120 * 1000, timeout: 120 * 1000,
reuseExistingServer: !process.env.CI, reuseExistingServer: !process.env.CI,
stdout: 'pipe',
env: { env: {
COVERAGE: process.env.COVERAGE || 'false', COVERAGE: process.env.COVERAGE || 'false',
DISTRIBUTION: 'desktop',
}, },
}, },
{ {

View File

@@ -1,6 +1,7 @@
import './polyfill'; import './polyfill';
import '@affine/component/theme/global.css'; import '@affine/component/theme/global.css';
import '@affine/component/theme/theme.css'; import '@affine/component/theme/theme.css';
import '@affine/core/bootstrap/preload';
import { createI18n } from '@affine/i18n'; import { createI18n } from '@affine/i18n';
import { ThemeProvider, useTheme } from 'next-themes'; import { ThemeProvider, useTheme } from 'next-themes';
import { useDarkMode } from 'storybook-dark-mode'; import { useDarkMode } from 'storybook-dark-mode';
@@ -12,7 +13,6 @@ import { setupGlobal, type Environment } from '@affine/env/global';
import type { Preview } from '@storybook/react'; import type { Preview } from '@storybook/react';
import { useLayoutEffect, useRef } from 'react'; import { useLayoutEffect, useRef } from 'react';
import { setup } from '@affine/core/bootstrap/setup';
import { WorkspaceFlavour } from '@affine/env/workspace'; import { WorkspaceFlavour } from '@affine/env/workspace';
import { ServiceCollection } from '@toeverything/infra'; import { ServiceCollection } from '@toeverything/infra';
import { import {
@@ -81,7 +81,6 @@ const provider = services.provider();
const store = createStore(); const store = createStore();
_setCurrentStore(store); _setCurrentStore(store);
setup();
provider provider
.get(WorkspaceManager) .get(WorkspaceManager)

View File

@@ -12,7 +12,8 @@ import { watchI18N } from '../util/i18n.js';
import { createWebpackConfig } from '../webpack/webpack.config.js'; import { createWebpackConfig } from '../webpack/webpack.config.js';
const flags: BuildFlags = { const flags: BuildFlags = {
distribution: 'browser', distribution:
(process.env.DISTRIBUTION as BuildFlags['distribution']) ?? 'browser',
mode: 'development', mode: 'development',
channel: 'canary', channel: 'canary',
coverage: process.env.COVERAGE === 'true', coverage: process.env.COVERAGE === 'true',
@@ -132,6 +133,8 @@ if (buildFlags.debugBlockSuite) {
flags.localBlockSuite = localBlockSuite; flags.localBlockSuite = localBlockSuite;
} }
console.info(flags);
watchI18N(); watchI18N();
try { try {

390
yarn.lock
View File

@@ -351,8 +351,8 @@ __metadata:
"@radix-ui/react-select": "npm:^2.0.0" "@radix-ui/react-select": "npm:^2.0.0"
"@radix-ui/react-toolbar": "npm:^1.0.4" "@radix-ui/react-toolbar": "npm:^1.0.4"
"@react-hookz/web": "npm:^24.0.4" "@react-hookz/web": "npm:^24.0.4"
"@sentry/integrations": "npm:^7.102.1" "@sentry/integrations": "npm:^7.108.0"
"@sentry/react": "npm:^7.102.1" "@sentry/react": "npm:^7.108.0"
"@sentry/webpack-plugin": "npm:^2.14.2" "@sentry/webpack-plugin": "npm:^2.14.2"
"@swc/core": "npm:^1.4.8" "@swc/core": "npm:^1.4.8"
"@testing-library/react": "npm:^14.2.1" "@testing-library/react": "npm:^14.2.1"
@@ -465,6 +465,9 @@ __metadata:
"@electron-forge/shared-types": "npm:^7.3.0" "@electron-forge/shared-types": "npm:^7.3.0"
"@emotion/react": "npm:^11.11.4" "@emotion/react": "npm:^11.11.4"
"@pengx17/electron-forge-maker-appimage": "npm:^1.1.1" "@pengx17/electron-forge-maker-appimage": "npm:^1.1.1"
"@sentry/electron": "npm:^4.21.0"
"@sentry/esbuild-plugin": "npm:^2.16.0"
"@sentry/react": "npm:^7.108.0"
"@toeverything/infra": "workspace:*" "@toeverything/infra": "workspace:*"
"@types/uuid": "npm:^9.0.8" "@types/uuid": "npm:^9.0.8"
"@vitejs/plugin-react-swc": "npm:^3.6.0" "@vitejs/plugin-react-swc": "npm:^3.6.0"
@@ -825,6 +828,7 @@ __metadata:
"@affine/core": "workspace:*" "@affine/core": "workspace:*"
"@affine/env": "workspace:*" "@affine/env": "workspace:*"
"@juggle/resize-observer": "npm:^3.4.0" "@juggle/resize-observer": "npm:^3.4.0"
"@sentry/react": "npm:^7.108.0"
"@types/react": "npm:^18.2.60" "@types/react": "npm:^18.2.60"
"@types/react-dom": "npm:^18.2.19" "@types/react-dom": "npm:^18.2.19"
core-js: "npm:^3.36.1" core-js: "npm:^3.36.1"
@@ -1888,7 +1892,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.1": "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.1, @babel/code-frame@npm:^7.24.2":
version: 7.24.2 version: 7.24.2
resolution: "@babel/code-frame@npm:7.24.2" resolution: "@babel/code-frame@npm:7.24.2"
dependencies: dependencies:
@@ -1928,30 +1932,30 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.0, @babel/core@npm:^7.18.9, @babel/core@npm:^7.20.12, @babel/core@npm:^7.22.5, @babel/core@npm:^7.22.9, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.5, @babel/core@npm:^7.23.9, @babel/core@npm:^7.7.5": "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.0, @babel/core@npm:^7.18.5, @babel/core@npm:^7.18.9, @babel/core@npm:^7.20.12, @babel/core@npm:^7.22.5, @babel/core@npm:^7.22.9, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.5, @babel/core@npm:^7.23.9, @babel/core@npm:^7.7.5":
version: 7.23.9 version: 7.24.3
resolution: "@babel/core@npm:7.23.9" resolution: "@babel/core@npm:7.24.3"
dependencies: dependencies:
"@ampproject/remapping": "npm:^2.2.0" "@ampproject/remapping": "npm:^2.2.0"
"@babel/code-frame": "npm:^7.23.5" "@babel/code-frame": "npm:^7.24.2"
"@babel/generator": "npm:^7.23.6" "@babel/generator": "npm:^7.24.1"
"@babel/helper-compilation-targets": "npm:^7.23.6" "@babel/helper-compilation-targets": "npm:^7.23.6"
"@babel/helper-module-transforms": "npm:^7.23.3" "@babel/helper-module-transforms": "npm:^7.23.3"
"@babel/helpers": "npm:^7.23.9" "@babel/helpers": "npm:^7.24.1"
"@babel/parser": "npm:^7.23.9" "@babel/parser": "npm:^7.24.1"
"@babel/template": "npm:^7.23.9" "@babel/template": "npm:^7.24.0"
"@babel/traverse": "npm:^7.23.9" "@babel/traverse": "npm:^7.24.1"
"@babel/types": "npm:^7.23.9" "@babel/types": "npm:^7.24.0"
convert-source-map: "npm:^2.0.0" convert-source-map: "npm:^2.0.0"
debug: "npm:^4.1.0" debug: "npm:^4.1.0"
gensync: "npm:^1.0.0-beta.2" gensync: "npm:^1.0.0-beta.2"
json5: "npm:^2.2.3" json5: "npm:^2.2.3"
semver: "npm:^6.3.1" semver: "npm:^6.3.1"
checksum: 10/268cdbb86bef1b8ea5b1300f2f325e56a1740a5051360cb228ffeaa0f80282b6674f3a2b4d6466adb0691183759b88d4c37b4a4f77232c84a49ed771c84cdc27 checksum: 10/3a7b9931fe0d93c500dcdb6b36f038b0f9d5090c048818e62aa8321c8f6e8ccc3d47373f0b40591c1fe3b13e5096bacabb1ade83f9f4d86f57878c39a9d1ade1
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.22.5, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.23.6, @babel/generator@npm:^7.24.1, @babel/generator@npm:^7.7.2": "@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.18.2, @babel/generator@npm:^7.22.5, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.24.1, @babel/generator@npm:^7.7.2":
version: 7.24.1 version: 7.24.1
resolution: "@babel/generator@npm:7.24.1" resolution: "@babel/generator@npm:7.24.1"
dependencies: dependencies:
@@ -2201,14 +2205,14 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/helpers@npm:^7.18.2, @babel/helpers@npm:^7.23.9": "@babel/helpers@npm:^7.18.2, @babel/helpers@npm:^7.24.1":
version: 7.23.9 version: 7.24.1
resolution: "@babel/helpers@npm:7.23.9" resolution: "@babel/helpers@npm:7.24.1"
dependencies: dependencies:
"@babel/template": "npm:^7.23.9" "@babel/template": "npm:^7.24.0"
"@babel/traverse": "npm:^7.23.9" "@babel/traverse": "npm:^7.24.1"
"@babel/types": "npm:^7.23.9" "@babel/types": "npm:^7.24.0"
checksum: 10/dd56daac8bbd7ed174bb00fd185926fd449e591d9a00edaceb7ac6edbdd7a8db57e2cb365b4fafda382201752789ced2f7ae010f667eab0f198a4571cda4d2c5 checksum: 10/82d3cdd3beafc4583f237515ef220bc205ced8b0540c6c6e191fc367a9589bd7304b8f9800d3d7574d4db9f079bd555979816b1874c86e53b3e7dd2032ad6c7c
languageName: node languageName: node
linkType: hard linkType: hard
@@ -2224,7 +2228,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.18.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.1": "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.3, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.18.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1":
version: 7.24.1 version: 7.24.1
resolution: "@babel/parser@npm:7.24.1" resolution: "@babel/parser@npm:7.24.1"
bin: bin:
@@ -3406,18 +3410,18 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/template@npm:^7.16.7, @babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.23.9, @babel/template@npm:^7.3.3": "@babel/template@npm:^7.16.7, @babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.24.0, @babel/template@npm:^7.3.3":
version: 7.23.9 version: 7.24.0
resolution: "@babel/template@npm:7.23.9" resolution: "@babel/template@npm:7.24.0"
dependencies: dependencies:
"@babel/code-frame": "npm:^7.23.5" "@babel/code-frame": "npm:^7.23.5"
"@babel/parser": "npm:^7.23.9" "@babel/parser": "npm:^7.24.0"
"@babel/types": "npm:^7.23.9" "@babel/types": "npm:^7.24.0"
checksum: 10/1b011ba9354dc2e646561d54b6862e0df51760e6179faadd79be05825b0b6da04911e4e192df943f1766748da3037fd8493615b38707f7cadb0cf0c96601c170 checksum: 10/8c538338c7de8fac8ada691a5a812bdcbd60bd4a4eb5adae2cc9ee19773e8fb1a724312a00af9e1ce49056ffd3c3475e7287b5668cf6360bfb3f8ac827a06ffe
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.18.5, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.23.9": "@babel/traverse@npm:^7.10.3, @babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.18.5, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.24.1":
version: 7.24.1 version: 7.24.1
resolution: "@babel/traverse@npm:7.24.1" resolution: "@babel/traverse@npm:7.24.1"
dependencies: dependencies:
@@ -3435,7 +3439,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.4, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.4, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.24.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": "@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.3, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.4, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.4, @babel/types@npm:^7.23.6, @babel/types@npm:^7.24.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
version: 7.24.0 version: 7.24.0
resolution: "@babel/types@npm:7.24.0" resolution: "@babel/types@npm:7.24.0"
dependencies: dependencies:
@@ -11215,37 +11219,71 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@sentry-internal/feedback@npm:7.102.1": "@sentry-internal/feedback@npm:7.107.0":
version: 7.102.1 version: 7.107.0
resolution: "@sentry-internal/feedback@npm:7.102.1" resolution: "@sentry-internal/feedback@npm:7.107.0"
dependencies: dependencies:
"@sentry/core": "npm:7.102.1" "@sentry/core": "npm:7.107.0"
"@sentry/types": "npm:7.102.1" "@sentry/types": "npm:7.107.0"
"@sentry/utils": "npm:7.102.1" "@sentry/utils": "npm:7.107.0"
checksum: 10/1d7157f62844d8c06d59941c8fed48fd7987a7b76eaf81666d071ebefe4fc9fc6e43ced902725964191b613062f71f1bd98b99a199449aa2f5b187e90abb7568 checksum: 10/80045c253681cd34a83338c21cc99e4a7b0f882032e6f682bc5395b87ad36758cefd129acafb5ae3747b7d12ec12effaef2728eea85a184fe27177b01a4186fa
languageName: node languageName: node
linkType: hard linkType: hard
"@sentry-internal/replay-canvas@npm:7.102.1": "@sentry-internal/feedback@npm:7.108.0":
version: 7.102.1 version: 7.108.0
resolution: "@sentry-internal/replay-canvas@npm:7.102.1" resolution: "@sentry-internal/feedback@npm:7.108.0"
dependencies: dependencies:
"@sentry/core": "npm:7.102.1" "@sentry/core": "npm:7.108.0"
"@sentry/replay": "npm:7.102.1" "@sentry/types": "npm:7.108.0"
"@sentry/types": "npm:7.102.1" "@sentry/utils": "npm:7.108.0"
"@sentry/utils": "npm:7.102.1" checksum: 10/74cba185f9bde1e4e2405061684b8380157c30c9e4ecf51d94c94dcfeb922f2fa2e3b1c62569f8cd19b78d8f8abefd70bf3d319093a02b74956a9987747e1524
checksum: 10/737a437925267bb0296b8d1d742cfee2154fdf6dd1ad13a9148a658b98d5c19dbbfbd85014770e704d6a36d802e59370761185e23c69eadfefcde74fc08e95a6
languageName: node languageName: node
linkType: hard linkType: hard
"@sentry-internal/tracing@npm:7.102.1": "@sentry-internal/replay-canvas@npm:7.107.0":
version: 7.102.1 version: 7.107.0
resolution: "@sentry-internal/tracing@npm:7.102.1" resolution: "@sentry-internal/replay-canvas@npm:7.107.0"
dependencies: dependencies:
"@sentry/core": "npm:7.102.1" "@sentry/core": "npm:7.107.0"
"@sentry/types": "npm:7.102.1" "@sentry/replay": "npm:7.107.0"
"@sentry/utils": "npm:7.102.1" "@sentry/types": "npm:7.107.0"
checksum: 10/5577d8cdd92187ebfe4213d52c3fa13d013528d04b09d63c112a0460c5a1c9d6d890653c0379e30fdff9d324894f85931551bda1a9734c02ac6b26b70a806562 "@sentry/utils": "npm:7.107.0"
checksum: 10/c4c53d252c01b98b593ee2643ededd2e8ae53054e4fe712915f1440e2c643c4c8b462ac28f7fd6588db28271b4967f55fa727c19eef4074cfe0f70afee3ae18d
languageName: node
linkType: hard
"@sentry-internal/replay-canvas@npm:7.108.0":
version: 7.108.0
resolution: "@sentry-internal/replay-canvas@npm:7.108.0"
dependencies:
"@sentry/core": "npm:7.108.0"
"@sentry/replay": "npm:7.108.0"
"@sentry/types": "npm:7.108.0"
"@sentry/utils": "npm:7.108.0"
checksum: 10/2a992b140ba7fc0cd37c4cf94f9b4d36bed8534f730480520b29c53a03bcf8f52407ec9f340ff407c924cd7f9fbd7c881278387271eda99913c41375fbe58815
languageName: node
linkType: hard
"@sentry-internal/tracing@npm:7.107.0":
version: 7.107.0
resolution: "@sentry-internal/tracing@npm:7.107.0"
dependencies:
"@sentry/core": "npm:7.107.0"
"@sentry/types": "npm:7.107.0"
"@sentry/utils": "npm:7.107.0"
checksum: 10/c04eb7edf4a82650c728ac09d9b4e6673dbf914bf83953111bf1bc31225401381d959edabeb4a272d4b395247b0744e8460fd130bbbfae74120c43bcf74f00aa
languageName: node
linkType: hard
"@sentry-internal/tracing@npm:7.108.0":
version: 7.108.0
resolution: "@sentry-internal/tracing@npm:7.108.0"
dependencies:
"@sentry/core": "npm:7.108.0"
"@sentry/types": "npm:7.108.0"
"@sentry/utils": "npm:7.108.0"
checksum: 10/dde3c07650b0a0b4f3c7be3da8bcb6d2731333bca28de99afed3b9179f80917af871a9ab2fe78fa91fe895baa55e0aba375806be869589f4aa34bd30bdf5b145
languageName: node languageName: node
linkType: hard linkType: hard
@@ -11256,18 +11294,40 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@sentry/browser@npm:7.102.1": "@sentry/babel-plugin-component-annotate@npm:2.16.0":
version: 7.102.1 version: 2.16.0
resolution: "@sentry/browser@npm:7.102.1" resolution: "@sentry/babel-plugin-component-annotate@npm:2.16.0"
checksum: 10/e1f7d4250c2973f41e57eb89db29db383ef3b68c4c7c7f0b059209bf61dc0857169044d0802d0294086903725a96e81bb27825d5656c9dfe100ca51a44965092
languageName: node
linkType: hard
"@sentry/browser@npm:7.107.0":
version: 7.107.0
resolution: "@sentry/browser@npm:7.107.0"
dependencies: dependencies:
"@sentry-internal/feedback": "npm:7.102.1" "@sentry-internal/feedback": "npm:7.107.0"
"@sentry-internal/replay-canvas": "npm:7.102.1" "@sentry-internal/replay-canvas": "npm:7.107.0"
"@sentry-internal/tracing": "npm:7.102.1" "@sentry-internal/tracing": "npm:7.107.0"
"@sentry/core": "npm:7.102.1" "@sentry/core": "npm:7.107.0"
"@sentry/replay": "npm:7.102.1" "@sentry/replay": "npm:7.107.0"
"@sentry/types": "npm:7.102.1" "@sentry/types": "npm:7.107.0"
"@sentry/utils": "npm:7.102.1" "@sentry/utils": "npm:7.107.0"
checksum: 10/709b3d74ad115801e3e3934f1bc56e160c9e963ac34c68dc971dc5dfad0bf1ad64c1da8a84b5297c11e3d39046412443c1e9802a5eb6ebcf588bdd85d2823f89 checksum: 10/befa7fc976c258ac2b94ae16156e07219a393023dd5b086e15bc1711ee623909b627893c8d2b039639ebfd3a38f49b828e5091035774b2570c8edc4b85ab59a7
languageName: node
linkType: hard
"@sentry/browser@npm:7.108.0":
version: 7.108.0
resolution: "@sentry/browser@npm:7.108.0"
dependencies:
"@sentry-internal/feedback": "npm:7.108.0"
"@sentry-internal/replay-canvas": "npm:7.108.0"
"@sentry-internal/tracing": "npm:7.108.0"
"@sentry/core": "npm:7.108.0"
"@sentry/replay": "npm:7.108.0"
"@sentry/types": "npm:7.108.0"
"@sentry/utils": "npm:7.108.0"
checksum: 10/3d2eb11ba8c4374c0e84e7e8555cca15e2acb24ccb8723279c7a139ce88de2dc5b5fc78cbbb35188f646ec72fa4c91a6ef00246ccbc8a2a25e6642929722eddb
languageName: node languageName: node
linkType: hard linkType: hard
@@ -11287,6 +11347,22 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@sentry/bundler-plugin-core@npm:2.16.0":
version: 2.16.0
resolution: "@sentry/bundler-plugin-core@npm:2.16.0"
dependencies:
"@babel/core": "npm:^7.18.5"
"@sentry/babel-plugin-component-annotate": "npm:2.16.0"
"@sentry/cli": "npm:^2.22.3"
dotenv: "npm:^16.3.1"
find-up: "npm:^5.0.0"
glob: "npm:^9.3.2"
magic-string: "npm:0.27.0"
unplugin: "npm:1.0.1"
checksum: 10/2095d532af8b980939a17275b12a1d187fd658fd4f3b33715dadc37cc1f4210289f5b0d863392811dc6e995f54d696cddec291f7d03d7a1d9f3b77022df0476e
languageName: node
linkType: hard
"@sentry/cli-darwin@npm:2.28.6": "@sentry/cli-darwin@npm:2.28.6":
version: 2.28.6 version: 2.28.6
resolution: "@sentry/cli-darwin@npm:2.28.6" resolution: "@sentry/cli-darwin@npm:2.28.6"
@@ -11373,68 +11449,144 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@sentry/core@npm:7.102.1": "@sentry/core@npm:7.107.0":
version: 7.102.1 version: 7.107.0
resolution: "@sentry/core@npm:7.102.1" resolution: "@sentry/core@npm:7.107.0"
dependencies: dependencies:
"@sentry/types": "npm:7.102.1" "@sentry/types": "npm:7.107.0"
"@sentry/utils": "npm:7.102.1" "@sentry/utils": "npm:7.107.0"
checksum: 10/8a4e75aa0b366be9801b309f3e2d1bf8e9b4a8b4532b5e17134e0a9d5eb07691151be1fff9fe592a07522a2c5d29d854234eac339235f664a395ea131ce7f20f checksum: 10/79465058a0bc45653bfbd319b9d28e55ee97adaaf1e240c4717ea5bfea37fe8d57affce89c2e2b3151d3a1894897833dcedb3d2685c059d5ca8b81f803ff6b4b
languageName: node languageName: node
linkType: hard linkType: hard
"@sentry/integrations@npm:^7.102.1": "@sentry/core@npm:7.108.0":
version: 7.102.1 version: 7.108.0
resolution: "@sentry/integrations@npm:7.102.1" resolution: "@sentry/core@npm:7.108.0"
dependencies: dependencies:
"@sentry/core": "npm:7.102.1" "@sentry/types": "npm:7.108.0"
"@sentry/types": "npm:7.102.1" "@sentry/utils": "npm:7.108.0"
"@sentry/utils": "npm:7.102.1" checksum: 10/30f2be108499a30ba5c9a19e2870e80f6c03de3f32aa0537c4a305428f989ebb96831cc4b0b8c8e30eea3dfeff0262d05fbd34d876b7189ddf439933ae8a560f
languageName: node
linkType: hard
"@sentry/electron@npm:^4.21.0":
version: 4.21.0
resolution: "@sentry/electron@npm:4.21.0"
dependencies:
"@sentry/browser": "npm:7.107.0"
"@sentry/core": "npm:7.107.0"
"@sentry/node": "npm:7.107.0"
"@sentry/types": "npm:7.107.0"
"@sentry/utils": "npm:7.107.0"
deepmerge: "npm:4.3.0"
tslib: "npm:^2.5.0"
checksum: 10/f057cca75479711d6cde5450ac69bea0b41119d0fb069cac8f5aefbacf81d21c94ea952a192b9e097fdc0415f0384041babd8a85f8a9d06fd9b6ab87dec3ec77
languageName: node
linkType: hard
"@sentry/esbuild-plugin@npm:^2.16.0":
version: 2.16.0
resolution: "@sentry/esbuild-plugin@npm:2.16.0"
dependencies:
"@sentry/bundler-plugin-core": "npm:2.16.0"
unplugin: "npm:1.0.1"
uuid: "npm:^9.0.0"
checksum: 10/8a8bf7a1c0e31081c5b834d8a995eb1a58f48c5283fb1c93ab8bce9b9dad2081d3b1be3284828b5d6eba5592898dcc46d33f3ff784cc796d020ee41147fcdd23
languageName: node
linkType: hard
"@sentry/integrations@npm:^7.108.0":
version: 7.108.0
resolution: "@sentry/integrations@npm:7.108.0"
dependencies:
"@sentry/core": "npm:7.108.0"
"@sentry/types": "npm:7.108.0"
"@sentry/utils": "npm:7.108.0"
localforage: "npm:^1.8.1" localforage: "npm:^1.8.1"
checksum: 10/f9af4b9fdb436dfecc067fd5c87d2df0e8014a4ed78b7d42e86f47c583519917f0185e4d4f669cc207e44b369b6dd604dec04a67131ef11942fb50b023860047 checksum: 10/6c9bce95bb35c6d20c6fd699b77258dbc1390e9fc8e109a2f79f16abc53c76f7594be2eb6a0471d64677436928840d84c81ced69f2378b9c61f257e87e533f2a
languageName: node languageName: node
linkType: hard linkType: hard
"@sentry/react@npm:^7.102.1": "@sentry/node@npm:7.107.0":
version: 7.102.1 version: 7.107.0
resolution: "@sentry/react@npm:7.102.1" resolution: "@sentry/node@npm:7.107.0"
dependencies: dependencies:
"@sentry/browser": "npm:7.102.1" "@sentry-internal/tracing": "npm:7.107.0"
"@sentry/core": "npm:7.102.1" "@sentry/core": "npm:7.107.0"
"@sentry/types": "npm:7.102.1" "@sentry/types": "npm:7.107.0"
"@sentry/utils": "npm:7.102.1" "@sentry/utils": "npm:7.107.0"
checksum: 10/0ad83e6842122393bd874f8f99157c0d73ded9924f4ece358f176e6ed698eef0cbb4a3341052a96588c398398e158a05656a7d247c0c839a7d073f41b056455b
languageName: node
linkType: hard
"@sentry/react@npm:^7.108.0":
version: 7.108.0
resolution: "@sentry/react@npm:7.108.0"
dependencies:
"@sentry/browser": "npm:7.108.0"
"@sentry/core": "npm:7.108.0"
"@sentry/types": "npm:7.108.0"
"@sentry/utils": "npm:7.108.0"
hoist-non-react-statics: "npm:^3.3.2" hoist-non-react-statics: "npm:^3.3.2"
peerDependencies: peerDependencies:
react: 15.x || 16.x || 17.x || 18.x react: 15.x || 16.x || 17.x || 18.x
checksum: 10/74bb55ed1775e4b14b0c89e25b028ff47cbe826b3072f14fd13d0bd88fb6b7a732962c949a8bc7b8bcd173e7d1531858a4f70de915c539ddf880284426fafddc checksum: 10/acda065ea91915cb93b36087a57c8fae0408012594265315074ec6882faaca27ac436cda990ce743f3f4c772e6a074bc9916c358569ab4702fecf95bacf159b7
languageName: node languageName: node
linkType: hard linkType: hard
"@sentry/replay@npm:7.102.1": "@sentry/replay@npm:7.107.0":
version: 7.102.1 version: 7.107.0
resolution: "@sentry/replay@npm:7.102.1" resolution: "@sentry/replay@npm:7.107.0"
dependencies: dependencies:
"@sentry-internal/tracing": "npm:7.102.1" "@sentry-internal/tracing": "npm:7.107.0"
"@sentry/core": "npm:7.102.1" "@sentry/core": "npm:7.107.0"
"@sentry/types": "npm:7.102.1" "@sentry/types": "npm:7.107.0"
"@sentry/utils": "npm:7.102.1" "@sentry/utils": "npm:7.107.0"
checksum: 10/ad2cf119298a9b62e7440033b531d983d126f4d9603471baef188cc2f0a8f48bec90eb5d8b920f4d364ed003f128a3dc4551a1456fd8c208914dd29a089b3e21 checksum: 10/9797c876a738a37bf42b3ae8b5ea35d4de5555999906cb8293dce395d42010959b27c1e8954dc49b24ab88e79e56de5e94c934a4c4c8cbe8e3756ea44b42e16b
languageName: node languageName: node
linkType: hard linkType: hard
"@sentry/types@npm:7.102.1": "@sentry/replay@npm:7.108.0":
version: 7.102.1 version: 7.108.0
resolution: "@sentry/types@npm:7.102.1" resolution: "@sentry/replay@npm:7.108.0"
checksum: 10/794aeeb398f37374f7527de5490e6ae220c2e4ae190a5c6eed3cf3facbe65b603ce8e74691441701cc65294028b0e16eeb7394d07ef498098c207183dcc7f963
languageName: node
linkType: hard
"@sentry/utils@npm:7.102.1":
version: 7.102.1
resolution: "@sentry/utils@npm:7.102.1"
dependencies: dependencies:
"@sentry/types": "npm:7.102.1" "@sentry-internal/tracing": "npm:7.108.0"
checksum: 10/9ec4f4778eac7ac36d0fed2ab4a1fbe9953a5a18258255bbc7a65db93739f87d7d10cb92afea05c2db8bd219f2c4db1715088f2a0cdc9b6892c4cc65e5d97386 "@sentry/core": "npm:7.108.0"
"@sentry/types": "npm:7.108.0"
"@sentry/utils": "npm:7.108.0"
checksum: 10/42806c531f5b644c2c54ef363c824c85506ff8ac75b00821023dccde254edb034fbe4f774c4cf1d5fea2b4704be19f8a4fecfdbb351359a055d8437caeb68a95
languageName: node
linkType: hard
"@sentry/types@npm:7.107.0":
version: 7.107.0
resolution: "@sentry/types@npm:7.107.0"
checksum: 10/68b349006bce831fae40e29586e59f345148caa740318d6d6edc08abe15d933d290adf67354ed02027e966b6be2be408be9c341b77fdfd70b4196c765c7cd511
languageName: node
linkType: hard
"@sentry/types@npm:7.108.0":
version: 7.108.0
resolution: "@sentry/types@npm:7.108.0"
checksum: 10/ab5231ddc2839d3ef2cb647fc775ba6467f8551e5f19ef55f43be39ec6def505f90303b9abf1342820b7aec6bd9cbfd80623ba4b6defafd32e0589197a832bec
languageName: node
linkType: hard
"@sentry/utils@npm:7.107.0":
version: 7.107.0
resolution: "@sentry/utils@npm:7.107.0"
dependencies:
"@sentry/types": "npm:7.107.0"
checksum: 10/ece92ba70575c3e4e15442739e49aedc667a812ebe8eb444a861605b4a6d297b0e939849e0bdb4fcdcd976f2bb9740698e01269f376c849f7d311c62000050c9
languageName: node
linkType: hard
"@sentry/utils@npm:7.108.0":
version: 7.108.0
resolution: "@sentry/utils@npm:7.108.0"
dependencies:
"@sentry/types": "npm:7.108.0"
checksum: 10/605ec9a79d596c677db361d963e63f41bb609f06ef331d0b811dfa3371bcb16c52a235d51696c2cc65678bd2160fda4832eb9cc297fffc6f19b8002272d672a2
languageName: node languageName: node
linkType: hard linkType: hard
@@ -19142,6 +19294,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"deepmerge@npm:4.3.0":
version: 4.3.0
resolution: "deepmerge@npm:4.3.0"
checksum: 10/9f6ef59c33aff23dbfbbdff0607919d671e1af3057dd3627e9708915e64a5575c5797868c6f540fb2faab82d2ca4e30577b808dd085e0b3bf7a5a3184cdfa3a9
languageName: node
linkType: hard
"deepmerge@npm:^4.2.2": "deepmerge@npm:^4.2.2":
version: 4.3.1 version: 4.3.1
resolution: "deepmerge@npm:4.3.1" resolution: "deepmerge@npm:4.3.1"
@@ -22509,6 +22668,18 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"glob@npm:^9.3.2":
version: 9.3.5
resolution: "glob@npm:9.3.5"
dependencies:
fs.realpath: "npm:^1.0.0"
minimatch: "npm:^8.0.2"
minipass: "npm:^4.2.4"
path-scurry: "npm:^1.6.1"
checksum: 10/e5fa8a58adf53525bca42d82a1fad9e6800032b7e4d372209b80cfdca524dd9a7dbe7d01a92d7ed20d89c572457f12c250092bc8817cb4f1c63efefdf9b658c0
languageName: node
linkType: hard
"global-agent@npm:^3.0.0": "global-agent@npm:^3.0.0":
version: 3.0.0 version: 3.0.0
resolution: "global-agent@npm:3.0.0" resolution: "global-agent@npm:3.0.0"
@@ -27749,6 +27920,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"minimatch@npm:^8.0.2":
version: 8.0.4
resolution: "minimatch@npm:8.0.4"
dependencies:
brace-expansion: "npm:^2.0.1"
checksum: 10/aef05598ee565e1013bc8a10f53410ac681561f901c1a084b8ecfd016c9ed919f58f4bbd5b63e05643189dfb26e8106a84f0e1ff12e4a263aa37e1cae7ce9828
languageName: node
linkType: hard
"minimist@npm:^1.1.1, minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8, minimist@npm:~1.2.5": "minimist@npm:^1.1.1, minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8, minimist@npm:~1.2.5":
version: 1.2.8 version: 1.2.8
resolution: "minimist@npm:1.2.8" resolution: "minimist@npm:1.2.8"