webpack 1.13.3 → 1.14.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 +22 -22
- package/README.md +310 -310
- package/buildin/amd-define.js +1 -1
- package/buildin/amd-options.js +1 -1
- package/buildin/module.js +10 -10
- package/hot/dev-server.js +63 -63
- package/hot/log-apply-result.js +25 -25
- package/hot/only-dev-server.js +77 -77
- package/hot/poll.js +37 -37
- package/hot/signal.js +65 -65
- package/lib/APIPlugin.js +49 -49
- package/lib/AbstractPlugin.js +22 -22
- package/lib/AmdMainTemplatePlugin.js +43 -43
- package/lib/ArrayMap.js +50 -50
- package/lib/AsyncDependenciesBlock.js +39 -39
- package/lib/AutomaticPrefetchPlugin.js +35 -35
- package/lib/BannerPlugin.js +34 -34
- package/lib/BasicEvaluatedExpression.js +140 -140
- package/lib/CachePlugin.js +43 -43
- package/lib/CaseSensitiveModulesWarning.js +16 -16
- package/lib/Chunk.js +252 -252
- package/lib/ChunkRenderError.js +17 -17
- package/lib/ChunkTemplate.js +37 -37
- package/lib/CompatibilityPlugin.js +42 -42
- package/lib/Compilation.js +891 -891
- package/lib/Compiler.js +407 -407
- package/lib/ConcatSource.js +5 -5
- package/lib/ConstPlugin.js +54 -54
- package/lib/ContextModule.js +130 -130
- package/lib/ContextModuleFactory.js +132 -132
- package/lib/ContextReplacementPlugin.js +93 -93
- package/lib/CriticalDependenciesWarning.js +24 -24
- package/lib/DefinePlugin.js +126 -126
- package/lib/DelegatedModule.js +69 -69
- package/lib/DelegatedModuleFactoryPlugin.js +51 -51
- package/lib/DelegatedPlugin.js +21 -21
- package/lib/DependenciesBlock.js +57 -57
- package/lib/DependenciesBlockVariable.js +41 -41
- package/lib/Dependency.js +54 -54
- package/lib/DllEntryPlugin.js +32 -32
- package/lib/DllModule.js +55 -55
- package/lib/DllModuleFactory.js +18 -18
- package/lib/DllPlugin.js +30 -30
- package/lib/DllReferencePlugin.js +26 -26
- package/lib/EntryModuleNotFoundError.js +15 -15
- package/lib/EntryOptionPlugin.js +28 -28
- package/lib/EnvironmentPlugin.js +28 -28
- package/lib/EvalDevToolModulePlugin.js +17 -17
- package/lib/EvalDevToolModuleTemplatePlugin.js +29 -29
- package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +68 -68
- package/lib/EvalSourceMapDevToolPlugin.js +25 -25
- package/lib/ExtendedAPIPlugin.js +45 -45
- package/lib/ExternalModule.js +89 -89
- package/lib/ExternalModuleFactoryPlugin.js +86 -86
- package/lib/ExternalsPlugin.js +16 -16
- package/lib/FunctionModulePlugin.js +18 -18
- package/lib/FunctionModuleTemplatePlugin.js +39 -39
- package/lib/HotModuleReplacement.runtime.js +486 -486
- package/lib/HotModuleReplacementPlugin.js +223 -223
- package/lib/HotUpdateChunkTemplate.js +28 -28
- package/lib/IgnorePlugin.js +32 -32
- package/lib/JsonpChunkTemplatePlugin.js +26 -26
- package/lib/JsonpExportMainTemplatePlugin.js +28 -28
- package/lib/JsonpHotUpdateChunkTemplatePlugin.js +26 -26
- package/lib/JsonpMainTemplate.runtime.js +56 -56
- package/lib/JsonpMainTemplatePlugin.js +162 -162
- package/lib/JsonpTemplatePlugin.js +17 -17
- package/lib/LibManifestPlugin.js +49 -49
- package/lib/LibraryTemplatePlugin.js +77 -77
- package/lib/LoaderTargetPlugin.js +16 -16
- package/lib/MainTemplate.js +169 -169
- package/lib/MemoryOutputFileSystem.js +5 -5
- package/lib/Module.js +116 -116
- package/lib/ModuleFilenameHelpers.js +157 -157
- package/lib/ModuleNotFoundError.js +17 -17
- package/lib/ModuleParseError.js +26 -26
- package/lib/ModuleParserHelpers.js +21 -21
- package/lib/ModuleReason.js +9 -9
- package/lib/ModuleTemplate.js +23 -23
- package/lib/MovedToPluginWarningPlugin.js +17 -17
- package/lib/MultiCompiler.js +166 -166
- package/lib/MultiEntryPlugin.js +31 -31
- package/lib/MultiModule.js +71 -71
- package/lib/MultiModuleFactory.js +18 -18
- package/lib/NamedModulesPlugin.js +21 -21
- package/lib/NewWatchingPlugin.js +12 -12
- package/lib/NoErrorsPlugin.js +18 -18
- package/lib/NodeStuffPlugin.js +99 -99
- package/lib/NormalModule.js +322 -322
- package/lib/NormalModuleFactory.js +171 -171
- package/lib/NormalModuleReplacementPlugin.js +40 -40
- package/lib/NullFactory.js +10 -10
- package/lib/OldWatchingPlugin.js +14 -14
- package/lib/OptionsApply.js +10 -10
- package/lib/OriginalSource.js +5 -5
- package/lib/Parser.js +938 -938
- package/lib/PrefetchPlugin.js +25 -25
- package/lib/ProgressPlugin.js +80 -80
- package/lib/ProvidePlugin.js +48 -48
- package/lib/RawModule.js +65 -65
- package/lib/RawSource.js +5 -5
- package/lib/RecordIdsPlugin.js +130 -130
- package/lib/RequestShortener.js +56 -56
- package/lib/RequireJsStuffPlugin.js +38 -38
- package/lib/ResolverPlugin.js +34 -34
- package/lib/SetVarMainTemplatePlugin.js +36 -36
- package/lib/SingleEntryPlugin.js +24 -24
- package/lib/Source.js +5 -5
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +33 -33
- package/lib/SourceMapDevToolPlugin.js +168 -168
- package/lib/SourceMapSource.js +5 -5
- package/lib/Stats.js +732 -732
- package/lib/Template.js +119 -119
- package/lib/TemplatedPathPlugin.js +111 -111
- package/lib/UmdMainTemplatePlugin.js +146 -146
- package/lib/UnsupportedFeatureWarning.js +14 -14
- package/lib/WarnCaseSensitiveModulesPlugin.js +27 -27
- package/lib/WatchIgnorePlugin.js +45 -45
- package/lib/WebpackOptionsApply.js +376 -376
- package/lib/WebpackOptionsDefaulter.js +112 -112
- package/lib/dependencies/AMDDefineDependency.js +63 -63
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +240 -240
- package/lib/dependencies/AMDPlugin.js +115 -115
- package/lib/dependencies/AMDRequireArrayDependency.js +34 -34
- package/lib/dependencies/AMDRequireContextDependency.js +18 -18
- package/lib/dependencies/AMDRequireDependenciesBlock.js +25 -25
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +145 -145
- package/lib/dependencies/AMDRequireDependency.js +64 -64
- package/lib/dependencies/AMDRequireItemDependency.js +17 -17
- package/lib/dependencies/CommonJsPlugin.js +93 -93
- package/lib/dependencies/CommonJsRequireContextDependency.js +18 -18
- package/lib/dependencies/CommonJsRequireDependency.js +17 -17
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +91 -91
- package/lib/dependencies/ConstDependency.js +29 -29
- package/lib/dependencies/ContextDependency.js +24 -24
- package/lib/dependencies/ContextDependencyHelpers.js +34 -34
- package/lib/dependencies/ContextDependencyTemplateAsId.js +22 -22
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +31 -31
- package/lib/dependencies/ContextElementDependency.js +17 -17
- package/lib/dependencies/DelegatedSourceDependency.js +14 -14
- package/lib/dependencies/DepBlockHelpers.js +41 -41
- package/lib/dependencies/DllEntryDependency.js +17 -17
- package/lib/dependencies/LabeledExportsDependency.js +21 -21
- package/lib/dependencies/LabeledModuleDependency.js +36 -36
- package/lib/dependencies/LabeledModuleDependencyParserPlugin.js +76 -76
- package/lib/dependencies/LabeledModulesPlugin.js +26 -26
- package/lib/dependencies/LoaderDependency.js +14 -14
- package/lib/dependencies/LoaderPlugin.js +61 -61
- package/lib/dependencies/LocalModule.js +19 -19
- package/lib/dependencies/LocalModuleDependency.js +23 -23
- package/lib/dependencies/LocalModulesHelpers.js +43 -43
- package/lib/dependencies/ModuleDependency.js +20 -20
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +22 -22
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +22 -22
- package/lib/dependencies/ModuleHotAcceptDependency.js +18 -18
- package/lib/dependencies/ModuleHotDeclineDependency.js +18 -18
- package/lib/dependencies/MultiEntryDependency.js +16 -16
- package/lib/dependencies/NullDependency.js +17 -17
- package/lib/dependencies/NullDependencyTemplate.js +8 -8
- package/lib/dependencies/PrefetchDependency.js +14 -14
- package/lib/dependencies/RequireContextDependency.js +17 -17
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +33 -33
- package/lib/dependencies/RequireContextPlugin.js +64 -64
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +20 -20
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +66 -66
- package/lib/dependencies/RequireEnsureDependency.js +29 -29
- package/lib/dependencies/RequireEnsureItemDependency.js +16 -16
- package/lib/dependencies/RequireEnsurePlugin.js +38 -38
- package/lib/dependencies/RequireHeaderDependency.js +25 -25
- package/lib/dependencies/RequireIncludeDependency.js +25 -25
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +18 -18
- package/lib/dependencies/RequireIncludePlugin.js +31 -31
- package/lib/dependencies/RequireResolveContextDependency.js +18 -18
- package/lib/dependencies/RequireResolveDependency.js +17 -17
- package/lib/dependencies/RequireResolveDependencyParserPlugin.js +69 -69
- package/lib/dependencies/RequireResolveHeaderDependency.js +25 -25
- package/lib/dependencies/SingleEntryDependency.js +14 -14
- package/lib/dependencies/TemplateArgumentDependency.js +26 -26
- package/lib/dependencies/WebpackMissingModule.js +23 -23
- package/lib/dependencies/getFunctionExpression.js +43 -43
- package/lib/node/NodeChunkTemplatePlugin.js +22 -22
- package/lib/node/NodeEnvironmentPlugin.js +25 -25
- package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +24 -24
- package/lib/node/NodeMainTemplate.runtime.js +20 -20
- package/lib/node/NodeMainTemplateAsync.runtime.js +34 -34
- package/lib/node/NodeMainTemplatePlugin.js +164 -164
- package/lib/node/NodeOutputFileSystem.js +17 -17
- package/lib/node/NodeSourcePlugin.js +85 -75
- package/lib/node/NodeTargetPlugin.js +12 -12
- package/lib/node/NodeTemplatePlugin.js +21 -21
- package/lib/node/NodeWatchFileSystem.js +65 -65
- package/lib/node/OldNodeWatchFileSystem.js +265 -265
- package/lib/optimize/AggressiveMergingPlugin.js +115 -115
- package/lib/optimize/CommonsChunkPlugin.js +178 -178
- package/lib/optimize/DedupePlugin.js +227 -227
- package/lib/optimize/FlagIncludedChunksPlugin.js +24 -24
- package/lib/optimize/LimitChunkCountPlugin.js +55 -55
- package/lib/optimize/MergeDuplicateChunksPlugin.js +30 -30
- package/lib/optimize/MinChunkSizePlugin.js +61 -61
- package/lib/optimize/OccurenceOrderPlugin.js +5 -5
- package/lib/optimize/OccurrenceOrderPlugin.js +91 -91
- package/lib/optimize/RemoveEmptyChunksPlugin.js +19 -19
- package/lib/optimize/RemoveParentModulesPlugin.js +50 -50
- package/lib/optimize/UglifyJsPlugin.js +146 -146
- package/lib/removeAndDo.js +13 -13
- package/lib/web/WebEnvironmentPlugin.js +16 -16
- package/lib/webpack.js +113 -113
- package/lib/webpack.web.js +27 -27
- package/lib/webworker/WebWorkerChunkTemplatePlugin.js +26 -26
- package/lib/webworker/WebWorkerMainTemplatePlugin.js +78 -78
- package/lib/webworker/WebWorkerTemplatePlugin.js +15 -15
- package/package.json +4 -4
@@ -1,146 +1,146 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var SourceMapConsumer = require("webpack-core/lib/source-map").SourceMapConsumer;
|
6
|
-
var SourceMapSource = require("webpack-core/lib/SourceMapSource");
|
7
|
-
var RawSource = require("webpack-core/lib/RawSource");
|
8
|
-
var RequestShortener = require("../RequestShortener");
|
9
|
-
var ModuleFilenameHelpers = require("../ModuleFilenameHelpers");
|
10
|
-
var uglify = require("uglify-js");
|
11
|
-
|
12
|
-
function UglifyJsPlugin(options) {
|
13
|
-
if(typeof options !== "object") options = {};
|
14
|
-
if(typeof options.compressor !== "undefined") {
|
15
|
-
options.compress = options.compressor;
|
16
|
-
}
|
17
|
-
this.options = options;
|
18
|
-
}
|
19
|
-
module.exports = UglifyJsPlugin;
|
20
|
-
|
21
|
-
UglifyJsPlugin.prototype.apply = function(compiler) {
|
22
|
-
var options = this.options;
|
23
|
-
options.test = options.test || /\.js($|\?)/i;
|
24
|
-
|
25
|
-
var requestShortener = new RequestShortener(compiler.context);
|
26
|
-
compiler.plugin("compilation", function(compilation) {
|
27
|
-
if(options.sourceMap !== false) {
|
28
|
-
compilation.plugin("build-module", function(module) {
|
29
|
-
// to get detailed location info about errors
|
30
|
-
module.useSourceMap = true;
|
31
|
-
});
|
32
|
-
}
|
33
|
-
compilation.plugin("optimize-chunk-assets", function(chunks, callback) {
|
34
|
-
var files = [];
|
35
|
-
chunks.forEach(function(chunk) {
|
36
|
-
chunk.files.forEach(function(file) {
|
37
|
-
files.push(file);
|
38
|
-
});
|
39
|
-
});
|
40
|
-
compilation.additionalChunkAssets.forEach(function(file) {
|
41
|
-
files.push(file);
|
42
|
-
});
|
43
|
-
files = files.filter(ModuleFilenameHelpers.matchObject.bind(undefined, options));
|
44
|
-
files.forEach(function(file) {
|
45
|
-
var oldWarnFunction = uglify.AST_Node.warn_function;
|
46
|
-
var warnings = [];
|
47
|
-
try {
|
48
|
-
var asset = compilation.assets[file];
|
49
|
-
if(asset.__UglifyJsPlugin) {
|
50
|
-
compilation.assets[file] = asset.__UglifyJsPlugin;
|
51
|
-
return;
|
52
|
-
}
|
53
|
-
if(options.sourceMap !== false) {
|
54
|
-
if(asset.sourceAndMap) {
|
55
|
-
var sourceAndMap = asset.sourceAndMap();
|
56
|
-
var inputSourceMap = sourceAndMap.map;
|
57
|
-
var input = sourceAndMap.source;
|
58
|
-
} else {
|
59
|
-
var inputSourceMap = asset.map();
|
60
|
-
var input = asset.source();
|
61
|
-
}
|
62
|
-
var sourceMap = new SourceMapConsumer(inputSourceMap);
|
63
|
-
uglify.AST_Node.warn_function = function(warning) { // eslint-disable-line camelcase
|
64
|
-
var match = /\[.+:([0-9]+),([0-9]+)\]/.exec(warning);
|
65
|
-
var line = +match[1];
|
66
|
-
var column = +match[2];
|
67
|
-
var original = sourceMap.originalPositionFor({
|
68
|
-
line: line,
|
69
|
-
column: column
|
70
|
-
});
|
71
|
-
if(!original || !original.source || original.source === file) return;
|
72
|
-
warnings.push(warning.replace(/\[.+:([0-9]+),([0-9]+)\]/, "") +
|
73
|
-
"[" + requestShortener.shorten(original.source) + ":" + original.line + "," + original.column + "]");
|
74
|
-
};
|
75
|
-
} else {
|
76
|
-
var input = asset.source();
|
77
|
-
uglify.AST_Node.warn_function = function(warning) { // eslint-disable-line camelcase
|
78
|
-
warnings.push(warning);
|
79
|
-
};
|
80
|
-
}
|
81
|
-
uglify.base54.reset();
|
82
|
-
var ast = uglify.parse(input, {
|
83
|
-
filename: file
|
84
|
-
});
|
85
|
-
if(options.compress !== false) {
|
86
|
-
ast.figure_out_scope();
|
87
|
-
var compress = uglify.Compressor(options.compress); // eslint-disable-line new-cap
|
88
|
-
ast = ast.transform(compress);
|
89
|
-
}
|
90
|
-
if(options.mangle !== false) {
|
91
|
-
ast.figure_out_scope();
|
92
|
-
ast.compute_char_frequency(options.mangle || {});
|
93
|
-
ast.mangle_names(options.mangle || {});
|
94
|
-
if(options.mangle && options.mangle.props) {
|
95
|
-
uglify.mangle_properties(ast, options.mangle.props);
|
96
|
-
}
|
97
|
-
}
|
98
|
-
var output = {};
|
99
|
-
output.comments = Object.prototype.hasOwnProperty.call(options, "comments") ? options.comments : /^\**!|@preserve|@license/;
|
100
|
-
output.beautify = options.beautify;
|
101
|
-
for(var k in options.output) {
|
102
|
-
output[k] = options.output[k];
|
103
|
-
}
|
104
|
-
if(options.sourceMap !== false) {
|
105
|
-
var map = uglify.SourceMap({ // eslint-disable-line new-cap
|
106
|
-
file: file,
|
107
|
-
root: ""
|
108
|
-
});
|
109
|
-
output.source_map = map; // eslint-disable-line camelcase
|
110
|
-
}
|
111
|
-
var stream = uglify.OutputStream(output); // eslint-disable-line new-cap
|
112
|
-
ast.print(stream);
|
113
|
-
if(map) map = map + "";
|
114
|
-
stream = stream + "";
|
115
|
-
asset.__UglifyJsPlugin = compilation.assets[file] = (map ?
|
116
|
-
new SourceMapSource(stream, file, JSON.parse(map), input, inputSourceMap) :
|
117
|
-
new RawSource(stream));
|
118
|
-
if(warnings.length > 0) {
|
119
|
-
compilation.warnings.push(new Error(file + " from UglifyJs\n" + warnings.join("\n")));
|
120
|
-
}
|
121
|
-
} catch(err) {
|
122
|
-
if(err.line) {
|
123
|
-
var original = sourceMap && sourceMap.originalPositionFor({
|
124
|
-
line: err.line,
|
125
|
-
column: err.col
|
126
|
-
});
|
127
|
-
if(original && original.source) {
|
128
|
-
compilation.errors.push(new Error(file + " from UglifyJs\n" + err.message + " [" + requestShortener.shorten(original.source) + ":" + original.line + "," + original.column + "]"));
|
129
|
-
} else {
|
130
|
-
compilation.errors.push(new Error(file + " from UglifyJs\n" + err.message + " [" + file + ":" + err.line + "," + err.col + "]"));
|
131
|
-
}
|
132
|
-
} else if(err.msg) {
|
133
|
-
compilation.errors.push(new Error(file + " from UglifyJs\n" + err.msg));
|
134
|
-
} else
|
135
|
-
compilation.errors.push(new Error(file + " from UglifyJs\n" + err.stack));
|
136
|
-
} finally {
|
137
|
-
uglify.AST_Node.warn_function = oldWarnFunction; // eslint-disable-line camelcase
|
138
|
-
}
|
139
|
-
});
|
140
|
-
callback();
|
141
|
-
});
|
142
|
-
compilation.plugin("normal-module-loader", function(context) {
|
143
|
-
context.minimize = true;
|
144
|
-
});
|
145
|
-
});
|
146
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var SourceMapConsumer = require("webpack-core/lib/source-map").SourceMapConsumer;
|
6
|
+
var SourceMapSource = require("webpack-core/lib/SourceMapSource");
|
7
|
+
var RawSource = require("webpack-core/lib/RawSource");
|
8
|
+
var RequestShortener = require("../RequestShortener");
|
9
|
+
var ModuleFilenameHelpers = require("../ModuleFilenameHelpers");
|
10
|
+
var uglify = require("uglify-js");
|
11
|
+
|
12
|
+
function UglifyJsPlugin(options) {
|
13
|
+
if(typeof options !== "object") options = {};
|
14
|
+
if(typeof options.compressor !== "undefined") {
|
15
|
+
options.compress = options.compressor;
|
16
|
+
}
|
17
|
+
this.options = options;
|
18
|
+
}
|
19
|
+
module.exports = UglifyJsPlugin;
|
20
|
+
|
21
|
+
UglifyJsPlugin.prototype.apply = function(compiler) {
|
22
|
+
var options = this.options;
|
23
|
+
options.test = options.test || /\.js($|\?)/i;
|
24
|
+
|
25
|
+
var requestShortener = new RequestShortener(compiler.context);
|
26
|
+
compiler.plugin("compilation", function(compilation) {
|
27
|
+
if(options.sourceMap !== false) {
|
28
|
+
compilation.plugin("build-module", function(module) {
|
29
|
+
// to get detailed location info about errors
|
30
|
+
module.useSourceMap = true;
|
31
|
+
});
|
32
|
+
}
|
33
|
+
compilation.plugin("optimize-chunk-assets", function(chunks, callback) {
|
34
|
+
var files = [];
|
35
|
+
chunks.forEach(function(chunk) {
|
36
|
+
chunk.files.forEach(function(file) {
|
37
|
+
files.push(file);
|
38
|
+
});
|
39
|
+
});
|
40
|
+
compilation.additionalChunkAssets.forEach(function(file) {
|
41
|
+
files.push(file);
|
42
|
+
});
|
43
|
+
files = files.filter(ModuleFilenameHelpers.matchObject.bind(undefined, options));
|
44
|
+
files.forEach(function(file) {
|
45
|
+
var oldWarnFunction = uglify.AST_Node.warn_function;
|
46
|
+
var warnings = [];
|
47
|
+
try {
|
48
|
+
var asset = compilation.assets[file];
|
49
|
+
if(asset.__UglifyJsPlugin) {
|
50
|
+
compilation.assets[file] = asset.__UglifyJsPlugin;
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
if(options.sourceMap !== false) {
|
54
|
+
if(asset.sourceAndMap) {
|
55
|
+
var sourceAndMap = asset.sourceAndMap();
|
56
|
+
var inputSourceMap = sourceAndMap.map;
|
57
|
+
var input = sourceAndMap.source;
|
58
|
+
} else {
|
59
|
+
var inputSourceMap = asset.map();
|
60
|
+
var input = asset.source();
|
61
|
+
}
|
62
|
+
var sourceMap = new SourceMapConsumer(inputSourceMap);
|
63
|
+
uglify.AST_Node.warn_function = function(warning) { // eslint-disable-line camelcase
|
64
|
+
var match = /\[.+:([0-9]+),([0-9]+)\]/.exec(warning);
|
65
|
+
var line = +match[1];
|
66
|
+
var column = +match[2];
|
67
|
+
var original = sourceMap.originalPositionFor({
|
68
|
+
line: line,
|
69
|
+
column: column
|
70
|
+
});
|
71
|
+
if(!original || !original.source || original.source === file) return;
|
72
|
+
warnings.push(warning.replace(/\[.+:([0-9]+),([0-9]+)\]/, "") +
|
73
|
+
"[" + requestShortener.shorten(original.source) + ":" + original.line + "," + original.column + "]");
|
74
|
+
};
|
75
|
+
} else {
|
76
|
+
var input = asset.source();
|
77
|
+
uglify.AST_Node.warn_function = function(warning) { // eslint-disable-line camelcase
|
78
|
+
warnings.push(warning);
|
79
|
+
};
|
80
|
+
}
|
81
|
+
uglify.base54.reset();
|
82
|
+
var ast = uglify.parse(input, {
|
83
|
+
filename: file
|
84
|
+
});
|
85
|
+
if(options.compress !== false) {
|
86
|
+
ast.figure_out_scope();
|
87
|
+
var compress = uglify.Compressor(options.compress); // eslint-disable-line new-cap
|
88
|
+
ast = ast.transform(compress);
|
89
|
+
}
|
90
|
+
if(options.mangle !== false) {
|
91
|
+
ast.figure_out_scope();
|
92
|
+
ast.compute_char_frequency(options.mangle || {});
|
93
|
+
ast.mangle_names(options.mangle || {});
|
94
|
+
if(options.mangle && options.mangle.props) {
|
95
|
+
uglify.mangle_properties(ast, options.mangle.props);
|
96
|
+
}
|
97
|
+
}
|
98
|
+
var output = {};
|
99
|
+
output.comments = Object.prototype.hasOwnProperty.call(options, "comments") ? options.comments : /^\**!|@preserve|@license/;
|
100
|
+
output.beautify = options.beautify;
|
101
|
+
for(var k in options.output) {
|
102
|
+
output[k] = options.output[k];
|
103
|
+
}
|
104
|
+
if(options.sourceMap !== false) {
|
105
|
+
var map = uglify.SourceMap({ // eslint-disable-line new-cap
|
106
|
+
file: file,
|
107
|
+
root: ""
|
108
|
+
});
|
109
|
+
output.source_map = map; // eslint-disable-line camelcase
|
110
|
+
}
|
111
|
+
var stream = uglify.OutputStream(output); // eslint-disable-line new-cap
|
112
|
+
ast.print(stream);
|
113
|
+
if(map) map = map + "";
|
114
|
+
stream = stream + "";
|
115
|
+
asset.__UglifyJsPlugin = compilation.assets[file] = (map ?
|
116
|
+
new SourceMapSource(stream, file, JSON.parse(map), input, inputSourceMap) :
|
117
|
+
new RawSource(stream));
|
118
|
+
if(warnings.length > 0) {
|
119
|
+
compilation.warnings.push(new Error(file + " from UglifyJs\n" + warnings.join("\n")));
|
120
|
+
}
|
121
|
+
} catch(err) {
|
122
|
+
if(err.line) {
|
123
|
+
var original = sourceMap && sourceMap.originalPositionFor({
|
124
|
+
line: err.line,
|
125
|
+
column: err.col
|
126
|
+
});
|
127
|
+
if(original && original.source) {
|
128
|
+
compilation.errors.push(new Error(file + " from UglifyJs\n" + err.message + " [" + requestShortener.shorten(original.source) + ":" + original.line + "," + original.column + "]"));
|
129
|
+
} else {
|
130
|
+
compilation.errors.push(new Error(file + " from UglifyJs\n" + err.message + " [" + file + ":" + err.line + "," + err.col + "]"));
|
131
|
+
}
|
132
|
+
} else if(err.msg) {
|
133
|
+
compilation.errors.push(new Error(file + " from UglifyJs\n" + err.msg));
|
134
|
+
} else
|
135
|
+
compilation.errors.push(new Error(file + " from UglifyJs\n" + err.stack));
|
136
|
+
} finally {
|
137
|
+
uglify.AST_Node.warn_function = oldWarnFunction; // eslint-disable-line camelcase
|
138
|
+
}
|
139
|
+
});
|
140
|
+
callback();
|
141
|
+
});
|
142
|
+
compilation.plugin("normal-module-loader", function(context) {
|
143
|
+
context.minimize = true;
|
144
|
+
});
|
145
|
+
});
|
146
|
+
};
|
package/lib/removeAndDo.js
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
module.exports = function removeAndDo(collection, thing, action) {
|
6
|
-
var idx = this[collection].indexOf(thing);
|
7
|
-
if(idx >= 0) {
|
8
|
-
this[collection].splice(idx, 1);
|
9
|
-
thing[action](this);
|
10
|
-
return true;
|
11
|
-
}
|
12
|
-
return false;
|
13
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
module.exports = function removeAndDo(collection, thing, action) {
|
6
|
+
var idx = this[collection].indexOf(thing);
|
7
|
+
if(idx >= 0) {
|
8
|
+
this[collection].splice(idx, 1);
|
9
|
+
thing[action](this);
|
10
|
+
return true;
|
11
|
+
}
|
12
|
+
return false;
|
13
|
+
};
|
@@ -1,16 +1,16 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
function WebEnvironmentPlugin(inputFileSystem, outputFileSystem) {
|
6
|
-
this.inputFileSystem = inputFileSystem;
|
7
|
-
this.outputFileSystem = outputFileSystem;
|
8
|
-
}
|
9
|
-
module.exports = WebEnvironmentPlugin;
|
10
|
-
WebEnvironmentPlugin.prototype.apply = function(compiler) {
|
11
|
-
var inputFileSystem = compiler.inputFileSystem = this.inputFileSystem;
|
12
|
-
compiler.resolvers.normal.fileSystem = inputFileSystem;
|
13
|
-
compiler.resolvers.context.fileSystem = inputFileSystem;
|
14
|
-
compiler.resolvers.loader.fileSystem = inputFileSystem;
|
15
|
-
compiler.outputFileSystem = this.outputFileSystem;
|
16
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
function WebEnvironmentPlugin(inputFileSystem, outputFileSystem) {
|
6
|
+
this.inputFileSystem = inputFileSystem;
|
7
|
+
this.outputFileSystem = outputFileSystem;
|
8
|
+
}
|
9
|
+
module.exports = WebEnvironmentPlugin;
|
10
|
+
WebEnvironmentPlugin.prototype.apply = function(compiler) {
|
11
|
+
var inputFileSystem = compiler.inputFileSystem = this.inputFileSystem;
|
12
|
+
compiler.resolvers.normal.fileSystem = inputFileSystem;
|
13
|
+
compiler.resolvers.context.fileSystem = inputFileSystem;
|
14
|
+
compiler.resolvers.loader.fileSystem = inputFileSystem;
|
15
|
+
compiler.outputFileSystem = this.outputFileSystem;
|
16
|
+
};
|
package/lib/webpack.js
CHANGED
@@ -1,113 +1,113 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var Compiler = require("./Compiler");
|
6
|
-
var MultiCompiler = require("./MultiCompiler");
|
7
|
-
var NodeEnvironmentPlugin = require("./node/NodeEnvironmentPlugin");
|
8
|
-
var WebpackOptionsApply = require("./WebpackOptionsApply");
|
9
|
-
var WebpackOptionsDefaulter = require("./WebpackOptionsDefaulter");
|
10
|
-
|
11
|
-
function webpack(options, callback) {
|
12
|
-
var compiler;
|
13
|
-
if(Array.isArray(options)) {
|
14
|
-
compiler = new MultiCompiler(options.map(function(options) {
|
15
|
-
return webpack(options);
|
16
|
-
}));
|
17
|
-
} else if(typeof options === "object") {
|
18
|
-
new WebpackOptionsDefaulter().process(options);
|
19
|
-
|
20
|
-
compiler = new Compiler();
|
21
|
-
compiler.options = options;
|
22
|
-
compiler.options = new WebpackOptionsApply().process(options, compiler);
|
23
|
-
new NodeEnvironmentPlugin().apply(compiler);
|
24
|
-
compiler.applyPlugins("environment");
|
25
|
-
compiler.applyPlugins("after-environment");
|
26
|
-
} else {
|
27
|
-
throw new Error("Invalid argument: options");
|
28
|
-
}
|
29
|
-
if(callback) {
|
30
|
-
if(typeof callback !== "function") throw new Error("Invalid argument: callback");
|
31
|
-
if(options.watch === true || (Array.isArray(options) &&
|
32
|
-
options.some(function(o) {
|
33
|
-
return o.watch;
|
34
|
-
}))) {
|
35
|
-
var watchOptions = (!Array.isArray(options) ? options : options[0]).watchOptions || {};
|
36
|
-
// TODO remove this in next major version
|
37
|
-
var watchDelay = (!Array.isArray(options) ? options : options[0]).watchDelay;
|
38
|
-
if(watchDelay) {
|
39
|
-
console.warn("options.watchDelay is deprecated: Use 'options.watchOptions.aggregateTimeout' instead");
|
40
|
-
watchOptions.aggregateTimeout = watchDelay;
|
41
|
-
}
|
42
|
-
return compiler.watch(watchOptions, callback);
|
43
|
-
}
|
44
|
-
compiler.run(callback);
|
45
|
-
}
|
46
|
-
return compiler;
|
47
|
-
}
|
48
|
-
exports = module.exports = webpack;
|
49
|
-
|
50
|
-
webpack.WebpackOptionsDefaulter = WebpackOptionsDefaulter;
|
51
|
-
webpack.WebpackOptionsApply = WebpackOptionsApply;
|
52
|
-
webpack.Compiler = Compiler;
|
53
|
-
webpack.MultiCompiler = MultiCompiler;
|
54
|
-
webpack.NodeEnvironmentPlugin = NodeEnvironmentPlugin;
|
55
|
-
|
56
|
-
function exportPlugins(exports, path, plugins) {
|
57
|
-
plugins.forEach(function(name) {
|
58
|
-
Object.defineProperty(exports, name, {
|
59
|
-
configurable: false,
|
60
|
-
enumerable: true,
|
61
|
-
get: function() {
|
62
|
-
return require(path + "/" + name);
|
63
|
-
}
|
64
|
-
});
|
65
|
-
});
|
66
|
-
}
|
67
|
-
|
68
|
-
exportPlugins(exports, ".", [
|
69
|
-
"DefinePlugin",
|
70
|
-
"NormalModuleReplacementPlugin",
|
71
|
-
"ContextReplacementPlugin",
|
72
|
-
"IgnorePlugin",
|
73
|
-
"WatchIgnorePlugin",
|
74
|
-
"BannerPlugin",
|
75
|
-
"PrefetchPlugin",
|
76
|
-
"AutomaticPrefetchPlugin",
|
77
|
-
"ProvidePlugin",
|
78
|
-
"HotModuleReplacementPlugin",
|
79
|
-
"ResolverPlugin",
|
80
|
-
"SourceMapDevToolPlugin",
|
81
|
-
"EvalSourceMapDevToolPlugin",
|
82
|
-
"EvalDevToolModulePlugin",
|
83
|
-
"CachePlugin",
|
84
|
-
"ExtendedAPIPlugin",
|
85
|
-
"ExternalsPlugin",
|
86
|
-
"JsonpTemplatePlugin",
|
87
|
-
"LibraryTemplatePlugin",
|
88
|
-
"LoaderTargetPlugin",
|
89
|
-
"MemoryOutputFileSystem",
|
90
|
-
"ProgressPlugin",
|
91
|
-
"SetVarMainTemplatePlugin",
|
92
|
-
"UmdMainTemplatePlugin",
|
93
|
-
"NoErrorsPlugin",
|
94
|
-
"NewWatchingPlugin",
|
95
|
-
"OldWatchingPlugin",
|
96
|
-
"EnvironmentPlugin",
|
97
|
-
"DllPlugin",
|
98
|
-
"DllReferencePlugin",
|
99
|
-
"NamedModulesPlugin"
|
100
|
-
]);
|
101
|
-
exportPlugins(exports.optimize = {}, "./optimize", [
|
102
|
-
"AggressiveMergingPlugin",
|
103
|
-
"CommonsChunkPlugin",
|
104
|
-
"DedupePlugin",
|
105
|
-
"LimitChunkCountPlugin",
|
106
|
-
"MinChunkSizePlugin",
|
107
|
-
"OccurenceOrderPlugin",
|
108
|
-
"OccurrenceOrderPlugin",
|
109
|
-
"UglifyJsPlugin"
|
110
|
-
]);
|
111
|
-
exportPlugins(exports.dependencies = {}, "./dependencies", [
|
112
|
-
"LabeledModulesPlugin"
|
113
|
-
]);
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var Compiler = require("./Compiler");
|
6
|
+
var MultiCompiler = require("./MultiCompiler");
|
7
|
+
var NodeEnvironmentPlugin = require("./node/NodeEnvironmentPlugin");
|
8
|
+
var WebpackOptionsApply = require("./WebpackOptionsApply");
|
9
|
+
var WebpackOptionsDefaulter = require("./WebpackOptionsDefaulter");
|
10
|
+
|
11
|
+
function webpack(options, callback) {
|
12
|
+
var compiler;
|
13
|
+
if(Array.isArray(options)) {
|
14
|
+
compiler = new MultiCompiler(options.map(function(options) {
|
15
|
+
return webpack(options);
|
16
|
+
}));
|
17
|
+
} else if(typeof options === "object") {
|
18
|
+
new WebpackOptionsDefaulter().process(options);
|
19
|
+
|
20
|
+
compiler = new Compiler();
|
21
|
+
compiler.options = options;
|
22
|
+
compiler.options = new WebpackOptionsApply().process(options, compiler);
|
23
|
+
new NodeEnvironmentPlugin().apply(compiler);
|
24
|
+
compiler.applyPlugins("environment");
|
25
|
+
compiler.applyPlugins("after-environment");
|
26
|
+
} else {
|
27
|
+
throw new Error("Invalid argument: options");
|
28
|
+
}
|
29
|
+
if(callback) {
|
30
|
+
if(typeof callback !== "function") throw new Error("Invalid argument: callback");
|
31
|
+
if(options.watch === true || (Array.isArray(options) &&
|
32
|
+
options.some(function(o) {
|
33
|
+
return o.watch;
|
34
|
+
}))) {
|
35
|
+
var watchOptions = (!Array.isArray(options) ? options : options[0]).watchOptions || {};
|
36
|
+
// TODO remove this in next major version
|
37
|
+
var watchDelay = (!Array.isArray(options) ? options : options[0]).watchDelay;
|
38
|
+
if(watchDelay) {
|
39
|
+
console.warn("options.watchDelay is deprecated: Use 'options.watchOptions.aggregateTimeout' instead");
|
40
|
+
watchOptions.aggregateTimeout = watchDelay;
|
41
|
+
}
|
42
|
+
return compiler.watch(watchOptions, callback);
|
43
|
+
}
|
44
|
+
compiler.run(callback);
|
45
|
+
}
|
46
|
+
return compiler;
|
47
|
+
}
|
48
|
+
exports = module.exports = webpack;
|
49
|
+
|
50
|
+
webpack.WebpackOptionsDefaulter = WebpackOptionsDefaulter;
|
51
|
+
webpack.WebpackOptionsApply = WebpackOptionsApply;
|
52
|
+
webpack.Compiler = Compiler;
|
53
|
+
webpack.MultiCompiler = MultiCompiler;
|
54
|
+
webpack.NodeEnvironmentPlugin = NodeEnvironmentPlugin;
|
55
|
+
|
56
|
+
function exportPlugins(exports, path, plugins) {
|
57
|
+
plugins.forEach(function(name) {
|
58
|
+
Object.defineProperty(exports, name, {
|
59
|
+
configurable: false,
|
60
|
+
enumerable: true,
|
61
|
+
get: function() {
|
62
|
+
return require(path + "/" + name);
|
63
|
+
}
|
64
|
+
});
|
65
|
+
});
|
66
|
+
}
|
67
|
+
|
68
|
+
exportPlugins(exports, ".", [
|
69
|
+
"DefinePlugin",
|
70
|
+
"NormalModuleReplacementPlugin",
|
71
|
+
"ContextReplacementPlugin",
|
72
|
+
"IgnorePlugin",
|
73
|
+
"WatchIgnorePlugin",
|
74
|
+
"BannerPlugin",
|
75
|
+
"PrefetchPlugin",
|
76
|
+
"AutomaticPrefetchPlugin",
|
77
|
+
"ProvidePlugin",
|
78
|
+
"HotModuleReplacementPlugin",
|
79
|
+
"ResolverPlugin",
|
80
|
+
"SourceMapDevToolPlugin",
|
81
|
+
"EvalSourceMapDevToolPlugin",
|
82
|
+
"EvalDevToolModulePlugin",
|
83
|
+
"CachePlugin",
|
84
|
+
"ExtendedAPIPlugin",
|
85
|
+
"ExternalsPlugin",
|
86
|
+
"JsonpTemplatePlugin",
|
87
|
+
"LibraryTemplatePlugin",
|
88
|
+
"LoaderTargetPlugin",
|
89
|
+
"MemoryOutputFileSystem",
|
90
|
+
"ProgressPlugin",
|
91
|
+
"SetVarMainTemplatePlugin",
|
92
|
+
"UmdMainTemplatePlugin",
|
93
|
+
"NoErrorsPlugin",
|
94
|
+
"NewWatchingPlugin",
|
95
|
+
"OldWatchingPlugin",
|
96
|
+
"EnvironmentPlugin",
|
97
|
+
"DllPlugin",
|
98
|
+
"DllReferencePlugin",
|
99
|
+
"NamedModulesPlugin"
|
100
|
+
]);
|
101
|
+
exportPlugins(exports.optimize = {}, "./optimize", [
|
102
|
+
"AggressiveMergingPlugin",
|
103
|
+
"CommonsChunkPlugin",
|
104
|
+
"DedupePlugin",
|
105
|
+
"LimitChunkCountPlugin",
|
106
|
+
"MinChunkSizePlugin",
|
107
|
+
"OccurenceOrderPlugin",
|
108
|
+
"OccurrenceOrderPlugin",
|
109
|
+
"UglifyJsPlugin"
|
110
|
+
]);
|
111
|
+
exportPlugins(exports.dependencies = {}, "./dependencies", [
|
112
|
+
"LabeledModulesPlugin"
|
113
|
+
]);
|
package/lib/webpack.web.js
CHANGED
@@ -1,27 +1,27 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var Compiler = require("./Compiler");
|
6
|
-
var WebEnvironmentPlugin = require("./web/WebEnvironmentPlugin");
|
7
|
-
var WebpackOptionsApply = require("./WebpackOptionsApply");
|
8
|
-
var WebpackOptionsDefaulter = require("./WebpackOptionsDefaulter");
|
9
|
-
|
10
|
-
function webpack(options, callback) {
|
11
|
-
new WebpackOptionsDefaulter().process(options);
|
12
|
-
|
13
|
-
var compiler = new Compiler();
|
14
|
-
compiler.options = options;
|
15
|
-
compiler.options = new WebpackOptionsApply().process(options, compiler);
|
16
|
-
new WebEnvironmentPlugin(options.inputFileSystem, options.outputFileSystem).apply(compiler);
|
17
|
-
if(callback) {
|
18
|
-
compiler.run(callback);
|
19
|
-
}
|
20
|
-
return compiler;
|
21
|
-
}
|
22
|
-
module.exports = webpack;
|
23
|
-
|
24
|
-
webpack.WebpackOptionsDefaulter = WebpackOptionsDefaulter;
|
25
|
-
webpack.WebpackOptionsApply = WebpackOptionsApply;
|
26
|
-
webpack.Compiler = Compiler;
|
27
|
-
webpack.WebEnvironmentPlugin = WebEnvironmentPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var Compiler = require("./Compiler");
|
6
|
+
var WebEnvironmentPlugin = require("./web/WebEnvironmentPlugin");
|
7
|
+
var WebpackOptionsApply = require("./WebpackOptionsApply");
|
8
|
+
var WebpackOptionsDefaulter = require("./WebpackOptionsDefaulter");
|
9
|
+
|
10
|
+
function webpack(options, callback) {
|
11
|
+
new WebpackOptionsDefaulter().process(options);
|
12
|
+
|
13
|
+
var compiler = new Compiler();
|
14
|
+
compiler.options = options;
|
15
|
+
compiler.options = new WebpackOptionsApply().process(options, compiler);
|
16
|
+
new WebEnvironmentPlugin(options.inputFileSystem, options.outputFileSystem).apply(compiler);
|
17
|
+
if(callback) {
|
18
|
+
compiler.run(callback);
|
19
|
+
}
|
20
|
+
return compiler;
|
21
|
+
}
|
22
|
+
module.exports = webpack;
|
23
|
+
|
24
|
+
webpack.WebpackOptionsDefaulter = WebpackOptionsDefaulter;
|
25
|
+
webpack.WebpackOptionsApply = WebpackOptionsApply;
|
26
|
+
webpack.Compiler = Compiler;
|
27
|
+
webpack.WebEnvironmentPlugin = WebEnvironmentPlugin;
|