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/CssModule.js CHANGED
@@ -25,6 +25,7 @@ const makeSerializable = require("./util/makeSerializable");
25
25
 
26
26
  class CssModule extends NormalModule {
27
27
  /**
28
+ * Creates an instance of CssModule.
28
29
  * @param {CSSModuleCreateData} options options object
29
30
  */
30
31
  constructor(options) {
@@ -44,6 +45,7 @@ class CssModule extends NormalModule {
44
45
  }
45
46
 
46
47
  /**
48
+ * Returns the unique identifier used to reference this module.
47
49
  * @returns {string} a unique identifier of the module
48
50
  */
49
51
  identifier() {
@@ -85,6 +87,7 @@ class CssModule extends NormalModule {
85
87
  }
86
88
 
87
89
  /**
90
+ * Returns a human-readable identifier for this module.
88
91
  * @param {RequestShortener} requestShortener the request shortener
89
92
  * @returns {string} a user readable identifier of the module
90
93
  */
@@ -130,6 +133,7 @@ class CssModule extends NormalModule {
130
133
  }
131
134
 
132
135
  /**
136
+ * Serializes this instance into the provided serializer context.
133
137
  * @param {ObjectSerializerContext} context context
134
138
  */
135
139
  serialize(context) {
@@ -143,6 +147,7 @@ class CssModule extends NormalModule {
143
147
  }
144
148
 
145
149
  /**
150
+ * Restores this instance from the provided deserializer context.
146
151
  * @param {ObjectDeserializerContext} context context
147
152
  * @returns {CssModule} the deserialized object
148
153
  */
@@ -176,6 +181,7 @@ class CssModule extends NormalModule {
176
181
  }
177
182
 
178
183
  /**
184
+ * Restores this instance from the provided deserializer context.
179
185
  * @param {ObjectDeserializerContext} context context
180
186
  */
181
187
  deserialize(context) {
@@ -39,6 +39,7 @@ const createHash = require("./util/createHash");
39
39
  /** @typedef {RecursiveArrayOrRecord<CodeValuePrimitive | RuntimeValue>} CodeValue */
40
40
 
41
41
  /**
42
+ * Defines the runtime value options type used by this module.
42
43
  * @typedef {object} RuntimeValueOptions
43
44
  * @property {string[]=} fileDependencies
44
45
  * @property {string[]=} contextDependencies
@@ -51,6 +52,7 @@ const createHash = require("./util/createHash");
51
52
 
52
53
  class RuntimeValue {
53
54
  /**
55
+ * Creates an instance of RuntimeValue.
54
56
  * @param {GeneratorFn} fn generator function
55
57
  * @param {true | string[] | RuntimeValueOptions=} options options
56
58
  */
@@ -71,6 +73,7 @@ class RuntimeValue {
71
73
  }
72
74
 
73
75
  /**
76
+ * Returns code.
74
77
  * @param {JavascriptParser} parser the parser
75
78
  * @param {ValueCacheVersions} valueCacheVersions valueCacheVersions
76
79
  * @param {string} key the defined key
@@ -128,6 +131,7 @@ class RuntimeValue {
128
131
  }
129
132
 
130
133
  /**
134
+ * Returns used keys.
131
135
  * @param {DestructuringAssignmentProperties | undefined} properties properties
132
136
  * @returns {Set<string> | undefined} used keys
133
137
  */
@@ -140,6 +144,7 @@ function getObjKeys(properties) {
140
144
  /** @typedef {boolean | undefined | null} AsiSafe */
141
145
 
142
146
  /**
147
+ * Returns code converted to string that evaluates.
143
148
  * @param {EXPECTED_ANY[] | { [k: string]: EXPECTED_ANY }} obj obj
144
149
  * @param {JavascriptParser} parser Parser
145
150
  * @param {ValueCacheVersions} valueCacheVersions valueCacheVersions
@@ -287,6 +292,7 @@ const toCode = (
287
292
  };
288
293
 
289
294
  /**
295
+ * Returns result.
290
296
  * @param {CodeValue} code code
291
297
  * @returns {string | undefined} result
292
298
  */
@@ -336,6 +342,7 @@ const WEBPACK_REQUIRE_FUNCTION_REGEXP = new RegExp(
336
342
  const WEBPACK_REQUIRE_IDENTIFIER_REGEXP = new RegExp(RuntimeGlobals.require);
337
343
 
338
344
  /**
345
+ * Defines the define plugin hooks type used by this module.
339
346
  * @typedef {object} DefinePluginHooks
340
347
  * @property {SyncWaterfallHook<[Record<string, CodeValue>]>} definitions
341
348
  */
@@ -347,6 +354,7 @@ const compilationHooksMap = new WeakMap();
347
354
 
348
355
  class DefinePlugin {
349
356
  /**
357
+ * Returns the attached hooks.
350
358
  * @param {Compilation} compilation the compilation
351
359
  * @returns {DefinePluginHooks} the attached hooks
352
360
  */
@@ -371,6 +379,7 @@ class DefinePlugin {
371
379
  }
372
380
 
373
381
  /**
382
+ * Returns runtime value.
374
383
  * @param {GeneratorFn} fn generator function
375
384
  * @param {true | string[] | RuntimeValueOptions=} options options
376
385
  * @returns {RuntimeValue} runtime value
@@ -380,7 +389,7 @@ class DefinePlugin {
380
389
  }
381
390
 
382
391
  /**
383
- * Apply the plugin
392
+ * Applies the plugin by registering its hooks on the compiler.
384
393
  * @param {Compiler} compiler the compiler instance
385
394
  * @returns {void}
386
395
  */
@@ -419,7 +428,7 @@ class DefinePlugin {
419
428
  );
420
429
 
421
430
  /**
422
- * Handler
431
+ * Handles the hook callback for this code path.
423
432
  * @param {JavascriptParser} parser Parser
424
433
  * @returns {void}
425
434
  */
@@ -440,6 +449,7 @@ class DefinePlugin {
440
449
  });
441
450
 
442
451
  /**
452
+ * Adds value dependency.
443
453
  * @param {string} key key
444
454
  */
445
455
  const addValueDependency = (key) => {
@@ -455,6 +465,7 @@ class DefinePlugin {
455
465
  };
456
466
 
457
467
  /**
468
+ * With value dependency.
458
469
  * @template T
459
470
  * @param {string} key key
460
471
  * @param {(expression: Expression) => T} fn fn
@@ -468,7 +479,7 @@ class DefinePlugin {
468
479
  };
469
480
 
470
481
  /**
471
- * Walk definitions
482
+ * Processes the provided definition.
472
483
  * @param {Definitions} definitions Definitions map
473
484
  * @param {string} prefix Prefix string
474
485
  * @returns {void}
@@ -495,7 +506,7 @@ class DefinePlugin {
495
506
  };
496
507
 
497
508
  /**
498
- * Apply define key
509
+ * Processes the provided prefix.
499
510
  * @param {string} prefix Prefix
500
511
  * @param {string} key Key
501
512
  * @returns {void}
@@ -580,7 +591,7 @@ class DefinePlugin {
580
591
  };
581
592
 
582
593
  /**
583
- * Apply Code
594
+ * Processes the provided key.
584
595
  * @param {string} key Key
585
596
  * @param {CodeValue} code Code
586
597
  * @returns {void}
@@ -703,7 +714,7 @@ class DefinePlugin {
703
714
  };
704
715
 
705
716
  /**
706
- * Apply Object
717
+ * Processes the provided key.
707
718
  * @param {string} key Key
708
719
  * @param {object} obj Object
709
720
  * @returns {void}
@@ -788,7 +799,7 @@ class DefinePlugin {
788
799
  .tap(PLUGIN_NAME, handler);
789
800
 
790
801
  /**
791
- * Walk definitions
802
+ * Processes the provided definition.
792
803
  * @param {Definitions} definitions Definitions map
793
804
  * @param {string} prefix Prefix string
794
805
  * @returns {void}
@@ -825,11 +836,13 @@ class DefinePlugin {
825
836
  };
826
837
 
827
838
  /**
839
+ * Walk definitions for keys.
828
840
  * @param {Definitions} definitions Definitions map
829
841
  * @returns {void}
830
842
  */
831
843
  const walkDefinitionsForKeys = (definitions) => {
832
844
  /**
845
+ * Adds the provided map to the define plugin.
833
846
  * @param {Map<string, Set<string>>} map Map
834
847
  * @param {string} key key
835
848
  * @param {string} value v
@@ -47,6 +47,7 @@ const makeSerializable = require("./util/makeSerializable");
47
47
  /** @typedef {NonNullable<DllReferencePluginOptions["type"]>} DelegatedModuleType */
48
48
 
49
49
  /**
50
+ * Defines the delegated module data type used by this module.
50
51
  * @typedef {object} DelegatedModuleData
51
52
  * @property {BuildMeta=} buildMeta build meta
52
53
  * @property {Exports=} exports exports
@@ -60,6 +61,7 @@ const RUNTIME_REQUIREMENTS = new Set([
60
61
 
61
62
  class DelegatedModule extends Module {
62
63
  /**
64
+ * Creates an instance of DelegatedModule.
63
65
  * @param {DelegatedModuleSourceRequest} sourceRequest source request
64
66
  * @param {DelegatedModuleData} data data
65
67
  * @param {DelegatedModuleType} type type
@@ -83,6 +85,7 @@ class DelegatedModule extends Module {
83
85
  }
84
86
 
85
87
  /**
88
+ * Returns the source types this module can generate.
86
89
  * @returns {SourceTypes} types available (do not mutate)
87
90
  */
88
91
  getSourceTypes() {
@@ -90,6 +93,7 @@ class DelegatedModule extends Module {
90
93
  }
91
94
 
92
95
  /**
96
+ * Gets the library identifier.
93
97
  * @param {LibIdentOptions} options options
94
98
  * @returns {LibIdent | null} an identifier for library inclusion
95
99
  */
@@ -100,6 +104,7 @@ class DelegatedModule extends Module {
100
104
  }
101
105
 
102
106
  /**
107
+ * Returns the unique identifier used to reference this module.
103
108
  * @returns {string} a unique identifier of the module
104
109
  */
105
110
  identifier() {
@@ -109,6 +114,7 @@ class DelegatedModule extends Module {
109
114
  }
110
115
 
111
116
  /**
117
+ * Returns a human-readable identifier for this module.
112
118
  * @param {RequestShortener} requestShortener the request shortener
113
119
  * @returns {string} a user readable identifier of the module
114
120
  */
@@ -117,6 +123,7 @@ class DelegatedModule extends Module {
117
123
  }
118
124
 
119
125
  /**
126
+ * Checks whether the module needs to be rebuilt for the current build state.
120
127
  * @param {NeedBuildContext} context context info
121
128
  * @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
122
129
  * @returns {void}
@@ -126,6 +133,7 @@ class DelegatedModule extends Module {
126
133
  }
127
134
 
128
135
  /**
136
+ * Builds the module using the provided compilation context.
129
137
  * @param {WebpackOptions} options webpack options
130
138
  * @param {Compilation} compilation the compilation
131
139
  * @param {ResolverWithOptions} resolver the resolver
@@ -149,6 +157,7 @@ class DelegatedModule extends Module {
149
157
  }
150
158
 
151
159
  /**
160
+ * Generates code and runtime requirements for this module.
152
161
  * @param {CodeGenerationContext} context context for code generation
153
162
  * @returns {CodeGenerationResult} result
154
163
  */
@@ -198,6 +207,7 @@ class DelegatedModule extends Module {
198
207
  }
199
208
 
200
209
  /**
210
+ * Returns the estimated size for the requested source type.
201
211
  * @param {string=} type the source type for which the size should be estimated
202
212
  * @returns {number} the estimated size of the module (must be non-zero)
203
213
  */
@@ -206,6 +216,7 @@ class DelegatedModule extends Module {
206
216
  }
207
217
 
208
218
  /**
219
+ * Updates the hash with the data contributed by this instance.
209
220
  * @param {Hash} hash the hash used to track dependencies
210
221
  * @param {UpdateHashContext} context context
211
222
  * @returns {void}
@@ -217,6 +228,7 @@ class DelegatedModule extends Module {
217
228
  }
218
229
 
219
230
  /**
231
+ * Serializes this instance into the provided serializer context.
220
232
  * @param {ObjectSerializerContext} context context
221
233
  */
222
234
  serialize(context) {
@@ -231,6 +243,7 @@ class DelegatedModule extends Module {
231
243
  }
232
244
 
233
245
  /**
246
+ * Restores this instance from the provided deserializer context.
234
247
  * @param {ObjectDeserializerContext} context context\
235
248
  * @returns {DelegatedModule} DelegatedModule
236
249
  */
@@ -16,6 +16,7 @@ const DelegatedModule = require("./DelegatedModule");
16
16
  /** @typedef {import("./util/identifier").AssociatedObjectForCache} AssociatedObjectForCache */
17
17
 
18
18
  /**
19
+ * Defines the options type used by this module.
19
20
  * @typedef {object} Options
20
21
  * @property {DelegatedModuleSourceRequest} source source
21
22
  * @property {NonNullable<DllReferencePluginOptions["context"]>} context absolute context path to which lib ident is relative to
@@ -30,6 +31,7 @@ const PLUGIN_NAME = "DelegatedModuleFactoryPlugin";
30
31
 
31
32
  class DelegatedModuleFactoryPlugin {
32
33
  /**
34
+ * Creates an instance of DelegatedModuleFactoryPlugin.
33
35
  * @param {Options} options options
34
36
  */
35
37
  constructor(options) {
@@ -39,6 +41,7 @@ class DelegatedModuleFactoryPlugin {
39
41
  }
40
42
 
41
43
  /**
44
+ * Applies the plugin by registering its hooks on the compiler.
42
45
  * @param {NormalModuleFactory} normalModuleFactory the normal module factory
43
46
  * @returns {void}
44
47
  */
@@ -15,6 +15,7 @@ const PLUGIN_NAME = "DelegatedPlugin";
15
15
 
16
16
  class DelegatedPlugin {
17
17
  /**
18
+ * Creates an instance of DelegatedPlugin.
18
19
  * @param {Options} options options
19
20
  */
20
21
  constructor(options) {
@@ -22,7 +23,7 @@ class DelegatedPlugin {
22
23
  }
23
24
 
24
25
  /**
25
- * Apply the plugin
26
+ * Applies the plugin by registering its hooks on the compiler.
26
27
  * @param {Compiler} compiler the compiler instance
27
28
  * @returns {void}
28
29
  */
@@ -53,6 +53,7 @@ class DependenciesBlock {
53
53
  }
54
54
 
55
55
  /**
56
+ * Adds the provided dependency to the dependencies block.
56
57
  * @param {Dependency} dependency dependency being tied to block.
57
58
  * This is an "edge" pointing to another "node" on module graph.
58
59
  * @returns {void}
@@ -62,6 +63,7 @@ class DependenciesBlock {
62
63
  }
63
64
 
64
65
  /**
66
+ * Removes dependency.
65
67
  * @param {Dependency} dependency dependency being removed
66
68
  * @returns {void}
67
69
  */
@@ -73,7 +75,7 @@ class DependenciesBlock {
73
75
  }
74
76
 
75
77
  /**
76
- * Removes all dependencies and blocks
78
+ * Clear dependencies and blocks.
77
79
  * @returns {void}
78
80
  */
79
81
  clearDependenciesAndBlocks() {
@@ -82,6 +84,7 @@ class DependenciesBlock {
82
84
  }
83
85
 
84
86
  /**
87
+ * Updates the hash with the data contributed by this instance.
85
88
  * @param {Hash} hash the hash used to track dependencies
86
89
  * @param {UpdateHashContext} context context
87
90
  * @returns {void}
@@ -96,6 +99,7 @@ class DependenciesBlock {
96
99
  }
97
100
 
98
101
  /**
102
+ * Serializes this instance into the provided serializer context.
99
103
  * @param {ObjectSerializerContext} context context
100
104
  */
101
105
  serialize({ write }) {
@@ -104,6 +108,7 @@ class DependenciesBlock {
104
108
  }
105
109
 
106
110
  /**
111
+ * Restores this instance from the provided deserializer context.
107
112
  * @param {ObjectDeserializerContext} context context
108
113
  */
109
114
  deserialize({ read }) {
package/lib/Dependency.js CHANGED
@@ -21,6 +21,7 @@ const memoize = require("./util/memoize");
21
21
  /** @typedef {import("./util/runtime").RuntimeSpec} RuntimeSpec */
22
22
  /** @typedef {import("./dependencies/ModuleDependency")} ModuleDependency */
23
23
  /**
24
+ * Defines the update hash context type used by this module.
24
25
  * @typedef {object} UpdateHashContext
25
26
  * @property {ChunkGraph} chunkGraph
26
27
  * @property {RuntimeSpec} runtime
@@ -28,12 +29,14 @@ const memoize = require("./util/memoize");
28
29
  */
29
30
 
30
31
  /**
32
+ * Defines the source position type used by this module.
31
33
  * @typedef {object} SourcePosition
32
34
  * @property {number} line
33
35
  * @property {number=} column
34
36
  */
35
37
 
36
38
  /**
39
+ * Defines the real dependency location type used by this module.
37
40
  * @typedef {object} RealDependencyLocation
38
41
  * @property {SourcePosition} start
39
42
  * @property {SourcePosition=} end
@@ -41,6 +44,7 @@ const memoize = require("./util/memoize");
41
44
  */
42
45
 
43
46
  /**
47
+ * Defines the synthetic dependency location type used by this module.
44
48
  * @typedef {object} SyntheticDependencyLocation
45
49
  * @property {string} name
46
50
  * @property {number=} index
@@ -51,6 +55,7 @@ const memoize = require("./util/memoize");
51
55
  /** @typedef {string} ExportInfoName */
52
56
 
53
57
  /**
58
+ * Defines the export spec type used by this module.
54
59
  * @typedef {object} ExportSpec
55
60
  * @property {ExportInfoName} name the name of the export
56
61
  * @property {boolean=} canMangle can the export be renamed (defaults to true)
@@ -65,6 +70,7 @@ const memoize = require("./util/memoize");
65
70
  /** @typedef {Set<string>} ExportsSpecExcludeExports */
66
71
 
67
72
  /**
73
+ * Defines the exports spec type used by this module.
68
74
  * @typedef {object} ExportsSpec
69
75
  * @property {(string | ExportSpec)[] | true | null} exports exported names, true for unknown exports or null for no exports
70
76
  * @property {ExportsSpecExcludeExports=} excludeExports when exports = true, list of unaffected exports
@@ -77,6 +83,7 @@ const memoize = require("./util/memoize");
77
83
  */
78
84
 
79
85
  /**
86
+ * Defines the referenced export type used by this module.
80
87
  * @typedef {object} ReferencedExport
81
88
  * @property {string[]} name name of the referenced export
82
89
  * @property {boolean=} canMangle when false, referenced export can not be mangled, defaults to true
@@ -124,6 +131,7 @@ class Dependency {
124
131
  }
125
132
 
126
133
  /**
134
+ * Returns a display name for the type of dependency.
127
135
  * @returns {string} a display name for the type of dependency
128
136
  */
129
137
  get type() {
@@ -131,6 +139,7 @@ class Dependency {
131
139
  }
132
140
 
133
141
  /**
142
+ * Returns a dependency category, typical categories are "commonjs", "amd", "esm".
134
143
  * @returns {string} a dependency category, typical categories are "commonjs", "amd", "esm"
135
144
  */
136
145
  get category() {
@@ -138,6 +147,7 @@ class Dependency {
138
147
  }
139
148
 
140
149
  /**
150
+ * Returns location.
141
151
  * @returns {DependencyLocation} location
142
152
  */
143
153
  get loc() {
@@ -183,6 +193,7 @@ class Dependency {
183
193
  }
184
194
 
185
195
  /**
196
+ * Updates loc using the provided start line.
186
197
  * @param {number} startLine start line
187
198
  * @param {number} startColumn start column
188
199
  * @param {number} endLine end line
@@ -199,6 +210,7 @@ class Dependency {
199
210
  }
200
211
 
201
212
  /**
213
+ * Returns a request context.
202
214
  * @returns {string | undefined} a request context
203
215
  */
204
216
  getContext() {
@@ -206,6 +218,7 @@ class Dependency {
206
218
  }
207
219
 
208
220
  /**
221
+ * Returns an identifier to merge equal requests.
209
222
  * @returns {string | null} an identifier to merge equal requests
210
223
  */
211
224
  getResourceIdentifier() {
@@ -213,6 +226,7 @@ class Dependency {
213
226
  }
214
227
 
215
228
  /**
229
+ * Could affect referencing module.
216
230
  * @returns {boolean | TRANSITIVE} true, when changes to the referenced module could affect the referencing module; TRANSITIVE, when changes to the referenced module could affect referencing modules of the referencing module
217
231
  */
218
232
  couldAffectReferencingModule() {
@@ -242,6 +256,7 @@ class Dependency {
242
256
  }
243
257
 
244
258
  /**
259
+ * Returns function to determine if the connection is active.
245
260
  * @param {ModuleGraph} moduleGraph module graph
246
261
  * @returns {null | false | GetConditionFn} function to determine if the connection is active
247
262
  */
@@ -259,7 +274,7 @@ class Dependency {
259
274
  }
260
275
 
261
276
  /**
262
- * Returns warnings
277
+ * Returns warnings.
263
278
  * @param {ModuleGraph} moduleGraph module graph
264
279
  * @returns {WebpackError[] | null | undefined} warnings
265
280
  */
@@ -268,7 +283,7 @@ class Dependency {
268
283
  }
269
284
 
270
285
  /**
271
- * Returns errors
286
+ * Returns errors.
272
287
  * @param {ModuleGraph} moduleGraph module graph
273
288
  * @returns {WebpackError[] | null | undefined} errors
274
289
  */
@@ -277,7 +292,7 @@ class Dependency {
277
292
  }
278
293
 
279
294
  /**
280
- * Update the hash
295
+ * Updates the hash with the data contributed by this instance.
281
296
  * @param {Hash} hash hash to be updated
282
297
  * @param {UpdateHashContext} context context
283
298
  * @returns {void}
@@ -293,6 +308,7 @@ class Dependency {
293
308
  }
294
309
 
295
310
  /**
311
+ * Gets module evaluation side effects state.
296
312
  * @param {ModuleGraph} moduleGraph the module graph
297
313
  * @returns {ConnectionState} how this dependency connects the module to referencing modules
298
314
  */
@@ -301,6 +317,7 @@ class Dependency {
301
317
  }
302
318
 
303
319
  /**
320
+ * Creates an ignored module.
304
321
  * @param {string} context context directory
305
322
  * @returns {Module} ignored module
306
323
  */
@@ -309,6 +326,7 @@ class Dependency {
309
326
  }
310
327
 
311
328
  /**
329
+ * Serializes this instance into the provided serializer context.
312
330
  * @param {ObjectSerializerContext} context context
313
331
  */
314
332
  serialize({ write }) {
@@ -323,6 +341,7 @@ class Dependency {
323
341
  }
324
342
 
325
343
  /**
344
+ * Restores this instance from the provided deserializer context.
326
345
  * @param {ObjectDeserializerContext} context context
327
346
  */
328
347
  deserialize({ read }) {
@@ -345,6 +364,7 @@ Dependency.EXPORTS_OBJECT_REFERENCED = [[]];
345
364
  // TODO remove in webpack 6
346
365
  Object.defineProperty(Dependency.prototype, "module", {
347
366
  /**
367
+ * Returns throws.
348
368
  * @deprecated
349
369
  * @returns {EXPECTED_ANY} throws
350
370
  */
@@ -355,6 +375,7 @@ Object.defineProperty(Dependency.prototype, "module", {
355
375
  },
356
376
 
357
377
  /**
378
+ * Updates module.
358
379
  * @deprecated
359
380
  * @returns {never} throws
360
381
  */
@@ -366,6 +387,7 @@ Object.defineProperty(Dependency.prototype, "module", {
366
387
  });
367
388
 
368
389
  /**
390
+ * Returns true if the dependency is a low priority dependency.
369
391
  * @param {Dependency} dependency dep
370
392
  * @returns {boolean} true if the dependency is a low priority dependency
371
393
  */
@@ -375,6 +397,7 @@ Dependency.isLowPriorityDependency = (dependency) =>
375
397
  // TODO remove in webpack 6
376
398
  Object.defineProperty(Dependency.prototype, "disconnect", {
377
399
  /**
400
+ * Returns throws.
378
401
  * @deprecated
379
402
  * @returns {EXPECTED_ANY} throws
380
403
  */
@@ -19,11 +19,13 @@
19
19
  /** @typedef {import("./RuntimeTemplate")} RuntimeTemplate */
20
20
 
21
21
  /**
22
+ * Defines the init fragment type used by this module.
22
23
  * @template T
23
24
  * @typedef {import("./InitFragment")<T>} InitFragment
24
25
  */
25
26
 
26
27
  /**
28
+ * Defines the dependency template context type used by this module.
27
29
  * @typedef {object} DependencyTemplateContext
28
30
  * @property {RuntimeTemplate} runtimeTemplate the runtime template
29
31
  * @property {DependencyTemplates} dependencyTemplates the dependency templates
@@ -39,12 +41,14 @@
39
41
  */
40
42
 
41
43
  /**
44
+ * Defines the css dependency template context extras type used by this module.
42
45
  * @typedef {object} CssDependencyTemplateContextExtras
43
46
  * @property {CssData} cssData the css exports data
44
47
  * @property {string} type the css exports data
45
48
  */
46
49
 
47
50
  /**
51
+ * Defines the css data type used by this module.
48
52
  * @typedef {object} CssData
49
53
  * @property {boolean} esModule whether export __esModule
50
54
  * @property {Map<string, string>} exports the css exports
@@ -55,6 +59,7 @@
55
59
  class DependencyTemplate {
56
60
  /* istanbul ignore next */
57
61
  /**
62
+ * Applies the plugin by registering its hooks on the compiler.
58
63
  * @abstract
59
64
  * @param {Dependency} dependency the dependency for which the template should be applied
60
65
  * @param {ReplaceSource} source the current replace source which can be modified
@@ -14,6 +14,7 @@ const createHash = require("./util/createHash");
14
14
 
15
15
  class DependencyTemplates {
16
16
  /**
17
+ * Creates an instance of DependencyTemplates.
17
18
  * @param {HashFunction} hashFunction the hash function to use
18
19
  */
19
20
  constructor(hashFunction = DEFAULTS.HASH_FUNCTION) {
@@ -26,6 +27,7 @@ class DependencyTemplates {
26
27
  }
27
28
 
28
29
  /**
30
+ * Returns template for this dependency.
29
31
  * @param {DependencyConstructor} dependency Constructor of Dependency
30
32
  * @returns {DependencyTemplate | undefined} template for this dependency
31
33
  */
@@ -34,6 +36,7 @@ class DependencyTemplates {
34
36
  }
35
37
 
36
38
  /**
39
+ * Updates value using the provided dependency.
37
40
  * @param {DependencyConstructor} dependency Constructor of Dependency
38
41
  * @param {DependencyTemplate} dependencyTemplate template for this dependency
39
42
  * @returns {void}
@@ -43,6 +46,7 @@ class DependencyTemplates {
43
46
  }
44
47
 
45
48
  /**
49
+ * Updates the hash with the data contributed by this instance.
46
50
  * @param {string} part additional hash contributor
47
51
  * @returns {void}
48
52
  */
@@ -19,6 +19,7 @@ const PLUGIN_NAME = "DllEntryPlugin";
19
19
 
20
20
  class DllEntryPlugin {
21
21
  /**
22
+ * Creates an instance of DllEntryPlugin.
22
23
  * @param {string} context context
23
24
  * @param {Entries} entries entry names
24
25
  * @param {Options} options options
@@ -30,7 +31,7 @@ class DllEntryPlugin {
30
31
  }
31
32
 
32
33
  /**
33
- * Apply the plugin
34
+ * Applies the plugin by registering its hooks on the compiler.
34
35
  * @param {Compiler} compiler the compiler instance
35
36
  * @returns {void}
36
37
  */