webpack 5.106.1 → 5.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/README.md +2 -2
  2. package/lib/APIPlugin.js +4 -2
  3. package/lib/AsyncDependenciesBlock.js +3 -0
  4. package/lib/AutomaticPrefetchPlugin.js +6 -1
  5. package/lib/BannerPlugin.js +10 -1
  6. package/lib/Cache.js +27 -5
  7. package/lib/CacheFacade.js +26 -0
  8. package/lib/Chunk.js +46 -0
  9. package/lib/ChunkGraph.js +111 -0
  10. package/lib/ChunkGroup.js +57 -13
  11. package/lib/ChunkTemplate.js +9 -0
  12. package/lib/CleanPlugin.js +14 -1
  13. package/lib/CodeGenerationResults.js +19 -0
  14. package/lib/CompatibilityPlugin.js +23 -8
  15. package/lib/Compilation.js +161 -27
  16. package/lib/Compiler.js +41 -17
  17. package/lib/ConcatenationScope.js +24 -1
  18. package/lib/ConditionalInitFragment.js +6 -0
  19. package/lib/ConstPlugin.js +4 -1
  20. package/lib/ContextExclusionPlugin.js +2 -1
  21. package/lib/ContextModule.js +14 -2
  22. package/lib/ContextModuleFactory.js +10 -0
  23. package/lib/ContextReplacementPlugin.js +4 -1
  24. package/lib/DefinePlugin.js +22 -9
  25. package/lib/DependenciesBlock.js +6 -1
  26. package/lib/Dependency.js +48 -4
  27. package/lib/DependencyTemplate.js +7 -1
  28. package/lib/DependencyTemplates.js +4 -0
  29. package/lib/DotenvPlugin.js +3 -0
  30. package/lib/DynamicEntryPlugin.js +3 -1
  31. package/lib/EntryOptionPlugin.js +3 -0
  32. package/lib/EntryPlugin.js +2 -1
  33. package/lib/Entrypoint.js +4 -0
  34. package/lib/EnvironmentPlugin.js +3 -2
  35. package/lib/ErrorHelpers.js +7 -0
  36. package/lib/EvalDevToolModulePlugin.js +3 -1
  37. package/lib/EvalSourceMapDevToolPlugin.js +11 -10
  38. package/lib/ExportsInfo.js +56 -2
  39. package/lib/ExportsInfoApiPlugin.js +2 -1
  40. package/lib/ExternalModule.js +114 -15
  41. package/lib/ExternalModuleFactoryPlugin.js +15 -0
  42. package/lib/ExternalsPlugin.js +2 -1
  43. package/lib/FileSystemInfo.js +291 -71
  44. package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
  45. package/lib/FlagDependencyExportsPlugin.js +4 -1
  46. package/lib/FlagDependencyUsagePlugin.js +5 -1
  47. package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
  48. package/lib/Generator.js +16 -3
  49. package/lib/HotModuleReplacementPlugin.js +35 -9
  50. package/lib/IgnorePlugin.js +4 -2
  51. package/lib/IgnoreWarningsPlugin.js +2 -1
  52. package/lib/InitFragment.js +10 -0
  53. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  54. package/lib/LibraryTemplatePlugin.js +2 -1
  55. package/lib/LoaderOptionsPlugin.js +3 -1
  56. package/lib/LoaderTargetPlugin.js +2 -1
  57. package/lib/MainTemplate.js +15 -0
  58. package/lib/ManifestPlugin.js +9 -2
  59. package/lib/Module.js +101 -19
  60. package/lib/ModuleFactory.js +6 -1
  61. package/lib/ModuleFilenameHelpers.js +3 -0
  62. package/lib/ModuleGraph.js +66 -0
  63. package/lib/ModuleGraphConnection.js +9 -0
  64. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  65. package/lib/ModuleSourceTypeConstants.js +32 -1
  66. package/lib/ModuleTemplate.js +8 -0
  67. package/lib/ModuleTypeConstants.js +12 -3
  68. package/lib/MultiCompiler.js +30 -2
  69. package/lib/MultiStats.js +8 -0
  70. package/lib/MultiWatching.js +3 -0
  71. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  72. package/lib/NodeStuffPlugin.js +11 -2
  73. package/lib/NormalModule.js +43 -33
  74. package/lib/NormalModuleFactory.js +35 -2
  75. package/lib/NormalModuleReplacementPlugin.js +1 -1
  76. package/lib/NullFactory.js +1 -0
  77. package/lib/OptionsApply.js +1 -0
  78. package/lib/Parser.js +3 -1
  79. package/lib/PlatformPlugin.js +2 -1
  80. package/lib/PrefetchPlugin.js +2 -1
  81. package/lib/ProgressPlugin.js +158 -68
  82. package/lib/ProvidePlugin.js +3 -1
  83. package/lib/RawModule.js +12 -0
  84. package/lib/RecordIdsPlugin.js +8 -0
  85. package/lib/RequestShortener.js +8 -0
  86. package/lib/ResolverFactory.js +5 -0
  87. package/lib/RuntimeGlobals.js +6 -5
  88. package/lib/RuntimeModule.js +22 -7
  89. package/lib/RuntimePlugin.js +13 -0
  90. package/lib/RuntimeTemplate.js +35 -1
  91. package/lib/SelfModuleFactory.js +2 -0
  92. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  93. package/lib/SourceMapDevToolPlugin.js +3 -1
  94. package/lib/Stats.js +5 -0
  95. package/lib/Template.js +20 -0
  96. package/lib/TemplatedPathPlugin.js +10 -3
  97. package/lib/UseStrictPlugin.js +2 -1
  98. package/lib/WarnCaseSensitiveModulesPlugin.js +71 -3
  99. package/lib/WarnDeprecatedOptionPlugin.js +2 -2
  100. package/lib/WarnNoModeSetPlugin.js +17 -2
  101. package/lib/WatchIgnorePlugin.js +4 -1
  102. package/lib/Watching.js +16 -3
  103. package/lib/WebpackError.js +3 -74
  104. package/lib/WebpackIsIncludedPlugin.js +3 -1
  105. package/lib/WebpackOptionsApply.js +14 -1
  106. package/lib/WebpackOptionsDefaulter.js +1 -0
  107. package/lib/asset/AssetBytesGenerator.js +12 -2
  108. package/lib/asset/AssetBytesParser.js +1 -0
  109. package/lib/asset/AssetGenerator.js +42 -10
  110. package/lib/asset/AssetModulesPlugin.js +7 -2
  111. package/lib/asset/AssetParser.js +2 -0
  112. package/lib/asset/AssetSourceGenerator.js +12 -2
  113. package/lib/asset/AssetSourceParser.js +1 -0
  114. package/lib/asset/RawDataUrlModule.js +11 -0
  115. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  116. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  117. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  118. package/lib/buildChunkGraph.js +19 -6
  119. package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
  120. package/lib/cache/AddManagedPathsPlugin.js +2 -1
  121. package/lib/cache/IdleFileCachePlugin.js +2 -1
  122. package/lib/cache/MemoryCachePlugin.js +1 -1
  123. package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
  124. package/lib/cache/PackFileCacheStrategy.js +33 -4
  125. package/lib/cache/ResolverCachePlugin.js +10 -1
  126. package/lib/cache/getLazyHashedEtag.js +4 -0
  127. package/lib/cache/mergeEtags.js +2 -0
  128. package/lib/cli.js +33 -1
  129. package/lib/config/browserslistTargetHandler.js +2 -0
  130. package/lib/config/defaults.js +232 -12
  131. package/lib/config/normalization.js +15 -1
  132. package/lib/config/target.js +11 -0
  133. package/lib/container/ContainerEntryDependency.js +2 -0
  134. package/lib/container/ContainerEntryModule.js +12 -0
  135. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  136. package/lib/container/ContainerExposedDependency.js +4 -0
  137. package/lib/container/ContainerPlugin.js +2 -1
  138. package/lib/container/ContainerReferencePlugin.js +2 -1
  139. package/lib/container/FallbackDependency.js +4 -0
  140. package/lib/container/FallbackItemDependency.js +1 -0
  141. package/lib/container/FallbackModule.js +12 -0
  142. package/lib/container/FallbackModuleFactory.js +1 -0
  143. package/lib/container/ModuleFederationPlugin.js +3 -1
  144. package/lib/container/RemoteModule.js +13 -0
  145. package/lib/container/RemoteRuntimeModule.js +1 -0
  146. package/lib/container/RemoteToExternalDependency.js +1 -0
  147. package/lib/container/options.js +7 -0
  148. package/lib/css/CssGenerator.js +336 -100
  149. package/lib/css/CssInjectStyleRuntimeModule.js +45 -42
  150. package/lib/css/CssLoadingRuntimeModule.js +23 -4
  151. package/lib/{CssModule.js → css/CssModule.js} +21 -15
  152. package/lib/css/CssModulesPlugin.js +235 -89
  153. package/lib/css/CssParser.js +616 -261
  154. package/lib/css/walkCssTokens.js +179 -2
  155. package/lib/debug/ProfilingPlugin.js +19 -1
  156. package/lib/dependencies/AMDDefineDependency.js +7 -0
  157. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
  158. package/lib/dependencies/AMDPlugin.js +4 -1
  159. package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
  160. package/lib/dependencies/AMDRequireContextDependency.js +3 -0
  161. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  162. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +14 -1
  163. package/lib/dependencies/AMDRequireDependency.js +4 -0
  164. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  165. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  166. package/lib/dependencies/CachedConstDependency.js +6 -1
  167. package/lib/dependencies/CommonJsDependencyHelpers.js +64 -0
  168. package/lib/dependencies/CommonJsExportRequireDependency.js +62 -10
  169. package/lib/dependencies/CommonJsExportsDependency.js +4 -0
  170. package/lib/dependencies/CommonJsExportsParserPlugin.js +9 -1
  171. package/lib/dependencies/CommonJsFullRequireDependency.js +36 -9
  172. package/lib/dependencies/CommonJsImportsParserPlugin.js +24 -3
  173. package/lib/dependencies/CommonJsPlugin.js +4 -1
  174. package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
  175. package/lib/dependencies/CommonJsRequireDependency.js +70 -4
  176. package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
  177. package/lib/dependencies/ConstDependency.js +6 -1
  178. package/lib/dependencies/ContextDependency.js +9 -2
  179. package/lib/dependencies/ContextDependencyHelpers.js +4 -1
  180. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
  181. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  182. package/lib/dependencies/ContextElementDependency.js +4 -0
  183. package/lib/dependencies/CreateRequireParserPlugin.js +7 -1
  184. package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
  185. package/lib/dependencies/CriticalDependencyWarning.js +2 -1
  186. package/lib/dependencies/CssIcssExportDependency.js +339 -66
  187. package/lib/dependencies/CssIcssImportDependency.js +53 -8
  188. package/lib/dependencies/CssIcssSymbolDependency.js +16 -4
  189. package/lib/dependencies/CssImportDependency.js +12 -0
  190. package/lib/dependencies/CssUrlDependency.js +32 -0
  191. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  192. package/lib/dependencies/DllEntryDependency.js +3 -0
  193. package/lib/dependencies/DynamicExports.js +5 -0
  194. package/lib/dependencies/EntryDependency.js +1 -0
  195. package/lib/dependencies/ExportsInfoDependency.js +6 -0
  196. package/lib/dependencies/ExternalModuleDependency.js +5 -0
  197. package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
  198. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
  199. package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
  200. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  201. package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
  202. package/lib/dependencies/HarmonyDetectionParserPlugin.js +4 -1
  203. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
  204. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +10 -7
  205. package/lib/dependencies/HarmonyExportExpressionDependency.js +27 -14
  206. package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
  207. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +143 -5
  208. package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
  209. package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
  210. package/lib/dependencies/HarmonyExports.js +2 -0
  211. package/lib/dependencies/HarmonyImportDependency.js +21 -2
  212. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +31 -1
  213. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
  214. package/lib/dependencies/HarmonyImportSpecifierDependency.js +18 -3
  215. package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +5 -3
  216. package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
  217. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
  218. package/lib/dependencies/HtmlInlineScriptDependency.js +133 -0
  219. package/lib/dependencies/HtmlInlineStyleDependency.js +101 -0
  220. package/lib/dependencies/HtmlScriptSrcDependency.js +318 -0
  221. package/lib/dependencies/HtmlSourceDependency.js +127 -0
  222. package/lib/dependencies/ImportContextDependency.js +4 -0
  223. package/lib/dependencies/ImportDependency.js +5 -0
  224. package/lib/dependencies/ImportEagerDependency.js +2 -0
  225. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  226. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +4 -1
  227. package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
  228. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  229. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  230. package/lib/dependencies/ImportMetaPlugin.js +6 -0
  231. package/lib/dependencies/ImportParserPlugin.js +9 -2
  232. package/lib/dependencies/ImportPhase.js +7 -3
  233. package/lib/dependencies/ImportPlugin.js +2 -1
  234. package/lib/dependencies/ImportWeakDependency.js +2 -0
  235. package/lib/dependencies/JsonExportsDependency.js +6 -1
  236. package/lib/dependencies/LoaderDependency.js +2 -0
  237. package/lib/dependencies/LoaderImportDependency.js +2 -0
  238. package/lib/dependencies/LoaderPlugin.js +4 -1
  239. package/lib/dependencies/LocalModule.js +4 -0
  240. package/lib/dependencies/LocalModuleDependency.js +4 -0
  241. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  242. package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
  243. package/lib/dependencies/ModuleDependency.js +7 -0
  244. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  245. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  246. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  247. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  248. package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
  249. package/lib/dependencies/NullDependency.js +2 -0
  250. package/lib/dependencies/PrefetchDependency.js +1 -0
  251. package/lib/dependencies/ProvidedDependency.js +6 -1
  252. package/lib/dependencies/PureExpressionDependency.js +7 -1
  253. package/lib/dependencies/RequireContextDependency.js +1 -0
  254. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
  255. package/lib/dependencies/RequireContextPlugin.js +2 -1
  256. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  257. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
  258. package/lib/dependencies/RequireEnsureDependency.js +4 -0
  259. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  260. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  261. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  262. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  263. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +4 -1
  264. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  265. package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
  266. package/lib/dependencies/RequireResolveContextDependency.js +3 -0
  267. package/lib/dependencies/RequireResolveDependency.js +1 -0
  268. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  269. package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
  270. package/lib/dependencies/StaticExportsDependency.js +3 -0
  271. package/lib/dependencies/SystemPlugin.js +5 -2
  272. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  273. package/lib/dependencies/URLContextDependency.js +3 -0
  274. package/lib/dependencies/URLDependency.js +6 -0
  275. package/lib/dependencies/URLPlugin.js +2 -0
  276. package/lib/dependencies/UnsupportedDependency.js +4 -0
  277. package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
  278. package/lib/dependencies/WebAssemblyImportDependency.js +5 -2
  279. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
  280. package/lib/dependencies/WorkerDependency.js +6 -1
  281. package/lib/dependencies/WorkerPlugin.js +11 -3
  282. package/lib/dependencies/getFunctionExpression.js +1 -0
  283. package/lib/dependencies/processExportInfo.js +1 -0
  284. package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +44 -31
  285. package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +7 -4
  286. package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +4 -3
  287. package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +6 -5
  288. package/lib/{DllModule.js → dll/DllModule.js} +35 -24
  289. package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
  290. package/lib/{DllPlugin.js → dll/DllPlugin.js} +8 -6
  291. package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +23 -18
  292. package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +13 -10
  293. package/lib/electron/ElectronTargetPlugin.js +2 -1
  294. package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
  295. package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
  296. package/lib/errors/BuildCycleError.js +1 -1
  297. package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
  298. package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
  299. package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
  300. package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +4 -2
  301. package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +4 -4
  302. package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +11 -5
  303. package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +6 -4
  304. package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +4 -3
  305. package/lib/errors/JSONParseError.js +114 -0
  306. package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +8 -5
  307. package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +2 -2
  308. package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +5 -4
  309. package/lib/{ModuleError.js → errors/ModuleError.js} +7 -5
  310. package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +1 -1
  311. package/lib/{ModuleNotFoundError.js → errors/ModuleNotFoundError.js} +3 -2
  312. package/lib/{ModuleParseError.js → errors/ModuleParseError.js} +11 -6
  313. package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +2 -1
  314. package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +2 -1
  315. package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +8 -5
  316. package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +5 -4
  317. package/lib/errors/NonErrorEmittedError.js +28 -0
  318. package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +8 -2
  319. package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
  320. package/lib/errors/WebpackError.js +84 -0
  321. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  322. package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
  323. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
  324. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
  325. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  326. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  327. package/lib/hmr/LazyCompilationPlugin.js +20 -1
  328. package/lib/hmr/lazyCompilationBackend.js +2 -0
  329. package/lib/html/HtmlGenerator.js +379 -0
  330. package/lib/html/HtmlModulesPlugin.js +433 -0
  331. package/lib/html/HtmlParser.js +1489 -0
  332. package/lib/html/walkHtmlTokens.js +2733 -0
  333. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  334. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  335. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  336. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  337. package/lib/ids/IdHelpers.js +22 -1
  338. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  339. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  340. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  341. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  342. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  343. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  344. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  345. package/lib/index.js +39 -15
  346. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  347. package/lib/javascript/BasicEvaluatedExpression.js +4 -2
  348. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  349. package/lib/javascript/ChunkHelpers.js +1 -0
  350. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  351. package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
  352. package/lib/javascript/JavascriptGenerator.js +10 -0
  353. package/lib/javascript/JavascriptModulesPlugin.js +112 -9
  354. package/lib/javascript/JavascriptParser.js +360 -16
  355. package/lib/javascript/JavascriptParserHelpers.js +7 -1
  356. package/lib/javascript/StartupHelpers.js +5 -0
  357. package/lib/json/JsonData.js +5 -0
  358. package/lib/json/JsonGenerator.js +21 -0
  359. package/lib/json/JsonModulesPlugin.js +1 -1
  360. package/lib/json/JsonParser.js +14 -25
  361. package/lib/library/AbstractLibraryPlugin.js +17 -2
  362. package/lib/library/AmdLibraryPlugin.js +8 -0
  363. package/lib/library/AssignLibraryPlugin.js +16 -0
  364. package/lib/library/EnableLibraryPlugin.js +8 -2
  365. package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
  366. package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +1 -1
  367. package/lib/library/JsonpLibraryPlugin.js +8 -0
  368. package/lib/library/ModuleLibraryPlugin.js +86 -1
  369. package/lib/library/SystemLibraryPlugin.js +8 -0
  370. package/lib/library/UmdLibraryPlugin.js +16 -0
  371. package/lib/logging/Logger.js +17 -0
  372. package/lib/logging/createConsoleLogger.js +7 -0
  373. package/lib/logging/runtime.js +2 -0
  374. package/lib/logging/truncateArgs.js +2 -0
  375. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  376. package/lib/node/NodeEnvironmentPlugin.js +7 -3
  377. package/lib/node/NodeSourcePlugin.js +1 -1
  378. package/lib/node/NodeTargetPlugin.js +2 -1
  379. package/lib/node/NodeTemplatePlugin.js +3 -1
  380. package/lib/node/NodeWatchFileSystem.js +2 -0
  381. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
  382. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
  383. package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
  384. package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
  385. package/lib/node/nodeConsole.js +116 -64
  386. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  387. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  388. package/lib/optimize/ConcatenatedModule.js +62 -6
  389. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  390. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
  391. package/lib/optimize/InnerGraph.js +16 -1
  392. package/lib/optimize/InnerGraphPlugin.js +14 -2
  393. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  394. package/lib/optimize/MangleExportsPlugin.js +5 -1
  395. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  396. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  397. package/lib/optimize/MinMaxSizeWarning.js +5 -4
  398. package/lib/optimize/ModuleConcatenationPlugin.js +36 -8
  399. package/lib/optimize/RealContentHashPlugin.js +104 -26
  400. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  401. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  402. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  403. package/lib/optimize/SideEffectsFlagPlugin.js +118 -4
  404. package/lib/optimize/SplitChunksPlugin.js +50 -2
  405. package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
  406. package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
  407. package/lib/performance/NoAsyncChunksWarning.js +5 -3
  408. package/lib/performance/SizeLimitsPlugin.js +8 -2
  409. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  410. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
  411. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  412. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
  413. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
  414. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  415. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  416. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  417. package/lib/rules/RuleSetCompiler.js +18 -0
  418. package/lib/rules/UseEffectRulePlugin.js +10 -3
  419. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
  420. package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
  421. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  422. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  423. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
  424. package/lib/runtime/CompatRuntimeModule.js +2 -0
  425. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
  426. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  427. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  428. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
  429. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  430. package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
  431. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  432. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  433. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
  434. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  435. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
  436. package/lib/runtime/HelperRuntimeModule.js +5 -0
  437. package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
  438. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +121 -13
  439. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
  440. package/lib/runtime/NonceRuntimeModule.js +1 -0
  441. package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
  442. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  443. package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
  444. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  445. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +35 -0
  446. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  447. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
  448. package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
  449. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  450. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  451. package/lib/schemes/DataUriPlugin.js +14 -2
  452. package/lib/schemes/FileUriPlugin.js +1 -1
  453. package/lib/schemes/HttpUriPlugin.js +43 -1
  454. package/lib/schemes/VirtualUrlPlugin.js +7 -2
  455. package/lib/serialization/AggregateErrorSerializer.js +2 -0
  456. package/lib/serialization/ArraySerializer.js +2 -0
  457. package/lib/serialization/BinaryMiddleware.js +20 -1
  458. package/lib/serialization/DateObjectSerializer.js +2 -0
  459. package/lib/serialization/ErrorObjectSerializer.js +3 -0
  460. package/lib/serialization/FileMiddleware.js +21 -0
  461. package/lib/serialization/MapObjectSerializer.js +2 -0
  462. package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
  463. package/lib/serialization/ObjectMiddleware.js +23 -0
  464. package/lib/serialization/PlainObjectSerializer.js +7 -0
  465. package/lib/serialization/RegExpObjectSerializer.js +2 -0
  466. package/lib/serialization/Serializer.js +5 -0
  467. package/lib/serialization/SerializerMiddleware.js +14 -2
  468. package/lib/serialization/SetObjectSerializer.js +2 -0
  469. package/lib/serialization/SingleItemMiddleware.js +3 -0
  470. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  471. package/lib/sharing/ConsumeSharedModule.js +15 -0
  472. package/lib/sharing/ConsumeSharedPlugin.js +8 -3
  473. package/lib/sharing/ConsumeSharedRuntimeModule.js +9 -4
  474. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  475. package/lib/sharing/ProvideSharedDependency.js +4 -0
  476. package/lib/sharing/ProvideSharedModule.js +12 -1
  477. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  478. package/lib/sharing/ProvideSharedPlugin.js +5 -2
  479. package/lib/sharing/SharePlugin.js +2 -1
  480. package/lib/sharing/ShareRuntimeModule.js +1 -0
  481. package/lib/sharing/resolveMatchedConfigs.js +4 -1
  482. package/lib/sharing/utils.js +8 -0
  483. package/lib/stats/DefaultStatsFactoryPlugin.js +58 -3
  484. package/lib/stats/DefaultStatsPresetPlugin.js +12 -2
  485. package/lib/stats/DefaultStatsPrinterPlugin.js +38 -2
  486. package/lib/stats/StatsFactory.js +13 -1
  487. package/lib/stats/StatsPrinter.js +7 -0
  488. package/lib/typescript/TypeScriptPlugin.js +210 -0
  489. package/lib/url/URLParserPlugin.js +8 -2
  490. package/lib/util/AppendOnlyStackedSet.js +15 -0
  491. package/lib/util/ArrayHelpers.js +1 -0
  492. package/lib/util/ArrayQueue.js +10 -5
  493. package/lib/util/AsyncQueue.js +22 -2
  494. package/lib/util/Hash.js +2 -2
  495. package/lib/util/IterableHelpers.js +3 -0
  496. package/lib/util/LazyBucketSortedSet.js +21 -0
  497. package/lib/util/LazySet.js +39 -0
  498. package/lib/util/LocConverter.js +53 -0
  499. package/lib/util/ParallelismFactorCalculator.js +1 -0
  500. package/lib/util/Queue.js +6 -3
  501. package/lib/util/Semaphore.js +14 -1
  502. package/lib/util/SetHelpers.js +3 -0
  503. package/lib/util/SortableSet.js +7 -1
  504. package/lib/util/StackedCacheMap.js +20 -3
  505. package/lib/util/StackedMap.js +45 -0
  506. package/lib/util/StringXor.js +1 -1
  507. package/lib/util/TupleQueue.js +7 -3
  508. package/lib/util/TupleSet.js +13 -0
  509. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  510. package/lib/util/WeakTupleMap.js +33 -0
  511. package/lib/util/binarySearchBounds.js +1 -0
  512. package/lib/util/cleverMerge.js +19 -2
  513. package/lib/util/comparators.js +34 -3
  514. package/lib/util/compileBooleanMatcher.js +9 -0
  515. package/lib/util/concatenate.js +9 -3
  516. package/lib/util/conventions.js +46 -1
  517. package/lib/util/createMappings.js +118 -0
  518. package/lib/util/dataURL.js +1 -0
  519. package/lib/util/deprecation.js +19 -0
  520. package/lib/util/deterministicGrouping.js +20 -0
  521. package/lib/util/extractSourceMap.js +1 -0
  522. package/lib/util/extractUrlAndGlobal.js +1 -0
  523. package/lib/util/findGraphRoots.js +5 -0
  524. package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
  525. package/lib/{SizeFormatHelpers.js → util/formatSize.js} +4 -1
  526. package/lib/util/fs.js +71 -8
  527. package/lib/util/generateDebugId.js +1 -0
  528. package/lib/util/hash/BatchedHash.js +1 -0
  529. package/lib/util/hash/BulkUpdateHash.js +1 -0
  530. package/lib/util/hash/hash-digest.js +8 -0
  531. package/lib/util/hash/md4.js +1 -1
  532. package/lib/util/hash/wasm-hash.js +5 -0
  533. package/lib/util/hash/xxhash64.js +1 -1
  534. package/lib/util/identifier.js +67 -0
  535. package/lib/util/internalSerializables.js +35 -19
  536. package/lib/util/magicComment.js +10 -6
  537. package/lib/util/makeSerializable.js +6 -0
  538. package/lib/util/memoize.js +2 -0
  539. package/lib/util/mimeTypes.js +176 -0
  540. package/lib/util/nonNumericOnlyHash.js +1 -0
  541. package/lib/util/parseJson.js +41 -0
  542. package/lib/util/processAsyncTree.js +8 -0
  543. package/lib/util/property.js +1 -0
  544. package/lib/util/registerExternalSerializer.js +20 -0
  545. package/lib/util/removeBOM.js +1 -0
  546. package/lib/util/runtime.js +32 -0
  547. package/lib/util/semver.js +15 -0
  548. package/lib/util/serialization.js +2 -0
  549. package/lib/util/smartGrouping.js +8 -0
  550. package/lib/util/source.js +23 -0
  551. package/lib/util/topologicalSort.js +69 -0
  552. package/lib/validateSchema.js +1 -0
  553. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  554. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
  555. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
  556. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  557. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
  558. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +12 -3
  559. package/lib/wasm-async/AsyncWebAssemblyParser.js +2 -1
  560. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
  561. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +6 -3
  562. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
  563. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +2 -2
  564. package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
  565. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +7 -3
  566. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  567. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
  568. package/lib/wasm-sync/WebAssemblyParser.js +2 -0
  569. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  570. package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
  571. package/lib/web/FetchCompileWasmPlugin.js +13 -1
  572. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  573. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
  574. package/lib/web/JsonpTemplatePlugin.js +2 -1
  575. package/lib/webpack.js +13 -1
  576. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  577. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
  578. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  579. package/package.json +31 -31
  580. package/schemas/WebpackOptions.check.js +1 -1
  581. package/schemas/WebpackOptions.json +161 -57
  582. package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
  583. package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
  584. package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
  585. package/schemas/plugins/ProgressPlugin.check.js +1 -1
  586. package/schemas/plugins/ProgressPlugin.json +22 -0
  587. package/schemas/plugins/{DllReferencePlugin.check.d.ts → css/CssAutoOrModuleParserOptions.check.d.ts} +1 -1
  588. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
  589. package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
  590. package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
  591. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
  592. package/types.d.ts +5325 -353
  593. package/lib/CaseSensitiveModulesWarning.js +0 -72
  594. package/lib/GraphHelpers.js +0 -46
  595. package/lib/NoModeWarning.js +0 -23
  596. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
  597. /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
  598. /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
  599. /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
  600. /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
