webpack 5.106.0 → 5.106.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/lib/APIPlugin.js +3 -1
  2. package/lib/AbstractMethodError.js +10 -1
  3. package/lib/AsyncDependenciesBlock.js +3 -0
  4. package/lib/AsyncDependencyToInitialChunkError.js +6 -1
  5. package/lib/AutomaticPrefetchPlugin.js +6 -1
  6. package/lib/BannerPlugin.js +10 -1
  7. package/lib/Cache.js +26 -1
  8. package/lib/CacheFacade.js +26 -0
  9. package/lib/CaseSensitiveModulesWarning.js +9 -1
  10. package/lib/Chunk.js +46 -0
  11. package/lib/ChunkGraph.js +111 -0
  12. package/lib/ChunkGroup.js +57 -13
  13. package/lib/ChunkTemplate.js +9 -0
  14. package/lib/CleanPlugin.js +14 -1
  15. package/lib/CodeGenerationResults.js +19 -0
  16. package/lib/CommentCompilationWarning.js +6 -0
  17. package/lib/CompatibilityPlugin.js +15 -1
  18. package/lib/Compilation.js +127 -1
  19. package/lib/Compiler.js +37 -4
  20. package/lib/ConcatenationScope.js +24 -1
  21. package/lib/ConditionalInitFragment.js +6 -0
  22. package/lib/ConstPlugin.js +4 -1
  23. package/lib/ContextExclusionPlugin.js +2 -1
  24. package/lib/ContextModule.js +12 -0
  25. package/lib/ContextModuleFactory.js +10 -0
  26. package/lib/ContextReplacementPlugin.js +4 -1
  27. package/lib/CssModule.js +6 -0
  28. package/lib/DefinePlugin.js +20 -7
  29. package/lib/DelegatedModule.js +13 -0
  30. package/lib/DelegatedModuleFactoryPlugin.js +3 -0
  31. package/lib/DelegatedPlugin.js +2 -1
  32. package/lib/DependenciesBlock.js +6 -1
  33. package/lib/Dependency.js +26 -3
  34. package/lib/DependencyTemplate.js +5 -0
  35. package/lib/DependencyTemplates.js +4 -0
  36. package/lib/DllEntryPlugin.js +2 -1
  37. package/lib/DllModule.js +11 -0
  38. package/lib/DllModuleFactory.js +1 -0
  39. package/lib/DllPlugin.js +2 -1
  40. package/lib/DllReferencePlugin.js +11 -6
  41. package/lib/DotenvPlugin.js +3 -0
  42. package/lib/DynamicEntryPlugin.js +3 -1
  43. package/lib/EntryOptionPlugin.js +3 -0
  44. package/lib/EntryPlugin.js +2 -1
  45. package/lib/Entrypoint.js +4 -0
  46. package/lib/EnvironmentPlugin.js +2 -1
  47. package/lib/ErrorHelpers.js +7 -0
  48. package/lib/EvalDevToolModulePlugin.js +3 -1
  49. package/lib/EvalSourceMapDevToolPlugin.js +3 -1
  50. package/lib/ExportsInfo.js +56 -2
  51. package/lib/ExportsInfoApiPlugin.js +2 -1
  52. package/lib/ExternalModule.js +38 -0
  53. package/lib/ExternalModuleFactoryPlugin.js +10 -0
  54. package/lib/ExternalsPlugin.js +2 -1
  55. package/lib/FileSystemInfo.js +105 -0
  56. package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
  57. package/lib/FlagDependencyExportsPlugin.js +4 -1
  58. package/lib/FlagDependencyUsagePlugin.js +5 -1
  59. package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
  60. package/lib/Generator.js +13 -0
  61. package/lib/GraphHelpers.js +3 -0
  62. package/lib/HookWebpackError.js +6 -0
  63. package/lib/HotModuleReplacementPlugin.js +9 -1
  64. package/lib/IgnoreErrorModuleFactory.js +2 -0
  65. package/lib/IgnorePlugin.js +2 -1
  66. package/lib/IgnoreWarningsPlugin.js +2 -1
  67. package/lib/InitFragment.js +10 -0
  68. package/lib/InvalidDependenciesModuleWarning.js +1 -0
  69. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  70. package/lib/LibManifestPlugin.js +4 -1
  71. package/lib/LibraryTemplatePlugin.js +2 -1
  72. package/lib/LoaderOptionsPlugin.js +3 -1
  73. package/lib/LoaderTargetPlugin.js +2 -1
  74. package/lib/MainTemplate.js +15 -0
  75. package/lib/ManifestPlugin.js +9 -2
  76. package/lib/Module.js +82 -4
  77. package/lib/ModuleBuildError.js +3 -0
  78. package/lib/ModuleDependencyWarning.js +1 -0
  79. package/lib/ModuleError.js +2 -0
  80. package/lib/ModuleFactory.js +5 -0
  81. package/lib/ModuleFilenameHelpers.js +3 -0
  82. package/lib/ModuleGraph.js +66 -0
  83. package/lib/ModuleGraphConnection.js +9 -0
  84. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  85. package/lib/ModuleNotFoundError.js +1 -0
  86. package/lib/ModuleParseError.js +3 -0
  87. package/lib/ModuleRestoreError.js +1 -0
  88. package/lib/ModuleSourceTypeConstants.js +1 -0
  89. package/lib/ModuleStoreError.js +1 -0
  90. package/lib/ModuleTemplate.js +8 -0
  91. package/lib/ModuleWarning.js +3 -0
  92. package/lib/MultiCompiler.js +28 -0
  93. package/lib/MultiStats.js +8 -0
  94. package/lib/MultiWatching.js +3 -0
  95. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  96. package/lib/NodeStuffInWebError.js +1 -0
  97. package/lib/NodeStuffPlugin.js +10 -1
  98. package/lib/NormalModule.js +30 -2
  99. package/lib/NormalModuleFactory.js +25 -0
  100. package/lib/NormalModuleReplacementPlugin.js +1 -1
  101. package/lib/NullFactory.js +1 -0
  102. package/lib/OptionsApply.js +1 -0
  103. package/lib/Parser.js +2 -0
  104. package/lib/PlatformPlugin.js +2 -1
  105. package/lib/PrefetchPlugin.js +2 -1
  106. package/lib/ProgressPlugin.js +29 -12
  107. package/lib/ProvidePlugin.js +3 -1
  108. package/lib/RawModule.js +12 -0
  109. package/lib/RecordIdsPlugin.js +8 -0
  110. package/lib/RequestShortener.js +8 -0
  111. package/lib/RequireJsStuffPlugin.js +2 -1
  112. package/lib/ResolverFactory.js +5 -0
  113. package/lib/RuntimeGlobals.js +1 -0
  114. package/lib/RuntimeModule.js +13 -0
  115. package/lib/RuntimePlugin.js +2 -0
  116. package/lib/RuntimeTemplate.js +35 -1
  117. package/lib/SelfModuleFactory.js +2 -0
  118. package/lib/SizeFormatHelpers.js +1 -0
  119. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  120. package/lib/SourceMapDevToolPlugin.js +3 -1
  121. package/lib/Stats.js +5 -0
  122. package/lib/Template.js +20 -0
  123. package/lib/TemplatedPathPlugin.js +10 -3
  124. package/lib/UnhandledSchemeError.js +6 -0
  125. package/lib/UnsupportedFeatureWarning.js +1 -0
  126. package/lib/UseStrictPlugin.js +2 -1
  127. package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
  128. package/lib/WarnDeprecatedOptionPlugin.js +1 -1
  129. package/lib/WarnNoModeSetPlugin.js +1 -1
  130. package/lib/WatchIgnorePlugin.js +4 -1
  131. package/lib/Watching.js +14 -0
  132. package/lib/WebpackError.js +3 -0
  133. package/lib/WebpackIsIncludedPlugin.js +2 -0
  134. package/lib/WebpackOptionsApply.js +1 -0
  135. package/lib/WebpackOptionsDefaulter.js +1 -0
  136. package/lib/asset/AssetBytesGenerator.js +6 -0
  137. package/lib/asset/AssetBytesParser.js +1 -0
  138. package/lib/asset/AssetGenerator.js +20 -2
  139. package/lib/asset/AssetModulesPlugin.js +4 -1
  140. package/lib/asset/AssetParser.js +2 -0
  141. package/lib/asset/AssetSourceGenerator.js +6 -0
  142. package/lib/asset/AssetSourceParser.js +1 -0
  143. package/lib/asset/RawDataUrlModule.js +11 -0
  144. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  145. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  146. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  147. package/lib/buildChunkGraph.js +15 -0
  148. package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
  149. package/lib/cache/AddManagedPathsPlugin.js +2 -1
  150. package/lib/cache/IdleFileCachePlugin.js +2 -1
  151. package/lib/cache/MemoryCachePlugin.js +1 -1
  152. package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
  153. package/lib/cache/PackFileCacheStrategy.js +29 -0
  154. package/lib/cache/ResolverCachePlugin.js +10 -1
  155. package/lib/cache/getLazyHashedEtag.js +4 -0
  156. package/lib/cache/mergeEtags.js +2 -0
  157. package/lib/cli.js +30 -0
  158. package/lib/config/browserslistTargetHandler.js +2 -0
  159. package/lib/config/defaults.js +35 -2
  160. package/lib/config/normalization.js +12 -0
  161. package/lib/config/target.js +11 -0
  162. package/lib/container/ContainerEntryDependency.js +2 -0
  163. package/lib/container/ContainerEntryModule.js +12 -0
  164. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  165. package/lib/container/ContainerExposedDependency.js +4 -0
  166. package/lib/container/ContainerPlugin.js +2 -1
  167. package/lib/container/ContainerReferencePlugin.js +2 -1
  168. package/lib/container/FallbackDependency.js +4 -0
  169. package/lib/container/FallbackItemDependency.js +1 -0
  170. package/lib/container/FallbackModule.js +12 -0
  171. package/lib/container/FallbackModuleFactory.js +1 -0
  172. package/lib/container/ModuleFederationPlugin.js +3 -1
  173. package/lib/container/RemoteModule.js +13 -0
  174. package/lib/container/RemoteRuntimeModule.js +1 -0
  175. package/lib/container/RemoteToExternalDependency.js +1 -0
  176. package/lib/container/options.js +7 -0
  177. package/lib/css/CssGenerator.js +35 -14
  178. package/lib/css/CssInjectStyleRuntimeModule.js +1 -0
  179. package/lib/css/CssLoadingRuntimeModule.js +1 -0
  180. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +1 -0
  181. package/lib/css/CssModulesPlugin.js +69 -3
  182. package/lib/css/CssParser.js +71 -1
  183. package/lib/css/walkCssTokens.js +31 -0
  184. package/lib/debug/ProfilingPlugin.js +19 -1
  185. package/lib/dependencies/AMDDefineDependency.js +7 -0
  186. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
  187. package/lib/dependencies/AMDPlugin.js +4 -1
  188. package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
  189. package/lib/dependencies/AMDRequireContextDependency.js +3 -0
  190. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  191. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +13 -0
  192. package/lib/dependencies/AMDRequireDependency.js +4 -0
  193. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  194. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  195. package/lib/dependencies/CachedConstDependency.js +6 -1
  196. package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
  197. package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
  198. package/lib/dependencies/CommonJsExportsDependency.js +4 -0
  199. package/lib/dependencies/CommonJsExportsParserPlugin.js +8 -0
  200. package/lib/dependencies/CommonJsFullRequireDependency.js +4 -0
  201. package/lib/dependencies/CommonJsImportsParserPlugin.js +20 -0
  202. package/lib/dependencies/CommonJsPlugin.js +4 -1
  203. package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
  204. package/lib/dependencies/CommonJsRequireDependency.js +3 -0
  205. package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
  206. package/lib/dependencies/ConstDependency.js +6 -1
  207. package/lib/dependencies/ContextDependency.js +8 -1
  208. package/lib/dependencies/ContextDependencyHelpers.js +3 -0
  209. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
  210. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  211. package/lib/dependencies/ContextElementDependency.js +4 -0
  212. package/lib/dependencies/CreateRequireParserPlugin.js +6 -0
  213. package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
  214. package/lib/dependencies/CriticalDependencyWarning.js +1 -0
  215. package/lib/dependencies/CssIcssExportDependency.js +11 -3
  216. package/lib/dependencies/CssIcssImportDependency.js +4 -1
  217. package/lib/dependencies/CssIcssSymbolDependency.js +5 -1
  218. package/lib/dependencies/CssImportDependency.js +4 -0
  219. package/lib/dependencies/CssUrlDependency.js +7 -0
  220. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  221. package/lib/dependencies/DllEntryDependency.js +3 -0
  222. package/lib/dependencies/DynamicExports.js +5 -0
  223. package/lib/dependencies/EntryDependency.js +1 -0
  224. package/lib/dependencies/ExportsInfoDependency.js +6 -0
  225. package/lib/dependencies/ExternalModuleDependency.js +5 -0
  226. package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
  227. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
  228. package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
  229. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  230. package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
  231. package/lib/dependencies/HarmonyDetectionParserPlugin.js +3 -0
  232. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
  233. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
  234. package/lib/dependencies/HarmonyExportExpressionDependency.js +14 -5
  235. package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
  236. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +33 -2
  237. package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
  238. package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
  239. package/lib/dependencies/HarmonyExports.js +2 -0
  240. package/lib/dependencies/HarmonyImportDependency.js +11 -0
  241. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +9 -0
  242. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
  243. package/lib/dependencies/HarmonyImportSpecifierDependency.js +17 -2
  244. package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
  245. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
  246. package/lib/dependencies/ImportContextDependency.js +4 -0
  247. package/lib/dependencies/ImportDependency.js +5 -0
  248. package/lib/dependencies/ImportEagerDependency.js +2 -0
  249. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  250. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +3 -0
  251. package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
  252. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  253. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  254. package/lib/dependencies/ImportMetaPlugin.js +6 -0
  255. package/lib/dependencies/ImportParserPlugin.js +7 -0
  256. package/lib/dependencies/ImportPhase.js +6 -2
  257. package/lib/dependencies/ImportPlugin.js +2 -1
  258. package/lib/dependencies/ImportWeakDependency.js +2 -0
  259. package/lib/dependencies/JsonExportsDependency.js +6 -1
  260. package/lib/dependencies/LoaderDependency.js +2 -0
  261. package/lib/dependencies/LoaderImportDependency.js +2 -0
  262. package/lib/dependencies/LoaderPlugin.js +4 -1
  263. package/lib/dependencies/LocalModule.js +4 -0
  264. package/lib/dependencies/LocalModuleDependency.js +4 -0
  265. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  266. package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
  267. package/lib/dependencies/ModuleDependency.js +7 -0
  268. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  269. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  270. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  271. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  272. package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
  273. package/lib/dependencies/NullDependency.js +2 -0
  274. package/lib/dependencies/PrefetchDependency.js +1 -0
  275. package/lib/dependencies/ProvidedDependency.js +6 -1
  276. package/lib/dependencies/PureExpressionDependency.js +7 -1
  277. package/lib/dependencies/RequireContextDependency.js +1 -0
  278. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
  279. package/lib/dependencies/RequireContextPlugin.js +2 -1
  280. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  281. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
  282. package/lib/dependencies/RequireEnsureDependency.js +4 -0
  283. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  284. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  285. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  286. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  287. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
  288. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  289. package/lib/dependencies/RequireResolveContextDependency.js +3 -0
  290. package/lib/dependencies/RequireResolveDependency.js +1 -0
  291. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  292. package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
  293. package/lib/dependencies/StaticExportsDependency.js +3 -0
  294. package/lib/dependencies/SystemPlugin.js +4 -1
  295. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  296. package/lib/dependencies/URLContextDependency.js +3 -0
  297. package/lib/dependencies/URLDependency.js +6 -0
  298. package/lib/dependencies/URLPlugin.js +2 -0
  299. package/lib/dependencies/UnsupportedDependency.js +4 -0
  300. package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
  301. package/lib/dependencies/WebAssemblyImportDependency.js +4 -1
  302. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
  303. package/lib/dependencies/WorkerDependency.js +6 -1
  304. package/lib/dependencies/WorkerPlugin.js +9 -1
  305. package/lib/dependencies/getFunctionExpression.js +1 -0
  306. package/lib/dependencies/processExportInfo.js +1 -0
  307. package/lib/electron/ElectronTargetPlugin.js +2 -1
  308. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  309. package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
  310. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
  311. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
  312. package/lib/formatLocation.js +2 -0
  313. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  314. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  315. package/lib/hmr/LazyCompilationPlugin.js +20 -1
  316. package/lib/hmr/lazyCompilationBackend.js +2 -0
  317. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  318. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  319. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  320. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  321. package/lib/ids/IdHelpers.js +20 -0
  322. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  323. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  324. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  325. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  326. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  327. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  328. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  329. package/lib/index.js +5 -0
  330. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  331. package/lib/javascript/BasicEvaluatedExpression.js +4 -2
  332. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  333. package/lib/javascript/ChunkHelpers.js +1 -0
  334. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  335. package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
  336. package/lib/javascript/JavascriptGenerator.js +10 -0
  337. package/lib/javascript/JavascriptModulesPlugin.js +23 -1
  338. package/lib/javascript/JavascriptParser.js +163 -0
  339. package/lib/javascript/JavascriptParserHelpers.js +6 -0
  340. package/lib/javascript/StartupHelpers.js +5 -0
  341. package/lib/json/JsonData.js +5 -0
  342. package/lib/json/JsonGenerator.js +21 -0
  343. package/lib/json/JsonModulesPlugin.js +1 -1
  344. package/lib/json/JsonParser.js +8 -10
  345. package/lib/library/AbstractLibraryPlugin.js +16 -1
  346. package/lib/library/AmdLibraryPlugin.js +8 -0
  347. package/lib/library/AssignLibraryPlugin.js +16 -0
  348. package/lib/library/EnableLibraryPlugin.js +7 -1
  349. package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
  350. package/lib/library/JsonpLibraryPlugin.js +8 -0
  351. package/lib/library/ModuleLibraryPlugin.js +12 -1
  352. package/lib/library/SystemLibraryPlugin.js +8 -0
  353. package/lib/library/UmdLibraryPlugin.js +16 -0
  354. package/lib/logging/Logger.js +17 -0
  355. package/lib/logging/createConsoleLogger.js +7 -0
  356. package/lib/logging/runtime.js +2 -0
  357. package/lib/logging/truncateArgs.js +2 -0
  358. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  359. package/lib/node/NodeEnvironmentPlugin.js +3 -1
  360. package/lib/node/NodeSourcePlugin.js +1 -1
  361. package/lib/node/NodeTargetPlugin.js +2 -1
  362. package/lib/node/NodeTemplatePlugin.js +3 -1
  363. package/lib/node/NodeWatchFileSystem.js +2 -0
  364. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
  365. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
  366. package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
  367. package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
  368. package/lib/node/nodeConsole.js +3 -0
  369. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  370. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  371. package/lib/optimize/ConcatenatedModule.js +11 -0
  372. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  373. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
  374. package/lib/optimize/InnerGraph.js +15 -0
  375. package/lib/optimize/InnerGraphPlugin.js +3 -1
  376. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  377. package/lib/optimize/MangleExportsPlugin.js +5 -1
  378. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  379. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  380. package/lib/optimize/MinMaxSizeWarning.js +1 -0
  381. package/lib/optimize/ModuleConcatenationPlugin.js +21 -1
  382. package/lib/optimize/RealContentHashPlugin.js +16 -1
  383. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  384. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  385. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  386. package/lib/optimize/SideEffectsFlagPlugin.js +7 -1
  387. package/lib/optimize/SplitChunksPlugin.js +49 -1
  388. package/lib/performance/AssetsOverSizeLimitWarning.js +1 -0
  389. package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -0
  390. package/lib/performance/SizeLimitsPlugin.js +7 -1
  391. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  392. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
  393. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  394. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -0
  395. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
  396. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  397. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  398. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  399. package/lib/rules/RuleSetCompiler.js +18 -0
  400. package/lib/rules/UseEffectRulePlugin.js +6 -0
  401. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
  402. package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
  403. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  404. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  405. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
  406. package/lib/runtime/CompatRuntimeModule.js +2 -0
  407. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
  408. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  409. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  410. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
  411. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  412. package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
  413. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  414. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  415. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
  416. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  417. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
  418. package/lib/runtime/HelperRuntimeModule.js +5 -0
  419. package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
  420. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +2 -0
  421. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
  422. package/lib/runtime/NonceRuntimeModule.js +1 -0
  423. package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
  424. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  425. package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
  426. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  427. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  428. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
  429. package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
  430. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  431. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  432. package/lib/schemes/DataUriPlugin.js +1 -1
  433. package/lib/schemes/FileUriPlugin.js +1 -1
  434. package/lib/schemes/HttpUriPlugin.js +43 -1
  435. package/lib/schemes/VirtualUrlPlugin.js +6 -1
  436. package/lib/serialization/AggregateErrorSerializer.js +2 -0
  437. package/lib/serialization/ArraySerializer.js +2 -0
  438. package/lib/serialization/BinaryMiddleware.js +20 -1
  439. package/lib/serialization/DateObjectSerializer.js +2 -0
  440. package/lib/serialization/ErrorObjectSerializer.js +3 -0
  441. package/lib/serialization/FileMiddleware.js +21 -0
  442. package/lib/serialization/MapObjectSerializer.js +2 -0
  443. package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
  444. package/lib/serialization/ObjectMiddleware.js +23 -0
  445. package/lib/serialization/PlainObjectSerializer.js +7 -0
  446. package/lib/serialization/RegExpObjectSerializer.js +2 -0
  447. package/lib/serialization/Serializer.js +5 -0
  448. package/lib/serialization/SerializerMiddleware.js +12 -0
  449. package/lib/serialization/SetObjectSerializer.js +2 -0
  450. package/lib/serialization/SingleItemMiddleware.js +3 -0
  451. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  452. package/lib/sharing/ConsumeSharedModule.js +15 -0
  453. package/lib/sharing/ConsumeSharedPlugin.js +6 -1
  454. package/lib/sharing/ConsumeSharedRuntimeModule.js +1 -0
  455. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  456. package/lib/sharing/ProvideSharedDependency.js +4 -0
  457. package/lib/sharing/ProvideSharedModule.js +11 -0
  458. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  459. package/lib/sharing/ProvideSharedPlugin.js +4 -1
  460. package/lib/sharing/SharePlugin.js +2 -1
  461. package/lib/sharing/ShareRuntimeModule.js +1 -0
  462. package/lib/sharing/resolveMatchedConfigs.js +3 -0
  463. package/lib/sharing/utils.js +8 -0
  464. package/lib/stats/DefaultStatsFactoryPlugin.js +56 -1
  465. package/lib/stats/DefaultStatsPresetPlugin.js +11 -1
  466. package/lib/stats/DefaultStatsPrinterPlugin.js +37 -1
  467. package/lib/stats/StatsFactory.js +12 -0
  468. package/lib/stats/StatsPrinter.js +7 -0
  469. package/lib/url/URLParserPlugin.js +6 -0
  470. package/lib/util/AppendOnlyStackedSet.js +15 -0
  471. package/lib/util/ArrayHelpers.js +1 -0
  472. package/lib/util/ArrayQueue.js +10 -5
  473. package/lib/util/AsyncQueue.js +20 -0
  474. package/lib/util/IterableHelpers.js +3 -0
  475. package/lib/util/LazyBucketSortedSet.js +21 -0
  476. package/lib/util/LazySet.js +39 -0
  477. package/lib/util/ParallelismFactorCalculator.js +1 -0
  478. package/lib/util/Queue.js +6 -3
  479. package/lib/util/Semaphore.js +14 -1
  480. package/lib/util/SetHelpers.js +3 -0
  481. package/lib/util/SortableSet.js +6 -0
  482. package/lib/util/StackedCacheMap.js +20 -3
  483. package/lib/util/StackedMap.js +45 -0
  484. package/lib/util/StringXor.js +1 -1
  485. package/lib/util/TupleQueue.js +7 -3
  486. package/lib/util/TupleSet.js +13 -0
  487. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  488. package/lib/util/WeakTupleMap.js +33 -0
  489. package/lib/util/binarySearchBounds.js +1 -0
  490. package/lib/util/cleverMerge.js +17 -0
  491. package/lib/util/comparators.js +31 -0
  492. package/lib/util/compileBooleanMatcher.js +9 -0
  493. package/lib/util/concatenate.js +6 -0
  494. package/lib/util/conventions.js +4 -0
  495. package/lib/util/dataURL.js +1 -0
  496. package/lib/util/deprecation.js +19 -0
  497. package/lib/util/deterministicGrouping.js +20 -0
  498. package/lib/util/extractSourceMap.js +1 -0
  499. package/lib/util/extractUrlAndGlobal.js +1 -0
  500. package/lib/util/findGraphRoots.js +5 -0
  501. package/lib/util/fs.js +63 -0
  502. package/lib/util/generateDebugId.js +1 -0
  503. package/lib/util/hash/BatchedHash.js +1 -0
  504. package/lib/util/hash/BulkUpdateHash.js +1 -0
  505. package/lib/util/hash/hash-digest.js +8 -0
  506. package/lib/util/hash/wasm-hash.js +5 -0
  507. package/lib/util/identifier.js +19 -0
  508. package/lib/util/magicComment.js +1 -0
  509. package/lib/util/makeSerializable.js +6 -0
  510. package/lib/util/memoize.js +2 -0
  511. package/lib/util/mimeTypes.js +176 -0
  512. package/lib/util/nonNumericOnlyHash.js +1 -0
  513. package/lib/util/parseJson.js +112 -0
  514. package/lib/util/processAsyncTree.js +8 -0
  515. package/lib/util/property.js +1 -0
  516. package/lib/util/registerExternalSerializer.js +20 -0
  517. package/lib/util/removeBOM.js +1 -0
  518. package/lib/util/runtime.js +32 -0
  519. package/lib/util/semver.js +15 -0
  520. package/lib/util/serialization.js +2 -0
  521. package/lib/util/smartGrouping.js +8 -0
  522. package/lib/util/source.js +2 -0
  523. package/lib/validateSchema.js +1 -0
  524. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  525. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
  526. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
  527. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  528. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
  529. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +10 -1
  530. package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -0
  531. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
  532. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
  533. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
  534. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +1 -1
  535. package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
  536. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
  537. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  538. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
  539. package/lib/wasm-sync/WebAssemblyParser.js +2 -0
  540. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  541. package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
  542. package/lib/web/FetchCompileWasmPlugin.js +13 -1
  543. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  544. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
  545. package/lib/web/JsonpTemplatePlugin.js +2 -1
  546. package/lib/webpack.js +10 -0
  547. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  548. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
  549. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  550. package/package.json +12 -14
  551. package/schemas/WebpackOptions.check.js +1 -1
  552. package/schemas/WebpackOptions.json +44 -55
  553. package/types.d.ts +4594 -331
