@sentry/esbuild-plugin 2.14.3 → 2.15.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.
package/README.md CHANGED
@@ -232,7 +232,7 @@ Unique identifier for the release you want to create.
232
232
 
233
233
  This value can also be specified via the `SENTRY_RELEASE` environment variable.
234
234
 
235
- Defaults to automatically detecting a value for your environment. This includes values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (the latterrequires access to git CLI and for the root directory to be a valid repository)
235
+ Defaults to automatically detecting a value for your environment. This includes values for Cordova, Heroku, AWS CodeBuild, CircleCI, Xcode, and Gradle, and otherwise uses the git `HEAD`'s commit SHA. (the latter requires access to git CLI and for the root directory to be a valid repository)
236
236
 
237
237
  If you didn't provide a value and the plugin can't automatically detect one, no release will be created.
238
238
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["import {\n sentryUnpluginFactory,\n Options,\n getDebugIdSnippet,\n SentrySDKBuildFlags,\n} 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\nfunction esbuildDebugIdInjectionPlugin(): 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 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 return {\n pluginName,\n // needs to be an abs path, otherwise esbuild will complain\n path: path.isAbsolute(args.path) ? args.path : path.join(args.resolveDir, args.path),\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\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()),\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 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 return {\n pluginName,\n // needs to be an abs path, otherwise esbuild will complain\n path: path.isAbsolute(args.path) ? args.path : path.join(args.resolveDir, args.path),\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): UnpluginOptions {\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 const buildArtifacts = result.metafile ? Object.keys(result.metafile.outputs) : [];\n await upload(buildArtifacts);\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 releaseInjectionPlugin: esbuildReleaseInjectionPlugin,\n debugIdInjectionPlugin: esbuildDebugIdInjectionPlugin,\n moduleMetadataInjectionPlugin: esbuildModuleMetadataInjectionPlugin,\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\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","esbuildDebugIdInjectionPlugin","stubNamespace","_ref2","kind","_initialOptions$injec","includes","isAbsolute","join","resolveDir","pluginData","isProxyResolver","originalPath","originalResolveDir","suffix","_args$pluginData","concat","JSON","stringify","namespace","uuidv4","getDebugIdSnippet","esbuildModuleMetadataInjectionPlugin","_ref3","_initialOptions$injec2","isMetadataProxyResolver","_args$pluginData2","esbuildDebugIdUploadPlugin","upload","_ref4","onEnd","metafile","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","result","buildArtifacts","wrap","_callee$","_context","prev","next","Object","keys","outputs","stop","_x","apply","arguments","esbuildBundleSizeOptimizationsPlugin","replacementValues","_ref6","replacementStringValues","entries","forEach","_ref7","_ref8","_slicedToArray","key","value","define","_objectSpread","sentryUnplugin","sentryUnpluginFactory","releaseInjectionPlugin","debugIdInjectionPlugin","moduleMetadataInjectionPlugin","debugIdUploadPlugin","bundleSizeOptimizationsPlugin","sentryEsbuildPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["import {\n sentryUnpluginFactory,\n Options,\n getDebugIdSnippet,\n SentrySDKBuildFlags,\n} 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\nfunction esbuildDebugIdInjectionPlugin(): 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 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 return {\n pluginName,\n // needs to be an abs path, otherwise esbuild will complain\n path: path.isAbsolute(args.path) ? args.path : path.join(args.resolveDir, args.path),\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\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()),\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 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 return {\n pluginName,\n // needs to be an abs path, otherwise esbuild will complain\n path: path.isAbsolute(args.path) ? args.path : path.join(args.resolveDir, args.path),\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): UnpluginOptions {\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 const buildArtifacts = result.metafile ? Object.keys(result.metafile.outputs) : [];\n await upload(buildArtifacts);\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 releaseInjectionPlugin: esbuildReleaseInjectionPlugin,\n debugIdInjectionPlugin: esbuildDebugIdInjectionPlugin,\n moduleMetadataInjectionPlugin: esbuildModuleMetadataInjectionPlugin,\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\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","esbuildDebugIdInjectionPlugin","stubNamespace","_ref2","kind","_initialOptions$injec","includes","isAbsolute","join","resolveDir","pluginData","isProxyResolver","originalPath","originalResolveDir","suffix","_args$pluginData","concat","JSON","stringify","namespace","uuidv4","getDebugIdSnippet","esbuildModuleMetadataInjectionPlugin","_ref3","_initialOptions$injec2","isMetadataProxyResolver","_args$pluginData2","esbuildDebugIdUploadPlugin","upload","_ref4","onEnd","metafile","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","result","buildArtifacts","wrap","_callee$","_context","prev","next","Object","keys","outputs","stop","_x","apply","arguments","esbuildBundleSizeOptimizationsPlugin","replacementValues","_ref6","replacementStringValues","entries","forEach","_ref7","_ref8","_slicedToArray","key","value","define","_objectSpread","sentryUnplugin","sentryUnpluginFactory","releaseInjectionPlugin","debugIdInjectionPlugin","moduleMetadataInjectionPlugin","debugIdUploadPlugin","bundleSizeOptimizationsPlugin","sentryEsbuildPlugin"],"mappings":"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"}
@@ -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 { 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\nfunction esbuildDebugIdInjectionPlugin(): 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 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 return {\n pluginName,\n // needs to be an abs path, otherwise esbuild will complain\n path: path.isAbsolute(args.path) ? args.path : path.join(args.resolveDir, args.path),\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\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()),\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 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 return {\n pluginName,\n // needs to be an abs path, otherwise esbuild will complain\n path: path.isAbsolute(args.path) ? args.path : path.join(args.resolveDir, args.path),\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): UnpluginOptions {\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 const buildArtifacts = result.metafile ? Object.keys(result.metafile.outputs) : [];\n await upload(buildArtifacts);\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 releaseInjectionPlugin: esbuildReleaseInjectionPlugin,\n debugIdInjectionPlugin: esbuildDebugIdInjectionPlugin,\n moduleMetadataInjectionPlugin: esbuildModuleMetadataInjectionPlugin,\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\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","esbuildDebugIdInjectionPlugin","stubNamespace","_ref2","kind","_initialOptions$injec","includes","isAbsolute","join","resolveDir","pluginData","isProxyResolver","originalPath","originalResolveDir","suffix","_args$pluginData","concat","JSON","stringify","namespace","uuidv4","getDebugIdSnippet","esbuildModuleMetadataInjectionPlugin","_ref3","_initialOptions$injec2","isMetadataProxyResolver","_args$pluginData2","esbuildDebugIdUploadPlugin","upload","_ref4","onEnd","metafile","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","result","buildArtifacts","wrap","_callee$","_context","prev","next","Object","keys","outputs","stop","_x","apply","arguments","esbuildBundleSizeOptimizationsPlugin","replacementValues","_ref6","replacementStringValues","entries","forEach","_ref7","_ref8","_slicedToArray","key","value","define","_objectSpread","sentryUnplugin","sentryUnpluginFactory","releaseInjectionPlugin","debugIdInjectionPlugin","moduleMetadataInjectionPlugin","debugIdUploadPlugin","bundleSizeOptimizationsPlugin","sentryEsbuildPlugin"],"mappings":"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"}
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 { 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\nfunction esbuildDebugIdInjectionPlugin(): 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 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 return {\n pluginName,\n // needs to be an abs path, otherwise esbuild will complain\n path: path.isAbsolute(args.path) ? args.path : path.join(args.resolveDir, args.path),\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\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()),\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 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 return {\n pluginName,\n // needs to be an abs path, otherwise esbuild will complain\n path: path.isAbsolute(args.path) ? args.path : path.join(args.resolveDir, args.path),\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): UnpluginOptions {\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 const buildArtifacts = result.metafile ? Object.keys(result.metafile.outputs) : [];\n await upload(buildArtifacts);\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 releaseInjectionPlugin: esbuildReleaseInjectionPlugin,\n debugIdInjectionPlugin: esbuildDebugIdInjectionPlugin,\n moduleMetadataInjectionPlugin: esbuildModuleMetadataInjectionPlugin,\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\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","esbuildDebugIdInjectionPlugin","stubNamespace","_ref2","kind","_initialOptions$injec","includes","isAbsolute","join","resolveDir","pluginData","isProxyResolver","originalPath","originalResolveDir","suffix","_args$pluginData","concat","JSON","stringify","namespace","uuidv4","getDebugIdSnippet","esbuildModuleMetadataInjectionPlugin","_ref3","_initialOptions$injec2","isMetadataProxyResolver","_args$pluginData2","esbuildDebugIdUploadPlugin","upload","_ref4","onEnd","metafile","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","result","buildArtifacts","wrap","_callee$","_context","prev","next","Object","keys","outputs","stop","_x","apply","arguments","esbuildBundleSizeOptimizationsPlugin","replacementValues","_ref6","replacementStringValues","entries","forEach","_ref7","_ref8","_slicedToArray","key","value","define","_objectSpread","sentryUnplugin","sentryUnpluginFactory","releaseInjectionPlugin","debugIdInjectionPlugin","moduleMetadataInjectionPlugin","debugIdUploadPlugin","bundleSizeOptimizationsPlugin","sentryEsbuildPlugin"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { Options } from "@sentry/bundler-plugin-core";
2
- export declare const sentryEsbuildPlugin: (options: Options) => any;
2
+ export declare const sentryEsbuildPlugin: (options?: Options) => any;
3
3
  export type { Options as SentryEsbuildPluginOptions } from "@sentry/bundler-plugin-core";
4
4
  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": "2.14.3",
3
+ "version": "2.15.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",
@@ -48,7 +48,7 @@
48
48
  "prepack": "ts-node ./src/prepack.ts"
49
49
  },
50
50
  "dependencies": {
51
- "@sentry/bundler-plugin-core": "2.14.3",
51
+ "@sentry/bundler-plugin-core": "2.15.0",
52
52
  "unplugin": "1.0.1",
53
53
  "uuid": "^9.0.0"
54
54
  },
@@ -58,8 +58,8 @@
58
58
  "@babel/preset-typescript": "7.17.12",
59
59
  "@rollup/plugin-babel": "5.3.1",
60
60
  "@rollup/plugin-node-resolve": "13.3.0",
61
- "@sentry-internal/eslint-config": "2.14.3",
62
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "2.14.3",
61
+ "@sentry-internal/eslint-config": "2.15.0",
62
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "2.15.0",
63
63
  "@swc/core": "^1.2.205",
64
64
  "@swc/jest": "^0.2.21",
65
65
  "@types/jest": "^28.1.3",