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
@@ -11,15 +11,18 @@ const DONE_MARKER = 2;
11
11
  const CANDIDATE_MARKER = 3;
12
12
 
13
13
  /**
14
+ * Defines the nodes type used by this module.
14
15
  * @template T
15
16
  * @typedef {Set<Node<T>>} Nodes
16
17
  */
17
18
 
18
19
  /**
20
+ * Represents the node runtime component.
19
21
  * @template T
20
22
  */
21
23
  class Node {
22
24
  /**
25
+ * Creates an instance of Node.
23
26
  * @param {T} item the value of the node
24
27
  */
25
28
  constructor(item) {
@@ -48,6 +51,7 @@ class SCC {
48
51
  }
49
52
 
50
53
  /**
54
+ * Defines the stack entry type used by this module.
51
55
  * @template T
52
56
  * @typedef {object} StackEntry
53
57
  * @property {Node<T>} node
@@ -55,6 +59,7 @@ class SCC {
55
59
  */
56
60
 
57
61
  /**
62
+ * Returns graph roots of the items.
58
63
  * @template T
59
64
  * @param {Iterable<T>} items list of items
60
65
  * @param {(item: T) => Iterable<T>} getDependencies function to get dependencies of an item (items that are not in list are ignored)
package/lib/util/fs.js CHANGED
@@ -13,6 +13,7 @@ const path = require("path");
13
13
  /** @typedef {import("watchpack").ExistenceOnlyTimeEntry} ExistenceOnlyTimeEntry */
14
14
 
15
15
  /**
16
+ * Defines the i stats base type used by this module.
16
17
  * @template T
17
18
  * @typedef {object} IStatsBase
18
19
  * @property {() => boolean} isFile
@@ -43,14 +44,17 @@ const path = require("path");
43
44
  */
44
45
 
45
46
  /**
47
+ * Defines the i stats type used by this module.
46
48
  * @typedef {IStatsBase<number>} IStats
47
49
  */
48
50
 
49
51
  /**
52
+ * Defines the i big int stats type used by this module.
50
53
  * @typedef {IStatsBase<bigint> & { atimeNs: bigint, mtimeNs: bigint, ctimeNs: bigint, birthtimeNs: bigint }} IBigIntStats
51
54
  */
52
55
 
53
56
  /**
57
+ * Defines the dirent type used by this module.
54
58
  * @template {string | Buffer} [T=string]
55
59
  * @typedef {object} Dirent
56
60
  * @property {() => boolean} isFile true when is file, otherwise false
@@ -91,6 +95,7 @@ const path = require("path");
91
95
  /** @typedef {Set<string>} Removals */
92
96
 
93
97
  /**
98
+ * Defines the watcher info type used by this module.
94
99
  * @typedef {object} WatcherInfo
95
100
  * @property {Changes | null} changes get current aggregated changes that have not yet send to callback
96
101
  * @property {Removals | null} removals get current aggregated removals that have not yet send to callback
@@ -100,6 +105,7 @@ const path = require("path");
100
105
 
101
106
  // TODO webpack 6 deprecate missing getInfo
102
107
  /**
108
+ * Defines the watcher type used by this module.
103
109
  * @typedef {object} Watcher
104
110
  * @property {() => void} close closes the watcher and all underlying file watchers
105
111
  * @property {() => void} pause closes the watcher, but keeps underlying file watchers alive until the next watch call
@@ -111,6 +117,7 @@ const path = require("path");
111
117
  */
112
118
 
113
119
  /**
120
+ * Defines the watch method callback.
114
121
  * @callback WatchMethod
115
122
  * @param {Iterable<string>} files watched files
116
123
  * @param {Iterable<string>} directories watched directories
@@ -125,19 +132,23 @@ const path = require("path");
125
132
  // TODO webpack 6 make optional methods required and avoid using non standard methods like `join`, `relative`, `dirname`, move IntermediateFileSystemExtras methods to InputFilesystem or OutputFilesystem
126
133
 
127
134
  /**
135
+ * Defines the path like type used by this module.
128
136
  * @typedef {string | Buffer | URL} PathLike
129
137
  */
130
138
 
131
139
  /**
140
+ * Defines the path or file descriptor type used by this module.
132
141
  * @typedef {PathLike | number} PathOrFileDescriptor
133
142
  */
134
143
 
135
144
  /**
145
+ * Defines the object encoding options type used by this module.
136
146
  * @typedef {object} ObjectEncodingOptions
137
147
  * @property {BufferEncoding | null | undefined=} encoding
138
148
  */
139
149
 
140
150
  /**
151
+ * Describes the read file shape.
141
152
  * @typedef {{
142
153
  * (path: PathOrFileDescriptor, options: ({ encoding?: null | undefined, flag?: string | undefined } & import("events").Abortable) | undefined | null, callback: BufferCallback): void,
143
154
  * (path: PathOrFileDescriptor, options: ({ encoding: BufferEncoding, flag?: string | undefined } & import("events").Abortable) | BufferEncoding, callback: StringCallback): void,
@@ -147,6 +158,7 @@ const path = require("path");
147
158
  */
148
159
 
149
160
  /**
161
+ * Describes the read file sync shape.
150
162
  * @typedef {{
151
163
  * (path: PathOrFileDescriptor, options?: { encoding?: null | undefined, flag?: string | undefined } | null): Buffer,
152
164
  * (path: PathOrFileDescriptor, options: { encoding: BufferEncoding, flag?: string | undefined } | BufferEncoding): string,
@@ -155,25 +167,30 @@ const path = require("path");
155
167
  */
156
168
 
157
169
  /**
170
+ * Defines the encoding option type used by this module.
158
171
  * @typedef {ObjectEncodingOptions | BufferEncoding | undefined | null} EncodingOption
159
172
  */
160
173
 
161
174
  /**
175
+ * Defines the buffer encoding option type used by this module.
162
176
  * @typedef {"buffer" | { encoding: "buffer" }} BufferEncodingOption
163
177
  */
164
178
 
165
179
  /**
180
+ * Defines the stat options type used by this module.
166
181
  * @typedef {object} StatOptions
167
182
  * @property {(boolean | undefined)=} bigint
168
183
  */
169
184
 
170
185
  /**
186
+ * Defines the stat sync options type used by this module.
171
187
  * @typedef {object} StatSyncOptions
172
188
  * @property {(boolean | undefined)=} bigint
173
189
  * @property {(boolean | undefined)=} throwIfNoEntry
174
190
  */
175
191
 
176
192
  /**
193
+ * Describes the readlink shape.
177
194
  * @typedef {{
178
195
  * (path: PathLike, options: EncodingOption, callback: StringCallback): void,
179
196
  * (path: PathLike, options: BufferEncodingOption, callback: BufferCallback): void,
@@ -183,6 +200,7 @@ const path = require("path");
183
200
  */
184
201
 
185
202
  /**
203
+ * Describes the readlink sync shape.
186
204
  * @typedef {{
187
205
  * (path: PathLike, options?: EncodingOption): string,
188
206
  * (path: PathLike, options: BufferEncodingOption): Buffer,
@@ -191,6 +209,7 @@ const path = require("path");
191
209
  */
192
210
 
193
211
  /**
212
+ * Describes the readdir shape.
194
213
  * @typedef {{
195
214
  * (path: PathLike, options: { encoding: BufferEncoding | null, withFileTypes?: false | undefined, recursive?: boolean | undefined } | BufferEncoding | undefined | null, callback: (err: NodeJS.ErrnoException | null, files?: string[]) => void): void,
196
215
  * (path: PathLike, options: { encoding: "buffer", withFileTypes?: false | undefined, recursive?: boolean | undefined } | "buffer", callback: (err: NodeJS.ErrnoException | null, files?: Buffer[]) => void): void,
@@ -202,6 +221,7 @@ const path = require("path");
202
221
  */
203
222
 
204
223
  /**
224
+ * Describes the readdir sync shape.
205
225
  * @typedef {{
206
226
  * (path: PathLike, options?: { encoding: BufferEncoding | null, withFileTypes?: false | undefined, recursive?: boolean | undefined } | BufferEncoding | null): string[],
207
227
  * (path: PathLike, options: { encoding: "buffer", withFileTypes?: false | undefined, recursive?: boolean | undefined } | "buffer"): Buffer[],
@@ -212,6 +232,7 @@ const path = require("path");
212
232
  */
213
233
 
214
234
  /**
235
+ * Describes the stat shape.
215
236
  * @typedef {{
216
237
  * (path: PathLike, callback: StatsCallback): void,
217
238
  * (path: PathLike, options: (StatOptions & { bigint?: false | undefined }) | undefined, callback: StatsCallback): void,
@@ -221,6 +242,7 @@ const path = require("path");
221
242
  */
222
243
 
223
244
  /**
245
+ * Describes the stat sync shape.
224
246
  * @typedef {{
225
247
  * (path: PathLike, options?: undefined): IStats,
226
248
  * (path: PathLike, options?: StatSyncOptions & { bigint?: false | undefined, throwIfNoEntry: false }): IStats | undefined,
@@ -233,6 +255,7 @@ const path = require("path");
233
255
  */
234
256
 
235
257
  /**
258
+ * Describes the l stat shape.
236
259
  * @typedef {{
237
260
  * (path: PathLike, callback: StatsCallback): void,
238
261
  * (path: PathLike, options: (StatOptions & { bigint?: false | undefined }) | undefined, callback: StatsCallback): void,
@@ -242,6 +265,7 @@ const path = require("path");
242
265
  */
243
266
 
244
267
  /**
268
+ * Describes the l stat sync shape.
245
269
  * @typedef {{
246
270
  * (path: PathLike, options?: undefined): IStats,
247
271
  * (path: PathLike, options?: StatSyncOptions & { bigint?: false | undefined, throwIfNoEntry: false }): IStats | undefined,
@@ -254,6 +278,7 @@ const path = require("path");
254
278
  */
255
279
 
256
280
  /**
281
+ * Describes the real path shape.
257
282
  * @typedef {{
258
283
  * (path: PathLike, options: EncodingOption, callback: StringCallback): void,
259
284
  * (path: PathLike, options: BufferEncodingOption, callback: BufferCallback): void,
@@ -263,6 +288,7 @@ const path = require("path");
263
288
  */
264
289
 
265
290
  /**
291
+ * Describes the real path sync shape.
266
292
  * @typedef {{
267
293
  * (path: PathLike, options?: EncodingOption): string,
268
294
  * (path: PathLike, options: BufferEncodingOption): Buffer,
@@ -271,18 +297,22 @@ const path = require("path");
271
297
  */
272
298
 
273
299
  /**
300
+ * Defines the read json type used by this module.
274
301
  * @typedef {(pathOrFileDescriptor: PathOrFileDescriptor, callback: ReadJsonCallback) => void} ReadJson
275
302
  */
276
303
 
277
304
  /**
305
+ * Defines the read json sync type used by this module.
278
306
  * @typedef {(pathOrFileDescriptor: PathOrFileDescriptor) => JsonObject} ReadJsonSync
279
307
  */
280
308
 
281
309
  /**
310
+ * Defines the purge type used by this module.
282
311
  * @typedef {(value?: string | string[] | Set<string>) => void} Purge
283
312
  */
284
313
 
285
314
  /**
315
+ * Defines the input file system type used by this module.
286
316
  * @typedef {object} InputFileSystem
287
317
  * @property {ReadFile} readFile
288
318
  * @property {ReadFileSync=} readFileSync
@@ -305,14 +335,17 @@ const path = require("path");
305
335
  */
306
336
 
307
337
  /**
338
+ * Defines the mode type used by this module.
308
339
  * @typedef {number | string} Mode
309
340
  */
310
341
 
311
342
  /**
343
+ * Defines the write file options type used by this module.
312
344
  * @typedef {(ObjectEncodingOptions & import("events").Abortable & { mode?: Mode | undefined, flag?: string | undefined, flush?: boolean | undefined }) | BufferEncoding | null} WriteFileOptions
313
345
  */
314
346
 
315
347
  /**
348
+ * Describes the write file shape.
316
349
  * @typedef {{
317
350
  * (file: PathOrFileDescriptor, data: string | NodeJS.ArrayBufferView, options: WriteFileOptions, callback: NoParamCallback): void,
318
351
  * (file: PathOrFileDescriptor, data: string | NodeJS.ArrayBufferView, callback: NoParamCallback): void,
@@ -320,10 +353,12 @@ const path = require("path");
320
353
  */
321
354
 
322
355
  /**
356
+ * Defines the make directory options type used by this module.
323
357
  * @typedef {{ recursive?: boolean | undefined, mode?: Mode | undefined }} MakeDirectoryOptions
324
358
  */
325
359
 
326
360
  /**
361
+ * Describes the mkdir shape.
327
362
  * @typedef {{
328
363
  * (file: PathLike, options: MakeDirectoryOptions & { recursive: true }, callback: StringCallback): void,
329
364
  * (file: PathLike, options: Mode | (MakeDirectoryOptions & { recursive?: false | undefined }) | null | undefined, callback: NoParamCallback): void,
@@ -333,26 +368,32 @@ const path = require("path");
333
368
  */
334
369
 
335
370
  /**
371
+ * Defines the rmdir type used by this module.
336
372
  * @typedef {{ (file: PathLike, callback: NoParamCallback): void }} Rmdir
337
373
  */
338
374
 
339
375
  /**
376
+ * Defines the unlink type used by this module.
340
377
  * @typedef {(pathLike: PathLike, callback: NoParamCallback) => void} Unlink
341
378
  */
342
379
 
343
380
  /**
381
+ * Defines the create read stream fs implementation type used by this module.
344
382
  * @typedef {FSImplementation & { read: (...args: EXPECTED_ANY[]) => EXPECTED_ANY }} CreateReadStreamFSImplementation
345
383
  */
346
384
 
347
385
  /**
386
+ * Defines the read stream options type used by this module.
348
387
  * @typedef {StreamOptions & { fs?: CreateReadStreamFSImplementation | null | undefined, end?: number | undefined }} ReadStreamOptions
349
388
  */
350
389
 
351
390
  /**
391
+ * Defines the create read stream type used by this module.
352
392
  * @typedef {(path: PathLike, options?: BufferEncoding | ReadStreamOptions) => NodeJS.ReadableStream} CreateReadStream
353
393
  */
354
394
 
355
395
  /**
396
+ * Defines the output file system type used by this module.
356
397
  * @typedef {object} OutputFileSystem
357
398
  * @property {Mkdir} mkdir
358
399
  * @property {Readdir=} readdir
@@ -369,11 +410,13 @@ const path = require("path");
369
410
  */
370
411
 
371
412
  /**
413
+ * Defines the watch file system type used by this module.
372
414
  * @typedef {object} WatchFileSystem
373
415
  * @property {WatchMethod} watch
374
416
  */
375
417
 
376
418
  /**
419
+ * Describes the mkdir sync shape.
377
420
  * @typedef {{
378
421
  * (path: PathLike, options: MakeDirectoryOptions & { recursive: true }): string | undefined,
379
422
  * (path: PathLike, options?: Mode | (MakeDirectoryOptions & { recursive?: false | undefined }) | null): void,
@@ -382,6 +425,7 @@ const path = require("path");
382
425
  */
383
426
 
384
427
  /**
428
+ * Defines the stream options type used by this module.
385
429
  * @typedef {object} StreamOptions
386
430
  * @property {(string | undefined)=} flags
387
431
  * @property {(BufferEncoding | undefined)} encoding
@@ -394,28 +438,34 @@ const path = require("path");
394
438
  */
395
439
 
396
440
  /**
441
+ * Defines the fs implementation type used by this module.
397
442
  * @typedef {object} FSImplementation
398
443
  * @property {((...args: EXPECTED_ANY[]) => EXPECTED_ANY)=} open
399
444
  * @property {((...args: EXPECTED_ANY[]) => EXPECTED_ANY)=} close
400
445
  */
401
446
 
402
447
  /**
448
+ * Defines the create write stream fs implementation type used by this module.
403
449
  * @typedef {FSImplementation & { write: (...args: EXPECTED_ANY[]) => EXPECTED_ANY, close?: (...args: EXPECTED_ANY[]) => EXPECTED_ANY }} CreateWriteStreamFSImplementation
404
450
  */
405
451
 
406
452
  /**
453
+ * Defines the write stream options type used by this module.
407
454
  * @typedef {StreamOptions & { fs?: CreateWriteStreamFSImplementation | null | undefined, flush?: boolean | undefined }} WriteStreamOptions
408
455
  */
409
456
 
410
457
  /**
458
+ * Defines the create write stream type used by this module.
411
459
  * @typedef {(pathLike: PathLike, result?: BufferEncoding | WriteStreamOptions) => NodeJS.WritableStream} CreateWriteStream
412
460
  */
413
461
 
414
462
  /**
463
+ * Defines the open mode type used by this module.
415
464
  * @typedef {number | string} OpenMode
416
465
  */
417
466
 
418
467
  /**
468
+ * Describes the open shape.
419
469
  * @typedef {{
420
470
  * (file: PathLike, flags: OpenMode | undefined, mode: Mode | undefined | null, callback: NumberCallback): void,
421
471
  * (file: PathLike, flags: OpenMode | undefined, callback: NumberCallback): void,
@@ -424,10 +474,12 @@ const path = require("path");
424
474
  */
425
475
 
426
476
  /**
477
+ * Defines the read position type used by this module.
427
478
  * @typedef {number | bigint} ReadPosition
428
479
  */
429
480
 
430
481
  /**
482
+ * Defines the read sync options type used by this module.
431
483
  * @typedef {object} ReadSyncOptions
432
484
  * @property {(number | undefined)=} offset
433
485
  * @property {(number | undefined)=} length
@@ -435,6 +487,7 @@ const path = require("path");
435
487
  */
436
488
 
437
489
  /**
490
+ * Defines the read async options type used by this module.
438
491
  * @template {NodeJS.ArrayBufferView} TBuffer
439
492
  * @typedef {object} ReadAsyncOptions
440
493
  * @property {(number | undefined)=} offset
@@ -444,6 +497,7 @@ const path = require("path");
444
497
  */
445
498
 
446
499
  /**
500
+ * Defines the shared type used by this module.
447
501
  * @template {NodeJS.ArrayBufferView} [TBuffer=NodeJS.ArrayBufferView]
448
502
  * @typedef {{
449
503
  * (fd: number, buffer: TBuffer, offset: number, length: number, position: ReadPosition | null, callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void): void,
@@ -457,6 +511,7 @@ const path = require("path");
457
511
  /** @typedef {(a: PathLike, b: PathLike, callback: NoParamCallback) => void} Rename */
458
512
 
459
513
  /**
514
+ * Defines the intermediate file system extras type used by this module.
460
515
  * @typedef {object} IntermediateFileSystemExtras
461
516
  * @property {MkdirSync} mkdirSync
462
517
  * @property {CreateWriteStream} createWriteStream
@@ -469,6 +524,7 @@ const path = require("path");
469
524
  /** @typedef {InputFileSystem & OutputFileSystem & IntermediateFileSystemExtras} IntermediateFileSystem */
470
525
 
471
526
  /**
527
+ * Returns location of targetPath relative to rootPath.
472
528
  * @param {InputFileSystem | OutputFileSystem | undefined} fs a file system
473
529
  * @param {string} rootPath the root path
474
530
  * @param {string} targetPath the target path
@@ -488,6 +544,7 @@ const relative = (fs, rootPath, targetPath) => {
488
544
  };
489
545
 
490
546
  /**
547
+ * Returns the joined path.
491
548
  * @param {InputFileSystem | OutputFileSystem | undefined} fs a file system
492
549
  * @param {string} rootPath a path
493
550
  * @param {string} filename a filename
@@ -507,6 +564,7 @@ const join = (fs, rootPath, filename) => {
507
564
  };
508
565
 
509
566
  /**
567
+ * Returns the parent directory of the absolute path.
510
568
  * @param {InputFileSystem | OutputFileSystem | undefined} fs a file system
511
569
  * @param {string} absPath an absolute path
512
570
  * @returns {string} the parent directory of the absolute path
@@ -525,6 +583,7 @@ const dirname = (fs, absPath) => {
525
583
  };
526
584
 
527
585
  /**
586
+ * Processes the provided f.
528
587
  * @param {OutputFileSystem} fs a file system
529
588
  * @param {string} p an absolute path
530
589
  * @param {(err?: Error) => void} callback callback function for the error
@@ -569,6 +628,7 @@ const mkdirp = (fs, p, callback) => {
569
628
  };
570
629
 
571
630
  /**
631
+ * Processes the provided f.
572
632
  * @param {IntermediateFileSystem} fs a file system
573
633
  * @param {string} p an absolute path
574
634
  * @returns {void}
@@ -595,6 +655,7 @@ const mkdirpSync = (fs, p) => {
595
655
  };
596
656
 
597
657
  /**
658
+ * Processes the provided f.
598
659
  * @param {InputFileSystem} fs a file system
599
660
  * @param {string} p an absolute path
600
661
  * @param {ReadJsonCallback} callback callback
@@ -620,6 +681,7 @@ const readJson = (fs, p, callback) => {
620
681
  };
621
682
 
622
683
  /**
684
+ * Lstat readlink absolute.
623
685
  * @param {InputFileSystem} fs a file system
624
686
  * @param {string} p an absolute path
625
687
  * @param {(err: NodeJS.ErrnoException | Error | null, stats?: IStats | string) => void} callback callback
@@ -659,6 +721,7 @@ const lstatReadlinkAbsolute = (fs, p, callback) => {
659
721
  };
660
722
 
661
723
  /**
724
+ * Checks whether this object is absolute.
662
725
  * @param {string} pathname a path
663
726
  * @returns {boolean} is absolute
664
727
  */
@@ -8,6 +8,7 @@
8
8
  const createHash = require("./createHash");
9
9
 
10
10
  /**
11
+ * Returns generated debug id.
11
12
  * @param {string | Buffer} content content
12
13
  * @param {string} file file
13
14
  * @returns {string} generated debug id
@@ -14,6 +14,7 @@ const MAX_SHORT_STRING = require("./wasm-hash").MAX_SHORT_STRING;
14
14
 
15
15
  class BatchedHash extends Hash {
16
16
  /**
17
+ * Creates an instance of BatchedHash.
17
18
  * @param {Hash} hash hash
18
19
  */
19
20
  constructor(hash) {
@@ -20,6 +20,7 @@ const digestCaches = {};
20
20
 
21
21
  class BulkUpdateHash extends Hash {
22
22
  /**
23
+ * Creates an instance of BulkUpdateHash.
23
24
  * @param {Hash | HashFactory} hashOrFactory function to create a hash
24
25
  * @param {string=} hashKey key for caching
25
26
  */
@@ -61,6 +61,7 @@ const encode = (buffer, base) => {
61
61
  };
62
62
 
63
63
  /**
64
+ * Returns buffer.
64
65
  * @param {string} data string
65
66
  * @param {Base} base base
66
67
  * @returns {Buffer} buffer
@@ -100,6 +101,7 @@ const decode = (data, base) => {
100
101
  // Compatibility with the old hash libraries, they can return different structures, so let's stringify them firstly
101
102
 
102
103
  /**
104
+ * Returns a string representation.
103
105
  * @param {string | { toString: (radix: number) => string }} value value
104
106
  * @param {string} encoding encoding
105
107
  * @returns {string} string
@@ -113,6 +115,7 @@ const toString = (value, encoding) =>
113
115
  );
114
116
 
115
117
  /**
118
+ * Returns buffer.
116
119
  * @param {Buffer | { toString: (radix: number) => string }} value value
117
120
  * @returns {Buffer} buffer
118
121
  */
@@ -128,6 +131,7 @@ try {
128
131
  }
129
132
 
130
133
  /**
134
+ * Processes the provided hash.
131
135
  * @param {Hash} hash hash
132
136
  * @param {string | Buffer} data data
133
137
  * @param {Encoding=} encoding encoding of the return value
@@ -159,11 +163,13 @@ const update = (hash, data, encoding) => {
159
163
  };
160
164
 
161
165
  /**
166
+ * Returns digest.
162
167
  * @overload
163
168
  * @param {Hash} hash hash
164
169
  * @returns {Buffer} digest
165
170
  */
166
171
  /**
172
+ * Returns digest.
167
173
  * @overload
168
174
  * @param {Hash} hash hash
169
175
  * @param {undefined} encoding encoding of the return value
@@ -171,6 +177,7 @@ const update = (hash, data, encoding) => {
171
177
  * @returns {Buffer} digest
172
178
  */
173
179
  /**
180
+ * Returns digest.
174
181
  * @overload
175
182
  * @param {Hash} hash hash
176
183
  * @param {Encoding} encoding encoding of the return value
@@ -178,6 +185,7 @@ const update = (hash, data, encoding) => {
178
185
  * @returns {string} digest
179
186
  */
180
187
  /**
188
+ * Returns digest.
181
189
  * @param {Hash} hash hash
182
190
  * @param {Encoding=} encoding encoding of the return value
183
191
  * @param {boolean=} isSafe true when we await right types from digest(), otherwise false
@@ -14,6 +14,7 @@ const Hash = require("../Hash");
14
14
  const MAX_SHORT_STRING = Math.floor((65536 - 64) / 4) & ~3;
15
15
 
16
16
  /**
17
+ * Represents the wasm hash runtime component.
17
18
  * @typedef {object} WasmExports
18
19
  * @property {WebAssembly.Memory} memory
19
20
  * @property {() => void} init
@@ -23,6 +24,7 @@ const MAX_SHORT_STRING = Math.floor((65536 - 64) / 4) & ~3;
23
24
 
24
25
  class WasmHash extends Hash {
25
26
  /**
27
+ * Creates an instance of WasmHash.
26
28
  * @param {WebAssembly.Instance} instance wasm instance
27
29
  * @param {WebAssembly.Instance[]} instancesPool pool of instances
28
30
  * @param {number} chunkSize size of data chunks passed to wasm
@@ -93,6 +95,7 @@ class WasmHash extends Hash {
93
95
  }
94
96
 
95
97
  /**
98
+ * Update with short string.
96
99
  * @param {string} data data
97
100
  * @param {BufferEncoding=} encoding encoding
98
101
  * @returns {void}
@@ -143,6 +146,7 @@ class WasmHash extends Hash {
143
146
  }
144
147
 
145
148
  /**
149
+ * Update with buffer.
146
150
  * @param {Buffer} data data
147
151
  * @returns {void}
148
152
  */
@@ -206,6 +210,7 @@ class WasmHash extends Hash {
206
210
  }
207
211
 
208
212
  /**
213
+ * Returns wasm hash.
209
214
  * @param {WebAssembly.Module} wasmModule wasm module
210
215
  * @param {WasmHash[]} instancesPool pool of instances
211
216
  * @param {number} chunkSize size of data chunks passed to wasm