@@ -22,15 +22,17 @@ const util = require("util");
22
22
  /** @typedef {import("../../declarations/WebpackOptions").PluginsNormalized} PluginsNormalized */
23
23
  /** @typedef {import("../../declarations/WebpackOptions").WebpackOptions} WebpackOptions */
24
24
  /** @typedef {import("../../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptionsNormalized */
25
- /** @typedef {import("../WebpackError")} WebpackError */
25
+ /** @typedef {import("../errors/WebpackError")} WebpackError */
26
26
 
27
27
  /**
28
+ * Defines the webpack options interception type used by this module.
28
29
  * @typedef {object} WebpackOptionsInterception
29
30
  * @property {WebpackOptionsNormalized["devtool"]=} devtool
30
31
  */
31
32
 
32
33
  const handledDeprecatedNoEmitOnErrors = util.deprecate(
33
34
  /**
35
+ * Handles the callback logic for this hook.
34
36
  * @param {boolean} noEmitOnErrors no emit on errors
35
37
  * @param {boolean | undefined} emitOnErrors emit on errors
36
38
  * @returns {boolean} emit on errors
@@ -48,6 +50,7 @@ const handledDeprecatedNoEmitOnErrors = util.deprecate(
48
50
  );
49
51
 
50
52
  /**
53
+ * Returns result value.
51
54
  * @template T
52
55
  * @template R
53
56
  * @param {T | undefined} value value or not
@@ -58,12 +61,14 @@ const nestedConfig = (value, fn) =>
58
61
  value === undefined ? fn(/** @type {T} */ ({})) : fn(value);
