webpack 5.106.1 → 5.106.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/lib/APIPlugin.js +3 -1
  2. package/lib/AbstractMethodError.js +10 -1
  3. package/lib/AsyncDependenciesBlock.js +3 -0
  4. package/lib/AsyncDependencyToInitialChunkError.js +6 -1
  5. package/lib/AutomaticPrefetchPlugin.js +6 -1
  6. package/lib/BannerPlugin.js +10 -1
  7. package/lib/Cache.js +26 -1
  8. package/lib/CacheFacade.js +26 -0
  9. package/lib/CaseSensitiveModulesWarning.js +9 -1
  10. package/lib/Chunk.js +46 -0
  11. package/lib/ChunkGraph.js +111 -0
  12. package/lib/ChunkGroup.js +57 -13
  13. package/lib/ChunkTemplate.js +9 -0
  14. package/lib/CleanPlugin.js +14 -1
  15. package/lib/CodeGenerationResults.js +19 -0
  16. package/lib/CommentCompilationWarning.js +6 -0
  17. package/lib/CompatibilityPlugin.js +15 -1
  18. package/lib/Compilation.js +127 -1
  19. package/lib/Compiler.js +37 -4
  20. package/lib/ConcatenationScope.js +24 -1
  21. package/lib/ConditionalInitFragment.js +6 -0
  22. package/lib/ConstPlugin.js +4 -1
  23. package/lib/ContextExclusionPlugin.js +2 -1
  24. package/lib/ContextModule.js +12 -0
  25. package/lib/ContextModuleFactory.js +10 -0
  26. package/lib/ContextReplacementPlugin.js +4 -1
  27. package/lib/CssModule.js +6 -0
  28. package/lib/DefinePlugin.js +20 -7
  29. package/lib/DelegatedModule.js +13 -0
  30. package/lib/DelegatedModuleFactoryPlugin.js +3 -0
  31. package/lib/DelegatedPlugin.js +2 -1
  32. package/lib/DependenciesBlock.js +6 -1
  33. package/lib/Dependency.js +26 -3
  34. package/lib/DependencyTemplate.js +5 -0
  35. package/lib/DependencyTemplates.js +4 -0
  36. package/lib/DllEntryPlugin.js +2 -1
  37. package/lib/DllModule.js +11 -0
  38. package/lib/DllModuleFactory.js +1 -0
  39. package/lib/DllPlugin.js +2 -1
  40. package/lib/DllReferencePlugin.js +11 -6
  41. package/lib/DotenvPlugin.js +3 -0
  42. package/lib/DynamicEntryPlugin.js +3 -1
  43. package/lib/EntryOptionPlugin.js +3 -0
  44. package/lib/EntryPlugin.js +2 -1
  45. package/lib/Entrypoint.js +4 -0
  46. package/lib/EnvironmentPlugin.js +2 -1
  47. package/lib/ErrorHelpers.js +7 -0
  48. package/lib/EvalDevToolModulePlugin.js +3 -1
  49. package/lib/EvalSourceMapDevToolPlugin.js +3 -1
  50. package/lib/ExportsInfo.js +56 -2
  51. package/lib/ExportsInfoApiPlugin.js +2 -1
  52. package/lib/ExternalModule.js +38 -0
  53. package/lib/ExternalModuleFactoryPlugin.js +10 -0
  54. package/lib/ExternalsPlugin.js +2 -1
  55. package/lib/FileSystemInfo.js +105 -0
  56. package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
  57. package/lib/FlagDependencyExportsPlugin.js +4 -1
  58. package/lib/FlagDependencyUsagePlugin.js +5 -1
  59. package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
  60. package/lib/Generator.js +13 -0
  61. package/lib/GraphHelpers.js +3 -0
  62. package/lib/HookWebpackError.js +6 -0
  63. package/lib/HotModuleReplacementPlugin.js +9 -1
  64. package/lib/IgnoreErrorModuleFactory.js +2 -0
  65. package/lib/IgnorePlugin.js +2 -1
  66. package/lib/IgnoreWarningsPlugin.js +2 -1
  67. package/lib/InitFragment.js +10 -0
  68. package/lib/InvalidDependenciesModuleWarning.js +1 -0
  69. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  70. package/lib/LibManifestPlugin.js +4 -1
  71. package/lib/LibraryTemplatePlugin.js +2 -1
  72. package/lib/LoaderOptionsPlugin.js +3 -1
  73. package/lib/LoaderTargetPlugin.js +2 -1
  74. package/lib/MainTemplate.js +15 -0
  75. package/lib/ManifestPlugin.js +9 -2
  76. package/lib/Module.js +82 -1
  77. package/lib/ModuleBuildError.js +3 -0
  78. package/lib/ModuleDependencyWarning.js +1 -0
  79. package/lib/ModuleError.js +2 -0
  80. package/lib/ModuleFactory.js +5 -0
  81. package/lib/ModuleFilenameHelpers.js +3 -0
  82. package/lib/ModuleGraph.js +66 -0
  83. package/lib/ModuleGraphConnection.js +9 -0
  84. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  85. package/lib/ModuleNotFoundError.js +1 -0
  86. package/lib/ModuleParseError.js +3 -0
  87. package/lib/ModuleRestoreError.js +1 -0
  88. package/lib/ModuleSourceTypeConstants.js +1 -0
  89. package/lib/ModuleStoreError.js +1 -0
  90. package/lib/ModuleTemplate.js +8 -0
  91. package/lib/ModuleWarning.js +3 -0
  92. package/lib/MultiCompiler.js +28 -0
  93. package/lib/MultiStats.js +8 -0
  94. package/lib/MultiWatching.js +3 -0
  95. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  96. package/lib/NodeStuffInWebError.js +1 -0
  97. package/lib/NodeStuffPlugin.js +10 -1
  98. package/lib/NormalModule.js +30 -2
  99. package/lib/NormalModuleFactory.js +25 -0
  100. package/lib/NormalModuleReplacementPlugin.js +1 -1
  101. package/lib/NullFactory.js +1 -0
  102. package/lib/OptionsApply.js +1 -0
  103. package/lib/Parser.js +2 -0
  104. package/lib/PlatformPlugin.js +2 -1
  105. package/lib/PrefetchPlugin.js +2 -1
  106. package/lib/ProgressPlugin.js +29 -12
  107. package/lib/ProvidePlugin.js +3 -1
  108. package/lib/RawModule.js +12 -0
  109. package/lib/RecordIdsPlugin.js +8 -0
  110. package/lib/RequestShortener.js +8 -0
  111. package/lib/RequireJsStuffPlugin.js +2 -1
  112. package/lib/ResolverFactory.js +5 -0
  113. package/lib/RuntimeGlobals.js +1 -0
  114. package/lib/RuntimeModule.js +13 -0
  115. package/lib/RuntimePlugin.js +2 -0
  116. package/lib/RuntimeTemplate.js +35 -1
  117. package/lib/SelfModuleFactory.js +2 -0
  118. package/lib/SizeFormatHelpers.js +1 -0
  119. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  120. package/lib/SourceMapDevToolPlugin.js +3 -1
  121. package/lib/Stats.js +5 -0
  122. package/lib/Template.js +20 -0
  123. package/lib/TemplatedPathPlugin.js +10 -3
  124. package/lib/UnhandledSchemeError.js +6 -0
  125. package/lib/UnsupportedFeatureWarning.js +1 -0
  126. package/lib/UseStrictPlugin.js +2 -1
  127. package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
  128. package/lib/WarnDeprecatedOptionPlugin.js +1 -1
  129. package/lib/WarnNoModeSetPlugin.js +1 -1
  130. package/lib/WatchIgnorePlugin.js +4 -1
  131. package/lib/Watching.js +14 -0
  132. package/lib/WebpackError.js +3 -0
  133. package/lib/WebpackIsIncludedPlugin.js +2 -0
  134. package/lib/WebpackOptionsApply.js +1 -0
  135. package/lib/WebpackOptionsDefaulter.js +1 -0
  136. package/lib/asset/AssetBytesGenerator.js +6 -0
  137. package/lib/asset/AssetBytesParser.js +1 -0
  138. package/lib/asset/AssetGenerator.js +20 -2
  139. package/lib/asset/AssetModulesPlugin.js +4 -1
  140. package/lib/asset/AssetParser.js +2 -0
  141. package/lib/asset/AssetSourceGenerator.js +6 -0
  142. package/lib/asset/AssetSourceParser.js +1 -0
  143. package/lib/asset/RawDataUrlModule.js +11 -0
  144. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  145. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  146. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  147. package/lib/buildChunkGraph.js +15 -0
  148. package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
  149. package/lib/cache/AddManagedPathsPlugin.js +2 -1
  150. package/lib/cache/IdleFileCachePlugin.js +2 -1
  151. package/lib/cache/MemoryCachePlugin.js +1 -1
  152. package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
  153. package/lib/cache/PackFileCacheStrategy.js +29 -0
  154. package/lib/cache/ResolverCachePlugin.js +10 -1
  155. package/lib/cache/getLazyHashedEtag.js +4 -0
  156. package/lib/cache/mergeEtags.js +2 -0
  157. package/lib/cli.js +30 -0
  158. package/lib/config/browserslistTargetHandler.js +2 -0
  159. package/lib/config/defaults.js +35 -2
  160. package/lib/config/normalization.js +12 -0
  161. package/lib/config/target.js +11 -0
  162. package/lib/container/ContainerEntryDependency.js +2 -0
  163. package/lib/container/ContainerEntryModule.js +12 -0
  164. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  165. package/lib/container/ContainerExposedDependency.js +4 -0
  166. package/lib/container/ContainerPlugin.js +2 -1
  167. package/lib/container/ContainerReferencePlugin.js +2 -1
  168. package/lib/container/FallbackDependency.js +4 -0
  169. package/lib/container/FallbackItemDependency.js +1 -0
  170. package/lib/container/FallbackModule.js +12 -0
  171. package/lib/container/FallbackModuleFactory.js +1 -0
  172. package/lib/container/ModuleFederationPlugin.js +3 -1
  173. package/lib/container/RemoteModule.js +13 -0
  174. package/lib/container/RemoteRuntimeModule.js +1 -0
  175. package/lib/container/RemoteToExternalDependency.js +1 -0
  176. package/lib/container/options.js +7 -0
  177. package/lib/css/CssGenerator.js +35 -14
  178. package/lib/css/CssInjectStyleRuntimeModule.js +1 -0
  179. package/lib/css/CssLoadingRuntimeModule.js +1 -0
  180. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +1 -0
  181. package/lib/css/CssModulesPlugin.js +69 -3
  182. package/lib/css/CssParser.js +59 -1
  183. package/lib/css/walkCssTokens.js +31 -0
  184. package/lib/debug/ProfilingPlugin.js +19 -1
  185. package/lib/dependencies/AMDDefineDependency.js +7 -0
  186. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
  187. package/lib/dependencies/AMDPlugin.js +4 -1
  188. package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
  189. package/lib/dependencies/AMDRequireContextDependency.js +3 -0
  190. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  191. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +13 -0
  192. package/lib/dependencies/AMDRequireDependency.js +4 -0
  193. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  194. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  195. package/lib/dependencies/CachedConstDependency.js +6 -1
  196. package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
  197. package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
  198. package/lib/dependencies/CommonJsExportsDependency.js +4 -0
  199. package/lib/dependencies/CommonJsExportsParserPlugin.js +8 -0
  200. package/lib/dependencies/CommonJsFullRequireDependency.js +4 -0
  201. package/lib/dependencies/CommonJsImportsParserPlugin.js +20 -0
  202. package/lib/dependencies/CommonJsPlugin.js +4 -1
  203. package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
  204. package/lib/dependencies/CommonJsRequireDependency.js +3 -0
  205. package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
  206. package/lib/dependencies/ConstDependency.js +6 -1
  207. package/lib/dependencies/ContextDependency.js +8 -1
  208. package/lib/dependencies/ContextDependencyHelpers.js +3 -0
  209. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
  210. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  211. package/lib/dependencies/ContextElementDependency.js +4 -0
  212. package/lib/dependencies/CreateRequireParserPlugin.js +6 -0
  213. package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
  214. package/lib/dependencies/CriticalDependencyWarning.js +1 -0
  215. package/lib/dependencies/CssIcssExportDependency.js +10 -2
  216. package/lib/dependencies/CssIcssImportDependency.js +4 -1
  217. package/lib/dependencies/CssIcssSymbolDependency.js +5 -1
  218. package/lib/dependencies/CssImportDependency.js +4 -0
  219. package/lib/dependencies/CssUrlDependency.js +7 -0
  220. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  221. package/lib/dependencies/DllEntryDependency.js +3 -0
  222. package/lib/dependencies/DynamicExports.js +5 -0
  223. package/lib/dependencies/EntryDependency.js +1 -0
  224. package/lib/dependencies/ExportsInfoDependency.js +6 -0
  225. package/lib/dependencies/ExternalModuleDependency.js +5 -0
  226. package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
  227. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
  228. package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
  229. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  230. package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
  231. package/lib/dependencies/HarmonyDetectionParserPlugin.js +3 -0
  232. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
  233. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
  234. package/lib/dependencies/HarmonyExportExpressionDependency.js +5 -0
  235. package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
  236. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +33 -2
  237. package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
  238. package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
  239. package/lib/dependencies/HarmonyExports.js +2 -0
  240. package/lib/dependencies/HarmonyImportDependency.js +11 -0
  241. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +9 -0
  242. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
  243. package/lib/dependencies/HarmonyImportSpecifierDependency.js +17 -2
  244. package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
  245. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
  246. package/lib/dependencies/ImportContextDependency.js +4 -0
  247. package/lib/dependencies/ImportDependency.js +5 -0
  248. package/lib/dependencies/ImportEagerDependency.js +2 -0
  249. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  250. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +3 -0
  251. package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
  252. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  253. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  254. package/lib/dependencies/ImportMetaPlugin.js +6 -0
  255. package/lib/dependencies/ImportParserPlugin.js +7 -0
  256. package/lib/dependencies/ImportPhase.js +6 -2
  257. package/lib/dependencies/ImportPlugin.js +2 -1
  258. package/lib/dependencies/ImportWeakDependency.js +2 -0
  259. package/lib/dependencies/JsonExportsDependency.js +6 -1
  260. package/lib/dependencies/LoaderDependency.js +2 -0
  261. package/lib/dependencies/LoaderImportDependency.js +2 -0
  262. package/lib/dependencies/LoaderPlugin.js +4 -1
  263. package/lib/dependencies/LocalModule.js +4 -0
  264. package/lib/dependencies/LocalModuleDependency.js +4 -0
  265. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  266. package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
  267. package/lib/dependencies/ModuleDependency.js +7 -0
  268. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  269. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  270. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  271. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  272. package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
  273. package/lib/dependencies/NullDependency.js +2 -0
  274. package/lib/dependencies/PrefetchDependency.js +1 -0
  275. package/lib/dependencies/ProvidedDependency.js +6 -1
  276. package/lib/dependencies/PureExpressionDependency.js +7 -1
  277. package/lib/dependencies/RequireContextDependency.js +1 -0
  278. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
  279. package/lib/dependencies/RequireContextPlugin.js +2 -1
  280. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  281. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
  282. package/lib/dependencies/RequireEnsureDependency.js +4 -0
  283. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  284. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  285. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  286. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  287. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
  288. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  289. package/lib/dependencies/RequireResolveContextDependency.js +3 -0
  290. package/lib/dependencies/RequireResolveDependency.js +1 -0
  291. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  292. package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
  293. package/lib/dependencies/StaticExportsDependency.js +3 -0
  294. package/lib/dependencies/SystemPlugin.js +4 -1
  295. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  296. package/lib/dependencies/URLContextDependency.js +3 -0
  297. package/lib/dependencies/URLDependency.js +6 -0
  298. package/lib/dependencies/URLPlugin.js +2 -0
  299. package/lib/dependencies/UnsupportedDependency.js +4 -0
  300. package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
  301. package/lib/dependencies/WebAssemblyImportDependency.js +4 -1
  302. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
  303. package/lib/dependencies/WorkerDependency.js +6 -1
  304. package/lib/dependencies/WorkerPlugin.js +9 -1
  305. package/lib/dependencies/getFunctionExpression.js +1 -0
  306. package/lib/dependencies/processExportInfo.js +1 -0
  307. package/lib/electron/ElectronTargetPlugin.js +2 -1
  308. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  309. package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
  310. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
  311. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
  312. package/lib/formatLocation.js +2 -0
  313. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  314. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  315. package/lib/hmr/LazyCompilationPlugin.js +20 -1
  316. package/lib/hmr/lazyCompilationBackend.js +2 -0
  317. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  318. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  319. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  320. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  321. package/lib/ids/IdHelpers.js +20 -0
  322. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  323. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  324. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  325. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  326. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  327. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  328. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  329. package/lib/index.js +5 -0
  330. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  331. package/lib/javascript/BasicEvaluatedExpression.js +4 -2
  332. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  333. package/lib/javascript/ChunkHelpers.js +1 -0
  334. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  335. package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
  336. package/lib/javascript/JavascriptGenerator.js +10 -0
  337. package/lib/javascript/JavascriptModulesPlugin.js +23 -1
  338. package/lib/javascript/JavascriptParser.js +163 -0
  339. package/lib/javascript/JavascriptParserHelpers.js +6 -0
  340. package/lib/javascript/StartupHelpers.js +5 -0
  341. package/lib/json/JsonData.js +5 -0
  342. package/lib/json/JsonGenerator.js +21 -0
  343. package/lib/json/JsonModulesPlugin.js +1 -1
  344. package/lib/json/JsonParser.js +8 -10
  345. package/lib/library/AbstractLibraryPlugin.js +16 -1
  346. package/lib/library/AmdLibraryPlugin.js +8 -0
  347. package/lib/library/AssignLibraryPlugin.js +16 -0
  348. package/lib/library/EnableLibraryPlugin.js +7 -1
  349. package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
  350. package/lib/library/JsonpLibraryPlugin.js +8 -0
  351. package/lib/library/ModuleLibraryPlugin.js +12 -1
  352. package/lib/library/SystemLibraryPlugin.js +8 -0
  353. package/lib/library/UmdLibraryPlugin.js +16 -0
  354. package/lib/logging/Logger.js +17 -0
  355. package/lib/logging/createConsoleLogger.js +7 -0
  356. package/lib/logging/runtime.js +2 -0
  357. package/lib/logging/truncateArgs.js +2 -0
  358. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  359. package/lib/node/NodeEnvironmentPlugin.js +3 -1
  360. package/lib/node/NodeSourcePlugin.js +1 -1
  361. package/lib/node/NodeTargetPlugin.js +2 -1
  362. package/lib/node/NodeTemplatePlugin.js +3 -1
  363. package/lib/node/NodeWatchFileSystem.js +2 -0
  364. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
  365. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
  366. package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
  367. package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
  368. package/lib/node/nodeConsole.js +3 -0
  369. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  370. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  371. package/lib/optimize/ConcatenatedModule.js +11 -0
  372. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  373. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
  374. package/lib/optimize/InnerGraph.js +15 -0
  375. package/lib/optimize/InnerGraphPlugin.js +3 -1
  376. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  377. package/lib/optimize/MangleExportsPlugin.js +5 -1
  378. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  379. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  380. package/lib/optimize/MinMaxSizeWarning.js +1 -0
  381. package/lib/optimize/ModuleConcatenationPlugin.js +21 -1
  382. package/lib/optimize/RealContentHashPlugin.js +16 -1
  383. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  384. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  385. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  386. package/lib/optimize/SideEffectsFlagPlugin.js +7 -1
  387. package/lib/optimize/SplitChunksPlugin.js +49 -1
  388. package/lib/performance/AssetsOverSizeLimitWarning.js +1 -0
  389. package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -0
  390. package/lib/performance/SizeLimitsPlugin.js +7 -1
  391. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  392. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
  393. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  394. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -0
  395. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
  396. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  397. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  398. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  399. package/lib/rules/RuleSetCompiler.js +18 -0
  400. package/lib/rules/UseEffectRulePlugin.js +6 -0
  401. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
  402. package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
  403. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  404. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  405. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
  406. package/lib/runtime/CompatRuntimeModule.js +2 -0
  407. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
  408. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  409. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  410. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
  411. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  412. package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
  413. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  414. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  415. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
  416. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  417. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
  418. package/lib/runtime/HelperRuntimeModule.js +5 -0
  419. package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
  420. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +2 -0
  421. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
  422. package/lib/runtime/NonceRuntimeModule.js +1 -0
  423. package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
  424. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  425. package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
  426. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  427. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  428. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
  429. package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
  430. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  431. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  432. package/lib/schemes/DataUriPlugin.js +1 -1
  433. package/lib/schemes/FileUriPlugin.js +1 -1
  434. package/lib/schemes/HttpUriPlugin.js +43 -1
  435. package/lib/schemes/VirtualUrlPlugin.js +6 -1
  436. package/lib/serialization/AggregateErrorSerializer.js +2 -0
  437. package/lib/serialization/ArraySerializer.js +2 -0
  438. package/lib/serialization/BinaryMiddleware.js +20 -1
  439. package/lib/serialization/DateObjectSerializer.js +2 -0
  440. package/lib/serialization/ErrorObjectSerializer.js +3 -0
  441. package/lib/serialization/FileMiddleware.js +21 -0
  442. package/lib/serialization/MapObjectSerializer.js +2 -0
  443. package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
  444. package/lib/serialization/ObjectMiddleware.js +23 -0
  445. package/lib/serialization/PlainObjectSerializer.js +7 -0
  446. package/lib/serialization/RegExpObjectSerializer.js +2 -0
  447. package/lib/serialization/Serializer.js +5 -0
  448. package/lib/serialization/SerializerMiddleware.js +12 -0
  449. package/lib/serialization/SetObjectSerializer.js +2 -0
  450. package/lib/serialization/SingleItemMiddleware.js +3 -0
  451. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  452. package/lib/sharing/ConsumeSharedModule.js +15 -0
  453. package/lib/sharing/ConsumeSharedPlugin.js +6 -1
  454. package/lib/sharing/ConsumeSharedRuntimeModule.js +1 -0
  455. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  456. package/lib/sharing/ProvideSharedDependency.js +4 -0
  457. package/lib/sharing/ProvideSharedModule.js +11 -0
  458. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  459. package/lib/sharing/ProvideSharedPlugin.js +4 -1
  460. package/lib/sharing/SharePlugin.js +2 -1
  461. package/lib/sharing/ShareRuntimeModule.js +1 -0
  462. package/lib/sharing/resolveMatchedConfigs.js +3 -0
  463. package/lib/sharing/utils.js +8 -0
  464. package/lib/stats/DefaultStatsFactoryPlugin.js +56 -1
  465. package/lib/stats/DefaultStatsPresetPlugin.js +11 -1
  466. package/lib/stats/DefaultStatsPrinterPlugin.js +37 -1
  467. package/lib/stats/StatsFactory.js +12 -0
  468. package/lib/stats/StatsPrinter.js +7 -0
  469. package/lib/url/URLParserPlugin.js +6 -0
  470. package/lib/util/AppendOnlyStackedSet.js +15 -0
  471. package/lib/util/ArrayHelpers.js +1 -0
  472. package/lib/util/ArrayQueue.js +10 -5
  473. package/lib/util/AsyncQueue.js +20 -0
  474. package/lib/util/IterableHelpers.js +3 -0
  475. package/lib/util/LazyBucketSortedSet.js +21 -0
  476. package/lib/util/LazySet.js +39 -0
  477. package/lib/util/ParallelismFactorCalculator.js +1 -0
  478. package/lib/util/Queue.js +6 -3
  479. package/lib/util/Semaphore.js +14 -1
  480. package/lib/util/SetHelpers.js +3 -0
  481. package/lib/util/SortableSet.js +6 -0
  482. package/lib/util/StackedCacheMap.js +20 -3
  483. package/lib/util/StackedMap.js +45 -0
  484. package/lib/util/StringXor.js +1 -1
  485. package/lib/util/TupleQueue.js +7 -3
  486. package/lib/util/TupleSet.js +13 -0
  487. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  488. package/lib/util/WeakTupleMap.js +33 -0
  489. package/lib/util/binarySearchBounds.js +1 -0
  490. package/lib/util/cleverMerge.js +17 -0
  491. package/lib/util/comparators.js +31 -0
  492. package/lib/util/compileBooleanMatcher.js +9 -0
  493. package/lib/util/concatenate.js +6 -0
  494. package/lib/util/conventions.js +4 -0
  495. package/lib/util/dataURL.js +1 -0
  496. package/lib/util/deprecation.js +19 -0
  497. package/lib/util/deterministicGrouping.js +20 -0
  498. package/lib/util/extractSourceMap.js +1 -0
  499. package/lib/util/extractUrlAndGlobal.js +1 -0
  500. package/lib/util/findGraphRoots.js +5 -0
  501. package/lib/util/fs.js +63 -0
  502. package/lib/util/generateDebugId.js +1 -0
  503. package/lib/util/hash/BatchedHash.js +1 -0
  504. package/lib/util/hash/BulkUpdateHash.js +1 -0
  505. package/lib/util/hash/hash-digest.js +8 -0
  506. package/lib/util/hash/wasm-hash.js +5 -0
  507. package/lib/util/identifier.js +19 -0
  508. package/lib/util/magicComment.js +1 -0
  509. package/lib/util/makeSerializable.js +6 -0
  510. package/lib/util/memoize.js +2 -0
  511. package/lib/util/mimeTypes.js +176 -0
  512. package/lib/util/nonNumericOnlyHash.js +1 -0
  513. package/lib/util/parseJson.js +112 -0
  514. package/lib/util/processAsyncTree.js +8 -0
  515. package/lib/util/property.js +1 -0
  516. package/lib/util/registerExternalSerializer.js +20 -0
  517. package/lib/util/removeBOM.js +1 -0
  518. package/lib/util/runtime.js +32 -0
  519. package/lib/util/semver.js +15 -0
  520. package/lib/util/serialization.js +2 -0
  521. package/lib/util/smartGrouping.js +8 -0
  522. package/lib/util/source.js +2 -0
  523. package/lib/validateSchema.js +1 -0
  524. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  525. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
  526. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
  527. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  528. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
  529. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +10 -1
  530. package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -0
  531. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
  532. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
  533. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
  534. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +1 -1
  535. package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
  536. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
  537. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  538. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
  539. package/lib/wasm-sync/WebAssemblyParser.js +2 -0
  540. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  541. package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
  542. package/lib/web/FetchCompileWasmPlugin.js +13 -1
  543. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  544. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
  545. package/lib/web/JsonpTemplatePlugin.js +2 -1
  546. package/lib/webpack.js +10 -0
  547. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  548. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
  549. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  550. package/package.json +12 -14
  551. package/schemas/WebpackOptions.check.js +1 -1
  552. package/schemas/WebpackOptions.json +44 -55
  553. package/types.d.ts +4594 -331
