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
package/lib/MultiStats.js
CHANGED
@@ -1,79 +1,79 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const Stats = require("./Stats");
|
8
|
-
|
9
|
-
const optionOrFallback = (optionValue, fallbackValue) => optionValue !== undefined ? optionValue : fallbackValue;
|
10
|
-
|
11
|
-
class MultiStats {
|
12
|
-
constructor(stats) {
|
13
|
-
this.stats = stats;
|
14
|
-
this.hash = stats.map(stat => stat.hash).join("");
|
15
|
-
}
|
16
|
-
|
17
|
-
hasErrors() {
|
18
|
-
return this.stats.map((stat) => stat.hasErrors()).reduce((a, b) => a || b, false);
|
19
|
-
}
|
20
|
-
|
21
|
-
hasWarnings() {
|
22
|
-
return this.stats.map((stat) => stat.hasWarnings()).reduce((a, b) => a || b, false);
|
23
|
-
}
|
24
|
-
|
25
|
-
toJson(options, forToString) {
|
26
|
-
if(typeof options === "boolean" || typeof options === "string") {
|
27
|
-
options = Stats.presetToOptions(options);
|
28
|
-
} else if(!options) {
|
29
|
-
options = {};
|
30
|
-
}
|
31
|
-
const jsons = this.stats.map((stat, idx) => {
|
32
|
-
const childOptions = Stats.getChildOptions(options, idx);
|
33
|
-
const obj = stat.toJson(childOptions, forToString);
|
34
|
-
obj.name = stat.compilation && stat.compilation.name;
|
35
|
-
return obj;
|
36
|
-
});
|
37
|
-
const showVersion = typeof options.version === "undefined" ? jsons.every(j => j.version) : options.version !== false;
|
38
|
-
const showHash = typeof options.hash === "undefined" ? jsons.every(j => j.hash) : options.hash !== false;
|
39
|
-
jsons.forEach(j => {
|
40
|
-
if(showVersion)
|
41
|
-
delete j.version;
|
42
|
-
});
|
43
|
-
const obj = {
|
44
|
-
errors: jsons.reduce((arr, j) => {
|
45
|
-
return arr.concat(j.errors.map(msg => {
|
46
|
-
return `(${j.name}) ${msg}`;
|
47
|
-
}));
|
48
|
-
}, []),
|
49
|
-
warnings: jsons.reduce((arr, j) => {
|
50
|
-
return arr.concat(j.warnings.map(msg => {
|
51
|
-
return `(${j.name}) ${msg}`;
|
52
|
-
}));
|
53
|
-
}, [])
|
54
|
-
};
|
55
|
-
if(showVersion)
|
56
|
-
obj.version = require("../package.json").version;
|
57
|
-
if(showHash)
|
58
|
-
obj.hash = this.hash;
|
59
|
-
if(options.children !== false)
|
60
|
-
obj.children = jsons;
|
61
|
-
return obj;
|
62
|
-
}
|
63
|
-
|
64
|
-
toString(options) {
|
65
|
-
if(typeof options === "boolean" || typeof options === "string") {
|
66
|
-
options = Stats.presetToOptions(options);
|
67
|
-
} else if(!options) {
|
68
|
-
options = {};
|
69
|
-
}
|
70
|
-
|
71
|
-
const useColors = optionOrFallback(options.colors, false);
|
72
|
-
|
73
|
-
const obj = this.toJson(options, true);
|
74
|
-
|
75
|
-
return Stats.jsonToString(obj, useColors);
|
76
|
-
}
|
77
|
-
}
|
78
|
-
|
79
|
-
module.exports = MultiStats;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const Stats = require("./Stats");
|
8
|
+
|
9
|
+
const optionOrFallback = (optionValue, fallbackValue) => optionValue !== undefined ? optionValue : fallbackValue;
|
10
|
+
|
11
|
+
class MultiStats {
|
12
|
+
constructor(stats) {
|
13
|
+
this.stats = stats;
|
14
|
+
this.hash = stats.map(stat => stat.hash).join("");
|
15
|
+
}
|
16
|
+
|
17
|
+
hasErrors() {
|
18
|
+
return this.stats.map((stat) => stat.hasErrors()).reduce((a, b) => a || b, false);
|
19
|
+
}
|
20
|
+
|
21
|
+
hasWarnings() {
|
22
|
+
return this.stats.map((stat) => stat.hasWarnings()).reduce((a, b) => a || b, false);
|
23
|
+
}
|
24
|
+
|
25
|
+
toJson(options, forToString) {
|
26
|
+
if(typeof options === "boolean" || typeof options === "string") {
|
27
|
+
options = Stats.presetToOptions(options);
|
28
|
+
} else if(!options) {
|
29
|
+
options = {};
|
30
|
+
}
|
31
|
+
const jsons = this.stats.map((stat, idx) => {
|
32
|
+
const childOptions = Stats.getChildOptions(options, idx);
|
33
|
+
const obj = stat.toJson(childOptions, forToString);
|
34
|
+
obj.name = stat.compilation && stat.compilation.name;
|
35
|
+
return obj;
|
36
|
+
});
|
37
|
+
const showVersion = typeof options.version === "undefined" ? jsons.every(j => j.version) : options.version !== false;
|
38
|
+
const showHash = typeof options.hash === "undefined" ? jsons.every(j => j.hash) : options.hash !== false;
|
39
|
+
jsons.forEach(j => {
|
40
|
+
if(showVersion)
|
41
|
+
delete j.version;
|
42
|
+
});
|
43
|
+
const obj = {
|
44
|
+
errors: jsons.reduce((arr, j) => {
|
45
|
+
return arr.concat(j.errors.map(msg => {
|
46
|
+
return `(${j.name}) ${msg}`;
|
47
|
+
}));
|
48
|
+
}, []),
|
49
|
+
warnings: jsons.reduce((arr, j) => {
|
50
|
+
return arr.concat(j.warnings.map(msg => {
|
51
|
+
return `(${j.name}) ${msg}`;
|
52
|
+
}));
|
53
|
+
}, [])
|
54
|
+
};
|
55
|
+
if(showVersion)
|
56
|
+
obj.version = require("../package.json").version;
|
57
|
+
if(showHash)
|
58
|
+
obj.hash = this.hash;
|
59
|
+
if(options.children !== false)
|
60
|
+
obj.children = jsons;
|
61
|
+
return obj;
|
62
|
+
}
|
63
|
+
|
64
|
+
toString(options) {
|
65
|
+
if(typeof options === "boolean" || typeof options === "string") {
|
66
|
+
options = Stats.presetToOptions(options);
|
67
|
+
} else if(!options) {
|
68
|
+
options = {};
|
69
|
+
}
|
70
|
+
|
71
|
+
const useColors = optionOrFallback(options.colors, false);
|
72
|
+
|
73
|
+
const obj = this.toJson(options, true);
|
74
|
+
|
75
|
+
return Stats.jsonToString(obj, useColors);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
|
79
|
+
module.exports = MultiStats;
|
package/lib/MultiWatching.js
CHANGED
@@ -1,32 +1,32 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const asyncLib = require("async");
|
8
|
-
|
9
|
-
class MultiWatching {
|
10
|
-
constructor(watchings, compiler) {
|
11
|
-
this.watchings = watchings;
|
12
|
-
this.compiler = compiler;
|
13
|
-
}
|
14
|
-
|
15
|
-
invalidate() {
|
16
|
-
this.watchings.forEach((watching) => watching.invalidate());
|
17
|
-
}
|
18
|
-
|
19
|
-
close(callback) {
|
20
|
-
if(callback === undefined) callback = () => { /*do nothing*/ };
|
21
|
-
|
22
|
-
asyncLib.forEach(this.watchings, (watching, finishedCallback) => {
|
23
|
-
watching.close(finishedCallback);
|
24
|
-
}, err => {
|
25
|
-
this.compiler.applyPlugins("watch-close");
|
26
|
-
callback(err);
|
27
|
-
});
|
28
|
-
|
29
|
-
}
|
30
|
-
}
|
31
|
-
|
32
|
-
module.exports = MultiWatching;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const asyncLib = require("async");
|
8
|
+
|
9
|
+
class MultiWatching {
|
10
|
+
constructor(watchings, compiler) {
|
11
|
+
this.watchings = watchings;
|
12
|
+
this.compiler = compiler;
|
13
|
+
}
|
14
|
+
|
15
|
+
invalidate() {
|
16
|
+
this.watchings.forEach((watching) => watching.invalidate());
|
17
|
+
}
|
18
|
+
|
19
|
+
close(callback) {
|
20
|
+
if(callback === undefined) callback = () => { /*do nothing*/ };
|
21
|
+
|
22
|
+
asyncLib.forEach(this.watchings, (watching, finishedCallback) => {
|
23
|
+
watching.close(finishedCallback);
|
24
|
+
}, err => {
|
25
|
+
this.compiler.applyPlugins("watch-close");
|
26
|
+
callback(err);
|
27
|
+
});
|
28
|
+
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
module.exports = MultiWatching;
|
package/lib/NamedChunksPlugin.js
CHANGED
@@ -1,30 +1,30 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class NamedChunksPlugin {
|
8
|
-
|
9
|
-
static defaultNameResolver(chunk) {
|
10
|
-
return chunk.name || null;
|
11
|
-
}
|
12
|
-
|
13
|
-
constructor(nameResolver) {
|
14
|
-
this.nameResolver = nameResolver || NamedChunksPlugin.defaultNameResolver;
|
15
|
-
}
|
16
|
-
|
17
|
-
apply(compiler) {
|
18
|
-
compiler.plugin("compilation", (compilation) => {
|
19
|
-
compilation.plugin("before-chunk-ids", (chunks) => {
|
20
|
-
chunks.forEach((chunk) => {
|
21
|
-
if(chunk.id === null) {
|
22
|
-
chunk.id = this.nameResolver(chunk);
|
23
|
-
}
|
24
|
-
});
|
25
|
-
});
|
26
|
-
});
|
27
|
-
}
|
28
|
-
}
|
29
|
-
|
30
|
-
module.exports = NamedChunksPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class NamedChunksPlugin {
|
8
|
+
|
9
|
+
static defaultNameResolver(chunk) {
|
10
|
+
return chunk.name || null;
|
11
|
+
}
|
12
|
+
|
13
|
+
constructor(nameResolver) {
|
14
|
+
this.nameResolver = nameResolver || NamedChunksPlugin.defaultNameResolver;
|
15
|
+
}
|
16
|
+
|
17
|
+
apply(compiler) {
|
18
|
+
compiler.plugin("compilation", (compilation) => {
|
19
|
+
compilation.plugin("before-chunk-ids", (chunks) => {
|
20
|
+
chunks.forEach((chunk) => {
|
21
|
+
if(chunk.id === null) {
|
22
|
+
chunk.id = this.nameResolver(chunk);
|
23
|
+
}
|
24
|
+
});
|
25
|
+
});
|
26
|
+
});
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
module.exports = NamedChunksPlugin;
|
@@ -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
|
-
class NamedModulesPlugin {
|
8
|
-
constructor(options) {
|
9
|
-
this.options = options || {};
|
10
|
-
}
|
11
|
-
|
12
|
-
apply(compiler) {
|
13
|
-
compiler.plugin("compilation", (compilation) => {
|
14
|
-
compilation.plugin("before-module-ids", (modules) => {
|
15
|
-
modules.forEach((module) => {
|
16
|
-
if(module.id === null && module.libIdent) {
|
17
|
-
module.id = module.libIdent({
|
18
|
-
context: this.options.context || compiler.options.context
|
19
|
-
});
|
20
|
-
}
|
21
|
-
});
|
22
|
-
});
|
23
|
-
});
|
24
|
-
}
|
25
|
-
}
|
26
|
-
|
27
|
-
module.exports = NamedModulesPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class NamedModulesPlugin {
|
8
|
+
constructor(options) {
|
9
|
+
this.options = options || {};
|
10
|
+
}
|
11
|
+
|
12
|
+
apply(compiler) {
|
13
|
+
compiler.plugin("compilation", (compilation) => {
|
14
|
+
compilation.plugin("before-module-ids", (modules) => {
|
15
|
+
modules.forEach((module) => {
|
16
|
+
if(module.id === null && module.libIdent) {
|
17
|
+
module.id = module.libIdent({
|
18
|
+
context: this.options.context || compiler.options.context
|
19
|
+
});
|
20
|
+
}
|
21
|
+
});
|
22
|
+
});
|
23
|
+
});
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
module.exports = NamedModulesPlugin;
|
package/lib/NewWatchingPlugin.js
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class NewWatchingPlugin {
|
8
|
-
apply(compiler) {
|
9
|
-
compiler.plugin("compilation", function(compilation) {
|
10
|
-
compilation.warnings.push(new Error("The 'NewWatchingPlugin' is no longer necessary (now default)"));
|
11
|
-
});
|
12
|
-
}
|
13
|
-
}
|
14
|
-
|
15
|
-
module.exports = NewWatchingPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class NewWatchingPlugin {
|
8
|
+
apply(compiler) {
|
9
|
+
compiler.plugin("compilation", function(compilation) {
|
10
|
+
compilation.warnings.push(new Error("The 'NewWatchingPlugin' is no longer necessary (now default)"));
|
11
|
+
});
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
module.exports = NewWatchingPlugin;
|
@@ -1,22 +1,22 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class NoEmitOnErrorsPlugin {
|
8
|
-
apply(compiler) {
|
9
|
-
compiler.plugin("should-emit", (compilation) => {
|
10
|
-
if(compilation.
|
11
|
-
return false;
|
12
|
-
});
|
13
|
-
compiler.plugin("compilation", (compilation) => {
|
14
|
-
compilation.plugin("should-record", () => {
|
15
|
-
if(compilation.
|
16
|
-
return false;
|
17
|
-
});
|
18
|
-
});
|
19
|
-
}
|
20
|
-
}
|
21
|
-
|
22
|
-
module.exports = NoEmitOnErrorsPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class NoEmitOnErrorsPlugin {
|
8
|
+
apply(compiler) {
|
9
|
+
compiler.plugin("should-emit", (compilation) => {
|
10
|
+
if(compilation.getStats().hasErrors())
|
11
|
+
return false;
|
12
|
+
});
|
13
|
+
compiler.plugin("compilation", (compilation) => {
|
14
|
+
compilation.plugin("should-record", () => {
|
15
|
+
if(compilation.getStats().hasErrors())
|
16
|
+
return false;
|
17
|
+
});
|
18
|
+
});
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
module.exports = NoEmitOnErrorsPlugin;
|
package/lib/NoErrorsPlugin.js
CHANGED
@@ -1,29 +1,29 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
let deprecationReported = false;
|
8
|
-
|
9
|
-
class NoErrorsPlugin {
|
10
|
-
apply(compiler) {
|
11
|
-
compiler.plugin("should-emit", (compilation) => {
|
12
|
-
if(!deprecationReported) {
|
13
|
-
compilation.warnings.push("webpack: Using NoErrorsPlugin is deprecated.\n" +
|
14
|
-
"Use NoEmitOnErrorsPlugin instead.\n");
|
15
|
-
deprecationReported = true;
|
16
|
-
}
|
17
|
-
if(compilation.errors.length > 0)
|
18
|
-
return false;
|
19
|
-
});
|
20
|
-
compiler.plugin("compilation", (compilation) => {
|
21
|
-
compilation.plugin("should-record", () => {
|
22
|
-
if(compilation.errors.length > 0)
|
23
|
-
return false;
|
24
|
-
});
|
25
|
-
});
|
26
|
-
}
|
27
|
-
}
|
28
|
-
|
29
|
-
module.exports = NoErrorsPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
let deprecationReported = false;
|
8
|
+
|
9
|
+
class NoErrorsPlugin {
|
10
|
+
apply(compiler) {
|
11
|
+
compiler.plugin("should-emit", (compilation) => {
|
12
|
+
if(!deprecationReported) {
|
13
|
+
compilation.warnings.push("webpack: Using NoErrorsPlugin is deprecated.\n" +
|
14
|
+
"Use NoEmitOnErrorsPlugin instead.\n");
|
15
|
+
deprecationReported = true;
|
16
|
+
}
|
17
|
+
if(compilation.errors.length > 0)
|
18
|
+
return false;
|
19
|
+
});
|
20
|
+
compiler.plugin("compilation", (compilation) => {
|
21
|
+
compilation.plugin("should-record", () => {
|
22
|
+
if(compilation.errors.length > 0)
|
23
|
+
return false;
|
24
|
+
});
|
25
|
+
});
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
module.exports = NoErrorsPlugin;
|
package/lib/NodeStuffPlugin.js
CHANGED
@@ -1,97 +1,97 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const path = require("path");
|
8
|
-
const ParserHelpers = require("./ParserHelpers");
|
9
|
-
const ConstDependency = require("./dependencies/ConstDependency");
|
10
|
-
|
11
|
-
const NullFactory = require("./NullFactory");
|
12
|
-
|
13
|
-
class NodeStuffPlugin {
|
14
|
-
constructor(options) {
|
15
|
-
this.options = options;
|
16
|
-
}
|
17
|
-
|
18
|
-
apply(compiler) {
|
19
|
-
const options = this.options;
|
20
|
-
compiler.plugin("compilation", (compilation, params) => {
|
21
|
-
compilation.dependencyFactories.set(ConstDependency, new NullFactory());
|
22
|
-
compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
|
23
|
-
|
24
|
-
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
25
|
-
|
26
|
-
if(parserOptions.node === false)
|
27
|
-
return;
|
28
|
-
|
29
|
-
let localOptions = options;
|
30
|
-
if(parserOptions.node)
|
31
|
-
localOptions = Object.assign({}, localOptions, parserOptions.node);
|
32
|
-
|
33
|
-
function setConstant(expressionName, value) {
|
34
|
-
parser.plugin(`expression ${expressionName}`, function() {
|
35
|
-
this.state.current.addVariable(expressionName, JSON.stringify(value));
|
36
|
-
return true;
|
37
|
-
});
|
38
|
-
}
|
39
|
-
|
40
|
-
function setModuleConstant(expressionName, fn) {
|
41
|
-
parser.plugin(`expression ${expressionName}`, function() {
|
42
|
-
this.state.current.addVariable(expressionName, JSON.stringify(fn(this.state.module)));
|
43
|
-
return true;
|
44
|
-
});
|
45
|
-
}
|
46
|
-
const context = compiler.context;
|
47
|
-
if(localOptions.__filename === "mock") {
|
48
|
-
setConstant("__filename", "/index.js");
|
49
|
-
} else if(localOptions.__filename) {
|
50
|
-
setModuleConstant("__filename", module => path.relative(context, module.resource));
|
51
|
-
}
|
52
|
-
parser.plugin("evaluate Identifier __filename", function(expr) {
|
53
|
-
if(!this.state.module) return;
|
54
|
-
const resource = this.state.module.resource;
|
55
|
-
const i = resource.indexOf("?");
|
56
|
-
return ParserHelpers.evaluateToString(i < 0 ? resource : resource.substr(0, i))(expr);
|
57
|
-
});
|
58
|
-
if(localOptions.__dirname === "mock") {
|
59
|
-
setConstant("__dirname", "/");
|
60
|
-
} else if(localOptions.__dirname) {
|
61
|
-
setModuleConstant("__dirname", module => path.relative(context, module.context));
|
62
|
-
}
|
63
|
-
parser.plugin("evaluate Identifier __dirname", function(expr) {
|
64
|
-
if(!this.state.module) return;
|
65
|
-
return ParserHelpers.evaluateToString(this.state.module.context)(expr);
|
66
|
-
});
|
67
|
-
parser.plugin("expression require.main", ParserHelpers.toConstantDependency("__webpack_require__.c[__webpack_require__.s]"));
|
68
|
-
parser.plugin(
|
69
|
-
"expression require.extensions",
|
70
|
-
ParserHelpers.expressionIsUnsupported("require.extensions is not supported by webpack. Use a loader instead.")
|
71
|
-
);
|
72
|
-
parser.plugin("expression module.loaded", ParserHelpers.toConstantDependency("module.l"));
|
73
|
-
parser.plugin("expression module.id", ParserHelpers.toConstantDependency("module.i"));
|
74
|
-
parser.plugin("expression module.exports", function() {
|
75
|
-
const module = this.state.module;
|
76
|
-
const isHarmony = module.meta && module.meta.harmonyModule;
|
77
|
-
if(!isHarmony)
|
78
|
-
return true;
|
79
|
-
});
|
80
|
-
parser.plugin("evaluate Identifier module.hot", ParserHelpers.evaluateToIdentifier("module.hot", false));
|
81
|
-
parser.plugin("expression module", function() {
|
82
|
-
const module = this.state.module;
|
83
|
-
const isHarmony = module.meta && module.meta.harmonyModule;
|
84
|
-
let moduleJsPath = path.join(__dirname, "..", "buildin", isHarmony ? "harmony-module.js" : "module.js");
|
85
|
-
if(module.context) {
|
86
|
-
moduleJsPath = path.relative(this.state.module.context, moduleJsPath);
|
87
|
-
if(!/^[A-Z]:/i.test(moduleJsPath)) {
|
88
|
-
moduleJsPath = `./${moduleJsPath.replace(/\\/g, "/")}`;
|
89
|
-
}
|
90
|
-
}
|
91
|
-
return ParserHelpers.addParsedVariableToModule(this, "module", `require(${JSON.stringify(moduleJsPath)})(module)`);
|
92
|
-
});
|
93
|
-
});
|
94
|
-
});
|
95
|
-
}
|
96
|
-
}
|
97
|
-
module.exports = NodeStuffPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const path = require("path");
|
8
|
+
const ParserHelpers = require("./ParserHelpers");
|
9
|
+
const ConstDependency = require("./dependencies/ConstDependency");
|
10
|
+
|
11
|
+
const NullFactory = require("./NullFactory");
|
12
|
+
|
13
|
+
class NodeStuffPlugin {
|
14
|
+
constructor(options) {
|
15
|
+
this.options = options;
|
16
|
+
}
|
17
|
+
|
18
|
+
apply(compiler) {
|
19
|
+
const options = this.options;
|
20
|
+
compiler.plugin("compilation", (compilation, params) => {
|
21
|
+
compilation.dependencyFactories.set(ConstDependency, new NullFactory());
|
22
|
+
compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
|
23
|
+
|
24
|
+
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
25
|
+
|
26
|
+
if(parserOptions.node === false)
|
27
|
+
return;
|
28
|
+
|
29
|
+
let localOptions = options;
|
30
|
+
if(parserOptions.node)
|
31
|
+
localOptions = Object.assign({}, localOptions, parserOptions.node);
|
32
|
+
|
33
|
+
function setConstant(expressionName, value) {
|
34
|
+
parser.plugin(`expression ${expressionName}`, function() {
|
35
|
+
this.state.current.addVariable(expressionName, JSON.stringify(value));
|
36
|
+
return true;
|
37
|
+
});
|
38
|
+
}
|
39
|
+
|
40
|
+
function setModuleConstant(expressionName, fn) {
|
41
|
+
parser.plugin(`expression ${expressionName}`, function() {
|
42
|
+
this.state.current.addVariable(expressionName, JSON.stringify(fn(this.state.module)));
|
43
|
+
return true;
|
44
|
+
});
|
45
|
+
}
|
46
|
+
const context = compiler.context;
|
47
|
+
if(localOptions.__filename === "mock") {
|
48
|
+
setConstant("__filename", "/index.js");
|
49
|
+
} else if(localOptions.__filename) {
|
50
|
+
setModuleConstant("__filename", module => path.relative(context, module.resource));
|
51
|
+
}
|
52
|
+
parser.plugin("evaluate Identifier __filename", function(expr) {
|
53
|
+
if(!this.state.module) return;
|
54
|
+
const resource = this.state.module.resource;
|
55
|
+
const i = resource.indexOf("?");
|
56
|
+
return ParserHelpers.evaluateToString(i < 0 ? resource : resource.substr(0, i))(expr);
|
57
|
+
});
|
58
|
+
if(localOptions.__dirname === "mock") {
|
59
|
+
setConstant("__dirname", "/");
|
60
|
+
} else if(localOptions.__dirname) {
|
61
|
+
setModuleConstant("__dirname", module => path.relative(context, module.context));
|
62
|
+
}
|
63
|
+
parser.plugin("evaluate Identifier __dirname", function(expr) {
|
64
|
+
if(!this.state.module) return;
|
65
|
+
return ParserHelpers.evaluateToString(this.state.module.context)(expr);
|
66
|
+
});
|
67
|
+
parser.plugin("expression require.main", ParserHelpers.toConstantDependency("__webpack_require__.c[__webpack_require__.s]"));
|
68
|
+
parser.plugin(
|
69
|
+
"expression require.extensions",
|
70
|
+
ParserHelpers.expressionIsUnsupported("require.extensions is not supported by webpack. Use a loader instead.")
|
71
|
+
);
|
72
|
+
parser.plugin("expression module.loaded", ParserHelpers.toConstantDependency("module.l"));
|
73
|
+
parser.plugin("expression module.id", ParserHelpers.toConstantDependency("module.i"));
|
74
|
+
parser.plugin("expression module.exports", function() {
|
75
|
+
const module = this.state.module;
|
76
|
+
const isHarmony = module.meta && module.meta.harmonyModule;
|
77
|
+
if(!isHarmony)
|
78
|
+
return true;
|
79
|
+
});
|
80
|
+
parser.plugin("evaluate Identifier module.hot", ParserHelpers.evaluateToIdentifier("module.hot", false));
|
81
|
+
parser.plugin("expression module", function() {
|
82
|
+
const module = this.state.module;
|
83
|
+
const isHarmony = module.meta && module.meta.harmonyModule;
|
84
|
+
let moduleJsPath = path.join(__dirname, "..", "buildin", isHarmony ? "harmony-module.js" : "module.js");
|
85
|
+
if(module.context) {
|
86
|
+
moduleJsPath = path.relative(this.state.module.context, moduleJsPath);
|
87
|
+
if(!/^[A-Z]:/i.test(moduleJsPath)) {
|
88
|
+
moduleJsPath = `./${moduleJsPath.replace(/\\/g, "/")}`;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
return ParserHelpers.addParsedVariableToModule(this, "module", `require(${JSON.stringify(moduleJsPath)})(module)`);
|
92
|
+
});
|
93
|
+
});
|
94
|
+
});
|
95
|
+
}
|
96
|
+
}
|
97
|
+
module.exports = NodeStuffPlugin;
|