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
package/lib/Module.js CHANGED
@@ -47,6 +47,7 @@ const makeSerializable = require("./util/makeSerializable");
47
47
  /** @typedef {import("./ResolverFactory").ResolverWithOptions} ResolverWithOptions */
48
48
  /** @typedef {import("./RuntimeTemplate")} RuntimeTemplate */
49
49
  /**
50
+ * Defines the init fragment type used by this module.
50
51
  * @template T
51
52
  * @typedef {import("./InitFragment")<T>} InitFragment
52
53
  */
@@ -65,11 +66,13 @@ const makeSerializable = require("./util/makeSerializable");
65
66
  /** @typedef {"namespace" | "default-only" | "default-with-named" | "dynamic"} ExportsType */
66
67
 
67
68
  /**
69
+ * Defines the shared type used by this module.
68
70
  * @template T
69
71
  * @typedef {import("./util/LazySet")<T>} LazySet<T>
70
72
  */
71
73
 
72
74
  /**
75
+ * Defines the source context type used by this module.
73
76
  * @typedef {object} SourceContext
74
77
  * @property {DependencyTemplates} dependencyTemplates the dependency templates
75
78
  * @property {RuntimeTemplate} runtimeTemplate the runtime template
@@ -87,6 +90,7 @@ const makeSerializable = require("./util/makeSerializable");
87
90
 
88
91
  // TODO webpack 6: compilation will be required in CodeGenerationContext
89
92
  /**
93
+ * Defines the code generation context type used by this module.
90
94
  * @typedef {object} CodeGenerationContext
91
95
  * @property {DependencyTemplates} dependencyTemplates the dependency templates
92
96
  * @property {RuntimeTemplate} runtimeTemplate the runtime template
@@ -101,6 +105,7 @@ const makeSerializable = require("./util/makeSerializable");
101
105
  */
102
106
 
103
107
  /**
108
+ * Defines the concatenation bailout reason context type used by this module.
104
109
  * @typedef {object} ConcatenationBailoutReasonContext
105
110
  * @property {ModuleGraph} moduleGraph the module graph
106
111
  * @property {ChunkGraph} chunkGraph the chunk graph
@@ -110,6 +115,7 @@ const makeSerializable = require("./util/makeSerializable");
110
115
  /** @typedef {ReadonlySet<string>} ReadOnlyRuntimeRequirements */
111
116
 
112
117
  /**
118
+ * Defines the all code generation schemas type used by this module.
113
119
  * @typedef {object} AllCodeGenerationSchemas
114
120
  * @property {Set<string>} topLevelDeclarations top level declarations for javascript modules
115
121
  * @property {InitFragment<EXPECTED_ANY>[]} chunkInitFragments chunk init fragments for javascript modules
@@ -120,15 +126,14 @@ const makeSerializable = require("./util/makeSerializable");
120
126
  * @property {[{ shareScope: string, initStage: number, init: string }]} share-init share-init for modules federation
121
127
  */
122
128
 
123
- /* eslint-disable jsdoc/type-formatting */
124
129
  /**
130
+ * Defines the code gen value type used by this module.
125
131
  * @template {string} K
126
132
  * @typedef {K extends keyof AllCodeGenerationSchemas ? AllCodeGenerationSchemas[K] : EXPECTED_ANY} CodeGenValue
127
133
  */
128
- /* eslint-enable jsdoc/type-formatting */
129
134
 
130
- /* eslint-disable jsdoc/require-template */
131
135
  /**
136
+ * Defines the code gen map overloads type used by this module.
132
137
  * @typedef {object} CodeGenMapOverloads
133
138
  * @property {<K extends string>(key: K) => CodeGenValue<K> | undefined} get
134
139
  * @property {<K extends string>(key: K, value: CodeGenValue<K>) => CodeGenerationResultData} set
@@ -137,12 +142,14 @@ const makeSerializable = require("./util/makeSerializable");
137
142
  */
138
143
 
139
144
  /**
145
+ * Defines the code generation result data type used by this module.
140
146
  * @typedef {Omit<Map<string, EXPECTED_ANY>, "get" | "set" | "has" | "delete"> & CodeGenMapOverloads} CodeGenerationResultData
141
147
  */
