webpack 3.6.0 → 3.8.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 +716 -716
- package/bin/convert-argv.js +1 -1
- package/bin/webpack.js +6 -0
- package/buildin/.eslintrc +7 -7
- package/buildin/amd-define.js +3 -3
- package/buildin/amd-options.js +2 -2
- package/buildin/global.js +21 -21
- package/buildin/harmony-module.js +24 -24
- package/buildin/module.js +22 -22
- package/buildin/system.js +7 -7
- package/hot/.eslintrc +9 -9
- package/hot/dev-server.js +53 -53
- package/hot/emitter.js +2 -2
- package/hot/log-apply-result.js +38 -38
- package/hot/log.js +44 -44
- package/hot/only-dev-server.js +71 -71
- package/hot/poll.js +34 -34
- package/hot/signal.js +51 -51
- package/lib/APIPlugin.js +45 -45
- package/lib/AsyncDependenciesBlock.js +43 -43
- package/lib/AsyncDependencyToInitialChunkWarning.js +21 -0
- package/lib/AutomaticPrefetchPlugin.js +36 -36
- package/lib/BasicEvaluatedExpression.js +203 -203
- package/lib/CaseSensitiveModulesWarning.js +49 -49
- package/lib/Chunk.js +3 -0
- package/lib/ChunkRenderError.js +24 -24
- package/lib/ChunkTemplate.js +36 -36
- package/lib/CompatibilityPlugin.js +57 -57
- package/lib/Compilation.js +158 -51
- package/lib/Compiler.js +523 -523
- package/lib/ConstPlugin.js +60 -60
- package/lib/ContextExclusionPlugin.js +17 -0
- package/lib/ContextModule.js +431 -431
- package/lib/ContextModuleFactory.js +14 -5
- package/lib/ContextReplacementPlugin.js +111 -111
- package/lib/DefinePlugin.js +123 -123
- package/lib/DelegatedModule.js +98 -92
- package/lib/DelegatedModuleFactoryPlugin.js +59 -59
- package/lib/DelegatedPlugin.js +30 -30
- package/lib/DependenciesBlockVariable.js +51 -51
- package/lib/DllEntryPlugin.js +37 -37
- package/lib/DllModule.js +58 -58
- package/lib/DllModuleFactory.js +20 -20
- package/lib/DllPlugin.js +38 -38
- package/lib/DllReferencePlugin.js +62 -62
- package/lib/DynamicEntryPlugin.js +59 -59
- package/lib/EntryModuleNotFoundError.js +22 -22
- package/lib/EntryOptionPlugin.js +31 -31
- package/lib/EnvironmentPlugin.js +50 -50
- package/lib/ErrorHelpers.js +31 -31
- package/lib/EvalDevToolModulePlugin.js +22 -22
- package/lib/EvalDevToolModuleTemplatePlugin.js +33 -33
- package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +75 -75
- package/lib/EvalSourceMapDevToolPlugin.js +32 -32
- package/lib/ExportPropertyMainTemplatePlugin.js +31 -31
- package/lib/ExtendedAPIPlugin.js +47 -47
- package/lib/ExternalModule.js +7 -0
- package/lib/ExternalModuleFactoryPlugin.js +91 -91
- package/lib/ExternalsPlugin.js +21 -21
- package/lib/FlagDependencyExportsPlugin.js +101 -101
- package/lib/FunctionModulePlugin.js +24 -24
- package/lib/FunctionModuleTemplatePlugin.js +7 -3
- package/lib/HashedModuleIdsPlugin.js +42 -42
- package/lib/HotUpdateChunkTemplate.js +31 -31
- package/lib/IgnorePlugin.js +69 -69
- package/lib/JsonpExportMainTemplatePlugin.js +37 -37
- package/lib/JsonpHotUpdateChunkTemplatePlugin.js +27 -27
- package/lib/JsonpMainTemplate.runtime.js +2 -1
- package/lib/JsonpMainTemplatePlugin.js +2 -0
- package/lib/JsonpTemplatePlugin.js +21 -21
- package/lib/LibManifestPlugin.js +63 -63
- package/lib/LibraryTemplatePlugin.js +92 -92
- package/lib/LoaderOptionsPlugin.js +36 -36
- package/lib/LoaderTargetPlugin.js +19 -19
- package/lib/MemoryOutputFileSystem.js +5 -5
- package/lib/ModuleBuildError.js +42 -42
- package/lib/ModuleDependencyError.js +22 -22
- package/lib/ModuleDependencyWarning.js +22 -22
- package/lib/ModuleError.js +24 -24
- package/lib/ModuleFilenameHelpers.js +162 -162
- package/lib/ModuleNotFoundError.js +26 -26
- package/lib/ModuleParseError.js +1 -1
- package/lib/ModuleReason.js +50 -50
- package/lib/ModuleTemplate.js +23 -23
- package/lib/ModuleWarning.js +24 -24
- package/lib/MovedToPluginWarningPlugin.js +21 -21
- package/lib/MultiCompiler.js +164 -164
- package/lib/MultiEntryPlugin.js +39 -39
- package/lib/MultiModuleFactory.js +19 -19
- package/lib/MultiStats.js +79 -79
- package/lib/MultiWatching.js +32 -32
- package/lib/NamedChunksPlugin.js +30 -30
- package/lib/NamedModulesPlugin.js +27 -27
- package/lib/NewWatchingPlugin.js +15 -15
- package/lib/NoEmitOnErrorsPlugin.js +22 -22
- package/lib/NoErrorsPlugin.js +29 -29
- package/lib/NodeStuffPlugin.js +97 -97
- package/lib/NormalModuleReplacementPlugin.js +45 -45
- package/lib/NullFactory.js +12 -12
- package/lib/OptionsApply.js +10 -10
- package/lib/Parser.js +65 -34
- package/lib/ParserHelpers.js +85 -85
- package/lib/PrefetchPlugin.js +31 -31
- package/lib/ProgressPlugin.js +192 -192
- package/lib/ProvidePlugin.js +55 -55
- package/lib/RawModule.js +54 -54
- package/lib/RequestShortener.js +63 -63
- package/lib/RequireJsStuffPlugin.js +31 -31
- package/lib/RuleSet.js +444 -444
- package/lib/SetVarMainTemplatePlugin.js +41 -41
- package/lib/SingleEntryPlugin.js +35 -35
- package/lib/SizeFormatHelpers.js +18 -18
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +37 -37
- package/lib/Stats.js +27 -8
- package/lib/UmdMainTemplatePlugin.js +1 -1
- package/lib/UnsupportedFeatureWarning.js +21 -21
- package/lib/UseStrictPlugin.js +34 -34
- package/lib/WarnCaseSensitiveModulesPlugin.js +31 -31
- package/lib/WatchIgnorePlugin.js +49 -49
- package/lib/WebpackError.js +11 -11
- package/lib/WebpackOptionsDefaulter.js +129 -129
- package/lib/WebpackOptionsValidationError.js +196 -196
- package/lib/compareLocations.js +36 -36
- package/lib/dependencies/AMDDefineDependency.js +142 -142
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +5 -1
- package/lib/dependencies/AMDPlugin.js +119 -119
- package/lib/dependencies/AMDRequireArrayDependency.js +2 -0
- package/lib/dependencies/AMDRequireContextDependency.js +0 -9
- package/lib/dependencies/AMDRequireDependenciesBlock.js +33 -33
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +177 -177
- package/lib/dependencies/AMDRequireDependency.js +67 -67
- package/lib/dependencies/AMDRequireItemDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireContextDependency.js +0 -10
- package/lib/dependencies/CommonJsRequireDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +89 -89
- package/lib/dependencies/ConstDependency.js +32 -32
- package/lib/dependencies/ContextDependency.js +20 -0
- package/lib/dependencies/ContextDependencyHelpers.js +71 -71
- package/lib/dependencies/ContextElementDependency.js +21 -21
- package/lib/dependencies/CriticalDependencyWarning.js +20 -20
- package/lib/dependencies/DelegatedExportsDependency.js +33 -33
- package/lib/dependencies/DelegatedSourceDependency.js +18 -18
- package/lib/dependencies/DllEntryDependency.js +20 -20
- package/lib/dependencies/HarmonyCompatibilityDependency.js +30 -30
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +14 -2
- package/lib/dependencies/HarmonyExportExpressionDependency.js +0 -7
- package/lib/dependencies/HarmonyExportHeaderDependency.js +28 -28
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +45 -45
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +0 -13
- package/lib/dependencies/HarmonyModulesHelpers.js +0 -53
- package/lib/dependencies/ImportContextDependency.js +0 -10
- package/lib/dependencies/ImportDependenciesBlock.js +17 -17
- package/lib/dependencies/ImportEagerContextDependency.js +22 -22
- package/lib/dependencies/ImportLazyContextDependency.js +22 -22
- package/lib/dependencies/ImportLazyOnceContextDependency.js +22 -22
- package/lib/dependencies/ImportParserPlugin.js +89 -89
- package/lib/dependencies/ImportPlugin.js +60 -60
- package/lib/dependencies/ImportWeakContextDependency.js +22 -22
- package/lib/dependencies/LoaderDependency.js +18 -18
- package/lib/dependencies/LoaderPlugin.js +60 -60
- package/lib/dependencies/LocalModule.js +23 -23
- package/lib/dependencies/LocalModuleDependency.js +24 -24
- package/lib/dependencies/LocalModulesHelpers.js +46 -46
- package/lib/dependencies/ModuleDependency.js +23 -23
- package/lib/dependencies/ModuleHotAcceptDependency.js +23 -23
- package/lib/dependencies/ModuleHotDeclineDependency.js +23 -23
- package/lib/dependencies/MultiEntryDependency.js +20 -20
- package/lib/dependencies/NullDependency.js +24 -24
- package/lib/dependencies/PrefetchDependency.js +18 -18
- package/lib/dependencies/RequireContextDependency.js +26 -26
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +50 -50
- package/lib/dependencies/RequireContextPlugin.js +96 -96
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +22 -22
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +102 -102
- package/lib/dependencies/RequireEnsureDependency.js +38 -38
- package/lib/dependencies/RequireEnsureItemDependency.js +21 -21
- package/lib/dependencies/RequireEnsurePlugin.js +40 -40
- package/lib/dependencies/RequireHeaderDependency.js +26 -26
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +21 -21
- package/lib/dependencies/RequireIncludePlugin.js +33 -33
- package/lib/dependencies/RequireResolveContextDependency.js +0 -10
- package/lib/dependencies/RequireResolveDependency.js +22 -22
- package/lib/dependencies/RequireResolveDependencyParserPlugin.js +71 -71
- package/lib/dependencies/RequireResolveHeaderDependency.js +26 -26
- package/lib/dependencies/SingleEntryDependency.js +18 -18
- package/lib/dependencies/SystemPlugin.js +44 -44
- package/lib/dependencies/UnsupportedDependency.js +23 -23
- package/lib/dependencies/WebpackMissingModule.js +18 -18
- package/lib/dependencies/getFunctionExpression.js +44 -44
- package/lib/formatLocation.js +54 -54
- package/lib/node/NodeChunkTemplatePlugin.js +27 -27
- package/lib/node/NodeEnvironmentPlugin.js +25 -25
- package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +27 -27
- package/lib/node/NodeMainTemplate.runtime.js +24 -24
- package/lib/node/NodeMainTemplateAsync.runtime.js +40 -40
- package/lib/node/NodeOutputFileSystem.js +22 -22
- package/lib/node/NodeSourcePlugin.js +88 -88
- package/lib/node/NodeTargetPlugin.js +15 -15
- package/lib/node/NodeTemplatePlugin.js +27 -27
- package/lib/node/NodeWatchFileSystem.js +72 -72
- package/lib/optimize/ChunkModuleIdRangePlugin.js +53 -53
- package/lib/optimize/CommonsChunkPlugin.js +40 -19
- package/lib/optimize/ConcatenatedModule.js +27 -24
- package/lib/optimize/DedupePlugin.js +15 -15
- package/lib/optimize/FlagIncludedChunksPlugin.js +35 -35
- package/lib/optimize/LimitChunkCountPlugin.js +59 -59
- package/lib/optimize/MinChunkSizePlugin.js +65 -65
- package/lib/optimize/RemoveEmptyChunksPlugin.js +21 -21
- package/lib/optimize/UglifyJsPlugin.js +9 -9
- package/lib/performance/AssetsOverSizeLimitWarning.js +23 -23
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +28 -28
- package/lib/performance/NoAsyncChunksWarning.js +20 -20
- package/lib/performance/SizeLimitsPlugin.js +102 -102
- package/lib/prepareOptions.js +29 -29
- package/lib/removeAndDo.js +15 -15
- package/lib/util/Queue.js +42 -0
- package/lib/util/Semaphore.js +32 -32
- package/lib/util/identifier.js +38 -38
- package/lib/validateSchema.js +66 -66
- package/lib/web/WebEnvironmentPlugin.js +18 -18
- package/lib/webpack.js +1 -0
- package/lib/webworker/WebWorkerChunkTemplatePlugin.js +29 -29
- package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +28 -28
- package/lib/webworker/WebWorkerMainTemplate.runtime.js +58 -58
- package/lib/webworker/WebWorkerTemplatePlugin.js +20 -20
- package/package.json +1 -1
- package/schemas/ajv.absolutePath.js +29 -29
- package/schemas/webpackOptionsSchema.json +69 -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 ImportContextDependency = require("./ImportContextDependency");
|
7
|
-
const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
|
8
|
-
|
9
|
-
class ImportLazyOnceContextDependency extends ImportContextDependency {
|
10
|
-
constructor(request, recursive, regExp, range, valueRange, chunkName) {
|
11
|
-
super(request, recursive, regExp, range, valueRange, chunkName);
|
12
|
-
this.async = "lazy-once";
|
13
|
-
}
|
14
|
-
|
15
|
-
get type() {
|
16
|
-
return "import() context lazy-once";
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
ImportLazyOnceContextDependency.Template = ContextDependencyTemplateAsRequireCall;
|
21
|
-
|
22
|
-
module.exports = ImportLazyOnceContextDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ImportContextDependency = require("./ImportContextDependency");
|
7
|
+
const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
|
8
|
+
|
9
|
+
class ImportLazyOnceContextDependency extends ImportContextDependency {
|
10
|
+
constructor(request, recursive, regExp, range, valueRange, chunkName) {
|
11
|
+
super(request, recursive, regExp, range, valueRange, chunkName);
|
12
|
+
this.async = "lazy-once";
|
13
|
+
}
|
14
|
+
|
15
|
+
get type() {
|
16
|
+
return "import() context lazy-once";
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
ImportLazyOnceContextDependency.Template = ContextDependencyTemplateAsRequireCall;
|
21
|
+
|
22
|
+
module.exports = ImportLazyOnceContextDependency;
|
@@ -1,89 +1,89 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const ImportEagerContextDependency = require("./ImportEagerContextDependency");
|
8
|
-
const ImportWeakDependency = require("./ImportWeakDependency");
|
9
|
-
const ImportWeakContextDependency = require("./ImportWeakContextDependency");
|
10
|
-
const ImportLazyOnceContextDependency = require("./ImportLazyOnceContextDependency");
|
11
|
-
const ImportLazyContextDependency = require("./ImportLazyContextDependency");
|
12
|
-
const ImportDependenciesBlock = require("./ImportDependenciesBlock");
|
13
|
-
const ImportEagerDependency = require("./ImportEagerDependency");
|
14
|
-
const ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
15
|
-
const UnsupportedFeatureWarning = require("../UnsupportedFeatureWarning");
|
16
|
-
|
17
|
-
class ImportParserPlugin {
|
18
|
-
constructor(options) {
|
19
|
-
this.options = options;
|
20
|
-
}
|
21
|
-
|
22
|
-
apply(parser) {
|
23
|
-
const options = this.options;
|
24
|
-
|
25
|
-
parser.plugin(["call System.import", "import-call"], (expr) => {
|
26
|
-
if(expr.arguments.length !== 1)
|
27
|
-
throw new Error("Incorrect number of arguments provided to 'import(module: string) -> Promise'.");
|
28
|
-
|
29
|
-
const param = parser.evaluateExpression(expr.arguments[0]);
|
30
|
-
|
31
|
-
let chunkName = null;
|
32
|
-
let mode = "lazy";
|
33
|
-
|
34
|
-
const importOptions = parser.getCommentOptions(expr.range);
|
35
|
-
if(importOptions) {
|
36
|
-
if(typeof importOptions.webpackChunkName !== "undefined") {
|
37
|
-
if(typeof importOptions.webpackChunkName !== "string")
|
38
|
-
parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackChunkName\` expected a string, but received: ${importOptions.webpackChunkName}.`));
|
39
|
-
else
|
40
|
-
chunkName = importOptions.webpackChunkName;
|
41
|
-
}
|
42
|
-
if(typeof importOptions.webpackMode !== "undefined") {
|
43
|
-
if(typeof importOptions.webpackMode !== "string")
|
44
|
-
parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected a string, but received: ${importOptions.webpackMode}.`));
|
45
|
-
else
|
46
|
-
mode = importOptions.webpackMode;
|
47
|
-
}
|
48
|
-
}
|
49
|
-
|
50
|
-
if(param.isString()) {
|
51
|
-
if(mode !== "lazy" && mode !== "eager" && mode !== "weak") {
|
52
|
-
parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected 'lazy', 'eager' or 'weak', but received: ${mode}.`));
|
53
|
-
}
|
54
|
-
|
55
|
-
if(mode === "eager") {
|
56
|
-
const dep = new ImportEagerDependency(param.string, expr.range);
|
57
|
-
parser.state.current.addDependency(dep);
|
58
|
-
} else if(mode === "weak") {
|
59
|
-
const dep = new ImportWeakDependency(param.string, expr.range);
|
60
|
-
parser.state.current.addDependency(dep);
|
61
|
-
} else {
|
62
|
-
const depBlock = new ImportDependenciesBlock(param.string, expr.range, chunkName, parser.state.module, expr.loc);
|
63
|
-
parser.state.current.addBlock(depBlock);
|
64
|
-
}
|
65
|
-
return true;
|
66
|
-
} else {
|
67
|
-
if(mode !== "lazy" && mode !== "lazy-once" && mode !== "eager" && mode !== "weak") {
|
68
|
-
parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected 'lazy', 'lazy-once', 'eager' or 'weak', but received: ${mode}.`));
|
69
|
-
}
|
70
|
-
|
71
|
-
let Dep = ImportLazyContextDependency;
|
72
|
-
if(mode === "eager") {
|
73
|
-
Dep = ImportEagerContextDependency;
|
74
|
-
} else if(mode === "weak") {
|
75
|
-
Dep = ImportWeakContextDependency;
|
76
|
-
} else if(mode === "lazy-once") {
|
77
|
-
Dep = ImportLazyOnceContextDependency;
|
78
|
-
}
|
79
|
-
const dep = ContextDependencyHelpers.create(Dep, expr.range, param, expr, options, chunkName);
|
80
|
-
if(!dep) return;
|
81
|
-
dep.loc = expr.loc;
|
82
|
-
dep.optional = !!parser.scope.inTry;
|
83
|
-
parser.state.current.addDependency(dep);
|
84
|
-
return true;
|
85
|
-
}
|
86
|
-
});
|
87
|
-
}
|
88
|
-
}
|
89
|
-
module.exports = ImportParserPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const ImportEagerContextDependency = require("./ImportEagerContextDependency");
|
8
|
+
const ImportWeakDependency = require("./ImportWeakDependency");
|
9
|
+
const ImportWeakContextDependency = require("./ImportWeakContextDependency");
|
10
|
+
const ImportLazyOnceContextDependency = require("./ImportLazyOnceContextDependency");
|
11
|
+
const ImportLazyContextDependency = require("./ImportLazyContextDependency");
|
12
|
+
const ImportDependenciesBlock = require("./ImportDependenciesBlock");
|
13
|
+
const ImportEagerDependency = require("./ImportEagerDependency");
|
14
|
+
const ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
15
|
+
const UnsupportedFeatureWarning = require("../UnsupportedFeatureWarning");
|
16
|
+
|
17
|
+
class ImportParserPlugin {
|
18
|
+
constructor(options) {
|
19
|
+
this.options = options;
|
20
|
+
}
|
21
|
+
|
22
|
+
apply(parser) {
|
23
|
+
const options = this.options;
|
24
|
+
|
25
|
+
parser.plugin(["call System.import", "import-call"], (expr) => {
|
26
|
+
if(expr.arguments.length !== 1)
|
27
|
+
throw new Error("Incorrect number of arguments provided to 'import(module: string) -> Promise'.");
|
28
|
+
|
29
|
+
const param = parser.evaluateExpression(expr.arguments[0]);
|
30
|
+
|
31
|
+
let chunkName = null;
|
32
|
+
let mode = "lazy";
|
33
|
+
|
34
|
+
const importOptions = parser.getCommentOptions(expr.range);
|
35
|
+
if(importOptions) {
|
36
|
+
if(typeof importOptions.webpackChunkName !== "undefined") {
|
37
|
+
if(typeof importOptions.webpackChunkName !== "string")
|
38
|
+
parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackChunkName\` expected a string, but received: ${importOptions.webpackChunkName}.`));
|
39
|
+
else
|
40
|
+
chunkName = importOptions.webpackChunkName;
|
41
|
+
}
|
42
|
+
if(typeof importOptions.webpackMode !== "undefined") {
|
43
|
+
if(typeof importOptions.webpackMode !== "string")
|
44
|
+
parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected a string, but received: ${importOptions.webpackMode}.`));
|
45
|
+
else
|
46
|
+
mode = importOptions.webpackMode;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
if(param.isString()) {
|
51
|
+
if(mode !== "lazy" && mode !== "eager" && mode !== "weak") {
|
52
|
+
parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected 'lazy', 'eager' or 'weak', but received: ${mode}.`));
|
53
|
+
}
|
54
|
+
|
55
|
+
if(mode === "eager") {
|
56
|
+
const dep = new ImportEagerDependency(param.string, expr.range);
|
57
|
+
parser.state.current.addDependency(dep);
|
58
|
+
} else if(mode === "weak") {
|
59
|
+
const dep = new ImportWeakDependency(param.string, expr.range);
|
60
|
+
parser.state.current.addDependency(dep);
|
61
|
+
} else {
|
62
|
+
const depBlock = new ImportDependenciesBlock(param.string, expr.range, chunkName, parser.state.module, expr.loc);
|
63
|
+
parser.state.current.addBlock(depBlock);
|
64
|
+
}
|
65
|
+
return true;
|
66
|
+
} else {
|
67
|
+
if(mode !== "lazy" && mode !== "lazy-once" && mode !== "eager" && mode !== "weak") {
|
68
|
+
parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected 'lazy', 'lazy-once', 'eager' or 'weak', but received: ${mode}.`));
|
69
|
+
}
|
70
|
+
|
71
|
+
let Dep = ImportLazyContextDependency;
|
72
|
+
if(mode === "eager") {
|
73
|
+
Dep = ImportEagerContextDependency;
|
74
|
+
} else if(mode === "weak") {
|
75
|
+
Dep = ImportWeakContextDependency;
|
76
|
+
} else if(mode === "lazy-once") {
|
77
|
+
Dep = ImportLazyOnceContextDependency;
|
78
|
+
}
|
79
|
+
const dep = ContextDependencyHelpers.create(Dep, expr.range, param, expr, options, chunkName);
|
80
|
+
if(!dep) return;
|
81
|
+
dep.loc = expr.loc;
|
82
|
+
dep.optional = !!parser.scope.inTry;
|
83
|
+
parser.state.current.addDependency(dep);
|
84
|
+
return true;
|
85
|
+
}
|
86
|
+
});
|
87
|
+
}
|
88
|
+
}
|
89
|
+
module.exports = ImportParserPlugin;
|
@@ -1,60 +1,60 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const ImportDependency = require("./ImportDependency");
|
8
|
-
const ImportEagerDependency = require("./ImportEagerDependency");
|
9
|
-
const ImportWeakDependency = require("./ImportWeakDependency");
|
10
|
-
const ImportEagerContextDependency = require("./ImportEagerContextDependency");
|
11
|
-
const ImportWeakContextDependency = require("./ImportWeakContextDependency");
|
12
|
-
const ImportLazyOnceContextDependency = require("./ImportLazyOnceContextDependency");
|
13
|
-
const ImportLazyContextDependency = require("./ImportLazyContextDependency");
|
14
|
-
const ImportParserPlugin = require("./ImportParserPlugin");
|
15
|
-
|
16
|
-
class ImportPlugin {
|
17
|
-
constructor(options) {
|
18
|
-
this.options = options;
|
19
|
-
}
|
20
|
-
|
21
|
-
apply(compiler) {
|
22
|
-
const options = this.options;
|
23
|
-
compiler.plugin("compilation", (compilation, params) => {
|
24
|
-
const normalModuleFactory = params.normalModuleFactory;
|
25
|
-
const contextModuleFactory = params.contextModuleFactory;
|
26
|
-
|
27
|
-
compilation.dependencyFactories.set(ImportDependency, normalModuleFactory);
|
28
|
-
compilation.dependencyTemplates.set(ImportDependency, new ImportDependency.Template());
|
29
|
-
|
30
|
-
compilation.dependencyFactories.set(ImportEagerDependency, normalModuleFactory);
|
31
|
-
compilation.dependencyTemplates.set(ImportEagerDependency, new ImportEagerDependency.Template());
|
32
|
-
|
33
|
-
compilation.dependencyFactories.set(ImportWeakDependency, normalModuleFactory);
|
34
|
-
compilation.dependencyTemplates.set(ImportWeakDependency, new ImportWeakDependency.Template());
|
35
|
-
|
36
|
-
compilation.dependencyFactories.set(ImportEagerContextDependency, contextModuleFactory);
|
37
|
-
compilation.dependencyTemplates.set(ImportEagerContextDependency, new ImportEagerContextDependency.Template());
|
38
|
-
|
39
|
-
compilation.dependencyFactories.set(ImportWeakContextDependency, contextModuleFactory);
|
40
|
-
compilation.dependencyTemplates.set(ImportWeakContextDependency, new ImportWeakContextDependency.Template());
|
41
|
-
|
42
|
-
compilation.dependencyFactories.set(ImportLazyOnceContextDependency, contextModuleFactory);
|
43
|
-
compilation.dependencyTemplates.set(ImportLazyOnceContextDependency, new ImportLazyOnceContextDependency.Template());
|
44
|
-
|
45
|
-
compilation.dependencyFactories.set(ImportLazyContextDependency, contextModuleFactory);
|
46
|
-
compilation.dependencyTemplates.set(ImportLazyContextDependency, new ImportLazyContextDependency.Template());
|
47
|
-
|
48
|
-
normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
49
|
-
|
50
|
-
if(typeof parserOptions.import !== "undefined" && !parserOptions.import)
|
51
|
-
return;
|
52
|
-
|
53
|
-
parser.apply(
|
54
|
-
new ImportParserPlugin(options)
|
55
|
-
);
|
56
|
-
});
|
57
|
-
});
|
58
|
-
}
|
59
|
-
}
|
60
|
-
module.exports = ImportPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const ImportDependency = require("./ImportDependency");
|
8
|
+
const ImportEagerDependency = require("./ImportEagerDependency");
|
9
|
+
const ImportWeakDependency = require("./ImportWeakDependency");
|
10
|
+
const ImportEagerContextDependency = require("./ImportEagerContextDependency");
|
11
|
+
const ImportWeakContextDependency = require("./ImportWeakContextDependency");
|
12
|
+
const ImportLazyOnceContextDependency = require("./ImportLazyOnceContextDependency");
|
13
|
+
const ImportLazyContextDependency = require("./ImportLazyContextDependency");
|
14
|
+
const ImportParserPlugin = require("./ImportParserPlugin");
|
15
|
+
|
16
|
+
class ImportPlugin {
|
17
|
+
constructor(options) {
|
18
|
+
this.options = options;
|
19
|
+
}
|
20
|
+
|
21
|
+
apply(compiler) {
|
22
|
+
const options = this.options;
|
23
|
+
compiler.plugin("compilation", (compilation, params) => {
|
24
|
+
const normalModuleFactory = params.normalModuleFactory;
|
25
|
+
const contextModuleFactory = params.contextModuleFactory;
|
26
|
+
|
27
|
+
compilation.dependencyFactories.set(ImportDependency, normalModuleFactory);
|
28
|
+
compilation.dependencyTemplates.set(ImportDependency, new ImportDependency.Template());
|
29
|
+
|
30
|
+
compilation.dependencyFactories.set(ImportEagerDependency, normalModuleFactory);
|
31
|
+
compilation.dependencyTemplates.set(ImportEagerDependency, new ImportEagerDependency.Template());
|
32
|
+
|
33
|
+
compilation.dependencyFactories.set(ImportWeakDependency, normalModuleFactory);
|
34
|
+
compilation.dependencyTemplates.set(ImportWeakDependency, new ImportWeakDependency.Template());
|
35
|
+
|
36
|
+
compilation.dependencyFactories.set(ImportEagerContextDependency, contextModuleFactory);
|
37
|
+
compilation.dependencyTemplates.set(ImportEagerContextDependency, new ImportEagerContextDependency.Template());
|
38
|
+
|
39
|
+
compilation.dependencyFactories.set(ImportWeakContextDependency, contextModuleFactory);
|
40
|
+
compilation.dependencyTemplates.set(ImportWeakContextDependency, new ImportWeakContextDependency.Template());
|
41
|
+
|
42
|
+
compilation.dependencyFactories.set(ImportLazyOnceContextDependency, contextModuleFactory);
|
43
|
+
compilation.dependencyTemplates.set(ImportLazyOnceContextDependency, new ImportLazyOnceContextDependency.Template());
|
44
|
+
|
45
|
+
compilation.dependencyFactories.set(ImportLazyContextDependency, contextModuleFactory);
|
46
|
+
compilation.dependencyTemplates.set(ImportLazyContextDependency, new ImportLazyContextDependency.Template());
|
47
|
+
|
48
|
+
normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
49
|
+
|
50
|
+
if(typeof parserOptions.import !== "undefined" && !parserOptions.import)
|
51
|
+
return;
|
52
|
+
|
53
|
+
parser.apply(
|
54
|
+
new ImportParserPlugin(options)
|
55
|
+
);
|
56
|
+
});
|
57
|
+
});
|
58
|
+
}
|
59
|
+
}
|
60
|
+
module.exports = ImportPlugin;
|
@@ -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 ImportContextDependency = require("./ImportContextDependency");
|
7
|
-
const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
|
8
|
-
|
9
|
-
class ImportWeakContextDependency extends ImportContextDependency {
|
10
|
-
constructor(request, recursive, regExp, range, valueRange, chunkName) {
|
11
|
-
super(request, recursive, regExp, range, valueRange, chunkName);
|
12
|
-
this.async = "async-weak";
|
13
|
-
}
|
14
|
-
|
15
|
-
get type() {
|
16
|
-
return "import() context weak";
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
ImportWeakContextDependency.Template = ContextDependencyTemplateAsRequireCall;
|
21
|
-
|
22
|
-
module.exports = ImportWeakContextDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ImportContextDependency = require("./ImportContextDependency");
|
7
|
+
const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
|
8
|
+
|
9
|
+
class ImportWeakContextDependency extends ImportContextDependency {
|
10
|
+
constructor(request, recursive, regExp, range, valueRange, chunkName) {
|
11
|
+
super(request, recursive, regExp, range, valueRange, chunkName);
|
12
|
+
this.async = "async-weak";
|
13
|
+
}
|
14
|
+
|
15
|
+
get type() {
|
16
|
+
return "import() context weak";
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
ImportWeakContextDependency.Template = ContextDependencyTemplateAsRequireCall;
|
21
|
+
|
22
|
+
module.exports = ImportWeakContextDependency;
|
@@ -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 LoaderDependency extends ModuleDependency {
|
9
|
-
constructor(request) {
|
10
|
-
super(request);
|
11
|
-
}
|
12
|
-
|
13
|
-
get type() {
|
14
|
-
return "loader";
|
15
|
-
}
|
16
|
-
}
|
17
|
-
|
18
|
-
module.exports = LoaderDependency;
|
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 LoaderDependency extends ModuleDependency {
|
9
|
+
constructor(request) {
|
10
|
+
super(request);
|
11
|
+
}
|
12
|
+
|
13
|
+
get type() {
|
14
|
+
return "loader";
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
module.exports = LoaderDependency;
|
@@ -1,60 +1,60 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const LoaderDependency = require("./LoaderDependency");
|
8
|
-
|
9
|
-
class LoaderPlugin {
|
10
|
-
|
11
|
-
apply(compiler) {
|
12
|
-
compiler.plugin("compilation", (compilation, params) => {
|
13
|
-
const normalModuleFactory = params.normalModuleFactory;
|
14
|
-
|
15
|
-
compilation.dependencyFactories.set(LoaderDependency, normalModuleFactory);
|
16
|
-
});
|
17
|
-
compiler.plugin("compilation", (compilation) => {
|
18
|
-
compilation.plugin("normal-module-loader", (loaderContext, module) => {
|
19
|
-
loaderContext.loadModule = function loadModule(request, callback) {
|
20
|
-
const dep = new LoaderDependency(request);
|
21
|
-
dep.loc = request;
|
22
|
-
compilation.addModuleDependencies(module, [
|
23
|
-
[dep]
|
24
|
-
], true, "lm", false, (err) => {
|
25
|
-
if(err) return callback(err);
|
26
|
-
|
27
|
-
if(!dep.module) return callback(new Error("Cannot load the module"));
|
28
|
-
if(dep.module.building) dep.module.building.push(next);
|
29
|
-
else next();
|
30
|
-
|
31
|
-
function next(err) {
|
32
|
-
if(err) return callback(err);
|
33
|
-
|
34
|
-
if(dep.module.error) return callback(dep.module.error);
|
35
|
-
if(!dep.module._source) throw new Error("The module created for a LoaderDependency must have a property _source");
|
36
|
-
let source, map;
|
37
|
-
const moduleSource = dep.module._source;
|
38
|
-
if(moduleSource.sourceAndMap) {
|
39
|
-
const sourceAndMap = moduleSource.sourceAndMap();
|
40
|
-
map = sourceAndMap.map;
|
41
|
-
source = sourceAndMap.source;
|
42
|
-
} else {
|
43
|
-
map = moduleSource.map();
|
44
|
-
source = moduleSource.source();
|
45
|
-
}
|
46
|
-
if(dep.module.fileDependencies) {
|
47
|
-
dep.module.fileDependencies.forEach((dep) => loaderContext.addDependency(dep));
|
48
|
-
}
|
49
|
-
if(dep.module.contextDependencies) {
|
50
|
-
dep.module.contextDependencies.forEach((dep) => loaderContext.addContextDependency(dep));
|
51
|
-
}
|
52
|
-
return callback(null, source, map, dep.module);
|
53
|
-
}
|
54
|
-
});
|
55
|
-
};
|
56
|
-
});
|
57
|
-
});
|
58
|
-
}
|
59
|
-
}
|
60
|
-
module.exports = LoaderPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const LoaderDependency = require("./LoaderDependency");
|
8
|
+
|
9
|
+
class LoaderPlugin {
|
10
|
+
|
11
|
+
apply(compiler) {
|
12
|
+
compiler.plugin("compilation", (compilation, params) => {
|
13
|
+
const normalModuleFactory = params.normalModuleFactory;
|
14
|
+
|
15
|
+
compilation.dependencyFactories.set(LoaderDependency, normalModuleFactory);
|
16
|
+
});
|
17
|
+
compiler.plugin("compilation", (compilation) => {
|
18
|
+
compilation.plugin("normal-module-loader", (loaderContext, module) => {
|
19
|
+
loaderContext.loadModule = function loadModule(request, callback) {
|
20
|
+
const dep = new LoaderDependency(request);
|
21
|
+
dep.loc = request;
|
22
|
+
compilation.addModuleDependencies(module, [
|
23
|
+
[dep]
|
24
|
+
], true, "lm", false, (err) => {
|
25
|
+
if(err) return callback(err);
|
26
|
+
|
27
|
+
if(!dep.module) return callback(new Error("Cannot load the module"));
|
28
|
+
if(dep.module.building) dep.module.building.push(next);
|
29
|
+
else next();
|
30
|
+
|
31
|
+
function next(err) {
|
32
|
+
if(err) return callback(err);
|
33
|
+
|
34
|
+
if(dep.module.error) return callback(dep.module.error);
|
35
|
+
if(!dep.module._source) throw new Error("The module created for a LoaderDependency must have a property _source");
|
36
|
+
let source, map;
|
37
|
+
const moduleSource = dep.module._source;
|
38
|
+
if(moduleSource.sourceAndMap) {
|
39
|
+
const sourceAndMap = moduleSource.sourceAndMap();
|
40
|
+
map = sourceAndMap.map;
|
41
|
+
source = sourceAndMap.source;
|
42
|
+
} else {
|
43
|
+
map = moduleSource.map();
|
44
|
+
source = moduleSource.source();
|
45
|
+
}
|
46
|
+
if(dep.module.fileDependencies) {
|
47
|
+
dep.module.fileDependencies.forEach((dep) => loaderContext.addDependency(dep));
|
48
|
+
}
|
49
|
+
if(dep.module.contextDependencies) {
|
50
|
+
dep.module.contextDependencies.forEach((dep) => loaderContext.addContextDependency(dep));
|
51
|
+
}
|
52
|
+
return callback(null, source, map, dep.module);
|
53
|
+
}
|
54
|
+
});
|
55
|
+
};
|
56
|
+
});
|
57
|
+
});
|
58
|
+
}
|
59
|
+
}
|
60
|
+
module.exports = LoaderPlugin;
|
@@ -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,24 +1,24 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const NullDependency = require("./NullDependency");
|
7
|
-
|
8
|
-
class LocalModuleDependency extends NullDependency {
|
9
|
-
constructor(localModule, range) {
|
10
|
-
super();
|
11
|
-
localModule.flagUsed();
|
12
|
-
this.localModule = localModule;
|
13
|
-
this.range = range;
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
LocalModuleDependency.Template = class LocalModuleDependencyTemplate {
|
18
|
-
apply(dep, source) {
|
19
|
-
if(!dep.range) return;
|
20
|
-
source.replace(dep.range[0], dep.range[1] - 1, dep.localModule.variableName());
|
21
|
-
}
|
22
|
-
};
|
23
|
-
|
24
|
-
module.exports = LocalModuleDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const NullDependency = require("./NullDependency");
|
7
|
+
|
8
|
+
class LocalModuleDependency extends NullDependency {
|
9
|
+
constructor(localModule, range) {
|
10
|
+
super();
|
11
|
+
localModule.flagUsed();
|
12
|
+
this.localModule = localModule;
|
13
|
+
this.range = range;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
LocalModuleDependency.Template = class LocalModuleDependencyTemplate {
|
18
|
+
apply(dep, source) {
|
19
|
+
if(!dep.range) return;
|
20
|
+
source.replace(dep.range[0], dep.range[1] - 1, dep.localModule.variableName());
|
21
|
+
}
|
22
|
+
};
|
23
|
+
|
24
|
+
module.exports = LocalModuleDependency;
|