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
@@ -15,6 +15,7 @@ const AsyncWasmLoadingRuntimeModule = require("../wasm-async/AsyncWasmLoadingRun
15
15
  /** @typedef {import("../Compiler")} Compiler */
16
16
 
17
17
  /**
18
+ * Defines the read file compile async wasm plugin options type used by this module.
18
19
  * @typedef {object} ReadFileCompileAsyncWasmPluginOptions
19
20
  * @property {boolean=} import use import?
20
21
  */
@@ -23,6 +24,7 @@ const PLUGIN_NAME = "ReadFileCompileAsyncWasmPlugin";
23
24
 
24
25
  class ReadFileCompileAsyncWasmPlugin {
25
26
  /**
27
+ * Creates an instance of ReadFileCompileAsyncWasmPlugin.
26
28
  * @param {ReadFileCompileAsyncWasmPluginOptions=} options options object
27
29
  */
28
30
  constructor({ import: useImport = false } = {}) {
@@ -31,7 +33,7 @@ class ReadFileCompileAsyncWasmPlugin {
31
33
  }
32
34
 
33
35
  /**
34
- * Apply the plugin
36
+ * Applies the plugin by registering its hooks on the compiler.
35
37
  * @param {Compiler} compiler the compiler instance
36
38
  * @returns {void}
37
39
  */
@@ -39,6 +41,7 @@ class ReadFileCompileAsyncWasmPlugin {
39
41
  compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
40
42
  const globalWasmLoading = compilation.outputOptions.wasmLoading;
41
43
  /**
44
+ * Checks whether this read file compile async wasm plugin is enabled for chunk.
42
45
  * @param {Chunk} chunk chunk
43
46
  * @returns {boolean} true, if wasm loading is enabled for the chunk
44
47
  */
@@ -14,6 +14,7 @@ const WasmChunkLoadingRuntimeModule = require("../wasm-sync/WasmChunkLoadingRunt
14
14
  /** @typedef {import("../Compiler")} Compiler */
15
15
 
16
16
  /**
17
+ * Defines the read file compile wasm plugin options type used by this module.
17
18
  * @typedef {object} ReadFileCompileWasmPluginOptions
18
19
  * @property {boolean=} mangleImports mangle imports
19
20
  * @property {boolean=} import use import?
@@ -23,6 +24,7 @@ const PLUGIN_NAME = "ReadFileCompileWasmPlugin";
23
24
 
24
25
  class ReadFileCompileWasmPlugin {
25
26
  /**
27
+ * Creates an instance of ReadFileCompileWasmPlugin.
26
28
  * @param {ReadFileCompileWasmPluginOptions=} options options object
27
29
  */
28
30
  constructor(options = {}) {
@@ -31,7 +33,7 @@ class ReadFileCompileWasmPlugin {
31
33
  }
32
34
 
33
35
  /**
34
- * Apply the plugin
36
+ * Applies the plugin by registering its hooks on the compiler.
35
37
  * @param {Compiler} compiler the compiler instance
36
38
  * @returns {void}
37
39
  */
@@ -39,6 +41,7 @@ class ReadFileCompileWasmPlugin {
39
41
  compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
40
42
  const globalWasmLoading = compilation.outputOptions.wasmLoading;
41
43
  /**
44
+ * Checks whether this read file compile wasm plugin is enabled for chunk.
42
45
  * @param {Chunk} chunk chunk
43
46
  * @returns {boolean} true, when wasm loading is enabled for the chunk
44
47
  */
@@ -26,6 +26,7 @@ const { getUndoPath } = require("../util/identifier");
26
26
 
27
27
  class RequireChunkLoadingRuntimeModule extends RuntimeModule {
28
28
  /**
29
+ * Creates an instance of RequireChunkLoadingRuntimeModule.
29
30
  * @param {ReadOnlyRuntimeRequirements} runtimeRequirements runtime requirements
30
31
  */
31
32
  constructor(runtimeRequirements) {
@@ -35,6 +36,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
35
36
  }
36
37
 
37
38
  /**
39
+ * Returns generated code.
38
40
  * @private
39
41
  * @param {Chunk} chunk chunk
40
42
  * @param {string} rootOutputDir root output directory
@@ -55,6 +57,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
55
57
  }
56
58
 
57
59
  /**
60
+ * Generates runtime code for this runtime module.
58
61
  * @returns {string | null} runtime code
59
62
  */
60
63
  generate() {
@@ -14,6 +14,7 @@ const truncateArgs = require("../logging/truncateArgs");
14
14
  /* eslint-disable no-console */
15
15
 
16
16
  /**
17
+ * Returns logger function.
17
18
  * @param {object} options options
18
19
  * @param {boolean=} options.colors colors
19
20
  * @param {boolean=} options.appendOnly append only
@@ -28,6 +29,7 @@ module.exports = ({ colors, appendOnly, stream }) => {
28
29
  let currentCollapsed = 0;
29
30
 
30
31
  /**
32
+ * Returns indented string.
31
33
  * @param {string} str string
32
34
  * @param {string} prefix prefix
33
35
  * @param {string} colorPrefix color prefix
@@ -67,6 +69,7 @@ module.exports = ({ colors, appendOnly, stream }) => {
67
69
  };
68
70
 
69
71
  /**
72
+ * Returns function to write with colors.
70
73
  * @template T
71
74
  * @param {string} prefix prefix
72
75
  * @param {string} colorPrefix color prefix
@@ -11,6 +11,7 @@ const { STAGE_ADVANCED } = require("../OptimizationStages");
11
11
  /** @typedef {import("../Compiler")} Compiler */
12
12
 
13
13
  /**
14
+ * Defines the aggressive merging plugin options type used by this module.
14
15
  * @typedef {object} AggressiveMergingPluginOptions
15
16
  * @property {number=} minSizeReduce minimal size reduction to trigger merging
16
17
  */
@@ -19,6 +20,7 @@ const PLUGIN_NAME = "AggressiveMergingPlugin";
19
20
 
20
21
  class AggressiveMergingPlugin {
21
22
  /**
23
+ * Creates an instance of AggressiveMergingPlugin.
22
24
  * @param {AggressiveMergingPluginOptions=} options options object
23
25
  */
24
26
  constructor(options) {
@@ -35,7 +37,7 @@ class AggressiveMergingPlugin {
35
37
  }
36
38
 
37
39
  /**
38
- * Apply the plugin
40
+ * Applies the plugin by registering its hooks on the compiler.
39
41
  * @param {Compiler} compiler the compiler instance
40
42
  * @returns {void}
41
43
  */
@@ -21,6 +21,7 @@ const identifierUtils = require("../util/identifier");
21
21
  /** @typedef {import("../Module")} Module */
22
22
 
23
23
  /**
24
+ * Move module between.
24
25
  * @param {ChunkGraph} chunkGraph the chunk graph
25
26
  * @param {Chunk} oldChunk the old chunk
26
27
  * @param {Chunk} newChunk the new chunk
@@ -32,6 +33,7 @@ const moveModuleBetween = (chunkGraph, oldChunk, newChunk) => (module) => {
32
33
  };
33
34
 
34
35
  /**
36
+ * Checks whether this object is not a entry module.
35
37
  * @param {ChunkGraph} chunkGraph the chunk graph
36
38
  * @param {Chunk} chunk the chunk
37
39
  * @returns {(module: Module) => boolean} filter for entry module
@@ -48,6 +50,7 @@ const PLUGIN_NAME = "AggressiveSplittingPlugin";
48
50
 
49
51
  class AggressiveSplittingPlugin {
50
52
  /**
53
+ * Creates an instance of AggressiveSplittingPlugin.
51
54
  * @param {AggressiveSplittingPluginOptions=} options options object
52
55
  */
53
56
  constructor(options = {}) {
@@ -56,6 +59,7 @@ class AggressiveSplittingPlugin {
56
59
  }
57
60
 
58
61
  /**
62
+ * Was chunk recorded.
59
63
  * @param {Chunk} chunk the chunk to test
60
64
  * @returns {boolean} true if the chunk was recorded
61
65
  */
@@ -64,7 +68,7 @@ class AggressiveSplittingPlugin {
64
68
  }
65
69
 
66
70
  /**
67
- * Apply the plugin
71
+ * Applies the plugin by registering its hooks on the compiler.
68
72
  * @param {Compiler} compiler the compiler instance
69
73
  * @returns {void}
70
74
  */
@@ -138,6 +142,7 @@ class AggressiveSplittingPlugin {
138
142
  const maxSize = this.options.maxSize || 50 * 1024;
139
143
 
140
144
  /**
145
+ * Returns true when applied, otherwise false.
141
146
  * @param {SplitData} splitData split data
142
147
  * @returns {boolean} true when applied, otherwise false
143
148
  */
@@ -795,6 +795,7 @@ class ConcatenatedModule extends Module {
795
795
  }
796
796
 
797
797
  /**
798
+ * Returns the source types this module can generate.
798
799
  * @returns {SourceTypes} types available (do not mutate)
799
800
  */
800
801
  getSourceTypes() {
@@ -806,6 +807,7 @@ class ConcatenatedModule extends Module {
806
807
  }
807
808
 
808
809
  /**
810
+ * Returns the unique identifier used to reference this module.
809
811
  * @returns {string} a unique identifier of the module
810
812
  */
811
813
  identifier() {
@@ -813,6 +815,7 @@ class ConcatenatedModule extends Module {
813
815
  }
814
816
 
815
817
  /**
818
+ * Returns a human-readable identifier for this module.
816
819
  * @param {RequestShortener} requestShortener the request shortener
817
820
  * @returns {string} a user readable identifier of the module
818
821
  */
@@ -823,6 +826,7 @@ class ConcatenatedModule extends Module {
823
826
  }
824
827
 
825
828
  /**
829
+ * Gets the library identifier.
826
830
  * @param {LibIdentOptions} options options
827
831
  * @returns {LibIdent | null} an identifier for library inclusion
828
832
  */
@@ -831,6 +835,7 @@ class ConcatenatedModule extends Module {
831
835
  }
832
836
 
833
837
  /**
838
+ * Returns the path used when matching this module against rule conditions.
834
839
  * @returns {NameForCondition | null} absolute path which should be used for condition matching (usually the resource path)
835
840
  */
836
841
  nameForCondition() {
@@ -838,6 +843,7 @@ class ConcatenatedModule extends Module {
838
843
  }
839
844
 
840
845
  /**
846
+ * Gets side effects connection state.
841
847
  * @param {ModuleGraph} moduleGraph the module graph
842
848
  * @returns {ConnectionState} how this module should be connected to referencing modules when consumed for side-effects only
843
849
  */
@@ -846,6 +852,7 @@ class ConcatenatedModule extends Module {
846
852
  }
847
853
 
848
854
  /**
855
+ * Builds the module using the provided compilation context.
849
856
  * @param {WebpackOptions} options webpack options
850
857
  * @param {Compilation} compilation the compilation
851
858
  * @param {ResolverWithOptions} resolver the resolver
@@ -958,6 +965,7 @@ class ConcatenatedModule extends Module {
958
965
  }
959
966
 
960
967
  /**
968
+ * Returns the estimated size for the requested source type.
961
969
  * @param {string=} type the source type for which the size should be estimated
962
970
  * @returns {number} the estimated size of the module (must be non-zero)
963
971
  */
@@ -1243,6 +1251,7 @@ class ConcatenatedModule extends Module {
1243
1251
  }
1244
1252
 
1245
1253
  /**
1254
+ * Adds the provided file dependencies to the module.
1246
1255
  * @param {FileSystemDependencies} fileDependencies set where file dependencies are added to
1247
1256
  * @param {FileSystemDependencies} contextDependencies set where context dependencies are added to
1248
1257
  * @param {FileSystemDependencies} missingDependencies set where missing dependencies are added to
@@ -1265,6 +1274,7 @@ class ConcatenatedModule extends Module {
1265
1274
  }
1266
1275
 
1267
1276
  /**
1277
+ * Generates code and runtime requirements for this module.
1268
1278
  * @param {CodeGenerationContext} context context for code generation
1269
1279
  * @returns {CodeGenerationResult} result
1270
1280
  */
@@ -2244,6 +2254,7 @@ ${defineGetters}`
2244
2254
  }
2245
2255
 
2246
2256
  /**
2257
+ * Updates the hash with the data contributed by this instance.
2247
2258
  * @param {Hash} hash the hash used to track dependencies
2248
2259
  * @param {UpdateHashContext} context context
2249
2260
  * @returns {void}
@@ -15,13 +15,14 @@ const PLUGIN_NAME = "EnsureChunkConditionsPlugin";
15
15
 
16
16
  class EnsureChunkConditionsPlugin {
17
17
  /**
18
- * Apply the plugin
18
+ * Applies the plugin by registering its hooks on the compiler.
19
19
  * @param {Compiler} compiler the compiler instance
20
20
  * @returns {void}
21
21
  */
22
22
  apply(compiler) {
23
23
  compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => {
24
24
  /**
25
+ * Handles the hook callback for this code path.
25
26
  * @param {Iterable<Chunk>} chunks the chunks
26
27
  */
27
28
  const handler = (chunks) => {
@@ -16,7 +16,7 @@ const PLUGIN_NAME = "FlagIncludedChunksPlugin";
16
16
 
17
17
  class FlagIncludedChunksPlugin {
18
18
  /**
19
- * Apply the plugin
19
+ * Applies the plugin by registering its hooks on the compiler.
20
20
  * @param {Compiler} compiler the compiler instance
21
21
  * @returns {void}
22
22
  */
@@ -46,6 +46,7 @@ class FlagIncludedChunksPlugin {
46
46
  const modulos = Array.from(
47
47
  { length: 31 },
48
48
  /**
49
+ * Handles the callback logic for this hook.
49
50
  * @param {number} x x
50
51
  * @param {number} i i
51
52
  * @returns {number} result
@@ -22,6 +22,7 @@ const JavascriptParser = require("../javascript/JavascriptParser");
22
22
  /** @typedef {(value: boolean | Set<string> | undefined) => void} UsageCallback */
23
23
 
24
24
  /**
25
+ * Defines the state object type used by this module.
25
26
  * @typedef {object} StateObject
26
27
  * @property {InnerGraph} innerGraph
27
28
  * @property {TopLevelSymbol=} currentTopLevelSymbol
@@ -32,6 +33,7 @@ const JavascriptParser = require("../javascript/JavascriptParser");
32
33
 
33
34
  class TopLevelSymbol {
34
35
  /**
36
+ * Creates an instance of TopLevelSymbol.
35
37
  * @param {string} name name of the variable
36
38
  */
37
39
  constructor(name) {
@@ -47,6 +49,7 @@ const parserStateMap = new WeakMap();
47
49
  const topLevelSymbolTag = Symbol("top level symbol");
48
50
 
49
51
  /**
52
+ * Returns state.
50
53
  * @param {ParserState} parserState parser state
51
54
  * @returns {State | undefined} state
52
55
  */
@@ -55,6 +58,7 @@ function getState(parserState) {
55
58
  }
56
59
 
57
60
  /**
61
+ * Processes the provided state.
58
62
  * @param {ParserState} state parser state
59
63
  * @param {TopLevelSymbol | null} symbol the symbol, or null for all symbols
60
64
  * @param {Usage} usage usage data
@@ -79,6 +83,7 @@ module.exports.addUsage = (state, symbol, usage) => {
79
83
  /** @typedef {string | TopLevelSymbol | true} Usage */
80
84
 
81
85
  /**
86
+ * Processes the provided parser.
82
87
  * @param {JavascriptParser} parser the parser
83
88
  * @param {string} name name of variable
84
89
  * @param {Usage} usage usage data
@@ -95,6 +100,7 @@ module.exports.addVariableUsage = (parser, name, usage) => {
95
100
  };
96
101
 
97
102
  /**
103
+ * Processes the provided parser state.
98
104
  * @param {ParserState} parserState parser state
99
105
  * @returns {void}
100
106
  */
@@ -103,6 +109,7 @@ module.exports.bailout = (parserState) => {
103
109
  };
104
110
 
105
111
  /**
112
+ * Processes the provided parser state.
106
113
  * @param {ParserState} parserState parser state
107
114
  * @returns {void}
108
115
  */
@@ -121,6 +128,7 @@ module.exports.enable = (parserState) => {
121
128
  /** @typedef {Set<string> | boolean} UsedByExports */
122
129
 
123
130
  /**
131
+ * Usage callback map.
124
132
  * @param {Dependency} dependency the dependency
125
133
  * @param {UsedByExports | undefined} usedByExports usedByExports info
126
134
  * @param {ModuleGraph} moduleGraph moduleGraph
@@ -150,6 +158,7 @@ module.exports.getDependencyUsedByExportsCondition = (
150
158
  };
151
159
 
152
160
  /**
161
+ * Returns usage data.
153
162
  * @param {ParserState} state parser state
154
163
  * @returns {TopLevelSymbol | void} usage data
155
164
  */
@@ -162,6 +171,7 @@ module.exports.getTopLevelSymbol = (state) => {
162
171
  };
163
172
 
164
173
  /**
174
+ * Processes the provided state.
165
175
  * @param {ParserState} state parser state
166
176
  * @returns {void}
167
177
  */
@@ -260,6 +270,7 @@ module.exports.inferDependencyUsage = (state) => {
260
270
  };
261
271
 
262
272
  /**
273
+ * Returns false, when unused. Otherwise true.
263
274
  * @param {Dependency} dependency the dependency
264
275
  * @param {UsedByExports | undefined} usedByExports usedByExports info
265
276
  * @param {ModuleGraph} moduleGraph moduleGraph
@@ -290,6 +301,7 @@ module.exports.isDependencyUsedByExports = (
290
301
  };
291
302
 
292
303
  /**
304
+ * Returns true, when enabled.
293
305
  * @param {ParserState} parserState parser state
294
306
  * @returns {boolean} true, when enabled
295
307
  */
@@ -299,6 +311,7 @@ module.exports.isEnabled = (parserState) => {
299
311
  };
300
312
 
301
313
  /**
314
+ * Processes the provided state.
302
315
  * @param {ParserState} state parser state
303
316
  * @param {UsageCallback} onUsageCallback on usage callback
304
317
  */
@@ -326,6 +339,7 @@ module.exports.onUsage = (state, onUsageCallback) => {
326
339
  };
327
340
 
328
341
  /**
342
+ * Processes the provided state.
329
343
  * @param {ParserState} state parser state
330
344
  * @param {TopLevelSymbol | undefined} symbol the symbol
331
345
  */
@@ -338,6 +352,7 @@ module.exports.setTopLevelSymbol = (state, symbol) => {
338
352
  };
339
353
 
340
354
  /**
355
+ * Returns symbol.
341
356
  * @param {JavascriptParser} parser parser
342
357
  * @param {string} name name of variable
343
358
  * @returns {TopLevelSymbol | undefined} symbol
@@ -32,7 +32,7 @@ const PLUGIN_NAME = "InnerGraphPlugin";
32
32
 
33
33
  class InnerGraphPlugin {
34
34
  /**
35
- * Apply the plugin
35
+ * Applies the plugin by registering its hooks on the compiler.
36
36
  * @param {Compiler} compiler the compiler instance
37
37
  * @returns {void}
38
38
  */
@@ -48,12 +48,14 @@ class InnerGraphPlugin {
48
48
  );
49
49
 
50
50
  /**
51
+ * Handles the hook callback for this code path.
51
52
  * @param {JavascriptParser} parser the parser
52
53
  * @param {JavascriptParserOptions} parserOptions options
53
54
  * @returns {void}
54
55
  */
55
56
  const handler = (parser, parserOptions) => {
56
57
  /**
58
+ * Processes the provided sup.
57
59
  * @param {Expression} sup sup
58
60
  */
59
61
  const onUsageSuper = (sup) => {
@@ -14,6 +14,7 @@ const { compareChunks } = require("../util/comparators");
14
14
  /** @typedef {import("../Compiler")} Compiler */
15
15
 
16
16
  /**
17
+ * Defines the chunk combination type used by this module.
17
18
  * @typedef {object} ChunkCombination
18
19
  * @property {boolean} deleted this is set to true when combination was removed
19
20
  * @property {number} sizeDiff
@@ -27,6 +28,7 @@ const { compareChunks } = require("../util/comparators");
27
28
  */
28
29
 
29
30
  /**
31
+ * Adds the provided map to this object.
30
32
  * @template K, V
31
33
  * @param {Map<K, Set<V>>} map map
32
34
  * @param {K} key key
@@ -45,6 +47,7 @@ const PLUGIN_NAME = "LimitChunkCountPlugin";
45
47
 
46
48
  class LimitChunkCountPlugin {
47
49
  /**
50
+ * Creates an instance of LimitChunkCountPlugin.
48
51
  * @param {LimitChunkCountPluginOptions=} options options object
49
52
  */
50
53
  constructor(options = { maxChunks: 1 }) {
@@ -53,6 +56,7 @@ class LimitChunkCountPlugin {
53
56
  }
54
57
 
55
58
  /**
59
+ * Applies the plugin by registering its hooks on the compiler.
56
60
  * @param {Compiler} compiler the webpack compiler
57
61
  * @returns {void}
58
62
  */
@@ -105,11 +109,13 @@ class LimitChunkCountPlugin {
105
109
 
106
110
  // Layer 2: ordered by smallest combined size
107
111
  /**
112
+ * Handles the stage callback for this hook.
108
113
  * @param {ChunkCombination} c combination
109
114
  * @returns {number} integrated size
110
115
  */
111
116
  (c) => c.integratedSize,
112
117
  /**
118
+ * Handles the callback logic for this hook.
113
119
  * @param {number} a a
114
120
  * @param {number} b b
115
121
  * @returns {number} result
@@ -118,11 +124,13 @@ class LimitChunkCountPlugin {
118
124
 
119
125
  // Layer 3: ordered by position difference in orderedChunk (-> to be deterministic)
120
126
  /**
127
+ * Handles the callback logic for this hook.
121
128
  * @param {ChunkCombination} c combination
122
129
  * @returns {number} position difference
123
130
  */
124
131
  (c) => c.bIdx - c.aIdx,
125
132
  /**
133
+ * Handles the callback logic for this hook.
126
134
  * @param {number} a a
127
135
  * @param {number} b b
128
136
  * @returns {number} result
@@ -131,6 +139,7 @@ class LimitChunkCountPlugin {
131
139
 
132
140
  // Layer 4: ordered by position in orderedChunk (-> to be deterministic)
133
141
  /**
142
+ * Handles the callback logic for this hook.
134
143
  * @param {ChunkCombination} a a
135
144
  * @param {ChunkCombination} b b
136
145
  * @returns {number} result
@@ -20,11 +20,13 @@ const { compareSelect, compareStringsNumeric } = require("../util/comparators");
20
20
  /** @typedef {import("../util/concatenate").UsedNames} UsedNames */
21
21
 
22
22
  /**
23
+ * Defines the comparator type used by this module.
23
24
  * @template T
24
25
  * @typedef {import("../util/comparators").Comparator<T>} Comparator
25
26
  */
26
27
 
27
28
  /**
29
+ * Checks whether it can mangle.
28
30
  * @param {ExportsInfo} exportsInfo exports info
29
31
  * @returns {boolean} mangle is possible
30
32
  */
@@ -45,6 +47,7 @@ const canMangle = (exportsInfo) => {
45
47
  /** @type {Comparator<ExportInfo>} */
46
48
  const comparator = compareSelect((e) => e.name, compareStringsNumeric);
47
49
  /**
50
+ * Mangle exports info.
48
51
  * @param {boolean} deterministic use deterministic names
49
52
  * @param {ExportsInfo} exportsInfo exports info
50
53
  * @param {boolean | undefined} isNamespace is namespace object
@@ -158,6 +161,7 @@ const PLUGIN_NAME = "MangleExportsPlugin";
158
161
 
159
162
  class MangleExportsPlugin {
160
163
  /**
164
+ * Creates an instance of MangleExportsPlugin.
161
165
  * @param {boolean} deterministic use deterministic names
162
166
  */
163
167
  constructor(deterministic) {
@@ -166,7 +170,7 @@ class MangleExportsPlugin {
166
170
  }
167
171
 
168
172
  /**
169
- * Apply the plugin
173
+ * Applies the plugin by registering its hooks on the compiler.
170
174
  * @param {Compiler} compiler the compiler instance
171
175
  * @returns {void}
172
176
  */
@@ -16,6 +16,7 @@ const PLUGIN_NAME = "MergeDuplicateChunksPlugin";
16
16
 
17
17
  class MergeDuplicateChunksPlugin {
18
18
  /**
19
+ * Creates an instance of MergeDuplicateChunksPlugin.
19
20
  * @param {MergeDuplicateChunksPluginOptions=} options options object
20
21
  */
21
22
  constructor(options = { stage: STAGE_BASIC }) {
@@ -24,6 +25,7 @@ class MergeDuplicateChunksPlugin {
24
25
  }
25
26
 
26
27
  /**
28
+ * Applies the plugin by registering its hooks on the compiler.
27
29
  * @param {Compiler} compiler the compiler
28
30
  * @returns {void}
29
31
  */
@@ -15,6 +15,7 @@ const PLUGIN_NAME = "MinChunkSizePlugin";
15
15
 
16
16
  class MinChunkSizePlugin {
17
17
  /**
18
+ * Creates an instance of MinChunkSizePlugin.
18
19
  * @param {MinChunkSizePluginOptions} options options object
19
20
  */
20
21
  constructor(options) {
@@ -23,7 +24,7 @@ class MinChunkSizePlugin {
23
24
  }
24
25
 
25
26
  /**
26
- * Apply the plugin
27
+ * Applies the plugin by registering its hooks on the compiler.
27
28
  * @param {Compiler} compiler the compiler instance
28
29
  * @returns {void}
29
30
  */
@@ -10,6 +10,7 @@ const WebpackError = require("../WebpackError");
10
10
 
11
11
  class MinMaxSizeWarning extends WebpackError {
12
12
  /**
13
+ * Creates an instance of MinMaxSizeWarning.
13
14
  * @param {string[] | undefined} keys keys
14
15
  * @param {number} minSize minimum size
15
16
  * @param {number} maxSize maximum size