webpack 5.80.0 → 5.82.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 (135) hide show
  1. package/bin/webpack.js +13 -2
  2. package/lib/AsyncDependenciesBlock.js +8 -0
  3. package/lib/CodeGenerationResults.js +2 -2
  4. package/lib/Compilation.js +4 -2
  5. package/lib/ContextModule.js +8 -0
  6. package/lib/CssModule.js +169 -0
  7. package/lib/DefinePlugin.js +81 -44
  8. package/lib/DelegatedModule.js +5 -0
  9. package/lib/DependenciesBlock.js +8 -0
  10. package/lib/Dependency.js +8 -0
  11. package/lib/DllModule.js +8 -0
  12. package/lib/ExportsInfo.js +3 -0
  13. package/lib/ExternalModule.js +8 -0
  14. package/lib/FileSystemInfo.js +8 -0
  15. package/lib/LoaderOptionsPlugin.js +12 -2
  16. package/lib/Module.js +8 -0
  17. package/lib/ModuleBuildError.js +9 -0
  18. package/lib/ModuleError.js +9 -0
  19. package/lib/ModuleFilenameHelpers.js +113 -4
  20. package/lib/ModuleParseError.js +9 -0
  21. package/lib/ModuleTypeConstants.js +21 -0
  22. package/lib/ModuleWarning.js +9 -0
  23. package/lib/NormalModule.js +8 -0
  24. package/lib/NormalModuleFactory.js +15 -3
  25. package/lib/RawModule.js +8 -0
  26. package/lib/WebpackError.js +8 -0
  27. package/lib/WebpackOptionsApply.js +33 -40
  28. package/lib/asset/RawDataUrlModule.js +8 -0
  29. package/lib/cache/MemoryWithGcCachePlugin.js +2 -0
  30. package/lib/cache/ResolverCachePlugin.js +3 -0
  31. package/lib/config/defaults.js +1 -0
  32. package/lib/config/normalization.js +1 -0
  33. package/lib/container/ContainerEntryModule.js +5 -0
  34. package/lib/container/ContainerExposedDependency.js +9 -0
  35. package/lib/container/FallbackDependency.js +6 -0
  36. package/lib/container/FallbackModule.js +5 -0
  37. package/lib/container/RemoteModule.js +5 -0
  38. package/lib/css/CssGenerator.js +4 -0
  39. package/lib/css/CssLoadingRuntimeModule.js +9 -2
  40. package/lib/css/CssModulesPlugin.js +201 -57
  41. package/lib/css/CssParser.js +270 -147
  42. package/lib/css/walkCssTokens.js +121 -65
  43. package/lib/debug/ProfilingPlugin.js +2 -0
  44. package/lib/dependencies/AMDDefineDependency.js +8 -0
  45. package/lib/dependencies/AMDRequireArrayDependency.js +8 -0
  46. package/lib/dependencies/AMDRequireContextDependency.js +9 -0
  47. package/lib/dependencies/AMDRequireDependency.js +8 -0
  48. package/lib/dependencies/CachedConstDependency.js +8 -0
  49. package/lib/dependencies/CommonJsDependencyHelpers.js +9 -0
  50. package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
  51. package/lib/dependencies/CommonJsExportsDependency.js +8 -0
  52. package/lib/dependencies/CommonJsExportsParserPlugin.js +65 -3
  53. package/lib/dependencies/CommonJsFullRequireDependency.js +8 -0
  54. package/lib/dependencies/CommonJsRequireContextDependency.js +9 -0
  55. package/lib/dependencies/CommonJsSelfReferenceDependency.js +8 -0
  56. package/lib/dependencies/ConstDependency.js +8 -0
  57. package/lib/dependencies/ContextDependency.js +8 -0
  58. package/lib/dependencies/ContextElementDependency.js +8 -0
  59. package/lib/dependencies/CreateScriptUrlDependency.js +8 -0
  60. package/lib/dependencies/CssExportDependency.js +8 -0
  61. package/lib/dependencies/CssImportDependency.js +52 -1
  62. package/lib/dependencies/CssLocalIdentifierDependency.js +8 -0
  63. package/lib/dependencies/CssSelfLocalIdentifierDependency.js +8 -0
  64. package/lib/dependencies/CssUrlDependency.js +8 -0
  65. package/lib/dependencies/DllEntryDependency.js +9 -0
  66. package/lib/dependencies/ExportsInfoDependency.js +5 -0
  67. package/lib/dependencies/HarmonyAcceptDependency.js +8 -0
  68. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +8 -0
  69. package/lib/dependencies/HarmonyExportExpressionDependency.js +8 -0
  70. package/lib/dependencies/HarmonyExportHeaderDependency.js +8 -0
  71. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +14 -0
  72. package/lib/dependencies/HarmonyExportSpecifierDependency.js +8 -0
  73. package/lib/dependencies/HarmonyImportDependency.js +8 -0
  74. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +1 -0
  75. package/lib/dependencies/HarmonyImportSpecifierDependency.js +8 -0
  76. package/lib/dependencies/ImportContextDependency.js +9 -0
  77. package/lib/dependencies/ImportDependency.js +8 -0
  78. package/lib/dependencies/JsonExportsDependency.js +8 -0
  79. package/lib/dependencies/LocalModuleDependency.js +8 -0
  80. package/lib/dependencies/ModuleDecoratorDependency.js +8 -0
  81. package/lib/dependencies/ModuleDependency.js +8 -0
  82. package/lib/dependencies/ProvidedDependency.js +8 -0
  83. package/lib/dependencies/PureExpressionDependency.js +8 -0
  84. package/lib/dependencies/RequireEnsureDependency.js +8 -0
  85. package/lib/dependencies/RequireHeaderDependency.js +5 -0
  86. package/lib/dependencies/RequireResolveContextDependency.js +9 -0
  87. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  88. package/lib/dependencies/RuntimeRequirementsDependency.js +8 -0
  89. package/lib/dependencies/StaticExportsDependency.js +8 -0
  90. package/lib/dependencies/URLDependency.js +8 -0
  91. package/lib/dependencies/UnsupportedDependency.js +8 -0
  92. package/lib/dependencies/WebAssemblyExportImportedDependency.js +8 -0
  93. package/lib/dependencies/WebAssemblyImportDependency.js +8 -0
  94. package/lib/dependencies/WorkerDependency.js +8 -0
  95. package/lib/index.js +1 -0
  96. package/lib/javascript/BasicEvaluatedExpression.js +108 -1
  97. package/lib/javascript/JavascriptParser.js +133 -12
  98. package/lib/json/JsonData.js +25 -0
  99. package/lib/json/JsonGenerator.js +15 -3
  100. package/lib/json/JsonModulesPlugin.js +1 -0
  101. package/lib/json/JsonParser.js +2 -1
  102. package/lib/library/ModuleLibraryPlugin.js +2 -1
  103. package/lib/optimize/RealContentHashPlugin.js +6 -0
  104. package/lib/runtime/AutoPublicPathRuntimeModule.js +6 -1
  105. package/lib/runtime/GetChunkFilenameRuntimeModule.js +4 -0
  106. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +22 -3
  107. package/lib/schemes/DataUriPlugin.js +4 -0
  108. package/lib/schemes/HttpUriPlugin.js +38 -0
  109. package/lib/serialization/ObjectMiddleware.js +2 -0
  110. package/lib/sharing/ConsumeSharedModule.js +8 -0
  111. package/lib/sharing/ConsumeSharedRuntimeModule.js +9 -3
  112. package/lib/sharing/ProvideSharedDependency.js +6 -0
  113. package/lib/sharing/ProvideSharedModule.js +5 -0
  114. package/lib/sharing/ShareRuntimeModule.js +7 -4
  115. package/lib/sharing/utils.js +293 -7
  116. package/lib/stats/DefaultStatsPrinterPlugin.js +25 -0
  117. package/lib/util/LazySet.js +10 -2
  118. package/lib/util/MapHelpers.js +19 -5
  119. package/lib/util/StackedCacheMap.js +6 -0
  120. package/lib/util/StringXor.js +51 -0
  121. package/lib/util/binarySearchBounds.js +49 -0
  122. package/lib/util/compileBooleanMatcher.js +31 -0
  123. package/lib/util/deprecation.js +8 -0
  124. package/lib/util/identifier.js +4 -0
  125. package/lib/util/internalSerializables.js +1 -0
  126. package/lib/util/numberHash.js +75 -21
  127. package/lib/util/propertyAccess.js +5 -0
  128. package/lib/util/semver.js +1 -1
  129. package/lib/wasm/EnableWasmLoadingPlugin.js +4 -0
  130. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +1 -0
  131. package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -1
  132. package/package.json +4 -5
  133. package/schemas/WebpackOptions.check.js +1 -1
  134. package/schemas/WebpackOptions.json +33 -0
  135. package/types.d.ts +176 -48
