diff --git a/.github/dependabot.yml b/.github/dependabot.yml index c8f8de9a951e8d..f5feddade1ee21 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -28,7 +28,6 @@ updates: # - dependency-name: "@sentry/react" - dependency-name: '@sentry/node' - dependency-name: '@sentry/utils' - - dependency-name: '@sentry/integrations' - dependency-name: '@sentry/rrweb' # We ignore everything that hasn't yet been upgrade, this way we will diff --git a/build-utils/sentry-instrumentation.ts b/build-utils/sentry-instrumentation.ts index 8e7bc61adacb29..c6797c1e22f490 100644 --- a/build-utils/sentry-instrumentation.ts +++ b/build-utils/sentry-instrumentation.ts @@ -139,8 +139,12 @@ class SentryInstrumentation { startTime, }); - span - ?.startChild({ + if (!span) { + return; + } + + this.Sentry.withActiveSpan(span, () => { + this.Sentry?.startInactiveSpan({ op: 'build', name: 'webpack build', attributes: { @@ -152,11 +156,11 @@ class SentryInstrumentation { : 'N/A', loadavg: os.loadavg(), }, - startTimestamp: startTime, - }) - .end(endTime); + startTime, + }).end(endTime); + }); - span?.end(); + span.end(); } apply(compiler: webpack.Compiler) { diff --git a/package.json b/package.json index 30d29b80befadd..4dca76a8add223 100644 --- a/package.json +++ b/package.json @@ -57,15 +57,14 @@ "@sentry-internal/rrweb-player": "2.12.0", "@sentry-internal/rrweb-snapshot": "2.12.0", "@sentry/babel-plugin-component-annotate": "^2.16.0", - "@sentry/core": "^7.111.0", - "@sentry/integrations": "^7.111.0", - "@sentry/node": "^7.111.0", - "@sentry/react": "^7.111.0", + "@sentry/core": "^8.0.0-beta.5", + "@sentry/node": "^8.0.0-beta.5", + "@sentry/react": "^8.0.0-beta.5", "@sentry/release-parser": "^1.3.1", "@sentry/status-page-list": "^0.1.0", - "@sentry/types": "^7.111.0", - "@sentry/utils": "^7.111.0", - "@spotlightjs/spotlight": "^1.2.13", + "@sentry/types": "^8.0.0-beta.5", + "@sentry/utils": "^8.0.0-beta.5", + "@spotlightjs/spotlight": "^2.0.0-alpha.1", "@tanstack/react-query": "^4.29.7", "@tanstack/react-query-devtools": "^4.36.1", "@types/color": "^3.0.3", @@ -179,7 +178,7 @@ "@codecov/webpack-plugin": "^0.0.1-beta.6", "@pmmmwh/react-refresh-webpack-plugin": "0.5.11", "@sentry/jest-environment": "^4.0.0", - "@sentry/profiling-node": "^7.109.0", + "@sentry/profiling-node": "^8.0.0-beta.5", "@styled/typescript-styled-plugin": "^1.0.1", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.2.1", diff --git a/static/app/bootstrap/initializeSdk.tsx b/static/app/bootstrap/initializeSdk.tsx index 05976d071c6507..948ada7e63fe63 100644 --- a/static/app/bootstrap/initializeSdk.tsx +++ b/static/app/bootstrap/initializeSdk.tsx @@ -1,6 +1,5 @@ // eslint-disable-next-line simple-import-sort/imports import {browserHistory, createRoutes, match} from 'react-router'; -import {extraErrorDataIntegration} from '@sentry/integrations'; import * as Sentry from '@sentry/react'; import {_browserPerformanceTimeOriginMode} from '@sentry/utils'; import type {Event} from '@sentry/types'; @@ -51,11 +50,10 @@ const shouldOverrideBrowserProfiling = window?.__initialData?.user?.isSuperuser; */ function getSentryIntegrations(routes?: Function) { const integrations = [ - extraErrorDataIntegration({ + Sentry.extraErrorDataIntegration({ // 6 is arbitrary, seems like a nice number depth: 6, }), - Sentry.metrics.metricsAggregatorIntegration(), Sentry.reactRouterV3BrowserTracingIntegration({ history: browserHistory as any, routes: typeof routes === 'function' ? createRoutes(routes()) : [], @@ -63,7 +61,6 @@ function getSentryIntegrations(routes?: Function) { _experiments: { enableInteractions: true, }, - enableInp: true, }), Sentry.browserProfilingIntegration(), ]; @@ -103,7 +100,8 @@ export function initializeSdk(config: Config, {routes}: {routes?: Function} = {} profilesSampleRate: shouldOverrideBrowserProfiling ? 1 : 0.1, tracePropagationTargets: ['localhost', /^\//, ...extraTracePropagationTargets], tracesSampler: context => { - if (context.transactionContext.op?.startsWith('ui.action')) { + const op = context.attributes?.[Sentry.SEMANTIC_ATTRIBUTE_SENTRY_OP] || ''; + if (op.startsWith('ui.action')) { return tracesSampleRate / 100; } return tracesSampleRate; @@ -120,9 +118,7 @@ export function initializeSdk(config: Config, {routes}: {routes?: Function} = {} // If we removed any spans at the end above, the end timestamp needs to be adjusted again. if (event.spans) { - const newEndTimestamp = Math.max( - ...event.spans.map(span => span.endTimestamp ?? 0) - ); + const newEndTimestamp = Math.max(...event.spans.map(span => span.timestamp ?? 0)); event.timestamp = newEndTimestamp; } diff --git a/static/app/components/events/contexts/index.tsx b/static/app/components/events/contexts/index.tsx index b4768bcaa16231..b0519e706da519 100644 --- a/static/app/components/events/contexts/index.tsx +++ b/static/app/components/events/contexts/index.tsx @@ -92,11 +92,12 @@ export function EventContexts({event, group}: Props) { ); useEffect(() => { - const transaction = Sentry.getActiveTransaction(); - if (transaction && usingOtel()) { - transaction.tags.otel_event = true; - transaction.tags.otel_sdk = sdk?.name; - transaction.tags.otel_sdk_version = sdk?.version; + const span = Sentry.getActiveSpan(); + if (usingOtel() && span) { + const rootSpan = Sentry.getRootSpan(span); + rootSpan.setAttribute('otel_event', true); + rootSpan.setAttribute('otel_sdk', sdk?.name); + rootSpan.setAttribute('otel_sdk_version', sdk?.version); } }, [usingOtel, sdk]); diff --git a/static/app/components/events/eventTags/index.tsx b/static/app/components/events/eventTags/index.tsx index 4fb660cddcf4c6..845c8d8a55da1d 100644 --- a/static/app/components/events/eventTags/index.tsx +++ b/static/app/components/events/eventTags/index.tsx @@ -92,9 +92,9 @@ export function EventTags({ useEffect(() => { const mechanism = filteredTags?.find(tag => tag.key === 'mechanism')?.value; - const transaction = Sentry.getActiveTransaction(); - if (mechanism && transaction) { - transaction.tags.hasMechanism = mechanism; + const span = Sentry.getActiveSpan(); + if (mechanism && span) { + Sentry.getRootSpan(span).setAttribute('hasMechanism', mechanism); } }, [filteredTags]); diff --git a/static/app/components/featureFeedback/feedbackModal.spec.tsx b/static/app/components/featureFeedback/feedbackModal.spec.tsx index 8600460ac7e2b0..61e8ea0ea490ae 100644 --- a/static/app/components/featureFeedback/feedbackModal.spec.tsx +++ b/static/app/components/featureFeedback/feedbackModal.spec.tsx @@ -1,5 +1,4 @@ import {Fragment} from 'react'; -import {BrowserClient, defaultStackParser, makeFetchTransport} from '@sentry/react'; import * as Sentry from '@sentry/react'; import {initializeOrg} from 'sentry-test/initializeOrg'; @@ -40,8 +39,8 @@ describe('FeatureFeedback', function () { jest.spyOn(indicators, 'addSuccessMessage'); const feedbackClient = new Sentry.BrowserClient({ - transport: makeFetchTransport, - stackParser: defaultStackParser, + transport: Sentry.makeFetchTransport, + stackParser: Sentry.defaultStackParser, integrations: Sentry.getDefaultIntegrations({}), }); @@ -156,7 +155,7 @@ describe('FeatureFeedback', function () { jest.spyOn(indicators, 'addSuccessMessage'); // Mock implementation of the Sentry Browser SDK - BrowserClient.prototype.captureEvent = jest.fn(); + Sentry.BrowserClient.prototype.captureEvent = jest.fn(); renderGlobalModal(); diff --git a/static/app/components/feedback/widget/useFeedbackWidget.tsx b/static/app/components/feedback/widget/useFeedbackWidget.tsx index 8c2898b1d7a589..2d03f96e844add 100644 --- a/static/app/components/feedback/widget/useFeedbackWidget.tsx +++ b/static/app/components/feedback/widget/useFeedbackWidget.tsx @@ -1,6 +1,6 @@ import type {RefObject} from 'react'; import {useEffect} from 'react'; -import {type Feedback, getClient} from '@sentry/react'; +import * as Sentry from '@sentry/react'; import {t} from 'sentry/locale'; import ConfigStore from 'sentry/stores/configStore'; @@ -13,9 +13,7 @@ interface Props { export default function useFeedbackWidget({buttonRef, messagePlaceholder}: Props) { const config = useLegacyStore(ConfigStore); - const client = getClient(); - // Note that this is only defined in environments where Feedback is enabled (getsentry) - const feedback = client?.getIntegrationByName?.('Feedback'); + const feedback = Sentry.getFeedback(); useEffect(() => { if (!feedback) { @@ -32,15 +30,12 @@ export default function useFeedbackWidget({buttonRef, messagePlaceholder}: Props if (buttonRef) { if (buttonRef.current) { - const widget = feedback.attachTo(buttonRef.current, options); - return () => { - feedback.removeWidget(widget); - }; + return feedback.attachTo(buttonRef.current, options); } } else { const widget = feedback.createWidget(options); return () => { - feedback.removeWidget(widget); + widget.removeFromDom(); }; } diff --git a/static/app/locale.tsx b/static/app/locale.tsx index defb82eef33817..1ef82b6afa1eeb 100644 --- a/static/app/locale.tsx +++ b/static/app/locale.tsx @@ -1,5 +1,4 @@ import {cloneElement, Fragment, isValidElement} from 'react'; -import * as Sentry from '@sentry/react'; import Jed from 'jed'; import {sprintf} from 'sprintf-js'; @@ -71,8 +70,8 @@ function getClient(): Jed | null { if (!i18n) { // If this happens, it could mean that an import was added/changed where // locale initialization does not happen soon enough. - const warning = new Error('Locale not set, defaulting to English'); - Sentry.captureException(warning); + // eslint-disable-next-line no-console + console.warn('Locale not set, defaulting to English'); return setLocale(DEFAULT_LOCALE_DATA); } diff --git a/static/app/utils/discover/charts.tsx b/static/app/utils/discover/charts.tsx index 27eff75771254e..91ca4de77d2c06 100644 --- a/static/app/utils/discover/charts.tsx +++ b/static/app/utils/discover/charts.tsx @@ -1,4 +1,3 @@ -import {captureMessage} from '@sentry/react'; import * as Sentry from '@sentry/react'; import type {LegendComponentOption} from 'echarts'; @@ -177,7 +176,7 @@ export function findRangeOfMultiSeries(series: Series[], legend?: LegendComponen scope.setTag('seriesName', seriesName); scope.setExtra('min', min); scope.setExtra('max', min); - captureMessage('Found negative min value in multiseries'); + Sentry.captureMessage('Found negative min value in multiseries'); }); } } diff --git a/static/app/utils/getCurrentSentryReactRootSpan.tsx b/static/app/utils/getCurrentSentryReactRootSpan.tsx new file mode 100644 index 00000000000000..ae2c0ea45dfba6 --- /dev/null +++ b/static/app/utils/getCurrentSentryReactRootSpan.tsx @@ -0,0 +1,9 @@ +import * as Sentry from '@sentry/react'; + +/** + * Gets the current root span, if one exists. + */ +export default function getCurrentSentryReactRootSpan() { + const span = Sentry.getActiveSpan(); + return span ? Sentry.getRootSpan(span) : undefined; +} diff --git a/static/app/utils/getCurrentSentryReactTransaction.tsx b/static/app/utils/getCurrentSentryReactTransaction.tsx deleted file mode 100644 index 31c2199351b4e1..00000000000000 --- a/static/app/utils/getCurrentSentryReactTransaction.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import * as Sentry from '@sentry/react'; - -/** - * Gets the current transaction, if one exists. - */ -export default function getCurrentSentryReactTransaction() { - return Sentry.getActiveTransaction(); -} diff --git a/static/app/utils/handleXhrErrorResponse.spec.tsx b/static/app/utils/handleXhrErrorResponse.spec.tsx index c4291264afcfe0..67b34f0e270843 100644 --- a/static/app/utils/handleXhrErrorResponse.spec.tsx +++ b/static/app/utils/handleXhrErrorResponse.spec.tsx @@ -81,8 +81,12 @@ describe('handleXhrErrorResponse', function () { const mockScope = new Sentry.Scope(); const setExtrasSpy = jest.spyOn(mockScope, 'setExtras'); const setTagsSpy = jest.spyOn(mockScope, 'setTags'); - const hub = Sentry.getCurrentHub(); - jest.spyOn(hub, 'pushScope').mockReturnValueOnce(mockScope); + // @ts-expect-error this is fine... + jest.spyOn(Sentry, 'withScope').mockImplementation(function ( + callback: (scope: Sentry.Scope) => any + ) { + return callback(mockScope); + }); handleXhrErrorResponse("Can't fetch ball", err); diff --git a/static/app/utils/performanceForSentry/index.tsx b/static/app/utils/performanceForSentry/index.tsx index 22b4064436f32f..4da04de55a244f 100644 --- a/static/app/utils/performanceForSentry/index.tsx +++ b/static/app/utils/performanceForSentry/index.tsx @@ -1,12 +1,11 @@ import type {ProfilerOnRenderCallback, ReactNode} from 'react'; import {Fragment, Profiler, useEffect, useRef} from 'react'; -import {captureMessage, setExtra, setTag} from '@sentry/react'; import * as Sentry from '@sentry/react'; import type {MeasurementUnit, Span, TransactionEvent} from '@sentry/types'; import { _browserPerformanceTimeOriginMode, browserPerformanceTimeOrigin, - timestampWithMs, + timestampInSeconds, } from '@sentry/utils'; import {useLocation} from 'sentry/utils/useLocation'; @@ -28,7 +27,13 @@ export {Profiler}; * This will return an interaction-type transaction held onto by a class static if one exists. */ export function getPerformanceTransaction(): Span | undefined { - return PerformanceInteraction.getSpan() ?? Sentry.getActiveTransaction(); + const span = PerformanceInteraction.getSpan(); + if (span) { + return span; + } + + const activeSpan = Sentry.getActiveSpan(); + return activeSpan ? Sentry.getRootSpan(activeSpan) : undefined; } /** @@ -36,14 +41,16 @@ export function getPerformanceTransaction(): Span | undefined { */ export const onRenderCallback: ProfilerOnRenderCallback = (id, phase, actualDuration) => { try { - const transaction = getPerformanceTransaction(); - if (transaction && actualDuration > MIN_UPDATE_SPAN_TIME) { - const now = timestampWithMs(); - transaction.startChild({ - description: `<${id}>`, - op: `ui.react.${phase}`, - startTimestamp: now - actualDuration / 1000, - endTimestamp: now, + const parentSpan = getPerformanceTransaction(); + if (parentSpan && actualDuration > MIN_UPDATE_SPAN_TIME) { + const now = timestampInSeconds(); + + Sentry.withActiveSpan(parentSpan, () => { + Sentry.startInactiveSpan({ + name: `<${id}>`, + op: `ui.react.${phase}`, + startTime: now - actualDuration / 1000, + }).end(now); }); } } catch (_) { @@ -61,11 +68,15 @@ export class PerformanceInteraction { static startInteraction(name: string, timeout = INTERACTION_TIMEOUT, immediate = true) { try { - const currentIdleTransaction = Sentry.getActiveTransaction(); - if (currentIdleTransaction) { + const currentSpan = Sentry.getActiveSpan(); + if (currentSpan) { + const currentIdleSpan = Sentry.getRootSpan(currentSpan); // If interaction is started while idle still exists. - currentIdleTransaction.setTag('finishReason', 'sentry.interactionStarted'); // Override finish reason so we can capture if this has effects on idle timeout. - currentIdleTransaction.end(); + currentIdleSpan.setAttribute( + 'sentry.idle_span_finish_reason', + 'sentry.interactionStarted' + ); + currentIdleSpan.end(); } PerformanceInteraction.finishInteraction(immediate); @@ -82,11 +93,14 @@ export class PerformanceInteraction { if (!PerformanceInteraction.interactionSpan) { return; } - PerformanceInteraction.interactionSpan.setTag('ui.interaction.finish', 'timeout'); + PerformanceInteraction.interactionSpan.setAttribute( + 'ui.interaction.finish', + 'timeout' + ); PerformanceInteraction.finishInteraction(true); }, timeout); } catch (e) { - captureMessage(e); + Sentry.captureMessage(e); } } @@ -110,7 +124,7 @@ export class PerformanceInteraction { return; } catch (e) { - captureMessage(e); + Sentry.captureMessage(e); } } } @@ -179,10 +193,12 @@ export function VisuallyCompleteWithData({ return; } try { - const transaction: any = Sentry.getActiveTransaction(); // Using any to override types for private api. - if (!transaction) { + const span = Sentry.getActiveSpan(); + + if (!span) { return; } + const rootSpan = Sentry.getRootSpan(span); if (!isDataCompleteSet.current && _hasData) { isDataCompleteSet.current = true; @@ -197,7 +213,7 @@ export function VisuallyCompleteWithData({ const startMarks = performance.getEntriesByName(`${id}-${VCD_START}`); const endMarks = performance.getEntriesByName(`${id}-${VCD_END}`); if (startMarks.length > 1 || endMarks.length > 1) { - transaction.setTag('vcd_extra_recorded_marks', true); + rootSpan.setAttribute('vcd_extra_recorded_marks', true); } const startMark = startMarks.at(-1); @@ -415,11 +431,11 @@ const customMeasurements: Record< */ bundle_load: ({transaction, ttfb}) => { const span = getBundleLoadSpan(transaction); - if (!span?.endTimestamp || !span?.startTimestamp || !ttfb) { + if (!span?.timestamp || !span?.start_timestamp || !ttfb) { return undefined; } return { - value: (span?.endTimestamp - span?.startTimestamp) * 1000, + value: (span?.timestamp - span?.start_timestamp) * 1000, unit: 'millisecond', }; }, @@ -434,10 +450,10 @@ const customMeasurements: Record< */ visually_complete_with_data: ({transaction, ttfb, transactionStart}) => { const vcdSpan = getVCDSpan(transaction); - if (!vcdSpan?.endTimestamp || !ttfb) { + if (!vcdSpan?.timestamp || !ttfb) { return undefined; } - const value = (vcdSpan?.endTimestamp - transactionStart) * 1000; + const value = (vcdSpan?.timestamp - transactionStart) * 1000; return { value, unit: 'millisecond', @@ -457,17 +473,17 @@ const customMeasurements: Record< init_to_vcd: ({transaction, transactionOp, transactionStart}) => { const bundleSpan = getBundleLoadSpan(transaction); const vcdSpan = getVCDSpan(transaction); - if (!vcdSpan?.endTimestamp || !['navigation', 'pageload'].includes(transactionOp)) { + if (!vcdSpan?.timestamp || !['navigation', 'pageload'].includes(transactionOp)) { return undefined; } const startTimestamp = - transactionOp === 'navigation' ? transactionStart : bundleSpan?.endTimestamp; + transactionOp === 'navigation' ? transactionStart : bundleSpan?.timestamp; if (!startTimestamp) { return undefined; } return { - value: (vcdSpan.endTimestamp - startTimestamp) * 1000, + value: (vcdSpan.timestamp - startTimestamp) * 1000, unit: 'millisecond', }; }, @@ -497,7 +513,7 @@ export const setGroupedEntityTag = ( n: number, buckets = [1, 2, 5] ) => { - setExtra(tagName, n); + Sentry.setExtra(tagName, n); let groups = [0]; loop: for (let m = 1, mag = 0; m <= max; m *= 10, mag++) { for (const i of buckets) { @@ -509,7 +525,7 @@ export const setGroupedEntityTag = ( } } groups = [...groups, +Infinity]; - setTag(`${tagName}.grouped`, `<=${groups.find(g => n <= g)}`); + Sentry.setTag(`${tagName}.grouped`, `<=${groups.find(g => n <= g)}`); }; export const addSlowAppInit = (transaction: TransactionEvent) => { @@ -522,9 +538,9 @@ export const addSlowAppInit = (transaction: TransactionEvent) => { const longTaskSpans = transaction.spans.filter( s => s.op === 'ui.long-task' && - s.endTimestamp && - appInitSpan.endTimestamp && - s.startTimestamp < appInitSpan.startTimestamp + s.timestamp && + appInitSpan.timestamp && + s.start_timestamp < appInitSpan.start_timestamp ); longTaskSpans.forEach(s => { s.op = `ui.long-task.app-init`; @@ -532,7 +548,7 @@ export const addSlowAppInit = (transaction: TransactionEvent) => { if (longTaskSpans.length) { const sum = longTaskSpans.reduce( (acc, span) => - span.endTimestamp ? acc + (span.endTimestamp - span.startTimestamp) * 1000 : acc, + span.timestamp ? acc + (span.timestamp - span.start_timestamp) * 1000 : acc, 0 ); transaction.measurements = { diff --git a/static/app/utils/profiling/profile/importProfile.tsx b/static/app/utils/profiling/profile/importProfile.tsx index 23c855c8af1a7a..3ccafe7af1c3e0 100644 --- a/static/app/utils/profiling/profile/importProfile.tsx +++ b/static/app/utils/profiling/profile/importProfile.tsx @@ -71,7 +71,7 @@ export function importProfile( throw new Error('Unsupported trace format'); } catch (error) { - span?.setStatus('internal_error'); + span?.setStatus({code: 2, message: 'internal_error'}); throw error; } finally { span?.end(); diff --git a/static/app/utils/profiling/profile/utils.tsx b/static/app/utils/profiling/profile/utils.tsx index 89aefcb77b57a1..e725fef5d6ccee 100644 --- a/static/app/utils/profiling/profile/utils.tsx +++ b/static/app/utils/profiling/profile/utils.tsx @@ -1,3 +1,4 @@ +import * as Sentry from '@sentry/react'; import type {Span} from '@sentry/types'; import {defined} from 'sentry/utils'; @@ -160,15 +161,11 @@ export function wrapWithSpan(parentSpan: Span | undefined, fn: () => T, optio return fn(); } - const sentrySpan = parentSpan.startChild(options); - try { - return fn(); - } catch (error) { - sentrySpan.setStatus('internal_error'); - throw error; - } finally { - sentrySpan.end(); - } + return Sentry.withActiveSpan(parentSpan, () => { + return Sentry.startSpan(options, () => { + return fn(); + }); + }); } export const isSystemCall = (node: CallTreeNode): boolean => { diff --git a/static/app/views/issueList/overview.tsx b/static/app/views/issueList/overview.tsx index 89ac08768e11ad..0093732d7bfd2d 100644 --- a/static/app/views/issueList/overview.tsx +++ b/static/app/views/issueList/overview.tsx @@ -1,7 +1,6 @@ import {Component} from 'react'; import type {RouteComponentProps} from 'react-router'; import styled from '@emotion/styled'; -import {withProfiler} from '@sentry/react'; import * as Sentry from '@sentry/react'; import type {Location} from 'history'; import Cookies from 'js-cookie'; @@ -47,7 +46,7 @@ import {trackAnalytics} from 'sentry/utils/analytics'; import {browserHistory} from 'sentry/utils/browserHistory'; import CursorPoller from 'sentry/utils/cursorPoller'; import {getUtcDateString} from 'sentry/utils/dates'; -import getCurrentSentryReactTransaction from 'sentry/utils/getCurrentSentryReactTransaction'; +import getCurrentSentryReactRootSpan from 'sentry/utils/getCurrentSentryReactRootSpan'; import parseApiError from 'sentry/utils/parseApiError'; import parseLinkHeader from 'sentry/utils/parseLinkHeader'; import { @@ -508,9 +507,10 @@ class IssueListOverview extends Component { // End navigation transaction to prevent additional page requests from impacting page metrics. // Other transactions include stacktrace preview request - const currentTransaction = Sentry.getActiveTransaction(); - if (currentTransaction?.op === 'navigation') { - currentTransaction.end(); + const currentSpan = Sentry.getActiveSpan(); + const rootSpan = currentSpan ? Sentry.getRootSpan(currentSpan) : undefined; + if (rootSpan && Sentry.spanToJSON(rootSpan).op === 'navigation') { + rootSpan.end(); } }, }); @@ -596,8 +596,8 @@ class IssueListOverview extends Component { }); } - const transaction = getCurrentSentryReactTransaction(); - transaction?.setTag('query.sort', this.getSort()); + const span = getCurrentSentryReactRootSpan(); + span?.setAttribute('query.sort', this.getSort()); this.setState({ error: null, @@ -1327,7 +1327,9 @@ class IssueListOverview extends Component { export default withRouteAnalytics( withApi( withPageFilters( - withSavedSearches(withOrganization(withIssueTags(withProfiler(IssueListOverview)))) + withSavedSearches( + withOrganization(withIssueTags(Sentry.withProfiler(IssueListOverview))) + ) ) ) ); diff --git a/static/app/views/performance/database/getIntervalForMetricFunction.tsx b/static/app/views/performance/database/getIntervalForMetricFunction.tsx index 407f9b765e4c56..8f7ecec6b4ff90 100644 --- a/static/app/views/performance/database/getIntervalForMetricFunction.tsx +++ b/static/app/views/performance/database/getIntervalForMetricFunction.tsx @@ -17,8 +17,19 @@ export function getIntervalForMetricFunction( metricFunction: Aggregate | SpanFunctions | string, datetimeObj: DateTimeObject ) { + const {start, end, period, utc} = datetimeObj; + const interval = Sentry.startSpan( - {op: 'function', name: 'getIntervalForMetricFunction', data: {...datetimeObj}}, + { + op: 'function', + name: 'getIntervalForMetricFunction', + attributes: { + start: start ? start.toString() : undefined, + end: end ? end.toString() : undefined, + period: period || undefined, + utc: utc || undefined, + }, + }, () => { const ladder = GRANULARITIES[metricFunction] ?? COUNTER_GRANULARITIES; return ladder.getInterval(getDiffInMinutes(datetimeObj)); diff --git a/static/app/views/performance/traceDetails/newTraceDetailsTraceView.tsx b/static/app/views/performance/traceDetails/newTraceDetailsTraceView.tsx index eda6e7aa8a0fed..a73f839efe74b0 100644 --- a/static/app/views/performance/traceDetails/newTraceDetailsTraceView.tsx +++ b/static/app/views/performance/traceDetails/newTraceDetailsTraceView.tsx @@ -152,11 +152,13 @@ function NewTraceView({ ...props }: Props) { const [isTransactionBarScrolledTo, setIsTransactionBarScrolledTo] = useState(false); - const sentryTransaction = Sentry.getActiveTransaction(); - const sentrySpan = sentryTransaction?.startChild({ + + const sentrySpan = Sentry.startInactiveSpan({ op: 'trace.render', - description: 'trace-view-content', + name: 'trace-view-content', + onlyIfParent: true, }); + const hasOrphanErrors = orphanErrors && orphanErrors.length > 0; const onlyOrphanErrors = hasOrphanErrors && (!traces || traces.length === 0); useEffect(() => { diff --git a/static/app/views/performance/traceDetails/traceView.tsx b/static/app/views/performance/traceDetails/traceView.tsx index e24a052e911724..406803a7b99bc9 100644 --- a/static/app/views/performance/traceDetails/traceView.tsx +++ b/static/app/views/performance/traceDetails/traceView.tsx @@ -143,10 +143,10 @@ export default function TraceView({ handleLimitChange, ...props }: Props) { - const sentryTransaction = Sentry.getActiveTransaction(); - const sentrySpan = sentryTransaction?.startChild({ + const sentrySpan = Sentry.startInactiveSpan({ op: 'trace.render', - description: 'trace-view-content', + name: 'trace-view-content', + onlyIfParent: true, }); const hasOrphanErrors = orphanErrors && orphanErrors.length > 0; const onlyOrphanErrors = hasOrphanErrors && (!traces || traces.length === 0); diff --git a/static/app/views/performance/utils/index.tsx b/static/app/views/performance/utils/index.tsx index 52f2a0193a1d10..916702b4a79125 100644 --- a/static/app/views/performance/utils/index.tsx +++ b/static/app/views/performance/utils/index.tsx @@ -18,7 +18,7 @@ import {statsPeriodToDays} from 'sentry/utils/dates'; import type {EventData} from 'sentry/utils/discover/eventView'; import EventView from 'sentry/utils/discover/eventView'; import {TRACING_FIELDS} from 'sentry/utils/discover/fields'; -import getCurrentSentryReactTransaction from 'sentry/utils/getCurrentSentryReactTransaction'; +import getCurrentSentryReactRootSpan from 'sentry/utils/getCurrentSentryReactRootSpan'; import {useQuery} from 'sentry/utils/queryClient'; import {decodeScalar} from 'sentry/utils/queryString'; import {MutableSearch} from 'sentry/utils/tokenizeSearch'; @@ -290,7 +290,7 @@ export function removeTracingKeysFromSearch( } export function addRoutePerformanceContext(selection: PageFilters) { - const transaction = getCurrentSentryReactTransaction(); + const transaction = getCurrentSentryReactRootSpan(); const days = statsPeriodToDays( selection.datetime.period, selection.datetime.start, @@ -299,7 +299,7 @@ export function addRoutePerformanceContext(selection: PageFilters) { const oneDay = 86400; const seconds = Math.floor(days * oneDay); - transaction?.setTag('query.period', seconds.toString()); + transaction?.setAttribute('query.period', seconds.toString()); let groupedPeriod = '>30d'; if (seconds <= oneDay) { groupedPeriod = '<=1d'; @@ -310,7 +310,7 @@ export function addRoutePerformanceContext(selection: PageFilters) { } else if (seconds <= oneDay * 30) { groupedPeriod = '<=30d'; } - transaction?.setTag('query.period.grouped', groupedPeriod); + transaction?.setAttribute('query.period.grouped', groupedPeriod); } export function getTransactionName(location: Location): string | undefined { diff --git a/static/app/views/routeError.tsx b/static/app/views/routeError.tsx index c6704ef4f8e443..3f7acf24028084 100644 --- a/static/app/views/routeError.tsx +++ b/static/app/views/routeError.tsx @@ -1,7 +1,9 @@ import {useEffect} from 'react'; import styled from '@emotion/styled'; import * as Sentry from '@sentry/react'; +import type {Scope} from '@sentry/types'; +import {getLastEventId} from 'sentry/bootstrap/initializeSdk'; import {Alert} from 'sentry/components/alert'; import ExternalLink from 'sentry/components/links/externalLink'; import List from 'sentry/components/list'; @@ -41,7 +43,7 @@ function RouteError({error, disableLogSentry, disableReport, project}: Props) { } const route = getRouteStringFromRoutes(routes); - const enrichScopeContext = (scope: Sentry.Scope) => { + const enrichScopeContext = (scope: Scope) => { scope.setExtra('route', route); scope.setExtra('orgFeatures', organization?.features ?? []); scope.setExtra('orgAccess', organization?.access ?? []); @@ -75,7 +77,7 @@ function RouteError({error, disableLogSentry, disableReport, project}: Props) { }); if (!disableReport) { - Sentry.showReportDialog(); + Sentry.showReportDialog({eventId: getLastEventId() || ''}); } }); diff --git a/static/app/views/starfish/utils/sqlish/SQLishFormatter.tsx b/static/app/views/starfish/utils/sqlish/SQLishFormatter.tsx index 969d78d6fdbe51..bfa7c3e7b92553 100644 --- a/static/app/views/starfish/utils/sqlish/SQLishFormatter.tsx +++ b/static/app/views/starfish/utils/sqlish/SQLishFormatter.tsx @@ -36,14 +36,13 @@ export class SQLishFormatter { toFormat(sql: string, format: Format, options?: StringFormatterOptions) { let tokens; - const sentryTransaction = Sentry.getActiveTransaction(); - - const sentrySpan = sentryTransaction?.startChild({ + const sentrySpan = Sentry.startInactiveSpan({ op: 'function', - description: 'SQLishFormatter.toFormat', - data: { + name: 'SQLishFormatter.toFormat', + attributes: { format, }, + onlyIfParent: true, }); try { diff --git a/tests/js/instrumentedEnv/userEventIntegration.ts b/tests/js/instrumentedEnv/userEventIntegration.ts index dea209c8704d93..9f3f291be757a0 100644 --- a/tests/js/instrumentedEnv/userEventIntegration.ts +++ b/tests/js/instrumentedEnv/userEventIntegration.ts @@ -1,9 +1,9 @@ -import type {Hub} from '@sentry/types'; +import * as Sentry from '@sentry/react'; import {fill, isThenable, loadModule} from '@sentry/utils'; -export function instrumentUserEvent(getCurrentHub: () => Hub): void { +export function instrumentUserEvent(): void { const pkg = loadModule('@testing-library/user-event') as any; - ACTIONS.forEach((action: Action) => _patchAction(pkg.default, action, getCurrentHub)); + ACTIONS.forEach((action: Action) => _patchAction(pkg.default, action)); } type Action = (typeof ACTIONS)[number]; @@ -23,26 +23,25 @@ const ACTIONS = [ 'keyboard', ]; -function _patchAction(userEvent: any, action: Action, getCurrentHub?: () => Hub): void { +function _patchAction(userEvent: any, action: Action): void { fill(userEvent, action, function (orig: () => void | Promise) { return function patchedAction(this: unknown, ...args: unknown[]) { - const scope = getCurrentHub?.().getScope(); - const parentSpan = scope?.getSpan(); - const span = parentSpan?.startChild({ + const span = Sentry.startInactiveSpan({ op: 'user event', - description: action, + name: action, + onlyIfParent: true, }); const maybePromise = orig.call(this, ...args); if (isThenable(maybePromise)) { return maybePromise.then((res: unknown) => { - span?.end(); + span.end(); return res; }); } - span?.end(); + span.end(); return maybePromise; }; }); diff --git a/tests/js/sentry-test/reactTestingLibrary.tsx b/tests/js/sentry-test/reactTestingLibrary.tsx index 256efe0905384e..17aafd0c67ea4d 100644 --- a/tests/js/sentry-test/reactTestingLibrary.tsx +++ b/tests/js/sentry-test/reactTestingLibrary.tsx @@ -139,18 +139,12 @@ function renderGlobalModal(options?: Options) { return {...result, waitForModalToHide}; } -/** - * jest-sentry-environment attaches a global Sentry object that can be used. - * The types on it conflicts with the existing window.Sentry object so it's using any here. - */ -const globalSentry = (global as any).Sentry; - /** * This cannot be implemented as a Sentry Integration because Jest creates an * isolated environment for each test suite. This means that if we were to apply * the monkey patching ahead of time, it would be shadowed by Jest. */ -instrumentUserEvent(globalSentry?.getCurrentHub.bind(globalSentry)); +instrumentUserEvent(); // eslint-disable-next-line no-restricted-imports, import/export export * from '@testing-library/react'; diff --git a/tests/js/setup.ts b/tests/js/setup.ts index 4c4b039fadf3e7..b43e3be79036ac 100644 --- a/tests/js/setup.ts +++ b/tests/js/setup.ts @@ -96,8 +96,8 @@ jest.mock('echarts-for-react/lib/core', function echartsMockFactory() { jest.mock('@sentry/react', function sentryReact() { const SentryReact = jest.requireActual('@sentry/react'); return { + ...SentryReact, init: jest.fn(), - configureScope: jest.fn(), // Needed atm for getsentry - TODO: remove once we moved to v8 api in getsentry setTag: jest.fn(), setTags: jest.fn(), setExtra: jest.fn(), @@ -112,17 +112,10 @@ jest.mock('@sentry/react', function sentryReact() { finishSpan: jest.fn(), lastEventId: jest.fn(), getClient: jest.spyOn(SentryReact, 'getClient'), - getActiveTransaction: jest.spyOn(SentryReact, 'getActiveTransaction'), - getCurrentHub: jest.spyOn(SentryReact, 'getCurrentHub'), getCurrentScope: jest.spyOn(SentryReact, 'getCurrentScope'), withScope: jest.spyOn(SentryReact, 'withScope'), - Hub: SentryReact.Hub, - Scope: SentryReact.Scope, - Severity: SentryReact.Severity, withProfiler: SentryReact.withProfiler, metrics: { - MetricsAggregator: jest.fn().mockReturnValue({}), - metricsAggregatorIntegration: jest.fn(), increment: jest.fn(), gauge: jest.fn(), set: jest.fn(), @@ -131,21 +124,10 @@ jest.mock('@sentry/react', function sentryReact() { reactRouterV3BrowserTracingIntegration: jest.fn().mockReturnValue({}), browserTracingIntegration: jest.fn().mockReturnValue({}), browserProfilingIntegration: jest.fn().mockReturnValue({}), - addGlobalEventProcessor: jest.fn(), // Kept atm for getsentry - TODO: remove once we moved to v8 api in getsentry addEventProcessor: jest.fn(), BrowserClient: jest.fn().mockReturnValue({ captureEvent: jest.fn(), }), - startTransaction: () => ({ - // Kept atm for getsentry - TODO: remove once we moved to v8 api in getsentry - finish: jest.fn(), - setTag: jest.fn(), - setData: jest.fn(), - setStatus: jest.fn(), - startChild: jest.fn().mockReturnValue({ - finish: jest.fn(), - }), - }), startInactiveSpan: () => ({ end: jest.fn(), setStatus: jest.fn(), diff --git a/yarn.lock b/yarn.lock index fb4cfa0e77ddb1..5159902d0fa706 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1641,6 +1641,77 @@ dependencies: tslib "^2.4.0" +"@hapi/b64@5.x.x": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@hapi/b64/-/b64-5.0.0.tgz#b8210cbd72f4774985e78569b77e97498d24277d" + integrity sha512-ngu0tSEmrezoiIaNGG6rRvKOUkUuDdf4XTPnONHGYfSGRmDqPZX5oJL6HAdKTo1UQHECbdB4OzhWrfgVppjHUw== + dependencies: + "@hapi/hoek" "9.x.x" + +"@hapi/boom@9.x.x", "@hapi/boom@^9.0.0": + version "9.1.4" + resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.4.tgz#1f9dad367c6a7da9f8def24b4a986fc5a7bd9db6" + integrity sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw== + dependencies: + "@hapi/hoek" "9.x.x" + +"@hapi/bourne@2.x.x": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-2.1.0.tgz#66aff77094dc3080bd5df44ec63881f2676eb020" + integrity sha512-i1BpaNDVLJdRBEKeJWkVO6tYX6DMFBuwMhSuWqLsY4ufeTKGVuV5rBsUhxPayXqnnWHgXUAmWK16H/ykO5Wj4Q== + +"@hapi/cryptiles@5.x.x": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/cryptiles/-/cryptiles-5.1.0.tgz#655de4cbbc052c947f696148c83b187fc2be8f43" + integrity sha512-fo9+d1Ba5/FIoMySfMqPBR/7Pa29J2RsiPrl7bkwo5W5o+AN1dAYQRi4SPrPwwVxVGKjgLOEWrsvt1BonJSfLA== + dependencies: + "@hapi/boom" "9.x.x" + +"@hapi/hoek@9.x.x", "@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/iron@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@hapi/iron/-/iron-6.0.0.tgz#ca3f9136cda655bdd6028de0045da0de3d14436f" + integrity sha512-zvGvWDufiTGpTJPG1Y/McN8UqWBu0k/xs/7l++HVU535NLHXsHhy54cfEMdW7EjwKfbBfM9Xy25FmTiobb7Hvw== + dependencies: + "@hapi/b64" "5.x.x" + "@hapi/boom" "9.x.x" + "@hapi/bourne" "2.x.x" + "@hapi/cryptiles" "5.x.x" + "@hapi/hoek" "9.x.x" + +"@hapi/podium@^4.1.3": + version "4.1.3" + resolved "https://registry.yarnpkg.com/@hapi/podium/-/podium-4.1.3.tgz#91e20838fc2b5437f511d664aabebbb393578a26" + integrity sha512-ljsKGQzLkFqnQxE7qeanvgGj4dejnciErYd30dbrYzUOF/FyS/DOF97qcrT3bhoVwCYmxa6PEMhxfCPlnUcD2g== + dependencies: + "@hapi/hoek" "9.x.x" + "@hapi/teamwork" "5.x.x" + "@hapi/validate" "1.x.x" + +"@hapi/teamwork@5.x.x": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@hapi/teamwork/-/teamwork-5.1.1.tgz#4d2ba3cac19118a36c44bf49a3a47674de52e4e4" + integrity sha512-1oPx9AE5TIv+V6Ih54RP9lTZBso3rP8j4Xhb6iSVwPXtAM+sDopl5TFMv5Paw73UnpZJ9gjcrTE1BXrWt9eQrg== + +"@hapi/topo@^5.0.0", "@hapi/topo@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@hapi/validate@1.x.x": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@hapi/validate/-/validate-1.1.3.tgz#f750a07283929e09b51aa16be34affb44e1931ad" + integrity sha512-/XMR0N0wjw0Twzq2pQOzPBZlDzkekGcoCtzO314BpIEsbXdYGthQUbxgkGDf4nhk1+IPDAsXqWjMohRQYO06UA== + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@humanwhocodes/config-array@^0.11.14": version "0.11.14" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" @@ -2003,6 +2074,235 @@ resolved "https://registry.yarnpkg.com/@one-ini/wasm/-/wasm-0.1.1.tgz#6013659736c9dbfccc96e8a9c2b3de317df39323" integrity sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw== +"@opentelemetry/api-logs@0.50.0": + version "0.50.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.50.0.tgz#d46b76daab0bc18fa92dcdabacfc106c380d19a1" + integrity sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA== + dependencies: + "@opentelemetry/api" "^1.0.0" + +"@opentelemetry/api@1.8.0", "@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.6.0", "@opentelemetry/api@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.8.0.tgz#5aa7abb48f23f693068ed2999ae627d2f7d902ec" + integrity sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w== + +"@opentelemetry/context-async-hooks@^1.23.0": + version "1.23.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.23.0.tgz#4c4627fe2857324459b0a78b5a83cbc64a415d14" + integrity sha512-wazGJZDRevibOJ+VgyrT+9+8sybZAxpZx2G7vy30OAtk92OpZCg7HgNxT11NUx0VBDWcRx1dOatMYGOVplQ7QA== + +"@opentelemetry/core@1.21.0": + version "1.21.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.21.0.tgz#8c16faf16edf861b073c03c9d45977b3f4003ee1" + integrity sha512-KP+OIweb3wYoP7qTYL/j5IpOlu52uxBv5M4+QhSmmUfLyTgu1OIS71msK3chFo1D6Y61BIH3wMiMYRCxJCQctA== + dependencies: + "@opentelemetry/semantic-conventions" "1.21.0" + +"@opentelemetry/core@1.23.0", "@opentelemetry/core@^1.1.0", "@opentelemetry/core@^1.23.0", "@opentelemetry/core@^1.8.0": + version "1.23.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.23.0.tgz#f2e7ada7f35750f3c1674aef1e52c879005c0731" + integrity sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ== + dependencies: + "@opentelemetry/semantic-conventions" "1.23.0" + +"@opentelemetry/instrumentation-connect@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.35.0.tgz#d7c68f46ab04f10dc8792ef1fd023eb01748d8db" + integrity sha512-COcQdFNVXyqaVGSuBgIyLu1qZUebjWyQhMAdMOOulCRznhquoyffeymQDZ0LB8XjD7kkG8if8PbykL4b8tjbNA== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.50.0" + "@opentelemetry/semantic-conventions" "^1.0.0" + "@types/connect" "3.4.36" + +"@opentelemetry/instrumentation-express@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-express/-/instrumentation-express-0.35.0.tgz#4391c46f4ce00d840633fd79391028c38eca01bc" + integrity sha512-ZmSB4WMd88sSecOL7DlghzdBl56/8ymb02n+xEJ/6zUgONuw/1uoTh1TAaNPKfEWdNLoLKXQm+Gd2zBrUVOX0w== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.48.0" + "@opentelemetry/semantic-conventions" "^1.0.0" + +"@opentelemetry/instrumentation-fastify@0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.35.0.tgz#e8e197594d6989bac3a4a5129f2c51deec759841" + integrity sha512-lUHj4lYmJswKHR0twg3KFSiIkfTlF4tyh+VwyrrNDYy7yGDqzftP3tP4coVdhT78RRp3DpcAGggbfrIJbdP9pA== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.50.0" + "@opentelemetry/semantic-conventions" "^1.0.0" + +"@opentelemetry/instrumentation-graphql@0.39.0": + version "0.39.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.39.0.tgz#34385482d73060b57f2b9e18517fa7eb7ba117db" + integrity sha512-TUe4DJJ2S89L45eO3esGrQKvIGVasj7gY4Nk7PecxkgeVnKO5gJ41mlbhUOF44vXxYQq53470FNnhe396+JlBQ== + dependencies: + "@opentelemetry/instrumentation" "^0.50.0" + +"@opentelemetry/instrumentation-hapi@0.36.0": + version "0.36.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.36.0.tgz#ce3ed250ee0006f4335bda4cc06bc2d531307d4c" + integrity sha512-0NnXuRF89Windosn+iUpq5Fn/Foy8PMJxtLfe6CakDJIUGPj/g1+erz5irqSOc0P5mM3rEqKC/cYCoSIMKo/eA== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.50.0" + "@opentelemetry/semantic-conventions" "^1.0.0" + "@types/hapi__hapi" "20.0.13" + +"@opentelemetry/instrumentation-http@0.48.0": + version "0.48.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-http/-/instrumentation-http-0.48.0.tgz#88266dfcd2dddb45f755a0f1fc882472e6e30a87" + integrity sha512-uXqOsLhW9WC3ZlGm6+PSX0xjSDTCfy4CMjfYj6TPWusOO8dtdx040trOriF24y+sZmS3M+5UQc6/3/ZxBJh4Mw== + dependencies: + "@opentelemetry/core" "1.21.0" + "@opentelemetry/instrumentation" "0.48.0" + "@opentelemetry/semantic-conventions" "1.21.0" + semver "^7.5.2" + +"@opentelemetry/instrumentation-koa@0.39.0": + version "0.39.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.39.0.tgz#9c01d40a444e592a95b6e39ba0bbe94e096bfc31" + integrity sha512-eSqPzDykJVF9AcOuQvYqYCA/TN8tnU9/RYgrdPclaQcH6nfp0ZbQqLsAMGOwatfwJ8p06FAj+koPBy5NQNFMow== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.50.0" + "@opentelemetry/semantic-conventions" "^1.22.0" + "@types/koa" "2.14.0" + "@types/koa__router" "12.0.3" + +"@opentelemetry/instrumentation-mongodb@0.39.0": + version "0.39.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.39.0.tgz#31bc92c137b578219bfaf4d15c7f247bc8d3b2c6" + integrity sha512-m9dMj39pcCshzlfCEn2lGrlNo7eV5fb9pGBnPyl/Am9Crh7Or8vOqvByCNd26Dgf5J978zTdLGF+6tM8j1WOew== + dependencies: + "@opentelemetry/instrumentation" "^0.48.0" + "@opentelemetry/sdk-metrics" "^1.9.1" + "@opentelemetry/semantic-conventions" "^1.0.0" + +"@opentelemetry/instrumentation-mongoose@0.37.0": + version "0.37.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.37.0.tgz#94da89b80601078f5c46f31e854ede5851ce8dc1" + integrity sha512-VBGfiERp2fxE35OjUFAlfAOKkPOwYx3FqqV8LG7mq6SGK6yhOaU7RvE1b//bhGWoVYohVyxaBIMRVZr4xpmOJQ== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.50.0" + "@opentelemetry/semantic-conventions" "^1.0.0" + +"@opentelemetry/instrumentation-mysql2@0.37.0": + version "0.37.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.37.0.tgz#60590b91292890c6da5a9411a9d801bdb44fa22f" + integrity sha512-KaXZr8B13IovmSN5Xe5qblp34VPsLaooivHMnhOwj2so7ivB1PcGGkesWH5knXC/9iQryiIFXwSDdHrd4R5iXQ== + dependencies: + "@opentelemetry/instrumentation" "^0.50.0" + "@opentelemetry/semantic-conventions" "^1.0.0" + "@opentelemetry/sql-common" "^0.40.0" + +"@opentelemetry/instrumentation-mysql@0.37.0": + version "0.37.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.37.0.tgz#1b4ced2b958d7ffd895a3784496eebfcbf5b27c7" + integrity sha512-swp9B4oIOcduYfOslc7tbFDjOCgKlcSdVOO+emVnaOEvYG19NcGdc82WH6Zqmctl5oOEBVeKHS+wgjjbwBiMWA== + dependencies: + "@opentelemetry/instrumentation" "^0.50.0" + "@opentelemetry/semantic-conventions" "^1.0.0" + "@types/mysql" "2.15.22" + +"@opentelemetry/instrumentation-nestjs-core@0.36.0": + version "0.36.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.36.0.tgz#2d474a34d72c8ebaa8d22e2fd25a4388487b884b" + integrity sha512-ku1HdUWFwd6ajJh0pTPwDmcRZF8sbjLCTQXAjUTrJEfmiXavKHwFBZnyF9/5NWedK8FrfZjZ7+hH9heiDigMNQ== + dependencies: + "@opentelemetry/instrumentation" "^0.50.0" + "@opentelemetry/semantic-conventions" "^1.0.0" + +"@opentelemetry/instrumentation-pg@0.40.0": + version "0.40.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.40.0.tgz#f83bd217ffb41cd471f9acfb5c1d5c1d420a70bb" + integrity sha512-z3v8OzfImnycykWgqIdS44aUZlRwq51yYIo8GfmiRBd8yyMl2ESQyv6z/IAWBWyT015IWGy3ZTijySe65P9J1w== + dependencies: + "@opentelemetry/instrumentation" "^0.50.0" + "@opentelemetry/semantic-conventions" "^1.22.0" + "@opentelemetry/sql-common" "^0.40.0" + "@types/pg" "8.6.1" + "@types/pg-pool" "2.0.4" + +"@opentelemetry/instrumentation@0.48.0", "@opentelemetry/instrumentation@^0.48.0": + version "0.48.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.48.0.tgz#a6dee936e973f1270c464657a55bb570807194aa" + integrity sha512-sjtZQB5PStIdCw5ovVTDGwnmQC+GGYArJNgIcydrDSqUTdYBnMrN9P4pwQZgS3vTGIp+TU1L8vMXGe51NVmIKQ== + dependencies: + "@types/shimmer" "^1.0.2" + import-in-the-middle "1.7.1" + require-in-the-middle "^7.1.1" + semver "^7.5.2" + shimmer "^1.2.1" + +"@opentelemetry/instrumentation@0.50.0", "@opentelemetry/instrumentation@^0.50.0": + version "0.50.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.50.0.tgz#c558cfc64b84c11d304f31ccdf0de312ec60a2c9" + integrity sha512-bhGhbJiZKpuu7wTaSak4hyZcFPlnDeuSF/2vglze8B4w2LubcSbbOnkVTzTs5SXtzh4Xz8eRjaNnAm+u2GYufQ== + dependencies: + "@opentelemetry/api-logs" "0.50.0" + "@types/shimmer" "^1.0.2" + import-in-the-middle "1.7.1" + require-in-the-middle "^7.1.1" + semver "^7.5.2" + shimmer "^1.2.1" + +"@opentelemetry/instrumentation@^0.43.0": + version "0.43.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.43.0.tgz#749521415df03396f969bf42341fcb4acd2e9c7b" + integrity sha512-S1uHE+sxaepgp+t8lvIDuRgyjJWisAb733198kwQTUc9ZtYQ2V2gmyCtR1x21ePGVLoMiX/NWY7WA290hwkjJQ== + dependencies: + "@types/shimmer" "^1.0.2" + import-in-the-middle "1.4.2" + require-in-the-middle "^7.1.1" + semver "^7.5.2" + shimmer "^1.2.1" + +"@opentelemetry/resources@1.23.0", "@opentelemetry/resources@^1.23.0": + version "1.23.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.23.0.tgz#4c71430f3e20c4d88b67ef5629759fae108485e5" + integrity sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg== + dependencies: + "@opentelemetry/core" "1.23.0" + "@opentelemetry/semantic-conventions" "1.23.0" + +"@opentelemetry/sdk-metrics@^1.9.1": + version "1.23.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-1.23.0.tgz#b4cf3cc86b6dedf5c438c67c829df7399bf64be1" + integrity sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg== + dependencies: + "@opentelemetry/core" "1.23.0" + "@opentelemetry/resources" "1.23.0" + lodash.merge "^4.6.2" + +"@opentelemetry/sdk-trace-base@1.23.0", "@opentelemetry/sdk-trace-base@^1.23.0": + version "1.23.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.23.0.tgz#ff0a0f8ec47205e0b14b3b765ea2a34de1ad01dd" + integrity sha512-PzBmZM8hBomUqvCddF/5Olyyviayka44O5nDWq673np3ctnvwMOvNrsUORZjKja1zJbwEuD9niAGbnVrz3jwRQ== + dependencies: + "@opentelemetry/core" "1.23.0" + "@opentelemetry/resources" "1.23.0" + "@opentelemetry/semantic-conventions" "1.23.0" + +"@opentelemetry/semantic-conventions@1.21.0": + version "1.21.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.21.0.tgz#83f7479c524ab523ac2df702ade30b9724476c72" + integrity sha512-lkC8kZYntxVKr7b8xmjCVUgE0a8xgDakPyDo9uSWavXPyYqLgYYGdEd2j8NxihRyb6UwpX3G/hFUF4/9q2V+/g== + +"@opentelemetry/semantic-conventions@1.23.0", "@opentelemetry/semantic-conventions@^1.0.0", "@opentelemetry/semantic-conventions@^1.17.0", "@opentelemetry/semantic-conventions@^1.22.0", "@opentelemetry/semantic-conventions@^1.23.0": + version "1.23.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz#627f2721b960fe586b7f72a07912cb7699f06eef" + integrity sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg== + +"@opentelemetry/sql-common@^0.40.0": + version "0.40.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sql-common/-/sql-common-0.40.0.tgz#8cbed0722354d62997c3b9e1adf0e16257be6b15" + integrity sha512-vSqRJYUPJVjMFQpYkQS3ruexCPSZJ8esne3LazLwtCPaPRvzZ7WG3tX44RouAn7w4wMp8orKguBqtt+ng2UTnw== + dependencies: + "@opentelemetry/core" "^1.1.0" + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" @@ -2033,6 +2333,15 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.5.tgz#db5a11bf66bdab39569719555b0f76e138d7bd64" integrity sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw== +"@prisma/instrumentation@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@prisma/instrumentation/-/instrumentation-5.13.0.tgz#6d4a39ad5cf85757426f9a706b08257b05f273db" + integrity sha512-MEJX1aWLsEjS+2iheBkEy1LlzQuUruPgKEzA9HPMwzitCoUUK1qn5o+yIphU7wWs47Le/cED0egYQL7y9/rSsA== + dependencies: + "@opentelemetry/api" "1.8.0" + "@opentelemetry/instrumentation" "0.50.0" + "@opentelemetry/sdk-trace-base" "1.23.0" + "@react-aria/button@^3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.9.1.tgz#f76f8a74fe6c6b3ffe1fc446d6f750188a33042e" @@ -2725,14 +3034,23 @@ fs-extra "^11.1.1" lodash "^4.17.21" -"@sentry-internal/feedback@7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.111.0.tgz#c715e7e6a1877b60cd1f4dff85969660e0deff3f" - integrity sha512-xaKgPPDEirOan7c9HwzYA1KK87kRp/qfIx9ZKLOEtxwy6nqoMuSByGqSwm1Oqfcjpbd7y6/y+7Bw+69ZKNVLDQ== +"@sentry-internal/browser-utils@8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.0.0-beta.5.tgz#1af061f5cbed854ebf2cda18d3da15bca08afc9b" + integrity sha512-3+XhQPnOBpoukUX+N+gs6Klon7oH8esHG/J9K37ho8hH63A5JIobGNV/dhtzZTKXsS31qGu4X2PM3aA9jjKR+w== + dependencies: + "@sentry/core" "8.0.0-beta.5" + "@sentry/types" "8.0.0-beta.5" + "@sentry/utils" "8.0.0-beta.5" + +"@sentry-internal/feedback@8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.0.0-beta.5.tgz#08457cd7e8a83ac45ca3c36d173bda149ed789e4" + integrity sha512-mqHBiBufJDEv5mZ7alRJpNRO38QVzLAxIdx7aYskiXi57/tPr8AWNkTRQQoDjckQjzgn+lgadYD8nJscSAdyrw== dependencies: - "@sentry/core" "7.111.0" - "@sentry/types" "7.111.0" - "@sentry/utils" "7.111.0" + "@sentry/core" "8.0.0-beta.5" + "@sentry/types" "8.0.0-beta.5" + "@sentry/utils" "8.0.0-beta.5" "@sentry-internal/global-search@^1.0.0": version "1.0.0" @@ -2753,15 +3071,25 @@ resolved "https://registry.yarnpkg.com/@sentry-internal/react-inspector/-/react-inspector-6.0.1-4.tgz#10758f3461cf2cf48df8c80f0514c55ca18872c5" integrity sha512-uL2RyvW8EqDEchnbo8Hu/c4IpBqM3LLxUpZPHs8o40kynerzPset6bC/m5SU124gEhy4PqjdvJ7DhTYR75NetQ== -"@sentry-internal/replay-canvas@7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.111.0.tgz#aa3cba0477f312cbf40eff4eabeaeda6221a55b6" - integrity sha512-3KPBIpiegTYmuVw9gA2aKuliAQONS3Ny1kJc9x5kz6XQGuLFxqlh6KzoCVaKfQJeq2WJqRNeR4KFFuNGuB3H8w== +"@sentry-internal/replay-canvas@8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.0.0-beta.5.tgz#98d1292f43d07289e85c81f3929a387405f03748" + integrity sha512-WBVptOKJUyrv5i39e9BBJ5XPIJLACtenR7PVgFsYm7XkDCaA6ctaK+JHkzWsEwjbEUctjQsxS7a/Bsu6lnBbSQ== dependencies: - "@sentry/core" "7.111.0" - "@sentry/replay" "7.111.0" - "@sentry/types" "7.111.0" - "@sentry/utils" "7.111.0" + "@sentry-internal/replay" "8.0.0-beta.5" + "@sentry/core" "8.0.0-beta.5" + "@sentry/types" "8.0.0-beta.5" + "@sentry/utils" "8.0.0-beta.5" + +"@sentry-internal/replay@8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.0.0-beta.5.tgz#f044b3d14a5a1e48283fa10c3c30a1face23a730" + integrity sha512-cOq52IEKrIBlp0iF0eLPtfDHC+AWrQraeWAJ4UEFprBIJt5oSZiYP5LIDPR4cmFfcFQ0mHaUg9lSdEmdhITn3Q== + dependencies: + "@sentry-internal/browser-utils" "8.0.0-beta.5" + "@sentry/core" "8.0.0-beta.5" + "@sentry/types" "8.0.0-beta.5" + "@sentry/utils" "8.0.0-beta.5" "@sentry-internal/rrdom@2.12.0": version "2.12.0" @@ -2804,83 +3132,100 @@ fflate "^0.4.4" mitt "^3.0.0" -"@sentry-internal/tracing@7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.111.0.tgz#b352df9f38009c5d306308a829a1dd9a57f084fd" - integrity sha512-CgXly8rsdu4loWVKi2RqpInH3C2cVBuaYsx4ZP5IJpzSinsUAMyyr3Pc0PZzCyoVpBBXGBGj/4HhFsY3q6Z0Vg== - dependencies: - "@sentry/core" "7.111.0" - "@sentry/types" "7.111.0" - "@sentry/utils" "7.111.0" - "@sentry/babel-plugin-component-annotate@^2.16.0": version "2.16.0" resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.16.0.tgz#c831713b85516fb3f9da2985836ddf444dc634e6" integrity sha512-+uy1qPkA5MSNgJ0L9ur/vNTydfdHwHnBX2RQ+0thsvkqf90fU788YjkkXwUiBBNuqNyI69JiOW6frixAWy7oUg== -"@sentry/browser@7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.111.0.tgz#29da73e7192eb5643d101c47922d7374e4cc88ed" - integrity sha512-x7S9XoJh+TbMnur4eBhPpCVo+p7udABBV2gQk+Iw6LP9e8EFKmGmNyl76vSsT6GeFJ7mwxDEKfuwbVoLBjIvHw== - dependencies: - "@sentry-internal/feedback" "7.111.0" - "@sentry-internal/replay-canvas" "7.111.0" - "@sentry-internal/tracing" "7.111.0" - "@sentry/core" "7.111.0" - "@sentry/replay" "7.111.0" - "@sentry/types" "7.111.0" - "@sentry/utils" "7.111.0" - -"@sentry/core@7.111.0", "@sentry/core@^7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.111.0.tgz#54c9037a3b79b3623377dce1887b69b40670e201" - integrity sha512-/ljeMjZu8CSrLGrseBi/7S2zRIFsqMcvfyG6Nwgfc07J9nbHt8/MqouE1bXZfiaILqDBpK7BK9MLAAph4mkAWg== - dependencies: - "@sentry/types" "7.111.0" - "@sentry/utils" "7.111.0" - -"@sentry/integrations@^7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.111.0.tgz#088f632938b86c0a141790799649765c100ddc17" - integrity sha512-rNS7euKI2/1CneWbAY2NCkEro/GJbGCyxIX7okmqOjcBJ/7AnrMMU0kck7svydReF1nWvkuQ3CT27KXeKgrk4w== - dependencies: - "@sentry/core" "7.111.0" - "@sentry/types" "7.111.0" - "@sentry/utils" "7.111.0" - localforage "^1.8.1" +"@sentry/browser@8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.0.0-beta.5.tgz#2cb93a56863c3fd5ab808bf624b7405b6aa24dd4" + integrity sha512-K0lHodd8HI/OLYec+N5cKLlsIu/MhR8R57OzNpU5gM1r+KlOrjhLaT1a49fqE+OLYSu5RnozwFLqxfqY6ePlww== + dependencies: + "@sentry-internal/browser-utils" "8.0.0-beta.5" + "@sentry-internal/feedback" "8.0.0-beta.5" + "@sentry-internal/replay" "8.0.0-beta.5" + "@sentry-internal/replay-canvas" "8.0.0-beta.5" + "@sentry/core" "8.0.0-beta.5" + "@sentry/types" "8.0.0-beta.5" + "@sentry/utils" "8.0.0-beta.5" + +"@sentry/core@8.0.0-beta.5", "@sentry/core@^8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.0.0-beta.5.tgz#b68956a863c60af20a0a16ca83885124d6867cf5" + integrity sha512-DVPTRDMGAZXQY5AxQ3j24CnO0KKHQCZT7IP2ZtN4bVQd685inpSKNhVjNCOssI7zhV9QuW62mqbksJ2+JbBdPA== + dependencies: + "@sentry/types" "8.0.0-beta.5" + "@sentry/utils" "8.0.0-beta.5" "@sentry/jest-environment@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@sentry/jest-environment/-/jest-environment-4.0.0.tgz#037844bed70c8f13259ee01ab65ff8d36aef0209" integrity sha512-91jLBS8KbX2Ng0aDSP7kdE9sjiLc4qjp/jczTbmvOvuHxoaQ9hSLaEpsthnnUQ/zNeprZMkOC9xlS+zABw3Zmw== -"@sentry/node@^7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.111.0.tgz#b18fddef2b38e0d9632a1e9db1f4667a2ebe9e2b" - integrity sha512-bTLZNETT7W89HEk04rwsch02KSpu++Yec/BEyM3AxUNY+ZQ9ZLL/lrNZuCwbe7fURpKoZrvGAhxpPjgs5UcB9w== - dependencies: - "@sentry-internal/tracing" "7.111.0" - "@sentry/core" "7.111.0" - "@sentry/types" "7.111.0" - "@sentry/utils" "7.111.0" - -"@sentry/profiling-node@^7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/profiling-node/-/profiling-node-7.109.0.tgz#fb34be1ec533b20ae37b7306a25b0fec1dccafbd" - integrity sha512-wdDxJ86/A71QTpbbn4LaiB6vmvGd3QEq7UOdZS/y/3SwV66zpkvNB8yPER41BgqDjqcmIY/va9fNi319iTREFw== - dependencies: +"@sentry/node@8.0.0-beta.5", "@sentry/node@^8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.0.0-beta.5.tgz#a986672e23ab2694aecd562148d0b6fd6da2d520" + integrity sha512-eYEcQQy/ra7FOXYJRuUZJq+EddXY+E4mNqcAWY+VM45QFtzpfdlMOG8KjpN4Z+ptoeWj5cquao1JZSMWo4cOEw== + dependencies: + "@opentelemetry/api" "^1.8.0" + "@opentelemetry/context-async-hooks" "^1.23.0" + "@opentelemetry/core" "^1.23.0" + "@opentelemetry/instrumentation" "0.48.0" + "@opentelemetry/instrumentation-connect" "0.35.0" + "@opentelemetry/instrumentation-express" "0.35.0" + "@opentelemetry/instrumentation-fastify" "0.35.0" + "@opentelemetry/instrumentation-graphql" "0.39.0" + "@opentelemetry/instrumentation-hapi" "0.36.0" + "@opentelemetry/instrumentation-http" "0.48.0" + "@opentelemetry/instrumentation-koa" "0.39.0" + "@opentelemetry/instrumentation-mongodb" "0.39.0" + "@opentelemetry/instrumentation-mongoose" "0.37.0" + "@opentelemetry/instrumentation-mysql" "0.37.0" + "@opentelemetry/instrumentation-mysql2" "0.37.0" + "@opentelemetry/instrumentation-nestjs-core" "0.36.0" + "@opentelemetry/instrumentation-pg" "0.40.0" + "@opentelemetry/resources" "^1.23.0" + "@opentelemetry/sdk-trace-base" "^1.23.0" + "@opentelemetry/semantic-conventions" "^1.23.0" + "@prisma/instrumentation" "5.13.0" + "@sentry/core" "8.0.0-beta.5" + "@sentry/opentelemetry" "8.0.0-beta.5" + "@sentry/types" "8.0.0-beta.5" + "@sentry/utils" "8.0.0-beta.5" + optionalDependencies: + opentelemetry-instrumentation-fetch-node "1.2.0" + +"@sentry/opentelemetry@8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.0.0-beta.5.tgz#01456904b7947848d6915c419ff088d85522d859" + integrity sha512-Xpwo+8jHSEXUCfTzUh7arvgaijW1+Icp2oZTCCEAlP9Egt+oc+IIeW4sTTur2yYkKSu2brxgF1Hd9ap0krws4Q== + dependencies: + "@sentry/core" "8.0.0-beta.5" + "@sentry/types" "8.0.0-beta.5" + "@sentry/utils" "8.0.0-beta.5" + +"@sentry/profiling-node@^8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry/profiling-node/-/profiling-node-8.0.0-beta.5.tgz#2cbd5444b9cea33f37c25d0946c40b850801f57c" + integrity sha512-R99xCLArQLF2SrY9JYyZPUfsx02fTI9wXCGfCnutan3UAAG8SXIv9qnGkLWIaUE1QJ1EGjztX7HIgY+Ih0l52A== + dependencies: + "@sentry/core" "8.0.0-beta.5" + "@sentry/node" "8.0.0-beta.5" + "@sentry/types" "8.0.0-beta.5" + "@sentry/utils" "8.0.0-beta.5" detect-libc "^2.0.2" node-abi "^3.52.0" -"@sentry/react@^7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.111.0.tgz#ae9ef6d65f176ed5d5442723c2d278d0d0bd6120" - integrity sha512-8HVl4D5TsNLaIgXsOa1H+/aOcUHvRBsH+25OzxGpyS5Cu2gSlAQxfXKYxZ0axYoMc7TNkMNdmEhYN+CGV+NUZg== +"@sentry/react@^8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.0.0-beta.5.tgz#21d1468d46338ddc7d613f114567b6378957df1e" + integrity sha512-wSoG0aVQUUGIEPTm3iqZoKyq8IclPduGY3ZqyMgyNPLNc3bm7RMtVrVF5gAS2oeYXrPf53AVPQmjatIWrg/mug== dependencies: - "@sentry/browser" "7.111.0" - "@sentry/core" "7.111.0" - "@sentry/types" "7.111.0" - "@sentry/utils" "7.111.0" + "@sentry/browser" "8.0.0-beta.5" + "@sentry/core" "8.0.0-beta.5" + "@sentry/types" "8.0.0-beta.5" + "@sentry/utils" "8.0.0-beta.5" hoist-non-react-statics "^3.3.2" "@sentry/release-parser@^1.3.1": @@ -2888,32 +3233,39 @@ resolved "https://registry.yarnpkg.com/@sentry/release-parser/-/release-parser-1.3.1.tgz#0ab8be23fd494d80dd0e4ec8ae5f3d13f805b13d" integrity sha512-/dGpCq+j3sJhqQ14RNEEL45Ot/rgq3jAlZDD/8ufeqq+W8p4gUhSrbGWCRL82NEIWY9SYwxYXGXjRcVPSHiA1Q== -"@sentry/replay@7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.111.0.tgz#6d21bddf2ec245db6eb2c471e81efd94364107ae" - integrity sha512-cSbI4A4hrO0sZ0ynvLQauPg8YyaDOQkhGkyvbws8W9WgfxR8X827bY9S0f1TPfgaFiVcKb0iRaAwyXHg3pyzOg== - dependencies: - "@sentry-internal/tracing" "7.111.0" - "@sentry/core" "7.111.0" - "@sentry/types" "7.111.0" - "@sentry/utils" "7.111.0" - "@sentry/status-page-list@^0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@sentry/status-page-list/-/status-page-list-0.1.0.tgz#49e8683091de0531aba96fc95f19891970929701" integrity sha512-wXWu3IihxFO0l5WQkr6V138ZJKHpL8G7fw/9l0Dl6Nl1ggWcJZOaBN/o5sXasS1e0Atvy2dL9DiPsKmBq8D4MA== -"@sentry/types@7.111.0", "@sentry/types@^7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.111.0.tgz#9c869c3c51d606041916765ba58f29de915707ac" - integrity sha512-Oti4pgQ55+FBHKKcHGu51ZUxO1u52G5iVNK4mbtAN+5ArSCy/2s1H8IDJiOMswn3acfUnCR0oB/QsbEgAPZ26g== +"@sentry/types@8.0.0-beta.5", "@sentry/types@^8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.0.0-beta.5.tgz#1a877194f20ce867743bce514af2f8475f0a91c8" + integrity sha512-BRGvEDtPO5lj70ELF3gujH3z1evkMTOzzF7E+kG1pHzIARS6tSLZgaGsnVVKPA1AIbe7MQ2iWrtTlO1dZWQNpw== + +"@sentry/utils@8.0.0-beta.5", "@sentry/utils@^8.0.0-beta.5": + version "8.0.0-beta.5" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.0.0-beta.5.tgz#2e12e1bd39bb0175bd279e40841e182657cc89d8" + integrity sha512-irInCFhFDejT57iKH6lRCGZMSTRXlcRoExt2QZ84cISC96SgoR4q4kHLzmqsXEtSYD8aKCxnnMpWsYsDrg7wug== + dependencies: + "@sentry/types" "8.0.0-beta.5" -"@sentry/utils@7.111.0", "@sentry/utils@^7.111.0": - version "7.111.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.111.0.tgz#e006cc1e751b30ff5cf914c34eb143102e2e8c2d" - integrity sha512-CB5rz1EgCSwj3xoXogsCZ5pQtfERrURc/ItcCuoaijUhkD0iMq5MCNWMHW3mBsBrqx/Oba+XGvDu0t/5+SWwBg== +"@sideway/address@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" + integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== dependencies: - "@sentry/types" "7.111.0" + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== "@sinclair/typebox@^0.27.8": version "0.27.8" @@ -2944,22 +3296,22 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.1.tgz#621270c02c0a5d4f4669eb1caa9723c91cf201de" integrity sha512-dzJtaDAAoXx4GCOJpbB2eG/Qj8VDpdwkLsWGzGm+0L7E8/434RyMbAHmk9ubXWVAb9nXmc44jUf8GKqVDiKezg== -"@spotlightjs/overlay@1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@spotlightjs/overlay/-/overlay-1.7.0.tgz#5d242815fe135153b2255d5266b4823832d1e141" - integrity sha512-WkJAByFCOzFRXcd4Z1YVTIhm0CVb9rjr1xwpQWZXFjCwyTHGqPa4wBIRQTgi49AiTf3lPr2TbXEltO36O4Um5w== +"@spotlightjs/overlay@2.0.0-alpha.1": + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/@spotlightjs/overlay/-/overlay-2.0.0-alpha.1.tgz#ccf8af298f05f07db54475aee5d633e3f7b4790c" + integrity sha512-BJM8l9mJ6obTX/3xw1Erj9Pk/eVOP8oUtb3PoNjwQfnOrio7J8wlWjSETES22EslVPFI1kpl2UMtB+s91Ic8zQ== "@spotlightjs/sidecar@1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@spotlightjs/sidecar/-/sidecar-1.4.0.tgz#8cbd7b620e718723a9507c5b7975d7d379685cdd" integrity sha512-onj/phrNtDI8a79zc8jfxJ5BITQk5klO4xSoQXxiYeQWTZcegVeO8VftOVfWPBnMY/axnh+ltxJm/cHaV5SP6Q== -"@spotlightjs/spotlight@^1.2.13": - version "1.2.13" - resolved "https://registry.yarnpkg.com/@spotlightjs/spotlight/-/spotlight-1.2.13.tgz#b63cf4bcc6f41931322d072eaba92263d06702d5" - integrity sha512-gxz4Y9EVTdtpV+P/gDmj3MoJQyGcWNXPEN5ouvtUTTyzBSh29Km9Geh6rnsdSuy84yPhs2SOBfiBAhbXLZf9xQ== +"@spotlightjs/spotlight@^2.0.0-alpha.1": + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/@spotlightjs/spotlight/-/spotlight-2.0.0-alpha.1.tgz#942b1ca78723ac5d20f2006e71abe4862ae9b29a" + integrity sha512-d5AorTG9HDmyaFy1RBbYrw8UwxFWT9IU4itJRcnEgp/JdwarOmDAF9w0TsBocKtoCsYtspSaXaN0AxTZqS22iA== dependencies: - "@spotlightjs/overlay" "1.7.0" + "@spotlightjs/overlay" "2.0.0-alpha.1" "@spotlightjs/sidecar" "1.4.0" "@styled/typescript-styled-plugin@^1.0.1": @@ -3086,6 +3438,13 @@ resolved "https://registry.yarnpkg.com/@tsconfig/svelte/-/svelte-1.0.13.tgz#2fa34376627192c0d643ce54964915e2bd3a58e4" integrity sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA== +"@types/accepts@*": + version "1.3.7" + resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.7.tgz#3b98b1889d2b2386604c2bbbe62e4fb51e95b265" + integrity sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ== + dependencies: + "@types/node" "*" + "@types/aria-query@^5.0.1": version "5.0.4" resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" @@ -3180,11 +3539,33 @@ dependencies: "@types/node" "*" +"@types/connect@3.4.36": + version "3.4.36" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.36.tgz#e511558c15a39cb29bd5357eebb57bd1459cd1ab" + integrity sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w== + dependencies: + "@types/node" "*" + +"@types/content-disposition@*": + version "0.5.8" + resolved "https://registry.yarnpkg.com/@types/content-disposition/-/content-disposition-0.5.8.tgz#6742a5971f490dc41e59d277eee71361fea0b537" + integrity sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg== + "@types/cookie@^0.4.1": version "0.4.1" resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== +"@types/cookies@*": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.9.0.tgz#a2290cfb325f75f0f28720939bee854d4142aee2" + integrity sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q== + dependencies: + "@types/connect" "*" + "@types/express" "*" + "@types/keygrip" "*" + "@types/node" "*" + "@types/cors@^2.8.12": version "2.8.17" resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b" @@ -3262,6 +3643,39 @@ dependencies: "@types/node" "*" +"@types/hapi__catbox@*": + version "10.2.6" + resolved "https://registry.yarnpkg.com/@types/hapi__catbox/-/hapi__catbox-10.2.6.tgz#e516bfb4e461441b4ea7f9be870e48864a289494" + integrity sha512-qdMHk4fBlwRfnBBDJaoaxb+fU9Ewi2xqkXD3mNjSPl2v/G/8IJbDpVRBuIcF7oXrcE8YebU5M8cCeKh1NXEn0w== + +"@types/hapi__hapi@20.0.13": + version "20.0.13" + resolved "https://registry.yarnpkg.com/@types/hapi__hapi/-/hapi__hapi-20.0.13.tgz#ea8ce83c192f6e8106f6e76e40f795e7e36d0615" + integrity sha512-LP4IPfhIO5ZPVOrJo7H8c8Slc0WYTFAUNQX1U0LBPKyXioXhH5H2TawIgxKujIyOhbwoBbpvOsBf6o5+ToJIrQ== + dependencies: + "@hapi/boom" "^9.0.0" + "@hapi/iron" "^6.0.0" + "@hapi/podium" "^4.1.3" + "@types/hapi__catbox" "*" + "@types/hapi__mimos" "*" + "@types/hapi__shot" "*" + "@types/node" "*" + joi "^17.3.0" + +"@types/hapi__mimos@*": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@types/hapi__mimos/-/hapi__mimos-4.1.4.tgz#4f8a1c58345fc468553708d3cb508724aa081bd9" + integrity sha512-i9hvJpFYTT/qzB5xKWvDYaSXrIiNqi4ephi+5Lo6+DoQdwqPXQgmVVOZR+s3MBiHoFqsCZCX9TmVWG3HczmTEQ== + dependencies: + "@types/mime-db" "*" + +"@types/hapi__shot@*": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@types/hapi__shot/-/hapi__shot-4.1.6.tgz#ee45d9a4a4e109a8d623e4f5f58ae2d8bd7c0773" + integrity sha512-h33NBjx2WyOs/9JgcFeFhkxnioYWQAZxOHdmqDuoJ1Qjxpcs+JGvSjEEoDeWfcrF+1n47kKgqph5IpfmPOnzbg== + dependencies: + "@types/node" "*" + "@types/history@^3.2.5": version "3.2.5" resolved "https://registry.yarnpkg.com/@types/history/-/history-3.2.5.tgz#be614208f1a10a20c414b4d3762d1f2b65b53ae4" @@ -3272,6 +3686,11 @@ resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== +"@types/http-assert@*": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.5.tgz#dfb1063eb7c240ee3d3fe213dac5671cfb6a8dbf" + integrity sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g== + "@types/http-errors@*": version "2.0.4" resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" @@ -3345,11 +3764,63 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= +"@types/keygrip@*": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.6.tgz#1749535181a2a9b02ac04a797550a8787345b740" + integrity sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ== + +"@types/koa-compose@*": + version "3.2.8" + resolved "https://registry.yarnpkg.com/@types/koa-compose/-/koa-compose-3.2.8.tgz#dec48de1f6b3d87f87320097686a915f1e954b57" + integrity sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA== + dependencies: + "@types/koa" "*" + +"@types/koa@*": + version "2.15.0" + resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.15.0.tgz#eca43d76f527c803b491731f95df575636e7b6f2" + integrity sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g== + dependencies: + "@types/accepts" "*" + "@types/content-disposition" "*" + "@types/cookies" "*" + "@types/http-assert" "*" + "@types/http-errors" "*" + "@types/keygrip" "*" + "@types/koa-compose" "*" + "@types/node" "*" + +"@types/koa@2.14.0": + version "2.14.0" + resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.14.0.tgz#8939e8c3b695defc12f2ef9f38064509e564be18" + integrity sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA== + dependencies: + "@types/accepts" "*" + "@types/content-disposition" "*" + "@types/cookies" "*" + "@types/http-assert" "*" + "@types/http-errors" "*" + "@types/keygrip" "*" + "@types/koa-compose" "*" + "@types/node" "*" + +"@types/koa__router@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@types/koa__router/-/koa__router-12.0.3.tgz#3fb74ea1991cadd6c6712b6106657aa6e64afca4" + integrity sha512-5YUJVv6NwM1z7m6FuYpKfNLTZ932Z6EF6xy2BbtpJSyn13DKNQEkXVffFVSnJHxvwwWh2SAeumpjAYUELqgjyw== + dependencies: + "@types/koa" "*" + "@types/lodash@^4.14.182": version "4.14.182" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== +"@types/mime-db@*": + version "1.43.5" + resolved "https://registry.yarnpkg.com/@types/mime-db/-/mime-db-1.43.5.tgz#7a3f53dc2125a91f4e0e41f1353f60f8b6af609e" + integrity sha512-/bfTiIUTNPUBnwnYvUxXAre5MhD88jgagLEQiQtIASjU+bwxd8kS/ASDA4a8ufd8m0Lheu6eeMJHEUpLHoJ28A== + "@types/mime@^1": version "1.3.5" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" @@ -3362,6 +3833,13 @@ dependencies: mini-css-extract-plugin "*" +"@types/mysql@2.15.22": + version "2.15.22" + resolved "https://registry.yarnpkg.com/@types/mysql/-/mysql-2.15.22.tgz#8705edb9872bf4aa9dbc004cd494e00334e5cdb4" + integrity sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ== + dependencies: + "@types/node" "*" + "@types/node-forge@^1.3.0": version "1.3.11" resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" @@ -3393,6 +3871,31 @@ resolved "https://registry.yarnpkg.com/@types/pegjs/-/pegjs-0.10.3.tgz#9e254036c6bf2254cd98caec447a1d79b6607bff" integrity sha512-C/ZkUNe7HONOaDHXfNTZOUzrOvOgrWdrJj1JZ3QTEPi5gOIygcjCpXyxpdJTKVvWFzbobajRbMbQY8d0WrZ6fg== +"@types/pg-pool@2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/pg-pool/-/pg-pool-2.0.4.tgz#b5c60f678094ff3acf3442628a7f708928fcf263" + integrity sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ== + dependencies: + "@types/pg" "*" + +"@types/pg@*": + version "8.11.5" + resolved "https://registry.yarnpkg.com/@types/pg/-/pg-8.11.5.tgz#a1ffb4dc4a46a83bda096cb298051a5b171de167" + integrity sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw== + dependencies: + "@types/node" "*" + pg-protocol "*" + pg-types "^4.0.1" + +"@types/pg@8.6.1": + version "8.6.1" + resolved "https://registry.yarnpkg.com/@types/pg/-/pg-8.6.1.tgz#099450b8dc977e8197a44f5229cedef95c8747f9" + integrity sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w== + dependencies: + "@types/node" "*" + pg-protocol "*" + pg-types "^2.2.0" + "@types/prismjs@^1.26.0": version "1.26.0" resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.0.tgz#a1c3809b0ad61c62cac6d4e0c56d610c910b7654" @@ -3547,6 +4050,11 @@ "@types/node" "*" "@types/send" "*" +"@types/shimmer@^1.0.2": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.5.tgz#491d8984d4510e550bfeb02d518791d7f59d2b88" + integrity sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww== + "@types/sockjs@^0.3.36": version "0.3.36" resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" @@ -4768,6 +5276,11 @@ cjs-module-lexer@^1.0.0: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz#2fd46d9906a126965aa541345c499aaa18e8cd73" integrity sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw== +cjs-module-lexer@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + classnames@2.3.1, classnames@^2.2.6: version "2.3.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" @@ -7172,11 +7685,6 @@ image-size@~0.5.0: resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== - import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -7185,6 +7693,26 @@ import-fresh@^3.2.1, import-fresh@^3.3.0: parent-module "^1.0.0" resolve-from "^4.0.0" +import-in-the-middle@1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b" + integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw== + dependencies: + acorn "^8.8.2" + acorn-import-assertions "^1.9.0" + cjs-module-lexer "^1.2.2" + module-details-from-path "^1.0.3" + +import-in-the-middle@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.7.1.tgz#3e111ff79c639d0bde459bd7ba29dd9fdf357364" + integrity sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg== + dependencies: + acorn "^8.8.2" + acorn-import-assertions "^1.9.0" + cjs-module-lexer "^1.2.2" + module-details-from-path "^1.0.3" + import-local@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" @@ -8057,6 +8585,17 @@ jest@29.6.2: import-local "^3.0.2" jest-cli "^29.6.2" +joi@^17.3.0: + version "17.12.3" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.3.tgz#944646979cd3b460178547b12ba37aca8482f63d" + integrity sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g== + dependencies: + "@hapi/hoek" "^9.3.0" + "@hapi/topo" "^5.1.0" + "@sideway/address" "^4.1.5" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + js-beautify@^1.15.1: version "1.15.1" resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.15.1.tgz#4695afb508c324e1084ee0b952a102023fc65b64" @@ -8287,13 +8826,6 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -lie@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" - integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw== - dependencies: - immediate "~3.0.5" - lightningcss-darwin-arm64@1.23.0: version "1.23.0" resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.23.0.tgz#11780f37158a458cead5e89202f74cd99b926e36" @@ -8411,13 +8943,6 @@ loader-utils@^2.0.0, loader-utils@^2.0.4: emojis-list "^3.0.0" json5 "^2.1.2" -localforage@^1.8.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" - integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== - dependencies: - lie "3.1.1" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -8736,6 +9261,11 @@ mockdate@3.0.5: resolved "https://registry.yarnpkg.com/mockdate/-/mockdate-3.0.5.tgz#789be686deb3149e7df2b663d2bc4392bc3284fb" integrity sha512-iniQP4rj1FhBdBYS/+eQv7j1tadJ9lJtdzgOpvsOHng/GbcDh2Fhdeq+ZRldrPYdXvCyfFUmFeEwEGXZB5I/AQ== +module-details-from-path@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" + integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== + moment-timezone@0.5.43: version "0.5.43" resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.43.tgz#3dd7f3d0c67f78c23cd1906b9b2137a09b3c4790" @@ -8962,7 +9492,7 @@ object.values@^1.1.7: define-properties "^1.2.0" es-abstract "^1.22.1" -obuf@^1.0.0, obuf@^1.1.2: +obuf@^1.0.0, obuf@^1.1.2, obuf@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== @@ -9024,6 +9554,15 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== +opentelemetry-instrumentation-fetch-node@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/opentelemetry-instrumentation-fetch-node/-/opentelemetry-instrumentation-fetch-node-1.2.0.tgz#5beaad33b622f7021c61733af864fb505cd35626" + integrity sha512-aiSt/4ubOTyb1N5C2ZbGrBvaJOXIZhZvpRPYuUVxQJe27wJZqf/o65iPrqgLcgfeOLaQ8cS2Q+762jrYvniTrA== + dependencies: + "@opentelemetry/api" "^1.6.0" + "@opentelemetry/instrumentation" "^0.43.0" + "@opentelemetry/semantic-conventions" "^1.17.0" + optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -9210,6 +9749,45 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +pg-int8@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" + integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== + +pg-numeric@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pg-numeric/-/pg-numeric-1.0.2.tgz#816d9a44026086ae8ae74839acd6a09b0636aa3a" + integrity sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== + +pg-protocol@*: + version "1.6.1" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.6.1.tgz#21333e6d83b01faaebfe7a33a7ad6bfd9ed38cb3" + integrity sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg== + +pg-types@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3" + integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== + dependencies: + pg-int8 "1.0.1" + postgres-array "~2.0.0" + postgres-bytea "~1.0.0" + postgres-date "~1.0.4" + postgres-interval "^1.1.0" + +pg-types@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-4.0.2.tgz#399209a57c326f162461faa870145bb0f918b76d" + integrity sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== + dependencies: + pg-int8 "1.0.1" + pg-numeric "1.0.2" + postgres-array "~3.0.1" + postgres-bytea "~3.0.0" + postgres-date "~2.1.0" + postgres-interval "^3.0.0" + postgres-range "^1.1.1" + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -9525,6 +10103,55 @@ postcss@^8.4.33: picocolors "^1.0.0" source-map-js "^1.0.2" +postgres-array@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" + integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== + +postgres-array@~3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-3.0.2.tgz#68d6182cb0f7f152a7e60dc6a6889ed74b0a5f98" + integrity sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== + +postgres-bytea@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" + integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== + +postgres-bytea@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-3.0.0.tgz#9048dc461ac7ba70a6a42d109221619ecd1cb089" + integrity sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== + dependencies: + obuf "~1.1.2" + +postgres-date@~1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz#51bc086006005e5061c591cee727f2531bf641a8" + integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== + +postgres-date@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-2.1.0.tgz#b85d3c1fb6fb3c6c8db1e9942a13a3bf625189d0" + integrity sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== + +postgres-interval@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695" + integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== + dependencies: + xtend "^4.0.0" + +postgres-interval@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-3.0.0.tgz#baf7a8b3ebab19b7f38f07566c7aab0962f0c86a" + integrity sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== + +postgres-range@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/postgres-range/-/postgres-range-1.1.4.tgz#a59c5f9520909bcec5e63e8cf913a92e4c952863" + integrity sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -10054,6 +10681,15 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== +require-in-the-middle@^7.1.1: + version "7.3.0" + resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.3.0.tgz#ce64a1083647dc07b3273b348357efac8a9945c9" + integrity sha512-nQFEv9gRw6SJAwWD2LrL0NmQvAcO7FBwJbwmr2ttPAacfy0xuiOjE5zt+zM4xDyuyvUaxBi/9gb2SoCyNEVJcw== + dependencies: + debug "^4.1.1" + module-details-from-path "^1.0.3" + resolve "^1.22.1" + requireindex@^1.2.0, requireindex@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef" @@ -10091,7 +10727,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e" integrity sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg== -resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.4: +resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -10255,7 +10891,7 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: +semver@^7.3.5, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: version "7.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== @@ -10372,6 +11008,11 @@ shell-quote@^1.8.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== +shimmer@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" + integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== + side-channel@^1.0.4, side-channel@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" @@ -11692,6 +12333,11 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"