webpack 5.106.1 → 5.106.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/lib/APIPlugin.js +3 -1
  2. package/lib/AbstractMethodError.js +10 -1
  3. package/lib/AsyncDependenciesBlock.js +3 -0
  4. package/lib/AsyncDependencyToInitialChunkError.js +6 -1
  5. package/lib/AutomaticPrefetchPlugin.js +6 -1
  6. package/lib/BannerPlugin.js +10 -1
  7. package/lib/Cache.js +26 -1
  8. package/lib/CacheFacade.js +26 -0
  9. package/lib/CaseSensitiveModulesWarning.js +9 -1
  10. package/lib/Chunk.js +46 -0
  11. package/lib/ChunkGraph.js +111 -0
  12. package/lib/ChunkGroup.js +57 -13
  13. package/lib/ChunkTemplate.js +9 -0
  14. package/lib/CleanPlugin.js +14 -1
  15. package/lib/CodeGenerationResults.js +19 -0
  16. package/lib/CommentCompilationWarning.js +6 -0
  17. package/lib/CompatibilityPlugin.js +15 -1
  18. package/lib/Compilation.js +127 -1
  19. package/lib/Compiler.js +37 -4
  20. package/lib/ConcatenationScope.js +24 -1
  21. package/lib/ConditionalInitFragment.js +6 -0
  22. package/lib/ConstPlugin.js +4 -1
  23. package/lib/ContextExclusionPlugin.js +2 -1
  24. package/lib/ContextModule.js +12 -0
  25. package/lib/ContextModuleFactory.js +10 -0
  26. package/lib/ContextReplacementPlugin.js +4 -1
  27. package/lib/CssModule.js +6 -0
  28. package/lib/DefinePlugin.js +20 -7
  29. package/lib/DelegatedModule.js +13 -0
  30. package/lib/DelegatedModuleFactoryPlugin.js +3 -0
  31. package/lib/DelegatedPlugin.js +2 -1
  32. package/lib/DependenciesBlock.js +6 -1
  33. package/lib/Dependency.js +26 -3
  34. package/lib/DependencyTemplate.js +5 -0
  35. package/lib/DependencyTemplates.js +4 -0
  36. package/lib/DllEntryPlugin.js +2 -1
  37. package/lib/DllModule.js +11 -0
  38. package/lib/DllModuleFactory.js +1 -0
  39. package/lib/DllPlugin.js +2 -1
  40. package/lib/DllReferencePlugin.js +11 -6
  41. package/lib/DotenvPlugin.js +3 -0
  42. package/lib/DynamicEntryPlugin.js +3 -1
  43. package/lib/EntryOptionPlugin.js +3 -0
  44. package/lib/EntryPlugin.js +2 -1
  45. package/lib/Entrypoint.js +4 -0
  46. package/lib/EnvironmentPlugin.js +2 -1
  47. package/lib/ErrorHelpers.js +7 -0
  48. package/lib/EvalDevToolModulePlugin.js +3 -1
  49. package/lib/EvalSourceMapDevToolPlugin.js +3 -1
  50. package/lib/ExportsInfo.js +56 -2
  51. package/lib/ExportsInfoApiPlugin.js +2 -1
  52. package/lib/ExternalModule.js +38 -0
  53. package/lib/ExternalModuleFactoryPlugin.js +10 -0
  54. package/lib/ExternalsPlugin.js +2 -1
  55. package/lib/FileSystemInfo.js +105 -0
  56. package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
  57. package/lib/FlagDependencyExportsPlugin.js +4 -1
  58. package/lib/FlagDependencyUsagePlugin.js +5 -1
  59. package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
  60. package/lib/Generator.js +13 -0
  61. package/lib/GraphHelpers.js +3 -0
  62. package/lib/HookWebpackError.js +6 -0
  63. package/lib/HotModuleReplacementPlugin.js +9 -1
  64. package/lib/IgnoreErrorModuleFactory.js +2 -0
  65. package/lib/IgnorePlugin.js +2 -1
  66. package/lib/IgnoreWarningsPlugin.js +2 -1
  67. package/lib/InitFragment.js +10 -0
  68. package/lib/InvalidDependenciesModuleWarning.js +1 -0
  69. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  70. package/lib/LibManifestPlugin.js +4 -1
  71. package/lib/LibraryTemplatePlugin.js +2 -1
  72. package/lib/LoaderOptionsPlugin.js +3 -1
  73. package/lib/LoaderTargetPlugin.js +2 -1
  74. package/lib/MainTemplate.js +15 -0
  75. package/lib/ManifestPlugin.js +9 -2
  76. package/lib/Module.js +82 -1
  77. package/lib/ModuleBuildError.js +3 -0
  78. package/lib/ModuleDependencyWarning.js +1 -0
  79. package/lib/ModuleError.js +2 -0
  80. package/lib/ModuleFactory.js +5 -0
  81. package/lib/ModuleFilenameHelpers.js +3 -0
  82. package/lib/ModuleGraph.js +66 -0
  83. package/lib/ModuleGraphConnection.js +9 -0
  84. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  85. package/lib/ModuleNotFoundError.js +1 -0
  86. package/lib/ModuleParseError.js +3 -0
  87. package/lib/ModuleRestoreError.js +1 -0
  88. package/lib/ModuleSourceTypeConstants.js +1 -0
  89. package/lib/ModuleStoreError.js +1 -0
  90. package/lib/ModuleTemplate.js +8 -0
  91. package/lib/ModuleWarning.js +3 -0
  92. package/lib/MultiCompiler.js +28 -0
  93. package/lib/MultiStats.js +8 -0
  94. package/lib/MultiWatching.js +3 -0
  95. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  96. package/lib/NodeStuffInWebError.js +1 -0
  97. package/lib/NodeStuffPlugin.js +10 -1
  98. package/lib/NormalModule.js +30 -2
  99. package/lib/NormalModuleFactory.js +25 -0
  100. package/lib/NormalModuleReplacementPlugin.js +1 -1
  101. package/lib/NullFactory.js +1 -0
  102. package/lib/OptionsApply.js +1 -0
  103. package/lib/Parser.js +2 -0
  104. package/lib/PlatformPlugin.js +2 -1
  105. package/lib/PrefetchPlugin.js +2 -1
  106. package/lib/ProgressPlugin.js +29 -12
  107. package/lib/ProvidePlugin.js +3 -1
  108. package/lib/RawModule.js +12 -0
  109. package/lib/RecordIdsPlugin.js +8 -0
  110. package/lib/RequestShortener.js +8 -0
  111. package/lib/RequireJsStuffPlugin.js +2 -1
  112. package/lib/ResolverFactory.js +5 -0
  113. package/lib/RuntimeGlobals.js +1 -0
  114. package/lib/RuntimeModule.js +13 -0
  115. package/lib/RuntimePlugin.js +2 -0
  116. package/lib/RuntimeTemplate.js +35 -1
  117. package/lib/SelfModuleFactory.js +2 -0
  118. package/lib/SizeFormatHelpers.js +1 -0
  119. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  120. package/lib/SourceMapDevToolPlugin.js +3 -1
  121. package/lib/Stats.js +5 -0
  122. package/lib/Template.js +20 -0
  123. package/lib/TemplatedPathPlugin.js +10 -3
  124. package/lib/UnhandledSchemeError.js +6 -0
  125. package/lib/UnsupportedFeatureWarning.js +1 -0
  126. package/lib/UseStrictPlugin.js +2 -1
  127. package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
  128. package/lib/WarnDeprecatedOptionPlugin.js +1 -1
  129. package/lib/WarnNoModeSetPlugin.js +1 -1
  130. package/lib/WatchIgnorePlugin.js +4 -1
  131. package/lib/Watching.js +14 -0
  132. package/lib/WebpackError.js +3 -0
  133. package/lib/WebpackIsIncludedPlugin.js +2 -0
  134. package/lib/WebpackOptionsApply.js +1 -0
  135. package/lib/WebpackOptionsDefaulter.js +1 -0
  136. package/lib/asset/AssetBytesGenerator.js +6 -0
  137. package/lib/asset/AssetBytesParser.js +1 -0
  138. package/lib/asset/AssetGenerator.js +20 -2
  139. package/lib/asset/AssetModulesPlugin.js +4 -1
  140. package/lib/asset/AssetParser.js +2 -0
  141. package/lib/asset/AssetSourceGenerator.js +6 -0
  142. package/lib/asset/AssetSourceParser.js +1 -0
  143. package/lib/asset/RawDataUrlModule.js +11 -0
  144. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  145. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  146. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  147. package/lib/buildChunkGraph.js +15 -0
  148. package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
  149. package/lib/cache/AddManagedPathsPlugin.js +2 -1
  150. package/lib/cache/IdleFileCachePlugin.js +2 -1
  151. package/lib/cache/MemoryCachePlugin.js +1 -1
  152. package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
  153. package/lib/cache/PackFileCacheStrategy.js +29 -0
  154. package/lib/cache/ResolverCachePlugin.js +10 -1
  155. package/lib/cache/getLazyHashedEtag.js +4 -0
  156. package/lib/cache/mergeEtags.js +2 -0
  157. package/lib/cli.js +30 -0
  158. package/lib/config/browserslistTargetHandler.js +2 -0
  159. package/lib/config/defaults.js +35 -2
  160. package/lib/config/normalization.js +12 -0
  161. package/lib/config/target.js +11 -0
  162. package/lib/container/ContainerEntryDependency.js +2 -0
  163. package/lib/container/ContainerEntryModule.js +12 -0
  164. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  165. package/lib/container/ContainerExposedDependency.js +4 -0
  166. package/lib/container/ContainerPlugin.js +2 -1
  167. package/lib/container/ContainerReferencePlugin.js +2 -1
  168. package/lib/container/FallbackDependency.js +4 -0
  169. package/lib/container/FallbackItemDependency.js +1 -0
  170. package/lib/container/FallbackModule.js +12 -0
  171. package/lib/container/FallbackModuleFactory.js +1 -0
  172. package/lib/container/ModuleFederationPlugin.js +3 -1
  173. package/lib/container/RemoteModule.js +13 -0
  174. package/lib/container/RemoteRuntimeModule.js +1 -0
  175. package/lib/container/RemoteToExternalDependency.js +1 -0
  176. package/lib/container/options.js +7 -0
  177. package/lib/css/CssGenerator.js +35 -14
  178. package/lib/css/CssInjectStyleRuntimeModule.js +1 -0
  179. package/lib/css/CssLoadingRuntimeModule.js +1 -0
  180. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +1 -0
  181. package/lib/css/CssModulesPlugin.js +69 -3
  182. package/lib/css/CssParser.js +59 -1
  183. package/lib/css/walkCssTokens.js +31 -0
  184. package/lib/debug/ProfilingPlugin.js +19 -1
  185. package/lib/dependencies/AMDDefineDependency.js +7 -0
  186. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
  187. package/lib/dependencies/AMDPlugin.js +4 -1
  188. package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
  189. package/lib/dependencies/AMDRequireContextDependency.js +3 -0
  190. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  191. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +13 -0
  192. package/lib/dependencies/AMDRequireDependency.js +4 -0
  193. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  194. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  195. package/lib/dependencies/CachedConstDependency.js +6 -1
  196. package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
  197. package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
  198. package/lib/dependencies/CommonJsExportsDependency.js +4 -0
  199. package/lib/dependencies/CommonJsExportsParserPlugin.js +8 -0
  200. package/lib/dependencies/CommonJsFullRequireDependency.js +4 -0
  201. package/lib/dependencies/CommonJsImportsParserPlugin.js +20 -0
  202. package/lib/dependencies/CommonJsPlugin.js +4 -1
  203. package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
  204. package/lib/dependencies/CommonJsRequireDependency.js +3 -0
  205. package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
  206. package/lib/dependencies/ConstDependency.js +6 -1
  207. package/lib/dependencies/ContextDependency.js +8 -1
  208. package/lib/dependencies/ContextDependencyHelpers.js +3 -0
  209. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
  210. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  211. package/lib/dependencies/ContextElementDependency.js +4 -0
  212. package/lib/dependencies/CreateRequireParserPlugin.js +6 -0
  213. package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
  214. package/lib/dependencies/CriticalDependencyWarning.js +1 -0
  215. package/lib/dependencies/CssIcssExportDependency.js +10 -2
  216. package/lib/dependencies/CssIcssImportDependency.js +4 -1
  217. package/lib/dependencies/CssIcssSymbolDependency.js +5 -1
  218. package/lib/dependencies/CssImportDependency.js +4 -0
  219. package/lib/dependencies/CssUrlDependency.js +7 -0
  220. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  221. package/lib/dependencies/DllEntryDependency.js +3 -0
  222. package/lib/dependencies/DynamicExports.js +5 -0
  223. package/lib/dependencies/EntryDependency.js +1 -0
  224. package/lib/dependencies/ExportsInfoDependency.js +6 -0
  225. package/lib/dependencies/ExternalModuleDependency.js +5 -0
  226. package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
  227. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
  228. package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
  229. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  230. package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
  231. package/lib/dependencies/HarmonyDetectionParserPlugin.js +3 -0
  232. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
  233. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
  234. package/lib/dependencies/HarmonyExportExpressionDependency.js +5 -0
  235. package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
  236. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +33 -2
  237. package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
  238. package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
  239. package/lib/dependencies/HarmonyExports.js +2 -0
  240. package/lib/dependencies/HarmonyImportDependency.js +11 -0
  241. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +9 -0
  242. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
  243. package/lib/dependencies/HarmonyImportSpecifierDependency.js +17 -2
  244. package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
  245. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
  246. package/lib/dependencies/ImportContextDependency.js +4 -0
  247. package/lib/dependencies/ImportDependency.js +5 -0
  248. package/lib/dependencies/ImportEagerDependency.js +2 -0
  249. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  250. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +3 -0
  251. package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
  252. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  253. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  254. package/lib/dependencies/ImportMetaPlugin.js +6 -0
  255. package/lib/dependencies/ImportParserPlugin.js +7 -0
  256. package/lib/dependencies/ImportPhase.js +6 -2
  257. package/lib/dependencies/ImportPlugin.js +2 -1
  258. package/lib/dependencies/ImportWeakDependency.js +2 -0
  259. package/lib/dependencies/JsonExportsDependency.js +6 -1
  260. package/lib/dependencies/LoaderDependency.js +2 -0
  261. package/lib/dependencies/LoaderImportDependency.js +2 -0
  262. package/lib/dependencies/LoaderPlugin.js +4 -1
  263. package/lib/dependencies/LocalModule.js +4 -0
  264. package/lib/dependencies/LocalModuleDependency.js +4 -0
  265. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  266. package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
  267. package/lib/dependencies/ModuleDependency.js +7 -0
  268. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  269. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  270. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  271. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  272. package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
  273. package/lib/dependencies/NullDependency.js +2 -0
  274. package/lib/dependencies/PrefetchDependency.js +1 -0
  275. package/lib/dependencies/ProvidedDependency.js +6 -1
  276. package/lib/dependencies/PureExpressionDependency.js +7 -1
  277. package/lib/dependencies/RequireContextDependency.js +1 -0
  278. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
  279. package/lib/dependencies/RequireContextPlugin.js +2 -1
  280. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  281. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
  282. package/lib/dependencies/RequireEnsureDependency.js +4 -0
  283. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  284. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  285. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  286. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  287. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
  288. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  289. package/lib/dependencies/RequireResolveContextDependency.js +3 -0
  290. package/lib/dependencies/RequireResolveDependency.js +1 -0
  291. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  292. package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
  293. package/lib/dependencies/StaticExportsDependency.js +3 -0
  294. package/lib/dependencies/SystemPlugin.js +4 -1
  295. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  296. package/lib/dependencies/URLContextDependency.js +3 -0
  297. package/lib/dependencies/URLDependency.js +6 -0
  298. package/lib/dependencies/URLPlugin.js +2 -0
  299. package/lib/dependencies/UnsupportedDependency.js +4 -0
  300. package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
  301. package/lib/dependencies/WebAssemblyImportDependency.js +4 -1
  302. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
  303. package/lib/dependencies/WorkerDependency.js +6 -1
  304. package/lib/dependencies/WorkerPlugin.js +9 -1
  305. package/lib/dependencies/getFunctionExpression.js +1 -0
  306. package/lib/dependencies/processExportInfo.js +1 -0
  307. package/lib/electron/ElectronTargetPlugin.js +2 -1
  308. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  309. package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
  310. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
  311. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
  312. package/lib/formatLocation.js +2 -0
  313. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  314. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  315. package/lib/hmr/LazyCompilationPlugin.js +20 -1
  316. package/lib/hmr/lazyCompilationBackend.js +2 -0
  317. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  318. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  319. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  320. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  321. package/lib/ids/IdHelpers.js +20 -0
  322. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  323. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  324. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  325. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  326. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  327. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  328. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  329. package/lib/index.js +5 -0
  330. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  331. package/lib/javascript/BasicEvaluatedExpression.js +4 -2
  332. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  333. package/lib/javascript/ChunkHelpers.js +1 -0
  334. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  335. package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
  336. package/lib/javascript/JavascriptGenerator.js +10 -0
  337. package/lib/javascript/JavascriptModulesPlugin.js +23 -1
  338. package/lib/javascript/JavascriptParser.js +163 -0
  339. package/lib/javascript/JavascriptParserHelpers.js +6 -0
  340. package/lib/javascript/StartupHelpers.js +5 -0
  341. package/lib/json/JsonData.js +5 -0
  342. package/lib/json/JsonGenerator.js +21 -0
  343. package/lib/json/JsonModulesPlugin.js +1 -1
  344. package/lib/json/JsonParser.js +8 -10
  345. package/lib/library/AbstractLibraryPlugin.js +16 -1
  346. package/lib/library/AmdLibraryPlugin.js +8 -0
  347. package/lib/library/AssignLibraryPlugin.js +16 -0
  348. package/lib/library/EnableLibraryPlugin.js +7 -1
  349. package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
  350. package/lib/library/JsonpLibraryPlugin.js +8 -0
  351. package/lib/library/ModuleLibraryPlugin.js +12 -1
  352. package/lib/library/SystemLibraryPlugin.js +8 -0
  353. package/lib/library/UmdLibraryPlugin.js +16 -0
  354. package/lib/logging/Logger.js +17 -0
  355. package/lib/logging/createConsoleLogger.js +7 -0
  356. package/lib/logging/runtime.js +2 -0
  357. package/lib/logging/truncateArgs.js +2 -0
  358. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  359. package/lib/node/NodeEnvironmentPlugin.js +3 -1
  360. package/lib/node/NodeSourcePlugin.js +1 -1
  361. package/lib/node/NodeTargetPlugin.js +2 -1
  362. package/lib/node/NodeTemplatePlugin.js +3 -1
  363. package/lib/node/NodeWatchFileSystem.js +2 -0
  364. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
  365. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
  366. package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
  367. package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
  368. package/lib/node/nodeConsole.js +3 -0
  369. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  370. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  371. package/lib/optimize/ConcatenatedModule.js +11 -0
  372. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  373. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
  374. package/lib/optimize/InnerGraph.js +15 -0
  375. package/lib/optimize/InnerGraphPlugin.js +3 -1
  376. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  377. package/lib/optimize/MangleExportsPlugin.js +5 -1
  378. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  379. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  380. package/lib/optimize/MinMaxSizeWarning.js +1 -0
  381. package/lib/optimize/ModuleConcatenationPlugin.js +21 -1
  382. package/lib/optimize/RealContentHashPlugin.js +16 -1
  383. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  384. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  385. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  386. package/lib/optimize/SideEffectsFlagPlugin.js +7 -1
  387. package/lib/optimize/SplitChunksPlugin.js +49 -1
  388. package/lib/performance/AssetsOverSizeLimitWarning.js +1 -0
  389. package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -0
  390. package/lib/performance/SizeLimitsPlugin.js +7 -1
  391. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  392. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
  393. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  394. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -0
  395. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
  396. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  397. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  398. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  399. package/lib/rules/RuleSetCompiler.js +18 -0
  400. package/lib/rules/UseEffectRulePlugin.js +6 -0
  401. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
  402. package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
  403. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  404. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  405. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
  406. package/lib/runtime/CompatRuntimeModule.js +2 -0
  407. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
  408. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  409. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  410. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
  411. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  412. package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
  413. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  414. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  415. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
  416. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  417. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
  418. package/lib/runtime/HelperRuntimeModule.js +5 -0
  419. package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
  420. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +2 -0
  421. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
  422. package/lib/runtime/NonceRuntimeModule.js +1 -0
  423. package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
  424. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  425. package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
  426. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  427. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  428. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
  429. package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
  430. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  431. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  432. package/lib/schemes/DataUriPlugin.js +1 -1
  433. package/lib/schemes/FileUriPlugin.js +1 -1
  434. package/lib/schemes/HttpUriPlugin.js +43 -1
  435. package/lib/schemes/VirtualUrlPlugin.js +6 -1
  436. package/lib/serialization/AggregateErrorSerializer.js +2 -0
  437. package/lib/serialization/ArraySerializer.js +2 -0
  438. package/lib/serialization/BinaryMiddleware.js +20 -1
  439. package/lib/serialization/DateObjectSerializer.js +2 -0
  440. package/lib/serialization/ErrorObjectSerializer.js +3 -0
  441. package/lib/serialization/FileMiddleware.js +21 -0
  442. package/lib/serialization/MapObjectSerializer.js +2 -0
  443. package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
  444. package/lib/serialization/ObjectMiddleware.js +23 -0
  445. package/lib/serialization/PlainObjectSerializer.js +7 -0
  446. package/lib/serialization/RegExpObjectSerializer.js +2 -0
  447. package/lib/serialization/Serializer.js +5 -0
  448. package/lib/serialization/SerializerMiddleware.js +12 -0
  449. package/lib/serialization/SetObjectSerializer.js +2 -0
  450. package/lib/serialization/SingleItemMiddleware.js +3 -0
  451. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  452. package/lib/sharing/ConsumeSharedModule.js +15 -0
  453. package/lib/sharing/ConsumeSharedPlugin.js +6 -1
  454. package/lib/sharing/ConsumeSharedRuntimeModule.js +1 -0
  455. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  456. package/lib/sharing/ProvideSharedDependency.js +4 -0
  457. package/lib/sharing/ProvideSharedModule.js +11 -0
  458. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  459. package/lib/sharing/ProvideSharedPlugin.js +4 -1
  460. package/lib/sharing/SharePlugin.js +2 -1
  461. package/lib/sharing/ShareRuntimeModule.js +1 -0
  462. package/lib/sharing/resolveMatchedConfigs.js +3 -0
  463. package/lib/sharing/utils.js +8 -0
  464. package/lib/stats/DefaultStatsFactoryPlugin.js +56 -1
  465. package/lib/stats/DefaultStatsPresetPlugin.js +11 -1
  466. package/lib/stats/DefaultStatsPrinterPlugin.js +37 -1
  467. package/lib/stats/StatsFactory.js +12 -0
  468. package/lib/stats/StatsPrinter.js +7 -0
  469. package/lib/url/URLParserPlugin.js +6 -0
  470. package/lib/util/AppendOnlyStackedSet.js +15 -0
  471. package/lib/util/ArrayHelpers.js +1 -0
  472. package/lib/util/ArrayQueue.js +10 -5
  473. package/lib/util/AsyncQueue.js +20 -0
  474. package/lib/util/IterableHelpers.js +3 -0
  475. package/lib/util/LazyBucketSortedSet.js +21 -0
  476. package/lib/util/LazySet.js +39 -0
  477. package/lib/util/ParallelismFactorCalculator.js +1 -0
  478. package/lib/util/Queue.js +6 -3
  479. package/lib/util/Semaphore.js +14 -1
  480. package/lib/util/SetHelpers.js +3 -0
  481. package/lib/util/SortableSet.js +6 -0
  482. package/lib/util/StackedCacheMap.js +20 -3
  483. package/lib/util/StackedMap.js +45 -0
  484. package/lib/util/StringXor.js +1 -1
  485. package/lib/util/TupleQueue.js +7 -3
  486. package/lib/util/TupleSet.js +13 -0
  487. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  488. package/lib/util/WeakTupleMap.js +33 -0
  489. package/lib/util/binarySearchBounds.js +1 -0
  490. package/lib/util/cleverMerge.js +17 -0
  491. package/lib/util/comparators.js +31 -0
  492. package/lib/util/compileBooleanMatcher.js +9 -0
  493. package/lib/util/concatenate.js +6 -0
  494. package/lib/util/conventions.js +4 -0
  495. package/lib/util/dataURL.js +1 -0
  496. package/lib/util/deprecation.js +19 -0
  497. package/lib/util/deterministicGrouping.js +20 -0
  498. package/lib/util/extractSourceMap.js +1 -0
  499. package/lib/util/extractUrlAndGlobal.js +1 -0
  500. package/lib/util/findGraphRoots.js +5 -0
  501. package/lib/util/fs.js +63 -0
  502. package/lib/util/generateDebugId.js +1 -0
  503. package/lib/util/hash/BatchedHash.js +1 -0
  504. package/lib/util/hash/BulkUpdateHash.js +1 -0
  505. package/lib/util/hash/hash-digest.js +8 -0
  506. package/lib/util/hash/wasm-hash.js +5 -0
  507. package/lib/util/identifier.js +19 -0
  508. package/lib/util/magicComment.js +1 -0
  509. package/lib/util/makeSerializable.js +6 -0
  510. package/lib/util/memoize.js +2 -0
  511. package/lib/util/mimeTypes.js +176 -0
  512. package/lib/util/nonNumericOnlyHash.js +1 -0
  513. package/lib/util/parseJson.js +112 -0
  514. package/lib/util/processAsyncTree.js +8 -0
  515. package/lib/util/property.js +1 -0
  516. package/lib/util/registerExternalSerializer.js +20 -0
  517. package/lib/util/removeBOM.js +1 -0
  518. package/lib/util/runtime.js +32 -0
  519. package/lib/util/semver.js +15 -0
  520. package/lib/util/serialization.js +2 -0
  521. package/lib/util/smartGrouping.js +8 -0
  522. package/lib/util/source.js +2 -0
  523. package/lib/validateSchema.js +1 -0
  524. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  525. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
  526. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
  527. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  528. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
  529. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +10 -1
  530. package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -0
  531. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
  532. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
  533. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
  534. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +1 -1
  535. package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
  536. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
  537. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  538. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
  539. package/lib/wasm-sync/WebAssemblyParser.js +2 -0
  540. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  541. package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
  542. package/lib/web/FetchCompileWasmPlugin.js +13 -1
  543. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  544. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
  545. package/lib/web/JsonpTemplatePlugin.js +2 -1
  546. package/lib/webpack.js +10 -0
  547. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  548. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
  549. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  550. package/package.json +12 -14
  551. package/schemas/WebpackOptions.check.js +1 -1
  552. package/schemas/WebpackOptions.json +44 -55
  553. package/types.d.ts +4594 -331
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
@@ -121,11 +127,13 @@ const makeSerializable = require("./util/makeSerializable");
121
127
  */
