webpack 3.8.1 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +721 -716
  3. package/bin/webpack.js +12 -8
  4. package/buildin/.eslintrc +7 -7
  5. package/buildin/amd-define.js +3 -3
  6. package/buildin/amd-options.js +2 -2
  7. package/buildin/global.js +21 -21
  8. package/buildin/harmony-module.js +24 -24
  9. package/buildin/module.js +22 -22
  10. package/buildin/system.js +7 -7
  11. package/hot/.eslintrc +9 -9
  12. package/hot/dev-server.js +53 -53
  13. package/hot/emitter.js +2 -2
  14. package/hot/log-apply-result.js +38 -38
  15. package/hot/log.js +44 -44
  16. package/hot/only-dev-server.js +71 -71
  17. package/hot/poll.js +34 -34
  18. package/hot/signal.js +52 -51
  19. package/lib/APIPlugin.js +45 -45
  20. package/lib/AsyncDependenciesBlock.js +43 -43
  21. package/lib/AutomaticPrefetchPlugin.js +36 -36
  22. package/lib/BannerPlugin.js +4 -2
  23. package/lib/BasicEvaluatedExpression.js +203 -203
  24. package/lib/CaseSensitiveModulesWarning.js +49 -49
  25. package/lib/Chunk.js +2 -2
  26. package/lib/ChunkRenderError.js +24 -24
  27. package/lib/ChunkTemplate.js +36 -36
  28. package/lib/CompatibilityPlugin.js +57 -57
  29. package/lib/Compilation.js +81 -92
  30. package/lib/Compiler.js +519 -523
  31. package/lib/ConstPlugin.js +60 -60
  32. package/lib/ContextModule.js +431 -431
  33. package/lib/ContextReplacementPlugin.js +111 -111
  34. package/lib/DefinePlugin.js +123 -123
  35. package/lib/DelegatedModule.js +98 -98
  36. package/lib/DelegatedModuleFactoryPlugin.js +59 -59
  37. package/lib/DelegatedPlugin.js +30 -30
  38. package/lib/DependenciesBlockVariable.js +51 -51
  39. package/lib/DllEntryPlugin.js +37 -37
  40. package/lib/DllModule.js +58 -58
  41. package/lib/DllModuleFactory.js +20 -20
  42. package/lib/DllPlugin.js +38 -38
  43. package/lib/DllReferencePlugin.js +62 -62
  44. package/lib/DynamicEntryPlugin.js +59 -59
  45. package/lib/EntryModuleNotFoundError.js +22 -22
  46. package/lib/EntryOptionPlugin.js +31 -31
  47. package/lib/EnvironmentPlugin.js +60 -50
  48. package/lib/ErrorHelpers.js +31 -31
  49. package/lib/EvalDevToolModulePlugin.js +22 -22
  50. package/lib/EvalDevToolModuleTemplatePlugin.js +33 -33
  51. package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +75 -75
  52. package/lib/EvalSourceMapDevToolPlugin.js +32 -32
  53. package/lib/ExportPropertyMainTemplatePlugin.js +31 -31
  54. package/lib/ExtendedAPIPlugin.js +47 -47
  55. package/lib/ExternalModuleFactoryPlugin.js +91 -91
  56. package/lib/ExternalsPlugin.js +21 -21
  57. package/lib/FlagDependencyExportsPlugin.js +101 -101
  58. package/lib/FlagDependencyUsagePlugin.js +1 -1
  59. package/lib/FunctionModulePlugin.js +24 -24
  60. package/lib/HashedModuleIdsPlugin.js +42 -42
  61. package/lib/HotModuleReplacementPlugin.js +5 -5
  62. package/lib/HotUpdateChunkTemplate.js +31 -31
  63. package/lib/IgnorePlugin.js +69 -69
  64. package/lib/JsonpExportMainTemplatePlugin.js +37 -37
  65. package/lib/JsonpHotUpdateChunkTemplatePlugin.js +27 -27
  66. package/lib/JsonpMainTemplatePlugin.js +4 -3
  67. package/lib/JsonpTemplatePlugin.js +21 -21
  68. package/lib/LibManifestPlugin.js +63 -63
  69. package/lib/LibraryTemplatePlugin.js +92 -92
  70. package/lib/LoaderOptionsPlugin.js +36 -36
  71. package/lib/LoaderTargetPlugin.js +19 -19
  72. package/lib/MainTemplate.js +3 -1
  73. package/lib/MemoryOutputFileSystem.js +5 -5
  74. package/lib/ModuleBuildError.js +42 -42
  75. package/lib/ModuleDependencyError.js +22 -22
  76. package/lib/ModuleDependencyWarning.js +22 -22
  77. package/lib/ModuleError.js +24 -24
  78. package/lib/ModuleFilenameHelpers.js +162 -162
  79. package/lib/ModuleNotFoundError.js +26 -26
  80. package/lib/ModuleReason.js +50 -50
  81. package/lib/ModuleTemplate.js +23 -23
  82. package/lib/ModuleWarning.js +24 -24
  83. package/lib/MovedToPluginWarningPlugin.js +21 -21
  84. package/lib/MultiCompiler.js +164 -164
  85. package/lib/MultiEntryPlugin.js +39 -39
  86. package/lib/MultiModuleFactory.js +19 -19
  87. package/lib/MultiStats.js +79 -79
  88. package/lib/MultiWatching.js +32 -32
  89. package/lib/NamedChunksPlugin.js +30 -30
  90. package/lib/NamedModulesPlugin.js +27 -27
  91. package/lib/NewWatchingPlugin.js +15 -15
  92. package/lib/NoEmitOnErrorsPlugin.js +22 -22
  93. package/lib/NoErrorsPlugin.js +29 -29
  94. package/lib/NodeStuffPlugin.js +97 -97
  95. package/lib/NormalModuleFactory.js +3 -1
  96. package/lib/NormalModuleReplacementPlugin.js +45 -45
  97. package/lib/NullFactory.js +12 -12
  98. package/lib/OptionsApply.js +10 -10
  99. package/lib/OptionsDefaulter.js +2 -2
  100. package/lib/Parser.js +79 -0
  101. package/lib/ParserHelpers.js +85 -85
  102. package/lib/PrefetchPlugin.js +31 -31
  103. package/lib/ProgressPlugin.js +192 -192
  104. package/lib/ProvidePlugin.js +55 -55
  105. package/lib/RawModule.js +54 -54
  106. package/lib/RequestShortener.js +63 -63
  107. package/lib/RequireJsStuffPlugin.js +31 -31
  108. package/lib/RuleSet.js +444 -444
  109. package/lib/SetVarMainTemplatePlugin.js +41 -41
  110. package/lib/SingleEntryPlugin.js +35 -35
  111. package/lib/SizeFormatHelpers.js +18 -18
  112. package/lib/SourceMapDevToolModuleOptionsPlugin.js +37 -37
  113. package/lib/SourceMapDevToolPlugin.js +3 -3
  114. package/lib/Stats.js +4 -2
  115. package/lib/TemplatedPathPlugin.js +6 -2
  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 +130 -129
  123. package/lib/WebpackOptionsValidationError.js +219 -196
  124. package/lib/compareLocations.js +36 -36
  125. package/lib/dependencies/AMDDefineDependency.js +142 -142
  126. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +18 -6
  127. package/lib/dependencies/AMDPlugin.js +119 -119
  128. package/lib/dependencies/AMDRequireDependenciesBlock.js +33 -33
  129. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +177 -177
  130. package/lib/dependencies/AMDRequireDependency.js +67 -67
  131. package/lib/dependencies/AMDRequireItemDependency.js +22 -22
  132. package/lib/dependencies/CommonJsRequireDependency.js +22 -22
  133. package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +89 -89
  134. package/lib/dependencies/ConstDependency.js +32 -32
  135. package/lib/dependencies/ContextDependencyHelpers.js +71 -71
  136. package/lib/dependencies/ContextElementDependency.js +21 -21
  137. package/lib/dependencies/CriticalDependencyWarning.js +20 -20
  138. package/lib/dependencies/DelegatedExportsDependency.js +33 -33
  139. package/lib/dependencies/DelegatedSourceDependency.js +18 -18
  140. package/lib/dependencies/DllEntryDependency.js +20 -20
  141. package/lib/dependencies/HarmonyCompatibilityDependency.js +30 -30
  142. package/lib/dependencies/HarmonyDetectionParserPlugin.js +2 -2
  143. package/lib/dependencies/HarmonyExportHeaderDependency.js +28 -28
  144. package/lib/dependencies/HarmonyImportDependency.js +1 -1
  145. package/lib/dependencies/ImportDependenciesBlock.js +17 -17
  146. package/lib/dependencies/ImportEagerContextDependency.js +22 -22
  147. package/lib/dependencies/ImportLazyContextDependency.js +22 -22
  148. package/lib/dependencies/ImportLazyOnceContextDependency.js +22 -22
  149. package/lib/dependencies/ImportParserPlugin.js +89 -89
  150. package/lib/dependencies/ImportPlugin.js +60 -60
  151. package/lib/dependencies/ImportWeakContextDependency.js +22 -22
  152. package/lib/dependencies/LoaderDependency.js +18 -18
  153. package/lib/dependencies/LoaderPlugin.js +60 -60
  154. package/lib/dependencies/LocalModule.js +23 -23
  155. package/lib/dependencies/LocalModuleDependency.js +24 -24
  156. package/lib/dependencies/LocalModulesHelpers.js +46 -46
  157. package/lib/dependencies/ModuleDependency.js +23 -23
  158. package/lib/dependencies/ModuleHotAcceptDependency.js +23 -23
  159. package/lib/dependencies/ModuleHotDeclineDependency.js +23 -23
  160. package/lib/dependencies/MultiEntryDependency.js +20 -20
  161. package/lib/dependencies/NullDependency.js +24 -24
  162. package/lib/dependencies/PrefetchDependency.js +18 -18
  163. package/lib/dependencies/RequireContextDependency.js +26 -26
  164. package/lib/dependencies/RequireContextDependencyParserPlugin.js +50 -50
  165. package/lib/dependencies/RequireContextPlugin.js +96 -96
  166. package/lib/dependencies/RequireEnsureDependenciesBlock.js +22 -22
  167. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +102 -102
  168. package/lib/dependencies/RequireEnsureDependency.js +38 -38
  169. package/lib/dependencies/RequireEnsureItemDependency.js +21 -21
  170. package/lib/dependencies/RequireEnsurePlugin.js +40 -40
  171. package/lib/dependencies/RequireHeaderDependency.js +26 -26
  172. package/lib/dependencies/RequireIncludeDependency.js +8 -0
  173. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +21 -21
  174. package/lib/dependencies/RequireIncludePlugin.js +33 -33
  175. package/lib/dependencies/RequireResolveDependency.js +22 -22
  176. package/lib/dependencies/RequireResolveDependencyParserPlugin.js +71 -71
  177. package/lib/dependencies/RequireResolveHeaderDependency.js +26 -26
  178. package/lib/dependencies/SingleEntryDependency.js +18 -18
  179. package/lib/dependencies/SystemPlugin.js +44 -44
  180. package/lib/dependencies/UnsupportedDependency.js +23 -23
  181. package/lib/dependencies/WebpackMissingModule.js +18 -18
  182. package/lib/dependencies/getFunctionExpression.js +44 -44
  183. package/lib/formatLocation.js +54 -54
  184. package/lib/node/NodeChunkTemplatePlugin.js +27 -27
  185. package/lib/node/NodeEnvironmentPlugin.js +25 -25
  186. package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +27 -27
  187. package/lib/node/NodeMainTemplate.runtime.js +24 -24
  188. package/lib/node/NodeMainTemplateAsync.runtime.js +40 -40
  189. package/lib/node/NodeOutputFileSystem.js +22 -22
  190. package/lib/node/NodeSourcePlugin.js +88 -88
  191. package/lib/node/NodeTargetPlugin.js +17 -15
  192. package/lib/node/NodeTemplatePlugin.js +27 -27
  193. package/lib/node/NodeWatchFileSystem.js +72 -72
  194. package/lib/optimize/ChunkModuleIdRangePlugin.js +53 -53
  195. package/lib/optimize/ConcatenatedModule.js +17 -6
  196. package/lib/optimize/DedupePlugin.js +15 -15
  197. package/lib/optimize/FlagIncludedChunksPlugin.js +35 -35
  198. package/lib/optimize/LimitChunkCountPlugin.js +59 -59
  199. package/lib/optimize/MinChunkSizePlugin.js +65 -65
  200. package/lib/optimize/RemoveEmptyChunksPlugin.js +21 -21
  201. package/lib/optimize/UglifyJsPlugin.js +9 -9
  202. package/lib/performance/AssetsOverSizeLimitWarning.js +23 -23
  203. package/lib/performance/EntrypointsOverSizeLimitWarning.js +28 -28
  204. package/lib/performance/NoAsyncChunksWarning.js +20 -20
  205. package/lib/performance/SizeLimitsPlugin.js +102 -102
  206. package/lib/prepareOptions.js +29 -29
  207. package/lib/removeAndDo.js +15 -15
  208. package/lib/util/Semaphore.js +32 -32
  209. package/lib/util/identifier.js +38 -38
  210. package/lib/validateSchema.js +66 -66
  211. package/lib/web/WebEnvironmentPlugin.js +18 -18
  212. package/lib/webworker/WebWorkerChunkTemplatePlugin.js +29 -29
  213. package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +28 -28
  214. package/lib/webworker/WebWorkerMainTemplate.runtime.js +58 -58
  215. package/lib/webworker/WebWorkerMainTemplatePlugin.js +2 -2
  216. package/lib/webworker/WebWorkerTemplatePlugin.js +20 -20
  217. package/package.json +25 -16
  218. package/schemas/ajv.absolutePath.js +29 -29
  219. package/schemas/webpackOptionsSchema.json +405 -76
