webpack 5.106.1 → 5.106.2

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 (553) hide show
  1. package/lib/APIPlugin.js +3 -1
  2. package/lib/AbstractMethodError.js +10 -1
  3. package/lib/AsyncDependenciesBlock.js +3 -0
  4. package/lib/AsyncDependencyToInitialChunkError.js +6 -1
  5. package/lib/AutomaticPrefetchPlugin.js +6 -1
  6. package/lib/BannerPlugin.js +10 -1
  7. package/lib/Cache.js +26 -1
  8. package/lib/CacheFacade.js +26 -0
  9. package/lib/CaseSensitiveModulesWarning.js +9 -1
  10. package/lib/Chunk.js +46 -0
  11. package/lib/ChunkGraph.js +111 -0
  12. package/lib/ChunkGroup.js +57 -13
  13. package/lib/ChunkTemplate.js +9 -0
  14. package/lib/CleanPlugin.js +14 -1
  15. package/lib/CodeGenerationResults.js +19 -0
  16. package/lib/CommentCompilationWarning.js +6 -0
  17. package/lib/CompatibilityPlugin.js +15 -1
  18. package/lib/Compilation.js +127 -1
  19. package/lib/Compiler.js +37 -4
  20. package/lib/ConcatenationScope.js +24 -1
  21. package/lib/ConditionalInitFragment.js +6 -0
  22. package/lib/ConstPlugin.js +4 -1
  23. package/lib/ContextExclusionPlugin.js +2 -1
  24. package/lib/ContextModule.js +12 -0
  25. package/lib/ContextModuleFactory.js +10 -0
  26. package/lib/ContextReplacementPlugin.js +4 -1
  27. package/lib/CssModule.js +6 -0
  28. package/lib/DefinePlugin.js +20 -7
  29. package/lib/DelegatedModule.js +13 -0
  30. package/lib/DelegatedModuleFactoryPlugin.js +3 -0
  31. package/lib/DelegatedPlugin.js +2 -1
  32. package/lib/DependenciesBlock.js +6 -1
  33. package/lib/Dependency.js +26 -3
  34. package/lib/DependencyTemplate.js +5 -0
  35. package/lib/DependencyTemplates.js +4 -0
  36. package/lib/DllEntryPlugin.js +2 -1
  37. package/lib/DllModule.js +11 -0
  38. package/lib/DllModuleFactory.js +1 -0
  39. package/lib/DllPlugin.js +2 -1
  40. package/lib/DllReferencePlugin.js +11 -6
  41. package/lib/DotenvPlugin.js +3 -0
  42. package/lib/DynamicEntryPlugin.js +3 -1
  43. package/lib/EntryOptionPlugin.js +3 -0
  44. package/lib/EntryPlugin.js +2 -1
  45. package/lib/Entrypoint.js +4 -0
  46. package/lib/EnvironmentPlugin.js +2 -1
  47. package/lib/ErrorHelpers.js +7 -0
  48. package/lib/EvalDevToolModulePlugin.js +3 -1
  49. package/lib/EvalSourceMapDevToolPlugin.js +3 -1
  50. package/lib/ExportsInfo.js +56 -2
  51. package/lib/ExportsInfoApiPlugin.js +2 -1
  52. package/lib/ExternalModule.js +38 -0
  53. package/lib/ExternalModuleFactoryPlugin.js +10 -0
  54. package/lib/ExternalsPlugin.js +2 -1
  55. package/lib/FileSystemInfo.js +105 -0
  56. package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
  57. package/lib/FlagDependencyExportsPlugin.js +4 -1
  58. package/lib/FlagDependencyUsagePlugin.js +5 -1
  59. package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
  60. package/lib/Generator.js +13 -0
  61. package/lib/GraphHelpers.js +3 -0
  62. package/lib/HookWebpackError.js +6 -0
  63. package/lib/HotModuleReplacementPlugin.js +9 -1
  64. package/lib/IgnoreErrorModuleFactory.js +2 -0
  65. package/lib/IgnorePlugin.js +2 -1
  66. package/lib/IgnoreWarningsPlugin.js +2 -1
  67. package/lib/InitFragment.js +10 -0
  68. package/lib/InvalidDependenciesModuleWarning.js +1 -0
  69. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  70. package/lib/LibManifestPlugin.js +4 -1
  71. package/lib/LibraryTemplatePlugin.js +2 -1
  72. package/lib/LoaderOptionsPlugin.js +3 -1
  73. package/lib/LoaderTargetPlugin.js +2 -1
  74. package/lib/MainTemplate.js +15 -0
  75. package/lib/ManifestPlugin.js +9 -2
  76. package/lib/Module.js +82 -1
  77. package/lib/ModuleBuildError.js +3 -0
  78. package/lib/ModuleDependencyWarning.js +1 -0
  79. package/lib/ModuleError.js +2 -0
  80. package/lib/ModuleFactory.js +5 -0
  81. package/lib/ModuleFilenameHelpers.js +3 -0
  82. package/lib/ModuleGraph.js +66 -0
  83. package/lib/ModuleGraphConnection.js +9 -0
  84. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  85. package/lib/ModuleNotFoundError.js +1 -0
  86. package/lib/ModuleParseError.js +3 -0
  87. package/lib/ModuleRestoreError.js +1 -0
  88. package/lib/ModuleSourceTypeConstants.js +1 -0
  89. package/lib/ModuleStoreError.js +1 -0
  90. package/lib/ModuleTemplate.js +8 -0
  91. package/lib/ModuleWarning.js +3 -0
  92. package/lib/MultiCompiler.js +28 -0
  93. package/lib/MultiStats.js +8 -0
  94. package/lib/MultiWatching.js +3 -0
  95. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  96. package/lib/NodeStuffInWebError.js +1 -0
  97. package/lib/NodeStuffPlugin.js +10 -1
  98. package/lib/NormalModule.js +30 -2
  99. package/lib/NormalModuleFactory.js +25 -0
  100. package/lib/NormalModuleReplacementPlugin.js +1 -1
  101. package/lib/NullFactory.js +1 -0
  102. package/lib/OptionsApply.js +1 -0
  103. package/lib/Parser.js +2 -0
  104. package/lib/PlatformPlugin.js +2 -1
  105. package/lib/PrefetchPlugin.js +2 -1
  106. package/lib/ProgressPlugin.js +29 -12
  107. package/lib/ProvidePlugin.js +3 -1
  108. package/lib/RawModule.js +12 -0
  109. package/lib/RecordIdsPlugin.js +8 -0
  110. package/lib/RequestShortener.js +8 -0
  111. package/lib/RequireJsStuffPlugin.js +2 -1
  112. package/lib/ResolverFactory.js +5 -0
  113. package/lib/RuntimeGlobals.js +1 -0
  114. package/lib/RuntimeModule.js +13 -0
  115. package/lib/RuntimePlugin.js +2 -0
  116. package/lib/RuntimeTemplate.js +35 -1
  117. package/lib/SelfModuleFactory.js +2 -0
  118. package/lib/SizeFormatHelpers.js +1 -0
  119. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  120. package/lib/SourceMapDevToolPlugin.js +3 -1
  121. package/lib/Stats.js +5 -0
  122. package/lib/Template.js +20 -0
  123. package/lib/TemplatedPathPlugin.js +10 -3
  124. package/lib/UnhandledSchemeError.js +6 -0
  125. package/lib/UnsupportedFeatureWarning.js +1 -0
  126. package/lib/UseStrictPlugin.js +2 -1
  127. package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
  128. package/lib/WarnDeprecatedOptionPlugin.js +1 -1
  129. package/lib/WarnNoModeSetPlugin.js +1 -1
  130. package/lib/WatchIgnorePlugin.js +4 -1
  131. package/lib/Watching.js +14 -0
  132. package/lib/WebpackError.js +3 -0
  133. package/lib/WebpackIsIncludedPlugin.js +2 -0
  134. package/lib/WebpackOptionsApply.js +1 -0
  135. package/lib/WebpackOptionsDefaulter.js +1 -0
  136. package/lib/asset/AssetBytesGenerator.js +6 -0
  137. package/lib/asset/AssetBytesParser.js +1 -0
  138. package/lib/asset/AssetGenerator.js +20 -2
  139. package/lib/asset/AssetModulesPlugin.js +4 -1
  140. package/lib/asset/AssetParser.js +2 -0
  141. package/lib/asset/AssetSourceGenerator.js +6 -0
  142. package/lib/asset/AssetSourceParser.js +1 -0
  143. package/lib/asset/RawDataUrlModule.js +11 -0
  144. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  145. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  146. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  147. package/lib/buildChunkGraph.js +15 -0
  148. package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
  149. package/lib/cache/AddManagedPathsPlugin.js +2 -1
  150. package/lib/cache/IdleFileCachePlugin.js +2 -1
  151. package/lib/cache/MemoryCachePlugin.js +1 -1
  152. package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
  153. package/lib/cache/PackFileCacheStrategy.js +29 -0
  154. package/lib/cache/ResolverCachePlugin.js +10 -1
  155. package/lib/cache/getLazyHashedEtag.js +4 -0
  156. package/lib/cache/mergeEtags.js +2 -0
  157. package/lib/cli.js +30 -0
  158. package/lib/config/browserslistTargetHandler.js +2 -0
  159. package/lib/config/defaults.js +35 -2
  160. package/lib/config/normalization.js +12 -0
  161. package/lib/config/target.js +11 -0
  162. package/lib/container/ContainerEntryDependency.js +2 -0
  163. package/lib/container/ContainerEntryModule.js +12 -0
  164. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  165. package/lib/container/ContainerExposedDependency.js +4 -0
  166. package/lib/container/ContainerPlugin.js +2 -1
  167. package/lib/container/ContainerReferencePlugin.js +2 -1
  168. package/lib/container/FallbackDependency.js +4 -0
  169. package/lib/container/FallbackItemDependency.js +1 -0
  170. package/lib/container/FallbackModule.js +12 -0
  171. package/lib/container/FallbackModuleFactory.js +1 -0
  172. package/lib/container/ModuleFederationPlugin.js +3 -1
  173. package/lib/container/RemoteModule.js +13 -0
  174. package/lib/container/RemoteRuntimeModule.js +1 -0
  175. package/lib/container/RemoteToExternalDependency.js +1 -0
  176. package/lib/container/options.js +7 -0
  177. package/lib/css/CssGenerator.js +35 -14
  178. package/lib/css/CssInjectStyleRuntimeModule.js +1 -0
  179. package/lib/css/CssLoadingRuntimeModule.js +1 -0
  180. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +1 -0
  181. package/lib/css/CssModulesPlugin.js +69 -3
  182. package/lib/css/CssParser.js +59 -1
  183. package/lib/css/walkCssTokens.js +31 -0
  184. package/lib/debug/ProfilingPlugin.js +19 -1
  185. package/lib/dependencies/AMDDefineDependency.js +7 -0
  186. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
  187. package/lib/dependencies/AMDPlugin.js +4 -1
  188. package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
  189. package/lib/dependencies/AMDRequireContextDependency.js +3 -0
  190. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  191. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +13 -0
  192. package/lib/dependencies/AMDRequireDependency.js +4 -0
  193. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  194. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  195. package/lib/dependencies/CachedConstDependency.js +6 -1
  196. package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
  197. package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
  198. package/lib/dependencies/CommonJsExportsDependency.js +4 -0
  199. package/lib/dependencies/CommonJsExportsParserPlugin.js +8 -0
  200. package/lib/dependencies/CommonJsFullRequireDependency.js +4 -0
  201. package/lib/dependencies/CommonJsImportsParserPlugin.js +20 -0
  202. package/lib/dependencies/CommonJsPlugin.js +4 -1
  203. package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
  204. package/lib/dependencies/CommonJsRequireDependency.js +3 -0
  205. package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
  206. package/lib/dependencies/ConstDependency.js +6 -1
  207. package/lib/dependencies/ContextDependency.js +8 -1
  208. package/lib/dependencies/ContextDependencyHelpers.js +3 -0
  209. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
  210. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  211. package/lib/dependencies/ContextElementDependency.js +4 -0
  212. package/lib/dependencies/CreateRequireParserPlugin.js +6 -0
  213. package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
  214. package/lib/dependencies/CriticalDependencyWarning.js +1 -0
  215. package/lib/dependencies/CssIcssExportDependency.js +10 -2
  216. package/lib/dependencies/CssIcssImportDependency.js +4 -1
  217. package/lib/dependencies/CssIcssSymbolDependency.js +5 -1
  218. package/lib/dependencies/CssImportDependency.js +4 -0
  219. package/lib/dependencies/CssUrlDependency.js +7 -0
  220. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  221. package/lib/dependencies/DllEntryDependency.js +3 -0
  222. package/lib/dependencies/DynamicExports.js +5 -0
  223. package/lib/dependencies/EntryDependency.js +1 -0
  224. package/lib/dependencies/ExportsInfoDependency.js +6 -0
  225. package/lib/dependencies/ExternalModuleDependency.js +5 -0
  226. package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
  227. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
  228. package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
  229. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  230. package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
  231. package/lib/dependencies/HarmonyDetectionParserPlugin.js +3 -0
  232. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
  233. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
  234. package/lib/dependencies/HarmonyExportExpressionDependency.js +5 -0
  235. package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
  236. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +33 -2
  237. package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
  238. package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
  239. package/lib/dependencies/HarmonyExports.js +2 -0
  240. package/lib/dependencies/HarmonyImportDependency.js +11 -0
  241. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +9 -0
  242. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
  243. package/lib/dependencies/HarmonyImportSpecifierDependency.js +17 -2
  244. package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
  245. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
  246. package/lib/dependencies/ImportContextDependency.js +4 -0
  247. package/lib/dependencies/ImportDependency.js +5 -0
  248. package/lib/dependencies/ImportEagerDependency.js +2 -0
  249. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  250. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +3 -0
  251. package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
  252. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  253. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  254. package/lib/dependencies/ImportMetaPlugin.js +6 -0
  255. package/lib/dependencies/ImportParserPlugin.js +7 -0
  256. package/lib/dependencies/ImportPhase.js +6 -2
  257. package/lib/dependencies/ImportPlugin.js +2 -1
  258. package/lib/dependencies/ImportWeakDependency.js +2 -0
  259. package/lib/dependencies/JsonExportsDependency.js +6 -1
  260. package/lib/dependencies/LoaderDependency.js +2 -0
  261. package/lib/dependencies/LoaderImportDependency.js +2 -0
  262. package/lib/dependencies/LoaderPlugin.js +4 -1
  263. package/lib/dependencies/LocalModule.js +4 -0
  264. package/lib/dependencies/LocalModuleDependency.js +4 -0
  265. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  266. package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
  267. package/lib/dependencies/ModuleDependency.js +7 -0
  268. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  269. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  270. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  271. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  272. package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
  273. package/lib/dependencies/NullDependency.js +2 -0
  274. package/lib/dependencies/PrefetchDependency.js +1 -0
  275. package/lib/dependencies/ProvidedDependency.js +6 -1
  276. package/lib/dependencies/PureExpressionDependency.js +7 -1
  277. package/lib/dependencies/RequireContextDependency.js +1 -0
  278. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
  279. package/lib/dependencies/RequireContextPlugin.js +2 -1
  280. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  281. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
  282. package/lib/dependencies/RequireEnsureDependency.js +4 -0
  283. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  284. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  285. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  286. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  287. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
  288. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  289. package/lib/dependencies/RequireResolveContextDependency.js +3 -0
  290. package/lib/dependencies/RequireResolveDependency.js +1 -0
  291. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  292. package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
  293. package/lib/dependencies/StaticExportsDependency.js +3 -0
  294. package/lib/dependencies/SystemPlugin.js +4 -1
  295. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  296. package/lib/dependencies/URLContextDependency.js +3 -0
  297. package/lib/dependencies/URLDependency.js +6 -0
  298. package/lib/dependencies/URLPlugin.js +2 -0
  299. package/lib/dependencies/UnsupportedDependency.js +4 -0
  300. package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
  301. package/lib/dependencies/WebAssemblyImportDependency.js +4 -1
  302. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
  303. package/lib/dependencies/WorkerDependency.js +6 -1
  304. package/lib/dependencies/WorkerPlugin.js +9 -1
  305. package/lib/dependencies/getFunctionExpression.js +1 -0
  306. package/lib/dependencies/processExportInfo.js +1 -0
  307. package/lib/electron/ElectronTargetPlugin.js +2 -1
  308. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  309. package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
  310. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
  311. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
  312. package/lib/formatLocation.js +2 -0
  313. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  314. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  315. package/lib/hmr/LazyCompilationPlugin.js +20 -1
  316. package/lib/hmr/lazyCompilationBackend.js +2 -0
  317. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  318. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  319. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  320. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  321. package/lib/ids/IdHelpers.js +20 -0
  322. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  323. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  324. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  325. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  326. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  327. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  328. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  329. package/lib/index.js +5 -0
  330. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  331. package/lib/javascript/BasicEvaluatedExpression.js +4 -2
  332. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  333. package/lib/javascript/ChunkHelpers.js +1 -0
  334. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  335. package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
  336. package/lib/javascript/JavascriptGenerator.js +10 -0
  337. package/lib/javascript/JavascriptModulesPlugin.js +23 -1
  338. package/lib/javascript/JavascriptParser.js +163 -0
  339. package/lib/javascript/JavascriptParserHelpers.js +6 -0
  340. package/lib/javascript/StartupHelpers.js +5 -0
  341. package/lib/json/JsonData.js +5 -0
  342. package/lib/json/JsonGenerator.js +21 -0
  343. package/lib/json/JsonModulesPlugin.js +1 -1
  344. package/lib/json/JsonParser.js +8 -10
  345. package/lib/library/AbstractLibraryPlugin.js +16 -1
  346. package/lib/library/AmdLibraryPlugin.js +8 -0
  347. package/lib/library/AssignLibraryPlugin.js +16 -0
  348. package/lib/library/EnableLibraryPlugin.js +7 -1
  349. package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
  350. package/lib/library/JsonpLibraryPlugin.js +8 -0
  351. package/lib/library/ModuleLibraryPlugin.js +12 -1
  352. package/lib/library/SystemLibraryPlugin.js +8 -0
  353. package/lib/library/UmdLibraryPlugin.js +16 -0
  354. package/lib/logging/Logger.js +17 -0
  355. package/lib/logging/createConsoleLogger.js +7 -0
  356. package/lib/logging/runtime.js +2 -0
  357. package/lib/logging/truncateArgs.js +2 -0
  358. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  359. package/lib/node/NodeEnvironmentPlugin.js +3 -1
  360. package/lib/node/NodeSourcePlugin.js +1 -1
  361. package/lib/node/NodeTargetPlugin.js +2 -1
  362. package/lib/node/NodeTemplatePlugin.js +3 -1
  363. package/lib/node/NodeWatchFileSystem.js +2 -0
  364. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
  365. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
  366. package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
  367. package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
  368. package/lib/node/nodeConsole.js +3 -0
  369. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  370. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  371. package/lib/optimize/ConcatenatedModule.js +11 -0
  372. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  373. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
  374. package/lib/optimize/InnerGraph.js +15 -0
  375. package/lib/optimize/InnerGraphPlugin.js +3 -1
  376. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  377. package/lib/optimize/MangleExportsPlugin.js +5 -1
  378. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  379. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  380. package/lib/optimize/MinMaxSizeWarning.js +1 -0
  381. package/lib/optimize/ModuleConcatenationPlugin.js +21 -1
  382. package/lib/optimize/RealContentHashPlugin.js +16 -1
  383. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  384. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  385. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  386. package/lib/optimize/SideEffectsFlagPlugin.js +7 -1
  387. package/lib/optimize/SplitChunksPlugin.js +49 -1
  388. package/lib/performance/AssetsOverSizeLimitWarning.js +1 -0
  389. package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -0
  390. package/lib/performance/SizeLimitsPlugin.js +7 -1
  391. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  392. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
  393. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  394. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -0
  395. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
  396. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  397. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  398. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  399. package/lib/rules/RuleSetCompiler.js +18 -0
  400. package/lib/rules/UseEffectRulePlugin.js +6 -0
  401. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
  402. package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
  403. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  404. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  405. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
  406. package/lib/runtime/CompatRuntimeModule.js +2 -0
  407. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
  408. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  409. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  410. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
  411. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  412. package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
  413. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  414. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  415. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
  416. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  417. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
  418. package/lib/runtime/HelperRuntimeModule.js +5 -0
  419. package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
  420. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +2 -0
  421. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
  422. package/lib/runtime/NonceRuntimeModule.js +1 -0
  423. package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
  424. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  425. package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
  426. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  427. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  428. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
  429. package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
  430. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  431. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  432. package/lib/schemes/DataUriPlugin.js +1 -1
  433. package/lib/schemes/FileUriPlugin.js +1 -1
  434. package/lib/schemes/HttpUriPlugin.js +43 -1
  435. package/lib/schemes/VirtualUrlPlugin.js +6 -1
  436. package/lib/serialization/AggregateErrorSerializer.js +2 -0
  437. package/lib/serialization/ArraySerializer.js +2 -0
  438. package/lib/serialization/BinaryMiddleware.js +20 -1
  439. package/lib/serialization/DateObjectSerializer.js +2 -0
  440. package/lib/serialization/ErrorObjectSerializer.js +3 -0
  441. package/lib/serialization/FileMiddleware.js +21 -0
  442. package/lib/serialization/MapObjectSerializer.js +2 -0
  443. package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
  444. package/lib/serialization/ObjectMiddleware.js +23 -0
  445. package/lib/serialization/PlainObjectSerializer.js +7 -0
  446. package/lib/serialization/RegExpObjectSerializer.js +2 -0
  447. package/lib/serialization/Serializer.js +5 -0
  448. package/lib/serialization/SerializerMiddleware.js +12 -0
  449. package/lib/serialization/SetObjectSerializer.js +2 -0
  450. package/lib/serialization/SingleItemMiddleware.js +3 -0
  451. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  452. package/lib/sharing/ConsumeSharedModule.js +15 -0
  453. package/lib/sharing/ConsumeSharedPlugin.js +6 -1
  454. package/lib/sharing/ConsumeSharedRuntimeModule.js +1 -0
  455. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  456. package/lib/sharing/ProvideSharedDependency.js +4 -0
  457. package/lib/sharing/ProvideSharedModule.js +11 -0
  458. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  459. package/lib/sharing/ProvideSharedPlugin.js +4 -1
  460. package/lib/sharing/SharePlugin.js +2 -1
  461. package/lib/sharing/ShareRuntimeModule.js +1 -0
  462. package/lib/sharing/resolveMatchedConfigs.js +3 -0
  463. package/lib/sharing/utils.js +8 -0
  464. package/lib/stats/DefaultStatsFactoryPlugin.js +56 -1
  465. package/lib/stats/DefaultStatsPresetPlugin.js +11 -1
  466. package/lib/stats/DefaultStatsPrinterPlugin.js +37 -1
  467. package/lib/stats/StatsFactory.js +12 -0
  468. package/lib/stats/StatsPrinter.js +7 -0
  469. package/lib/url/URLParserPlugin.js +6 -0
  470. package/lib/util/AppendOnlyStackedSet.js +15 -0
  471. package/lib/util/ArrayHelpers.js +1 -0
  472. package/lib/util/ArrayQueue.js +10 -5
  473. package/lib/util/AsyncQueue.js +20 -0
  474. package/lib/util/IterableHelpers.js +3 -0
  475. package/lib/util/LazyBucketSortedSet.js +21 -0
  476. package/lib/util/LazySet.js +39 -0
  477. package/lib/util/ParallelismFactorCalculator.js +1 -0
  478. package/lib/util/Queue.js +6 -3
  479. package/lib/util/Semaphore.js +14 -1
  480. package/lib/util/SetHelpers.js +3 -0
  481. package/lib/util/SortableSet.js +6 -0
  482. package/lib/util/StackedCacheMap.js +20 -3
  483. package/lib/util/StackedMap.js +45 -0
  484. package/lib/util/StringXor.js +1 -1
  485. package/lib/util/TupleQueue.js +7 -3
  486. package/lib/util/TupleSet.js +13 -0
  487. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  488. package/lib/util/WeakTupleMap.js +33 -0
  489. package/lib/util/binarySearchBounds.js +1 -0
  490. package/lib/util/cleverMerge.js +17 -0
  491. package/lib/util/comparators.js +31 -0
  492. package/lib/util/compileBooleanMatcher.js +9 -0
  493. package/lib/util/concatenate.js +6 -0
  494. package/lib/util/conventions.js +4 -0
  495. package/lib/util/dataURL.js +1 -0
  496. package/lib/util/deprecation.js +19 -0
  497. package/lib/util/deterministicGrouping.js +20 -0
  498. package/lib/util/extractSourceMap.js +1 -0
  499. package/lib/util/extractUrlAndGlobal.js +1 -0
  500. package/lib/util/findGraphRoots.js +5 -0
  501. package/lib/util/fs.js +63 -0
  502. package/lib/util/generateDebugId.js +1 -0
  503. package/lib/util/hash/BatchedHash.js +1 -0
  504. package/lib/util/hash/BulkUpdateHash.js +1 -0
  505. package/lib/util/hash/hash-digest.js +8 -0
  506. package/lib/util/hash/wasm-hash.js +5 -0
  507. package/lib/util/identifier.js +19 -0
  508. package/lib/util/magicComment.js +1 -0
  509. package/lib/util/makeSerializable.js +6 -0
  510. package/lib/util/memoize.js +2 -0
  511. package/lib/util/mimeTypes.js +176 -0
  512. package/lib/util/nonNumericOnlyHash.js +1 -0
  513. package/lib/util/parseJson.js +112 -0
  514. package/lib/util/processAsyncTree.js +8 -0
  515. package/lib/util/property.js +1 -0
  516. package/lib/util/registerExternalSerializer.js +20 -0
  517. package/lib/util/removeBOM.js +1 -0
  518. package/lib/util/runtime.js +32 -0
  519. package/lib/util/semver.js +15 -0
  520. package/lib/util/serialization.js +2 -0
  521. package/lib/util/smartGrouping.js +8 -0
  522. package/lib/util/source.js +2 -0
  523. package/lib/validateSchema.js +1 -0
  524. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  525. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
  526. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
  527. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  528. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
  529. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +10 -1
  530. package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -0
  531. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
  532. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
  533. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
  534. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +1 -1
  535. package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
  536. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
  537. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  538. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
  539. package/lib/wasm-sync/WebAssemblyParser.js +2 -0
  540. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  541. package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
  542. package/lib/web/FetchCompileWasmPlugin.js +13 -1
  543. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  544. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
  545. package/lib/web/JsonpTemplatePlugin.js +2 -1
  546. package/lib/webpack.js +10 -0
  547. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  548. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
  549. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  550. package/package.json +12 -14
  551. package/schemas/WebpackOptions.check.js +1 -1
  552. package/schemas/WebpackOptions.json +44 -55
  553. package/types.d.ts +4594 -331
