Files
klz-cables.com/.pnpm-store/v10/files/c1/9f62e097ec7e37a6bb475ddaf859a3e2b588d5644f3d988eb467df75a0beb881ba8b4eea8f2fee48a82729718aa9b82e0c95ea0c5a7a12ac891c553a30449a
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

50 lines
1.8 KiB
Plaintext

import { browserTracingIntegration as browserTracingIntegration$1 } from '@sentry/react';
import { nextRouterInstrumentNavigation, nextRouterInstrumentPageLoad } from './routing/nextRoutingInstrumentation.js';
/**
* A custom browser tracing integration for Next.js.
*/
function browserTracingIntegration(
options = {},
) {
const browserTracingIntegrationInstance = browserTracingIntegration$1({
...options,
instrumentNavigation: false,
instrumentPageLoad: false,
onRequestSpanStart(...args) {
const [span, { headers }] = args;
// Next.js prefetch requests have a `next-router-prefetch` header
if (headers?.get('next-router-prefetch')) {
span?.setAttribute('http.request.prefetch', true);
}
return options.onRequestSpanStart?.(...args);
},
});
const { instrumentPageLoad = true, instrumentNavigation = true } = options;
return {
...browserTracingIntegrationInstance,
afterAllSetup(client) {
// We need to run the navigation span instrumentation before the `afterAllSetup` hook on the normal browser
// tracing integration because we need to ensure the order of execution is as follows:
// Instrumentation to start span on RSC fetch request runs -> Instrumentation to put tracing headers from active span on fetch runs
// If it were the other way around, the RSC fetch request would not receive the tracing headers from the navigation transaction.
if (instrumentNavigation) {
nextRouterInstrumentNavigation(client);
}
browserTracingIntegrationInstance.afterAllSetup(client);
if (instrumentPageLoad) {
nextRouterInstrumentPageLoad(client);
}
},
};
}
export { browserTracingIntegration };
//# sourceMappingURL=browserTracingIntegration.js.map