{"version":3,"file":"distDirRewriteFramesIntegration.js","sources":["../../../src/server/distDirRewriteFramesIntegration.ts"],"sourcesContent":["import { defineIntegration, escapeStringForRegex, rewriteFramesIntegration } from '@sentry/core';\nimport * as path from 'path';\n\nexport const distDirRewriteFramesIntegration = defineIntegration(({ distDirName }: { distDirName: string }) => {\n // nextjs always puts the build directory at the project root level, which is also where you run `next start` from, so\n // we can read in the project directory from the currently running process\n const distDirAbsPath = path.resolve(distDirName).replace(/(\\/|\\\\)$/, ''); // We strip trailing slashes because \"app:///_next\" also doesn't have one\n\n // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor -- user input is escaped\n const SOURCEMAP_FILENAME_REGEX = new RegExp(escapeStringForRegex(distDirAbsPath));\n\n const rewriteFramesInstance = rewriteFramesIntegration({\n iteratee: frame => {\n frame.filename = frame.filename?.replace(SOURCEMAP_FILENAME_REGEX, 'app:///_next');\n return frame;\n },\n });\n\n return {\n ...rewriteFramesInstance,\n name: 'DistDirRewriteFrames',\n };\n});\n"],"names":["defineIntegration","escapeStringForRegex","rewriteFramesIntegration"],"mappings":";;;;;AAGO,MAAM,+BAAA,GAAkCA,sBAAiB,CAAC,CAAC,EAAE,WAAA,EAAa,KAA8B;AAC/G;AACA;AACA,EAAE,MAAM,cAAA,GAAiB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;;AAE1E;AACA,EAAE,MAAM,wBAAA,GAA2B,IAAI,MAAM,CAACC,yBAAoB,CAAC,cAAc,CAAC,CAAC;;AAEnF,EAAE,MAAM,qBAAA,GAAwBC,6BAAwB,CAAC;AACzD,IAAI,QAAQ,EAAE,KAAA,IAAS;AACvB,MAAM,KAAK,CAAC,QAAA,GAAW,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,wBAAwB,EAAE,cAAc,CAAC;AACxF,MAAM,OAAO,KAAK;AAClB,IAAI,CAAC;AACL,GAAG,CAAC;;AAEJ,EAAE,OAAO;AACT,IAAI,GAAG,qBAAqB;AAC5B,IAAI,IAAI,EAAE,sBAAsB;AAChC,GAAG;AACH,CAAC;;;;"}