@@ -1,63 +1,63 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
-
7
- const path = require("path");
8
- const NORMALIZE_SLASH_DIRECTION_REGEXP = /\\/g;
9
- const PATH_CHARS_REGEXP = /[-[\]{}()*+?.,\\^$|#\s]/g;
10
- const SEPARATOR_REGEXP = /[/\\]$/;
11
- const FRONT_OR_BACK_BANG_REGEXP = /^!|!$/g;
12
- const INDEX_JS_REGEXP = /\/index.js(!|\?|\(query\))/g;
13
-
14
- const normalizeBackSlashDirection = (request) => {
15
- return request.replace(NORMALIZE_SLASH_DIRECTION_REGEXP, "/");
16
- };
17
-
18
- const createRegExpForPath = (path) => {
19
- const regexpTypePartial = path.replace(PATH_CHARS_REGEXP, "\\$&");
20
- return new RegExp(`(^|!)${regexpTypePartial}`, "g");
21
- };
22
-
23
- class RequestShortener {
24
- constructor(directory) {
25
- directory = normalizeBackSlashDirection(directory);
26
- if(SEPARATOR_REGEXP.test(directory)) directory = directory.substr(0, directory.length - 1);
27
-
28
- if(directory) {
29
- this.currentDirectoryRegExp = createRegExpForPath(directory);
30
- }
31
-
32
- const dirname = path.dirname(directory);
33
- const endsWithSeperator = SEPARATOR_REGEXP.test(dirname);
34
- const parentDirectory = endsWithSeperator ? dirname.substr(0, dirname.length - 1) : dirname;
35
- if(parentDirectory && parentDirectory !== directory) {
36
- this.parentDirectoryRegExp = createRegExpForPath(parentDirectory);
37
- }
38
-
39
- if(__dirname.length >= 2) {
40
- const buildins = normalizeBackSlashDirection(path.join(__dirname, ".."));
41
- const buildinsAsModule = this.currentDirectoryRegExp && this.currentDirectoryRegExp.test(buildins);
42
- this.buildinsAsModule = buildinsAsModule;
43
- this.buildinsRegExp = createRegExpForPath(buildins);
44
- }
45
- }
46
-
47
- shorten(request) {
48
- if(!request) return request;
49
- request = normalizeBackSlashDirection(request);
50
- if(this.buildinsAsModule && this.buildinsRegExp)
51
- request = request.replace(this.buildinsRegExp, "!(webpack)");
52
- if(this.currentDirectoryRegExp)
53
- request = request.replace(this.currentDirectoryRegExp, "!.");
54
- if(this.parentDirectoryRegExp)
55
- request = request.replace(this.parentDirectoryRegExp, "!..");
56
- if(!this.buildinsAsModule && this.buildinsRegExp)
57
- request = request.replace(this.buildinsRegExp, "!(webpack)");
58
- request = request.replace(INDEX_JS_REGEXP, "$1");
59
- return request.replace(FRONT_OR_BACK_BANG_REGEXP, "");
60
- }
61
- }
62
-
63
- module.exports = RequestShortener;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const path = require("path");
8
+ const NORMALIZE_SLASH_DIRECTION_REGEXP = /\\/g;
9
+ const PATH_CHARS_REGEXP = /[-[\]{}()*+?.,\\^$|#\s]/g;
10
+ const SEPARATOR_REGEXP = /[/\\]$/;
11
+ const FRONT_OR_BACK_BANG_REGEXP = /^!|!$/g;
12
+ const INDEX_JS_REGEXP = /\/index.js(!|\?|\(query\))/g;
13
+
14
+ const normalizeBackSlashDirection = (request) => {
15
+ return request.replace(NORMALIZE_SLASH_DIRECTION_REGEXP, "/");
16
+ };
17
+
18
+ const createRegExpForPath = (path) => {
19
+ const regexpTypePartial = path.replace(PATH_CHARS_REGEXP, "\\$&");
20
+ return new RegExp(`(^|!)${regexpTypePartial}`, "g");
21
+ };
22
+
23
+ class RequestShortener {
24
+ constructor(directory) {
25
+ directory = normalizeBackSlashDirection(directory);
26
+ if(SEPARATOR_REGEXP.test(directory)) directory = directory.substr(0, directory.length - 1);
27
+
28
+ if(directory) {
29
+ this.currentDirectoryRegExp = createRegExpForPath(directory);
30
+ }
31
+
32
+ const dirname = path.dirname(directory);
33
+ const endsWithSeperator = SEPARATOR_REGEXP.test(dirname);
34
+ const parentDirectory = endsWithSeperator ? dirname.substr(0, dirname.length - 1) : dirname;
35
+ if(parentDirectory && parentDirectory !== directory) {
36
+ this.parentDirectoryRegExp = createRegExpForPath(parentDirectory);
37
+ }
38
+
39
+ if(__dirname.length >= 2) {
40
+ const buildins = normalizeBackSlashDirection(path.join(__dirname, ".."));
41
+ const buildinsAsModule = this.currentDirectoryRegExp && this.currentDirectoryRegExp.test(buildins);
42
+ this.buildinsAsModule = buildinsAsModule;
43
+ this.buildinsRegExp = createRegExpForPath(buildins);
44
+ }
45
+ }
46
+
47
+ shorten(request) {
48
+ if(!request) return request;
49
+ request = normalizeBackSlashDirection(request);
50
+ if(this.buildinsAsModule && this.buildinsRegExp)
51
+ request = request.replace(this.buildinsRegExp, "!(webpack)");
52
+ if(this.currentDirectoryRegExp)
53
+ request = request.replace(this.currentDirectoryRegExp, "!.");
54
+ if(this.parentDirectoryRegExp)
55
+ request = request.replace(this.parentDirectoryRegExp, "!..");
56
+ if(!this.buildinsAsModule && this.buildinsRegExp)
57
+ request = request.replace(this.buildinsRegExp, "!(webpack)");
58
+ request = request.replace(INDEX_JS_REGEXP, "$1");
59
+ return request.replace(FRONT_OR_BACK_BANG_REGEXP, "");
60
+ }
61
+ }
62
+
63
+ module.exports = RequestShortener;
@@ -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 ParserHelpers = require("./ParserHelpers");
8
- const ConstDependency = require("./dependencies/ConstDependency");
9
- const NullFactory = require("./NullFactory");
10
-
11
- module.exports = class RequireJsStuffPlugin {
12
-
13
- apply(compiler) {
14
- compiler.plugin("compilation", function(compilation, params) {
15
- compilation.dependencyFactories.set(ConstDependency, new NullFactory());
16
- compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
17
- params.normalModuleFactory.plugin("parser", function(parser, parserOptions) {
18
-
19
- if(typeof parserOptions.requireJs !== "undefined" && !parserOptions.requireJs)
20
- return;
21
-
22
- parser.plugin("call require.config", ParserHelpers.toConstantDependency("undefined"));
23
- parser.plugin("call requirejs.config", ParserHelpers.toConstantDependency("undefined"));
24
-
25
- parser.plugin("expression require.version", ParserHelpers.toConstantDependency(JSON.stringify("0.0.0")));
26
- parser.plugin("expression requirejs.onError", ParserHelpers.toConstantDependency("__webpack_require__.oe"));
27
- });
28
- });
29
- }
30
-
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 ParserHelpers = require("./ParserHelpers");
8
+ const ConstDependency = require("./dependencies/ConstDependency");
9
+ const NullFactory = require("./NullFactory");
10
+
11
+ module.exports = class RequireJsStuffPlugin {
12
+
13
+ apply(compiler) {
14
+ compiler.plugin("compilation", function(compilation, params) {
15
+ compilation.dependencyFactories.set(ConstDependency, new NullFactory());
16
+ compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
17
+ params.normalModuleFactory.plugin("parser", function(parser, parserOptions) {
18
+
19
+ if(typeof parserOptions.requireJs !== "undefined" && !parserOptions.requireJs)
20
+ return;
21
+
22
+ parser.plugin("call require.config", ParserHelpers.toConstantDependency("undefined"));
23
+ parser.plugin("call requirejs.config", ParserHelpers.toConstantDependency("undefined"));
24
+
25
+ parser.plugin("expression require.version", ParserHelpers.toConstantDependency(JSON.stringify("0.0.0")));
26
+ parser.plugin("expression requirejs.onError", ParserHelpers.toConstantDependency("__webpack_require__.oe"));
27
+ });
28
+ });
29
+ }
30
+
31
+ };