webpack 5.106.0 → 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 -4
  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 +71 -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 +11 -3
  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 +14 -5
  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 SortableSet = require("./SortableSet");
15
15
  /** @typedef {RuntimeSpec | boolean} RuntimeCondition */
16
16
 
17
17
  /**
18
+ * Gets entry runtime.
18
19
  * @param {Compilation} compilation the compilation
19
20
  * @param {string} name name of the entry
20
21
  * @param {EntryOptions=} options optionally already received entry options
@@ -54,6 +55,7 @@ const getEntryRuntime = (compilation, name, options) => {
54
55
  };
55
56
 
56
57
  /**
58
+ * Processes the provided runtime.
57
59
  * @param {RuntimeSpec} runtime runtime
58
60
  * @param {(runtime: string | undefined) => void} fn functor
59
61
  * @param {boolean} deterministicOrder enforce a deterministic order
@@ -73,6 +75,7 @@ const forEachRuntime = (runtime, fn, deterministicOrder = false) => {
73
75
  };
74
76
 
75
77
  /**
78
+ * Returns runtime key.
76
79
  * @template T
77
80
  * @param {Exclude<RuntimeSpec, undefined | string>} set set
78
81
  * @returns {string} runtime key
@@ -83,6 +86,7 @@ const getRuntimesKey = (set) => {
83
86
  };
84
87
 
85
88
  /**
89
+ * Returns key of runtimes.
86
90
  * @param {RuntimeSpec} runtime runtime(s)
87
91
  * @returns {string} key of runtimes
88
92
  */
@@ -93,6 +97,7 @@ const getRuntimeKey = (runtime) => {
93
97
  };
94
98
 
95
99
  /**
100
+ * Returns runtime(s).
96
101
  * @param {string} key key of runtimes
97
102
  * @returns {RuntimeSpec} runtime(s)
98
103
  */
@@ -104,6 +109,7 @@ const keyToRuntime = (key) => {
104
109
  };
105
110
 
106
111
  /**
112
+ * Gets runtimes string.
107
113
  * @template T
108
114
  * @param {Exclude<RuntimeSpec, undefined | string>} set set
109
115
  * @returns {string} runtime string
@@ -114,6 +120,7 @@ const getRuntimesString = (set) => {
114
120
  };
115
121
 
116
122
  /**
123
+ * Returns readable version.
117
124
  * @param {RuntimeSpec} runtime runtime(s)
118
125
  * @returns {string} readable version
119
126
  */
@@ -124,6 +131,7 @@ const runtimeToString = (runtime) => {
124
131
  };
125
132
 
126
133
  /**
134
+ * Runtime condition to string.
127
135
  * @param {RuntimeCondition} runtimeCondition runtime condition
128
136
  * @returns {string} readable version
129
137
  */
@@ -134,6 +142,7 @@ const runtimeConditionToString = (runtimeCondition) => {
134
142
  };
135
143
 