122
128
 
123
129
  /**
130
+ * Defines the code gen value type used by this module.
124
131
  * @template {string} K
125
132
  * @typedef {K extends keyof AllCodeGenerationSchemas ? AllCodeGenerationSchemas[K] : EXPECTED_ANY} CodeGenValue
126
133
  */
127
134
 
128
135
  /**
136
+ * Defines the code gen map overloads type used by this module.
129
137
  * @typedef {object} CodeGenMapOverloads
130
138
  * @property {<K extends string>(key: K) => CodeGenValue<K> | undefined} get
131
139
  * @property {<K extends string>(key: K, value: CodeGenValue<K>) => CodeGenerationResultData} set
@@ -134,12 +142,14 @@ const makeSerializable = require("./util/makeSerializable");
134
142
  */
135
143
 
136
144
  /**
145
+ * Defines the code generation result data type used by this module.
137
146
  * @typedef {Omit<Map<string, EXPECTED_ANY>, "get" | "set" | "has" | "delete"> & CodeGenMapOverloads} CodeGenerationResultData
138
147
  */
139
148
 
140
149
  /** @typedef {Map<SourceType, Source>} Sources */
141
150
 
142
151
  /**
152
+ * Defines the code generation result type used by this module.
143
153
  * @typedef {object} CodeGenerationResult
144
154
  * @property {Sources} sources the resulting sources for all source types
145
155
  * @property {CodeGenerationResultData=} data the resulting data for all source types
@@ -148,12 +158,14 @@ const makeSerializable = require("./util/makeSerializable");
148
158
  */