@@ -29,10 +29,12 @@ const processAsyncTree = require("./util/processAsyncTree");
29
29
  /** @typedef {import("./util/fs").IStats} IStats */
30
30
  /** @typedef {import("./util/fs").InputFileSystem} InputFileSystem */
31
31
  /**
32
+ * Defines the processor callback type used by this module.
32
33
  * @template T
33
34
  * @typedef {import("./util/AsyncQueue").Callback<T>} ProcessorCallback
34
35
  */
35
36
  /**
37
+ * Defines the processor type used by this module.
36
38
  * @template T, R
37
39
  * @typedef {import("./util/AsyncQueue").Processor<T, R>} Processor
38
40
  */
@@ -66,12 +68,14 @@ const INVALID = Symbol("invalid");
66
68
  /** @typedef {{ }} ExistenceOnlyTimeEntry */
67
69
 
68
70
  /**
71
+ * Defines the file system info entry type used by this module.
69
72
  * @typedef {object} FileSystemInfoEntry
70
73
  * @property {number} safeTime
71
74
  * @property {number=} timestamp
72
75
  */
73
76
 
74
77
  /**
78
+ * Defines the resolved context file system info entry type used by this module.
75
79
  * @typedef {object} ResolvedContextFileSystemInfoEntry
76
80
  * @property {number} safeTime
77
81
  * @property {string=} timestampHash
@@ -80,6 +84,7 @@ const INVALID = Symbol("invalid");
80
84
  /** @typedef {Set<string>} Symlinks */