136
144
  /**
145
+ * Returns true, when they are equal.
137
146
  * @param {RuntimeSpec} a first
138
147
  * @param {RuntimeSpec} b second
139
148
  * @returns {boolean} true, when they are equal
@@ -164,6 +173,7 @@ const runtimeEqual = (a, b) => {
164
173
  };
165
174
 
166
175
  /**
176
+ * Compares the provided values and returns their ordering.
167
177
  * @param {RuntimeSpec} a first
168
178
  * @param {RuntimeSpec} b second
169
179
  * @returns {-1 | 0 | 1} compare
@@ -184,6 +194,7 @@ const compareRuntime = (a, b) => {
184
194
  };
185
195
 
186
196
  /**
197
+ * Merges the provided values into a single result.
187
198
  * @param {RuntimeSpec} a first
188
199
  * @param {RuntimeSpec} b second
189
200
  * @returns {RuntimeSpec} merged
@@ -225,6 +236,7 @@ const mergeRuntime = (a, b) => {
225
236
  };
226
237
 
227
238
  /**
239
+ * Merges runtime condition.
228
240
  * @param {RuntimeCondition} a first
229
241
  * @param {RuntimeCondition} b second
230
242
  * @param {RuntimeSpec} runtime full runtime
@@ -246,6 +258,7 @@ const mergeRuntimeCondition = (a, b, runtime) => {
246
258
  };
247
259
 
248
260
  /**
261
+ * Merges runtime condition non false.
249
262
  * @param {RuntimeSpec | true} a first
250
263
  * @param {RuntimeSpec | true} b second
251
264
  * @param {RuntimeSpec} runtime full runtime
@@ -265,6 +278,7 @@ const mergeRuntimeConditionNonFalse = (a, b, runtime) => {
265
278
  };
266
279
 
267
280
  /**
281
+ * Merges runtime owned.
268
282
  * @param {RuntimeSpec} a first (may be modified)
269
283
  * @param {RuntimeSpec} b second
270
284
  * @returns {RuntimeSpec} merged
@@ -302,6 +316,7 @@ const mergeRuntimeOwned = (a, b) => {
302
316
  };
303
317
 
304
318
  /**
319
+ * Returns merged.
305
320
  * @param {RuntimeSpec} a first
306
321
  * @param {RuntimeSpec} b second
307
322
  * @returns {RuntimeSpec} merged
@@ -339,6 +354,7 @@ const intersectRuntime = (a, b) => {
339
354
  };
340
355
 
341
356
  /**
357
+ * Returns result.
342
358
  * @param {RuntimeSpec} a first
343
359
  * @param {RuntimeSpec} b second
344
360
  * @returns {RuntimeSpec} result
@@ -384,6 +400,7 @@ const subtractRuntime = (a, b) => {
384
400
  };
385
401
 
386
402
  /**
403
+ * Subtract runtime condition.
387
404
  * @param {RuntimeCondition} a first
388
405
  * @param {RuntimeCondition} b second
389
406
  * @param {RuntimeSpec} runtime runtime
@@ -398,6 +415,7 @@ const subtractRuntimeCondition = (a, b, runtime) => {
398
415
  };
399
416
 
400
417
  /**
418
+ * Returns true/false if filter is constant for all runtimes, otherwise runtimes that are active.
401
419
  * @param {RuntimeSpec} runtime runtime
402
420
  * @param {(runtime?: RuntimeSpec) => boolean} filter filter function
403
421
  * @returns {boolean | RuntimeSpec} true/false if filter is constant for all runtimes, otherwise runtimes that are active
@@ -424,16 +442,19 @@ const filterRuntime = (runtime, filter) => {
424
442
  };
425
443
 
426
444
  /**
445
+ * Defines the runtime spec map inner map type used by this module.
427
446
  * @template T
428
447
  * @typedef {Map<string, T>} RuntimeSpecMapInnerMap
429
448
  */
430
449
 
431
450
  /**
451
+ * Represents RuntimeSpecMap.
432
452
  * @template T
433
453
  * @template [R=T]
434
454
  */
