webpack 3.6.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +716 -716
  3. package/bin/convert-argv.js +1 -1
  4. package/bin/webpack.js +6 -0
  5. package/buildin/.eslintrc +7 -7
  6. package/buildin/amd-define.js +3 -3
  7. package/buildin/amd-options.js +2 -2
  8. package/buildin/global.js +21 -21
  9. package/buildin/harmony-module.js +24 -24
  10. package/buildin/module.js +22 -22
  11. package/buildin/system.js +7 -7
  12. package/hot/.eslintrc +9 -9
  13. package/hot/dev-server.js +53 -53
  14. package/hot/emitter.js +2 -2
  15. package/hot/log-apply-result.js +38 -38
  16. package/hot/log.js +44 -44
  17. package/hot/only-dev-server.js +71 -71
  18. package/hot/poll.js +34 -34
  19. package/hot/signal.js +51 -51
  20. package/lib/APIPlugin.js +45 -45
  21. package/lib/AsyncDependenciesBlock.js +43 -43
  22. package/lib/AsyncDependencyToInitialChunkWarning.js +21 -0
  23. package/lib/AutomaticPrefetchPlugin.js +36 -36
  24. package/lib/BasicEvaluatedExpression.js +203 -203
  25. package/lib/CaseSensitiveModulesWarning.js +49 -49
  26. package/lib/Chunk.js +3 -0
  27. package/lib/ChunkRenderError.js +24 -24
  28. package/lib/ChunkTemplate.js +36 -36
  29. package/lib/CompatibilityPlugin.js +57 -57
  30. package/lib/Compilation.js +158 -51
  31. package/lib/Compiler.js +523 -523
  32. package/lib/ConstPlugin.js +60 -60
  33. package/lib/ContextExclusionPlugin.js +17 -0
  34. package/lib/ContextModule.js +431 -431
  35. package/lib/ContextModuleFactory.js +14 -5
  36. package/lib/ContextReplacementPlugin.js +111 -111
  37. package/lib/DefinePlugin.js +123 -123
  38. package/lib/DelegatedModule.js +98 -92
  39. package/lib/DelegatedModuleFactoryPlugin.js +59 -59
  40. package/lib/DelegatedPlugin.js +30 -30
  41. package/lib/DependenciesBlockVariable.js +51 -51
  42. package/lib/DllEntryPlugin.js +37 -37
  43. package/lib/DllModule.js +58 -58
  44. package/lib/DllModuleFactory.js +20 -20
  45. package/lib/DllPlugin.js +38 -38
  46. package/lib/DllReferencePlugin.js +62 -62
  47. package/lib/DynamicEntryPlugin.js +59 -59
  48. package/lib/EntryModuleNotFoundError.js +22 -22
  49. package/lib/EntryOptionPlugin.js +31 -31
  50. package/lib/EnvironmentPlugin.js +50 -50
  51. package/lib/ErrorHelpers.js +31 -31
  52. package/lib/EvalDevToolModulePlugin.js +22 -22
  53. package/lib/EvalDevToolModuleTemplatePlugin.js +33 -33
  54. package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +75 -75
  55. package/lib/EvalSourceMapDevToolPlugin.js +32 -32
  56. package/lib/ExportPropertyMainTemplatePlugin.js +31 -31
  57. package/lib/ExtendedAPIPlugin.js +47 -47
  58. package/lib/ExternalModule.js +7 -0
  59. package/lib/ExternalModuleFactoryPlugin.js +91 -91
  60. package/lib/ExternalsPlugin.js +21 -21
  61. package/lib/FlagDependencyExportsPlugin.js +101 -101
  62. package/lib/FunctionModulePlugin.js +24 -24
  63. package/lib/FunctionModuleTemplatePlugin.js +7 -3
  64. package/lib/HashedModuleIdsPlugin.js +42 -42
  65. package/lib/HotUpdateChunkTemplate.js +31 -31
  66. package/lib/IgnorePlugin.js +69 -69
  67. package/lib/JsonpExportMainTemplatePlugin.js +37 -37
  68. package/lib/JsonpHotUpdateChunkTemplatePlugin.js +27 -27
  69. package/lib/JsonpMainTemplate.runtime.js +2 -1
  70. package/lib/JsonpMainTemplatePlugin.js +2 -0
  71. package/lib/JsonpTemplatePlugin.js +21 -21
  72. package/lib/LibManifestPlugin.js +63 -63
  73. package/lib/LibraryTemplatePlugin.js +92 -92
  74. package/lib/LoaderOptionsPlugin.js +36 -36
  75. package/lib/LoaderTargetPlugin.js +19 -19
  76. package/lib/MemoryOutputFileSystem.js +5 -5
  77. package/lib/ModuleBuildError.js +42 -42
  78. package/lib/ModuleDependencyError.js +22 -22
  79. package/lib/ModuleDependencyWarning.js +22 -22
  80. package/lib/ModuleError.js +24 -24
  81. package/lib/ModuleFilenameHelpers.js +162 -162
  82. package/lib/ModuleNotFoundError.js +26 -26
  83. package/lib/ModuleParseError.js +1 -1
  84. package/lib/ModuleReason.js +50 -50
  85. package/lib/ModuleTemplate.js +23 -23
  86. package/lib/ModuleWarning.js +24 -24
  87. package/lib/MovedToPluginWarningPlugin.js +21 -21
  88. package/lib/MultiCompiler.js +164 -164
  89. package/lib/MultiEntryPlugin.js +39 -39
  90. package/lib/MultiModuleFactory.js +19 -19
  91. package/lib/MultiStats.js +79 -79
  92. package/lib/MultiWatching.js +32 -32
  93. package/lib/NamedChunksPlugin.js +30 -30
  94. package/lib/NamedModulesPlugin.js +27 -27
  95. package/lib/NewWatchingPlugin.js +15 -15
  96. package/lib/NoEmitOnErrorsPlugin.js +22 -22
  97. package/lib/NoErrorsPlugin.js +29 -29
  98. package/lib/NodeStuffPlugin.js +97 -97
  99. package/lib/NormalModuleReplacementPlugin.js +45 -45
  100. package/lib/NullFactory.js +12 -12
  101. package/lib/OptionsApply.js +10 -10
  102. package/lib/Parser.js +65 -34
  103. package/lib/ParserHelpers.js +85 -85
  104. package/lib/PrefetchPlugin.js +31 -31
  105. package/lib/ProgressPlugin.js +192 -192
  106. package/lib/ProvidePlugin.js +55 -55
  107. package/lib/RawModule.js +54 -54
  108. package/lib/RequestShortener.js +63 -63
  109. package/lib/RequireJsStuffPlugin.js +31 -31
  110. package/lib/RuleSet.js +444 -444
  111. package/lib/SetVarMainTemplatePlugin.js +41 -41
  112. package/lib/SingleEntryPlugin.js +35 -35
  113. package/lib/SizeFormatHelpers.js +18 -18
  114. package/lib/SourceMapDevToolModuleOptionsPlugin.js +37 -37
  115. package/lib/Stats.js +27 -8
  116. package/lib/UmdMainTemplatePlugin.js +1 -1
  117. package/lib/UnsupportedFeatureWarning.js +21 -21
  118. package/lib/UseStrictPlugin.js +34 -34
  119. package/lib/WarnCaseSensitiveModulesPlugin.js +31 -31
  120. package/lib/WatchIgnorePlugin.js +49 -49
  121. package/lib/WebpackError.js +11 -11
  122. package/lib/WebpackOptionsDefaulter.js +129 -129
  123. package/lib/WebpackOptionsValidationError.js +196 -196
  124. package/lib/compareLocations.js +36 -36
  125. package/lib/dependencies/AMDDefineDependency.js +142 -142
  126. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +5 -1
  127. package/lib/dependencies/AMDPlugin.js +119 -119
  128. package/lib/dependencies/AMDRequireArrayDependency.js +2 -0
  129. package/lib/dependencies/AMDRequireContextDependency.js +0 -9
  130. package/lib/dependencies/AMDRequireDependenciesBlock.js +33 -33
  131. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +177 -177
  132. package/lib/dependencies/AMDRequireDependency.js +67 -67
  133. package/lib/dependencies/AMDRequireItemDependency.js +22 -22
  134. package/lib/dependencies/CommonJsRequireContextDependency.js +0 -10
  135. package/lib/dependencies/CommonJsRequireDependency.js +22 -22
  136. package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +89 -89
  137. package/lib/dependencies/ConstDependency.js +32 -32
  138. package/lib/dependencies/ContextDependency.js +20 -0
  139. package/lib/dependencies/ContextDependencyHelpers.js +71 -71
  140. package/lib/dependencies/ContextElementDependency.js +21 -21
  141. package/lib/dependencies/CriticalDependencyWarning.js +20 -20
  142. package/lib/dependencies/DelegatedExportsDependency.js +33 -33
  143. package/lib/dependencies/DelegatedSourceDependency.js +18 -18
  144. package/lib/dependencies/DllEntryDependency.js +20 -20
  145. package/lib/dependencies/HarmonyCompatibilityDependency.js +30 -30
  146. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +14 -2
  147. package/lib/dependencies/HarmonyExportExpressionDependency.js +0 -7
  148. package/lib/dependencies/HarmonyExportHeaderDependency.js +28 -28
  149. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +45 -45
  150. package/lib/dependencies/HarmonyExportSpecifierDependency.js +0 -13
  151. package/lib/dependencies/HarmonyModulesHelpers.js +0 -53
  152. package/lib/dependencies/ImportContextDependency.js +0 -10
  153. package/lib/dependencies/ImportDependenciesBlock.js +17 -17
  154. package/lib/dependencies/ImportEagerContextDependency.js +22 -22
  155. package/lib/dependencies/ImportLazyContextDependency.js +22 -22
  156. package/lib/dependencies/ImportLazyOnceContextDependency.js +22 -22
  157. package/lib/dependencies/ImportParserPlugin.js +89 -89
  158. package/lib/dependencies/ImportPlugin.js +60 -60
  159. package/lib/dependencies/ImportWeakContextDependency.js +22 -22
  160. package/lib/dependencies/LoaderDependency.js +18 -18
  161. package/lib/dependencies/LoaderPlugin.js +60 -60
  162. package/lib/dependencies/LocalModule.js +23 -23
  163. package/lib/dependencies/LocalModuleDependency.js +24 -24
  164. package/lib/dependencies/LocalModulesHelpers.js +46 -46
  165. package/lib/dependencies/ModuleDependency.js +23 -23
  166. package/lib/dependencies/ModuleHotAcceptDependency.js +23 -23
  167. package/lib/dependencies/ModuleHotDeclineDependency.js +23 -23
  168. package/lib/dependencies/MultiEntryDependency.js +20 -20
  169. package/lib/dependencies/NullDependency.js +24 -24
  170. package/lib/dependencies/PrefetchDependency.js +18 -18
  171. package/lib/dependencies/RequireContextDependency.js +26 -26
  172. package/lib/dependencies/RequireContextDependencyParserPlugin.js +50 -50
  173. package/lib/dependencies/RequireContextPlugin.js +96 -96
  174. package/lib/dependencies/RequireEnsureDependenciesBlock.js +22 -22
  175. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +102 -102
  176. package/lib/dependencies/RequireEnsureDependency.js +38 -38
  177. package/lib/dependencies/RequireEnsureItemDependency.js +21 -21
  178. package/lib/dependencies/RequireEnsurePlugin.js +40 -40
  179. package/lib/dependencies/RequireHeaderDependency.js +26 -26
  180. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +21 -21
  181. package/lib/dependencies/RequireIncludePlugin.js +33 -33
  182. package/lib/dependencies/RequireResolveContextDependency.js +0 -10
  183. package/lib/dependencies/RequireResolveDependency.js +22 -22
  184. package/lib/dependencies/RequireResolveDependencyParserPlugin.js +71 -71
  185. package/lib/dependencies/RequireResolveHeaderDependency.js +26 -26
  186. package/lib/dependencies/SingleEntryDependency.js +18 -18
  187. package/lib/dependencies/SystemPlugin.js +44 -44
  188. package/lib/dependencies/UnsupportedDependency.js +23 -23
  189. package/lib/dependencies/WebpackMissingModule.js +18 -18
  190. package/lib/dependencies/getFunctionExpression.js +44 -44
  191. package/lib/formatLocation.js +54 -54
  192. package/lib/node/NodeChunkTemplatePlugin.js +27 -27
  193. package/lib/node/NodeEnvironmentPlugin.js +25 -25
  194. package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +27 -27
  195. package/lib/node/NodeMainTemplate.runtime.js +24 -24
  196. package/lib/node/NodeMainTemplateAsync.runtime.js +40 -40
  197. package/lib/node/NodeOutputFileSystem.js +22 -22
  198. package/lib/node/NodeSourcePlugin.js +88 -88
  199. package/lib/node/NodeTargetPlugin.js +15 -15
  200. package/lib/node/NodeTemplatePlugin.js +27 -27
  201. package/lib/node/NodeWatchFileSystem.js +72 -72
  202. package/lib/optimize/ChunkModuleIdRangePlugin.js +53 -53
  203. package/lib/optimize/CommonsChunkPlugin.js +40 -19
  204. package/lib/optimize/ConcatenatedModule.js +27 -24
  205. package/lib/optimize/DedupePlugin.js +15 -15
  206. package/lib/optimize/FlagIncludedChunksPlugin.js +35 -35
  207. package/lib/optimize/LimitChunkCountPlugin.js +59 -59
  208. package/lib/optimize/MinChunkSizePlugin.js +65 -65
  209. package/lib/optimize/RemoveEmptyChunksPlugin.js +21 -21
  210. package/lib/optimize/UglifyJsPlugin.js +9 -9
  211. package/lib/performance/AssetsOverSizeLimitWarning.js +23 -23
  212. package/lib/performance/EntrypointsOverSizeLimitWarning.js +28 -28
  213. package/lib/performance/NoAsyncChunksWarning.js +20 -20
  214. package/lib/performance/SizeLimitsPlugin.js +102 -102
  215. package/lib/prepareOptions.js +29 -29
  216. package/lib/removeAndDo.js +15 -15
  217. package/lib/util/Queue.js +42 -0
  218. package/lib/util/Semaphore.js +32 -32
  219. package/lib/util/identifier.js +38 -38
  220. package/lib/validateSchema.js +66 -66
  221. package/lib/web/WebEnvironmentPlugin.js +18 -18
  222. package/lib/webpack.js +1 -0
  223. package/lib/webworker/WebWorkerChunkTemplatePlugin.js +29 -29
  224. package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +28 -28
  225. package/lib/webworker/WebWorkerMainTemplate.runtime.js +58 -58
  226. package/lib/webworker/WebWorkerTemplatePlugin.js +20 -20
  227. package/package.json +1 -1
  228. package/schemas/ajv.absolutePath.js +29 -29
  229. package/schemas/webpackOptionsSchema.json +69 -0
