@sentry/webpack-plugin 2.23.0 → 3.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.
package/dist/cjs/index.js CHANGED
@@ -161,7 +161,7 @@ function webpackDebugIdInjectionPlugin() {
161
161
  }
162
162
  };
163
163
  }
164
- function webpackDebugIdUploadPlugin(upload) {
164
+ function webpackDebugIdUploadPlugin(upload, logger, forceExitOnBuildCompletion) {
165
165
  var pluginName = "sentry-webpack-debug-id-upload-plugin";
166
166
  return {
167
167
  name: pluginName,
@@ -177,6 +177,14 @@ function webpackDebugIdUploadPlugin(upload) {
177
177
  callback();
178
178
  });
179
179
  });
180
+ if (forceExitOnBuildCompletion && compiler.options.mode === "production") {
181
+ compiler.hooks.done.tap(pluginName, function () {
182
+ setTimeout(function () {
183
+ logger.debug("Exiting process after debug file upload");
184
+ process.exit(0);
185
+ });
186
+ });
187
+ }
180
188
  }
181
189
  };
182
190
  }
@@ -212,7 +220,6 @@ var sentryUnplugin = bundlerPluginCore.sentryUnpluginFactory({
212
220
  debugIdUploadPlugin: webpackDebugIdUploadPlugin,
213
221
  bundleSizeOptimizationsPlugin: webpackBundleSizeOptimizationsPlugin
214
222
  });
215
-
216
223
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
217
224
  var sentryWebpackPlugin = sentryUnplugin.webpack;
