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,203 +1,203 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
-
6
- "use strict";
7
-
8
- class BasicEvaluatedExpression {
9
-
10
- constructor() {
11
- this.range = null;
12
- }
13
-
14
- isNull() {
15
- return !!this.null;
16
- }
17
-
18
- isString() {
19
- return Object.prototype.hasOwnProperty.call(this, "string");
20
- }
21
-
22
- isNumber() {
23
- return Object.prototype.hasOwnProperty.call(this, "number");
24
- }
25
-
26
- isBoolean() {
27
- return Object.prototype.hasOwnProperty.call(this, "bool");
28
- }
29
-
30
- isRegExp() {
31
- return Object.prototype.hasOwnProperty.call(this, "regExp");
32
- }
33
-
34
- isConditional() {
35
- return Object.prototype.hasOwnProperty.call(this, "options");
36
- }
37
-
38
- isArray() {
39
- return Object.prototype.hasOwnProperty.call(this, "items");
40
- }
41
-
42
- isConstArray() {
43
- return Object.prototype.hasOwnProperty.call(this, "array");
44
- }
45
-
46
- isIdentifier() {
47
- return Object.prototype.hasOwnProperty.call(this, "identifier");
48
- }
49
-
50
- isWrapped() {
51
- return Object.prototype.hasOwnProperty.call(this, "prefix") || Object.prototype.hasOwnProperty.call(this, "postfix");
52
- }
53
-
54
- isTemplateString() {
55
- return Object.prototype.hasOwnProperty.call(this, "quasis");
56
- }
57
-
58
- isTruthy() {
59
- return this.truthy;
60
- }
61
-
62
- isFalsy() {
63
- return this.falsy;
64
- }
65
-
66
- asBool() {
67
- if(this.truthy) return true;
68
- else if(this.falsy) return false;
69
- else if(this.isBoolean()) return this.bool;
70
- else if(this.isNull()) return false;
71
- else if(this.isString()) return !!this.string;
72
- else if(this.isNumber()) return !!this.number;
73
- else if(this.isRegExp()) return true;
74
- else if(this.isArray()) return true;
75
- else if(this.isConstArray()) return true;
76
- else if(this.isWrapped()) return this.prefix && this.prefix.asBool() || this.postfix && this.postfix.asBool() ? true : undefined;
77
- else if(this.isTemplateString()) {
78
- if(this.quasis.length === 1) return this.quasis[0].asBool();
79
- for(let i = 0; i < this.quasis.length; i++) {
80
- if(this.quasis[i].asBool()) return true;
81
- }
82
- // can't tell if string will be empty without executing
83
- }
84
- return undefined;
85
- }
86
-
87
- setString(str) {
88
- if(str === null)
89
- delete this.string;
90
- else
91
- this.string = str;
92
- return this;
93
- }
94
-
95
- setNull() {
96
- this.null = true;
97
- return this;
98
- }
99
-
100
- setNumber(num) {
101
- if(num === null)
102
- delete this.number;
103
- else
104
- this.number = num;
105
- return this;
106
- }
107
-
108
- setBoolean(bool) {
109
- if(bool === null)
110
- delete this.bool;
111
- else
112
- this.bool = bool;
113
- return this;
114
- }
115
-
116
- setRegExp(regExp) {
117
- if(regExp === null)
118
- delete this.regExp;
119
- else
120
- this.regExp = regExp;
121
- return this;
122
- }
123
-
124
- setIdentifier(identifier) {
125
- if(identifier === null)
126
- delete this.identifier;
127
- else
128
- this.identifier = identifier;
129
- return this;
130
- }
131
-
132
- setWrapped(prefix, postfix) {
133
- this.prefix = prefix;
134
- this.postfix = postfix;
135
- return this;
136
- }
137
-
138
- unsetWrapped() {
139
- delete this.prefix;
140
- delete this.postfix;
141
- return this;
142
- }
143
-
144
- setOptions(options) {
145
- if(options === null)
146
- delete this.options;
147
- else
148
- this.options = options;
149
- return this;
150
- }
151
-
152
- setItems(items) {
153
- if(items === null)
154
- delete this.items;
155
- else
156
- this.items = items;
157
- return this;
158
- }
159
-
160
- setArray(array) {
161
- if(array === null)
162
- delete this.array;
163
- else
164
- this.array = array;
165
- return this;
166
- }
167
-
168
- setTemplateString(quasis) {
169
- if(quasis === null)
170
- delete this.quasis;
171
- else
172
- this.quasis = quasis;
173
- return this;
174
- }
175
-
176
- setTruthy() {
177
- this.falsy = false;
178
- this.truthy = true;
179
- return this;
180
- }
181
-
182
- setFalsy() {
183
- this.falsy = true;
184
- this.truthy = false;
185
- return this;
186
- }
187
-
188
- addOptions(options) {
189
- if(!this.options) this.options = [];
190
- options.forEach(item => {
191
- this.options.push(item);
192
- }, this);
193
- return this;
194
- }
195
-
196
- setRange(range) {
197
- this.range = range;
198
- return this;
199
- }
200
-
201
- }
202
-
203
- module.exports = BasicEvaluatedExpression;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+
6
+ "use strict";
7
+
8
+ class BasicEvaluatedExpression {
9
+
10
+ constructor() {
11
+ this.range = null;
12
+ }
13
+
14
+ isNull() {
15
+ return !!this.null;
16
+ }
17
+
18
+ isString() {
19
+ return Object.prototype.hasOwnProperty.call(this, "string");
20
+ }
21
+
22
+ isNumber() {
23
+ return Object.prototype.hasOwnProperty.call(this, "number");
24
+ }
25
+
26
+ isBoolean() {
27
+ return Object.prototype.hasOwnProperty.call(this, "bool");
28
+ }
29
+
30
+ isRegExp() {
31
+ return Object.prototype.hasOwnProperty.call(this, "regExp");
32
+ }
33
+
34
+ isConditional() {
35
+ return Object.prototype.hasOwnProperty.call(this, "options");
36
+ }
37
+
38
+ isArray() {
39
+ return Object.prototype.hasOwnProperty.call(this, "items");
40
+ }
41
+
42
+ isConstArray() {
43
+ return Object.prototype.hasOwnProperty.call(this, "array");
44
+ }
45
+
46
+ isIdentifier() {
47
+ return Object.prototype.hasOwnProperty.call(this, "identifier");
48
+ }
49
+
50
+ isWrapped() {
51
+ return Object.prototype.hasOwnProperty.call(this, "prefix") || Object.prototype.hasOwnProperty.call(this, "postfix");
52
+ }
53
+
54
+ isTemplateString() {
55
+ return Object.prototype.hasOwnProperty.call(this, "quasis");
56
+ }
57
+
58
+ isTruthy() {
59
+ return this.truthy;
60
+ }
61
+
62
+ isFalsy() {
63
+ return this.falsy;
64
+ }
65
+
66
+ asBool() {
67
+ if(this.truthy) return true;
68
+ else if(this.falsy) return false;
69
+ else if(this.isBoolean()) return this.bool;
70
+ else if(this.isNull()) return false;
71
+ else if(this.isString()) return !!this.string;
72
+ else if(this.isNumber()) return !!this.number;
73
+ else if(this.isRegExp()) return true;
74
+ else if(this.isArray()) return true;
75
+ else if(this.isConstArray()) return true;
76
+ else if(this.isWrapped()) return this.prefix && this.prefix.asBool() || this.postfix && this.postfix.asBool() ? true : undefined;
77
+ else if(this.isTemplateString()) {
78
+ if(this.quasis.length === 1) return this.quasis[0].asBool();
79
+ for(let i = 0; i < this.quasis.length; i++) {
80
+ if(this.quasis[i].asBool()) return true;
81
+ }
82
+ // can't tell if string will be empty without executing
83
+ }
84
+ return undefined;
85
+ }
86
+
87
+ setString(str) {
88
+ if(str === null)
89
+ delete this.string;
90
+ else
91
+ this.string = str;
92
+ return this;
93
+ }
94
+
95
+ setNull() {
96
+ this.null = true;
97
+ return this;
98
+ }
99
+
100
+ setNumber(num) {
101
+ if(num === null)
102
+ delete this.number;
103
+ else
104
+ this.number = num;
105
+ return this;
106
+ }
107
+
108
+ setBoolean(bool) {
109
+ if(bool === null)
110
+ delete this.bool;
111
+ else
112
+ this.bool = bool;
113
+ return this;
114
+ }
115
+
116
+ setRegExp(regExp) {
117
+ if(regExp === null)
118
+ delete this.regExp;
119
+ else
120
+ this.regExp = regExp;
121
+ return this;
122
+ }
123
+
124
+ setIdentifier(identifier) {
125
+ if(identifier === null)
126
+ delete this.identifier;
127
+ else
128
+ this.identifier = identifier;
129
+ return this;
130
+ }
131
+
132
+ setWrapped(prefix, postfix) {
133
+ this.prefix = prefix;
134
+ this.postfix = postfix;
135
+ return this;
136
+ }
137
+
138
+ unsetWrapped() {
139
+ delete this.prefix;
140
+ delete this.postfix;
141
+ return this;
142
+ }
143
+
144
+ setOptions(options) {
145
+ if(options === null)
146
+ delete this.options;
147
+ else
148
+ this.options = options;
149
+ return this;
150
+ }
151
+
152
+ setItems(items) {
153
+ if(items === null)
154
+ delete this.items;
155
+ else
156
+ this.items = items;
157
+ return this;
158
+ }
159
+
160
+ setArray(array) {
161
+ if(array === null)
162
+ delete this.array;
163
+ else
164
+ this.array = array;
165
+ return this;
166
+ }
167
+
168
+ setTemplateString(quasis) {
169
+ if(quasis === null)
170
+ delete this.quasis;
171
+ else
172
+ this.quasis = quasis;
173
+ return this;
174
+ }
175
+
176
+ setTruthy() {
177
+ this.falsy = false;
178
+ this.truthy = true;
179
+ return this;
180
+ }
181
+
182
+ setFalsy() {
183
+ this.falsy = true;
184
+ this.truthy = false;
185
+ return this;
186
+ }
187
+
188
+ addOptions(options) {
189
+ if(!this.options) this.options = [];
190
+ options.forEach(item => {
191
+ this.options.push(item);
192
+ }, this);
193
+ return this;
194
+ }
195
+
196
+ setRange(range) {
197
+ this.range = range;
198
+ return this;
199
+ }
200
+
201
+ }
202
+
203
+ module.exports = BasicEvaluatedExpression;
@@ -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
- const WebpackError = require("./WebpackError");
8
-
9
- module.exports = class CaseSensitiveModulesWarning extends WebpackError {
10
- constructor(modules) {
11
- super();
12
-
13
- this.name = "CaseSensitiveModulesWarning";
14
- const sortedModules = this._sort(modules);
15
- const modulesList = this._moduleMessages(sortedModules);
16
- this.message = "There are multiple modules with names that only differ in casing.\n" +
17
- "This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.\n" +
18
- `Use equal casing. Compare these module identifiers:\n${modulesList}`;
19
- this.origin = this.module = sortedModules[0];
20
-
21
- Error.captureStackTrace(this, this.constructor);
22
- }
23
-
24
- _sort(modules) {
25
- return modules.slice().sort((a, b) => {
26
- a = a.identifier();
27
- b = b.identifier();
28
- /* istanbul ignore next */
29
- if(a < b) return -1;
30
- /* istanbul ignore next */
31
- if(a > b) return 1;
32
- /* istanbul ignore next */
33
- return 0;
34
- });
35
- }
36
-
37
- _moduleMessages(modules) {
38
- return modules.map((m) => {
39
- let message = `* ${m.identifier()}`;
40
- const validReasons = m.reasons.filter((reason) => reason.module);
41
-
42
- if(validReasons.length > 0) {
43
- message += `\n Used by ${validReasons.length} module(s), i. e.`;
44
- message += `\n ${validReasons[0].module.identifier()}`;
45
- }
46
- return message;
47
- }).join("\n");
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
+ const WebpackError = require("./WebpackError");
8
+
9
+ module.exports = class CaseSensitiveModulesWarning extends WebpackError {
10
+ constructor(modules) {
11
+ super();
12
+
13
+ this.name = "CaseSensitiveModulesWarning";
14
+ const sortedModules = this._sort(modules);
15
+ const modulesList = this._moduleMessages(sortedModules);
16
+ this.message = "There are multiple modules with names that only differ in casing.\n" +
17
+ "This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.\n" +
18
+ `Use equal casing. Compare these module identifiers:\n${modulesList}`;
19
+ this.origin = this.module = sortedModules[0];
20
+
21
+ Error.captureStackTrace(this, this.constructor);
22
+ }
23
+
24
+ _sort(modules) {
25
+ return modules.slice().sort((a, b) => {
26
+ a = a.identifier();
27
+ b = b.identifier();
28
+ /* istanbul ignore next */
29
+ if(a < b) return -1;
30
+ /* istanbul ignore next */
31
+ if(a > b) return 1;
32
+ /* istanbul ignore next */
33
+ return 0;
34
+ });
35
+ }
36
+
37
+ _moduleMessages(modules) {
38
+ return modules.map((m) => {
39
+ let message = `* ${m.identifier()}`;
40
+ const validReasons = m.reasons.filter((reason) => reason.module);
41
+
42
+ if(validReasons.length > 0) {
43
+ message += `\n Used by ${validReasons.length} module(s), i. e.`;
44
+ message += `\n ${validReasons[0].module.identifier()}`;
45
+ }
46
+ return message;
47
+ }).join("\n");
48
+ }
49
+ };
package/lib/Chunk.js CHANGED
@@ -308,6 +308,9 @@ class Chunk {
308
308
  otherChunk.origins.forEach(origin => {
309
309
  this.origins.push(origin);
310
310
  });
311
+ this.blocks.forEach(b => {
312
+ b.chunkReason = reason;
313
+ });
311
314
  this.origins.forEach(origin => {
312
315
  if(!origin.reasons) {
313
316
  origin.reasons = [reason];
@@ -1,24 +1,24 @@
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 ChunkRenderError extends WebpackError {
10
- constructor(chunk, file, error) {
11
- super();
12
-
13
- this.name = "ChunkRenderError";
14
- this.error = error;
15
- this.message = error.message;
16
- this.details = error.stack;
17
- this.file = file;
18
- this.chunk = chunk;
19
-
20
- Error.captureStackTrace(this, this.constructor);
21
- }
22
- }
23
-
24
- module.exports = ChunkRenderError;
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 ChunkRenderError extends WebpackError {
10
+ constructor(chunk, file, error) {
11
+ super();
12
+
13
+ this.name = "ChunkRenderError";
14
+ this.error = error;
15
+ this.message = error.message;
16
+ this.details = error.stack;
17
+ this.file = file;
18
+ this.chunk = chunk;
19
+
20
+ Error.captureStackTrace(this, this.constructor);
21
+ }
22
+ }
23
+
24
+ module.exports = ChunkRenderError;
@@ -1,36 +1,36 @@
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
- const Template = require("./Template");
9
-
10
- module.exports = class ChunkTemplate extends Template {
11
- constructor(outputOptions) {
12
- super(outputOptions);
13
- }
14
-
15
- render(chunk, moduleTemplate, dependencyTemplates) {
16
- const moduleSources = this.renderChunkModules(chunk, moduleTemplate, dependencyTemplates);
17
- const core = this.applyPluginsWaterfall("modules", moduleSources, chunk, moduleTemplate, dependencyTemplates);
18
- let source = this.applyPluginsWaterfall("render", core, chunk, moduleTemplate, dependencyTemplates);
19
- if(chunk.hasEntryModule()) {
20
- source = this.applyPluginsWaterfall("render-with-entry", source, chunk);
21
- }
22
- chunk.rendered = true;
23
- return new ConcatSource(source, ";");
24
- }
25
-
26
- updateHash(hash) {
27
- hash.update("ChunkTemplate");
28
- hash.update("2");
29
- this.applyPlugins("hash", hash);
30
- }
31
-
32
- updateHashForChunk(hash, chunk) {
33
- this.updateHash(hash);
34
- this.applyPlugins("hash-for-chunk", hash, chunk);
35
- }
36
- };
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
+ const Template = require("./Template");
9
+
10
+ module.exports = class ChunkTemplate extends Template {
11
+ constructor(outputOptions) {
12
+ super(outputOptions);
13
+ }
14
+
15
+ render(chunk, moduleTemplate, dependencyTemplates) {
16
+ const moduleSources = this.renderChunkModules(chunk, moduleTemplate, dependencyTemplates);
17
+ const core = this.applyPluginsWaterfall("modules", moduleSources, chunk, moduleTemplate, dependencyTemplates);
18
+ let source = this.applyPluginsWaterfall("render", core, chunk, moduleTemplate, dependencyTemplates);
19
+ if(chunk.hasEntryModule()) {
20
+ source = this.applyPluginsWaterfall("render-with-entry", source, chunk);
21
+ }
22
+ chunk.rendered = true;
23
+ return new ConcatSource(source, ";");
24
+ }
25
+
26
+ updateHash(hash) {
27
+ hash.update("ChunkTemplate");
28
+ hash.update("2");
29
+ this.applyPlugins("hash", hash);
30
+ }
31
+
32
+ updateHashForChunk(hash, chunk) {
33
+ this.updateHash(hash);
34
+ this.applyPlugins("hash-for-chunk", hash, chunk);
35
+ }
36
+ };