webpack 5.107.0 → 5.107.2
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/lib/BannerPlugin.js +3 -4
- package/lib/Chunk.js +21 -25
- package/lib/ChunkGroup.js +57 -15
- package/lib/Compilation.js +33 -11
- package/lib/Compiler.js +27 -3
- package/lib/ContextModuleFactory.js +45 -38
- package/lib/EvalSourceMapDevToolPlugin.js +0 -1
- package/lib/ExportsInfo.js +30 -34
- package/lib/ExternalModule.js +15 -11
- package/lib/ExternalModuleFactoryPlugin.js +2 -1
- package/lib/Module.js +1 -1
- package/lib/ModuleNotFoundError.js +10 -0
- package/lib/ModuleSourceTypeConstants.js +24 -22
- package/lib/MultiCompiler.js +14 -0
- package/lib/NormalModule.js +531 -53
- package/lib/NormalModuleFactory.js +38 -26
- package/lib/ProgressPlugin.js +1 -1
- package/lib/RuntimePlugin.js +1 -1
- package/lib/SourceMapDevToolPlugin.js +335 -57
- package/lib/Template.js +1 -1
- package/lib/TemplatedPathPlugin.js +22 -4
- package/lib/asset/AssetBytesGenerator.js +6 -6
- package/lib/asset/AssetGenerator.js +14 -14
- package/lib/asset/AssetModulesPlugin.js +3 -7
- package/lib/asset/AssetSourceGenerator.js +6 -6
- package/lib/buildChunkGraph.js +24 -2
- package/lib/cache/getLazyHashedEtag.js +9 -2
- package/lib/css/CssModulesPlugin.js +2 -2
- package/lib/dependencies/CommonJsImportsParserPlugin.js +108 -1
- package/lib/dependencies/CssUrlDependency.js +3 -2
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +21 -1
- package/lib/dependencies/HarmonyExportInitFragment.js +8 -9
- package/lib/dependencies/HtmlInlineScriptDependency.js +3 -14
- package/lib/dependencies/HtmlInlineStyleDependency.js +17 -0
- package/lib/dependencies/HtmlScriptSrcDependency.js +265 -65
- package/lib/dependencies/HtmlSourceDependency.js +21 -2
- package/lib/dependencies/WorkerPlugin.js +18 -4
- package/lib/hmr/LazyCompilationPlugin.js +104 -0
- package/lib/html/HtmlGenerator.js +81 -33
- package/lib/html/HtmlModulesPlugin.js +87 -28
- package/lib/html/walkHtmlTokens.js +641 -125
- package/lib/index.js +2 -0
- package/lib/javascript/JavascriptModulesPlugin.js +2 -2
- package/lib/javascript/JavascriptParser.js +1 -1
- package/lib/library/ModuleLibraryPlugin.js +30 -24
- package/lib/node/NodeWatchFileSystem.js +37 -22
- package/lib/optimize/ConcatenatedModule.js +3 -2
- package/lib/optimize/SideEffectsFlagPlugin.js +1 -2
- package/lib/optimize/SplitChunksPlugin.js +4 -4
- package/lib/runtime/AutoPublicPathRuntimeModule.js +3 -3
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +5 -5
- package/lib/sharing/ConsumeSharedPlugin.js +2 -8
- package/lib/sharing/ProvideSharedPlugin.js +4 -4
- package/lib/util/fs.js +6 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +1 -2
- package/package.json +5 -5
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +11 -9
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +1 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +1 -0
- package/types.d.ts +472 -149
|
@@ -25,6 +25,11 @@ const WEBASSEMBLY_TYPE = "webassembly";
|
|
|
25
25
|
*/
|
|
26
26
|
const ASSET_TYPE = "asset";
|
|
27
27
|
|
|
28
|
+
/**
|
|
29
|
+
* @type {Readonly<"asset-url">}
|
|
30
|
+
*/
|
|
31
|
+
const ASSET_URL_TYPE = "asset-url";
|
|
32
|
+
|
|
28
33
|
/**
|
|
29
34
|
* @type {Readonly<"css">}
|
|
30
35
|
*/
|
|
@@ -35,11 +40,6 @@ const CSS_TYPE = "css";
|
|
|
35
40
|
*/
|
|
36
41
|
const CSS_IMPORT_TYPE = "css-import";
|
|
37
42
|
|
|
38
|
-
/**
|
|
39
|
-
* @type {Readonly<"css-url">}
|
|
40
|
-
*/
|
|
41
|
-
const CSS_URL_TYPE = "css-url";
|
|
42
|
-
|
|
43
43
|
/**
|
|
44
44
|
* @type {Readonly<"css-text">}
|
|
45
45
|
*/
|
|
@@ -72,7 +72,7 @@ const UNKNOWN_TYPE = "unknown";
|
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
74
|
* Defines the all types type used by this module.
|
|
75
|
-
* @typedef {JAVASCRIPT_TYPE | RUNTIME_TYPE | WEBASSEMBLY_TYPE | ASSET_TYPE |
|
|
75
|
+
* @typedef {JAVASCRIPT_TYPE | RUNTIME_TYPE | WEBASSEMBLY_TYPE | ASSET_TYPE | ASSET_URL_TYPE | CSS_TYPE | CSS_IMPORT_TYPE | CSS_TEXT_TYPE | HTML_TYPE | SHARED_INIT_TYPE | REMOTE_GENERATOR_TYPE | CONSUME_SHARED_GENERATOR_TYPE | UNKNOWN_TYPE} AllTypes
|
|
76
76
|
*/
|
|
77
77
|
|
|
78
78
|
/**
|
|
@@ -91,17 +91,17 @@ const ASSET_TYPES = new Set([ASSET_TYPE]);
|
|
|
91
91
|
const ASSET_AND_JAVASCRIPT_TYPES = new Set([ASSET_TYPE, JAVASCRIPT_TYPE]);
|
|
92
92
|
|
|
93
93
|
/**
|
|
94
|
-
* @type {ReadonlySet<"
|
|
94
|
+
* @type {ReadonlySet<"asset-url" | "asset">}
|
|
95
95
|
*/
|
|
96
|
-
const
|
|
96
|
+
const ASSET_AND_ASSET_URL_TYPES = new Set([ASSET_TYPE, ASSET_URL_TYPE]);
|
|
97
97
|
|
|
98
98
|
/**
|
|
99
|
-
* @type {ReadonlySet<"javascript" | "
|
|
99
|
+
* @type {ReadonlySet<"javascript" | "asset-url" | "asset">}
|
|
100
100
|
*/
|
|
101
|
-
const
|
|
101
|
+
const ASSET_AND_JAVASCRIPT_AND_ASSET_URL_TYPES = new Set([
|
|
102
102
|
ASSET_TYPE,
|
|
103
103
|
JAVASCRIPT_TYPE,
|
|
104
|
-
|
|
104
|
+
ASSET_URL_TYPE
|
|
105
105
|
]);
|
|
106
106
|
|
|
107
107
|
/**
|
|
@@ -110,9 +110,12 @@ const ASSET_AND_JAVASCRIPT_AND_CSS_URL_TYPES = new Set([
|
|
|
110
110
|
const JAVASCRIPT_TYPES = new Set([JAVASCRIPT_TYPE]);
|
|
111
111
|
|
|
112
112
|
/**
|
|
113
|
-
* @type {ReadonlySet<"javascript" | "
|
|
113
|
+
* @type {ReadonlySet<"javascript" | "asset-url">}
|
|
114
114
|
*/
|
|
115
|
-
const
|
|
115
|
+
const JAVASCRIPT_AND_ASSET_URL_TYPES = new Set([
|
|
116
|
+
JAVASCRIPT_TYPE,
|
|
117
|
+
ASSET_URL_TYPE
|
|
118
|
+
]);
|
|
116
119
|
|
|
117
120
|
/**
|
|
118
121
|
* @type {ReadonlySet<"javascript" | "css">}
|
|
@@ -125,9 +128,9 @@ const JAVASCRIPT_AND_CSS_TYPES = new Set([JAVASCRIPT_TYPE, CSS_TYPE]);
|
|
|
125
128
|
const CSS_TYPES = new Set([CSS_TYPE]);
|
|
126
129
|
|
|
127
130
|
/**
|
|
128
|
-
* @type {ReadonlySet<"
|
|
131
|
+
* @type {ReadonlySet<"asset-url">}
|
|
129
132
|
*/
|
|
130
|
-
const
|
|
133
|
+
const ASSET_URL_TYPES = new Set([ASSET_URL_TYPE]);
|
|
131
134
|
|
|
132
135
|
/**
|
|
133
136
|
* @type {ReadonlySet<"css-text">}
|
|
@@ -176,27 +179,26 @@ const CONSUME_SHARED_TYPES = new Set([CONSUME_SHARED_GENERATOR_TYPE]);
|
|
|
176
179
|
*/
|
|
177
180
|
const SHARED_INIT_TYPES = new Set([SHARED_INIT_TYPE]);
|
|
178
181
|
|
|
179
|
-
module.exports.
|
|
180
|
-
module.exports.
|
|
181
|
-
|
|
182
|
+
module.exports.ASSET_AND_ASSET_URL_TYPES = ASSET_AND_ASSET_URL_TYPES;
|
|
183
|
+
module.exports.ASSET_AND_JAVASCRIPT_AND_ASSET_URL_TYPES =
|
|
184
|
+
ASSET_AND_JAVASCRIPT_AND_ASSET_URL_TYPES;
|
|
182
185
|
module.exports.ASSET_AND_JAVASCRIPT_TYPES = ASSET_AND_JAVASCRIPT_TYPES;
|
|
183
186
|
module.exports.ASSET_TYPE = ASSET_TYPE;
|
|
184
187
|
module.exports.ASSET_TYPES = ASSET_TYPES;
|
|
188
|
+
module.exports.ASSET_URL_TYPE = ASSET_URL_TYPE;
|
|
189
|
+
module.exports.ASSET_URL_TYPES = ASSET_URL_TYPES;
|
|
185
190
|
module.exports.CONSUME_SHARED_TYPES = CONSUME_SHARED_TYPES;
|
|
186
191
|
module.exports.CSS_IMPORT_TYPE = CSS_IMPORT_TYPE;
|
|
187
192
|
module.exports.CSS_IMPORT_TYPES = CSS_IMPORT_TYPES;
|
|
188
193
|
module.exports.CSS_TEXT_TYPE = CSS_TEXT_TYPE;
|
|
189
194
|
module.exports.CSS_TEXT_TYPES = CSS_TEXT_TYPES;
|
|
190
195
|
module.exports.CSS_TYPE = CSS_TYPE;
|
|
191
|
-
module.exports.CSS_TYPE = CSS_TYPE;
|
|
192
196
|
module.exports.CSS_TYPES = CSS_TYPES;
|
|
193
|
-
module.exports.CSS_URL_TYPE = CSS_URL_TYPE;
|
|
194
|
-
module.exports.CSS_URL_TYPES = CSS_URL_TYPES;
|
|
195
197
|
module.exports.HTML_TYPE = HTML_TYPE;
|
|
196
198
|
module.exports.HTML_TYPES = HTML_TYPES;
|
|
199
|
+
module.exports.JAVASCRIPT_AND_ASSET_URL_TYPES = JAVASCRIPT_AND_ASSET_URL_TYPES;
|
|
197
200
|
module.exports.JAVASCRIPT_AND_CSS_TEXT_TYPES = JAVASCRIPT_AND_CSS_TEXT_TYPES;
|
|
198
201
|
module.exports.JAVASCRIPT_AND_CSS_TYPES = JAVASCRIPT_AND_CSS_TYPES;
|
|
199
|
-
module.exports.JAVASCRIPT_AND_CSS_URL_TYPES = JAVASCRIPT_AND_CSS_URL_TYPES;
|
|
200
202
|
module.exports.JAVASCRIPT_TYPE = JAVASCRIPT_TYPE;
|
|
201
203
|
module.exports.JAVASCRIPT_TYPES = JAVASCRIPT_TYPES;
|
|
202
204
|
module.exports.NO_TYPES = NO_TYPES;
|
package/lib/MultiCompiler.js
CHANGED
|
@@ -128,6 +128,20 @@ module.exports = class MultiCompiler {
|
|
|
128
128
|
doneCompilers--;
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
|
+
// Release fields on this child's Compilation once it's done. The
|
|
132
|
+
// stage: Infinity tap runs after every afterDone tap at a lower
|
|
133
|
+
// stage, so plugins observing compilation state in afterDone still
|
|
134
|
+
// see it intact. Stats remains usable; only fields Stats never reads
|
|
135
|
+
// (and that the persistent cache never serializes) are dropped.
|
|
136
|
+
|
|
137
|
+
compiler.hooks.afterDone.tap(
|
|
138
|
+
{ name: CLASS_NAME, stage: Infinity },
|
|
139
|
+
(stats) => {
|
|
140
|
+
if (stats !== undefined) {
|
|
141
|
+
compiler._releaseUnusedCompilationData(stats.compilation);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
);
|
|
131
145
|
}
|
|
132
146
|
this._validateCompilersOptions();
|
|
133
147
|
}
|