81
85
 
82
86
  /**
87
+ * Defines the context file system info entry type used by this module.
83
88
  * @typedef {object} ContextFileSystemInfoEntry
84
89
  * @property {number} safeTime
85
90
  * @property {string=} timestampHash
@@ -88,6 +93,7 @@ const INVALID = Symbol("invalid");
88
93
  */
89
94
 
90
95
  /**
96
+ * Defines the timestamp and hash type used by this module.
91
97
  * @typedef {object} TimestampAndHash
92
98
  * @property {number} safeTime
93
99
  * @property {number=} timestamp
@@ -95,6 +101,7 @@ const INVALID = Symbol("invalid");
95
101
  */
96
102
 
97
103
  /**
104
+ * Defines the resolved context timestamp and hash type used by this module.
98
105
  * @typedef {object} ResolvedContextTimestampAndHash
99
106
  * @property {number} safeTime
100
107
  * @property {string=} timestampHash
@@ -102,6 +109,7 @@ const INVALID = Symbol("invalid");
102
109
  */
103
110
 
104
111
  /**
112
+ * Defines the context timestamp and hash type used by this module.
105
113
  * @typedef {object} ContextTimestampAndHash
106
114
  * @property {number} safeTime
107
115
  * @property {string=} timestampHash
@@ -111,6 +119,7 @@ const INVALID = Symbol("invalid");
111
119
  */