435
455
  class RuntimeSpecMap {
436
456
  /**
457
+ * Creates an instance of RuntimeSpecMap.
437
458
  * @param {RuntimeSpecMap<T, R>=} clone copy form this
438
459
  */
439
460
  constructor(clone) {
@@ -448,6 +469,7 @@ class RuntimeSpecMap {
448
469
  }
449
470
 
450
471
  /**
472
+ * Returns value.
451
473
  * @param {RuntimeSpec} runtime the runtimes
452
474
  * @returns {R | undefined} value
453
475
  */
@@ -467,6 +489,7 @@ class RuntimeSpecMap {
467
489
  }
468
490
 
469
491
  /**
492
+ * Returns true, when the runtime is stored.
470
493
  * @param {RuntimeSpec} runtime the runtimes
471
494
  * @returns {boolean} true, when the runtime is stored
472
495
  */
@@ -484,6 +507,7 @@ class RuntimeSpecMap {
484
507
  }
485
508
 
486
509
  /**
510
+ * Updates default using the provided runtime.
487
511
  * @param {RuntimeSpec} runtime the runtimes
488
512
  * @param {R} value the value
489
513
  */
@@ -515,6 +539,7 @@ class RuntimeSpecMap {
515
539
  }
516
540
 
517
541
  /**
542
+ * Returns the new value.
518
543
  * @param {RuntimeSpec} runtime the runtimes
519
544
  * @param {() => R} computer function to compute the value
520
545
  * @returns {R} the new value
@@ -557,6 +582,7 @@ class RuntimeSpecMap {
557
582
  }
558
583
 
559
584
  /**
585
+ * Processes the provided runtime.
560
586
  * @param {RuntimeSpec} runtime the runtimes
561
587
  */
562
588
  delete(runtime) {
@@ -577,6 +603,7 @@ class RuntimeSpecMap {
577
603
  }
578
604
 
579
605
  /**
606
+ * Processes the provided runtime.
580
607
  * @param {RuntimeSpec} runtime the runtimes
581
608
  * @param {(value: R | undefined) => R} fn function to update the value
582
609
  */
@@ -634,6 +661,7 @@ class RuntimeSpecMap {
634
661
  }
635
662
 
636
663
  /**
664
+ * Returns values.
637
665
  * @returns {IterableIterator<R>} values
638
666
  */
639
667
  values() {
@@ -658,6 +686,7 @@ class RuntimeSpecMap {
658
686
 
659
687
  class RuntimeSpecSet {
660
688
  /**
689
+ * Creates an instance of RuntimeSpecSet.
661
690
  * @param {Iterable<RuntimeSpec>=} iterable iterable
662
691
  */
663
692
  constructor(iterable) {
@@ -671,6 +700,7 @@ class RuntimeSpecSet {
671
700
  }
672
701
 
673
702
  /**
703
+ * Processes the provided runtime.
674
704
  * @param {RuntimeSpec} runtime runtime
675
705
  */
676
706
  add(runtime) {
@@ -678,6 +708,7 @@ class RuntimeSpecSet {
678
708
  }
679
709
 
680
710
  /**
711
+ * Returns true, when the runtime exists.
681
712
  * @param {RuntimeSpec} runtime runtime
682
713
  * @returns {boolean} true, when the runtime exists
683
714
  */
@@ -686,6 +717,7 @@ class RuntimeSpecSet {
686
717
  }
687
718
 
688
719
  /**
720
+ * Returns iterable iterator.
689
721
  * @returns {IterableIterator<RuntimeSpec>} iterable iterator
690
722
  */
691
723
  [Symbol.iterator]() {
@@ -11,11 +11,13 @@
11
11
  /** @typedef {(SemVerRangeItem | SemVerRangeItem[])[]} SemVerRange */
12
12
 
13
13
  /**
14
+ * Returns parsed version.
14
15
  * @param {string} str version string
15
16
  * @returns {SemVerRange} parsed version
16
17
  */
17
18
  const parseVersion = (str) => {
18
19
  /**
20
+ * Returns result.
19
21
  * @param {str} str str
20
22
  * @returns {VersionValue[]} result
21
23
  */
@@ -49,6 +51,7 @@ module.exports.parseVersion = parseVersion;
49
51
 
50
52
  /* eslint-disable eqeqeq */
51
53
  /**
54
+ * Returns true, iff a < b.
52
55
  * @param {string} a version
53
56
  * @param {string} b version
54
57
  * @returns {boolean} true, iff a < b
@@ -98,11 +101,13 @@ const versionLt = (a, b) => {
98
101
  module.exports.versionLt = versionLt;
99
102
 
100
103
  /**
104
+ * Returns parsed range.
101
105
  * @param {string} str range string
102
106
  * @returns {SemVerRange} parsed range
103
107
  */
104
108
  module.exports.parseRange = (str) => {
105
109
  /**
110
+ * Returns result.
106
111
  * @param {string} str str
107
112
  * @returns {VersionValue[]} result
108
113
  */
@@ -114,6 +119,7 @@ module.exports.parseRange = (str) => {
114
119
 
115
120
  // see https://docs.npmjs.com/misc/semver#range-grammar for grammar
116
121
  /**
122
+ * Returns the sem ver range item.
117
123
  * @param {string} str str
118
124
  * @returns {SemVerRangeItem[]}
119
125
  */
@@ -143,6 +149,7 @@ module.exports.parseRange = (str) => {
143
149
  };
144
150
 
145
151
  /**
152
+ * Returns the sem ver range item.
146
153
  *
147
154
  * @param {SemVerRangeItem[]} range range
148
155
  * @returns {SemVerRangeItem[]}
@@ -163,6 +170,7 @@ module.exports.parseRange = (str) => {
163
170
  };
164
171
 
165
172
  /**
173
+ * Returns result.
166
174
  *
167
175
  * @param {SemVerRangeItem[]} range
168
176
  * @returns {SemVerRangeItem[]} result
@@ -172,6 +180,7 @@ module.exports.parseRange = (str) => {
172
180
  };
173
181
 
174
182
  /**
183
+ * Returns the sem ver range.
175
184
  * @param {string} str str
176
185
  * @returns {SemVerRange}
177
186
  */
@@ -230,6 +239,7 @@ module.exports.parseRange = (str) => {
230
239
  };
231
240
 
232
241
  /**
242
+ * Returns result.
233
243
  *
234
244
  * @param {SemVerRangeItem[][]} items items
235
245
  * @param {number} fn fn
@@ -251,6 +261,7 @@ module.exports.parseRange = (str) => {
251
261
  };
252
262
 
253
263
  /**
264
+ * Returns the sem ver range.
254
265
  * @param {string} str str
255
266
  * @returns {SemVerRange}
256
267
  */
@@ -291,6 +302,7 @@ module.exports.parseRange = (str) => {
291
302
  };
292
303
 
293
304
  /**
305
+ * Returns the sem ver range.
294
306
  * @param {string} str str
295
307
  * @returns {SemVerRange}
296
308
  */
@@ -309,6 +321,7 @@ module.exports.parseRange = (str) => {
309
321
 
310
322
  /* eslint-disable eqeqeq */
311
323
  /**
324
+ * Returns the string.
312
325
  * @param {SemVerRange} range
313
326
  * @returns {string}
314
327
  */
@@ -370,6 +383,7 @@ const rangeToString = (range) => {
370
383
  module.exports.rangeToString = rangeToString;
371
384
 
372
385
  /**
386
+ * Returns if version satisfy the range.
373
387
  * @param {SemVerRange} range version range
374
388
  * @param {string} version the version
375
389
  * @returns {boolean} if version satisfy the range
@@ -531,6 +545,7 @@ const satisfy = (range, version) => {
531
545
  module.exports.satisfy = satisfy;
532
546
 
533
547
  /**
548
+ * Returns the string.
534
549
  * @param {SemVerRange | string | number | false | undefined} json
535
550
  * @returns {string}
536
551
  */
@@ -13,6 +13,7 @@ const memoize = require("./memoize");
13
13
  /** @typedef {import("../util/fs").IntermediateFileSystem} IntermediateFileSystem */
14
14
 
15
15
  /**
16
+ * Defines the serializer type used by this module.
16
17
  * @template D, S, C
17
18
  * @typedef {import("../serialization/Serializer")<D, S, C>} Serializer
18
19
  */
@@ -109,6 +110,7 @@ module.exports = {
109
110
  );
110
111
  },
111
112
  /**
113
+ * Creates a file serializer.
112
114
  * @template D, S, C
113
115
  * @param {IntermediateFileSystem} fs filesystem
114
116
  * @param {HashFunction} hashFunction hash function to use
@@ -6,6 +6,7 @@
6
6
  "use strict";
7
7
 
8
8
  /**
9
+ * Defines the group options type used by this module.
9
10
  * @typedef {object} GroupOptions
10
11
  * @property {boolean=} groupChildren
11
12
  * @property {boolean=} force
@@ -13,6 +14,7 @@
13
14
  */
14
15
 
15
16
  /**
17
+ * Defines the group config type used by this module.
16
18
  * @template I
17
19
  * @template G
18
20
  * @typedef {object} GroupConfig
@@ -22,17 +24,20 @@
22
24
  */
23
25
 
24
26
  /**
27
+ * Defines the group type used by this module.
25
28
  * @template I
26
29
  * @template G
27
30
  * @typedef {{ config: GroupConfig<I, G>, name: string, alreadyGrouped: boolean, items: Items<I, G> | undefined }} Group
28
31
  */
29
32
 
30
33
  /**
34
+ * Defines the groups type used by this module.
31
35
  * @template I, G
32
36
  * @typedef {Set<Group<I, G>>} Groups
33
37
  */
34
38
 
35
39
  /**
40
+ * Defines the item with groups type used by this module.
36
41
  * @template I
37
42
  * @template G
38
43
  * @typedef {object} ItemWithGroups
@@ -41,11 +46,13 @@
41
46
  */
42
47
 
43
48
  /**
49
+ * Defines the items type used by this module.
44
50
  * @template T, G
45
51
  * @typedef {Set<ItemWithGroups<T, G>>} Items
46
52
  */
47
53
 
48
54
  /**
55
+ * Returns grouped items.
49
56
  * @template I
50
57
  * @template G
51
58
  * @template R
@@ -90,6 +97,7 @@ const smartGrouping = (items, groupConfigs) => {
90
97
  }
91
98
 
92
99
  /**
100
+ * Returns groups items.
93
101
  * @param {Items<I, G>} itemsWithGroups input items with groups
94
102
  * @returns {(I | G)[]} groups items
95
103
  */
@@ -11,6 +11,7 @@
11
11
  const equalityCache = new WeakMap();
12
12
 
13
13
  /**
14
+ * Checks whether source equal true, when both sources are equal.
14
15
  * @param {Source} a a source
15
16
  * @param {Source} b another source
16
17
  * @returns {boolean} true, when both sources are equal
@@ -29,6 +30,7 @@ const _isSourceEqual = (a, b) => {
29
30
  };
30
31
 
31
32
  /**
33
+ * Checks whether this object is source equal.
32
34
  * @param {Source} a a source
33
35
  * @param {Source} b another source
34
36
  * @returns {boolean} true, when both sources are equal
@@ -69,6 +69,7 @@ const REMOVED = {
69
69
  /* cSpell:enable */
70
70
 
71
71
  /**
72
+ * Processes the provided schema.
72
73
  * @param {Parameters<typeof validate>[0]} schema a json schema
73
74
  * @param {Parameters<typeof validate>[1]} options the options that should be validated
74
75
  * @param {Parameters<typeof validate>[2]=} validationConfiguration configuration for generating errors
@@ -14,6 +14,8 @@
14
14
  const enabledTypes = new WeakMap();
15
15
 
16
16
  /**
17
+ * Returns the set of wasm loading backends that have already been enabled for
18
+ * the compiler.
17
19
  * @param {Compiler} compiler compiler instance
18
20
  * @returns {WasmLoadingTypes} enabled types
19
21
  */
@@ -27,8 +29,14 @@ const getEnabledTypes = (compiler) => {
27
29
  return set;
28
30
  };
29
31
 
32
+ /**
33
+ * Validates and enables named wasm loading backends by applying the plugin
34
+ * implementations that provide their runtime support.
35
+ */
30
36
  class EnableWasmLoadingPlugin {
31
37
  /**
38
+ * Stores the wasm loading backend name that should be enabled for the
39
+ * compiler.
32
40
  * @param {WasmLoadingType} type library type that should be available
33
41
  */
34
42
  constructor(type) {
@@ -37,6 +45,8 @@ class EnableWasmLoadingPlugin {
37
45
  }
38
46
 
39
47
  /**
48
+ * Marks a custom or built-in wasm loading type as enabled for the compiler
49
+ * without applying additional built-in behavior.
40
50
  * @param {Compiler} compiler the compiler instance
41
51
  * @param {WasmLoadingType} type type of library
42
52
  * @returns {void}
@@ -46,6 +56,8 @@ class EnableWasmLoadingPlugin {
46
56
  }
47
57
 
48
58
  /**
59
+ * Verifies that a wasm loading type has been enabled before code generation
60
+ * attempts to use it.
49
61
  * @param {Compiler} compiler the compiler instance
50
62
  * @param {WasmLoadingType} type type of library
51
63
  * @returns {void}
@@ -63,7 +75,9 @@ class EnableWasmLoadingPlugin {
63
75
  }
64
76
 
65
77
  /**
66
- * Apply the plugin
78
+ * Enables the requested wasm loading backend once and applies the
79
+ * environment-specific plugins that provide its parser, generator, and
80
+ * runtime support.
67
81
  * @param {Compiler} compiler the compiler instance
68
82
  * @returns {void}
69
83
  */
@@ -46,6 +46,7 @@ class AsyncWasmCompileRuntimeModule extends RuntimeModule {
46
46
  }
47
47
 
48
48
  /**
49
+ * Generates runtime code for this runtime module.
49
50
  * @returns {string | null} runtime code
50
51
  */
51
52
  generate() {
@@ -47,6 +47,7 @@ class AsyncWasmLoadingRuntimeModule extends RuntimeModule {
47
47
  }
48
48
 
49
49
  /**
50
+ * Generates runtime code for this runtime module.
50
51
  * @returns {string | null} runtime code
51
52
  */
52
53
  generate() {
@@ -16,12 +16,14 @@ const { WEBASSEMBLY_TYPES } = require("../ModuleSourceTypeConstants");
16
16
  /** @typedef {import("../NormalModule")} NormalModule */
17
17
 
18
18
  /**
19
+ * Represents the async web assembly generator runtime component.
19
20
  * @typedef {object} AsyncWebAssemblyGeneratorOptions
20
21
  * @property {boolean=} mangleImports mangle imports
21
22
  */
22
23
 
23
24
  class AsyncWebAssemblyGenerator extends Generator {
24
25
  /**
26
+ * Creates an instance of AsyncWebAssemblyGenerator.
25
27
  * @param {AsyncWebAssemblyGeneratorOptions} options options
26
28
  */
27
29
  constructor(options) {
@@ -31,6 +33,7 @@ class AsyncWebAssemblyGenerator extends Generator {
31
33
  }
32
34
 
33
35
  /**
36
+ * Returns the source types available for this module.
34
37
  * @param {NormalModule} module fresh module
35
38
  * @returns {SourceTypes} available types (do not mutate)
36
39
  */
@@ -39,6 +42,7 @@ class AsyncWebAssemblyGenerator extends Generator {
39
42
  }
40
43
 
41
44
  /**
45
+ * Returns the estimated size for the requested source type.
42
46
  * @param {NormalModule} module the module
43
47
  * @param {SourceType=} type source type
44
48
  * @returns {number} estimate size of the module
@@ -52,6 +56,7 @@ class AsyncWebAssemblyGenerator extends Generator {
52
56
  }
53
57
 
54
58
  /**
59
+ * Generates generated code for this runtime module.
55
60
  * @param {NormalModule} module module for which the code should be generated
56
61
  * @param {GenerateContext} generateContext context for generate
57
62
  * @returns {Source | null} generated code
@@ -61,6 +66,7 @@ class AsyncWebAssemblyGenerator extends Generator {
61
66
  }
62
67
 
63
68
  /**
69
+ * Generates fallback output for the provided error condition.
64
70
  * @param {Error} error the error
65
71
  * @param {NormalModule} module module for which the code should be generated
66
72
  * @param {GenerateContext} generateContext context for generate
@@ -22,11 +22,13 @@ const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDe
22
22
  /** @typedef {import("../NormalModule")} NormalModule */
23
23
 
24
24
  /**
25
+ * Represents the async web assembly javascript generator runtime component.
25
26
  * @typedef {{ request: string, importVar: string, dependency: WebAssemblyImportDependency }} ImportObjRequestItem
26
27
  */
27
28
 
28
29
  class AsyncWebAssemblyJavascriptGenerator extends Generator {
29
30
  /**
31
+ * Returns the source types available for this module.
30
32
  * @param {NormalModule} module fresh module
31
33
  * @returns {SourceTypes} available types (do not mutate)
32
34
  */
@@ -35,6 +37,7 @@ class AsyncWebAssemblyJavascriptGenerator extends Generator {
35
37
  }
36
38
 
37
39
  /**
40
+ * Returns the estimated size for the requested source type.
38
41
  * @param {NormalModule} module the module
39
42
  * @param {SourceType=} type source type
40
43
  * @returns {number} estimate size of the module
@@ -50,6 +53,7 @@ class AsyncWebAssemblyJavascriptGenerator extends Generator {
50
53
  }
51
54
 
52
55
  /**
56
+ * Generates generated code for this runtime module.
53
57
  * @param {NormalModule} module module for which the code should be generated
54
58
  * @param {GenerateContext} generateContext context for generate
55
59
  * @returns {Source | null} generated code
@@ -253,6 +257,7 @@ class AsyncWebAssemblyJavascriptGenerator extends Generator {
253
257
  }
254
258
 
255
259
  /**
260
+ * Generates fallback output for the provided error condition.
256
261
  * @param {Error} error the error
257
262
  * @param {NormalModule} module module for which the code should be generated
258
263
  * @param {GenerateContext} generateContext context for generate
@@ -53,6 +53,7 @@ class AsyncWasmModule extends NormalModule {
53
53
  }
54
54
 
55
55
  /**
56
+ * Returns the unique identifier used to reference this module.
56
57
  * @returns {string} a unique identifier of the module
57
58
  */
58
59
  identifier() {
@@ -79,6 +80,7 @@ class AsyncWasmModule extends NormalModule {
79
80
  }
80
81
 
81
82
  /**
83
+ * Serializes this instance into the provided serializer context.
82
84
  * @param {ObjectSerializerContext} context context
83
85
  */
84
86
  serialize(context) {
@@ -117,6 +119,7 @@ class AsyncWasmModule extends NormalModule {
117
119
  }
118
120
 
119
121
  /**
122
+ * Restores this instance from the provided deserializer context.
120
123
  * @param {ObjectDeserializerContext} context context
121
124
  */
122
125
  deserialize(context) {
@@ -129,6 +132,7 @@ class AsyncWasmModule extends NormalModule {
129
132
  makeSerializable(AsyncWasmModule, "webpack/lib/wasm-async/AsyncWasmModule");
130
133
 
131
134
  /**
135
+ * Defines the web assembly render context type used by this module.
132
136
  * @typedef {object} WebAssemblyRenderContext
133
137
  * @property {Chunk} chunk the chunk
134
138
  * @property {DependencyTemplates} dependencyTemplates the dependency templates
@@ -139,11 +143,13 @@ makeSerializable(AsyncWasmModule, "webpack/lib/wasm-async/AsyncWasmModule");
139
143
  */
140
144
 
141
145
  /**
146
+ * Defines the compilation hooks type used by this module.
142
147
  * @typedef {object} CompilationHooks
143
148
  * @property {SyncWaterfallHook<[Source, Module, WebAssemblyRenderContext]>} renderModuleContent
144
149
  */
145
150
 
146
151
  /**
152
+ * Defines the async web assembly modules plugin options type used by this module.
147
153
  * @typedef {object} AsyncWebAssemblyModulesPluginOptions
148
154
  * @property {boolean=} mangleImports mangle imports
149
155
  */
@@ -155,6 +161,7 @@ const PLUGIN_NAME = "AsyncWebAssemblyModulesPlugin";
155
161
 
156
162
  class AsyncWebAssemblyModulesPlugin {
157
163
  /**
164
+ * Returns the attached hooks.
158
165
  * @param {Compilation} compilation the compilation
159
166
  * @returns {CompilationHooks} the attached hooks
160
167
  */
@@ -179,6 +186,7 @@ class AsyncWebAssemblyModulesPlugin {
179
186
  }
180
187
 
181
188
  /**
189
+ * Creates an instance of AsyncWebAssemblyModulesPlugin.
182
190
  * @param {AsyncWebAssemblyModulesPluginOptions} options options
183
191
  */
184
192
  constructor(options) {
@@ -187,7 +195,7 @@ class AsyncWebAssemblyModulesPlugin {
187
195
  }
188
196
 
189
197
  /**
190
- * Apply the plugin
198
+ * Applies the plugin by registering its hooks on the compiler.
191
199
  * @param {Compiler} compiler the compiler instance
192
200
  * @returns {void}
193
201
  */
@@ -286,6 +294,7 @@ class AsyncWebAssemblyModulesPlugin {
286
294
  }
287
295
 
288
296
  /**
297
+ * Renders the newly generated source from rendering.
289
298
  * @param {Module} module the rendered module
290
299
  * @param {WebAssemblyRenderContext} renderContext options object
291
300
  * @param {CompilationHooks} hooks hooks
@@ -31,6 +31,7 @@ const decoderOpts = {
31
31
 
32
32
  class WebAssemblyParser extends Parser {
33
33
  /**
34
+ * Parses the provided source and updates the parser state.
34
35
  * @param {string | Buffer | PreparsedAst} source the source to parse
35
36
  * @param {ParserState} state the parser state
36
37
  * @returns {ParserState} the parser state