218
225
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["import {\n getDebugIdSnippet,\n Options,\n sentryUnpluginFactory,\n stringToUUID,\n SentrySDKBuildFlags,\n createComponentNameAnnotateHooks,\n} from \"@sentry/bundler-plugin-core\";\nimport * as path from \"path\";\nimport { UnpluginOptions } from \"unplugin\";\nimport { v4 as uuidv4 } from \"uuid\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore webpack is a peer dep\nimport * as webback4or5 from \"webpack\";\n\ninterface BannerPluginCallbackArg {\n chunk?: {\n hash?: string;\n };\n}\n\nfunction webpackReleaseInjectionPlugin(injectionCode: string): UnpluginOptions {\n return {\n name: \"sentry-webpack-release-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: injectionCode,\n })\n );\n },\n };\n}\n\nfunction webpackComponentNameAnnotatePlugin(ignoredComponents?: string[]): UnpluginOptions {\n return {\n name: \"sentry-webpack-component-name-annotate-plugin\",\n enforce: \"pre\",\n // Webpack needs this hook for loader logic, so the plugin is not run on unsupported file types\n transformInclude(id) {\n return id.endsWith(\".tsx\") || id.endsWith(\".jsx\");\n },\n transform: createComponentNameAnnotateHooks(ignoredComponents).transform,\n };\n}\n\nfunction webpackBundleSizeOptimizationsPlugin(\n replacementValues: SentrySDKBuildFlags\n): UnpluginOptions {\n return {\n name: \"sentry-webpack-bundle-size-optimizations-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const DefinePlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.DefinePlugin ||\n webback4or5?.DefinePlugin ||\n webback4or5?.default?.DefinePlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new DefinePlugin({\n ...replacementValues,\n })\n );\n },\n };\n}\n\nfunction webpackDebugIdInjectionPlugin(): UnpluginOptions {\n return {\n name: \"sentry-webpack-debug-id-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: (arg?: BannerPluginCallbackArg) => {\n const debugId = arg?.chunk?.hash ? stringToUUID(arg.chunk.hash) : uuidv4();\n return getDebugIdSnippet(debugId);\n },\n })\n );\n },\n };\n}\n\nfunction webpackDebugIdUploadPlugin(\n upload: (buildArtifacts: string[]) => Promise<void>\n): UnpluginOptions {\n const pluginName = \"sentry-webpack-debug-id-upload-plugin\";\n return {\n name: pluginName,\n webpack(compiler) {\n compiler.hooks.afterEmit.tapAsync(pluginName, (compilation, callback: () => void) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const outputPath = (compilation.outputOptions.path as string | undefined) ?? path.resolve();\n const buildArtifacts = Object.keys(compilation.assets as Record<string, unknown>).map(\n (asset) => path.join(outputPath, asset)\n );\n void upload(buildArtifacts).then(() => {\n callback();\n });\n });\n },\n };\n}\n\nfunction webpackModuleMetadataInjectionPlugin(injectionCode: string): UnpluginOptions {\n return {\n name: \"sentry-webpack-module-metadata-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: injectionCode,\n })\n );\n },\n };\n}\n\nconst sentryUnplugin = sentryUnpluginFactory({\n releaseInjectionPlugin: webpackReleaseInjectionPlugin,\n componentNameAnnotatePlugin: webpackComponentNameAnnotatePlugin,\n moduleMetadataInjectionPlugin: webpackModuleMetadataInjectionPlugin,\n debugIdInjectionPlugin: webpackDebugIdInjectionPlugin,\n debugIdUploadPlugin: webpackDebugIdUploadPlugin,\n bundleSizeOptimizationsPlugin: webpackBundleSizeOptimizationsPlugin,\n});\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const sentryWebpackPlugin: (options?: Options) => any = sentryUnplugin.webpack;\n\nexport { sentryCliBinaryExists } from \"@sentry/bundler-plugin-core\";\nexport type { Options as SentryWebpackPluginOptions } from \"@sentry/bundler-plugin-core\";\n"],"names":["webpackReleaseInjectionPlugin","injectionCode","name","webpack","compiler","_compiler$webpack","_webback4or5$default","BannerPlugin","webback4or5","options","plugins","push","raw","include","banner","webpackComponentNameAnnotatePlugin","ignoredComponents","enforce","transformInclude","id","endsWith","transform","createComponentNameAnnotateHooks","webpackBundleSizeOptimizationsPlugin","replacementValues","_compiler$webpack2","_webback4or5$default2","DefinePlugin","_objectSpread","webpackDebugIdInjectionPlugin","_compiler$webpack3","_webback4or5$default3","arg","_arg$chunk","debugId","chunk","hash","stringToUUID","uuidv4","getDebugIdSnippet","webpackDebugIdUploadPlugin","upload","pluginName","hooks","afterEmit","tapAsync","compilation","callback","_ref","outputPath","outputOptions","path","resolve","buildArtifacts","Object","keys","assets","map","asset","join","then","webpackModuleMetadataInjectionPlugin","_compiler$webpack4","_webback4or5$default4","sentryUnplugin","sentryUnpluginFactory","releaseInjectionPlugin","componentNameAnnotatePlugin","moduleMetadataInjectionPlugin","debugIdInjectionPlugin","debugIdUploadPlugin","bundleSizeOptimizationsPlugin","sentryWebpackPlugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,SAASA,6BAA6BA,CAACC,aAAqB,EAAmB;EAC7E,OAAO;AACLC,IAAAA,IAAI,EAAE,yCAAyC;IAC/CC,OAAO,EAAA,SAAAA,OAACC,CAAAA,QAAQ,EAAE;MAAA,IAAAC,iBAAA,EAAAC,oBAAA,CAAA;AAChB;AACA;AACA;AACA,MAAA,IAAMC,YAAY;AAChB;AACA;AACA;AACA,MAAA,CAAAH,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAAC,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,iBAAA,GAARD,QAAQ,CAAED,OAAO,MAAA,IAAA,IAAAE,iBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAmBE,YAAY,MAC/BC,sBAAW,KAAA,IAAA,IAAXA,sBAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,sBAAW,CAAED,YAAY,CACzBC,KAAAA,sBAAW,aAAXA,sBAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAF,oBAAA,GAAXE,sBAAW,CAAS,SAAA,CAAA,MAAA,IAAA,IAAAF,oBAAA,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAsBC,YAAY,CAAA,CAAA;MACpCH,QAAQ,CAACK,OAAO,CAACC,OAAO,GAAGN,QAAQ,CAACK,OAAO,CAACC,OAAO,IAAI,EAAE,CAAA;AACzDN,MAAAA,QAAQ,CAACK,OAAO,CAACC,OAAO,CAACC,IAAI;AAC3B;AACA,MAAA,IAAIJ,YAAY,CAAC;AACfK,QAAAA,GAAG,EAAE,IAAI;AACTC,QAAAA,OAAO,EAAE,+CAA+C;AACxDC,QAAAA,MAAM,EAAEb,aAAAA;AACV,OAAC,CACH,CAAC,CAAA;AACH,KAAA;GACD,CAAA;AACH,CAAA;AAEA,SAASc,kCAAkCA,CAACC,iBAA4B,EAAmB;EACzF,OAAO;AACLd,IAAAA,IAAI,EAAE,+CAA+C;AACrDe,IAAAA,OAAO,EAAE,KAAK;AACd;IACAC,gBAAgB,EAAA,SAAAA,gBAACC,CAAAA,EAAE,EAAE;AACnB,MAAA,OAAOA,EAAE,CAACC,QAAQ,CAAC,MAAM,CAAC,IAAID,EAAE,CAACC,QAAQ,CAAC,MAAM,CAAC,CAAA;KAClD;AACDC,IAAAA,SAAS,EAAEC,kDAAgC,CAACN,iBAAiB,CAAC,CAACK,SAAAA;GAChE,CAAA;AACH,CAAA;AAEA,SAASE,oCAAoCA,CAC3CC,iBAAsC,EACrB;EACjB,OAAO;AACLtB,IAAAA,IAAI,EAAE,iDAAiD;IACvDC,OAAO,EAAA,SAAAA,OAACC,CAAAA,QAAQ,EAAE;MAAA,IAAAqB,kBAAA,EAAAC,qBAAA,CAAA;AAChB;AACA;AACA;AACA,MAAA,IAAMC,YAAY;AAChB;AACA;AACA;AACA,MAAA,CAAAvB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAAqB,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,kBAAA,GAARrB,QAAQ,CAAED,OAAO,MAAA,IAAA,IAAAsB,kBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAmBE,YAAY,MAC/BnB,sBAAW,KAAA,IAAA,IAAXA,sBAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,sBAAW,CAAEmB,YAAY,CACzBnB,KAAAA,sBAAW,aAAXA,sBAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAkB,qBAAA,GAAXlB,sBAAW,CAAS,SAAA,CAAA,MAAA,IAAA,IAAAkB,qBAAA,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAsBC,YAAY,CAAA,CAAA;MACpCvB,QAAQ,CAACK,OAAO,CAACC,OAAO,GAAGN,QAAQ,CAACK,OAAO,CAACC,OAAO,IAAI,EAAE,CAAA;AACzDN,MAAAA,QAAQ,CAACK,OAAO,CAACC,OAAO,CAACC,IAAI;AAC3B;AACA,MAAA,IAAIgB,YAAY,CAAAC,cAAA,KACXJ,iBAAiB,CACrB,CACH,CAAC,CAAA;AACH,KAAA;GACD,CAAA;AACH,CAAA;AAEA,SAASK,6BAA6BA,GAAoB;EACxD,OAAO;AACL3B,IAAAA,IAAI,EAAE,0CAA0C;IAChDC,OAAO,EAAA,SAAAA,OAACC,CAAAA,QAAQ,EAAE;MAAA,IAAA0B,kBAAA,EAAAC,qBAAA,CAAA;AAChB;AACA;AACA;AACA,MAAA,IAAMxB,YAAY;AAChB;AACA;AACA;AACA,MAAA,CAAAH,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAA0B,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,kBAAA,GAAR1B,QAAQ,CAAED,OAAO,MAAA,IAAA,IAAA2B,kBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAmBvB,YAAY,MAC/BC,sBAAW,KAAA,IAAA,IAAXA,sBAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,sBAAW,CAAED,YAAY,CACzBC,KAAAA,sBAAW,aAAXA,sBAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAuB,qBAAA,GAAXvB,sBAAW,CAAS,SAAA,CAAA,MAAA,IAAA,IAAAuB,qBAAA,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAsBxB,YAAY,CAAA,CAAA;MACpCH,QAAQ,CAACK,OAAO,CAACC,OAAO,GAAGN,QAAQ,CAACK,OAAO,CAACC,OAAO,IAAI,EAAE,CAAA;AACzDN,MAAAA,QAAQ,CAACK,OAAO,CAACC,OAAO,CAACC,IAAI;AAC3B;AACA,MAAA,IAAIJ,YAAY,CAAC;AACfK,QAAAA,GAAG,EAAE,IAAI;AACTC,QAAAA,OAAO,EAAE,+CAA+C;AACxDC,QAAAA,MAAM,EAAE,SAAAA,MAACkB,CAAAA,GAA6B,EAAK;AAAA,UAAA,IAAAC,UAAA,CAAA;AACzC,UAAA,IAAMC,OAAO,GAAGF,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,IAAA,CAAAC,UAAA,GAAHD,GAAG,CAAEG,KAAK,MAAA,IAAA,IAAAF,UAAA,KAAA,KAAA,CAAA,IAAVA,UAAA,CAAYG,IAAI,GAAGC,8BAAY,CAACL,GAAG,CAACG,KAAK,CAACC,IAAI,CAAC,GAAGE,OAAM,EAAE,CAAA;UAC1E,OAAOC,mCAAiB,CAACL,OAAO,CAAC,CAAA;AACnC,SAAA;AACF,OAAC,CACH,CAAC,CAAA;AACH,KAAA;GACD,CAAA;AACH,CAAA;AAEA,SAASM,0BAA0BA,CACjCC,MAAmD,EAClC;EACjB,IAAMC,UAAU,GAAG,uCAAuC,CAAA;EAC1D,OAAO;AACLxC,IAAAA,IAAI,EAAEwC,UAAU;IAChBvC,OAAO,EAAA,SAAAA,OAACC,CAAAA,QAAQ,EAAE;AAChBA,MAAAA,QAAQ,CAACuC,KAAK,CAACC,SAAS,CAACC,QAAQ,CAACH,UAAU,EAAE,UAACI,WAAW,EAAEC,QAAoB,EAAK;AAAA,QAAA,IAAAC,IAAA,CAAA;AACnF;AACA,QAAA,IAAMC,UAAU,GAAAD,CAAAA,IAAA,GAAIF,WAAW,CAACI,aAAa,CAACC,IAAI,MAAAH,IAAAA,IAAAA,IAAA,cAAAA,IAAA,GAA2BG,eAAI,CAACC,OAAO,EAAE,CAAA;AAC3F,QAAA,IAAMC,cAAc,GAAGC,MAAM,CAACC,IAAI,CAACT,WAAW,CAACU,MAAiC,CAAC,CAACC,GAAG,CACnF,UAACC,KAAK,EAAA;AAAA,UAAA,OAAKP,eAAI,CAACQ,IAAI,CAACV,UAAU,EAAES,KAAK,CAAC,CAAA;AAAA,SACzC,CAAC,CAAA;AACD,QAAA,KAAKjB,MAAM,CAACY,cAAc,CAAC,CAACO,IAAI,CAAC,YAAM;AACrCb,UAAAA,QAAQ,EAAE,CAAA;AACZ,SAAC,CAAC,CAAA;AACJ,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;AACH,CAAA;AAEA,SAASc,oCAAoCA,CAAC5D,aAAqB,EAAmB;EACpF,OAAO;AACLC,IAAAA,IAAI,EAAE,iDAAiD;IACvDC,OAAO,EAAA,SAAAA,OAACC,CAAAA,QAAQ,EAAE;MAAA,IAAA0D,kBAAA,EAAAC,qBAAA,CAAA;AAChB;AACA;AACA;AACA,MAAA,IAAMxD,YAAY;AAChB;AACA;AACA;AACA,MAAA,CAAAH,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAA0D,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,kBAAA,GAAR1D,QAAQ,CAAED,OAAO,MAAA,IAAA,IAAA2D,kBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAmBvD,YAAY,MAC/BC,sBAAW,KAAA,IAAA,IAAXA,sBAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,sBAAW,CAAED,YAAY,CACzBC,KAAAA,sBAAW,aAAXA,sBAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAuD,qBAAA,GAAXvD,sBAAW,CAAS,SAAA,CAAA,MAAA,IAAA,IAAAuD,qBAAA,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAsBxD,YAAY,CAAA,CAAA;MACpCH,QAAQ,CAACK,OAAO,CAACC,OAAO,GAAGN,QAAQ,CAACK,OAAO,CAACC,OAAO,IAAI,EAAE,CAAA;AACzDN,MAAAA,QAAQ,CAACK,OAAO,CAACC,OAAO,CAACC,IAAI;AAC3B;AACA,MAAA,IAAIJ,YAAY,CAAC;AACfK,QAAAA,GAAG,EAAE,IAAI;AACTC,QAAAA,OAAO,EAAE,+CAA+C;AACxDC,QAAAA,MAAM,EAAEb,aAAAA;AACV,OAAC,CACH,CAAC,CAAA;AACH,KAAA;GACD,CAAA;AACH,CAAA;AAEA,IAAM+D,cAAc,GAAGC,uCAAqB,CAAC;AAC3CC,EAAAA,sBAAsB,EAAElE,6BAA6B;AACrDmE,EAAAA,2BAA2B,EAAEpD,kCAAkC;AAC/DqD,EAAAA,6BAA6B,EAAEP,oCAAoC;AACnEQ,EAAAA,sBAAsB,EAAExC,6BAA6B;AACrDyC,EAAAA,mBAAmB,EAAE9B,0BAA0B;AAC/C+B,EAAAA,6BAA6B,EAAEhD,oCAAAA;AACjC,CAAC,CAAC,CAAA;;AAEF;AACaiD,IAAAA,mBAA+C,GAAGR,cAAc,CAAC7D;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["import {\n getDebugIdSnippet,\n Options,\n sentryUnpluginFactory,\n stringToUUID,\n SentrySDKBuildFlags,\n createComponentNameAnnotateHooks,\n Logger,\n} from \"@sentry/bundler-plugin-core\";\nimport * as path from \"path\";\nimport { UnpluginOptions } from \"unplugin\";\nimport { v4 as uuidv4 } from \"uuid\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore webpack is a peer dep\nimport * as webback4or5 from \"webpack\";\n\ninterface BannerPluginCallbackArg {\n chunk?: {\n hash?: string;\n };\n}\n\nfunction webpackReleaseInjectionPlugin(injectionCode: string): UnpluginOptions {\n return {\n name: \"sentry-webpack-release-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: injectionCode,\n })\n );\n },\n };\n}\n\nfunction webpackComponentNameAnnotatePlugin(ignoredComponents?: string[]): UnpluginOptions {\n return {\n name: \"sentry-webpack-component-name-annotate-plugin\",\n enforce: \"pre\",\n // Webpack needs this hook for loader logic, so the plugin is not run on unsupported file types\n transformInclude(id) {\n return id.endsWith(\".tsx\") || id.endsWith(\".jsx\");\n },\n transform: createComponentNameAnnotateHooks(ignoredComponents).transform,\n };\n}\n\nfunction webpackBundleSizeOptimizationsPlugin(\n replacementValues: SentrySDKBuildFlags\n): UnpluginOptions {\n return {\n name: \"sentry-webpack-bundle-size-optimizations-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const DefinePlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.DefinePlugin ||\n webback4or5?.DefinePlugin ||\n webback4or5?.default?.DefinePlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new DefinePlugin({\n ...replacementValues,\n })\n );\n },\n };\n}\n\nfunction webpackDebugIdInjectionPlugin(): UnpluginOptions {\n return {\n name: \"sentry-webpack-debug-id-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: (arg?: BannerPluginCallbackArg) => {\n const debugId = arg?.chunk?.hash ? stringToUUID(arg.chunk.hash) : uuidv4();\n return getDebugIdSnippet(debugId);\n },\n })\n );\n },\n };\n}\n\nfunction webpackDebugIdUploadPlugin(\n upload: (buildArtifacts: string[]) => Promise<void>,\n logger: Logger,\n forceExitOnBuildCompletion?: boolean\n): UnpluginOptions {\n const pluginName = \"sentry-webpack-debug-id-upload-plugin\";\n return {\n name: pluginName,\n webpack(compiler) {\n compiler.hooks.afterEmit.tapAsync(pluginName, (compilation, callback: () => void) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const outputPath = (compilation.outputOptions.path as string | undefined) ?? path.resolve();\n const buildArtifacts = Object.keys(compilation.assets as Record<string, unknown>).map(\n (asset) => path.join(outputPath, asset)\n );\n void upload(buildArtifacts).then(() => {\n callback();\n });\n });\n\n if (forceExitOnBuildCompletion && compiler.options.mode === \"production\") {\n compiler.hooks.done.tap(pluginName, () => {\n setTimeout(() => {\n logger.debug(\"Exiting process after debug file upload\");\n process.exit(0);\n });\n });\n }\n },\n };\n}\n\nfunction webpackModuleMetadataInjectionPlugin(injectionCode: string): UnpluginOptions {\n return {\n name: \"sentry-webpack-module-metadata-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: injectionCode,\n })\n );\n },\n };\n}\n\nconst sentryUnplugin = sentryUnpluginFactory({\n releaseInjectionPlugin: webpackReleaseInjectionPlugin,\n componentNameAnnotatePlugin: webpackComponentNameAnnotatePlugin,\n moduleMetadataInjectionPlugin: webpackModuleMetadataInjectionPlugin,\n debugIdInjectionPlugin: webpackDebugIdInjectionPlugin,\n debugIdUploadPlugin: webpackDebugIdUploadPlugin,\n bundleSizeOptimizationsPlugin: webpackBundleSizeOptimizationsPlugin,\n});\n\ntype SentryWebpackPluginOptions = Options & {\n _experiments?: Options[\"_experiments\"] & {\n /**\n * If enabled, the webpack plugin will exit the build process after the build completes.\n * Use this with caution, as it will terminate the process.\n *\n * More information: https://github.com/getsentry/sentry-javascript-bundler-plugins/issues/345\n *\n * @default false\n */\n forceExitOnBuildCompletion?: boolean;\n };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const sentryWebpackPlugin: (options?: SentryWebpackPluginOptions) => any =\n sentryUnplugin.webpack;\n\nexport { sentryCliBinaryExists } from \"@sentry/bundler-plugin-core\";\n\nexport type { SentryWebpackPluginOptions };\n"],"names":["webpackReleaseInjectionPlugin","injectionCode","name","webpack","compiler","_compiler$webpack","_webback4or5$default","BannerPlugin","webback4or5","options","plugins","push","raw","include","banner","webpackComponentNameAnnotatePlugin","ignoredComponents","enforce","transformInclude","id","endsWith","transform","createComponentNameAnnotateHooks","webpackBundleSizeOptimizationsPlugin","replacementValues","_compiler$webpack2","_webback4or5$default2","DefinePlugin","_objectSpread","webpackDebugIdInjectionPlugin","_compiler$webpack3","_webback4or5$default3","arg","_arg$chunk","debugId","chunk","hash","stringToUUID","uuidv4","getDebugIdSnippet","webpackDebugIdUploadPlugin","upload","logger","forceExitOnBuildCompletion","pluginName","hooks","afterEmit","tapAsync","compilation","callback","_ref","outputPath","outputOptions","path","resolve","buildArtifacts","Object","keys","assets","map","asset","join","then","mode","done","tap","setTimeout","debug","process","exit","webpackModuleMetadataInjectionPlugin","_compiler$webpack4","_webback4or5$default4","sentryUnplugin","sentryUnpluginFactory","releaseInjectionPlugin","componentNameAnnotatePlugin","moduleMetadataInjectionPlugin","debugIdInjectionPlugin","debugIdUploadPlugin","bundleSizeOptimizationsPlugin","sentryWebpackPlugin"],"mappings":"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"}
@@ -137,7 +137,7 @@ function webpackDebugIdInjectionPlugin() {
137
137
  }
