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,41 +1,41 @@
|
|
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 SetVarMainTemplatePlugin {
|
10
|
-
constructor(varExpression, copyObject) {
|
11
|
-
this.varExpression = varExpression;
|
12
|
-
this.copyObject = copyObject;
|
13
|
-
}
|
14
|
-
|
15
|
-
apply(compilation) {
|
16
|
-
const mainTemplate = compilation.mainTemplate;
|
17
|
-
compilation.templatesPlugin("render-with-entry", (source, chunk, hash) => {
|
18
|
-
const varExpression = mainTemplate.applyPluginsWaterfall("asset-path", this.varExpression, {
|
19
|
-
hash,
|
20
|
-
chunk
|
21
|
-
});
|
22
|
-
if(this.copyObject) {
|
23
|
-
return new ConcatSource(`(function(e, a) { for(var i in a) e[i] = a[i]; }(${varExpression}, `, source, "))");
|
24
|
-
} else {
|
25
|
-
const prefix = `${varExpression} =\n`;
|
26
|
-
return new ConcatSource(prefix, source);
|
27
|
-
}
|
28
|
-
});
|
29
|
-
mainTemplate.plugin("global-hash-paths", (paths) => {
|
30
|
-
if(this.varExpression) paths.push(this.varExpression);
|
31
|
-
return paths;
|
32
|
-
});
|
33
|
-
mainTemplate.plugin("hash", hash => {
|
34
|
-
hash.update("set var");
|
35
|
-
hash.update(`${this.varExpression}`);
|
36
|
-
hash.update(`${this.copyObject}`);
|
37
|
-
});
|
38
|
-
}
|
39
|
-
}
|
40
|
-
|
41
|
-
module.exports = SetVarMainTemplatePlugin;
|
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 SetVarMainTemplatePlugin {
|
10
|
+
constructor(varExpression, copyObject) {
|
11
|
+
this.varExpression = varExpression;
|
12
|
+
this.copyObject = copyObject;
|
13
|
+
}
|
14
|
+
|
15
|
+
apply(compilation) {
|
16
|
+
const mainTemplate = compilation.mainTemplate;
|
17
|
+
compilation.templatesPlugin("render-with-entry", (source, chunk, hash) => {
|
18
|
+
const varExpression = mainTemplate.applyPluginsWaterfall("asset-path", this.varExpression, {
|
19
|
+
hash,
|
20
|
+
chunk
|
21
|
+
});
|
22
|
+
if(this.copyObject) {
|
23
|
+
return new ConcatSource(`(function(e, a) { for(var i in a) e[i] = a[i]; }(${varExpression}, `, source, "))");
|
24
|
+
} else {
|
25
|
+
const prefix = `${varExpression} =\n`;
|
26
|
+
return new ConcatSource(prefix, source);
|
27
|
+
}
|
28
|
+
});
|
29
|
+
mainTemplate.plugin("global-hash-paths", (paths) => {
|
30
|
+
if(this.varExpression) paths.push(this.varExpression);
|
31
|
+
return paths;
|
32
|
+
});
|
33
|
+
mainTemplate.plugin("hash", hash => {
|
34
|
+
hash.update("set var");
|
35
|
+
hash.update(`${this.varExpression}`);
|
36
|
+
hash.update(`${this.copyObject}`);
|
37
|
+
});
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
module.exports = SetVarMainTemplatePlugin;
|
package/lib/SingleEntryPlugin.js
CHANGED
@@ -1,35 +1,35 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const SingleEntryDependency = require("./dependencies/SingleEntryDependency");
|
7
|
-
|
8
|
-
class SingleEntryPlugin {
|
9
|
-
constructor(context, entry, name) {
|
10
|
-
this.context = context;
|
11
|
-
this.entry = entry;
|
12
|
-
this.name = name;
|
13
|
-
}
|
14
|
-
|
15
|
-
apply(compiler) {
|
16
|
-
compiler.plugin("compilation", (compilation, params) => {
|
17
|
-
const normalModuleFactory = params.normalModuleFactory;
|
18
|
-
|
19
|
-
compilation.dependencyFactories.set(SingleEntryDependency, normalModuleFactory);
|
20
|
-
});
|
21
|
-
|
22
|
-
compiler.plugin("make", (compilation, callback) => {
|
23
|
-
const dep = SingleEntryPlugin.createDependency(this.entry, this.name);
|
24
|
-
compilation.addEntry(this.context, dep, this.name, callback);
|
25
|
-
});
|
26
|
-
}
|
27
|
-
|
28
|
-
static createDependency(entry, name) {
|
29
|
-
const dep = new SingleEntryDependency(entry);
|
30
|
-
dep.loc = name;
|
31
|
-
return dep;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
module.exports = SingleEntryPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const SingleEntryDependency = require("./dependencies/SingleEntryDependency");
|
7
|
+
|
8
|
+
class SingleEntryPlugin {
|
9
|
+
constructor(context, entry, name) {
|
10
|
+
this.context = context;
|
11
|
+
this.entry = entry;
|
12
|
+
this.name = name;
|
13
|
+
}
|
14
|
+
|
15
|
+
apply(compiler) {
|
16
|
+
compiler.plugin("compilation", (compilation, params) => {
|
17
|
+
const normalModuleFactory = params.normalModuleFactory;
|
18
|
+
|
19
|
+
compilation.dependencyFactories.set(SingleEntryDependency, normalModuleFactory);
|
20
|
+
});
|
21
|
+
|
22
|
+
compiler.plugin("make", (compilation, callback) => {
|
23
|
+
const dep = SingleEntryPlugin.createDependency(this.entry, this.name);
|
24
|
+
compilation.addEntry(this.context, dep, this.name, callback);
|
25
|
+
});
|
26
|
+
}
|
27
|
+
|
28
|
+
static createDependency(entry, name) {
|
29
|
+
const dep = new SingleEntryDependency(entry);
|
30
|
+
dep.loc = name;
|
31
|
+
return dep;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
module.exports = SingleEntryPlugin;
|
package/lib/SizeFormatHelpers.js
CHANGED
@@ -1,18 +1,18 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Sean Larkin @thelarkinn
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const SizeFormatHelpers = exports;
|
8
|
-
|
9
|
-
SizeFormatHelpers.formatSize = size => {
|
10
|
-
if(size <= 0) {
|
11
|
-
return "0 bytes";
|
12
|
-
}
|
13
|
-
|
14
|
-
const abbreviations = ["bytes", "kB", "MB", "GB"];
|
15
|
-
const index = Math.floor(Math.log(size) / Math.log(1000));
|
16
|
-
|
17
|
-
return `${+(size / Math.pow(1000, index)).toPrecision(3)} ${abbreviations[index]}`;
|
18
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Sean Larkin @thelarkinn
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const SizeFormatHelpers = exports;
|
8
|
+
|
9
|
+
SizeFormatHelpers.formatSize = size => {
|
10
|
+
if(size <= 0) {
|
11
|
+
return "0 bytes";
|
12
|
+
}
|
13
|
+
|
14
|
+
const abbreviations = ["bytes", "kB", "MB", "GB"];
|
15
|
+
const index = Math.floor(Math.log(size) / Math.log(1000));
|
16
|
+
|
17
|
+
return `${+(size / Math.pow(1000, index)).toPrecision(3)} ${abbreviations[index]}`;
|
18
|
+
};
|
@@ -1,37 +1,37 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
|
8
|
-
|
9
|
-
class SourceMapDevToolModuleOptionsPlugin {
|
10
|
-
constructor(options) {
|
11
|
-
this.options = options;
|
12
|
-
}
|
13
|
-
|
14
|
-
apply(compilation) {
|
15
|
-
const options = this.options;
|
16
|
-
if(options.module !== false) {
|
17
|
-
compilation.plugin("build-module", module => {
|
18
|
-
module.useSourceMap = true;
|
19
|
-
});
|
20
|
-
}
|
21
|
-
if(options.lineToLine === true) {
|
22
|
-
compilation.plugin("build-module", module => {
|
23
|
-
module.lineToLine = true;
|
24
|
-
});
|
25
|
-
} else if(options.lineToLine) {
|
26
|
-
compilation.plugin("build-module", module => {
|
27
|
-
if(!module.resource) return;
|
28
|
-
let resourcePath = module.resource;
|
29
|
-
const idx = resourcePath.indexOf("?");
|
30
|
-
if(idx >= 0) resourcePath = resourcePath.substr(0, idx);
|
31
|
-
module.lineToLine = ModuleFilenameHelpers.matchObject(options.lineToLine, resourcePath);
|
32
|
-
});
|
33
|
-
}
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
|
-
module.exports = SourceMapDevToolModuleOptionsPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
|
8
|
+
|
9
|
+
class SourceMapDevToolModuleOptionsPlugin {
|
10
|
+
constructor(options) {
|
11
|
+
this.options = options;
|
12
|
+
}
|
13
|
+
|
14
|
+
apply(compilation) {
|
15
|
+
const options = this.options;
|
16
|
+
if(options.module !== false) {
|
17
|
+
compilation.plugin("build-module", module => {
|
18
|
+
module.useSourceMap = true;
|
19
|
+
});
|
20
|
+
}
|
21
|
+
if(options.lineToLine === true) {
|
22
|
+
compilation.plugin("build-module", module => {
|
23
|
+
module.lineToLine = true;
|
24
|
+
});
|
25
|
+
} else if(options.lineToLine) {
|
26
|
+
compilation.plugin("build-module", module => {
|
27
|
+
if(!module.resource) return;
|
28
|
+
let resourcePath = module.resource;
|
29
|
+
const idx = resourcePath.indexOf("?");
|
30
|
+
if(idx >= 0) resourcePath = resourcePath.substr(0, idx);
|
31
|
+
module.lineToLine = ModuleFilenameHelpers.matchObject(options.lineToLine, resourcePath);
|
32
|
+
});
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
module.exports = SourceMapDevToolModuleOptionsPlugin;
|
package/lib/Stats.js
CHANGED
@@ -100,6 +100,7 @@ class Stats {
|
|
100
100
|
const requestShortener = new RequestShortener(context);
|
101
101
|
const showPerformance = optionOrLocalFallback(options.performance, true);
|
102
102
|
const showHash = optionOrLocalFallback(options.hash, true);
|
103
|
+
const showEnv = optionOrLocalFallback(options.env, false);
|
103
104
|
const showVersion = optionOrLocalFallback(options.version, true);
|
104
105
|
const showTimings = optionOrLocalFallback(options.timings, true);
|
105
106
|
const showAssets = optionOrLocalFallback(options.assets, true);
|
@@ -198,15 +199,22 @@ class Stats {
|
|
198
199
|
text += e.message;
|
199
200
|
if(showErrorDetails && e.details) text += `\n${e.details}`;
|
200
201
|
if(showErrorDetails && e.missing) text += e.missing.map(item => `\n[${item}]`).join("");
|
201
|
-
if(showModuleTrace && e.
|
202
|
+
if(showModuleTrace && e.origin) {
|
202
203
|
text += `\n @ ${e.origin.readableIdentifier(requestShortener)}`;
|
203
|
-
e.
|
204
|
-
|
205
|
-
if(
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
204
|
+
if(typeof e.originLoc === "object") {
|
205
|
+
const locInfo = formatLocation(e.originLoc);
|
206
|
+
if(locInfo)
|
207
|
+
text += ` ${locInfo}`;
|
208
|
+
}
|
209
|
+
if(e.dependencies) {
|
210
|
+
e.dependencies.forEach(dep => {
|
211
|
+
if(!dep.loc) return;
|
212
|
+
if(typeof dep.loc === "string") return;
|
213
|
+
const locInfo = formatLocation(dep.loc);
|
214
|
+
if(!locInfo) return;
|
215
|
+
text += ` ${locInfo}`;
|
216
|
+
});
|
217
|
+
}
|
210
218
|
let current = e.origin;
|
211
219
|
while(current.issuer) {
|
212
220
|
current = current.issuer;
|
@@ -240,6 +248,11 @@ class Stats {
|
|
240
248
|
if(showTimings && this.startTime && this.endTime) {
|
241
249
|
obj.time = this.endTime - this.startTime;
|
242
250
|
}
|
251
|
+
|
252
|
+
if(showEnv && options._env) {
|
253
|
+
obj.env = options._env;
|
254
|
+
}
|
255
|
+
|
243
256
|
if(compilation.needAdditionalPass) {
|
244
257
|
obj.needAdditionalPass = true;
|
245
258
|
}
|
@@ -546,6 +559,11 @@ class Stats {
|
|
546
559
|
colors.normal("ms");
|
547
560
|
newline();
|
548
561
|
}
|
562
|
+
if(obj.env) {
|
563
|
+
colors.normal("Environment (--env): ");
|
564
|
+
colors.bold(JSON.stringify(obj.env, null, 2));
|
565
|
+
newline();
|
566
|
+
}
|
549
567
|
if(obj.publicPath) {
|
550
568
|
colors.normal("PublicPath: ");
|
551
569
|
colors.bold(obj.publicPath);
|
@@ -900,6 +918,7 @@ class Stats {
|
|
900
918
|
chunkModules: true,
|
901
919
|
chunkOrigins: true,
|
902
920
|
depth: true,
|
921
|
+
env: true,
|
903
922
|
reasons: true,
|
904
923
|
usedExports: true,
|
905
924
|
providedExports: true,
|
@@ -42,7 +42,7 @@ class UmdMainTemplatePlugin {
|
|
42
42
|
apply(compilation) {
|
43
43
|
const mainTemplate = compilation.mainTemplate;
|
44
44
|
compilation.templatesPlugin("render-with-entry", (source, chunk, hash) => {
|
45
|
-
let externals = chunk.getModules().filter(m => m.external);
|
45
|
+
let externals = chunk.getModules().filter(m => m.external && (m.type === "umd" || m.type === "umd2"));
|
46
46
|
const optionalExternals = [];
|
47
47
|
let requiredExternals = [];
|
48
48
|
if(this.optionalAmdExternalAsGlobal) {
|
@@ -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 WebpackError = require("./WebpackError");
|
8
|
-
|
9
|
-
class UnsupportedFeatureWarning extends WebpackError {
|
10
|
-
constructor(module, message) {
|
11
|
-
super();
|
12
|
-
|
13
|
-
this.name = "UnsupportedFeatureWarning";
|
14
|
-
this.message = message;
|
15
|
-
this.origin = this.module = module;
|
16
|
-
|
17
|
-
Error.captureStackTrace(this, this.constructor);
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
module.exports = UnsupportedFeatureWarning;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const WebpackError = require("./WebpackError");
|
8
|
+
|
9
|
+
class UnsupportedFeatureWarning extends WebpackError {
|
10
|
+
constructor(module, message) {
|
11
|
+
super();
|
12
|
+
|
13
|
+
this.name = "UnsupportedFeatureWarning";
|
14
|
+
this.message = message;
|
15
|
+
this.origin = this.module = module;
|
16
|
+
|
17
|
+
Error.captureStackTrace(this, this.constructor);
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
module.exports = UnsupportedFeatureWarning;
|
package/lib/UseStrictPlugin.js
CHANGED
@@ -1,34 +1,34 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const ConstDependency = require("./dependencies/ConstDependency");
|
8
|
-
|
9
|
-
class UseStrictPlugin {
|
10
|
-
apply(compiler) {
|
11
|
-
compiler.plugin("compilation", (compilation, params) => {
|
12
|
-
params.normalModuleFactory.plugin("parser", (parser) => {
|
13
|
-
const parserInstance = parser;
|
14
|
-
parser.plugin("program", (ast) => {
|
15
|
-
const firstNode = ast.body[0];
|
16
|
-
if(firstNode &&
|
17
|
-
firstNode.type === "ExpressionStatement" &&
|
18
|
-
firstNode.expression.type === "Literal" &&
|
19
|
-
firstNode.expression.value === "use strict") {
|
20
|
-
// Remove "use strict" expression. It will be added later by the renderer again.
|
21
|
-
// This is necessary in order to not break the strict mode when webpack prepends code.
|
22
|
-
// @see https://github.com/webpack/webpack/issues/1970
|
23
|
-
const dep = new ConstDependency("", firstNode.range);
|
24
|
-
dep.loc = firstNode.loc;
|
25
|
-
parserInstance.state.current.addDependency(dep);
|
26
|
-
parserInstance.state.module.strict = true;
|
27
|
-
}
|
28
|
-
});
|
29
|
-
});
|
30
|
-
});
|
31
|
-
}
|
32
|
-
}
|
33
|
-
|
34
|
-
module.exports = UseStrictPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const ConstDependency = require("./dependencies/ConstDependency");
|
8
|
+
|
9
|
+
class UseStrictPlugin {
|
10
|
+
apply(compiler) {
|
11
|
+
compiler.plugin("compilation", (compilation, params) => {
|
12
|
+
params.normalModuleFactory.plugin("parser", (parser) => {
|
13
|
+
const parserInstance = parser;
|
14
|
+
parser.plugin("program", (ast) => {
|
15
|
+
const firstNode = ast.body[0];
|
16
|
+
if(firstNode &&
|
17
|
+
firstNode.type === "ExpressionStatement" &&
|
18
|
+
firstNode.expression.type === "Literal" &&
|
19
|
+
firstNode.expression.value === "use strict") {
|
20
|
+
// Remove "use strict" expression. It will be added later by the renderer again.
|
21
|
+
// This is necessary in order to not break the strict mode when webpack prepends code.
|
22
|
+
// @see https://github.com/webpack/webpack/issues/1970
|
23
|
+
const dep = new ConstDependency("", firstNode.range);
|
24
|
+
dep.loc = firstNode.loc;
|
25
|
+
parserInstance.state.current.addDependency(dep);
|
26
|
+
parserInstance.state.module.strict = true;
|
27
|
+
}
|
28
|
+
});
|
29
|
+
});
|
30
|
+
});
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
module.exports = UseStrictPlugin;
|
@@ -1,31 +1,31 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const CaseSensitiveModulesWarning = require("./CaseSensitiveModulesWarning");
|
8
|
-
|
9
|
-
class WarnCaseSensitiveModulesPlugin {
|
10
|
-
apply(compiler) {
|
11
|
-
compiler.plugin("compilation", compilation => {
|
12
|
-
compilation.plugin("seal", () => {
|
13
|
-
const moduleWithoutCase = Object.create(null);
|
14
|
-
compilation.modules.forEach(module => {
|
15
|
-
const identifier = module.identifier().toLowerCase();
|
16
|
-
if(moduleWithoutCase[identifier]) {
|
17
|
-
moduleWithoutCase[identifier].push(module);
|
18
|
-
} else {
|
19
|
-
moduleWithoutCase[identifier] = [module];
|
20
|
-
}
|
21
|
-
});
|
22
|
-
Object.keys(moduleWithoutCase).forEach(key => {
|
23
|
-
if(moduleWithoutCase[key].length > 1)
|
24
|
-
compilation.warnings.push(new CaseSensitiveModulesWarning(moduleWithoutCase[key]));
|
25
|
-
});
|
26
|
-
});
|
27
|
-
});
|
28
|
-
}
|
29
|
-
}
|
30
|
-
|
31
|
-
module.exports = WarnCaseSensitiveModulesPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const CaseSensitiveModulesWarning = require("./CaseSensitiveModulesWarning");
|
8
|
+
|
9
|
+
class WarnCaseSensitiveModulesPlugin {
|
10
|
+
apply(compiler) {
|
11
|
+
compiler.plugin("compilation", compilation => {
|
12
|
+
compilation.plugin("seal", () => {
|
13
|
+
const moduleWithoutCase = Object.create(null);
|
14
|
+
compilation.modules.forEach(module => {
|
15
|
+
const identifier = module.identifier().toLowerCase();
|
16
|
+
if(moduleWithoutCase[identifier]) {
|
17
|
+
moduleWithoutCase[identifier].push(module);
|
18
|
+
} else {
|
19
|
+
moduleWithoutCase[identifier] = [module];
|
20
|
+
}
|
21
|
+
});
|
22
|
+
Object.keys(moduleWithoutCase).forEach(key => {
|
23
|
+
if(moduleWithoutCase[key].length > 1)
|
24
|
+
compilation.warnings.push(new CaseSensitiveModulesWarning(moduleWithoutCase[key]));
|
25
|
+
});
|
26
|
+
});
|
27
|
+
});
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
module.exports = WarnCaseSensitiveModulesPlugin;
|
package/lib/WatchIgnorePlugin.js
CHANGED
@@ -1,49 +1,49 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class WatchIgnorePlugin {
|
8
|
-
constructor(paths) {
|
9
|
-
this.paths = paths;
|
10
|
-
}
|
11
|
-
|
12
|
-
apply(compiler) {
|
13
|
-
compiler.plugin("after-environment", () => {
|
14
|
-
compiler.watchFileSystem = new IgnoringWatchFileSystem(compiler.watchFileSystem, this.paths);
|
15
|
-
});
|
16
|
-
}
|
17
|
-
}
|
18
|
-
|
19
|
-
module.exports = WatchIgnorePlugin;
|
20
|
-
|
21
|
-
class IgnoringWatchFileSystem {
|
22
|
-
constructor(wfs, paths) {
|
23
|
-
this.wfs = wfs;
|
24
|
-
this.paths = paths;
|
25
|
-
}
|
26
|
-
|
27
|
-
watch(files, dirs, missing, startTime, options, callback, callbackUndelayed) {
|
28
|
-
const ignored = path => this.paths.some(p => p instanceof RegExp ? p.test(path) : path.indexOf(p) === 0);
|
29
|
-
|
30
|
-
const notIgnored = path => !ignored(path);
|
31
|
-
|
32
|
-
const ignoredFiles = files.filter(ignored);
|
33
|
-
const ignoredDirs = dirs.filter(ignored);
|
34
|
-
|
35
|
-
this.wfs.watch(files.filter(notIgnored), dirs.filter(notIgnored), missing, startTime, options, (err, filesModified, dirsModified, missingModified, fileTimestamps, dirTimestamps) => {
|
36
|
-
if(err) return callback(err);
|
37
|
-
|
38
|
-
ignoredFiles.forEach(path => {
|
39
|
-
fileTimestamps[path] = 1;
|
40
|
-
});
|
41
|
-
|
42
|
-
ignoredDirs.forEach(path => {
|
43
|
-
dirTimestamps[path] = 1;
|
44
|
-
});
|
45
|
-
|
46
|
-
callback(err, filesModified, dirsModified, missingModified, fileTimestamps, dirTimestamps);
|
47
|
-
}, callbackUndelayed);
|
48
|
-
}
|
49
|
-
}
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class WatchIgnorePlugin {
|
8
|
+
constructor(paths) {
|
9
|
+
this.paths = paths;
|
10
|
+
}
|
11
|
+
|
12
|
+
apply(compiler) {
|
13
|
+
compiler.plugin("after-environment", () => {
|
14
|
+
compiler.watchFileSystem = new IgnoringWatchFileSystem(compiler.watchFileSystem, this.paths);
|
15
|
+
});
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
module.exports = WatchIgnorePlugin;
|
20
|
+
|
21
|
+
class IgnoringWatchFileSystem {
|
22
|
+
constructor(wfs, paths) {
|
23
|
+
this.wfs = wfs;
|
24
|
+
this.paths = paths;
|
25
|
+
}
|
26
|
+
|
27
|
+
watch(files, dirs, missing, startTime, options, callback, callbackUndelayed) {
|
28
|
+
const ignored = path => this.paths.some(p => p instanceof RegExp ? p.test(path) : path.indexOf(p) === 0);
|
29
|
+
|
30
|
+
const notIgnored = path => !ignored(path);
|
31
|
+
|
32
|
+
const ignoredFiles = files.filter(ignored);
|
33
|
+
const ignoredDirs = dirs.filter(ignored);
|
34
|
+
|
35
|
+
this.wfs.watch(files.filter(notIgnored), dirs.filter(notIgnored), missing, startTime, options, (err, filesModified, dirsModified, missingModified, fileTimestamps, dirTimestamps) => {
|
36
|
+
if(err) return callback(err);
|
37
|
+
|
38
|
+
ignoredFiles.forEach(path => {
|
39
|
+
fileTimestamps[path] = 1;
|
40
|
+
});
|
41
|
+
|
42
|
+
ignoredDirs.forEach(path => {
|
43
|
+
dirTimestamps[path] = 1;
|
44
|
+
});
|
45
|
+
|
46
|
+
callback(err, filesModified, dirsModified, missingModified, fileTimestamps, dirTimestamps);
|
47
|
+
}, callbackUndelayed);
|
48
|
+
}
|
49
|
+
}
|
package/lib/WebpackError.js
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Jarid Margolin @jaridmargolin
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
module.exports = class WebpackError extends Error {
|
8
|
-
inspect() {
|
9
|
-
return this.stack + (this.details ? `\n${this.details}` : "");
|
10
|
-
}
|
11
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Jarid Margolin @jaridmargolin
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
module.exports = class WebpackError extends Error {
|
8
|
+
inspect() {
|
9
|
+
return this.stack + (this.details ? `\n${this.details}` : "");
|
10
|
+
}
|
11
|
+
};
|