@eriche/webpack 4.47.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 (361) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +784 -0
  3. package/SECURITY.md +9 -0
  4. package/bin/webpack.js +171 -0
  5. package/buildin/amd-define.js +3 -0
  6. package/buildin/amd-options.js +2 -0
  7. package/buildin/global.js +20 -0
  8. package/buildin/harmony-module.js +24 -0
  9. package/buildin/module.js +22 -0
  10. package/buildin/system.js +7 -0
  11. package/declarations/WebpackOptions.d.ts +1466 -0
  12. package/declarations/plugins/BannerPlugin.d.ts +49 -0
  13. package/declarations/plugins/DllPlugin.d.ts +32 -0
  14. package/declarations/plugins/DllReferencePlugin.d.ts +126 -0
  15. package/declarations/plugins/HashedModuleIdsPlugin.d.ts +24 -0
  16. package/declarations/plugins/IgnorePlugin.d.ts +27 -0
  17. package/declarations/plugins/LoaderOptionsPlugin.d.ts +27 -0
  18. package/declarations/plugins/ProgressPlugin.d.ts +42 -0
  19. package/declarations/plugins/SourceMapDevToolPlugin.d.ts +94 -0
  20. package/declarations/plugins/WatchIgnorePlugin.d.ts +10 -0
  21. package/declarations/plugins/debug/ProfilingPlugin.d.ts +12 -0
  22. package/declarations/plugins/optimize/AggressiveSplittingPlugin.d.ts +24 -0
  23. package/declarations/plugins/optimize/LimitChunkCountPlugin.d.ts +16 -0
  24. package/declarations/plugins/optimize/MinChunkSizePlugin.d.ts +12 -0
  25. package/declarations/plugins/optimize/OccurrenceOrderChunkIdsPlugin.d.ts +12 -0
  26. package/declarations/plugins/optimize/OccurrenceOrderModuleIdsPlugin.d.ts +12 -0
  27. package/hot/dev-server.js +61 -0
  28. package/hot/emitter.js +2 -0
  29. package/hot/log-apply-result.js +44 -0
  30. package/hot/log.js +59 -0
  31. package/hot/only-dev-server.js +102 -0
  32. package/hot/poll.js +37 -0
  33. package/hot/signal.js +62 -0
  34. package/lib/APIPlugin.js +84 -0
  35. package/lib/AbstractMethodError.js +43 -0
  36. package/lib/AmdMainTemplatePlugin.js +106 -0
  37. package/lib/AsyncDependenciesBlock.js +110 -0
  38. package/lib/AsyncDependencyToInitialChunkError.js +31 -0
  39. package/lib/AutomaticPrefetchPlugin.js +57 -0
  40. package/lib/BannerPlugin.js +122 -0
  41. package/lib/BasicEvaluatedExpression.js +248 -0
  42. package/lib/CachePlugin.js +100 -0
  43. package/lib/CaseSensitiveModulesWarning.js +67 -0
  44. package/lib/Chunk.js +875 -0
  45. package/lib/ChunkGroup.js +513 -0
  46. package/lib/ChunkRenderError.js +32 -0
  47. package/lib/ChunkTemplate.js +87 -0
  48. package/lib/CommentCompilationWarning.js +32 -0
  49. package/lib/CommonJsStuffPlugin.js +116 -0
  50. package/lib/CompatibilityPlugin.js +70 -0
  51. package/lib/Compilation.js +2327 -0
  52. package/lib/Compiler.js +735 -0
  53. package/lib/ConcurrentCompilationError.js +19 -0
  54. package/lib/ConstPlugin.js +348 -0
  55. package/lib/ContextExclusionPlugin.js +28 -0
  56. package/lib/ContextModule.js +872 -0
  57. package/lib/ContextModuleFactory.js +262 -0
  58. package/lib/ContextReplacementPlugin.js +133 -0
  59. package/lib/DefinePlugin.js +289 -0
  60. package/lib/DelegatedModule.js +114 -0
  61. package/lib/DelegatedModuleFactoryPlugin.js +95 -0
  62. package/lib/DelegatedPlugin.js +39 -0
  63. package/lib/DependenciesBlock.js +124 -0
  64. package/lib/DependenciesBlockVariable.js +72 -0
  65. package/lib/Dependency.js +89 -0
  66. package/lib/DllEntryPlugin.js +54 -0
  67. package/lib/DllModule.js +60 -0
  68. package/lib/DllModuleFactory.js +29 -0
  69. package/lib/DllPlugin.js +49 -0
  70. package/lib/DllReferencePlugin.js +156 -0
  71. package/lib/DynamicEntryPlugin.js +94 -0
  72. package/lib/EntryModuleNotFoundError.js +21 -0
  73. package/lib/EntryOptionPlugin.js +46 -0
  74. package/lib/Entrypoint.js +64 -0
  75. package/lib/EnvironmentPlugin.js +72 -0
  76. package/lib/ErrorHelpers.js +60 -0
  77. package/lib/EvalDevToolModulePlugin.js +27 -0
  78. package/lib/EvalDevToolModuleTemplatePlugin.js +61 -0
  79. package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +120 -0
  80. package/lib/EvalSourceMapDevToolPlugin.js +41 -0
  81. package/lib/ExportPropertyMainTemplatePlugin.js +53 -0
  82. package/lib/ExtendedAPIPlugin.js +88 -0
  83. package/lib/ExternalModule.js +179 -0
  84. package/lib/ExternalModuleFactoryPlugin.js +110 -0
  85. package/lib/ExternalsPlugin.js +23 -0
  86. package/lib/FlagAllModulesAsUsedPlugin.js +38 -0
  87. package/lib/FlagDependencyExportsPlugin.js +174 -0
  88. package/lib/FlagDependencyUsagePlugin.js +116 -0
  89. package/lib/FlagInitialModulesAsUsedPlugin.js +36 -0
  90. package/lib/FunctionModulePlugin.js +19 -0
  91. package/lib/FunctionModuleTemplatePlugin.js +102 -0
  92. package/lib/Generator.js +60 -0
  93. package/lib/GraphHelpers.js +65 -0
  94. package/lib/HarmonyLinkingError.js +17 -0
  95. package/lib/HashedModuleIdsPlugin.js +63 -0
  96. package/lib/HotModuleReplacement.runtime.js +721 -0
  97. package/lib/HotModuleReplacementPlugin.js +425 -0
  98. package/lib/HotUpdateChunk.js +17 -0
  99. package/lib/HotUpdateChunkTemplate.js +78 -0
  100. package/lib/IgnorePlugin.js +91 -0
  101. package/lib/JavascriptGenerator.js +229 -0
  102. package/lib/JavascriptModulesPlugin.js +185 -0
  103. package/lib/JsonGenerator.js +57 -0
  104. package/lib/JsonModulesPlugin.js +30 -0
  105. package/lib/JsonParser.js +27 -0
  106. package/lib/LibManifestPlugin.js +90 -0
  107. package/lib/LibraryTemplatePlugin.js +186 -0
  108. package/lib/LoaderOptionsPlugin.js +58 -0
  109. package/lib/LoaderTargetPlugin.js +24 -0
  110. package/lib/MainTemplate.js +568 -0
  111. package/lib/MemoryOutputFileSystem.js +5 -0
  112. package/lib/Module.js +435 -0
  113. package/lib/ModuleBuildError.js +52 -0
  114. package/lib/ModuleDependencyError.js +35 -0
  115. package/lib/ModuleDependencyWarning.js +25 -0
  116. package/lib/ModuleError.js +36 -0
  117. package/lib/ModuleFilenameHelpers.js +179 -0
  118. package/lib/ModuleNotFoundError.js +23 -0
  119. package/lib/ModuleParseError.js +67 -0
  120. package/lib/ModuleReason.js +48 -0
  121. package/lib/ModuleTemplate.js +93 -0
  122. package/lib/ModuleWarning.js +36 -0
  123. package/lib/MultiCompiler.js +290 -0
  124. package/lib/MultiEntryPlugin.js +80 -0
  125. package/lib/MultiModule.js +87 -0
  126. package/lib/MultiModuleFactory.js +23 -0
  127. package/lib/MultiStats.js +92 -0
  128. package/lib/MultiWatching.js +50 -0
  129. package/lib/NamedChunksPlugin.js +29 -0
  130. package/lib/NamedModulesPlugin.js +58 -0
  131. package/lib/NoEmitOnErrorsPlugin.js +20 -0
  132. package/lib/NoModeWarning.js +23 -0
  133. package/lib/NodeStuffPlugin.js +118 -0
  134. package/lib/NormalModule.js +582 -0
  135. package/lib/NormalModuleFactory.js +528 -0
  136. package/lib/NormalModuleReplacementPlugin.js +51 -0
  137. package/lib/NullFactory.js +12 -0
  138. package/lib/OptionsApply.js +10 -0
  139. package/lib/OptionsDefaulter.js +141 -0
  140. package/lib/Parser.js +2454 -0
  141. package/lib/ParserHelpers.js +103 -0
  142. package/lib/PrefetchPlugin.js +37 -0
  143. package/lib/ProgressPlugin.js +307 -0
  144. package/lib/ProvidePlugin.js +86 -0
  145. package/lib/RawModule.js +56 -0
  146. package/lib/RecordIdsPlugin.js +236 -0
  147. package/lib/RemovedPluginError.js +11 -0
  148. package/lib/RequestShortener.js +83 -0
  149. package/lib/RequireJsStuffPlugin.js +66 -0
  150. package/lib/ResolverFactory.js +74 -0
  151. package/lib/RuleSet.js +567 -0
  152. package/lib/RuntimeTemplate.js +336 -0
  153. package/lib/SetVarMainTemplatePlugin.js +69 -0
  154. package/lib/SingleEntryPlugin.js +63 -0
  155. package/lib/SizeFormatHelpers.js +24 -0
  156. package/lib/SourceMapDevToolModuleOptionsPlugin.js +49 -0
  157. package/lib/SourceMapDevToolPlugin.js +418 -0
  158. package/lib/Stats.js +1685 -0
  159. package/lib/SystemMainTemplatePlugin.js +137 -0
  160. package/lib/Template.js +291 -0
  161. package/lib/TemplatedPathPlugin.js +188 -0
  162. package/lib/UmdMainTemplatePlugin.js +305 -0
  163. package/lib/UnsupportedFeatureWarning.js +30 -0
  164. package/lib/UseStrictPlugin.js +54 -0
  165. package/lib/WarnCaseSensitiveModulesPlugin.js +37 -0
  166. package/lib/WarnNoModeSetPlugin.js +17 -0
  167. package/lib/WatchIgnorePlugin.js +106 -0
  168. package/lib/Watching.js +211 -0
  169. package/lib/WebpackError.js +31 -0
  170. package/lib/WebpackOptionsApply.js +546 -0
  171. package/lib/WebpackOptionsDefaulter.js +391 -0
  172. package/lib/WebpackOptionsValidationError.js +390 -0
  173. package/lib/buildChunkGraph.js +712 -0
  174. package/lib/compareLocations.js +52 -0
  175. package/lib/debug/ProfilingPlugin.js +442 -0
  176. package/lib/dependencies/AMDDefineDependency.js +137 -0
  177. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +336 -0
  178. package/lib/dependencies/AMDPlugin.js +249 -0
  179. package/lib/dependencies/AMDRequireArrayDependency.js +49 -0
  180. package/lib/dependencies/AMDRequireContextDependency.js +20 -0
  181. package/lib/dependencies/AMDRequireDependenciesBlock.js +47 -0
  182. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +274 -0
  183. package/lib/dependencies/AMDRequireDependency.js +135 -0
  184. package/lib/dependencies/AMDRequireItemDependency.js +22 -0
  185. package/lib/dependencies/CommonJsPlugin.js +158 -0
  186. package/lib/dependencies/CommonJsRequireContextDependency.js +23 -0
  187. package/lib/dependencies/CommonJsRequireDependency.js +22 -0
  188. package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +138 -0
  189. package/lib/dependencies/ConstDependency.js +33 -0
  190. package/lib/dependencies/ContextDependency.js +68 -0
  191. package/lib/dependencies/ContextDependencyHelpers.js +232 -0
  192. package/lib/dependencies/ContextDependencyTemplateAsId.js +43 -0
  193. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +39 -0
  194. package/lib/dependencies/ContextElementDependency.js +21 -0
  195. package/lib/dependencies/CriticalDependencyWarning.js +20 -0
  196. package/lib/dependencies/DelegatedExportsDependency.js +33 -0
  197. package/lib/dependencies/DelegatedSourceDependency.js +18 -0
  198. package/lib/dependencies/DependencyReference.js +64 -0
  199. package/lib/dependencies/DllEntryDependency.js +20 -0
  200. package/lib/dependencies/HarmonyAcceptDependency.js +48 -0
  201. package/lib/dependencies/HarmonyAcceptImportDependency.js +23 -0
  202. package/lib/dependencies/HarmonyCompatibilityDependency.js +31 -0
  203. package/lib/dependencies/HarmonyDetectionParserPlugin.js +96 -0
  204. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +154 -0
  205. package/lib/dependencies/HarmonyExportExpressionDependency.js +58 -0
  206. package/lib/dependencies/HarmonyExportHeaderDependency.js +30 -0
  207. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +659 -0
  208. package/lib/dependencies/HarmonyExportSpecifierDependency.js +54 -0
  209. package/lib/dependencies/HarmonyImportDependency.js +109 -0
  210. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +222 -0
  211. package/lib/dependencies/HarmonyImportSideEffectDependency.js +31 -0
  212. package/lib/dependencies/HarmonyImportSpecifierDependency.js +163 -0
  213. package/lib/dependencies/HarmonyInitDependency.js +60 -0
  214. package/lib/dependencies/HarmonyModulesPlugin.js +143 -0
  215. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +26 -0
  216. package/lib/dependencies/ImportContextDependency.js +23 -0
  217. package/lib/dependencies/ImportDependenciesBlock.js +18 -0
  218. package/lib/dependencies/ImportDependency.js +34 -0
  219. package/lib/dependencies/ImportEagerDependency.js +32 -0
  220. package/lib/dependencies/ImportParserPlugin.js +248 -0
  221. package/lib/dependencies/ImportPlugin.js +79 -0
  222. package/lib/dependencies/ImportWeakDependency.js +34 -0
  223. package/lib/dependencies/JsonExportsDependency.js +26 -0
  224. package/lib/dependencies/LoaderDependency.js +21 -0
  225. package/lib/dependencies/LoaderPlugin.js +115 -0
  226. package/lib/dependencies/LocalModule.js +23 -0
  227. package/lib/dependencies/LocalModuleDependency.js +28 -0
  228. package/lib/dependencies/LocalModulesHelpers.js +52 -0
  229. package/lib/dependencies/ModuleDependency.js +23 -0
  230. package/lib/dependencies/ModuleDependencyTemplateAsId.js +17 -0
  231. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +17 -0
  232. package/lib/dependencies/ModuleHotAcceptDependency.js +23 -0
  233. package/lib/dependencies/ModuleHotDeclineDependency.js +23 -0
  234. package/lib/dependencies/MultiEntryDependency.js +25 -0
  235. package/lib/dependencies/NullDependency.js +20 -0
  236. package/lib/dependencies/PrefetchDependency.js +18 -0
  237. package/lib/dependencies/RequireContextDependency.js +22 -0
  238. package/lib/dependencies/RequireContextDependencyParserPlugin.js +56 -0
  239. package/lib/dependencies/RequireContextPlugin.js +143 -0
  240. package/lib/dependencies/RequireEnsureDependenciesBlock.js +33 -0
  241. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +116 -0
  242. package/lib/dependencies/RequireEnsureDependency.js +58 -0
  243. package/lib/dependencies/RequireEnsureItemDependency.js +21 -0
  244. package/lib/dependencies/RequireEnsurePlugin.js +74 -0
  245. package/lib/dependencies/RequireHeaderDependency.js +26 -0
  246. package/lib/dependencies/RequireIncludeDependency.js +39 -0
  247. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +23 -0
  248. package/lib/dependencies/RequireIncludePlugin.js +61 -0
  249. package/lib/dependencies/RequireResolveContextDependency.js +23 -0
  250. package/lib/dependencies/RequireResolveDependency.js +22 -0
  251. package/lib/dependencies/RequireResolveDependencyParserPlugin.js +86 -0
  252. package/lib/dependencies/RequireResolveHeaderDependency.js +26 -0
  253. package/lib/dependencies/SingleEntryDependency.js +21 -0
  254. package/lib/dependencies/SystemPlugin.js +122 -0
  255. package/lib/dependencies/UnsupportedDependency.js +27 -0
  256. package/lib/dependencies/WebAssemblyExportImportedDependency.js +31 -0
  257. package/lib/dependencies/WebAssemblyImportDependency.js +54 -0
  258. package/lib/dependencies/WebpackMissingModule.js +20 -0
  259. package/lib/dependencies/getFunctionExpression.js +52 -0
  260. package/lib/formatLocation.js +75 -0
  261. package/lib/logging/Logger.js +128 -0
  262. package/lib/logging/createConsoleLogger.js +210 -0
  263. package/lib/logging/runtime.js +36 -0
  264. package/lib/logging/truncateArgs.js +76 -0
  265. package/lib/node/NodeChunkTemplatePlugin.js +31 -0
  266. package/lib/node/NodeEnvironmentPlugin.js +44 -0
  267. package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +36 -0
  268. package/lib/node/NodeMainTemplate.runtime.js +32 -0
  269. package/lib/node/NodeMainTemplateAsync.runtime.js +50 -0
  270. package/lib/node/NodeMainTemplatePlugin.js +321 -0
  271. package/lib/node/NodeOutputFileSystem.js +22 -0
  272. package/lib/node/NodeSourcePlugin.js +141 -0
  273. package/lib/node/NodeTargetPlugin.js +19 -0
  274. package/lib/node/NodeTemplatePlugin.js +31 -0
  275. package/lib/node/NodeWatchFileSystem.js +109 -0
  276. package/lib/node/ReadFileCompileWasmTemplatePlugin.js +61 -0
  277. package/lib/node/nodeConsole.js +135 -0
  278. package/lib/optimize/AggressiveMergingPlugin.js +87 -0
  279. package/lib/optimize/AggressiveSplittingPlugin.js +294 -0
  280. package/lib/optimize/ChunkModuleIdRangePlugin.js +66 -0
  281. package/lib/optimize/ConcatenatedModule.js +1477 -0
  282. package/lib/optimize/EnsureChunkConditionsPlugin.js +70 -0
  283. package/lib/optimize/FlagIncludedChunksPlugin.js +99 -0
  284. package/lib/optimize/LimitChunkCountPlugin.js +231 -0
  285. package/lib/optimize/MergeDuplicateChunksPlugin.js +78 -0
  286. package/lib/optimize/MinChunkSizePlugin.js +82 -0
  287. package/lib/optimize/MinMaxSizeWarning.js +29 -0
  288. package/lib/optimize/ModuleConcatenationPlugin.js +485 -0
  289. package/lib/optimize/NaturalChunkOrderPlugin.js +41 -0
  290. package/lib/optimize/OccurrenceChunkOrderPlugin.js +66 -0
  291. package/lib/optimize/OccurrenceModuleOrderPlugin.js +112 -0
  292. package/lib/optimize/OccurrenceOrderPlugin.js +135 -0
  293. package/lib/optimize/RemoveEmptyChunksPlugin.js +42 -0
  294. package/lib/optimize/RemoveParentModulesPlugin.js +127 -0
  295. package/lib/optimize/RuntimeChunkPlugin.js +41 -0
  296. package/lib/optimize/SideEffectsFlagPlugin.js +352 -0
  297. package/lib/optimize/SplitChunksPlugin.js +971 -0
  298. package/lib/performance/AssetsOverSizeLimitWarning.js +30 -0
  299. package/lib/performance/EntrypointsOverSizeLimitWarning.js +30 -0
  300. package/lib/performance/NoAsyncChunksWarning.js +21 -0
  301. package/lib/performance/SizeLimitsPlugin.js +125 -0
  302. package/lib/util/LazyBucketSortedSet.js +235 -0
  303. package/lib/util/Queue.js +46 -0
  304. package/lib/util/Semaphore.js +53 -0
  305. package/lib/util/SetHelpers.js +48 -0
  306. package/lib/util/SortableSet.js +140 -0
  307. package/lib/util/StackedSetMap.js +142 -0
  308. package/lib/util/TrackingSet.js +35 -0
  309. package/lib/util/cachedMerge.js +35 -0
  310. package/lib/util/cleverMerge.js +77 -0
  311. package/lib/util/createHash.js +174 -0
  312. package/lib/util/deterministicGrouping.js +274 -0
  313. package/lib/util/hash/BatchedHash.js +71 -0
  314. package/lib/util/hash/md4.js +25 -0
  315. package/lib/util/hash/wasm-hash.js +174 -0
  316. package/lib/util/identifier.js +127 -0
  317. package/lib/util/objectToMap.js +16 -0
  318. package/lib/validateSchema.js +67 -0
  319. package/lib/wasm/UnsupportedWebAssemblyFeatureError.js +17 -0
  320. package/lib/wasm/WasmFinalizeExportsPlugin.js +69 -0
  321. package/lib/wasm/WasmMainTemplatePlugin.js +341 -0
  322. package/lib/wasm/WebAssemblyGenerator.js +458 -0
  323. package/lib/wasm/WebAssemblyInInitialChunkError.js +88 -0
  324. package/lib/wasm/WebAssemblyJavascriptGenerator.js +152 -0
  325. package/lib/wasm/WebAssemblyModulesPlugin.js +128 -0
  326. package/lib/wasm/WebAssemblyParser.js +175 -0
  327. package/lib/wasm/WebAssemblyUtils.js +59 -0
  328. package/lib/web/FetchCompileWasmTemplatePlugin.js +37 -0
  329. package/lib/web/JsonpChunkTemplatePlugin.js +71 -0
  330. package/lib/web/JsonpExportMainTemplatePlugin.js +50 -0
  331. package/lib/web/JsonpHotUpdateChunkTemplatePlugin.js +39 -0
  332. package/lib/web/JsonpMainTemplate.runtime.js +71 -0
  333. package/lib/web/JsonpMainTemplatePlugin.js +615 -0
  334. package/lib/web/JsonpTemplatePlugin.js +23 -0
  335. package/lib/web/WebEnvironmentPlugin.js +18 -0
  336. package/lib/webpack.js +206 -0
  337. package/lib/webpack.web.js +31 -0
  338. package/lib/webworker/WebWorkerChunkTemplatePlugin.js +35 -0
  339. package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +40 -0
  340. package/lib/webworker/WebWorkerMainTemplate.runtime.js +73 -0
  341. package/lib/webworker/WebWorkerMainTemplatePlugin.js +192 -0
  342. package/lib/webworker/WebWorkerTemplatePlugin.js +25 -0
  343. package/package.json +211 -0
  344. package/schemas/WebpackOptions.json +2285 -0
  345. package/schemas/ajv.absolutePath.js +57 -0
  346. package/schemas/plugins/BannerPlugin.json +101 -0
  347. package/schemas/plugins/DllPlugin.json +36 -0
  348. package/schemas/plugins/DllReferencePlugin.json +205 -0
  349. package/schemas/plugins/HashedModuleIdsPlugin.json +26 -0
  350. package/schemas/plugins/IgnorePlugin.json +37 -0
  351. package/schemas/plugins/LoaderOptionsPlugin.json +27 -0
  352. package/schemas/plugins/ProgressPlugin.json +52 -0
  353. package/schemas/plugins/SourceMapDevToolPlugin.json +185 -0
  354. package/schemas/plugins/WatchIgnorePlugin.json +18 -0
  355. package/schemas/plugins/debug/ProfilingPlugin.json +13 -0
  356. package/schemas/plugins/optimize/AggressiveSplittingPlugin.json +23 -0
  357. package/schemas/plugins/optimize/LimitChunkCountPlugin.json +16 -0
  358. package/schemas/plugins/optimize/MinChunkSizePlugin.json +12 -0
  359. package/schemas/plugins/optimize/OccurrenceOrderChunkIdsPlugin.json +11 -0
  360. package/schemas/plugins/optimize/OccurrenceOrderModuleIdsPlugin.json +11 -0
  361. package/web_modules/node-libs-browser.js +0 -0