59
62
 
60
63
  /**
64
+ * Returns result value.
61
65
  * @template T
62
66
  * @param {T | undefined} value value or not
63
67
  * @returns {T} result value
64
68
  */
65
69
  const cloneObject = (value) => /** @type {T} */ ({ ...value });
66
70
  /**
71
+ * Optional nested config.
67
72
  * @template T
68
73
  * @template R
69
74
  * @param {T | undefined} value value or not
@@ -74,6 +79,7 @@ const optionalNestedConfig = (value, fn) =>
74
79
  value === undefined ? undefined : fn(value);
75
80
 
76
81
  /**
82
+ * Returns cloned value.
77
83
  * @template T
78
84
  * @template R
79
85
  * @param {T[] | undefined} value array or not
@@ -83,6 +89,7 @@ const optionalNestedConfig = (value, fn) =>
83
89
  const nestedArray = (value, fn) => (Array.isArray(value) ? fn(value) : fn([]));
84
90
 
85
91
  /**
92
+ * Optional nested array.
86
93
  * @template T
87
94
  * @template R
88
95
  * @param {T[] | undefined} value array or not
@@ -93,6 +100,7 @@ const optionalNestedArray = (value, fn) =>
93
100
  Array.isArray(value) ? fn(value) : undefined;
94
101
 
95
102
  /**
103
+ * Keyed nested config.
96
104
  * @template T
97
105
  * @template R
98
106
  * @param {Record<string, T> | undefined} value value or not
@@ -126,6 +134,7 @@ const keyedNestedConfig = (value, fn, customKeys) => {
126
134
  };
127
135
 
128
136
  /**
137
+ * Gets normalized webpack options.
129
138
  * @param {WebpackOptions} config input config
130
139
  * @returns {WebpackOptionsNormalized} normalized options
131
140
  */
