@rspack-debug/core 1.3.14

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 (392) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +15 -0
  3. package/compiled/@swc/types/index.d.ts +2109 -0
  4. package/compiled/@swc/types/index.js +19 -0
  5. package/compiled/@swc/types/license +201 -0
  6. package/compiled/@swc/types/package.json +1 -0
  7. package/compiled/browserslist-load-config/index.d.ts +10 -0
  8. package/compiled/browserslist-load-config/index.js +266 -0
  9. package/compiled/browserslist-load-config/license +21 -0
  10. package/compiled/browserslist-load-config/package.json +1 -0
  11. package/compiled/enhanced-resolve/CachedInputFileSystem.d.ts +0 -0
  12. package/compiled/enhanced-resolve/CachedInputFileSystem.js +664 -0
  13. package/compiled/enhanced-resolve/index.d.ts +1124 -0
  14. package/compiled/enhanced-resolve/license +20 -0
  15. package/compiled/enhanced-resolve/package.json +1 -0
  16. package/compiled/graceful-fs/index.d.ts +13 -0
  17. package/compiled/graceful-fs/index.js +1063 -0
  18. package/compiled/graceful-fs/license +15 -0
  19. package/compiled/graceful-fs/package.json +1 -0
  20. package/compiled/tinypool/LICENSE +24 -0
  21. package/compiled/tinypool/README.md +212 -0
  22. package/compiled/tinypool/dist/chunk-6LX4VMOV.js +31 -0
  23. package/compiled/tinypool/dist/chunk-ACQHDOFQ.js +12 -0
  24. package/compiled/tinypool/dist/chunk-E2J7JLFN.js +53 -0
  25. package/compiled/tinypool/dist/chunk-UBWFVGJX.js +38 -0
  26. package/compiled/tinypool/dist/entry/process.d.ts +2 -0
  27. package/compiled/tinypool/dist/entry/process.js +92 -0
  28. package/compiled/tinypool/dist/entry/utils.d.ts +5 -0
  29. package/compiled/tinypool/dist/entry/utils.js +9 -0
  30. package/compiled/tinypool/dist/entry/worker.d.ts +2 -0
  31. package/compiled/tinypool/dist/entry/worker.js +103 -0
  32. package/compiled/tinypool/dist/index.d.ts +188 -0
  33. package/compiled/tinypool/dist/index.js +1080 -0
  34. package/compiled/tinypool/package.json +55 -0
  35. package/compiled/watchpack/index.d.ts +216 -0
  36. package/compiled/watchpack/index.js +2127 -0
  37. package/compiled/watchpack/license +20 -0
  38. package/compiled/watchpack/package.json +1 -0
  39. package/compiled/webpack-sources/index.js +4720 -0
  40. package/compiled/webpack-sources/license +21 -0
  41. package/compiled/webpack-sources/package.json +1 -0
  42. package/compiled/webpack-sources/types.d.ts +320 -0
  43. package/compiled/zod/dist/types/index.d.ts +3 -0
  44. package/compiled/zod/dist/types/v3/ZodError.d.ts +164 -0
  45. package/compiled/zod/dist/types/v3/benchmarks/datetime.d.ts +5 -0
  46. package/compiled/zod/dist/types/v3/benchmarks/discriminatedUnion.d.ts +5 -0
  47. package/compiled/zod/dist/types/v3/benchmarks/index.d.ts +1 -0
  48. package/compiled/zod/dist/types/v3/benchmarks/ipv4.d.ts +5 -0
  49. package/compiled/zod/dist/types/v3/benchmarks/object.d.ts +5 -0
  50. package/compiled/zod/dist/types/v3/benchmarks/primitives.d.ts +5 -0
  51. package/compiled/zod/dist/types/v3/benchmarks/realworld.d.ts +5 -0
  52. package/compiled/zod/dist/types/v3/benchmarks/string.d.ts +5 -0
  53. package/compiled/zod/dist/types/v3/benchmarks/union.d.ts +5 -0
  54. package/compiled/zod/dist/types/v3/errors.d.ts +5 -0
  55. package/compiled/zod/dist/types/v3/external.d.ts +6 -0
  56. package/compiled/zod/dist/types/v3/helpers/enumUtil.d.ts +8 -0
  57. package/compiled/zod/dist/types/v3/helpers/errorUtil.d.ts +9 -0
  58. package/compiled/zod/dist/types/v3/helpers/parseUtil.d.ts +78 -0
  59. package/compiled/zod/dist/types/v3/helpers/partialUtil.d.ts +8 -0
  60. package/compiled/zod/dist/types/v3/helpers/typeAliases.d.ts +2 -0
  61. package/compiled/zod/dist/types/v3/helpers/util.d.ts +85 -0
  62. package/compiled/zod/dist/types/v3/index.d.ts +4 -0
  63. package/compiled/zod/dist/types/v3/locales/en.d.ts +3 -0
  64. package/compiled/zod/dist/types/v3/standard-schema.d.ts +102 -0
  65. package/compiled/zod/dist/types/v3/tests/Mocker.d.ts +17 -0
  66. package/compiled/zod/dist/types/v3/types.d.ts +1031 -0
  67. package/compiled/zod/dist/types/v4/classic/checks.d.ts +1 -0
  68. package/compiled/zod/dist/types/v4/classic/coerce.d.ts +17 -0
  69. package/compiled/zod/dist/types/v4/classic/compat.d.ts +48 -0
  70. package/compiled/zod/dist/types/v4/classic/errors.d.ts +30 -0
  71. package/compiled/zod/dist/types/v4/classic/external.d.ts +13 -0
  72. package/compiled/zod/dist/types/v4/classic/index.d.ts +4 -0
  73. package/compiled/zod/dist/types/v4/classic/iso.d.ts +22 -0
  74. package/compiled/zod/dist/types/v4/classic/parse.d.ts +23 -0
  75. package/compiled/zod/dist/types/v4/classic/schemas.d.ts +619 -0
  76. package/compiled/zod/dist/types/v4/core/api.d.ts +273 -0
  77. package/compiled/zod/dist/types/v4/core/checks.d.ts +277 -0
  78. package/compiled/zod/dist/types/v4/core/config.d.ts +9 -0
  79. package/compiled/zod/dist/types/v4/core/core.d.ts +47 -0
  80. package/compiled/zod/dist/types/v4/core/doc.d.ts +14 -0
  81. package/compiled/zod/dist/types/v4/core/errors.d.ts +204 -0
  82. package/compiled/zod/dist/types/v4/core/function.d.ts +52 -0
  83. package/compiled/zod/dist/types/v4/core/index.d.ts +15 -0
  84. package/compiled/zod/dist/types/v4/core/json-schema.d.ts +100 -0
  85. package/compiled/zod/dist/types/v4/core/parse.d.ts +25 -0
  86. package/compiled/zod/dist/types/v4/core/regexes.d.ts +62 -0
  87. package/compiled/zod/dist/types/v4/core/registries.d.ts +37 -0
  88. package/compiled/zod/dist/types/v4/core/schemas.d.ts +1011 -0
  89. package/compiled/zod/dist/types/v4/core/standard-schema.d.ts +55 -0
  90. package/compiled/zod/dist/types/v4/core/to-json-schema.d.ts +84 -0
  91. package/compiled/zod/dist/types/v4/core/util.d.ts +182 -0
  92. package/compiled/zod/dist/types/v4/core/versions.d.ts +5 -0
  93. package/compiled/zod/dist/types/v4/core/zsf.d.ts +91 -0
  94. package/compiled/zod/dist/types/v4/index.d.ts +3 -0
  95. package/compiled/zod/dist/types/v4/locales/ar.d.ts +4 -0
  96. package/compiled/zod/dist/types/v4/locales/az.d.ts +4 -0
  97. package/compiled/zod/dist/types/v4/locales/be.d.ts +4 -0
  98. package/compiled/zod/dist/types/v4/locales/ca.d.ts +4 -0
  99. package/compiled/zod/dist/types/v4/locales/cs.d.ts +4 -0
  100. package/compiled/zod/dist/types/v4/locales/de.d.ts +4 -0
  101. package/compiled/zod/dist/types/v4/locales/en.d.ts +5 -0
  102. package/compiled/zod/dist/types/v4/locales/es.d.ts +4 -0
  103. package/compiled/zod/dist/types/v4/locales/fa.d.ts +4 -0
  104. package/compiled/zod/dist/types/v4/locales/fi.d.ts +4 -0
  105. package/compiled/zod/dist/types/v4/locales/fr-CA.d.ts +4 -0
  106. package/compiled/zod/dist/types/v4/locales/fr.d.ts +4 -0
  107. package/compiled/zod/dist/types/v4/locales/he.d.ts +4 -0
  108. package/compiled/zod/dist/types/v4/locales/hu.d.ts +4 -0
  109. package/compiled/zod/dist/types/v4/locales/id.d.ts +4 -0
  110. package/compiled/zod/dist/types/v4/locales/index.d.ts +37 -0
  111. package/compiled/zod/dist/types/v4/locales/it.d.ts +4 -0
  112. package/compiled/zod/dist/types/v4/locales/ja.d.ts +4 -0
  113. package/compiled/zod/dist/types/v4/locales/kh.d.ts +4 -0
  114. package/compiled/zod/dist/types/v4/locales/ko.d.ts +4 -0
  115. package/compiled/zod/dist/types/v4/locales/mk.d.ts +4 -0
  116. package/compiled/zod/dist/types/v4/locales/ms.d.ts +4 -0
  117. package/compiled/zod/dist/types/v4/locales/nl.d.ts +4 -0
  118. package/compiled/zod/dist/types/v4/locales/no.d.ts +4 -0
  119. package/compiled/zod/dist/types/v4/locales/ota.d.ts +4 -0
  120. package/compiled/zod/dist/types/v4/locales/pl.d.ts +4 -0
  121. package/compiled/zod/dist/types/v4/locales/pt.d.ts +4 -0
  122. package/compiled/zod/dist/types/v4/locales/ru.d.ts +4 -0
  123. package/compiled/zod/dist/types/v4/locales/sl.d.ts +4 -0
  124. package/compiled/zod/dist/types/v4/locales/sv.d.ts +4 -0
  125. package/compiled/zod/dist/types/v4/locales/ta.d.ts +4 -0
  126. package/compiled/zod/dist/types/v4/locales/th.d.ts +4 -0
  127. package/compiled/zod/dist/types/v4/locales/tr.d.ts +5 -0
  128. package/compiled/zod/dist/types/v4/locales/ua.d.ts +4 -0
  129. package/compiled/zod/dist/types/v4/locales/ur.d.ts +4 -0
  130. package/compiled/zod/dist/types/v4/locales/vi.d.ts +4 -0
  131. package/compiled/zod/dist/types/v4/locales/zh-CN.d.ts +4 -0
  132. package/compiled/zod/dist/types/v4/locales/zh-TW.d.ts +4 -0
  133. package/compiled/zod/dist/types/v4/mini/checks.d.ts +1 -0
  134. package/compiled/zod/dist/types/v4/mini/coerce.d.ts +7 -0
  135. package/compiled/zod/dist/types/v4/mini/external.d.ts +11 -0
  136. package/compiled/zod/dist/types/v4/mini/index.d.ts +3 -0
  137. package/compiled/zod/dist/types/v4/mini/iso.d.ts +22 -0
  138. package/compiled/zod/dist/types/v4/mini/parse.d.ts +1 -0
  139. package/compiled/zod/dist/types/v4/mini/schemas.d.ts +398 -0
  140. package/compiled/zod/index.js +4513 -0
  141. package/compiled/zod/license +21 -0
  142. package/compiled/zod/package.json +1 -0
  143. package/compiled/zod/v3/index.d.ts +3 -0
  144. package/compiled/zod/v4/core/index.d.ts +1 -0
  145. package/compiled/zod/v4/index.d.ts +3 -0
  146. package/compiled/zod/v4/locales/en.d.ts +2 -0
  147. package/compiled/zod/v4/locales/index.d.ts +1 -0
  148. package/compiled/zod/v4-mini/index.d.ts +1 -0
  149. package/dist/Chunk.d.ts +35 -0
  150. package/dist/ChunkGraph.d.ts +23 -0
  151. package/dist/ChunkGroup.d.ts +33 -0
  152. package/dist/Chunks.d.ts +13 -0
  153. package/dist/CodeGenerationResults.d.ts +1 -0
  154. package/dist/Compilation.d.ts +411 -0
  155. package/dist/Compiler.d.ts +192 -0
  156. package/dist/ConcatenatedModule.d.ts +1 -0
  157. package/dist/ContextModule.d.ts +1 -0
  158. package/dist/ContextModuleFactory.d.ts +13 -0
  159. package/dist/Diagnostics.d.ts +7 -0
  160. package/dist/Entrypoint.d.ts +10 -0
  161. package/dist/ErrorHelpers.d.ts +1 -0
  162. package/dist/ExecuteModulePlugin.d.ts +4 -0
  163. package/dist/ExportsInfo.d.ts +20 -0
  164. package/dist/ExternalModule.d.ts +1 -0
  165. package/dist/FileSystem.d.ts +29 -0
  166. package/dist/FileSystemInfo.d.ts +5 -0
  167. package/dist/Module.d.ts +66 -0
  168. package/dist/ModuleGraph.d.ts +19 -0
  169. package/dist/ModuleTypeConstants.d.ts +8 -0
  170. package/dist/MultiCompiler.d.ts +75 -0
  171. package/dist/MultiStats.d.ts +22 -0
  172. package/dist/MultiWatching.d.ts +26 -0
  173. package/dist/NormalModule.d.ts +15 -0
  174. package/dist/NormalModuleFactory.d.ts +23 -0
  175. package/dist/Resolver.d.ts +18 -0
  176. package/dist/ResolverFactory.d.ts +14 -0
  177. package/dist/RspackError.d.ts +9 -0
  178. package/dist/RuleSetCompiler.d.ts +9 -0
  179. package/dist/RuntimeGlobals.d.ts +325 -0
  180. package/dist/RuntimeModule.d.ts +32 -0
  181. package/dist/Stats.d.ts +17 -0
  182. package/dist/Template.d.ts +77 -0
  183. package/dist/Watching.d.ts +38 -0
  184. package/dist/builtin-loader/index.d.ts +1 -0
  185. package/dist/builtin-loader/lightningcss/index.d.ts +117 -0
  186. package/dist/builtin-loader/swc/index.d.ts +3 -0
  187. package/dist/builtin-loader/swc/pluginImport.d.ts +68 -0
  188. package/dist/builtin-loader/swc/types.d.ts +2315 -0
  189. package/dist/builtin-plugin/APIPlugin.d.ts +10 -0
  190. package/dist/builtin-plugin/ArrayPushCallbackChunkFormatPlugin.d.ts +10 -0
  191. package/dist/builtin-plugin/AssetModulesPlugin.d.ts +10 -0
  192. package/dist/builtin-plugin/AsyncWebAssemblyModulesPlugin.d.ts +10 -0
  193. package/dist/builtin-plugin/BannerPlugin.d.ts +40 -0
  194. package/dist/builtin-plugin/BundlerInfoRspackPlugin.d.ts +15 -0
  195. package/dist/builtin-plugin/ChunkPrefetchPreloadPlugin.d.ts +10 -0
  196. package/dist/builtin-plugin/CircularDependencyRspackPlugin.d.ts +59 -0
  197. package/dist/builtin-plugin/CommonJsChunkFormatPlugin.d.ts +10 -0
  198. package/dist/builtin-plugin/ContextReplacementPlugin.d.ts +10 -0
  199. package/dist/builtin-plugin/CopyRspackPlugin.d.ts +14 -0
  200. package/dist/builtin-plugin/CssChunkingPlugin.d.ts +19 -0
  201. package/dist/builtin-plugin/CssModulesPlugin.d.ts +10 -0
  202. package/dist/builtin-plugin/DataUriPlugin.d.ts +10 -0
  203. package/dist/builtin-plugin/DefinePlugin.d.ts +17 -0
  204. package/dist/builtin-plugin/DeterministicChunkIdsPlugin.d.ts +8 -0
  205. package/dist/builtin-plugin/DeterministicModuleIdsPlugin.d.ts +8 -0
  206. package/dist/builtin-plugin/DllEntryPlugin.d.ts +13 -0
  207. package/dist/builtin-plugin/DllReferenceAgencyPlugin.d.ts +11 -0
  208. package/dist/builtin-plugin/DynamicEntryPlugin.d.ts +12 -0
  209. package/dist/builtin-plugin/ElectronTargetPlugin.d.ts +10 -0
  210. package/dist/builtin-plugin/EnableChunkLoadingPlugin.d.ts +26 -0
  211. package/dist/builtin-plugin/EnableLibraryPlugin.d.ts +11 -0
  212. package/dist/builtin-plugin/EnableWasmLoadingPlugin.d.ts +10 -0
  213. package/dist/builtin-plugin/EnsureChunkConditionsPlugin.d.ts +10 -0
  214. package/dist/builtin-plugin/EntryPlugin.d.ts +32 -0
  215. package/dist/builtin-plugin/EvalDevToolModulePlugin.d.ts +11 -0
  216. package/dist/builtin-plugin/EvalSourceMapDevToolPlugin.d.ts +10 -0
  217. package/dist/builtin-plugin/ExternalsPlugin.d.ts +10 -0
  218. package/dist/builtin-plugin/FetchCompileAsyncWasmPlugin.d.ts +10 -0
  219. package/dist/builtin-plugin/FileUriPlugin.d.ts +10 -0
  220. package/dist/builtin-plugin/FlagAllModulesAsUsedPlugin.d.ts +10 -0
  221. package/dist/builtin-plugin/FlagDependencyExportsPlugin.d.ts +10 -0
  222. package/dist/builtin-plugin/FlagDependencyUsagePlugin.d.ts +10 -0
  223. package/dist/builtin-plugin/HotModuleReplacementPlugin.d.ts +7 -0
  224. package/dist/builtin-plugin/HttpExternalsRspackPlugin.d.ts +10 -0
  225. package/dist/builtin-plugin/HttpUriPlugin.d.ts +36 -0
  226. package/dist/builtin-plugin/IgnorePlugin.d.ts +19 -0
  227. package/dist/builtin-plugin/InferAsyncModulesPlugin.d.ts +10 -0
  228. package/dist/builtin-plugin/JavascriptModulesPlugin.d.ts +15 -0
  229. package/dist/builtin-plugin/JsLoaderRspackPlugin.d.ts +11 -0
  230. package/dist/builtin-plugin/JsonModulesPlugin.d.ts +10 -0
  231. package/dist/builtin-plugin/LibManifestPlugin.d.ts +18 -0
  232. package/dist/builtin-plugin/LightningCssMinimizerRspackPlugin.d.ts +33 -0
  233. package/dist/builtin-plugin/LimitChunkCountPlugin.d.ts +15 -0
  234. package/dist/builtin-plugin/MangleExportsPlugin.d.ts +10 -0
  235. package/dist/builtin-plugin/MergeDuplicateChunksPlugin.d.ts +10 -0
  236. package/dist/builtin-plugin/ModuleChunkFormatPlugin.d.ts +10 -0
  237. package/dist/builtin-plugin/ModuleConcatenationPlugin.d.ts +8 -0
  238. package/dist/builtin-plugin/ModuleInfoHeaderPlugin.d.ts +10 -0
  239. package/dist/builtin-plugin/NamedChunkIdsPlugin.d.ts +10 -0
  240. package/dist/builtin-plugin/NamedModuleIdsPlugin.d.ts +10 -0
  241. package/dist/builtin-plugin/NaturalChunkIdsPlugin.d.ts +8 -0
  242. package/dist/builtin-plugin/NaturalModuleIdsPlugin.d.ts +8 -0
  243. package/dist/builtin-plugin/NoEmitOnErrorsPlugin.d.ts +10 -0
  244. package/dist/builtin-plugin/NodeTargetPlugin.d.ts +10 -0
  245. package/dist/builtin-plugin/OccurrenceChunkIdsPlugin.d.ts +10 -0
  246. package/dist/builtin-plugin/ProgressPlugin.d.ts +11 -0
  247. package/dist/builtin-plugin/ProvidePlugin.d.ts +11 -0
  248. package/dist/builtin-plugin/RealContentHashPlugin.d.ts +10 -0
  249. package/dist/builtin-plugin/RemoveDuplicateModulesPlugin.d.ts +10 -0
  250. package/dist/builtin-plugin/RemoveEmptyChunksPlugin.d.ts +10 -0
  251. package/dist/builtin-plugin/RsdoctorPlugin.d.ts +45 -0
  252. package/dist/builtin-plugin/RstestPlugin.d.ts +11 -0
  253. package/dist/builtin-plugin/RuntimeChunkPlugin.d.ts +11 -0
  254. package/dist/builtin-plugin/RuntimePlugin.d.ts +28 -0
  255. package/dist/builtin-plugin/SideEffectsFlagPlugin.d.ts +10 -0
  256. package/dist/builtin-plugin/SizeLimitsPlugin.d.ts +20 -0
  257. package/dist/builtin-plugin/SourceMapDevToolPlugin.d.ts +11 -0
  258. package/dist/builtin-plugin/SplitChunksPlugin.d.ts +11 -0
  259. package/dist/builtin-plugin/SubresourceIntegrityPlugin.d.ts +40 -0
  260. package/dist/builtin-plugin/SwcJsMinimizerPlugin.d.ts +213 -0
  261. package/dist/builtin-plugin/WarnCaseSensitiveModulesPlugin.d.ts +10 -0
  262. package/dist/builtin-plugin/WebWorkerTemplatePlugin.d.ts +7 -0
  263. package/dist/builtin-plugin/WorkerPlugin.d.ts +13 -0
  264. package/dist/builtin-plugin/base.d.ts +21 -0
  265. package/dist/builtin-plugin/css-extract/index.d.ts +24 -0
  266. package/dist/builtin-plugin/css-extract/loader.d.ts +21 -0
  267. package/dist/builtin-plugin/css-extract/utils.d.ts +6 -0
  268. package/dist/builtin-plugin/html-plugin/hooks.d.ts +32 -0
  269. package/dist/builtin-plugin/html-plugin/index.d.ts +2 -0
  270. package/dist/builtin-plugin/html-plugin/options.d.ts +83 -0
  271. package/dist/builtin-plugin/html-plugin/plugin.d.ts +24 -0
  272. package/dist/builtin-plugin/html-plugin/taps.d.ts +2 -0
  273. package/dist/builtin-plugin/index.d.ts +79 -0
  274. package/dist/builtin-plugin/lazy-compilation/lazyCompilation.d.ts +25 -0
  275. package/dist/builtin-plugin/lazy-compilation/middleware.d.ts +4 -0
  276. package/dist/config/adapter.d.ts +8 -0
  277. package/dist/config/adapterRuleUse.d.ts +333 -0
  278. package/dist/config/browserslistTargetHandler.d.ts +15 -0
  279. package/dist/config/defaults.d.ts +13 -0
  280. package/dist/config/devServer.d.ts +207 -0
  281. package/dist/config/index.d.ts +4 -0
  282. package/dist/config/normalization.d.ts +148 -0
  283. package/dist/config/target.d.ts +89 -0
  284. package/dist/config/types.d.ts +2228 -0
  285. package/dist/config/utils.d.ts +16 -0
  286. package/dist/config/zod.d.ts +4228 -0
  287. package/dist/container/ContainerPlugin.d.ts +40 -0
  288. package/dist/container/ContainerReferencePlugin.d.ts +33 -0
  289. package/dist/container/ModuleFederationPlugin.d.ts +13 -0
  290. package/dist/container/ModuleFederationPluginV1.d.ts +22 -0
  291. package/dist/container/ModuleFederationRuntimePlugin.d.ts +10 -0
  292. package/dist/container/options.d.ts +3 -0
  293. package/dist/cssExtractHmr.js +125 -0
  294. package/dist/cssExtractLoader.js +161 -0
  295. package/dist/error/ConcurrentCompilationError.d.ts +14 -0
  296. package/dist/exports.d.ts +191 -0
  297. package/dist/index.d.ts +10 -0
  298. package/dist/index.js +13559 -0
  299. package/dist/lib/AbstractMethodError.d.ts +23 -0
  300. package/dist/lib/Cache.d.ts +65 -0
  301. package/dist/lib/CacheFacade.d.ts +139 -0
  302. package/dist/lib/DllPlugin.d.ts +42 -0
  303. package/dist/lib/DllReferencePlugin.d.ts +119 -0
  304. package/dist/lib/EntryOptionPlugin.d.ts +33 -0
  305. package/dist/lib/EnvironmentPlugin.d.ts +22 -0
  306. package/dist/lib/HookWebpackError.d.ts +40 -0
  307. package/dist/lib/IgnoreWarningsPlugin.d.ts +25 -0
  308. package/dist/lib/LoaderOptionsPlugin.d.ts +28 -0
  309. package/dist/lib/LoaderTargetPlugin.d.ts +24 -0
  310. package/dist/lib/ModuleFilenameHelpers.d.ts +53 -0
  311. package/dist/lib/NormalModuleReplacementPlugin.d.ts +29 -0
  312. package/dist/lib/WebpackError.d.ts +23 -0
  313. package/dist/lib/cache/MemoryCachePlugin.d.ts +5 -0
  314. package/dist/lib/cache/getLazyHashedEtag.d.ts +35 -0
  315. package/dist/lib/cache/mergeEtags.d.ts +17 -0
  316. package/dist/loader-runner/LoaderLoadingError.d.ts +13 -0
  317. package/dist/loader-runner/index.d.ts +43 -0
  318. package/dist/loader-runner/loadLoader.d.ts +11 -0
  319. package/dist/loader-runner/service.d.ts +71 -0
  320. package/dist/loader-runner/utils.d.ts +6 -0
  321. package/dist/loader-runner/worker.d.ts +14 -0
  322. package/dist/logging/Logger.d.ts +61 -0
  323. package/dist/logging/createConsoleLogger.d.ts +35 -0
  324. package/dist/logging/truncateArgs.d.ts +16 -0
  325. package/dist/moduleFederationDefaultRuntime.js +1 -0
  326. package/dist/node/NodeEnvironmentPlugin.d.ts +10 -0
  327. package/dist/node/NodeTemplatePlugin.d.ts +18 -0
  328. package/dist/node/NodeWatchFileSystem.d.ts +18 -0
  329. package/dist/node/nodeConsole.d.ts +15 -0
  330. package/dist/rspack.d.ts +16 -0
  331. package/dist/rspackOptionsApply.d.ts +4 -0
  332. package/dist/runtime/cssExtractHmr.d.ts +4 -0
  333. package/dist/runtime/moduleFederationDefaultRuntime.d.ts +2 -0
  334. package/dist/sharing/ConsumeSharedPlugin.d.ts +41 -0
  335. package/dist/sharing/ProvideSharedPlugin.d.ts +34 -0
  336. package/dist/sharing/SharePlugin.d.ts +51 -0
  337. package/dist/sharing/ShareRuntimePlugin.d.ts +9 -0
  338. package/dist/sharing/utils.d.ts +1 -0
  339. package/dist/stats/DefaultStatsFactoryPlugin.d.ts +4 -0
  340. package/dist/stats/DefaultStatsPresetPlugin.d.ts +4 -0
  341. package/dist/stats/DefaultStatsPrinterPlugin.d.ts +13 -0
  342. package/dist/stats/StatsFactory.d.ts +57 -0
  343. package/dist/stats/StatsPrinter.d.ts +57 -0
  344. package/dist/stats/statsFactoryUtils.d.ts +325 -0
  345. package/dist/swc.d.ts +5 -0
  346. package/dist/taps/compilation.d.ts +8 -0
  347. package/dist/taps/compiler.d.ts +2 -0
  348. package/dist/taps/contextModuleFactory.d.ts +2 -0
  349. package/dist/taps/index.d.ts +6 -0
  350. package/dist/taps/javascriptModules.d.ts +2 -0
  351. package/dist/taps/normalModuleFactory.d.ts +2 -0
  352. package/dist/taps/types.d.ts +11 -0
  353. package/dist/trace/index.d.ts +42 -0
  354. package/dist/trace/traceHookPlugin.d.ts +5 -0
  355. package/dist/util/ArrayQueue.d.ts +45 -0
  356. package/dist/util/AsyncTask.d.ts +7 -0
  357. package/dist/util/MergeCaller.d.ts +10 -0
  358. package/dist/util/SizeFormatHelpers.d.ts +10 -0
  359. package/dist/util/SplitChunkSize.d.ts +5 -0
  360. package/dist/util/assertNotNil.d.ts +1 -0
  361. package/dist/util/assetCondition.d.ts +2 -0
  362. package/dist/util/asyncLib.d.ts +54 -0
  363. package/dist/util/bindingVersionCheck.d.ts +5 -0
  364. package/dist/util/cleverMerge.d.ts +24 -0
  365. package/dist/util/comparators.d.ts +16 -0
  366. package/dist/util/createHash.d.ts +16 -0
  367. package/dist/util/createReadonlyMap.d.ts +1 -0
  368. package/dist/util/fake.d.ts +9 -0
  369. package/dist/util/fs.d.ts +342 -0
  370. package/dist/util/hash/index.d.ts +26 -0
  371. package/dist/util/hash/md4.d.ts +11 -0
  372. package/dist/util/hash/wasm-hash.d.ts +51 -0
  373. package/dist/util/hash/xxhash64.d.ts +11 -0
  374. package/dist/util/identifier.d.ts +31 -0
  375. package/dist/util/index.d.ts +13 -0
  376. package/dist/util/memoize.d.ts +2 -0
  377. package/dist/util/runtime.d.ts +2 -0
  378. package/dist/util/smartGrouping.d.ts +21 -0
  379. package/dist/util/source.d.ts +7 -0
  380. package/dist/util/validate.d.ts +9 -0
  381. package/dist/worker.js +937 -0
  382. package/hot/dev-server.js +75 -0
  383. package/hot/emitter.js +21 -0
  384. package/hot/lazy-compilation-node.js +54 -0
  385. package/hot/lazy-compilation-web.js +79 -0
  386. package/hot/log-apply-result.js +49 -0
  387. package/hot/log.js +79 -0
  388. package/hot/only-dev-server.js +103 -0
  389. package/hot/poll.js +40 -0
  390. package/hot/signal.js +66 -0
  391. package/module.d.ts +276 -0
  392. package/package.json +78 -0
