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
@@ -38,6 +38,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
38
38
  /** @typedef {import("../util/deterministicGrouping").Sizes} Sizes */
39
39
 
40
40
  /**
41
+ * Defines the chunk filter fn callback.
41
42
  * @callback ChunkFilterFn
42
43
  * @param {Chunk} chunk
43
44
  * @returns {boolean | undefined}
@@ -49,6 +50,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
49
50
  /** @typedef {number} CountOfRequest */
50
51
 
51
52
  /**
53
+ * Defines the combine size function callback.
52
54
  * @callback CombineSizeFunction
53
55
  * @param {Size} a
54
56
  * @param {Size} b
@@ -60,6 +62,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
60
62
  /** @typedef {Record<SourceType, Size>} SplitChunksSizes */
61
63
 
62
64
  /**
65
+ * Defines the cache group source type used by this module.
63
66
  * @typedef {object} CacheGroupSource
64
67
  * @property {string} key
65
68
  * @property {Priority=} priority
@@ -83,6 +86,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
83
86
  */
84
87
 
85
88
  /**
89
+ * Defines the cache group type used by this module.
86
90
  * @typedef {object} CacheGroup
87
91
  * @property {string} key
88
92
  * @property {Priority} priority
@@ -109,6 +113,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
109
113
  */
110
114
 
111
115
  /**
116
+ * Defines the fallback cache group type used by this module.
112
117
  * @typedef {object} FallbackCacheGroup
113
118
  * @property {ChunkFilterFn} chunksFilter
114
119
  * @property {SplitChunksSizes} minSize
@@ -118,6 +123,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
118
123
  */
119
124
 
120
125
  /**
126
+ * Defines the cache groups context type used by this module.
121
127
  * @typedef {object} CacheGroupsContext
122
128
  * @property {ModuleGraph} moduleGraph
123
129
  * @property {ChunkGraph} chunkGraph
@@ -126,6 +132,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
126
132
  /** @typedef {(module: Module) => OptimizationSplitChunksCacheGroup | OptimizationSplitChunksCacheGroup[] | void} RawGetCacheGroups */
127
133
 
128
134
  /**
135
+ * Defines the get cache groups callback.
129
136
  * @callback GetCacheGroups
130
137
  * @param {Module} module
131
138
  * @param {CacheGroupsContext} context
@@ -133,6 +140,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
133
140
  */
134
141
 
135
142
  /**
143
+ * Defines the get name fn callback.
136
144
  * @callback GetNameFn
137
145
  * @param {Module} module
138
146
  * @param {Chunk[]} chunks
@@ -141,6 +149,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
141
149
  */
142
150
 
143
151
  /**
152
+ * Defines the split chunks options type used by this module.
144
153
  * @typedef {object} SplitChunksOptions
145
154
  * @property {ChunkFilterFn} chunksFilter
146
155
  * @property {DefaultSizeTypes} defaultSizeTypes
@@ -165,6 +174,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
165
174
  /** @typedef {Set<Chunk>} ChunkSet */
166
175
 
167
176
  /**
177
+ * Defines the chunks info item type used by this module.
168
178
  * @typedef {object} ChunksInfoItem
169
179
  * @property {SortableSet<Module>} modules
170
180
  * @property {CacheGroup} cacheGroup
@@ -187,6 +197,7 @@ const deterministicGroupingForModules =
187
197
  const getKeyCache = new WeakMap();
188
198
 
189
199
  /**
200
+ * Returns hashed filename.
190
201
  * @param {string} name a filename to hash
191
202
  * @param {OutputOptions} outputOptions hash function used
192
203
  * @returns {string} hashed filename
@@ -203,6 +214,7 @@ const hashFilename = (name, outputOptions) => {
203
214
  };
204
215
 
205
216
  /**
217
+ * Returns the number of requests.
206
218
  * @param {Chunk} chunk the chunk
207
219
  * @returns {CountOfRequest} the number of requests
208
220
  */
@@ -215,6 +227,7 @@ const getRequests = (chunk) => {
215
227
  };
216
228
 