142
148
 
143
149
  /** @typedef {Map<SourceType, Source>} Sources */
144
150
 
145
151
  /**
152
+ * Defines the code generation result type used by this module.
146
153
  * @typedef {object} CodeGenerationResult
147
154
  * @property {Sources} sources the resulting sources for all source types
148
155
  * @property {CodeGenerationResultData=} data the resulting data for all source types
@@ -151,12 +158,14 @@ const makeSerializable = require("./util/makeSerializable");
151
158
  */
152
159
 
153
160
  /**
161
+ * Defines the lib ident options type used by this module.
154
162
  * @typedef {object} LibIdentOptions
155
163
  * @property {string} context absolute context path to which lib ident is relative to
156
164
  * @property {AssociatedObjectForCache=} associatedObjectForCache object for caching
157
165
  */
158
166
 
159
167
  /**
168
+ * Defines the known build meta type used by this module.
160
169
  * @typedef {object} KnownBuildMeta
161
170
  * @property {("default" | "namespace" | "flagged" | "dynamic")=} exportsType
162
171
  * @property {(false | "redirect" | "redirect-warn")=} defaultObject
@@ -171,6 +180,7 @@ const makeSerializable = require("./util/makeSerializable");
171
180
  */
172
181
 
173
182
  /**
183
+ * Defines the known build info type used by this module.
174
184
  * @typedef {object} KnownBuildInfo
175
185
  * @property {boolean=} cacheable
176
186
  * @property {boolean=} parsed
@@ -196,6 +206,7 @@ const makeSerializable = require("./util/makeSerializable");
196
206
  * @property {boolean=} javascriptModule for external modules
197
207
  * @property {boolean=} active for lazy compilation modules
198
208
  * @property {CssData=} cssData for css modules
209
+ * @property {string=} charset for css modules (charset at-rule)
199
210
  * @property {JsonData=} jsonData for json modules
200
211
  * @property {Set<string>=} topLevelDeclarations top level declaration names
201
212
  */
@@ -204,6 +215,7 @@ const makeSerializable = require("./util/makeSerializable");
204
215
  /** @typedef {Map<string, ValueCacheVersion>} ValueCacheVersions */
205
216
 
206
217
  /**
218
+ * Defines the need build context type used by this module.
207
219
  * @typedef {object} NeedBuildContext
208
220
  * @property {Compilation} compilation
209
221
  * @property {FileSystemInfo} fileSystemInfo
@@ -218,6 +230,7 @@ const makeSerializable = require("./util/makeSerializable");
218
230
  /** @typedef {KnownBuildInfo & Record<string, EXPECTED_ANY>} BuildInfo */
219
231
 
220
232
  /**
233
+ * Defines the factory meta type used by this module.
221
234
  * @typedef {object} FactoryMeta
222
235
  * @property {boolean=} sideEffectFree
223
236
  */
@@ -231,6 +244,7 @@ const DEFAULT_TYPES_UNKNOWN = new Set([UNKNOWN_TYPE]);
231
244
 
