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,30 +1,30 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const NullDependency = require("./NullDependency");
7
-
8
- class HarmonyCompatibilityDependency extends NullDependency {
9
- constructor(originModule) {
10
- super();
11
- this.originModule = originModule;
12
- }
13
-
14
- get type() {
15
- return "harmony export header";
16
- }
17
- }
18
-
19
- HarmonyCompatibilityDependency.Template = class HarmonyExportDependencyTemplate {
20
- apply(dep, source) {
21
- const usedExports = dep.originModule.usedExports;
22
- if(usedExports && !Array.isArray(usedExports)) {
23
- const exportName = dep.originModule.exportsArgument || "exports";
24
- const content = `Object.defineProperty(${exportName}, "__esModule", { value: true });\n`;
25
- source.insert(-10, content);
26
- }
27
- }
28
- };
29
-
30
- module.exports = HarmonyCompatibilityDependency;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const NullDependency = require("./NullDependency");
7
+
8
+ class HarmonyCompatibilityDependency extends NullDependency {
9
+ constructor(originModule) {
10
+ super();
11
+ this.originModule = originModule;
12
+ }
13
+
14
+ get type() {
15
+ return "harmony export header";
16
+ }
17
+ }
18
+
19
+ HarmonyCompatibilityDependency.Template = class HarmonyExportDependencyTemplate {
20
+ apply(dep, source) {
21
+ const usedExports = dep.originModule.usedExports;
22
+ if(usedExports && !Array.isArray(usedExports)) {
23
+ const exportName = dep.originModule.exportsArgument || "exports";
24
+ const content = `Object.defineProperty(${exportName}, "__esModule", { value: true });\n`;
25
+ source.insert(-10, content);
26
+ }
27
+ }
28
+ };
29
+
30
+ module.exports = HarmonyCompatibilityDependency;
@@ -9,7 +9,7 @@ const HarmonyCompatibilityDependency = require("./HarmonyCompatibilityDependency
9
9
  module.exports = class HarmonyDetectionParserPlugin {
10
10
  apply(parser) {
11
11
  parser.plugin("program", (ast) => {
12
- var isHarmony = ast.body.some(statement => {
12
+ const isHarmony = ast.body.some(statement => {
13
13
  return /^(Import|Export).*Declaration$/.test(statement.type);
14
14
  });
15
15
  if(isHarmony) {
@@ -32,7 +32,7 @@ module.exports = class HarmonyDetectionParserPlugin {
32
32
  module.exportsArgument = "__webpack_exports__";
33
33
  }
34
34
  });
35
- var nonHarmonyIdentifiers = ["define", "exports"];
35
+ const nonHarmonyIdentifiers = ["define", "exports"];
36
36
  nonHarmonyIdentifiers.forEach(identifer => {
37
37
  parser.plugin(`evaluate typeof ${identifer}`, nullInHarmony);
38
38
  parser.plugin(`typeof ${identifer}`, skipInHarmony);
@@ -1,28 +1,28 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const NullDependency = require("./NullDependency");
7
-
8
- class HarmonyExportHeaderDependency extends NullDependency {
9
- constructor(range, rangeStatement) {
10
- super();
11
- this.range = range;
12
- this.rangeStatement = rangeStatement;
13
- }
14
-
15
- get type() {
16
- return "harmony export header";
17
- }
18
- }
19
-
20
- HarmonyExportHeaderDependency.Template = class HarmonyExportDependencyTemplate {
21
- apply(dep, source) {
22
- const content = "";
23
- const replaceUntil = dep.range ? dep.range[0] - 1 : dep.rangeStatement[1] - 1;
24
- source.replace(dep.rangeStatement[0], replaceUntil, content);
25
- }
26
- };
27
-
28
- module.exports = HarmonyExportHeaderDependency;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const NullDependency = require("./NullDependency");
7
+
8
+ class HarmonyExportHeaderDependency extends NullDependency {
9
+ constructor(range, rangeStatement) {
10
+ super();
11
+ this.range = range;
12
+ this.rangeStatement = rangeStatement;
13
+ }
14
+
15
+ get type() {
16
+ return "harmony export header";
17
+ }
18
+ }
19
+
20
+ HarmonyExportHeaderDependency.Template = class HarmonyExportDependencyTemplate {
21
+ apply(dep, source) {
22
+ const content = "";
23
+ const replaceUntil = dep.range ? dep.range[0] - 1 : dep.rangeStatement[1] - 1;
24
+ source.replace(dep.rangeStatement[0], replaceUntil, content);
25
+ }
26
+ };
27
+
28
+ module.exports = HarmonyExportHeaderDependency;
@@ -3,7 +3,7 @@
3
3
  Author Tobias Koppers @sokra
4
4
  */
5
5
  "use strict";
6
- var ModuleDependency = require("./ModuleDependency");
6
+ const ModuleDependency = require("./ModuleDependency");
7
7
 
8
8
  class HarmonyImportDependency extends ModuleDependency {
9
9
  constructor(request, importedVar, range) {
@@ -1,17 +1,17 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
7
- const ImportDependency = require("./ImportDependency");
8
-
9
- module.exports = class ImportDependenciesBlock extends AsyncDependenciesBlock {
10
- constructor(request, range, chunkName, module, loc) {
11
- super(chunkName, module, loc);
12
- this.range = range;
13
- const dep = new ImportDependency(request, this);
14
- dep.loc = loc;
15
- this.addDependency(dep);
16
- }
17
- };
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
7
+ const ImportDependency = require("./ImportDependency");
8
+
9
+ module.exports = class ImportDependenciesBlock extends AsyncDependenciesBlock {
10
+ constructor(request, range, chunkName, module, loc) {
11
+ super(chunkName, module, loc);
12
+ this.range = range;
13
+ const dep = new ImportDependency(request, this);
14
+ dep.loc = loc;
15
+ this.addDependency(dep);
16
+ }
17
+ };
@@ -1,22 +1,22 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const ImportContextDependency = require("./ImportContextDependency");
7
- const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
8
-
9
- class ImportEagerContextDependency extends ImportContextDependency {
10
- constructor(request, recursive, regExp, range, valueRange, chunkName) {
11
- super(request, recursive, regExp, range, valueRange, chunkName);
12
- this.async = "eager";
13
- }
14
-
15
- get type() {
16
- return "import() context eager";
17
- }
18
- }
19
-
20
- ImportEagerContextDependency.Template = ContextDependencyTemplateAsRequireCall;
21
-
22
- module.exports = ImportEagerContextDependency;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const ImportContextDependency = require("./ImportContextDependency");
7
+ const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
8
+
9
+ class ImportEagerContextDependency extends ImportContextDependency {
10
+ constructor(request, recursive, regExp, range, valueRange, chunkName) {
11
+ super(request, recursive, regExp, range, valueRange, chunkName);
12
+ this.async = "eager";
13
+ }
14
+
15
+ get type() {
16
+ return "import() context eager";
17
+ }
18
+ }
19
+
20
+ ImportEagerContextDependency.Template = ContextDependencyTemplateAsRequireCall;
21
+
22
+ module.exports = ImportEagerContextDependency;
@@ -1,22 +1,22 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const ImportContextDependency = require("./ImportContextDependency");
7
- const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
8
-
9
- class ImportLazyContextDependency extends ImportContextDependency {
10
- constructor(request, recursive, regExp, range, valueRange, chunkName) {
11
- super(request, recursive, regExp, range, valueRange, chunkName);
12
- this.async = "lazy";
13
- }
14
-
15
- get type() {
16
- return "import() context lazy";
17
- }
18
- }
19
-
20
- ImportLazyContextDependency.Template = ContextDependencyTemplateAsRequireCall;
21
-
22
- module.exports = ImportLazyContextDependency;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const ImportContextDependency = require("./ImportContextDependency");
7
+ const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
8
+
9
+ class ImportLazyContextDependency extends ImportContextDependency {
10
+ constructor(request, recursive, regExp, range, valueRange, chunkName) {
11
+ super(request, recursive, regExp, range, valueRange, chunkName);
12
+ this.async = "lazy";
13
+ }
14
+
15
+ get type() {
16
+ return "import() context lazy";
17
+ }
18
+ }
19
+
20
+ ImportLazyContextDependency.Template = ContextDependencyTemplateAsRequireCall;
21
+
22
+ module.exports = ImportLazyContextDependency;
@@ -1,22 +1,22 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const ImportContextDependency = require("./ImportContextDependency");
7
- const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
8
-
9
- class ImportLazyOnceContextDependency extends ImportContextDependency {
10
- constructor(request, recursive, regExp, range, valueRange, chunkName) {
11
- super(request, recursive, regExp, range, valueRange, chunkName);
12
- this.async = "lazy-once";
13
- }
14
-
15
- get type() {
16
- return "import() context lazy-once";
17
- }
18
- }
19
-
20
- ImportLazyOnceContextDependency.Template = ContextDependencyTemplateAsRequireCall;
21
-
22
- module.exports = ImportLazyOnceContextDependency;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const ImportContextDependency = require("./ImportContextDependency");
7
+ const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
8
+
9
+ class ImportLazyOnceContextDependency extends ImportContextDependency {
10
+ constructor(request, recursive, regExp, range, valueRange, chunkName) {
11
+ super(request, recursive, regExp, range, valueRange, chunkName);
12
+ this.async = "lazy-once";
13
+ }
14
+
15
+ get type() {
16
+ return "import() context lazy-once";
17
+ }
18
+ }
19
+
20
+ ImportLazyOnceContextDependency.Template = ContextDependencyTemplateAsRequireCall;
21
+
22
+ module.exports = ImportLazyOnceContextDependency;
@@ -1,89 +1,89 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
-
7
- const ImportEagerContextDependency = require("./ImportEagerContextDependency");
8
- const ImportWeakDependency = require("./ImportWeakDependency");
9
- const ImportWeakContextDependency = require("./ImportWeakContextDependency");
10
- const ImportLazyOnceContextDependency = require("./ImportLazyOnceContextDependency");
11
- const ImportLazyContextDependency = require("./ImportLazyContextDependency");
12
- const ImportDependenciesBlock = require("./ImportDependenciesBlock");
13
- const ImportEagerDependency = require("./ImportEagerDependency");
14
- const ContextDependencyHelpers = require("./ContextDependencyHelpers");
15
- const UnsupportedFeatureWarning = require("../UnsupportedFeatureWarning");
16
-
17
- class ImportParserPlugin {
18
- constructor(options) {
19
- this.options = options;
20
- }
21
-
22
- apply(parser) {
23
- const options = this.options;
24
-
25
- parser.plugin(["call System.import", "import-call"], (expr) => {
26
- if(expr.arguments.length !== 1)
27
- throw new Error("Incorrect number of arguments provided to 'import(module: string) -> Promise'.");
28
-
29
- const param = parser.evaluateExpression(expr.arguments[0]);
30
-
31
- let chunkName = null;
32
- let mode = "lazy";
33
-
34
- const importOptions = parser.getCommentOptions(expr.range);
35
- if(importOptions) {
36
- if(typeof importOptions.webpackChunkName !== "undefined") {
37
- if(typeof importOptions.webpackChunkName !== "string")
38
- parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackChunkName\` expected a string, but received: ${importOptions.webpackChunkName}.`));
39
- else
40
- chunkName = importOptions.webpackChunkName;
41
- }
42
- if(typeof importOptions.webpackMode !== "undefined") {
43
- if(typeof importOptions.webpackMode !== "string")
44
- parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected a string, but received: ${importOptions.webpackMode}.`));
45
- else
46
- mode = importOptions.webpackMode;
47
- }
48
- }
49
-
50
- if(param.isString()) {
51
- if(mode !== "lazy" && mode !== "eager" && mode !== "weak") {
52
- parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected 'lazy', 'eager' or 'weak', but received: ${mode}.`));
53
- }
54
-
55
- if(mode === "eager") {
56
- const dep = new ImportEagerDependency(param.string, expr.range);
57
- parser.state.current.addDependency(dep);
58
- } else if(mode === "weak") {
59
- const dep = new ImportWeakDependency(param.string, expr.range);
60
- parser.state.current.addDependency(dep);
61
- } else {
62
- const depBlock = new ImportDependenciesBlock(param.string, expr.range, chunkName, parser.state.module, expr.loc);
63
- parser.state.current.addBlock(depBlock);
64
- }
65
- return true;
66
- } else {
67
- if(mode !== "lazy" && mode !== "lazy-once" && mode !== "eager" && mode !== "weak") {
68
- parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected 'lazy', 'lazy-once', 'eager' or 'weak', but received: ${mode}.`));
69
- }
70
-
71
- let Dep = ImportLazyContextDependency;
72
- if(mode === "eager") {
73
- Dep = ImportEagerContextDependency;
74
- } else if(mode === "weak") {
75
- Dep = ImportWeakContextDependency;
76
- } else if(mode === "lazy-once") {
77
- Dep = ImportLazyOnceContextDependency;
78
- }
79
- const dep = ContextDependencyHelpers.create(Dep, expr.range, param, expr, options, chunkName);
80
- if(!dep) return;
81
- dep.loc = expr.loc;
82
- dep.optional = !!parser.scope.inTry;
83
- parser.state.current.addDependency(dep);
84
- return true;
85
- }
86
- });
87
- }
88
- }
89
- module.exports = ImportParserPlugin;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const ImportEagerContextDependency = require("./ImportEagerContextDependency");
8
+ const ImportWeakDependency = require("./ImportWeakDependency");
9
+ const ImportWeakContextDependency = require("./ImportWeakContextDependency");
10
+ const ImportLazyOnceContextDependency = require("./ImportLazyOnceContextDependency");
11
+ const ImportLazyContextDependency = require("./ImportLazyContextDependency");
12
+ const ImportDependenciesBlock = require("./ImportDependenciesBlock");
13
+ const ImportEagerDependency = require("./ImportEagerDependency");
14
+ const ContextDependencyHelpers = require("./ContextDependencyHelpers");
15
+ const UnsupportedFeatureWarning = require("../UnsupportedFeatureWarning");
16
+
17
+ class ImportParserPlugin {
18
+ constructor(options) {
19
+ this.options = options;
20
+ }
21
+
22
+ apply(parser) {
23
+ const options = this.options;
24
+
25
+ parser.plugin(["call System.import", "import-call"], (expr) => {
26
+ if(expr.arguments.length !== 1)
27
+ throw new Error("Incorrect number of arguments provided to 'import(module: string) -> Promise'.");
28
+
29
+ const param = parser.evaluateExpression(expr.arguments[0]);
30
+
31
+ let chunkName = null;
32
+ let mode = "lazy";
33
+
34
+ const importOptions = parser.getCommentOptions(expr.range);
35
+ if(importOptions) {
36
+ if(typeof importOptions.webpackChunkName !== "undefined") {
37
+ if(typeof importOptions.webpackChunkName !== "string")
38
+ parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackChunkName\` expected a string, but received: ${importOptions.webpackChunkName}.`));
39
+ else
40
+ chunkName = importOptions.webpackChunkName;
41
+ }
42
+ if(typeof importOptions.webpackMode !== "undefined") {
43
+ if(typeof importOptions.webpackMode !== "string")
44
+ parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected a string, but received: ${importOptions.webpackMode}.`));
45
+ else
46
+ mode = importOptions.webpackMode;
47
+ }
48
+ }
49
+
50
+ if(param.isString()) {
51
+ if(mode !== "lazy" && mode !== "eager" && mode !== "weak") {
52
+ parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected 'lazy', 'eager' or 'weak', but received: ${mode}.`));
53
+ }
54
+
55
+ if(mode === "eager") {
56
+ const dep = new ImportEagerDependency(param.string, expr.range);
57
+ parser.state.current.addDependency(dep);
58
+ } else if(mode === "weak") {
59
+ const dep = new ImportWeakDependency(param.string, expr.range);
60
+ parser.state.current.addDependency(dep);
61
+ } else {
62
+ const depBlock = new ImportDependenciesBlock(param.string, expr.range, chunkName, parser.state.module, expr.loc);
63
+ parser.state.current.addBlock(depBlock);
64
+ }
65
+ return true;
66
+ } else {
67
+ if(mode !== "lazy" && mode !== "lazy-once" && mode !== "eager" && mode !== "weak") {
68
+ parser.state.module.warnings.push(new UnsupportedFeatureWarning(parser.state.module, `\`webpackMode\` expected 'lazy', 'lazy-once', 'eager' or 'weak', but received: ${mode}.`));
69
+ }
70
+
71
+ let Dep = ImportLazyContextDependency;
72
+ if(mode === "eager") {
73
+ Dep = ImportEagerContextDependency;
74
+ } else if(mode === "weak") {
75
+ Dep = ImportWeakContextDependency;
76
+ } else if(mode === "lazy-once") {
77
+ Dep = ImportLazyOnceContextDependency;
78
+ }
79
+ const dep = ContextDependencyHelpers.create(Dep, expr.range, param, expr, options, chunkName);
80
+ if(!dep) return;
81
+ dep.loc = expr.loc;
82
+ dep.optional = !!parser.scope.inTry;
83
+ parser.state.current.addDependency(dep);
84
+ return true;
85
+ }
86
+ });
87
+ }
88
+ }
89
+ module.exports = ImportParserPlugin;
@@ -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
-
7
- const ImportDependency = require("./ImportDependency");
8
- const ImportEagerDependency = require("./ImportEagerDependency");
9
- const ImportWeakDependency = require("./ImportWeakDependency");
10
- const ImportEagerContextDependency = require("./ImportEagerContextDependency");
11
- const ImportWeakContextDependency = require("./ImportWeakContextDependency");
12
- const ImportLazyOnceContextDependency = require("./ImportLazyOnceContextDependency");
13
- const ImportLazyContextDependency = require("./ImportLazyContextDependency");
14
- const ImportParserPlugin = require("./ImportParserPlugin");
15
-
16
- class ImportPlugin {
17
- constructor(options) {
18
- this.options = options;
19
- }
20
-
21
- apply(compiler) {
22
- const options = this.options;
23
- compiler.plugin("compilation", (compilation, params) => {
24
- const normalModuleFactory = params.normalModuleFactory;
25
- const contextModuleFactory = params.contextModuleFactory;
26
-
27
- compilation.dependencyFactories.set(ImportDependency, normalModuleFactory);
28
- compilation.dependencyTemplates.set(ImportDependency, new ImportDependency.Template());
29
-
30
- compilation.dependencyFactories.set(ImportEagerDependency, normalModuleFactory);
31
- compilation.dependencyTemplates.set(ImportEagerDependency, new ImportEagerDependency.Template());
32
-
33
- compilation.dependencyFactories.set(ImportWeakDependency, normalModuleFactory);
34
- compilation.dependencyTemplates.set(ImportWeakDependency, new ImportWeakDependency.Template());
35
-
36
- compilation.dependencyFactories.set(ImportEagerContextDependency, contextModuleFactory);
37
- compilation.dependencyTemplates.set(ImportEagerContextDependency, new ImportEagerContextDependency.Template());
38
-
39
- compilation.dependencyFactories.set(ImportWeakContextDependency, contextModuleFactory);
40
- compilation.dependencyTemplates.set(ImportWeakContextDependency, new ImportWeakContextDependency.Template());
41
-
42
- compilation.dependencyFactories.set(ImportLazyOnceContextDependency, contextModuleFactory);
43
- compilation.dependencyTemplates.set(ImportLazyOnceContextDependency, new ImportLazyOnceContextDependency.Template());
44
-
45
- compilation.dependencyFactories.set(ImportLazyContextDependency, contextModuleFactory);
46
- compilation.dependencyTemplates.set(ImportLazyContextDependency, new ImportLazyContextDependency.Template());
47
-
48
- normalModuleFactory.plugin("parser", (parser, parserOptions) => {
49
-
50
- if(typeof parserOptions.import !== "undefined" && !parserOptions.import)
51
- return;
52
-
53
- parser.apply(
54
- new ImportParserPlugin(options)
55
- );
56
- });
57
- });
58
- }
59
- }
60
- module.exports = ImportPlugin;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const ImportDependency = require("./ImportDependency");
8
+ const ImportEagerDependency = require("./ImportEagerDependency");
9
+ const ImportWeakDependency = require("./ImportWeakDependency");
10
+ const ImportEagerContextDependency = require("./ImportEagerContextDependency");
11
+ const ImportWeakContextDependency = require("./ImportWeakContextDependency");
12
+ const ImportLazyOnceContextDependency = require("./ImportLazyOnceContextDependency");
13
+ const ImportLazyContextDependency = require("./ImportLazyContextDependency");
14
+ const ImportParserPlugin = require("./ImportParserPlugin");
15
+
16
+ class ImportPlugin {
17
+ constructor(options) {
18
+ this.options = options;
19
+ }
20
+
21
+ apply(compiler) {
22
+ const options = this.options;
23
+ compiler.plugin("compilation", (compilation, params) => {
24
+ const normalModuleFactory = params.normalModuleFactory;
25
+ const contextModuleFactory = params.contextModuleFactory;
26
+
27
+ compilation.dependencyFactories.set(ImportDependency, normalModuleFactory);
28
+ compilation.dependencyTemplates.set(ImportDependency, new ImportDependency.Template());
29
+
30
+ compilation.dependencyFactories.set(ImportEagerDependency, normalModuleFactory);
31
+ compilation.dependencyTemplates.set(ImportEagerDependency, new ImportEagerDependency.Template());
32
+
33
+ compilation.dependencyFactories.set(ImportWeakDependency, normalModuleFactory);
34
+ compilation.dependencyTemplates.set(ImportWeakDependency, new ImportWeakDependency.Template());
35
+
36
+ compilation.dependencyFactories.set(ImportEagerContextDependency, contextModuleFactory);
37
+ compilation.dependencyTemplates.set(ImportEagerContextDependency, new ImportEagerContextDependency.Template());
38
+
39
+ compilation.dependencyFactories.set(ImportWeakContextDependency, contextModuleFactory);
40
+ compilation.dependencyTemplates.set(ImportWeakContextDependency, new ImportWeakContextDependency.Template());
41
+
42
+ compilation.dependencyFactories.set(ImportLazyOnceContextDependency, contextModuleFactory);
43
+ compilation.dependencyTemplates.set(ImportLazyOnceContextDependency, new ImportLazyOnceContextDependency.Template());
44
+
45
+ compilation.dependencyFactories.set(ImportLazyContextDependency, contextModuleFactory);
46
+ compilation.dependencyTemplates.set(ImportLazyContextDependency, new ImportLazyContextDependency.Template());
47
+
48
+ normalModuleFactory.plugin("parser", (parser, parserOptions) => {
49
+
50
+ if(typeof parserOptions.import !== "undefined" && !parserOptions.import)
51
+ return;
52
+
53
+ parser.apply(
54
+ new ImportParserPlugin(options)
55
+ );
56
+ });
57
+ });
58
+ }
59
+ }
60
+ module.exports = ImportPlugin;