@@ -54,17 +54,20 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
54
54
  /** @typedef {import("../ExportsInfo").ExportInfoName} ExportInfoName */
55
55
 
56
56
  /**
57
+ * Defines the shared type used by this module.
57
58
  * @template T
58
59
  * @typedef {import("../util/comparators").Comparator<T>} Comparator<T>
59
60
  */
60
61
 
61
62
  /**
63
+ * Defines the group config type used by this module.
62
64
  * @template I, G
63
65
  * @typedef {import("../util/smartGrouping").GroupConfig<I, G>} GroupConfig
64
66
  */
65
67
 
66
68
  /** @typedef {KnownStatsCompilation & Record<string, EXPECTED_ANY>} StatsCompilation */
67
69
  /**
70
+ * Defines the known stats compilation type used by this module.
68
71
  * @typedef {object} KnownStatsCompilation
69
72
  * @property {EXPECTED_ANY=} env
70
73
  * @property {string=} name
@@ -95,6 +98,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
95
98
 
96
99
  /** @typedef {KnownStatsLogging & Record<string, EXPECTED_ANY>} StatsLogging */
97
100
  /**
101
+ * Defines the known stats logging type used by this module.
98
102
  * @typedef {object} KnownStatsLogging
99
103
  * @property {StatsLoggingEntry[]} entries
100
104
  * @property {number} filteredEntries
@@ -103,6 +107,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
103
107
 
104
108
  /** @typedef {KnownStatsLoggingEntry & Record<string, EXPECTED_ANY>} StatsLoggingEntry */