217
229
  /**
230
+ * Returns result.
218
231
  * @template {object} T
219
232
  * @template {object} R
220
233
  * @param {T} obj obj an object
@@ -235,6 +248,7 @@ const mapObject = (obj, fn) => {
235
248
  };
236
249
 
237
250
  /**
251
+ * Checks whether this object is overlap.
238
252
  * @template T
239
253
  * @param {Set<T>} a set
240
254
  * @param {Set<T>} b other set
@@ -250,6 +264,7 @@ const isOverlap = (a, b) => {
250
264
  const compareModuleIterables = compareIterables(compareModulesByIdentifier);
251
265
 
252
266
  /**
267
+ * Compares the provided values and returns their ordering.
253
268
  * @param {ChunksInfoItem} a item
254
269
  * @param {ChunksInfoItem} b item
255
270
  * @returns {number} compare result
@@ -281,22 +296,26 @@ const compareEntries = (a, b) => {
281
296
  };
282
297
 
283
298
  /**
299
+ * Initial chunk filter.
284
300
  * @param {Chunk} chunk the chunk
285
301
  * @returns {boolean} true, if the chunk is an entry chunk
286
302
  */
287
303
  const INITIAL_CHUNK_FILTER = (chunk) => chunk.canBeInitial();
288
304
  /**
305
+ * Async chunk filter.
289
306
  * @param {Chunk} chunk the chunk
290
307
  * @returns {boolean} true, if the chunk is an async chunk
291
308
  */
292
309
  const ASYNC_CHUNK_FILTER = (chunk) => !chunk.canBeInitial();
293
310
  /**
311
+ * Returns always true.
294
312
  * @param {Chunk} _chunk the chunk
295
313
  * @returns {boolean} always true
296
314
  */
297
315
  const ALL_CHUNK_FILTER = (_chunk) => true;
298
316
 
299
317
  /**
318
+ * Returns normalized representation.
300
319
  * @param {OptimizationSplitChunksSizes | undefined} value the sizes
301
320
  * @param {DefaultSizeTypes} defaultSizeTypes the default size types
302
321
  * @returns {SplitChunksSizes} normalized representation
@@ -314,6 +333,7 @@ const normalizeSizes = (value, defaultSizeTypes) => {
314
333
  };
315
334
 
316
335
  /**
336
+ * Merges the provided values into a single result.
317
337
  * @param {...(SplitChunksSizes | undefined)} sizes the sizes
318
338
  * @returns {SplitChunksSizes} the merged sizes
319
339
  */
@@ -327,6 +347,7 @@ const mergeSizes = (...sizes) => {
327
347
  };
328
348
 
329
349
  /**
350
+ * Checks whether this object contains the size.
330
351
  * @param {SplitChunksSizes} sizes the sizes
331
352
  * @returns {boolean} true, if there are sizes > 0
332
353
  */
@@ -338,6 +359,7 @@ const hasNonZeroSizes = (sizes) => {
338
359
  };
339
360
 
340
361
  /**
362
+ * Returns the combine sizes.
341
363
  * @param {SplitChunksSizes} a first sizes
342
364
  * @param {SplitChunksSizes} b second sizes
343
365
  * @param {CombineSizeFunction} combine a function to combine sizes
@@ -360,6 +382,7 @@ const combineSizes = (a, b, combine) => {
360
382
  };
361
383
 
362
384
  /**
385
+ * Checks true if there are sizes and all existing sizes are at least minSize.
363
386
  * @param {SplitChunksSizes} sizes the sizes
364
387
  * @param {SplitChunksSizes} minSize the min sizes
365
388
  * @returns {boolean} true if there are sizes and all existing sizes are at least `minSize`
@@ -374,6 +397,7 @@ const checkMinSize = (sizes, minSize) => {
374
397
  };
375
398
 
376
399
  /**
400
+ * Checks min size reduction.
377
401
  * @param {SplitChunksSizes} sizes the sizes
378
402
  * @param {SplitChunksSizes} minSizeReduction the min sizes
379
403
  * @param {CountOfChunk} chunkCount number of chunks
@@ -391,6 +415,7 @@ const checkMinSizeReduction = (sizes, minSizeReduction, chunkCount) => {
391
415
  };
392
416
 
393
417
  /**
418
+ * Gets violating min sizes.
394
419
  * @param {SplitChunksSizes} sizes the sizes
395
420
  * @param {SplitChunksSizes} minSize the min sizes
396
421
  * @returns {undefined | SourceTypes} list of size types that are below min size
@@ -410,6 +435,7 @@ const getViolatingMinSizes = (sizes, minSize) => {
410
435
  };
411
436
 
412
437
  /**
438
+ * Returns the total size.
413
439
  * @param {SplitChunksSizes} sizes the sizes
414
440
  * @returns {Size} the total size
415
441
  */
@@ -422,6 +448,7 @@ const totalSize = (sizes) => {
422
448
  };
423
449
 