138
138
  };
139
139
  }
140
- function webpackDebugIdUploadPlugin(upload) {
140
+ function webpackDebugIdUploadPlugin(upload, logger, forceExitOnBuildCompletion) {
141
141
  var pluginName = "sentry-webpack-debug-id-upload-plugin";
142
142
  return {
143
143
  name: pluginName,
@@ -153,6 +153,14 @@ function webpackDebugIdUploadPlugin(upload) {
153
153
  callback();
154
154
  });
155
155
  });
156
+ if (forceExitOnBuildCompletion && compiler.options.mode === "production") {
157
+ compiler.hooks.done.tap(pluginName, function () {
158
+ setTimeout(function () {
159
+ logger.debug("Exiting process after debug file upload");
160
+ process.exit(0);
161
+ });
162
+ });
163
+ }
156
164
  }
157
165
  };
158
166
  }
@@ -188,7 +196,6 @@ var sentryUnplugin = sentryUnpluginFactory({
188
196
  debugIdUploadPlugin: webpackDebugIdUploadPlugin,
189
197
  bundleSizeOptimizationsPlugin: webpackBundleSizeOptimizationsPlugin
190
198
  });
191
-
192
199
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
193
200
  var sentryWebpackPlugin = sentryUnplugin.webpack;
194
201
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/index.ts"],"sourcesContent":["import {\n getDebugIdSnippet,\n Options,\n sentryUnpluginFactory,\n stringToUUID,\n SentrySDKBuildFlags,\n createComponentNameAnnotateHooks,\n} from \"@sentry/bundler-plugin-core\";\nimport * as path from \"path\";\nimport { UnpluginOptions } from \"unplugin\";\nimport { v4 as uuidv4 } from \"uuid\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore webpack is a peer dep\nimport * as webback4or5 from \"webpack\";\n\ninterface BannerPluginCallbackArg {\n chunk?: {\n hash?: string;\n };\n}\n\nfunction webpackReleaseInjectionPlugin(injectionCode: string): UnpluginOptions {\n return {\n name: \"sentry-webpack-release-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: injectionCode,\n })\n );\n },\n };\n}\n\nfunction webpackComponentNameAnnotatePlugin(ignoredComponents?: string[]): UnpluginOptions {\n return {\n name: \"sentry-webpack-component-name-annotate-plugin\",\n enforce: \"pre\",\n // Webpack needs this hook for loader logic, so the plugin is not run on unsupported file types\n transformInclude(id) {\n return id.endsWith(\".tsx\") || id.endsWith(\".jsx\");\n },\n transform: createComponentNameAnnotateHooks(ignoredComponents).transform,\n };\n}\n\nfunction webpackBundleSizeOptimizationsPlugin(\n replacementValues: SentrySDKBuildFlags\n): UnpluginOptions {\n return {\n name: \"sentry-webpack-bundle-size-optimizations-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const DefinePlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.DefinePlugin ||\n webback4or5?.DefinePlugin ||\n webback4or5?.default?.DefinePlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new DefinePlugin({\n ...replacementValues,\n })\n );\n },\n };\n}\n\nfunction webpackDebugIdInjectionPlugin(): UnpluginOptions {\n return {\n name: \"sentry-webpack-debug-id-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: (arg?: BannerPluginCallbackArg) => {\n const debugId = arg?.chunk?.hash ? stringToUUID(arg.chunk.hash) : uuidv4();\n return getDebugIdSnippet(debugId);\n },\n })\n );\n },\n };\n}\n\nfunction webpackDebugIdUploadPlugin(\n upload: (buildArtifacts: string[]) => Promise<void>\n): UnpluginOptions {\n const pluginName = \"sentry-webpack-debug-id-upload-plugin\";\n return {\n name: pluginName,\n webpack(compiler) {\n compiler.hooks.afterEmit.tapAsync(pluginName, (compilation, callback: () => void) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const outputPath = (compilation.outputOptions.path as string | undefined) ?? path.resolve();\n const buildArtifacts = Object.keys(compilation.assets as Record<string, unknown>).map(\n (asset) => path.join(outputPath, asset)\n );\n void upload(buildArtifacts).then(() => {\n callback();\n });\n });\n },\n };\n}\n\nfunction webpackModuleMetadataInjectionPlugin(injectionCode: string): UnpluginOptions {\n return {\n name: \"sentry-webpack-module-metadata-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: injectionCode,\n })\n );\n },\n };\n}\n\nconst sentryUnplugin = sentryUnpluginFactory({\n releaseInjectionPlugin: webpackReleaseInjectionPlugin,\n componentNameAnnotatePlugin: webpackComponentNameAnnotatePlugin,\n moduleMetadataInjectionPlugin: webpackModuleMetadataInjectionPlugin,\n debugIdInjectionPlugin: webpackDebugIdInjectionPlugin,\n debugIdUploadPlugin: webpackDebugIdUploadPlugin,\n bundleSizeOptimizationsPlugin: webpackBundleSizeOptimizationsPlugin,\n});\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const sentryWebpackPlugin: (options?: Options) => any = sentryUnplugin.webpack;\n\nexport { sentryCliBinaryExists } from \"@sentry/bundler-plugin-core\";\nexport type { Options as SentryWebpackPluginOptions } from \"@sentry/bundler-plugin-core\";\n"],"names":["webpackReleaseInjectionPlugin","injectionCode","name","webpack","compiler","_compiler$webpack","_webback4or5$default","BannerPlugin","webback4or5","options","plugins","push","raw","include","banner","webpackComponentNameAnnotatePlugin","ignoredComponents","enforce","transformInclude","id","endsWith","transform","createComponentNameAnnotateHooks","webpackBundleSizeOptimizationsPlugin","replacementValues","_compiler$webpack2","_webback4or5$default2","DefinePlugin","_objectSpread","webpackDebugIdInjectionPlugin","_compiler$webpack3","_webback4or5$default3","arg","_arg$chunk","debugId","chunk","hash","stringToUUID","uuidv4","getDebugIdSnippet","webpackDebugIdUploadPlugin","upload","pluginName","hooks","afterEmit","tapAsync","compilation","callback","_ref","outputPath","outputOptions","path","resolve","buildArtifacts","Object","keys","assets","map","asset","join","then","webpackModuleMetadataInjectionPlugin","_compiler$webpack4","_webback4or5$default4","sentryUnplugin","sentryUnpluginFactory","releaseInjectionPlugin","componentNameAnnotatePlugin","moduleMetadataInjectionPlugin","debugIdInjectionPlugin","debugIdUploadPlugin","bundleSizeOptimizationsPlugin","sentryWebpackPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/index.ts"],"sourcesContent":["import {\n getDebugIdSnippet,\n Options,\n sentryUnpluginFactory,\n stringToUUID,\n SentrySDKBuildFlags,\n createComponentNameAnnotateHooks,\n Logger,\n} from \"@sentry/bundler-plugin-core\";\nimport * as path from \"path\";\nimport { UnpluginOptions } from \"unplugin\";\nimport { v4 as uuidv4 } from \"uuid\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore webpack is a peer dep\nimport * as webback4or5 from \"webpack\";\n\ninterface BannerPluginCallbackArg {\n chunk?: {\n hash?: string;\n };\n}\n\nfunction webpackReleaseInjectionPlugin(injectionCode: string): UnpluginOptions {\n return {\n name: \"sentry-webpack-release-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: injectionCode,\n })\n );\n },\n };\n}\n\nfunction webpackComponentNameAnnotatePlugin(ignoredComponents?: string[]): UnpluginOptions {\n return {\n name: \"sentry-webpack-component-name-annotate-plugin\",\n enforce: \"pre\",\n // Webpack needs this hook for loader logic, so the plugin is not run on unsupported file types\n transformInclude(id) {\n return id.endsWith(\".tsx\") || id.endsWith(\".jsx\");\n },\n transform: createComponentNameAnnotateHooks(ignoredComponents).transform,\n };\n}\n\nfunction webpackBundleSizeOptimizationsPlugin(\n replacementValues: SentrySDKBuildFlags\n): UnpluginOptions {\n return {\n name: \"sentry-webpack-bundle-size-optimizations-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const DefinePlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.DefinePlugin ||\n webback4or5?.DefinePlugin ||\n webback4or5?.default?.DefinePlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new DefinePlugin({\n ...replacementValues,\n })\n );\n },\n };\n}\n\nfunction webpackDebugIdInjectionPlugin(): UnpluginOptions {\n return {\n name: \"sentry-webpack-debug-id-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: (arg?: BannerPluginCallbackArg) => {\n const debugId = arg?.chunk?.hash ? stringToUUID(arg.chunk.hash) : uuidv4();\n return getDebugIdSnippet(debugId);\n },\n })\n );\n },\n };\n}\n\nfunction webpackDebugIdUploadPlugin(\n upload: (buildArtifacts: string[]) => Promise<void>,\n logger: Logger,\n forceExitOnBuildCompletion?: boolean\n): UnpluginOptions {\n const pluginName = \"sentry-webpack-debug-id-upload-plugin\";\n return {\n name: pluginName,\n webpack(compiler) {\n compiler.hooks.afterEmit.tapAsync(pluginName, (compilation, callback: () => void) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const outputPath = (compilation.outputOptions.path as string | undefined) ?? path.resolve();\n const buildArtifacts = Object.keys(compilation.assets as Record<string, unknown>).map(\n (asset) => path.join(outputPath, asset)\n );\n void upload(buildArtifacts).then(() => {\n callback();\n });\n });\n\n if (forceExitOnBuildCompletion && compiler.options.mode === \"production\") {\n compiler.hooks.done.tap(pluginName, () => {\n setTimeout(() => {\n logger.debug(\"Exiting process after debug file upload\");\n process.exit(0);\n });\n });\n }\n },\n };\n}\n\nfunction webpackModuleMetadataInjectionPlugin(injectionCode: string): UnpluginOptions {\n return {\n name: \"sentry-webpack-module-metadata-injection-plugin\",\n webpack(compiler) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const BannerPlugin =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore webpack version compatibility shenanigans\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n compiler?.webpack?.BannerPlugin ||\n webback4or5?.BannerPlugin ||\n webback4or5?.default?.BannerPlugin;\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: injectionCode,\n })\n );\n },\n };\n}\n\nconst sentryUnplugin = sentryUnpluginFactory({\n releaseInjectionPlugin: webpackReleaseInjectionPlugin,\n componentNameAnnotatePlugin: webpackComponentNameAnnotatePlugin,\n moduleMetadataInjectionPlugin: webpackModuleMetadataInjectionPlugin,\n debugIdInjectionPlugin: webpackDebugIdInjectionPlugin,\n debugIdUploadPlugin: webpackDebugIdUploadPlugin,\n bundleSizeOptimizationsPlugin: webpackBundleSizeOptimizationsPlugin,\n});\n\ntype SentryWebpackPluginOptions = Options & {\n _experiments?: Options[\"_experiments\"] & {\n /**\n * If enabled, the webpack plugin will exit the build process after the build completes.\n * Use this with caution, as it will terminate the process.\n *\n * More information: https://github.com/getsentry/sentry-javascript-bundler-plugins/issues/345\n *\n * @default false\n */\n forceExitOnBuildCompletion?: boolean;\n };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const sentryWebpackPlugin: (options?: SentryWebpackPluginOptions) => any =\n sentryUnplugin.webpack;\n\nexport { sentryCliBinaryExists } from \"@sentry/bundler-plugin-core\";\n\nexport type { SentryWebpackPluginOptions };\n"],"names":["webpackReleaseInjectionPlugin","injectionCode","name","webpack","compiler","_compiler$webpack","_webback4or5$default","BannerPlugin","webback4or5","options","plugins","push","raw","include","banner","webpackComponentNameAnnotatePlugin","ignoredComponents","enforce","transformInclude","id","endsWith","transform","createComponentNameAnnotateHooks","webpackBundleSizeOptimizationsPlugin","replacementValues","_compiler$webpack2","_webback4or5$default2","DefinePlugin","_objectSpread","webpackDebugIdInjectionPlugin","_compiler$webpack3","_webback4or5$default3","arg","_arg$chunk","debugId","chunk","hash","stringToUUID","uuidv4","getDebugIdSnippet","webpackDebugIdUploadPlugin","upload","logger","forceExitOnBuildCompletion","pluginName","hooks","afterEmit","tapAsync","compilation","callback","_ref","outputPath","outputOptions","path","resolve","buildArtifacts","Object","keys","assets","map","asset","join","then","mode","done","tap","setTimeout","debug","process","exit","webpackModuleMetadataInjectionPlugin","_compiler$webpack4","_webback4or5$default4","sentryUnplugin","sentryUnpluginFactory","releaseInjectionPlugin","componentNameAnnotatePlugin","moduleMetadataInjectionPlugin","debugIdInjectionPlugin","debugIdUploadPlugin","bundleSizeOptimizationsPlugin","sentryWebpackPlugin"],"mappings":"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"}
@@ -1,4 +1,17 @@
1
1
  import { Options } from "@sentry/bundler-plugin-core";