112
120
 
113
121
  /**
122
+ * Defines the context hash type used by this module.
114
123
  * @typedef {object} ContextHash
115
124
  * @property {string} hash
116
125
  * @property {string=} resolved
@@ -120,6 +129,7 @@ const INVALID = Symbol("invalid");
120
129
  /** @typedef {Set<string>} SnapshotContent */
121
130
 
122
131
  /**
132
+ * Defines the snapshot optimization entry type used by this module.
123
133
  * @typedef {object} SnapshotOptimizationEntry
124
134
  * @property {Snapshot} snapshot
125
135
  * @property {number} shared
@@ -134,6 +144,7 @@ const INVALID = Symbol("invalid");
134
144
  /** @typedef {Set<string>} Missing */
135
145
 
136
146
  /**
147
+ * Defines the resolve dependencies type used by this module.
137
148
  * @typedef {object} ResolveDependencies
138
149
  * @property {Files} files list of files
139
150
  * @property {Directories} directories list of directories
@@ -141,6 +152,7 @@ const INVALID = Symbol("invalid");
141
152
  */
142
153
 
143
154
  /**
155
+ * Defines the resolve build dependencies result type used by this module.
144
156
  * @typedef {object} ResolveBuildDependenciesResult
145
157
  * @property {Files} files list of files
146
158
  * @property {Directories} directories list of directories
@@ -150,6 +162,7 @@ const INVALID = Symbol("invalid");
150
162
  */