@@ -14,6 +14,7 @@ const { getEntryRuntime, mergeRuntimeOwned } = require("./util/runtime");
14
14
  const PLUGIN_NAME = "FlagAllModulesAsUsedPlugin";
15
15
  class FlagAllModulesAsUsedPlugin {
16
16
  /**
17
+ * Creates an instance of FlagAllModulesAsUsedPlugin.
17
18
  * @param {string} explanation explanation
18
19
  */
19
20
  constructor(explanation) {
@@ -21,7 +22,7 @@ class FlagAllModulesAsUsedPlugin {
21
22
  }
22
23
 
23
24
  /**
24
- * Apply the plugin
25
+ * Applies the plugin by registering its hooks on the compiler.
25
26
  * @param {Compiler} compiler the compiler instance
26
27
  * @returns {void}
27
28
  */
@@ -24,7 +24,7 @@ const PLUGIN_LOGGER_NAME = `webpack.${PLUGIN_NAME}`;
24
24
 
25
25
  class FlagDependencyExportsPlugin {
26
26
  /**
27
- * Apply the plugin
27
+ * Applies the plugin by registering its hooks on the compiler.
28
28
  * @param {Compiler} compiler the compiler instance
29
29
  * @returns {void}
30
30
  */
@@ -129,6 +129,7 @@ class FlagDependencyExportsPlugin {
129
129
  let changed = false;
130
130
 
131
131
  /**
132
+ * Process dependencies block.
132
133
  * @param {DependenciesBlock} depBlock the dependencies block
133
134
  * @returns {void}
134
135
  */
@@ -142,6 +143,7 @@ class FlagDependencyExportsPlugin {
142
143
  };
143
144
 
144
145
  /**
146
+ * Process dependency.
145
147
  * @param {Dependency} dep the dependency
146
148
  * @returns {void}
147
149
  */
@@ -152,6 +154,7 @@ class FlagDependencyExportsPlugin {
152
154
  };
153
155
 
154
156
  /**
157
+ * Process exports spec.
155
158
  * @param {Dependency} dep dependency
156
159
  * @param {ExportsSpec} exportDesc info
157
160
  * @returns {void}
@@ -28,6 +28,7 @@ const PLUGIN_LOGGER_NAME = `webpack.${PLUGIN_NAME}`;
28
28
 
29
29
  class FlagDependencyUsagePlugin {
30
30
  /**
31
+ * Creates an instance of FlagDependencyUsagePlugin.
31
32
  * @param {boolean} global do a global analysis instead of per runtime
32
33
  */
33
34
  constructor(global) {
@@ -36,7 +37,7 @@ class FlagDependencyUsagePlugin {
36
37
  }
37
38
 
38
39
  /**
39
- * Apply the plugin
40
+ * Applies the plugin by registering its hooks on the compiler.
40
41
  * @param {Compiler} compiler the compiler instance
41
42
  * @returns {void}
42
43
  */
@@ -60,6 +61,7 @@ class FlagDependencyUsagePlugin {
60
61
  const queue = new TupleQueue();
61
62
 
62
63
  /**
64
+ * Process referenced module.
63
65
  * @param {Module} module module to process
64
66
  * @param {ReferencedExports} usedExports list of used exports
65
67
  * @param {RuntimeSpec} runtime part of which runtime
@@ -163,6 +165,7 @@ class FlagDependencyUsagePlugin {
163
165
  };
164
166
 
165
167
  /**
168
+ * Processes the provided module.
166
169
  * @param {DependenciesBlock} module the module
167
170
  * @param {RuntimeSpec} runtime part of which runtime
168
171
  * @param {boolean} forceSideEffects always apply side effects
@@ -294,6 +297,7 @@ class FlagDependencyUsagePlugin {
294
297
  logger.time("trace exports usage in graph");
295
298
 
296
299
  /**
300
+ * Process entry dependency.
297
301
  * @param {Dependency} dep dependency
298
302
  * @param {RuntimeSpec} runtime runtime
299
303
  */
@@ -13,6 +13,7 @@ const PLUGIN_NAME = "FlagEntryExportAsUsedPlugin";
13
13
 
14
14
  class FlagEntryExportAsUsedPlugin {
15
15
  /**
16
+ * Creates an instance of FlagEntryExportAsUsedPlugin.
16
17
  * @param {boolean} nsObjectUsed true, if the ns object is used
17
18
  * @param {string} explanation explanation for the reason
18
19
  */
@@ -22,7 +23,7 @@ class FlagEntryExportAsUsedPlugin {
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
  */
package/lib/Generator.js CHANGED
@@ -24,6 +24,7 @@ const { JAVASCRIPT_TYPE } = require("./ModuleSourceTypeConstants");
24
24
  /** @typedef {import("./util/runtime").RuntimeSpec} RuntimeSpec */
25
25
 
26
26
  /**
27
+ * Defines the generate context type used by this module.
27
28
  * @typedef {object} GenerateContext
28
29
  * @property {DependencyTemplates} dependencyTemplates mapping from dependencies to templates
29
30
  * @property {RuntimeTemplate} runtimeTemplate the runtime template
@@ -38,6 +39,7 @@ const { JAVASCRIPT_TYPE } = require("./ModuleSourceTypeConstants");
38
39
  */
39
40
 
40
41
  /**
42
+ * Defines the generate error fn callback.
41
43
  * @callback GenerateErrorFn
42
44
  * @param {Error} error the error
43
45
  * @param {NormalModule} module module for which the code should be generated
@@ -46,6 +48,7 @@ const { JAVASCRIPT_TYPE } = require("./ModuleSourceTypeConstants");
46
48
  */
47
49
 
48
50
  /**
51
+ * Represents the generator runtime component.
49
52
  * @typedef {object} UpdateHashContext
50
53
  * @property {NormalModule} module the module
51
54
  * @property {ChunkGraph} chunkGraph
@@ -55,6 +58,7 @@ const { JAVASCRIPT_TYPE } = require("./ModuleSourceTypeConstants");
55
58
 
56
59
  class Generator {
57
60
  /**
61
+ * Returns generator by type.
58
62
  * @param {{ [key in SourceType]?: Generator }} map map of types
59
63
  * @returns {ByTypeGenerator} generator by type
60
64
  */
@@ -64,6 +68,7 @@ class Generator {
64
68
 
65
69
  /* istanbul ignore next */
66
70
  /**
71
+ * Returns the source types available for this module.
67
72
  * @abstract
68
73
  * @param {NormalModule} module fresh module
69
74
  * @returns {SourceTypes} available types (do not mutate)
@@ -76,6 +81,7 @@ class Generator {
76
81
 
77
82
  /* istanbul ignore next */
78
83
  /**
84
+ * Returns the estimated size for the requested source type.
79
85
  * @abstract
80
86
  * @param {NormalModule} module the module
81
87
  * @param {SourceType=} type source type
@@ -89,6 +95,7 @@ class Generator {
89
95
 
90
96
  /* istanbul ignore next */
91
97
  /**
98
+ * Generates generated code for this runtime module.
92
99
  * @abstract
93
100
  * @param {NormalModule} module module for which the code should be generated
94
101
  * @param {GenerateContext} generateContext context for generate
@@ -104,6 +111,7 @@ class Generator {
104
111
  }
105
112
 
106
113
  /**
114
+ * Returns the reason this module cannot be concatenated, when one exists.
107
115
  * @param {NormalModule} module module for which the bailout reason should be determined
108
116
  * @param {ConcatenationBailoutReasonContext} context context
109
117
  * @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
@@ -113,6 +121,7 @@ class Generator {
113
121
  }
114
122
 
115
123
  /**
124
+ * Updates the hash with the data contributed by this instance.
116
125
  * @param {Hash} hash hash that will be modified
117
126
  * @param {UpdateHashContext} updateHashContext context for updating hash
118
127
  */
@@ -141,6 +150,7 @@ function generateError(error, module, generateContext) {
141
150
 
142
151
  class ByTypeGenerator extends Generator {
143
152
  /**
153
+ * Creates an instance of ByTypeGenerator.
144
154
  * @param {{ [key in SourceType]?: Generator }} map map of types
145
155
  */
146
156
  constructor(map) {
@@ -152,6 +162,7 @@ class ByTypeGenerator extends Generator {
152
162
  }
153
163
 
154
164
  /**
165
+ * Returns the source types available for this module.
155
166
  * @param {NormalModule} module fresh module
156
167
  * @returns {SourceTypes} available types (do not mutate)
157
168
  */
@@ -160,6 +171,7 @@ class ByTypeGenerator extends Generator {
160
171
  }
161
172
 
162
173
  /**
174
+ * Returns the estimated size for the requested source type.
163
175
  * @param {NormalModule} module the module
164
176
  * @param {SourceType=} type source type
165
177
  * @returns {number} estimate size of the module
@@ -171,6 +183,7 @@ class ByTypeGenerator extends Generator {
171
183
  }
172
184
 
173
185
  /**
186
+ * Generates generated code for this runtime module.
174
187
  * @param {NormalModule} module module for which the code should be generated
175
188
  * @param {GenerateContext} generateContext context for generate
176
189
  * @returns {Source | null} generated code
@@ -10,6 +10,7 @@
10
10
  /** @typedef {import(".").Entrypoint} Entrypoint */
11
11
 
12
12
  /**
13
+ * Connects chunk group and chunk.
13
14
  * @param {ChunkGroup} chunkGroup the ChunkGroup to connect
14
15
  * @param {Chunk} chunk chunk to tie to ChunkGroup
15
16
  * @returns {void}
@@ -21,6 +22,7 @@ const connectChunkGroupAndChunk = (chunkGroup, chunk) => {
21
22
  };
22
23
 
23
24
  /**
25
+ * Connects chunk group parent and child.
24
26
  * @param {ChunkGroup} parent parent ChunkGroup to connect
25
27
  * @param {ChunkGroup} child child ChunkGroup to connect
26
28
  * @returns {void}
@@ -32,6 +34,7 @@ const connectChunkGroupParentAndChild = (parent, child) => {
32
34
  };
33
35
 
34
36
  /**
37
+ * Connects entrypoint and depend on.
35
38
  * @param {Entrypoint} entrypoint the entrypoint
36
39
  * @param {Entrypoint} dependOnEntrypoint the dependOnEntrypoint
37
40
  * @returns {void}
@@ -12,6 +12,7 @@ const makeSerializable = require("./util/makeSerializable");
12
12
  /** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
13
13
 
14
14
  /**
15
+ * Defines the callback callback.
15
16
  * @template T
16
17
  * @callback Callback
17
18
  * @param {Error | null} err
@@ -38,6 +39,7 @@ class HookWebpackError extends WebpackError {
38
39
  }
39
40
 
40
41
  /**
42
+ * Serializes this instance into the provided serializer context.
41
43
  * @param {ObjectSerializerContext} context context
42
44
  */
43
45
  serialize(context) {
@@ -50,6 +52,7 @@ class HookWebpackError extends WebpackError {
50
52
  }
51
53
 
52
54
  /**
55
+ * Restores this instance from the provided deserializer context.
53
56
  * @param {ObjectDeserializerContext} context context
54
57
  */
55
58
  deserialize(context) {
@@ -67,6 +70,7 @@ makeSerializable(HookWebpackError, "webpack/lib/HookWebpackError");
67
70
  module.exports = HookWebpackError;
68
71
 
69
72
  /**
73
+ * Creates webpack error.
70
74
  * @param {Error} error an error
71
75
  * @param {string} hook name of the hook
72
76
  * @returns {WebpackError} a webpack error
@@ -79,6 +83,7 @@ const makeWebpackError = (error, hook) => {
79
83
  module.exports.makeWebpackError = makeWebpackError;
80
84
 
81
85
  /**
86
+ * Creates webpack error callback.
82
87
  * @template T
83
88
  * @param {(err: WebpackError | null, result?: T) => void} callback webpack error callback
84
89
  * @param {string} hook name of hook
@@ -99,6 +104,7 @@ const makeWebpackErrorCallback = (callback, hook) => (err, result) => {
99
104
  module.exports.makeWebpackErrorCallback = makeWebpackErrorCallback;
100
105
 
101
106
  /**
107
+ * Try run or webpack error.
102
108
  * @template T
103
109
  * @param {() => T} fn function which will be wrapping in try catch
104
110
  * @param {string} hook name of hook
@@ -63,6 +63,7 @@ const {
63
63
  /** @typedef {string[]} Requests */
64
64
 
65
65
  /**
66
+ * Defines the hmr javascript parser hooks type used by this module.
66
67
  * @typedef {object} HMRJavascriptParserHooks
67
68
  * @property {SyncBailHook<[Expression | SpreadElement, Requests], void>} hotAcceptCallback
68
69
  * @property {SyncBailHook<[CallExpression, Requests], void>} hotAcceptWithoutCallback
@@ -88,6 +89,7 @@ const PLUGIN_NAME = "HotModuleReplacementPlugin";
88
89
 
89
90
  class HotModuleReplacementPlugin {
90
91
  /**
92
+ * Returns the attached hooks.
91
93
  * @param {JavascriptParser} parser the parser
92
94
  * @returns {HMRJavascriptParserHooks} the attached hooks
93
95
  */
@@ -109,7 +111,7 @@ class HotModuleReplacementPlugin {
109
111
  }
110
112
 
111
113
  /**
112
- * Apply the plugin
114
+ * Applies the plugin by registering its hooks on the compiler.
113
115
  * @param {Compiler} compiler the compiler instance
114
116
  * @returns {void}
115
117
  */
@@ -121,6 +123,7 @@ class HotModuleReplacementPlugin {
121
123
  const runtimeRequirements = [RuntimeGlobals.module];
122
124
 
123
125
  /**
126
+ * Creates an accept handler.
124
127
  * @param {JavascriptParser} parser the parser
125
128
  * @param {typeof ModuleHotAcceptDependency} ParamDependency dependency
126
129
  * @returns {(expr: CallExpression) => boolean | undefined} callback
@@ -187,6 +190,7 @@ class HotModuleReplacementPlugin {
187
190
  };
188
191
 
189
192
  /**
193
+ * Creates a decline handler.
190
194
  * @param {JavascriptParser} parser the parser
191
195
  * @param {typeof ModuleHotDeclineDependency} ParamDependency dependency
192
196
  * @returns {(expr: CallExpression) => boolean | undefined} callback
@@ -228,6 +232,7 @@ class HotModuleReplacementPlugin {
228
232
  };
229
233
 
230
234
  /**
235
+ * Creates a hmr expression handler.
231
236
  * @param {JavascriptParser} parser the parser
232
237
  * @returns {(expr: Expression) => boolean | undefined} callback
233
238
  */
@@ -246,6 +251,7 @@ class HotModuleReplacementPlugin {
246
251
  };
247
252
 
248
253
  /**
254
+ * Processes the provided parser.
249
255
  * @param {JavascriptParser} parser the parser
250
256
  * @returns {void}
251
257
  */
@@ -281,6 +287,7 @@ class HotModuleReplacementPlugin {
281
287
  };
282
288
 
283
289
  /**
290
+ * Apply import meta hot.
284
291
  * @param {JavascriptParser} parser the parser
285
292
  * @returns {void}
286
293
  */
@@ -402,6 +409,7 @@ class HotModuleReplacementPlugin {
402
409
  const records = /** @type {Records} */ (compilation.records);
403
410
  for (const chunk of compilation.chunks) {
404
411
  /**
412
+ * Returns module hash.
405
413
  * @param {Module} module module
406
414
  * @returns {string} module hash
407
415
  */
@@ -16,6 +16,7 @@ const ModuleFactory = require("./ModuleFactory");
16
16
  */
17
17
  class IgnoreErrorModuleFactory extends ModuleFactory {
18
18
  /**
19
+ * Creates an instance of IgnoreErrorModuleFactory.
19
20
  * @param {NormalModuleFactory} normalModuleFactory normalModuleFactory instance
20
21
  */
21
22
  constructor(normalModuleFactory) {
@@ -25,6 +26,7 @@ class IgnoreErrorModuleFactory extends ModuleFactory {
25
26
  }
26
27
 
27
28
  /**
29
+ * Processes the provided data.
28
30
  * @param {ModuleFactoryCreateData} data data object
29
31
  * @param {ModuleFactoryCallback} callback callback
30
32
  * @returns {void}
@@ -19,6 +19,7 @@ const PLUGIN_NAME = "IgnorePlugin";
19
19
 
20
20
  class IgnorePlugin {
21
21
  /**
22
+ * Creates an instance of IgnorePlugin.
22
23
  * @param {IgnorePluginOptions} options IgnorePlugin options
23
24
  */
24
25
  constructor(options) {
@@ -58,7 +59,7 @@ class IgnorePlugin {
58
59
  }
59
60
 
60
61
  /**
61
- * Apply the plugin
62
+ * Applies the plugin by registering its hooks on the compiler.
62
63
  * @param {Compiler} compiler the compiler instance
63
64
  * @returns {void}
64
65
  */
@@ -14,6 +14,7 @@ const PLUGIN_NAME = "IgnoreWarningsPlugin";
14
14
 
15
15
  class IgnoreWarningsPlugin {
16
16
  /**
17
+ * Creates an instance of IgnoreWarningsPlugin.
17
18
  * @param {IgnoreFn[]} ignoreWarnings conditions to ignore warnings
18
19
  */
19
20
  constructor(ignoreWarnings) {
@@ -22,7 +23,7 @@ class IgnoreWarningsPlugin {
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
  */
@@ -16,6 +16,7 @@ const makeSerializable = require("./util/makeSerializable");
16
16
  /** @typedef {string} InitFragmentKey */
17
17
 
18
18
  /**
19
+ * Defines the maybe mergeable init fragment type used by this module.
19
20
  * @template GenerateContext
20
21
  * @typedef {object} MaybeMergeableInitFragment
21
22
  * @property {InitFragmentKey=} key
@@ -28,6 +29,7 @@ const makeSerializable = require("./util/makeSerializable");
28
29
  */
29
30
 
30
31
  /**
32
+ * Extract fragment index.
31
33
  * @template T
32
34
  * @param {T} fragment the init fragment
33
35
  * @param {number} index index
@@ -36,6 +38,7 @@ const makeSerializable = require("./util/makeSerializable");
36
38
  const extractFragmentIndex = (fragment, index) => [fragment, index];
37
39
 
38
40
  /**
41
+ * Sorts fragment with index.
39
42
  * @template T
40
43
  * @param {[MaybeMergeableInitFragment<T>, number]} a first pair
41
44
  * @param {[MaybeMergeableInitFragment<T>, number]} b second pair
@@ -50,11 +53,13 @@ const sortFragmentWithIndex = ([a, i], [b, j]) => {
50
53
  };
51
54
 
52
55
  /**
56
+ * Represents InitFragment.
53
57
  * @template GenerateContext
54
58
  * @implements {MaybeMergeableInitFragment<GenerateContext>}
55
59
  */
56
60
  class InitFragment {
57
61
  /**
62
+ * Creates an instance of InitFragment.
58
63
  * @param {string | Source | undefined} content the source code that will be included as initialization code
59
64
  * @param {number} stage category of initialization code (contribute to order)
60
65
  * @param {number} position position in the category (contribute to order)
@@ -70,6 +75,7 @@ class InitFragment {
70
75
  }
71
76
 
72
77
  /**
78
+ * Returns the source code that will be included as initialization code.
73
79
  * @param {GenerateContext} context context
74
80
  * @returns {string | Source | undefined} the source code that will be included as initialization code
75
81
  */
@@ -78,6 +84,7 @@ class InitFragment {
78
84
  }
79
85
 
80
86
  /**
87
+ * Returns the source code that will be included at the end of the module.
81
88
  * @param {GenerateContext} context context
82
89
  * @returns {string | Source | undefined} the source code that will be included at the end of the module
83
90
  */
@@ -86,6 +93,7 @@ class InitFragment {
86
93
  }
87
94
 
88
95
  /**
96
+ * Adds the provided source to the init fragment.
89
97
  * @template Context
90
98
  * @param {Source} source sources
91
99
  * @param {MaybeMergeableInitFragment<Context>[]} initFragments init fragments
@@ -165,6 +173,7 @@ class InitFragment {
165
173
  }
166
174
 
167
175
  /**
176
+ * Serializes this instance into the provided serializer context.
168
177
  * @param {ObjectSerializerContext} context context
169
178
  */
170
179
  serialize(context) {
@@ -178,6 +187,7 @@ class InitFragment {
178
187
  }
179
188
 
180
189
  /**
190
+ * Restores this instance from the provided deserializer context.
181
191
  * @param {ObjectDeserializerContext} context context
182
192
  */
183
193
  deserialize(context) {
@@ -12,6 +12,7 @@ const makeSerializable = require("./util/makeSerializable");
12
12
 
13
13
  class InvalidDependenciesModuleWarning extends WebpackError {
14
14
  /**
15
+ * Creates an instance of InvalidDependenciesModuleWarning.
15
16
  * @param {Module} module module tied to dependency
16
17
  * @param {Iterable<string>} deps invalid dependencies
17
18
  */
@@ -20,7 +20,7 @@ const PLUGIN_NAME = "JavascriptMetaInfoPlugin";
20
20
 
21
21
  class JavascriptMetaInfoPlugin {
22
22
  /**
23
- * Apply the plugin
23
+ * Applies the plugin by registering its hooks on the compiler.
24
24
  * @param {Compiler} compiler the compiler instance
25
25
  * @returns {void}
26
26
  */
@@ -29,6 +29,7 @@ class JavascriptMetaInfoPlugin {
29
29
  PLUGIN_NAME,
30
30
  (compilation, { normalModuleFactory }) => {
31
31
  /**
32
+ * Handles the hook callback for this code path.
32
33
  * @param {JavascriptParser} parser the parser
33
34
  * @returns {void}
34
35
  */
@@ -18,6 +18,7 @@ const { dirname, mkdirp } = require("./util/fs");
18
18
  /** @typedef {import("./ExportsInfo").ExportInfoName} ExportInfoName */
19
19
 
20
20
  /**
21
+ * Defines the manifest module data type used by this module.
21
22
  * @typedef {object} ManifestModuleData
22
23
  * @property {ModuleId} id
23
24
  * @property {BuildMeta=} buildMeta
@@ -25,6 +26,7 @@ const { dirname, mkdirp } = require("./util/fs");
25
26
  */
26
27
 
27
28
  /**
29
+ * Defines the lib manifest plugin options type used by this module.
28
30
  * @typedef {object} LibManifestPluginOptions
29
31
  * @property {string=} context Context of requests in the manifest file (defaults to the webpack context).
30
32
  * @property {boolean=} entryOnly If true, only entry points will be exposed (default: true).
@@ -38,6 +40,7 @@ const PLUGIN_NAME = "LibManifestPlugin";
38
40
 
39
41
  class LibManifestPlugin {
40
42
  /**
43
+ * Creates an instance of LibManifestPlugin.
41
44
  * @param {LibManifestPluginOptions} options the options
42
45
  */
43
46
  constructor(options) {
@@ -45,7 +48,7 @@ class LibManifestPlugin {
45
48
  }
46
49
 
47
50
  /**
48
- * Apply the plugin
51
+ * Applies the plugin by registering its hooks on the compiler.
49
52
  * @param {Compiler} compiler the compiler instance
50
53
  * @returns {void}
51
54
  */
@@ -17,6 +17,7 @@ const EnableLibraryPlugin = require("./library/EnableLibraryPlugin");
17
17
  // TODO webpack 6 remove
18
18
  class LibraryTemplatePlugin {
19
19
  /**
20
+ * Creates an instance of LibraryTemplatePlugin.
20
21
  * @param {LibraryName} name name of library
21
22
  * @param {LibraryType} target type of library
22
23
  * @param {UmdNamedDefine} umdNamedDefine setting this to true will name the UMD module
@@ -34,7 +35,7 @@ class LibraryTemplatePlugin {
34
35
  }
35
36
 
36
37
  /**
37
- * Apply the plugin
38
+ * Applies the plugin by registering its hooks on the compiler.
38
39
  * @param {Compiler} compiler the compiler instance
39
40
  * @returns {void}
40
41
  */
@@ -13,6 +13,7 @@ const NormalModule = require("./NormalModule");
13
13
  /** @typedef {import("./ModuleFilenameHelpers").MatchObject} MatchObject */
14
14
 
15
15
  /**
16
+ * Defines the loader context type used by this module.
16
17
  * @template T
17
18
  * @typedef {import("../declarations/LoaderContext").LoaderContext<T>} LoaderContext
18
19
  */
@@ -21,6 +22,7 @@ const PLUGIN_NAME = "LoaderOptionsPlugin";
21
22
 
22
23
  class LoaderOptionsPlugin {
23
24
  /**
25
+ * Creates an instance of LoaderOptionsPlugin.
24
26
  * @param {LoaderOptionsPluginOptions & MatchObject} options options object
25
27
  */
26
28
  constructor(options = {}) {
@@ -34,7 +36,7 @@ class LoaderOptionsPlugin {
34
36
  }
35
37
 
36
38
  /**
37
- * Apply the plugin
39
+ * Applies the plugin by registering its hooks on the compiler.
38
40
  * @param {Compiler} compiler the compiler instance
39
41
  * @returns {void}
40
42
  */
@@ -13,6 +13,7 @@ const PLUGIN_NAME = "LoaderTargetPlugin";
13
13
 
14
14
  class LoaderTargetPlugin {
15
15
  /**
16
+ * Creates an instance of LoaderTargetPlugin.
16
17
  * @param {string} target the target
17
18
  */
18
19
  constructor(target) {
@@ -20,7 +21,7 @@ class LoaderTargetPlugin {
20
21
  }
21
22
 
22
23
  /**
23
- * Apply the plugin
24
+ * Applies the plugin by registering its hooks on the compiler.
24
25
  * @param {Compiler} compiler the compiler instance
25
26
  * @returns {void}
26
27
  */