@sentry/bundler-plugins 10.60.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.
Files changed (149) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +31 -0
  3. package/build/cjs/babel-plugin/constants.js +126 -0
  4. package/build/cjs/babel-plugin/constants.js.map +1 -0
  5. package/build/cjs/babel-plugin/experimental.js +334 -0
  6. package/build/cjs/babel-plugin/experimental.js.map +1 -0
  7. package/build/cjs/babel-plugin/index.js +508 -0
  8. package/build/cjs/babel-plugin/index.js.map +1 -0
  9. package/build/cjs/core/build-plugin-manager.js +583 -0
  10. package/build/cjs/core/build-plugin-manager.js.map +1 -0
  11. package/build/cjs/core/debug-id-upload.js +184 -0
  12. package/build/cjs/core/debug-id-upload.js.map +1 -0
  13. package/build/cjs/core/glob.js +10 -0
  14. package/build/cjs/core/glob.js.map +1 -0
  15. package/build/cjs/core/index.js +113 -0
  16. package/build/cjs/core/index.js.map +1 -0
  17. package/build/cjs/core/logger.js +29 -0
  18. package/build/cjs/core/logger.js.map +1 -0
  19. package/build/cjs/core/options-mapping.js +115 -0
  20. package/build/cjs/core/options-mapping.js.map +1 -0
  21. package/build/cjs/core/sentry/telemetry.js +127 -0
  22. package/build/cjs/core/sentry/telemetry.js.map +1 -0
  23. package/build/cjs/core/sentry/transports.js +108 -0
  24. package/build/cjs/core/sentry/transports.js.map +1 -0
  25. package/build/cjs/core/utils.js +298 -0
  26. package/build/cjs/core/utils.js.map +1 -0
  27. package/build/cjs/core/version.js +6 -0
  28. package/build/cjs/core/version.js.map +1 -0
  29. package/build/cjs/esbuild/index.js +208 -0
  30. package/build/cjs/esbuild/index.js.map +1 -0
  31. package/build/cjs/rollup/index.js +193 -0
  32. package/build/cjs/rollup/index.js.map +1 -0
  33. package/build/cjs/vite/index.js +28 -0
  34. package/build/cjs/vite/index.js.map +1 -0
  35. package/build/cjs/webpack/component-annotation-transform.js +29 -0
  36. package/build/cjs/webpack/component-annotation-transform.js.map +1 -0
  37. package/build/cjs/webpack/index.js +25 -0
  38. package/build/cjs/webpack/index.js.map +1 -0
  39. package/build/cjs/webpack/webpack4and5.js +185 -0
  40. package/build/cjs/webpack/webpack4and5.js.map +1 -0
  41. package/build/cjs/webpack/webpack5.js +11 -0
  42. package/build/cjs/webpack/webpack5.js.map +1 -0
  43. package/build/esm/babel-plugin/constants.js +123 -0
  44. package/build/esm/babel-plugin/constants.js.map +1 -0
  45. package/build/esm/babel-plugin/experimental.js +332 -0
  46. package/build/esm/babel-plugin/experimental.js.map +1 -0
  47. package/build/esm/babel-plugin/index.js +505 -0
  48. package/build/esm/babel-plugin/index.js.map +1 -0
  49. package/build/esm/core/build-plugin-manager.js +561 -0
  50. package/build/esm/core/build-plugin-manager.js.map +1 -0
  51. package/build/esm/core/debug-id-upload.js +161 -0
  52. package/build/esm/core/debug-id-upload.js.map +1 -0
  53. package/build/esm/core/glob.js +8 -0
  54. package/build/esm/core/glob.js.map +1 -0
  55. package/build/esm/core/index.js +82 -0
  56. package/build/esm/core/index.js.map +1 -0
  57. package/build/esm/core/logger.js +27 -0
  58. package/build/esm/core/logger.js.map +1 -0
  59. package/build/esm/core/options-mapping.js +111 -0
  60. package/build/esm/core/options-mapping.js.map +1 -0
  61. package/build/esm/core/sentry/telemetry.js +118 -0
  62. package/build/esm/core/sentry/telemetry.js.map +1 -0
  63. package/build/esm/core/sentry/transports.js +92 -0
  64. package/build/esm/core/sentry/transports.js.map +1 -0
  65. package/build/esm/core/utils.js +271 -0
  66. package/build/esm/core/utils.js.map +1 -0
  67. package/build/esm/core/version.js +4 -0
  68. package/build/esm/core/version.js.map +1 -0
  69. package/build/esm/esbuild/index.js +190 -0
  70. package/build/esm/esbuild/index.js.map +1 -0
  71. package/build/esm/package.json +1 -0
  72. package/build/esm/rollup/index.js +172 -0
  73. package/build/esm/rollup/index.js.map +1 -0
  74. package/build/esm/vite/index.js +24 -0
  75. package/build/esm/vite/index.js.map +1 -0
  76. package/build/esm/webpack/component-annotation-transform.js +27 -0
  77. package/build/esm/webpack/component-annotation-transform.js.map +1 -0
  78. package/build/esm/webpack/index.js +21 -0
  79. package/build/esm/webpack/index.js.map +1 -0
  80. package/build/esm/webpack/webpack4and5.js +168 -0
  81. package/build/esm/webpack/webpack4and5.js.map +1 -0
  82. package/build/esm/webpack/webpack5.js +8 -0
  83. package/build/esm/webpack/webpack5.js.map +1 -0
  84. package/build/types/babel-plugin/constants.d.ts +27 -0
  85. package/build/types/babel-plugin/constants.d.ts.map +1 -0
  86. package/build/types/babel-plugin/experimental.d.ts +51 -0
  87. package/build/types/babel-plugin/experimental.d.ts.map +1 -0
  88. package/build/types/babel-plugin/index.d.ts +56 -0
  89. package/build/types/babel-plugin/index.d.ts.map +1 -0
  90. package/build/types/core/build-plugin-manager.d.ts +82 -0
  91. package/build/types/core/build-plugin-manager.d.ts.map +1 -0
  92. package/build/types/core/debug-id-upload.d.ts +17 -0
  93. package/build/types/core/debug-id-upload.d.ts.map +1 -0
  94. package/build/types/core/glob.d.ts +5 -0
  95. package/build/types/core/glob.d.ts.map +1 -0
  96. package/build/types/core/index.d.ts +53 -0
  97. package/build/types/core/index.d.ts.map +1 -0
  98. package/build/types/core/logger.d.ts +14 -0
  99. package/build/types/core/logger.d.ts.map +1 -0
  100. package/build/types/core/options-mapping.d.ts +82 -0
  101. package/build/types/core/options-mapping.d.ts.map +1 -0
  102. package/build/types/core/sentry/telemetry.d.ts +14 -0
  103. package/build/types/core/sentry/telemetry.d.ts.map +1 -0
  104. package/build/types/core/sentry/transports.d.ts +5 -0
  105. package/build/types/core/sentry/transports.d.ts.map +1 -0
  106. package/build/types/core/types.d.ts +570 -0
  107. package/build/types/core/types.d.ts.map +1 -0
  108. package/build/types/core/utils.d.ts +87 -0
  109. package/build/types/core/utils.d.ts.map +1 -0
  110. package/build/types/core/version.d.ts +2 -0
  111. package/build/types/core/version.d.ts.map +1 -0
  112. package/build/types/esbuild/index.d.ts +6 -0
  113. package/build/types/esbuild/index.d.ts.map +1 -0
  114. package/build/types/rollup/index.d.ts +56 -0
  115. package/build/types/rollup/index.d.ts.map +1 -0
  116. package/build/types/vite/index.d.ts +9 -0
  117. package/build/types/vite/index.d.ts.map +1 -0
  118. package/build/types/webpack/component-annotation-transform.d.ts +11 -0
  119. package/build/types/webpack/component-annotation-transform.d.ts.map +1 -0
  120. package/build/types/webpack/index.d.ts +5 -0
  121. package/build/types/webpack/index.d.ts.map +1 -0
  122. package/build/types/webpack/webpack4and5.d.ts +99 -0
  123. package/build/types/webpack/webpack4and5.d.ts.map +1 -0
  124. package/build/types/webpack/webpack5.d.ts +5 -0
  125. package/build/types/webpack/webpack5.d.ts.map +1 -0
  126. package/build/types-ts3.8/babel-plugin/constants.d.ts +27 -0
  127. package/build/types-ts3.8/babel-plugin/experimental.d.ts +51 -0
  128. package/build/types-ts3.8/babel-plugin/index.d.ts +56 -0
  129. package/build/types-ts3.8/core/build-plugin-manager.d.ts +82 -0
  130. package/build/types-ts3.8/core/debug-id-upload.d.ts +17 -0
  131. package/build/types-ts3.8/core/glob.d.ts +5 -0
  132. package/build/types-ts3.8/core/index.d.ts +53 -0
  133. package/build/types-ts3.8/core/logger.d.ts +14 -0
  134. package/build/types-ts3.8/core/options-mapping.d.ts +82 -0
  135. package/build/types-ts3.8/core/sentry/telemetry.d.ts +14 -0
  136. package/build/types-ts3.8/core/sentry/transports.d.ts +5 -0
  137. package/build/types-ts3.8/core/types.d.ts +570 -0
  138. package/build/types-ts3.8/core/utils.d.ts +87 -0
  139. package/build/types-ts3.8/core/version.d.ts +2 -0
  140. package/build/types-ts3.8/esbuild/index.d.ts +6 -0
  141. package/build/types-ts3.8/rollup/index.d.ts +56 -0
  142. package/build/types-ts3.8/vite/index.d.ts +9 -0
  143. package/build/types-ts3.8/webpack/component-annotation-transform.d.ts +11 -0
  144. package/build/types-ts3.8/webpack/index.d.ts +5 -0
  145. package/build/types-ts3.8/webpack/webpack4and5.d.ts +99 -0
  146. package/build/types-ts3.8/webpack/webpack5.d.ts +5 -0
  147. package/package.json +153 -0
  148. package/sentry-esbuild-debugid-injection-file.js +20 -0
  149. package/sentry-release-injection-file.js +4 -0
