@depup/webpack 5.106.0-depup.0 → 5.109.0-depup.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 (667) hide show
  1. package/README.md +9 -11
  2. package/changes.json +16 -24
  3. package/hot/dev-server.js +2 -0
  4. package/lib/APIPlugin.js +60 -35
  5. package/lib/AsyncDependenciesBlock.js +3 -0
  6. package/lib/AutomaticPrefetchPlugin.js +6 -1
  7. package/lib/BannerPlugin.js +13 -5
  8. package/lib/Cache.js +27 -5
  9. package/lib/CacheFacade.js +41 -0
  10. package/lib/Chunk.js +71 -25
  11. package/lib/ChunkGraph.js +141 -9
  12. package/lib/ChunkGroup.js +115 -28
  13. package/lib/ChunkTemplate.js +9 -0
  14. package/lib/CircularModulesPlugin.js +190 -0
  15. package/lib/CleanPlugin.js +23 -26
  16. package/lib/CodeGenerationResults.js +19 -0
  17. package/lib/CompatibilityPlugin.js +54 -37
  18. package/lib/Compilation.js +635 -107
  19. package/lib/Compiler.js +93 -31
  20. package/lib/ConcatenationScope.js +34 -4
  21. package/lib/ConditionalInitFragment.js +6 -0
  22. package/lib/ConstPlugin.js +15 -12
  23. package/lib/ContextExclusionPlugin.js +3 -1
  24. package/lib/ContextModule.js +345 -55
  25. package/lib/ContextModuleFactory.js +193 -51
  26. package/lib/ContextReplacementPlugin.js +8 -1
  27. package/lib/DefinePlugin.js +498 -127
  28. package/lib/DependenciesBlock.js +6 -1
  29. package/lib/Dependency.js +159 -11
  30. package/lib/DependencyTemplate.js +7 -1
  31. package/lib/DependencyTemplates.js +4 -0
  32. package/lib/DotenvPlugin.js +3 -0
  33. package/lib/DynamicEntryPlugin.js +3 -1
  34. package/lib/EntryOptionPlugin.js +42 -2
  35. package/lib/EntryPlugin.js +4 -1
  36. package/lib/Entrypoint.js +5 -1
  37. package/lib/EnvironmentPlugin.js +3 -2
  38. package/lib/ErrorHelpers.js +7 -0
  39. package/lib/EvalDevToolModulePlugin.js +3 -1
  40. package/lib/EvalSourceMapDevToolPlugin.js +11 -11
  41. package/lib/ExportsInfo.js +399 -108
  42. package/lib/ExportsInfoApiPlugin.js +4 -3
  43. package/lib/ExternalModule.js +376 -78
  44. package/lib/ExternalModuleFactoryPlugin.js +75 -3
  45. package/lib/ExternalsPlugin.js +3 -1
  46. package/lib/FileSystemInfo.js +575 -149
  47. package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
  48. package/lib/FlagDependencyExportsPlugin.js +82 -9
  49. package/lib/FlagDependencyUsagePlugin.js +92 -6
  50. package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
  51. package/lib/Generator.js +24 -3
  52. package/lib/HotModuleReplacementPlugin.js +110 -44
  53. package/lib/IgnorePlugin.js +5 -2
  54. package/lib/IgnoreWarningsPlugin.js +2 -1
  55. package/lib/InitFragment.js +15 -0
  56. package/lib/JavascriptMetaInfoPlugin.js +9 -6
  57. package/lib/LazyBarrel.js +389 -0
  58. package/lib/LibraryTemplatePlugin.js +2 -1
  59. package/lib/LoaderOptionsPlugin.js +3 -1
  60. package/lib/LoaderTargetPlugin.js +3 -1
  61. package/lib/MainTemplate.js +15 -0
  62. package/lib/ManifestPlugin.js +9 -2
  63. package/lib/Module.js +121 -60
  64. package/lib/ModuleFactory.js +6 -1
  65. package/lib/ModuleFilenameHelpers.js +5 -2
  66. package/lib/ModuleGraph.js +69 -2
  67. package/lib/ModuleGraphConnection.js +9 -0
  68. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  69. package/lib/ModuleNotFoundError.js +3 -83
  70. package/lib/ModuleProfile.js +27 -1
  71. package/lib/ModuleSourceTypeConstants.js +52 -19
  72. package/lib/ModuleTemplate.js +10 -0
  73. package/lib/ModuleTypeConstants.js +20 -4
  74. package/lib/MultiCompiler.js +59 -4
  75. package/lib/MultiStats.js +9 -0
  76. package/lib/MultiWatching.js +6 -0
  77. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  78. package/lib/NodeStuffPlugin.js +78 -46
  79. package/lib/NormalModule.js +485 -181
  80. package/lib/NormalModuleFactory.js +148 -29
  81. package/lib/NormalModuleReplacementPlugin.js +3 -1
  82. package/lib/NullFactory.js +1 -0
  83. package/lib/OptionsApply.js +1 -0
  84. package/lib/Parser.js +3 -1
  85. package/lib/PlatformPlugin.js +2 -1
  86. package/lib/PrefetchPlugin.js +4 -1
  87. package/lib/ProgressPlugin.js +351 -161
  88. package/lib/ProvidePlugin.js +6 -3
  89. package/lib/RawModule.js +32 -16
  90. package/lib/RecordIdsPlugin.js +9 -0
  91. package/lib/RequestShortener.js +8 -0
  92. package/lib/ResolverFactory.js +5 -0
  93. package/lib/RuntimeGlobals.js +58 -5
  94. package/lib/RuntimeModule.js +22 -7
  95. package/lib/RuntimePlugin.js +104 -26
  96. package/lib/RuntimeTemplate.js +616 -37
  97. package/lib/SelfModuleFactory.js +3 -0
  98. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  99. package/lib/SourceMapDevToolPlugin.js +341 -63
  100. package/lib/Stats.js +6 -0
  101. package/lib/Template.js +29 -3
  102. package/lib/TemplatedPathPlugin.js +505 -138
  103. package/lib/UseStrictPlugin.js +3 -2
  104. package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
  105. package/lib/WarnDeprecatedOptionPlugin.js +6 -2
  106. package/lib/WarnNoModeSetPlugin.js +18 -2
  107. package/lib/WatchIgnorePlugin.js +5 -1
  108. package/lib/Watching.js +25 -3
  109. package/lib/WebpackError.js +3 -74
  110. package/lib/WebpackIsIncludedPlugin.js +4 -2
  111. package/lib/WebpackOptionsApply.js +88 -25
  112. package/lib/WebpackOptionsDefaulter.js +1 -0
  113. package/lib/asset/AssetBytesGenerator.js +28 -10
  114. package/lib/asset/AssetBytesParser.js +1 -0
  115. package/lib/asset/AssetGenerator.js +199 -60
  116. package/lib/asset/AssetModule.js +47 -0
  117. package/lib/asset/AssetModulesPlugin.js +115 -24
  118. package/lib/asset/AssetParser.js +4 -2
  119. package/lib/asset/AssetSourceGenerator.js +26 -8
  120. package/lib/asset/AssetSourceParser.js +1 -0
  121. package/lib/asset/RawDataUrlModule.js +23 -13
  122. package/lib/asset/WebManifestGenerator.js +164 -0
  123. package/lib/asset/WebManifestParser.js +130 -0
  124. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  125. package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
  126. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  127. package/lib/async-modules/isGeneratorLowered.js +26 -0
  128. package/lib/buildChunkGraph.js +107 -15
  129. package/lib/bun/BunTargetPlugin.js +42 -0
  130. package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
  131. package/lib/cache/AddManagedPathsPlugin.js +5 -1
  132. package/lib/cache/IdleFileCachePlugin.js +6 -1
  133. package/lib/cache/MemoryCachePlugin.js +1 -1
  134. package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
  135. package/lib/cache/PackFileCacheStrategy.js +43 -7
  136. package/lib/cache/ResolverCachePlugin.js +12 -1
  137. package/lib/cache/getLazyHashedEtag.js +13 -2
  138. package/lib/cache/mergeEtags.js +4 -0
  139. package/lib/cli.js +142 -20
  140. package/lib/config/browserslistTargetHandler.js +141 -0
  141. package/lib/config/defaults.js +591 -41
  142. package/lib/config/defineConfig.js +31 -0
  143. package/lib/config/normalization.js +46 -1
  144. package/lib/config/target.js +200 -2
  145. package/lib/container/ContainerEntryDependency.js +2 -0
  146. package/lib/container/ContainerEntryModule.js +27 -14
  147. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  148. package/lib/container/ContainerExposedDependency.js +6 -2
  149. package/lib/container/ContainerPlugin.js +2 -1
  150. package/lib/container/ContainerReferencePlugin.js +3 -2
  151. package/lib/container/FallbackDependency.js +9 -7
  152. package/lib/container/FallbackItemDependency.js +1 -0
  153. package/lib/container/FallbackModule.js +22 -9
  154. package/lib/container/FallbackModuleFactory.js +1 -0
  155. package/lib/container/ModuleFederationPlugin.js +12 -26
  156. package/lib/container/RemoteModule.js +33 -10
  157. package/lib/container/RemoteRuntimeModule.js +15 -12
  158. package/lib/container/RemoteToExternalDependency.js +1 -0
  159. package/lib/container/options.js +7 -0
  160. package/lib/css/CssGenerator.js +534 -272
  161. package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
  162. package/lib/css/CssLoadingRuntimeModule.js +156 -77
  163. package/lib/{CssModule.js → css/CssModule.js} +72 -37
  164. package/lib/css/CssModulesPlugin.js +356 -204
  165. package/lib/css/CssParser.js +3452 -1950
  166. package/lib/css/syntax.js +4058 -0
  167. package/lib/debug/ProfilingPlugin.js +33 -2
  168. package/lib/deno/DenoTargetPlugin.js +41 -0
  169. package/lib/dependencies/AMDDefineDependency.js +29 -17
  170. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
  171. package/lib/dependencies/AMDPlugin.js +6 -3
  172. package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
  173. package/lib/dependencies/AMDRequireContextDependency.js +10 -11
  174. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  175. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
  176. package/lib/dependencies/AMDRequireDependency.js +28 -20
  177. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  178. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  179. package/lib/dependencies/CachedConstDependency.js +9 -1
  180. package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
  181. package/lib/dependencies/CommonJsExportRequireDependency.js +138 -38
  182. package/lib/dependencies/CommonJsExportsDependency.js +74 -20
  183. package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
  184. package/lib/dependencies/CommonJsFullRequireDependency.js +62 -27
  185. package/lib/dependencies/CommonJsImportsParserPlugin.js +187 -24
  186. package/lib/dependencies/CommonJsPlugin.js +7 -4
  187. package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
  188. package/lib/dependencies/CommonJsRequireDependency.js +135 -13
  189. package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
  190. package/lib/dependencies/ConstDependency.js +22 -12
  191. package/lib/dependencies/ContextDependency.js +13 -2
  192. package/lib/dependencies/ContextDependencyHelpers.js +7 -4
  193. package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
  194. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  195. package/lib/dependencies/ContextElementDependency.js +27 -14
  196. package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
  197. package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
  198. package/lib/dependencies/CriticalDependencyWarning.js +3 -1
  199. package/lib/dependencies/CssIcssExportDependency.js +682 -368
  200. package/lib/dependencies/CssIcssImportDependency.js +62 -17
  201. package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
  202. package/lib/dependencies/CssImportDependency.js +37 -1
  203. package/lib/dependencies/CssUrlDependency.js +87 -14
  204. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  205. package/lib/dependencies/DllEntryDependency.js +12 -13
  206. package/lib/dependencies/DynamicExports.js +5 -0
  207. package/lib/dependencies/EntryDependency.js +1 -0
  208. package/lib/dependencies/ExportBindingInitFragment.js +164 -0
  209. package/lib/dependencies/ExportsInfoDependency.js +18 -12
  210. package/lib/dependencies/ExternalModuleDependency.js +13 -5
  211. package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
  212. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
  213. package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
  214. package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
  215. package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
  216. package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
  217. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +32 -2
  218. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
  219. package/lib/dependencies/HarmonyExportExpressionDependency.js +140 -46
  220. package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
  221. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +253 -37
  222. package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
  223. package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
  224. package/lib/dependencies/HarmonyExports.js +6 -1
  225. package/lib/dependencies/HarmonyImportDependency.js +59 -3
  226. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
  227. package/lib/dependencies/HarmonyImportGuard.js +426 -0
  228. package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
  229. package/lib/dependencies/HarmonyImportSpecifierDependency.js +136 -17
  230. package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
  231. package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
  232. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
  233. package/lib/dependencies/HtmlEntryDependency.js +1295 -0
  234. package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
  235. package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
  236. package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
  237. package/lib/dependencies/HtmlSourceDependency.js +172 -0
  238. package/lib/dependencies/ImportContextDependency.js +9 -9
  239. package/lib/dependencies/ImportDependency.js +92 -3
  240. package/lib/dependencies/ImportEagerDependency.js +2 -0
  241. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  242. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
  243. package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
  244. package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
  245. package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
  246. package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
  247. package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
  248. package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
  249. package/lib/dependencies/ImportMetaPlugin.js +595 -209
  250. package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
  251. package/lib/dependencies/ImportParserPlugin.js +114 -27
  252. package/lib/dependencies/ImportPhase.js +17 -11
  253. package/lib/dependencies/ImportPlugin.js +2 -1
  254. package/lib/dependencies/ImportWeakDependency.js +3 -0
  255. package/lib/dependencies/JsonExportsDependency.js +15 -10
  256. package/lib/dependencies/LoaderDependency.js +2 -0
  257. package/lib/dependencies/LoaderImportDependency.js +3 -0
  258. package/lib/dependencies/LoaderPlugin.js +9 -2
  259. package/lib/dependencies/LocalModule.js +15 -12
  260. package/lib/dependencies/LocalModuleDependency.js +15 -13
  261. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  262. package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
  263. package/lib/dependencies/ModuleDependency.js +14 -0
  264. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  265. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  266. package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
  267. package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
  268. package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
  269. package/lib/dependencies/NullDependency.js +2 -0
  270. package/lib/dependencies/PrefetchDependency.js +1 -0
  271. package/lib/dependencies/ProvidedDependency.js +36 -27
  272. package/lib/dependencies/PureExpressionDependency.js +14 -10
  273. package/lib/dependencies/RequireContextDependency.js +1 -0
  274. package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
  275. package/lib/dependencies/RequireContextPlugin.js +2 -1
  276. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  277. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
  278. package/lib/dependencies/RequireEnsureDependency.js +16 -13
  279. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  280. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  281. package/lib/dependencies/RequireHeaderDependency.js +7 -4
  282. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  283. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
  284. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  285. package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
  286. package/lib/dependencies/RequireResolveContextDependency.js +10 -11
  287. package/lib/dependencies/RequireResolveDependency.js +2 -0
  288. package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
  289. package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
  290. package/lib/dependencies/StaticExportsDependency.js +13 -10
  291. package/lib/dependencies/SystemPlugin.js +9 -6
  292. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  293. package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
  294. package/lib/dependencies/URLContextDependency.js +8 -7
  295. package/lib/dependencies/URLDependency.js +157 -33
  296. package/lib/dependencies/URLPlugin.js +2 -0
  297. package/lib/dependencies/UnsupportedDependency.js +12 -13
  298. package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
  299. package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
  300. package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
  301. package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
  302. package/lib/dependencies/WorkerDependency.js +111 -27
  303. package/lib/dependencies/WorkletDependency.js +278 -0
  304. package/lib/dependencies/getFunctionExpression.js +1 -0
  305. package/lib/dependencies/processExportInfo.js +14 -11
  306. package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
  307. package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
  308. package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
  309. package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
  310. package/lib/{DllModule.js → dll/DllModule.js} +36 -24
  311. package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
  312. package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
  313. package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
  314. package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
  315. package/lib/electron/ElectronTargetPlugin.js +24 -5
  316. package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
  317. package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
  318. package/lib/errors/BuildCycleError.js +1 -1
  319. package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
  320. package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
  321. package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
  322. package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
  323. package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
  324. package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
  325. package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
  326. package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
  327. package/lib/errors/JSONParseError.js +115 -0
  328. package/lib/errors/LoaderLoadingError.js +20 -0
  329. package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
  330. package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
  331. package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
  332. package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
  333. package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
  334. package/lib/errors/ModuleNotFoundError.js +94 -0
  335. package/lib/errors/ModuleParseError.js +141 -0
  336. package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
  337. package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
  338. package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
  339. package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
  340. package/lib/errors/NonErrorEmittedError.js +30 -0
  341. package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
  342. package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
  343. package/lib/errors/WebpackError.js +84 -0
  344. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  345. package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
  346. package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
  347. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +71 -49
  348. package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
  349. package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
  350. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
  351. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  352. package/lib/hmr/LazyCompilationPlugin.js +154 -7
  353. package/lib/hmr/lazyCompilationBackend.js +34 -8
  354. package/lib/html/HtmlGenerator.js +1470 -0
  355. package/lib/html/HtmlModule.js +41 -0
  356. package/lib/html/HtmlModulesPlugin.js +1111 -0
  357. package/lib/html/HtmlParser.js +1970 -0
  358. package/lib/html/favicon.svg +1 -0
  359. package/lib/html/syntax.js +9020 -0
  360. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  361. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  362. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  363. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  364. package/lib/ids/IdHelpers.js +25 -2
  365. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  366. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  367. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  368. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  369. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  370. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  371. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  372. package/lib/index.js +66 -15
  373. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
  374. package/lib/javascript/BasicEvaluatedExpression.js +370 -49
  375. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  376. package/lib/javascript/ChunkHelpers.js +1 -0
  377. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  378. package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
  379. package/lib/javascript/JavascriptGenerator.js +213 -51
  380. package/lib/javascript/JavascriptModule.js +54 -0
  381. package/lib/javascript/JavascriptModulesPlugin.js +579 -183
  382. package/lib/javascript/JavascriptParser.js +1289 -462
  383. package/lib/javascript/JavascriptParserHelpers.js +10 -7
  384. package/lib/javascript/StartupHelpers.js +5 -0
  385. package/lib/javascript/syntax.js +4380 -0
  386. package/lib/json/JsonData.js +5 -0
  387. package/lib/json/JsonGenerator.js +21 -0
  388. package/lib/json/JsonModule.js +40 -0
  389. package/lib/json/JsonModulesPlugin.js +8 -1
  390. package/lib/json/JsonParser.js +18 -27
  391. package/lib/library/AbstractLibraryPlugin.js +17 -2
  392. package/lib/library/AmdLibraryPlugin.js +8 -0
  393. package/lib/library/AssignLibraryPlugin.js +21 -3
  394. package/lib/library/EnableLibraryPlugin.js +8 -2
  395. package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
  396. package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
  397. package/lib/library/JsonpLibraryPlugin.js +8 -0
  398. package/lib/library/ModuleLibraryPlugin.js +154 -7
  399. package/lib/library/SystemLibraryPlugin.js +11 -3
  400. package/lib/library/UmdLibraryPlugin.js +16 -0
  401. package/lib/loaders/LoaderRunner.js +714 -0
  402. package/lib/loaders/loadLoader.js +100 -0
  403. package/lib/logging/Logger.js +17 -0
  404. package/lib/logging/createConsoleLogger.js +7 -0
  405. package/lib/logging/runtime.js +2 -0
  406. package/lib/logging/truncateArgs.js +2 -0
  407. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  408. package/lib/node/NodeEnvironmentPlugin.js +7 -3
  409. package/lib/node/NodeSourcePlugin.js +1 -1
  410. package/lib/node/NodeTargetPlugin.js +4 -63
  411. package/lib/node/NodeTemplatePlugin.js +3 -1
  412. package/lib/node/NodeWatchFileSystem.js +40 -22
  413. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
  414. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +23 -1
  415. package/lib/node/ReadFileCompileWasmPlugin.js +18 -1
  416. package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
  417. package/lib/node/nodeBuiltins.js +80 -0
  418. package/lib/node/nodeConsole.js +116 -64
  419. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  420. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  421. package/lib/optimize/ConcatenatedModule.js +585 -116
  422. package/lib/optimize/ConstExportsPlugin.js +211 -0
  423. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  424. package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
  425. package/lib/optimize/InlineExports.js +178 -0
  426. package/lib/optimize/InnerGraph.js +374 -262
  427. package/lib/optimize/InnerGraphPlugin.js +246 -117
  428. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  429. package/lib/optimize/MangleExportsPlugin.js +5 -1
  430. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  431. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  432. package/lib/optimize/MinMaxSizeWarning.js +5 -4
  433. package/lib/optimize/ModuleConcatenationPlugin.js +159 -34
  434. package/lib/optimize/RealContentHashPlugin.js +125 -50
  435. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  436. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  437. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  438. package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
  439. package/lib/optimize/SplitChunksPlugin.js +54 -6
  440. package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
  441. package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
  442. package/lib/performance/NoAsyncChunksWarning.js +5 -3
  443. package/lib/performance/SizeLimitsPlugin.js +8 -2
  444. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  445. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
  446. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  447. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
  448. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
  449. package/lib/prefetch/ResourceHintPlugin.js +663 -0
  450. package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
  451. package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
  452. package/lib/prefetch/parseResourceHintOptions.js +103 -0
  453. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  454. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  455. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  456. package/lib/rules/RuleSetCompiler.js +132 -0
  457. package/lib/rules/UseEffectRulePlugin.js +10 -3
  458. package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
  459. package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
  460. package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
  461. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  462. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  463. package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
  464. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
  465. package/lib/runtime/CompatRuntimeModule.js +2 -0
  466. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
  467. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  468. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  469. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
  470. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  471. package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
  472. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  473. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  474. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
  475. package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
  476. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  477. package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
  478. package/lib/runtime/HelperRuntimeModule.js +5 -0
  479. package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
  480. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
  481. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
  482. package/lib/runtime/NonceRuntimeModule.js +1 -0
  483. package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
  484. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  485. package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
  486. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  487. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
  488. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  489. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
  490. package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
  491. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  492. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  493. package/lib/runtime/WorkerRuntimeModule.js +33 -0
  494. package/lib/schemes/DataUriPlugin.js +14 -2
  495. package/lib/schemes/FileUriPlugin.js +1 -1
  496. package/lib/schemes/HttpUriPlugin.js +86 -4
  497. package/lib/schemes/VirtualUrlPlugin.js +8 -4
  498. package/lib/serialization/AggregateErrorSerializer.js +9 -6
  499. package/lib/serialization/ArraySerializer.js +6 -8
  500. package/lib/serialization/BinaryMiddleware.js +552 -463
  501. package/lib/serialization/DateObjectSerializer.js +4 -2
  502. package/lib/serialization/ErrorObjectSerializer.js +10 -6
  503. package/lib/serialization/FileMiddleware.js +50 -3
  504. package/lib/serialization/MapObjectSerializer.js +7 -9
  505. package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
  506. package/lib/serialization/ObjectMiddleware.js +73 -13
  507. package/lib/serialization/PlainObjectSerializer.js +16 -8
  508. package/lib/serialization/RegExpObjectSerializer.js +4 -2
  509. package/lib/serialization/Serializer.js +6 -0
  510. package/lib/serialization/SerializerMiddleware.js +14 -2
  511. package/lib/serialization/SetObjectSerializer.js +6 -8
  512. package/lib/serialization/SingleItemMiddleware.js +3 -0
  513. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  514. package/lib/sharing/ConsumeSharedModule.js +21 -7
  515. package/lib/sharing/ConsumeSharedPlugin.js +11 -11
  516. package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
  517. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  518. package/lib/sharing/ProvideSharedDependency.js +34 -15
  519. package/lib/sharing/ProvideSharedModule.js +42 -12
  520. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  521. package/lib/sharing/ProvideSharedPlugin.js +13 -8
  522. package/lib/sharing/SharePlugin.js +5 -1
  523. package/lib/sharing/ShareRuntimeModule.js +19 -16
  524. package/lib/sharing/resolveMatchedConfigs.js +6 -2
  525. package/lib/sharing/utils.js +9 -1
  526. package/lib/stats/DefaultStatsFactoryPlugin.js +94 -12
  527. package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
  528. package/lib/stats/DefaultStatsPrinterPlugin.js +64 -18
  529. package/lib/stats/StatsFactory.js +39 -18
  530. package/lib/stats/StatsPrinter.js +16 -2
  531. package/lib/typescript/TypeScriptPlugin.js +210 -0
  532. package/lib/url/URLParserPlugin.js +111 -23
  533. package/lib/util/ArrayHelpers.js +1 -0
  534. package/lib/util/ArrayQueue.js +10 -5
  535. package/lib/util/AsyncQueue.js +154 -74
  536. package/lib/util/Hash.js +2 -2
  537. package/lib/util/IterableHelpers.js +3 -0
  538. package/lib/util/LazyBucketSortedSet.js +26 -0
  539. package/lib/util/LazySet.js +45 -4
  540. package/lib/util/LocConverter.js +64 -0
  541. package/lib/util/ParallelismFactorCalculator.js +1 -0
  542. package/lib/util/Queue.js +6 -3
  543. package/lib/util/Semaphore.js +15 -1
  544. package/lib/util/SetHelpers.js +4 -1
  545. package/lib/util/SortableSet.js +7 -1
  546. package/lib/util/SourceProcessor.js +119 -0
  547. package/lib/util/StackedCacheMap.js +20 -3
  548. package/lib/util/StackedMap.js +162 -43
  549. package/lib/util/StringXor.js +1 -1
  550. package/lib/util/TupleQueue.js +7 -3
  551. package/lib/util/TupleSet.js +14 -0
  552. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  553. package/lib/util/WeakTupleMap.js +60 -1
  554. package/lib/util/binarySearchBounds.js +3 -2
  555. package/lib/util/chainedImports.js +3 -3
  556. package/lib/util/cleverMerge.js +19 -2
  557. package/lib/util/comparators.js +35 -4
  558. package/lib/util/compileBooleanMatcher.js +9 -0
  559. package/lib/util/concatenate.js +80 -24
  560. package/lib/util/conventions.js +46 -1
  561. package/lib/util/createHash.js +0 -1
  562. package/lib/util/createHooksRegistry.js +43 -0
  563. package/lib/util/createMappings.js +118 -0
  564. package/lib/util/dataURL.js +3 -2
  565. package/lib/util/deprecation.js +19 -0
  566. package/lib/util/deterministicGrouping.js +46 -17
  567. package/lib/util/extractSourceMap.js +2 -1
  568. package/lib/util/extractUrlAndGlobal.js +1 -0
  569. package/lib/util/findGraphRoots.js +7 -0
  570. package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
  571. package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
  572. package/lib/util/fs.js +87 -14
  573. package/lib/util/generateDebugId.js +1 -0
  574. package/lib/util/globUtils.js +710 -0
  575. package/lib/util/hash/BatchedHash.js +1 -0
  576. package/lib/util/hash/BulkUpdateHash.js +1 -0
  577. package/lib/util/hash/DebugHash.js +1 -0
  578. package/lib/util/hash/hash-digest.js +32 -15
  579. package/lib/util/hash/md4.js +1 -1
  580. package/lib/util/hash/wasm-hash.js +5 -0
  581. package/lib/util/hash/xxhash64.js +1 -1
  582. package/lib/util/identifier.js +97 -6
  583. package/lib/util/implicitTypeLoaderFallback.js +62 -0
  584. package/lib/util/internalSerializables.js +102 -60
  585. package/lib/util/magicComment.js +149 -7
  586. package/lib/util/makeSerializable.js +7 -0
  587. package/lib/util/memoize.js +2 -0
  588. package/lib/util/mimeTypes.js +176 -0
  589. package/lib/util/nonNumericOnlyHash.js +31 -1
  590. package/lib/util/numberHash.js +2 -2
  591. package/lib/util/parseJson.js +41 -0
  592. package/lib/util/processAsyncTree.js +8 -0
  593. package/lib/util/property.js +9 -2
  594. package/lib/util/publicPathPlaceholder.js +64 -0
  595. package/lib/util/registerExternalSerializer.js +24 -4
  596. package/lib/util/removeBOM.js +1 -0
  597. package/lib/util/runtime.js +32 -0
  598. package/lib/util/semver.js +15 -0
  599. package/lib/util/serialization.js +2 -0
  600. package/lib/util/smartGrouping.js +8 -0
  601. package/lib/util/source.js +23 -0
  602. package/lib/util/topologicalSort.js +69 -0
  603. package/lib/validateSchema.js +1 -0
  604. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  605. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
  606. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
  607. package/lib/wasm-async/AsyncWasmModule.js +77 -0
  608. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  609. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
  610. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
  611. package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
  612. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
  613. package/lib/wasm-sync/SyncWasmModule.js +39 -0
  614. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
  615. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
  616. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
  617. package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
  618. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
  619. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  620. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
  621. package/lib/wasm-sync/WebAssemblyParser.js +9 -3
  622. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  623. package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
  624. package/lib/web/FetchCompileWasmPlugin.js +27 -1
  625. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  626. package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
  627. package/lib/web/JsonpTemplatePlugin.js +2 -1
  628. package/lib/webpack.js +78 -1
  629. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  630. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
  631. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  632. package/module.d.ts +21 -0
  633. package/package.json +79 -77
  634. package/schemas/WebpackOptions.check.js +1 -1
  635. package/schemas/WebpackOptions.json +1117 -79
  636. package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
  637. package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
  638. package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
  639. package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
  640. package/schemas/plugins/HtmlParserOptions.check.js +6 -0
  641. package/schemas/plugins/HtmlParserOptions.json +3 -0
  642. package/schemas/plugins/ProgressPlugin.check.js +1 -1
  643. package/schemas/plugins/ProgressPlugin.json +38 -0
  644. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
  645. package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
  646. package/schemas/plugins/container/ExternalsType.check.js +1 -1
  647. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  648. package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
  649. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
  650. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
  651. package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
  652. package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
  653. package/schemas/plugins/css/CssParserOptions.check.js +1 -1
  654. package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
  655. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
  656. package/types.d.ts +8608 -1159
  657. package/lib/CaseSensitiveModulesWarning.js +0 -72
  658. package/lib/GraphHelpers.js +0 -46
  659. package/lib/ModuleParseError.js +0 -125
  660. package/lib/NoModeWarning.js +0 -23
  661. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
  662. package/lib/css/walkCssTokens.js +0 -1843
  663. package/lib/util/AppendOnlyStackedSet.js +0 -78
  664. /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
  665. /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
  666. /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
  667. /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
