@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,120 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const { RawSource } = require("webpack-sources");
8
+ const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
9
+ const { absolutify } = require("./util/identifier");
10
+
11
+ const cache = new WeakMap();
12
+
13
+ class EvalSourceMapDevToolModuleTemplatePlugin {
14
+ constructor(compilation, options) {
15
+ this.compilation = compilation;
16
+ this.sourceMapComment =
17
+ options.append || "//# sourceURL=[module]\n//# sourceMappingURL=[url]";
18
+ this.moduleFilenameTemplate =
19
+ options.moduleFilenameTemplate ||
20
+ "webpack://[namespace]/[resource-path]?[hash]";
21
+ this.namespace = options.namespace || "";
22
+ this.options = options;
23
+ }
24
+
25
+ apply(moduleTemplate) {
26
+ const self = this;
27
+ const options = this.options;
28
+ const matchModule = ModuleFilenameHelpers.matchObject.bind(
29
+ ModuleFilenameHelpers,
30
+ options
31
+ );
32
+ moduleTemplate.hooks.module.tap(
33
+ "EvalSourceMapDevToolModuleTemplatePlugin",
34
+ (source, module) => {
35
+ const cachedSource = cache.get(source);
36
+ if (cachedSource !== undefined) {
37
+ return cachedSource;
38
+ }
39
+
40
+ if (!matchModule(module.resource)) {
41
+ return source;
42
+ }
43
+
44
+ /** @type {{ [key: string]: TODO; }} */
45
+ let sourceMap;
46
+ let content;
47
+ if (source.sourceAndMap) {
48
+ const sourceAndMap = source.sourceAndMap(options);
49
+ sourceMap = sourceAndMap.map;
50
+ content = sourceAndMap.source;
51
+ } else {
52
+ sourceMap = source.map(options);
53
+ content = source.source();
54
+ }
55
+ if (!sourceMap) {
56
+ return source;
57
+ }
58
+
59
+ // Clone (flat) the sourcemap to ensure that the mutations below do not persist.
60
+ sourceMap = Object.keys(sourceMap).reduce((obj, key) => {
61
+ obj[key] = sourceMap[key];
62
+ return obj;
63
+ }, {});
64
+ const context = this.compilation.compiler.options.context;
65
+ const modules = sourceMap.sources.map(source => {
66
+ if (source.startsWith("webpack://")) {
67
+ source = absolutify(context, source.slice(10));
68
+ }
69
+ const module = self.compilation.findModule(source);
70
+ return module || source;
71
+ });
72
+ let moduleFilenames = modules.map(module => {
73
+ return ModuleFilenameHelpers.createFilename(
74
+ module,
75
+ {
76
+ moduleFilenameTemplate: self.moduleFilenameTemplate,
77
+ namespace: self.namespace
78
+ },
79
+ moduleTemplate.runtimeTemplate.requestShortener
80
+ );
81
+ });
82
+ moduleFilenames = ModuleFilenameHelpers.replaceDuplicates(
83
+ moduleFilenames,
84
+ (filename, i, n) => {
85
+ for (let j = 0; j < n; j++) filename += "*";
86
+ return filename;
87
+ }
88
+ );
89
+ sourceMap.sources = moduleFilenames;
90
+ sourceMap.sourceRoot = options.sourceRoot || "";
91
+ sourceMap.file = `${module.id}.js`;
92
+
93
+ const footer =
94
+ self.sourceMapComment.replace(
95
+ /\[url\]/g,
96
+ `data:application/json;charset=utf-8;base64,${Buffer.from(
97
+ JSON.stringify(sourceMap),
98
+ "utf8"
99
+ ).toString("base64")}`
100
+ ) + `\n//# sourceURL=webpack-internal:///${module.id}\n`; // workaround for chrome bug
101
+
102
+ const evalSource = new RawSource(
103
+ `eval(${JSON.stringify(content + footer)});`
104
+ );
105
+
106
+ cache.set(source, evalSource);
107
+
108
+ return evalSource;
109
+ }
110
+ );
111
+ moduleTemplate.hooks.hash.tap(
112
+ "EvalSourceMapDevToolModuleTemplatePlugin",
113
+ hash => {
114
+ hash.update("eval-source-map");
115
+ hash.update("2");
116
+ }
117
+ );
118
+ }
119
+ }
120
+ module.exports = EvalSourceMapDevToolModuleTemplatePlugin;
@@ -0,0 +1,41 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const EvalSourceMapDevToolModuleTemplatePlugin = require("./EvalSourceMapDevToolModuleTemplatePlugin");
8
+ const SourceMapDevToolModuleOptionsPlugin = require("./SourceMapDevToolModuleOptionsPlugin");
9
+
10
+ class EvalSourceMapDevToolPlugin {
11
+ constructor(options) {
12
+ if (arguments.length > 1) {
13
+ throw new Error(
14
+ "EvalSourceMapDevToolPlugin only takes one argument (pass an options object)"
15
+ );
16
+ }
17
+ if (typeof options === "string") {
18
+ options = {
19
+ append: options
20
+ };
21
+ }
22
+ if (!options) options = {};
23
+ this.options = options;
24
+ }
25
+
26
+ apply(compiler) {
27
+ const options = this.options;
28
+ compiler.hooks.compilation.tap(
29
+ "EvalSourceMapDevToolPlugin",
30
+ compilation => {
31
+ new SourceMapDevToolModuleOptionsPlugin(options).apply(compilation);
32
+ new EvalSourceMapDevToolModuleTemplatePlugin(
33
+ compilation,
34
+ options
35
+ ).apply(compilation.moduleTemplates.javascript);
36
+ }
37
+ );
38
+ }
39
+ }
40
+
41
+ module.exports = EvalSourceMapDevToolPlugin;
@@ -0,0 +1,53 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const { ConcatSource } = require("webpack-sources");
8
+
9
+ /** @typedef {import("./Compilation")} Compilation */
10
+
11
+ /**
12
+ * @param {string[]} accessor the accessor to convert to path
13
+ * @returns {string} the path
14
+ */
15
+ const accessorToObjectAccess = accessor => {
16
+ return accessor.map(a => `[${JSON.stringify(a)}]`).join("");
17
+ };
18
+
19
+ class ExportPropertyMainTemplatePlugin {
20
+ /**
21
+ * @param {string|string[]} property the name of the property to export
22
+ */
23
+ constructor(property) {
24
+ this.property = property;
25
+ }
26
+
27
+ /**
28
+ * @param {Compilation} compilation the compilation instance
29
+ * @returns {void}
30
+ */
31
+ apply(compilation) {
32
+ const { mainTemplate, chunkTemplate } = compilation;
33
+
34
+ const onRenderWithEntry = (source, chunk, hash) => {
35
+ const postfix = `${accessorToObjectAccess([].concat(this.property))}`;
36
+ return new ConcatSource(source, postfix);
37
+ };
38
+
39
+ for (const template of [mainTemplate, chunkTemplate]) {
40
+ template.hooks.renderWithEntry.tap(
41
+ "ExportPropertyMainTemplatePlugin",
42
+ onRenderWithEntry
43
+ );
44
+ }
45
+
46
+ mainTemplate.hooks.hash.tap("ExportPropertyMainTemplatePlugin", hash => {
47
+ hash.update("export property");
48
+ hash.update(`${this.property}`);
49
+ });
50
+ }
51
+ }
52
+
53
+ module.exports = ExportPropertyMainTemplatePlugin;
@@ -0,0 +1,88 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const Template = require("./Template");
8
+ const ConstDependency = require("./dependencies/ConstDependency");
9
+ const ParserHelpers = require("./ParserHelpers");
10
+ const NullFactory = require("./NullFactory");
11
+
12
+ const REPLACEMENTS = {
13
+ // eslint-disable-next-line camelcase
14
+ __webpack_hash__: "__webpack_require__.h",
15
+ // eslint-disable-next-line camelcase
16
+ __webpack_chunkname__: "__webpack_require__.cn"
17
+ };
18
+ const REPLACEMENT_TYPES = {
19
+ // eslint-disable-next-line camelcase
20
+ __webpack_hash__: "string",
21
+ // eslint-disable-next-line camelcase
22
+ __webpack_chunkname__: "string"
23
+ };
24
+
25
+ class ExtendedAPIPlugin {
26
+ apply(compiler) {
27
+ compiler.hooks.compilation.tap(
28
+ "ExtendedAPIPlugin",
29
+ (compilation, { normalModuleFactory }) => {
30
+ compilation.dependencyFactories.set(ConstDependency, new NullFactory());
31
+ compilation.dependencyTemplates.set(
32
+ ConstDependency,
33
+ new ConstDependency.Template()
34
+ );
35
+
36
+ const mainTemplate = compilation.mainTemplate;
37
+ mainTemplate.hooks.requireExtensions.tap(
38
+ "ExtendedAPIPlugin",
39
+ (source, chunk, hash) => {
40
+ const buf = [source];
41
+ buf.push("");
42
+ buf.push("// __webpack_hash__");
43
+ buf.push(`${mainTemplate.requireFn}.h = ${JSON.stringify(hash)};`);
44
+ buf.push("");
45
+ buf.push("// __webpack_chunkname__");
46
+ buf.push(
47
+ `${mainTemplate.requireFn}.cn = ${JSON.stringify(chunk.name)};`
48
+ );
49
+ return Template.asString(buf);
50
+ }
51
+ );
52
+ mainTemplate.hooks.globalHash.tap("ExtendedAPIPlugin", () => true);
53
+
54
+ const handler = (parser, parserOptions) => {
55
+ Object.keys(REPLACEMENTS).forEach(key => {
56
+ parser.hooks.expression
57
+ .for(key)
58
+ .tap(
59
+ "ExtendedAPIPlugin",
60
+ ParserHelpers.toConstantDependencyWithWebpackRequire(
61
+ parser,
62
+ REPLACEMENTS[key]
63
+ )
64
+ );
65
+ parser.hooks.evaluateTypeof
66
+ .for(key)
67
+ .tap(
68
+ "ExtendedAPIPlugin",
69
+ ParserHelpers.evaluateToString(REPLACEMENT_TYPES[key])
70
+ );
71
+ });
72
+ };
73
+
74
+ normalModuleFactory.hooks.parser
75
+ .for("javascript/auto")
76
+ .tap("ExtendedAPIPlugin", handler);
77
+ normalModuleFactory.hooks.parser
78
+ .for("javascript/dynamic")
79
+ .tap("ExtendedAPIPlugin", handler);
80
+ normalModuleFactory.hooks.parser
81
+ .for("javascript/esm")
82
+ .tap("ExtendedAPIPlugin", handler);
83
+ }
84
+ );
85
+ }
86
+ }
87
+
88
+ module.exports = ExtendedAPIPlugin;
@@ -0,0 +1,179 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const { OriginalSource, RawSource } = require("webpack-sources");
8
+ const Module = require("./Module");
9
+ const WebpackMissingModule = require("./dependencies/WebpackMissingModule");
10
+ const Template = require("./Template");
11
+
12
+ /** @typedef {import("./util/createHash").Hash} Hash */
13
+
14
+ class ExternalModule extends Module {
15
+ constructor(request, type, userRequest) {
16
+ super("javascript/dynamic", null);
17
+
18
+ // Info from Factory
19
+ this.request = request;
20
+ this.externalType = type;
21
+ this.userRequest = userRequest;
22
+ this.external = true;
23
+ }
24
+
25
+ libIdent() {
26
+ return this.userRequest;
27
+ }
28
+
29
+ chunkCondition(chunk) {
30
+ return chunk.hasEntryModule();
31
+ }
32
+
33
+ identifier() {
34
+ return "external " + JSON.stringify(this.request);
35
+ }
36
+
37
+ readableIdentifier() {
38
+ return "external " + JSON.stringify(this.request);
39
+ }
40
+
41
+ needRebuild() {
42
+ return false;
43
+ }
44
+
45
+ build(options, compilation, resolver, fs, callback) {
46
+ this.built = true;
47
+ this.buildMeta = {};
48
+ this.buildInfo = {};
49
+ callback();
50
+ }
51
+
52
+ getSourceForGlobalVariableExternal(variableName, type) {
53
+ if (!Array.isArray(variableName)) {
54
+ // make it an array as the look up works the same basically
55
+ variableName = [variableName];
56
+ }
57
+
58
+ // needed for e.g. window["some"]["thing"]
59
+ const objectLookup = variableName
60
+ .map(r => `[${JSON.stringify(r)}]`)
61
+ .join("");
62
+ return `(function() { module.exports = ${type}${objectLookup}; }());`;
63
+ }
64
+
65
+ getSourceForCommonJsExternal(moduleAndSpecifiers) {
66
+ if (!Array.isArray(moduleAndSpecifiers)) {
67
+ return `module.exports = require(${JSON.stringify(
68
+ moduleAndSpecifiers
69
+ )});`;
70
+ }
71
+
72
+ const moduleName = moduleAndSpecifiers[0];
73
+ const objectLookup = moduleAndSpecifiers
74
+ .slice(1)
75
+ .map(r => `[${JSON.stringify(r)}]`)
76
+ .join("");
77
+ return `module.exports = require(${JSON.stringify(
78
+ moduleName
79
+ )})${objectLookup};`;
80
+ }
81
+
82
+ checkExternalVariable(variableToCheck, request) {
83
+ return `if(typeof ${variableToCheck} === 'undefined') {${WebpackMissingModule.moduleCode(
84
+ request
85
+ )}}\n`;
86
+ }
87
+
88
+ getSourceForAmdOrUmdExternal(id, optional, request) {
89
+ const externalVariable = `__WEBPACK_EXTERNAL_MODULE_${Template.toIdentifier(
90
+ `${id}`
91
+ )}__`;
92
+ const missingModuleError = optional
93
+ ? this.checkExternalVariable(externalVariable, request)
94
+ : "";
95
+ return `${missingModuleError}module.exports = ${externalVariable};`;
96
+ }
97
+
98
+ getSourceForDefaultCase(optional, request) {
99
+ if (!Array.isArray(request)) {
100
+ // make it an array as the look up works the same basically
101
+ request = [request];
102
+ }
103
+
104
+ const variableName = request[0];
105
+ const missingModuleError = optional
106
+ ? this.checkExternalVariable(variableName, request.join("."))
107
+ : "";
108
+ const objectLookup = request
109
+ .slice(1)
110
+ .map(r => `[${JSON.stringify(r)}]`)
111
+ .join("");
112
+ return `${missingModuleError}module.exports = ${variableName}${objectLookup};`;
113
+ }
114
+
115
+ getSourceString(runtime) {
116
+ const request =
117
+ typeof this.request === "object" && !Array.isArray(this.request)
118
+ ? this.request[this.externalType]
119
+ : this.request;
120
+ switch (this.externalType) {
121
+ case "this":
122
+ case "window":
123
+ case "self":
124
+ return this.getSourceForGlobalVariableExternal(
125
+ request,
126
+ this.externalType
127
+ );
128
+ case "global":
129
+ return this.getSourceForGlobalVariableExternal(
130
+ request,
131
+ runtime.outputOptions.globalObject
132
+ );
133
+ case "commonjs":
134
+ case "commonjs2":
135
+ return this.getSourceForCommonJsExternal(request);
136
+ case "amd":
137
+ case "amd-require":
138
+ case "umd":
139
+ case "umd2":
140
+ case "system":
141
+ return this.getSourceForAmdOrUmdExternal(
142
+ this.id,
143
+ this.optional,
144
+ request
145
+ );
146
+ default:
147
+ return this.getSourceForDefaultCase(this.optional, request);
148
+ }
149
+ }
150
+
151
+ getSource(sourceString) {
152
+ if (this.useSourceMap) {
153
+ return new OriginalSource(sourceString, this.identifier());
154
+ }
155
+
156
+ return new RawSource(sourceString);
157
+ }
158
+
159
+ source(dependencyTemplates, runtime) {
160
+ return this.getSource(this.getSourceString(runtime));
161
+ }
162
+
163
+ size() {
164
+ return 42;
165
+ }
166
+
167
+ /**
168
+ * @param {Hash} hash the hash used to track dependencies
169
+ * @returns {void}
170
+ */
171
+ updateHash(hash) {
172
+ hash.update(this.externalType);
173
+ hash.update(JSON.stringify(this.request));
174
+ hash.update(JSON.stringify(Boolean(this.optional)));
175
+ super.updateHash(hash);
176
+ }
177
+ }
178
+
179
+ module.exports = ExternalModule;
@@ -0,0 +1,110 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+
7
+ const ExternalModule = require("./ExternalModule");
8
+
9
+ class ExternalModuleFactoryPlugin {
10
+ constructor(type, externals) {
11
+ this.type = type;
12
+ this.externals = externals;
13
+ }
14
+
15
+ apply(normalModuleFactory) {
16
+ const globalType = this.type;
17
+ normalModuleFactory.hooks.factory.tap(
18
+ "ExternalModuleFactoryPlugin",
19
+ factory => (data, callback) => {
20
+ const context = data.context;
21
+ const dependency = data.dependencies[0];
22
+
23
+ const handleExternal = (value, type, callback) => {
24
+ if (typeof type === "function") {
25
+ callback = type;
26
+ type = undefined;
27
+ }
28
+ if (value === false) return factory(data, callback);
29
+ if (value === true) value = dependency.request;
30
+ if (type === undefined && /^[a-z0-9]+ /.test(value)) {
31
+ const idx = value.indexOf(" ");
32
+ type = value.substr(0, idx);
33
+ value = value.substr(idx + 1);
34
+ }
35
+ callback(
36
+ null,
37
+ new ExternalModule(value, type || globalType, dependency.request)
38
+ );
39
+ return true;
40
+ };
41
+
42
+ const handleExternals = (externals, callback) => {
43
+ if (typeof externals === "string") {
44
+ if (externals === dependency.request) {
45
+ return handleExternal(dependency.request, callback);
46
+ }
47
+ } else if (Array.isArray(externals)) {
48
+ let i = 0;
49
+ const next = () => {
50
+ let asyncFlag;
51
+ const handleExternalsAndCallback = (err, module) => {
52
+ if (err) return callback(err);
53
+ if (!module) {
54
+ if (asyncFlag) {
55
+ asyncFlag = false;
56
+ return;
57
+ }
58
+ return next();
59
+ }
60
+ callback(null, module);
61
+ };
62
+
63
+ do {
64
+ asyncFlag = true;
65
+ if (i >= externals.length) return callback();
66
+ handleExternals(externals[i++], handleExternalsAndCallback);
67
+ } while (!asyncFlag);
68
+ asyncFlag = false;
69
+ };
70
+
71
+ next();
72
+ return;
73
+ } else if (externals instanceof RegExp) {
74
+ if (externals.test(dependency.request)) {
75
+ return handleExternal(dependency.request, callback);
76
+ }
77
+ } else if (typeof externals === "function") {
78
+ externals.call(
79
+ null,
80
+ context,
81
+ dependency.request,
82
+ (err, value, type) => {
83
+ if (err) return callback(err);
84
+ if (value !== undefined) {
85
+ handleExternal(value, type, callback);
86
+ } else {
87
+ callback();
88
+ }
89
+ }
90
+ );
91
+ return;
92
+ } else if (
93
+ typeof externals === "object" &&
94
+ Object.prototype.hasOwnProperty.call(externals, dependency.request)
95
+ ) {
96
+ return handleExternal(externals[dependency.request], callback);
97
+ }
98
+ callback();
99
+ };
100
+
101
+ handleExternals(this.externals, (err, module) => {
102
+ if (err) return callback(err);
103
+ if (!module) return handleExternal(false, callback);
104
+ return callback(null, module);
105
+ });
106
+ }
107
+ );
108
+ }
109
+ }
110
+ module.exports = ExternalModuleFactoryPlugin;
@@ -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
+
7
+ const ExternalModuleFactoryPlugin = require("./ExternalModuleFactoryPlugin");
8
+
9
+ class ExternalsPlugin {
10
+ constructor(type, externals) {
11
+ this.type = type;
12
+ this.externals = externals;
13
+ }
14
+ apply(compiler) {
15
+ compiler.hooks.compile.tap("ExternalsPlugin", ({ normalModuleFactory }) => {
16
+ new ExternalModuleFactoryPlugin(this.type, this.externals).apply(
17
+ normalModuleFactory
18
+ );
19
+ });
20
+ }
21
+ }
22
+
23
+ module.exports = ExternalsPlugin;
@@ -0,0 +1,38 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+
6
+ "use strict";
7
+
8
+ /** @typedef {import("./Compiler")} Compiler */
9
+
10
+ class FlagAllModulesAsUsedPlugin {
11
+ constructor(explanation) {
12
+ this.explanation = explanation;
13
+ }
14
+
15
+ /**
16
+ * @param {Compiler} compiler webpack compiler
17
+ * @returns {void}
18
+ */
19
+ apply(compiler) {
20
+ compiler.hooks.compilation.tap(
21
+ "FlagAllModulesAsUsedPlugin",
22
+ compilation => {
23
+ compilation.hooks.optimizeDependencies.tap(
24
+ "FlagAllModulesAsUsedPlugin",
25
+ modules => {
26
+ for (const module of modules) {
27
+ module.used = true;
28
+ module.usedExports = true;
29
+ module.addReason(null, null, this.explanation);
30
+ }
31
+ }
32
+ );
33
+ }
34
+ );
35
+ }
36
+ }
37
+
38
+ module.exports = FlagAllModulesAsUsedPlugin;