@@ -0,0 +1,25 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const webpack4and5 = require('./webpack4and5.js');
4
+ const node_module = require('node:module');
5
+ const index = require('../core/index.js');
6
+
7
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
8
+ function loadWebpack() {
9
+ try {
10
+ return node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('webpack/index.js', document.baseURI).href)))("webpack");
11
+ } catch {
12
+ return {};
13
+ }
14
+ }
15
+ const webpack = loadWebpack();
16
+ const BannerPlugin = webpack.BannerPlugin ?? webpack.default?.BannerPlugin;
17
+ const DefinePlugin = webpack.DefinePlugin ?? webpack.default?.DefinePlugin;
18
+ const sentryWebpackPlugin = webpack4and5.sentryWebpackPluginFactory({
19
+ BannerPlugin,
20
+ DefinePlugin
21
+ });
22
+
23
+ exports.sentryCliBinaryExists = index.sentryCliBinaryExists;
24
+ exports.sentryWebpackPlugin = sentryWebpackPlugin;
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/webpack/index.ts"],"sourcesContent":["import type { SentryWebpackPluginOptions } from './webpack4and5';\nimport { sentryWebpackPluginFactory } from './webpack4and5';\nimport { createRequire } from 'node:module';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype PluginClass = new (options: any) => unknown;\n\ntype WebpackModule = {\n BannerPlugin?: PluginClass;\n DefinePlugin?: PluginClass;\n default?: WebpackModule;\n};\n\n// `webpack` is an optional peer dependency. We require it lazily so the plugin doesn't\n// crash on load in bundlers that don't ship `webpack` (e.g. rspack) — those provide\n// the plugin classes via `compiler.webpack` at runtime instead.\nfunction loadWebpack(): WebpackModule {\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore Rollup transpiles import.meta for CJS\n return createRequire(import.meta.url)('webpack') as WebpackModule;\n } catch {\n return {};\n }\n}\n\nconst webpack = loadWebpack();\nconst BannerPlugin = webpack.BannerPlugin ?? webpack.default?.BannerPlugin;\nconst DefinePlugin = webpack.DefinePlugin ?? webpack.default?.DefinePlugin;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const sentryWebpackPlugin: (options?: SentryWebpackPluginOptions) => any = sentryWebpackPluginFactory({\n BannerPlugin,\n DefinePlugin,\n});\n\nexport { sentryCliBinaryExists } from '../core';\n\nexport type { SentryWebpackPluginOptions };\n"],"names":["createRequire","sentryWebpackPluginFactory"],"mappings":";;;;;;;AAgBA,SAAS,WAAA,GAA6B;AACpC,EAAA,IAAI;AAGF,IAAA,OAAOA,yBAAA,CAAc,kQAAe,CAAA,CAAE,SAAS,CAAA;AAAA,EACjD,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,EAAC;AAAA,EACV;AACF;AAEA,MAAM,UAAU,WAAA,EAAY;AAC5B,MAAM,YAAA,GAAe,OAAA,CAAQ,YAAA,IAAgB,OAAA,CAAQ,OAAA,EAAS,YAAA;AAC9D,MAAM,YAAA,GAAe,OAAA,CAAQ,YAAA,IAAgB,OAAA,CAAQ,OAAA,EAAS,YAAA;AAGvD,MAAM,sBAAqEC,uCAAA,CAA2B;AAAA,EAC3G,YAAA;AAAA,EACA;AACF,CAAC;;;;;"}
@@ -0,0 +1,185 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const index = require('../core/index.js');
4
+ const path = require('node:path');
5
+ const node_url = require('node:url');
6
+ const node_module = require('node:module');
7
+ const node_crypto = require('node:crypto');
8
+ const buildPluginManager = require('../core/build-plugin-manager.js');
9
+ const utils = require('../core/utils.js');
10
+ const debugIdUpload = require('../core/debug-id-upload.js');
11
+
12
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
13
+ function _interopNamespace(e) {
14
+ if (e && e.__esModule) return e;
15
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
16
+ if (e) {
17
+ for (const k in e) {
18
+ n[k] = e[k];
19
+ }
20
+ }
21
+ n.default = e;
22
+ return n;
23
+ }
24
+
25
+ const path__namespace = /*#__PURE__*/_interopNamespace(path);
26
+
27
+ const _req = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('webpack/webpack4and5.js', document.baseURI).href)));
28
+ let COMPONENT_ANNOTATION_LOADER;
29
+ try {
30
+ COMPONENT_ANNOTATION_LOADER = _req.resolve("@sentry/bundler-plugins/webpack-loader");
31
+ } catch {
32
+ const dirname = path__namespace.dirname(node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('webpack/webpack4and5.js', document.baseURI).href))));
33
+ COMPONENT_ANNOTATION_LOADER = path__namespace.resolve(dirname, "component-annotation-transform.js");
34
+ }
35
+ function getWebpackMajorVersion() {
36
+ try {
37
+ const req = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('webpack/webpack4and5.js', document.baseURI).href)));
38
+ const webpack = req("webpack");
39
+ const version = webpack?.version ?? webpack?.default?.version;
40
+ const webpackMajorVersion = version?.split(".")[0];
41
+ return webpackMajorVersion;
42
+ } catch {
43
+ return void 0;
44
+ }
45
+ }
46
+ function sentryWebpackPluginFactory({
47
+ BannerPlugin: UnsafeBannerPlugin,
48
+ DefinePlugin: UnsafeDefinePlugin
49
+ } = {}) {
50
+ return function sentryWebpackPlugin(userOptions = {}) {
51
+ const sentryBuildPluginManager = buildPluginManager.createSentryBuildPluginManager(userOptions, {
52
+ loggerPrefix: userOptions._metaOptions?.loggerPrefixOverride ?? "[sentry-webpack-plugin]",
53
+ buildTool: "webpack",
54
+ buildToolMajorVersion: getWebpackMajorVersion()
55
+ });
56
+ const {
57
+ logger,
58
+ normalizedOptions: options,
59
+ bundleSizeOptimizationReplacementValues: replacementValues,
60
+ bundleMetadata,
61
+ createDependencyOnBuildArtifacts
62
+ } = sentryBuildPluginManager;
63
+ if (options.disable) {
64
+ return {
65
+ apply() {
66
+ }
67
+ };
68
+ }
69
+ if (process.cwd().match(/\\node_modules\\|\/node_modules\//)) {
70
+ logger.warn("Running Sentry plugin from within a `node_modules` folder. Some features may not work.");
71
+ }
72
+ const sourcemapsEnabled = options.sourcemaps?.disable !== true;
73
+ const staticInjectionCode = new utils.CodeInjection();
74
+ if (!options.release.inject) {
75
+ logger.debug("Release injection disabled via `release.inject` option. Will not inject release.");
76
+ } else if (!options.release.name) {
77
+ logger.debug(
78
+ "No release name provided. Will not inject release. Please set the `release.name` option to identify your release."
79
+ );
80
+ } else {
81
+ staticInjectionCode.append(
82
+ utils.generateReleaseInjectorCode({
83
+ release: options.release.name,
84
+ injectBuildInformation: options._experiments.injectBuildInformation || false
85
+ })
86
+ );
87
+ }
88
+ if (Object.keys(bundleMetadata).length > 0) {
89
+ staticInjectionCode.append(utils.generateModuleMetadataInjectorCode(bundleMetadata));
90
+ }
91
+ const transformAnnotations = options.reactComponentAnnotation?.enabled ? index.createComponentNameAnnotateHooks(
92
+ options.reactComponentAnnotation?.ignoredComponents || [],
93
+ !!options.reactComponentAnnotation?._experimentalInjectIntoHtml
94
+ ) : void 0;
95
+ const transformReplace = Object.keys(replacementValues).length > 0;
96
+ return {
97
+ apply(compiler) {
98
+ void sentryBuildPluginManager.telemetry.emitBundlerPluginExecutionSignal().catch(() => {
99
+ });
100
+ const BannerPlugin = compiler?.webpack?.BannerPlugin || UnsafeBannerPlugin;
101
+ const DefinePlugin = compiler?.webpack?.DefinePlugin || UnsafeDefinePlugin;
102
+ if (!staticInjectionCode.isEmpty() || sourcemapsEnabled) {
103
+ if (!BannerPlugin) {
104
+ logger.warn(
105
+ "BannerPlugin is not available. Skipping code injection. This usually means webpack is not properly configured."
106
+ );
107
+ } else {
108
+ compiler.options.plugins = compiler.options.plugins || [];
109
+ compiler.options.plugins.push(
110
+ new BannerPlugin({
111
+ raw: true,
112
+ include: /\.(js|ts|jsx|tsx|mjs|cjs)(\?[^?]*)?(#[^#]*)?$/,
113
+ banner: (arg) => {
114
+ const codeToInject = staticInjectionCode.clone();
115
+ if (sourcemapsEnabled) {
116
+ const hash = arg?.chunk?.contentHash?.javascript ?? arg?.chunk?.hash;
117
+ const debugId = hash ? utils.stringToUUID(hash) : node_crypto.randomUUID();
118
+ codeToInject.append(index.getDebugIdSnippet(debugId));
119
+ }
120
+ return codeToInject.code();
121
+ }
122
+ })
123
+ );
124
+ }
125
+ }
126
+ if (transformReplace && DefinePlugin) {
127
+ compiler.options.plugins = compiler.options.plugins || [];
128
+ compiler.options.plugins.push(new DefinePlugin(replacementValues));
129
+ }
130
+ if (transformAnnotations?.transform) {
131
+ compiler.options.module = compiler.options.module || {};
132
+ compiler.options.module.rules = compiler.options.module.rules || [];
133
+ compiler.options.module.rules.unshift({
134
+ test: /\.[jt]sx$/,
135
+ exclude: /node_modules/,
136
+ enforce: "pre",
137
+ use: [
138
+ {
139
+ loader: COMPONENT_ANNOTATION_LOADER,
140
+ options: {
141
+ transform: transformAnnotations.transform
142
+ }
143
+ }
144
+ ]
145
+ });
146
+ }
147
+ compiler.hooks.afterEmit.tapAsync(
148
+ "sentry-webpack-plugin",
149
+ (compilation, callback) => {
150
+ const freeGlobalDependencyOnBuildArtifacts = createDependencyOnBuildArtifacts();
151
+ const upload = debugIdUpload.createDebugIdUploadFunction({ sentryBuildPluginManager });
152
+ const run = async () => {
153
+ try {
154
+ await sentryBuildPluginManager.createRelease();
155
+ if (sourcemapsEnabled && options.sourcemaps?.disable !== "disable-upload") {
156
+ const outputPath = compilation.outputOptions.path ?? path__namespace.resolve();
157
+ const buildArtifacts = Object.keys(compilation.assets).map((asset) => path__namespace.join(outputPath, asset));
158
+ await upload(buildArtifacts);
159
+ }
160
+ } finally {
161
+ freeGlobalDependencyOnBuildArtifacts();
162
+ await sentryBuildPluginManager.deleteArtifacts();
163
+ }
164
+ };
165
+ run().then(
166
+ () => callback(),
167
+ (err) => callback(err)
168
+ );
169
+ }
170
+ );
171
+ if (userOptions._experiments?.forceExitOnBuildCompletion && compiler.options.mode === "production") {
172
+ compiler.hooks.done.tap("sentry-webpack-plugin", () => {
173
+ setTimeout(() => {
174
+ logger.debug("Exiting process after debug file upload");
175
+ process.exit(0);
176
+ });
177
+ });
178
+ }
179
+ }
180
+ };
181
+ };
182
+ }
183
+
184
+ exports.sentryWebpackPluginFactory = sentryWebpackPluginFactory;
185
+ //# sourceMappingURL=webpack4and5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpack4and5.js","sources":["../../../src/webpack/webpack4and5.ts"],"sourcesContent":["import type { Options } from '../core/index';\nimport {\n createSentryBuildPluginManager,\n generateReleaseInjectorCode,\n generateModuleMetadataInjectorCode,\n stringToUUID,\n createComponentNameAnnotateHooks,\n CodeInjection,\n getDebugIdSnippet,\n createDebugIdUploadFunction,\n} from '../core/index';\nimport * as path from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { createRequire } from 'node:module';\nimport { randomUUID } from 'node:crypto';\n\nconst _req = createRequire(import.meta.url);\n\n// Resolve the loader path via the package's own exports.\n// webpack4and5.ts may end up in a shared chunk (_chunks/) whose import.meta.url\n// does not point to the webpack/ directory where the transform file lives, so\n// a path-relative lookup would fail. Using require.resolve on the package export\n// always finds the correct installed file regardless of chunk placement.\nlet COMPONENT_ANNOTATION_LOADER: string;\ntry {\n COMPONENT_ANNOTATION_LOADER = _req.resolve('@sentry/bundler-plugins/webpack-loader');\n} catch {\n // Fallback for non-packaged environments (e.g., monorepo source runs without dist)\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore Rollup transpiles import.meta for us for CJS\n const dirname = path.dirname(fileURLToPath(import.meta.url));\n // The Rollup build emits `.js` for both CJS and ESM, so the extension is the same in both.\n COMPONENT_ANNOTATION_LOADER = path.resolve(dirname, 'component-annotation-transform.js');\n}\n\n// since webpack 5.1 compiler contains webpack module so plugins always use correct webpack version\n// https://github.com/webpack/webpack/commit/65eca2e529ce1d79b79200d4bdb1ce1b81141459\n\ninterface BannerPluginCallbackArg {\n chunk?: {\n hash?: string;\n contentHash?: {\n javascript?: string;\n };\n };\n}\n\ntype UnsafeBannerPlugin = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new (options: any): unknown;\n};\n\ntype UnsafeDefinePlugin = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new (options: any): unknown;\n};\n\ntype WebpackModule = {\n resource?: string;\n};\n\ntype WebpackLoaderCallback = (err: Error | null, content?: string, sourceMap?: unknown) => void;\n\ntype WebpackLoaderContext = {\n callback: WebpackLoaderCallback;\n};\n\ntype WebpackCompilationContext = {\n compiler: {\n webpack?: {\n NormalModule?: {\n getCompilationHooks: (compilation: WebpackCompilationContext) => {\n loader: {\n tap: (name: string, callback: (loaderContext: WebpackLoaderContext, module: WebpackModule) => void) => void;\n };\n };\n };\n };\n };\n hooks: {\n normalModuleLoader?: {\n tap: (name: string, callback: (loaderContext: WebpackLoaderContext, module: WebpackModule) => void) => void;\n };\n };\n};\n\ntype WebpackCompiler = {\n options: {\n plugins?: unknown[];\n mode?: string;\n module?: {\n rules?: unknown[];\n };\n };\n hooks: {\n thisCompilation: {\n tap: (name: string, callback: (compilation: WebpackCompilationContext) => void) => void;\n };\n afterEmit: {\n tapAsync: (name: string, callback: (compilation: WebpackCompilation, cb: () => void) => void) => void;\n };\n done: {\n tap: (name: string, callback: () => void) => void;\n };\n };\n webpack?: {\n BannerPlugin?: UnsafeBannerPlugin;\n DefinePlugin?: UnsafeDefinePlugin;\n };\n};\n\ntype WebpackCompilation = {\n outputOptions: {\n path?: string;\n };\n assets: Record<string, unknown>;\n hooks: {\n processAssets: {\n tap: (options: { name: string; stage: number }, callback: () => void) => void;\n };\n };\n};\n\n// Detect webpack major version for telemetry (helps differentiate webpack 4 vs 5 usage)\nfunction getWebpackMajorVersion(): string | undefined {\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - Rollup already transpiles this for us\n const req = createRequire(import.meta.url);\n const webpack = req('webpack') as { version?: string; default?: { version?: string } };\n const version = webpack?.version ?? webpack?.default?.version;\n const webpackMajorVersion = version?.split('.')[0]; // \"4\" or \"5\"\n return webpackMajorVersion;\n } catch {\n return undefined;\n }\n}\n\n/**\n * The factory function accepts BannerPlugin and DefinePlugin classes in\n * order to avoid direct dependencies on webpack.\n *\n * This allow us to export version of the plugin for webpack 5.1+ and compatible environments.\n *\n * Since webpack 5.1 compiler contains webpack module so plugins always use correct webpack version.\n */\nexport function sentryWebpackPluginFactory({\n BannerPlugin: UnsafeBannerPlugin,\n DefinePlugin: UnsafeDefinePlugin,\n}: {\n BannerPlugin?: UnsafeBannerPlugin;\n DefinePlugin?: UnsafeDefinePlugin;\n} = {}) {\n return function sentryWebpackPlugin(userOptions: SentryWebpackPluginOptions = {}) {\n const sentryBuildPluginManager = createSentryBuildPluginManager(userOptions, {\n loggerPrefix: userOptions._metaOptions?.loggerPrefixOverride ?? '[sentry-webpack-plugin]',\n buildTool: 'webpack',\n buildToolMajorVersion: getWebpackMajorVersion(),\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 apply() {\n // noop plugin\n },\n };\n }\n\n if (process.cwd().match(/\\\\node_modules\\\\|\\/node_modules\\//)) {\n logger.warn('Running Sentry plugin from within a `node_modules` folder. Some features may not work.');\n }\n\n const sourcemapsEnabled = options.sourcemaps?.disable !== true;\n const staticInjectionCode = new CodeInjection();\n\n if (!options.release.inject) {\n logger.debug('Release injection disabled via `release.inject` option. Will not inject release.');\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 const transformAnnotations = options.reactComponentAnnotation?.enabled\n ? createComponentNameAnnotateHooks(\n options.reactComponentAnnotation?.ignoredComponents || [],\n !!options.reactComponentAnnotation?._experimentalInjectIntoHtml,\n )\n : undefined;\n\n const transformReplace = Object.keys(replacementValues).length > 0;\n\n return {\n apply(compiler: WebpackCompiler) {\n void sentryBuildPluginManager.telemetry.emitBundlerPluginExecutionSignal().catch(() => {\n // Telemetry failures are acceptable\n });\n\n // Get the correct plugin classes (webpack 5.1+ vs older versions)\n const BannerPlugin = compiler?.webpack?.BannerPlugin || UnsafeBannerPlugin;\n const DefinePlugin = compiler?.webpack?.DefinePlugin || UnsafeDefinePlugin;\n\n // Add BannerPlugin for code injection (release, metadata, debug IDs)\n if (!staticInjectionCode.isEmpty() || sourcemapsEnabled) {\n if (!BannerPlugin) {\n logger.warn(\n 'BannerPlugin is not available. Skipping code injection. This usually means webpack is not properly configured.',\n );\n } else {\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(\n new BannerPlugin({\n raw: true,\n include: /\\.(js|ts|jsx|tsx|mjs|cjs)(\\?[^?]*)?(#[^#]*)?$/,\n banner: (arg?: BannerPluginCallbackArg) => {\n const codeToInject = staticInjectionCode.clone();\n if (sourcemapsEnabled) {\n const hash = arg?.chunk?.contentHash?.javascript ?? arg?.chunk?.hash;\n const debugId = hash ? stringToUUID(hash) : randomUUID();\n codeToInject.append(getDebugIdSnippet(debugId));\n }\n return codeToInject.code();\n },\n }),\n );\n }\n }\n\n // Add DefinePlugin for bundle size optimizations\n if (transformReplace && DefinePlugin) {\n compiler.options.plugins = compiler.options.plugins || [];\n compiler.options.plugins.push(new DefinePlugin(replacementValues));\n }\n\n // Add component name annotation transform\n if (transformAnnotations?.transform) {\n compiler.options.module = compiler.options.module || {};\n compiler.options.module.rules = compiler.options.module.rules || [];\n compiler.options.module.rules.unshift({\n test: /\\.[jt]sx$/,\n exclude: /node_modules/,\n enforce: 'pre',\n use: [\n {\n loader: COMPONENT_ANNOTATION_LOADER,\n options: {\n transform: transformAnnotations.transform,\n },\n },\n ],\n });\n }\n\n compiler.hooks.afterEmit.tapAsync(\n 'sentry-webpack-plugin',\n (compilation: WebpackCompilation, callback: (err?: Error) => void) => {\n const freeGlobalDependencyOnBuildArtifacts = createDependencyOnBuildArtifacts();\n const upload = createDebugIdUploadFunction({ sentryBuildPluginManager });\n\n const run = async (): Promise<void> => {\n try {\n await sentryBuildPluginManager.createRelease();\n if (sourcemapsEnabled && options.sourcemaps?.disable !== 'disable-upload') {\n const outputPath = compilation.outputOptions.path ?? path.resolve();\n const buildArtifacts = Object.keys(compilation.assets).map(asset => path.join(outputPath, asset));\n await upload(buildArtifacts);\n }\n } finally {\n freeGlobalDependencyOnBuildArtifacts();\n await sentryBuildPluginManager.deleteArtifacts();\n }\n };\n\n run().then(\n () => callback(),\n (err: Error) => callback(err),\n );\n },\n );\n\n if (userOptions._experiments?.forceExitOnBuildCompletion && compiler.options.mode === 'production') {\n compiler.hooks.done.tap('sentry-webpack-plugin', () => {\n setTimeout(() => {\n logger.debug('Exiting process after debug file upload');\n process.exit(0);\n });\n });\n }\n },\n };\n };\n}\n\nexport type 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"],"names":["createRequire","path","fileURLToPath","createSentryBuildPluginManager","CodeInjection","generateReleaseInjectorCode","generateModuleMetadataInjectorCode","createComponentNameAnnotateHooks","stringToUUID","randomUUID","getDebugIdSnippet","createDebugIdUploadFunction"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const webpack4and5 = require('./webpack4and5.js');
4
+ const index = require('../core/index.js');
5
+
6
+ const createSentryWebpackPlugin = webpack4and5.sentryWebpackPluginFactory();
7
+ const sentryWebpackPlugin = createSentryWebpackPlugin;
8
+
9
+ exports.sentryCliBinaryExists = index.sentryCliBinaryExists;
10
+ exports.sentryWebpackPlugin = sentryWebpackPlugin;
11
+ //# sourceMappingURL=webpack5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpack5.js","sources":["../../../src/webpack/webpack5.ts"],"sourcesContent":["import type { SentryWebpackPluginOptions } from './webpack4and5';\nimport { sentryWebpackPluginFactory } from './webpack4and5';\n\nconst createSentryWebpackPlugin = sentryWebpackPluginFactory();\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const sentryWebpackPlugin: (options?: SentryWebpackPluginOptions) => any = createSentryWebpackPlugin;\n\nexport { sentryCliBinaryExists } from '../core';\n\nexport type { SentryWebpackPluginOptions };\n"],"names":["sentryWebpackPluginFactory"],"mappings":";;;;;AAGA,MAAM,4BAA4BA,uCAAA,EAA2B;AAGtD,MAAM,mBAAA,GAAqE;;;;;"}
@@ -0,0 +1,123 @@
1
+ const KNOWN_INCOMPATIBLE_PLUGINS = [
2
+ // This module might be causing an issue preventing clicks. For safety, we won't run on this module.
3
+ "react-native-testfairy",
4
+ // This module checks for unexpected property keys and throws an exception.
5
+ "@react-navigation"
6
+ ];
7
+ const DEFAULT_IGNORED_ELEMENTS = [
8
+ "a",
9
+ "abbr",
10
+ "address",
11
+ "area",
12
+ "article",
13
+ "aside",
14
+ "audio",
15
+ "b",
16
+ "base",
17
+ "bdi",
18
+ "bdo",
19
+ "blockquote",
20
+ "body",
21
+ "br",
22
+ "button",
23
+ "canvas",
24
+ "caption",
25
+ "cite",
26
+ "code",
27
+ "col",
28
+ "colgroup",
29
+ "data",
30
+ "datalist",
31
+ "dd",
32
+ "del",
33
+ "details",
34
+ "dfn",
35
+ "dialog",
36
+ "div",
37
+ "dl",
38
+ "dt",
39
+ "em",
40
+ "embed",
41
+ "fieldset",
42
+ "figure",
43
+ "footer",
44
+ "form",
45
+ "h1",
46
+ "h2",
47
+ "h3",
48
+ "h4",
49
+ "h5",
50
+ "h6",
51
+ "head",
52
+ "header",
53
+ "hgroup",
54
+ "hr",
55
+ "html",
56
+ "i",
57
+ "iframe",
58
+ "img",
59
+ "input",
60
+ "ins",
61
+ "kbd",
62
+ "keygen",
63
+ "label",
64
+ "legend",
65
+ "li",
66
+ "link",
67
+ "main",
68
+ "map",
69
+ "mark",
70
+ "menu",
71
+ "menuitem",
72
+ "meter",
73
+ "nav",
74
+ "noscript",
75
+ "object",
76
+ "ol",
77
+ "optgroup",
78
+ "option",
79
+ "output",
80
+ "p",
81
+ "param",
82
+ "pre",
83
+ "progress",
84
+ "q",
85
+ "rb",
86
+ "rp",
87
+ "rt",
88
+ "rtc",
89
+ "ruby",
90
+ "s",
91
+ "samp",
92
+ "script",
93
+ "section",
94
+ "select",
95
+ "small",
96
+ "source",
97
+ "span",
98
+ "strong",
99
+ "style",
100
+ "sub",
101
+ "summary",
102
+ "sup",
103
+ "table",
104
+ "tbody",
105
+ "td",
106
+ "template",
107
+ "textarea",
108
+ "tfoot",
109
+ "th",
110
+ "thead",
111
+ "time",
112
+ "title",
113
+ "tr",
114
+ "track",
115
+ "u",
116
+ "ul",
117
+ "var",
118
+ "video",
119
+ "wbr"
120
+ ];
121
+
122
+ export { DEFAULT_IGNORED_ELEMENTS, KNOWN_INCOMPATIBLE_PLUGINS };
123
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../src/babel-plugin/constants.ts"],"sourcesContent":["/**\n * MIT License\n *\n * Copyright (c) 2020 Engineering at FullStory\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n */\n\nexport const KNOWN_INCOMPATIBLE_PLUGINS = [\n // This module might be causing an issue preventing clicks. For safety, we won't run on this module.\n 'react-native-testfairy',\n // This module checks for unexpected property keys and throws an exception.\n '@react-navigation',\n];\n\nexport const DEFAULT_IGNORED_ELEMENTS = [\n 'a',\n 'abbr',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'base',\n 'bdi',\n 'bdo',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'keygen',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'pre',\n 'progress',\n 'q',\n 'rb',\n 'rp',\n 'rt',\n 'rtc',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'title',\n 'tr',\n 'track',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n];\n"],"names":[],"mappings":"AAyBO,MAAM,0BAAA,GAA6B;AAAA;AAAA,EAExC,wBAAA;AAAA;AAAA,EAEA;AACF;AAEO,MAAM,wBAAA,GAA2B;AAAA,EACtC,GAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF;;;;"}