@@ -11,6 +11,8 @@ const NullDependency = require("./NullDependency");
11
11
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
12
12
  /** @typedef {import("../Dependency")} Dependency */
13
13
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
14
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
14
16
 
15
17
  class HarmonyExportHeaderDependency extends NullDependency {
16
18
  constructor(range, rangeStatement) {
@@ -23,6 +25,9 @@ class HarmonyExportHeaderDependency extends NullDependency {
23
25
  return "harmony export header";
24
26
  }
25
27
 
28
+ /**
29
+ * @param {ObjectSerializerContext} context context
30
+ */
26
31
  serialize(context) {
27
32
  const { write } = context;
28
33
  write(this.range);
@@ -30,6 +35,9 @@ class HarmonyExportHeaderDependency extends NullDependency {
30
35
  super.serialize(context);
31
36
  }
32
37
 
38
+ /**
39
+ * @param {ObjectDeserializerContext} context context
40
+ */
33
41
  deserialize(context) {
34
42
  const { read } = context;
35
43
  this.range = read();
@@ -35,6 +35,8 @@ const processExportInfo = require("./processExportInfo");
35
35
  /** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
36
36
  /** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */
37
37
  /** @typedef {import("../WebpackError")} WebpackError */
38
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
39
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
38
40
  /** @typedef {import("../util/Hash")} Hash */
39
41
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
40
42
 
@@ -856,6 +858,9 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
856
858
  return errors;
857
859
  }
858
860
 
861
+ /**
862
+ * @param {ObjectSerializerContext} context context
863
+ */
859
864
  serialize(context) {
860
865
  const { write, setCircularReference } = context;
861
866
 
@@ -870,6 +875,9 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
870
875
  super.serialize(context);
871
876
  }
872
877
 
878
+ /**
879
+ * @param {ObjectDeserializerContext} context context
880
+ */
873
881
  deserialize(context) {
874
882
  const { read, setCircularReference } = context;
875
883
 
@@ -1251,11 +1259,17 @@ class HarmonyStarExportsList {
1251
1259
  return this.dependencies.slice();
1252
1260
  }
1253
1261
 
1262
+ /**
1263
+ * @param {ObjectSerializerContext} context context
1264
+ */
1254
1265
  serialize({ write, setCircularReference }) {
1255
1266
  setCircularReference(this);
1256
1267
  write(this.dependencies);
1257
1268
  }
1258
1269
 
1270
+ /**
1271
+ * @param {ObjectDeserializerContext} context context
1272
+ */
1259
1273
  deserialize({ read, setCircularReference }) {
1260
1274
  setCircularReference(this);
1261
1275
  this.dependencies = read();
@@ -15,6 +15,8 @@ const NullDependency = require("./NullDependency");
15
15
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
16
16
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
17
17
  /** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
18
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
19
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
18
20
 
19
21
  class HarmonyExportSpecifierDependency extends NullDependency {
20
22
  constructor(id, name) {
@@ -49,6 +51,9 @@ class HarmonyExportSpecifierDependency extends NullDependency {
49
51
  return false;
50
52
  }
51
53
 
54
+ /**
55
+ * @param {ObjectSerializerContext} context context
56
+ */
52
57
  serialize(context) {
53
58
  const { write } = context;
54
59
  write(this.id);
@@ -56,6 +61,9 @@ class HarmonyExportSpecifierDependency extends NullDependency {
56
61
  super.serialize(context);
57
62
  }
58
63
 
64
+ /**
65
+ * @param {ObjectDeserializerContext} context context
66
+ */
59
67
  deserialize(context) {
60
68
  const { read } = context;
61
69
  this.id = read();
@@ -24,6 +24,8 @@ const ModuleDependency = require("./ModuleDependency");
24
24
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
25
25
  /** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */
26
26
  /** @typedef {import("../WebpackError")} WebpackError */
27
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
28
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
27
29
  /** @typedef {import("../util/Hash")} Hash */
28
30
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
29
31
 
@@ -221,6 +223,9 @@ class HarmonyImportDependency extends ModuleDependency {
221
223
  }
222
224
  }
223
225
 
226
+ /**
227
+ * @param {ObjectSerializerContext} context context
228
+ */
224
229
  serialize(context) {
225
230
  const { write } = context;
226
231
  write(this.sourceOrder);
@@ -228,6 +233,9 @@ class HarmonyImportDependency extends ModuleDependency {
228
233
  super.serialize(context);
229
234
  }
230
235
 
236
+ /**
237
+ * @param {ObjectDeserializerContext} context context
238
+ */
231
239
  deserialize(context) {
232
240
  const { read } = context;
233
241
  this.sourceOrder = read();
@@ -159,6 +159,7 @@ module.exports = class HarmonyImportDependencyParserPlugin {
159
159
 
160
160
  const rootInfo = rightPart.rootInfo;
161
161
  if (
162
+ typeof rootInfo === "string" ||
162
163
  !rootInfo ||
163
164
  !rootInfo.tagInfo ||
164
165
  rootInfo.tagInfo.tag !== harmonySpecifierTag
@@ -23,6 +23,8 @@ const HarmonyImportDependency = require("./HarmonyImportDependency");
23
23
  /** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */
24
24
  /** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
25
25
  /** @typedef {import("../WebpackError")} WebpackError */
26
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
27
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
26
28
  /** @typedef {import("../util/Hash")} Hash */
27
29
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
28
30
 
@@ -237,6 +239,9 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
237
239
  return 0;
238
240
  }
239
241
 
242
+ /**
243
+ * @param {ObjectSerializerContext} context context
244
+ */
240
245
  serialize(context) {
241
246
  const { write } = context;
242
247
  write(this.ids);
@@ -253,6 +258,9 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
253
258
  super.serialize(context);
254
259
  }
255
260
 
261
+ /**
262
+ * @param {ObjectDeserializerContext} context context
263
+ */
256
264
  deserialize(context) {
257
265
  const { read } = context;
258
266
  this.ids = read();
@@ -9,6 +9,9 @@ const makeSerializable = require("../util/makeSerializable");
9
9
  const ContextDependency = require("./ContextDependency");
10
10
  const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
11
11
 
12
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
13
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
14
+
12
15
  class ImportContextDependency extends ContextDependency {
13
16
  constructor(options, range, valueRange) {
14
17
  super(options);
@@ -25,6 +28,9 @@ class ImportContextDependency extends ContextDependency {
25
28
  return "esm";
26
29
  }
27
30
 
31
+ /**
32
+ * @param {ObjectSerializerContext} context context
33
+ */
28
34
  serialize(context) {
29
35
  const { write } = context;
30
36
 
@@ -33,6 +39,9 @@ class ImportContextDependency extends ContextDependency {
33
39
  super.serialize(context);
34
40
  }
35
41
 
42
+ /**
43
+ * @param {ObjectDeserializerContext} context context
44
+ */
36
45
  deserialize(context) {
37
46
  const { read } = context;
38
47
 
@@ -14,6 +14,8 @@ const ModuleDependency = require("./ModuleDependency");
14
14
  /** @typedef {import("../Dependency").ReferencedExport} ReferencedExport */
15
15
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
16
16
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
17
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
18
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
17
19
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
18
20
 
19
21
  class ImportDependency extends ModuleDependency {
@@ -51,12 +53,18 @@ class ImportDependency extends ModuleDependency {
51
53
  : Dependency.EXPORTS_OBJECT_REFERENCED;
52
54
  }
53
55
 
56
+ /**
57
+ * @param {ObjectSerializerContext} context context
58
+ */
54
59
  serialize(context) {
55
60
  context.write(this.range);
56
61
  context.write(this.referencedExports);
57
62
  super.serialize(context);
58
63
  }
59
64
 
65
+ /**
66
+ * @param {ObjectDeserializerContext} context context
67
+ */
60
68
  deserialize(context) {
61
69
  this.range = context.read();
62
70
  this.referencedExports = context.read();
@@ -14,6 +14,8 @@ const NullDependency = require("./NullDependency");
14
14
  /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
15
15
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
16
16
  /** @typedef {import("../json/JsonData")} JsonData */
17
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
18
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
17
19
  /** @typedef {import("../util/Hash")} Hash */
18
20
 
19
21
  const getExportsFromData = data => {
@@ -78,12 +80,18 @@ class JsonExportsDependency extends NullDependency {
78
80
  this.data.updateHash(hash);
79
81
  }
80
82
 
83
+ /**
84
+ * @param {ObjectSerializerContext} context context
85
+ */
81
86
  serialize(context) {
82
87
  const { write } = context;
83
88
  write(this.data);
84
89
  super.serialize(context);
85
90
  }
86
91
 
92
+ /**
93
+ * @param {ObjectDeserializerContext} context context
94
+ */
87
95
  deserialize(context) {
88
96
  const { read } = context;
89
97
  this.data = read();
@@ -11,6 +11,8 @@ const NullDependency = require("./NullDependency");
11
11
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
12
12
  /** @typedef {import("../Dependency")} Dependency */
13
13
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
14
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
14
16
 
15
17
  class LocalModuleDependency extends NullDependency {
16
18
  constructor(localModule, range, callNew) {
@@ -21,6 +23,9 @@ class LocalModuleDependency extends NullDependency {
21
23
  this.callNew = callNew;
22
24
  }
23
25
 
26
+ /**
27
+ * @param {ObjectSerializerContext} context context
28
+ */
24
29
  serialize(context) {
25
30
  const { write } = context;
26
31
 
@@ -31,6 +36,9 @@ class LocalModuleDependency extends NullDependency {
31
36
  super.serialize(context);
32
37
  }
33
38
 
39
+ /**
40
+ * @param {ObjectDeserializerContext} context context
41
+ */
34
42
  deserialize(context) {
35
43
  const { read } = context;
36
44
 
@@ -18,6 +18,8 @@ const NullDependency = require("./NullDependency");
18
18
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
19
19
  /** @typedef {import("../DependencyTemplates")} DependencyTemplates */
20
20
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
21
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
22
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
21
23
  /** @typedef {import("../util/Hash")} Hash */
22
24
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
23
25
 
@@ -76,6 +78,9 @@ class ModuleDecoratorDependency extends NullDependency {
76
78
  hash.update(this._hashUpdate);
77
79
  }
78
80
 
81
+ /**
82
+ * @param {ObjectSerializerContext} context context
83
+ */
79
84
  serialize(context) {
80
85
  const { write } = context;
81
86
  write(this.decorator);
@@ -83,6 +88,9 @@ class ModuleDecoratorDependency extends NullDependency {
83
88
  super.serialize(context);
84
89
  }
85
90
 
91
+ /**
92
+ * @param {ObjectDeserializerContext} context context
93
+ */
86
94
  deserialize(context) {
87
95
  const { read } = context;
88
96
  this.decorator = read();
@@ -11,6 +11,8 @@ const memoize = require("../util/memoize");
11
11
 
12
12
  /** @typedef {import("../Dependency").TRANSITIVE} TRANSITIVE */
13
13
  /** @typedef {import("../Module")} Module */
14
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
14
16
 
15
17
  const getRawModule = memoize(() => require("../RawModule"));
16
18
 
@@ -67,6 +69,9 @@ class ModuleDependency extends Dependency {
67
69
  );
68
70
  }
69
71
 
72
+ /**
73
+ * @param {ObjectSerializerContext} context context
74
+ */
70
75
  serialize(context) {
71
76
  const { write } = context;
72
77
  write(this.request);
@@ -76,6 +81,9 @@ class ModuleDependency extends Dependency {
76
81
  super.serialize(context);
77
82
  }
78
83
 
84
+ /**
85
+ * @param {ObjectDeserializerContext} context context
86
+ */
79
87
  deserialize(context) {
80
88
  const { read } = context;
81
89
  this.request = read();
@@ -18,6 +18,8 @@ const ModuleDependency = require("./ModuleDependency");
18
18
  /** @typedef {import("../DependencyTemplates")} DependencyTemplates */
19
19
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
20
20
  /** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */
21
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
22
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
21
23
  /** @typedef {import("../util/Hash")} Hash */
22
24
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
23
25
 
@@ -78,6 +80,9 @@ class ProvidedDependency extends ModuleDependency {
78
80
  hash.update(this._hashUpdate);
79
81
  }
80
82
 
83
+ /**
84
+ * @param {ObjectSerializerContext} context context
85
+ */
81
86
  serialize(context) {
82
87
  const { write } = context;
83
88
  write(this.identifier);
@@ -85,6 +90,9 @@ class ProvidedDependency extends ModuleDependency {
85
90
  super.serialize(context);
86
91
  }
87
92
 
93
+ /**
94
+ * @param {ObjectDeserializerContext} context context
95
+ */
88
96
  deserialize(context) {
89
97
  const { read } = context;
90
98
  this.identifier = read();
@@ -17,6 +17,8 @@ const NullDependency = require("./NullDependency");
17
17
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
18
18
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
19
19
  /** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
20
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
21
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
20
22
  /** @typedef {import("../util/Hash")} Hash */
21
23
 
22
24
  class PureExpressionDependency extends NullDependency {
@@ -52,6 +54,9 @@ class PureExpressionDependency extends NullDependency {
52
54
  return false;
53
55
  }
54
56
 
57
+ /**
58
+ * @param {ObjectSerializerContext} context context
59
+ */
55
60
  serialize(context) {
56
61
  const { write } = context;
57
62
  write(this.range);
@@ -59,6 +64,9 @@ class PureExpressionDependency extends NullDependency {
59
64
  super.serialize(context);
60
65
  }
61
66
 
67
+ /**
68
+ * @param {ObjectDeserializerContext} context context
69
+ */
62
70
  deserialize(context) {
63
71
  const { read } = context;
64
72
  this.range = read();
@@ -13,6 +13,8 @@ const NullDependency = require("./NullDependency");
13
13
  /** @typedef {import("../AsyncDependenciesBlock")} AsyncDependenciesBlock */
14
14
  /** @typedef {import("../Dependency")} Dependency */
15
15
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
16
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
17
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
16
18
 
17
19
  class RequireEnsureDependency extends NullDependency {
18
20
  constructor(range, contentRange, errorHandlerRange) {
@@ -27,6 +29,9 @@ class RequireEnsureDependency extends NullDependency {
27
29
  return "require.ensure";
28
30
  }
29
31
 
32
+ /**
33
+ * @param {ObjectSerializerContext} context context
34
+ */
30
35
  serialize(context) {
31
36
  const { write } = context;
32
37
 
@@ -37,6 +42,9 @@ class RequireEnsureDependency extends NullDependency {
37
42
  super.serialize(context);
38
43
  }
39
44
 
45
+ /**
46
+ * @param {ObjectDeserializerContext} context context
47
+ */
40
48
  deserialize(context) {
41
49
  const { read } = context;
42
50
 
@@ -12,6 +12,8 @@ const NullDependency = require("./NullDependency");
12
12
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
13
13
  /** @typedef {import("../Dependency")} Dependency */
14
14
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
16
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
15
17
 
16
18
  class RequireHeaderDependency extends NullDependency {
17
19
  constructor(range) {
@@ -20,6 +22,9 @@ class RequireHeaderDependency extends NullDependency {
20
22
  this.range = range;
21
23
  }
22
24
 
25
+ /**
26
+ * @param {ObjectSerializerContext} context context
27
+ */
23
28
  serialize(context) {
24
29
  const { write } = context;
25
30
  write(this.range);
@@ -9,6 +9,9 @@ const makeSerializable = require("../util/makeSerializable");
9
9
  const ContextDependency = require("./ContextDependency");
10
10
  const ContextDependencyTemplateAsId = require("./ContextDependencyTemplateAsId");
11
11
 
12
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
13
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
14
+
12
15
  class RequireResolveContextDependency extends ContextDependency {
13
16
  constructor(options, range, valueRange, context) {
14
17
  super(options, context);
@@ -21,6 +24,9 @@ class RequireResolveContextDependency extends ContextDependency {
21
24
  return "amd require context";
22
25
  }
23
26
 
27
+ /**
28
+ * @param {ObjectSerializerContext} context context
29
+ */
24
30
  serialize(context) {
25
31
  const { write } = context;
26
32
 
@@ -30,6 +36,9 @@ class RequireResolveContextDependency extends ContextDependency {
30
36
  super.serialize(context);
31
37
  }
32
38
 
39
+ /**
40
+ * @param {ObjectDeserializerContext} context context
41
+ */
33
42
  deserialize(context) {
34
43
  const { read } = context;
35
44
 
@@ -11,6 +11,8 @@ const NullDependency = require("./NullDependency");
11
11
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
12
12
  /** @typedef {import("../Dependency")} Dependency */
13
13
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
14
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
14
16
 
15
17
  class RequireResolveHeaderDependency extends NullDependency {
16
18
  constructor(range) {
@@ -21,6 +23,9 @@ class RequireResolveHeaderDependency extends NullDependency {
21
23
  this.range = range;
22
24
  }
23
25
 
26
+ /**
27
+ * @param {ObjectSerializerContext} context context
28
+ */
24
29
  serialize(context) {
25
30
  const { write } = context;
26
31
 
@@ -14,6 +14,8 @@ const NullDependency = require("./NullDependency");
14
14
  /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
15
15
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
16
16
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
17
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
18
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
17
19
  /** @typedef {import("../util/Hash")} Hash */
18
20
 
19
21
  class RuntimeRequirementsDependency extends NullDependency {
@@ -39,12 +41,18 @@ class RuntimeRequirementsDependency extends NullDependency {
39
41
  hash.update(this._hashUpdate);
40
42
  }
41
43
 
44
+ /**
45
+ * @param {ObjectSerializerContext} context context
46
+ */
42
47
  serialize(context) {
43
48
  const { write } = context;
44
49
  write(this.runtimeRequirements);
45
50
  super.serialize(context);
46
51
  }
47
52
 
53
+ /**
54
+ * @param {ObjectDeserializerContext} context context
55
+ */
48
56
  deserialize(context) {
49
57
  const { read } = context;
50
58
  this.runtimeRequirements = read();
@@ -13,6 +13,8 @@ const NullDependency = require("./NullDependency");
13
13
  /** @typedef {import("../Dependency").ExportsSpec} ExportsSpec */
14
14
  /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
15
15
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
16
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
17
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
16
18
  /** @typedef {import("../util/Hash")} Hash */
17
19
 
18
20
  class StaticExportsDependency extends NullDependency {
@@ -43,6 +45,9 @@ class StaticExportsDependency extends NullDependency {
43
45
  };
44
46
  }
45
47
 
48
+ /**
49
+ * @param {ObjectSerializerContext} context context
50
+ */
46
51
  serialize(context) {
47
52
  const { write } = context;
48
53
  write(this.exports);
@@ -50,6 +55,9 @@ class StaticExportsDependency extends NullDependency {
50
55
  super.serialize(context);
51
56
  }
52
57
 
58
+ /**
59
+ * @param {ObjectDeserializerContext} context context
60
+ */
53
61
  deserialize(context) {
54
62
  const { read } = context;
55
63
  this.exports = read();
@@ -22,6 +22,8 @@ const ModuleDependency = require("./ModuleDependency");
22
22
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
23
23
  /** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */
24
24
  /** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
25
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
26
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
25
27
  /** @typedef {import("../util/Hash")} Hash */
26
28
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
27
29
 
@@ -72,6 +74,9 @@ class URLDependency extends ModuleDependency {
72
74
  return new RawDataUrlModule("data:,", `ignored-asset`, `(ignored asset)`);
73
75
  }
74
76
 
77
+ /**
78
+ * @param {ObjectSerializerContext} context context
79
+ */
75
80
  serialize(context) {
76
81
  const { write } = context;
77
82
  write(this.outerRange);
@@ -80,6 +85,9 @@ class URLDependency extends ModuleDependency {
80
85
  super.serialize(context);
81
86
  }
82
87
 
88
+ /**
89
+ * @param {ObjectDeserializerContext} context context
90
+ */
83
91
  deserialize(context) {
84
92
  const { read } = context;
85
93
  this.outerRange = read();
@@ -11,6 +11,8 @@ const NullDependency = require("./NullDependency");
11
11
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
12
12
  /** @typedef {import("../Dependency")} Dependency */
13
13
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
14
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
14
16
 
15
17
  class UnsupportedDependency extends NullDependency {
16
18
  constructor(request, range) {
@@ -20,6 +22,9 @@ class UnsupportedDependency extends NullDependency {
20
22
  this.range = range;
21
23
  }
22
24
 
25
+ /**
26
+ * @param {ObjectSerializerContext} context context
27
+ */
23
28
  serialize(context) {
24
29
  const { write } = context;
25
30
 
@@ -29,6 +34,9 @@ class UnsupportedDependency extends NullDependency {
29
34
  super.serialize(context);
30
35
  }
31
36
 
37
+ /**
38
+ * @param {ObjectDeserializerContext} context context
39
+ */
32
40
  deserialize(context) {
33
41
  const { read } = context;
34
42
 
@@ -12,6 +12,8 @@ const ModuleDependency = require("./ModuleDependency");
12
12
  /** @typedef {import("../Dependency").ReferencedExport} ReferencedExport */
13
13
  /** @typedef {import("../Dependency").TRANSITIVE} TRANSITIVE */
14
14
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
16
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
15
17
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
16
18
 
17
19
  class WebAssemblyExportImportedDependency extends ModuleDependency {
@@ -50,6 +52,9 @@ class WebAssemblyExportImportedDependency extends ModuleDependency {
50
52
  return "wasm";
51
53
  }
52
54
 
55
+ /**
56
+ * @param {ObjectSerializerContext} context context
57
+ */
53
58
  serialize(context) {
54
59
  const { write } = context;
55
60
 
@@ -60,6 +65,9 @@ class WebAssemblyExportImportedDependency extends ModuleDependency {
60
65
  super.serialize(context);
61
66
  }
62
67
 
68
+ /**
69
+ * @param {ObjectDeserializerContext} context context
70
+ */
63
71
  deserialize(context) {
64
72
  const { read } = context;
65
73