webpack 5.106.0 → 5.106.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/lib/APIPlugin.js +3 -1
  2. package/lib/AbstractMethodError.js +10 -1
  3. package/lib/AsyncDependenciesBlock.js +3 -0
  4. package/lib/AsyncDependencyToInitialChunkError.js +6 -1
  5. package/lib/AutomaticPrefetchPlugin.js +6 -1
  6. package/lib/BannerPlugin.js +10 -1
  7. package/lib/Cache.js +26 -1
  8. package/lib/CacheFacade.js +26 -0
  9. package/lib/CaseSensitiveModulesWarning.js +9 -1
  10. package/lib/Chunk.js +46 -0
  11. package/lib/ChunkGraph.js +111 -0
  12. package/lib/ChunkGroup.js +57 -13
  13. package/lib/ChunkTemplate.js +9 -0
  14. package/lib/CleanPlugin.js +14 -1
  15. package/lib/CodeGenerationResults.js +19 -0
  16. package/lib/CommentCompilationWarning.js +6 -0
  17. package/lib/CompatibilityPlugin.js +15 -1
  18. package/lib/Compilation.js +127 -1
  19. package/lib/Compiler.js +37 -4
  20. package/lib/ConcatenationScope.js +24 -1
  21. package/lib/ConditionalInitFragment.js +6 -0
  22. package/lib/ConstPlugin.js +4 -1
  23. package/lib/ContextExclusionPlugin.js +2 -1
  24. package/lib/ContextModule.js +12 -0
  25. package/lib/ContextModuleFactory.js +10 -0
  26. package/lib/ContextReplacementPlugin.js +4 -1
  27. package/lib/CssModule.js +6 -0
  28. package/lib/DefinePlugin.js +20 -7
  29. package/lib/DelegatedModule.js +13 -0
  30. package/lib/DelegatedModuleFactoryPlugin.js +3 -0
  31. package/lib/DelegatedPlugin.js +2 -1
  32. package/lib/DependenciesBlock.js +6 -1
  33. package/lib/Dependency.js +26 -3
  34. package/lib/DependencyTemplate.js +5 -0
  35. package/lib/DependencyTemplates.js +4 -0
  36. package/lib/DllEntryPlugin.js +2 -1
  37. package/lib/DllModule.js +11 -0
  38. package/lib/DllModuleFactory.js +1 -0
  39. package/lib/DllPlugin.js +2 -1
  40. package/lib/DllReferencePlugin.js +11 -6
  41. package/lib/DotenvPlugin.js +3 -0
  42. package/lib/DynamicEntryPlugin.js +3 -1
  43. package/lib/EntryOptionPlugin.js +3 -0
  44. package/lib/EntryPlugin.js +2 -1
  45. package/lib/Entrypoint.js +4 -0
  46. package/lib/EnvironmentPlugin.js +2 -1
  47. package/lib/ErrorHelpers.js +7 -0
  48. package/lib/EvalDevToolModulePlugin.js +3 -1
  49. package/lib/EvalSourceMapDevToolPlugin.js +3 -1
  50. package/lib/ExportsInfo.js +56 -2
  51. package/lib/ExportsInfoApiPlugin.js +2 -1
  52. package/lib/ExternalModule.js +38 -0
  53. package/lib/ExternalModuleFactoryPlugin.js +10 -0
  54. package/lib/ExternalsPlugin.js +2 -1
  55. package/lib/FileSystemInfo.js +105 -0
  56. package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
  57. package/lib/FlagDependencyExportsPlugin.js +4 -1
  58. package/lib/FlagDependencyUsagePlugin.js +5 -1
  59. package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
  60. package/lib/Generator.js +13 -0
  61. package/lib/GraphHelpers.js +3 -0
  62. package/lib/HookWebpackError.js +6 -0
  63. package/lib/HotModuleReplacementPlugin.js +9 -1
  64. package/lib/IgnoreErrorModuleFactory.js +2 -0
  65. package/lib/IgnorePlugin.js +2 -1
  66. package/lib/IgnoreWarningsPlugin.js +2 -1
  67. package/lib/InitFragment.js +10 -0
  68. package/lib/InvalidDependenciesModuleWarning.js +1 -0
  69. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  70. package/lib/LibManifestPlugin.js +4 -1
  71. package/lib/LibraryTemplatePlugin.js +2 -1
  72. package/lib/LoaderOptionsPlugin.js +3 -1
  73. package/lib/LoaderTargetPlugin.js +2 -1
  74. package/lib/MainTemplate.js +15 -0
  75. package/lib/ManifestPlugin.js +9 -2
  76. package/lib/Module.js +82 -4
  77. package/lib/ModuleBuildError.js +3 -0
  78. package/lib/ModuleDependencyWarning.js +1 -0
  79. package/lib/ModuleError.js +2 -0
  80. package/lib/ModuleFactory.js +5 -0
  81. package/lib/ModuleFilenameHelpers.js +3 -0
  82. package/lib/ModuleGraph.js +66 -0
  83. package/lib/ModuleGraphConnection.js +9 -0
  84. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  85. package/lib/ModuleNotFoundError.js +1 -0
  86. package/lib/ModuleParseError.js +3 -0
  87. package/lib/ModuleRestoreError.js +1 -0
  88. package/lib/ModuleSourceTypeConstants.js +1 -0
  89. package/lib/ModuleStoreError.js +1 -0
  90. package/lib/ModuleTemplate.js +8 -0
  91. package/lib/ModuleWarning.js +3 -0
  92. package/lib/MultiCompiler.js +28 -0
  93. package/lib/MultiStats.js +8 -0
  94. package/lib/MultiWatching.js +3 -0
  95. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  96. package/lib/NodeStuffInWebError.js +1 -0
  97. package/lib/NodeStuffPlugin.js +10 -1
  98. package/lib/NormalModule.js +30 -2
  99. package/lib/NormalModuleFactory.js +25 -0
  100. package/lib/NormalModuleReplacementPlugin.js +1 -1
  101. package/lib/NullFactory.js +1 -0
  102. package/lib/OptionsApply.js +1 -0
  103. package/lib/Parser.js +2 -0
  104. package/lib/PlatformPlugin.js +2 -1
  105. package/lib/PrefetchPlugin.js +2 -1
  106. package/lib/ProgressPlugin.js +29 -12
  107. package/lib/ProvidePlugin.js +3 -1
  108. package/lib/RawModule.js +12 -0
  109. package/lib/RecordIdsPlugin.js +8 -0
  110. package/lib/RequestShortener.js +8 -0
  111. package/lib/RequireJsStuffPlugin.js +2 -1
  112. package/lib/ResolverFactory.js +5 -0
  113. package/lib/RuntimeGlobals.js +1 -0
  114. package/lib/RuntimeModule.js +13 -0
  115. package/lib/RuntimePlugin.js +2 -0
  116. package/lib/RuntimeTemplate.js +35 -1
  117. package/lib/SelfModuleFactory.js +2 -0
  118. package/lib/SizeFormatHelpers.js +1 -0
  119. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  120. package/lib/SourceMapDevToolPlugin.js +3 -1
  121. package/lib/Stats.js +5 -0
  122. package/lib/Template.js +20 -0
  123. package/lib/TemplatedPathPlugin.js +10 -3
  124. package/lib/UnhandledSchemeError.js +6 -0
  125. package/lib/UnsupportedFeatureWarning.js +1 -0
  126. package/lib/UseStrictPlugin.js +2 -1
  127. package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
  128. package/lib/WarnDeprecatedOptionPlugin.js +1 -1
  129. package/lib/WarnNoModeSetPlugin.js +1 -1
  130. package/lib/WatchIgnorePlugin.js +4 -1
  131. package/lib/Watching.js +14 -0
  132. package/lib/WebpackError.js +3 -0
  133. package/lib/WebpackIsIncludedPlugin.js +2 -0
  134. package/lib/WebpackOptionsApply.js +1 -0
  135. package/lib/WebpackOptionsDefaulter.js +1 -0
  136. package/lib/asset/AssetBytesGenerator.js +6 -0
  137. package/lib/asset/AssetBytesParser.js +1 -0
  138. package/lib/asset/AssetGenerator.js +20 -2
  139. package/lib/asset/AssetModulesPlugin.js +4 -1
  140. package/lib/asset/AssetParser.js +2 -0
  141. package/lib/asset/AssetSourceGenerator.js +6 -0
  142. package/lib/asset/AssetSourceParser.js +1 -0
  143. package/lib/asset/RawDataUrlModule.js +11 -0
  144. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  145. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  146. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  147. package/lib/buildChunkGraph.js +15 -0
  148. package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
  149. package/lib/cache/AddManagedPathsPlugin.js +2 -1
  150. package/lib/cache/IdleFileCachePlugin.js +2 -1
  151. package/lib/cache/MemoryCachePlugin.js +1 -1
  152. package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
  153. package/lib/cache/PackFileCacheStrategy.js +29 -0
  154. package/lib/cache/ResolverCachePlugin.js +10 -1
  155. package/lib/cache/getLazyHashedEtag.js +4 -0
  156. package/lib/cache/mergeEtags.js +2 -0
  157. package/lib/cli.js +30 -0
  158. package/lib/config/browserslistTargetHandler.js +2 -0
  159. package/lib/config/defaults.js +35 -2
  160. package/lib/config/normalization.js +12 -0
  161. package/lib/config/target.js +11 -0
  162. package/lib/container/ContainerEntryDependency.js +2 -0
  163. package/lib/container/ContainerEntryModule.js +12 -0
  164. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  165. package/lib/container/ContainerExposedDependency.js +4 -0
  166. package/lib/container/ContainerPlugin.js +2 -1
  167. package/lib/container/ContainerReferencePlugin.js +2 -1
  168. package/lib/container/FallbackDependency.js +4 -0
  169. package/lib/container/FallbackItemDependency.js +1 -0
  170. package/lib/container/FallbackModule.js +12 -0
  171. package/lib/container/FallbackModuleFactory.js +1 -0
  172. package/lib/container/ModuleFederationPlugin.js +3 -1
  173. package/lib/container/RemoteModule.js +13 -0
  174. package/lib/container/RemoteRuntimeModule.js +1 -0
  175. package/lib/container/RemoteToExternalDependency.js +1 -0
  176. package/lib/container/options.js +7 -0
  177. package/lib/css/CssGenerator.js +35 -14
  178. package/lib/css/CssInjectStyleRuntimeModule.js +1 -0
  179. package/lib/css/CssLoadingRuntimeModule.js +1 -0
  180. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +1 -0
  181. package/lib/css/CssModulesPlugin.js +69 -3
  182. package/lib/css/CssParser.js +71 -1
  183. package/lib/css/walkCssTokens.js +31 -0
  184. package/lib/debug/ProfilingPlugin.js +19 -1
  185. package/lib/dependencies/AMDDefineDependency.js +7 -0
  186. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
  187. package/lib/dependencies/AMDPlugin.js +4 -1
  188. package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
  189. package/lib/dependencies/AMDRequireContextDependency.js +3 -0
  190. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  191. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +13 -0
  192. package/lib/dependencies/AMDRequireDependency.js +4 -0
  193. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  194. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  195. package/lib/dependencies/CachedConstDependency.js +6 -1
  196. package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
  197. package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
  198. package/lib/dependencies/CommonJsExportsDependency.js +4 -0
  199. package/lib/dependencies/CommonJsExportsParserPlugin.js +8 -0
  200. package/lib/dependencies/CommonJsFullRequireDependency.js +4 -0
  201. package/lib/dependencies/CommonJsImportsParserPlugin.js +20 -0
  202. package/lib/dependencies/CommonJsPlugin.js +4 -1
  203. package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
  204. package/lib/dependencies/CommonJsRequireDependency.js +3 -0
  205. package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
  206. package/lib/dependencies/ConstDependency.js +6 -1
  207. package/lib/dependencies/ContextDependency.js +8 -1
  208. package/lib/dependencies/ContextDependencyHelpers.js +3 -0
  209. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
  210. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  211. package/lib/dependencies/ContextElementDependency.js +4 -0
  212. package/lib/dependencies/CreateRequireParserPlugin.js +6 -0
  213. package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
  214. package/lib/dependencies/CriticalDependencyWarning.js +1 -0
  215. package/lib/dependencies/CssIcssExportDependency.js +11 -3
  216. package/lib/dependencies/CssIcssImportDependency.js +4 -1
  217. package/lib/dependencies/CssIcssSymbolDependency.js +5 -1
  218. package/lib/dependencies/CssImportDependency.js +4 -0
  219. package/lib/dependencies/CssUrlDependency.js +7 -0
  220. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  221. package/lib/dependencies/DllEntryDependency.js +3 -0
  222. package/lib/dependencies/DynamicExports.js +5 -0
  223. package/lib/dependencies/EntryDependency.js +1 -0
  224. package/lib/dependencies/ExportsInfoDependency.js +6 -0
  225. package/lib/dependencies/ExternalModuleDependency.js +5 -0
  226. package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
  227. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
  228. package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
  229. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  230. package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
  231. package/lib/dependencies/HarmonyDetectionParserPlugin.js +3 -0
  232. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
  233. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
  234. package/lib/dependencies/HarmonyExportExpressionDependency.js +14 -5
  235. package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
  236. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +33 -2
  237. package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
  238. package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
  239. package/lib/dependencies/HarmonyExports.js +2 -0
  240. package/lib/dependencies/HarmonyImportDependency.js +11 -0
  241. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +9 -0
  242. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
  243. package/lib/dependencies/HarmonyImportSpecifierDependency.js +17 -2
  244. package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
  245. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
  246. package/lib/dependencies/ImportContextDependency.js +4 -0
  247. package/lib/dependencies/ImportDependency.js +5 -0
  248. package/lib/dependencies/ImportEagerDependency.js +2 -0
  249. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  250. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +3 -0
  251. package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
  252. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  253. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  254. package/lib/dependencies/ImportMetaPlugin.js +6 -0
  255. package/lib/dependencies/ImportParserPlugin.js +7 -0
  256. package/lib/dependencies/ImportPhase.js +6 -2
  257. package/lib/dependencies/ImportPlugin.js +2 -1
  258. package/lib/dependencies/ImportWeakDependency.js +2 -0
  259. package/lib/dependencies/JsonExportsDependency.js +6 -1
  260. package/lib/dependencies/LoaderDependency.js +2 -0
  261. package/lib/dependencies/LoaderImportDependency.js +2 -0
  262. package/lib/dependencies/LoaderPlugin.js +4 -1
  263. package/lib/dependencies/LocalModule.js +4 -0
  264. package/lib/dependencies/LocalModuleDependency.js +4 -0
  265. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  266. package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
  267. package/lib/dependencies/ModuleDependency.js +7 -0
  268. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  269. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  270. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  271. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  272. package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
  273. package/lib/dependencies/NullDependency.js +2 -0
  274. package/lib/dependencies/PrefetchDependency.js +1 -0
  275. package/lib/dependencies/ProvidedDependency.js +6 -1
  276. package/lib/dependencies/PureExpressionDependency.js +7 -1
  277. package/lib/dependencies/RequireContextDependency.js +1 -0
  278. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
  279. package/lib/dependencies/RequireContextPlugin.js +2 -1
  280. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  281. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
  282. package/lib/dependencies/RequireEnsureDependency.js +4 -0
  283. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  284. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  285. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  286. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  287. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
  288. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  289. package/lib/dependencies/RequireResolveContextDependency.js +3 -0
  290. package/lib/dependencies/RequireResolveDependency.js +1 -0
  291. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  292. package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
  293. package/lib/dependencies/StaticExportsDependency.js +3 -0
  294. package/lib/dependencies/SystemPlugin.js +4 -1
  295. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  296. package/lib/dependencies/URLContextDependency.js +3 -0
  297. package/lib/dependencies/URLDependency.js +6 -0
  298. package/lib/dependencies/URLPlugin.js +2 -0
  299. package/lib/dependencies/UnsupportedDependency.js +4 -0
  300. package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
  301. package/lib/dependencies/WebAssemblyImportDependency.js +4 -1
  302. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
  303. package/lib/dependencies/WorkerDependency.js +6 -1
  304. package/lib/dependencies/WorkerPlugin.js +9 -1
  305. package/lib/dependencies/getFunctionExpression.js +1 -0
  306. package/lib/dependencies/processExportInfo.js +1 -0
  307. package/lib/electron/ElectronTargetPlugin.js +2 -1
  308. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  309. package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
  310. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
  311. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
  312. package/lib/formatLocation.js +2 -0
  313. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  314. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  315. package/lib/hmr/LazyCompilationPlugin.js +20 -1
  316. package/lib/hmr/lazyCompilationBackend.js +2 -0
  317. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  318. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  319. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  320. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  321. package/lib/ids/IdHelpers.js +20 -0
  322. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  323. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  324. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  325. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  326. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  327. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  328. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  329. package/lib/index.js +5 -0
  330. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  331. package/lib/javascript/BasicEvaluatedExpression.js +4 -2
  332. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  333. package/lib/javascript/ChunkHelpers.js +1 -0
  334. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  335. package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
  336. package/lib/javascript/JavascriptGenerator.js +10 -0
  337. package/lib/javascript/JavascriptModulesPlugin.js +23 -1
  338. package/lib/javascript/JavascriptParser.js +163 -0
  339. package/lib/javascript/JavascriptParserHelpers.js +6 -0
  340. package/lib/javascript/StartupHelpers.js +5 -0
  341. package/lib/json/JsonData.js +5 -0
  342. package/lib/json/JsonGenerator.js +21 -0
  343. package/lib/json/JsonModulesPlugin.js +1 -1
  344. package/lib/json/JsonParser.js +8 -10
  345. package/lib/library/AbstractLibraryPlugin.js +16 -1
  346. package/lib/library/AmdLibraryPlugin.js +8 -0
  347. package/lib/library/AssignLibraryPlugin.js +16 -0
  348. package/lib/library/EnableLibraryPlugin.js +7 -1
  349. package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
  350. package/lib/library/JsonpLibraryPlugin.js +8 -0
  351. package/lib/library/ModuleLibraryPlugin.js +12 -1
  352. package/lib/library/SystemLibraryPlugin.js +8 -0
  353. package/lib/library/UmdLibraryPlugin.js +16 -0
  354. package/lib/logging/Logger.js +17 -0
  355. package/lib/logging/createConsoleLogger.js +7 -0
  356. package/lib/logging/runtime.js +2 -0
  357. package/lib/logging/truncateArgs.js +2 -0
  358. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  359. package/lib/node/NodeEnvironmentPlugin.js +3 -1
  360. package/lib/node/NodeSourcePlugin.js +1 -1
  361. package/lib/node/NodeTargetPlugin.js +2 -1
  362. package/lib/node/NodeTemplatePlugin.js +3 -1
  363. package/lib/node/NodeWatchFileSystem.js +2 -0
  364. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
  365. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
  366. package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
  367. package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
  368. package/lib/node/nodeConsole.js +3 -0
  369. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  370. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  371. package/lib/optimize/ConcatenatedModule.js +11 -0
  372. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  373. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
  374. package/lib/optimize/InnerGraph.js +15 -0
  375. package/lib/optimize/InnerGraphPlugin.js +3 -1
  376. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  377. package/lib/optimize/MangleExportsPlugin.js +5 -1
  378. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  379. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  380. package/lib/optimize/MinMaxSizeWarning.js +1 -0
  381. package/lib/optimize/ModuleConcatenationPlugin.js +21 -1
  382. package/lib/optimize/RealContentHashPlugin.js +16 -1
  383. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  384. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  385. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  386. package/lib/optimize/SideEffectsFlagPlugin.js +7 -1
  387. package/lib/optimize/SplitChunksPlugin.js +49 -1
  388. package/lib/performance/AssetsOverSizeLimitWarning.js +1 -0
  389. package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -0
  390. package/lib/performance/SizeLimitsPlugin.js +7 -1
  391. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  392. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
  393. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  394. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -0
  395. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
  396. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  397. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  398. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  399. package/lib/rules/RuleSetCompiler.js +18 -0
  400. package/lib/rules/UseEffectRulePlugin.js +6 -0
  401. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
  402. package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
  403. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  404. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  405. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
  406. package/lib/runtime/CompatRuntimeModule.js +2 -0
  407. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
  408. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  409. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  410. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
  411. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  412. package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
  413. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  414. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  415. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
  416. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  417. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
  418. package/lib/runtime/HelperRuntimeModule.js +5 -0
  419. package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
  420. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +2 -0
  421. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
  422. package/lib/runtime/NonceRuntimeModule.js +1 -0
  423. package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
  424. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  425. package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
  426. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  427. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  428. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
  429. package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
  430. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  431. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  432. package/lib/schemes/DataUriPlugin.js +1 -1
  433. package/lib/schemes/FileUriPlugin.js +1 -1
  434. package/lib/schemes/HttpUriPlugin.js +43 -1
  435. package/lib/schemes/VirtualUrlPlugin.js +6 -1
  436. package/lib/serialization/AggregateErrorSerializer.js +2 -0
  437. package/lib/serialization/ArraySerializer.js +2 -0
  438. package/lib/serialization/BinaryMiddleware.js +20 -1
  439. package/lib/serialization/DateObjectSerializer.js +2 -0
  440. package/lib/serialization/ErrorObjectSerializer.js +3 -0
  441. package/lib/serialization/FileMiddleware.js +21 -0
  442. package/lib/serialization/MapObjectSerializer.js +2 -0
  443. package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
  444. package/lib/serialization/ObjectMiddleware.js +23 -0
  445. package/lib/serialization/PlainObjectSerializer.js +7 -0
  446. package/lib/serialization/RegExpObjectSerializer.js +2 -0
  447. package/lib/serialization/Serializer.js +5 -0
  448. package/lib/serialization/SerializerMiddleware.js +12 -0
  449. package/lib/serialization/SetObjectSerializer.js +2 -0
  450. package/lib/serialization/SingleItemMiddleware.js +3 -0
  451. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  452. package/lib/sharing/ConsumeSharedModule.js +15 -0
  453. package/lib/sharing/ConsumeSharedPlugin.js +6 -1
  454. package/lib/sharing/ConsumeSharedRuntimeModule.js +1 -0
  455. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  456. package/lib/sharing/ProvideSharedDependency.js +4 -0
  457. package/lib/sharing/ProvideSharedModule.js +11 -0
  458. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  459. package/lib/sharing/ProvideSharedPlugin.js +4 -1
  460. package/lib/sharing/SharePlugin.js +2 -1
  461. package/lib/sharing/ShareRuntimeModule.js +1 -0
  462. package/lib/sharing/resolveMatchedConfigs.js +3 -0
  463. package/lib/sharing/utils.js +8 -0
  464. package/lib/stats/DefaultStatsFactoryPlugin.js +56 -1
  465. package/lib/stats/DefaultStatsPresetPlugin.js +11 -1
  466. package/lib/stats/DefaultStatsPrinterPlugin.js +37 -1
  467. package/lib/stats/StatsFactory.js +12 -0
  468. package/lib/stats/StatsPrinter.js +7 -0
  469. package/lib/url/URLParserPlugin.js +6 -0
  470. package/lib/util/AppendOnlyStackedSet.js +15 -0
  471. package/lib/util/ArrayHelpers.js +1 -0
  472. package/lib/util/ArrayQueue.js +10 -5
  473. package/lib/util/AsyncQueue.js +20 -0
  474. package/lib/util/IterableHelpers.js +3 -0
  475. package/lib/util/LazyBucketSortedSet.js +21 -0
  476. package/lib/util/LazySet.js +39 -0
  477. package/lib/util/ParallelismFactorCalculator.js +1 -0
  478. package/lib/util/Queue.js +6 -3
  479. package/lib/util/Semaphore.js +14 -1
  480. package/lib/util/SetHelpers.js +3 -0
  481. package/lib/util/SortableSet.js +6 -0
  482. package/lib/util/StackedCacheMap.js +20 -3
  483. package/lib/util/StackedMap.js +45 -0
  484. package/lib/util/StringXor.js +1 -1
  485. package/lib/util/TupleQueue.js +7 -3
  486. package/lib/util/TupleSet.js +13 -0
  487. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  488. package/lib/util/WeakTupleMap.js +33 -0
  489. package/lib/util/binarySearchBounds.js +1 -0
  490. package/lib/util/cleverMerge.js +17 -0
  491. package/lib/util/comparators.js +31 -0
  492. package/lib/util/compileBooleanMatcher.js +9 -0
  493. package/lib/util/concatenate.js +6 -0
  494. package/lib/util/conventions.js +4 -0
  495. package/lib/util/dataURL.js +1 -0
  496. package/lib/util/deprecation.js +19 -0
  497. package/lib/util/deterministicGrouping.js +20 -0
  498. package/lib/util/extractSourceMap.js +1 -0
  499. package/lib/util/extractUrlAndGlobal.js +1 -0
  500. package/lib/util/findGraphRoots.js +5 -0
  501. package/lib/util/fs.js +63 -0
  502. package/lib/util/generateDebugId.js +1 -0
  503. package/lib/util/hash/BatchedHash.js +1 -0
  504. package/lib/util/hash/BulkUpdateHash.js +1 -0
  505. package/lib/util/hash/hash-digest.js +8 -0
  506. package/lib/util/hash/wasm-hash.js +5 -0
  507. package/lib/util/identifier.js +19 -0
  508. package/lib/util/magicComment.js +1 -0
  509. package/lib/util/makeSerializable.js +6 -0
  510. package/lib/util/memoize.js +2 -0
  511. package/lib/util/mimeTypes.js +176 -0
  512. package/lib/util/nonNumericOnlyHash.js +1 -0
  513. package/lib/util/parseJson.js +112 -0
  514. package/lib/util/processAsyncTree.js +8 -0
  515. package/lib/util/property.js +1 -0
  516. package/lib/util/registerExternalSerializer.js +20 -0
  517. package/lib/util/removeBOM.js +1 -0
  518. package/lib/util/runtime.js +32 -0
  519. package/lib/util/semver.js +15 -0
  520. package/lib/util/serialization.js +2 -0
  521. package/lib/util/smartGrouping.js +8 -0
  522. package/lib/util/source.js +2 -0
  523. package/lib/validateSchema.js +1 -0
  524. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  525. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
  526. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
  527. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  528. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
  529. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +10 -1
  530. package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -0
  531. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
  532. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
  533. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
  534. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +1 -1
  535. package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
  536. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
  537. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  538. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
  539. package/lib/wasm-sync/WebAssemblyParser.js +2 -0
  540. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  541. package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
  542. package/lib/web/FetchCompileWasmPlugin.js +13 -1
  543. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  544. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
  545. package/lib/web/JsonpTemplatePlugin.js +2 -1
  546. package/lib/webpack.js +10 -0
  547. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  548. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
  549. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  550. package/package.json +12 -14
  551. package/schemas/WebpackOptions.check.js +1 -1
  552. package/schemas/WebpackOptions.json +44 -55
  553. package/types.d.ts +4594 -331