105
109
  /**
110
+ * Defines the known stats logging entry type used by this module.
106
111
  * @typedef {object} KnownStatsLoggingEntry
107
112
  * @property {string} type
108
113
  * @property {string=} message
@@ -115,6 +120,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
115
120
  /** @typedef {KnownStatsAsset & Record<string, EXPECTED_ANY>} StatsAsset */
116
121
  /** @typedef {string[]} ChunkIdHints */
117
122
  /**
123
+ * Defines the known stats asset type used by this module.
118
124
  * @typedef {object} KnownStatsAsset
119
125
  * @property {string} type
120
126
  * @property {string} name
@@ -136,6 +142,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
136
142
 
137
143
  /** @typedef {KnownStatsChunkGroup & Record<string, EXPECTED_ANY>} StatsChunkGroup */
138
144
  /**
145
+ * Defines the known stats chunk group type used by this module.
139
146
  * @typedef {object} KnownStatsChunkGroup
140
147
  * @property {ChunkName=} name
141
148
  * @property {ChunkId[]=} chunks
@@ -153,6 +160,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
153
160
  /** @typedef {Module[]} ModuleIssuerPath */
154
161
  /** @typedef {KnownStatsModule & Record<string, EXPECTED_ANY>} StatsModule */
155
162
  /**
163
+ * Defines the known stats module type used by this module.
156
164
  * @typedef {object} KnownStatsModule
157
165
  * @property {string=} type
158
166
  * @property {string=} moduleType
@@ -197,6 +205,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
197
205
 
198
206
  /** @typedef {KnownStatsProfile & Record<string, EXPECTED_ANY>} StatsProfile */
