webpack 4.1.0 → 4.4.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.
- package/README.md +719 -721
- package/bin/webpack.js +69 -10
- package/lib/APIPlugin.js +84 -84
- package/lib/AmdMainTemplatePlugin.js +75 -77
- package/lib/AsyncDependencyToInitialChunkError.js +21 -23
- package/lib/BannerPlugin.js +101 -101
- package/lib/Chunk.js +477 -469
- package/lib/ChunkTemplate.js +51 -53
- package/lib/Compilation.js +1858 -1851
- package/lib/Compiler.js +493 -478
- package/lib/ConcurrentCompilationError.js +19 -0
- package/lib/ContextModule.js +696 -685
- package/lib/ContextModuleFactory.js +245 -243
- package/lib/DefinePlugin.js +197 -197
- package/lib/DelegatedModule.js +101 -101
- package/lib/DependenciesBlockVariable.js +51 -52
- package/lib/Dependency.js +53 -52
- package/lib/DllModule.js +54 -54
- package/lib/DllModuleFactory.js +29 -29
- package/lib/EnvironmentPlugin.js +65 -67
- package/lib/EvalDevToolModuleTemplatePlugin.js +60 -60
- package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +105 -105
- package/lib/ExportPropertyMainTemplatePlugin.js +40 -40
- package/lib/ExternalModule.js +159 -159
- package/lib/FunctionModuleTemplatePlugin.js +98 -98
- package/lib/HotModuleReplacement.runtime.js +631 -631
- package/lib/HotModuleReplacementPlugin.js +407 -406
- package/lib/HotUpdateChunkTemplate.js +78 -80
- package/lib/JavascriptGenerator.js +228 -229
- package/lib/JavascriptModulesPlugin.js +184 -158
- package/lib/JsonGenerator.js +42 -42
- package/lib/MainTemplate.js +406 -402
- package/lib/Module.js +343 -340
- package/lib/ModuleBuildError.js +42 -42
- package/lib/ModuleError.js +28 -28
- package/lib/ModuleFilenameHelpers.js +166 -166
- package/lib/ModuleTemplate.js +77 -79
- package/lib/ModuleWarning.js +30 -30
- package/lib/MultiCompiler.js +271 -259
- package/lib/MultiModule.js +78 -75
- package/lib/MultiModuleFactory.js +23 -23
- package/lib/MultiWatching.js +38 -37
- package/lib/NoModeWarning.js +23 -21
- package/lib/NormalModule.js +478 -470
- package/lib/NormalModuleFactory.js +483 -481
- package/lib/OptionsDefaulter.js +80 -86
- package/lib/Parser.js +2074 -2071
- package/lib/ProgressPlugin.js +231 -231
- package/lib/RawModule.js +54 -55
- package/lib/RecordIdsPlugin.js +160 -160
- package/lib/RemovedPluginError.js +13 -13
- package/lib/ResolverFactory.js +64 -67
- package/lib/RuntimeTemplate.js +267 -297
- package/lib/SetVarMainTemplatePlugin.js +57 -57
- package/lib/SourceMapDevToolPlugin.js +302 -308
- package/lib/Stats.js +1234 -1212
- package/lib/Template.js +205 -205
- package/lib/TemplatedPathPlugin.js +170 -143
- package/lib/UmdMainTemplatePlugin.js +264 -269
- package/lib/Watching.js +193 -193
- package/lib/WebAssemblyParser.js +50 -54
- package/lib/WebpackOptionsApply.js +401 -401
- package/lib/WebpackOptionsDefaulter.js +337 -317
- package/lib/WebpackOptionsValidationError.js +316 -319
- package/lib/debug/ProfilingPlugin.js +409 -405
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +328 -311
- package/lib/dependencies/AMDRequireContextDependency.js +20 -20
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +270 -241
- package/lib/dependencies/HarmonyAcceptImportDependency.js +23 -23
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +620 -606
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +53 -53
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +214 -214
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +154 -156
- package/lib/dependencies/ImportDependenciesBlock.js +17 -17
- package/lib/dependencies/ImportDependency.js +34 -34
- package/lib/dependencies/ImportEagerDependency.js +32 -32
- package/lib/dependencies/ImportParserPlugin.js +175 -179
- package/lib/dependencies/ImportWeakDependency.js +34 -34
- package/lib/dependencies/JsonExportsDependency.js +25 -25
- package/lib/dependencies/ModuleDependency.js +20 -20
- package/lib/dependencies/NullDependency.js +20 -20
- package/lib/dependencies/RequireContextDependency.js +22 -22
- package/lib/dependencies/RequireIncludeDependency.js +40 -40
- package/lib/dependencies/WebpackMissingModule.js +20 -22
- package/lib/node/NodeChunkTemplatePlugin.js +31 -31
- package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +36 -36
- package/lib/node/NodeMainTemplatePlugin.js +320 -273
- package/lib/node/ReadFileCompileWasmMainTemplatePlugin.js +113 -115
- package/lib/optimize/AggressiveSplittingPlugin.js +281 -281
- package/lib/optimize/ConcatenatedModule.js +1364 -1366
- package/lib/optimize/RemoveParentModulesPlugin.js +114 -114
- package/lib/optimize/SplitChunksPlugin.js +519 -491
- package/lib/performance/SizeLimitsPlugin.js +105 -105
- package/lib/util/TrackingSet.js +35 -35
- package/lib/util/objectToMap.js +10 -10
- package/lib/wasm/WasmModuleTemplatePlugin.js +106 -106
- package/lib/web/JsonpChunkTemplatePlugin.js +47 -47
- package/lib/web/JsonpExportMainTemplatePlugin.js +47 -47
- package/lib/web/JsonpHotUpdateChunkTemplatePlugin.js +39 -39
- package/lib/web/JsonpMainTemplatePlugin.js +425 -403
- package/lib/webpack.js +182 -179
- package/lib/webworker/WebWorkerChunkTemplatePlugin.js +35 -35
- package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +40 -40
- package/lib/webworker/WebWorkerMainTemplatePlugin.js +177 -154
- package/package.json +9 -8
- package/schemas/WebpackOptions.json +1973 -1951
- package/schemas/ajv.absolutePath.js +55 -29
- package/schemas/plugins/BannerPlugin.json +85 -85
- package/schemas/plugins/DllPlugin.json +28 -28
- package/schemas/plugins/DllReferencePlugin.json +99 -99
- package/schemas/plugins/HashedModuleIdsPlugin.json +24 -24
- package/schemas/plugins/LoaderOptionsPlugin.json +26 -26
- package/schemas/plugins/SourceMapDevToolPlugin.json +187 -187
- package/schemas/plugins/WatchIgnorePlugin.json +16 -16
- package/schemas/plugins/debug/ProfilingPlugin.json +12 -12
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.json +22 -22
- package/schemas/plugins/optimize/LimitChunkCountPlugin.json +15 -15
- package/schemas/plugins/optimize/MinChunkSizePlugin.json +13 -13
package/lib/MultiModule.js
CHANGED
@@ -1,75 +1,78 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const Module = require("./Module");
|
8
|
-
const Template = require("./Template");
|
9
|
-
const RawSource = require("webpack-sources")
|
10
|
-
|
11
|
-
class MultiModule extends Module {
|
12
|
-
constructor(context, dependencies, name) {
|
13
|
-
super("javascript/dynamic", context);
|
14
|
-
|
15
|
-
// Info from Factory
|
16
|
-
this.dependencies = dependencies;
|
17
|
-
this.name = name;
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
str.push(
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
}
|
74
|
-
|
75
|
-
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const Module = require("./Module");
|
8
|
+
const Template = require("./Template");
|
9
|
+
const { RawSource } = require("webpack-sources");
|
10
|
+
|
11
|
+
class MultiModule extends Module {
|
12
|
+
constructor(context, dependencies, name) {
|
13
|
+
super("javascript/dynamic", context);
|
14
|
+
|
15
|
+
// Info from Factory
|
16
|
+
this.dependencies = dependencies;
|
17
|
+
this.name = name;
|
18
|
+
this._identifier = `multi ${this.dependencies
|
19
|
+
.map(d => d.request)
|
20
|
+
.join(" ")}`;
|
21
|
+
}
|
22
|
+
|
23
|
+
identifier() {
|
24
|
+
return this._identifier;
|
25
|
+
}
|
26
|
+
|
27
|
+
readableIdentifier(requestShortener) {
|
28
|
+
return `multi ${this.dependencies
|
29
|
+
.map(d => requestShortener.shorten(d.request))
|
30
|
+
.join(" ")}`;
|
31
|
+
}
|
32
|
+
|
33
|
+
build(options, compilation, resolver, fs, callback) {
|
34
|
+
this.built = true;
|
35
|
+
this.buildMeta = {};
|
36
|
+
this.buildInfo = {};
|
37
|
+
return callback();
|
38
|
+
}
|
39
|
+
|
40
|
+
needRebuild() {
|
41
|
+
return false;
|
42
|
+
}
|
43
|
+
|
44
|
+
size() {
|
45
|
+
return 16 + this.dependencies.length * 12;
|
46
|
+
}
|
47
|
+
|
48
|
+
updateHash(hash) {
|
49
|
+
hash.update("multi module");
|
50
|
+
hash.update(this.name || "");
|
51
|
+
super.updateHash(hash);
|
52
|
+
}
|
53
|
+
|
54
|
+
source(dependencyTemplates, runtimeTemplate) {
|
55
|
+
const str = [];
|
56
|
+
let idx = 0;
|
57
|
+
for (const dep of this.dependencies) {
|
58
|
+
if (dep.module) {
|
59
|
+
if (idx === this.dependencies.length - 1) str.push("module.exports = ");
|
60
|
+
str.push("__webpack_require__(");
|
61
|
+
if (runtimeTemplate.outputOptions.pathinfo)
|
62
|
+
str.push(Template.toComment(dep.request));
|
63
|
+
str.push(`${JSON.stringify(dep.module.id)}`);
|
64
|
+
str.push(")");
|
65
|
+
} else {
|
66
|
+
const content = require("./dependencies/WebpackMissingModule").module(
|
67
|
+
dep.request
|
68
|
+
);
|
69
|
+
str.push(content);
|
70
|
+
}
|
71
|
+
str.push(";\n");
|
72
|
+
idx++;
|
73
|
+
}
|
74
|
+
return new RawSource(str.join(""));
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
module.exports = MultiModule;
|
@@ -1,23 +1,23 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const Tapable = require("tapable")
|
8
|
-
const MultiModule = require("./MultiModule");
|
9
|
-
|
10
|
-
module.exports = class MultiModuleFactory extends Tapable {
|
11
|
-
constructor() {
|
12
|
-
super();
|
13
|
-
this.hooks = {};
|
14
|
-
}
|
15
|
-
|
16
|
-
create(data, callback) {
|
17
|
-
const dependency = data.dependencies[0];
|
18
|
-
callback(
|
19
|
-
null,
|
20
|
-
new MultiModule(data.context, dependency.dependencies, dependency.name)
|
21
|
-
);
|
22
|
-
}
|
23
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const { Tapable } = require("tapable");
|
8
|
+
const MultiModule = require("./MultiModule");
|
9
|
+
|
10
|
+
module.exports = class MultiModuleFactory extends Tapable {
|
11
|
+
constructor() {
|
12
|
+
super();
|
13
|
+
this.hooks = {};
|
14
|
+
}
|
15
|
+
|
16
|
+
create(data, callback) {
|
17
|
+
const dependency = data.dependencies[0];
|
18
|
+
callback(
|
19
|
+
null,
|
20
|
+
new MultiModule(data.context, dependency.dependencies, dependency.name)
|
21
|
+
);
|
22
|
+
}
|
23
|
+
};
|
package/lib/MultiWatching.js
CHANGED
@@ -1,37 +1,38 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const asyncLib = require("neo-async");
|
8
|
-
|
9
|
-
class MultiWatching {
|
10
|
-
constructor(watchings, compiler) {
|
11
|
-
this.watchings = watchings;
|
12
|
-
this.compiler = compiler;
|
13
|
-
}
|
14
|
-
|
15
|
-
invalidate() {
|
16
|
-
for (const watching of this.watchings) {
|
17
|
-
watching.invalidate();
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
close(callback) {
|
22
|
-
asyncLib.forEach(
|
23
|
-
this.watchings,
|
24
|
-
(watching, finishedCallback) => {
|
25
|
-
watching.close(finishedCallback);
|
26
|
-
},
|
27
|
-
err => {
|
28
|
-
this.compiler.hooks.watchClose.call();
|
29
|
-
if (typeof callback === "function") {
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
}
|
36
|
-
|
37
|
-
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const asyncLib = require("neo-async");
|
8
|
+
|
9
|
+
class MultiWatching {
|
10
|
+
constructor(watchings, compiler) {
|
11
|
+
this.watchings = watchings;
|
12
|
+
this.compiler = compiler;
|
13
|
+
}
|
14
|
+
|
15
|
+
invalidate() {
|
16
|
+
for (const watching of this.watchings) {
|
17
|
+
watching.invalidate();
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
close(callback) {
|
22
|
+
asyncLib.forEach(
|
23
|
+
this.watchings,
|
24
|
+
(watching, finishedCallback) => {
|
25
|
+
watching.close(finishedCallback);
|
26
|
+
},
|
27
|
+
err => {
|
28
|
+
this.compiler.hooks.watchClose.call();
|
29
|
+
if (typeof callback === "function") {
|
30
|
+
this.compiler.running = false;
|
31
|
+
callback(err);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
);
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
module.exports = MultiWatching;
|
package/lib/NoModeWarning.js
CHANGED
@@ -1,21 +1,23 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const WebpackError = require("./WebpackError");
|
8
|
-
|
9
|
-
module.exports = class NoModeWarning extends WebpackError {
|
10
|
-
constructor(modules) {
|
11
|
-
super();
|
12
|
-
|
13
|
-
this.name = "NoModeWarning";
|
14
|
-
this.message =
|
15
|
-
"configuration\n" +
|
16
|
-
"The 'mode' option has not been set. " +
|
17
|
-
"Set 'mode' option to 'development' or 'production' to enable defaults for
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const WebpackError = require("./WebpackError");
|
8
|
+
|
9
|
+
module.exports = class NoModeWarning extends WebpackError {
|
10
|
+
constructor(modules) {
|
11
|
+
super();
|
12
|
+
|
13
|
+
this.name = "NoModeWarning";
|
14
|
+
this.message =
|
15
|
+
"configuration\n" +
|
16
|
+
"The 'mode' option has not been set, webpack will fallback to 'production' for this value. " +
|
17
|
+
"Set 'mode' option to 'development' or 'production' to enable defaults for each environment.\n" +
|
18
|
+
"You can also set it to 'none' to disable any default behavior. " +
|
19
|
+
"Learn more: https://webpack.js.org/concepts/mode/";
|
20
|
+
|
21
|
+
Error.captureStackTrace(this, this.constructor);
|
22
|
+
}
|
23
|
+
};
|