424
450
  /**
451
+ * Returns a function to get the name of the chunk.
425
452
  * @param {OptimizationSplitChunksCacheGroup["name"]} name the chunk name
426
453
  * @returns {GetNameFn | undefined} a function to get the name of the chunk
427
454
  */
@@ -435,6 +462,7 @@ const normalizeName = (name) => {
435
462
  };
436
463
 
437
464
  /**
465
+ * Normalizes chunks filter.
438
466
  * @param {OptimizationSplitChunksCacheGroup["chunks"]} chunks the chunk filter option
439
467
  * @returns {ChunkFilterFn | undefined} the chunk filter function
440
468
  */
@@ -457,6 +485,7 @@ const normalizeChunksFilter = (chunks) => {
457
485
  };
458
486
 
459
487
  /**
488
+ * Normalizes cache groups.
460
489
  * @param {undefined | GetCacheGroups | Record<string, false | string | RegExp | RawGetCacheGroups | OptimizationSplitChunksCacheGroup>} cacheGroups the cache group options
461
490
  * @param {DefaultSizeTypes} defaultSizeTypes the default size types
462
491
  * @returns {GetCacheGroups} a function to get the cache groups
@@ -517,6 +546,7 @@ const normalizeCacheGroups = (cacheGroups, defaultSizeTypes) => {
517
546
  }
518
547
  }
519
548
  /**
549
+ * Returns the matching cache groups.
520
550
  * @param {Module} module the current module
521
551
  * @param {CacheGroupsContext} context the current context
522
552
  * @returns {CacheGroupSource[]} the matching cache groups
@@ -537,6 +567,7 @@ const normalizeCacheGroups = (cacheGroups, defaultSizeTypes) => {
537
567
  /** @typedef {(module: Module, context: CacheGroupsContext) => boolean} CheckTestFn */
538
568
 
539
569
  /**
570
+ * Checks true, if the module should be selected.
540
571
  * @param {OptimizationSplitChunksCacheGroup["test"]} test test option
541
572
  * @param {Module} module the module
542
573
  * @param {CacheGroupsContext} context context object
@@ -562,6 +593,7 @@ const checkTest = (test, module, context) => {
562
593
  /** @typedef {(type: string) => boolean} CheckModuleTypeFn */
563
594
 
564
595
  /**
596
+ * Checks module type.
565
597
  * @param {OptimizationSplitChunksCacheGroup["type"]} test type option
566
598
  * @param {Module} module the module
567
599
  * @returns {boolean} true, if the module should be selected
@@ -585,6 +617,7 @@ const checkModuleType = (test, module) => {
585
617
  /** @typedef {(layer: string | null) => boolean} CheckModuleLayerFn */
586
618
 
587
619
  /**
620
+ * Checks module layer.
588
621
  * @param {OptimizationSplitChunksCacheGroup["layer"]} test type option
589
622
  * @param {Module} module the module
590
623
  * @returns {boolean} true, if the module should be selected
@@ -606,6 +639,7 @@ const checkModuleLayer = (test, module) => {
606
639
  };
607
640
 
608
641
  /**
642
+ * Creates a cache group source.
609
643
  * @param {OptimizationSplitChunksCacheGroup} options the group options
610
644
  * @param {string} key key of cache group
611
645
  * @param {DefaultSizeTypes} defaultSizeTypes the default size types
@@ -657,6 +691,7 @@ const PLUGIN_NAME = "SplitChunksPlugin";
657
691
 
658
692
  module.exports = class SplitChunksPlugin {
659
693
  /**
694
+ * Creates an instance of SplitChunksPlugin.
660
695
  * @param {OptimizationSplitChunksOptions=} options plugin options
661
696
  */
662
697
  constructor(options = {}) {
@@ -746,6 +781,7 @@ module.exports = class SplitChunksPlugin {
746
781
  }
747
782
 
748
783
  /**
784
+ * Returns the cache group (cached).
749
785
  * @param {CacheGroupSource} cacheGroupSource source
750
786
  * @returns {CacheGroup} the cache group (cached)
751
787
  */
@@ -837,7 +873,7 @@ module.exports = class SplitChunksPlugin {
837
873
  }
838
874
 
839
875
  /**
840
- * Apply the plugin
876
+ * Applies the plugin by registering its hooks on the compiler.
841
877
  * @param {Compiler} compiler the compiler instance
842
878
  * @returns {void}
843
879
  */
@@ -878,6 +914,7 @@ module.exports = class SplitChunksPlugin {
878
914
  index <<= ONE;
879
915
  }
880
916
  /**
917
+ * Returns key of the chunks.
881
918
  * @param {Iterable<Chunk, undefined, undefined>} chunks list of chunks
882
919
  * @returns {bigint | Chunk} key of the chunks
883
920
  */
@@ -898,6 +935,7 @@ module.exports = class SplitChunksPlugin {
898
935
  return key;
899
936
  };
900
937
  /**
938
+ * Returns stringified key.
901
939
  * @param {bigint | Chunk} key key of the chunks
902
940
  * @returns {string} stringified key
903
941
  */
@@ -926,6 +964,7 @@ module.exports = class SplitChunksPlugin {
926
964
  });
