webpack 5.80.0 → 5.81.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 (105) hide show
  1. package/lib/AsyncDependenciesBlock.js +8 -0
  2. package/lib/CodeGenerationResults.js +2 -2
  3. package/lib/Compilation.js +2 -2
  4. package/lib/ContextModule.js +8 -0
  5. package/lib/CssModule.js +137 -0
  6. package/lib/DefinePlugin.js +81 -44
  7. package/lib/DelegatedModule.js +5 -0
  8. package/lib/DependenciesBlock.js +8 -0
  9. package/lib/Dependency.js +8 -0
  10. package/lib/DllModule.js +8 -0
  11. package/lib/ExportsInfo.js +3 -0
  12. package/lib/ExternalModule.js +8 -0
  13. package/lib/FileSystemInfo.js +8 -0
  14. package/lib/LoaderOptionsPlugin.js +12 -2
  15. package/lib/Module.js +8 -0
  16. package/lib/ModuleBuildError.js +9 -0
  17. package/lib/ModuleError.js +9 -0
  18. package/lib/ModuleFilenameHelpers.js +113 -4
  19. package/lib/ModuleParseError.js +9 -0
  20. package/lib/ModuleTypeConstants.js +21 -0
  21. package/lib/ModuleWarning.js +9 -0
  22. package/lib/NormalModule.js +8 -0
  23. package/lib/NormalModuleFactory.js +15 -3
  24. package/lib/RawModule.js +8 -0
  25. package/lib/WebpackError.js +8 -0
  26. package/lib/asset/RawDataUrlModule.js +8 -0
  27. package/lib/cache/ResolverCachePlugin.js +3 -0
  28. package/lib/config/normalization.js +1 -0
  29. package/lib/container/ContainerEntryModule.js +5 -0
  30. package/lib/container/ContainerExposedDependency.js +9 -0
  31. package/lib/container/FallbackDependency.js +6 -0
  32. package/lib/container/FallbackModule.js +5 -0
  33. package/lib/container/RemoteModule.js +5 -0
  34. package/lib/css/CssModulesPlugin.js +91 -50
  35. package/lib/css/CssParser.js +132 -73
  36. package/lib/css/walkCssTokens.js +27 -47
  37. package/lib/dependencies/AMDDefineDependency.js +8 -0
  38. package/lib/dependencies/AMDRequireArrayDependency.js +8 -0
  39. package/lib/dependencies/AMDRequireContextDependency.js +9 -0
  40. package/lib/dependencies/AMDRequireDependency.js +8 -0
  41. package/lib/dependencies/CachedConstDependency.js +8 -0
  42. package/lib/dependencies/CommonJsDependencyHelpers.js +9 -0
  43. package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
  44. package/lib/dependencies/CommonJsExportsDependency.js +8 -0
  45. package/lib/dependencies/CommonJsExportsParserPlugin.js +65 -3
  46. package/lib/dependencies/CommonJsFullRequireDependency.js +8 -0
  47. package/lib/dependencies/CommonJsRequireContextDependency.js +9 -0
  48. package/lib/dependencies/CommonJsSelfReferenceDependency.js +8 -0
  49. package/lib/dependencies/ConstDependency.js +8 -0
  50. package/lib/dependencies/ContextDependency.js +8 -0
  51. package/lib/dependencies/ContextElementDependency.js +8 -0
  52. package/lib/dependencies/CreateScriptUrlDependency.js +8 -0
  53. package/lib/dependencies/CssExportDependency.js +8 -0
  54. package/lib/dependencies/CssImportDependency.js +52 -1
  55. package/lib/dependencies/CssLocalIdentifierDependency.js +8 -0
  56. package/lib/dependencies/CssSelfLocalIdentifierDependency.js +8 -0
  57. package/lib/dependencies/CssUrlDependency.js +8 -0
  58. package/lib/dependencies/DllEntryDependency.js +9 -0
  59. package/lib/dependencies/ExportsInfoDependency.js +5 -0
  60. package/lib/dependencies/HarmonyAcceptDependency.js +8 -0
  61. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +8 -0
  62. package/lib/dependencies/HarmonyExportExpressionDependency.js +8 -0
  63. package/lib/dependencies/HarmonyExportHeaderDependency.js +8 -0
  64. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +14 -0
  65. package/lib/dependencies/HarmonyExportSpecifierDependency.js +8 -0
  66. package/lib/dependencies/HarmonyImportDependency.js +8 -0
  67. package/lib/dependencies/HarmonyImportSpecifierDependency.js +8 -0
  68. package/lib/dependencies/ImportContextDependency.js +9 -0
  69. package/lib/dependencies/ImportDependency.js +8 -0
  70. package/lib/dependencies/JsonExportsDependency.js +8 -0
  71. package/lib/dependencies/LocalModuleDependency.js +8 -0
  72. package/lib/dependencies/ModuleDecoratorDependency.js +8 -0
  73. package/lib/dependencies/ModuleDependency.js +8 -0
  74. package/lib/dependencies/ProvidedDependency.js +8 -0
  75. package/lib/dependencies/PureExpressionDependency.js +8 -0
  76. package/lib/dependencies/RequireEnsureDependency.js +8 -0
  77. package/lib/dependencies/RequireHeaderDependency.js +5 -0
  78. package/lib/dependencies/RequireResolveContextDependency.js +9 -0
  79. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  80. package/lib/dependencies/RuntimeRequirementsDependency.js +8 -0
  81. package/lib/dependencies/StaticExportsDependency.js +8 -0
  82. package/lib/dependencies/URLDependency.js +8 -0
  83. package/lib/dependencies/UnsupportedDependency.js +8 -0
  84. package/lib/dependencies/WebAssemblyExportImportedDependency.js +8 -0
  85. package/lib/dependencies/WebAssemblyImportDependency.js +8 -0
  86. package/lib/dependencies/WorkerDependency.js +8 -0
  87. package/lib/index.js +1 -0
  88. package/lib/javascript/JavascriptParser.js +1 -1
  89. package/lib/optimize/RealContentHashPlugin.js +6 -0
  90. package/lib/runtime/AutoPublicPathRuntimeModule.js +6 -1
  91. package/lib/serialization/ObjectMiddleware.js +2 -0
  92. package/lib/sharing/ConsumeSharedModule.js +8 -0
  93. package/lib/sharing/ConsumeSharedRuntimeModule.js +9 -3
  94. package/lib/sharing/ProvideSharedDependency.js +6 -0
  95. package/lib/sharing/ProvideSharedModule.js +5 -0
  96. package/lib/sharing/ShareRuntimeModule.js +7 -4
  97. package/lib/util/LazySet.js +10 -2
  98. package/lib/util/MapHelpers.js +19 -5
  99. package/lib/util/binarySearchBounds.js +49 -0
  100. package/lib/util/internalSerializables.js +1 -0
  101. package/lib/util/semver.js +1 -1
  102. package/package.json +4 -5
  103. package/schemas/WebpackOptions.check.js +1 -1
  104. package/schemas/WebpackOptions.json +8 -0
  105. package/types.d.ts +55 -22