@@ -1,41 +1,41 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
-
7
- const ConcatSource = require("webpack-sources").ConcatSource;
8
-
9
- class SetVarMainTemplatePlugin {
10
- constructor(varExpression, copyObject) {
11
- this.varExpression = varExpression;
12
- this.copyObject = copyObject;
13
- }
14
-
15
- apply(compilation) {
16
- const mainTemplate = compilation.mainTemplate;
17
- compilation.templatesPlugin("render-with-entry", (source, chunk, hash) => {
18
- const varExpression = mainTemplate.applyPluginsWaterfall("asset-path", this.varExpression, {
19
- hash,
20
- chunk
21
- });
22
- if(this.copyObject) {
23
- return new ConcatSource(`(function(e, a) { for(var i in a) e[i] = a[i]; }(${varExpression}, `, source, "))");
24
- } else {
25
- const prefix = `${varExpression} =\n`;
26
- return new ConcatSource(prefix, source);
27
- }
28
- });
29
- mainTemplate.plugin("global-hash-paths", (paths) => {
30
- if(this.varExpression) paths.push(this.varExpression);
31
- return paths;
32
- });
33
- mainTemplate.plugin("hash", hash => {
34
- hash.update("set var");
35
- hash.update(`${this.varExpression}`);
36
- hash.update(`${this.copyObject}`);
37
- });
38
- }
39
- }
40
-
41
- module.exports = SetVarMainTemplatePlugin;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const ConcatSource = require("webpack-sources").ConcatSource;
8
+
9
+ class SetVarMainTemplatePlugin {
10
+ constructor(varExpression, copyObject) {
11
+ this.varExpression = varExpression;
12
+ this.copyObject = copyObject;
13
+ }
14
+
15
+ apply(compilation) {
16
+ const mainTemplate = compilation.mainTemplate;
17
+ compilation.templatesPlugin("render-with-entry", (source, chunk, hash) => {
18
+ const varExpression = mainTemplate.applyPluginsWaterfall("asset-path", this.varExpression, {
19
+ hash,
20
+ chunk
21
+ });
22
+ if(this.copyObject) {
23
+ return new ConcatSource(`(function(e, a) { for(var i in a) e[i] = a[i]; }(${varExpression}, `, source, "))");
24
+ } else {
25
+ const prefix = `${varExpression} =\n`;
26
+ return new ConcatSource(prefix, source);
27
+ }
28
+ });
29
+ mainTemplate.plugin("global-hash-paths", (paths) => {
30
+ if(this.varExpression) paths.push(this.varExpression);
31
+ return paths;
32
+ });
33
+ mainTemplate.plugin("hash", hash => {
34
+ hash.update("set var");
35
+ hash.update(`${this.varExpression}`);
36
+ hash.update(`${this.copyObject}`);
37
+ });
38
+ }
39
+ }
40
+
41
+ module.exports = SetVarMainTemplatePlugin;
@@ -1,35 +1,35 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const SingleEntryDependency = require("./dependencies/SingleEntryDependency");
7
-
8
- class SingleEntryPlugin {
9
- constructor(context, entry, name) {
10
- this.context = context;
11
- this.entry = entry;
12
- this.name = name;
13
- }
14
-
15
- apply(compiler) {
16
- compiler.plugin("compilation", (compilation, params) => {
17
- const normalModuleFactory = params.normalModuleFactory;
18
-
19
- compilation.dependencyFactories.set(SingleEntryDependency, normalModuleFactory);
20
- });
21
-
22
- compiler.plugin("make", (compilation, callback) => {
23
- const dep = SingleEntryPlugin.createDependency(this.entry, this.name);
24
- compilation.addEntry(this.context, dep, this.name, callback);
25
- });
26
- }
27
-
28
- static createDependency(entry, name) {
29
- const dep = new SingleEntryDependency(entry);
30
- dep.loc = name;
31
- return dep;
32
- }
33
- }
34
-
35
- module.exports = SingleEntryPlugin;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const SingleEntryDependency = require("./dependencies/SingleEntryDependency");
7
+
8
+ class SingleEntryPlugin {
9
+ constructor(context, entry, name) {
10
+ this.context = context;
11
+ this.entry = entry;
12
+ this.name = name;
13
+ }
14
+
15
+ apply(compiler) {
16
+ compiler.plugin("compilation", (compilation, params) => {
17
+ const normalModuleFactory = params.normalModuleFactory;
18
+
19
+ compilation.dependencyFactories.set(SingleEntryDependency, normalModuleFactory);
20
+ });
21
+
22
+ compiler.plugin("make", (compilation, callback) => {
23
+ const dep = SingleEntryPlugin.createDependency(this.entry, this.name);
24
+ compilation.addEntry(this.context, dep, this.name, callback);
25
+ });
26
+ }
27
+
28
+ static createDependency(entry, name) {
29
+ const dep = new SingleEntryDependency(entry);
30
+ dep.loc = name;
31
+ return dep;
32
+ }
33
+ }
34
+
35
+ module.exports = SingleEntryPlugin;
@@ -1,18 +1,18 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Sean Larkin @thelarkinn
4
- */
5
- "use strict";
6
-
7
- const SizeFormatHelpers = exports;
8
-
9
- SizeFormatHelpers.formatSize = size => {
10
- if(size <= 0) {
11
- return "0 bytes";
12
- }
13
-
14
- const abbreviations = ["bytes", "kB", "MB", "GB"];
15
- const index = Math.floor(Math.log(size) / Math.log(1000));
16
-
17
- return `${+(size / Math.pow(1000, index)).toPrecision(3)} ${abbreviations[index]}`;
18
- };
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Sean Larkin @thelarkinn
4
+ */
5
+ "use strict";
6
+
7
+ const SizeFormatHelpers = exports;
8
+
9
+ SizeFormatHelpers.formatSize = size => {
10
+ if(size <= 0) {
11
+ return "0 bytes";
12
+ }
13
+
14
+ const abbreviations = ["bytes", "kB", "MB", "GB"];
15
+ const index = Math.floor(Math.log(size) / Math.log(1000));
16
+
17
+ return `${+(size / Math.pow(1000, index)).toPrecision(3)} ${abbreviations[index]}`;
18
+ };
@@ -1,37 +1,37 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
-
7
- const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
8
-
9
- class SourceMapDevToolModuleOptionsPlugin {
10
- constructor(options) {
11
- this.options = options;
12
- }
13
-
14
- apply(compilation) {
15
- const options = this.options;
16
- if(options.module !== false) {
17
- compilation.plugin("build-module", module => {
18
- module.useSourceMap = true;
19
- });
20
- }
21
- if(options.lineToLine === true) {
22
- compilation.plugin("build-module", module => {
23
- module.lineToLine = true;
24
- });
25
- } else if(options.lineToLine) {
26
- compilation.plugin("build-module", module => {
27
- if(!module.resource) return;
28
- let resourcePath = module.resource;
29
- const idx = resourcePath.indexOf("?");
30
- if(idx >= 0) resourcePath = resourcePath.substr(0, idx);
31
- module.lineToLine = ModuleFilenameHelpers.matchObject(options.lineToLine, resourcePath);
32
- });
33
- }
34
- }
35
- }
36
-
37
- module.exports = SourceMapDevToolModuleOptionsPlugin;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
8
+
9
+ class SourceMapDevToolModuleOptionsPlugin {
10
+ constructor(options) {
11
+ this.options = options;
12
+ }
13
+
14
+ apply(compilation) {
15
+ const options = this.options;
16
+ if(options.module !== false) {
17
+ compilation.plugin("build-module", module => {
18
+ module.useSourceMap = true;
19
+ });
20
+ }
21
+ if(options.lineToLine === true) {
22
+ compilation.plugin("build-module", module => {
23
+ module.lineToLine = true;
24
+ });
25
+ } else if(options.lineToLine) {
26
+ compilation.plugin("build-module", module => {
27
+ if(!module.resource) return;
28
+ let resourcePath = module.resource;
29
+ const idx = resourcePath.indexOf("?");
30
+ if(idx >= 0) resourcePath = resourcePath.substr(0, idx);
31
+ module.lineToLine = ModuleFilenameHelpers.matchObject(options.lineToLine, resourcePath);
32
+ });
33
+ }
34
+ }
35
+ }
36
+
37
+ module.exports = SourceMapDevToolModuleOptionsPlugin;
package/lib/Stats.js CHANGED
@@ -100,6 +100,7 @@ class Stats {
100
100
  const requestShortener = new RequestShortener(context);
101
101
  const showPerformance = optionOrLocalFallback(options.performance, true);
102
102
  const showHash = optionOrLocalFallback(options.hash, true);
103
+ const showEnv = optionOrLocalFallback(options.env, false);
103
104
  const showVersion = optionOrLocalFallback(options.version, true);
104
105
  const showTimings = optionOrLocalFallback(options.timings, true);
105
106
  const showAssets = optionOrLocalFallback(options.assets, true);
@@ -198,15 +199,22 @@ class Stats {
198
199
  text += e.message;
199
200
  if(showErrorDetails && e.details) text += `\n${e.details}`;
200
201
  if(showErrorDetails && e.missing) text += e.missing.map(item => `\n[${item}]`).join("");
201
- if(showModuleTrace && e.dependencies && e.origin) {
202
+ if(showModuleTrace && e.origin) {
202
203
  text += `\n @ ${e.origin.readableIdentifier(requestShortener)}`;
203
- e.dependencies.forEach(dep => {
204
- if(!dep.loc) return;
205
- if(typeof dep.loc === "string") return;
206
- const locInfo = formatLocation(dep.loc);
207
- if(!locInfo) return;
208
- text += ` ${locInfo}`;
209
- });
204
+ if(typeof e.originLoc === "object") {
205
+ const locInfo = formatLocation(e.originLoc);
206
+ if(locInfo)
207
+ text += ` ${locInfo}`;
208
+ }
209
+ if(e.dependencies) {
210
+ e.dependencies.forEach(dep => {
211
+ if(!dep.loc) return;
212
+ if(typeof dep.loc === "string") return;
213
+ const locInfo = formatLocation(dep.loc);
214
+ if(!locInfo) return;
215
+ text += ` ${locInfo}`;
216
+ });
217
+ }
210
218
  let current = e.origin;
211
219
  while(current.issuer) {
212
220
  current = current.issuer;
@@ -240,6 +248,11 @@ class Stats {
240
248
  if(showTimings && this.startTime && this.endTime) {
241
249
  obj.time = this.endTime - this.startTime;
242
250
  }
251
+
252
+ if(showEnv && options._env) {
253
+ obj.env = options._env;
254
+ }
255
+
243
256
  if(compilation.needAdditionalPass) {
244
257
  obj.needAdditionalPass = true;
245
258
  }
@@ -546,6 +559,11 @@ class Stats {
546
559
  colors.normal("ms");
547
560
  newline();
548
561
  }
562
+ if(obj.env) {
563
+ colors.normal("Environment (--env): ");
564
+ colors.bold(JSON.stringify(obj.env, null, 2));
565
+ newline();
566
+ }
549
567
  if(obj.publicPath) {
550
568
  colors.normal("PublicPath: ");
551
569
  colors.bold(obj.publicPath);
@@ -900,6 +918,7 @@ class Stats {
900
918
  chunkModules: true,
901
919
  chunkOrigins: true,
902
920
  depth: true,
921
+ env: true,
903
922
  reasons: true,
904
923
  usedExports: true,
905
924
  providedExports: true,
@@ -42,7 +42,7 @@ class UmdMainTemplatePlugin {
42
42
  apply(compilation) {
43
43
  const mainTemplate = compilation.mainTemplate;
44
44
  compilation.templatesPlugin("render-with-entry", (source, chunk, hash) => {
45
- let externals = chunk.getModules().filter(m => m.external);
45
+ let externals = chunk.getModules().filter(m => m.external && (m.type === "umd" || m.type === "umd2"));
46
46
  const optionalExternals = [];
47
47
  let requiredExternals = [];
48
48
  if(this.optionalAmdExternalAsGlobal) {
@@ -1,21 +1,21 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
-
7
- const WebpackError = require("./WebpackError");
8
-
9
- class UnsupportedFeatureWarning extends WebpackError {
10
- constructor(module, message) {
11
- super();
12
-
13
- this.name = "UnsupportedFeatureWarning";
14
- this.message = message;
15
- this.origin = this.module = module;
16
-
17
- Error.captureStackTrace(this, this.constructor);
18
- }
19
- }
20
-
21
- module.exports = UnsupportedFeatureWarning;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const WebpackError = require("./WebpackError");
8
+
9
+ class UnsupportedFeatureWarning extends WebpackError {
10
+ constructor(module, message) {
11
+ super();
12
+
13
+ this.name = "UnsupportedFeatureWarning";
14
+ this.message = message;
15
+ this.origin = this.module = module;
16
+
17
+ Error.captureStackTrace(this, this.constructor);
18
+ }
19
+ }
20
+
21
+ module.exports = UnsupportedFeatureWarning;
@@ -1,34 +1,34 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
-
7
- const ConstDependency = require("./dependencies/ConstDependency");
8
-
9
- class UseStrictPlugin {
10
- apply(compiler) {
11
- compiler.plugin("compilation", (compilation, params) => {
12
- params.normalModuleFactory.plugin("parser", (parser) => {
13
- const parserInstance = parser;
14
- parser.plugin("program", (ast) => {
15
- const firstNode = ast.body[0];
16
- if(firstNode &&
17
- firstNode.type === "ExpressionStatement" &&
18
- firstNode.expression.type === "Literal" &&
19
- firstNode.expression.value === "use strict") {
20
- // Remove "use strict" expression. It will be added later by the renderer again.
21
- // This is necessary in order to not break the strict mode when webpack prepends code.
22
- // @see https://github.com/webpack/webpack/issues/1970
23
- const dep = new ConstDependency("", firstNode.range);
24
- dep.loc = firstNode.loc;
25
- parserInstance.state.current.addDependency(dep);
26
- parserInstance.state.module.strict = true;
27
- }
28
- });
29
- });
30
- });
31
- }
32
- }
33
-
34
- module.exports = UseStrictPlugin;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const ConstDependency = require("./dependencies/ConstDependency");
8
+
9
+ class UseStrictPlugin {
10
+ apply(compiler) {
11
+ compiler.plugin("compilation", (compilation, params) => {
12
+ params.normalModuleFactory.plugin("parser", (parser) => {
13
+ const parserInstance = parser;
14
+ parser.plugin("program", (ast) => {
15
+ const firstNode = ast.body[0];
16
+ if(firstNode &&
17
+ firstNode.type === "ExpressionStatement" &&
18
+ firstNode.expression.type === "Literal" &&
19
+ firstNode.expression.value === "use strict") {
20
+ // Remove "use strict" expression. It will be added later by the renderer again.
21
+ // This is necessary in order to not break the strict mode when webpack prepends code.
22
+ // @see https://github.com/webpack/webpack/issues/1970
23
+ const dep = new ConstDependency("", firstNode.range);
24
+ dep.loc = firstNode.loc;
25
+ parserInstance.state.current.addDependency(dep);
26
+ parserInstance.state.module.strict = true;
27
+ }
28
+ });
29
+ });
30
+ });
31
+ }
32
+ }
33
+
34
+ module.exports = UseStrictPlugin;
@@ -1,31 +1,31 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
-
7
- const CaseSensitiveModulesWarning = require("./CaseSensitiveModulesWarning");
8
-
9
- class WarnCaseSensitiveModulesPlugin {
10
- apply(compiler) {
11
- compiler.plugin("compilation", compilation => {
12
- compilation.plugin("seal", () => {
13
- const moduleWithoutCase = Object.create(null);
14
- compilation.modules.forEach(module => {
15
- const identifier = module.identifier().toLowerCase();
16
- if(moduleWithoutCase[identifier]) {
17
- moduleWithoutCase[identifier].push(module);
18
- } else {
19
- moduleWithoutCase[identifier] = [module];
20
- }
21
- });
22
- Object.keys(moduleWithoutCase).forEach(key => {
23
- if(moduleWithoutCase[key].length > 1)
24
- compilation.warnings.push(new CaseSensitiveModulesWarning(moduleWithoutCase[key]));
25
- });
26
- });
27
- });
28
- }
29
- }
30
-
31
- module.exports = WarnCaseSensitiveModulesPlugin;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const CaseSensitiveModulesWarning = require("./CaseSensitiveModulesWarning");
8
+
9
+ class WarnCaseSensitiveModulesPlugin {
10
+ apply(compiler) {
11
+ compiler.plugin("compilation", compilation => {
12
+ compilation.plugin("seal", () => {
13
+ const moduleWithoutCase = Object.create(null);
14
+ compilation.modules.forEach(module => {
15
+ const identifier = module.identifier().toLowerCase();
16
+ if(moduleWithoutCase[identifier]) {
17
+ moduleWithoutCase[identifier].push(module);
18
+ } else {
19
+ moduleWithoutCase[identifier] = [module];
20
+ }
21
+ });
22
+ Object.keys(moduleWithoutCase).forEach(key => {
23
+ if(moduleWithoutCase[key].length > 1)
24
+ compilation.warnings.push(new CaseSensitiveModulesWarning(moduleWithoutCase[key]));
25
+ });
26
+ });
27
+ });
28
+ }
29
+ }
30
+
31
+ module.exports = WarnCaseSensitiveModulesPlugin;
@@ -1,49 +1,49 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
-
7
- class WatchIgnorePlugin {
8
- constructor(paths) {
9
- this.paths = paths;
10
- }
11
-
12
- apply(compiler) {
13
- compiler.plugin("after-environment", () => {
14
- compiler.watchFileSystem = new IgnoringWatchFileSystem(compiler.watchFileSystem, this.paths);
15
- });
16
- }
17
- }
18
-
19
- module.exports = WatchIgnorePlugin;
20
-
21
- class IgnoringWatchFileSystem {
22
- constructor(wfs, paths) {
23
- this.wfs = wfs;
24
- this.paths = paths;
25
- }
26
-
27
- watch(files, dirs, missing, startTime, options, callback, callbackUndelayed) {
28
- const ignored = path => this.paths.some(p => p instanceof RegExp ? p.test(path) : path.indexOf(p) === 0);
29
-
30
- const notIgnored = path => !ignored(path);
31
-
32
- const ignoredFiles = files.filter(ignored);
33
- const ignoredDirs = dirs.filter(ignored);
34
-
35
- this.wfs.watch(files.filter(notIgnored), dirs.filter(notIgnored), missing, startTime, options, (err, filesModified, dirsModified, missingModified, fileTimestamps, dirTimestamps) => {
36
- if(err) return callback(err);
37
-
38
- ignoredFiles.forEach(path => {
39
- fileTimestamps[path] = 1;
40
- });
41
-
42
- ignoredDirs.forEach(path => {
43
- dirTimestamps[path] = 1;
44
- });
45
-
46
- callback(err, filesModified, dirsModified, missingModified, fileTimestamps, dirTimestamps);
47
- }, callbackUndelayed);
48
- }
49
- }
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ class WatchIgnorePlugin {
8
+ constructor(paths) {
9
+ this.paths = paths;
10
+ }
11
+
12
+ apply(compiler) {
13
+ compiler.plugin("after-environment", () => {
14
+ compiler.watchFileSystem = new IgnoringWatchFileSystem(compiler.watchFileSystem, this.paths);
15
+ });
16
+ }
17
+ }
18
+
19
+ module.exports = WatchIgnorePlugin;
20
+
21
+ class IgnoringWatchFileSystem {
22
+ constructor(wfs, paths) {
23
+ this.wfs = wfs;
24
+ this.paths = paths;
25
+ }
26
+
27
+ watch(files, dirs, missing, startTime, options, callback, callbackUndelayed) {
28
+ const ignored = path => this.paths.some(p => p instanceof RegExp ? p.test(path) : path.indexOf(p) === 0);
29
+
30
+ const notIgnored = path => !ignored(path);
31
+
32
+ const ignoredFiles = files.filter(ignored);
33
+ const ignoredDirs = dirs.filter(ignored);
34
+
35
+ this.wfs.watch(files.filter(notIgnored), dirs.filter(notIgnored), missing, startTime, options, (err, filesModified, dirsModified, missingModified, fileTimestamps, dirTimestamps) => {
36
+ if(err) return callback(err);
37
+
38
+ ignoredFiles.forEach(path => {
39
+ fileTimestamps[path] = 1;
40
+ });
41
+
42
+ ignoredDirs.forEach(path => {
43
+ dirTimestamps[path] = 1;
44
+ });
45
+
46
+ callback(err, filesModified, dirsModified, missingModified, fileTimestamps, dirTimestamps);
47
+ }, callbackUndelayed);
48
+ }
49
+ }
@@ -1,11 +1,11 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Jarid Margolin @jaridmargolin
4
- */
5
- "use strict";
6
-
7
- module.exports = class WebpackError extends Error {
8
- inspect() {
9
- return this.stack + (this.details ? `\n${this.details}` : "");
10
- }
11
- };
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Jarid Margolin @jaridmargolin
4
+ */
5
+ "use strict";
6
+
7
+ module.exports = class WebpackError extends Error {
8
+ inspect() {
9
+ return this.stack + (this.details ? `\n${this.details}` : "");
10
+ }
11
+ };