927
965
 
928
966
  /**
967
+ * Group chunks by exports.
929
968
  * @param {Module} module the module
930
969
  * @returns {Iterable<Chunk[]>} groups of chunks with equal exports
931
970
  */
@@ -978,6 +1017,7 @@ module.exports = class SplitChunksPlugin {
978
1017
  // to allow to check less sets via isSubset
979
1018
  // (only smaller sets can be subset)
980
1019
  /**
1020
+ * Group chunk sets by count.
981
1021
  * @param {IterableIterator<ChunkSet>} chunkSets set of sets of chunks
982
1022
  * @returns {ChunkSetsByCount} map of sets of chunks by count
983
1023
  */
@@ -1010,6 +1050,7 @@ module.exports = class SplitChunksPlugin {
1010
1050
 
1011
1051
  // Create a list of possible combinations
1012
1052
  /**
1053
+ * Creates a get combinations.
1013
1054
  * @param {ChunkSetsInGraph} chunkSets chunk sets
1014
1055
  * @param {ChunkSet} singleChunkSets single chunks sets
1015
1056
  * @param {ChunkSetsByCount} chunkSetsByCount chunk sets by count
@@ -1066,6 +1107,7 @@ module.exports = class SplitChunksPlugin {
1066
1107
  });
1067
1108
 
1068
1109
  /**
1110
+ * Returns combinations by key.
1069
1111
  * @param {bigint | Chunk} key key
1070
1112
  * @returns {Combinations} combinations by key
1071
1113
  */
@@ -1081,6 +1123,7 @@ module.exports = class SplitChunksPlugin {
1081
1123
  );
1082
1124
  });
1083
1125
  /**
1126
+ * Gets exports combinations.
1084
1127
  * @param {bigint | Chunk} key key
1085
1128
  * @returns {Combinations} exports combinations by key
1086
1129
  */