199
207
  /**
208
+ * Defines the known stats profile type used by this module.
200
209
  * @typedef {object} KnownStatsProfile
201
210
  * @property {number} total
202
211
  * @property {number} resolving
@@ -212,6 +221,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
212
221
 
213
222
  /** @typedef {KnownStatsModuleIssuer & Record<string, EXPECTED_ANY>} StatsModuleIssuer */
214
223
  /**
224
+ * Defines the known stats module issuer type used by this module.
215
225
  * @typedef {object} KnownStatsModuleIssuer
216
226
  * @property {string} identifier
217
227
  * @property {string} name
@@ -221,6 +231,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
221
231
 
222
232
  /** @typedef {KnownStatsModuleReason & Record<string, EXPECTED_ANY>} StatsModuleReason */
223
233
  /**
234
+ * Defines the known stats module reason type used by this module.
224
235
  * @typedef {object} KnownStatsModuleReason
225
236
  * @property {string | null} moduleIdentifier
226
237
  * @property {string | null} module
@@ -238,6 +249,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
238
249
 
239
250
  /** @typedef {KnownStatsChunk & Record<string, EXPECTED_ANY>} StatsChunk */
240
251
  /**
252
+ * Defines the known stats chunk type used by this module.
241
253
  * @typedef {object} KnownStatsChunk
242
254
  * @property {boolean} rendered
243
255
  * @property {boolean} initial
@@ -264,6 +276,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
264
276
 
265
277
  /** @typedef {KnownStatsChunkOrigin & Record<string, EXPECTED_ANY>} StatsChunkOrigin */
