Files
klz-cables.com/.pnpm-store/v10/files/79/8287bec24ef27c45fc1f56133d3faff7772f22ee4c977465006b8b7f92cd8dc44c6dacbb7c4f77bcfaee502227bd8b899cd871e9cee073916af173314f512e
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
4.7 KiB
Plaintext

{"version":3,"file":"wrapGenerationFunctionWithSentry.js","sources":["../../../src/common/wrapGenerationFunctionWithSentry.ts"],"sourcesContent":["import type { RequestEventData } from '@sentry/core';\nimport {\n captureException,\n getActiveSpan,\n getIsolationScope,\n handleCallbackErrors,\n SPAN_STATUS_ERROR,\n SPAN_STATUS_OK,\n winterCGHeadersToDict,\n} from '@sentry/core';\nimport type { GenerationFunctionContext } from '../common/types';\nimport { isNotFoundNavigationError, isRedirectNavigationError } from './nextNavigationErrorUtils';\nimport { flushSafelyWithTimeout, waitUntil } from './utils/responseEnd';\n\n/**\n * Wraps a generation function (e.g. generateMetadata) with Sentry error instrumentation.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function wrapGenerationFunctionWithSentry<F extends (...args: any[]) => any>(\n generationFunction: F,\n context: GenerationFunctionContext,\n): F {\n return new Proxy(generationFunction, {\n apply: (originalFunction, thisArg, args) => {\n const isolationScope = getIsolationScope();\n\n let headers = undefined;\n // We try-catch here just in case anything goes wrong with the async storage since it is Next.js internal API\n try {\n headers = context.requestAsyncStorage?.getStore()?.headers;\n } catch {\n /** empty */\n }\n\n const headersDict = headers ? winterCGHeadersToDict(headers) : undefined;\n\n isolationScope.setSDKProcessingMetadata({\n normalizedRequest: {\n headers: headersDict,\n } satisfies RequestEventData,\n });\n\n return handleCallbackErrors(\n () => originalFunction.apply(thisArg, args),\n error => {\n const span = getActiveSpan();\n const { componentRoute, componentType, generationFunctionIdentifier } = context;\n let shouldCapture = true;\n isolationScope.setTransactionName(`${componentType}.${generationFunctionIdentifier} (${componentRoute})`);\n\n if (span) {\n if (isNotFoundNavigationError(error)) {\n // We don't want to report \"not-found\"s\n shouldCapture = false;\n span.setStatus({ code: SPAN_STATUS_ERROR, message: 'not_found' });\n } else if (isRedirectNavigationError(error)) {\n // We don't want to report redirects\n shouldCapture = false;\n span.setStatus({ code: SPAN_STATUS_OK });\n } else {\n span.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' });\n }\n }\n\n if (shouldCapture) {\n captureException(error, {\n mechanism: {\n handled: false,\n type: 'auto.function.nextjs.generation_function',\n data: {\n function: generationFunctionIdentifier,\n },\n },\n });\n }\n },\n () => {\n waitUntil(flushSafelyWithTimeout());\n },\n );\n },\n });\n}\n"],"names":[],"mappings":";;;;AAcA;AACA;AACA;AACA;AACO,SAAS,gCAAgC;AAChD,EAAE,kBAAkB;AACpB,EAAE,OAAO;AACT,EAAK;AACL,EAAE,OAAO,IAAI,KAAK,CAAC,kBAAkB,EAAE;AACvC,IAAI,KAAK,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,IAAI,KAAK;AAChD,MAAM,MAAM,cAAA,GAAiB,iBAAiB,EAAE;;AAEhD,MAAM,IAAI,OAAA,GAAU,SAAS;AAC7B;AACA,MAAM,IAAI;AACV,QAAQ,OAAA,GAAU,OAAO,CAAC,mBAAmB,EAAE,QAAQ,EAAE,EAAE,OAAO;AAClE,MAAM,EAAE,MAAM;AACd;AACA,MAAM;;AAEN,MAAM,MAAM,WAAA,GAAc,OAAA,GAAU,qBAAqB,CAAC,OAAO,CAAA,GAAI,SAAS;;AAE9E,MAAM,cAAc,CAAC,wBAAwB,CAAC;AAC9C,QAAQ,iBAAiB,EAAE;AAC3B,UAAU,OAAO,EAAE,WAAW;AAC9B,SAAQ;AACR,OAAO,CAAC;;AAER,MAAM,OAAO,oBAAoB;AACjC,QAAQ,MAAM,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACnD,QAAQ,SAAS;AACjB,UAAU,MAAM,IAAA,GAAO,aAAa,EAAE;AACtC,UAAU,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,4BAAA,EAA6B,GAAI,OAAO;AACzF,UAAU,IAAI,aAAA,GAAgB,IAAI;AAClC,UAAU,cAAc,CAAC,kBAAkB,CAAC,CAAC,EAAA,aAAA,CAAA,CAAA,EAAA,4BAAA,CAAA,EAAA,EAAA,cAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,UAAA,IAAA,IAAA,EAAA;AACA,YAAA,IAAA,yBAAA,CAAA,KAAA,CAAA,EAAA;AACA;AACA,cAAA,aAAA,GAAA,KAAA;AACA,cAAA,IAAA,CAAA,SAAA,CAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,CAAA;AACA,YAAA,CAAA,MAAA,IAAA,yBAAA,CAAA,KAAA,CAAA,EAAA;AACA;AACA,cAAA,aAAA,GAAA,KAAA;AACA,cAAA,IAAA,CAAA,SAAA,CAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA;AACA,YAAA,CAAA,MAAA;AACA,cAAA,IAAA,CAAA,SAAA,CAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,CAAA;AACA,YAAA;AACA,UAAA;;AAEA,UAAA,IAAA,aAAA,EAAA;AACA,YAAA,gBAAA,CAAA,KAAA,EAAA;AACA,cAAA,SAAA,EAAA;AACA,gBAAA,OAAA,EAAA,KAAA;AACA,gBAAA,IAAA,EAAA,0CAAA;AACA,gBAAA,IAAA,EAAA;AACA,kBAAA,QAAA,EAAA,4BAAA;AACA,iBAAA;AACA,eAAA;AACA,aAAA,CAAA;AACA,UAAA;AACA,QAAA,CAAA;AACA,QAAA,MAAA;AACA,UAAA,SAAA,CAAA,sBAAA,EAAA,CAAA;AACA,QAAA,CAAA;AACA,OAAA;AACA,IAAA,CAAA;AACA,GAAA,CAAA;AACA;;;;"}