webpack 5.5.1 → 5.9.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.

Potentially problematic release.


This version of webpack might be problematic. Click here for more details.

Files changed (63) hide show
  1. package/bin/webpack.js +10 -3
  2. package/lib/Compilation.js +132 -17
  3. package/lib/Compiler.js +2 -2
  4. package/lib/ExportsInfo.js +1 -1
  5. package/lib/FlagDependencyUsagePlugin.js +4 -2
  6. package/lib/HotModuleReplacementPlugin.js +170 -36
  7. package/lib/NormalModule.js +13 -1
  8. package/lib/RuntimeTemplate.js +0 -3
  9. package/lib/SourceMapDevToolPlugin.js +2 -1
  10. package/lib/Template.js +0 -1
  11. package/lib/TemplatedPathPlugin.js +8 -0
  12. package/lib/Watching.js +0 -1
  13. package/lib/cache/ResolverCachePlugin.js +0 -1
  14. package/lib/config/defaults.js +1 -1
  15. package/lib/dependencies/AMDDefineDependency.js +3 -1
  16. package/lib/dependencies/AMDRequireArrayDependency.js +3 -1
  17. package/lib/dependencies/AMDRequireDependency.js +3 -1
  18. package/lib/dependencies/CachedConstDependency.js +3 -1
  19. package/lib/dependencies/CommonJsExportRequireDependency.js +3 -2
  20. package/lib/dependencies/CommonJsExportsDependency.js +3 -1
  21. package/lib/dependencies/CommonJsFullRequireDependency.js +3 -1
  22. package/lib/dependencies/CommonJsSelfReferenceDependency.js +3 -1
  23. package/lib/dependencies/ConstDependency.js +3 -1
  24. package/lib/dependencies/ExportsInfoDependency.js +3 -1
  25. package/lib/dependencies/HarmonyAcceptDependency.js +3 -1
  26. package/lib/dependencies/HarmonyAcceptImportDependency.js +3 -1
  27. package/lib/dependencies/HarmonyCompatibilityDependency.js +3 -1
  28. package/lib/dependencies/HarmonyExportExpressionDependency.js +3 -1
  29. package/lib/dependencies/HarmonyExportHeaderDependency.js +3 -1
  30. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +11 -2
  31. package/lib/dependencies/HarmonyExportSpecifierDependency.js +3 -1
  32. package/lib/dependencies/HarmonyImportDependency.js +50 -46
  33. package/lib/dependencies/HarmonyImportSideEffectDependency.js +3 -1
  34. package/lib/dependencies/HarmonyImportSpecifierDependency.js +11 -1
  35. package/lib/dependencies/ImportDependency.js +3 -2
  36. package/lib/dependencies/ImportEagerDependency.js +3 -1
  37. package/lib/dependencies/ImportWeakDependency.js +3 -1
  38. package/lib/dependencies/LocalModuleDependency.js +3 -1
  39. package/lib/dependencies/ModuleDecoratorDependency.js +3 -2
  40. package/lib/dependencies/NullDependency.js +3 -2
  41. package/lib/dependencies/PureExpressionDependency.js +3 -1
  42. package/lib/dependencies/RequireEnsureDependency.js +3 -1
  43. package/lib/dependencies/RequireHeaderDependency.js +3 -1
  44. package/lib/dependencies/RequireIncludeDependency.js +3 -2
  45. package/lib/dependencies/RequireResolveHeaderDependency.js +3 -1
  46. package/lib/dependencies/RuntimeRequirementsDependency.js +3 -1
  47. package/lib/dependencies/URLDependency.js +3 -1
  48. package/lib/dependencies/UnsupportedDependency.js +3 -1
  49. package/lib/dependencies/WorkerDependency.js +3 -2
  50. package/lib/hmr/HotModuleReplacement.runtime.js +1 -0
  51. package/lib/index.js +3 -0
  52. package/lib/javascript/JavascriptParser.js +29 -11
  53. package/lib/optimize/RealContentHashPlugin.js +127 -32
  54. package/lib/optimize/SideEffectsFlagPlugin.js +224 -204
  55. package/lib/optimize/SplitChunksPlugin.js +0 -1
  56. package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -2
  57. package/lib/runtime/LoadScriptRuntimeModule.js +0 -1
  58. package/lib/serialization/FileMiddleware.js +4 -2
  59. package/lib/util/runtime.js +4 -0
  60. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +0 -1
  61. package/lib/webpack.js +0 -2
  62. package/package.json +14 -14
  63. package/types.d.ts +179 -149
