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
1 line
3.5 KiB
Plaintext
1 line
3.5 KiB
Plaintext
{"version":3,"file":"isrRoutingTracing.js","sources":["../../../../src/client/routing/isrRoutingTracing.ts"],"sourcesContent":["import { LRUMap } from '@sentry/core';\nimport { WINDOW } from '@sentry/react';\nimport { getManifest, maybeParameterizeRoute } from './parameterization';\n\n/**\n * Cache for ISR/SSG route checks. Exported for testing purposes.\n * @internal\n */\nexport const IS_ISR_SSG_ROUTE_CACHE = new LRUMap<string, boolean>(100);\n\n/**\n * Check if the current page is an ISR/SSG route by checking the route manifest.\n * @internal Exported for testing purposes.\n */\nexport function isIsrSsgRoute(pathname: string): boolean {\n // Early parameterization to get the cache key\n const parameterizedPath = maybeParameterizeRoute(pathname);\n const pathToCheck = parameterizedPath || pathname;\n\n // Check cache using the parameterized path as the key\n const cachedResult = IS_ISR_SSG_ROUTE_CACHE.get(pathToCheck);\n if (cachedResult !== undefined) {\n return cachedResult;\n }\n\n // Cache miss get the manifest\n const manifest = getManifest();\n if (!manifest?.isrRoutes || !Array.isArray(manifest.isrRoutes) || manifest.isrRoutes.length === 0) {\n IS_ISR_SSG_ROUTE_CACHE.set(pathToCheck, false);\n return false;\n }\n\n const isIsrSsgRoute = manifest.isrRoutes.includes(pathToCheck);\n IS_ISR_SSG_ROUTE_CACHE.set(pathToCheck, isIsrSsgRoute);\n\n return isIsrSsgRoute;\n}\n\n/**\n * Remove sentry-trace and baggage meta tags from the DOM if this is an ISR/SSG page.\n * This prevents the browser tracing integration from using stale/cached trace IDs.\n */\nexport function removeIsrSsgTraceMetaTags(): void {\n if (!WINDOW.document || !isIsrSsgRoute(WINDOW.location.pathname)) {\n return;\n }\n\n // Helper function to remove a meta tag\n function removeMetaTag(metaName: string): void {\n try {\n const meta = WINDOW.document.querySelector(`meta[name=\"${metaName}\"]`);\n if (meta) {\n meta.remove();\n }\n } catch {\n // ignore errors when removing the meta tag\n }\n }\n\n // Remove the meta tags so browserTracingIntegration won't pick them up\n removeMetaTag('sentry-trace');\n removeMetaTag('baggage');\n}\n"],"names":["LRUMap","maybeParameterizeRoute","getManifest","WINDOW"],"mappings":";;;;;;AAIA;AACA;AACA;AACA;MACa,sBAAA,GAAyB,IAAIA,WAAM,CAAkB,GAAG;;AAErE;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,QAAQ,EAAmB;AACzD;AACA,EAAE,MAAM,iBAAA,GAAoBC,uCAAsB,CAAC,QAAQ,CAAC;AAC5D,EAAE,MAAM,WAAA,GAAc,iBAAA,IAAqB,QAAQ;;AAEnD;AACA,EAAE,MAAM,eAAe,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC;AAC9D,EAAE,IAAI,YAAA,KAAiB,SAAS,EAAE;AAClC,IAAI,OAAO,YAAY;AACvB,EAAE;;AAEF;AACA,EAAE,MAAM,QAAA,GAAWC,4BAAW,EAAE;AAChC,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAA,IAAK,QAAQ,CAAC,SAAS,CAAC,MAAA,KAAW,CAAC,EAAE;AACrG,IAAI,sBAAsB,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC;AAClD,IAAI,OAAO,KAAK;AAChB,EAAE;;AAEF,EAAE,MAAM,aAAA,GAAgB,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;AAChE,EAAE,sBAAsB,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC;;AAExD,EAAE,OAAO,aAAa;AACtB;;AAEA;AACA;AACA;AACA;AACO,SAAS,yBAAyB,GAAS;AAClD,EAAE,IAAI,CAACC,YAAM,CAAC,YAAY,CAAC,aAAa,CAACA,YAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACpE,IAAI;AACJ,EAAE;;AAEF;AACA,EAAE,SAAS,aAAa,CAAC,QAAQ,EAAgB;AACjD,IAAI,IAAI;AACR,MAAM,MAAM,IAAA,GAAOA,YAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC5E,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM;AACN,IAAI,EAAE,MAAM;AACZ;AACA,IAAI;AACJ,EAAE;;AAEF;AACA,EAAE,aAAa,CAAC,cAAc,CAAC;AAC/B,EAAE,aAAa,CAAC,SAAS,CAAC;AAC1B;;;;;;"} |