151
163
 
152
164
  /**
165
+ * Defines the snapshot options type used by this module.
153
166
  * @typedef {object} SnapshotOptions
154
167
  * @property {boolean=} hash should use hash to snapshot
155
168
  * @property {boolean=} timestamp should use timestamp to snapshot
@@ -163,6 +176,7 @@ const DONE_ITERATOR_RESULT = new Set().keys().next();
163
176
 
164
177
  class SnapshotIterator {
165
178
  /**
179
+ * Creates an instance of SnapshotIterator.
166
180
  * @param {() => IteratorResult<string>} next next
167
181
  */
168
182
  constructor(next) {
@@ -171,15 +185,18 @@ class SnapshotIterator {
171
185
  }
172
186
 
173
187
  /**
188
+ * Defines the get maps function type used by this module.
174
189
  * @template T
175
190
  * @typedef {(snapshot: Snapshot) => T[]} GetMapsFunction
176
191
  */
177
192
 
178
193
  /**
194
+ * Represents SnapshotIterable.
179
195
  * @template T
180
196
  */
181
197
  class SnapshotIterable {
182
198
  /**
199
+ * Creates an instance of SnapshotIterable.
183
200
  * @param {Snapshot} snapshot snapshot
184
201
  * @param {GetMapsFunction<T>} getMaps get maps function
185
202
  */
@@ -320,6 +337,7 @@ class Snapshot {
320
337
  }
321
338
 
322
339
  /**
340
+ * Updates start time using the provided value.
323
341
  * @param {number} value start value
324
342
  */
325
343
  setStartTime(value) {
@@ -328,6 +346,7 @@ class Snapshot {
328
346
  }
329
347
 
330
348
  /**
349
+ * Sets merged start time.
331
350
  * @param {number | undefined} value value
332
351
  * @param {Snapshot} snapshot snapshot
333
352
  */
@@ -357,6 +376,7 @@ class Snapshot {
357
376
  }
358
377
 
359
378
  /**
379
+ * Sets file timestamps.
360
380
  * @param {FileTimestamps} value file timestamps
361
381
  */
362
382
  setFileTimestamps(value) {
@@ -369,6 +389,7 @@ class Snapshot {
369
389
  }
370
390
 
371
391
  /**
392
+ * Updates file hashes using the provided value.
372
393
  * @param {FileHashes} value file hashes
373
394
  */
374
395
  setFileHashes(value) {
@@ -381,6 +402,7 @@ class Snapshot {
381
402
  }
382
403
 
383
404
  /**
405
+ * Updates file tshs using the provided value.
384
406
  * @param {FileTshs} value file tshs
385
407
  */
386
408
  setFileTshs(value) {
@@ -393,6 +415,7 @@ class Snapshot {
393
415
  }
394
416
 
395
417
  /**
418
+ * Sets context timestamps.
396
419
  * @param {ContextTimestamps} value context timestamps
397
420
  */
398
421
  setContextTimestamps(value) {
@@ -405,6 +428,7 @@ class Snapshot {
405
428
  }
406
429
 
407
430
  /**
431
+ * Sets context hashes.
408
432
  * @param {ContextHashes} value context hashes
409
433
  */
410
434
  setContextHashes(value) {
@@ -417,6 +441,7 @@ class Snapshot {
417
441
  }
418
442
 
419
443
  /**
444
+ * Updates context tshs using the provided value.
420
445
  * @param {ContextTshs} value context tshs
421
446
  */
422
447
  setContextTshs(value) {
@@ -429,6 +454,7 @@ class Snapshot {
429
454
  }
430
455
 
431
456
  /**
457
+ * Sets missing existence.
432
458
  * @param {MissingExistence} value context tshs
433
459
  */
434
460
  setMissingExistence(value) {
@@ -441,6 +467,7 @@ class Snapshot {
441
467
  }
442
468
 
443
469
  /**
470
+ * Sets managed item info.
444
471
  * @param {ManagedItemInfo} value managed item info
445
472
  */
446
473
  setManagedItemInfo(value) {
@@ -453,6 +480,7 @@ class Snapshot {
453
480
  }
454
481
 
455
482
  /**
483
+ * Sets managed files.
456
484
  * @param {ManagedFiles} value managed files
457
485
  */
458
486
  setManagedFiles(value) {
@@ -465,6 +493,7 @@ class Snapshot {
465
493
  }
466
494
 
467
495
  /**
496
+ * Sets managed contexts.
468
497
  * @param {ManagedContexts} value managed contexts
469
498
  */
470
499
  setManagedContexts(value) {
@@ -477,6 +506,7 @@ class Snapshot {
477
506
  }
478
507
 
479
508
  /**
509
+ * Sets managed missing.
480
510
  * @param {ManagedMissing} value managed missing
481
511
  */
482
512
  setManagedMissing(value) {
@@ -489,6 +519,7 @@ class Snapshot {
489
519
  }
490
520
 
491
521
  /**
522
+ * Updates children using the provided value.
492
523
  * @param {Children} value children
493
524
  */
494
525
  setChildren(value) {
@@ -497,6 +528,7 @@ class Snapshot {
497
528
  }
498
529
 
499
530
  /**
531
+ * Adds the provided child to the snapshot.
500
532
  * @param {Snapshot} child children
501
533
  */
502
534
  addChild(child) {
@@ -508,6 +540,7 @@ class Snapshot {
508
540
  }
509
541
 
510
542
  /**
543
+ * Serializes this instance into the provided serializer context.
511
544
  * @param {ObjectSerializerContext} context context
512
545
  */
513
546
  serialize({ write }) {
@@ -528,6 +561,7 @@ class Snapshot {
528
561
  }
529
562
 
530
563
  /**
564
+ * Restores this instance from the provided deserializer context.
531
565
  * @param {ObjectDeserializerContext} context context
532
566
  */
533
567
  deserialize({ read }) {
@@ -548,6 +582,7 @@ class Snapshot {
548
582
  }
549
583
 
550
584
  /**
585
+ * Creates an iterable from the provided get map.
551
586
  * @template T
552
587
  * @param {GetMapsFunction<T>} getMaps first
553
588
  * @returns {SnapshotIterable<T>} iterable
@@ -557,6 +592,7 @@ class Snapshot {
557
592
  }
558
593
 
559
594
  /**
595
+ * Gets file iterable.
560
596
  * @returns {Iterable<string>} iterable
561
597
  */
562
598
  getFileIterable() {
@@ -572,6 +608,7 @@ class Snapshot {
572
608
  }
573
609
 
574
610
  /**
611
+ * Gets context iterable.
575
612
  * @returns {Iterable<string>} iterable
576
613
  */
577
614
  getContextIterable() {
@@ -587,6 +624,7 @@ class Snapshot {
587
624
  }
588
625
 
589
626
  /**
627
+ * Gets missing iterable.
590
628
  * @returns {Iterable<string>} iterable
591
629
  */
592
630
  getMissingIterable() {
@@ -605,16 +643,19 @@ makeSerializable(Snapshot, "webpack/lib/FileSystemInfo", "Snapshot");
605
643
  const MIN_COMMON_SNAPSHOT_SIZE = 3;
606
644
 
607
645
  /**
646
+ * Defines the snapshot optimization value type used by this module.
608
647
  * @template U, T
609
648
  * @typedef {U extends true ? Set<string> : Map<string, T>} SnapshotOptimizationValue
610
649
  */
611
650
 
612
651
  /**
652
+ * Represents SnapshotOptimization.
613
653
  * @template T
614
654
  * @template {boolean} [U=false]
615
655
  */
616
656
  class SnapshotOptimization {
617
657
  /**
658
+ * Creates an instance of SnapshotOptimization.
618
659
  * @param {(snapshot: Snapshot) => boolean} has has value
619
660
  * @param {(snapshot: Snapshot) => SnapshotOptimizationValue<U, T> | undefined} get get value
620
661
  * @param {(snapshot: Snapshot, value: SnapshotOptimizationValue<U, T>) => void} set set value
@@ -663,6 +704,7 @@ class SnapshotOptimization {
663
704
  }
664
705
 
665
706
  /**
707
+ * Processes the provided new snapshot.
666
708
  * @param {Snapshot} newSnapshot snapshot
667
709
  * @param {Set<string>} capturedFiles files to snapshot/share
668
710
  * @returns {void}
@@ -672,6 +714,7 @@ class SnapshotOptimization {
672
714
  return;
673
715
  }
674
716
  /**
717
+ * Increase shared and store optimization entry.
675
718
  * @param {SnapshotOptimizationEntry} entry optimization entry
676
719
  * @returns {void}
677
720
  */
@@ -685,6 +728,7 @@ class SnapshotOptimization {
685
728
  storeOptimizationEntry(entry);
686
729
  };
687
730
  /**
731
+ * Stores optimization entry.
688
732
  * @param {SnapshotOptimizationEntry} entry optimization entry
689
733
  * @returns {void}
690
734
  */
@@ -886,6 +930,7 @@ class SnapshotOptimization {
886
930
  }
887
931
 
888
932
  /**
933
+ * Returns result.
889
934
  * @param {string} str input
890
935
  * @returns {string} result
891
936
  */
@@ -898,6 +943,7 @@ const parseString = (str) => {
898
943
 
899
944
  /* istanbul ignore next */
900
945
  /**
946
+ * Processes the provided mtime.
901
947
  * @param {number} mtime mtime
902
948
  */
903
949
  const applyMtime = (mtime) => {
@@ -908,6 +954,7 @@ const applyMtime = (mtime) => {
908
954
  };
909
955
 
910
956
  /**
957
+ * Merges the provided values into a single result.
911
958
  * @template T
912
959
  * @template K
913
960
  * @param {Map<T, K> | undefined} a source map
@@ -926,6 +973,7 @@ const mergeMaps = (a, b) => {
926
973
  };
927
974
 
928
975
  /**
976
+ * Merges the provided values into a single result.
929
977
  * @template T
930
978
  * @param {Set<T> | undefined} a source map
931
979
  * @param {Set<T> | undefined} b joining map
@@ -1027,6 +1075,7 @@ const getManagedItem = (managedPath, path) => {
1027
1075
  };
1028
1076
 
1029
1077
  /**
1078
+ * Gets resolved timestamp.
1030
1079
  * @template {ContextFileSystemInfoEntry | ContextTimestampAndHash} T
1031
1080
  * @param {T | null} entry entry
1032
1081
  * @returns {T["resolved"] | null | undefined} the resolved entry
@@ -1038,6 +1087,7 @@ const getResolvedTimestamp = (entry) => {
1038
1087
  };
1039
1088
 
1040
1089
  /**
1090
+ * Gets resolved hash.
1041
1091
  * @param {ContextHash | null} entry entry
1042
1092
  * @returns {string | null | undefined} the resolved entry
1043
1093
  */
@@ -1048,6 +1098,7 @@ const getResolvedHash = (entry) => {
1048
1098
  };
1049
1099
 
1050
1100
  /**
1101
+ * Adds the provided source to the snapshot optimization.
1051
1102
  * @template T
1052
1103
  * @param {Set<T>} source source
1053
1104
  * @param {Set<T>} target target
@@ -1071,6 +1122,7 @@ const getEsModuleLexer = memoize(() => require("es-module-lexer"));
1071
1122
  */
1072
1123
  class FileSystemInfo {
1073
1124
  /**
1125
+ * Creates an instance of FileSystemInfo.
1074
1126
  * @param {InputFileSystem} fs file system
1075
1127
  * @param {object} options options
1076
1128
  * @param {Iterable<string | RegExp>=} options.unmanagedPaths paths that are not managed by a package manager and the contents are subject to change
@@ -1264,6 +1316,7 @@ class FileSystemInfo {
1264
1316
  logStatistics() {
1265
1317
  const logger = /** @type {Logger} */ (this.logger);
1266
1318
  /**
1319
+ * Processes the provided header.
1267
1320
  * @param {string} header header
1268
1321
  * @param {string | undefined} message message
1269
1322
  */
@@ -1351,6 +1404,7 @@ class FileSystemInfo {
1351
1404
  }
1352
1405
 
1353
1406
  /**
1407
+ * Processes the provided path.
1354
1408
  * @private
1355
1409
  * @param {string} path path
1356
1410
  * @param {string} reason reason
@@ -1408,6 +1462,7 @@ class FileSystemInfo {
1408
1462
  }
1409
1463
 
1410
1464
  /**
1465
+ * Adds file timestamps.
1411
1466
  * @param {ReadonlyMap<string, FileSystemInfoEntry | ExistenceOnlyTimeEntry | "ignore" | null>} map timestamps
1412
1467
  * @param {boolean=} immutable if 'map' is immutable and FileSystemInfo can keep referencing it
1413
1468
  * @returns {void}
@@ -1422,6 +1477,7 @@ class FileSystemInfo {
1422
1477
  }
1423
1478
 
1424
1479
  /**
1480
+ * Adds context timestamps.
1425
1481
  * @param {ReadonlyMap<string, ContextFileSystemInfoEntry | ExistenceOnlyTimeEntry | "ignore" | null>} map timestamps
1426
1482
  * @param {boolean=} immutable if 'map' is immutable and FileSystemInfo can keep referencing it
1427
1483
  * @returns {void}
@@ -1436,6 +1492,7 @@ class FileSystemInfo {
1436
1492
  }
1437
1493
 
1438
1494
  /**
1495
+ * Gets file timestamp.
1439
1496
  * @param {string} path file path
1440
1497
  * @param {(err?: WebpackError | null, fileTimestamp?: FileTimestamp) => void} callback callback function
1441
1498
  * @returns {void}
@@ -1447,6 +1504,7 @@ class FileSystemInfo {
1447
1504
  }
1448
1505
 
1449
1506
  /**
1507
+ * Gets context timestamp.
1450
1508
  * @param {string} path context path
1451
1509
  * @param {(err?: WebpackError | null, resolvedContextTimestamp?: ResolvedContextTimestamp) => void} callback callback function
1452
1510
  * @returns {void}
@@ -1473,6 +1531,7 @@ class FileSystemInfo {
1473
1531
  }
1474
1532
 
1475
1533
  /**
1534
+ * Get unresolved context timestamp.
1476
1535
  * @private
1477
1536
  * @param {string} path context path
1478
1537
  * @param {(err?: WebpackError | null, contextTimestamp?: ContextTimestamp) => void} callback callback function
@@ -1485,6 +1544,7 @@ class FileSystemInfo {
1485
1544
  }
1486
1545
 
1487
1546
  /**
1547
+ * Returns file hash.
1488
1548
  * @param {string} path file path
1489
1549
  * @param {(err?: WebpackError | null, hash?: string | null) => void} callback callback function
1490
1550
  * @returns {void}
@@ -1496,6 +1556,7 @@ class FileSystemInfo {
1496
1556
  }
1497
1557
 
1498
1558
  /**
1559
+ * Returns context hash.
1499
1560
  * @param {string} path context path
1500
1561
  * @param {(err?: WebpackError | null, contextHash?: string) => void} callback callback function
1501
1562
  * @returns {void}
@@ -1521,6 +1582,7 @@ class FileSystemInfo {
1521
1582
  }
1522
1583
 
1523
1584
  /**
1585
+ * Get unresolved context hash.
1524
1586
  * @private
1525
1587
  * @param {string} path context path
1526
1588
  * @param {(err?: WebpackError | null, contextHash?: ContextHash | null) => void} callback callback function
@@ -1533,6 +1595,7 @@ class FileSystemInfo {
1533
1595
  }
1534
1596
 
1535
1597
  /**
1598
+ * Returns context tsh.
1536
1599
  * @param {string} path context path
1537
1600
  * @param {(err?: WebpackError | null, resolvedContextTimestampAndHash?: ResolvedContextTimestampAndHash | null) => void} callback callback function
1538
1601
  * @returns {void}
@@ -1554,6 +1617,7 @@ class FileSystemInfo {
1554
1617
  }
1555
1618
 
1556
1619
  /**
1620
+ * Get unresolved context tsh.
1557
1621
  * @private
1558
1622
  * @param {string} path context path
1559
1623
  * @param {(err?: WebpackError | null, contextTimestampAndHash?: ContextTimestampAndHash | null) => void} callback callback function
@@ -1594,6 +1658,7 @@ class FileSystemInfo {
1594
1658
  }
1595
1659
 
1596
1660
  /**
1661
+ * Resolves build dependencies.
1597
1662
  * @param {string} context context directory
1598
1663
  * @param {Iterable<string>} deps dependencies
1599
1664
  * @param {(err?: Error | null, resolveBuildDependenciesResult?: ResolveBuildDependenciesResult) => void} callback callback function
@@ -1629,6 +1694,7 @@ class FileSystemInfo {
1629
1694
  missingDependencies: resolveMissing
1630
1695
  };
1631
1696
  /**
1697
+ * Expected to string.
1632
1698
  * @param {undefined | boolean | string} expected expected result
1633
1699
  * @returns {string} expected result
1634
1700
  */
@@ -1637,6 +1703,7 @@ class FileSystemInfo {
1637
1703
  /** @typedef {{ type: JobType, context: string | undefined, path: string, issuer: Job | undefined, expected: undefined | boolean | string }} Job */
1638
1704
 
1639
1705
  /**
1706
+ * Returns result.
1640
1707
  * @param {Job} job job
1641
1708
  * @returns {string} result
1642
1709
  */
@@ -1666,6 +1733,7 @@ class FileSystemInfo {
1666
1733
  return `unknown ${job.type} ${job.path}`;
1667
1734
  };
1668
1735
  /**
1736
+ * Returns string value.
1669
1737
  * @param {Job} job job
1670
1738
  * @returns {string} string value
1671
1739
  */
@@ -1696,6 +1764,7 @@ class FileSystemInfo {
1696
1764
  (job, push, callback) => {
1697
1765
  const { type, context, path, expected } = job;
1698
1766
  /**
1767
+ * Resolves directory.
1699
1768
  * @param {string} path path
1700
1769
  * @returns {void}
1701
1770
  */
@@ -1733,6 +1802,7 @@ class FileSystemInfo {
1733
1802
  );
1734
1803
  };
1735
1804
  /**
1805
+ * Processes the provided path.
1736
1806
  * @param {string} path path
1737
1807
  * @param {("f" | "c" | "e")=} symbol symbol
1738
1808
  * @param {(ResolveFunctionAsync)=} resolve resolve fn
@@ -2128,6 +2198,7 @@ class FileSystemInfo {
2128
2198
  }
2129
2199
 
2130
2200
  /**
2201
+ * Checks resolve results valid.
2131
2202
  * @param {ResolveResults} resolveResults results from resolving
2132
2203
  * @param {(err?: Error | null, result?: boolean) => void} callback callback with true when resolveResults resolve the same way
2133
2204
  * @returns {void}
@@ -2191,6 +2262,7 @@ class FileSystemInfo {
2191
2262
  }
2192
2263
  },
2193
2264
  /**
2265
+ * Processes the provided err.
2194
2266
  * @param {Error | typeof INVALID=} err error or invalid flag
2195
2267
  * @returns {void}
2196
2268
  */
@@ -2209,6 +2281,7 @@ class FileSystemInfo {
2209
2281
  }
2210
2282
 
2211
2283
  /**
2284
+ * Creates a snapshot.
2212
2285
  * @param {number | null | undefined} startTime when processing the files has started
2213
2286
  * @param {Iterable<string> | null | undefined} files all files
2214
2287
  * @param {Iterable<string> | null | undefined} directories all directories
@@ -2308,6 +2381,7 @@ class FileSystemInfo {
2308
2381
  }
2309
2382
  };
2310
2383
  /**
2384
+ * Checks true when managed.
2311
2385
  * @param {string} path path
2312
2386
  * @param {ManagedFiles} managedSet managed set
2313
2387
  * @returns {boolean} true when managed
@@ -2355,6 +2429,7 @@ class FileSystemInfo {
2355
2429
  return false;
2356
2430
  };
2357
2431
  /**
2432
+ * Capture non managed.
2358
2433
  * @param {Iterable<string>} items items
2359
2434
  * @param {Set<string>} managedSet managed set
2360
2435
  * @returns {Set<string>} result
@@ -2368,6 +2443,7 @@ class FileSystemInfo {
2368
2443
  return capturedItems;
2369
2444
  };
2370
2445
  /**
2446
+ * Process captured files.
2371
2447
  * @param {ManagedFiles} capturedFiles captured files
2372
2448
  */
2373
2449
  const processCapturedFiles = (capturedFiles) => {
@@ -2459,6 +2535,7 @@ class FileSystemInfo {
2459
2535
  processCapturedFiles(captureNonManaged(files, managedFiles));
2460
2536
  }
2461
2537
  /**
2538
+ * Process captured directories.
2462
2539
  * @param {ManagedContexts} capturedDirectories captured directories
2463
2540
  */
2464
2541
  const processCapturedDirectories = (capturedDirectories) => {
@@ -2480,6 +2557,7 @@ class FileSystemInfo {
2480
2557
  } else {
2481
2558
  jobs++;
2482
2559
  /**
2560
+ * Processes the provided err.
2483
2561
  * @param {(WebpackError | null)=} err error
2484
2562
  * @param {(ResolvedContextTimestampAndHash | null)=} entry entry
2485
2563
  * @returns {void}
@@ -2526,6 +2604,7 @@ class FileSystemInfo {
2526
2604
  } else {
2527
2605
  jobs++;
2528
2606
  /**
2607
+ * Processes the provided err.
2529
2608
  * @param {(WebpackError | null)=} err err
2530
2609
  * @param {string=} entry entry
2531
2610
  */
@@ -2568,6 +2647,7 @@ class FileSystemInfo {
2568
2647
  } else {
2569
2648
  jobs++;
2570
2649
  /**
2650
+ * Processes the provided err.
2571
2651
  * @param {(Error | null)=} err error
2572
2652
  * @param {FileTimestamp=} entry entry
2573
2653
  * @returns {void}
@@ -2609,6 +2689,7 @@ class FileSystemInfo {
2609
2689
  );
2610
2690
  }
2611
2691
  /**
2692
+ * Process captured missing.
2612
2693
  * @param {ManagedMissing} capturedMissing captured missing
2613
2694
  */
2614
2695
  const processCapturedMissing = (capturedMissing) => {
@@ -2674,6 +2755,7 @@ class FileSystemInfo {
2674
2755
  } else {
2675
2756
  // Fallback to normal snapshotting
2676
2757
  /**
2758
+ * Processes the provided set.
2677
2759
  * @param {Set<string>} set set
2678
2760
  * @param {(set: Set<string>) => void} fn fn
2679
2761
  */
@@ -2698,6 +2780,7 @@ class FileSystemInfo {
2698
2780
  }
2699
2781
 
2700
2782
  /**
2783
+ * Merges the provided values into a single result.
2701
2784
  * @param {Snapshot} snapshot1 a snapshot
2702
2785
  * @param {Snapshot} snapshot2 a snapshot
2703
2786
  * @returns {Snapshot} merged snapshot
@@ -2784,6 +2867,7 @@ class FileSystemInfo {
2784
2867
  }
2785
2868
 
2786
2869
  /**
2870
+ * Checks snapshot valid.
2787
2871
  * @param {Snapshot} snapshot the snapshot made
2788
2872
  * @param {CheckSnapshotValidCallback} callback callback function
2789
2873
  * @returns {void}
@@ -2804,6 +2888,7 @@ class FileSystemInfo {
2804
2888
  }
2805
2889
 
2806
2890
  /**
2891
+ * Check snapshot valid no cache.
2807
2892
  * @private
2808
2893
  * @param {Snapshot} snapshot the snapshot made
2809
2894
  * @param {CheckSnapshotValidCallback} callback callback function
@@ -2831,6 +2916,7 @@ class FileSystemInfo {
2831
2916
  }
2832
2917
  };
2833
2918
  /**
2919
+ * Invalid with error.
2834
2920
  * @param {string} path path
2835
2921
  * @param {WebpackError} err err
2836
2922
  */
@@ -2841,6 +2927,7 @@ class FileSystemInfo {
2841
2927
  invalid();
2842
2928
  };
2843
2929
  /**
2930
+ * Checks true, if ok.
2844
2931
  * @param {string} path file path
2845
2932
  * @param {string | null} current current hash
2846
2933
  * @param {string | null} snap snapshot hash
@@ -2857,6 +2944,7 @@ class FileSystemInfo {
2857
2944
  return true;
2858
2945
  };
2859
2946
  /**
2947
+ * Checks true, if ok.
2860
2948
  * @param {string} path file path
2861
2949
  * @param {boolean} current current entry
2862
2950
  * @param {boolean} snap entry from snapshot
@@ -2877,6 +2965,7 @@ class FileSystemInfo {
2877
2965
  return true;
2878
2966
  };
2879
2967
  /**
2968
+ * Checks true, if ok.
2880
2969
  * @param {string} path file path
2881
2970
  * @param {FileSystemInfoEntry | null} c current entry
2882
2971
  * @param {FileSystemInfoEntry | null} s entry from snapshot
@@ -2919,6 +3008,7 @@ class FileSystemInfo {
2919
3008
  return true;
2920
3009
  };
2921
3010
  /**
3011
+ * Checks true, if ok.
2922
3012
  * @param {string} path file path
2923
3013
  * @param {ResolvedContextFileSystemInfoEntry | null} c current entry
2924
3014
  * @param {ResolvedContextFileSystemInfoEntry | null} s entry from snapshot
@@ -2965,6 +3055,7 @@ class FileSystemInfo {
2965
3055
  };
2966
3056
  if (snapshot.hasChildren()) {
2967
3057
  /**
3058
+ * Processes the provided err.
2968
3059
  * @param {(WebpackError | null)=} err err
2969
3060
  * @param {boolean=} result result
2970
3061
  * @returns {void}
@@ -3026,6 +3117,7 @@ class FileSystemInfo {
3026
3117
  }
3027
3118
  }
3028
3119
  /**
3120
+ * Process file hash snapshot.
3029
3121
  * @param {string} path file path
3030
3122
  * @param {string | null} hash hash
3031
3123
  */
@@ -3108,6 +3200,7 @@ class FileSystemInfo {
3108
3200
  } else {
3109
3201
  jobs++;
3110
3202
  /**
3203
+ * Processes the provided err.
3111
3204
  * @param {(WebpackError | null)=} err error
3112
3205
  * @param {ResolvedContextTimestamp=} entry entry
3113
3206
  * @returns {void}
@@ -3140,6 +3233,7 @@ class FileSystemInfo {
3140
3233
  }
3141
3234
  }
3142
3235
  /**
3236
+ * Process context hash snapshot.
3143
3237
  * @param {string} path path
3144
3238
  * @param {string | null} hash hash
3145
3239
  */
@@ -3157,6 +3251,7 @@ class FileSystemInfo {
3157
3251
  } else {
3158
3252
  jobs++;
3159
3253
  /**
3254
+ * Processes the provided err.
3160
3255
  * @param {(WebpackError | null)=} err err
3161
3256
  * @param {string=} entry entry
3162
3257
  * @returns {void}
@@ -3206,6 +3301,7 @@ class FileSystemInfo {
3206
3301
  } else {
3207
3302
  jobs++;
3208
3303
  /**
3304
+ * Processes the provided err.
3209
3305
  * @param {(WebpackError | null)=} err error
3210
3306
  * @param {ResolvedContextTimestamp=} entry entry
3211
3307
  * @returns {void}
@@ -3382,12 +3478,14 @@ class FileSystemInfo {
3382
3478
  }
3383
3479
 
3384
3480
  /**
3481
+ * Get file timestamp and hash.
3385
3482
  * @private
3386
3483
  * @param {string} path path
3387
3484
  * @param {(err: WebpackError | null, timestampAndHash?: TimestampAndHash | string) => void} callback callback
3388
3485
  */
3389
3486
  _getFileTimestampAndHash(path, callback) {
3390
3487
  /**
3488
+ * Continue with hash.
3391
3489
  * @param {string} hash hash
3392
3490
  * @returns {void}
3393
3491
  */
@@ -3434,6 +3532,7 @@ class FileSystemInfo {
3434
3532
  }
3435
3533
 
3436
3534
  /**
3535
+ * Processes the provided object.
3437
3536
  * @private
3438
3537
  * @template T
3439
3538
  * @template ItemType
@@ -3663,6 +3762,7 @@ class FileSystemInfo {
3663
3762
  }
3664
3763
 
3665
3764
  /**
3765
+ * Resolve context timestamp.
3666
3766
  * @private
3667
3767
  * @param {ContextFileSystemInfoEntry} entry entry
3668
3768
  * @param {(err?: WebpackError | null, resolvedContextTimestamp?: ResolvedContextTimestamp) => void} callback callback
@@ -3744,6 +3844,7 @@ class FileSystemInfo {
3744
3844
  });
3745
3845
  },
3746
3846
  /**
3847
+ * Returns reduced hash.
3747
3848
  * @param {string[]} files files
3748
3849
  * @param {(string | ContextHash)[]} fileHashes hashes
3749
3850
  * @returns {ContextHash} reduced hash
@@ -3784,6 +3885,7 @@ class FileSystemInfo {
3784
3885
  }
3785
3886
 
3786
3887
  /**
3888
+ * Resolve context hash.
3787
3889
  * @private
3788
3890
  * @param {ContextHash} entry context hash
3789
3891
  * @param {(err: WebpackError | null, contextHash?: string) => void} callback callback
@@ -3826,6 +3928,7 @@ class FileSystemInfo {
3826
3928
  */
3827
3929
  _readContextTimestampAndHash(path, callback) {
3828
3930
  /**
3931
+ * Processes the provided timestamp.
3829
3932
  * @param {ContextTimestamp} timestamp timestamp
3830
3933
  * @param {ContextHash} hash hash
3831
3934
  */
@@ -3887,6 +3990,7 @@ class FileSystemInfo {
3887
3990
  });
3888
3991
  },
3889
3992
  /**
3993
+ * Returns tsh.
3890
3994
  * @param {string[]} files files
3891
3995
  * @param {(Partial<TimestampAndHash> & Partial<ContextTimestampAndHash> | string | null)[]} results results
3892
3996
  * @returns {ContextTimestampAndHash} tsh
@@ -3951,6 +4055,7 @@ class FileSystemInfo {
3951
4055
  }
3952
4056
 
3953
4057
  /**
4058
+ * Resolve context tsh.
3954
4059
  * @private
3955
4060
  * @param {ContextTimestampAndHash} entry entry
3956
4061
  * @param {ProcessorCallback<ResolvedContextTimestampAndHash>} callback callback