@@ -642,7 +642,7 @@ const applyOutputDefaults = (
642
642
  F(output, "pathinfo", () => development);
643
643
  D(output, "sourceMapFilename", "[file].map[query]");
644
644
  D(output, "hotUpdateChunkFilename", "[id].[fullhash].hot-update.js");
645
- D(output, "hotUpdateMainFilename", "[fullhash].hot-update.json");
645
+ D(output, "hotUpdateMainFilename", "[runtime].[fullhash].hot-update.json");
646
646
  D(output, "crossOriginLoading", false);
647
647
  F(output, "scriptType", () => (output.module ? "module" : false));
648
648
  D(
@@ -147,7 +147,9 @@ makeSerializable(
147
147
  "webpack/lib/dependencies/AMDDefineDependency"
148
148
  );
149
149
 
150
- AMDDefineDependency.Template = class AMDDefineDependencyTemplate extends NullDependency.Template {
150
+ AMDDefineDependency.Template = class AMDDefineDependencyTemplate extends (
151
+ NullDependency.Template
152
+ ) {
151
153
  /**
152
154
  * @param {Dependency} dependency the dependency for which the template should be applied
153
155
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -53,7 +53,9 @@ makeSerializable(
53
53
  "webpack/lib/dependencies/AMDRequireArrayDependency"
54
54
  );
55
55
 
56
- AMDRequireArrayDependency.Template = class AMDRequireArrayDependencyTemplate extends DependencyTemplate {
56
+ AMDRequireArrayDependency.Template = class AMDRequireArrayDependencyTemplate extends (
57
+ DependencyTemplate
58
+ ) {
57
59
  /**
58
60
  * @param {Dependency} dependency the dependency for which the template should be applied
59
61
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -62,7 +62,9 @@ makeSerializable(
62
62
  "webpack/lib/dependencies/AMDRequireDependency"
63
63
  );
64
64
 
65
- AMDRequireDependency.Template = class AMDRequireDependencyTemplate extends NullDependency.Template {
65
+ AMDRequireDependency.Template = class AMDRequireDependencyTemplate extends (
66
+ NullDependency.Template
67
+ ) {
66
68
  /**
67
69
  * @param {Dependency} dependency the dependency for which the template should be applied
68
70
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -67,7 +67,9 @@ makeSerializable(
67
67
  "webpack/lib/dependencies/CachedConstDependency"
68
68
  );
69
69
 
70
- CachedConstDependency.Template = class CachedConstDependencyTemplate extends DependencyTemplate {
70
+ CachedConstDependency.Template = class CachedConstDependencyTemplate extends (
71
+ DependencyTemplate
72
+ ) {
71
73
  /**
72
74
  * @param {Dependency} dependency the dependency for which the template should be applied
73
75
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -16,7 +16,6 @@ const ModuleDependency = require("./ModuleDependency");
16
16
  const processExportInfo = require("./processExportInfo");
17
17
 
18
18
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
19
- /** @typedef {import("../Dependency")} Dependency */
20
19
  /** @typedef {import("../Dependency").ExportsSpec} ExportsSpec */
21
20
  /** @typedef {import("../Dependency").ReferencedExport} ReferencedExport */
22
21
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
@@ -294,7 +293,9 @@ makeSerializable(
294
293
  "webpack/lib/dependencies/CommonJsExportRequireDependency"
295
294
  );
296
295
 
297
- CommonJsExportRequireDependency.Template = class CommonJsExportRequireDependencyTemplate extends ModuleDependency.Template {
296
+ CommonJsExportRequireDependency.Template = class CommonJsExportRequireDependencyTemplate extends (
297
+ ModuleDependency.Template
298
+ ) {
298
299
  /**
299
300
  * @param {Dependency} dependency the dependency for which the template should be applied
300
301
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -77,7 +77,9 @@ makeSerializable(
77
77
  "webpack/lib/dependencies/CommonJsExportsDependency"
78
78
  );
79
79
 
80
- CommonJsExportsDependency.Template = class CommonJsExportsDependencyTemplate extends NullDependency.Template {
80
+ CommonJsExportsDependency.Template = class CommonJsExportsDependencyTemplate extends (
81
+ NullDependency.Template
82
+ ) {
81
83
  /**
82
84
  * @param {Dependency} dependency the dependency for which the template should be applied
83
85
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -76,7 +76,9 @@ class CommonJsFullRequireDependency extends ModuleDependency {
76
76
  }
77
77
  }
78
78
 
79
- CommonJsFullRequireDependency.Template = class CommonJsFullRequireDependencyTemplate extends ModuleDependency.Template {
79
+ CommonJsFullRequireDependency.Template = class CommonJsFullRequireDependencyTemplate extends (
80
+ ModuleDependency.Template
81
+ ) {
80
82
  /**
81
83
  * @param {Dependency} dependency the dependency for which the template should be applied
82
84
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -77,7 +77,9 @@ makeSerializable(
77
77
  "webpack/lib/dependencies/CommonJsSelfReferenceDependency"
78
78
  );
79
79
 
80
- CommonJsSelfReferenceDependency.Template = class CommonJsSelfReferenceDependencyTemplate extends NullDependency.Template {
80
+ CommonJsSelfReferenceDependency.Template = class CommonJsSelfReferenceDependencyTemplate extends (
81
+ NullDependency.Template
82
+ ) {
81
83
  /**
82
84
  * @param {Dependency} dependency the dependency for which the template should be applied
83
85
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -72,7 +72,9 @@ class ConstDependency extends NullDependency {
72
72
 
73
73
  makeSerializable(ConstDependency, "webpack/lib/dependencies/ConstDependency");
74
74
 
75
- ConstDependency.Template = class ConstDependencyTemplate extends NullDependency.Template {
75
+ ConstDependency.Template = class ConstDependencyTemplate extends (
76
+ NullDependency.Template
77
+ ) {
76
78
  /**
77
79
  * @param {Dependency} dependency the dependency for which the template should be applied
78
80
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -127,7 +127,9 @@ makeSerializable(
127
127
  "webpack/lib/dependencies/ExportsInfoDependency"
128
128
  );
129
129
 
130
- ExportsInfoDependency.Template = class ExportsInfoDependencyTemplate extends NullDependency.Template {
130
+ ExportsInfoDependency.Template = class ExportsInfoDependencyTemplate extends (
131
+ NullDependency.Template
132
+ ) {
131
133
  /**
132
134
  * @param {Dependency} dependency the dependency for which the template should be applied
133
135
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -54,7 +54,9 @@ makeSerializable(
54
54
  "webpack/lib/dependencies/HarmonyAcceptDependency"
55
55
  );
56
56
 
57
- HarmonyAcceptDependency.Template = class HarmonyAcceptDependencyTemplate extends NullDependency.Template {
57
+ HarmonyAcceptDependency.Template = class HarmonyAcceptDependencyTemplate extends (
58
+ NullDependency.Template
59
+ ) {
58
60
  /**
59
61
  * @param {Dependency} dependency the dependency for which the template should be applied
60
62
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -28,6 +28,8 @@ makeSerializable(
28
28
  "webpack/lib/dependencies/HarmonyAcceptImportDependency"
29
29
  );
30
30
 
31
- HarmonyAcceptImportDependency.Template = class HarmonyAcceptImportDependencyTemplate extends HarmonyImportDependency.Template {};
31
+ HarmonyAcceptImportDependency.Template = class HarmonyAcceptImportDependencyTemplate extends (
32
+ HarmonyImportDependency.Template
33
+ ) {};
32
34
 
33
35
  module.exports = HarmonyAcceptImportDependency;
@@ -27,7 +27,9 @@ makeSerializable(
27
27
  "webpack/lib/dependencies/HarmonyCompatibilityDependency"
28
28
  );
29
29
 
30
- HarmonyCompatibilityDependency.Template = class HarmonyExportDependencyTemplate extends NullDependency.Template {
30
+ HarmonyCompatibilityDependency.Template = class HarmonyExportDependencyTemplate extends (
31
+ NullDependency.Template
32
+ ) {
31
33
  /**
32
34
  * @param {Dependency} dependency the dependency for which the template should be applied
33
35
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -77,7 +77,9 @@ makeSerializable(
77
77
  "webpack/lib/dependencies/HarmonyExportExpressionDependency"
78
78
  );
79
79
 
80
- HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTemplate extends NullDependency.Template {
80
+ HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTemplate extends (
81
+ NullDependency.Template
82
+ ) {
81
83
  /**
82
84
  * @param {Dependency} dependency the dependency for which the template should be applied
83
85
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -43,7 +43,9 @@ makeSerializable(
43
43
  "webpack/lib/dependencies/HarmonyExportHeaderDependency"
44
44
  );
45
45
 
46
- HarmonyExportHeaderDependency.Template = class HarmonyExportDependencyTemplate extends NullDependency.Template {
46
+ HarmonyExportHeaderDependency.Template = class HarmonyExportDependencyTemplate extends (
47
+ NullDependency.Template
48
+ ) {
47
49
  /**
48
50
  * @param {Dependency} dependency the dependency for which the template should be applied
49
51
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -19,7 +19,6 @@ const processExportInfo = require("./processExportInfo");
19
19
 
20
20
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
21
21
  /** @typedef {import("../ChunkGraph")} ChunkGraph */
22
- /** @typedef {import("../Dependency")} Dependency */
23
22
  /** @typedef {import("../Dependency").ExportsSpec} ExportsSpec */
24
23
  /** @typedef {import("../Dependency").ReferencedExport} ReferencedExport */
25
24
  /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
@@ -371,6 +370,14 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
371
370
  };
372
371
  }
373
372
 
373
+ /**
374
+ * @param {ModuleGraph} moduleGraph the module graph
375
+ * @returns {ConnectionState} how this dependency connects the module to referencing modules
376
+ */
377
+ getModuleEvaluationSideEffectsState(moduleGraph) {
378
+ return false;
379
+ }
380
+
374
381
  /**
375
382
  * Returns list of exports referenced by this dependency
376
383
  * @param {ModuleGraph} moduleGraph module graph
@@ -734,7 +741,9 @@ makeSerializable(
734
741
 
735
742
  module.exports = HarmonyExportImportedSpecifierDependency;
736
743
 
737
- HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedSpecifierDependencyTemplate extends HarmonyImportDependency.Template {
744
+ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedSpecifierDependencyTemplate extends (
745
+ HarmonyImportDependency.Template
746
+ ) {
738
747
  /**
739
748
  * @param {Dependency} dependency the dependency for which the template should be applied
740
749
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -68,7 +68,9 @@ makeSerializable(
68
68
  "webpack/lib/dependencies/HarmonyExportSpecifierDependency"
69
69
  );
70
70
 
71
- HarmonyExportSpecifierDependency.Template = class HarmonyExportSpecifierDependencyTemplate extends NullDependency.Template {
71
+ HarmonyExportSpecifierDependency.Template = class HarmonyExportSpecifierDependencyTemplate extends (
72
+ NullDependency.Template
73
+ ) {
72
74
  /**
73
75
  * @param {Dependency} dependency the dependency for which the template should be applied
74
76
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -17,7 +17,6 @@ const ModuleDependency = require("./ModuleDependency");
17
17
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
18
18
  /** @typedef {import("webpack-sources").Source} Source */
19
19
  /** @typedef {import("../ChunkGraph")} ChunkGraph */
20
- /** @typedef {import("../Dependency")} Dependency */
21
20
  /** @typedef {import("../Dependency").ReferencedExport} ReferencedExport */
22
21
  /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
23
22
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
@@ -109,52 +108,18 @@ class HarmonyImportDependency extends ModuleDependency {
109
108
  moduleGraph,
110
109
  parentModule.buildMeta.strictHarmonyModule
111
110
  );
112
- switch (exportsType) {
113
- case "default-only":
114
- // It's has only a default export
115
- if (ids.length > 0 && ids[0] !== "default") {
116
- // In strict harmony modules we only support the default export
117
- return [
118
- new HarmonyLinkingError(
119
- `Can't import the named export ${ids
120
- .map(id => `'${id}'`)
121
- .join(
122
- "."
123
- )} ${additionalMessage} from default-exporting module (only default export is available)`
124
- )
125
- ];
126
- }
127
- return;
128
- case "default-with-named":
129
- // It has a default export and named properties redirect
130
- // In some cases we still want to warn here
131
- if (
132
- ids.length > 0 &&
133
- ids[0] !== "default" &&
134
- importedModule.buildMeta.defaultObject === "redirect-warn"
135
- ) {
136
- // For these modules only the default export is supported
137
- return [
138
- new HarmonyLinkingError(
139
- `Should not import the named export ${ids
140
- .map(id => `'${id}'`)
141
- .join(
142
- "."
143
- )} ${additionalMessage} from default-exporting module (only default export is available soon)`
144
- )
145
- ];
146
- }
111
+ if (exportsType === "namespace" || exportsType === "default-with-named") {
112
+ if (ids.length === 0) {
147
113
  return;
148
- case "namespace": {
149
- if (ids.length === 0) {
150
- return;
151
- }
114
+ }
152
115
 
153
- if (moduleGraph.isExportProvided(importedModule, ids) !== false) {
154
- // It's provided or we are not sure
155
- return;
156
- }
116
+ if (
117
+ (exportsType !== "default-with-named" || ids[0] !== "default") &&
118
+ moduleGraph.isExportProvided(importedModule, ids) === false
119
+ ) {
120
+ // We are sure that it's not provided
157
121
 
122
+ // Try to provide detailed info in the error message
158
123
  let pos = 0;
159
124
  let exportsInfo = moduleGraph.getExportsInfo(importedModule);
160
125
  while (pos < ids.length && exportsInfo) {
@@ -180,7 +145,7 @@ class HarmonyImportDependency extends ModuleDependency {
180
145
  exportsInfo = exportInfo.getNestedExportsInfo();
181
146
  }
182
147
 
183
- // We are sure that it's not provided
148
+ // General error message
184
149
  return [
185
150
  new HarmonyLinkingError(
186
151
  `export ${ids
@@ -192,6 +157,43 @@ class HarmonyImportDependency extends ModuleDependency {
192
157
  ];
193
158
  }
194
159
  }
160
+ switch (exportsType) {
161
+ case "default-only":
162
+ // It's has only a default export
163
+ if (ids.length > 0 && ids[0] !== "default") {
164
+ // In strict harmony modules we only support the default export
165
+ return [
166
+ new HarmonyLinkingError(
167
+ `Can't import the named export ${ids
168
+ .map(id => `'${id}'`)
169
+ .join(
170
+ "."
171
+ )} ${additionalMessage} from default-exporting module (only default export is available)`
172
+ )
173
+ ];
174
+ }
175
+ break;
176
+ case "default-with-named":
177
+ // It has a default export and named properties redirect
178
+ // In some cases we still want to warn here
179
+ if (
180
+ ids.length > 0 &&
181
+ ids[0] !== "default" &&
182
+ importedModule.buildMeta.defaultObject === "redirect-warn"
183
+ ) {
184
+ // For these modules only the default export is supported
185
+ return [
186
+ new HarmonyLinkingError(
187
+ `Should not import the named export ${ids
188
+ .map(id => `'${id}'`)
189
+ .join(
190
+ "."
191
+ )} ${additionalMessage} from default-exporting module (only default export is available soon)`
192
+ )
193
+ ];
194
+ }
195
+ break;
196
+ }
195
197
  }
196
198
 
197
199
  /**
@@ -253,7 +255,9 @@ module.exports = HarmonyImportDependency;
253
255
  /** @type {WeakMap<Module, WeakMap<Module, RuntimeSpec | boolean>>} */
254
256
  const importEmittedMap = new WeakMap();
255
257
 
256
- HarmonyImportDependency.Template = class HarmonyImportDependencyTemplate extends ModuleDependency.Template {
258
+ HarmonyImportDependency.Template = class HarmonyImportDependencyTemplate extends (
259
+ ModuleDependency.Template
260
+ ) {
257
261
  /**
258
262
  * @param {Dependency} dependency the dependency for which the template should be applied
259
263
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -56,7 +56,9 @@ makeSerializable(
56
56
  "webpack/lib/dependencies/HarmonyImportSideEffectDependency"
57
57
  );
58
58
 
59
- HarmonyImportSideEffectDependency.Template = class HarmonyImportSideEffectDependencyTemplate extends HarmonyImportDependency.Template {
59
+ HarmonyImportSideEffectDependency.Template = class HarmonyImportSideEffectDependencyTemplate extends (
60
+ HarmonyImportDependency.Template
61
+ ) {
60
62
  /**
61
63
  * @param {Dependency} dependency the dependency for which the template should be applied
62
64
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -88,6 +88,14 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
88
88
  this.checkUsedByExports(moduleGraph, runtime);
89
89
  }
90
90
 
91
+ /**
92
+ * @param {ModuleGraph} moduleGraph the module graph
93
+ * @returns {ConnectionState} how this dependency connects the module to referencing modules
94
+ */
95
+ getModuleEvaluationSideEffectsState(moduleGraph) {
96
+ return false;
97
+ }
98
+
91
99
  checkUsedByExports(moduleGraph, runtime) {
92
100
  if (this.usedByExports === false) return false;
93
101
  if (this.usedByExports !== true && this.usedByExports !== undefined) {
@@ -244,7 +252,9 @@ makeSerializable(
244
252
  "webpack/lib/dependencies/HarmonyImportSpecifierDependency"
245
253
  );
246
254
 
247
- HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependencyTemplate extends HarmonyImportDependency.Template {
255
+ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependencyTemplate extends (
256
+ HarmonyImportDependency.Template
257
+ ) {
248
258
  /**
249
259
  * @param {Dependency} dependency the dependency for which the template should be applied
250
260
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -11,7 +11,6 @@ const ModuleDependency = require("./ModuleDependency");
11
11
 
12
12
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
13
13
  /** @typedef {import("../AsyncDependenciesBlock")} AsyncDependenciesBlock */
14
- /** @typedef {import("../Dependency")} Dependency */
15
14
  /** @typedef {import("../Dependency").ReferencedExport} ReferencedExport */
16
15
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
17
16
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
@@ -67,7 +66,9 @@ class ImportDependency extends ModuleDependency {
67
66
 
68
67
  makeSerializable(ImportDependency, "webpack/lib/dependencies/ImportDependency");
69
68
 
70
- ImportDependency.Template = class ImportDependencyTemplate extends ModuleDependency.Template {
69
+ ImportDependency.Template = class ImportDependencyTemplate extends (
70
+ ModuleDependency.Template
71
+ ) {
71
72
  /**
72
73
  * @param {Dependency} dependency the dependency for which the template should be applied
73
74
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -38,7 +38,9 @@ makeSerializable(
38
38
  "webpack/lib/dependencies/ImportEagerDependency"
39
39
  );
40
40
 
41
- ImportEagerDependency.Template = class ImportEagerDependencyTemplate extends ImportDependency.Template {
41
+ ImportEagerDependency.Template = class ImportEagerDependencyTemplate extends (
42
+ ImportDependency.Template
43
+ ) {
42
44
  /**
43
45
  * @param {Dependency} dependency the dependency for which the template should be applied
44
46
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -35,7 +35,9 @@ makeSerializable(
35
35
  "webpack/lib/dependencies/ImportWeakDependency"
36
36
  );
37
37
 
38
- ImportWeakDependency.Template = class ImportDependencyTemplate extends ImportDependency.Template {
38
+ ImportWeakDependency.Template = class ImportDependencyTemplate extends (
39
+ ImportDependency.Template
40
+ ) {
39
41
  /**
40
42
  * @param {Dependency} dependency the dependency for which the template should be applied
41
43
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -47,7 +47,9 @@ makeSerializable(
47
47
  "webpack/lib/dependencies/LocalModuleDependency"
48
48
  );
49
49
 
50
- LocalModuleDependency.Template = class LocalModuleDependencyTemplate extends NullDependency.Template {
50
+ LocalModuleDependency.Template = class LocalModuleDependencyTemplate extends (
51
+ NullDependency.Template
52
+ ) {
51
53
  /**
52
54
  * @param {Dependency} dependency the dependency for which the template should be applied
53
55
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -13,7 +13,6 @@ const NullDependency = require("./NullDependency");
13
13
 
14
14
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
15
15
  /** @typedef {import("../ChunkGraph")} ChunkGraph */
16
- /** @typedef {import("../Dependency")} Dependency */
17
16
  /** @typedef {import("../Dependency").ReferencedExport} ReferencedExport */
18
17
  /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
19
18
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
@@ -95,7 +94,9 @@ makeSerializable(
95
94
  "webpack/lib/dependencies/ModuleDecoratorDependency"
96
95
  );
97
96
 
98
- ModuleDecoratorDependency.Template = class ModuleDecoratorDependencyTemplate extends NullDependency.Template {
97
+ ModuleDecoratorDependency.Template = class ModuleDecoratorDependencyTemplate extends (
98
+ NullDependency.Template
99
+ ) {
99
100
  /**
100
101
  * @param {Dependency} dependency the dependency for which the template should be applied
101
102
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -10,7 +10,6 @@ const DependencyTemplate = require("../DependencyTemplate");
10
10
 
11
11
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
12
12
  /** @typedef {import("../ChunkGraph")} ChunkGraph */
13
- /** @typedef {import("../Dependency")} Dependency */
14
13
  /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
15
14
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
16
15
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
@@ -38,7 +37,9 @@ class NullDependency extends Dependency {
38
37
  }
39
38
  }
40
39
 
41
- NullDependency.Template = class NullDependencyTemplate extends DependencyTemplate {
40
+ NullDependency.Template = class NullDependencyTemplate extends (
41
+ DependencyTemplate
42
+ ) {
42
43
  /**
43
44
  * @param {Dependency} dependency the dependency for which the template should be applied
44
45
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -68,7 +68,9 @@ makeSerializable(
68
68
  "webpack/lib/dependencies/PureExpressionDependency"
69
69
  );
70
70
 
71
- PureExpressionDependency.Template = class PureExpressionDependencyTemplate extends NullDependency.Template {
71
+ PureExpressionDependency.Template = class PureExpressionDependencyTemplate extends (
72
+ NullDependency.Template
73
+ ) {
72
74
  /**
73
75
  * @param {Dependency} dependency the dependency for which the template should be applied
74
76
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -53,7 +53,9 @@ makeSerializable(
53
53
  "webpack/lib/dependencies/RequireEnsureDependency"
54
54
  );
55
55
 
56
- RequireEnsureDependency.Template = class RequireEnsureDependencyTemplate extends NullDependency.Template {
56
+ RequireEnsureDependency.Template = class RequireEnsureDependencyTemplate extends (
57
+ NullDependency.Template
58
+ ) {
57
59
  /**
58
60
  * @param {Dependency} dependency the dependency for which the template should be applied
59
61
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -38,7 +38,9 @@ makeSerializable(
38
38
  "webpack/lib/dependencies/RequireHeaderDependency"
39
39
  );
40
40
 
41
- RequireHeaderDependency.Template = class RequireHeaderDependencyTemplate extends NullDependency.Template {
41
+ RequireHeaderDependency.Template = class RequireHeaderDependencyTemplate extends (
42
+ NullDependency.Template
43
+ ) {
42
44
  /**
43
45
  * @param {Dependency} dependency the dependency for which the template should be applied
44
46
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -11,7 +11,6 @@ const makeSerializable = require("../util/makeSerializable");
11
11
  const ModuleDependency = require("./ModuleDependency");
12
12
 
13
13
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
14
- /** @typedef {import("../Dependency")} Dependency */
15
14
  /** @typedef {import("../Dependency").ReferencedExport} ReferencedExport */
16
15
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
17
16
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
@@ -49,7 +48,9 @@ makeSerializable(
49
48
  "webpack/lib/dependencies/RequireIncludeDependency"
50
49
  );
51
50
 
52
- RequireIncludeDependency.Template = class RequireIncludeDependencyTemplate extends ModuleDependency.Template {
51
+ RequireIncludeDependency.Template = class RequireIncludeDependencyTemplate extends (
52
+ ModuleDependency.Template
53
+ ) {
53
54
  /**
54
55
  * @param {Dependency} dependency the dependency for which the template should be applied
55
56
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -41,7 +41,9 @@ makeSerializable(
41
41
  "webpack/lib/dependencies/RequireResolveHeaderDependency"
42
42
  );
43
43
 
44
- RequireResolveHeaderDependency.Template = class RequireResolveHeaderDependencyTemplate extends NullDependency.Template {
44
+ RequireResolveHeaderDependency.Template = class RequireResolveHeaderDependencyTemplate extends (
45
+ NullDependency.Template
46
+ ) {
45
47
  /**
46
48
  * @param {Dependency} dependency the dependency for which the template should be applied
47
49
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -53,7 +53,9 @@ makeSerializable(
53
53
  "webpack/lib/dependencies/RuntimeRequirementsDependency"
54
54
  );
55
55
 
56
- RuntimeRequirementsDependency.Template = class RuntimeRequirementsDependencyTemplate extends NullDependency.Template {
56
+ RuntimeRequirementsDependency.Template = class RuntimeRequirementsDependencyTemplate extends (
57
+ NullDependency.Template
58
+ ) {
57
59
  /**
58
60
  * @param {Dependency} dependency the dependency for which the template should be applied
59
61
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -36,7 +36,9 @@ class URLDependency extends ModuleDependency {
36
36
  }
37
37
  }
38
38
 
39
- URLDependency.Template = class URLDependencyTemplate extends ModuleDependency.Template {
39
+ URLDependency.Template = class URLDependencyTemplate extends (
40
+ ModuleDependency.Template
41
+ ) {
40
42
  /**
41
43
  * @param {Dependency} dependency the dependency for which the template should be applied
42
44
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -44,7 +44,9 @@ makeSerializable(
44
44
  "webpack/lib/dependencies/UnsupportedDependency"
45
45
  );
46
46
 
47
- UnsupportedDependency.Template = class UnsupportedDependencyTemplate extends NullDependency.Template {
47
+ UnsupportedDependency.Template = class UnsupportedDependencyTemplate extends (
48
+ NullDependency.Template
49
+ ) {
48
50
  /**
49
51
  * @param {Dependency} dependency the dependency for which the template should be applied
50
52
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -13,7 +13,6 @@ const ModuleDependency = require("./ModuleDependency");
13
13
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
14
14
  /** @typedef {import("../AsyncDependenciesBlock")} AsyncDependenciesBlock */
15
15
  /** @typedef {import("../ChunkGraph")} ChunkGraph */
16
- /** @typedef {import("../Dependency")} Dependency */
17
16
  /** @typedef {import("../Dependency").ReferencedExport} ReferencedExport */
18
17
  /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
19
18
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
@@ -51,7 +50,9 @@ class WorkerDependency extends ModuleDependency {
51
50
  }
52
51
  }
53
52
 
54
- WorkerDependency.Template = class WorkerDependencyTemplate extends ModuleDependency.Template {
53
+ WorkerDependency.Template = class WorkerDependencyTemplate extends (
54
+ ModuleDependency.Template
55
+ ) {
55
56
  /**
56
57
  * @param {Dependency} dependency the dependency for which the template should be applied
57
58
  * @param {ReplaceSource} source the current replace source which can be modified