webpack 4.14.0 → 4.16.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/LICENSE +20 -20
- package/README.md +5 -2
- package/bin/webpack.js +7 -2
- package/buildin/amd-define.js +3 -3
- package/buildin/amd-options.js +2 -2
- package/buildin/system.js +7 -7
- package/hot/dev-server.js +2 -2
- package/hot/emitter.js +2 -2
- package/hot/only-dev-server.js +2 -2
- package/hot/poll.js +5 -2
- package/hot/signal.js +2 -2
- package/lib/AsyncDependenciesBlock.js +44 -0
- package/lib/AutomaticPrefetchPlugin.js +2 -2
- package/lib/Chunk.js +56 -6
- package/lib/ChunkGroup.js +2 -2
- package/lib/ChunkTemplate.js +14 -2
- package/lib/CommentCompilationWarning.js +3 -3
- package/lib/CompatibilityPlugin.js +1 -1
- package/lib/Compilation.js +442 -37
- package/lib/Compiler.js +57 -4
- package/lib/ContextModule.js +23 -16
- package/lib/DefinePlugin.js +49 -0
- package/lib/DelegatedModule.js +9 -1
- package/lib/DelegatedModuleFactoryPlugin.js +7 -1
- package/lib/DependenciesBlock.js +36 -3
- package/lib/DependenciesBlockVariable.js +22 -0
- package/lib/Dependency.js +33 -6
- package/lib/DllEntryPlugin.js +4 -1
- package/lib/DynamicEntryPlugin.js +21 -1
- package/lib/EntryOptionPlugin.js +12 -0
- package/lib/Entrypoint.js +1 -1
- package/lib/EnvironmentPlugin.js +8 -1
- package/lib/ExtendedAPIPlugin.js +8 -4
- package/lib/ExternalModuleFactoryPlugin.js +1 -1
- package/lib/Generator.js +1 -1
- package/lib/GraphHelpers.js +2 -1
- package/lib/HotModuleReplacement.runtime.js +8 -5
- package/lib/HotModuleReplacementPlugin.js +115 -117
- package/lib/IgnorePlugin.js +1 -1
- package/lib/MainTemplate.js +19 -4
- package/lib/MemoryOutputFileSystem.js +5 -5
- package/lib/Module.js +9 -3
- package/lib/ModuleReason.js +8 -0
- package/lib/MultiEntryPlugin.js +25 -3
- package/lib/NormalModule.js +5 -23
- package/lib/NullFactory.js +12 -12
- package/lib/OptionsApply.js +10 -10
- package/lib/RuleSet.js +3 -3
- package/lib/SingleEntryPlugin.js +20 -1
- package/lib/Stats.js +12 -5
- package/lib/Template.js +4 -1
- package/lib/UmdMainTemplatePlugin.js +12 -12
- package/lib/UseStrictPlugin.js +1 -1
- package/lib/WebpackError.js +4 -0
- package/lib/WebpackOptionsApply.js +92 -10
- package/lib/WebpackOptionsDefaulter.js +23 -6
- package/lib/WebpackOptionsValidationError.js +0 -1
- package/lib/compareLocations.js +13 -17
- package/lib/debug/ProfilingPlugin.js +5 -7
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +4 -6
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +0 -2
- package/lib/dependencies/AMDRequireItemDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependency.js +22 -22
- package/lib/dependencies/CriticalDependencyWarning.js +20 -20
- package/lib/dependencies/DelegatedSourceDependency.js +18 -18
- package/lib/dependencies/DllEntryDependency.js +20 -20
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +2 -1
- package/lib/dependencies/LoaderDependency.js +3 -0
- package/lib/dependencies/LoaderPlugin.js +21 -2
- package/lib/dependencies/LocalModule.js +23 -23
- package/lib/dependencies/ModuleDependency.js +3 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +23 -23
- package/lib/dependencies/ModuleHotDeclineDependency.js +23 -23
- package/lib/dependencies/MultiEntryDependency.js +5 -0
- package/lib/dependencies/PrefetchDependency.js +18 -18
- package/lib/dependencies/RequireEnsureItemDependency.js +21 -21
- package/lib/dependencies/RequireResolveDependency.js +22 -22
- package/lib/dependencies/SingleEntryDependency.js +3 -0
- package/lib/dependencies/SystemPlugin.js +1 -1
- package/lib/formatLocation.js +55 -41
- package/lib/node/NodeMainTemplateAsync.runtime.js +1 -1
- package/lib/node/NodeMainTemplatePlugin.js +2 -2
- package/lib/node/NodeOutputFileSystem.js +22 -22
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/optimize/ConcatenatedModule.js +1 -0
- package/lib/optimize/NaturalChunkOrderPlugin.js +41 -0
- package/lib/optimize/OccurrenceChunkOrderPlugin.js +61 -0
- package/lib/optimize/OccurrenceModuleOrderPlugin.js +103 -0
- package/lib/optimize/OccurrenceOrderPlugin.js +4 -2
- package/lib/optimize/SplitChunksPlugin.js +168 -18
- package/lib/util/Semaphore.js +12 -0
- package/lib/util/SetHelpers.js +4 -4
- package/lib/util/SortableSet.js +1 -1
- package/lib/util/cachedMerge.js +1 -1
- package/lib/util/createHash.js +15 -0
- package/lib/util/deterministicGrouping.js +251 -0
- package/lib/util/identifier.js +27 -0
- package/lib/wasm/WasmFinalizeExportsPlugin.js +1 -1
- package/lib/wasm/WasmMainTemplatePlugin.js +10 -4
- package/lib/wasm/WebAssemblyGenerator.js +12 -12
- package/lib/wasm/WebAssemblyInInitialChunkError.js +88 -0
- package/lib/wasm/WebAssemblyModulesPlugin.js +28 -0
- package/lib/web/JsonpMainTemplatePlugin.js +1 -1
- package/lib/web/WebEnvironmentPlugin.js +18 -18
- package/lib/webpack.js +4 -0
- package/lib/webpack.web.js +2 -2
- package/lib/webworker/WebWorkerMainTemplatePlugin.js +1 -1
- package/package.json +27 -17
- package/schemas/WebpackOptions.json +71 -9
- package/schemas/plugins/optimize/OccurrenceOrderChunkIdsPlugin.json +10 -0
- package/schemas/plugins/optimize/OccurrenceOrderModuleIdsPlugin.json +10 -0
@@ -1,22 +1,22 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
-
|
9
|
-
class CommonJsRequireDependency extends ModuleDependency {
|
10
|
-
constructor(request, range) {
|
11
|
-
super(request);
|
12
|
-
this.range = range;
|
13
|
-
}
|
14
|
-
|
15
|
-
get type() {
|
16
|
-
return "cjs require";
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
CommonJsRequireDependency.Template = ModuleDependencyTemplateAsId;
|
21
|
-
|
22
|
-
module.exports = CommonJsRequireDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
+
|
9
|
+
class CommonJsRequireDependency extends ModuleDependency {
|
10
|
+
constructor(request, range) {
|
11
|
+
super(request);
|
12
|
+
this.range = range;
|
13
|
+
}
|
14
|
+
|
15
|
+
get type() {
|
16
|
+
return "cjs require";
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
CommonJsRequireDependency.Template = ModuleDependencyTemplateAsId;
|
21
|
+
|
22
|
+
module.exports = CommonJsRequireDependency;
|
@@ -1,20 +1,20 @@
|
|
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
|
-
class CriticalDependencyWarning extends WebpackError {
|
10
|
-
constructor(message) {
|
11
|
-
super();
|
12
|
-
|
13
|
-
this.name = "CriticalDependencyWarning";
|
14
|
-
this.message = "Critical dependency: " + message;
|
15
|
-
|
16
|
-
Error.captureStackTrace(this, this.constructor);
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
module.exports = CriticalDependencyWarning;
|
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
|
+
class CriticalDependencyWarning extends WebpackError {
|
10
|
+
constructor(message) {
|
11
|
+
super();
|
12
|
+
|
13
|
+
this.name = "CriticalDependencyWarning";
|
14
|
+
this.message = "Critical dependency: " + message;
|
15
|
+
|
16
|
+
Error.captureStackTrace(this, this.constructor);
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
module.exports = CriticalDependencyWarning;
|
@@ -1,18 +1,18 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
|
8
|
-
class DelegatedSourceDependency extends ModuleDependency {
|
9
|
-
constructor(request) {
|
10
|
-
super(request);
|
11
|
-
}
|
12
|
-
|
13
|
-
get type() {
|
14
|
-
return "delegated source";
|
15
|
-
}
|
16
|
-
}
|
17
|
-
|
18
|
-
module.exports = DelegatedSourceDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
|
8
|
+
class DelegatedSourceDependency extends ModuleDependency {
|
9
|
+
constructor(request) {
|
10
|
+
super(request);
|
11
|
+
}
|
12
|
+
|
13
|
+
get type() {
|
14
|
+
return "delegated source";
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
module.exports = DelegatedSourceDependency;
|
@@ -1,20 +1,20 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const Dependency = require("../Dependency");
|
7
|
-
|
8
|
-
class DllEntryDependency extends Dependency {
|
9
|
-
constructor(dependencies, name) {
|
10
|
-
super();
|
11
|
-
this.dependencies = dependencies;
|
12
|
-
this.name = name;
|
13
|
-
}
|
14
|
-
|
15
|
-
get type() {
|
16
|
-
return "dll entry";
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
module.exports = DllEntryDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const Dependency = require("../Dependency");
|
7
|
+
|
8
|
+
class DllEntryDependency extends Dependency {
|
9
|
+
constructor(dependencies, name) {
|
10
|
+
super();
|
11
|
+
this.dependencies = dependencies;
|
12
|
+
this.name = name;
|
13
|
+
}
|
14
|
+
|
15
|
+
get type() {
|
16
|
+
return "dll entry";
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
module.exports = DllEntryDependency;
|
@@ -244,7 +244,8 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
|
|
244
244
|
return new DependencyReference(
|
245
245
|
mode.module,
|
246
246
|
Array.from(mode.map.values()),
|
247
|
-
false
|
247
|
+
false,
|
248
|
+
this.sourceOrder
|
248
249
|
);
|
249
250
|
|
250
251
|
case "dynamic-reexport":
|
@@ -5,6 +5,17 @@
|
|
5
5
|
"use strict";
|
6
6
|
|
7
7
|
const LoaderDependency = require("./LoaderDependency");
|
8
|
+
const NormalModule = require("../NormalModule");
|
9
|
+
|
10
|
+
/** @typedef {import("../Module")} Module */
|
11
|
+
|
12
|
+
/**
|
13
|
+
* @callback LoadModuleCallback
|
14
|
+
* @param {Error=} err error object
|
15
|
+
* @param {string=} source source code
|
16
|
+
* @param {object=} map source map
|
17
|
+
* @param {Module=} module loaded module if successful
|
18
|
+
*/
|
8
19
|
|
9
20
|
class LoaderPlugin {
|
10
21
|
apply(compiler) {
|
@@ -22,9 +33,16 @@ class LoaderPlugin {
|
|
22
33
|
compilation.hooks.normalModuleLoader.tap(
|
23
34
|
"LoaderPlugin",
|
24
35
|
(loaderContext, module) => {
|
36
|
+
/**
|
37
|
+
* @param {string} request the request string to load the module from
|
38
|
+
* @param {LoadModuleCallback} callback callback returning the loaded module or error
|
39
|
+
* @returns {void}
|
40
|
+
*/
|
25
41
|
loaderContext.loadModule = (request, callback) => {
|
26
42
|
const dep = new LoaderDependency(request);
|
27
|
-
dep.loc =
|
43
|
+
dep.loc = {
|
44
|
+
name: request
|
45
|
+
};
|
28
46
|
const factory = compilation.dependencyFactories.get(
|
29
47
|
dep.constructor
|
30
48
|
);
|
@@ -57,7 +75,8 @@ class LoaderPlugin {
|
|
57
75
|
if (!dep.module) {
|
58
76
|
return callback(new Error("Cannot load the module"));
|
59
77
|
}
|
60
|
-
|
78
|
+
// TODO consider removing this in webpack 5
|
79
|
+
if (dep.module instanceof NormalModule && dep.module.error) {
|
61
80
|
return callback(dep.module.error);
|
62
81
|
}
|
63
82
|
if (!dep.module._source) {
|
@@ -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
|
-
class LocalModule {
|
8
|
-
constructor(module, name, idx) {
|
9
|
-
this.module = module;
|
10
|
-
this.name = name;
|
11
|
-
this.idx = idx;
|
12
|
-
this.used = false;
|
13
|
-
}
|
14
|
-
|
15
|
-
flagUsed() {
|
16
|
-
this.used = true;
|
17
|
-
}
|
18
|
-
|
19
|
-
variableName() {
|
20
|
-
return "__WEBPACK_LOCAL_MODULE_" + this.idx + "__";
|
21
|
-
}
|
22
|
-
}
|
23
|
-
module.exports = LocalModule;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class LocalModule {
|
8
|
+
constructor(module, name, idx) {
|
9
|
+
this.module = module;
|
10
|
+
this.name = name;
|
11
|
+
this.idx = idx;
|
12
|
+
this.used = false;
|
13
|
+
}
|
14
|
+
|
15
|
+
flagUsed() {
|
16
|
+
this.used = true;
|
17
|
+
}
|
18
|
+
|
19
|
+
variableName() {
|
20
|
+
return "__WEBPACK_LOCAL_MODULE_" + this.idx + "__";
|
21
|
+
}
|
22
|
+
}
|
23
|
+
module.exports = LocalModule;
|
@@ -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
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
-
|
9
|
-
class ModuleHotAcceptDependency extends ModuleDependency {
|
10
|
-
constructor(request, range) {
|
11
|
-
super(request);
|
12
|
-
this.range = range;
|
13
|
-
this.weak = true;
|
14
|
-
}
|
15
|
-
|
16
|
-
get type() {
|
17
|
-
return "module.hot.accept";
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
ModuleHotAcceptDependency.Template = ModuleDependencyTemplateAsId;
|
22
|
-
|
23
|
-
module.exports = ModuleHotAcceptDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
+
|
9
|
+
class ModuleHotAcceptDependency extends ModuleDependency {
|
10
|
+
constructor(request, range) {
|
11
|
+
super(request);
|
12
|
+
this.range = range;
|
13
|
+
this.weak = true;
|
14
|
+
}
|
15
|
+
|
16
|
+
get type() {
|
17
|
+
return "module.hot.accept";
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
ModuleHotAcceptDependency.Template = ModuleDependencyTemplateAsId;
|
22
|
+
|
23
|
+
module.exports = ModuleHotAcceptDependency;
|
@@ -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
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
-
|
9
|
-
class ModuleHotDeclineDependency extends ModuleDependency {
|
10
|
-
constructor(request, range) {
|
11
|
-
super(request);
|
12
|
-
this.range = range;
|
13
|
-
this.weak = true;
|
14
|
-
}
|
15
|
-
|
16
|
-
get type() {
|
17
|
-
return "module.hot.decline";
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
ModuleHotDeclineDependency.Template = ModuleDependencyTemplateAsId;
|
22
|
-
|
23
|
-
module.exports = ModuleHotDeclineDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
+
|
9
|
+
class ModuleHotDeclineDependency extends ModuleDependency {
|
10
|
+
constructor(request, range) {
|
11
|
+
super(request);
|
12
|
+
this.range = range;
|
13
|
+
this.weak = true;
|
14
|
+
}
|
15
|
+
|
16
|
+
get type() {
|
17
|
+
return "module.hot.decline";
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
ModuleHotDeclineDependency.Template = ModuleDependencyTemplateAsId;
|
22
|
+
|
23
|
+
module.exports = ModuleHotDeclineDependency;
|
@@ -3,9 +3,14 @@
|
|
3
3
|
Author Tobias Koppers @sokra
|
4
4
|
*/
|
5
5
|
"use strict";
|
6
|
+
/** @typedef {import("./SingleEntryDependency")} SingleEntryDependency */
|
6
7
|
const Dependency = require("../Dependency");
|
7
8
|
|
8
9
|
class MultiEntryDependency extends Dependency {
|
10
|
+
/**
|
11
|
+
* @param {SingleEntryDependency[]} dependencies an array of SingleEntryDependencies
|
12
|
+
* @param {string} name entry name
|
13
|
+
*/
|
9
14
|
constructor(dependencies, name) {
|
10
15
|
super();
|
11
16
|
this.dependencies = dependencies;
|
@@ -1,18 +1,18 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
|
8
|
-
class PrefetchDependency extends ModuleDependency {
|
9
|
-
constructor(request) {
|
10
|
-
super(request);
|
11
|
-
}
|
12
|
-
|
13
|
-
get type() {
|
14
|
-
return "prefetch";
|
15
|
-
}
|
16
|
-
}
|
17
|
-
|
18
|
-
module.exports = PrefetchDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
|
8
|
+
class PrefetchDependency extends ModuleDependency {
|
9
|
+
constructor(request) {
|
10
|
+
super(request);
|
11
|
+
}
|
12
|
+
|
13
|
+
get type() {
|
14
|
+
return "prefetch";
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
module.exports = PrefetchDependency;
|
@@ -1,21 +1,21 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
const NullDependency = require("./NullDependency");
|
8
|
-
|
9
|
-
class RequireEnsureItemDependency extends ModuleDependency {
|
10
|
-
constructor(request) {
|
11
|
-
super(request);
|
12
|
-
}
|
13
|
-
|
14
|
-
get type() {
|
15
|
-
return "require.ensure item";
|
16
|
-
}
|
17
|
-
}
|
18
|
-
|
19
|
-
RequireEnsureItemDependency.Template = NullDependency.Template;
|
20
|
-
|
21
|
-
module.exports = RequireEnsureItemDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
const NullDependency = require("./NullDependency");
|
8
|
+
|
9
|
+
class RequireEnsureItemDependency extends ModuleDependency {
|
10
|
+
constructor(request) {
|
11
|
+
super(request);
|
12
|
+
}
|
13
|
+
|
14
|
+
get type() {
|
15
|
+
return "require.ensure item";
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
RequireEnsureItemDependency.Template = NullDependency.Template;
|
20
|
+
|
21
|
+
module.exports = RequireEnsureItemDependency;
|
@@ -1,22 +1,22 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
const ModuleDependencyAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
-
|
9
|
-
class RequireResolveDependency extends ModuleDependency {
|
10
|
-
constructor(request, range) {
|
11
|
-
super(request);
|
12
|
-
this.range = range;
|
13
|
-
}
|
14
|
-
|
15
|
-
get type() {
|
16
|
-
return "require.resolve";
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
RequireResolveDependency.Template = ModuleDependencyAsId;
|
21
|
-
|
22
|
-
module.exports = RequireResolveDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
const ModuleDependencyAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
+
|
9
|
+
class RequireResolveDependency extends ModuleDependency {
|
10
|
+
constructor(request, range) {
|
11
|
+
super(request);
|
12
|
+
this.range = range;
|
13
|
+
}
|
14
|
+
|
15
|
+
get type() {
|
16
|
+
return "require.resolve";
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
RequireResolveDependency.Template = ModuleDependencyAsId;
|
21
|
+
|
22
|
+
module.exports = RequireResolveDependency;
|
@@ -72,7 +72,7 @@ class SystemPlugin {
|
|
72
72
|
parser.hooks.expression.for("System").tap("SystemPlugin", () => {
|
73
73
|
const systemPolyfillRequire = ParserHelpers.requireFileAsExpression(
|
74
74
|
parser.state.module.context,
|
75
|
-
require.resolve("../../buildin/system
|
75
|
+
require.resolve("../../buildin/system")
|
76
76
|
);
|
77
77
|
return ParserHelpers.addParsedVariableToModule(
|
78
78
|
parser,
|
package/lib/formatLocation.js
CHANGED
@@ -5,57 +5,71 @@
|
|
5
5
|
|
6
6
|
"use strict";
|
7
7
|
|
8
|
+
/** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
|
9
|
+
/** @typedef {import("./Dependency").SourcePosition} SourcePosition */
|
10
|
+
|
11
|
+
// TODO webpack 5: pos must be SourcePosition
|
12
|
+
/**
|
13
|
+
* @param {SourcePosition|DependencyLocation|string} pos position
|
14
|
+
* @returns {string} formatted position
|
15
|
+
*/
|
8
16
|
const formatPosition = pos => {
|
9
17
|
if (pos === null) return "";
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
return `${pos}`;
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
return `+${pos.index}`;
|
23
|
-
} else {
|
24
|
-
return "";
|
25
|
-
}
|
26
|
-
default:
|
18
|
+
// TODO webpack 5: Simplify this
|
19
|
+
if (typeof pos === "string") return pos;
|
20
|
+
if (typeof pos === "number") return `${pos}`;
|
21
|
+
if (typeof pos === "object") {
|
22
|
+
if ("line" in pos && "column" in pos) {
|
23
|
+
return `${pos.line}:${pos.column}`;
|
24
|
+
} else if ("line" in pos) {
|
25
|
+
return `${pos.line}:?`;
|
26
|
+
} else if ("index" in pos) {
|
27
|
+
// TODO webpack 5 remove this case
|
28
|
+
return `+${pos.index}`;
|
29
|
+
} else {
|
27
30
|
return "";
|
31
|
+
}
|
28
32
|
}
|
33
|
+
return "";
|
29
34
|
};
|
30
35
|
|
36
|
+
// TODO webpack 5: loc must be DependencyLocation
|
37
|
+
/**
|
38
|
+
* @param {DependencyLocation|SourcePosition|string} loc location
|
39
|
+
* @returns {string} formatted location
|
40
|
+
*/
|
31
41
|
const formatLocation = loc => {
|
32
42
|
if (loc === null) return "";
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
return `${formatPosition(loc.start)}-${formatPosition(loc.end)}`;
|
50
|
-
}
|
51
|
-
}
|
52
|
-
if (loc.start) {
|
53
|
-
return formatPosition(loc.start);
|
43
|
+
// TODO webpack 5: Simplify this
|
44
|
+
if (typeof loc === "string") return loc;
|
45
|
+
if (typeof loc === "number") return `${loc}`;
|
46
|
+
if (typeof loc === "object") {
|
47
|
+
if ("start" in loc && loc.start && "end" in loc && loc.end) {
|
48
|
+
if (
|
49
|
+
typeof loc.start === "object" &&
|
50
|
+
typeof loc.start.line === "number" &&
|
51
|
+
typeof loc.end === "object" &&
|
52
|
+
typeof loc.end.line === "number" &&
|
53
|
+
typeof loc.end.column === "number" &&
|
54
|
+
loc.start.line === loc.end.line
|
55
|
+
) {
|
56
|
+
return `${formatPosition(loc.start)}-${loc.end.column}`;
|
57
|
+
} else {
|
58
|
+
return `${formatPosition(loc.start)}-${formatPosition(loc.end)}`;
|
54
59
|
}
|
55
|
-
|
56
|
-
|
57
|
-
return
|
60
|
+
}
|
61
|
+
if ("start" in loc && loc.start) {
|
62
|
+
return formatPosition(loc.start);
|
63
|
+
}
|
64
|
+
if ("name" in loc && "index" in loc) {
|
65
|
+
return `${loc.name}[${loc.index}]`;
|
66
|
+
}
|
67
|
+
if ("name" in loc) {
|
68
|
+
return loc.name;
|
69
|
+
}
|
70
|
+
return formatPosition(loc);
|
58
71
|
}
|
72
|
+
return "";
|
59
73
|
};
|
60
74
|
|
61
75
|
module.exports = formatLocation;
|