266
278
  /**
279
+ * Defines the known stats chunk origin type used by this module.
267
280
  * @typedef {object} KnownStatsChunkOrigin
268
281
  * @property {string} module
269
282
  * @property {string} moduleIdentifier
@@ -275,6 +288,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
275
288
 
276
289
  /** @typedef {KnownStatsModuleTraceItem & Record<string, EXPECTED_ANY>} StatsModuleTraceItem */
277
290
  /**
291
+ * Defines the known stats module trace item type used by this module.
278
292
  * @typedef {object} KnownStatsModuleTraceItem
279
293
  * @property {string=} originIdentifier
280
294
  * @property {string=} originName
@@ -287,12 +301,14 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
287
301
 
288
302
  /** @typedef {KnownStatsModuleTraceDependency & Record<string, EXPECTED_ANY>} StatsModuleTraceDependency */
289
303
  /**
304
+ * Defines the known stats module trace dependency type used by this module.
290
305
  * @typedef {object} KnownStatsModuleTraceDependency
291
306
  * @property {string=} loc
292
307
  */
293
308
 
294
309
  /** @typedef {KnownStatsError & Record<string, EXPECTED_ANY>} StatsError */
295
310
  /**
311
+ * Defines the known stats error type used by this module.
296
312
  * @typedef {object} KnownStatsError
297
313
  * @property {string} message
298
314
  * @property {string=} chunkName
@@ -315,6 +331,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
315
331
  /** @typedef {Asset & { type: string, related: PreprocessedAsset[] | undefined }} PreprocessedAsset */