package/lib/APIPlugin.js CHANGED
@@ -34,6 +34,7 @@ const GetFullHashRuntimeModule = require("./runtime/GetFullHashRuntimeModule");
34
34
  /** @typedef {import("./javascript/JavascriptParser").Range} Range */
35
35
 
36
36
  /**
37
+ * Returns the replacement definitions used for webpack API identifiers.
37
38
  * @returns {Record<string, { expr: string, req: string[] | null, type?: string, assign: boolean }>} replacements
38
39
  */
39
40
  function getReplacements() {
@@ -140,7 +141,7 @@ const PLUGIN_NAME = "APIPlugin";
140
141
 
141
142
  class APIPlugin {
142
143
  /**
143
- * Apply the plugin
144
+ * Applies the plugin by registering its hooks on the compiler.
144
145
  * @param {Compiler} compiler the compiler instance
145
146
  * @returns {void}
146
147
  */
@@ -204,6 +205,7 @@ class APIPlugin {
204
205
  );
205
206
 
206
207
  /**
208
+ * Handles the hook callback for this code path.
207
209
  * @param {JavascriptParser} parser the parser
208
210
  */
209
211
  const handler = (parser) => {
@@ -10,6 +10,8 @@ const WebpackError = require("./WebpackError");
10
10
  const CURRENT_METHOD_REGEXP = /at ([a-zA-Z0-9_.]*)/;
11
11
 
12
12
  /**
13
+ * Creates the error message shown when an abstract API is called without
14
+ * being implemented by a subclass.
13
15
  * @param {string=} method method name
14
16
  * @returns {string} message
15
17
  */
@@ -18,6 +20,8 @@ function createMessage(method) {
18
20
  }
19
21
 
20
22
  /**
23
+ * Captures a stack trace so the calling method name can be folded into the
24
+ * final abstract-method error message.
21
25
  * @constructor
22
26
  */
23
27
  function Message() {
@@ -35,7 +39,8 @@ function Message() {
35
39
  }
36
40
 
37
41
  /**
38
- * Error for abstract method
42
+ * Error thrown when code reaches a method that is intended to be overridden by
43
+ * a subclass.
39
44
  * @example
40
45
  * ```js
41
46
  * class FooClass {
@@ -46,6 +51,10 @@ function Message() {
46
51
  * ```
47
52
  */
48
53
  class AbstractMethodError extends WebpackError {
54
+ /**
55
+ * Creates an error whose message points at the abstract method that was
56
+ * invoked.
57
+ */
49
58
  constructor() {
50
59
  super(new Message().message);
51
60
  /** @type {string} */
@@ -71,6 +71,7 @@ class AsyncDependenciesBlock extends DependenciesBlock {
71
71
  }
72
72
 
73
73
  /**
74
+ * Updates the hash with the data contributed by this instance.
74
75
  * @param {Hash} hash the hash used to track dependencies
75
76
  * @param {UpdateHashContext} context context
76
77
  * @returns {void}
@@ -88,6 +89,7 @@ class AsyncDependenciesBlock extends DependenciesBlock {
88
89
  }
89
90
 
90
91
  /**
92
+ * Serializes this instance into the provided serializer context.
91
93
  * @param {ObjectSerializerContext} context context
92
94
  */
93
95
  serialize(context) {
@@ -99,6 +101,7 @@ class AsyncDependenciesBlock extends DependenciesBlock {
99
101
  }
100
102
 
101
103
  /**
104
+ * Restores this instance from the provided deserializer context.
102
105
  * @param {ObjectDeserializerContext} context context
103
106
  */
104
107
  deserialize(context) {
@@ -10,9 +10,14 @@ const WebpackError = require("./WebpackError");
10
10
  /** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
11
11
  /** @typedef {import("./Module")} Module */
12
12
 
13
+ /**
14
+ * Error raised when webpack detects an attempt to lazy-load a chunk name that
15
+ * is already claimed by an entrypoint's initial chunk.
16
+ */
13
17
  class AsyncDependencyToInitialChunkError extends WebpackError {
14
18
  /**
15
- * Creates an instance of AsyncDependencyToInitialChunkError.
19
+ * Captures the chunk name, originating module, and source location for an
20
+ * invalid async dependency targeting an initial chunk.
16
21
  * @param {string} chunkName Name of Chunk
17
22
  * @param {Module} module module tied to dependency
18
23
  * @param {DependencyLocation} loc location of dependency
@@ -13,9 +13,14 @@ const PrefetchDependency = require("./dependencies/PrefetchDependency");
13
13
 
14
14
  const PLUGIN_NAME = "AutomaticPrefetchPlugin";
15
15
 
16
+ /**
17
+ * Records modules from one compilation and adds them back as prefetch
18
+ * dependencies in the next compilation.
19
+ */
16
20
  class AutomaticPrefetchPlugin {
17
21
  /**
18
- * Apply the plugin
22
+ * Registers hooks that remember previously built normal modules and enqueue
23
+ * them as `PrefetchDependency` requests during the next make phase.
19
24
  * @param {Compiler} compiler the compiler instance
20
25
  * @returns {void}
21
26
  */
@@ -21,6 +21,8 @@ const Template = require("./Template");
21
21
  /** @typedef {(data: { hash?: string, chunk: Chunk, filename: string }) => string} BannerFunction */
22
22
 
23
23
  /**
24
+ * Wraps banner text in a JavaScript block comment, preserving multi-line
25
+ * formatting and escaping accidental comment terminators.
24
26
  * @param {string} str string to wrap
25
27
  * @returns {string} wrapped string
26
28
  */
@@ -38,8 +40,14 @@ const wrapComment = (str) => {
38
40
 
39
41
  const PLUGIN_NAME = "BannerPlugin";
40
42
 
43
+ /**
44
+ * Prepends or appends banner text to emitted assets that match the configured
45
+ * file filters.
46
+ */
41
47
  class BannerPlugin {
42
48
  /**
49
+ * Normalizes banner options and compiles the configured banner source into a
50
+ * function that can render per-asset banner text.
43
51
  * @param {BannerPluginArgument} options options object
44
52
  */
45
53
  constructor(options) {
@@ -69,7 +77,8 @@ class BannerPlugin {
69
77
  }
70
78
 
71
79
  /**
72
- * Apply the plugin
80
+ * Validates the configured options and injects rendered banner comments into
81
+ * matching compilation assets at the configured process-assets stage.
73
82
  * @param {Compiler} compiler the compiler instance
74
83
  * @returns {void}
75
84
  */
package/lib/Cache.js CHANGED
@@ -14,11 +14,15 @@ const {
14
14
  /** @typedef {import("./WebpackError")} WebpackError */
15
15
 
16
16
  /**
17
+ * Cache validation token whose string representation identifies the build
18
+ * inputs associated with a cached value.
17
19
  * @typedef {object} Etag
18
20
  * @property {() => string} toString
19
21
  */
20
22
 
21
23
  /**
24
+ * Completion callback used by cache operations that either fail with a
25
+ * `WebpackError` or resolve with a typed result.
22
26
  * @template T
23
27
  * @callback CallbackCache
24
28
  * @param {WebpackError | null} err
@@ -29,6 +33,8 @@ const {
29
33
  /** @typedef {EXPECTED_ANY} Data */
30
34
 
31
35
  /**
36
+ * Handler invoked after a cache read succeeds so additional cache layers can
37
+ * react to the retrieved value.
32
38
  * @template T
33
39
  * @callback GotHandler
34
40
  * @param {T} result
@@ -37,6 +43,8 @@ const {
37
43
  */
38
44
 
39
45
  /**
46
+ * Creates a callback wrapper that waits for a fixed number of completions and
47
+ * forwards the first error immediately.
40
48
  * @param {number} times times
41
49
  * @param {(err?: Error | null) => void} callback callback
42
50
  * @returns {(err?: Error | null) => void} callback
@@ -51,7 +59,14 @@ const needCalls = (times, callback) => (err) => {
51
59
  }
52
60
  };
53
61
 
62
+ /**
63
+ * Abstract cache interface backed by tapable hooks for reading, writing, idle
64
+ * transitions, and shutdown across webpack cache implementations.
65
+ */
54
66
  class Cache {
67
+ /**
68
+ * Initializes the cache lifecycle hooks implemented by cache backends.
69
+ */
55
70
  constructor() {
56
71
  this.hooks = {
57
72
  /** @type {AsyncSeriesBailHook<[string, Etag | null, GotHandler<EXPECTED_ANY>[]], Data>} */
@@ -70,6 +85,8 @@ class Cache {
70
85
  }
71
86
 
72
87
  /**
88
+ * Retrieves a cached value and lets registered `gotHandlers` observe the
89
+ * result before the caller receives it.
73
90
  * @template T
74
91
  * @param {string} identifier the cache identifier
75
92
  * @param {Etag | null} etag the etag
@@ -103,6 +120,8 @@ class Cache {
103
120
  }
104
121
 
105
122
  /**
123
+ * Stores a cache entry for the identifier and etag through the registered
124
+ * cache backend hooks.
106
125
  * @template T
107
126
  * @param {string} identifier the cache identifier
108
127
  * @param {Etag | null} etag the etag
@@ -120,7 +139,8 @@ class Cache {
120
139
  }
121
140
 
122
141
  /**
123
- * After this method has succeeded the cache can only be restored when build dependencies are
142
+ * Persists the set of build dependencies required to determine whether the
143
+ * cache can be restored in a future compilation.
124
144
  * @param {Iterable<string>} dependencies list of all build dependencies
125
145
  * @param {CallbackCache<void>} callback signals when the dependencies are stored
126
146
  * @returns {void}
@@ -133,6 +153,8 @@ class Cache {
133
153
  }
134
154
 
135
155
  /**
156
+ * Signals that webpack is entering an idle phase and cache backends may flush
157
+ * or compact pending work.
136
158
  * @returns {void}
137
159
  */
138
160
  beginIdle() {
@@ -140,6 +162,8 @@ class Cache {
140
162
  }
141
163
 
142
164
  /**
165
+ * Signals that webpack is leaving the idle phase and waits for cache
166
+ * backends to finish any asynchronous resume work.
143
167
  * @param {CallbackCache<void>} callback signals when the call finishes
144
168
  * @returns {void}
145
169
  */
@@ -150,6 +174,7 @@ class Cache {
150
174
  }
151
175
 
152
176
  /**
177
+ * Shuts down every registered cache backend and waits for cleanup to finish.
153
178
  * @param {CallbackCache<void>} callback signals when the call finishes
154
179
  * @returns {void}
155
180
  */
@@ -16,6 +16,7 @@ const mergeEtags = require("./cache/mergeEtags");
16
16
  /** @typedef {import("./util/Hash").HashFunction} HashFunction */
17
17
 
18
18
  /**
19
+ * Defines the callback cache callback.
19
20
  * @template T
20
21
  * @callback CallbackCache
21
22
  * @param {(Error | null)=} err
@@ -24,6 +25,7 @@ const mergeEtags = require("./cache/mergeEtags");
24
25
  */
25
26
 
26
27
  /**
28
+ * Defines the callback normal error cache callback.
27
29
  * @template T
28
30
  * @callback CallbackNormalErrorCache
29
31
  * @param {(Error | null)=} err
@@ -33,6 +35,7 @@ const mergeEtags = require("./cache/mergeEtags");
33
35
 
34
36
  class MultiItemCache {
35
37
  /**
38
+ * Creates an instance of MultiItemCache.
36
39
  * @param {ItemCacheFacade[]} items item caches
37
40
  */
38
41
  constructor(items) {
@@ -43,6 +46,7 @@ class MultiItemCache {
43
46
  }
44
47
 
45
48
  /**
49
+ * Returns value.
46
50
  * @template T
47
51
  * @param {CallbackCache<T>} callback signals when the value is retrieved
48
52
  * @returns {void}
@@ -52,11 +56,13 @@ class MultiItemCache {
52
56
  }
53
57
 
54
58
  /**
59
+ * Returns promise with the data.
55
60
  * @template T
56
61
  * @returns {Promise<T>} promise with the data
57
62
  */
58
63
  getPromise() {
59
64
  /**
65
+ * Returns promise with the data.
60
66
  * @param {number} i index
61
67
  * @returns {Promise<T>} promise with the data
62
68
  */
@@ -69,6 +75,7 @@ class MultiItemCache {
69
75
  }
70
76
 
71
77
  /**
78
+ * Processes the provided data.
72
79
  * @template T
73
80
  * @param {T} data the value to store
74
81
  * @param {CallbackCache<void>} callback signals when the value is stored
@@ -83,6 +90,7 @@ class MultiItemCache {
83
90
  }
84
91
 
85
92
  /**
93
+ * Stores the provided data.
86
94
  * @template T
87
95
  * @param {T} data the value to store
88
96
  * @returns {Promise<void>} promise signals when the value is stored
@@ -96,6 +104,7 @@ class MultiItemCache {
96
104
 
97
105
  class ItemCacheFacade {
98
106
  /**
107
+ * Creates an instance of ItemCacheFacade.
99
108
  * @param {Cache} cache the root cache
100
109
  * @param {string} name the child cache item name
101
110
  * @param {Etag | null} etag the etag
@@ -107,6 +116,7 @@ class ItemCacheFacade {
107
116
  }
108
117
 
109
118
  /**
119
+ * Returns value.
110
120
  * @template T
111
121
  * @param {CallbackCache<T>} callback signals when the value is retrieved
112
122
  * @returns {void}
@@ -116,6 +126,7 @@ class ItemCacheFacade {
116
126
  }
117
127
 
118
128
  /**
129
+ * Returns promise with the data.
119
130
  * @template T
120
131
  * @returns {Promise<T>} promise with the data
121
132
  */
@@ -132,6 +143,7 @@ class ItemCacheFacade {
132
143
  }
133
144
 
134
145
  /**
146
+ * Processes the provided data.
135
147
  * @template T
136
148
  * @param {T} data the value to store
137
149
  * @param {CallbackCache<void>} callback signals when the value is stored
@@ -142,6 +154,7 @@ class ItemCacheFacade {
142
154
  }
143
155
 
144
156
  /**
157
+ * Stores the provided data.
145
158
  * @template T
146
159
  * @param {T} data the value to store
147
160
  * @returns {Promise<void>} promise signals when the value is stored
@@ -159,6 +172,7 @@ class ItemCacheFacade {
159
172
  }
160
173
 
161
174
  /**
175
+ * Processes the provided computer.
162
176
  * @template T
163
177
  * @param {(callback: CallbackNormalErrorCache<T>) => void} computer function to compute the value if not cached
164
178
  * @param {CallbackNormalErrorCache<T>} callback signals when the value is retrieved
@@ -179,6 +193,7 @@ class ItemCacheFacade {
179
193
  }
180
194
 
181
195
  /**
196
+ * Returns promise with the data.
182
197
  * @template T
183
198
  * @param {() => Promise<T> | T} computer function to compute the value if not cached
184
199
  * @returns {Promise<T>} promise with the data
@@ -194,6 +209,7 @@ class ItemCacheFacade {
194
209
 
195
210
  class CacheFacade {
196
211
  /**
212
+ * Creates an instance of CacheFacade.
197
213
  * @param {Cache} cache the root cache
198
214
  * @param {string} name the child cache name
199
215
  * @param {HashFunction=} hashFunction the hash function to use
@@ -205,6 +221,7 @@ class CacheFacade {
205
221
  }
206
222
 
207
223
  /**
224
+ * Returns child cache.
208
225
  * @param {string} name the child cache name#
209
226
  * @returns {CacheFacade} child cache
210
227
  */
@@ -217,6 +234,7 @@ class CacheFacade {
217
234
  }
218
235
 
219
236
  /**
237
+ * Returns item cache.
220
238
  * @param {string} identifier the cache identifier
221
239
  * @param {Etag | null} etag the etag
222
240
  * @returns {ItemCacheFacade} item cache
@@ -230,6 +248,7 @@ class CacheFacade {
230
248
  }
231
249
 
232
250
  /**
251
+ * Gets lazy hashed etag.
233
252
  * @param {HashableObject} obj an hashable object
234
253
  * @returns {Etag} an etag that is lazy hashed
235
254
  */
@@ -238,6 +257,7 @@ class CacheFacade {
238
257
  }
239
258
 
240
259
  /**
260
+ * Merges the provided values into a single result.
241
261
  * @param {Etag} a an etag
242
262
  * @param {Etag} b another etag
243
263
  * @returns {Etag} an etag that represents both
@@ -247,6 +267,7 @@ class CacheFacade {
247
267
  }
248
268
 
249
269
  /**
270
+ * Returns value.
250
271
  * @template T
251
272
  * @param {string} identifier the cache identifier
252
273
  * @param {Etag | null} etag the etag
@@ -258,6 +279,7 @@ class CacheFacade {
258
279
  }
259
280
 
260
281
  /**
282
+ * Returns promise with the data.
261
283
  * @template T
262
284
  * @param {string} identifier the cache identifier
263
285
  * @param {Etag | null} etag the etag
@@ -276,6 +298,7 @@ class CacheFacade {
276
298
  }
277
299
 
278
300
  /**
301
+ * Processes the provided identifier.
279
302
  * @template T
280
303
  * @param {string} identifier the cache identifier
281
304
  * @param {Etag | null} etag the etag
@@ -288,6 +311,7 @@ class CacheFacade {
288
311
  }
289
312
 
290
313
  /**
314
+ * Stores the provided identifier.
291
315
  * @template T
292
316
  * @param {string} identifier the cache identifier
293
317
  * @param {Etag | null} etag the etag
@@ -307,6 +331,7 @@ class CacheFacade {
307
331
  }
308
332
 
309
333
  /**
334
+ * Processes the provided identifier.
310
335
  * @template T
311
336
  * @param {string} identifier the cache identifier
312
337
  * @param {Etag | null} etag the etag
@@ -329,6 +354,7 @@ class CacheFacade {
329
354
  }
330
355
 
331
356
  /**
357
+ * Returns promise with the data.
332
358
  * @template T
333
359
  * @param {string} identifier the cache identifier
334
360
  * @param {Etag | null} etag the etag
@@ -11,6 +11,7 @@ const WebpackError = require("./WebpackError");
11
11
  /** @typedef {import("./ModuleGraph")} ModuleGraph */
12
12
 
13
13
  /**
14
+ * Sorts the conflicting modules by identifier to keep warning output stable.
14
15
  * @param {Module[]} modules the modules to be sorted
15
16
  * @returns {Module[]} sorted version of original modules
16
17
  */
@@ -27,6 +28,8 @@ const sortModules = (modules) =>
27
28
  });
28
29
 
29
30
  /**
31
+ * Formats the conflicting modules and one representative incoming reason for
32
+ * each module into the warning body.
30
33
  * @param {Module[]} modules each module from throw
31
34
  * @param {ModuleGraph} moduleGraph the module graph
32
35
  * @returns {string} each message from provided modules
@@ -49,9 +52,14 @@ const createModulesListMessage = (modules, moduleGraph) =>
49
52
  })
50
53
  .join("\n");
51
54
 
55
+ /**
56
+ * Warning emitted when webpack finds modules whose identifiers differ only by
57
+ * letter casing, which can behave inconsistently across filesystems.
58
+ */
52
59
  class CaseSensitiveModulesWarning extends WebpackError {
53
60
  /**
54
- * Creates an instance of CaseSensitiveModulesWarning.
61
+ * Builds a warning message that lists the case-conflicting modules and
62
+ * representative importers that caused them to be included.
55
63
  * @param {Iterable<Module>} modules modules that were detected
56
64
  * @param {ModuleGraph} moduleGraph the module graph
57
65
  */