@@ -8,6 +8,7 @@
8
8
  const { WEBASSEMBLY_MODULE_TYPE_ASYNC } = require("../ModuleTypeConstants");
9
9
  const RuntimeGlobals = require("../RuntimeGlobals");
10
10
  const Template = require("../Template");
11
+ const { getPresentKinds } = require("../TemplatedPathPlugin");
11
12
  const AsyncWasmCompileRuntimeModule = require("../wasm-async/AsyncWasmCompileRuntimeModule");
12
13
  const AsyncWasmLoadingRuntimeModule = require("../wasm-async/AsyncWasmLoadingRuntimeModule");
13
14
 
@@ -15,6 +16,15 @@ const AsyncWasmLoadingRuntimeModule = require("../wasm-async/AsyncWasmLoadingRun
15
16
  /** @typedef {import("../Compiler")} Compiler */
16
17
 
17
18
  /**
19
+ * The wasm runtime inlines `[fullhash]` as a runtime `getFullHash()` call, so
20
+ * that runtime module must be requested (`[hash]` is the per-module hash here).
21
+ * @param {string} filename `output.webassemblyModuleFilename`
22
+ * @returns {boolean} whether it references the compilation `[fullhash]`
23
+ */
24
+ const usesFullHash = (filename) => getPresentKinds(filename).has("fullhash");
25
+
26
+ /**
27
+ * Defines the read file compile async wasm plugin options type used by this module.
18
28
  * @typedef {object} ReadFileCompileAsyncWasmPluginOptions
19
29
  * @property {boolean=} import use import?
20
30
  */
@@ -23,6 +33,7 @@ const PLUGIN_NAME = "ReadFileCompileAsyncWasmPlugin";
23
33
 
24
34
  class ReadFileCompileAsyncWasmPlugin {
25
35
  /**
36
+ * Creates an instance of ReadFileCompileAsyncWasmPlugin.
26
37
  * @param {ReadFileCompileAsyncWasmPluginOptions=} options options object
27
38
  */
28
39
  constructor({ import: useImport = false } = {}) {
@@ -31,7 +42,7 @@ class ReadFileCompileAsyncWasmPlugin {
31
42
  }
32
43
 
33
44
  /**
34
- * Apply the plugin
45
+ * Applies the plugin by registering its hooks on the compiler.
35
46
  * @param {Compiler} compiler the compiler instance
36
47
  * @returns {void}
37
48
  */
@@ -39,6 +50,7 @@ class ReadFileCompileAsyncWasmPlugin {
39
50
  compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
40
51
  const globalWasmLoading = compilation.outputOptions.wasmLoading;
41
52
  /**
53
+ * Checks whether this read file compile async wasm plugin is enabled for chunk.
42
54
  * @param {Chunk} chunk chunk
43
55
  * @returns {boolean} true, if wasm loading is enabled for the chunk
44
56
  */
@@ -109,6 +121,11 @@ class ReadFileCompileAsyncWasmPlugin {
109
121
  ) {
110
122
  return;
111
123
  }
124
+ if (
125
+ usesFullHash(compilation.outputOptions.webassemblyModuleFilename)
126
+ ) {
127
+ set.add(RuntimeGlobals.getFullHash);
128
+ }
112
129
  compilation.addRuntimeModule(
113
130
  chunk,
114
131
  new AsyncWasmLoadingRuntimeModule({
@@ -130,6 +147,11 @@ class ReadFileCompileAsyncWasmPlugin {
130
147
  ) {
131
148
  return;
132
149
  }
150
+ if (
151
+ usesFullHash(compilation.outputOptions.webassemblyModuleFilename)
152
+ ) {
153
+ set.add(RuntimeGlobals.getFullHash);
154
+ }
133
155
  compilation.addRuntimeModule(
134
156
  chunk,
135
157
  new AsyncWasmCompileRuntimeModule({
@@ -8,12 +8,22 @@
8
8
  const { WEBASSEMBLY_MODULE_TYPE_SYNC } = require("../ModuleTypeConstants");
9
9
  const RuntimeGlobals = require("../RuntimeGlobals");
10
10
  const Template = require("../Template");
11
+ const { getPresentKinds } = require("../TemplatedPathPlugin");
11
12
  const WasmChunkLoadingRuntimeModule = require("../wasm-sync/WasmChunkLoadingRuntimeModule");
12
13
 
13
14
  /** @typedef {import("../Chunk")} Chunk */
14
15
  /** @typedef {import("../Compiler")} Compiler */
15
16
 
16
17
  /**
18
+ * The wasm runtime inlines `[fullhash]` as a runtime `getFullHash()` call, so
19
+ * that runtime module must be requested (`[hash]` is the per-module hash here).
20
+ * @param {string} filename `output.webassemblyModuleFilename`
21
+ * @returns {boolean} whether it references the compilation `[fullhash]`
22
+ */
23
+ const usesFullHash = (filename) => getPresentKinds(filename).has("fullhash");
24
+
25
+ /**
26
+ * Defines the read file compile wasm plugin options type used by this module.
17
27
  * @typedef {object} ReadFileCompileWasmPluginOptions
18
28
  * @property {boolean=} mangleImports mangle imports
19
29
  * @property {boolean=} import use import?
@@ -23,6 +33,7 @@ const PLUGIN_NAME = "ReadFileCompileWasmPlugin";
23
33
 
24
34
  class ReadFileCompileWasmPlugin {
25
35
  /**
36
+ * Creates an instance of ReadFileCompileWasmPlugin.
26
37
  * @param {ReadFileCompileWasmPluginOptions=} options options object
27
38
  */
28
39
  constructor(options = {}) {
@@ -31,7 +42,7 @@ class ReadFileCompileWasmPlugin {
31
42
  }
32
43
 
33
44
  /**
34
- * Apply the plugin
45
+ * Applies the plugin by registering its hooks on the compiler.
35
46
  * @param {Compiler} compiler the compiler instance
36
47
  * @returns {void}
37
48
  */
@@ -39,6 +50,7 @@ class ReadFileCompileWasmPlugin {
39
50
  compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
40
51
  const globalWasmLoading = compilation.outputOptions.wasmLoading;
41
52
  /**
53
+ * Checks whether this read file compile wasm plugin is enabled for chunk.
42
54
  * @param {Chunk} chunk chunk
43
55
  * @returns {boolean} true, when wasm loading is enabled for the chunk
44
56
  */
@@ -110,6 +122,11 @@ class ReadFileCompileWasmPlugin {
110
122
  return;
111
123
  }
112
124
  set.add(RuntimeGlobals.moduleCache);
125
+ if (
126
+ usesFullHash(compilation.outputOptions.webassemblyModuleFilename)
127
+ ) {
128
+ set.add(RuntimeGlobals.getFullHash);
129
+ }
113
130
  compilation.addRuntimeModule(
114
131
  chunk,
115
132
  new WasmChunkLoadingRuntimeModule({
@@ -26,6 +26,7 @@ const { getUndoPath } = require("../util/identifier");
26
26
 
27
27
  class RequireChunkLoadingRuntimeModule extends RuntimeModule {
28
28
  /**
29
+ * Creates an instance of RequireChunkLoadingRuntimeModule.
29
30
  * @param {ReadOnlyRuntimeRequirements} runtimeRequirements runtime requirements
30
31
  */
31
32
  constructor(runtimeRequirements) {
@@ -35,6 +36,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
35
36
  }
36
37
 
37
38
  /**
39
+ * Returns generated code.
38
40
  * @private
39
41
  * @param {Chunk} chunk chunk
40
42
  * @param {string} rootOutputDir root output directory
@@ -55,6 +57,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
55
57
  }
56
58
 
57
59
  /**
60
+ * Generates runtime code for this runtime module.
58
61
  * @returns {string | null} runtime code
59
62
  */
60
63
  generate() {
@@ -100,6 +103,12 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
100
103
  ? `${RuntimeGlobals.hmrRuntimeStatePrefix}_require`
101
104
  : undefined;
102
105
 
106
+ const cst = runtimeTemplate.renderConst();
107
+ const installedChunksObject = `{\n${Template.indent(
108
+ Array.from(initialChunkIds, (id) => `${JSON.stringify(id)}: 1`).join(
109
+ ",\n"
110
+ )
111
+ )}\n}`;
103
112
  return Template.asString([
104
113
  withBaseURI
105
114
  ? this._generateBaseUri(chunk, rootOutputDir, runtimeTemplate)
@@ -107,15 +116,11 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
107
116
  "",
108
117
  "// object to store loaded chunks",
109
118
  '// "1" means "loaded", otherwise not loaded yet',
110
- `var installedChunks = ${
111
- stateExpression ? `${stateExpression} = ${stateExpression} || ` : ""
112
- }{`,
113
- Template.indent(
114
- Array.from(initialChunkIds, (id) => `${JSON.stringify(id)}: 1`).join(
115
- ",\n"
116
- )
117
- ),
118
- "};",
119
+ `${cst} installedChunks = ${
120
+ stateExpression
121
+ ? runtimeTemplate.assignOr(stateExpression, installedChunksObject)
122
+ : installedChunksObject
123
+ };`,
119
124
  "",
120
125
  withOnChunkLoad
121
126
  ? `${
@@ -127,8 +132,8 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
127
132
  : "// no on chunks loaded",
128
133
  "",
129
134
  withLoading || withExternalInstallChunk
130
- ? `var installChunk = ${runtimeTemplate.basicFunction("chunk", [
131
- "var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;",
135
+ ? `${cst} installChunk = ${runtimeTemplate.basicFunction("chunk", [
136
+ `${cst} moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;`,
132
137
  "for(var moduleId in moreModules) {",
133
138
  Template.indent([
134
139
  `if(${RuntimeGlobals.hasOwnProperty}(moreModules, moduleId)) {`,
@@ -161,7 +166,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
161
166
  Template.indent([
162
167
  // The require function loads and runs a chunk. When the chunk is being run,
163
168
  // it can call __webpack_require__.C to directly complete installed.
164
- `var installedChunk = require(${JSON.stringify(
169
+ `${cst} installedChunk = require(${JSON.stringify(
165
170
  rootOutputDir
166
171
  )} + ${
167
172
  RuntimeGlobals.getChunkScriptFilename
@@ -191,17 +196,17 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
191
196
  ? Template.asString([
192
197
  "function loadUpdateChunk(chunkId, updatedModulesList) {",
193
198
  Template.indent([
194
- `var update = require(${JSON.stringify(rootOutputDir)} + ${
199
+ `${cst} update = require(${JSON.stringify(rootOutputDir)} + ${
195
200
  RuntimeGlobals.getChunkUpdateScriptFilename
196
201
  }(chunkId));`,
197
- "var updatedModules = update.modules;",
198
- "var runtime = update.runtime;",
202
+ `${cst} updatedModules = update.modules;`,
203
+ `${cst} runtime = update.runtime;`,
199
204
  "for(var moduleId in updatedModules) {",
200
205
  Template.indent([
201
206
  `if(${RuntimeGlobals.hasOwnProperty}(updatedModules, moduleId)) {`,
202
207
  Template.indent([
203
208
  "currentUpdate[moduleId] = updatedModules[moduleId];",
204
- "if(updatedModulesList) updatedModulesList.push(moduleId);"
209
+ `${runtimeTemplate.optionalChaining("updatedModulesList", "push(moduleId)")};`
205
210
  ]),
206
211
  "}"
207
212
  ]),
@@ -0,0 +1,80 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author sheo13666q @sheo13666q
4
+ */
5
+
6
+ "use strict";
7
+
8
+ // node.js built-in modules externalized by the node/deno/bun target presets.
9
+ const builtins = [
10
+ "assert",
11
+ "assert/strict",
12
+ "async_hooks",
13
+ "buffer",
14
+ "child_process",
15
+ "cluster",
16
+ "console",
17
+ "constants",
18
+ "crypto",
19
+ "dgram",
20
+ "diagnostics_channel",
21
+ "dns",
22
+ "dns/promises",
23
+ "domain",
24
+ "events",
25
+ "fs",
26
+ "fs/promises",
27
+ "http",
28
+ "http2",
29
+ "https",
30
+ "inspector",
31
+ "inspector/promises",
32
+ "module",
33
+ "net",
34
+ "os",
35
+ "path",
36
+ "path/posix",
37
+ "path/win32",
38
+ "perf_hooks",
39
+ "process",
40
+ "punycode",
41
+ "querystring",
42
+ "readline",
43
+ "readline/promises",
44
+ "repl",
45
+ "stream",
46
+ "stream/consumers",
47
+ "stream/promises",
48
+ "stream/web",
49
+ "string_decoder",
50
+ "sys",
51
+ "timers",
52
+ "timers/promises",
53
+ "tls",
54
+ "trace_events",
55
+ "tty",
56
+ "url",
57
+ "util",
58
+ "util/types",
59
+ "v8",
60
+ "vm",
61
+ "wasi",
62
+ "worker_threads",
63
+ "zlib",
64
+ /^node:/,
65
+
66
+ // cspell:word pnpapi
67
+ // Yarn PnP adds pnpapi as "builtin"
68
+ "pnpapi"
69
+ ];
70
+
71
+ // Bare core module names (no `node:` prefix, no regex, no pnpapi), used to
72
+ // recognize a request that has a `node:`-prefixed equivalent.
73
+ const coreModules = new Set(
74
+ builtins.filter(
75
+ (builtin) => typeof builtin === "string" && builtin !== "pnpapi"
76
+ )
77
+ );
78
+
79
+ module.exports.builtins = builtins;
80
+ module.exports.coreModules = coreModules;
@@ -7,120 +7,175 @@
7
7
 
8
8
  const util = require("util");
9
9
  const truncateArgs = require("../logging/truncateArgs");
10
+ const memoize = require("../util/memoize");
10
11
 
12
+ const getCli = memoize(() => require("../cli"));
13
+
14
+ const ESC = "\u001B[";
15
+ const CURSOR_UP = `${ESC}1A`;
16
+ const CLEAR_LINE = `${ESC}2K\r`;
17
+
18
+ /** @typedef {import("../Compiler")} Compiler */
11
19
  /** @typedef {import("../config/defaults").InfrastructureLoggingNormalizedWithDefaults} InfrastructureLoggingNormalizedWithDefaults */
12
20
  /** @typedef {import("../logging/createConsoleLogger").LoggerConsole} LoggerConsole */
21
+ /**
22
+ * @typedef {object} StatusMessageState
23
+ * @property {string[] | undefined} currentMessage current status message
24
+ * @property {number} currentLines current status message rows
25
+ */
26
+
27
+ /** @type {WeakMap<Compiler, StatusMessageState>} */
28
+ const logStatusStateByCompiler = new WeakMap();
29
+ /** @type {Set<StatusMessageState>} */
30
+ const logStatusStates = new Set();
31
+
32
+ /**
33
+ * Returns status state
34
+ * @param {Compiler} compiler compiler
35
+ * @returns {StatusMessageState} status state
36
+ */
37
+ const getLogStatusState = (compiler) => {
38
+ let state = logStatusStateByCompiler.get(compiler);
39
+ if (state === undefined) {
40
+ state = {
41
+ currentMessage: undefined,
42
+ currentLines: 0
43
+ };
44
+ logStatusStateByCompiler.set(compiler, state);
45
+ logStatusStates.add(state);
46
+ }
47
+ return state;
48
+ };
13
49
 
14
50
  /* eslint-disable no-console */
15
51
 
16
52
  /**
53
+ * Returns logger function.
17
54
  * @param {object} options options
18
55
  * @param {boolean=} options.colors colors
19
56
  * @param {boolean=} options.appendOnly append only
20
57
  * @param {InfrastructureLoggingNormalizedWithDefaults["stream"]} options.stream stream
58
+ * @param {Compiler} options.compiler compiler
21
59
  * @returns {LoggerConsole} logger function
22
60
  */
23
- module.exports = ({ colors, appendOnly, stream }) => {
24
- /** @type {string[] | undefined} */
25
- let currentStatusMessage;
26
- let hasStatusMessage = false;
61
+ module.exports = ({ colors, appendOnly, stream, compiler }) => {
62
+ const c = getCli().createColors({ useColor: Boolean(colors) });
63
+ const logStatusState = getLogStatusState(compiler);
64
+
27
65
  let currentIndent = "";
28
66
  let currentCollapsed = 0;
29
67
 
30
68
  /**
69
+ * Returns indented string.
31
70
  * @param {string} str string
32
71
  * @param {string} prefix prefix
33
- * @param {string} colorPrefix color prefix
34
- * @param {string} colorSuffix color suffix
72
+ * @param {(line: string) => string} colorFn color function
35
73
  * @returns {string} indented string
36
74
  */
37
- const indent = (str, prefix, colorPrefix, colorSuffix) => {
75
+ const indent = (str, prefix, colorFn) => {
38
76
  if (str === "") return str;
39
77
  prefix = currentIndent + prefix;
40
- if (colors) {
41
- return (
42
- prefix +
43
- colorPrefix +
44
- str.replace(/\n/g, `${colorSuffix}\n${prefix}${colorPrefix}`) +
45
- colorSuffix
46
- );
47
- }
48
-
49
- return prefix + str.replace(/\n/g, `\n${prefix}`);
78
+ return (
79
+ prefix +
80
+ str
81
+ .split("\n")
82
+ .map((line) => colorFn(line))
83
+ .join(`\n${prefix}`)
84
+ );
50
85
  };
51
86
 
52
87
  const clearStatusMessage = () => {
53
- if (hasStatusMessage) {
54
- stream.write("\u001B[2K\r");
55
- hasStatusMessage = false;
88
+ let lines = 0;
89
+ for (const state of logStatusStates) {
90
+ if (state.currentLines) {
91
+ lines += state.currentLines;
92
+ state.currentLines = 0;
93
+ }
94
+ }
95
+ for (let i = 0; i < lines; i++) {
96
+ if (i > 0) stream.write(CURSOR_UP);
97
+ stream.write(CLEAR_LINE);
56
98
  }
57
99
  };
58
100
 
59
101
  const writeStatusMessage = () => {
60
- if (!currentStatusMessage) return;
61
- const l = stream.columns || 40;
62
- const args = truncateArgs(currentStatusMessage, l - 1);
63
- const str = args.join(" ");
64
- const coloredStr = `\u001B[1m${str}\u001B[39m\u001B[22m`;
65
- stream.write(`\u001B[2K\r${coloredStr}`);
66
- hasStatusMessage = true;
102
+ const column = stream.columns || 40;
103
+ /** @type {string[]} */
104
+ const all = [];
105
+
106
+ for (const state of logStatusStates) {
107
+ if (!state.currentMessage) continue;
108
+ /** @type {string[][]} */
109
+ const lines = [[]];
110
+ for (const item of state.currentMessage) {
111
+ const parts = item.split("\n");
112
+ lines[lines.length - 1].push(parts[0]);
113
+ for (let i = 1; i < parts.length; i++) {
114
+ lines.push([parts[i]]);
115
+ }
116
+ }
117
+ const truncateLines = lines.map((args) =>
118
+ truncateArgs(args, column - 1).join(" ")
119
+ );
120
+ state.currentLines = truncateLines.length;
121
+ for (const line of truncateLines) all.push(line);
122
+ }
123
+ if (all.length === 0) return;
124
+
125
+ const coloredLines = all.map((str) => c.bold(str));
126
+ stream.write(`${CLEAR_LINE}${coloredLines.join(`\n${CLEAR_LINE}`)}`);
67
127
  };
68
128
 
69
129
  /**
130
+ * @param {EXPECTED_ANY[]} statusMessage status message
131
+ * @returns {void}
132
+ */
133
+ const setStatusMessage = (statusMessage) => {
134
+ clearStatusMessage();
135
+ logStatusState.currentMessage = statusMessage.map((item) => `${item}`);
136
+ writeStatusMessage();
137
+ };
138
+
139
+ /**
140
+ * Returns function to write with colors.
70
141
  * @template T
71
142
  * @param {string} prefix prefix
72
- * @param {string} colorPrefix color prefix
73
- * @param {string} colorSuffix color suffix
143
+ * @param {(line: string) => string} colorFn color function
74
144
  * @returns {(...args: T[]) => void} function to write with colors
75
145
  */
76
146
  const writeColored =
77
- (prefix, colorPrefix, colorSuffix) =>
147
+ (prefix, colorFn) =>
78
148
  (...args) => {
79
149
  if (currentCollapsed > 0) return;
80
150
  clearStatusMessage();
81
- const str = indent(
82
- util.format(...args),
83
- prefix,
84
- colorPrefix,
85
- colorSuffix
86
- );
151
+ const str = indent(util.format(...args), prefix, colorFn);
87
152
  stream.write(`${str}\n`);
88
153
  writeStatusMessage();
89
154
  };
90
155
 
91
156
  /** @type {<T extends unknown[]>(...args: T) => void} */
92
- const writeGroupMessage = writeColored(
93
- "<-> ",
94
- "\u001B[1m\u001B[36m",
95
- "\u001B[39m\u001B[22m"
96
- );
157
+ const writeGroupMessage = writeColored("<-> ", (str) => c.bold(c.cyan(str)));
97
158
 
98
159
  /** @type {<T extends unknown[]>(...args: T) => void} */
99
- const writeGroupCollapsedMessage = writeColored(
100
- "<+> ",
101
- "\u001B[1m\u001B[36m",
102
- "\u001B[39m\u001B[22m"
160
+ const writeGroupCollapsedMessage = writeColored("<+> ", (str) =>
161
+ c.bold(c.cyan(str))
103
162
  );
104
163
 
105
164
  return {
106
165
  /** @type {LoggerConsole["log"]} */
107
- log: writeColored(" ", "\u001B[1m", "\u001B[22m"),
166
+ log: writeColored(" ", c.bold),
108
167
  /** @type {LoggerConsole["debug"]} */
109
- debug: writeColored(" ", "", ""),
168
+ debug: writeColored(" ", String),
110
169
  /** @type {LoggerConsole["trace"]} */
111
- trace: writeColored(" ", "", ""),
170
+ trace: writeColored(" ", String),
112
171
  /** @type {LoggerConsole["info"]} */
113
- info: writeColored("<i> ", "\u001B[1m\u001B[32m", "\u001B[39m\u001B[22m"),
172
+ info: writeColored("<i> ", (str) => c.bold(c.green(str))),
114
173
  /** @type {LoggerConsole["warn"]} */
115
- warn: writeColored("<w> ", "\u001B[1m\u001B[33m", "\u001B[39m\u001B[22m"),
174
+ warn: writeColored("<w> ", (str) => c.bold(c.yellow(str))),
116
175
  /** @type {LoggerConsole["error"]} */
117
- error: writeColored("<e> ", "\u001B[1m\u001B[31m", "\u001B[39m\u001B[22m"),
176
+ error: writeColored("<e> ", (str) => c.bold(c.red(str))),
118
177
  /** @type {LoggerConsole["logTime"]} */
119
- logTime: writeColored(
120
- "<t> ",
121
- "\u001B[1m\u001B[35m",
122
- "\u001B[39m\u001B[22m"
123
- ),
178
+ logTime: writeColored("<t> ", (str) => c.bold(c.magenta(str))),
124
179
  /** @type {LoggerConsole["group"]} */
125
180
  group: (...args) => {
126
181
  writeGroupMessage(...args);
@@ -161,24 +216,21 @@ module.exports = ({ colors, appendOnly, stream }) => {
161
216
  ),
162
217
  /** @type {LoggerConsole["status"]} */
163
218
  status: appendOnly
164
- ? writeColored("<s> ", "", "")
219
+ ? writeColored("<s> ", String)
165
220
  : (name, ...args) => {
166
221
  args = args.filter(Boolean);
167
222
  if (name === undefined && args.length === 0) {
168
223
  clearStatusMessage();
169
- currentStatusMessage = undefined;
224
+ logStatusState.currentMessage = undefined;
170
225
  } else if (
171
226
  typeof name === "string" &&
172
227
  name.startsWith("[webpack.Progress] ")
173
228
  ) {
174
- currentStatusMessage = [name.slice(19), ...args];
175
- writeStatusMessage();
229
+ setStatusMessage([name.slice(19), ...args]);
176
230
  } else if (name === "[webpack.Progress]") {
177
- currentStatusMessage = [...args];
178
- writeStatusMessage();
231
+ setStatusMessage([...args]);
179
232
  } else {
180
- currentStatusMessage = [name, ...args];
181
- writeStatusMessage();
233
+ setStatusMessage([name, ...args]);
182
234
  }
183
235
  }
184
236
  };
@@ -11,6 +11,7 @@ const { STAGE_ADVANCED } = require("../OptimizationStages");
11
11
  /** @typedef {import("../Compiler")} Compiler */
12
12
 
13
13
  /**
14
+ * Defines the aggressive merging plugin options type used by this module.
14
15
  * @typedef {object} AggressiveMergingPluginOptions
15
16
  * @property {number=} minSizeReduce minimal size reduction to trigger merging
16
17
  */
@@ -19,6 +20,7 @@ const PLUGIN_NAME = "AggressiveMergingPlugin";
19
20
 
20
21
  class AggressiveMergingPlugin {
21
22
  /**
23
+ * Creates an instance of AggressiveMergingPlugin.
22
24
  * @param {AggressiveMergingPluginOptions=} options options object
23
25
  */
24
26
  constructor(options) {
@@ -35,7 +37,7 @@ class AggressiveMergingPlugin {
35
37
  }
36
38
 
37
39
  /**
38
- * Apply the plugin
40
+ * Applies the plugin by registering its hooks on the compiler.
39
41
  * @param {Compiler} compiler the compiler instance
40
42
  * @returns {void}
41
43
  */
@@ -21,6 +21,7 @@ const identifierUtils = require("../util/identifier");
21
21
  /** @typedef {import("../Module")} Module */
22
22
 
23
23
  /**
24
+ * Move module between.
24
25
  * @param {ChunkGraph} chunkGraph the chunk graph
25
26
  * @param {Chunk} oldChunk the old chunk
26
27
  * @param {Chunk} newChunk the new chunk
@@ -32,6 +33,7 @@ const moveModuleBetween = (chunkGraph, oldChunk, newChunk) => (module) => {
32
33
  };
33
34
 
34
35
  /**
36
+ * Checks whether this object is not a entry module.
35
37
  * @param {ChunkGraph} chunkGraph the chunk graph
36
38
  * @param {Chunk} chunk the chunk
37
39
  * @returns {(module: Module) => boolean} filter for entry module
@@ -48,6 +50,7 @@ const PLUGIN_NAME = "AggressiveSplittingPlugin";
48
50
 
49
51
  class AggressiveSplittingPlugin {
50
52
  /**
53
+ * Creates an instance of AggressiveSplittingPlugin.
51
54
  * @param {AggressiveSplittingPluginOptions=} options options object
52
55
  */
53
56
  constructor(options = {}) {
@@ -56,6 +59,7 @@ class AggressiveSplittingPlugin {
56
59
  }
57
60
 
58
61
  /**
62
+ * Was chunk recorded.
59
63
  * @param {Chunk} chunk the chunk to test
60
64
  * @returns {boolean} true if the chunk was recorded
61
65
  */
@@ -64,7 +68,7 @@ class AggressiveSplittingPlugin {
64
68
  }
65
69
 
66
70
  /**
67
- * Apply the plugin
71
+ * Applies the plugin by registering its hooks on the compiler.
68
72
  * @param {Compiler} compiler the compiler instance
69
73
  * @returns {void}
70
74
  */
@@ -138,6 +142,7 @@ class AggressiveSplittingPlugin {
138
142
  const maxSize = this.options.maxSize || 50 * 1024;
139
143
 
140
144
  /**
145
+ * Returns true when applied, otherwise false.
141
146
  * @param {SplitData} splitData split data
142
147
  * @returns {boolean} true when applied, otherwise false
143
148
  */