316
332
 
317
333
  /**
334
+ * Defines the extractors by option type used by this module.
318
335
  * @template T
319
336
  * @template O
320
337
  * @typedef {Record<string, (object: O, data: T, context: StatsFactoryContext, options: NormalizedStatsOptions, factory: StatsFactory) => void>} ExtractorsByOption
@@ -324,6 +341,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
324
341
  /** @typedef {{ origin: Module, module: Module }} ModuleTrace */
325
342
 
326
343
  /**
344
+ * Defines the simple extractors type used by this module.
327
345
  * @typedef {object} SimpleExtractors
328
346
  * @property {ExtractorsByOption<Compilation, StatsCompilation>} compilation
329
347
  * @property {ExtractorsByOption<PreprocessedAsset, StatsAsset>} asset
@@ -344,6 +362,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
344
362
  */
345
363
 
346
364
  /**
365
+ * Returns array of values.
347
366
  * @template T
348
367
  * @template I
349
368
  * @param {Iterable<T>} items items to select from
@@ -362,6 +381,7 @@ const uniqueArray = (items, selector) => {
362
381
  };
363
382
 
364
383
  /**
384
+ * Unique ordered array.
365
385
  * @template T
366
386
  * @template I
367
387
  * @param {Iterable<T>} items items to select from
@@ -373,12 +393,14 @@ const uniqueOrderedArray = (items, selector, comparator) =>
373
393
  uniqueArray(items, selector).sort(comparator);
374
394
 
375
395
  /**
396
+ * Defines the shared type used by this module.
376
397
  * @template T
377
398
  * @template R
378
399
  * @typedef {{ [P in keyof T]: R }} MappedValues<T, R>
379
400
  */
380
401
 
381
402
  /**
403
+ * Returns mapped object.
382
404
  * @template {object} T
383
405
  * @template {object} R
384
406
  * @param {T} obj object to be mapped
@@ -395,6 +417,7 @@ const mapObject = (obj, fn) => {
395
417
  };
396
418
 
397
419
  /**
420
+ * Count with children.
398
421
  * @template T
399
422
  * @param {Compilation} compilation the compilation
400
423
  * @param {(compilation: Compilation, name: string) => T[]} getItems get items
@@ -998,6 +1021,7 @@ const SIMPLE_EXTRACTORS = {
998
1021
  .create(`${type}${childType}.warnings`, cachedGetWarnings(c), context)
999
1022
  .filter(
1000
1023
  /**
1024
+ * Handles the warnings count callback for this hook.
1001
1025
  * @param {StatsError} warning warning
1002
1026
  * @returns {boolean} result
1003
1027
  */