@@ -0,0 +1,274 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const AMDRequireItemDependency = require("./AMDRequireItemDependency");
8
+ const AMDRequireArrayDependency = require("./AMDRequireArrayDependency");
9
+ const AMDRequireContextDependency = require("./AMDRequireContextDependency");
10
+ const AMDRequireDependenciesBlock = require("./AMDRequireDependenciesBlock");
11
+ const UnsupportedDependency = require("./UnsupportedDependency");
12
+ const LocalModuleDependency = require("./LocalModuleDependency");
13
+ const ContextDependencyHelpers = require("./ContextDependencyHelpers");
14
+ const LocalModulesHelpers = require("./LocalModulesHelpers");
15
+ const ConstDependency = require("./ConstDependency");
16
+ const getFunctionExpression = require("./getFunctionExpression");
17
+ const UnsupportedFeatureWarning = require("../UnsupportedFeatureWarning");
18
+
19
+ class AMDRequireDependenciesBlockParserPlugin {
20
+ constructor(options) {
21
+ this.options = options;
22
+ }
23
+
24
+ processFunctionArgument(parser, expression) {
25
+ let bindThis = true;
26
+ const fnData = getFunctionExpression(expression);
27
+ if (fnData) {
28
+ parser.inScope(
29
+ fnData.fn.params.filter(i => {
30
+ return !["require", "module", "exports"].includes(i.name);
31
+ }),
32
+ () => {
33
+ if (fnData.fn.body.type === "BlockStatement") {
34
+ parser.walkStatement(fnData.fn.body);
35
+ } else {
36
+ parser.walkExpression(fnData.fn.body);
37
+ }
38
+ }
39
+ );
40
+ parser.walkExpressions(fnData.expressions);
41
+ if (fnData.needThis === false) {
42
+ bindThis = false;
43
+ }
44
+ } else {
45
+ parser.walkExpression(expression);
46
+ }
47
+ return bindThis;
48
+ }
49
+
50
+ apply(parser) {
51
+ parser.hooks.call
52
+ .for("require")
53
+ .tap(
54
+ "AMDRequireDependenciesBlockParserPlugin",
55
+ this.processCallRequire.bind(this, parser)
56
+ );
57
+ }
58
+
59
+ processArray(parser, expr, param) {
60
+ if (param.isArray()) {
61
+ for (const p of param.items) {
62
+ const result = this.processItem(parser, expr, p);
63
+ if (result === undefined) {
64
+ this.processContext(parser, expr, p);
65
+ }
66
+ }
67
+ return true;
68
+ } else if (param.isConstArray()) {
69
+ const deps = [];
70
+ for (const request of param.array) {
71
+ let dep, localModule;
72
+ if (request === "require") {
73
+ dep = "__webpack_require__";
74
+ } else if (["exports", "module"].includes(request)) {
75
+ dep = request;
76
+ } else if (
77
+ (localModule = LocalModulesHelpers.getLocalModule(
78
+ parser.state,
79
+ request
80
+ ))
81
+ ) {
82
+ dep = new LocalModuleDependency(localModule, undefined, false);
83
+ dep.loc = expr.loc;
84
+ parser.state.current.addDependency(dep);
85
+ } else {
86
+ dep = this.newRequireItemDependency(request);
87
+ dep.loc = expr.loc;
88
+ dep.optional = !!parser.scope.inTry;
89
+ parser.state.current.addDependency(dep);
90
+ }
91
+ deps.push(dep);
92
+ }
93
+ const dep = this.newRequireArrayDependency(deps, param.range);
94
+ dep.loc = expr.loc;
95
+ dep.optional = !!parser.scope.inTry;
96
+ parser.state.current.addDependency(dep);
97
+ return true;
98
+ }
99
+ }
100
+ processItem(parser, expr, param) {
101
+ if (param.isConditional()) {
102
+ for (const p of param.options) {
103
+ const result = this.processItem(parser, expr, p);
104
+ if (result === undefined) {
105
+ this.processContext(parser, expr, p);
106
+ }
107
+ }
108
+ return true;
109
+ } else if (param.isString()) {
110
+ let dep, localModule;
111
+ if (param.string === "require") {
112
+ dep = new ConstDependency("__webpack_require__", param.string);
113
+ } else if (param.string === "module") {
114
+ dep = new ConstDependency(
115
+ parser.state.module.buildInfo.moduleArgument,
116
+ param.range
117
+ );
118
+ } else if (param.string === "exports") {
119
+ dep = new ConstDependency(
120
+ parser.state.module.buildInfo.exportsArgument,
121
+ param.range
122
+ );
123
+ } else if (
124
+ (localModule = LocalModulesHelpers.getLocalModule(
125
+ parser.state,
126
+ param.string
127
+ ))
128
+ ) {
129
+ dep = new LocalModuleDependency(localModule, param.range, false);
130
+ } else {
131
+ dep = this.newRequireItemDependency(param.string, param.range);
132
+ }
133
+ dep.loc = expr.loc;
134
+ dep.optional = !!parser.scope.inTry;
135
+ parser.state.current.addDependency(dep);
136
+ return true;
137
+ }
138
+ }
139
+ processContext(parser, expr, param) {
140
+ const dep = ContextDependencyHelpers.create(
141
+ AMDRequireContextDependency,
142
+ param.range,
143
+ param,
144
+ expr,
145
+ this.options,
146
+ {},
147
+ parser
148
+ );
149
+ if (!dep) return;
150
+ dep.loc = expr.loc;
151
+ dep.optional = !!parser.scope.inTry;
152
+ parser.state.current.addDependency(dep);
153
+ return true;
154
+ }
155
+
156
+ processArrayForRequestString(param) {
157
+ if (param.isArray()) {
158
+ const result = param.items.map(item =>
159
+ this.processItemForRequestString(item)
160
+ );
161
+ if (result.every(Boolean)) return result.join(" ");
162
+ } else if (param.isConstArray()) {
163
+ return param.array.join(" ");
164
+ }
165
+ }
166
+
167
+ processItemForRequestString(param) {
168
+ if (param.isConditional()) {
169
+ const result = param.options.map(item =>
170
+ this.processItemForRequestString(item)
171
+ );
172
+ if (result.every(Boolean)) return result.join("|");
173
+ } else if (param.isString()) {
174
+ return param.string;
175
+ }
176
+ }
177
+
178
+ processCallRequire(parser, expr) {
179
+ let param;
180
+ let dep;
181
+ let result;
182
+
183
+ const old = parser.state.current;
184
+
185
+ if (expr.arguments.length >= 1) {
186
+ param = parser.evaluateExpression(expr.arguments[0]);
187
+ dep = this.newRequireDependenciesBlock(
188
+ expr,
189
+ param.range,
190
+ expr.arguments.length > 1 ? expr.arguments[1].range : null,
191
+ expr.arguments.length > 2 ? expr.arguments[2].range : null,
192
+ parser.state.module,
193
+ expr.loc,
194
+ this.processArrayForRequestString(param)
195
+ );
196
+ parser.state.current = dep;
197
+ }
198
+
199
+ if (expr.arguments.length === 1) {
200
+ parser.inScope([], () => {
201
+ result = this.processArray(parser, expr, param);
202
+ });
203
+ parser.state.current = old;
204
+ if (!result) return;
205
+ parser.state.current.addBlock(dep);
206
+ return true;
207
+ }
208
+
209
+ if (expr.arguments.length === 2 || expr.arguments.length === 3) {
210
+ try {
211
+ parser.inScope([], () => {
212
+ result = this.processArray(parser, expr, param);
213
+ });
214
+ if (!result) {
215
+ dep = new UnsupportedDependency("unsupported", expr.range);
216
+ old.addDependency(dep);
217
+ if (parser.state.module) {
218
+ parser.state.module.errors.push(
219
+ new UnsupportedFeatureWarning(
220
+ parser.state.module,
221
+ "Cannot statically analyse 'require(…, …)' in line " +
222
+ expr.loc.start.line,
223
+ expr.loc
224
+ )
225
+ );
226
+ }
227
+ dep = null;
228
+ return true;
229
+ }
230
+ dep.functionBindThis = this.processFunctionArgument(
231
+ parser,
232
+ expr.arguments[1]
233
+ );
234
+ if (expr.arguments.length === 3) {
235
+ dep.errorCallbackBindThis = this.processFunctionArgument(
236
+ parser,
237
+ expr.arguments[2]
238
+ );
239
+ }
240
+ } finally {
241
+ parser.state.current = old;
242
+ if (dep) parser.state.current.addBlock(dep);
243
+ }
244
+ return true;
245
+ }
246
+ }
247
+
248
+ newRequireDependenciesBlock(
249
+ expr,
250
+ arrayRange,
251
+ functionRange,
252
+ errorCallbackRange,
253
+ module,
254
+ loc,
255
+ request
256
+ ) {
257
+ return new AMDRequireDependenciesBlock(
258
+ expr,
259
+ arrayRange,
260
+ functionRange,
261
+ errorCallbackRange,
262
+ module,
263
+ loc,
264
+ request
265
+ );
266
+ }
267
+ newRequireItemDependency(request, range) {
268
+ return new AMDRequireItemDependency(request, range);
269
+ }
270
+ newRequireArrayDependency(depsArray, range) {
271
+ return new AMDRequireArrayDependency(depsArray, range);
272
+ }
273
+ }
274
+ module.exports = AMDRequireDependenciesBlockParserPlugin;
@@ -0,0 +1,135 @@
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 AMDRequireDependency extends NullDependency {
9
+ constructor(block) {
10
+ super();
11
+ this.block = block;
12
+ }
13
+ }
14
+
15
+ AMDRequireDependency.Template = class AMDRequireDependencyTemplate {
16
+ apply(dep, source, runtime) {
17
+ const depBlock = dep.block;
18
+ const promise = runtime.blockPromise({
19
+ block: depBlock,
20
+ message: "AMD require"
21
+ });
22
+
23
+ // has array range but no function range
24
+ if (depBlock.arrayRange && !depBlock.functionRange) {
25
+ const startBlock = `${promise}.then(function() {`;
26
+ const endBlock = `;}).catch(${runtime.onError()})`;
27
+ source.replace(
28
+ depBlock.outerRange[0],
29
+ depBlock.arrayRange[0] - 1,
30
+ startBlock
31
+ );
32
+ source.replace(
33
+ depBlock.arrayRange[1],
34
+ depBlock.outerRange[1] - 1,
35
+ endBlock
36
+ );
37
+ return;
38
+ }
39
+
40
+ // has function range but no array range
41
+ if (depBlock.functionRange && !depBlock.arrayRange) {
42
+ const startBlock = `${promise}.then((`;
43
+ const endBlock = `).bind(exports, __webpack_require__, exports, module)).catch(${runtime.onError()})`;
44
+ source.replace(
45
+ depBlock.outerRange[0],
46
+ depBlock.functionRange[0] - 1,
47
+ startBlock
48
+ );
49
+ source.replace(
50
+ depBlock.functionRange[1],
51
+ depBlock.outerRange[1] - 1,
52
+ endBlock
53
+ );
54
+ return;
55
+ }
56
+
57
+ // has array range, function range, and errorCallbackRange
58
+ if (
59
+ depBlock.arrayRange &&
60
+ depBlock.functionRange &&
61
+ depBlock.errorCallbackRange
62
+ ) {
63
+ const startBlock = `${promise}.then(function() { `;
64
+ const errorRangeBlock = `}${
65
+ depBlock.functionBindThis ? ".bind(this)" : ""
66
+ }).catch(`;
67
+ const endBlock = `${
68
+ depBlock.errorCallbackBindThis ? ".bind(this)" : ""
69
+ })`;
70
+
71
+ source.replace(
72
+ depBlock.outerRange[0],
73
+ depBlock.arrayRange[0] - 1,
74
+ startBlock
75
+ );
76
+ source.insert(
77
+ depBlock.arrayRange[0] + 0.9,
78
+ "var __WEBPACK_AMD_REQUIRE_ARRAY__ = "
79
+ );
80
+ source.replace(
81
+ depBlock.arrayRange[1],
82
+ depBlock.functionRange[0] - 1,
83
+ "; ("
84
+ );
85
+ source.insert(
86
+ depBlock.functionRange[1],
87
+ ").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);"
88
+ );
89
+ source.replace(
90
+ depBlock.functionRange[1],
91
+ depBlock.errorCallbackRange[0] - 1,
92
+ errorRangeBlock
93
+ );
94
+ source.replace(
95
+ depBlock.errorCallbackRange[1],
96
+ depBlock.outerRange[1] - 1,
97
+ endBlock
98
+ );
99
+ return;
100
+ }
101
+
102
+ // has array range, function range, but no errorCallbackRange
103
+ if (depBlock.arrayRange && depBlock.functionRange) {
104
+ const startBlock = `${promise}.then(function() { `;
105
+ const endBlock = `}${
106
+ depBlock.functionBindThis ? ".bind(this)" : ""
107
+ }).catch(${runtime.onError()})`;
108
+ source.replace(
109
+ depBlock.outerRange[0],
110
+ depBlock.arrayRange[0] - 1,
111
+ startBlock
112
+ );
113
+ source.insert(
114
+ depBlock.arrayRange[0] + 0.9,
115
+ "var __WEBPACK_AMD_REQUIRE_ARRAY__ = "
116
+ );
117
+ source.replace(
118
+ depBlock.arrayRange[1],
119
+ depBlock.functionRange[0] - 1,
120
+ "; ("
121
+ );
122
+ source.insert(
123
+ depBlock.functionRange[1],
124
+ ").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);"
125
+ );
126
+ source.replace(
127
+ depBlock.functionRange[1],
128
+ depBlock.outerRange[1] - 1,
129
+ endBlock
130
+ );
131
+ }
132
+ }
133
+ };
134
+
135
+ module.exports = AMDRequireDependency;
@@ -0,0 +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 ModuleDependency = require("./ModuleDependency");
7
+ const ModuleDependencyTemplateAsRequireId = require("./ModuleDependencyTemplateAsRequireId");
8
+
9
+ class AMDRequireItemDependency extends ModuleDependency {
10
+ constructor(request, range) {
11
+ super(request);
12
+ this.range = range;
13
+ }
14
+
15
+ get type() {
16
+ return "amd require";
17
+ }
18
+ }
19
+
20
+ AMDRequireItemDependency.Template = ModuleDependencyTemplateAsRequireId;
21
+
22
+ module.exports = AMDRequireItemDependency;
@@ -0,0 +1,158 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const ConstDependency = require("./ConstDependency");
7
+ const CommonJsRequireDependency = require("./CommonJsRequireDependency");
8
+ const CommonJsRequireContextDependency = require("./CommonJsRequireContextDependency");
9
+ const RequireResolveDependency = require("./RequireResolveDependency");
10
+ const RequireResolveContextDependency = require("./RequireResolveContextDependency");
11
+ const RequireResolveHeaderDependency = require("./RequireResolveHeaderDependency");
12
+ const RequireHeaderDependency = require("./RequireHeaderDependency");
13
+
14
+ const NullFactory = require("../NullFactory");
15
+
16
+ const RequireResolveDependencyParserPlugin = require("./RequireResolveDependencyParserPlugin");
17
+ const CommonJsRequireDependencyParserPlugin = require("./CommonJsRequireDependencyParserPlugin");
18
+
19
+ const ParserHelpers = require("../ParserHelpers");
20
+
21
+ class CommonJsPlugin {
22
+ constructor(options) {
23
+ this.options = options;
24
+ }
25
+
26
+ apply(compiler) {
27
+ const options = this.options;
28
+ compiler.hooks.compilation.tap(
29
+ "CommonJsPlugin",
30
+ (compilation, { contextModuleFactory, normalModuleFactory }) => {
31
+ compilation.dependencyFactories.set(
32
+ CommonJsRequireDependency,
33
+ normalModuleFactory
34
+ );
35
+ compilation.dependencyTemplates.set(
36
+ CommonJsRequireDependency,
37
+ new CommonJsRequireDependency.Template()
38
+ );
39
+
40
+ compilation.dependencyFactories.set(
41
+ CommonJsRequireContextDependency,
42
+ contextModuleFactory
43
+ );
44
+ compilation.dependencyTemplates.set(
45
+ CommonJsRequireContextDependency,
46
+ new CommonJsRequireContextDependency.Template()
47
+ );
48
+
49
+ compilation.dependencyFactories.set(
50
+ RequireResolveDependency,
51
+ normalModuleFactory
52
+ );
53
+ compilation.dependencyTemplates.set(
54
+ RequireResolveDependency,
55
+ new RequireResolveDependency.Template()
56
+ );
57
+
58
+ compilation.dependencyFactories.set(
59
+ RequireResolveContextDependency,
60
+ contextModuleFactory
61
+ );
62
+ compilation.dependencyTemplates.set(
63
+ RequireResolveContextDependency,
64
+ new RequireResolveContextDependency.Template()
65
+ );
66
+
67
+ compilation.dependencyFactories.set(
68
+ RequireResolveHeaderDependency,
69
+ new NullFactory()
70
+ );
71
+ compilation.dependencyTemplates.set(
72
+ RequireResolveHeaderDependency,
73
+ new RequireResolveHeaderDependency.Template()
74
+ );
75
+
76
+ compilation.dependencyFactories.set(
77
+ RequireHeaderDependency,
78
+ new NullFactory()
79
+ );
80
+ compilation.dependencyTemplates.set(
81
+ RequireHeaderDependency,
82
+ new RequireHeaderDependency.Template()
83
+ );
84
+
85
+ const handler = (parser, parserOptions) => {
86
+ if (parserOptions.commonjs !== undefined && !parserOptions.commonjs)
87
+ return;
88
+
89
+ const requireExpressions = [
90
+ "require",
91
+ "require.resolve",
92
+ "require.resolveWeak"
93
+ ];
94
+ for (let expression of requireExpressions) {
95
+ parser.hooks.typeof
96
+ .for(expression)
97
+ .tap(
98
+ "CommonJsPlugin",
99
+ ParserHelpers.toConstantDependency(
100
+ parser,
101
+ JSON.stringify("function")
102
+ )
103
+ );
104
+ parser.hooks.evaluateTypeof
105
+ .for(expression)
106
+ .tap(
107
+ "CommonJsPlugin",
108
+ ParserHelpers.evaluateToString("function")
109
+ );
110
+ parser.hooks.evaluateIdentifier
111
+ .for(expression)
112
+ .tap(
113
+ "CommonJsPlugin",
114
+ ParserHelpers.evaluateToIdentifier(expression, true)
115
+ );
116
+ }
117
+
118
+ parser.hooks.evaluateTypeof
119
+ .for("module")
120
+ .tap("CommonJsPlugin", ParserHelpers.evaluateToString("object"));
121
+ parser.hooks.assign.for("require").tap("CommonJsPlugin", expr => {
122
+ // to not leak to global "require", we need to define a local require here.
123
+ const dep = new ConstDependency("var require;", 0);
124
+ dep.loc = expr.loc;
125
+ parser.state.current.addDependency(dep);
126
+ parser.scope.definitions.add("require");
127
+ return true;
128
+ });
129
+ parser.hooks.canRename
130
+ .for("require")
131
+ .tap("CommonJsPlugin", () => true);
132
+ parser.hooks.rename.for("require").tap("CommonJsPlugin", expr => {
133
+ // define the require variable. It's still undefined, but not "not defined".
134
+ const dep = new ConstDependency("var require;", 0);
135
+ dep.loc = expr.loc;
136
+ parser.state.current.addDependency(dep);
137
+ return false;
138
+ });
139
+ parser.hooks.typeof.for("module").tap("CommonJsPlugin", () => true);
140
+ parser.hooks.evaluateTypeof
141
+ .for("exports")
142
+ .tap("CommonJsPlugin", ParserHelpers.evaluateToString("object"));
143
+
144
+ new CommonJsRequireDependencyParserPlugin(options).apply(parser);
145
+ new RequireResolveDependencyParserPlugin(options).apply(parser);
146
+ };
147
+
148
+ normalModuleFactory.hooks.parser
149
+ .for("javascript/auto")
150
+ .tap("CommonJsPlugin", handler);
151
+ normalModuleFactory.hooks.parser
152
+ .for("javascript/dynamic")
153
+ .tap("CommonJsPlugin", handler);
154
+ }
155
+ );
156
+ }
157
+ }
158
+ module.exports = CommonJsPlugin;
@@ -0,0 +1,23 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const ContextDependency = require("./ContextDependency");
7
+ const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
8
+
9
+ class CommonJsRequireContextDependency extends ContextDependency {
10
+ constructor(options, range, valueRange) {
11
+ super(options);
12
+ this.range = range;
13
+ this.valueRange = valueRange;
14
+ }
15
+
16
+ get type() {
17
+ return "cjs require context";
18
+ }
19
+ }
20
+
21
+ CommonJsRequireContextDependency.Template = ContextDependencyTemplateAsRequireCall;
22
+
23
+ module.exports = CommonJsRequireContextDependency;
@@ -0,0 +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 ModuleDependency = require("./ModuleDependency");
7
+ const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
8
+
9
+ class CommonJsRequireDependency extends ModuleDependency {
10
+ constructor(request, range) {
11
+ super(request);
12
+ this.range = range;
13
+ }
14
+
15
+ get type() {
16
+ return "cjs require";
17
+ }
18
+ }
19
+
20
+ CommonJsRequireDependency.Template = ModuleDependencyTemplateAsId;
21
+
22
+ module.exports = CommonJsRequireDependency;