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,26 +1,26 @@
|
|
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 RequireHeaderDependency extends NullDependency {
|
9
|
-
constructor(range) {
|
10
|
-
super();
|
11
|
-
if(!Array.isArray(range)) throw new Error("range must be valid");
|
12
|
-
this.range = range;
|
13
|
-
}
|
14
|
-
}
|
15
|
-
|
16
|
-
RequireHeaderDependency.Template = class RequireHeaderDependencyTemplate {
|
17
|
-
apply(dep, source) {
|
18
|
-
source.replace(dep.range[0], dep.range[1] - 1, "__webpack_require__");
|
19
|
-
}
|
20
|
-
|
21
|
-
applyAsTemplateArgument(name, dep, source) {
|
22
|
-
source.replace(dep.range[0], dep.range[1] - 1, "require");
|
23
|
-
}
|
24
|
-
};
|
25
|
-
|
26
|
-
module.exports = RequireHeaderDependency;
|
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 RequireHeaderDependency extends NullDependency {
|
9
|
+
constructor(range) {
|
10
|
+
super();
|
11
|
+
if(!Array.isArray(range)) throw new Error("range must be valid");
|
12
|
+
this.range = range;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
RequireHeaderDependency.Template = class RequireHeaderDependencyTemplate {
|
17
|
+
apply(dep, source) {
|
18
|
+
source.replace(dep.range[0], dep.range[1] - 1, "__webpack_require__");
|
19
|
+
}
|
20
|
+
|
21
|
+
applyAsTemplateArgument(name, dep, source) {
|
22
|
+
source.replace(dep.range[0], dep.range[1] - 1, "require");
|
23
|
+
}
|
24
|
+
};
|
25
|
+
|
26
|
+
module.exports = RequireHeaderDependency;
|
@@ -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
|
-
|
7
|
-
const RequireIncludeDependency = require("./RequireIncludeDependency");
|
8
|
-
|
9
|
-
module.exports = class RequireIncludeDependencyParserPlugin {
|
10
|
-
apply(parser) {
|
11
|
-
parser.plugin("call require.include", expr => {
|
12
|
-
if(expr.arguments.length !== 1) return;
|
13
|
-
const param = parser.evaluateExpression(expr.arguments[0]);
|
14
|
-
if(!param.isString()) return;
|
15
|
-
const dep = new RequireIncludeDependency(param.string, expr.range);
|
16
|
-
dep.loc = expr.loc;
|
17
|
-
parser.state.current.addDependency(dep);
|
18
|
-
return true;
|
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 RequireIncludeDependency = require("./RequireIncludeDependency");
|
8
|
+
|
9
|
+
module.exports = class RequireIncludeDependencyParserPlugin {
|
10
|
+
apply(parser) {
|
11
|
+
parser.plugin("call require.include", expr => {
|
12
|
+
if(expr.arguments.length !== 1) return;
|
13
|
+
const param = parser.evaluateExpression(expr.arguments[0]);
|
14
|
+
if(!param.isString()) return;
|
15
|
+
const dep = new RequireIncludeDependency(param.string, expr.range);
|
16
|
+
dep.loc = expr.loc;
|
17
|
+
parser.state.current.addDependency(dep);
|
18
|
+
return true;
|
19
|
+
});
|
20
|
+
}
|
21
|
+
};
|
@@ -1,33 +1,33 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const RequireIncludeDependency = require("./RequireIncludeDependency");
|
8
|
-
const RequireIncludeDependencyParserPlugin = require("./RequireIncludeDependencyParserPlugin");
|
9
|
-
|
10
|
-
const ParserHelpers = require("../ParserHelpers");
|
11
|
-
|
12
|
-
class RequireIncludePlugin {
|
13
|
-
|
14
|
-
apply(compiler) {
|
15
|
-
compiler.plugin("compilation", (compilation, params) => {
|
16
|
-
const normalModuleFactory = params.normalModuleFactory;
|
17
|
-
|
18
|
-
compilation.dependencyFactories.set(RequireIncludeDependency, normalModuleFactory);
|
19
|
-
compilation.dependencyTemplates.set(RequireIncludeDependency, new RequireIncludeDependency.Template());
|
20
|
-
|
21
|
-
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
22
|
-
|
23
|
-
if(typeof parserOptions.requireInclude !== "undefined" && !parserOptions.requireInclude)
|
24
|
-
return;
|
25
|
-
|
26
|
-
parser.apply(new RequireIncludeDependencyParserPlugin());
|
27
|
-
parser.plugin("evaluate typeof require.include", ParserHelpers.evaluateToString("function"));
|
28
|
-
parser.plugin("typeof require.include", ParserHelpers.toConstantDependency(JSON.stringify("function")));
|
29
|
-
});
|
30
|
-
});
|
31
|
-
}
|
32
|
-
}
|
33
|
-
module.exports = RequireIncludePlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const RequireIncludeDependency = require("./RequireIncludeDependency");
|
8
|
+
const RequireIncludeDependencyParserPlugin = require("./RequireIncludeDependencyParserPlugin");
|
9
|
+
|
10
|
+
const ParserHelpers = require("../ParserHelpers");
|
11
|
+
|
12
|
+
class RequireIncludePlugin {
|
13
|
+
|
14
|
+
apply(compiler) {
|
15
|
+
compiler.plugin("compilation", (compilation, params) => {
|
16
|
+
const normalModuleFactory = params.normalModuleFactory;
|
17
|
+
|
18
|
+
compilation.dependencyFactories.set(RequireIncludeDependency, normalModuleFactory);
|
19
|
+
compilation.dependencyTemplates.set(RequireIncludeDependency, new RequireIncludeDependency.Template());
|
20
|
+
|
21
|
+
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
22
|
+
|
23
|
+
if(typeof parserOptions.requireInclude !== "undefined" && !parserOptions.requireInclude)
|
24
|
+
return;
|
25
|
+
|
26
|
+
parser.apply(new RequireIncludeDependencyParserPlugin());
|
27
|
+
parser.plugin("evaluate typeof require.include", ParserHelpers.evaluateToString("function"));
|
28
|
+
parser.plugin("typeof require.include", ParserHelpers.toConstantDependency(JSON.stringify("function")));
|
29
|
+
});
|
30
|
+
});
|
31
|
+
}
|
32
|
+
}
|
33
|
+
module.exports = RequireIncludePlugin;
|
@@ -4,7 +4,6 @@
|
|
4
4
|
*/
|
5
5
|
"use strict";
|
6
6
|
const ContextDependency = require("./ContextDependency");
|
7
|
-
const CriticalDependencyWarning = require("./CriticalDependencyWarning");
|
8
7
|
const ContextDependencyTemplateAsId = require("./ContextDependencyTemplateAsId");
|
9
8
|
|
10
9
|
class RequireResolveContextDependency extends ContextDependency {
|
@@ -18,15 +17,6 @@ class RequireResolveContextDependency extends ContextDependency {
|
|
18
17
|
return "amd require context";
|
19
18
|
}
|
20
19
|
|
21
|
-
getWarnings() {
|
22
|
-
if(!this.critical) {
|
23
|
-
return;
|
24
|
-
}
|
25
|
-
|
26
|
-
return [
|
27
|
-
new CriticalDependencyWarning(this.critical)
|
28
|
-
];
|
29
|
-
}
|
30
20
|
}
|
31
21
|
|
32
22
|
RequireResolveContextDependency.Template = ContextDependencyTemplateAsId;
|
@@ -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,71 +1,71 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const RequireResolveDependency = require("./RequireResolveDependency");
|
8
|
-
const RequireResolveContextDependency = require("./RequireResolveContextDependency");
|
9
|
-
const RequireResolveHeaderDependency = require("./RequireResolveHeaderDependency");
|
10
|
-
const ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
11
|
-
|
12
|
-
class RequireResolveDependencyParserPlugin {
|
13
|
-
constructor(options) {
|
14
|
-
this.options = options;
|
15
|
-
}
|
16
|
-
|
17
|
-
apply(parser) {
|
18
|
-
const options = this.options;
|
19
|
-
parser.plugin("call require.resolve", (expr) => {
|
20
|
-
return parser.applyPluginsBailResult("call require.resolve(Weak)", expr, false);
|
21
|
-
});
|
22
|
-
parser.plugin("call require.resolveWeak", (expr) => {
|
23
|
-
return parser.applyPluginsBailResult("call require.resolve(Weak)", expr, true);
|
24
|
-
});
|
25
|
-
parser.plugin("call require.resolve(Weak)", (expr, weak) => {
|
26
|
-
if(expr.arguments.length !== 1) return;
|
27
|
-
const param = parser.evaluateExpression(expr.arguments[0]);
|
28
|
-
if(param.isConditional()) {
|
29
|
-
param.options.forEach((option) => {
|
30
|
-
const result = parser.applyPluginsBailResult("call require.resolve(Weak):item", expr, option, weak);
|
31
|
-
if(result === undefined) {
|
32
|
-
parser.applyPluginsBailResult("call require.resolve(Weak):context", expr, option, weak);
|
33
|
-
}
|
34
|
-
});
|
35
|
-
const dep = new RequireResolveHeaderDependency(expr.callee.range);
|
36
|
-
dep.loc = expr.loc;
|
37
|
-
parser.state.current.addDependency(dep);
|
38
|
-
return true;
|
39
|
-
} else {
|
40
|
-
const result = parser.applyPluginsBailResult("call require.resolve(Weak):item", expr, param, weak);
|
41
|
-
if(result === undefined) {
|
42
|
-
parser.applyPluginsBailResult("call require.resolve(Weak):context", expr, param, weak);
|
43
|
-
}
|
44
|
-
const dep = new RequireResolveHeaderDependency(expr.callee.range);
|
45
|
-
dep.loc = expr.loc;
|
46
|
-
parser.state.current.addDependency(dep);
|
47
|
-
return true;
|
48
|
-
}
|
49
|
-
});
|
50
|
-
parser.plugin("call require.resolve(Weak):item", (expr, param, weak) => {
|
51
|
-
if(param.isString()) {
|
52
|
-
const dep = new RequireResolveDependency(param.string, param.range);
|
53
|
-
dep.loc = expr.loc;
|
54
|
-
dep.optional = !!parser.scope.inTry;
|
55
|
-
dep.weak = weak;
|
56
|
-
parser.state.current.addDependency(dep);
|
57
|
-
return true;
|
58
|
-
}
|
59
|
-
});
|
60
|
-
parser.plugin("call require.resolve(Weak):context", (expr, param, weak) => {
|
61
|
-
const dep = ContextDependencyHelpers.create(RequireResolveContextDependency, param.range, param, expr, options);
|
62
|
-
if(!dep) return;
|
63
|
-
dep.loc = expr.loc;
|
64
|
-
dep.optional = !!parser.scope.inTry;
|
65
|
-
dep.async = weak ? "weak" : false;
|
66
|
-
parser.state.current.addDependency(dep);
|
67
|
-
return true;
|
68
|
-
});
|
69
|
-
}
|
70
|
-
}
|
71
|
-
module.exports = RequireResolveDependencyParserPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const RequireResolveDependency = require("./RequireResolveDependency");
|
8
|
+
const RequireResolveContextDependency = require("./RequireResolveContextDependency");
|
9
|
+
const RequireResolveHeaderDependency = require("./RequireResolveHeaderDependency");
|
10
|
+
const ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
11
|
+
|
12
|
+
class RequireResolveDependencyParserPlugin {
|
13
|
+
constructor(options) {
|
14
|
+
this.options = options;
|
15
|
+
}
|
16
|
+
|
17
|
+
apply(parser) {
|
18
|
+
const options = this.options;
|
19
|
+
parser.plugin("call require.resolve", (expr) => {
|
20
|
+
return parser.applyPluginsBailResult("call require.resolve(Weak)", expr, false);
|
21
|
+
});
|
22
|
+
parser.plugin("call require.resolveWeak", (expr) => {
|
23
|
+
return parser.applyPluginsBailResult("call require.resolve(Weak)", expr, true);
|
24
|
+
});
|
25
|
+
parser.plugin("call require.resolve(Weak)", (expr, weak) => {
|
26
|
+
if(expr.arguments.length !== 1) return;
|
27
|
+
const param = parser.evaluateExpression(expr.arguments[0]);
|
28
|
+
if(param.isConditional()) {
|
29
|
+
param.options.forEach((option) => {
|
30
|
+
const result = parser.applyPluginsBailResult("call require.resolve(Weak):item", expr, option, weak);
|
31
|
+
if(result === undefined) {
|
32
|
+
parser.applyPluginsBailResult("call require.resolve(Weak):context", expr, option, weak);
|
33
|
+
}
|
34
|
+
});
|
35
|
+
const dep = new RequireResolveHeaderDependency(expr.callee.range);
|
36
|
+
dep.loc = expr.loc;
|
37
|
+
parser.state.current.addDependency(dep);
|
38
|
+
return true;
|
39
|
+
} else {
|
40
|
+
const result = parser.applyPluginsBailResult("call require.resolve(Weak):item", expr, param, weak);
|
41
|
+
if(result === undefined) {
|
42
|
+
parser.applyPluginsBailResult("call require.resolve(Weak):context", expr, param, weak);
|
43
|
+
}
|
44
|
+
const dep = new RequireResolveHeaderDependency(expr.callee.range);
|
45
|
+
dep.loc = expr.loc;
|
46
|
+
parser.state.current.addDependency(dep);
|
47
|
+
return true;
|
48
|
+
}
|
49
|
+
});
|
50
|
+
parser.plugin("call require.resolve(Weak):item", (expr, param, weak) => {
|
51
|
+
if(param.isString()) {
|
52
|
+
const dep = new RequireResolveDependency(param.string, param.range);
|
53
|
+
dep.loc = expr.loc;
|
54
|
+
dep.optional = !!parser.scope.inTry;
|
55
|
+
dep.weak = weak;
|
56
|
+
parser.state.current.addDependency(dep);
|
57
|
+
return true;
|
58
|
+
}
|
59
|
+
});
|
60
|
+
parser.plugin("call require.resolve(Weak):context", (expr, param, weak) => {
|
61
|
+
const dep = ContextDependencyHelpers.create(RequireResolveContextDependency, param.range, param, expr, options);
|
62
|
+
if(!dep) return;
|
63
|
+
dep.loc = expr.loc;
|
64
|
+
dep.optional = !!parser.scope.inTry;
|
65
|
+
dep.async = weak ? "weak" : false;
|
66
|
+
parser.state.current.addDependency(dep);
|
67
|
+
return true;
|
68
|
+
});
|
69
|
+
}
|
70
|
+
}
|
71
|
+
module.exports = RequireResolveDependencyParserPlugin;
|
@@ -1,26 +1,26 @@
|
|
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 RequireResolveHeaderDependency extends NullDependency {
|
9
|
-
constructor(range) {
|
10
|
-
super();
|
11
|
-
if(!Array.isArray(range)) throw new Error("range must be valid");
|
12
|
-
this.range = range;
|
13
|
-
}
|
14
|
-
}
|
15
|
-
|
16
|
-
RequireResolveHeaderDependency.Template = class RequireResolveHeaderDependencyTemplate {
|
17
|
-
apply(dep, source) {
|
18
|
-
source.replace(dep.range[0], dep.range[1] - 1, "/*require.resolve*/");
|
19
|
-
}
|
20
|
-
|
21
|
-
applyAsTemplateArgument(name, dep, source) {
|
22
|
-
source.replace(dep.range[0], dep.range[1] - 1, "/*require.resolve*/");
|
23
|
-
}
|
24
|
-
};
|
25
|
-
|
26
|
-
module.exports = RequireResolveHeaderDependency;
|
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 RequireResolveHeaderDependency extends NullDependency {
|
9
|
+
constructor(range) {
|
10
|
+
super();
|
11
|
+
if(!Array.isArray(range)) throw new Error("range must be valid");
|
12
|
+
this.range = range;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
RequireResolveHeaderDependency.Template = class RequireResolveHeaderDependencyTemplate {
|
17
|
+
apply(dep, source) {
|
18
|
+
source.replace(dep.range[0], dep.range[1] - 1, "/*require.resolve*/");
|
19
|
+
}
|
20
|
+
|
21
|
+
applyAsTemplateArgument(name, dep, source) {
|
22
|
+
source.replace(dep.range[0], dep.range[1] - 1, "/*require.resolve*/");
|
23
|
+
}
|
24
|
+
};
|
25
|
+
|
26
|
+
module.exports = RequireResolveHeaderDependency;
|
@@ -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 SingleEntryDependency extends ModuleDependency {
|
9
|
-
constructor(request) {
|
10
|
-
super(request);
|
11
|
-
}
|
12
|
-
|
13
|
-
get type() {
|
14
|
-
return "single entry";
|
15
|
-
}
|
16
|
-
}
|
17
|
-
|
18
|
-
module.exports = SingleEntryDependency;
|
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 SingleEntryDependency extends ModuleDependency {
|
9
|
+
constructor(request) {
|
10
|
+
super(request);
|
11
|
+
}
|
12
|
+
|
13
|
+
get type() {
|
14
|
+
return "single entry";
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
module.exports = SingleEntryDependency;
|
@@ -1,44 +1,44 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ParserHelpers = require("../ParserHelpers");
|
7
|
-
|
8
|
-
class SystemPlugin {
|
9
|
-
constructor(options) {
|
10
|
-
this.options = options;
|
11
|
-
}
|
12
|
-
|
13
|
-
apply(compiler) {
|
14
|
-
compiler.plugin("compilation", (compilation, params) => {
|
15
|
-
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
16
|
-
|
17
|
-
if(typeof parserOptions.system !== "undefined" && !parserOptions.system)
|
18
|
-
return;
|
19
|
-
|
20
|
-
function setNotSupported(name) {
|
21
|
-
parser.plugin("evaluate typeof " + name, ParserHelpers.evaluateToString("undefined"));
|
22
|
-
parser.plugin("expression " + name,
|
23
|
-
ParserHelpers.expressionIsUnsupported(name + " is not supported by webpack.")
|
24
|
-
);
|
25
|
-
}
|
26
|
-
|
27
|
-
parser.plugin("typeof System.import", ParserHelpers.toConstantDependency(JSON.stringify("function")));
|
28
|
-
parser.plugin("evaluate typeof System.import", ParserHelpers.evaluateToString("function"));
|
29
|
-
parser.plugin("typeof System", ParserHelpers.toConstantDependency(JSON.stringify("object")));
|
30
|
-
parser.plugin("evaluate typeof System", ParserHelpers.evaluateToString("object"));
|
31
|
-
|
32
|
-
setNotSupported("System.set");
|
33
|
-
setNotSupported("System.get");
|
34
|
-
setNotSupported("System.register");
|
35
|
-
parser.plugin("expression System", function() {
|
36
|
-
const systemPolyfillRequire = ParserHelpers.requireFileAsExpression(
|
37
|
-
this.state.module.context, require.resolve("../../buildin/system.js"));
|
38
|
-
return ParserHelpers.addParsedVariableToModule(this, "System", systemPolyfillRequire);
|
39
|
-
});
|
40
|
-
});
|
41
|
-
});
|
42
|
-
}
|
43
|
-
}
|
44
|
-
module.exports = SystemPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ParserHelpers = require("../ParserHelpers");
|
7
|
+
|
8
|
+
class SystemPlugin {
|
9
|
+
constructor(options) {
|
10
|
+
this.options = options;
|
11
|
+
}
|
12
|
+
|
13
|
+
apply(compiler) {
|
14
|
+
compiler.plugin("compilation", (compilation, params) => {
|
15
|
+
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
16
|
+
|
17
|
+
if(typeof parserOptions.system !== "undefined" && !parserOptions.system)
|
18
|
+
return;
|
19
|
+
|
20
|
+
function setNotSupported(name) {
|
21
|
+
parser.plugin("evaluate typeof " + name, ParserHelpers.evaluateToString("undefined"));
|
22
|
+
parser.plugin("expression " + name,
|
23
|
+
ParserHelpers.expressionIsUnsupported(name + " is not supported by webpack.")
|
24
|
+
);
|
25
|
+
}
|
26
|
+
|
27
|
+
parser.plugin("typeof System.import", ParserHelpers.toConstantDependency(JSON.stringify("function")));
|
28
|
+
parser.plugin("evaluate typeof System.import", ParserHelpers.evaluateToString("function"));
|
29
|
+
parser.plugin("typeof System", ParserHelpers.toConstantDependency(JSON.stringify("object")));
|
30
|
+
parser.plugin("evaluate typeof System", ParserHelpers.evaluateToString("object"));
|
31
|
+
|
32
|
+
setNotSupported("System.set");
|
33
|
+
setNotSupported("System.get");
|
34
|
+
setNotSupported("System.register");
|
35
|
+
parser.plugin("expression System", function() {
|
36
|
+
const systemPolyfillRequire = ParserHelpers.requireFileAsExpression(
|
37
|
+
this.state.module.context, require.resolve("../../buildin/system.js"));
|
38
|
+
return ParserHelpers.addParsedVariableToModule(this, "System", systemPolyfillRequire);
|
39
|
+
});
|
40
|
+
});
|
41
|
+
});
|
42
|
+
}
|
43
|
+
}
|
44
|
+
module.exports = SystemPlugin;
|
@@ -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 NullDependency = require("./NullDependency");
|
7
|
-
const webpackMissingModule = require("./WebpackMissingModule").module;
|
8
|
-
|
9
|
-
class UnsupportedDependency extends NullDependency {
|
10
|
-
constructor(request, range) {
|
11
|
-
super();
|
12
|
-
this.request = request;
|
13
|
-
this.range = range;
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
UnsupportedDependency.Template = class UnsupportedDependencyTemplate {
|
18
|
-
apply(dep, source, outputOptions, requestShortener) {
|
19
|
-
source.replace(dep.range[0], dep.range[1], webpackMissingModule(dep.request));
|
20
|
-
}
|
21
|
-
};
|
22
|
-
|
23
|
-
module.exports = UnsupportedDependency;
|
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
|
+
const webpackMissingModule = require("./WebpackMissingModule").module;
|
8
|
+
|
9
|
+
class UnsupportedDependency extends NullDependency {
|
10
|
+
constructor(request, range) {
|
11
|
+
super();
|
12
|
+
this.request = request;
|
13
|
+
this.range = range;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
UnsupportedDependency.Template = class UnsupportedDependencyTemplate {
|
18
|
+
apply(dep, source, outputOptions, requestShortener) {
|
19
|
+
source.replace(dep.range[0], dep.range[1], webpackMissingModule(dep.request));
|
20
|
+
}
|
21
|
+
};
|
22
|
+
|
23
|
+
module.exports = UnsupportedDependency;
|
@@ -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 toErrorCode = err => `var e = new Error(${JSON.stringify(err)}); e.code = 'MODULE_NOT_FOUND';`;
|
7
|
-
|
8
|
-
exports.module = request => `!(function webpackMissingModule() { ${exports.moduleCode(request)} }())`;
|
9
|
-
|
10
|
-
exports.promise = (request) => {
|
11
|
-
const errorCode = toErrorCode(`Cannot find module "${request}"`);
|
12
|
-
return `Promise.reject(function webpackMissingModule() { ${errorCode}; return e; }())`;
|
13
|
-
};
|
14
|
-
|
15
|
-
exports.moduleCode = (request) => {
|
16
|
-
const errorCode = toErrorCode(`Cannot find module "${request}"`);
|
17
|
-
return `${errorCode} throw e;`;
|
18
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const toErrorCode = err => `var e = new Error(${JSON.stringify(err)}); e.code = 'MODULE_NOT_FOUND';`;
|
7
|
+
|
8
|
+
exports.module = request => `!(function webpackMissingModule() { ${exports.moduleCode(request)} }())`;
|
9
|
+
|
10
|
+
exports.promise = (request) => {
|
11
|
+
const errorCode = toErrorCode(`Cannot find module "${request}"`);
|
12
|
+
return `Promise.reject(function webpackMissingModule() { ${errorCode}; return e; }())`;
|
13
|
+
};
|
14
|
+
|
15
|
+
exports.moduleCode = (request) => {
|
16
|
+
const errorCode = toErrorCode(`Cannot find module "${request}"`);
|
17
|
+
return `${errorCode} throw e;`;
|
18
|
+
};
|