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.
Files changed (212) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +310 -310
  3. package/buildin/amd-define.js +1 -1
  4. package/buildin/amd-options.js +1 -1
  5. package/buildin/module.js +10 -10
  6. package/hot/dev-server.js +63 -63
  7. package/hot/log-apply-result.js +25 -25
  8. package/hot/only-dev-server.js +77 -77
  9. package/hot/poll.js +37 -37
  10. package/hot/signal.js +65 -65
  11. package/lib/APIPlugin.js +49 -49
  12. package/lib/AbstractPlugin.js +22 -22
  13. package/lib/AmdMainTemplatePlugin.js +43 -43
  14. package/lib/ArrayMap.js +50 -50
  15. package/lib/AsyncDependenciesBlock.js +39 -39
  16. package/lib/AutomaticPrefetchPlugin.js +35 -35
  17. package/lib/BannerPlugin.js +34 -34
  18. package/lib/BasicEvaluatedExpression.js +140 -140
  19. package/lib/CachePlugin.js +43 -43
  20. package/lib/CaseSensitiveModulesWarning.js +16 -16
  21. package/lib/Chunk.js +252 -252
  22. package/lib/ChunkRenderError.js +17 -17
  23. package/lib/ChunkTemplate.js +37 -37
  24. package/lib/CompatibilityPlugin.js +42 -42
  25. package/lib/Compilation.js +891 -891
  26. package/lib/Compiler.js +407 -407
  27. package/lib/ConcatSource.js +5 -5
  28. package/lib/ConstPlugin.js +54 -54
  29. package/lib/ContextModule.js +130 -130
  30. package/lib/ContextModuleFactory.js +132 -132
  31. package/lib/ContextReplacementPlugin.js +93 -93
  32. package/lib/CriticalDependenciesWarning.js +24 -24
  33. package/lib/DefinePlugin.js +126 -126
  34. package/lib/DelegatedModule.js +69 -69
  35. package/lib/DelegatedModuleFactoryPlugin.js +51 -51
  36. package/lib/DelegatedPlugin.js +21 -21
  37. package/lib/DependenciesBlock.js +57 -57
  38. package/lib/DependenciesBlockVariable.js +41 -41
  39. package/lib/Dependency.js +54 -54
  40. package/lib/DllEntryPlugin.js +32 -32
  41. package/lib/DllModule.js +55 -55
  42. package/lib/DllModuleFactory.js +18 -18
  43. package/lib/DllPlugin.js +30 -30
  44. package/lib/DllReferencePlugin.js +26 -26
  45. package/lib/EntryModuleNotFoundError.js +15 -15
  46. package/lib/EntryOptionPlugin.js +28 -28
  47. package/lib/EnvironmentPlugin.js +28 -28
  48. package/lib/EvalDevToolModulePlugin.js +17 -17
  49. package/lib/EvalDevToolModuleTemplatePlugin.js +29 -29
  50. package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +68 -68
  51. package/lib/EvalSourceMapDevToolPlugin.js +25 -25
  52. package/lib/ExtendedAPIPlugin.js +45 -45
  53. package/lib/ExternalModule.js +89 -89
  54. package/lib/ExternalModuleFactoryPlugin.js +86 -86
  55. package/lib/ExternalsPlugin.js +16 -16
  56. package/lib/FunctionModulePlugin.js +18 -18
  57. package/lib/FunctionModuleTemplatePlugin.js +39 -39
  58. package/lib/HotModuleReplacement.runtime.js +486 -486
  59. package/lib/HotModuleReplacementPlugin.js +223 -223
  60. package/lib/HotUpdateChunkTemplate.js +28 -28
  61. package/lib/IgnorePlugin.js +32 -32
  62. package/lib/JsonpChunkTemplatePlugin.js +26 -26
  63. package/lib/JsonpExportMainTemplatePlugin.js +28 -28
  64. package/lib/JsonpHotUpdateChunkTemplatePlugin.js +26 -26
  65. package/lib/JsonpMainTemplate.runtime.js +56 -56
  66. package/lib/JsonpMainTemplatePlugin.js +162 -162
  67. package/lib/JsonpTemplatePlugin.js +17 -17
  68. package/lib/LibManifestPlugin.js +49 -49
  69. package/lib/LibraryTemplatePlugin.js +77 -77
  70. package/lib/LoaderTargetPlugin.js +16 -16
  71. package/lib/MainTemplate.js +169 -169
  72. package/lib/MemoryOutputFileSystem.js +5 -5
  73. package/lib/Module.js +116 -116
  74. package/lib/ModuleFilenameHelpers.js +157 -157
  75. package/lib/ModuleNotFoundError.js +17 -17
  76. package/lib/ModuleParseError.js +26 -26
  77. package/lib/ModuleParserHelpers.js +21 -21
  78. package/lib/ModuleReason.js +9 -9
  79. package/lib/ModuleTemplate.js +23 -23
  80. package/lib/MovedToPluginWarningPlugin.js +17 -17
  81. package/lib/MultiCompiler.js +166 -166
  82. package/lib/MultiEntryPlugin.js +31 -31
  83. package/lib/MultiModule.js +71 -71
  84. package/lib/MultiModuleFactory.js +18 -18
  85. package/lib/NamedModulesPlugin.js +21 -21
  86. package/lib/NewWatchingPlugin.js +12 -12
  87. package/lib/NoErrorsPlugin.js +18 -18
  88. package/lib/NodeStuffPlugin.js +99 -99
  89. package/lib/NormalModule.js +322 -322
  90. package/lib/NormalModuleFactory.js +171 -171
  91. package/lib/NormalModuleReplacementPlugin.js +40 -40
  92. package/lib/NullFactory.js +10 -10
  93. package/lib/OldWatchingPlugin.js +14 -14
  94. package/lib/OptionsApply.js +10 -10
  95. package/lib/OriginalSource.js +5 -5
  96. package/lib/Parser.js +938 -938
  97. package/lib/PrefetchPlugin.js +25 -25
  98. package/lib/ProgressPlugin.js +80 -80
  99. package/lib/ProvidePlugin.js +48 -48
  100. package/lib/RawModule.js +65 -65
  101. package/lib/RawSource.js +5 -5
  102. package/lib/RecordIdsPlugin.js +130 -130
  103. package/lib/RequestShortener.js +56 -56
  104. package/lib/RequireJsStuffPlugin.js +38 -38
  105. package/lib/ResolverPlugin.js +34 -34
  106. package/lib/SetVarMainTemplatePlugin.js +36 -36
  107. package/lib/SingleEntryPlugin.js +24 -24
  108. package/lib/Source.js +5 -5
  109. package/lib/SourceMapDevToolModuleOptionsPlugin.js +33 -33
  110. package/lib/SourceMapDevToolPlugin.js +168 -168
  111. package/lib/SourceMapSource.js +5 -5
  112. package/lib/Stats.js +732 -732
  113. package/lib/Template.js +119 -119
  114. package/lib/TemplatedPathPlugin.js +111 -111
  115. package/lib/UmdMainTemplatePlugin.js +146 -146
  116. package/lib/UnsupportedFeatureWarning.js +14 -14
  117. package/lib/WarnCaseSensitiveModulesPlugin.js +27 -27
  118. package/lib/WatchIgnorePlugin.js +45 -45
  119. package/lib/WebpackOptionsApply.js +376 -376
  120. package/lib/WebpackOptionsDefaulter.js +112 -112
  121. package/lib/dependencies/AMDDefineDependency.js +63 -63
  122. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +240 -240
  123. package/lib/dependencies/AMDPlugin.js +115 -115
  124. package/lib/dependencies/AMDRequireArrayDependency.js +34 -34
  125. package/lib/dependencies/AMDRequireContextDependency.js +18 -18
  126. package/lib/dependencies/AMDRequireDependenciesBlock.js +25 -25
  127. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +145 -145
  128. package/lib/dependencies/AMDRequireDependency.js +64 -64
  129. package/lib/dependencies/AMDRequireItemDependency.js +17 -17
  130. package/lib/dependencies/CommonJsPlugin.js +93 -93
  131. package/lib/dependencies/CommonJsRequireContextDependency.js +18 -18
  132. package/lib/dependencies/CommonJsRequireDependency.js +17 -17
  133. package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +91 -91
  134. package/lib/dependencies/ConstDependency.js +29 -29
  135. package/lib/dependencies/ContextDependency.js +24 -24
  136. package/lib/dependencies/ContextDependencyHelpers.js +34 -34
  137. package/lib/dependencies/ContextDependencyTemplateAsId.js +22 -22
  138. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +31 -31
  139. package/lib/dependencies/ContextElementDependency.js +17 -17
  140. package/lib/dependencies/DelegatedSourceDependency.js +14 -14
  141. package/lib/dependencies/DepBlockHelpers.js +41 -41
  142. package/lib/dependencies/DllEntryDependency.js +17 -17
  143. package/lib/dependencies/LabeledExportsDependency.js +21 -21
  144. package/lib/dependencies/LabeledModuleDependency.js +36 -36
  145. package/lib/dependencies/LabeledModuleDependencyParserPlugin.js +76 -76
  146. package/lib/dependencies/LabeledModulesPlugin.js +26 -26
  147. package/lib/dependencies/LoaderDependency.js +14 -14
  148. package/lib/dependencies/LoaderPlugin.js +61 -61
  149. package/lib/dependencies/LocalModule.js +19 -19
  150. package/lib/dependencies/LocalModuleDependency.js +23 -23
  151. package/lib/dependencies/LocalModulesHelpers.js +43 -43
  152. package/lib/dependencies/ModuleDependency.js +20 -20
  153. package/lib/dependencies/ModuleDependencyTemplateAsId.js +22 -22
  154. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +22 -22
  155. package/lib/dependencies/ModuleHotAcceptDependency.js +18 -18
  156. package/lib/dependencies/ModuleHotDeclineDependency.js +18 -18
  157. package/lib/dependencies/MultiEntryDependency.js +16 -16
  158. package/lib/dependencies/NullDependency.js +17 -17
  159. package/lib/dependencies/NullDependencyTemplate.js +8 -8
  160. package/lib/dependencies/PrefetchDependency.js +14 -14
  161. package/lib/dependencies/RequireContextDependency.js +17 -17
  162. package/lib/dependencies/RequireContextDependencyParserPlugin.js +33 -33
  163. package/lib/dependencies/RequireContextPlugin.js +64 -64
  164. package/lib/dependencies/RequireEnsureDependenciesBlock.js +20 -20
  165. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +66 -66
  166. package/lib/dependencies/RequireEnsureDependency.js +29 -29
  167. package/lib/dependencies/RequireEnsureItemDependency.js +16 -16
  168. package/lib/dependencies/RequireEnsurePlugin.js +38 -38
  169. package/lib/dependencies/RequireHeaderDependency.js +25 -25
  170. package/lib/dependencies/RequireIncludeDependency.js +25 -25
  171. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +18 -18
  172. package/lib/dependencies/RequireIncludePlugin.js +31 -31
  173. package/lib/dependencies/RequireResolveContextDependency.js +18 -18
  174. package/lib/dependencies/RequireResolveDependency.js +17 -17
  175. package/lib/dependencies/RequireResolveDependencyParserPlugin.js +69 -69
  176. package/lib/dependencies/RequireResolveHeaderDependency.js +25 -25
  177. package/lib/dependencies/SingleEntryDependency.js +14 -14
  178. package/lib/dependencies/TemplateArgumentDependency.js +26 -26
  179. package/lib/dependencies/WebpackMissingModule.js +23 -23
  180. package/lib/dependencies/getFunctionExpression.js +43 -43
  181. package/lib/node/NodeChunkTemplatePlugin.js +22 -22
  182. package/lib/node/NodeEnvironmentPlugin.js +25 -25
  183. package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +24 -24
  184. package/lib/node/NodeMainTemplate.runtime.js +20 -20
  185. package/lib/node/NodeMainTemplateAsync.runtime.js +34 -34
  186. package/lib/node/NodeMainTemplatePlugin.js +164 -164
  187. package/lib/node/NodeOutputFileSystem.js +17 -17
  188. package/lib/node/NodeSourcePlugin.js +85 -75
  189. package/lib/node/NodeTargetPlugin.js +12 -12
  190. package/lib/node/NodeTemplatePlugin.js +21 -21
  191. package/lib/node/NodeWatchFileSystem.js +65 -65
  192. package/lib/node/OldNodeWatchFileSystem.js +265 -265
  193. package/lib/optimize/AggressiveMergingPlugin.js +115 -115
  194. package/lib/optimize/CommonsChunkPlugin.js +178 -178
  195. package/lib/optimize/DedupePlugin.js +227 -227
  196. package/lib/optimize/FlagIncludedChunksPlugin.js +24 -24
  197. package/lib/optimize/LimitChunkCountPlugin.js +55 -55
  198. package/lib/optimize/MergeDuplicateChunksPlugin.js +30 -30
  199. package/lib/optimize/MinChunkSizePlugin.js +61 -61
  200. package/lib/optimize/OccurenceOrderPlugin.js +5 -5
  201. package/lib/optimize/OccurrenceOrderPlugin.js +91 -91
  202. package/lib/optimize/RemoveEmptyChunksPlugin.js +19 -19
  203. package/lib/optimize/RemoveParentModulesPlugin.js +50 -50
  204. package/lib/optimize/UglifyJsPlugin.js +146 -146
  205. package/lib/removeAndDo.js +13 -13
  206. package/lib/web/WebEnvironmentPlugin.js +16 -16
  207. package/lib/webpack.js +113 -113
  208. package/lib/webpack.web.js +27 -27
  209. package/lib/webworker/WebWorkerChunkTemplatePlugin.js +26 -26
  210. package/lib/webworker/WebWorkerMainTemplatePlugin.js +78 -78
  211. package/lib/webworker/WebWorkerTemplatePlugin.js +15 -15
  212. 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
+ };
@@ -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
+ ]);
@@ -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;