webpack 5.103.0 → 5.104.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hot/dev-server.js +18 -3
- package/hot/emitter-event-target.js +7 -0
- package/hot/lazy-compilation-node.js +45 -29
- package/hot/lazy-compilation-universal.js +18 -0
- package/hot/lazy-compilation-web.js +15 -5
- package/hot/load-http.js +7 -0
- package/hot/only-dev-server.js +19 -4
- package/lib/APIPlugin.js +6 -0
- package/lib/Chunk.js +1 -1
- package/lib/ChunkGraph.js +9 -7
- package/lib/ChunkGroup.js +8 -5
- package/lib/CleanPlugin.js +6 -3
- package/lib/CodeGenerationResults.js +2 -1
- package/lib/CompatibilityPlugin.js +3 -0
- package/lib/Compilation.js +33 -19
- package/lib/Compiler.js +3 -3
- package/lib/ContextModule.js +6 -3
- package/lib/ContextModuleFactory.js +6 -4
- package/lib/DefinePlugin.js +34 -3
- package/lib/DelegatedModule.js +7 -4
- package/lib/DllModule.js +6 -3
- package/lib/DotenvPlugin.js +11 -6
- package/lib/ExportsInfo.js +5 -5
- package/lib/ExternalModule.js +8 -7
- package/lib/ExternalModuleFactoryPlugin.js +1 -1
- package/lib/FileSystemInfo.js +1 -1
- package/lib/Generator.js +10 -7
- package/lib/HookWebpackError.js +33 -4
- package/lib/HotModuleReplacementPlugin.js +22 -0
- package/lib/ManifestPlugin.js +1 -1
- package/lib/Module.js +24 -15
- package/lib/ModuleBuildError.js +1 -1
- package/lib/ModuleError.js +1 -1
- package/lib/ModuleFilenameHelpers.js +1 -1
- package/lib/ModuleGraph.js +27 -12
- package/lib/ModuleGraphConnection.js +2 -2
- package/lib/ModuleSourceTypeConstants.js +189 -0
- package/lib/ModuleTypeConstants.js +1 -4
- package/lib/ModuleWarning.js +1 -1
- package/lib/NodeStuffPlugin.js +52 -42
- package/lib/NormalModule.js +6 -4
- package/lib/NormalModuleFactory.js +7 -10
- package/lib/Parser.js +1 -1
- package/lib/RawModule.js +7 -4
- package/lib/RuntimeModule.js +1 -1
- package/lib/RuntimeTemplate.js +5 -1
- package/lib/SizeFormatHelpers.js +1 -1
- package/lib/SourceMapDevToolPlugin.js +6 -1
- package/lib/Template.js +17 -6
- package/lib/TemplatedPathPlugin.js +5 -6
- package/lib/WebpackError.js +0 -1
- package/lib/WebpackOptionsApply.js +37 -9
- package/lib/asset/AssetBytesGenerator.js +15 -11
- package/lib/asset/AssetGenerator.js +30 -24
- package/lib/asset/AssetSourceGenerator.js +15 -11
- package/lib/asset/RawDataUrlModule.js +6 -3
- package/lib/buildChunkGraph.js +4 -2
- package/lib/cache/PackFileCacheStrategy.js +6 -5
- package/lib/cli.js +2 -43
- package/lib/config/browserslistTargetHandler.js +19 -0
- package/lib/config/defaults.js +128 -43
- package/lib/config/normalization.js +2 -2
- package/lib/config/target.js +5 -0
- package/lib/container/ContainerEntryModule.js +6 -3
- package/lib/container/FallbackModule.js +6 -3
- package/lib/container/RemoteModule.js +1 -3
- package/lib/css/CssGenerator.js +26 -24
- package/lib/css/CssLoadingRuntimeModule.js +12 -4
- package/lib/css/CssModulesPlugin.js +29 -74
- package/lib/css/CssParser.js +828 -341
- package/lib/css/walkCssTokens.js +33 -13
- package/lib/dependencies/CachedConstDependency.js +24 -10
- package/lib/dependencies/CommonJsRequireContextDependency.js +1 -1
- package/lib/dependencies/ContextDependencyHelpers.js +2 -2
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +242 -104
- package/lib/dependencies/CssIcssImportDependency.js +61 -4
- package/lib/dependencies/CssIcssSymbolDependency.js +2 -6
- package/lib/dependencies/CssImportDependency.js +2 -1
- package/lib/dependencies/CssUrlDependency.js +3 -2
- package/lib/dependencies/DynamicExports.js +7 -7
- package/lib/dependencies/ExternalModuleDependency.js +7 -4
- package/lib/dependencies/ExternalModuleInitFragment.js +2 -1
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +2 -1
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +3 -2
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +6 -4
- package/lib/dependencies/HarmonyExports.js +4 -4
- package/lib/dependencies/HarmonyImportDependency.js +8 -3
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +1 -1
- package/lib/dependencies/ImportMetaPlugin.js +57 -0
- package/lib/dependencies/ImportParserPlugin.js +2 -2
- package/lib/dependencies/LocalModulesHelpers.js +3 -3
- package/lib/dependencies/WorkerPlugin.js +2 -2
- package/lib/dependencies/getFunctionExpression.js +1 -1
- package/lib/esm/ModuleChunkFormatPlugin.js +5 -4
- package/lib/hmr/HotModuleReplacement.runtime.js +2 -1
- package/lib/hmr/LazyCompilationPlugin.js +4 -3
- package/lib/ids/IdHelpers.js +16 -7
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/JavascriptGenerator.js +4 -3
- package/lib/javascript/JavascriptModulesPlugin.js +57 -24
- package/lib/javascript/JavascriptParser.js +19 -6
- package/lib/json/JsonGenerator.js +5 -4
- package/lib/json/JsonParser.js +2 -1
- package/lib/library/AbstractLibraryPlugin.js +1 -1
- package/lib/library/AmdLibraryPlugin.js +4 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +4 -1
- package/lib/library/ModuleLibraryPlugin.js +41 -13
- package/lib/library/SystemLibraryPlugin.js +4 -1
- package/lib/library/UmdLibraryPlugin.js +1 -1
- package/lib/logging/Logger.js +5 -4
- package/lib/logging/createConsoleLogger.js +2 -2
- package/lib/optimize/ConcatenatedModule.js +47 -32
- package/lib/optimize/ModuleConcatenationPlugin.js +5 -4
- package/lib/optimize/SideEffectsFlagPlugin.js +3 -2
- package/lib/optimize/SplitChunksPlugin.js +60 -46
- package/lib/rules/RuleSetCompiler.js +1 -1
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +3 -2
- package/lib/schemes/HttpUriPlugin.js +97 -10
- package/lib/serialization/AggregateErrorSerializer.js +1 -2
- package/lib/serialization/ObjectMiddleware.js +0 -2
- package/lib/serialization/SingleItemMiddleware.js +1 -1
- package/lib/sharing/ConsumeSharedModule.js +1 -1
- package/lib/sharing/ConsumeSharedPlugin.js +5 -3
- package/lib/sharing/ProvideSharedModule.js +1 -1
- package/lib/sharing/resolveMatchedConfigs.js +15 -9
- package/lib/sharing/utils.js +1 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +8 -5
- package/lib/stats/DefaultStatsPresetPlugin.js +1 -1
- package/lib/stats/DefaultStatsPrinterPlugin.js +1 -1
- package/lib/util/StringXor.js +1 -1
- package/lib/util/URLAbsoluteSpecifier.js +2 -2
- package/lib/util/binarySearchBounds.js +2 -2
- package/lib/util/comparators.js +53 -76
- package/lib/util/compileBooleanMatcher.js +78 -6
- package/lib/util/createHash.js +20 -199
- package/lib/util/deprecation.js +1 -1
- package/lib/util/deterministicGrouping.js +6 -3
- package/lib/util/fs.js +75 -75
- package/lib/util/hash/BatchedHash.js +10 -9
- package/lib/util/hash/BulkUpdateHash.js +138 -0
- package/lib/util/hash/DebugHash.js +75 -0
- package/lib/util/hash/hash-digest.js +216 -0
- package/lib/util/identifier.js +82 -17
- package/lib/util/internalSerializables.js +2 -6
- package/lib/util/runtime.js +3 -3
- package/lib/util/source.js +2 -2
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +3 -2
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +3 -2
- package/lib/wasm-sync/WebAssemblyGenerator.js +9 -6
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +3 -2
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +6 -2
- package/lib/webpack.js +1 -1
- package/package.json +30 -25
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +59 -82
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -1
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/types.d.ts +225 -158
- package/lib/ModuleSourceTypesConstants.js +0 -117
- package/lib/dependencies/CssIcssFromIdentifierDependency.js +0 -124
- package/lib/dependencies/CssIcssGlobalIdentifierDependency.js +0 -48
- package/lib/dependencies/CssIcssLocalIdentifierDependency.js +0 -61
- package/lib/dependencies/CssIcssSelfLocalIdentifierDependency.js +0 -190
- package/lib/util/jsonParseEvenBetterErrors.js +0 -10
- package/schemas/plugins/css/CssAutoGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoGeneratorOptions.check.js +0 -6
- package/schemas/plugins/css/CssAutoGeneratorOptions.json +0 -3
- package/schemas/plugins/css/CssAutoParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoParserOptions.check.js +0 -6
- package/schemas/plugins/css/CssAutoParserOptions.json +0 -3
- package/schemas/plugins/css/CssGlobalGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssGlobalGeneratorOptions.check.js +0 -6
- package/schemas/plugins/css/CssGlobalGeneratorOptions.json +0 -3
- package/schemas/plugins/css/CssGlobalParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssGlobalParserOptions.check.js +0 -6
- package/schemas/plugins/css/CssGlobalParserOptions.json +0 -3
|
@@ -17,6 +17,7 @@ const Compilation = require("../Compilation");
|
|
|
17
17
|
const CssModule = require("../CssModule");
|
|
18
18
|
const { tryRunOrWebpackError } = require("../HookWebpackError");
|
|
19
19
|
const HotUpdateChunk = require("../HotUpdateChunk");
|
|
20
|
+
const { CSS_IMPORT_TYPE, CSS_TYPE } = require("../ModuleSourceTypeConstants");
|
|
20
21
|
const {
|
|
21
22
|
CSS_MODULE_TYPE,
|
|
22
23
|
CSS_MODULE_TYPE_AUTO,
|
|
@@ -25,15 +26,10 @@ const {
|
|
|
25
26
|
} = require("../ModuleTypeConstants");
|
|
26
27
|
const NormalModule = require("../NormalModule");
|
|
27
28
|
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
28
|
-
const SelfModuleFactory = require("../SelfModuleFactory");
|
|
29
29
|
const Template = require("../Template");
|
|
30
30
|
const WebpackError = require("../WebpackError");
|
|
31
31
|
const CssIcssExportDependency = require("../dependencies/CssIcssExportDependency");
|
|
32
|
-
const CssIcssFromIdentifierDependency = require("../dependencies/CssIcssFromIdentifierDependency");
|
|
33
|
-
const CssIcssGlobalIdentifierDependency = require("../dependencies/CssIcssGlobalIdentifierDependency");
|
|
34
32
|
const CssIcssImportDependency = require("../dependencies/CssIcssImportDependency");
|
|
35
|
-
const CssIcssLocalIdentifierDependency = require("../dependencies/CssIcssLocalIdentifierDependency");
|
|
36
|
-
const CssIcssSelfLocalIdentifierDependency = require("../dependencies/CssIcssSelfLocalIdentifierDependency");
|
|
37
33
|
const CssIcssSymbolDependency = require("../dependencies/CssIcssSymbolDependency");
|
|
38
34
|
const CssImportDependency = require("../dependencies/CssImportDependency");
|
|
39
35
|
const CssUrlDependency = require("../dependencies/CssUrlDependency");
|
|
@@ -130,8 +126,8 @@ const validateGeneratorOptions = {
|
|
|
130
126
|
generatorValidationOptions
|
|
131
127
|
),
|
|
132
128
|
"css/auto": createSchemaValidation(
|
|
133
|
-
require("../../schemas/plugins/css/
|
|
134
|
-
() => getSchema("
|
|
129
|
+
require("../../schemas/plugins/css/CssModuleGeneratorOptions.check"),
|
|
130
|
+
() => getSchema("CssModuleGeneratorOptions"),
|
|
135
131
|
generatorValidationOptions
|
|
136
132
|
),
|
|
137
133
|
"css/module": createSchemaValidation(
|
|
@@ -140,8 +136,8 @@ const validateGeneratorOptions = {
|
|
|
140
136
|
generatorValidationOptions
|
|
141
137
|
),
|
|
142
138
|
"css/global": createSchemaValidation(
|
|
143
|
-
require("../../schemas/plugins/css/
|
|
144
|
-
() => getSchema("
|
|
139
|
+
require("../../schemas/plugins/css/CssModuleGeneratorOptions.check"),
|
|
140
|
+
() => getSchema("CssModuleGeneratorOptions"),
|
|
145
141
|
generatorValidationOptions
|
|
146
142
|
)
|
|
147
143
|
};
|
|
@@ -157,8 +153,8 @@ const validateParserOptions = {
|
|
|
157
153
|
parserValidationOptions
|
|
158
154
|
),
|
|
159
155
|
"css/auto": createSchemaValidation(
|
|
160
|
-
require("../../schemas/plugins/css/
|
|
161
|
-
() => getSchema("
|
|
156
|
+
require("../../schemas/plugins/css/CssModuleParserOptions.check"),
|
|
157
|
+
() => getSchema("CssModuleParserOptions"),
|
|
162
158
|
parserValidationOptions
|
|
163
159
|
),
|
|
164
160
|
"css/module": createSchemaValidation(
|
|
@@ -167,8 +163,8 @@ const validateParserOptions = {
|
|
|
167
163
|
parserValidationOptions
|
|
168
164
|
),
|
|
169
165
|
"css/global": createSchemaValidation(
|
|
170
|
-
require("../../schemas/plugins/css/
|
|
171
|
-
() => getSchema("
|
|
166
|
+
require("../../schemas/plugins/css/CssModuleParserOptions.check"),
|
|
167
|
+
() => getSchema("CssModuleParserOptions"),
|
|
172
168
|
parserValidationOptions
|
|
173
169
|
)
|
|
174
170
|
};
|
|
@@ -219,7 +215,6 @@ class CssModulesPlugin {
|
|
|
219
215
|
PLUGIN_NAME,
|
|
220
216
|
(compilation, { normalModuleFactory }) => {
|
|
221
217
|
const hooks = CssModulesPlugin.getCompilationHooks(compilation);
|
|
222
|
-
const selfFactory = new SelfModuleFactory(compilation.moduleGraph);
|
|
223
218
|
compilation.dependencyFactories.set(
|
|
224
219
|
CssImportDependency,
|
|
225
220
|
normalModuleFactory
|
|
@@ -236,18 +231,6 @@ class CssModulesPlugin {
|
|
|
236
231
|
CssUrlDependency,
|
|
237
232
|
new CssUrlDependency.Template()
|
|
238
233
|
);
|
|
239
|
-
compilation.dependencyTemplates.set(
|
|
240
|
-
CssIcssLocalIdentifierDependency,
|
|
241
|
-
new CssIcssLocalIdentifierDependency.Template()
|
|
242
|
-
);
|
|
243
|
-
compilation.dependencyFactories.set(
|
|
244
|
-
CssIcssSelfLocalIdentifierDependency,
|
|
245
|
-
selfFactory
|
|
246
|
-
);
|
|
247
|
-
compilation.dependencyTemplates.set(
|
|
248
|
-
CssIcssSelfLocalIdentifierDependency,
|
|
249
|
-
new CssIcssSelfLocalIdentifierDependency.Template()
|
|
250
|
-
);
|
|
251
234
|
compilation.dependencyFactories.set(
|
|
252
235
|
CssIcssImportDependency,
|
|
253
236
|
normalModuleFactory
|
|
@@ -256,22 +239,6 @@ class CssModulesPlugin {
|
|
|
256
239
|
CssIcssImportDependency,
|
|
257
240
|
new CssIcssImportDependency.Template()
|
|
258
241
|
);
|
|
259
|
-
compilation.dependencyFactories.set(
|
|
260
|
-
CssIcssFromIdentifierDependency,
|
|
261
|
-
normalModuleFactory
|
|
262
|
-
);
|
|
263
|
-
compilation.dependencyTemplates.set(
|
|
264
|
-
CssIcssFromIdentifierDependency,
|
|
265
|
-
new CssIcssFromIdentifierDependency.Template()
|
|
266
|
-
);
|
|
267
|
-
compilation.dependencyFactories.set(
|
|
268
|
-
CssIcssGlobalIdentifierDependency,
|
|
269
|
-
normalModuleFactory
|
|
270
|
-
);
|
|
271
|
-
compilation.dependencyTemplates.set(
|
|
272
|
-
CssIcssGlobalIdentifierDependency,
|
|
273
|
-
new CssIcssGlobalIdentifierDependency.Template()
|
|
274
|
-
);
|
|
275
242
|
compilation.dependencyTemplates.set(
|
|
276
243
|
CssIcssExportDependency,
|
|
277
244
|
new CssIcssExportDependency.Template()
|
|
@@ -293,45 +260,31 @@ class CssModulesPlugin {
|
|
|
293
260
|
normalModuleFactory.hooks.createParser
|
|
294
261
|
.for(type)
|
|
295
262
|
.tap(PLUGIN_NAME, (parserOptions) => {
|
|
296
|
-
validateParserOptions[type](parserOptions);
|
|
297
|
-
const {
|
|
298
|
-
url,
|
|
299
|
-
import: importOption,
|
|
300
|
-
namedExports,
|
|
301
|
-
exportType
|
|
302
|
-
} = parserOptions;
|
|
303
|
-
|
|
304
263
|
switch (type) {
|
|
305
264
|
case CSS_MODULE_TYPE:
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
namedExports,
|
|
310
|
-
exportType
|
|
311
|
-
});
|
|
265
|
+
validateParserOptions[type](parserOptions);
|
|
266
|
+
|
|
267
|
+
return new CssParser(parserOptions);
|
|
312
268
|
case CSS_MODULE_TYPE_GLOBAL:
|
|
269
|
+
validateParserOptions[type](parserOptions);
|
|
270
|
+
|
|
313
271
|
return new CssParser({
|
|
314
272
|
defaultMode: "global",
|
|
315
|
-
|
|
316
|
-
url,
|
|
317
|
-
namedExports,
|
|
318
|
-
exportType
|
|
273
|
+
...parserOptions
|
|
319
274
|
});
|
|
320
275
|
case CSS_MODULE_TYPE_MODULE:
|
|
276
|
+
validateParserOptions[type](parserOptions);
|
|
277
|
+
|
|
321
278
|
return new CssParser({
|
|
322
279
|
defaultMode: "local",
|
|
323
|
-
|
|
324
|
-
url,
|
|
325
|
-
namedExports,
|
|
326
|
-
exportType
|
|
280
|
+
...parserOptions
|
|
327
281
|
});
|
|
328
282
|
case CSS_MODULE_TYPE_AUTO:
|
|
283
|
+
validateParserOptions[type](parserOptions);
|
|
284
|
+
|
|
329
285
|
return new CssParser({
|
|
330
286
|
defaultMode: "auto",
|
|
331
|
-
|
|
332
|
-
url,
|
|
333
|
-
namedExports,
|
|
334
|
-
exportType
|
|
287
|
+
...parserOptions
|
|
335
288
|
});
|
|
336
289
|
}
|
|
337
290
|
});
|
|
@@ -778,7 +731,7 @@ class CssModulesPlugin {
|
|
|
778
731
|
(
|
|
779
732
|
chunkGraph.getOrderedChunkModulesIterableBySourceType(
|
|
780
733
|
chunk,
|
|
781
|
-
|
|
734
|
+
CSS_IMPORT_TYPE,
|
|
782
735
|
compareModulesByIdOrIdentifier(chunkGraph)
|
|
783
736
|
)
|
|
784
737
|
),
|
|
@@ -790,7 +743,7 @@ class CssModulesPlugin {
|
|
|
790
743
|
(
|
|
791
744
|
chunkGraph.getOrderedChunkModulesIterableBySourceType(
|
|
792
745
|
chunk,
|
|
793
|
-
|
|
746
|
+
CSS_TYPE,
|
|
794
747
|
compareModulesByIdOrIdentifier(chunkGraph)
|
|
795
748
|
)
|
|
796
749
|
),
|
|
@@ -920,8 +873,8 @@ class CssModulesPlugin {
|
|
|
920
873
|
const moduleSourceContent =
|
|
921
874
|
/** @type {Source} */
|
|
922
875
|
(
|
|
923
|
-
codeGenResult.sources.get(
|
|
924
|
-
codeGenResult.sources.get(
|
|
876
|
+
codeGenResult.sources.get(CSS_TYPE) ||
|
|
877
|
+
codeGenResult.sources.get(CSS_IMPORT_TYPE)
|
|
925
878
|
);
|
|
926
879
|
const moduleSource = CssModulesPlugin.renderModule(
|
|
927
880
|
module,
|
|
@@ -970,9 +923,11 @@ class CssModulesPlugin {
|
|
|
970
923
|
*/
|
|
971
924
|
static chunkHasCss(chunk, chunkGraph) {
|
|
972
925
|
return (
|
|
973
|
-
Boolean(chunkGraph.getChunkModulesIterableBySourceType(chunk, "css")) ||
|
|
974
926
|
Boolean(
|
|
975
|
-
chunkGraph.getChunkModulesIterableBySourceType(chunk,
|
|
927
|
+
chunkGraph.getChunkModulesIterableBySourceType(chunk, CSS_TYPE)
|
|
928
|
+
) ||
|
|
929
|
+
Boolean(
|
|
930
|
+
chunkGraph.getChunkModulesIterableBySourceType(chunk, CSS_IMPORT_TYPE)
|
|
976
931
|
)
|
|
977
932
|
);
|
|
978
933
|
}
|