@@ -1088,6 +1131,7 @@ module.exports = class SplitChunksPlugin {
1088
1131
  getExportsCombinationsFactory()(key);
1089
1132
 
1090
1133
  /**
1134
+ * Defines the selected chunks result type used by this module.
1091
1135
  * @typedef {object} SelectedChunksResult
1092
1136
  * @property {Chunk[]} chunks the list of chunks
1093
1137
  * @property {bigint | Chunk} key a key of the list
@@ -1144,6 +1188,7 @@ module.exports = class SplitChunksPlugin {
1144
1188
  const chunksInfoMap = new Map();
1145
1189
 
1146
1190
  /**
1191
+ * Adds module to chunks info map.
1147
1192
  * @param {CacheGroup} cacheGroup the current cache group
1148
1193
  * @param {number} cacheGroupIndex the index of the cache group of ordering
1149
1194
  * @param {Chunk[]} selectedChunks chunks selected for this module
@@ -1346,6 +1391,7 @@ module.exports = class SplitChunksPlugin {
1346
1391
  logger.time("queue");
1347
1392
 
1348
1393
  /**
1394
+ * Removes modules with source type.
1349
1395
  * @param {ChunksInfoItem} info entry
1350
1396
  * @param {SourceTypes} sourceTypes source types to be removed
1351
1397
  */
@@ -1362,6 +1408,7 @@ module.exports = class SplitChunksPlugin {
1362
1408
  };
1363
1409
 
1364
1410
  /**
1411
+ * Removes min size violating modules.
1365
1412
  * @param {ChunksInfoItem} info entry
1366
1413
  * @returns {boolean} true, if entry become empty
1367
1414
  */
@@ -1392,6 +1439,7 @@ module.exports = class SplitChunksPlugin {
1392
1439
  }
1393
1440
 
1394
1441
  /**
1442
+ * Defines the max size queue item type used by this module.
1395
1443
  * @typedef {object} MaxSizeQueueItem
1396
1444
  * @property {SplitChunksSizes} minSize
1397
1445
  * @property {SplitChunksSizes} maxAsyncSize
@@ -12,6 +12,7 @@ const WebpackError = require("../WebpackError");
12
12
 
13
13
  class AssetsOverSizeLimitWarning extends WebpackError {
14
14
  /**
15
+ * Creates an instance of AssetsOverSizeLimitWarning.
15
16
  * @param {AssetDetails[]} assetsOverSizeLimit the assets
16
17
  * @param {number} assetLimit the size limit
17
18
  */
@@ -12,6 +12,7 @@ const WebpackError = require("../WebpackError");
12
12
 
13
13
  class EntrypointsOverSizeLimitWarning extends WebpackError {
14
14
  /**
15
+ * Creates an instance of EntrypointsOverSizeLimitWarning.
15
16
  * @param {EntrypointDetails[]} entrypoints the entrypoints
16
17
  * @param {number} entrypointLimit the size limit
17
18
  */
@@ -19,12 +19,14 @@ const NoAsyncChunksWarning = require("./NoAsyncChunksWarning");
19
19
  /** @typedef {import("../WebpackError")} WebpackError */
20
20
 
21
21
  /**
22
+ * Defines the asset details type used by this module.
22
23
  * @typedef {object} AssetDetails
23
24
  * @property {string} name
24
25
  * @property {number} size
25
26
  */
26
27
 
27
28
  /**
29
+ * Defines the entrypoint details type used by this module.
28
30
  * @typedef {object} EntrypointDetails
29
31
  * @property {string} name
30
32
  * @property {number} size
@@ -43,6 +45,7 @@ const PLUGIN_NAME = "SizeLimitsPlugin";
43
45
 
44
46
  module.exports = class SizeLimitsPlugin {
45
47
  /**
48
+ * Creates an instance of SizeLimitsPlugin.
46
49
  * @param {PerformanceOptions} options the plugin options
47
50
  */
48
51
  constructor(options) {
@@ -57,6 +60,7 @@ module.exports = class SizeLimitsPlugin {
57
60
  }
58
61
 
59
62
  /**
63
+ * Checks whether this size limits plugin is over size limit.
60
64
  * @param {Entrypoint | ChunkGroup | Source} thing the resource to test
61
65
  * @returns {boolean} true if over the limit
62
66
  */
@@ -65,7 +69,7 @@ module.exports = class SizeLimitsPlugin {
65
69
  }
66
70
 
67
71
  /**
68
- * Apply the plugin
72
+ * Applies the plugin by registering its hooks on the compiler.
69
73
  * @param {Compiler} compiler the compiler instance
70
74
  * @returns {void}
71
75
  */
@@ -80,6 +84,7 @@ module.exports = class SizeLimitsPlugin {
80
84
  const warnings = [];
81
85
 
82
86
  /**
87
+ * Gets entrypoint size.
83
88
  * @param {Entrypoint} entrypoint an entrypoint
84
89
  * @returns {number} the size of the entrypoint
85
90
  */
@@ -116,6 +121,7 @@ module.exports = class SizeLimitsPlugin {
116
121
  }
117
122
 
118
123
  /**
124
+ * Returns result.
119
125
  * @param {Asset["name"]} name the name
120
126
  * @returns {boolean | undefined} result
121
127
  */
@@ -24,6 +24,7 @@ class ChunkPrefetchFunctionRuntimeModule extends RuntimeModule {
24
24
  }
25
25
 
26
26
  /**
27
+ * Generates runtime code for this runtime module.
27
28
  * @returns {string | null} runtime code
28
29
  */
29
30
  generate() {
@@ -15,8 +15,14 @@ const ChunkPreloadTriggerRuntimeModule = require("./ChunkPreloadTriggerRuntimeMo
15
15
 
16
16
  const PLUGIN_NAME = "ChunkPrefetchPreloadPlugin";
17
17
 
18
+ /**
19
+ * Adds runtime support for chunk prefetch and preload relationships discovered
20
+ * in the chunk graph.
21
+ */
18
22
  class ChunkPrefetchPreloadPlugin {
19
23
  /**
24
+ * Registers compilation hooks that emit the runtime modules responsible for
25
+ * scheduling chunk prefetch and preload requests.
20
26
  * @param {Compiler} compiler the compiler
21
27
  * @returns {void}
22
28
  */
@@ -23,6 +23,7 @@ class ChunkPrefetchStartupRuntimeModule extends RuntimeModule {
23
23
  }
24
24
 
25
25
  /**
26
+ * Generates runtime code for this runtime module.
26
27
  * @returns {string | null} runtime code
27
28
  */
28
29
  generate() {
@@ -22,6 +22,7 @@ class ChunkPrefetchTriggerRuntimeModule extends RuntimeModule {
22
22
  }
23
23
 
24
24
  /**
25
+ * Generates runtime code for this runtime module.
25
26
  * @returns {string | null} runtime code
26
27
  */
27
28
  generate() {
@@ -22,6 +22,7 @@ class ChunkPreloadTriggerRuntimeModule extends RuntimeModule {
22
22
  }
23
23
 
24
24
  /**
25
+ * Generates runtime code for this runtime module.
25
26
  * @returns {string | null} runtime code
26
27
  */
27
28
  generate() {
@@ -9,6 +9,7 @@
9
9
  /** @typedef {import("./RuleSetCompiler")} RuleSetCompiler */
10
10
 
11
11
  /**
12
+ * Defines the keys of types type used by this module.
12
13
  * @template T
13
14
  * @template {T[keyof T]} V
14
15
  * @typedef {import("./RuleSetCompiler").KeysOfTypes<T, V>} KeysOfTypes
@@ -20,6 +21,7 @@ const PLUGIN_NAME = "BasicEffectRulePlugin";
20
21
 
21
22
  class BasicEffectRulePlugin {
22
23
  /**
24
+ * Creates an instance of BasicEffectRulePlugin.
23
25
  * @param {BasicEffectRuleKeys} ruleProperty the rule property
24
26
  * @param {string=} effectType the effect type
25
27
  */
@@ -31,6 +33,7 @@ class BasicEffectRulePlugin {
31
33
  }
32
34
 
33
35
  /**
36
+ * Applies the plugin by registering its hooks on the compiler.
34
37
  * @param {RuleSetCompiler} ruleSetCompiler the rule set compiler
35
38
  * @returns {void}
36
39
  */
@@ -11,6 +11,7 @@
11
11
  /** @typedef {import("./RuleSetCompiler")} RuleSetCompiler */
12
12
 
13
13
  /**
14
+ * Defines the keys of types type used by this module.
14
15
  * @template T
15
16
  * @template {T[keyof T]} V
16
17
  * @typedef {import("./RuleSetCompiler").KeysOfTypes<T, V>} KeysOfTypes
@@ -22,6 +23,7 @@ const PLUGIN_NAME = "BasicMatcherRulePlugin";
22
23
 
23
24
  class BasicMatcherRulePlugin {
24
25
  /**
26
+ * Creates an instance of BasicMatcherRulePlugin.
25
27
  * @param {BasicMatcherRuleKeys} ruleProperty the rule property
26
28
  * @param {string=} dataProperty the data property
27
29
  * @param {boolean=} invert if true, inverts the condition
@@ -36,6 +38,7 @@ class BasicMatcherRulePlugin {
36
38
  }
37
39
 
38
40
  /**
41
+ * Applies the plugin by registering its hooks on the compiler.
39
42
  * @param {RuleSetCompiler} ruleSetCompiler the rule set compiler
40
43
  * @returns {void}
41
44
  */
@@ -12,6 +12,7 @@
12
12
  /** @typedef {import("./RuleSetCompiler").RuleConditionFunction} RuleConditionFunction */
13
13
 
14
14
  /**
15
+ * Defines the keys of types type used by this module.
15
16
  * @template T
16
17
  * @template {T[keyof T]} V
17
18
  * @typedef {import("./RuleSetCompiler").KeysOfTypes<T, V>} KeysOfTypes
@@ -24,6 +25,7 @@ const PLUGIN_NAME = "ObjectMatcherRulePlugin";
24
25
 
25
26
  class ObjectMatcherRulePlugin {
26
27
  /**
28
+ * Creates an instance of ObjectMatcherRulePlugin.
27
29
  * @param {ObjectMatcherRuleKeys} ruleProperty the rule property
28
30
  * @param {DataProperty=} dataProperty the data property
29
31
  * @param {RuleConditionFunction=} additionalConditionFunction need to check
@@ -38,6 +40,7 @@ class ObjectMatcherRulePlugin {
38
40
  }
39
41
 
40
42
  /**
43
+ * Applies the plugin by registering its hooks on the compiler.
41
44
  * @param {RuleSetCompiler} ruleSetCompiler the rule set compiler
42
45
  * @returns {void}
43
46
  */