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,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 CommonJsRequireDependency = require("./CommonJsRequireDependency");
8
- const CommonJsRequireContextDependency = require("./CommonJsRequireContextDependency");
9
- const RequireHeaderDependency = require("./RequireHeaderDependency");
10
- const LocalModuleDependency = require("./LocalModuleDependency");
11
- const ContextDependencyHelpers = require("./ContextDependencyHelpers");
12
- const LocalModulesHelpers = require("./LocalModulesHelpers");
13
- const ParserHelpers = require("../ParserHelpers");
14
-
15
- class CommonJsRequireDependencyParserPlugin {
16
- constructor(options) {
17
- this.options = options;
18
- }
19
-
20
- apply(parser) {
21
- const options = this.options;
22
- parser.plugin("expression require.cache", ParserHelpers.toConstantDependency("__webpack_require__.c"));
23
- parser.plugin("expression require", (expr) => {
24
- const dep = new CommonJsRequireContextDependency(options.unknownContextRequest, options.unknownContextRecursive, options.unknownContextRegExp, expr.range);
25
- dep.critical = options.unknownContextCritical && "require function is used in a way in which dependencies cannot be statically extracted";
26
- dep.loc = expr.loc;
27
- dep.optional = !!parser.scope.inTry;
28
- parser.state.current.addDependency(dep);
29
- return true;
30
- });
31
- parser.plugin("call require", (expr) => {
32
- if(expr.arguments.length !== 1) return;
33
- let localModule;
34
- const param = parser.evaluateExpression(expr.arguments[0]);
35
- if(param.isConditional()) {
36
- let isExpression = false;
37
- const prevLength = parser.state.current.dependencies.length;
38
- const dep = new RequireHeaderDependency(expr.callee.range);
39
- dep.loc = expr.loc;
40
- parser.state.current.addDependency(dep);
41
- param.options.forEach(function(param) {
42
- const result = parser.applyPluginsBailResult("call require:commonjs:item", expr, param);
43
- if(result === undefined) {
44
- isExpression = true;
45
- }
46
- });
47
- if(isExpression) {
48
- parser.state.current.dependencies.length = prevLength;
49
- } else {
50
- return true;
51
- }
52
- }
53
- if(param.isString() && (localModule = LocalModulesHelpers.getLocalModule(parser.state, param.string))) {
54
- const dep = new LocalModuleDependency(localModule, expr.range);
55
- dep.loc = expr.loc;
56
- parser.state.current.addDependency(dep);
57
- return true;
58
- } else {
59
- const result = parser.applyPluginsBailResult("call require:commonjs:item", expr, param);
60
- if(result === undefined) {
61
- parser.applyPluginsBailResult("call require:commonjs:context", expr, param);
62
- } else {
63
- const dep = new RequireHeaderDependency(expr.callee.range);
64
- dep.loc = expr.loc;
65
- parser.state.current.addDependency(dep);
66
- }
67
- return true;
68
- }
69
- });
70
- parser.plugin("call require:commonjs:item", (expr, param) => {
71
- if(param.isString()) {
72
- const dep = new CommonJsRequireDependency(param.string, param.range);
73
- dep.loc = expr.loc;
74
- dep.optional = !!parser.scope.inTry;
75
- parser.state.current.addDependency(dep);
76
- return true;
77
- }
78
- });
79
- parser.plugin("call require:commonjs:context", (expr, param) => {
80
- const dep = ContextDependencyHelpers.create(CommonJsRequireContextDependency, expr.range, param, expr, options);
81
- if(!dep) return;
82
- dep.loc = expr.loc;
83
- dep.optional = !!parser.scope.inTry;
84
- parser.state.current.addDependency(dep);
85
- return true;
86
- });
87
- }
88
- }
89
- module.exports = CommonJsRequireDependencyParserPlugin;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const CommonJsRequireDependency = require("./CommonJsRequireDependency");
8
+ const CommonJsRequireContextDependency = require("./CommonJsRequireContextDependency");
9
+ const RequireHeaderDependency = require("./RequireHeaderDependency");
10
+ const LocalModuleDependency = require("./LocalModuleDependency");
11
+ const ContextDependencyHelpers = require("./ContextDependencyHelpers");
12
+ const LocalModulesHelpers = require("./LocalModulesHelpers");
13
+ const ParserHelpers = require("../ParserHelpers");
14
+
15
+ class CommonJsRequireDependencyParserPlugin {
16
+ constructor(options) {
17
+ this.options = options;
18
+ }
19
+
20
+ apply(parser) {
21
+ const options = this.options;
22
+ parser.plugin("expression require.cache", ParserHelpers.toConstantDependency("__webpack_require__.c"));
23
+ parser.plugin("expression require", (expr) => {
24
+ const dep = new CommonJsRequireContextDependency(options.unknownContextRequest, options.unknownContextRecursive, options.unknownContextRegExp, expr.range);
25
+ dep.critical = options.unknownContextCritical && "require function is used in a way in which dependencies cannot be statically extracted";
26
+ dep.loc = expr.loc;
27
+ dep.optional = !!parser.scope.inTry;
28
+ parser.state.current.addDependency(dep);
29
+ return true;
30
+ });
31
+ parser.plugin("call require", (expr) => {
32
+ if(expr.arguments.length !== 1) return;
33
+ let localModule;
34
+ const param = parser.evaluateExpression(expr.arguments[0]);
35
+ if(param.isConditional()) {
36
+ let isExpression = false;
37
+ const prevLength = parser.state.current.dependencies.length;
38
+ const dep = new RequireHeaderDependency(expr.callee.range);
39
+ dep.loc = expr.loc;
40
+ parser.state.current.addDependency(dep);
41
+ param.options.forEach(function(param) {
42
+ const result = parser.applyPluginsBailResult("call require:commonjs:item", expr, param);
43
+ if(result === undefined) {
44
+ isExpression = true;
45
+ }
46
+ });
47
+ if(isExpression) {
48
+ parser.state.current.dependencies.length = prevLength;
49
+ } else {
50
+ return true;
51
+ }
52
+ }
53
+ if(param.isString() && (localModule = LocalModulesHelpers.getLocalModule(parser.state, param.string))) {
54
+ const dep = new LocalModuleDependency(localModule, expr.range);
55
+ dep.loc = expr.loc;
56
+ parser.state.current.addDependency(dep);
57
+ return true;
58
+ } else {
59
+ const result = parser.applyPluginsBailResult("call require:commonjs:item", expr, param);
60
+ if(result === undefined) {
61
+ parser.applyPluginsBailResult("call require:commonjs:context", expr, param);
62
+ } else {
63
+ const dep = new RequireHeaderDependency(expr.callee.range);
64
+ dep.loc = expr.loc;
65
+ parser.state.current.addDependency(dep);
66
+ }
67
+ return true;
68
+ }
69
+ });
70
+ parser.plugin("call require:commonjs:item", (expr, param) => {
71
+ if(param.isString()) {
72
+ const dep = new CommonJsRequireDependency(param.string, param.range);
73
+ dep.loc = expr.loc;
74
+ dep.optional = !!parser.scope.inTry;
75
+ parser.state.current.addDependency(dep);
76
+ return true;
77
+ }
78
+ });
79
+ parser.plugin("call require:commonjs:context", (expr, param) => {
80
+ const dep = ContextDependencyHelpers.create(CommonJsRequireContextDependency, expr.range, param, expr, options);
81
+ if(!dep) return;
82
+ dep.loc = expr.loc;
83
+ dep.optional = !!parser.scope.inTry;
84
+ parser.state.current.addDependency(dep);
85
+ return true;
86
+ });
87
+ }
88
+ }
89
+ module.exports = CommonJsRequireDependencyParserPlugin;
@@ -1,32 +1,32 @@
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 ConstDependency extends NullDependency {
9
- constructor(expression, range) {
10
- super();
11
- this.expression = expression;
12
- this.range = range;
13
- }
14
-
15
- updateHash(hash) {
16
- hash.update(this.range + "");
17
- hash.update(this.expression + "");
18
- }
19
- }
20
-
21
- ConstDependency.Template = class ConstDependencyTemplate {
22
- apply(dep, source) {
23
- if(typeof dep.range === "number") {
24
- source.insert(dep.range, dep.expression);
25
- return;
26
- }
27
-
28
- source.replace(dep.range[0], dep.range[1] - 1, dep.expression);
29
- }
30
- };
31
-
32
- module.exports = ConstDependency;
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 ConstDependency extends NullDependency {
9
+ constructor(expression, range) {
10
+ super();
11
+ this.expression = expression;
12
+ this.range = range;
13
+ }
14
+
15
+ updateHash(hash) {
16
+ hash.update(this.range + "");
17
+ hash.update(this.expression + "");
18
+ }
19
+ }
20
+
21
+ ConstDependency.Template = class ConstDependencyTemplate {
22
+ apply(dep, source) {
23
+ if(typeof dep.range === "number") {
24
+ source.insert(dep.range, dep.expression);
25
+ return;
26
+ }
27
+
28
+ source.replace(dep.range[0], dep.range[1] - 1, dep.expression);
29
+ }
30
+ };
31
+
32
+ module.exports = ConstDependency;
@@ -1,71 +1,71 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
-
7
- const ContextDependencyHelpers = exports;
8
-
9
- /**
10
- * Escapes regular expression metacharacters
11
- * @param {string} str String to quote
12
- * @return {string} Escaped string
13
- */
14
- function quotemeta(str) {
15
- return str.replace(/[-[\]\\/{}()*+?.^$|]/g, "\\$&");
16
- }
17
-
18
- ContextDependencyHelpers.create = function(Dep, range, param, expr, options, chunkName) {
19
- let dep;
20
- let prefix;
21
- let postfix;
22
- let prefixRange;
23
- let valueRange;
24
- let idx;
25
- let context;
26
- let regExp;
27
- if(param.isTemplateString()) {
28
- prefix = param.quasis[0].string;
29
- postfix = param.quasis.length > 1 ? param.quasis[param.quasis.length - 1].string : "";
30
- prefixRange = [param.quasis[0].range[0], param.quasis[0].range[1]];
31
- valueRange = param.range;
32
- idx = prefix.lastIndexOf("/");
33
- context = ".";
34
- if(idx >= 0) {
35
- context = prefix.substr(0, idx);
36
- prefix = `.${prefix.substr(idx)}`;
37
- }
38
- // If there are more than two quasis, maybe the generated RegExp can be more precise?
39
- regExp = new RegExp(`^${quotemeta(prefix)}${options.wrappedContextRegExp.source}${quotemeta(postfix)}$`);
40
- dep = new Dep(context, options.wrappedContextRecursive, regExp, range, valueRange, chunkName);
41
- dep.loc = expr.loc;
42
- dep.replaces = [{
43
- range: prefixRange,
44
- value: prefix
45
- }];
46
- dep.critical = options.wrappedContextCritical && "a part of the request of a dependency is an expression";
47
- return dep;
48
- } else if(param.isWrapped() && (param.prefix && param.prefix.isString() || param.postfix && param.postfix.isString())) {
49
- prefix = param.prefix && param.prefix.isString() ? param.prefix.string : "";
50
- postfix = param.postfix && param.postfix.isString() ? param.postfix.string : "";
51
- prefixRange = param.prefix && param.prefix.isString() ? param.prefix.range : null;
52
- valueRange = [prefixRange ? prefixRange[1] : param.range[0], param.range[1]];
53
- idx = prefix.lastIndexOf("/");
54
- context = ".";
55
- if(idx >= 0) {
56
- context = prefix.substr(0, idx);
57
- prefix = `.${prefix.substr(idx)}`;
58
- }
59
- regExp = new RegExp(`^${quotemeta(prefix)}${options.wrappedContextRegExp.source}${quotemeta(postfix)}$`);
60
- dep = new Dep(context, options.wrappedContextRecursive, regExp, range, valueRange, chunkName);
61
- dep.loc = expr.loc;
62
- dep.prepend = param.prefix && param.prefix.isString() ? prefix : null;
63
- dep.critical = options.wrappedContextCritical && "a part of the request of a dependency is an expression";
64
- return dep;
65
- } else {
66
- dep = new Dep(options.exprContextRequest, options.exprContextRecursive, options.exprContextRegExp, range, param.range, chunkName);
67
- dep.loc = expr.loc;
68
- dep.critical = options.exprContextCritical && "the request of a dependency is an expression";
69
- return dep;
70
- }
71
- };
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const ContextDependencyHelpers = exports;
8
+
9
+ /**
10
+ * Escapes regular expression metacharacters
11
+ * @param {string} str String to quote
12
+ * @return {string} Escaped string
13
+ */
14
+ function quotemeta(str) {
15
+ return str.replace(/[-[\]\\/{}()*+?.^$|]/g, "\\$&");
16
+ }
17
+
18
+ ContextDependencyHelpers.create = function(Dep, range, param, expr, options, chunkName) {
19
+ let dep;
20
+ let prefix;
21
+ let postfix;
22
+ let prefixRange;
23
+ let valueRange;
24
+ let idx;
25
+ let context;
26
+ let regExp;
27
+ if(param.isTemplateString()) {
28
+ prefix = param.quasis[0].string;
29
+ postfix = param.quasis.length > 1 ? param.quasis[param.quasis.length - 1].string : "";
30
+ prefixRange = [param.quasis[0].range[0], param.quasis[0].range[1]];
31
+ valueRange = param.range;
32
+ idx = prefix.lastIndexOf("/");
33
+ context = ".";
34
+ if(idx >= 0) {
35
+ context = prefix.substr(0, idx);
36
+ prefix = `.${prefix.substr(idx)}`;
37
+ }
38
+ // If there are more than two quasis, maybe the generated RegExp can be more precise?
39
+ regExp = new RegExp(`^${quotemeta(prefix)}${options.wrappedContextRegExp.source}${quotemeta(postfix)}$`);
40
+ dep = new Dep(context, options.wrappedContextRecursive, regExp, range, valueRange, chunkName);
41
+ dep.loc = expr.loc;
42
+ dep.replaces = [{
43
+ range: prefixRange,
44
+ value: prefix
45
+ }];
46
+ dep.critical = options.wrappedContextCritical && "a part of the request of a dependency is an expression";
47
+ return dep;
48
+ } else if(param.isWrapped() && (param.prefix && param.prefix.isString() || param.postfix && param.postfix.isString())) {
49
+ prefix = param.prefix && param.prefix.isString() ? param.prefix.string : "";
50
+ postfix = param.postfix && param.postfix.isString() ? param.postfix.string : "";
51
+ prefixRange = param.prefix && param.prefix.isString() ? param.prefix.range : null;
52
+ valueRange = [prefixRange ? prefixRange[1] : param.range[0], param.range[1]];
53
+ idx = prefix.lastIndexOf("/");
54
+ context = ".";
55
+ if(idx >= 0) {
56
+ context = prefix.substr(0, idx);
57
+ prefix = `.${prefix.substr(idx)}`;
58
+ }
59
+ regExp = new RegExp(`^${quotemeta(prefix)}${options.wrappedContextRegExp.source}${quotemeta(postfix)}$`);
60
+ dep = new Dep(context, options.wrappedContextRecursive, regExp, range, valueRange, chunkName);
61
+ dep.loc = expr.loc;
62
+ dep.prepend = param.prefix && param.prefix.isString() ? prefix : null;
63
+ dep.critical = options.wrappedContextCritical && "a part of the request of a dependency is an expression";
64
+ return dep;
65
+ } else {
66
+ dep = new Dep(options.exprContextRequest, options.exprContextRecursive, options.exprContextRegExp, range, param.range, chunkName);
67
+ dep.loc = expr.loc;
68
+ dep.critical = options.exprContextCritical && "the request of a dependency is an expression";
69
+ return dep;
70
+ }
71
+ };
@@ -1,21 +1,21 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const ModuleDependency = require("./ModuleDependency");
7
-
8
- class ContextElementDependency extends ModuleDependency {
9
- constructor(request, userRequest) {
10
- super(request);
11
- if(userRequest) {
12
- this.userRequest = userRequest;
13
- }
14
- }
15
-
16
- get type() {
17
- return "context element";
18
- }
19
- }
20
-
21
- module.exports = ContextElementDependency;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const ModuleDependency = require("./ModuleDependency");
7
+
8
+ class ContextElementDependency extends ModuleDependency {
9
+ constructor(request, userRequest) {
10
+ super(request);
11
+ if(userRequest) {
12
+ this.userRequest = userRequest;
13
+ }
14
+ }
15
+
16
+ get type() {
17
+ return "context element";
18
+ }
19
+ }
20
+
21
+ module.exports = ContextElementDependency;
@@ -1,20 +1,20 @@
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 CriticalDependencyWarning extends WebpackError {
10
- constructor(message) {
11
- super();
12
-
13
- this.name = "CriticalDependencyWarning";
14
- this.message = "Critical dependency: " + message;
15
-
16
- Error.captureStackTrace(this, this.constructor);
17
- }
18
- }
19
-
20
- module.exports = CriticalDependencyWarning;
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 CriticalDependencyWarning extends WebpackError {
10
+ constructor(message) {
11
+ super();
12
+
13
+ this.name = "CriticalDependencyWarning";
14
+ this.message = "Critical dependency: " + message;
15
+
16
+ Error.captureStackTrace(this, this.constructor);
17
+ }
18
+ }
19
+
20
+ module.exports = CriticalDependencyWarning;
@@ -1,33 +1,33 @@
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 DelegatedExportsDependency extends NullDependency {
9
- constructor(originModule, exports) {
10
- super();
11
- this.originModule = originModule;
12
- this.exports = exports;
13
- }
14
-
15
- get type() {
16
- return "delegated exports";
17
- }
18
-
19
- getReference() {
20
- return {
21
- module: this.originModule,
22
- importedNames: true
23
- };
24
- }
25
-
26
- getExports() {
27
- return {
28
- exports: this.exports
29
- };
30
- }
31
- }
32
-
33
- module.exports = DelegatedExportsDependency;
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 DelegatedExportsDependency extends NullDependency {
9
+ constructor(originModule, exports) {
10
+ super();
11
+ this.originModule = originModule;
12
+ this.exports = exports;
13
+ }
14
+
15
+ get type() {
16
+ return "delegated exports";
17
+ }
18
+
19
+ getReference() {
20
+ return {
21
+ module: this.originModule,
22
+ importedNames: true
23
+ };
24
+ }
25
+
26
+ getExports() {
27
+ return {
28
+ exports: this.exports
29
+ };
30
+ }
31
+ }
32
+
33
+ module.exports = DelegatedExportsDependency;
@@ -1,18 +1,18 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const ModuleDependency = require("./ModuleDependency");
7
-
8
- class DelegatedSourceDependency extends ModuleDependency {
9
- constructor(request) {
10
- super(request);
11
- }
12
-
13
- get type() {
14
- return "delegated source";
15
- }
16
- }
17
-
18
- module.exports = DelegatedSourceDependency;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const ModuleDependency = require("./ModuleDependency");
7
+
8
+ class DelegatedSourceDependency extends ModuleDependency {
9
+ constructor(request) {
10
+ super(request);
11
+ }
12
+
13
+ get type() {
14
+ return "delegated source";
15
+ }
16
+ }
17
+
18
+ module.exports = DelegatedSourceDependency;
@@ -1,20 +1,20 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- const Dependency = require("../Dependency");
7
-
8
- class DllEntryDependency extends Dependency {
9
- constructor(dependencies, name) {
10
- super();
11
- this.dependencies = dependencies;
12
- this.name = name;
13
- }
14
-
15
- get type() {
16
- return "dll entry";
17
- }
18
- }
19
-
20
- module.exports = DllEntryDependency;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const Dependency = require("../Dependency");
7
+
8
+ class DllEntryDependency extends Dependency {
9
+ constructor(dependencies, name) {
10
+ super();
11
+ this.dependencies = dependencies;
12
+ this.name = name;
13
+ }
14
+
15
+ get type() {
16
+ return "dll entry";
17
+ }
18
+ }
19
+
20
+ module.exports = DllEntryDependency;