webpack 3.8.1 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -20
- package/README.md +721 -716
- package/bin/webpack.js +12 -8
- 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 +52 -51
- package/lib/APIPlugin.js +45 -45
- package/lib/AsyncDependenciesBlock.js +43 -43
- package/lib/AutomaticPrefetchPlugin.js +36 -36
- package/lib/BannerPlugin.js +4 -2
- package/lib/BasicEvaluatedExpression.js +203 -203
- package/lib/CaseSensitiveModulesWarning.js +49 -49
- package/lib/Chunk.js +2 -2
- package/lib/ChunkRenderError.js +24 -24
- package/lib/ChunkTemplate.js +36 -36
- package/lib/CompatibilityPlugin.js +57 -57
- package/lib/Compilation.js +81 -92
- package/lib/Compiler.js +519 -523
- package/lib/ConstPlugin.js +60 -60
- package/lib/ContextModule.js +431 -431
- package/lib/ContextReplacementPlugin.js +111 -111
- package/lib/DefinePlugin.js +123 -123
- package/lib/DelegatedModule.js +98 -98
- 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 +60 -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/ExternalModuleFactoryPlugin.js +91 -91
- package/lib/ExternalsPlugin.js +21 -21
- package/lib/FlagDependencyExportsPlugin.js +101 -101
- package/lib/FlagDependencyUsagePlugin.js +1 -1
- package/lib/FunctionModulePlugin.js +24 -24
- package/lib/HashedModuleIdsPlugin.js +42 -42
- package/lib/HotModuleReplacementPlugin.js +5 -5
- 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/JsonpMainTemplatePlugin.js +4 -3
- 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/MainTemplate.js +3 -1
- 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/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/NormalModuleFactory.js +3 -1
- package/lib/NormalModuleReplacementPlugin.js +45 -45
- package/lib/NullFactory.js +12 -12
- package/lib/OptionsApply.js +10 -10
- package/lib/OptionsDefaulter.js +2 -2
- package/lib/Parser.js +79 -0
- 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/SourceMapDevToolPlugin.js +3 -3
- package/lib/Stats.js +4 -2
- package/lib/TemplatedPathPlugin.js +6 -2
- 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 +130 -129
- package/lib/WebpackOptionsValidationError.js +219 -196
- package/lib/compareLocations.js +36 -36
- package/lib/dependencies/AMDDefineDependency.js +142 -142
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +18 -6
- package/lib/dependencies/AMDPlugin.js +119 -119
- 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/CommonJsRequireDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +89 -89
- package/lib/dependencies/ConstDependency.js +32 -32
- 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/HarmonyDetectionParserPlugin.js +2 -2
- package/lib/dependencies/HarmonyExportHeaderDependency.js +28 -28
- package/lib/dependencies/HarmonyImportDependency.js +1 -1
- 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/RequireIncludeDependency.js +8 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +21 -21
- package/lib/dependencies/RequireIncludePlugin.js +33 -33
- 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 +17 -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/ConcatenatedModule.js +17 -6
- 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/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/webworker/WebWorkerChunkTemplatePlugin.js +29 -29
- package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +28 -28
- package/lib/webworker/WebWorkerMainTemplate.runtime.js +58 -58
- package/lib/webworker/WebWorkerMainTemplatePlugin.js +2 -2
- package/lib/webworker/WebWorkerTemplatePlugin.js +20 -20
- package/package.json +25 -16
- package/schemas/ajv.absolutePath.js +29 -29
- package/schemas/webpackOptionsSchema.json +405 -76
@@ -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
|
+
};
|
@@ -1,44 +1,44 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
module.exports = function(expr) {
|
6
|
-
// <FunctionExpression>
|
7
|
-
if(expr.type === "FunctionExpression" || expr.type === "ArrowFunctionExpression") {
|
8
|
-
return {
|
9
|
-
fn: expr,
|
10
|
-
expressions: [],
|
11
|
-
needThis: false
|
12
|
-
};
|
13
|
-
}
|
14
|
-
|
15
|
-
// <FunctionExpression>.bind(<Expression>)
|
16
|
-
if(expr.type === "CallExpression" &&
|
17
|
-
expr.callee.type === "MemberExpression" &&
|
18
|
-
expr.callee.object.type === "FunctionExpression" &&
|
19
|
-
expr.callee.property.type === "Identifier" &&
|
20
|
-
expr.callee.property.name === "bind" &&
|
21
|
-
expr.arguments.length === 1) {
|
22
|
-
return {
|
23
|
-
fn: expr.callee.object,
|
24
|
-
expressions: [expr.arguments[0]]
|
25
|
-
};
|
26
|
-
}
|
27
|
-
// (function(_this) {return <FunctionExpression>})(this) (Coffeescript)
|
28
|
-
if(expr.type === "CallExpression" &&
|
29
|
-
expr.callee.type === "FunctionExpression" &&
|
30
|
-
expr.callee.body.type === "BlockStatement" &&
|
31
|
-
expr.arguments.length === 1 &&
|
32
|
-
expr.arguments[0].type === "ThisExpression" &&
|
33
|
-
expr.callee.body.body &&
|
34
|
-
expr.callee.body.body.length === 1 &&
|
35
|
-
expr.callee.body.body[0].type === "ReturnStatement" &&
|
36
|
-
expr.callee.body.body[0].argument &&
|
37
|
-
expr.callee.body.body[0].argument.type === "FunctionExpression") {
|
38
|
-
return {
|
39
|
-
fn: expr.callee.body.body[0].argument,
|
40
|
-
expressions: [],
|
41
|
-
needThis: true
|
42
|
-
};
|
43
|
-
}
|
44
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
module.exports = function(expr) {
|
6
|
+
// <FunctionExpression>
|
7
|
+
if(expr.type === "FunctionExpression" || expr.type === "ArrowFunctionExpression") {
|
8
|
+
return {
|
9
|
+
fn: expr,
|
10
|
+
expressions: [],
|
11
|
+
needThis: false
|
12
|
+
};
|
13
|
+
}
|
14
|
+
|
15
|
+
// <FunctionExpression>.bind(<Expression>)
|
16
|
+
if(expr.type === "CallExpression" &&
|
17
|
+
expr.callee.type === "MemberExpression" &&
|
18
|
+
expr.callee.object.type === "FunctionExpression" &&
|
19
|
+
expr.callee.property.type === "Identifier" &&
|
20
|
+
expr.callee.property.name === "bind" &&
|
21
|
+
expr.arguments.length === 1) {
|
22
|
+
return {
|
23
|
+
fn: expr.callee.object,
|
24
|
+
expressions: [expr.arguments[0]]
|
25
|
+
};
|
26
|
+
}
|
27
|
+
// (function(_this) {return <FunctionExpression>})(this) (Coffeescript)
|
28
|
+
if(expr.type === "CallExpression" &&
|
29
|
+
expr.callee.type === "FunctionExpression" &&
|
30
|
+
expr.callee.body.type === "BlockStatement" &&
|
31
|
+
expr.arguments.length === 1 &&
|
32
|
+
expr.arguments[0].type === "ThisExpression" &&
|
33
|
+
expr.callee.body.body &&
|
34
|
+
expr.callee.body.body.length === 1 &&
|
35
|
+
expr.callee.body.body[0].type === "ReturnStatement" &&
|
36
|
+
expr.callee.body.body[0].argument &&
|
37
|
+
expr.callee.body.body[0].argument.type === "FunctionExpression") {
|
38
|
+
return {
|
39
|
+
fn: expr.callee.body.body[0].argument,
|
40
|
+
expressions: [],
|
41
|
+
needThis: true
|
42
|
+
};
|
43
|
+
}
|
44
|
+
};
|
package/lib/formatLocation.js
CHANGED
@@ -1,54 +1,54 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
|
6
|
-
"use strict";
|
7
|
-
|
8
|
-
const formatPosition = (pos) => {
|
9
|
-
if(pos === null)
|
10
|
-
return "";
|
11
|
-
const typeOfPos = typeof pos;
|
12
|
-
switch(typeOfPos) {
|
13
|
-
case "string":
|
14
|
-
return pos;
|
15
|
-
case "number":
|
16
|
-
return `${pos}`;
|
17
|
-
case "object":
|
18
|
-
if(typeof pos.line === "number" && typeof pos.column === "number")
|
19
|
-
return `${pos.line}:${pos.column}`;
|
20
|
-
else if(typeof pos.line === "number")
|
21
|
-
return `${pos.line}:?`;
|
22
|
-
else if(typeof pos.index === "number")
|
23
|
-
return `+${pos.index}`;
|
24
|
-
else
|
25
|
-
return "";
|
26
|
-
default:
|
27
|
-
return "";
|
28
|
-
}
|
29
|
-
};
|
30
|
-
|
31
|
-
const formatLocation = (loc) => {
|
32
|
-
if(loc === null)
|
33
|
-
return "";
|
34
|
-
const typeOfLoc = typeof loc;
|
35
|
-
switch(typeOfLoc) {
|
36
|
-
case "string":
|
37
|
-
return loc;
|
38
|
-
case "number":
|
39
|
-
return `${loc}`;
|
40
|
-
case "object":
|
41
|
-
if(loc.start && loc.end) {
|
42
|
-
if(typeof loc.start.line === "number" && typeof loc.end.line === "number" && typeof loc.end.column === "number" && loc.start.line === loc.end.line)
|
43
|
-
return `${formatPosition(loc.start)}-${loc.end.column}`;
|
44
|
-
return `${formatPosition(loc.start)}-${formatPosition(loc.end)}`;
|
45
|
-
}
|
46
|
-
if(loc.start)
|
47
|
-
return formatPosition(loc.start);
|
48
|
-
return formatPosition(loc);
|
49
|
-
default:
|
50
|
-
return "";
|
51
|
-
}
|
52
|
-
};
|
53
|
-
|
54
|
-
module.exports = formatLocation;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
const formatPosition = (pos) => {
|
9
|
+
if(pos === null)
|
10
|
+
return "";
|
11
|
+
const typeOfPos = typeof pos;
|
12
|
+
switch(typeOfPos) {
|
13
|
+
case "string":
|
14
|
+
return pos;
|
15
|
+
case "number":
|
16
|
+
return `${pos}`;
|
17
|
+
case "object":
|
18
|
+
if(typeof pos.line === "number" && typeof pos.column === "number")
|
19
|
+
return `${pos.line}:${pos.column}`;
|
20
|
+
else if(typeof pos.line === "number")
|
21
|
+
return `${pos.line}:?`;
|
22
|
+
else if(typeof pos.index === "number")
|
23
|
+
return `+${pos.index}`;
|
24
|
+
else
|
25
|
+
return "";
|
26
|
+
default:
|
27
|
+
return "";
|
28
|
+
}
|
29
|
+
};
|
30
|
+
|
31
|
+
const formatLocation = (loc) => {
|
32
|
+
if(loc === null)
|
33
|
+
return "";
|
34
|
+
const typeOfLoc = typeof loc;
|
35
|
+
switch(typeOfLoc) {
|
36
|
+
case "string":
|
37
|
+
return loc;
|
38
|
+
case "number":
|
39
|
+
return `${loc}`;
|
40
|
+
case "object":
|
41
|
+
if(loc.start && loc.end) {
|
42
|
+
if(typeof loc.start.line === "number" && typeof loc.end.line === "number" && typeof loc.end.column === "number" && loc.start.line === loc.end.line)
|
43
|
+
return `${formatPosition(loc.start)}-${loc.end.column}`;
|
44
|
+
return `${formatPosition(loc.start)}-${formatPosition(loc.end)}`;
|
45
|
+
}
|
46
|
+
if(loc.start)
|
47
|
+
return formatPosition(loc.start);
|
48
|
+
return formatPosition(loc);
|
49
|
+
default:
|
50
|
+
return "";
|
51
|
+
}
|
52
|
+
};
|
53
|
+
|
54
|
+
module.exports = formatLocation;
|
@@ -1,27 +1,27 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
|
6
|
-
"use strict";
|
7
|
-
|
8
|
-
const ConcatSource = require("webpack-sources").ConcatSource;
|
9
|
-
|
10
|
-
class NodeChunkTemplatePlugin {
|
11
|
-
|
12
|
-
apply(chunkTemplate) {
|
13
|
-
chunkTemplate.plugin("render", function(modules, chunk) {
|
14
|
-
const source = new ConcatSource();
|
15
|
-
source.add(`exports.ids = ${JSON.stringify(chunk.ids)};\nexports.modules = `);
|
16
|
-
source.add(modules);
|
17
|
-
source.add(";");
|
18
|
-
return source;
|
19
|
-
});
|
20
|
-
chunkTemplate.plugin("hash", function(hash) {
|
21
|
-
hash.update("node");
|
22
|
-
hash.update("3");
|
23
|
-
});
|
24
|
-
}
|
25
|
-
}
|
26
|
-
|
27
|
-
module.exports = NodeChunkTemplatePlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
const ConcatSource = require("webpack-sources").ConcatSource;
|
9
|
+
|
10
|
+
class NodeChunkTemplatePlugin {
|
11
|
+
|
12
|
+
apply(chunkTemplate) {
|
13
|
+
chunkTemplate.plugin("render", function(modules, chunk) {
|
14
|
+
const source = new ConcatSource();
|
15
|
+
source.add(`exports.ids = ${JSON.stringify(chunk.ids)};\nexports.modules = `);
|
16
|
+
source.add(modules);
|
17
|
+
source.add(";");
|
18
|
+
return source;
|
19
|
+
});
|
20
|
+
chunkTemplate.plugin("hash", function(hash) {
|
21
|
+
hash.update("node");
|
22
|
+
hash.update("3");
|
23
|
+
});
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
module.exports = NodeChunkTemplatePlugin;
|
@@ -1,25 +1,25 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const NodeWatchFileSystem = require("./NodeWatchFileSystem");
|
8
|
-
const NodeOutputFileSystem = require("./NodeOutputFileSystem");
|
9
|
-
const NodeJsInputFileSystem = require("enhanced-resolve/lib/NodeJsInputFileSystem");
|
10
|
-
const CachedInputFileSystem = require("enhanced-resolve/lib/CachedInputFileSystem");
|
11
|
-
|
12
|
-
class NodeEnvironmentPlugin {
|
13
|
-
apply(compiler) {
|
14
|
-
compiler.inputFileSystem = new CachedInputFileSystem(new NodeJsInputFileSystem(), 60000);
|
15
|
-
const inputFileSystem = compiler.inputFileSystem;
|
16
|
-
compiler.outputFileSystem = new NodeOutputFileSystem();
|
17
|
-
compiler.watchFileSystem = new NodeWatchFileSystem(compiler.inputFileSystem);
|
18
|
-
compiler.plugin("before-run", (compiler, callback) => {
|
19
|
-
if(compiler.inputFileSystem === inputFileSystem)
|
20
|
-
inputFileSystem.purge();
|
21
|
-
callback();
|
22
|
-
});
|
23
|
-
}
|
24
|
-
}
|
25
|
-
module.exports = NodeEnvironmentPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const NodeWatchFileSystem = require("./NodeWatchFileSystem");
|
8
|
+
const NodeOutputFileSystem = require("./NodeOutputFileSystem");
|
9
|
+
const NodeJsInputFileSystem = require("enhanced-resolve/lib/NodeJsInputFileSystem");
|
10
|
+
const CachedInputFileSystem = require("enhanced-resolve/lib/CachedInputFileSystem");
|
11
|
+
|
12
|
+
class NodeEnvironmentPlugin {
|
13
|
+
apply(compiler) {
|
14
|
+
compiler.inputFileSystem = new CachedInputFileSystem(new NodeJsInputFileSystem(), 60000);
|
15
|
+
const inputFileSystem = compiler.inputFileSystem;
|
16
|
+
compiler.outputFileSystem = new NodeOutputFileSystem();
|
17
|
+
compiler.watchFileSystem = new NodeWatchFileSystem(compiler.inputFileSystem);
|
18
|
+
compiler.plugin("before-run", (compiler, callback) => {
|
19
|
+
if(compiler.inputFileSystem === inputFileSystem)
|
20
|
+
inputFileSystem.purge();
|
21
|
+
callback();
|
22
|
+
});
|
23
|
+
}
|
24
|
+
}
|
25
|
+
module.exports = NodeEnvironmentPlugin;
|
@@ -1,27 +1,27 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const ConcatSource = require("webpack-sources").ConcatSource;
|
8
|
-
|
9
|
-
class NodeHotUpdateChunkTemplatePlugin {
|
10
|
-
|
11
|
-
apply(hotUpdateChunkTemplate) {
|
12
|
-
hotUpdateChunkTemplate.plugin("render", (modulesSource, modules, removedModules, hash, id) => {
|
13
|
-
const source = new ConcatSource();
|
14
|
-
source.add("exports.id = " + JSON.stringify(id) + ";\nexports.modules = ");
|
15
|
-
source.add(modulesSource);
|
16
|
-
source.add(";");
|
17
|
-
return source;
|
18
|
-
});
|
19
|
-
hotUpdateChunkTemplate.plugin("hash", function(hash) {
|
20
|
-
hash.update("NodeHotUpdateChunkTemplatePlugin");
|
21
|
-
hash.update("3");
|
22
|
-
hash.update(this.outputOptions.hotUpdateFunction + "");
|
23
|
-
hash.update(this.outputOptions.library + "");
|
24
|
-
});
|
25
|
-
}
|
26
|
-
}
|
27
|
-
module.exports = NodeHotUpdateChunkTemplatePlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const ConcatSource = require("webpack-sources").ConcatSource;
|
8
|
+
|
9
|
+
class NodeHotUpdateChunkTemplatePlugin {
|
10
|
+
|
11
|
+
apply(hotUpdateChunkTemplate) {
|
12
|
+
hotUpdateChunkTemplate.plugin("render", (modulesSource, modules, removedModules, hash, id) => {
|
13
|
+
const source = new ConcatSource();
|
14
|
+
source.add("exports.id = " + JSON.stringify(id) + ";\nexports.modules = ");
|
15
|
+
source.add(modulesSource);
|
16
|
+
source.add(";");
|
17
|
+
return source;
|
18
|
+
});
|
19
|
+
hotUpdateChunkTemplate.plugin("hash", function(hash) {
|
20
|
+
hash.update("NodeHotUpdateChunkTemplatePlugin");
|
21
|
+
hash.update("3");
|
22
|
+
hash.update(this.outputOptions.hotUpdateFunction + "");
|
23
|
+
hash.update(this.outputOptions.library + "");
|
24
|
+
});
|
25
|
+
}
|
26
|
+
}
|
27
|
+
module.exports = NodeHotUpdateChunkTemplatePlugin;
|
@@ -1,24 +1,24 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
/*global installedChunks $hotChunkFilename$ hotAddUpdateChunk $hotMainFilename$ */
|
6
|
-
module.exports = function() {
|
7
|
-
function hotDownloadUpdateChunk(chunkId) { // eslint-disable-line no-unused-vars
|
8
|
-
var chunk = require("./" + $hotChunkFilename$);
|
9
|
-
hotAddUpdateChunk(chunk.id, chunk.modules);
|
10
|
-
}
|
11
|
-
|
12
|
-
function hotDownloadManifest() { // eslint-disable-line no-unused-vars
|
13
|
-
try {
|
14
|
-
var update = require("./" + $hotMainFilename$);
|
15
|
-
} catch(e) {
|
16
|
-
return Promise.resolve();
|
17
|
-
}
|
18
|
-
return Promise.resolve(update);
|
19
|
-
}
|
20
|
-
|
21
|
-
function hotDisposeChunk(chunkId) { //eslint-disable-line no-unused-vars
|
22
|
-
delete installedChunks[chunkId];
|
23
|
-
}
|
24
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
/*global installedChunks $hotChunkFilename$ hotAddUpdateChunk $hotMainFilename$ */
|
6
|
+
module.exports = function() {
|
7
|
+
function hotDownloadUpdateChunk(chunkId) { // eslint-disable-line no-unused-vars
|
8
|
+
var chunk = require("./" + $hotChunkFilename$);
|
9
|
+
hotAddUpdateChunk(chunk.id, chunk.modules);
|
10
|
+
}
|
11
|
+
|
12
|
+
function hotDownloadManifest() { // eslint-disable-line no-unused-vars
|
13
|
+
try {
|
14
|
+
var update = require("./" + $hotMainFilename$);
|
15
|
+
} catch(e) {
|
16
|
+
return Promise.resolve();
|
17
|
+
}
|
18
|
+
return Promise.resolve(update);
|
19
|
+
}
|
20
|
+
|
21
|
+
function hotDisposeChunk(chunkId) { //eslint-disable-line no-unused-vars
|
22
|
+
delete installedChunks[chunkId];
|
23
|
+
}
|
24
|
+
};
|
@@ -1,40 +1,40 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
/*global installedChunks $hotChunkFilename$ $require$ hotAddUpdateChunk $hotMainFilename$ */
|
6
|
-
module.exports = function() {
|
7
|
-
function hotDownloadUpdateChunk(chunkId) { // eslint-disable-line no-unused-vars
|
8
|
-
var filename = require("path").join(__dirname, $hotChunkFilename$);
|
9
|
-
require("fs").readFile(filename, "utf-8", function(err, content) {
|
10
|
-
if(err) {
|
11
|
-
if($require$.onError)
|
12
|
-
return $require$.oe(err);
|
13
|
-
else
|
14
|
-
throw err;
|
15
|
-
}
|
16
|
-
var chunk = {};
|
17
|
-
require("vm").runInThisContext("(function(exports) {" + content + "\n})", filename)(chunk);
|
18
|
-
hotAddUpdateChunk(chunk.id, chunk.modules);
|
19
|
-
});
|
20
|
-
}
|
21
|
-
|
22
|
-
function hotDownloadManifest() { // eslint-disable-line no-unused-vars
|
23
|
-
var filename = require("path").join(__dirname, $hotMainFilename$);
|
24
|
-
return new Promise(function(resolve, reject) {
|
25
|
-
require("fs").readFile(filename, "utf-8", function(err, content) {
|
26
|
-
if(err) return resolve();
|
27
|
-
try {
|
28
|
-
var update = JSON.parse(content);
|
29
|
-
} catch(e) {
|
30
|
-
return reject(e);
|
31
|
-
}
|
32
|
-
resolve(update);
|
33
|
-
});
|
34
|
-
});
|
35
|
-
}
|
36
|
-
|
37
|
-
function hotDisposeChunk(chunkId) { //eslint-disable-line no-unused-vars
|
38
|
-
delete installedChunks[chunkId];
|
39
|
-
}
|
40
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
/*global installedChunks $hotChunkFilename$ $require$ hotAddUpdateChunk $hotMainFilename$ */
|
6
|
+
module.exports = function() {
|
7
|
+
function hotDownloadUpdateChunk(chunkId) { // eslint-disable-line no-unused-vars
|
8
|
+
var filename = require("path").join(__dirname, $hotChunkFilename$);
|
9
|
+
require("fs").readFile(filename, "utf-8", function(err, content) {
|
10
|
+
if(err) {
|
11
|
+
if($require$.onError)
|
12
|
+
return $require$.oe(err);
|
13
|
+
else
|
14
|
+
throw err;
|
15
|
+
}
|
16
|
+
var chunk = {};
|
17
|
+
require("vm").runInThisContext("(function(exports) {" + content + "\n})", filename)(chunk);
|
18
|
+
hotAddUpdateChunk(chunk.id, chunk.modules);
|
19
|
+
});
|
20
|
+
}
|
21
|
+
|
22
|
+
function hotDownloadManifest() { // eslint-disable-line no-unused-vars
|
23
|
+
var filename = require("path").join(__dirname, $hotMainFilename$);
|
24
|
+
return new Promise(function(resolve, reject) {
|
25
|
+
require("fs").readFile(filename, "utf-8", function(err, content) {
|
26
|
+
if(err) return resolve();
|
27
|
+
try {
|
28
|
+
var update = JSON.parse(content);
|
29
|
+
} catch(e) {
|
30
|
+
return reject(e);
|
31
|
+
}
|
32
|
+
resolve(update);
|
33
|
+
});
|
34
|
+
});
|
35
|
+
}
|
36
|
+
|
37
|
+
function hotDisposeChunk(chunkId) { //eslint-disable-line no-unused-vars
|
38
|
+
delete installedChunks[chunkId];
|
39
|
+
}
|
40
|
+
};
|