149
159
 
150
160
  /**
161
+ * Defines the lib ident options type used by this module.
151
162
  * @typedef {object} LibIdentOptions
152
163
  * @property {string} context absolute context path to which lib ident is relative to
153
164
  * @property {AssociatedObjectForCache=} associatedObjectForCache object for caching
154
165
  */
155
166
 
156
167
  /**
168
+ * Defines the known build meta type used by this module.
157
169
  * @typedef {object} KnownBuildMeta
158
170
  * @property {("default" | "namespace" | "flagged" | "dynamic")=} exportsType
159
171
  * @property {(false | "redirect" | "redirect-warn")=} defaultObject
@@ -168,6 +180,7 @@ const makeSerializable = require("./util/makeSerializable");
168
180
  */
169
181
 
170
182
  /**
183
+ * Defines the known build info type used by this module.
171
184
  * @typedef {object} KnownBuildInfo
172
185
  * @property {boolean=} cacheable
173
186
  * @property {boolean=} parsed
@@ -193,6 +206,7 @@ const makeSerializable = require("./util/makeSerializable");
193
206
  * @property {boolean=} javascriptModule for external modules
194
207
  * @property {boolean=} active for lazy compilation modules
195
208
  * @property {CssData=} cssData for css modules
209
+ * @property {string=} charset for css modules (charset at-rule)
196
210
  * @property {JsonData=} jsonData for json modules
197
211
  * @property {Set<string>=} topLevelDeclarations top level declaration names
198
212
  */