@@ -359,6 +368,8 @@ const getNormalizedWebpackOptions = (config) => ({
359
368
  hotUpdateChunkFilename: output.hotUpdateChunkFilename,
360
369
  hotUpdateGlobal: output.hotUpdateGlobal,
361
370
  hotUpdateMainFilename: output.hotUpdateMainFilename,
371
+ htmlChunkFilename: output.htmlChunkFilename,
372
+ htmlFilename: output.htmlFilename,
362
373
  ignoreBrowserWarnings: output.ignoreBrowserWarnings,
363
374
  iife: output.iife,
364
375
  importFunctionName: output.importFunctionName,
@@ -500,6 +511,7 @@ const getNormalizedWebpackOptions = (config) => ({
500
511
  });
501
512
 
502
513
  /**
514
+ * Gets normalized entry static.
503
515
  * @param {EntryStatic} entry static entry options
504
516
  * @returns {EntryStaticNormalized} normalized static entry options
505
517
  */
@@ -562,6 +574,7 @@ const getNormalizedEntryStatic = (entry) => {
562
574
  };
563
575
 
564
576
  /**
577
+ * Gets normalized optimization runtime chunk.
565
578
  * @param {OptimizationRuntimeChunk=} runtimeChunk runtimeChunk option
566
579
  * @returns {OptimizationRuntimeChunkNormalized=} normalized runtimeChunk option
567
580
  */
@@ -589,6 +602,7 @@ const getNormalizedOptimizationRuntimeChunk = (runtimeChunk) => {
589
602
  };
590
603
 
591
604
  /**
605
+ * Apply webpack options interception.
592
606
  * @param {WebpackOptionsNormalized} options options to be intercepted
593
607
  * @returns {{ options: WebpackOptionsNormalized, interception?: WebpackOptionsInterception }} options and interception
594
608
  */
@@ -12,6 +12,7 @@ const getBrowserslistTargetHandler = memoize(() =>
12
12
  );
13
13
 
14
14
  /**
15
+ * Gets default target.
15
16
  * @param {string} context the context directory
16
17
  * @returns {string} default target
17
18
  */
@@ -21,6 +22,7 @@ const getDefaultTarget = (context) => {
21
22
  };
22
23
 
23
24
  /**
25
+ * Defines the platform target properties type used by this module.
24
26
  * @typedef {object} PlatformTargetProperties
25
27
  * @property {boolean | null=} web web platform, importing of http(s) and std: is available
26
28
  * @property {boolean | null=} browser browser platform, running in a normal web browser
@@ -31,6 +33,7 @@ const getDefaultTarget = (context) => {
31
33
  */
32
34
 
33
35
  /**
36
+ * Defines the electron context target properties type used by this module.
34
37
  * @typedef {object} ElectronContextTargetProperties
35
38
  * @property {boolean | null} electronMain in main context
36
39
  * @property {boolean | null} electronPreload in preload context
@@ -38,6 +41,7 @@ const getDefaultTarget = (context) => {
38
41
  */
39
42
 
40
43
  /**
44
+ * Defines the api target properties type used by this module.
41
45
  * @typedef {object} ApiTargetProperties
42
46
  * @property {boolean | null} require has require function available
43
47
  * @property {boolean | null} nodeBuiltins has node.js built-in modules available
@@ -51,6 +55,7 @@ const getDefaultTarget = (context) => {
51
55
  */
52
56
 
53
57
  /**
58
+ * Defines the ecma target properties type used by this module.
54
59
  * @typedef {object} EcmaTargetProperties
55
60
  * @property {boolean | null} globalThis has globalThis variable available
56
61
  * @property {boolean | null} bigIntLiteral big int literal syntax is available
@@ -68,11 +73,13 @@ const getDefaultTarget = (context) => {
68
73
  */
69
74
 
70
75
  /**
76
+ * Defines the shared type used by this module.
71
77
  * @template T
72
78
  * @typedef {{ [P in keyof T]?: never }} Never<T>
73
79
  */
74
80
 
75
81
  /**
82
+ * Defines the shared type used by this module.
76
83
  * @template A
77
84
  * @template B
78
85
  * @typedef {(A & Never<B>) | (Never<A> & B) | (A & B)} Mix<A, B>
@@ -81,6 +88,7 @@ const getDefaultTarget = (context) => {
81
88
  /** @typedef {Mix<Mix<PlatformTargetProperties, ElectronContextTargetProperties>, Mix<ApiTargetProperties, EcmaTargetProperties>>} TargetProperties */
82
89
 
83
90
  /**
91
+ * Returns check if version is greater or equal.
84
92
  * @param {string} major major version
85
93
  * @param {string | undefined} minor minor version
86
94
  * @returns {(vMajor: number, vMinor?: number) => boolean | undefined} check if version is greater or equal
@@ -320,6 +328,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
320
328
  ];
321
329
 
322
330
  /**
331
+ * Gets target properties.
323
332
  * @param {string} target the target
324
333
  * @param {string} context the context directory
325
334
  * @returns {TargetProperties} target properties
@@ -341,6 +350,7 @@ const getTargetProperties = (target, context) => {
341
350
  };
342
351
 
343
352
  /**
353
+ * Merges target properties.
344
354
  * @param {TargetProperties[]} targetProperties array of target properties
345
355
  * @returns {TargetProperties} merged target properties
346
356
  */
@@ -377,6 +387,7 @@ const mergeTargetProperties = (targetProperties) => {
377
387
  };
378
388
 
379
389
  /**
390
+ * Gets targets properties.
380
391
  * @param {string[]} targets the targets
381
392
  * @param {string} context the context directory
382
393
  * @returns {TargetProperties} target properties
@@ -12,6 +12,7 @@ const makeSerializable = require("../util/makeSerializable");
12
12
 
13
13
  class ContainerEntryDependency extends Dependency {
14
14
  /**
15
+ * Creates an instance of ContainerEntryDependency.
15
16
  * @param {string} name entry name
16
17
  * @param {ExposesList} exposes list of exposed modules
17
18
  * @param {string} shareScope name of the share scope
@@ -27,6 +28,7 @@ class ContainerEntryDependency extends Dependency {
27
28
  }
28
29
 
29
30
  /**
31
+ * Returns an identifier to merge equal requests.
30
32
  * @returns {string | null} an identifier to merge equal requests
31
33
  */
32
34
  getResourceIdentifier() {
@@ -37,6 +37,7 @@ const ContainerExposedDependency = require("./ContainerExposedDependency");
37
37
  /** @typedef {import("../util/fs").InputFileSystem} InputFileSystem */
38
38
 
39
39
  /**
40
+ * Defines the expose options type used by this module.
40
41
  * @typedef {object} ExposeOptions
41
42
  * @property {string[]} import requests to exposed modules (last one is exported)
42
43
  * @property {string} name custom chunk name for the exposed module
@@ -46,6 +47,7 @@ const ContainerExposedDependency = require("./ContainerExposedDependency");
46
47
 
47
48
  class ContainerEntryModule extends Module {
48
49
  /**
50
+ * Creates an instance of ContainerEntryModule.
49
51
  * @param {string} name container entry name
50
52
  * @param {ExposesList} exposes list of exposed modules
51
53
  * @param {string} shareScope name of the share scope
@@ -61,6 +63,7 @@ class ContainerEntryModule extends Module {
61
63
  }
62
64
 
63
65
  /**
66
+ * Returns the source types this module can generate.
64
67
  * @returns {SourceTypes} types available (do not mutate)
65
68
  */
66
69
  getSourceTypes() {
@@ -68,6 +71,7 @@ class ContainerEntryModule extends Module {
68
71
  }
69
72
 
70
73
  /**
74
+ * Returns the unique identifier used to reference this module.
71
75
  * @returns {string} a unique identifier of the module
72
76
  */
73
77
  identifier() {
@@ -77,6 +81,7 @@ class ContainerEntryModule extends Module {
77
81
  }
78
82
 
79
83
  /**
84
+ * Returns a human-readable identifier for this module.
80
85
  * @param {RequestShortener} requestShortener the request shortener
81
86
  * @returns {string} a user readable identifier of the module
82
87
  */
@@ -85,6 +90,7 @@ class ContainerEntryModule extends Module {
85
90
  }
86
91
 
87
92
  /**
93
+ * Gets the library identifier.
88
94
  * @param {LibIdentOptions} options options
89
95
  * @returns {LibIdent | null} an identifier for library inclusion
90
96
  */
@@ -95,6 +101,7 @@ class ContainerEntryModule extends Module {
95
101
  }
96
102
 
97
103
  /**
104
+ * Checks whether the module needs to be rebuilt for the current build state.
98
105
  * @param {NeedBuildContext} context context info
99
106
  * @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
100
107
  * @returns {void}
@@ -104,6 +111,7 @@ class ContainerEntryModule extends Module {
104
111
  }
105
112
 
106
113
  /**
114
+ * Builds the module using the provided compilation context.
107
115
  * @param {WebpackOptions} options webpack options
108
116
  * @param {Compilation} compilation the compilation
109
117
  * @param {ResolverWithOptions} resolver the resolver
@@ -147,6 +155,7 @@ class ContainerEntryModule extends Module {
147
155
  }
148
156
 
149
157
  /**
158
+ * Generates code and runtime requirements for this module.
150
159
  * @param {CodeGenerationContext} context context for code generation
151
160
  * @returns {CodeGenerationResult} result
152
161
  */
@@ -265,6 +274,7 @@ class ContainerEntryModule extends Module {
265
274
  }
266
275
 
267
276
  /**
277
+ * Returns the estimated size for the requested source type.
268
278
  * @param {string=} type the source type for which the size should be estimated
269
279
  * @returns {number} the estimated size of the module (must be non-zero)
270
280
  */
@@ -273,6 +283,7 @@ class ContainerEntryModule extends Module {
273
283
  }
274
284
 
275
285
  /**
286
+ * Serializes this instance into the provided serializer context.
276
287
  * @param {ObjectSerializerContext} context context
277
288
  */
278
289
  serialize(context) {
@@ -284,6 +295,7 @@ class ContainerEntryModule extends Module {
284
295
  }
285
296
 
286
297
  /**
298
+ * Restores this instance from the provided deserializer context.
287
299
  * @param {ObjectDeserializerContext} context context
288
300
  * @returns {ContainerEntryModule} deserialized container entry module
289
301
  */
@@ -14,6 +14,7 @@ const ContainerEntryModule = require("./ContainerEntryModule");
14
14
 
15
15
  module.exports = class ContainerEntryModuleFactory extends ModuleFactory {
16
16
  /**
17
+ * Processes the provided data.
17
18
  * @param {ModuleFactoryCreateData} data data object
18
19
  * @param {ModuleFactoryCallback} callback callback
19
20
  * @returns {void}
@@ -13,6 +13,7 @@ const makeSerializable = require("../util/makeSerializable");
13
13
 
14
14
  class ContainerExposedDependency extends ModuleDependency {
15
15
  /**
16
+ * Creates an instance of ContainerExposedDependency.
16
17
  * @param {string} exposedName public name
17
18
  * @param {string} request request to module
18
19
  */
@@ -31,6 +32,7 @@ class ContainerExposedDependency extends ModuleDependency {
31
32
  }
32
33
 
33
34
  /**
35
+ * Returns an identifier to merge equal requests.
34
36
  * @returns {string | null} an identifier to merge equal requests
35
37
  */
36
38
  getResourceIdentifier() {
@@ -38,6 +40,7 @@ class ContainerExposedDependency extends ModuleDependency {
38
40
  }
39
41
 
40
42
  /**
43
+ * Serializes this instance into the provided serializer context.
41
44
  * @param {ObjectSerializerContext} context context
42
45
  */
43
46
  serialize(context) {
@@ -46,6 +49,7 @@ class ContainerExposedDependency extends ModuleDependency {
46
49
  }
47
50
 
48
51
  /**
52
+ * Restores this instance from the provided deserializer context.
49
53
  * @param {ObjectDeserializerContext} context context
50
54
  */
51
55
  deserialize(context) {
@@ -23,6 +23,7 @@ const PLUGIN_NAME = "ContainerPlugin";
23
23
 
24
24
  class ContainerPlugin {
25
25
  /**
26
+ * Creates an instance of ContainerPlugin.
26
27
  * @param {ContainerPluginOptions} options options
27
28
  */
28
29
  constructor(options) {
@@ -31,7 +32,7 @@ class ContainerPlugin {
31
32
  }
32
33
 
33
34
  /**
34
- * Apply the plugin
35
+ * Applies the plugin by registering its hooks on the compiler.
35
36
  * @param {Compiler} compiler the compiler instance
36
37
  * @returns {void}
37
38
  */
@@ -24,6 +24,7 @@ const PLUGIN_NAME = "ContainerReferencePlugin";
24
24
 
25
25
  class ContainerReferencePlugin {
26
26
  /**
27
+ * Creates an instance of ContainerReferencePlugin.
27
28
  * @param {ContainerReferencePluginOptions} options options
28
29
  */
29
30
  constructor(options) {
@@ -32,7 +33,7 @@ class ContainerReferencePlugin {
32
33
  }
33
34
 
34
35
  /**
35
- * Apply the plugin
36
+ * Applies the plugin by registering its hooks on the compiler.
36
37
  * @param {Compiler} compiler the compiler instance
37
38
  * @returns {void}
38
39
  */
@@ -14,6 +14,7 @@ const makeSerializable = require("../util/makeSerializable");
14
14
 
15
15
  class FallbackDependency extends Dependency {
16
16
  /**
17
+ * Creates an instance of FallbackDependency.
17
18
  * @param {ExternalRequests} requests requests
18
19
  */
19
20
  constructor(requests) {
@@ -23,6 +24,7 @@ class FallbackDependency extends Dependency {
23
24
  }
24
25
 
25
26
  /**
27
+ * Returns an identifier to merge equal requests.
26
28
  * @returns {string | null} an identifier to merge equal requests
27
29
  */
28
30
  getResourceIdentifier() {
@@ -38,6 +40,7 @@ class FallbackDependency extends Dependency {
38
40
  }
39
41
 
40
42
  /**
43
+ * Serializes this instance into the provided serializer context.
41
44
  * @param {ObjectSerializerContext} context context
42
45
  */
43
46
  serialize(context) {
@@ -47,6 +50,7 @@ class FallbackDependency extends Dependency {
47
50
  }
48
51
 
49
52
  /**
53
+ * Restores this instance from the provided deserializer context.
50
54
  * @param {ObjectDeserializerContext} context context
51
55
  * @returns {FallbackDependency} deserialize fallback dependency
52
56
  */
@@ -10,6 +10,7 @@ const makeSerializable = require("../util/makeSerializable");
10
10
 
11
11
  class FallbackItemDependency extends ModuleDependency {
12
12
  /**
13
+ * Creates an instance of FallbackItemDependency.
13
14
  * @param {string} request request
14
15
  */
15
16
  constructor(request) {
@@ -41,6 +41,7 @@ const RUNTIME_REQUIREMENTS = new Set([RuntimeGlobals.module]);
41
41
 
42
42
  class FallbackModule extends Module {
43
43
  /**
44
+ * Creates an instance of FallbackModule.
44
45
  * @param {ExternalRequests} requests list of requests to choose one
45
46
  */
46
47
  constructor(requests) {
@@ -52,6 +53,7 @@ class FallbackModule extends Module {
52
53
  }
53
54
 
54
55
  /**
56
+ * Returns the unique identifier used to reference this module.
55
57
  * @returns {string} a unique identifier of the module
56
58
  */
57
59
  identifier() {
@@ -59,6 +61,7 @@ class FallbackModule extends Module {
59
61
  }
60
62
 
61
63
  /**
64
+ * Returns a human-readable identifier for this module.
62
65
  * @param {RequestShortener} requestShortener the request shortener
63
66
  * @returns {string} a user readable identifier of the module
64
67
  */
@@ -67,6 +70,7 @@ class FallbackModule extends Module {
67
70
  }
68
71
 
69
72
  /**
73
+ * Gets the library identifier.
70
74
  * @param {LibIdentOptions} options options
71
75
  * @returns {LibIdent | null} an identifier for library inclusion
72
76
  */
@@ -77,6 +81,7 @@ class FallbackModule extends Module {
77
81
  }
78
82
 
79
83
  /**
84
+ * Returns true if the module can be placed in the chunk.
80
85
  * @param {Chunk} chunk the chunk which condition should be checked
81
86
  * @param {Compilation} compilation the compilation
82
87
  * @returns {boolean} true if the module can be placed in the chunk
@@ -86,6 +91,7 @@ class FallbackModule extends Module {
86
91
  }
87
92
 
88
93
  /**
94
+ * Checks whether the module needs to be rebuilt for the current build state.
89
95
  * @param {NeedBuildContext} context context info
90
96
  * @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
91
97
  * @returns {void}
@@ -95,6 +101,7 @@ class FallbackModule extends Module {
95
101
  }
96
102
 
97
103
  /**
104
+ * Builds the module using the provided compilation context.
98
105
  * @param {WebpackOptions} options webpack options
99
106
  * @param {Compilation} compilation the compilation
100
107
  * @param {ResolverWithOptions} resolver the resolver
@@ -117,6 +124,7 @@ class FallbackModule extends Module {
117
124
  }
118
125
 
119
126
  /**
127
+ * Returns the estimated size for the requested source type.
120
128
  * @param {string=} type the source type for which the size should be estimated
121
129
  * @returns {number} the estimated size of the module (must be non-zero)
122
130
  */
@@ -125,6 +133,7 @@ class FallbackModule extends Module {
125
133
  }
126
134
 
127
135
  /**
136
+ * Returns the source types this module can generate.
128
137
  * @returns {SourceTypes} types available (do not mutate)
129
138
  */
130
139
  getSourceTypes() {
@@ -132,6 +141,7 @@ class FallbackModule extends Module {
132
141
  }
133
142
 
134
143
  /**
144
+ * Generates code and runtime requirements for this module.
135
145
  * @param {CodeGenerationContext} context context for code generation
136
146
  * @returns {CodeGenerationResult} result
137
147
  */
@@ -168,6 +178,7 @@ class FallbackModule extends Module {
168
178
  }
169
179
 
170
180
  /**
181
+ * Serializes this instance into the provided serializer context.
171
182
  * @param {ObjectSerializerContext} context context
172
183
  */
173
184
  serialize(context) {
@@ -177,6 +188,7 @@ class FallbackModule extends Module {
177
188
  }
178
189
 
179
190
  /**
191
+ * Restores this instance from the provided deserializer context.
180
192
  * @param {ObjectDeserializerContext} context context
181
193
  * @returns {FallbackModule} deserialized fallback module
182
194
  */
@@ -14,6 +14,7 @@ const FallbackModule = require("./FallbackModule");
14
14
 
15
15
  module.exports = class FallbackModuleFactory extends ModuleFactory {
16
16
  /**
17
+ * Processes the provided data.
17
18
  * @param {ModuleFactoryCreateData} data data object
18
19
  * @param {ModuleFactoryCallback} callback callback
19
20
  * @returns {void}
@@ -19,6 +19,7 @@ const HoistContainerReferences = require("./HoistContainerReferencesPlugin");
19
19
  /** @typedef {import("../Dependency")} Dependency */
20
20
 
21
21
  /**
22
+ * Defines the compilation hooks type used by this module.
22
23
  * @typedef {object} CompilationHooks
23
24
  * @property {SyncHook<Dependency>} addContainerEntryDependency
24
25
  * @property {SyncHook<Dependency>} addFederationRuntimeDependency
@@ -30,6 +31,7 @@ const PLUGIN_NAME = "ModuleFederationPlugin";
30
31
 
31
32
  class ModuleFederationPlugin {
32
33
  /**
34
+ * Creates an instance of ModuleFederationPlugin.
33
35
  * @param {ModuleFederationPluginOptions} options options
34
36
  */
35
37
  constructor(options) {
@@ -60,7 +62,7 @@ class ModuleFederationPlugin {
60
62
  }
61
63
 
62
64
  /**
63
- * Apply the plugin
65
+ * Applies the plugin by registering its hooks on the compiler.
64
66
  * @param {Compiler} compiler the compiler instance
65
67
  * @returns {void}
66
68
  */
@@ -45,6 +45,7 @@ const RUNTIME_REQUIREMENTS = new Set([RuntimeGlobals.module]);
45
45
 
46
46
  class RemoteModule extends Module {
47
47
  /**
48
+ * Creates an instance of RemoteModule.
48
49
  * @param {string} request request string
49
50
  * @param {ExternalRequests} externalRequests list of external requests to containers
50
51
  * @param {string} internalRequest name of exposed module in container
@@ -67,6 +68,7 @@ class RemoteModule extends Module {
67
68
  }
68
69
 
69
70
  /**
71
+ * Returns the unique identifier used to reference this module.
70
72
  * @returns {string} a unique identifier of the module
71
73
  */
72
74
  identifier() {
@@ -74,6 +76,7 @@ class RemoteModule extends Module {
74
76
  }
75
77
 
76
78
  /**
79
+ * Returns a human-readable identifier for this module.
77
80
  * @param {RequestShortener} requestShortener the request shortener
78
81
  * @returns {string} a user readable identifier of the module
79
82
  */
@@ -82,6 +85,7 @@ class RemoteModule extends Module {
82
85
  }
83
86
 
84
87
  /**
88
+ * Gets the library identifier.
85
89
  * @param {LibIdentOptions} options options
86
90
  * @returns {LibIdent | null} an identifier for library inclusion
87
91
  */
@@ -92,6 +96,7 @@ class RemoteModule extends Module {
92
96
  }
93
97
 
94
98
  /**
99
+ * Checks whether the module needs to be rebuilt for the current build state.
95
100
  * @param {NeedBuildContext} context context info
96
101
  * @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
97
102
  * @returns {void}
@@ -101,6 +106,7 @@ class RemoteModule extends Module {
101
106
  }
102
107
 
103
108
  /**
109
+ * Builds the module using the provided compilation context.
104
110
  * @param {WebpackOptions} options webpack options
105
111
  * @param {Compilation} compilation the compilation
106
112
  * @param {ResolverWithOptions} resolver the resolver
@@ -127,6 +133,7 @@ class RemoteModule extends Module {
127
133
  }
128
134
 
129
135
  /**
136
+ * Returns the estimated size for the requested source type.
130
137
  * @param {string=} type the source type for which the size should be estimated
131
138
  * @returns {number} the estimated size of the module (must be non-zero)
132
139
  */
@@ -135,6 +142,7 @@ class RemoteModule extends Module {
135
142
  }
136
143
 
137
144
  /**
145
+ * Returns the source types this module can generate.
138
146
  * @returns {SourceTypes} types available (do not mutate)
139
147
  */
140
148
  getSourceTypes() {
@@ -155,6 +163,7 @@ class RemoteModule extends Module {
155
163
  }
156
164
 
157
165
  /**
166
+ * Returns export type.
158
167
  * @param {ModuleGraph} moduleGraph the module graph
159
168
  * @param {boolean | undefined} strict the importing module is strict
160
169
  * @returns {ExportsType} export type
@@ -168,6 +177,7 @@ class RemoteModule extends Module {
168
177
  }
169
178
 
170
179
  /**
180
+ * Returns the path used when matching this module against rule conditions.
171
181
  * @returns {NameForCondition | null} absolute path which should be used for condition matching (usually the resource path)
172
182
  */
173
183
  nameForCondition() {
@@ -175,6 +185,7 @@ class RemoteModule extends Module {
175
185
  }
176
186
 
177
187
  /**
188
+ * Generates code and runtime requirements for this module.
178
189
  * @param {CodeGenerationContext} context context for code generation
179
190
  * @returns {CodeGenerationResult} result
180
191
  */
@@ -197,6 +208,7 @@ class RemoteModule extends Module {
197
208
  }
198
209
 
199
210
  /**
211
+ * Serializes this instance into the provided serializer context.
200
212
  * @param {ObjectSerializerContext} context context
201
213
  */
202
214
  serialize(context) {
@@ -209,6 +221,7 @@ class RemoteModule extends Module {
209
221
  }
210
222
 
211
223
  /**
224
+ * Restores this instance from the provided deserializer context.
212
225
  * @param {ObjectDeserializerContext} context context
213
226
  * @returns {RemoteModule} deserialized module
214
227
  */
@@ -22,6 +22,7 @@ class RemoteRuntimeModule extends RuntimeModule {
22
22
  }
23
23
 
24
24
  /**
25
+ * Generates runtime code for this runtime module.
25
26
  * @returns {string | null} runtime code
26
27
  */
27
28
  generate() {
@@ -10,6 +10,7 @@ const makeSerializable = require("../util/makeSerializable");
10
10
 
11
11
  class RemoteToExternalDependency extends ModuleDependency {
12
12
  /**
13
+ * Creates an instance of RemoteToExternalDependency.
13
14
  * @param {string} request request
14
15
  */
15
16
  constructor(request) {