webpack 4.16.0 → 4.16.4
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 +5 -2
- package/SECURITY.md +9 -9
- package/buildin/global.js +20 -20
- package/buildin/module.js +22 -22
- package/hot/log-apply-result.js +44 -44
- package/hot/log.js +2 -0
- package/lib/BasicEvaluatedExpression.js +211 -211
- package/lib/Chunk.js +32 -10
- package/lib/ChunkGroup.js +3 -3
- package/lib/Compilation.js +47 -11
- package/lib/ContextExclusionPlugin.js +11 -0
- package/lib/ContextModule.js +116 -30
- package/lib/ContextModuleFactory.js +6 -0
- package/lib/DefinePlugin.js +49 -0
- package/lib/DelegatedModule.js +5 -0
- package/lib/DependenciesBlock.js +1 -1
- package/lib/DllModule.js +6 -0
- package/lib/DllReferencePlugin.js +51 -3
- package/lib/ExternalModule.js +6 -0
- package/lib/Generator.js +11 -3
- package/lib/HotModuleReplacementPlugin.js +1 -5
- package/lib/MemoryOutputFileSystem.js +5 -5
- package/lib/Module.js +52 -12
- package/lib/MultiModule.js +6 -0
- package/lib/NodeStuffPlugin.js +18 -0
- package/lib/NormalModule.js +6 -0
- package/lib/NullFactory.js +12 -12
- package/lib/OptionsApply.js +10 -10
- package/lib/Parser.js +12 -3
- package/lib/RuntimeTemplate.js +12 -0
- package/lib/Stats.js +19 -2
- package/lib/Template.js +44 -43
- package/lib/WatchIgnorePlugin.js +18 -18
- package/lib/debug/ProfilingPlugin.js +1 -1
- package/lib/dependencies/AMDRequireItemDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +6 -0
- package/lib/dependencies/CriticalDependencyWarning.js +20 -20
- package/lib/dependencies/DelegatedSourceDependency.js +18 -18
- package/lib/dependencies/DllEntryDependency.js +20 -20
- package/lib/dependencies/LocalModule.js +23 -23
- package/lib/dependencies/ModuleHotAcceptDependency.js +23 -23
- package/lib/dependencies/ModuleHotDeclineDependency.js +23 -23
- package/lib/dependencies/PrefetchDependency.js +18 -18
- package/lib/dependencies/RequireEnsureItemDependency.js +21 -21
- package/lib/dependencies/RequireResolveDependency.js +22 -22
- package/lib/node/NodeOutputFileSystem.js +22 -22
- package/lib/node/NodeTargetPlugin.js +1 -0
- package/lib/optimize/ConcatenatedModule.js +5 -0
- package/lib/optimize/OccurrenceChunkOrderPlugin.js +1 -1
- package/lib/optimize/OccurrenceModuleOrderPlugin.js +1 -1
- package/lib/optimize/OccurrenceOrderPlugin.js +2 -2
- package/lib/util/SortableSet.js +1 -0
- package/lib/util/StackedSetMap.js +12 -3
- package/lib/wasm/WebAssemblyGenerator.js +22 -5
- package/lib/wasm/WebAssemblyJavascriptGenerator.js +16 -2
- package/lib/webpack.js +1 -0
- package/package.json +12 -20
- package/schemas/WebpackOptions.json +2 -6
- package/schemas/ajv.absolutePath.js +55 -55
- package/schemas/plugins/BannerPlugin.json +96 -96
- package/schemas/plugins/DllPlugin.json +32 -32
- 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
@@ -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;
|
@@ -125,6 +125,12 @@ class CommonJsRequireDependencyParserPlugin {
|
|
125
125
|
parser.hooks.new
|
126
126
|
.for("require")
|
127
127
|
.tap("CommonJsRequireDependencyParserPlugin", createHandler(true));
|
128
|
+
parser.hooks.call
|
129
|
+
.for("module.require")
|
130
|
+
.tap("CommonJsRequireDependencyParserPlugin", createHandler(false));
|
131
|
+
parser.hooks.new
|
132
|
+
.for("module.require")
|
133
|
+
.tap("CommonJsRequireDependencyParserPlugin", createHandler(true));
|
128
134
|
}
|
129
135
|
}
|
130
136
|
module.exports = CommonJsRequireDependencyParserPlugin;
|
@@ -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;
|
@@ -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;
|
@@ -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;
|
@@ -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
|
-
|
7
|
-
const fs = require("fs");
|
8
|
-
const path = require("path");
|
9
|
-
const mkdirp = require("mkdirp");
|
10
|
-
|
11
|
-
class NodeOutputFileSystem {
|
12
|
-
constructor() {
|
13
|
-
this.mkdirp = mkdirp;
|
14
|
-
this.mkdir = fs.mkdir.bind(fs);
|
15
|
-
this.rmdir = fs.rmdir.bind(fs);
|
16
|
-
this.unlink = fs.unlink.bind(fs);
|
17
|
-
this.writeFile = fs.writeFile.bind(fs);
|
18
|
-
this.join = path.join.bind(path);
|
19
|
-
}
|
20
|
-
}
|
21
|
-
|
22
|
-
module.exports = NodeOutputFileSystem;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const fs = require("fs");
|
8
|
+
const path = require("path");
|
9
|
+
const mkdirp = require("mkdirp");
|
10
|
+
|
11
|
+
class NodeOutputFileSystem {
|
12
|
+
constructor() {
|
13
|
+
this.mkdirp = mkdirp;
|
14
|
+
this.mkdir = fs.mkdir.bind(fs);
|
15
|
+
this.rmdir = fs.rmdir.bind(fs);
|
16
|
+
this.unlink = fs.unlink.bind(fs);
|
17
|
+
this.writeFile = fs.writeFile.bind(fs);
|
18
|
+
this.join = path.join.bind(path);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
module.exports = NodeOutputFileSystem;
|
@@ -21,6 +21,7 @@ const createHash = require("../util/createHash");
|
|
21
21
|
|
22
22
|
/** @typedef {import("../Dependency")} Dependency */
|
23
23
|
/** @typedef {import("../Compilation")} Compilation */
|
24
|
+
/** @typedef {import("../util/createHash").Hash} Hash */
|
24
25
|
|
25
26
|
/**
|
26
27
|
* @typedef {Object} ConcatenationEntry
|
@@ -1180,6 +1181,10 @@ class ConcatenatedModule extends Module {
|
|
1180
1181
|
return nameWithNumber;
|
1181
1182
|
}
|
1182
1183
|
|
1184
|
+
/**
|
1185
|
+
* @param {Hash} hash the hash used to track dependencies
|
1186
|
+
* @returns {void}
|
1187
|
+
*/
|
1183
1188
|
updateHash(hash) {
|
1184
1189
|
for (const info of this._orderedConcatenationList) {
|
1185
1190
|
switch (info.type) {
|
@@ -91,7 +91,7 @@ class OccurrenceOrderPlugin {
|
|
91
91
|
if (aOccurs < bOccurs) return 1;
|
92
92
|
const orgA = originalOrder.get(a);
|
93
93
|
const orgB = originalOrder.get(b);
|
94
|
-
return
|
94
|
+
return orgA - orgB;
|
95
95
|
});
|
96
96
|
}
|
97
97
|
);
|
@@ -124,7 +124,7 @@ class OccurrenceOrderPlugin {
|
|
124
124
|
if (aOccurs < bOccurs) return 1;
|
125
125
|
const orgA = originalOrder.get(a);
|
126
126
|
const orgB = originalOrder.get(b);
|
127
|
-
return
|
127
|
+
return orgA - orgB;
|
128
128
|
});
|
129
129
|
}
|
130
130
|
);
|
package/lib/util/SortableSet.js
CHANGED
@@ -128,8 +128,17 @@ class StackedSetMap {
|
|
128
128
|
}
|
129
129
|
|
130
130
|
// TODO remove in webpack 5
|
131
|
-
StackedSetMap.prototype.push = util.deprecate(
|
132
|
-
|
133
|
-
|
131
|
+
StackedSetMap.prototype.push = util.deprecate(
|
132
|
+
/**
|
133
|
+
* @deprecated
|
134
|
+
* @this {StackedSetMap}
|
135
|
+
* @param {any} item Item to add
|
136
|
+
* @returns {void}
|
137
|
+
*/
|
138
|
+
function(item) {
|
139
|
+
this.add(item);
|
140
|
+
},
|
141
|
+
"This is no longer an Array: Use add instead."
|
142
|
+
);
|
134
143
|
|
135
144
|
module.exports = StackedSetMap;
|
@@ -21,6 +21,10 @@ const WebAssemblyExportImportedDependency = require("../dependencies/WebAssembly
|
|
21
21
|
|
22
22
|
/** @typedef {import("../Module")} Module */
|
23
23
|
/** @typedef {import("./WebAssemblyUtils").UsedWasmDependency} UsedWasmDependency */
|
24
|
+
/** @typedef {import("../NormalModule")} NormalModule */
|
25
|
+
/** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */
|
26
|
+
/** @typedef {import("webpack-sources").Source} Source */
|
27
|
+
/** @typedef {import("../Dependency").DependencyTemplate} DependencyTemplate */
|
24
28
|
|
25
29
|
/**
|
26
30
|
* @typedef {(ArrayBuffer) => ArrayBuffer} ArrayBufferTransform
|
@@ -43,9 +47,12 @@ const preprocess = ab => {
|
|
43
47
|
* @returns {Function} composed transform
|
44
48
|
*/
|
45
49
|
const compose = (...fns) => {
|
46
|
-
return fns.reduce(
|
47
|
-
|
48
|
-
|
50
|
+
return fns.reduce(
|
51
|
+
(prevFn, nextFn) => {
|
52
|
+
return value => nextFn(prevFn(value));
|
53
|
+
},
|
54
|
+
value => value
|
55
|
+
);
|
49
56
|
};
|
50
57
|
|
51
58
|
// TODO replace with @callback
|
@@ -366,7 +373,14 @@ class WebAssemblyGenerator extends Generator {
|
|
366
373
|
this.options = options;
|
367
374
|
}
|
368
375
|
|
369
|
-
|
376
|
+
/**
|
377
|
+
* @param {NormalModule} module module for which the code should be generated
|
378
|
+
* @param {Map<Function, DependencyTemplate>} dependencyTemplates mapping from dependencies to templates
|
379
|
+
* @param {RuntimeTemplate} runtimeTemplate the runtime template
|
380
|
+
* @param {string} type which kind of code should be generated
|
381
|
+
* @returns {Source} generated code
|
382
|
+
*/
|
383
|
+
generate(module, dependencyTemplates, runtimeTemplate, type) {
|
370
384
|
let bin = module.originalSource().source();
|
371
385
|
bin = preprocess(bin);
|
372
386
|
|
@@ -398,7 +412,10 @@ class WebAssemblyGenerator extends Generator {
|
|
398
412
|
const externalExports = new Set(
|
399
413
|
module.dependencies
|
400
414
|
.filter(d => d instanceof WebAssemblyExportImportedDependency)
|
401
|
-
.map(d =>
|
415
|
+
.map(d => {
|
416
|
+
const wasmDep = /** @type {WebAssemblyExportImportedDependency} */ (d);
|
417
|
+
return wasmDep.exportName;
|
418
|
+
})
|
402
419
|
);
|
403
420
|
|
404
421
|
/** @type {t.Instruction[]} */
|