@@ -201,6 +215,7 @@ const makeSerializable = require("./util/makeSerializable");
201
215
  /** @typedef {Map<string, ValueCacheVersion>} ValueCacheVersions */
202
216
 
203
217
  /**
218
+ * Defines the need build context type used by this module.
204
219
  * @typedef {object} NeedBuildContext
205
220
  * @property {Compilation} compilation
206
221
  * @property {FileSystemInfo} fileSystemInfo
@@ -215,6 +230,7 @@ const makeSerializable = require("./util/makeSerializable");
215
230
  /** @typedef {KnownBuildInfo & Record<string, EXPECTED_ANY>} BuildInfo */
216
231
 
217
232
  /**
233
+ * Defines the factory meta type used by this module.
218
234
  * @typedef {object} FactoryMeta
219
235
  * @property {boolean=} sideEffectFree
220
236
  */
@@ -228,6 +244,7 @@ const DEFAULT_TYPES_UNKNOWN = new Set([UNKNOWN_TYPE]);
228
244
 
229
245
  const deprecatedNeedRebuild = util.deprecate(
230
246
  /**
247
+ * Handles the callback logic for this hook.
231
248
  * @param {Module} module the module
232
249
  * @param {NeedBuildContext} context context info
233
250
  * @returns {boolean} true, when rebuild is needed
@@ -248,6 +265,7 @@ const deprecatedNeedRebuild = util.deprecate(
248
265
 
249
266
  class Module extends DependenciesBlock {
250
267
  /**
268
+ * Creates an instance of Module.
251
269
  * @param {ModuleTypes | ""} type the module type, when deserializing the type is not known and is an empty string
252
270
  * @param {(string | null)=} context an optional context
253
271
  * @param {(string | null)=} layer an optional layer in which the module is
@@ -302,6 +320,7 @@ class Module extends DependenciesBlock {
302
320
  // TODO remove in webpack 6
303
321
  // BACKWARD-COMPAT START
304
322
  /**
323
+ * Returns the module id assigned by the chunk graph.
305
324
  * @deprecated
306
325
  * @returns {ModuleId | null} module id
307
326
  */
@@ -314,6 +333,7 @@ class Module extends DependenciesBlock {
314
333
  }
315
334
 
316
335
  /**
336
+ * Updates the module id using the provided value.
317
337
  * @deprecated
318
338
  * @param {ModuleId} value value
319
339
  */
@@ -330,6 +350,7 @@ class Module extends DependenciesBlock {
330
350
  }
331
351
 
332
352
  /**
353
+ * Returns the hash of the module.
333
354
  * @deprecated
334
355
  * @returns {string} the hash of the module
335
356
  */
@@ -342,6 +363,7 @@ class Module extends DependenciesBlock {
342
363
  }
343
364
 
344
365
  /**
366
+ * Returns the rendered hash of the module.
345
367
  * @deprecated
346
368
  * @returns {string} the shortened hash of the module
347
369
  */
@@ -378,6 +400,7 @@ class Module extends DependenciesBlock {
378
400
  }
379
401
 
380
402
  /**
403
+ * Returns the pre-order index.
381
404
  * @deprecated
382
405
  * @returns {number | null} the pre order index
383
406
  */
@@ -390,6 +413,7 @@ class Module extends DependenciesBlock {
390
413
  }
391
414
 
392
415
  /**
416
+ * Updates the pre-order index using the provided value.
393
417
  * @deprecated
394
418
  * @param {number} value the pre order index
395
419
  */
@@ -402,6 +426,7 @@ class Module extends DependenciesBlock {
402
426
  }
403
427
 
404
428
  /**
429
+ * Returns the post-order index.
405
430
  * @deprecated
406
431
  * @returns {number | null} the post order index
407
432
  */
@@ -414,6 +439,7 @@ class Module extends DependenciesBlock {
414
439
  }
415
440
 
416
441
  /**
442
+ * Updates the post-order index using the provided value.
417
443
  * @deprecated
418
444
  * @param {number} value the post order index
419
445
  */
@@ -426,6 +452,7 @@ class Module extends DependenciesBlock {
426
452
  }
427
453
 
428
454
  /**
455
+ * Returns the depth.
429
456
  * @deprecated
430
457
  * @returns {number | null} the depth
431
458
  */
@@ -438,6 +465,7 @@ class Module extends DependenciesBlock {
438
465
  }
439
466
 
440
467
  /**
468
+ * Updates the depth using the provided value.
441
469
  * @deprecated
442
470
  * @param {number} value the depth
443
471
  */
@@ -450,6 +478,7 @@ class Module extends DependenciesBlock {
450
478
  }
451
479
 
452
480
  /**
481
+ * Returns the issuer.
453
482
  * @deprecated
454
483
  * @returns {Module | null | undefined} issuer
455
484
  */
@@ -462,6 +491,7 @@ class Module extends DependenciesBlock {
462
491
  }
463
492
 
464
493
  /**
494
+ * Updates the issuer using the provided value.
465
495
  * @deprecated
466
496
  * @param {Module | null} value issuer
467
497
  */
@@ -486,6 +516,7 @@ class Module extends DependenciesBlock {
486
516
  }
487
517
 
488
518
  /**
519
+ * Gets optimization bailout.
489
520
  * @deprecated
490
521
  * @returns {OptimizationBailouts} list
491
522
  */
@@ -512,6 +543,7 @@ class Module extends DependenciesBlock {
512
543
  }
513
544
 
514
545
  /**
546
+ * Adds the provided chunk to the module.
515
547
  * @deprecated
516
548
  * @param {Chunk} chunk the chunk
517
549
  * @returns {boolean} true, when the module was added
@@ -528,6 +560,7 @@ class Module extends DependenciesBlock {
528
560
  }
529
561
 
530
562
  /**
563
+ * Removes the provided chunk from the module.
531
564
  * @deprecated
532
565
  * @param {Chunk} chunk the chunk
533
566
  * @returns {void}
@@ -541,6 +574,7 @@ class Module extends DependenciesBlock {
541
574
  }
542
575
 
543
576
  /**
577
+ * Checks whether this module is in the provided chunk.
544
578
  * @deprecated
545
579
  * @param {Chunk} chunk the chunk
546
580
  * @returns {boolean} true, when the module is in the chunk
@@ -602,6 +636,7 @@ class Module extends DependenciesBlock {
602
636
  }
603
637
 
604
638
  /**
639
+ * Checks whether this module provides the specified export.
605
640
  * @deprecated
606
641
  * @param {string} exportName a name of an export
607
642
  * @returns {boolean | null} true, if the export is provided why the module.
@@ -618,6 +653,7 @@ class Module extends DependenciesBlock {
618
653
  // BACKWARD-COMPAT END
619
654
 
620
655
  /**
656
+ * Gets exports argument.
621
657
  * @returns {string} name of the exports argument
622
658
  */
623
659
  get exportsArgument() {
@@ -625,6 +661,7 @@ class Module extends DependenciesBlock {
625
661
  }
626
662
 
627
663
  /**
664
+ * Gets module argument.
628
665
  * @returns {string} name of the module argument
629
666
  */
630
667
  get moduleArgument() {
@@ -632,6 +669,7 @@ class Module extends DependenciesBlock {
632
669
  }
633
670
 
634
671
  /**
672
+ * Returns export type.
635
673
  * @param {ModuleGraph} moduleGraph the module graph
636
674
  * @param {boolean | undefined} strict the importing module is strict
637
675
  * @returns {ExportsType} export type
@@ -702,6 +740,7 @@ class Module extends DependenciesBlock {
702
740
  }
703
741
 
704
742
  /**
743
+ * Adds presentational dependency.
705
744
  * @param {Dependency} presentationalDependency dependency being tied to module.
706
745
  * This is a Dependency without edge in the module graph. It's only for presentation.
707
746
  * @returns {void}
@@ -714,6 +753,7 @@ class Module extends DependenciesBlock {
714
753
  }
715
754
 
716
755
  /**
756
+ * Adds code generation dependency.
717
757
  * @param {Dependency} codeGenerationDependency dependency being tied to module.
718
758
  * This is a Dependency where the code generation result of the referenced module is needed during code generation.
719
759
  * The Dependency should also be added to normal dependencies via addDependency.
@@ -727,7 +767,7 @@ class Module extends DependenciesBlock {
727
767
  }
728
768
 
729
769
  /**
730
- * Removes all dependencies and blocks
770
+ * Clear dependencies and blocks.
731
771
  * @returns {void}
732
772
  */
733
773
  clearDependenciesAndBlocks() {
@@ -741,6 +781,7 @@ class Module extends DependenciesBlock {
741
781
  }
742
782
 
743
783
  /**
784
+ * Adds the provided warning to the module.
744
785
  * @param {WebpackError} warning the warning
745
786
  * @returns {void}
746
787
  */
@@ -752,6 +793,7 @@ class Module extends DependenciesBlock {
752
793
  }
753
794
 
754
795
  /**
796
+ * Returns list of warnings if any.
755
797
  * @returns {Iterable<WebpackError> | undefined} list of warnings if any
756
798
  */
757
799
  getWarnings() {
@@ -759,6 +801,7 @@ class Module extends DependenciesBlock {
759
801
  }
760
802
 
761
803
  /**
804
+ * Gets number of warnings.
762
805
  * @returns {number} number of warnings
763
806
  */
764
807
  getNumberOfWarnings() {
@@ -766,6 +809,7 @@ class Module extends DependenciesBlock {
766
809
  }
767
810
 
768
811
  /**
812
+ * Adds the provided error to the module.
769
813
  * @param {WebpackError} error the error
770
814
  * @returns {void}
771
815
  */
@@ -777,6 +821,7 @@ class Module extends DependenciesBlock {
777
821
  }
778
822
 
779
823
  /**
824
+ * Returns list of errors if any.
780
825
  * @returns {Iterable<WebpackError> | undefined} list of errors if any
781
826
  */
782
827
  getErrors() {
@@ -784,6 +829,7 @@ class Module extends DependenciesBlock {
784
829
  }
785
830
 
786
831
  /**
832
+ * Gets number of errors.
787
833
  * @returns {number} number of errors
788
834
  */
789
835
  getNumberOfErrors() {
@@ -804,6 +850,7 @@ class Module extends DependenciesBlock {
804
850
  }
805
851
 
806
852
  /**
853
+ * Checks whether this module is optional.
807
854
  * @param {ModuleGraph} moduleGraph the module graph
808
855
  * @returns {boolean} true, if the module is optional
809
856
  */
@@ -823,6 +870,7 @@ class Module extends DependenciesBlock {
823
870
  }
824
871
 
825
872
  /**
873
+ * Checks whether this module is accessible in chunk.
826
874
  * @param {ChunkGraph} chunkGraph the chunk graph
827
875
  * @param {Chunk} chunk a chunk
828
876
  * @param {Chunk=} ignoreChunk chunk to be ignored
@@ -837,6 +885,7 @@ class Module extends DependenciesBlock {
837
885
  }
838
886
 
839
887
  /**
888
+ * Checks whether this module is accessible in chunk group.
840
889
  * @param {ChunkGraph} chunkGraph the chunk graph
841
890
  * @param {ChunkGroup} chunkGroup a chunk group
842
891
  * @param {Chunk=} ignoreChunk chunk to be ignored
@@ -864,6 +913,7 @@ class Module extends DependenciesBlock {
864
913
  }
865
914
 
866
915
  /**
916
+ * Checks whether this module contains the chunk.
867
917
  * @param {Chunk} chunk a chunk
868
918
  * @param {ModuleGraph} moduleGraph the module graph
869
919
  * @param {ChunkGraph} chunkGraph the chunk graph
@@ -889,6 +939,7 @@ class Module extends DependenciesBlock {
889
939
  }
890
940
 
891
941
  /**
942
+ * Checks whether this module contains the module graph.
892
943
  * @param {ModuleGraph} moduleGraph the module graph
893
944
  * @param {RuntimeSpec} runtime the runtime
894
945
  * @returns {boolean} true if at least one other module depends on this module
@@ -901,6 +952,7 @@ class Module extends DependenciesBlock {
901
952
  }
902
953
 
903
954
  /**
955
+ * Returns a string representation.
904
956
  * @returns {string} for debugging
905
957
  */
906
958
  toString() {
@@ -908,6 +960,7 @@ class Module extends DependenciesBlock {
908
960
  }
909
961
 
910
962
  /**
963
+ * Checks whether the module needs to be rebuilt for the current build state.
911
964
  * @param {NeedBuildContext} context context info
912
965
  * @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
913
966
  * @returns {void}
@@ -922,6 +975,7 @@ class Module extends DependenciesBlock {
922
975
  }
923
976
 
924
977
  /**
978
+ * Checks whether it needs rebuild.
925
979
  * @deprecated Use needBuild instead
926
980
  * @param {Map<string, number | null>} fileTimestamps timestamps of files
927
981
  * @param {Map<string, number | null>} contextTimestamps timestamps of directories
@@ -932,6 +986,7 @@ class Module extends DependenciesBlock {
932
986
  }
933
987
 
934
988
  /**
989
+ * Updates the hash with the data contributed by this instance.
935
990
  * @param {Hash} hash the hash used to track dependencies
936
991
  * @param {UpdateHashContext} context context
937
992
  * @returns {void}
@@ -958,6 +1013,7 @@ class Module extends DependenciesBlock {
958
1013
  }
959
1014
 
960
1015
  /**
1016
+ * Invalidates the cached state associated with this value.
961
1017
  * @returns {void}
962
1018
  */
963
1019
  invalidateBuild() {
@@ -966,6 +1022,7 @@ class Module extends DependenciesBlock {
966
1022
 
967
1023
  /* istanbul ignore next */
968
1024
  /**
1025
+ * Returns the unique identifier used to reference this module.
969
1026
  * @abstract
970
1027
  * @returns {string} a unique identifier of the module
971
1028
  */
@@ -977,6 +1034,7 @@ class Module extends DependenciesBlock {
977
1034
 
978
1035
  /* istanbul ignore next */
979
1036
  /**
1037
+ * Returns a human-readable identifier for this module.
980
1038
  * @abstract
981
1039
  * @param {RequestShortener} requestShortener the request shortener
982
1040
  * @returns {string} a user readable identifier of the module
@@ -989,6 +1047,7 @@ class Module extends DependenciesBlock {
989
1047
 
990
1048
  /* istanbul ignore next */
991
1049
  /**
1050
+ * Builds the module using the provided compilation context.
992
1051
  * @abstract
993
1052
  * @param {WebpackOptions} options webpack options
994
1053
  * @param {Compilation} compilation the compilation
@@ -1004,6 +1063,7 @@ class Module extends DependenciesBlock {
1004
1063
  }
1005
1064
 
1006
1065
  /**
1066
+ * Returns the source types this module can generate.
1007
1067
  * @abstract
1008
1068
  * @returns {SourceTypes} types available (do not mutate)
1009
1069
  */
@@ -1029,6 +1089,7 @@ class Module extends DependenciesBlock {
1029
1089
  }
1030
1090
 
1031
1091
  /**
1092
+ * Returns generated source.
1032
1093
  * @abstract
1033
1094
  * @deprecated Use codeGeneration() instead
1034
1095
  * @param {DependencyTemplates} dependencyTemplates the dependency templates
@@ -1068,6 +1129,7 @@ class Module extends DependenciesBlock {
1068
1129
 
1069
1130
  /* istanbul ignore next */
1070
1131
  /**
1132
+ * Returns the estimated size for the requested source type.
1071
1133
  * @abstract
1072
1134
  * @param {string=} type the source type for which the size should be estimated
1073
1135
  * @returns {number} the estimated size of the module (must be non-zero)
@@ -1079,6 +1141,7 @@ class Module extends DependenciesBlock {
1079
1141
  }
1080
1142
 
1081
1143
  /**
1144
+ * Gets the library identifier.
1082
1145
  * @param {LibIdentOptions} options options
1083
1146
  * @returns {LibIdent | null} an identifier for library inclusion
1084
1147
  */
@@ -1087,6 +1150,7 @@ class Module extends DependenciesBlock {
1087
1150
  }
1088
1151
 
1089
1152
  /**
1153
+ * Returns the path used when matching this module against rule conditions.
1090
1154
  * @returns {NameForCondition | null} absolute path which should be used for condition matching (usually the resource path)
1091
1155
  */
1092
1156
  nameForCondition() {
@@ -1094,6 +1158,7 @@ class Module extends DependenciesBlock {
1094
1158
  }
1095
1159
 
1096
1160
  /**
1161
+ * Returns the reason this module cannot be concatenated, when one exists.
1097
1162
  * @param {ConcatenationBailoutReasonContext} context context
1098
1163
  * @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
1099
1164
  */
@@ -1102,6 +1167,7 @@ class Module extends DependenciesBlock {
1102
1167
  }
1103
1168
 
1104
1169
  /**
1170
+ * Gets side effects connection state.
1105
1171
  * @param {ModuleGraph} moduleGraph the module graph
1106
1172
  * @returns {ConnectionState} how this module should be connected to referencing modules when consumed for side-effects only
1107
1173
  */
@@ -1110,6 +1176,7 @@ class Module extends DependenciesBlock {
1110
1176
  }
1111
1177
 
1112
1178
  /**
1179
+ * Generates code and runtime requirements for this module.
1113
1180
  * @param {CodeGenerationContext} context context for code generation
1114
1181
  * @returns {CodeGenerationResult} result
1115
1182
  */
@@ -1140,6 +1207,7 @@ class Module extends DependenciesBlock {
1140
1207
  }
1141
1208
 
1142
1209
  /**
1210
+ * Returns true if the module can be placed in the chunk.
1143
1211
  * @param {Chunk} chunk the chunk which condition should be checked
1144
1212
  * @param {Compilation} compilation the compilation
1145
1213
  * @returns {boolean} true if the module can be placed in the chunk
@@ -1198,6 +1266,7 @@ class Module extends DependenciesBlock {
1198
1266
  }
1199
1267
 
1200
1268
  /**
1269
+ * Gets the original source.
1201
1270
  * @returns {Source | null} the original source for the module before webpack transformation
1202
1271
  */
1203
1272
  originalSource() {
@@ -1205,6 +1274,7 @@ class Module extends DependenciesBlock {
1205
1274
  }
1206
1275
 
1207
1276
  /**
1277
+ * Adds the provided file dependencies to the module.
1208
1278
  * @param {FileSystemDependencies} fileDependencies set where file dependencies are added to
1209
1279
  * @param {FileSystemDependencies} contextDependencies set where context dependencies are added to
1210
1280
  * @param {FileSystemDependencies} missingDependencies set where missing dependencies are added to
@@ -1218,6 +1288,7 @@ class Module extends DependenciesBlock {
1218
1288
  ) {}
1219
1289
 
1220
1290
  /**
1291
+ * Serializes this instance into the provided serializer context.
1221
1292
  * @param {ObjectSerializerContext} context context
1222
1293
  */
1223
1294
  serialize(context) {
@@ -1248,6 +1319,7 @@ class Module extends DependenciesBlock {
1248
1319
  }
1249
1320
 
1250
1321
  /**
1322
+ * Restores this instance from the provided deserializer context.
1251
1323
  * @param {ObjectDeserializerContext} context context
1252
1324
  */
1253
1325
  deserialize(context) {
@@ -1271,6 +1343,7 @@ class Module extends DependenciesBlock {
1271
1343
 
1272
1344
  // TODO remove in webpack 6
1273
1345
  /**
1346
+ * Gets source basic types.
1274
1347
  * @deprecated In webpack 6, call getSourceBasicTypes() directly on the module instance instead of using this static method.
1275
1348
  * @param {Module} module the module
1276
1349
  * @returns {ReturnType<Module["getSourceBasicTypes"]>} the source types of the module
@@ -1290,6 +1363,7 @@ makeSerializable(Module, "webpack/lib/Module");
1290
1363
  // TODO remove in webpack 6
1291
1364
  Object.defineProperty(Module.prototype, "hasEqualsChunks", {
1292
1365
  /**
1366
+ * Gets has equals chunks.
1293
1367
  * @deprecated
1294
1368
  * @returns {EXPECTED_ANY} throw an error
1295
1369
  */
@@ -1303,6 +1377,7 @@ Object.defineProperty(Module.prototype, "hasEqualsChunks", {
1303
1377
  // TODO remove in webpack 6
1304
1378
  Object.defineProperty(Module.prototype, "isUsed", {
1305
1379
  /**
1380
+ * Returns throw an error.
1306
1381
  * @deprecated
1307
1382
  * @returns {EXPECTED_ANY} throw an error
1308
1383
  */
@@ -1316,11 +1391,13 @@ Object.defineProperty(Module.prototype, "isUsed", {
1316
1391
  // TODO remove in webpack 6
1317
1392
  Object.defineProperty(Module.prototype, "errors", {
1318
1393
  /**
1394
+ * Returns errors.
1319
1395
  * @deprecated
1320
1396
  * @returns {WebpackError[]} errors
1321
1397
  */
1322
1398
  get: util.deprecate(
1323
1399
  /**
1400
+ * Returns errors.
1324
1401
  * @this {Module}
1325
1402
  * @returns {WebpackError[]} errors
1326
1403
  */
@@ -1338,11 +1415,13 @@ Object.defineProperty(Module.prototype, "errors", {
1338
1415
  // TODO remove in webpack 6
1339
1416
  Object.defineProperty(Module.prototype, "warnings", {
1340
1417
  /**
1418
+ * Returns warnings.
1341
1419
  * @deprecated
1342
1420
  * @returns {WebpackError[]} warnings
1343
1421
  */
1344
1422
  get: util.deprecate(
1345
1423
  /**
1424
+ * Returns warnings.
1346
1425
  * @this {Module}
1347
1426
  * @returns {WebpackError[]} warnings
1348
1427
  */
@@ -1360,6 +1439,7 @@ Object.defineProperty(Module.prototype, "warnings", {
1360
1439
  // TODO remove in webpack 6
1361
1440
  Object.defineProperty(Module.prototype, "used", {
1362
1441
  /**
1442
+ * Returns throw an error.
1363
1443
  * @deprecated
1364
1444
  * @returns {EXPECTED_ANY} throw an error
1365
1445
  */
@@ -1369,6 +1449,7 @@ Object.defineProperty(Module.prototype, "used", {
1369
1449
  );
1370
1450
  },
1371
1451
  /**
1452
+ * Updates used using the provided value.
1372
1453
  * @param {EXPECTED_ANY} value value
1373
1454
  */
1374
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