@sentry/esbuild-plugin 4.9.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/index.ts"],"sourcesContent":["import {\n sentryUnpluginFactory,\n Options,\n getDebugIdSnippet,\n SentrySDKBuildFlags,\n} from \"@sentry/bundler-plugin-core\";\nimport type { Logger } from \"@sentry/bundler-plugin-core\";\nimport type { UnpluginOptions } from \"unplugin\";\nimport * as path from \"path\";\n\nimport { v4 as uuidv4 } from \"uuid\";\n\nfunction esbuildReleaseInjectionPlugin(injectionCode: string): UnpluginOptions {\n const pluginName = \"sentry-esbuild-release-injection-plugin\";\n const virtualReleaseInjectionFilePath = path.resolve(\"_sentry-release-injection-stub\"); // needs to be an absolute path for older eslint versions\n\n return {\n name: pluginName,\n\n esbuild: {\n setup({ initialOptions, onLoad, onResolve }) {\n initialOptions.inject = initialOptions.inject || [];\n initialOptions.inject.push(virtualReleaseInjectionFilePath);\n\n onResolve({ filter: /_sentry-release-injection-stub/ }, (args) => {\n return {\n path: args.path,\n sideEffects: true,\n pluginName,\n };\n });\n\n onLoad({ filter: /_sentry-release-injection-stub/ }, () => {\n return {\n loader: \"js\",\n pluginName,\n contents: injectionCode,\n };\n });\n },\n },\n };\n}\n\n/**\n * Shared set to track entry points that have been wrapped by the metadata plugin\n * This allows the debug ID plugin to know when an import is coming from a metadata proxy\n */\nconst metadataProxyEntryPoints = new Set<string>();\n\n/**\n * Set to track which paths have already been wrapped with debug ID injection\n * This prevents the debug ID plugin from wrapping the same module multiple times\n */\nconst debugIdWrappedPaths = new Set<string>();\n\nfunction esbuildDebugIdInjectionPlugin(logger: Logger): UnpluginOptions {\n const pluginName = \"sentry-esbuild-debug-id-injection-plugin\";\n const stubNamespace = \"sentry-debug-id-stub\";\n\n return {\n name: pluginName,\n\n esbuild: {\n setup({ initialOptions, onLoad, onResolve }) {\n // Clear state from previous builds (important for watch mode and test suites)\n debugIdWrappedPaths.clear();\n // Also clear metadataProxyEntryPoints here because if moduleMetadataInjectionPlugin\n // is not instantiated in this build (e.g., moduleMetadata was disabled), we don't\n // want stale entries from a previous build to affect the current one.\n metadataProxyEntryPoints.clear();\n\n if (!initialOptions.bundle) {\n logger.warn(\n \"The Sentry esbuild plugin only supports esbuild with `bundle: true` being set in the esbuild build options. Esbuild will probably crash now. Sorry about that. If you need to upload sourcemaps without `bundle: true`, it is recommended to use Sentry CLI instead: https://docs.sentry.io/platforms/javascript/sourcemaps/uploading/cli/\"\n );\n }\n\n onResolve({ filter: /.*/ }, (args) => {\n // Inject debug IDs into entry points and into imports from metadata proxy modules\n const isEntryPoint = args.kind === \"entry-point\";\n\n // Check if this import is coming from a metadata proxy module\n // The metadata plugin registers entry points it wraps in the shared Set\n // We need to strip the query string suffix because esbuild includes the suffix\n // (e.g., ?sentryMetadataProxyModule=true) in args.importer\n const importerPath = args.importer?.split(\"?\")[0];\n const isImportFromMetadataProxy =\n args.kind === \"import-statement\" &&\n importerPath !== undefined &&\n metadataProxyEntryPoints.has(importerPath);\n\n if (!isEntryPoint && !isImportFromMetadataProxy) {\n return;\n }\n\n // Skip injecting debug IDs into modules specified in the esbuild `inject` option\n // since they're already part of the entry points\n if (initialOptions.inject?.includes(args.path)) {\n return;\n }\n\n const resolvedPath = path.isAbsolute(args.path)\n ? args.path\n : path.join(args.resolveDir, args.path);\n\n // Skip injecting debug IDs into paths that have already been wrapped\n if (debugIdWrappedPaths.has(resolvedPath)) {\n return;\n }\n debugIdWrappedPaths.add(resolvedPath);\n\n return {\n pluginName,\n // needs to be an abs path, otherwise esbuild will complain\n path: resolvedPath,\n pluginData: {\n isProxyResolver: true,\n originalPath: args.path,\n originalResolveDir: args.resolveDir,\n },\n // We need to add a suffix here, otherwise esbuild will mark the entrypoint as resolved and won't traverse\n // the module tree any further down past the proxy module because we're essentially creating a dependency\n // loop back to the proxy module.\n // By setting a suffix we're telling esbuild that the entrypoint and proxy module are two different things,\n // making it re-resolve the entrypoint when it is imported from the proxy module.\n // Super confusing? Yes. Works? Apparently... Let's see.\n suffix: \"?sentryProxyModule=true\",\n };\n });\n\n onLoad({ filter: /.*/ }, (args) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (!(args.pluginData?.isProxyResolver as undefined | boolean)) {\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const originalPath = args.pluginData.originalPath as string;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const originalResolveDir = args.pluginData.originalResolveDir as string;\n\n return {\n loader: \"js\",\n pluginName,\n // We need to use JSON.stringify below so that any escape backslashes stay escape backslashes, in order not to break paths on windows\n contents: `\n import \"_sentry-debug-id-injection-stub\";\n import * as OriginalModule from ${JSON.stringify(originalPath)};\n export default OriginalModule.default;\n export * from ${JSON.stringify(originalPath)};`,\n resolveDir: originalResolveDir,\n };\n });\n\n onResolve({ filter: /_sentry-debug-id-injection-stub/ }, (args) => {\n return {\n path: args.path,\n sideEffects: true,\n pluginName,\n namespace: stubNamespace,\n suffix: \"?sentry-module-id=\" + uuidv4(), // create different module, each time this is resolved\n };\n });\n\n onLoad({ filter: /_sentry-debug-id-injection-stub/, namespace: stubNamespace }, () => {\n return {\n loader: \"js\",\n pluginName,\n contents: getDebugIdSnippet(uuidv4()).code(),\n };\n });\n },\n },\n };\n}\n\nfunction esbuildModuleMetadataInjectionPlugin(injectionCode: string): UnpluginOptions {\n const pluginName = \"sentry-esbuild-module-metadata-injection-plugin\";\n const stubNamespace = \"sentry-module-metadata-stub\";\n\n return {\n name: pluginName,\n\n esbuild: {\n setup({ initialOptions, onLoad, onResolve }) {\n // Clear state from previous builds (important for watch mode and test suites)\n metadataProxyEntryPoints.clear();\n\n onResolve({ filter: /.*/ }, (args) => {\n if (args.kind !== \"entry-point\") {\n return;\n } else {\n // Injected modules via the esbuild `inject` option do also have `kind == \"entry-point\"`.\n // We do not want to inject debug IDs into those files because they are already bundled into the entrypoints\n if (initialOptions.inject?.includes(args.path)) {\n return;\n }\n\n const resolvedPath = path.isAbsolute(args.path)\n ? args.path\n : path.join(args.resolveDir, args.path);\n\n // Register this entry point so the debug ID plugin knows to wrap imports from\n // this proxy module, this because the debug ID may run after the metadata plugin\n metadataProxyEntryPoints.add(resolvedPath);\n\n return {\n pluginName,\n // needs to be an abs path, otherwise esbuild will complain\n path: resolvedPath,\n pluginData: {\n isMetadataProxyResolver: true,\n originalPath: args.path,\n originalResolveDir: args.resolveDir,\n },\n // We need to add a suffix here, otherwise esbuild will mark the entrypoint as resolved and won't traverse\n // the module tree any further down past the proxy module because we're essentially creating a dependency\n // loop back to the proxy module.\n // By setting a suffix we're telling esbuild that the entrypoint and proxy module are two different things,\n // making it re-resolve the entrypoint when it is imported from the proxy module.\n // Super confusing? Yes. Works? Apparently... Let's see.\n suffix: \"?sentryMetadataProxyModule=true\",\n };\n }\n });\n\n onLoad({ filter: /.*/ }, (args) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (!(args.pluginData?.isMetadataProxyResolver as undefined | boolean)) {\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const originalPath = args.pluginData.originalPath as string;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const originalResolveDir = args.pluginData.originalResolveDir as string;\n\n return {\n loader: \"js\",\n pluginName,\n // We need to use JSON.stringify below so that any escape backslashes stay escape backslashes, in order not to break paths on windows\n contents: `\n import \"_sentry-module-metadata-injection-stub\";\n import * as OriginalModule from ${JSON.stringify(originalPath)};\n export default OriginalModule.default;\n export * from ${JSON.stringify(originalPath)};`,\n resolveDir: originalResolveDir,\n };\n });\n\n onResolve({ filter: /_sentry-module-metadata-injection-stub/ }, (args) => {\n return {\n path: args.path,\n sideEffects: true,\n pluginName,\n namespace: stubNamespace,\n suffix: \"?sentry-module-id=\" + uuidv4(), // create different module, each time this is resolved\n };\n });\n\n onLoad(\n { filter: /_sentry-module-metadata-injection-stub/, namespace: stubNamespace },\n () => {\n return {\n loader: \"js\",\n pluginName,\n contents: injectionCode,\n };\n }\n );\n },\n },\n };\n}\n\nfunction esbuildDebugIdUploadPlugin(\n upload: (buildArtifacts: string[]) => Promise<void>,\n _logger: Logger,\n createDependencyOnBuildArtifacts: () => () => void\n): UnpluginOptions {\n const freeGlobalDependencyOnDebugIdSourcemapArtifacts = createDependencyOnBuildArtifacts();\n return {\n name: \"sentry-esbuild-debug-id-upload-plugin\",\n esbuild: {\n setup({ initialOptions, onEnd }) {\n initialOptions.metafile = true;\n onEnd(async (result) => {\n try {\n const buildArtifacts = result.metafile ? Object.keys(result.metafile.outputs) : [];\n await upload(buildArtifacts);\n } finally {\n freeGlobalDependencyOnDebugIdSourcemapArtifacts();\n }\n });\n },\n },\n };\n}\n\nfunction esbuildBundleSizeOptimizationsPlugin(\n replacementValues: SentrySDKBuildFlags\n): UnpluginOptions {\n return {\n name: \"sentry-esbuild-bundle-size-optimizations-plugin\",\n esbuild: {\n setup({ initialOptions }) {\n const replacementStringValues: Record<string, string> = {};\n Object.entries(replacementValues).forEach(([key, value]) => {\n replacementStringValues[key] = JSON.stringify(value);\n });\n\n initialOptions.define = { ...initialOptions.define, ...replacementStringValues };\n },\n },\n };\n}\n\nconst sentryUnplugin = sentryUnpluginFactory({\n injectionPlugin: {\n releaseInjectionPlugin: esbuildReleaseInjectionPlugin,\n debugIdInjectionPlugin: esbuildDebugIdInjectionPlugin,\n moduleMetadataInjectionPlugin: esbuildModuleMetadataInjectionPlugin,\n },\n debugIdUploadPlugin: esbuildDebugIdUploadPlugin,\n bundleSizeOptimizationsPlugin: esbuildBundleSizeOptimizationsPlugin,\n});\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const sentryEsbuildPlugin: (options?: Options) => any = sentryUnplugin.esbuild;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport default sentryUnplugin.esbuild as (options?: Options) => any;\n\nexport type { Options as SentryEsbuildPluginOptions } from \"@sentry/bundler-plugin-core\";\nexport { sentryCliBinaryExists } from \"@sentry/bundler-plugin-core\";\n"],"names":["esbuildReleaseInjectionPlugin","injectionCode","pluginName","virtualReleaseInjectionFilePath","path","resolve","name","esbuild","setup","_ref","initialOptions","onLoad","onResolve","inject","push","filter","args","sideEffects","loader","contents","metadataProxyEntryPoints","Set","debugIdWrappedPaths","esbuildDebugIdInjectionPlugin","logger","stubNamespace","_ref2","clear","bundle","warn","_args$importer","_initialOptions$injec","isEntryPoint","kind","importerPath","importer","split","isImportFromMetadataProxy","undefined","has","includes","resolvedPath","isAbsolute","join","resolveDir","add","pluginData","isProxyResolver","originalPath","originalResolveDir","suffix","_args$pluginData","concat","JSON","stringify","namespace","uuidv4","getDebugIdSnippet","code","esbuildModuleMetadataInjectionPlugin","_ref3","_initialOptions$injec2","isMetadataProxyResolver","_args$pluginData2","esbuildDebugIdUploadPlugin","upload","_logger","createDependencyOnBuildArtifacts","freeGlobalDependencyOnDebugIdSourcemapArtifacts","_ref4","onEnd","metafile","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","result","_buildArtifacts","wrap","_callee$","_context","prev","next","buildArtifacts","Object","keys","outputs","finish","stop","_x","apply","arguments","esbuildBundleSizeOptimizationsPlugin","replacementValues","_ref6","replacementStringValues","entries","forEach","_ref7","_ref8","_slicedToArray","key","value","define","_objectSpread","sentryUnplugin","sentryUnpluginFactory","injectionPlugin","releaseInjectionPlugin","debugIdInjectionPlugin","moduleMetadataInjectionPlugin","debugIdUploadPlugin","bundleSizeOptimizationsPlugin","sentryEsbuildPlugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,SAASA,6BAA6BA,CAACC,aAAqB,EAAmB;EAC7E,IAAMC,UAAU,GAAG,yCAAyC,CAAA;EAC5D,IAAMC,+BAA+B,GAAGC,IAAI,CAACC,OAAO,CAAC,gCAAgC,CAAC,CAAC;;EAEvF,OAAO;AACLC,IAAAA,IAAI,EAAEJ,UAAU;AAEhBK,IAAAA,OAAO,EAAE;MACPC,KAAK,EAAA,SAAAA,KAAAC,CAAAA,IAAA,EAAwC;AAAA,QAAA,IAArCC,cAAc,GAAAD,IAAA,CAAdC,cAAc;UAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;UAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS,CAAA;AACvCF,QAAAA,cAAc,CAACG,MAAM,GAAGH,cAAc,CAACG,MAAM,IAAI,EAAE,CAAA;AACnDH,QAAAA,cAAc,CAACG,MAAM,CAACC,IAAI,CAACX,+BAA+B,CAAC,CAAA;AAE3DS,QAAAA,SAAS,CAAC;AAAEG,UAAAA,MAAM,EAAE,gCAAA;SAAkC,EAAE,UAACC,IAAI,EAAK;UAChE,OAAO;YACLZ,IAAI,EAAEY,IAAI,CAACZ,IAAI;AACfa,YAAAA,WAAW,EAAE,IAAI;AACjBf,YAAAA,UAAU,EAAVA,UAAAA;WACD,CAAA;AACH,SAAC,CAAC,CAAA;AAEFS,QAAAA,MAAM,CAAC;AAAEI,UAAAA,MAAM,EAAE,gCAAA;AAAiC,SAAC,EAAE,YAAM;UACzD,OAAO;AACLG,YAAAA,MAAM,EAAE,IAAI;AACZhB,YAAAA,UAAU,EAAVA,UAAU;AACViB,YAAAA,QAAQ,EAAElB,aAAAA;WACX,CAAA;AACH,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAA;GACD,CAAA;AACH,CAAA;;AAEA;AACA;AACA;AACA;AACA,IAAMmB,wBAAwB,GAAG,IAAIC,GAAG,EAAU,CAAA;;AAElD;AACA;AACA;AACA;AACA,IAAMC,mBAAmB,GAAG,IAAID,GAAG,EAAU,CAAA;AAE7C,SAASE,6BAA6BA,CAACC,MAAc,EAAmB;EACtE,IAAMtB,UAAU,GAAG,0CAA0C,CAAA;EAC7D,IAAMuB,aAAa,GAAG,sBAAsB,CAAA;EAE5C,OAAO;AACLnB,IAAAA,IAAI,EAAEJ,UAAU;AAEhBK,IAAAA,OAAO,EAAE;MACPC,KAAK,EAAA,SAAAA,KAAAkB,CAAAA,KAAA,EAAwC;AAAA,QAAA,IAArChB,cAAc,GAAAgB,KAAA,CAAdhB,cAAc;UAAEC,MAAM,GAAAe,KAAA,CAANf,MAAM;UAAEC,SAAS,GAAAc,KAAA,CAATd,SAAS,CAAA;AACvC;QACAU,mBAAmB,CAACK,KAAK,EAAE,CAAA;AAC3B;AACA;AACA;QACAP,wBAAwB,CAACO,KAAK,EAAE,CAAA;AAEhC,QAAA,IAAI,CAACjB,cAAc,CAACkB,MAAM,EAAE;AAC1BJ,UAAAA,MAAM,CAACK,IAAI,CACT,4UACF,CAAC,CAAA;AACH,SAAA;AAEAjB,QAAAA,SAAS,CAAC;AAAEG,UAAAA,MAAM,EAAE,IAAA;SAAM,EAAE,UAACC,IAAI,EAAK;UAAA,IAAAc,cAAA,EAAAC,qBAAA,CAAA;AACpC;AACA,UAAA,IAAMC,YAAY,GAAGhB,IAAI,CAACiB,IAAI,KAAK,aAAa,CAAA;;AAEhD;AACA;AACA;AACA;AACA,UAAA,IAAMC,YAAY,GAAAJ,CAAAA,cAAA,GAAGd,IAAI,CAACmB,QAAQ,MAAAL,IAAAA,IAAAA,cAAA,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAA,CAAeM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACjD,UAAA,IAAMC,yBAAyB,GAC7BrB,IAAI,CAACiB,IAAI,KAAK,kBAAkB,IAChCC,YAAY,KAAKI,SAAS,IAC1BlB,wBAAwB,CAACmB,GAAG,CAACL,YAAY,CAAC,CAAA;AAE5C,UAAA,IAAI,CAACF,YAAY,IAAI,CAACK,yBAAyB,EAAE;AAC/C,YAAA,OAAA;AACF,WAAA;;AAEA;AACA;AACA,UAAA,IAAA,CAAAN,qBAAA,GAAIrB,cAAc,CAACG,MAAM,cAAAkB,qBAAA,KAAA,KAAA,CAAA,IAArBA,qBAAA,CAAuBS,QAAQ,CAACxB,IAAI,CAACZ,IAAI,CAAC,EAAE;AAC9C,YAAA,OAAA;AACF,WAAA;UAEA,IAAMqC,YAAY,GAAGrC,IAAI,CAACsC,UAAU,CAAC1B,IAAI,CAACZ,IAAI,CAAC,GAC3CY,IAAI,CAACZ,IAAI,GACTA,IAAI,CAACuC,IAAI,CAAC3B,IAAI,CAAC4B,UAAU,EAAE5B,IAAI,CAACZ,IAAI,CAAC,CAAA;;AAEzC;AACA,UAAA,IAAIkB,mBAAmB,CAACiB,GAAG,CAACE,YAAY,CAAC,EAAE;AACzC,YAAA,OAAA;AACF,WAAA;AACAnB,UAAAA,mBAAmB,CAACuB,GAAG,CAACJ,YAAY,CAAC,CAAA;UAErC,OAAO;AACLvC,YAAAA,UAAU,EAAVA,UAAU;AACV;AACAE,YAAAA,IAAI,EAAEqC,YAAY;AAClBK,YAAAA,UAAU,EAAE;AACVC,cAAAA,eAAe,EAAE,IAAI;cACrBC,YAAY,EAAEhC,IAAI,CAACZ,IAAI;cACvB6C,kBAAkB,EAAEjC,IAAI,CAAC4B,UAAAA;aAC1B;AACD;AACA;AACA;AACA;AACA;AACA;AACAM,YAAAA,MAAM,EAAE,yBAAA;WACT,CAAA;AACH,SAAC,CAAC,CAAA;AAEFvC,QAAAA,MAAM,CAAC;AAAEI,UAAAA,MAAM,EAAE,IAAA;SAAM,EAAE,UAACC,IAAI,EAAK;AAAA,UAAA,IAAAmC,gBAAA,CAAA;AACjC;AACA,UAAA,IAAI,EAAAA,CAAAA,gBAAA,GAAEnC,IAAI,CAAC8B,UAAU,MAAAK,IAAAA,IAAAA,gBAAA,KAAfA,KAAAA,CAAAA,IAAAA,gBAAA,CAAiBJ,eAAe,CAAwB,EAAE;AAC9D,YAAA,OAAO,IAAI,CAAA;AACb,WAAA;;AAEA;AACA,UAAA,IAAMC,YAAY,GAAGhC,IAAI,CAAC8B,UAAU,CAACE,YAAsB,CAAA;AAC3D;AACA,UAAA,IAAMC,kBAAkB,GAAGjC,IAAI,CAAC8B,UAAU,CAACG,kBAA4B,CAAA;UAEvE,OAAO;AACL/B,YAAAA,MAAM,EAAE,IAAI;AACZhB,YAAAA,UAAU,EAAVA,UAAU;AACV;AACAiB,YAAAA,QAAQ,gHAAAiC,MAAA,CAE4BC,IAAI,CAACC,SAAS,CAACN,YAAY,CAAC,EAAAI,uFAAAA,CAAAA,CAAAA,MAAA,CAE9CC,IAAI,CAACC,SAAS,CAACN,YAAY,CAAC,EAAG,GAAA,CAAA;AACjDJ,YAAAA,UAAU,EAAEK,kBAAAA;WACb,CAAA;AACH,SAAC,CAAC,CAAA;AAEFrC,QAAAA,SAAS,CAAC;AAAEG,UAAAA,MAAM,EAAE,iCAAA;SAAmC,EAAE,UAACC,IAAI,EAAK;UACjE,OAAO;YACLZ,IAAI,EAAEY,IAAI,CAACZ,IAAI;AACfa,YAAAA,WAAW,EAAE,IAAI;AACjBf,YAAAA,UAAU,EAAVA,UAAU;AACVqD,YAAAA,SAAS,EAAE9B,aAAa;AACxByB,YAAAA,MAAM,EAAE,oBAAoB,GAAGM,EAAM,EAAE;WACxC,CAAA;AACH,SAAC,CAAC,CAAA;;AAEF7C,QAAAA,MAAM,CAAC;AAAEI,UAAAA,MAAM,EAAE,iCAAiC;AAAEwC,UAAAA,SAAS,EAAE9B,aAAAA;AAAc,SAAC,EAAE,YAAM;UACpF,OAAO;AACLP,YAAAA,MAAM,EAAE,IAAI;AACZhB,YAAAA,UAAU,EAAVA,UAAU;YACViB,QAAQ,EAAEsC,iBAAiB,CAACD,EAAM,EAAE,CAAC,CAACE,IAAI,EAAC;WAC5C,CAAA;AACH,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAA;GACD,CAAA;AACH,CAAA;AAEA,SAASC,oCAAoCA,CAAC1D,aAAqB,EAAmB;EACpF,IAAMC,UAAU,GAAG,iDAAiD,CAAA;EACpE,IAAMuB,aAAa,GAAG,6BAA6B,CAAA;EAEnD,OAAO;AACLnB,IAAAA,IAAI,EAAEJ,UAAU;AAEhBK,IAAAA,OAAO,EAAE;MACPC,KAAK,EAAA,SAAAA,KAAAoD,CAAAA,KAAA,EAAwC;AAAA,QAAA,IAArClD,cAAc,GAAAkD,KAAA,CAAdlD,cAAc;UAAEC,MAAM,GAAAiD,KAAA,CAANjD,MAAM;UAAEC,SAAS,GAAAgD,KAAA,CAAThD,SAAS,CAAA;AACvC;QACAQ,wBAAwB,CAACO,KAAK,EAAE,CAAA;AAEhCf,QAAAA,SAAS,CAAC;AAAEG,UAAAA,MAAM,EAAE,IAAA;SAAM,EAAE,UAACC,IAAI,EAAK;AACpC,UAAA,IAAIA,IAAI,CAACiB,IAAI,KAAK,aAAa,EAAE;AAC/B,YAAA,OAAA;AACF,WAAC,MAAM;AAAA,YAAA,IAAA4B,sBAAA,CAAA;AACL;AACA;AACA,YAAA,IAAA,CAAAA,sBAAA,GAAInD,cAAc,CAACG,MAAM,cAAAgD,sBAAA,KAAA,KAAA,CAAA,IAArBA,sBAAA,CAAuBrB,QAAQ,CAACxB,IAAI,CAACZ,IAAI,CAAC,EAAE;AAC9C,cAAA,OAAA;AACF,aAAA;YAEA,IAAMqC,YAAY,GAAGrC,IAAI,CAACsC,UAAU,CAAC1B,IAAI,CAACZ,IAAI,CAAC,GAC3CY,IAAI,CAACZ,IAAI,GACTA,IAAI,CAACuC,IAAI,CAAC3B,IAAI,CAAC4B,UAAU,EAAE5B,IAAI,CAACZ,IAAI,CAAC,CAAA;;AAEzC;AACA;AACAgB,YAAAA,wBAAwB,CAACyB,GAAG,CAACJ,YAAY,CAAC,CAAA;YAE1C,OAAO;AACLvC,cAAAA,UAAU,EAAVA,UAAU;AACV;AACAE,cAAAA,IAAI,EAAEqC,YAAY;AAClBK,cAAAA,UAAU,EAAE;AACVgB,gBAAAA,uBAAuB,EAAE,IAAI;gBAC7Bd,YAAY,EAAEhC,IAAI,CAACZ,IAAI;gBACvB6C,kBAAkB,EAAEjC,IAAI,CAAC4B,UAAAA;eAC1B;AACD;AACA;AACA;AACA;AACA;AACA;AACAM,cAAAA,MAAM,EAAE,iCAAA;aACT,CAAA;AACH,WAAA;AACF,SAAC,CAAC,CAAA;AAEFvC,QAAAA,MAAM,CAAC;AAAEI,UAAAA,MAAM,EAAE,IAAA;SAAM,EAAE,UAACC,IAAI,EAAK;AAAA,UAAA,IAAA+C,iBAAA,CAAA;AACjC;AACA,UAAA,IAAI,EAAAA,CAAAA,iBAAA,GAAE/C,IAAI,CAAC8B,UAAU,MAAAiB,IAAAA,IAAAA,iBAAA,KAAfA,KAAAA,CAAAA,IAAAA,iBAAA,CAAiBD,uBAAuB,CAAwB,EAAE;AACtE,YAAA,OAAO,IAAI,CAAA;AACb,WAAA;;AAEA;AACA,UAAA,IAAMd,YAAY,GAAGhC,IAAI,CAAC8B,UAAU,CAACE,YAAsB,CAAA;AAC3D;AACA,UAAA,IAAMC,kBAAkB,GAAGjC,IAAI,CAAC8B,UAAU,CAACG,kBAA4B,CAAA;UAEvE,OAAO;AACL/B,YAAAA,MAAM,EAAE,IAAI;AACZhB,YAAAA,UAAU,EAAVA,UAAU;AACV;AACAiB,YAAAA,QAAQ,uHAAAiC,MAAA,CAE4BC,IAAI,CAACC,SAAS,CAACN,YAAY,CAAC,EAAAI,uFAAAA,CAAAA,CAAAA,MAAA,CAE9CC,IAAI,CAACC,SAAS,CAACN,YAAY,CAAC,EAAG,GAAA,CAAA;AACjDJ,YAAAA,UAAU,EAAEK,kBAAAA;WACb,CAAA;AACH,SAAC,CAAC,CAAA;AAEFrC,QAAAA,SAAS,CAAC;AAAEG,UAAAA,MAAM,EAAE,wCAAA;SAA0C,EAAE,UAACC,IAAI,EAAK;UACxE,OAAO;YACLZ,IAAI,EAAEY,IAAI,CAACZ,IAAI;AACfa,YAAAA,WAAW,EAAE,IAAI;AACjBf,YAAAA,UAAU,EAAVA,UAAU;AACVqD,YAAAA,SAAS,EAAE9B,aAAa;AACxByB,YAAAA,MAAM,EAAE,oBAAoB,GAAGM,EAAM,EAAE;WACxC,CAAA;AACH,SAAC,CAAC,CAAA;;AAEF7C,QAAAA,MAAM,CACJ;AAAEI,UAAAA,MAAM,EAAE,wCAAwC;AAAEwC,UAAAA,SAAS,EAAE9B,aAAAA;AAAc,SAAC,EAC9E,YAAM;UACJ,OAAO;AACLP,YAAAA,MAAM,EAAE,IAAI;AACZhB,YAAAA,UAAU,EAAVA,UAAU;AACViB,YAAAA,QAAQ,EAAElB,aAAAA;WACX,CAAA;AACH,SACF,CAAC,CAAA;AACH,OAAA;AACF,KAAA;GACD,CAAA;AACH,CAAA;AAEA,SAAS+D,0BAA0BA,CACjCC,MAAmD,EACnDC,OAAe,EACfC,gCAAkD,EACjC;AACjB,EAAA,IAAMC,+CAA+C,GAAGD,gCAAgC,EAAE,CAAA;EAC1F,OAAO;AACL7D,IAAAA,IAAI,EAAE,uCAAuC;AAC7CC,IAAAA,OAAO,EAAE;MACPC,KAAK,EAAA,SAAAA,KAAA6D,CAAAA,KAAA,EAA4B;AAAA,QAAA,IAAzB3D,cAAc,GAAA2D,KAAA,CAAd3D,cAAc;UAAE4D,KAAK,GAAAD,KAAA,CAALC,KAAK,CAAA;QAC3B5D,cAAc,CAAC6D,QAAQ,GAAG,IAAI,CAAA;QAC9BD,KAAK,eAAA,YAAA;UAAA,IAAAE,KAAA,GAAAC,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAC,SAAAC,OAAAA,CAAOC,MAAM,EAAA;AAAA,YAAA,IAAAC,eAAA,CAAA;AAAA,YAAA,OAAAJ,mBAAA,EAAA,CAAAK,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,cAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,gBAAA,KAAA,CAAA;AAAAF,kBAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAETE,kBAAAA,eAAc,GAAGP,MAAM,CAACN,QAAQ,GAAGc,MAAM,CAACC,IAAI,CAACT,MAAM,CAACN,QAAQ,CAACgB,OAAO,CAAC,GAAG,EAAE,CAAA;AAAAN,kBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;kBAAA,OAC5ElB,MAAM,CAACmB,eAAc,CAAC,CAAA;AAAA,gBAAA,KAAA,CAAA;AAAAH,kBAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAE5Bd,kBAAAA,+CAA+C,EAAE,CAAA;kBAAC,OAAAa,QAAA,CAAAO,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,gBAAA,KAAA,CAAA,CAAA;AAAA,gBAAA,KAAA,KAAA;kBAAA,OAAAP,QAAA,CAAAQ,IAAA,EAAA,CAAA;AAAA,eAAA;AAAA,aAAA,EAAAb,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;WAErD,CAAA,CAAA,CAAA;AAAA,UAAA,OAAA,UAAAc,EAAA,EAAA;AAAA,YAAA,OAAAlB,KAAA,CAAAmB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,WAAA,CAAA;SAAC,EAAA,CAAA,CAAA;AACJ,OAAA;AACF,KAAA;GACD,CAAA;AACH,CAAA;AAEA,SAASC,oCAAoCA,CAC3CC,iBAAsC,EACrB;EACjB,OAAO;AACLxF,IAAAA,IAAI,EAAE,iDAAiD;AACvDC,IAAAA,OAAO,EAAE;MACPC,KAAK,EAAA,SAAAA,KAAAuF,CAAAA,KAAA,EAAqB;AAAA,QAAA,IAAlBrF,cAAc,GAAAqF,KAAA,CAAdrF,cAAc,CAAA;QACpB,IAAMsF,uBAA+C,GAAG,EAAE,CAAA;QAC1DX,MAAM,CAACY,OAAO,CAACH,iBAAiB,CAAC,CAACI,OAAO,CAAC,UAAAC,KAAA,EAAkB;AAAA,UAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,KAAA,EAAA,CAAA,CAAA;AAAhBG,YAAAA,GAAG,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEG,YAAAA,KAAK,GAAAH,KAAA,CAAA,CAAA,CAAA,CAAA;UACpDJ,uBAAuB,CAACM,GAAG,CAAC,GAAGjD,IAAI,CAACC,SAAS,CAACiD,KAAK,CAAC,CAAA;AACtD,SAAC,CAAC,CAAA;AAEF7F,QAAAA,cAAc,CAAC8F,MAAM,GAAAC,cAAA,CAAAA,cAAA,CAAQ/F,EAAAA,EAAAA,cAAc,CAAC8F,MAAM,CAAKR,EAAAA,uBAAuB,CAAE,CAAA;AAClF,OAAA;AACF,KAAA;GACD,CAAA;AACH,CAAA;AAEA,IAAMU,cAAc,GAAGC,qBAAqB,CAAC;AAC3CC,EAAAA,eAAe,EAAE;AACfC,IAAAA,sBAAsB,EAAE7G,6BAA6B;AACrD8G,IAAAA,sBAAsB,EAAEvF,6BAA6B;AACrDwF,IAAAA,6BAA6B,EAAEpD,oCAAAA;GAChC;AACDqD,EAAAA,mBAAmB,EAAEhD,0BAA0B;AAC/CiD,EAAAA,6BAA6B,EAAEpB,oCAAAA;AACjC,CAAC,CAAC,CAAA;;AAEF;AACaqB,IAAAA,mBAA+C,GAAGR,cAAc,CAACnG,QAAO;;AAErF;AACA,YAAemG,cAAc,CAACnG,OAAO;;;;"}
1
+ {"version":3,"file":"index.mjs","names":["uuidv4"],"sources":["../../src/index.ts"],"sourcesContent":["import {\n createSentryBuildPluginManager,\n generateReleaseInjectorCode,\n generateModuleMetadataInjectorCode,\n Options,\n getDebugIdSnippet,\n createDebugIdUploadFunction,\n CodeInjection,\n} from \"@sentry/bundler-plugin-core\";\nimport * as path from \"node:path\";\nimport { createRequire } from \"node:module\";\nimport { v4 as uuidv4 } from \"uuid\";\n\ninterface EsbuildOnResolveArgs {\n path: string;\n kind: string;\n importer?: string;\n resolveDir: string;\n pluginData?: unknown;\n}\n\ninterface EsbuildOnResolveResult {\n path: string;\n sideEffects?: boolean;\n pluginName?: string;\n namespace?: string;\n suffix?: string;\n pluginData?: unknown;\n}\n\ninterface EsbuildOnLoadArgs {\n path: string;\n pluginData?: unknown;\n}\n\ninterface EsbuildOnLoadResult {\n loader: string;\n pluginName: string;\n contents: string;\n resolveDir?: string;\n}\n\ninterface EsbuildOnEndArgs {\n metafile?: {\n outputs: Record<string, unknown>;\n };\n}\n\ninterface EsbuildInitialOptions {\n bundle?: boolean;\n inject?: string[];\n metafile?: boolean;\n define?: Record<string, string>;\n}\n\ninterface EsbuildPluginBuild {\n initialOptions: EsbuildInitialOptions;\n onLoad: (\n options: { filter: RegExp; namespace?: string },\n callback: (args: EsbuildOnLoadArgs) => EsbuildOnLoadResult | null\n ) => void;\n onResolve: (\n options: { filter: RegExp },\n callback: (args: EsbuildOnResolveArgs) => EsbuildOnResolveResult | undefined\n ) => void;\n onEnd: (callback: (result: EsbuildOnEndArgs) => void | Promise<void>) => void;\n}\n\nfunction getEsbuildMajorVersion(): string | undefined {\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - esbuild transpiles this for us\n const req = createRequire(import.meta.url);\n const esbuild = req(\"esbuild\") as { version?: string };\n // esbuild hasn't released a v1 yet, so we'll return the minor version as the major version\n return esbuild.version?.split(\".\")[1];\n } catch (err) {\n // do nothing, we'll just not report a version\n }\n\n return undefined;\n}\n\nconst pluginName = \"sentry-esbuild-plugin\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function sentryEsbuildPlugin(userOptions: Options = {}): any {\n const sentryBuildPluginManager = createSentryBuildPluginManager(userOptions, {\n loggerPrefix: userOptions._metaOptions?.loggerPrefixOverride ?? `[${pluginName}]`,\n buildTool: \"esbuild\",\n buildToolMajorVersion: getEsbuildMajorVersion(),\n });\n\n const {\n logger,\n normalizedOptions: options,\n bundleSizeOptimizationReplacementValues: replacementValues,\n bundleMetadata,\n createDependencyOnBuildArtifacts,\n } = sentryBuildPluginManager;\n\n if (options.disable) {\n return {\n name: \"sentry-esbuild-noop-plugin\",\n setup() {\n // noop plugin\n },\n };\n }\n\n if (process.cwd().match(/\\\\node_modules\\\\|\\/node_modules\\//)) {\n logger.warn(\n \"Running Sentry plugin from within a `node_modules` folder. Some features may not work.\"\n );\n }\n\n const sourcemapsEnabled = options.sourcemaps?.disable !== true;\n const staticInjectionCode = new CodeInjection();\n\n if (!options.release.inject) {\n logger.debug(\n \"Release injection disabled via `release.inject` option. Will not inject release.\"\n );\n } else if (!options.release.name) {\n logger.debug(\n \"No release name provided. Will not inject release. Please set the `release.name` option to identify your release.\"\n );\n } else {\n staticInjectionCode.append(\n generateReleaseInjectorCode({\n release: options.release.name,\n injectBuildInformation: options._experiments.injectBuildInformation || false,\n })\n );\n }\n\n if (Object.keys(bundleMetadata).length > 0) {\n staticInjectionCode.append(generateModuleMetadataInjectorCode(bundleMetadata));\n }\n\n // Component annotation warning\n if (options.reactComponentAnnotation?.enabled) {\n logger.warn(\n \"Component name annotation is not supported in esbuild. Please use a separate transform step or consider using a different bundler.\"\n );\n }\n\n const transformReplace = Object.keys(replacementValues).length > 0;\n\n // Track entry points wrapped for debug ID injection\n const debugIdWrappedPaths = new Set<string>();\n\n void sentryBuildPluginManager.telemetry.emitBundlerPluginExecutionSignal().catch(() => {\n // Telemetry failures are acceptable\n });\n\n return {\n name: pluginName,\n setup({ initialOptions, onLoad, onResolve, onEnd }: EsbuildPluginBuild) {\n // Release and/or metadata injection\n if (!staticInjectionCode.isEmpty()) {\n const virtualInjectionFilePath = path.resolve(\"_sentry-injection-stub\");\n initialOptions.inject = initialOptions.inject || [];\n initialOptions.inject.push(virtualInjectionFilePath);\n\n onResolve({ filter: /_sentry-injection-stub/ }, (args) => {\n return {\n path: args.path,\n sideEffects: true,\n pluginName,\n };\n });\n\n onLoad({ filter: /_sentry-injection-stub/ }, () => {\n return {\n loader: \"js\",\n pluginName,\n contents: staticInjectionCode.code(),\n };\n });\n }\n\n // Bundle size optimizations\n if (transformReplace) {\n const replacementStringValues: Record<string, string> = {};\n Object.entries(replacementValues).forEach(([key, value]) => {\n replacementStringValues[key] = JSON.stringify(value);\n });\n\n initialOptions.define = { ...initialOptions.define, ...replacementStringValues };\n }\n\n // Debug ID injection - requires per-entry-point unique IDs\n if (sourcemapsEnabled) {\n // Clear state from previous builds (important for watch mode and test suites)\n debugIdWrappedPaths.clear();\n\n if (!initialOptions.bundle) {\n logger.warn(\n \"The Sentry esbuild plugin only supports esbuild with `bundle: true` being set in the esbuild build options. Esbuild will probably crash now. Sorry about that. If you need to upload sourcemaps without `bundle: true`, it is recommended to use Sentry CLI instead: https://docs.sentry.io/platforms/javascript/sourcemaps/uploading/cli/\"\n );\n }\n\n // Wrap entry points to inject debug IDs\n onResolve({ filter: /.*/ }, (args) => {\n if (args.kind !== \"entry-point\") {\n return;\n }\n\n // Skip injecting debug IDs into modules specified in the esbuild `inject` option\n // since they're already part of the entry points\n if (initialOptions.inject?.includes(args.path)) {\n return;\n }\n\n const resolvedPath = path.isAbsolute(args.path)\n ? args.path\n : path.join(args.resolveDir, args.path);\n\n // Skip injecting debug IDs into paths that have already been wrapped\n if (debugIdWrappedPaths.has(resolvedPath)) {\n return;\n }\n debugIdWrappedPaths.add(resolvedPath);\n\n return {\n pluginName,\n path: resolvedPath,\n pluginData: {\n isDebugIdProxy: true,\n originalPath: args.path,\n originalResolveDir: args.resolveDir,\n },\n // We need to add a suffix here, otherwise esbuild will mark the entrypoint as resolved and won't traverse\n // the module tree any further down past the proxy module because we're essentially creating a dependency\n // loop back to the proxy module.\n // By setting a suffix we're telling esbuild that the entrypoint and proxy module are two different things,\n // making it re-resolve the entrypoint when it is imported from the proxy module.\n // Super confusing? Yes. Works? Apparently... Let's see.\n suffix: \"?sentryDebugIdProxy=true\",\n };\n });\n\n onLoad({ filter: /.*/ }, (args) => {\n if (!(args.pluginData as { isDebugIdProxy?: boolean })?.isDebugIdProxy) {\n return null;\n }\n\n const originalPath = (args.pluginData as { originalPath: string }).originalPath;\n const originalResolveDir = (args.pluginData as { originalResolveDir: string })\n .originalResolveDir;\n\n return {\n loader: \"js\",\n pluginName,\n contents: `\n import \"_sentry-debug-id-injection-stub\";\n import * as OriginalModule from ${JSON.stringify(originalPath)};\n export default OriginalModule.default;\n export * from ${JSON.stringify(originalPath)};`,\n resolveDir: originalResolveDir,\n };\n });\n\n onResolve({ filter: /_sentry-debug-id-injection-stub/ }, (args) => {\n return {\n path: args.path,\n sideEffects: true,\n pluginName,\n namespace: \"sentry-debug-id-stub\",\n suffix: \"?sentry-module-id=\" + uuidv4(),\n };\n });\n\n onLoad(\n { filter: /_sentry-debug-id-injection-stub/, namespace: \"sentry-debug-id-stub\" },\n () => {\n return {\n loader: \"js\",\n pluginName,\n contents: getDebugIdSnippet(uuidv4()).code(),\n };\n }\n );\n }\n\n // Create release and optionally upload\n const freeGlobalDependencyOnBuildArtifacts = createDependencyOnBuildArtifacts();\n const upload = createDebugIdUploadFunction({ sentryBuildPluginManager });\n\n initialOptions.metafile = true;\n onEnd(async (result) => {\n try {\n await sentryBuildPluginManager.createRelease();\n\n if (sourcemapsEnabled && options.sourcemaps?.disable !== \"disable-upload\") {\n const buildArtifacts = result.metafile ? Object.keys(result.metafile.outputs) : [];\n await upload(buildArtifacts);\n }\n } finally {\n freeGlobalDependencyOnBuildArtifacts();\n await sentryBuildPluginManager.deleteArtifacts();\n }\n });\n },\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport default sentryEsbuildPlugin;\nexport type { Options as SentryEsbuildPluginOptions } from \"@sentry/bundler-plugin-core\";\nexport { sentryCliBinaryExists } from \"@sentry/bundler-plugin-core\";\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { Options } from "@sentry/bundler-plugin-core";
2
- export declare const sentryEsbuildPlugin: (options?: Options) => any;
3
- declare const _default: (options?: Options) => any;
4
- export default _default;
2
+ export declare function sentryEsbuildPlugin(userOptions?: Options): any;
3
+ export default sentryEsbuildPlugin;
5
4
  export type { Options as SentryEsbuildPluginOptions } from "@sentry/bundler-plugin-core";
6
5
  export { sentryCliBinaryExists } from "@sentry/bundler-plugin-core";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/esbuild-plugin",
3
- "version": "4.9.1",
3
+ "version": "5.1.0",
4
4
  "description": "Official Sentry esbuild plugin",
5
5
  "repository": "git@github.com:getsentry/sentry-javascript-bundler-plugins.git",
6
6
  "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin",
@@ -31,8 +31,8 @@
31
31
  "scripts": {
32
32
  "build": "premove ./out && run-p build:rollup build:types",
33
33
  "build:watch": "run-p build:rollup:watch build:types:watch",
34
- "build:rollup": "rollup --config rollup.config.js",
35
- "build:rollup:watch": "rollup --config rollup.config.js --watch --no-watch.clearScreen",
34
+ "build:rollup": "rolldown --config rollup.config.mjs",
35
+ "build:rollup:watch": "rolldown --config rollup.config.mjs --watch --no-watch.clearScreen",
36
36
  "build:types": "tsc --project types.tsconfig.json",
37
37
  "build:types:watch": "tsc --project types.tsconfig.json --watch --preserveWatchOutput",
38
38
  "build:npm": "npm pack",
@@ -48,18 +48,12 @@
48
48
  "prepack": "ts-node ./src/prepack.ts"
49
49
  },
50
50
  "dependencies": {
51
- "@sentry/bundler-plugin-core": "4.9.1",
52
- "unplugin": "1.0.1",
51
+ "@sentry/bundler-plugin-core": "5.1.0",
53
52
  "uuid": "^9.0.0"
54
53
  },
55
54
  "devDependencies": {
56
- "@babel/core": "7.18.5",
57
- "@babel/preset-env": "7.18.2",
58
- "@babel/preset-typescript": "7.17.12",
59
- "@rollup/plugin-babel": "5.3.1",
60
- "@rollup/plugin-node-resolve": "13.3.0",
61
- "@sentry-internal/eslint-config": "4.9.1",
62
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.9.1",
55
+ "@sentry-internal/eslint-config": "5.1.0",
56
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "5.1.0",
63
57
  "@swc/core": "^1.2.205",
64
58
  "@swc/jest": "^0.2.21",
65
59
  "@types/jest": "^28.1.3",
@@ -68,7 +62,7 @@
68
62
  "eslint": "^8.18.0",
69
63
  "jest": "^28.1.1",
70
64
  "premove": "^4.0.0",
71
- "rollup": "2.75.7",
65
+ "rolldown": "^1.0.0-rc.4",
72
66
  "ts-node": "^10.9.1",
73
67
  "typescript": "^4.7.4"
74
68
  },