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,129 +1,130 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
-
7
- const OptionsDefaulter = require("./OptionsDefaulter");
8
- const Template = require("./Template");
9
-
10
- class WebpackOptionsDefaulter extends OptionsDefaulter {
11
- constructor() {
12
- super();
13
- this.set("devtool", false);
14
- this.set("cache", true);
15
-
16
- this.set("context", process.cwd());
17
- this.set("target", "web");
18
-
19
- this.set("module", "call", value => Object.assign({}, value));
20
- this.set("module.unknownContextRequest", ".");
21
- this.set("module.unknownContextRegExp", false);
22
- this.set("module.unknownContextRecursive", true);
23
- this.set("module.unknownContextCritical", true);
24
- this.set("module.exprContextRequest", ".");
25
- this.set("module.exprContextRegExp", false);
26
- this.set("module.exprContextRecursive", true);
27
- this.set("module.exprContextCritical", true);
28
- this.set("module.wrappedContextRegExp", /.*/);
29
- this.set("module.wrappedContextRecursive", true);
30
- this.set("module.wrappedContextCritical", false);
31
- this.set("module.strictExportPresence", false);
32
- this.set("module.strictThisContextOnImports", false);
33
- this.set("module.unsafeCache", true);
34
-
35
- this.set("output", "call", (value, options) => {
36
- if(typeof value === "string") {
37
- return {
38
- filename: value
39
- };
40
- } else if(typeof value !== "object") {
41
- return {};
42
- } else {
43
- return Object.assign({}, value);
44
- }
45
- });
46
- this.set("output.filename", "[name].js");
47
- this.set("output.chunkFilename", "make", (options) => {
48
- const filename = options.output.filename;
49
- return filename.indexOf("[name]") >= 0 ? filename.replace("[name]", "[id]") : "[id]." + filename;
50
- });
51
- this.set("output.library", "");
52
- this.set("output.hotUpdateFunction", "make", (options) => {
53
- return Template.toIdentifier("webpackHotUpdate" + options.output.library);
54
- });
55
- this.set("output.jsonpFunction", "make", (options) => {
56
- return Template.toIdentifier("webpackJsonp" + options.output.library);
57
- });
58
- this.set("output.libraryTarget", "var");
59
- this.set("output.path", process.cwd());
60
- this.set("output.sourceMapFilename", "[file].map[query]");
61
- this.set("output.hotUpdateChunkFilename", "[id].[hash].hot-update.js");
62
- this.set("output.hotUpdateMainFilename", "[hash].hot-update.json");
63
- this.set("output.crossOriginLoading", false);
64
- this.set("output.chunkLoadTimeout", 120000);
65
- this.set("output.hashFunction", "md5");
66
- this.set("output.hashDigest", "hex");
67
- this.set("output.hashDigestLength", 20);
68
- this.set("output.devtoolLineToLine", false);
69
- this.set("output.strictModuleExceptionHandling", false);
70
-
71
- this.set("node", "call", value => {
72
- if(typeof value === "boolean") {
73
- return value;
74
- } else {
75
- return Object.assign({}, value);
76
- }
77
- });
78
- this.set("node.console", false);
79
- this.set("node.process", true);
80
- this.set("node.global", true);
81
- this.set("node.Buffer", true);
82
- this.set("node.setImmediate", true);
83
- this.set("node.__filename", "mock");
84
- this.set("node.__dirname", "mock");
85
-
86
- this.set("performance", "call", value => {
87
- if(typeof value === "boolean") {
88
- return value;
89
- } else {
90
- return Object.assign({}, value);
91
- }
92
- });
93
- this.set("performance.maxAssetSize", 250000);
94
- this.set("performance.maxEntrypointSize", 250000);
95
- this.set("performance.hints", false);
96
-
97
- this.set("resolve", "call", value => Object.assign({}, value));
98
- this.set("resolve.unsafeCache", true);
99
- this.set("resolve.modules", ["node_modules"]);
100
- this.set("resolve.extensions", [".js", ".json"]);
101
- this.set("resolve.mainFiles", ["index"]);
102
- this.set("resolve.aliasFields", "make", (options) => {
103
- if(options.target === "web" || options.target === "webworker")
104
- return ["browser"];
105
- else
106
- return [];
107
- });
108
- this.set("resolve.mainFields", "make", (options) => {
109
- if(options.target === "web" || options.target === "webworker")
110
- return ["browser", "module", "main"];
111
- else
112
- return ["module", "main"];
113
- });
114
- this.set("resolve.cacheWithContext", "make", (options) => {
115
- return Array.isArray(options.resolve.plugins) && options.resolve.plugins.length > 0;
116
- });
117
-
118
- this.set("resolveLoader", "call", value => Object.assign({}, value));
119
- this.set("resolveLoader.unsafeCache", true);
120
- this.set("resolveLoader.mainFields", ["loader", "main"]);
121
- this.set("resolveLoader.extensions", [".js", ".json"]);
122
- this.set("resolveLoader.mainFiles", ["index"]);
123
- this.set("resolveLoader.cacheWithContext", "make", (options) => {
124
- return Array.isArray(options.resolveLoader.plugins) && options.resolveLoader.plugins.length > 0;
125
- });
126
- }
127
- }
128
-
129
- module.exports = WebpackOptionsDefaulter;
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const OptionsDefaulter = require("./OptionsDefaulter");
8
+ const Template = require("./Template");
9
+
10
+ class WebpackOptionsDefaulter extends OptionsDefaulter {
11
+ constructor() {
12
+ super();
13
+ this.set("devtool", false);
14
+ this.set("cache", true);
15
+
16
+ this.set("context", process.cwd());
17
+ this.set("target", "web");
18
+
19
+ this.set("module", "call", value => Object.assign({}, value));
20
+ this.set("module.unknownContextRequest", ".");
21
+ this.set("module.unknownContextRegExp", false);
22
+ this.set("module.unknownContextRecursive", true);
23
+ this.set("module.unknownContextCritical", true);
24
+ this.set("module.exprContextRequest", ".");
25
+ this.set("module.exprContextRegExp", false);
26
+ this.set("module.exprContextRecursive", true);
27
+ this.set("module.exprContextCritical", true);
28
+ this.set("module.wrappedContextRegExp", /.*/);
29
+ this.set("module.wrappedContextRecursive", true);
30
+ this.set("module.wrappedContextCritical", false);
31
+ this.set("module.strictExportPresence", false);
32
+ this.set("module.strictThisContextOnImports", false);
33
+ this.set("module.unsafeCache", true);
34
+
35
+ this.set("output", "call", (value, options) => {
36
+ if(typeof value === "string") {
37
+ return {
38
+ filename: value
39
+ };
40
+ } else if(typeof value !== "object") {
41
+ return {};
42
+ } else {
43
+ return Object.assign({}, value);
44
+ }
45
+ });
46
+ this.set("output.filename", "[name].js");
47
+ this.set("output.chunkFilename", "make", (options) => {
48
+ const filename = options.output.filename;
49
+ return filename.indexOf("[name]") >= 0 ? filename.replace("[name]", "[id]") : "[id]." + filename;
50
+ });
51
+ this.set("output.library", "");
52
+ this.set("output.hotUpdateFunction", "make", (options) => {
53
+ return Template.toIdentifier("webpackHotUpdate" + options.output.library);
54
+ });
55
+ this.set("output.jsonpFunction", "make", (options) => {
56
+ return Template.toIdentifier("webpackJsonp" + options.output.library);
57
+ });
58
+ this.set("output.libraryTarget", "var");
59
+ this.set("output.path", process.cwd());
60
+ this.set("output.sourceMapFilename", "[file].map[query]");
61
+ this.set("output.hotUpdateChunkFilename", "[id].[hash].hot-update.js");
62
+ this.set("output.hotUpdateMainFilename", "[hash].hot-update.json");
63
+ this.set("output.crossOriginLoading", false);
64
+ this.set("output.jsonpScriptType", "text/javascript");
65
+ this.set("output.chunkLoadTimeout", 120000);
66
+ this.set("output.hashFunction", "md5");
67
+ this.set("output.hashDigest", "hex");
68
+ this.set("output.hashDigestLength", 20);
69
+ this.set("output.devtoolLineToLine", false);
70
+ this.set("output.strictModuleExceptionHandling", false);
71
+
72
+ this.set("node", "call", value => {
73
+ if(typeof value === "boolean") {
74
+ return value;
75
+ } else {
76
+ return Object.assign({}, value);
77
+ }
78
+ });
79
+ this.set("node.console", false);
80
+ this.set("node.process", true);
81
+ this.set("node.global", true);
82
+ this.set("node.Buffer", true);
83
+ this.set("node.setImmediate", true);
84
+ this.set("node.__filename", "mock");
85
+ this.set("node.__dirname", "mock");
86
+
87
+ this.set("performance", "call", value => {
88
+ if(typeof value === "boolean") {
89
+ return value;
90
+ } else {
91
+ return Object.assign({}, value);
92
+ }
93
+ });
94
+ this.set("performance.maxAssetSize", 250000);
95
+ this.set("performance.maxEntrypointSize", 250000);
96
+ this.set("performance.hints", false);
97
+
98
+ this.set("resolve", "call", value => Object.assign({}, value));
99
+ this.set("resolve.unsafeCache", true);
100
+ this.set("resolve.modules", ["node_modules"]);
101
+ this.set("resolve.extensions", [".js", ".json"]);
102
+ this.set("resolve.mainFiles", ["index"]);
103
+ this.set("resolve.aliasFields", "make", (options) => {
104
+ if(options.target === "web" || options.target === "webworker")
105
+ return ["browser"];
106
+ else
107
+ return [];
108
+ });
109
+ this.set("resolve.mainFields", "make", (options) => {
110
+ if(options.target === "web" || options.target === "webworker")
111
+ return ["browser", "module", "main"];
112
+ else
113
+ return ["module", "main"];
114
+ });
115
+ this.set("resolve.cacheWithContext", "make", (options) => {
116
+ return Array.isArray(options.resolve.plugins) && options.resolve.plugins.length > 0;
117
+ });
118
+
119
+ this.set("resolveLoader", "call", value => Object.assign({}, value));
120
+ this.set("resolveLoader.unsafeCache", true);
121
+ this.set("resolveLoader.mainFields", ["loader", "main"]);
122
+ this.set("resolveLoader.extensions", [".js", ".json"]);
123
+ this.set("resolveLoader.mainFiles", ["index"]);
124
+ this.set("resolveLoader.cacheWithContext", "make", (options) => {
125
+ return Array.isArray(options.resolveLoader.plugins) && options.resolveLoader.plugins.length > 0;
126
+ });
127
+ }
128
+ }
129
+
130
+ module.exports = WebpackOptionsDefaulter;