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,60 +1,60 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const ConstDependency = require("./dependencies/ConstDependency");
7
- const NullFactory = require("./NullFactory");
8
- const ParserHelpers = require("./ParserHelpers");
9
-
10
- const getQuery = (request) => {
11
- const i = request.indexOf("?");
12
- return request.indexOf("?") < 0 ? "" : request.substr(i);
13
- };
14
-
15
- class ConstPlugin {
16
- apply(compiler) {
17
- compiler.plugin("compilation", (compilation, params) => {
18
- compilation.dependencyFactories.set(ConstDependency, new NullFactory());
19
- compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
20
-
21
- params.normalModuleFactory.plugin("parser", parser => {
22
- parser.plugin("statement if", function(statement) {
23
- const param = this.evaluateExpression(statement.test);
24
- const bool = param.asBool();
25
- if(typeof bool === "boolean") {
26
- if(statement.test.type !== "Literal") {
27
- const dep = new ConstDependency(`${bool}`, param.range);
28
- dep.loc = statement.loc;
29
- this.state.current.addDependency(dep);
30
- }
31
- return bool;
32
- }
33
- });
34
- parser.plugin("expression ?:", function(expression) {
35
- const param = this.evaluateExpression(expression.test);
36
- const bool = param.asBool();
37
- if(typeof bool === "boolean") {
38
- if(expression.test.type !== "Literal") {
39
- const dep = new ConstDependency(` ${bool}`, param.range);
40
- dep.loc = expression.loc;
41
- this.state.current.addDependency(dep);
42
- }
43
- return bool;
44
- }
45
- });
46
- parser.plugin("evaluate Identifier __resourceQuery", function(expr) {
47
- if(!this.state.module) return;
48
- return ParserHelpers.evaluateToString(getQuery(this.state.module.resource))(expr);
49
- });
50
- parser.plugin("expression __resourceQuery", function() {
51
- if(!this.state.module) return;
52
- this.state.current.addVariable("__resourceQuery", JSON.stringify(getQuery(this.state.module.resource)));
53
- return true;
54
- });
55
- });
56
- });
57
- }
58
- }
59
-
60
- module.exports = ConstPlugin;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const ConstDependency = require("./dependencies/ConstDependency");
7
+ const NullFactory = require("./NullFactory");
8
+ const ParserHelpers = require("./ParserHelpers");
9
+
10
+ const getQuery = (request) => {
11
+ const i = request.indexOf("?");
12
+ return request.indexOf("?") < 0 ? "" : request.substr(i);
13
+ };
14
+
15
+ class ConstPlugin {
16
+ apply(compiler) {
17
+ compiler.plugin("compilation", (compilation, params) => {
18
+ compilation.dependencyFactories.set(ConstDependency, new NullFactory());
19
+ compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
20
+
21
+ params.normalModuleFactory.plugin("parser", parser => {
22
+ parser.plugin("statement if", function(statement) {
23
+ const param = this.evaluateExpression(statement.test);
24
+ const bool = param.asBool();
25
+ if(typeof bool === "boolean") {
26
+ if(statement.test.type !== "Literal") {
27
+ const dep = new ConstDependency(`${bool}`, param.range);
28
+ dep.loc = statement.loc;
29
+ this.state.current.addDependency(dep);
30
+ }
31
+ return bool;
32
+ }
33
+ });
34
+ parser.plugin("expression ?:", function(expression) {
35
+ const param = this.evaluateExpression(expression.test);
36
+ const bool = param.asBool();
37
+ if(typeof bool === "boolean") {
38
+ if(expression.test.type !== "Literal") {
39
+ const dep = new ConstDependency(` ${bool}`, param.range);
40
+ dep.loc = expression.loc;
41
+ this.state.current.addDependency(dep);
42
+ }
43
+ return bool;
44
+ }
45
+ });
46
+ parser.plugin("evaluate Identifier __resourceQuery", function(expr) {
47
+ if(!this.state.module) return;
48
+ return ParserHelpers.evaluateToString(getQuery(this.state.module.resource))(expr);
49
+ });
50
+ parser.plugin("expression __resourceQuery", function() {
51
+ if(!this.state.module) return;
52
+ this.state.current.addVariable("__resourceQuery", JSON.stringify(getQuery(this.state.module.resource)));
53
+ return true;
54
+ });
55
+ });
56
+ });
57
+ }
58
+ }
59
+
60
+ module.exports = ConstPlugin;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ class ContextExclusionPlugin {
4
+ constructor(negativeMatcher) {
5
+ this.negativeMatcher = negativeMatcher;
6
+ }
7
+
8
+ apply(compiler) {
9
+ compiler.plugin("context-module-factory", (cmf) => {
10
+ cmf.plugin("context-module-files", (files) => {
11
+ return files.filter(filePath => !this.negativeMatcher.test(filePath));
12
+ });
13
+ });
14
+ }
15
+ }
16
+
17
+ module.exports = ContextExclusionPlugin;