@@ -18,6 +18,8 @@ const ModuleDependency = require("./ModuleDependency");
18
18
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
19
19
  /** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */
20
20
  /** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
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
 
@@ -52,12 +54,18 @@ class CssUrlDependency extends ModuleDependency {
52
54
  return new RawDataUrlModule("data:,", `ignored-asset`, `(ignored asset)`);
53
55
  }
54
56
 
57
+ /**
58
+ * @param {ObjectSerializerContext} context context
59
+ */
55
60
  serialize(context) {
56
61
  const { write } = context;
57
62
  write(this.urlType);
58
63
  super.serialize(context);
59
64
  }
60
65
 
66
+ /**
67
+ * @param {ObjectDeserializerContext} context context
68
+ */
61
69
  deserialize(context) {
62
70
  const { read } = context;
63
71
  this.urlType = read();
@@ -8,6 +8,9 @@
8
8
  const Dependency = require("../Dependency");
9
9
  const makeSerializable = require("../util/makeSerializable");
10
10
 
11
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
12
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
13
+
11
14
  class DllEntryDependency extends Dependency {
12
15
  constructor(dependencies, name) {
13
16
  super();
@@ -20,6 +23,9 @@ class DllEntryDependency extends Dependency {
20
23
  return "dll entry";
21
24
  }
22
25
 
26
+ /**
27
+ * @param {ObjectSerializerContext} context context
28
+ */
23
29
  serialize(context) {
24
30
  const { write } = context;
25
31
 
@@ -29,6 +35,9 @@ class DllEntryDependency extends Dependency {
29
35
  super.serialize(context);
30
36
  }
31
37
 
38
+ /**
39
+ * @param {ObjectDeserializerContext} context context
40
+ */
32
41
  deserialize(context) {
33
42
  const { read } = context;
34
43
 
@@ -16,6 +16,8 @@ const NullDependency = require("./NullDependency");
16
16
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
17
17
  /** @typedef {import("../Module")} Module */
18
18
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
19
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
20
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
19
21
  /** @typedef {import("../util/Hash")} Hash */
20
22
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
21
23
 
@@ -89,6 +91,9 @@ class ExportsInfoDependency extends NullDependency {
89
91
  this.property = property;
90
92
  }
91
93
 
94
+ /**
95
+ * @param {ObjectSerializerContext} context context
96
+ */
92
97
  serialize(context) {
93
98
  const { write } = context;
94
99
  write(this.range);
@@ -13,6 +13,8 @@ const NullDependency = require("./NullDependency");
13
13
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
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
  /** @typedef {import("./HarmonyAcceptImportDependency")} HarmonyAcceptImportDependency */
17
19
 
18
20
  class HarmonyAcceptDependency extends NullDependency {
@@ -32,6 +34,9 @@ class HarmonyAcceptDependency extends NullDependency {
32
34
  return "accepted harmony modules";
33
35
  }
34
36
 
37
+ /**
38
+ * @param {ObjectSerializerContext} context context
39
+ */
35
40
  serialize(context) {
36
41
  const { write } = context;
37
42
  write(this.range);
@@ -40,6 +45,9 @@ class HarmonyAcceptDependency extends NullDependency {
40
45
  super.serialize(context);
41
46
  }
42
47
 
48
+ /**
49
+ * @param {ObjectDeserializerContext} context context
50
+ */
43
51
  deserialize(context) {
44
52
  const { read } = context;
45
53
  this.range = read();
@@ -12,6 +12,8 @@ const HarmonyImportSpecifierDependency = require("./HarmonyImportSpecifierDepend
12
12
  /** @typedef {import("../ChunkGraph")} ChunkGraph */
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
  /**
17
19
  * Dependency for static evaluating import specifier. e.g.
@@ -30,12 +32,18 @@ class HarmonyEvaluatedImportSpecifierDependency extends HarmonyImportSpecifierDe
30
32
  return `evaluated X ${this.operator} harmony import specifier`;
31
33
  }
32
34
 
35
+ /**
36
+ * @param {ObjectSerializerContext} context context
37
+ */
33
38
  serialize(context) {
34
39
  super.serialize(context);
35
40
  const { write } = context;
36
41
  write(this.operator);
37
42
  }
38
43
 
44
+ /**
45
+ * @param {ObjectDeserializerContext} context context
46
+ */
39
47
  deserialize(context) {
40
48
  super.deserialize(context);
41
49
  const { read } = context;
@@ -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
 
21
23
  class HarmonyExportExpressionDependency extends NullDependency {
22
24
  constructor(range, rangeStatement, prefix, declarationId) {
@@ -54,6 +56,9 @@ class HarmonyExportExpressionDependency extends NullDependency {
54
56
  return false;
55
57
  }
56
58
 
59
+ /**
60
+ * @param {ObjectSerializerContext} context context
61
+ */
57
62
  serialize(context) {
58
63
  const { write } = context;
59
64
  write(this.range);
@@ -63,6 +68,9 @@ class HarmonyExportExpressionDependency extends NullDependency {
63
68
  super.serialize(context);
64
69
  }
65
70
 
71
+ /**
72
+ * @param {ObjectDeserializerContext} context context
73
+ */
66
74
  deserialize(context) {
67
75
  const { read } = context;
68
76
  this.range = 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 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();
@@ -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