@@ -1122,6 +1146,7 @@ const SIMPLE_EXTRACTORS = {
1122
1146
  chunkGroupChildren &&
1123
1147
  chunkGroup.getChildrenByOrders(moduleGraph, chunkGraph);
1124
1148
  /**
1149
+ * Returns } Asset object.
1125
1150
  * @param {string} name Name
1126
1151
  * @returns {{ name: string, size: number }} Asset object
1127
1152
  */
@@ -1743,6 +1768,7 @@ const SORTERS = {
1743
1768
  concatComparators(
1744
1769
  compareSelect(
1745
1770
  /**
1771
+ * Handles the callback for this hook.
1746
1772
  * @param {Dependency} x dependency
1747
1773
  * @returns {DependencyLocation} location
1748
1774
  */
@@ -1771,11 +1797,13 @@ const SORTERS = {
1771
1797
  };
1772
1798
 
1773
1799
  /**
1800
+ * Defines the children type used by this module.
1774
1801
  * @template T
1775
1802
  * @typedef {T & { children?: Children<T>[] | undefined, filteredChildren?: number }} Children
1776
1803
  */
1777
1804
 
1778
1805
  /**
1806
+ * Returns item size.
1779
1807
  * @template T
1780
1808
  * @param {Children<T>} item item
1781
1809
  * @returns {number} item size
@@ -1791,6 +1819,7 @@ const getItemSize = (item) =>
1791
1819
  : 1 + getTotalSize(item.children);
1792
1820
 
1793
1821
  /**
1822
+ * Returns total size.
1794
1823
  * @template T
1795
1824
  * @param {Children<T>[]} children children
1796
1825
  * @returns {number} total size
@@ -1804,6 +1833,7 @@ const getTotalSize = (children) => {
1804
1833
  };
1805
1834
 
1806
1835
  /**
1836
+ * Returns total items.
1807
1837
  * @template T
1808
1838
  * @param {Children<T>[]} children children
1809
1839
  * @returns {number} total items
@@ -1822,6 +1852,7 @@ const getTotalItems = (children) => {
1822
1852
  };
1823
1853
 
1824
1854
  /**
1855
+ * Returns collapsed children.
1825
1856
  * @template T
1826
1857
  * @param {Children<T>[]} children children
1827
1858
  * @returns {Children<T>[]} collapsed children
@@ -1847,6 +1878,7 @@ const collapse = (children) => {
1847
1878
  };
1848
1879
 
1849
1880
  /**
1881
+ * Returns result.
1850
1882
  * @template T
1851
1883
  * @param {Children<T>[]} itemsAndGroups item and groups
1852
1884
  * @param {number} max max
@@ -1976,6 +2008,7 @@ const spaceLimited = (
1976
2008
  };
1977
2009
 
1978
2010
  /**
2011
+ * Errors space limit.
1979
2012
  * @param {StatsError[]} errors errors
1980
2013
  * @param {number} max max
1981
2014
  * @returns {[StatsError[], number]} error space limit
@@ -2039,6 +2072,7 @@ const errorsSpaceLimit = (errors, max) => {
2039
2072
  };
2040
2073
 
2041
2074
  /**
2075
+ * Returns } asset size.
2042
2076
  * @template {{ size: number }} T
2043
2077
  * @param {T[]} children children
2044
2078
  * @param {T[]} assets assets
@@ -2055,6 +2089,7 @@ const assetGroup = (children, assets) => {
2055
2089
  /** @typedef {{ size: number, sizes: Record<string, number> }} ModuleGroupBySizeResult */
2056
2090
 
2057
2091
  /**
2092
+ * Returns size and sizes.
2058
2093
  * @template {ModuleGroupBySizeResult} T
2059
2094
  * @param {Children<T>[]} children children
2060
2095
  * @param {KnownStatsModule[]} modules modules
@@ -2077,6 +2112,7 @@ const moduleGroup = (children, modules) => {
2077
2112
  };
2078
2113
 
2079
2114
  /**
2115
+ * Returns } reason group.
2080
2116
  * @template {{ active: boolean }} T
2081
2117
  * @param {Children<T>[]} children children
2082
2118
  * @param {KnownStatsModuleReason[]} reasons reasons
@@ -2098,6 +2134,7 @@ const GROUP_PATH_REGEXP = /(.+)[/\\][^/\\]+?(?:\?|(?: \+ \d+ modules?)?$)/;
2098
2134
  /** @typedef {{ type: string }} BaseGroup */
2099
2135
 
2100
2136
  /**
2137
+ * Defines the base group with children type used by this module.
2101
2138
  * @template T
2102
2139
  * @typedef {BaseGroup & { children: T[], size: number }} BaseGroupWithChildren
2103
2140
  */
@@ -2105,6 +2142,7 @@ const GROUP_PATH_REGEXP = /(.+)[/\\][^/\\]+?(?:\?|(?: \+ \d+ modules?)?$)/;
2105
2142
  /** @typedef {(name: string, asset: StatsAsset) => boolean} AssetFilterItemFn */
2106
2143
 
2107
2144
  /**
2145
+ * Describes the assets groupers shape.
2108
2146
  * @typedef {{
2109
2147
  * _: (groupConfigs: GroupConfig<KnownStatsAsset, BaseGroup & { filteredChildren: number, size: number } | BaseGroupWithChildren<KnownStatsAsset>>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
2110
2148
  * groupAssetsByInfo: (groupConfigs: GroupConfig<KnownStatsAsset, BaseGroupWithChildren<KnownStatsAsset>>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
@@ -2117,6 +2155,7 @@ const GROUP_PATH_REGEXP = /(.+)[/\\][^/\\]+?(?:\?|(?: \+ \d+ modules?)?$)/;
2117
2155
  const ASSETS_GROUPERS = {
2118
2156
  _: (groupConfigs, context, options) => {
2119
2157
  /**
2158
+ * Processes the provided name.
2120
2159
  * @param {keyof KnownStatsAsset} name name
2121
2160
  * @param {boolean=} exclude need exclude?
2122
2161
  */
@@ -2196,6 +2235,7 @@ const ASSETS_GROUPERS = {
2196
2235
  },
2197
2236
  groupAssetsByInfo: (groupConfigs, _context, _options) => {
2198
2237
  /**
2238
+ * Group by asset info flag.
2199
2239
  * @param {string} name name
2200
2240
  */
2201
2241
  const groupByAssetInfoFlag = (name) => {
@@ -2218,6 +2258,7 @@ const ASSETS_GROUPERS = {
2218
2258
  },
2219
2259
  groupAssetsByChunk: (groupConfigs, _context, _options) => {
2220
2260
  /**
2261
+ * Processes the provided name.
2221
2262
  * @param {keyof KnownStatsAsset} name name
2222
2263
  */
2223
2264
  const groupByNames = (name) => {
@@ -2257,6 +2298,7 @@ const ASSETS_GROUPERS = {
2257
2298
  };
2258
2299
 
2259
2300
  /**
2301
+ * Describes the modules groupers shape.
2260
2302
  * @typedef {{
2261
2303
  * _: (groupConfigs: GroupConfig<KnownStatsModule, BaseGroup & { filteredChildren?: number, children?: KnownStatsModule[], size: number, sizes: Record<string, number> }>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
2262
2304
  * excludeModules: (groupConfigs: GroupConfig<KnownStatsModule, BaseGroup & { filteredChildren: number, size: number, sizes: Record<string, number> }>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
@@ -2271,6 +2313,7 @@ const ASSETS_GROUPERS = {
2271
2313
  const MODULES_GROUPERS = (type) => ({
2272
2314
  _: (groupConfigs, context, options) => {
2273
2315
  /**
2316
+ * Processes the provided name.
2274
2317
  * @param {keyof KnownStatsModule} name name
2275
2318
  * @param {string} type type
2276
2319
  * @param {boolean=} exclude need exclude?
@@ -2452,6 +2495,7 @@ const MODULES_GROUPERS = (type) => ({
2452
2495
  });
2453
2496
 
2454
2497
  /**
2498
+ * Defines the module reasons groupers type used by this module.
2455
2499
  * @typedef {{ groupReasonsByOrigin: (groupConfigs: GroupConfig<KnownStatsModuleReason, BaseGroup & { module: string, children: KnownStatsModuleReason[], active: boolean }>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void }} ModuleReasonsGroupers
2456
2500
  */
2457
2501
 
@@ -2493,6 +2537,7 @@ const RESULT_GROUPERS = {
2493
2537
 
2494
2538
  // remove a prefixed "!" that can be specified to reverse sort order
2495
2539
  /**
2540
+ * Normalizes field key.
2496
2541
  * @param {string} field a field name
2497
2542
  * @returns {field} normalized field
2498
2543
  */
@@ -2505,6 +2550,7 @@ const normalizeFieldKey = (field) => {
2505
2550
 
2506
2551
  // if a field is prefixed by a "!" reverse sort order
2507
2552
  /**
2553
+ * Sorts order regular.
2508
2554
  * @param {string} field a field name
2509
2555
  * @returns {boolean} result
2510
2556
  */
@@ -2516,6 +2562,7 @@ const sortOrderRegular = (field) => {
2516
2562
  };
2517
2563
 
2518
2564
  /**
2565
+ * Returns comparators.
2519
2566
  * @template T
2520
2567
  * @param {string | false} field field name
2521
2568
  * @returns {(a: T, b: T) => 0 | 1 | -1} comparators
@@ -2523,6 +2570,7 @@ const sortOrderRegular = (field) => {
2523
2570
  const sortByField = (field) => {
2524
2571
  if (!field) {
2525
2572
  /**
2573
+ * Returns zero.
2526
2574
  * @param {T} a first
2527
2575
  * @param {T} b second
2528
2576
  * @returns {-1 | 0 | 1} zero
@@ -2547,6 +2595,7 @@ const sortByField = (field) => {
2547
2595
  };
2548
2596
 
2549
2597
  /**
2598
+ * Describes the asset sorters shape.
2550
2599
  * @typedef {{
2551
2600
  * assetsSort: (comparators: Comparator<Asset>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
2552
2601
  * _: (comparators: Comparator<Asset>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
@@ -2599,11 +2648,13 @@ const RESULT_SORTERS = {
2599
2648
  };
2600
2649
 
2601
2650
  /**
2651
+ * Defines the extract function type used by this module.
2602
2652
  * @template T
2603
2653
  * @typedef {T extends Record<string, Record<string, infer F>> ? F : never} ExtractFunction
2604
2654
  */
2605
2655
 
2606
2656
  /**
2657
+ * Processes the provided config.
2607
2658
  * @template {Record<string, Record<string, EXPECTED_ANY>>} T
2608
2659
  * @param {T} config the config see above
2609
2660
  * @param {NormalizedStatsOptions} options stats options
@@ -2658,11 +2709,13 @@ const ITEM_NAMES = {
2658
2709
  };
2659
2710
 
2660
2711
  /**
2712
+ * Defines the named object type used by this module.
2661
2713
  * @template T
2662
2714
  * @typedef {{ name: T }} NamedObject
2663
2715
  */
2664
2716
 
2665
2717
  /**
2718
+ * Merges the provided values into a single result.
2666
2719
  * @template {{ name: string }} T
2667
2720
  * @param {T[]} items items to be merged
2668
2721
  * @returns {NamedObject<T>} an object
@@ -2688,7 +2741,7 @@ const PLUGIN_NAME = "DefaultStatsFactoryPlugin";
2688
2741
 
2689
2742
  class DefaultStatsFactoryPlugin {
2690
2743
  /**
2691
- * Apply the plugin
2744
+ * Applies the plugin by registering its hooks on the compiler.
2692
2745
  * @param {Compiler} compiler the compiler instance
2693
2746
  * @returns {void}
2694
2747
  */
@@ -2697,6 +2750,7 @@ class DefaultStatsFactoryPlugin {
2697
2750
  compilation.hooks.statsFactory.tap(
2698
2751
  PLUGIN_NAME,
2699
2752
  /**
2753
+ * Handles the callback logic for this hook.
2700
2754
  * @param {StatsFactory} stats stats factory
2701
2755
  * @param {NormalizedStatsOptions} options stats options
2702
2756
  */
@@ -2758,6 +2812,7 @@ class DefaultStatsFactoryPlugin {
2758
2812
  .tap(
2759
2813
  PLUGIN_NAME,
2760
2814
  /**
2815
+ * Handles the callback logic for this hook.
2761
2816
  * @param {Compilation} comp compilation
2762
2817
  * @param {StatsFactoryContext} options options
2763
2818
  * @returns {StatsFactory | undefined} stats factory
@@ -17,6 +17,7 @@ const RequestShortener = require("../RequestShortener");
17
17
  /** @typedef {import("./DefaultStatsFactoryPlugin").StatsError} StatsError */
18
18
 
19
19
  /**
20
+ * Processes the provided normalized stats option.
20
21
  * @param {Partial<NormalizedStatsOptions>} options options
21
22
  * @param {StatsOptions} defaults default options
22
23
  */
@@ -144,16 +145,19 @@ const NAMED_PRESETS = {
144
145
  };
145
146
 
146
147
  /**
148
+ * Returns true when enabled, otherwise false.
147
149
  * @param {Partial<NormalizedStatsOptions>} all stats options
148
150
  * @returns {boolean} true when enabled, otherwise false
149
151
  */
150
152
  const NORMAL_ON = ({ all }) => all !== false;
151
153
  /**
154
+ * Returns true when enabled, otherwise false.
152
155
  * @param {Partial<NormalizedStatsOptions>} all stats options
153
156
  * @returns {boolean} true when enabled, otherwise false
154
157
  */
155
158
  const NORMAL_OFF = ({ all }) => all === true;
156
159
  /**
160
+ * Returns true when enabled, otherwise false.
157
161
  * @param {Partial<NormalizedStatsOptions>} all stats options
158
162
  * @param {CreateStatsOptionsContext} forToString stats options context
159
163
  * @returns {boolean} true when enabled, otherwise false
@@ -161,6 +165,7 @@ const NORMAL_OFF = ({ all }) => all === true;
161
165
  const ON_FOR_TO_STRING = ({ all }, { forToString }) =>
162
166
  forToString ? all !== false : all === true;
163
167
  /**
168
+ * Returns true when enabled, otherwise false.
164
169
  * @param {Partial<NormalizedStatsOptions>} all stats options
165
170
  * @param {CreateStatsOptionsContext} forToString stats options context
166
171
  * @returns {boolean} true when enabled, otherwise false
@@ -168,6 +173,7 @@ const ON_FOR_TO_STRING = ({ all }, { forToString }) =>
168
173
  const OFF_FOR_TO_STRING = ({ all }, { forToString }) =>
169
174
  forToString ? all === true : all !== false;
170
175
  /**
176
+ * Auto for to string.
171
177
  * @param {Partial<NormalizedStatsOptions>} all stats options
172
178
  * @param {CreateStatsOptionsContext} forToString stats options context
173
179
  * @returns {boolean | "auto"} true when enabled, otherwise false
@@ -285,11 +291,13 @@ const DEFAULTS = {
285
291
  };
286
292
 
287
293
  /**
294
+ * Defines the normalize function type used by this module.
288
295
  * @template T
289
296
  * @typedef {(value: T, ...args: EXPECTED_ANY[]) => boolean} NormalizeFunction
290
297
  */
291
298
 
292
299
  /**
300
+ * Returns normalize fn.
293
301
  * @template {string} T
294
302
  * @param {string | ({ test: (value: T) => boolean }) | NormalizeFunction<T> | boolean} item item to normalize
295
303
  * @returns {NormalizeFunction<T>} normalize fn
@@ -315,6 +323,7 @@ const normalizeFilter = (item) => {
315
323
  /** @typedef {{ [Key in NormalizerKeys]?: (value: StatsOptions[Key]) => KnownNormalizedStatsOptions[Key] }} Normalizers */
316
324
 
317
325
  /**
326
+ * Defines the warning filter fn callback.
318
327
  * @callback WarningFilterFn
319
328
  * @param {StatsError} warning warning
320
329
  * @param {string} warningString warning string
@@ -343,6 +352,7 @@ const NORMALIZER = {
343
352
  }
344
353
  return value.map(
345
354
  /**
355
+ * Handles the warnings filter callback for this hook.
346
356
  * @param {StatsOptions["warningsFilter"]} filter a warning filter
347
357
  * @returns {WarningFilterFn} result
348
358
  */
@@ -380,7 +390,7 @@ const PLUGIN_NAME = "DefaultStatsPresetPlugin";
380
390
 
381
391
  class DefaultStatsPresetPlugin {
382
392
  /**
383
- * Apply the plugin
393
+ * Applies the plugin by registering its hooks on the compiler.
384
394
  * @param {Compiler} compiler the compiler instance
385
395
  * @returns {void}
386
396
  */