2
- export declare const sentryWebpackPlugin: (options?: Options) => any;
2
+ type SentryWebpackPluginOptions = Options & {
3
+ _experiments?: Options["_experiments"] & {
4
+ /**
5
+ * If enabled, the webpack plugin will exit the build process after the build completes.
6
+ * Use this with caution, as it will terminate the process.
7
+ *
8
+ * More information: https://github.com/getsentry/sentry-javascript-bundler-plugins/issues/345
9
+ *
10
+ * @default false
11
+ */
12
+ forceExitOnBuildCompletion?: boolean;
13
+ };
14
+ };
15
+ export declare const sentryWebpackPlugin: (options?: SentryWebpackPluginOptions) => any;
3
16
  export { sentryCliBinaryExists } from "@sentry/bundler-plugin-core";
4
- export type { Options as SentryWebpackPluginOptions } from "@sentry/bundler-plugin-core";
17
+ export type { SentryWebpackPluginOptions };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/webpack-plugin",
3
- "version": "2.23.0",
3
+ "version": "3.1.0",
4
4
  "description": "Official Sentry Webpack 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/webpack-plugin",
@@ -48,7 +48,7 @@
48
48
  "prepack": "ts-node ./src/prepack.ts"
49
49
  },
50
50
  "dependencies": {
51
- "@sentry/bundler-plugin-core": "2.23.0",
51
+ "@sentry/bundler-plugin-core": "3.1.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-commonjs": "22.0.1",
61
- "@sentry-internal/eslint-config": "2.23.0",
62
- "@sentry-internal/sentry-bundler-plugin-tsconfig": "2.23.0",
61
+ "@sentry-internal/eslint-config": "3.1.0",
62
+ "@sentry-internal/sentry-bundler-plugin-tsconfig": "3.1.0",
63
63
  "@swc/core": "^1.2.205",
64
64
  "@swc/jest": "^0.2.21",
65
65
  "@types/jest": "^28.1.3",