From 18b8cb204d2d2d5381eb82b89869c6118d8fee85 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Fri, 31 May 2024 12:23:50 +0200 Subject: [PATCH 1/5] feat: Support versioned Sentry carrier object introduced in 8.6.0+ --- .../overlay/src/integrations/sentry/index.ts | 81 +++++++++++++------ 1 file changed, 56 insertions(+), 25 deletions(-) diff --git a/packages/overlay/src/integrations/sentry/index.ts b/packages/overlay/src/integrations/sentry/index.ts index 66bacf0ea..bdef31568 100644 --- a/packages/overlay/src/integrations/sentry/index.ts +++ b/packages/overlay/src/integrations/sentry/index.ts @@ -96,20 +96,27 @@ export default function sentryIntegration(options?: SentryIntegrationOptions) { } satisfies Integration; } -type WindowWithSentry = Window & { - __SENTRY__?: { - /** Future-proof v8 way of accessing Sentry APIs via the global */ - acs?: { - getCurrentScope: () => { - getClient: () => Client | undefined; - }; - }; - hub?: { - getClient: () => Client | undefined; - }; +type VersionedCarrier = { version: string } & Record, { acs: V8AsyncContextStrategy }>; + +type V8AsyncContextStrategy = { + getCurrentScope?: () => { + getClient?: () => Client | undefined; }; }; +type LegacyCarrier = { + /** 8.0.0-8.5.0 way if accessing client */ + acs?: V8AsyncContextStrategy; + /** pre-v8 way of accessing client (v7 and earlier) */ + hub?: { + getClient?: () => Client | undefined; + }; +}; + +type WindowWithSentry = Window & { + __SENTRY__?: LegacyCarrier & VersionedCarrier; +}; + export function processEnvelope(rawEvent: RawEventContext) { const { data } = rawEvent; const [rawHeader, ...rawEntries] = data.split(/\n/gm); @@ -167,22 +174,11 @@ function addSpotlightIntegrationToSentry(options?: SentryIntegrationOptions) { return; } - const sentryGlobal = - // This is what we expect the v8-stable accessor to be - (window as WindowWithSentry).__SENTRY__?.acs?.getCurrentScope() || - // This is the current accessor (v7 and v8-alpha) - (window as WindowWithSentry).__SENTRY__?.hub; - - if (!sentryGlobal) { - log( - "Couldn't find the Sentry SDK on this page. If you're using a Sentry SDK, make sure you're using version >=7.99.0 or 8.x", - ); - return; - } + const sentryCarrier = (window as WindowWithSentry).__SENTRY__; + const sentryClient = sentryCarrier && getSentryClient(sentryCarrier); - const sentryClient = sentryGlobal.getClient(); if (!sentryClient) { - warn("Couldn't find a Sentry SDK client. Make sure you're using a Sentry SDK with version >=7.99.0 or 8.x"); + log("Couldn't find a Sentry SDK client. Make sure you're using a Sentry SDK with version >=7.99.0 or 8.x"); return; } @@ -211,3 +207,38 @@ function addSpotlightIntegrationToSentry(options?: SentryIntegrationOptions) { log('Added Spotlight integration to Sentry SDK'); } + +/** + * Accesses the `window.__SENTRY__` carrier object and tries to get the Sentry client + * from it. This function supports all carrier object structures from v7 to all versions + * of v8. + */ +function getSentryClient(sentryCarrier: LegacyCarrier & VersionedCarrier): Client | undefined { + // 8.6.0+ way to get the client + if (sentryCarrier.version) { + const versionedCarrier = sentryCarrier[sentryCarrier.version]; + const scope = versionedCarrier?.acs?.getCurrentScope?.(); + if (typeof scope?.getClient === 'function') { + return scope.getClient(); + } + } + + // 8.0.0-8.5.0 way to get the client + if (sentryCarrier.acs) { + const acs = sentryCarrier.acs; + const scope = typeof acs.getCurrentScope === 'function' ? acs.getCurrentScope() : undefined; + if (typeof scope?.getClient === 'function') { + return scope.getClient(); + } + } + + // pre-v8 way to get the client + if (sentryCarrier.hub) { + const hub = sentryCarrier.hub; + if (typeof hub.getClient === 'function') { + return hub.getClient(); + } + } + + return undefined; +} From a0923ffe66928aea6e2cab521e4bb76c42f6b051 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Fri, 31 May 2024 12:56:04 +0200 Subject: [PATCH 2/5] test in demo --- demos/astro-playground/package.json | 2 +- .../overlay/src/integrations/sentry/index.ts | 15 +- pnpm-lock.yaml | 723 +++++++++++++++--- 3 files changed, 642 insertions(+), 98 deletions(-) diff --git a/demos/astro-playground/package.json b/demos/astro-playground/package.json index e278607de..12bb107ba 100644 --- a/demos/astro-playground/package.json +++ b/demos/astro-playground/package.json @@ -17,7 +17,7 @@ "@astrojs/node": "^6.0.4", "@astrojs/react": "^3.0.5", "@astrojs/svelte": "^4.0.4", - "@sentry/astro": "^8.0.0-alpha.7", + "@sentry/astro": "8.7.0", "@spotlightjs/astro": "workspace:*", "@types/react": "^18.2.37", "@types/react-dom": "^18.2.15", diff --git a/packages/overlay/src/integrations/sentry/index.ts b/packages/overlay/src/integrations/sentry/index.ts index bdef31568..36019b5cc 100644 --- a/packages/overlay/src/integrations/sentry/index.ts +++ b/packages/overlay/src/integrations/sentry/index.ts @@ -96,17 +96,17 @@ export default function sentryIntegration(options?: SentryIntegrationOptions) { } satisfies Integration; } -type VersionedCarrier = { version: string } & Record, { acs: V8AsyncContextStrategy }>; +type VersionedCarrier = { version: string } & Record, { stack: V8AsyncContextStrategy }>; type V8AsyncContextStrategy = { - getCurrentScope?: () => { + getScope?: () => { getClient?: () => Client | undefined; }; }; type LegacyCarrier = { /** 8.0.0-8.5.0 way if accessing client */ - acs?: V8AsyncContextStrategy; + stack?: V8AsyncContextStrategy; /** pre-v8 way of accessing client (v7 and earlier) */ hub?: { getClient?: () => Client | undefined; @@ -217,16 +217,17 @@ function getSentryClient(sentryCarrier: LegacyCarrier & VersionedCarrier): Clien // 8.6.0+ way to get the client if (sentryCarrier.version) { const versionedCarrier = sentryCarrier[sentryCarrier.version]; - const scope = versionedCarrier?.acs?.getCurrentScope?.(); + const scope = + typeof versionedCarrier?.stack?.getScope === 'function' ? versionedCarrier?.stack?.getScope?.() : undefined; if (typeof scope?.getClient === 'function') { return scope.getClient(); } } // 8.0.0-8.5.0 way to get the client - if (sentryCarrier.acs) { - const acs = sentryCarrier.acs; - const scope = typeof acs.getCurrentScope === 'function' ? acs.getCurrentScope() : undefined; + if (sentryCarrier.stack) { + const stack = sentryCarrier.stack; + const scope = typeof stack.getScope === 'function' ? stack.getScope() : undefined; if (typeof scope?.getClient === 'function') { return scope.getClient(); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5b4f8e407..00077be76 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -73,8 +73,8 @@ importers: specifier: ^4.0.4 version: 4.0.4(astro@3.5.5)(svelte@5.0.0-next.4)(typescript@5.2.2)(vite@4.5.2) '@sentry/astro': - specifier: ^8.0.0-alpha.7 - version: 8.0.0-alpha.7(astro@3.5.5) + specifier: 8.7.0 + version: 8.7.0(astro@3.5.5) '@spotlightjs/astro': specifier: workspace:* version: link:../../packages/astro @@ -196,10 +196,10 @@ importers: dependencies: '@sentry/nextjs': specifier: 8.0.0-alpha.7 - version: 8.0.0-alpha.7(next@14.1.0)(react@18.2.0)(webpack@5.91.0) + version: 8.0.0-alpha.7(next@14.2.2)(react@18.2.0)(webpack@5.91.0) next: specifier: latest - version: 14.1.0(@babel/core@7.23.6)(@opentelemetry/api@1.7.0)(react-dom@18.2.0)(react@18.2.0) + version: 14.2.2(@babel/core@7.23.6)(@opentelemetry/api@1.7.0)(@playwright/test@1.40.1)(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -1071,8 +1071,8 @@ packages: engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.23.6 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: @@ -2932,7 +2932,6 @@ packages: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 - dev: false /@jridgewell/resolve-uri@3.1.1: resolution: @@ -2948,7 +2947,6 @@ packages: resolution: { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } engines: { node: '>=6.0.0' } - dev: false /@jridgewell/source-map@0.3.6: resolution: @@ -2975,7 +2973,6 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - dev: false /@malept/cross-spawn-promise@1.1.1: resolution: @@ -3116,14 +3113,14 @@ packages: { integrity: sha512-SmksyaJAdSlMa9cTidVSIqYo1qti+WTsviNDwgjNVm+KQ3DRP2Df9umDIzC4vCcpEYY+chQe0i2IKnLw03AT8Q== } dev: true - /@next/env@14.1.0: + /@next/env@14.2.2: resolution: - { integrity: sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw== } + { integrity: sha512-sk72qRfM1Q90XZWYRoJKu/UWlTgihrASiYw/scb15u+tyzcze3bOuJ/UV6TBOQEeUaxOkRqGeuGUdiiuxc5oqw== } dev: false - /@next/swc-darwin-arm64@14.1.0: + /@next/swc-darwin-arm64@14.2.2: resolution: - { integrity: sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ== } + { integrity: sha512-3iPgMhzbalizGwHNFUcGnDhFPSgVBHQ8aqSTAMxB5BvJG0oYrDf1WOJZlbXBgunOEj/8KMVbejEur/FpvFsgFQ== } engines: { node: '>= 10' } cpu: [arm64] os: [darwin] @@ -3131,9 +3128,9 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@14.1.0: + /@next/swc-darwin-x64@14.2.2: resolution: - { integrity: sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g== } + { integrity: sha512-x7Afi/jt0ZBRUZHTi49yyej4o8znfIMHO4RvThuoc0P+uli8Jd99y5GKjxoYunPKsXL09xBXEM1+OQy2xEL0Ag== } engines: { node: '>= 10' } cpu: [x64] os: [darwin] @@ -3141,9 +3138,9 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu@14.1.0: + /@next/swc-linux-arm64-gnu@14.2.2: resolution: - { integrity: sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ== } + { integrity: sha512-zbfPtkk7L41ODMJwSp5VbmPozPmMMQrzAc0HAUomVeVIIwlDGs/UCqLJvLNDt4jpWgc21SjjyIn762lNGrMaUA== } engines: { node: '>= 10' } cpu: [arm64] os: [linux] @@ -3151,9 +3148,9 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@14.1.0: + /@next/swc-linux-arm64-musl@14.2.2: resolution: - { integrity: sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g== } + { integrity: sha512-wPbS3pI/JU16rm3XdLvvTmlsmm1nd+sBa2ohXgBZcShX4TgOjD4R+RqHKlI1cjo/jDZKXt6OxmcU0Iys0OC/yg== } engines: { node: '>= 10' } cpu: [arm64] os: [linux] @@ -3161,9 +3158,9 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@14.1.0: + /@next/swc-linux-x64-gnu@14.2.2: resolution: - { integrity: sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ== } + { integrity: sha512-NqWOHqqq8iC9tuHvZxjQ2tX+jWy2X9y8NX2mcB4sj2bIccuCxbIZrU/ThFPZZPauygajZuVQ6zediejQHwZHwQ== } engines: { node: '>= 10' } cpu: [x64] os: [linux] @@ -3171,9 +3168,9 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@14.1.0: + /@next/swc-linux-x64-musl@14.2.2: resolution: - { integrity: sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg== } + { integrity: sha512-lGepHhwb9sGhCcU7999+iK1ZZT+6rrIoVg40MP7DZski9GIZP80wORSbt5kJzh9v2x2ev2lxC6VgwMQT0PcgTA== } engines: { node: '>= 10' } cpu: [x64] os: [linux] @@ -3181,9 +3178,9 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@14.1.0: + /@next/swc-win32-arm64-msvc@14.2.2: resolution: - { integrity: sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ== } + { integrity: sha512-TZSh/48SfcLEQ4rD25VVn2kdIgUWmMflRX3OiyPwGNXn3NiyPqhqei/BaqCYXViIQ+6QsG9R0C8LftMqy8JPMA== } engines: { node: '>= 10' } cpu: [arm64] os: [win32] @@ -3191,9 +3188,9 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@14.1.0: + /@next/swc-win32-ia32-msvc@14.2.2: resolution: - { integrity: sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw== } + { integrity: sha512-M0tBVNMEBJN2ZNQWlcekMn6pvLria7Sa2Fai5znm7CCJz4pP3lrvlSxhKdkCerk0D9E0bqx5yAo3o2Q7RrD4gA== } engines: { node: '>= 10' } cpu: [ia32] os: [win32] @@ -3201,9 +3198,9 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@14.1.0: + /@next/swc-win32-x64-msvc@14.2.2: resolution: - { integrity: sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg== } + { integrity: sha512-a/20E/wtTJZ3Ykv3f/8F0l7TtgQa2LWHU2oNB9bsu0VjqGuGGHmm/q6waoUNQYTVPYrrlxxaHjJcDV6aiSTt/w== } engines: { node: '>= 10' } cpu: [x64] os: [win32] @@ -3237,12 +3234,26 @@ packages: { integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw== } dev: true + /@opentelemetry/api-logs@0.51.1: + resolution: + { integrity: sha512-E3skn949Pk1z2XtXu/lxf6QAZpawuTM/IUEXcAzpiUkTd73Hmvw26FiN3cJuTmkpM5hZzHwkomVdtrh/n/zzwA== } + engines: { node: '>=14' } + dependencies: + '@opentelemetry/api': 1.8.0 + dev: false + /@opentelemetry/api@1.7.0: resolution: { integrity: sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw== } engines: { node: '>=8.0.0' } dev: false + /@opentelemetry/api@1.8.0: + resolution: + { integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w== } + engines: { node: '>=8.0.0' } + dev: false + /@opentelemetry/context-async-hooks@1.21.0(@opentelemetry/api@1.7.0): resolution: { integrity: sha512-t0iulGPiMjG/NrSjinPQoIf8ST/o9V0dGOJthfrFporJlNdlKIQPfC7lkrV+5s2dyBThfmSbJlp/4hO1eOcDXA== } @@ -3253,6 +3264,16 @@ packages: '@opentelemetry/api': 1.7.0 dev: false + /@opentelemetry/context-async-hooks@1.24.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-R5r6DO4kgEOVBxFXhXjwospLQkv+sYxwCfjvoZBe7Zm6KKXAV9kDSJhi/D1BweowdZmO+sdbENLs374gER8hpQ== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + dev: false + /@opentelemetry/core@1.20.0(@opentelemetry/api@1.7.0): resolution: { integrity: sha512-lSRvk5AIdD6CtgYJcJXh0wGibQ3S/8bC2qbqKs9wK8e0K1tsWV6YkGFOqVc+jIRlCbZoIBeZzDe5UI+vb94uvg== } @@ -3286,6 +3307,55 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 dev: false + /@opentelemetry/core@1.22.0(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/semantic-conventions': 1.22.0 + dev: false + + /@opentelemetry/core@1.24.1(@opentelemetry/api@1.7.0): + resolution: + { integrity: sha512-wMSGfsdmibI88K9wB498zXY04yThPexo8jvwNNlm542HZB7XrrMRBbAyKJqG8qDRJwIBdBrPMi4V9ZPW/sqrcg== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.7.0 + '@opentelemetry/semantic-conventions': 1.24.1 + dev: false + + /@opentelemetry/core@1.24.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-wMSGfsdmibI88K9wB498zXY04yThPexo8jvwNNlm542HZB7XrrMRBbAyKJqG8qDRJwIBdBrPMi4V9ZPW/sqrcg== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/semantic-conventions': 1.24.1 + dev: false + + /@opentelemetry/instrumentation-connect@0.36.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-xI5Q/CMmzBmHshPnzzjD19ptFaYO/rQWzokpNio4QixZYWhJsa35QgRvN9FhPkwgtuJIbt/CWWAufJ3egJNHEA== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 + '@types/connect': 3.4.36 + transitivePeerDependencies: + - supports-color + dev: false + /@opentelemetry/instrumentation-express@0.35.0(@opentelemetry/api@1.7.0): resolution: { integrity: sha512-ZmSB4WMd88sSecOL7DlghzdBl56/8ymb02n+xEJ/6zUgONuw/1uoTh1TAaNPKfEWdNLoLKXQm+Gd2zBrUVOX0w== } @@ -3294,9 +3364,24 @@ packages: '@opentelemetry/api': ^1.3.0 dependencies: '@opentelemetry/api': 1.7.0 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.7.0) + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.7.0) '@opentelemetry/instrumentation': 0.48.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 + '@opentelemetry/semantic-conventions': 1.24.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation-express@0.39.0(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-AG8U7z7D0JcBu/7dDcwb47UMEzj9/FMiJV2iQZqrsZnxR3FjB9J9oIH2iszJYci2eUdp2WbdvtpD9RV/zmME5A== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 transitivePeerDependencies: - supports-color dev: false @@ -3309,9 +3394,24 @@ packages: '@opentelemetry/api': ^1.3.0 dependencies: '@opentelemetry/api': 1.7.0 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.7.0) + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.7.0) '@opentelemetry/instrumentation': 0.48.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 + '@opentelemetry/semantic-conventions': 1.24.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation-fastify@0.36.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-3Nfm43PI0I+3EX+1YbSy6xbDu276R1Dh1tqAk68yd4yirnIh52Kd5B+nJ8CgHA7o3UKakpBjj6vSzi5vNCzJIA== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 transitivePeerDependencies: - supports-color dev: false @@ -3329,6 +3429,19 @@ packages: - supports-color dev: false + /@opentelemetry/instrumentation-graphql@0.40.0(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-LVRdEHWACWOczv2imD+mhUrLMxsEjPPi32vIZJT57zygR5aUiA4em8X3aiGOCycgbMWkIu8xOSGSxdx3JmzN+w== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + transitivePeerDependencies: + - supports-color + dev: false + /@opentelemetry/instrumentation-hapi@0.34.0(@opentelemetry/api@1.7.0): resolution: { integrity: sha512-qUENVxwCYbRbJ8HBY54ZL1Z9q1guCEurW6tCFFJJKQFu/MKEw7GSFImy5DR2Mp8b5ggZO36lYFcx0QUxfy4GJg== } @@ -3337,14 +3450,29 @@ packages: '@opentelemetry/api': ^1.3.0 dependencies: '@opentelemetry/api': 1.7.0 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.7.0) + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.7.0) '@opentelemetry/instrumentation': 0.48.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 + '@opentelemetry/semantic-conventions': 1.24.1 '@types/hapi__hapi': 20.0.13 transitivePeerDependencies: - supports-color dev: false + /@opentelemetry/instrumentation-hapi@0.38.0(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-ZcOqEuwuutTDYIjhDIStix22ECblG/i9pHje23QGs4Q4YS4RMaZ5hKCoQJxW88Z4K7T53rQkdISmoXFKDV8xMg== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 + transitivePeerDependencies: + - supports-color + dev: false + /@opentelemetry/instrumentation-http@0.48.0(@opentelemetry/api@1.7.0): resolution: { integrity: sha512-uXqOsLhW9WC3ZlGm6+PSX0xjSDTCfy4CMjfYj6TPWusOO8dtdx040trOriF24y+sZmS3M+5UQc6/3/ZxBJh4Mw== } @@ -3361,6 +3489,37 @@ packages: - supports-color dev: false + /@opentelemetry/instrumentation-http@0.51.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-6b3nZnFFEz/3xZ6w8bVxctPUWIPWiXuPQ725530JgxnN1cvYFd8CJ75PrHZNjynmzSSnqBkN3ef4R9N+RpMh8Q== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation-ioredis@0.40.0(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-Jv/fH7KhpWe4KBirsiqeUJIYrsdR2iu2l4nWhfOlRvaZ+zYIiLEzTQR6QhBbyRoAbU4OuYJzjWusOmmpGBnwng== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/redis-common': 0.36.2 + '@opentelemetry/semantic-conventions': 1.24.1 + transitivePeerDependencies: + - supports-color + dev: false + /@opentelemetry/instrumentation-koa@0.37.0(@opentelemetry/api@1.7.0): resolution: { integrity: sha512-EfuGv1RJCSZh77dDc3PtvZXGwcsTufn9tU6T9VOTFcxovpyJ6w0og73eD0D02syR8R+kzv6rg1TeS8+lj7pyrQ== } @@ -3369,9 +3528,26 @@ packages: '@opentelemetry/api': ^1.3.0 dependencies: '@opentelemetry/api': 1.7.0 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.7.0) + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.7.0) '@opentelemetry/instrumentation': 0.48.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 + '@opentelemetry/semantic-conventions': 1.24.1 + '@types/koa': 2.14.0 + '@types/koa__router': 12.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation-koa@0.40.0(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-dJc3H/bKMcgUYcQpLF+1IbmUKus0e5Fnn/+ru/3voIRHwMADT3rFSUcGLWSczkg68BCgz0vFWGDTvPtcWIFr7A== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 '@types/koa': 2.14.0 '@types/koa__router': 12.0.3 transitivePeerDependencies: @@ -3388,7 +3564,22 @@ packages: '@opentelemetry/api': 1.7.0 '@opentelemetry/instrumentation': 0.48.0(@opentelemetry/api@1.7.0) '@opentelemetry/sdk-metrics': 1.22.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 + '@opentelemetry/semantic-conventions': 1.24.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation-mongodb@0.43.0(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-bMKej7Y76QVUD3l55Q9YqizXybHUzF3pujsBFjqbZrRn2WYqtsDtTUlbCK7fvXNPwFInqZ2KhnTqd0gwo8MzaQ== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-metrics': 1.22.0(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 transitivePeerDependencies: - supports-color dev: false @@ -3401,9 +3592,24 @@ packages: '@opentelemetry/api': ^1.3.0 dependencies: '@opentelemetry/api': 1.7.0 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.7.0) + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.7.0) '@opentelemetry/instrumentation': 0.48.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 + '@opentelemetry/semantic-conventions': 1.24.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation-mongoose@0.38.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-zaeiasdnRjXe6VhYCBMdkmAVh1S5MmXC/0spet+yqoaViGnYst/DOxPvhwg3yT4Yag5crZNWsVXnA538UjP6Ow== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 transitivePeerDependencies: - supports-color dev: false @@ -3417,8 +3623,23 @@ packages: dependencies: '@opentelemetry/api': 1.7.0 '@opentelemetry/instrumentation': 0.48.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 - '@opentelemetry/sql-common': 0.40.0(@opentelemetry/api@1.7.0) + '@opentelemetry/semantic-conventions': 1.24.1 + '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.7.0) + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation-mysql2@0.38.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-qkpHMgWSDTYVB1vlZ9sspf7l2wdS5DDq/rbIepDwX5BA0N0068JTQqh0CgAh34tdFqSCnWXIhcyOXC2TtRb0sg== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 + '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.8.0) transitivePeerDependencies: - supports-color dev: false @@ -3432,7 +3653,22 @@ packages: dependencies: '@opentelemetry/api': 1.7.0 '@opentelemetry/instrumentation': 0.48.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 + '@opentelemetry/semantic-conventions': 1.24.1 + '@types/mysql': 2.15.22 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation-mysql@0.38.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-+iBAawUaTfX/HAlvySwozx0C2B6LBfNPXX1W8Z2On1Uva33AGkw2UjL9XgIg1Pj4eLZ9R4EoJ/aFz+Xj4E/7Fw== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 '@types/mysql': 2.15.22 transitivePeerDependencies: - supports-color @@ -3447,7 +3683,21 @@ packages: dependencies: '@opentelemetry/api': 1.7.0 '@opentelemetry/instrumentation': 0.48.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 + '@opentelemetry/semantic-conventions': 1.24.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation-nestjs-core@0.37.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-ebYQjHZEmGHWEALwwDGhSQVLBaurFnuLIkZD5igPXrt7ohfF4lc5/4al1LO+vKc0NHk8SJWStuRueT86ISA8Vg== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 transitivePeerDependencies: - supports-color dev: false @@ -3461,22 +3711,39 @@ packages: dependencies: '@opentelemetry/api': 1.7.0 '@opentelemetry/instrumentation': 0.48.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 - '@opentelemetry/sql-common': 0.40.0(@opentelemetry/api@1.7.0) + '@opentelemetry/semantic-conventions': 1.24.1 + '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.7.0) '@types/pg': 8.6.1 '@types/pg-pool': 2.0.4 transitivePeerDependencies: - supports-color dev: false - /@opentelemetry/instrumentation@0.43.0(@opentelemetry/api@1.7.0): + /@opentelemetry/instrumentation-pg@0.41.0(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-BSlhpivzBD77meQNZY9fS4aKgydA8AJBzv2dqvxXFy/Hq64b7HURgw/ztbmwFeYwdF5raZZUifiiNSMLpOJoSA== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 + '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.8.0) + '@types/pg': 8.6.1 + '@types/pg-pool': 2.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation@0.43.0(@opentelemetry/api@1.8.0): resolution: { integrity: sha512-S1uHE+sxaepgp+t8lvIDuRgyjJWisAb733198kwQTUc9ZtYQ2V2gmyCtR1x21ePGVLoMiX/NWY7WA290hwkjJQ== } engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: - '@opentelemetry/api': 1.7.0 + '@opentelemetry/api': 1.8.0 '@types/shimmer': 1.0.5 import-in-the-middle: 1.4.2 require-in-the-middle: 7.3.0 @@ -3496,7 +3763,7 @@ packages: dependencies: '@opentelemetry/api': 1.7.0 '@types/shimmer': 1.0.5 - import-in-the-middle: 1.7.3 + import-in-the-middle: 1.7.4 require-in-the-middle: 7.3.0 semver: 7.5.4 shimmer: 1.2.1 @@ -3521,6 +3788,30 @@ packages: - supports-color dev: false + /@opentelemetry/instrumentation@0.51.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-JIrvhpgqY6437QIqToyozrUG1h5UhwHkaGK/WAX+fkrpyPtc+RO5FkRtUd9BH0MibabHHvqsnBGKfKVijbmp8w== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/api-logs': 0.51.1 + '@types/shimmer': 1.0.5 + import-in-the-middle: 1.7.4 + require-in-the-middle: 7.3.0 + semver: 7.5.4 + shimmer: 1.2.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/redis-common@0.36.2: + resolution: + { integrity: sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g== } + engines: { node: '>=14' } + dev: false + /@opentelemetry/resources@1.20.0(@opentelemetry/api@1.7.0): resolution: { integrity: sha512-nOpV0vGegSq+9ze2cEDvO3BMA5pGBhmhKZiAlj+xQZjiEjPmJtdHIuBLRvptu2ahcbFJw85gIB9BYHZOvZK1JQ== } @@ -3557,6 +3848,30 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 dev: false + /@opentelemetry/resources@1.22.0(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.22.0 + dev: false + + /@opentelemetry/resources@1.24.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-cyv0MwAaPF7O86x5hk3NNgenMObeejZFLJJDVuSeSMIsknlsj3oOZzRv3qSzlwYomXsICfBeFFlxwHQte5mGXQ== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 + dev: false + /@opentelemetry/sdk-metrics@1.22.0(@opentelemetry/api@1.7.0): resolution: { integrity: sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg== } @@ -3570,6 +3885,19 @@ packages: lodash.merge: 4.6.2 dev: false + /@opentelemetry/sdk-metrics@1.22.0(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.8.0) + lodash.merge: 4.6.2 + dev: false + /@opentelemetry/sdk-trace-base@1.20.0(@opentelemetry/api@1.7.0): resolution: { integrity: sha512-BAIZ0hUgnhdb3OBQjn1FKGz/Iwie4l+uOMKklP7FGh7PTqEAbbzDNMJKaZQh6KepF7Fq+CZDRKslD3yrYy2Tzw== } @@ -3596,6 +3924,19 @@ packages: '@opentelemetry/semantic-conventions': 1.21.0 dev: false + /@opentelemetry/sdk-trace-base@1.24.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-zz+N423IcySgjihl2NfjBf0qw1RWe11XIAWVrTNOSSI6dtSPJiVom2zipFB2AEEtJWpv0Iz6DY6+TjnyTV5pWg== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 + dev: false + /@opentelemetry/semantic-conventions@1.20.0: resolution: { integrity: sha512-3zLJJCgTKYpbqFX8drl8hOCHtdchELC+kGqlVcV4mHW1DiElTtv1Nt9EKBptTd1IfL56QkuYnWJ3DeHd2Gtu/A== } @@ -3614,15 +3955,32 @@ packages: engines: { node: '>=14' } dev: false - /@opentelemetry/sql-common@0.40.0(@opentelemetry/api@1.7.0): + /@opentelemetry/semantic-conventions@1.24.1: resolution: - { integrity: sha512-vSqRJYUPJVjMFQpYkQS3ruexCPSZJ8esne3LazLwtCPaPRvzZ7WG3tX44RouAn7w4wMp8orKguBqtt+ng2UTnw== } + { integrity: sha512-VkliWlS4/+GHLLW7J/rVBA00uXus1SWvwFvcUDxDwmFxYfg/2VI6ekwdXS28cjI8Qz2ky2BzG8OUHo+WeYIWqw== } + engines: { node: '>=14' } + dev: false + + /@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.7.0): + resolution: + { integrity: sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg== } engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.1.0 dependencies: '@opentelemetry/api': 1.7.0 - '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.7.0) + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.7.0) + dev: false + + /@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.8.0): + resolution: + { integrity: sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg== } + engines: { node: '>=14' } + peerDependencies: + '@opentelemetry/api': ^1.1.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) dev: false /@pagefind/darwin-arm64@1.0.4: @@ -3690,12 +4048,22 @@ packages: hasBin: true dependencies: playwright: 1.40.1 - dev: true /@polka/url@1.0.0-next.23: resolution: { integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg== } + /@prisma/instrumentation@5.14.0: + resolution: + { integrity: sha512-DeybWvIZzu/mUsOYP9MVd6AyBj+MP7xIMrcuIn25MX8FiQX39QBnET5KhszTAip/ToctUuDwSJ46QkIoyo3RFA== } + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-base': 1.24.1(@opentelemetry/api@1.8.0) + transitivePeerDependencies: + - supports-color + dev: false + /@prisma/instrumentation@5.9.0: resolution: { integrity: sha512-VjLZQM/Gv5EgN8l7T+VH5nbSYbl25tkkQJCMyrV+ajY6wRYwsUY3WPEzqdYe/eB3zcfr6+rUN+Cp919scUYt/A== } @@ -3901,6 +4269,16 @@ packages: string-argv: 0.3.2 dev: true + /@sentry-internal/browser-utils@8.7.0: + resolution: + { integrity: sha512-RFBK1sYBwV5qGMEwWF0rjOTqQpp4/SvE+qHkOJNRUTVYmfjM+Y9lcxwn4B6lu3aboxePpBw/i1PlP6XwX4UnGA== } + engines: { node: '>=14.18' } + dependencies: + '@sentry/core': 8.7.0 + '@sentry/types': 8.7.0 + '@sentry/utils': 8.7.0 + dev: false + /@sentry-internal/feedback@7.98.0: resolution: { integrity: sha512-t/mATvwkLcQLKRlx8SO5vlUjaadF6sT3lfR0PdWYyBy8qglbMTHDW4KP6JKh1gdzTVQGnwMByy+/4h9gy4AVzw== } @@ -3932,6 +4310,16 @@ packages: preact: 10.20.1 dev: false + /@sentry-internal/feedback@8.7.0: + resolution: + { integrity: sha512-qcGtWCtRB4eP7NVQoxW936oPkU4qu9otMLYELPGmOJPnuAG0lujlJXW7BucaM7ADyJgJTE75hG849bHecfnbmQ== } + engines: { node: '>=14.18' } + dependencies: + '@sentry/core': 8.7.0 + '@sentry/types': 8.7.0 + '@sentry/utils': 8.7.0 + dev: false + /@sentry-internal/replay-canvas@7.98.0: resolution: { integrity: sha512-vAR6KIycyazaY9HwxG5UONrPTe8jeKtZr6k04svPC8OvcoI0xF+l1jMEYcarffuzKpZlPfssYb5ChHtKuXCB+Q== } @@ -3965,6 +4353,17 @@ packages: '@sentry/utils': 8.0.0-alpha.7 dev: false + /@sentry-internal/replay-canvas@8.7.0: + resolution: + { integrity: sha512-FOnvBPbq6MJVHPduc0hcsdE3PeeovQ2z5WJnZDGhvp/Obehxqe+XgX7K/595vRIknv4EokRn/3Kw0mFwG8E+ZQ== } + engines: { node: '>=14.18' } + dependencies: + '@sentry-internal/replay': 8.7.0 + '@sentry/core': 8.7.0 + '@sentry/types': 8.7.0 + '@sentry/utils': 8.7.0 + dev: false + /@sentry-internal/replay@8.0.0-alpha.7: resolution: { integrity: sha512-sPIOwAIwFMHMHJcVOsyx+5J/Xabpi/mbWprJLMEqWScF3bj1+ls0qCY0h30Ziq8Mn5IL4G6E3v+Ebo9r2XK1Qw== } @@ -3976,6 +4375,17 @@ packages: '@sentry/utils': 8.0.0-alpha.7 dev: false + /@sentry-internal/replay@8.7.0: + resolution: + { integrity: sha512-bQzOkWplaWTe3u+aDBhxWY3Qy0aT7ss2A3VR8iC6N8ZIEP9PxqyJwTNoouhinfgmlnCguI7RDOO4f3r3e2M80Q== } + engines: { node: '>=14.18' } + dependencies: + '@sentry-internal/browser-utils': 8.7.0 + '@sentry/core': 8.7.0 + '@sentry/types': 8.7.0 + '@sentry/utils': 8.7.0 + dev: false + /@sentry-internal/tracing@7.109.0: resolution: { integrity: sha512-PzK/joC5tCuh2R/PRh+7dp+uuZl7pTsBIjPhVZHMTtb9+ls65WkdZJ1/uKXPouyz8NOo9Xok7aEvEo9seongyw== } @@ -4063,7 +4473,7 @@ packages: - supports-color dev: false - /@sentry/astro@8.0.0-alpha.7(astro@3.5.5): + /@sentry/astro@8.0.0-alpha.7(astro@4.0.2): resolution: { integrity: sha512-YA1ZhnUtFAZV76jOpkG7o3d3uGoVTbY5PEBhWeCGDdigRn7E2Ft7SUUuvDwDhn4L7diMWRV8Esy7cwdvVZtTcA== } engines: { node: '>=18.14.1' } @@ -4076,26 +4486,26 @@ packages: '@sentry/types': 8.0.0-alpha.7 '@sentry/utils': 8.0.0-alpha.7 '@sentry/vite-plugin': 2.16.0 - astro: 3.5.5(typescript@5.2.2) + astro: 4.0.2(@types/node@18.18.8)(typescript@5.3.2) transitivePeerDependencies: - encoding - supports-color dev: false - /@sentry/astro@8.0.0-alpha.7(astro@4.0.2): + /@sentry/astro@8.7.0(astro@3.5.5): resolution: - { integrity: sha512-YA1ZhnUtFAZV76jOpkG7o3d3uGoVTbY5PEBhWeCGDdigRn7E2Ft7SUUuvDwDhn4L7diMWRV8Esy7cwdvVZtTcA== } + { integrity: sha512-wU1tIBhBPQa+KMCXeBzauXWO+7p1mTLe/sIepIuggQMd/zFxhroGNVO0ZZUXXUg/Zst4tIn6ZQ47DVG2ZuDB2Q== } engines: { node: '>=18.14.1' } peerDependencies: astro: '>=3.x || >=4.0.0-beta' dependencies: - '@sentry/browser': 8.0.0-alpha.7 - '@sentry/core': 8.0.0-alpha.7 - '@sentry/node': 8.0.0-alpha.7 - '@sentry/types': 8.0.0-alpha.7 - '@sentry/utils': 8.0.0-alpha.7 + '@sentry/browser': 8.7.0 + '@sentry/core': 8.7.0 + '@sentry/node': 8.7.0 + '@sentry/types': 8.7.0 + '@sentry/utils': 8.7.0 '@sentry/vite-plugin': 2.16.0 - astro: 4.0.2(@types/node@18.18.8)(typescript@5.3.2) + astro: 3.5.5(typescript@5.2.2) transitivePeerDependencies: - encoding - supports-color @@ -4161,6 +4571,20 @@ packages: '@sentry/utils': 8.0.0-alpha.7 dev: false + /@sentry/browser@8.7.0: + resolution: + { integrity: sha512-4EEp+PlcktsMN0p+MdCPl/lghTkq7eOtZjQG9NGhWzfyWrJ3tuL1nsDr2SSivJ1V277F01KtKYo6BFwP2NtBZA== } + engines: { node: '>=14.18' } + dependencies: + '@sentry-internal/browser-utils': 8.7.0 + '@sentry-internal/feedback': 8.7.0 + '@sentry-internal/replay': 8.7.0 + '@sentry-internal/replay-canvas': 8.7.0 + '@sentry/core': 8.7.0 + '@sentry/types': 8.7.0 + '@sentry/utils': 8.7.0 + dev: false + /@sentry/bundler-plugin-core@0.6.1: resolution: { integrity: sha512-EecCJKp9ERM7J93DNDJTvkY78UiD/IfOjBdXWnaUVE0n619O7LfMVjwlXzxRJKl2x05dBE3lDraILLDGxCf6fg== } @@ -4361,6 +4785,15 @@ packages: '@sentry/utils': 8.0.0-alpha.7 dev: false + /@sentry/core@8.7.0: + resolution: + { integrity: sha512-Sq/46B+5nWmgnCD6dEMZ6HTkKbV/KAdgaSvT8oXDb9OWoPy1jJ/gbLrhLs62KbjuDQk4/vWnOgHiKQbcslSzMw== } + engines: { node: '>=14.18' } + dependencies: + '@sentry/types': 8.7.0 + '@sentry/utils': 8.7.0 + dev: false + /@sentry/electron@4.15.1: resolution: { integrity: sha512-W4ygBAwM8sp+xkaTuJs0e3LDZ5qcQYOce0puJrHA6RvK6RKodVn9O7rTU0g/eeh9Wjl7k0O/JjZMwWtCvMN/Dw== } @@ -4387,7 +4820,7 @@ packages: localforage: 1.10.0 dev: false - /@sentry/nextjs@8.0.0-alpha.7(next@14.1.0)(react@18.2.0)(webpack@5.91.0): + /@sentry/nextjs@8.0.0-alpha.7(next@14.2.2)(react@18.2.0)(webpack@5.91.0): resolution: { integrity: sha512-/QNzhbscXo18AVGRulyF1vWDFt+SP8TQwSlhbiYvtcC/vJkxkQnwMCxtVNZD6vE+Rv0F7+kN5l/pQ2Ikk+ktTw== } engines: { node: '>=14.18' } @@ -4408,7 +4841,7 @@ packages: '@sentry/vercel-edge': 8.0.0-alpha.7 '@sentry/webpack-plugin': 2.16.0(webpack@5.91.0) chalk: 3.0.0 - next: 14.1.0(@babel/core@7.23.6)(@opentelemetry/api@1.7.0)(react-dom@18.2.0)(react@18.2.0) + next: 14.2.2(@babel/core@7.23.6)(@opentelemetry/api@1.7.0)(@playwright/test@1.40.1)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 resolve: 1.22.8 rollup: 3.29.4 @@ -4489,6 +4922,43 @@ packages: - supports-color dev: false + /@sentry/node@8.7.0: + resolution: + { integrity: sha512-El1LmXGVe8Ahi5oUdlrE5s3Or23/iGnnntNvaYymXk4BmL4dJtv7ttlQ94ZrI9QWs8VnfM7eHqCd+OPjTh0XJQ== } + engines: { node: '>=14.18' } + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/context-async-hooks': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-connect': 0.36.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-express': 0.39.0(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-fastify': 0.36.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-graphql': 0.40.0(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-hapi': 0.38.0(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-http': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-ioredis': 0.40.0(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-koa': 0.40.0(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-mongodb': 0.43.0(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-mongoose': 0.38.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-mysql': 0.38.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-mysql2': 0.38.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-nestjs-core': 0.37.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-pg': 0.41.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-base': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 + '@prisma/instrumentation': 5.14.0 + '@sentry/core': 8.7.0 + '@sentry/opentelemetry': 8.7.0(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.24.1)(@opentelemetry/instrumentation@0.51.1)(@opentelemetry/sdk-trace-base@1.24.1)(@opentelemetry/semantic-conventions@1.24.1) + '@sentry/types': 8.7.0 + '@sentry/utils': 8.7.0 + optionalDependencies: + opentelemetry-instrumentation-fetch-node: 1.2.0 + transitivePeerDependencies: + - supports-color + dev: false + /@sentry/opentelemetry@8.0.0-alpha.7(@opentelemetry/api@1.7.0)(@opentelemetry/core@1.21.0)(@opentelemetry/sdk-trace-base@1.21.0)(@opentelemetry/semantic-conventions@1.21.0): resolution: { integrity: sha512-lGpFbqx75KH1wamOMGFdQBlTMk4LJvbL53pba7kefES7Q+ljDJovQYFMlCUsgk5hANFGNy6fooRVXz7mrBnFZw== } @@ -4508,6 +4978,27 @@ packages: '@sentry/utils': 8.0.0-alpha.7 dev: false + /@sentry/opentelemetry@8.7.0(@opentelemetry/api@1.8.0)(@opentelemetry/core@1.24.1)(@opentelemetry/instrumentation@0.51.1)(@opentelemetry/sdk-trace-base@1.24.1)(@opentelemetry/semantic-conventions@1.24.1): + resolution: + { integrity: sha512-I9JEXnqXDBPr5MtgEYRvmcolmpugSgH1QV+SFnfOPc40Mu/npNsJq7oqbGzhlCe4H45XD6LJzFlc7BfoCzwAsQ== } + engines: { node: '>=14.18' } + peerDependencies: + '@opentelemetry/api': ^1.8.0 + '@opentelemetry/core': ^1.24.1 + '@opentelemetry/instrumentation': ^0.51.1 + '@opentelemetry/sdk-trace-base': ^1.23.0 + '@opentelemetry/semantic-conventions': ^1.23.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.51.1(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-base': 1.24.1(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 + '@sentry/core': 8.7.0 + '@sentry/types': 8.7.0 + '@sentry/utils': 8.7.0 + dev: false + /@sentry/react@8.0.0-alpha.7(react@18.2.0): resolution: { integrity: sha512-ZNYBeOVvU1hH9T6U+DAYHr5ycNCp4M2C/ujL5VxFifeQHI0SBJFtcoqhTEqLyaL+G6gkTq9N/Azn4A00VOefpQ== } @@ -4630,6 +5121,12 @@ packages: { integrity: sha512-ibOquIxPhEwkuosVxrzMOJYrbJscdY6sk0m2/YxIOSSGnlFEFQQ5hJQNyxH6EXr3Zgpt9K/ubnNWdS+w1IeLfg== } engines: { node: '>=14.18' } + /@sentry/types@8.7.0: + resolution: + { integrity: sha512-11KLOKumP6akugVGLvSoEig+JlP0ZEzW3nN9P+ppgdIx9HAxMIh6UvumbieG4/DWjAh2kh6NPNfUw3gk2Gfq1A== } + engines: { node: '>=14.18' } + dev: false + /@sentry/utils@7.109.0: resolution: { integrity: sha512-3RjxMOLMBwZ5VSiH84+o/3NY2An4Zldjz0EbfEQNRY9yffRiCPJSQiCJID8EoylCFOh/PAhPimBhqbtWJxX6iw== } @@ -4667,6 +5164,14 @@ packages: dependencies: '@sentry/types': 8.0.0-alpha.7 + /@sentry/utils@8.7.0: + resolution: + { integrity: sha512-aWmcbSoOmrbzll/FkNQFJcCtLAuJLvTYbRKiCSkV3FScA7UaA742HkTZAPFiioALFIESWk/fcGZqtN0s4I281Q== } + engines: { node: '>=14.18' } + dependencies: + '@sentry/types': 8.7.0 + dev: false + /@sentry/vercel-edge@8.0.0-alpha.7: resolution: { integrity: sha512-rQFjhc8m4B//tpceOEssh+149vFEPYLL5G6fW2mAWiq4Ee9fvRVhxZ72nJuoyn/qP/A9ituiwOih2D0uSTe9Zg== } @@ -5024,10 +5529,16 @@ packages: - encoding dev: true - /@swc/helpers@0.5.2: + /@swc/counter@0.1.3: resolution: - { integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw== } + { integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== } + dev: false + + /@swc/helpers@0.5.5: + resolution: + { integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A== } dependencies: + '@swc/counter': 0.1.3 tslib: 2.6.2 dev: false @@ -5170,6 +5681,13 @@ packages: { integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ== } dev: true + /@types/connect@3.4.36: + resolution: + { integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w== } + dependencies: + '@types/node': 18.18.8 + dev: false + /@types/connect@3.4.38: resolution: { integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== } @@ -6326,6 +6844,15 @@ packages: acorn: 8.11.2 dev: false + /acorn-import-attributes@1.9.5(acorn@8.11.2): + resolution: + { integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== } + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.11.2 + dev: false + /acorn-jsx@5.3.2(acorn@8.11.2): resolution: { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } @@ -6956,7 +7483,7 @@ packages: peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.2 + browserslist: 4.22.1 caniuse-lite: 1.0.30001584 fraction.js: 4.3.7 normalize-range: 0.1.2 @@ -9347,7 +9874,6 @@ packages: engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] requiresBuild: true - dev: true optional: true /fsevents@2.3.3: @@ -9523,6 +10049,7 @@ packages: resolution: { integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== } engines: { node: '>=12' } + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10126,12 +10653,12 @@ packages: module-details-from-path: 1.0.3 dev: false - /import-in-the-middle@1.7.3: + /import-in-the-middle@1.7.4: resolution: - { integrity: sha512-R2I11NRi0lI3jD2+qjqyVlVEahsejw7LDnYEbGb47QEFjczE3bZYsmWheCTQA+LFs2DzOQxR7Pms7naHW1V4bQ== } + { integrity: sha512-Lk+qzWmiQuRPPulGQeK5qq0v32k2bHnWrRPFgqyvhw7Kkov5L6MOLOIU3pcWeujc9W4q54Cp3Q2WV16eQkc7Bg== } dependencies: acorn: 8.11.2 - acorn-import-assertions: 1.9.0(acorn@8.11.2) + acorn-import-attributes: 1.9.5(acorn@8.11.2) cjs-module-lexer: 1.2.3 module-details-from-path: 1.0.3 dev: false @@ -12394,25 +12921,29 @@ packages: { integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== } dev: false - /next@14.1.0(@babel/core@7.23.6)(@opentelemetry/api@1.7.0)(react-dom@18.2.0)(react@18.2.0): + /next@14.2.2(@babel/core@7.23.6)(@opentelemetry/api@1.7.0)(@playwright/test@1.40.1)(react-dom@18.2.0)(react@18.2.0): resolution: - { integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q== } + { integrity: sha512-oGwUaa2bCs47FbuxWMpOoXtBMPYpvTPgdZr3UAo+pu7Ns00z9otmYpoeV1HEiYL06AlRQQIA/ypK526KjJfaxg== } engines: { node: '>=18.17.0' } hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': optional: true + '@playwright/test': + optional: true sass: optional: true dependencies: - '@next/env': 14.1.0 + '@next/env': 14.2.2 '@opentelemetry/api': 1.7.0 - '@swc/helpers': 0.5.2 + '@playwright/test': 1.40.1 + '@swc/helpers': 0.5.5 busboy: 1.6.0 caniuse-lite: 1.0.30001584 graceful-fs: 4.2.11 @@ -12421,15 +12952,15 @@ packages: react-dom: 18.2.0(react@18.2.0) styled-jsx: 5.1.1(@babel/core@7.23.6)(react@18.2.0) optionalDependencies: - '@next/swc-darwin-arm64': 14.1.0 - '@next/swc-darwin-x64': 14.1.0 - '@next/swc-linux-arm64-gnu': 14.1.0 - '@next/swc-linux-arm64-musl': 14.1.0 - '@next/swc-linux-x64-gnu': 14.1.0 - '@next/swc-linux-x64-musl': 14.1.0 - '@next/swc-win32-arm64-msvc': 14.1.0 - '@next/swc-win32-ia32-msvc': 14.1.0 - '@next/swc-win32-x64-msvc': 14.1.0 + '@next/swc-darwin-arm64': 14.2.2 + '@next/swc-darwin-x64': 14.2.2 + '@next/swc-linux-arm64-gnu': 14.2.2 + '@next/swc-linux-arm64-musl': 14.2.2 + '@next/swc-linux-x64-gnu': 14.2.2 + '@next/swc-linux-x64-musl': 14.2.2 + '@next/swc-win32-arm64-msvc': 14.2.2 + '@next/swc-win32-ia32-msvc': 14.2.2 + '@next/swc-win32-x64-msvc': 14.2.2 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -12658,9 +13189,23 @@ packages: engines: { node: '>18.0.0' } requiresBuild: true dependencies: - '@opentelemetry/api': 1.7.0 - '@opentelemetry/instrumentation': 0.43.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.22.0 + '@opentelemetry/api': 1.8.0 + '@opentelemetry/instrumentation': 0.43.0(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 + transitivePeerDependencies: + - supports-color + dev: false + optional: true + + /opentelemetry-instrumentation-fetch-node@1.2.0: + resolution: + { integrity: sha512-aiSt/4ubOTyb1N5C2ZbGrBvaJOXIZhZvpRPYuUVxQJe27wJZqf/o65iPrqgLcgfeOLaQ8cS2Q+762jrYvniTrA== } + engines: { node: '>18.0.0' } + requiresBuild: true + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/instrumentation': 0.43.0(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.24.1 transitivePeerDependencies: - supports-color dev: false @@ -13034,7 +13579,6 @@ packages: { integrity: sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ== } engines: { node: '>=16' } hasBin: true - dev: true /playwright@1.40.1: resolution: @@ -13045,7 +13589,6 @@ packages: playwright-core: 1.40.1 optionalDependencies: fsevents: 2.3.2 - dev: true /plist@3.1.0: resolution: From e5133196b1fd0a1cb48984c27b8deca8a6074a0e Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Fri, 31 May 2024 14:04:09 +0200 Subject: [PATCH 3/5] simplify client retrieval --- packages/overlay/src/integrations/sentry/index.ts | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/packages/overlay/src/integrations/sentry/index.ts b/packages/overlay/src/integrations/sentry/index.ts index 36019b5cc..c0a6100bb 100644 --- a/packages/overlay/src/integrations/sentry/index.ts +++ b/packages/overlay/src/integrations/sentry/index.ts @@ -224,16 +224,7 @@ function getSentryClient(sentryCarrier: LegacyCarrier & VersionedCarrier): Clien } } - // 8.0.0-8.5.0 way to get the client - if (sentryCarrier.stack) { - const stack = sentryCarrier.stack; - const scope = typeof stack.getScope === 'function' ? stack.getScope() : undefined; - if (typeof scope?.getClient === 'function') { - return scope.getClient(); - } - } - - // pre-v8 way to get the client + // pre-8.6.0 (+v7) way to get the client if (sentryCarrier.hub) { const hub = sentryCarrier.hub; if (typeof hub.getClient === 'function') { From acbc448fc8b2ce1308e094ac7eaf1072a16fdf54 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Fri, 31 May 2024 14:09:34 +0200 Subject: [PATCH 4/5] simplify types --- .../overlay/src/integrations/sentry/index.ts | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/overlay/src/integrations/sentry/index.ts b/packages/overlay/src/integrations/sentry/index.ts index c0a6100bb..e8028e96c 100644 --- a/packages/overlay/src/integrations/sentry/index.ts +++ b/packages/overlay/src/integrations/sentry/index.ts @@ -96,27 +96,6 @@ export default function sentryIntegration(options?: SentryIntegrationOptions) { } satisfies Integration; } -type VersionedCarrier = { version: string } & Record, { stack: V8AsyncContextStrategy }>; - -type V8AsyncContextStrategy = { - getScope?: () => { - getClient?: () => Client | undefined; - }; -}; - -type LegacyCarrier = { - /** 8.0.0-8.5.0 way if accessing client */ - stack?: V8AsyncContextStrategy; - /** pre-v8 way of accessing client (v7 and earlier) */ - hub?: { - getClient?: () => Client | undefined; - }; -}; - -type WindowWithSentry = Window & { - __SENTRY__?: LegacyCarrier & VersionedCarrier; -}; - export function processEnvelope(rawEvent: RawEventContext) { const { data } = rawEvent; const [rawHeader, ...rawEntries] = data.split(/\n/gm); @@ -153,6 +132,27 @@ export function processEnvelope(rawEvent: RawEventContext) { }; } +type V8Carrier = { + stack: { + getScope?: () => { + getClient?: () => Client | undefined; + }; + }; +}; + +type LegacyCarrier = { + /** pre-v8 way of accessing client (v7 and earlier) */ + hub?: { + getClient?: () => Client | undefined; + }; +}; + +type VersionedCarrier = { version: string } & Record, V8Carrier>; + +type WindowWithSentry = Window & { + __SENTRY__?: LegacyCarrier & VersionedCarrier; +}; + /** * Takes care of injecting spotlight-specific behavior into the Sentry SDK by * accessing the global __SENTRY__ carrier object. From 21267febdde9031c3cb127b00d3825c464a99d21 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Fri, 31 May 2024 14:13:53 +0200 Subject: [PATCH 5/5] changeset --- .changeset/happy-adults-jam.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .changeset/happy-adults-jam.md diff --git a/.changeset/happy-adults-jam.md b/.changeset/happy-adults-jam.md new file mode 100644 index 000000000..17a7f86ec --- /dev/null +++ b/.changeset/happy-adults-jam.md @@ -0,0 +1,8 @@ +--- +'@spotlightjs/spotlight': minor +'@spotlightjs/electron': minor +'@spotlightjs/overlay': minor +'@spotlightjs/astro': minor +--- + +feat: Support versioned Sentry carrier object introduced in 8.6.0+