232
245
  const deprecatedNeedRebuild = util.deprecate(
233
246
  /**
247
+ * Handles the callback logic for this hook.
234
248
  * @param {Module} module the module
235
249
  * @param {NeedBuildContext} context context info
236
250
  * @returns {boolean} true, when rebuild is needed
@@ -251,6 +265,7 @@ const deprecatedNeedRebuild = util.deprecate(
251
265
 
252
266
  class Module extends DependenciesBlock {
253
267
  /**
268
+ * Creates an instance of Module.
254
269
  * @param {ModuleTypes | ""} type the module type, when deserializing the type is not known and is an empty string
255
270
  * @param {(string | null)=} context an optional context
256
271
  * @param {(string | null)=} layer an optional layer in which the module is
@@ -305,6 +320,7 @@ class Module extends DependenciesBlock {
305
320
  // TODO remove in webpack 6
306
321
  // BACKWARD-COMPAT START
307
322
  /**
323
+ * Returns the module id assigned by the chunk graph.
308
324
  * @deprecated
309
325
  * @returns {ModuleId | null} module id
310
326
  */
@@ -317,6 +333,7 @@ class Module extends DependenciesBlock {
317
333
  }
318
334
 
319
335
  /**
336
+ * Updates the module id using the provided value.
320
337
  * @deprecated
321
338
  * @param {ModuleId} value value
322
339
  */
@@ -333,6 +350,7 @@ class Module extends DependenciesBlock {
333
350
  }
334
351
 
335
352
  /**
353
+ * Returns the hash of the module.
336
354
  * @deprecated
337
355
  * @returns {string} the hash of the module
338
356
  */
@@ -345,6 +363,7 @@ class Module extends DependenciesBlock {
345
363
  }
346
364
 
347
365
  /**
366
+ * Returns the rendered hash of the module.
348
367
  * @deprecated
349
368
  * @returns {string} the shortened hash of the module
350
369
  */
@@ -381,6 +400,7 @@ class Module extends DependenciesBlock {
381
400
  }
382
401
 
383
402
  /**
403
+ * Returns the pre-order index.
384
404
  * @deprecated
385
405
  * @returns {number | null} the pre order index
386
406
  */
@@ -393,6 +413,7 @@ class Module extends DependenciesBlock {
393
413
  }
394
414
 
395
415
  /**
416
+ * Updates the pre-order index using the provided value.
396
417
  * @deprecated
397
418
  * @param {number} value the pre order index
398
419
  */
@@ -405,6 +426,7 @@ class Module extends DependenciesBlock {
405
426
  }
406
427
 
407
428
  /**
429
+ * Returns the post-order index.
408
430
  * @deprecated
409
431
  * @returns {number | null} the post order index
410
432
  */
@@ -417,6 +439,7 @@ class Module extends DependenciesBlock {
417
439
  }
418
440
 
419
441
  /**
442
+ * Updates the post-order index using the provided value.
420
443
  * @deprecated
421
444
  * @param {number} value the post order index
422
445
  */
@@ -429,6 +452,7 @@ class Module extends DependenciesBlock {
429
452
  }
430
453
 
431
454
  /**
455
+ * Returns the depth.
432
456
  * @deprecated
433
457
  * @returns {number | null} the depth
434
458
  */
@@ -441,6 +465,7 @@ class Module extends DependenciesBlock {
441
465
  }
442
466
 
443
467
  /**
468
+ * Updates the depth using the provided value.
444
469
  * @deprecated
445
470
  * @param {number} value the depth
446
471
  */
@@ -453,6 +478,7 @@ class Module extends DependenciesBlock {
453
478
  }
454
479
 
455
480
  /**
481
+ * Returns the issuer.
456
482
  * @deprecated
457
483
  * @returns {Module | null | undefined} issuer
458
484
  */
@@ -465,6 +491,7 @@ class Module extends DependenciesBlock {
465
491
  }
466
492
 
467
493
  /**
494
+ * Updates the issuer using the provided value.
468
495
  * @deprecated
469
496
  * @param {Module | null} value issuer
470
497
  */
@@ -489,6 +516,7 @@ class Module extends DependenciesBlock {
489
516
  }
490
517
 
491
518
  /**
519
+ * Gets optimization bailout.
492
520
  * @deprecated
493
521
  * @returns {OptimizationBailouts} list
494
522
  */
@@ -515,6 +543,7 @@ class Module extends DependenciesBlock {
515
543
  }
516
544
 
517
545
  /**
546
+ * Adds the provided chunk to the module.
518
547
  * @deprecated
519
548
  * @param {Chunk} chunk the chunk
520
549
  * @returns {boolean} true, when the module was added
@@ -531,6 +560,7 @@ class Module extends DependenciesBlock {
531
560
  }
532
561
 
533
562
  /**
563
+ * Removes the provided chunk from the module.
534
564
  * @deprecated
535
565
  * @param {Chunk} chunk the chunk
536
566
  * @returns {void}
@@ -544,6 +574,7 @@ class Module extends DependenciesBlock {
544
574
  }
545
575
 
546
576
  /**
577
+ * Checks whether this module is in the provided chunk.
547
578
  * @deprecated
548
579
  * @param {Chunk} chunk the chunk
549
580
  * @returns {boolean} true, when the module is in the chunk
@@ -605,6 +636,7 @@ class Module extends DependenciesBlock {
605
636
  }
606
637
 
607
638
  /**
639
+ * Checks whether this module provides the specified export.
608
640
  * @deprecated
609
641
  * @param {string} exportName a name of an export
610
642
  * @returns {boolean | null} true, if the export is provided why the module.
@@ -621,6 +653,7 @@ class Module extends DependenciesBlock {
621
653
  // BACKWARD-COMPAT END
622
654
 
623
655
  /**
656
+ * Gets exports argument.
624
657
  * @returns {string} name of the exports argument
625
658
  */
626
659
  get exportsArgument() {
@@ -628,6 +661,7 @@ class Module extends DependenciesBlock {
628
661
  }
629
662
 
630
663
  /**
664
+ * Gets module argument.
631
665
  * @returns {string} name of the module argument
632
666
  */
633
667
  get moduleArgument() {
@@ -635,6 +669,7 @@ class Module extends DependenciesBlock {
635
669
  }
636
670
 
637
671
  /**
672
+ * Returns export type.
638
673
  * @param {ModuleGraph} moduleGraph the module graph
639
674
  * @param {boolean | undefined} strict the importing module is strict
640
675
  * @returns {ExportsType} export type
@@ -705,6 +740,7 @@ class Module extends DependenciesBlock {
705
740
  }
706
741
 
707
742
  /**
743
+ * Adds presentational dependency.
708
744
  * @param {Dependency} presentationalDependency dependency being tied to module.
709
745
  * This is a Dependency without edge in the module graph. It's only for presentation.
710
746
  * @returns {void}
@@ -717,6 +753,7 @@ class Module extends DependenciesBlock {
717
753
  }
718
754
 
719
755
  /**
756
+ * Adds code generation dependency.
720
757
  * @param {Dependency} codeGenerationDependency dependency being tied to module.
721
758
  * This is a Dependency where the code generation result of the referenced module is needed during code generation.
722
759
  * The Dependency should also be added to normal dependencies via addDependency.
@@ -730,7 +767,7 @@ class Module extends DependenciesBlock {
730
767
  }
731
768
 
732
769
  /**
733
- * Removes all dependencies and blocks
770
+ * Clear dependencies and blocks.
734
771
  * @returns {void}
735
772
  */
736
773
  clearDependenciesAndBlocks() {
@@ -744,6 +781,7 @@ class Module extends DependenciesBlock {
744
781
  }
745
782
 
746
783
  /**
784
+ * Adds the provided warning to the module.
747
785
  * @param {WebpackError} warning the warning
748
786
  * @returns {void}
749
787
  */
@@ -755,6 +793,7 @@ class Module extends DependenciesBlock {
755
793
  }
756
794
 
757
795
  /**
796
+ * Returns list of warnings if any.
758
797
  * @returns {Iterable<WebpackError> | undefined} list of warnings if any
759
798
  */
760
799
  getWarnings() {
@@ -762,6 +801,7 @@ class Module extends DependenciesBlock {
762
801
  }
763
802
 
764
803
  /**
804
+ * Gets number of warnings.
765
805
  * @returns {number} number of warnings
766
806
  */
767
807
  getNumberOfWarnings() {
@@ -769,6 +809,7 @@ class Module extends DependenciesBlock {
769
809
  }
770
810
 
771
811
  /**
812
+ * Adds the provided error to the module.
772
813
  * @param {WebpackError} error the error
773
814
  * @returns {void}
774
815
  */
@@ -780,6 +821,7 @@ class Module extends DependenciesBlock {
780
821
  }
781
822
 
782
823
  /**
824
+ * Returns list of errors if any.
783
825
  * @returns {Iterable<WebpackError> | undefined} list of errors if any
784
826
  */
785
827
  getErrors() {
@@ -787,6 +829,7 @@ class Module extends DependenciesBlock {
787
829
  }
788
830
 
789
831
  /**
832
+ * Gets number of errors.
790
833
  * @returns {number} number of errors
791
834
  */
792
835
  getNumberOfErrors() {
@@ -807,6 +850,7 @@ class Module extends DependenciesBlock {
807
850
  }
808
851
 
809
852
  /**
853
+ * Checks whether this module is optional.
810
854
  * @param {ModuleGraph} moduleGraph the module graph
811
855
  * @returns {boolean} true, if the module is optional
812
856
  */
@@ -826,6 +870,7 @@ class Module extends DependenciesBlock {
826
870
  }
827
871
 
828
872
  /**
873
+ * Checks whether this module is accessible in chunk.
829
874
  * @param {ChunkGraph} chunkGraph the chunk graph
830
875
  * @param {Chunk} chunk a chunk
831
876
  * @param {Chunk=} ignoreChunk chunk to be ignored
@@ -840,6 +885,7 @@ class Module extends DependenciesBlock {
840
885
  }
841
886
 
842
887
  /**
888
+ * Checks whether this module is accessible in chunk group.
843
889
  * @param {ChunkGraph} chunkGraph the chunk graph
844
890
  * @param {ChunkGroup} chunkGroup a chunk group
845
891
  * @param {Chunk=} ignoreChunk chunk to be ignored
@@ -867,6 +913,7 @@ class Module extends DependenciesBlock {
867
913
  }
868
914
 
869
915
  /**
916
+ * Checks whether this module contains the chunk.
870
917
  * @param {Chunk} chunk a chunk
871
918
  * @param {ModuleGraph} moduleGraph the module graph
872
919
  * @param {ChunkGraph} chunkGraph the chunk graph
@@ -892,6 +939,7 @@ class Module extends DependenciesBlock {
892
939
  }
893
940
 
894
941
  /**
942
+ * Checks whether this module contains the module graph.
895
943
  * @param {ModuleGraph} moduleGraph the module graph
896
944
  * @param {RuntimeSpec} runtime the runtime
897
945
  * @returns {boolean} true if at least one other module depends on this module
@@ -904,6 +952,7 @@ class Module extends DependenciesBlock {
904
952
  }
905
953
 
906
954
  /**
955
+ * Returns a string representation.
907
956
  * @returns {string} for debugging
908
957
  */
909
958
  toString() {
@@ -911,6 +960,7 @@ class Module extends DependenciesBlock {
911
960
  }
912
961
 
913
962
  /**
963
+ * Checks whether the module needs to be rebuilt for the current build state.
914
964
  * @param {NeedBuildContext} context context info
915
965
  * @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
916
966
  * @returns {void}
@@ -925,6 +975,7 @@ class Module extends DependenciesBlock {
925
975
  }
926
976
 
927
977
  /**
978
+ * Checks whether it needs rebuild.
928
979
  * @deprecated Use needBuild instead
929
980
  * @param {Map<string, number | null>} fileTimestamps timestamps of files
930
981
  * @param {Map<string, number | null>} contextTimestamps timestamps of directories
@@ -935,6 +986,7 @@ class Module extends DependenciesBlock {
935
986
  }
936
987
 
937
988
  /**
989
+ * Updates the hash with the data contributed by this instance.
938
990
  * @param {Hash} hash the hash used to track dependencies
939
991
  * @param {UpdateHashContext} context context
940
992
  * @returns {void}
@@ -961,6 +1013,7 @@ class Module extends DependenciesBlock {
961
1013
  }
962
1014
 
963
1015
  /**
1016
+ * Invalidates the cached state associated with this value.
964
1017
  * @returns {void}
965
1018
  */
966
1019
  invalidateBuild() {
@@ -969,6 +1022,7 @@ class Module extends DependenciesBlock {
969
1022
 
970
1023
  /* istanbul ignore next */
971
1024
  /**
1025
+ * Returns the unique identifier used to reference this module.
972
1026
  * @abstract
973
1027
  * @returns {string} a unique identifier of the module
974
1028
  */
@@ -980,6 +1034,7 @@ class Module extends DependenciesBlock {
980
1034
 
981
1035
  /* istanbul ignore next */
982
1036
  /**
1037
+ * Returns a human-readable identifier for this module.
983
1038
  * @abstract
984
1039
  * @param {RequestShortener} requestShortener the request shortener
985
1040
  * @returns {string} a user readable identifier of the module
@@ -992,6 +1047,7 @@ class Module extends DependenciesBlock {
992
1047
 
993
1048
  /* istanbul ignore next */
994
1049
  /**
1050
+ * Builds the module using the provided compilation context.
995
1051
  * @abstract
996
1052
  * @param {WebpackOptions} options webpack options
997
1053
  * @param {Compilation} compilation the compilation
@@ -1007,6 +1063,7 @@ class Module extends DependenciesBlock {
1007
1063
  }
1008
1064
 
1009
1065
  /**
1066
+ * Returns the source types this module can generate.
1010
1067
  * @abstract
1011
1068
  * @returns {SourceTypes} types available (do not mutate)
1012
1069
  */
@@ -1032,6 +1089,7 @@ class Module extends DependenciesBlock {
1032
1089
  }
1033
1090
 
1034
1091
  /**
1092
+ * Returns generated source.
1035
1093
  * @abstract
1036
1094
  * @deprecated Use codeGeneration() instead
1037
1095
  * @param {DependencyTemplates} dependencyTemplates the dependency templates
@@ -1071,6 +1129,7 @@ class Module extends DependenciesBlock {
1071
1129
 
1072
1130
  /* istanbul ignore next */
1073
1131
  /**
1132
+ * Returns the estimated size for the requested source type.
1074
1133
  * @abstract
1075
1134
  * @param {string=} type the source type for which the size should be estimated
1076
1135
  * @returns {number} the estimated size of the module (must be non-zero)
@@ -1082,6 +1141,7 @@ class Module extends DependenciesBlock {
1082
1141
  }
1083
1142
 
1084
1143
  /**
1144
+ * Gets the library identifier.
1085
1145
  * @param {LibIdentOptions} options options
1086
1146
  * @returns {LibIdent | null} an identifier for library inclusion
1087
1147
  */
@@ -1090,6 +1150,7 @@ class Module extends DependenciesBlock {
1090
1150
  }
1091
1151
 
1092
1152
  /**
1153
+ * Returns the path used when matching this module against rule conditions.
1093
1154
  * @returns {NameForCondition | null} absolute path which should be used for condition matching (usually the resource path)
1094
1155
  */
1095
1156
  nameForCondition() {
@@ -1097,6 +1158,7 @@ class Module extends DependenciesBlock {
1097
1158
  }
1098
1159
 
1099
1160
  /**
1161
+ * Returns the reason this module cannot be concatenated, when one exists.
1100
1162
  * @param {ConcatenationBailoutReasonContext} context context
1101
1163
  * @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
1102
1164
  */
@@ -1105,6 +1167,7 @@ class Module extends DependenciesBlock {
1105
1167
  }
1106
1168
 
1107
1169
  /**
1170
+ * Gets side effects connection state.
1108
1171
  * @param {ModuleGraph} moduleGraph the module graph
1109
1172
  * @returns {ConnectionState} how this module should be connected to referencing modules when consumed for side-effects only
1110
1173
  */
@@ -1113,6 +1176,7 @@ class Module extends DependenciesBlock {
1113
1176
  }
1114
1177
 
1115
1178
  /**
1179
+ * Generates code and runtime requirements for this module.
1116
1180
  * @param {CodeGenerationContext} context context for code generation
1117
1181
  * @returns {CodeGenerationResult} result
1118
1182
  */
@@ -1143,6 +1207,7 @@ class Module extends DependenciesBlock {
1143
1207
  }
1144
1208
 
1145
1209
  /**
1210
+ * Returns true if the module can be placed in the chunk.
1146
1211
  * @param {Chunk} chunk the chunk which condition should be checked
1147
1212
  * @param {Compilation} compilation the compilation
1148
1213
  * @returns {boolean} true if the module can be placed in the chunk
@@ -1201,6 +1266,7 @@ class Module extends DependenciesBlock {
1201
1266
  }
1202
1267
 
1203
1268
  /**
1269
+ * Gets the original source.
1204
1270
  * @returns {Source | null} the original source for the module before webpack transformation
1205
1271
  */
1206
1272
  originalSource() {
@@ -1208,6 +1274,7 @@ class Module extends DependenciesBlock {
1208
1274
  }
1209
1275
 
1210
1276
  /**
1277
+ * Adds the provided file dependencies to the module.
1211
1278
  * @param {FileSystemDependencies} fileDependencies set where file dependencies are added to
1212
1279
  * @param {FileSystemDependencies} contextDependencies set where context dependencies are added to
1213
1280
  * @param {FileSystemDependencies} missingDependencies set where missing dependencies are added to
@@ -1221,6 +1288,7 @@ class Module extends DependenciesBlock {
1221
1288
  ) {}
1222
1289
 
1223
1290
  /**
1291
+ * Serializes this instance into the provided serializer context.
1224
1292
  * @param {ObjectSerializerContext} context context
1225
1293
  */
1226
1294
  serialize(context) {
@@ -1251,6 +1319,7 @@ class Module extends DependenciesBlock {
1251
1319
  }
1252
1320
 
1253
1321
  /**
1322
+ * Restores this instance from the provided deserializer context.
1254
1323
  * @param {ObjectDeserializerContext} context context
1255
1324
  */
1256
1325
  deserialize(context) {
@@ -1274,6 +1343,7 @@ class Module extends DependenciesBlock {
1274
1343
 
1275
1344
  // TODO remove in webpack 6
1276
1345
  /**
1346
+ * Gets source basic types.
1277
1347
  * @deprecated In webpack 6, call getSourceBasicTypes() directly on the module instance instead of using this static method.
1278
1348
  * @param {Module} module the module
1279
1349
  * @returns {ReturnType<Module["getSourceBasicTypes"]>} the source types of the module
@@ -1293,6 +1363,7 @@ makeSerializable(Module, "webpack/lib/Module");
1293
1363
  // TODO remove in webpack 6
1294
1364
  Object.defineProperty(Module.prototype, "hasEqualsChunks", {
1295
1365
  /**
1366
+ * Gets has equals chunks.
1296
1367
  * @deprecated
1297
1368
  * @returns {EXPECTED_ANY} throw an error
1298
1369
  */
@@ -1306,6 +1377,7 @@ Object.defineProperty(Module.prototype, "hasEqualsChunks", {
1306
1377
  // TODO remove in webpack 6
1307
1378
  Object.defineProperty(Module.prototype, "isUsed", {
1308
1379
  /**
1380
+ * Returns throw an error.
1309
1381
  * @deprecated
1310
1382
  * @returns {EXPECTED_ANY} throw an error
1311
1383
  */
@@ -1319,11 +1391,13 @@ Object.defineProperty(Module.prototype, "isUsed", {
1319
1391
  // TODO remove in webpack 6
1320
1392
  Object.defineProperty(Module.prototype, "errors", {
1321
1393
  /**
1394
+ * Returns errors.
1322
1395
  * @deprecated
1323
1396
  * @returns {WebpackError[]} errors
1324
1397
  */
1325
1398
  get: util.deprecate(
1326
1399
  /**
1400
+ * Returns errors.
1327
1401
  * @this {Module}
1328
1402
  * @returns {WebpackError[]} errors
1329
1403
  */
@@ -1341,11 +1415,13 @@ Object.defineProperty(Module.prototype, "errors", {
1341
1415
  // TODO remove in webpack 6
1342
1416
  Object.defineProperty(Module.prototype, "warnings", {
1343
1417
  /**
1418
+ * Returns warnings.
1344
1419
  * @deprecated
1345
1420
  * @returns {WebpackError[]} warnings
1346
1421
  */
1347
1422
  get: util.deprecate(
1348
1423
  /**
1424
+ * Returns warnings.
1349
1425
  * @this {Module}
1350
1426
  * @returns {WebpackError[]} warnings
1351
1427
  */
@@ -1363,6 +1439,7 @@ Object.defineProperty(Module.prototype, "warnings", {
1363
1439
  // TODO remove in webpack 6
1364
1440
  Object.defineProperty(Module.prototype, "used", {
1365
1441
  /**
1442
+ * Returns throw an error.
1366
1443
  * @deprecated
1367
1444
  * @returns {EXPECTED_ANY} throw an error
1368
1445
  */
@@ -1372,6 +1449,7 @@ Object.defineProperty(Module.prototype, "used", {
1372
1449
  );
1373
1450
  },
1374
1451
  /**
1452
+ * Updates used using the provided value.
1375
1453
  * @param {EXPECTED_ANY} value value
1376
1454
  */
1377
1455
  set(value) {
@@ -16,6 +16,7 @@ const makeSerializable = require("./util/makeSerializable");
16
16
 
17
17
  class ModuleBuildError extends WebpackError {
18
18
  /**
19
+ * Creates an instance of ModuleBuildError.
19
20
  * @param {string | ErrorWithHideStack} err error thrown
20
21
  * @param {{ from?: string | null }} info additional info
21
22
  */
@@ -56,6 +57,7 @@ class ModuleBuildError extends WebpackError {
56
57
  }
57
58
 
58
59
  /**
60
+ * Serializes this instance into the provided serializer context.
59
61
  * @param {ObjectSerializerContext} context context
60
62
  */
61
63
  serialize(context) {
@@ -67,6 +69,7 @@ class ModuleBuildError extends WebpackError {
67
69
  }
68
70
 
69
71
  /**
72
+ * Restores this instance from the provided deserializer context.
70
73
  * @param {ObjectDeserializerContext} context context
71
74
  */
72
75
  deserialize(context) {
@@ -14,6 +14,7 @@ const makeSerializable = require("./util/makeSerializable");
14
14
 
15
15
  class ModuleDependencyWarning extends WebpackError {
16
16
  /**
17
+ * Creates an instance of ModuleDependencyWarning.
17
18
  * @param {Module} module module tied to dependency
18
19
  * @param {ErrorWithHideStack} err error thrown
19
20
  * @param {DependencyLocation} loc location of dependency
@@ -42,6 +42,7 @@ class ModuleError extends WebpackError {
42
42
  }
43
43
 
44
44
  /**
45
+ * Serializes this instance into the provided serializer context.
45
46
  * @param {ObjectSerializerContext} context context
46
47
  */
47
48
  serialize(context) {
@@ -53,6 +54,7 @@ class ModuleError extends WebpackError {
53
54
  }
54
55
 
55
56
  /**
57
+ * Restores this instance from the provided deserializer context.
56
58
  * @param {ObjectDeserializerContext} context context
57
59
  */
58
60
  deserialize(context) {
@@ -10,6 +10,7 @@
10
10
  /** @typedef {import("./Module")} Module */
11
11
 
12
12
  /**
13
+ * Defines the module factory result type used by this module.
13
14
  * @typedef {object} ModuleFactoryResult
14
15
  * @property {Module=} module the created module or unset if no module was created
15
16
  * @property {Set<string>=} fileDependencies
@@ -21,6 +22,7 @@
21
22
  /** @typedef {string | null} IssuerLayer */
22
23
 
23
24
  /**
25
+ * Defines the module factory create data context info type used by this module.
24
26
  * @typedef {object} ModuleFactoryCreateDataContextInfo
25
27
  * @property {string} issuer
26
28
  * @property {IssuerLayer} issuerLayer
@@ -28,6 +30,7 @@
28
30
  */
29
31
 
30
32
  /**
33
+ * Defines the module factory create data type used by this module.
31
34
  * @typedef {object} ModuleFactoryCreateData
32
35
  * @property {ModuleFactoryCreateDataContextInfo} contextInfo
33
36
  * @property {ResolveOptions=} resolveOptions
@@ -36,12 +39,14 @@
36
39
  */
37
40
 
38
41
  /**
42
+ * Represents the module factory runtime component.
39
43
  * @typedef {(err?: Error | null, result?: ModuleFactoryResult) => void} ModuleFactoryCallback
40
44
  */
41
45
 
42
46
  class ModuleFactory {
43
47
  /* istanbul ignore next */
44
48
  /**
49
+ * Processes the provided data.
45
50
  * @abstract
46
51
  * @param {ModuleFactoryCreateData} data data object
47
52
  * @param {ModuleFactoryCallback} callback callback