@@ -0,0 +1,664 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+
6
+ "use strict";
7
+
8
+ const nextTick = require("process").nextTick;
9
+
10
+ /** @typedef {import("./Resolver").FileSystem} FileSystem */
11
+ /** @typedef {import("./Resolver").PathLike} PathLike */
12
+ /** @typedef {import("./Resolver").PathOrFileDescriptor} PathOrFileDescriptor */
13
+ /** @typedef {import("./Resolver").SyncFileSystem} SyncFileSystem */
14
+ /** @typedef {FileSystem & SyncFileSystem} BaseFileSystem */
15
+
16
+ /**
17
+ * @template T
18
+ * @typedef {import("./Resolver").FileSystemCallback<T>} FileSystemCallback<T>
19
+ */
20
+
21
+ /**
22
+ * @param {string} path path
23
+ * @returns {string} dirname
24
+ */
25
+ const dirname = path => {
26
+ let idx = path.length - 1;
27
+ while (idx >= 0) {
28
+ const c = path.charCodeAt(idx);
29
+ // slash or backslash
30
+ if (c === 47 || c === 92) break;
31
+ idx--;
32
+ }
33
+ if (idx < 0) return "";
34
+ return path.slice(0, idx);
35
+ };
36
+
37
+ /**
38
+ * @template T
39
+ * @param {FileSystemCallback<T>[]} callbacks callbacks
40
+ * @param {Error | null} err error
41
+ * @param {T} result result
42
+ */
43
+ const runCallbacks = (callbacks, err, result) => {
44
+ if (callbacks.length === 1) {
45
+ callbacks[0](err, result);
46
+ callbacks.length = 0;
47
+ return;
48
+ }
49
+ let error;
50
+ for (const callback of callbacks) {
51
+ try {
52
+ callback(err, result);
53
+ } catch (e) {
54
+ if (!error) error = e;
55
+ }
56
+ }
57
+ callbacks.length = 0;
58
+ if (error) throw error;
59
+ };
60
+
61
+ class OperationMergerBackend {
62
+ /**
63
+ * @param {Function | undefined} provider async method in filesystem
64
+ * @param {Function | undefined} syncProvider sync method in filesystem
65
+ * @param {BaseFileSystem} providerContext call context for the provider methods
66
+ */
67
+ constructor(provider, syncProvider, providerContext) {
68
+ this._provider = provider;
69
+ this._syncProvider = syncProvider;
70
+ this._providerContext = providerContext;
71
+ this._activeAsyncOperations = new Map();
72
+
73
+ this.provide = this._provider
74
+ ? /**
75
+ * @param {PathLike | PathOrFileDescriptor} path path
76
+ * @param {object | FileSystemCallback<any> | undefined} options options
77
+ * @param {FileSystemCallback<any>=} callback callback
78
+ * @returns {any} result
79
+ */
80
+ (path, options, callback) => {
81
+ if (typeof options === "function") {
82
+ callback = /** @type {FileSystemCallback<any>} */ (options);
83
+ options = undefined;
84
+ }
85
+ if (
86
+ typeof path !== "string" &&
87
+ !Buffer.isBuffer(path) &&
88
+ !(path instanceof URL) &&
89
+ typeof path !== "number"
90
+ ) {
91
+ /** @type {Function} */
92
+ (callback)(
93
+ new TypeError("path must be a string, Buffer, URL or number")
94
+ );
95
+ return;
96
+ }
97
+ if (options) {
98
+ return /** @type {Function} */ (this._provider).call(
99
+ this._providerContext,
100
+ path,
101
+ options,
102
+ callback
103
+ );
104
+ }
105
+ let callbacks = this._activeAsyncOperations.get(path);
106
+ if (callbacks) {
107
+ callbacks.push(callback);
108
+ return;
109
+ }
110
+ this._activeAsyncOperations.set(path, (callbacks = [callback]));
111
+ /** @type {Function} */
112
+ (provider)(
113
+ path,
114
+ /**
115
+ * @param {Error} err error
116
+ * @param {any} result result
117
+ */
118
+ (err, result) => {
119
+ this._activeAsyncOperations.delete(path);
120
+ runCallbacks(callbacks, err, result);
121
+ }
122
+ );
123
+ }
124
+ : null;
125
+ this.provideSync = this._syncProvider
126
+ ? /**
127
+ * @param {PathLike | PathOrFileDescriptor} path path
128
+ * @param {object=} options options
129
+ * @returns {any} result
130
+ */
131
+ (path, options) => {
132
+ return /** @type {Function} */ (this._syncProvider).call(
133
+ this._providerContext,
134
+ path,
135
+ options
136
+ );
137
+ }
138
+ : null;
139
+ }
140
+
141
+ purge() {}
142
+ purgeParent() {}
143
+ }
144
+
145
+ /*
146
+
147
+ IDLE:
148
+ insert data: goto SYNC
149
+
150
+ SYNC:
151
+ before provide: run ticks
152
+ event loop tick: goto ASYNC_ACTIVE
153
+
154
+ ASYNC:
155
+ timeout: run tick, goto ASYNC_PASSIVE
156
+
157
+ ASYNC_PASSIVE:
158
+ before provide: run ticks
159
+
160
+ IDLE --[insert data]--> SYNC --[event loop tick]--> ASYNC_ACTIVE --[interval tick]-> ASYNC_PASSIVE
161
+ ^ |
162
+ +---------[insert data]-------+
163
+ */
164
+
165
+ const STORAGE_MODE_IDLE = 0;
166
+ const STORAGE_MODE_SYNC = 1;
167
+ const STORAGE_MODE_ASYNC = 2;
168
+
169
+ /**
170
+ * @callback Provide
171
+ * @param {PathLike | PathOrFileDescriptor} path path
172
+ * @param {any} options options
173
+ * @param {FileSystemCallback<any>} callback callback
174
+ * @returns {void}
175
+ */
176
+
177
+ class CacheBackend {
178
+ /**
179
+ * @param {number} duration max cache duration of items
180
+ * @param {function | undefined} provider async method
181
+ * @param {function | undefined} syncProvider sync method
182
+ * @param {BaseFileSystem} providerContext call context for the provider methods
183
+ */
184
+ constructor(duration, provider, syncProvider, providerContext) {
185
+ this._duration = duration;
186
+ this._provider = provider;
187
+ this._syncProvider = syncProvider;
188
+ this._providerContext = providerContext;
189
+ /** @type {Map<string, FileSystemCallback<any>[]>} */
190
+ this._activeAsyncOperations = new Map();
191
+ /** @type {Map<string, { err: Error | null, result?: any, level: Set<string> }>} */
192
+ this._data = new Map();
193
+ /** @type {Set<string>[]} */
194
+ this._levels = [];
195
+ for (let i = 0; i < 10; i++) this._levels.push(new Set());
196
+ for (let i = 5000; i < duration; i += 500) this._levels.push(new Set());
197
+ this._currentLevel = 0;
198
+ this._tickInterval = Math.floor(duration / this._levels.length);
199
+ /** @type {STORAGE_MODE_IDLE | STORAGE_MODE_SYNC | STORAGE_MODE_ASYNC} */
200
+ this._mode = STORAGE_MODE_IDLE;
201
+
202
+ /** @type {NodeJS.Timeout | undefined} */
203
+ this._timeout = undefined;
204
+ /** @type {number | undefined} */
205
+ this._nextDecay = undefined;
206
+
207
+ // @ts-ignore
208
+ this.provide = provider ? this.provide.bind(this) : null;
209
+ // @ts-ignore
210
+ this.provideSync = syncProvider ? this.provideSync.bind(this) : null;
211
+ }
212
+
213
+ /**
214
+ * @param {PathLike | PathOrFileDescriptor} path path
215
+ * @param {any} options options
216
+ * @param {FileSystemCallback<any>} callback callback
217
+ * @returns {void}
218
+ */
219
+ provide(path, options, callback) {
220
+ if (typeof options === "function") {
221
+ callback = options;
222
+ options = undefined;
223
+ }
224
+ if (
225
+ typeof path !== "string" &&
226
+ !Buffer.isBuffer(path) &&
227
+ !(path instanceof URL) &&
228
+ typeof path !== "number"
229
+ ) {
230
+ callback(new TypeError("path must be a string, Buffer, URL or number"));
231
+ return;
232
+ }
233
+ const strPath = typeof path !== "string" ? path.toString() : path;
234
+ if (options) {
235
+ return /** @type {Function} */ (this._provider).call(
236
+ this._providerContext,
237
+ path,
238
+ options,
239
+ callback
240
+ );
241
+ }
242
+
243
+ // When in sync mode we can move to async mode
244
+ if (this._mode === STORAGE_MODE_SYNC) {
245
+ this._enterAsyncMode();
246
+ }
247
+
248
+ // Check in cache
249
+ let cacheEntry = this._data.get(strPath);
250
+ if (cacheEntry !== undefined) {
251
+ if (cacheEntry.err) return nextTick(callback, cacheEntry.err);
252
+ return nextTick(callback, null, cacheEntry.result);
253
+ }
254
+
255
+ // Check if there is already the same operation running
256
+ let callbacks = this._activeAsyncOperations.get(strPath);
257
+ if (callbacks !== undefined) {
258
+ callbacks.push(callback);
259
+ return;
260
+ }
261
+ this._activeAsyncOperations.set(strPath, (callbacks = [callback]));
262
+
263
+ // Run the operation
264
+ /** @type {Function} */
265
+ (this._provider).call(
266
+ this._providerContext,
267
+ path,
268
+ /**
269
+ * @param {Error | null} err error
270
+ * @param {any} [result] result
271
+ */
272
+ (err, result) => {
273
+ this._activeAsyncOperations.delete(strPath);
274
+ this._storeResult(strPath, err, result);
275
+
276
+ // Enter async mode if not yet done
277
+ this._enterAsyncMode();
278
+
279
+ runCallbacks(
280
+ /** @type {FileSystemCallback<any>[]} */ (callbacks),
281
+ err,
282
+ result
283
+ );
284
+ }
285
+ );
286
+ }
287
+
288
+ /**
289
+ * @param {PathLike | PathOrFileDescriptor} path path
290
+ * @param {any} options options
291
+ * @returns {any} result
292
+ */
293
+ provideSync(path, options) {
294
+ if (
295
+ typeof path !== "string" &&
296
+ !Buffer.isBuffer(path) &&
297
+ !(path instanceof URL) &&
298
+ typeof path !== "number"
299
+ ) {
300
+ throw new TypeError("path must be a string");
301
+ }
302
+ const strPath = typeof path !== "string" ? path.toString() : path;
303
+ if (options) {
304
+ return /** @type {Function} */ (this._syncProvider).call(
305
+ this._providerContext,
306
+ path,
307
+ options
308
+ );
309
+ }
310
+
311
+ // In sync mode we may have to decay some cache items
312
+ if (this._mode === STORAGE_MODE_SYNC) {
313
+ this._runDecays();
314
+ }
315
+
316
+ // Check in cache
317
+ let cacheEntry = this._data.get(strPath);
318
+ if (cacheEntry !== undefined) {
319
+ if (cacheEntry.err) throw cacheEntry.err;
320
+ return cacheEntry.result;
321
+ }
322
+
323
+ // Get all active async operations
324
+ // This sync operation will also complete them
325
+ const callbacks = this._activeAsyncOperations.get(strPath);
326
+ this._activeAsyncOperations.delete(strPath);
327
+
328
+ // Run the operation
329
+ // When in idle mode, we will enter sync mode
330
+ let result;
331
+ try {
332
+ result = /** @type {Function} */ (this._syncProvider).call(
333
+ this._providerContext,
334
+ path
335
+ );
336
+ } catch (err) {
337
+ this._storeResult(strPath, /** @type {Error} */ (err), undefined);
338
+ this._enterSyncModeWhenIdle();
339
+ if (callbacks) {
340
+ runCallbacks(callbacks, /** @type {Error} */ (err), undefined);
341
+ }
342
+ throw err;
343
+ }
344
+ this._storeResult(strPath, null, result);
345
+ this._enterSyncModeWhenIdle();
346
+ if (callbacks) {
347
+ runCallbacks(callbacks, null, result);
348
+ }
349
+ return result;
350
+ }
351
+
352
+ /**
353
+ * @param {string | Buffer | URL | number | (string | URL | Buffer | number)[] | Set<string | URL | Buffer | number>} [what] what to purge
354
+ */
355
+ purge(what) {
356
+ if (!what) {
357
+ if (this._mode !== STORAGE_MODE_IDLE) {
358
+ this._data.clear();
359
+ for (const level of this._levels) {
360
+ level.clear();
361
+ }
362
+ this._enterIdleMode();
363
+ }
364
+ } else if (
365
+ typeof what === "string" ||
366
+ Buffer.isBuffer(what) ||
367
+ what instanceof URL ||
368
+ typeof what === "number"
369
+ ) {
370
+ const strWhat = typeof what !== "string" ? what.toString() : what;
371
+ for (let [key, data] of this._data) {
372
+ if (key.startsWith(strWhat)) {
373
+ this._data.delete(key);
374
+ data.level.delete(key);
375
+ }
376
+ }
377
+ if (this._data.size === 0) {
378
+ this._enterIdleMode();
379
+ }
380
+ } else {
381
+ for (let [key, data] of this._data) {
382
+ for (const item of what) {
383
+ const strItem = typeof item !== "string" ? item.toString() : item;
384
+ if (key.startsWith(strItem)) {
385
+ this._data.delete(key);
386
+ data.level.delete(key);
387
+ break;
388
+ }
389
+ }
390
+ }
391
+ if (this._data.size === 0) {
392
+ this._enterIdleMode();
393
+ }
394
+ }
395
+ }
396
+
397
+ /**
398
+ * @param {string | Buffer | URL | number | (string | URL | Buffer | number)[] | Set<string | URL | Buffer | number>} [what] what to purge
399
+ */
400
+ purgeParent(what) {
401
+ if (!what) {
402
+ this.purge();
403
+ } else if (
404
+ typeof what === "string" ||
405
+ Buffer.isBuffer(what) ||
406
+ what instanceof URL ||
407
+ typeof what === "number"
408
+ ) {
409
+ const strWhat = typeof what !== "string" ? what.toString() : what;
410
+ this.purge(dirname(strWhat));
411
+ } else {
412
+ const set = new Set();
413
+ for (const item of what) {
414
+ const strItem = typeof item !== "string" ? item.toString() : item;
415
+ set.add(dirname(strItem));
416
+ }
417
+ this.purge(set);
418
+ }
419
+ }
420
+
421
+ /**
422
+ * @param {string} path path
423
+ * @param {Error | null} err error
424
+ * @param {any} result result
425
+ */
426
+ _storeResult(path, err, result) {
427
+ if (this._data.has(path)) return;
428
+ const level = this._levels[this._currentLevel];
429
+ this._data.set(path, { err, result, level });
430
+ level.add(path);
431
+ }
432
+
433
+ _decayLevel() {
434
+ const nextLevel = (this._currentLevel + 1) % this._levels.length;
435
+ const decay = this._levels[nextLevel];
436
+ this._currentLevel = nextLevel;
437
+ for (let item of decay) {
438
+ this._data.delete(item);
439
+ }
440
+ decay.clear();
441
+ if (this._data.size === 0) {
442
+ this._enterIdleMode();
443
+ } else {
444
+ /** @type {number} */
445
+ (this._nextDecay) += this._tickInterval;
446
+ }
447
+ }
448
+
449
+ _runDecays() {
450
+ while (
451
+ /** @type {number} */ (this._nextDecay) <= Date.now() &&
452
+ this._mode !== STORAGE_MODE_IDLE
453
+ ) {
454
+ this._decayLevel();
455
+ }
456
+ }
457
+
458
+ _enterAsyncMode() {
459
+ let timeout = 0;
460
+ switch (this._mode) {
461
+ case STORAGE_MODE_ASYNC:
462
+ return;
463
+ case STORAGE_MODE_IDLE:
464
+ this._nextDecay = Date.now() + this._tickInterval;
465
+ timeout = this._tickInterval;
466
+ break;
467
+ case STORAGE_MODE_SYNC:
468
+ this._runDecays();
469
+ // _runDecays may change the mode
470
+ if (
471
+ /** @type {STORAGE_MODE_IDLE | STORAGE_MODE_SYNC | STORAGE_MODE_ASYNC}*/
472
+ (this._mode) === STORAGE_MODE_IDLE
473
+ )
474
+ return;
475
+ timeout = Math.max(
476
+ 0,
477
+ /** @type {number} */ (this._nextDecay) - Date.now()
478
+ );
479
+ break;
480
+ }
481
+ this._mode = STORAGE_MODE_ASYNC;
482
+ const ref = setTimeout(() => {
483
+ this._mode = STORAGE_MODE_SYNC;
484
+ this._runDecays();
485
+ }, timeout);
486
+ if (ref.unref) ref.unref();
487
+ this._timeout = ref;
488
+ }
489
+
490
+ _enterSyncModeWhenIdle() {
491
+ if (this._mode === STORAGE_MODE_IDLE) {
492
+ this._mode = STORAGE_MODE_SYNC;
493
+ this._nextDecay = Date.now() + this._tickInterval;
494
+ }
495
+ }
496
+
497
+ _enterIdleMode() {
498
+ this._mode = STORAGE_MODE_IDLE;
499
+ this._nextDecay = undefined;
500
+ if (this._timeout) clearTimeout(this._timeout);
501
+ }
502
+ }
503
+
504
+ /**
505
+ * @template {function} Provider
506
+ * @template {function} AsyncProvider
507
+ * @template FileSystem
508
+ * @param {number} duration duration in ms files are cached
509
+ * @param {Provider | undefined} provider provider
510
+ * @param {AsyncProvider | undefined} syncProvider sync provider
511
+ * @param {BaseFileSystem} providerContext provider context
512
+ * @returns {OperationMergerBackend | CacheBackend} backend
513
+ */
514
+ const createBackend = (duration, provider, syncProvider, providerContext) => {
515
+ if (duration > 0) {
516
+ return new CacheBackend(duration, provider, syncProvider, providerContext);
517
+ }
518
+ return new OperationMergerBackend(provider, syncProvider, providerContext);
519
+ };
520
+
521
+ module.exports = class CachedInputFileSystem {
522
+ /**
523
+ * @param {BaseFileSystem} fileSystem file system
524
+ * @param {number} duration duration in ms files are cached
525
+ */
526
+ constructor(fileSystem, duration) {
527
+ this.fileSystem = fileSystem;
528
+
529
+ this._lstatBackend = createBackend(
530
+ duration,
531
+ this.fileSystem.lstat,
532
+ this.fileSystem.lstatSync,
533
+ this.fileSystem
534
+ );
535
+ const lstat = this._lstatBackend.provide;
536
+ this.lstat = /** @type {FileSystem["lstat"]} */ (lstat);
537
+ const lstatSync = this._lstatBackend.provideSync;
538
+ this.lstatSync = /** @type {SyncFileSystem["lstatSync"]} */ (lstatSync);
539
+
540
+ this._statBackend = createBackend(
541
+ duration,
542
+ this.fileSystem.stat,
543
+ this.fileSystem.statSync,
544
+ this.fileSystem
545
+ );
546
+ const stat = this._statBackend.provide;
547
+ this.stat = /** @type {FileSystem["stat"]} */ (stat);
548
+ const statSync = this._statBackend.provideSync;
549
+ this.statSync = /** @type {SyncFileSystem["statSync"]} */ (statSync);
550
+
551
+ this._readdirBackend = createBackend(
552
+ duration,
553
+ this.fileSystem.readdir,
554
+ this.fileSystem.readdirSync,
555
+ this.fileSystem
556
+ );
557
+ const readdir = this._readdirBackend.provide;
558
+ this.readdir = /** @type {FileSystem["readdir"]} */ (readdir);
559
+ const readdirSync = this._readdirBackend.provideSync;
560
+ this.readdirSync = /** @type {SyncFileSystem["readdirSync"]} */ (
561
+ readdirSync
562
+ );
563
+
564
+ this._readFileBackend = createBackend(
565
+ duration,
566
+ this.fileSystem.readFile,
567
+ this.fileSystem.readFileSync,
568
+ this.fileSystem
569
+ );
570
+ const readFile = this._readFileBackend.provide;
571
+ this.readFile = /** @type {FileSystem["readFile"]} */ (readFile);
572
+ const readFileSync = this._readFileBackend.provideSync;
573
+ this.readFileSync = /** @type {SyncFileSystem["readFileSync"]} */ (
574
+ readFileSync
575
+ );
576
+
577
+ this._readJsonBackend = createBackend(
578
+ duration,
579
+ // prettier-ignore
580
+ this.fileSystem.readJson ||
581
+ (this.readFile &&
582
+ (
583
+ /**
584
+ * @param {string} path path
585
+ * @param {FileSystemCallback<any>} callback
586
+ */
587
+ (path, callback) => {
588
+ this.readFile(path, (err, buffer) => {
589
+ if (err) return callback(err);
590
+ if (!buffer || buffer.length === 0)
591
+ return callback(new Error("No file content"));
592
+ let data;
593
+ try {
594
+ data = JSON.parse(buffer.toString("utf-8"));
595
+ } catch (e) {
596
+ return callback(/** @type {Error} */ (e));
597
+ }
598
+ callback(null, data);
599
+ });
600
+ })
601
+ ),
602
+ // prettier-ignore
603
+ this.fileSystem.readJsonSync ||
604
+ (this.readFileSync &&
605
+ (
606
+ /**
607
+ * @param {string} path path
608
+ * @returns {any} result
609
+ */
610
+ (path) => {
611
+ const buffer = this.readFileSync(path);
612
+ const data = JSON.parse(buffer.toString("utf-8"));
613
+ return data;
614
+ }
615
+ )),
616
+ this.fileSystem
617
+ );
618
+ const readJson = this._readJsonBackend.provide;
619
+ this.readJson = /** @type {FileSystem["readJson"]} */ (readJson);
620
+ const readJsonSync = this._readJsonBackend.provideSync;
621
+ this.readJsonSync = /** @type {SyncFileSystem["readJsonSync"]} */ (
622
+ readJsonSync
623
+ );
624
+
625
+ this._readlinkBackend = createBackend(
626
+ duration,
627
+ this.fileSystem.readlink,
628
+ this.fileSystem.readlinkSync,
629
+ this.fileSystem
630
+ );
631
+ const readlink = this._readlinkBackend.provide;
632
+ this.readlink = /** @type {FileSystem["readlink"]} */ (readlink);
633
+ const readlinkSync = this._readlinkBackend.provideSync;
634
+ this.readlinkSync = /** @type {SyncFileSystem["readlinkSync"]} */ (
635
+ readlinkSync
636
+ );
637
+
638
+ this._realpathBackend = createBackend(
639
+ duration,
640
+ this.fileSystem.realpath,
641
+ this.fileSystem.realpathSync,
642
+ this.fileSystem
643
+ );
644
+ const realpath = this._realpathBackend.provide;
645
+ this.realpath = /** @type {FileSystem["realpath"]} */ (realpath);
646
+ const realpathSync = this._realpathBackend.provideSync;
647
+ this.realpathSync = /** @type {SyncFileSystem["realpathSync"]} */ (
648
+ realpathSync
649
+ );
650
+ }
651
+
652
+ /**
653
+ * @param {string | Buffer | URL | number | (string | URL | Buffer | number)[] | Set<string | URL | Buffer | number>} [what] what to purge
654
+ */
655
+ purge(what) {
656
+ this._statBackend.purge(what);
657
+ this._lstatBackend.purge(what);
658
+ this._readdirBackend.purgeParent(what);
659
+ this._readFileBackend.purge(what);
660
+ this._readlinkBackend.purge(what);
661
+ this._readJsonBackend.purge(what);
662
+ this._realpathBackend.purge(what);
663
+ }
664
+ };