powerlines 0.24.9 → 0.25.0

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 (460) hide show
  1. package/dist/{api-C32Buv5_.d.ts → api-BTK8aYwE.d.cts} +1 -1
  2. package/dist/{api-wzd5AREv.d.cts → api-eyrYBmQh.d.ts} +1 -1
  3. package/dist/api.cjs +8 -6
  4. package/dist/api.d.cts +20 -22
  5. package/dist/api.d.ts +20 -22
  6. package/dist/api.js +7 -5
  7. package/dist/astro.cjs +12 -10
  8. package/dist/astro.d.cts +19 -21
  9. package/dist/astro.d.ts +19 -21
  10. package/dist/astro.js +10 -8
  11. package/dist/{chunk-JKBJF3UI.js → chunk-2MYPFASJ.js} +2 -0
  12. package/dist/chunk-2VIXD2XB.js +3 -0
  13. package/dist/{chunk-C4CJ7YAI.js → chunk-44PO64SX.js} +4 -2
  14. package/dist/chunk-4JCNAKOE.cjs +4 -0
  15. package/dist/{chunk-PT24UOCD.cjs → chunk-6MFZ436T.cjs} +970 -1004
  16. package/dist/chunk-6ZGIV2SU.cjs +4 -0
  17. package/dist/chunk-7BZQBW77.cjs +4 -0
  18. package/dist/{chunk-JQCWV4DT.js → chunk-7LKYXMB3.js} +2 -0
  19. package/dist/{chunk-SHUYVCID.js → chunk-7QVYU63E.js} +2 -0
  20. package/dist/chunk-AFJCY3R6.js +3 -0
  21. package/dist/chunk-AXIRZAL7.js +3 -0
  22. package/dist/chunk-BTNHSS2P.cjs +13 -0
  23. package/dist/{chunk-PVUETJ3T.cjs → chunk-C2U4ATHO.cjs} +9 -7
  24. package/dist/chunk-DFLNRC3B.cjs +4 -0
  25. package/dist/chunk-DS7OM4NX.cjs +4 -0
  26. package/dist/{chunk-W5X3ZEZ5.js → chunk-EBXVKPUX.js} +2 -0
  27. package/dist/{chunk-Q4DVMLUP.cjs → chunk-G2EHTXK6.cjs} +9 -7
  28. package/dist/chunk-GIE6OE3X.js +3 -0
  29. package/dist/chunk-HJW7OH6E.js +3 -0
  30. package/dist/{chunk-S5YGX5GU.js → chunk-HSIMIWOH.js} +3 -1
  31. package/dist/{chunk-5IBA5HC2.cjs → chunk-HTJKPEWU.cjs} +6 -4
  32. package/dist/chunk-IHUNA3MO.cjs +4 -0
  33. package/dist/chunk-JU2HWIWS.js +12 -0
  34. package/dist/{chunk-357MDCVI.js → chunk-LQXE5JHF.js} +901 -932
  35. package/dist/chunk-MBBNZS6K.cjs +16 -0
  36. package/dist/{chunk-ABWNIXFZ.js → chunk-NNADGQRN.js} +5 -3
  37. package/dist/chunk-OYASPHNL.js +3 -0
  38. package/dist/chunk-PCCFAZML.js +3 -0
  39. package/dist/{chunk-USNT2KNT.cjs → chunk-PK6SKIKE.cjs} +2 -0
  40. package/dist/{chunk-ETKZMGLN.cjs → chunk-PSTCR335.cjs} +2 -0
  41. package/dist/chunk-Q7EJVZVI.cjs +4 -0
  42. package/dist/{chunk-CJSGAITR.js → chunk-S7MXT5A2.js} +3 -1
  43. package/dist/{chunk-4ZYG5R5M.cjs → chunk-SDVEUTY2.cjs} +13 -11
  44. package/dist/{chunk-UWEARQIV.js → chunk-SYDUPBME.js} +6 -4
  45. package/dist/chunk-TLHFXGYV.js +3 -0
  46. package/dist/chunk-TP5MEMLG.cjs +12 -0
  47. package/dist/chunk-VNRXLY2T.js +3 -0
  48. package/dist/chunk-VQCQRLGM.cjs +4 -0
  49. package/dist/chunk-XZO6ZJQP.cjs +4 -0
  50. package/dist/{chunk-XP7OML7S.cjs → chunk-YUX7LOBU.cjs} +2 -0
  51. package/dist/chunk-YZZUOOPS.cjs +4 -0
  52. package/dist/chunk-Z5H7LD6W.js +3 -0
  53. package/dist/{chunk-VBR53KGY.js → chunk-Z5UEYORO.js} +5 -3
  54. package/dist/{chunk-PAMSESZV.cjs → chunk-Z6ARQDHR.cjs} +2 -0
  55. package/dist/config.cjs +5 -3
  56. package/dist/config.d.cts +19 -21
  57. package/dist/config.d.ts +19 -21
  58. package/dist/config.js +4 -2
  59. package/dist/{resolved-CSqGKlA5.d.cts → context-TizkCfOv.d.cts} +848 -849
  60. package/dist/{resolved-BABoCnXm.d.ts → context-jhcT1Vi1.d.ts} +848 -849
  61. package/dist/esbuild.cjs +13 -11
  62. package/dist/esbuild.d.cts +19 -21
  63. package/dist/esbuild.d.ts +19 -21
  64. package/dist/esbuild.js +10 -8
  65. package/dist/farm.cjs +9 -7
  66. package/dist/farm.d.cts +19 -21
  67. package/dist/farm.d.ts +19 -21
  68. package/dist/farm.js +8 -6
  69. package/dist/index.cjs +39 -41
  70. package/dist/index.d.cts +30 -55
  71. package/dist/index.d.ts +30 -55
  72. package/dist/index.js +20 -18
  73. package/dist/lib/{api-DcMDyPIg.d.ts → api-CCOhyMZo.d.cts} +1 -1
  74. package/dist/lib/{api-B7dqvw6M.d.cts → api-CpJJXdtL.d.ts} +1 -1
  75. package/dist/lib/build/esbuild.cjs +5 -5
  76. package/dist/lib/build/esbuild.d.cts +2 -2
  77. package/dist/lib/build/esbuild.d.ts +2 -2
  78. package/dist/lib/build/esbuild.js +2 -2
  79. package/dist/lib/build/index.cjs +25 -25
  80. package/dist/lib/build/index.d.cts +4 -4
  81. package/dist/lib/build/index.d.ts +4 -4
  82. package/dist/lib/build/index.js +9 -9
  83. package/dist/lib/build/rolldown.cjs +3 -3
  84. package/dist/lib/build/rolldown.d.cts +2 -2
  85. package/dist/lib/build/rolldown.d.ts +2 -2
  86. package/dist/lib/build/rolldown.js +2 -2
  87. package/dist/lib/build/rollup.cjs +3 -3
  88. package/dist/lib/build/rollup.d.cts +2 -2
  89. package/dist/lib/build/rollup.d.ts +2 -2
  90. package/dist/lib/build/rollup.js +1 -1
  91. package/dist/lib/build/rspack.cjs +2 -2
  92. package/dist/lib/build/rspack.d.cts +2 -2
  93. package/dist/lib/build/rspack.d.ts +2 -2
  94. package/dist/lib/build/rspack.js +1 -1
  95. package/dist/lib/build/tsup.cjs +6 -6
  96. package/dist/lib/build/tsup.d.cts +2 -2
  97. package/dist/lib/build/tsup.d.ts +2 -2
  98. package/dist/lib/build/tsup.js +3 -3
  99. package/dist/lib/build/unbuild.cjs +5 -5
  100. package/dist/lib/build/unbuild.d.cts +4 -4
  101. package/dist/lib/build/unbuild.d.ts +4 -4
  102. package/dist/lib/build/unbuild.js +2 -2
  103. package/dist/lib/build/vite.cjs +5 -5
  104. package/dist/lib/build/vite.d.cts +2 -2
  105. package/dist/lib/build/vite.d.ts +2 -2
  106. package/dist/lib/build/vite.js +3 -3
  107. package/dist/lib/build/webpack.cjs +2 -2
  108. package/dist/lib/build/webpack.d.cts +2 -2
  109. package/dist/lib/build/webpack.d.ts +2 -2
  110. package/dist/lib/build/webpack.js +1 -1
  111. package/dist/lib/chunk-3T56KQ7U.cjs +49 -0
  112. package/dist/lib/{chunk-PZLO6FZW.js → chunk-3W53W5J2.js} +2 -2
  113. package/dist/lib/chunk-4W6WV35V.js +108 -0
  114. package/dist/lib/chunk-6OYSDQXE.cjs +139 -0
  115. package/dist/lib/{chunk-EV357RFB.cjs → chunk-7MHUTBEC.cjs} +1 -3
  116. package/dist/lib/{chunk-A2NFSQ5K.js → chunk-7OVZZWGY.js} +1 -1
  117. package/dist/lib/chunk-A2NW7WAN.js +47 -0
  118. package/dist/lib/chunk-D6MI2V6R.cjs +115 -0
  119. package/dist/lib/{chunk-VHLINWXG.js → chunk-DLVVEHMU.js} +1 -1
  120. package/dist/lib/{chunk-XLYMVIVD.cjs → chunk-DNQBXFNE.cjs} +10 -10
  121. package/dist/lib/{chunk-UGVHYKKN.js → chunk-DYLE5FD3.js} +39 -2
  122. package/dist/lib/{chunk-AKBAX4FH.js → chunk-EN52JYUK.js} +1 -1
  123. package/dist/lib/{chunk-JYDGFQIV.cjs → chunk-F2CXZUSB.cjs} +1 -1
  124. package/dist/lib/{chunk-7VJ42H2I.cjs → chunk-HRRI4KOM.cjs} +1 -3
  125. package/dist/lib/{chunk-LPRZ3HD4.cjs → chunk-IXTLRVAK.cjs} +3 -3
  126. package/dist/lib/{chunk-SYF7QG2J.js → chunk-J3BW52BU.js} +1 -1
  127. package/dist/lib/chunk-KFDNKOXM.js +56 -0
  128. package/dist/lib/chunk-L56XA427.js +137 -0
  129. package/dist/lib/{chunk-6PPZCPME.cjs → chunk-LOW2TIQ6.cjs} +2 -2
  130. package/dist/lib/{chunk-TMZCGC5U.js → chunk-MI55FDCZ.js} +1 -1
  131. package/dist/lib/{chunk-DUZJ7ZF2.cjs → chunk-MKKWFHGE.cjs} +2 -2
  132. package/dist/lib/{chunk-ISBHXSDH.cjs → chunk-N5XEKCVW.cjs} +1 -1
  133. package/dist/lib/{chunk-XZFEHPYE.js → chunk-N5YLKWC2.js} +1 -1
  134. package/dist/lib/chunk-NIRFKQAD.js +845 -0
  135. package/dist/lib/{chunk-YMHOAMCU.cjs → chunk-NLJR4WIX.cjs} +41 -4
  136. package/dist/lib/{chunk-L3HESXYF.cjs → chunk-NUE5DIH3.cjs} +3 -3
  137. package/dist/lib/chunk-OBA5U4Y2.js +1059 -0
  138. package/dist/lib/{chunk-FQLZZYYO.js → chunk-OEF6EHQV.js} +1 -3
  139. package/dist/lib/{chunk-WTTBXYFQ.js → chunk-OFXWRM3U.js} +2 -2
  140. package/dist/lib/chunk-ONETLSPO.js +85 -0
  141. package/dist/lib/{chunk-2OV26JXJ.cjs → chunk-PQRWG64T.cjs} +3 -3
  142. package/dist/lib/chunk-R33US3PV.cjs +1081 -0
  143. package/dist/lib/{chunk-Z74G7RN3.cjs → chunk-SFEEJZLK.cjs} +32 -38
  144. package/dist/lib/{chunk-H6EOZSIZ.js → chunk-TAVG226Z.js} +1 -1
  145. package/dist/lib/{chunk-DALRRHB4.cjs → chunk-TSFG3WEA.cjs} +1 -1
  146. package/dist/lib/{chunk-RMA2PMP7.cjs → chunk-TZCC5IWH.cjs} +3 -3
  147. package/dist/lib/chunk-VHCBD2IS.js +149 -0
  148. package/dist/lib/{chunk-HY6DNFCT.js → chunk-VODWHWD6.js} +2 -2
  149. package/dist/lib/{chunk-2X5DUDNT.js → chunk-W6GWSJ22.js} +2 -2
  150. package/dist/lib/chunk-WBSA6OG6.cjs +860 -0
  151. package/dist/lib/{chunk-TOCNXURI.cjs → chunk-WCXA5WFX.cjs} +4 -4
  152. package/dist/lib/{chunk-6I5PL7H2.js → chunk-WGSZ4X6N.js} +1 -3
  153. package/dist/lib/{chunk-FBRJW4AY.js → chunk-WLDQUTFD.js} +23 -29
  154. package/dist/lib/{chunk-AOHJEL2Q.js → chunk-WOKPJMGJ.js} +3 -3
  155. package/dist/lib/{chunk-TDJNFAOV.cjs → chunk-X6JDYLWM.cjs} +1 -1
  156. package/dist/lib/chunk-XLHFUATD.cjs +151 -0
  157. package/dist/lib/chunk-XUYQYUWZ.cjs +87 -0
  158. package/dist/lib/chunk-YYEAV24J.cjs +67 -0
  159. package/dist/lib/{config-BgeSOU_x.d.cts → config-Cqxh4V21.d.cts} +58 -475
  160. package/dist/lib/{config-Cobl3YxA.d.ts → config-D-WwQL-4.d.ts} +58 -475
  161. package/dist/lib/config-file.d.cts +2 -2
  162. package/dist/lib/config-file.d.ts +2 -2
  163. package/dist/lib/contexts/api-context.cjs +12 -7
  164. package/dist/lib/contexts/api-context.d.cts +27 -4
  165. package/dist/lib/contexts/api-context.d.ts +27 -4
  166. package/dist/lib/contexts/api-context.js +11 -6
  167. package/dist/lib/contexts/context.cjs +10 -5
  168. package/dist/lib/contexts/context.d.cts +7 -7
  169. package/dist/lib/contexts/context.d.ts +7 -7
  170. package/dist/lib/contexts/context.js +9 -4
  171. package/dist/lib/contexts/environment-context.cjs +11 -6
  172. package/dist/lib/contexts/environment-context.d.cts +4 -4
  173. package/dist/lib/contexts/environment-context.d.ts +4 -4
  174. package/dist/lib/contexts/environment-context.js +10 -5
  175. package/dist/lib/contexts/index.cjs +14 -9
  176. package/dist/lib/contexts/index.d.cts +4 -4
  177. package/dist/lib/contexts/index.d.ts +4 -4
  178. package/dist/lib/contexts/index.js +11 -6
  179. package/dist/lib/contexts/plugin-context.d.cts +4 -4
  180. package/dist/lib/contexts/plugin-context.d.ts +4 -4
  181. package/dist/lib/entry.cjs +9 -9
  182. package/dist/lib/entry.d.cts +2 -2
  183. package/dist/lib/entry.d.ts +2 -2
  184. package/dist/lib/entry.js +1 -1
  185. package/dist/lib/fs/helpers.cjs +47 -0
  186. package/dist/lib/fs/helpers.d.cts +74 -0
  187. package/dist/lib/fs/helpers.d.ts +74 -0
  188. package/dist/lib/fs/helpers.js +2 -0
  189. package/dist/lib/fs/index.cjs +17 -0
  190. package/dist/lib/fs/index.d.cts +33 -0
  191. package/dist/lib/fs/index.d.ts +33 -0
  192. package/dist/lib/fs/index.js +8 -0
  193. package/dist/lib/fs/storage/base.cjs +11 -0
  194. package/dist/lib/fs/storage/base.d.cts +138 -0
  195. package/dist/lib/fs/storage/base.d.ts +138 -0
  196. package/dist/lib/fs/storage/base.js +2 -0
  197. package/dist/lib/fs/storage/file-system.cjs +13 -0
  198. package/dist/lib/fs/storage/file-system.d.cts +90 -0
  199. package/dist/lib/fs/storage/file-system.d.ts +90 -0
  200. package/dist/lib/fs/storage/file-system.js +4 -0
  201. package/dist/lib/fs/storage/index.cjs +22 -0
  202. package/dist/lib/fs/storage/index.d.cts +6 -0
  203. package/dist/lib/fs/storage/index.d.ts +6 -0
  204. package/dist/lib/fs/storage/index.js +5 -0
  205. package/dist/lib/fs/storage/virtual.cjs +12 -0
  206. package/dist/lib/fs/storage/virtual.d.cts +66 -0
  207. package/dist/lib/fs/storage/virtual.d.ts +66 -0
  208. package/dist/lib/fs/storage/virtual.js +3 -0
  209. package/dist/lib/fs/vfs.cjs +16 -0
  210. package/dist/lib/fs/vfs.d.cts +247 -0
  211. package/dist/lib/fs/vfs.d.ts +247 -0
  212. package/dist/lib/fs/vfs.js +7 -0
  213. package/dist/lib/fs-Dg-aTfiN.d.cts +378 -0
  214. package/dist/lib/fs-Dg-aTfiN.d.ts +378 -0
  215. package/dist/lib/index.cjs +70 -76
  216. package/dist/lib/index.d.cts +18 -356
  217. package/dist/lib/index.d.ts +18 -356
  218. package/dist/lib/index.js +21 -15
  219. package/dist/lib/{internal-C4LRBm2o.d.cts → internal-Cl7s1iAA.d.cts} +2 -2
  220. package/dist/lib/{internal-BgqhTTai.d.ts → internal-W5pvS6e9.d.ts} +2 -2
  221. package/dist/lib/logger.d.cts +2 -2
  222. package/dist/lib/logger.d.ts +2 -2
  223. package/dist/lib/typescript/import-transformer.cjs +7 -45
  224. package/dist/lib/typescript/import-transformer.d.cts +2 -2
  225. package/dist/lib/typescript/import-transformer.d.ts +2 -2
  226. package/dist/lib/typescript/import-transformer.js +2 -47
  227. package/dist/lib/typescript/index.cjs +10 -22
  228. package/dist/lib/typescript/index.d.cts +4 -4
  229. package/dist/lib/typescript/index.d.ts +4 -4
  230. package/dist/lib/typescript/index.js +2 -2
  231. package/dist/lib/typescript/ts-morph.cjs +6 -2
  232. package/dist/lib/typescript/ts-morph.d.cts +28 -4
  233. package/dist/lib/typescript/ts-morph.d.ts +28 -4
  234. package/dist/lib/typescript/ts-morph.js +1 -1
  235. package/dist/lib/unplugin/factory.cjs +14 -9
  236. package/dist/lib/unplugin/factory.d.cts +4 -4
  237. package/dist/lib/unplugin/factory.d.ts +4 -4
  238. package/dist/lib/unplugin/factory.js +13 -8
  239. package/dist/lib/unplugin/helpers.d.cts +2 -2
  240. package/dist/lib/unplugin/helpers.d.ts +2 -2
  241. package/dist/lib/unplugin/index.cjs +17 -12
  242. package/dist/lib/unplugin/index.d.cts +4 -4
  243. package/dist/lib/unplugin/index.d.ts +4 -4
  244. package/dist/lib/unplugin/index.js +15 -10
  245. package/dist/lib/unplugin/plugin.cjs +2 -2
  246. package/dist/lib/unplugin/plugin.d.cts +4 -4
  247. package/dist/lib/unplugin/plugin.d.ts +4 -4
  248. package/dist/lib/unplugin/plugin.js +1 -1
  249. package/dist/lib/{unplugin-CFcDbneD.d.ts → unplugin-Cg2NoKj0.d.ts} +2 -2
  250. package/dist/lib/{unplugin-BjKSIVn4.d.cts → unplugin-trF-VLnO.d.cts} +2 -2
  251. package/dist/lib/utilities/bundle.cjs +4 -4
  252. package/dist/lib/utilities/bundle.d.cts +2 -2
  253. package/dist/lib/utilities/bundle.d.ts +2 -2
  254. package/dist/lib/utilities/bundle.js +3 -3
  255. package/dist/lib/utilities/cache.d.cts +2 -2
  256. package/dist/lib/utilities/cache.d.ts +2 -2
  257. package/dist/lib/utilities/file-header.d.cts +2 -2
  258. package/dist/lib/utilities/file-header.d.ts +2 -2
  259. package/dist/lib/utilities/index.cjs +27 -27
  260. package/dist/lib/utilities/index.d.cts +2 -2
  261. package/dist/lib/utilities/index.d.ts +2 -2
  262. package/dist/lib/utilities/index.js +6 -6
  263. package/dist/lib/utilities/meta.cjs +7 -7
  264. package/dist/lib/utilities/meta.d.cts +2 -2
  265. package/dist/lib/utilities/meta.d.ts +2 -2
  266. package/dist/lib/utilities/meta.js +1 -1
  267. package/dist/lib/utilities/resolve.cjs +5 -5
  268. package/dist/lib/utilities/resolve.d.cts +2 -2
  269. package/dist/lib/utilities/resolve.d.ts +2 -2
  270. package/dist/lib/utilities/resolve.js +4 -4
  271. package/dist/lib/utilities/source-file.d.cts +2 -2
  272. package/dist/lib/utilities/source-file.d.ts +2 -2
  273. package/dist/lib/utilities/source-map.d.cts +2 -2
  274. package/dist/lib/utilities/source-map.d.ts +2 -2
  275. package/dist/lib/utilities/worker.d.cts +2 -2
  276. package/dist/lib/utilities/worker.d.ts +2 -2
  277. package/dist/lib/utilities/write-file.d.cts +2 -2
  278. package/dist/lib/utilities/write-file.d.ts +2 -2
  279. package/dist/next.cjs +11 -9
  280. package/dist/next.js +9 -7
  281. package/dist/nuxt.cjs +13 -11
  282. package/dist/nuxt.js +11 -9
  283. package/dist/plugin-utils/{chunk-JHTLGE4X.js → chunk-K2GWRZPV.js} +1 -1
  284. package/dist/plugin-utils/{chunk-HSYQWNIH.cjs → chunk-VWFJOPKC.cjs} +1 -1
  285. package/dist/plugin-utils/{context-BITGF5LZ.d.ts → context-PtfEjz3_.d.cts} +187 -230
  286. package/dist/plugin-utils/{context-BITGF5LZ.d.cts → context-PtfEjz3_.d.ts} +187 -230
  287. package/dist/plugin-utils/context-helpers.d.cts +1 -2
  288. package/dist/plugin-utils/context-helpers.d.ts +1 -2
  289. package/dist/plugin-utils/enforce.d.cts +1 -2
  290. package/dist/plugin-utils/enforce.d.ts +1 -2
  291. package/dist/plugin-utils/extend.d.cts +1 -2
  292. package/dist/plugin-utils/extend.d.ts +1 -2
  293. package/dist/plugin-utils/get-config-path.d.cts +1 -2
  294. package/dist/plugin-utils/get-config-path.d.ts +1 -2
  295. package/dist/plugin-utils/helpers.d.cts +1 -2
  296. package/dist/plugin-utils/helpers.d.ts +1 -2
  297. package/dist/plugin-utils/index.cjs +2 -2
  298. package/dist/plugin-utils/index.d.cts +1 -2
  299. package/dist/plugin-utils/index.d.ts +1 -2
  300. package/dist/plugin-utils/index.js +1 -1
  301. package/dist/plugin-utils/merge.d.cts +1 -2
  302. package/dist/plugin-utils/merge.d.ts +1 -2
  303. package/dist/plugin-utils/paths.cjs +2 -2
  304. package/dist/plugin-utils/paths.d.cts +2 -3
  305. package/dist/plugin-utils/paths.d.ts +2 -3
  306. package/dist/plugin-utils/paths.js +1 -1
  307. package/dist/rolldown.cjs +9 -7
  308. package/dist/rolldown.d.cts +19 -21
  309. package/dist/rolldown.d.ts +19 -21
  310. package/dist/rolldown.js +8 -6
  311. package/dist/rollup.cjs +9 -7
  312. package/dist/rollup.d.cts +19 -21
  313. package/dist/rollup.d.ts +19 -21
  314. package/dist/rollup.js +8 -6
  315. package/dist/rspack.cjs +9 -7
  316. package/dist/rspack.d.cts +18 -20
  317. package/dist/rspack.d.ts +18 -20
  318. package/dist/rspack.js +8 -6
  319. package/dist/tsup.cjs +12 -10
  320. package/dist/tsup.js +10 -8
  321. package/dist/types/api.cjs +3 -1
  322. package/dist/types/api.cjs.map +1 -0
  323. package/dist/types/api.d.cts +20 -22
  324. package/dist/types/api.d.ts +20 -22
  325. package/dist/types/api.js +3 -1
  326. package/dist/types/api.js.map +1 -0
  327. package/dist/types/babel.cjs +3 -1
  328. package/dist/types/babel.cjs.map +1 -0
  329. package/dist/types/babel.d.cts +17 -19
  330. package/dist/types/babel.d.ts +17 -19
  331. package/dist/types/babel.js +3 -1
  332. package/dist/types/babel.js.map +1 -0
  333. package/dist/types/build.cjs +3 -1
  334. package/dist/types/build.cjs.map +1 -0
  335. package/dist/types/build.js +3 -1
  336. package/dist/types/build.js.map +1 -0
  337. package/dist/types/commands.cjs +5 -3
  338. package/dist/types/commands.cjs.map +1 -0
  339. package/dist/types/commands.d.cts +18 -20
  340. package/dist/types/commands.d.ts +18 -20
  341. package/dist/types/commands.js +4 -2
  342. package/dist/types/commands.js.map +1 -0
  343. package/dist/types/config.cjs +3 -1
  344. package/dist/types/config.cjs.map +1 -0
  345. package/dist/types/config.d.cts +2 -4
  346. package/dist/types/config.d.ts +2 -4
  347. package/dist/types/config.js +3 -1
  348. package/dist/types/config.js.map +1 -0
  349. package/dist/types/context.cjs +5 -3
  350. package/dist/types/context.cjs.map +1 -0
  351. package/dist/types/context.d.cts +8 -10
  352. package/dist/types/context.d.ts +8 -10
  353. package/dist/types/context.js +4 -2
  354. package/dist/types/context.js.map +1 -0
  355. package/dist/types/fs.cjs +10 -4
  356. package/dist/types/fs.cjs.map +1 -0
  357. package/dist/types/fs.d.cts +138 -184
  358. package/dist/types/fs.d.ts +138 -184
  359. package/dist/types/fs.js +4 -2
  360. package/dist/types/fs.js.map +1 -0
  361. package/dist/types/hooks.cjs +3 -1
  362. package/dist/types/hooks.cjs.map +1 -0
  363. package/dist/types/hooks.d.cts +19 -21
  364. package/dist/types/hooks.d.ts +19 -21
  365. package/dist/types/hooks.js +3 -1
  366. package/dist/types/hooks.js.map +1 -0
  367. package/dist/types/index.cjs +26 -20
  368. package/dist/types/index.cjs.map +1 -0
  369. package/dist/types/index.d.cts +13 -15
  370. package/dist/types/index.d.ts +13 -15
  371. package/dist/types/index.js +17 -15
  372. package/dist/types/index.js.map +1 -0
  373. package/dist/types/internal.cjs +2 -0
  374. package/dist/types/internal.cjs.map +1 -0
  375. package/dist/types/internal.d.cts +20 -22
  376. package/dist/types/internal.d.ts +20 -22
  377. package/dist/types/internal.js +2 -0
  378. package/dist/types/internal.js.map +1 -0
  379. package/dist/types/plugin.cjs +5 -3
  380. package/dist/types/plugin.cjs.map +1 -0
  381. package/dist/types/plugin.d.cts +9 -11
  382. package/dist/types/plugin.d.ts +9 -11
  383. package/dist/types/plugin.js +4 -2
  384. package/dist/types/plugin.js.map +1 -0
  385. package/dist/types/resolved.cjs +3 -1
  386. package/dist/types/resolved.cjs.map +1 -0
  387. package/dist/types/resolved.d.cts +7 -9
  388. package/dist/types/resolved.d.ts +7 -9
  389. package/dist/types/resolved.js +3 -1
  390. package/dist/types/resolved.js.map +1 -0
  391. package/dist/types/tsconfig.cjs +3 -1
  392. package/dist/types/tsconfig.cjs.map +1 -0
  393. package/dist/types/tsconfig.js +3 -1
  394. package/dist/types/tsconfig.js.map +1 -0
  395. package/dist/types/typedoc.cjs +3 -1
  396. package/dist/types/typedoc.cjs.map +1 -0
  397. package/dist/types/typedoc.js +3 -1
  398. package/dist/types/typedoc.js.map +1 -0
  399. package/dist/types/unplugin.cjs +3 -1
  400. package/dist/types/unplugin.cjs.map +1 -0
  401. package/dist/types/unplugin.d.cts +11 -13
  402. package/dist/types/unplugin.d.ts +11 -13
  403. package/dist/types/unplugin.js +3 -1
  404. package/dist/types/unplugin.js.map +1 -0
  405. package/dist/unloader.cjs +9 -7
  406. package/dist/unloader.d.cts +19 -21
  407. package/dist/unloader.d.ts +19 -21
  408. package/dist/unloader.js +8 -6
  409. package/dist/unplugin.cjs +20 -20
  410. package/dist/unplugin.d.cts +19 -21
  411. package/dist/unplugin.d.ts +19 -21
  412. package/dist/unplugin.js +10 -10
  413. package/dist/vite.cjs +13 -11
  414. package/dist/vite.d.cts +19 -21
  415. package/dist/vite.d.ts +19 -21
  416. package/dist/vite.js +10 -8
  417. package/dist/webpack.cjs +12 -10
  418. package/dist/webpack.d.cts +19 -21
  419. package/dist/webpack.d.ts +19 -21
  420. package/dist/webpack.js +9 -7
  421. package/package.json +71 -18
  422. package/schemas/fs.capnp +4 -59
  423. package/dist/chunk-2NO7N5OW.cjs +0 -2
  424. package/dist/chunk-7GYTTM4M.cjs +0 -2
  425. package/dist/chunk-AENPRFWJ.cjs +0 -2
  426. package/dist/chunk-AYKZK666.cjs +0 -8
  427. package/dist/chunk-BUR2JQ6G.cjs +0 -11
  428. package/dist/chunk-DRXFQCNC.js +0 -1
  429. package/dist/chunk-DTXP5O7S.cjs +0 -10
  430. package/dist/chunk-FNZDWE4L.js +0 -1
  431. package/dist/chunk-GHJU2KGP.cjs +0 -2
  432. package/dist/chunk-GRU7B3QM.cjs +0 -2
  433. package/dist/chunk-HQFZ64VC.cjs +0 -2
  434. package/dist/chunk-J4BQZHTQ.js +0 -1
  435. package/dist/chunk-JGB5YQ2U.js +0 -1
  436. package/dist/chunk-KALR2O2F.cjs +0 -2
  437. package/dist/chunk-OO3YXM72.js +0 -1
  438. package/dist/chunk-QE3WGMAP.js +0 -1
  439. package/dist/chunk-SMNKPH4T.js +0 -1
  440. package/dist/chunk-T2P533I5.js +0 -1
  441. package/dist/chunk-V3MLQDZQ.js +0 -1
  442. package/dist/chunk-VT7NVLLU.js +0 -5
  443. package/dist/chunk-YRJ4MLVL.cjs +0 -2
  444. package/dist/chunk-ZC43PZXS.cjs +0 -2
  445. package/dist/lib/chunk-3MZQ4MQX.cjs +0 -2360
  446. package/dist/lib/chunk-5JAFU45Z.js +0 -2324
  447. package/dist/lib/chunk-HAXL7QE7.js +0 -154
  448. package/dist/lib/chunk-SAS5EPBD.cjs +0 -107
  449. package/dist/lib/chunk-WUYK74EH.cjs +0 -165
  450. package/dist/lib/chunk-YQ3ODCHV.js +0 -105
  451. package/dist/lib/typescript/compiler-host.cjs +0 -164
  452. package/dist/lib/typescript/compiler-host.d.cts +0 -63
  453. package/dist/lib/typescript/compiler-host.d.ts +0 -63
  454. package/dist/lib/typescript/compiler-host.js +0 -156
  455. package/dist/lib/typescript/program.cjs +0 -27
  456. package/dist/lib/typescript/program.d.cts +0 -68
  457. package/dist/lib/typescript/program.d.ts +0 -68
  458. package/dist/lib/typescript/program.js +0 -2
  459. /package/dist/{chunk-2NCILNCH.cjs → lib/chunk-K2SFTPN3.cjs} +0 -0
  460. /package/dist/{chunk-BLNT5INX.js → lib/chunk-NQAHFTUW.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkISBHXSDH_cjs = require('./chunk-ISBHXSDH.cjs');
3
+ var chunkN5XEKCVW_cjs = require('./chunk-N5XEKCVW.cjs');
4
4
  var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
5
5
  var omit = require('@stryke/helpers/omit');
6
6
  var joinPaths = require('@stryke/path/join-paths');
@@ -31,7 +31,7 @@ function resolveESBuildEntry(context, entryPoints = []) {
31
31
  if (isString.isString(entry)) {
32
32
  ret[replace.replaceExtension(replace.replacePath(entry, context.config.sourceRoot || context.config.projectRoot))] = replace.replacePath(entry, context.config.sourceRoot || context.config.projectRoot);
33
33
  } else {
34
- ret[entry.output || chunkISBHXSDH_cjs.resolveEntryOutput(context, entry.input || entry)] = chunkISBHXSDH_cjs.resolveEntryInputFile(context, entry.input || entry);
34
+ ret[entry.output || chunkN5XEKCVW_cjs.resolveEntryOutput(context, entry.input || entry)] = chunkN5XEKCVW_cjs.resolveEntryInputFile(context, entry.input || entry);
35
35
  }
36
36
  return ret;
37
37
  }, {});
@@ -40,7 +40,7 @@ chunkUSNT2KNT_cjs.__name(resolveESBuildEntry, "resolveESBuildEntry");
40
40
  function extractESBuildConfig(context) {
41
41
  const inject = context.config.build.override.inject ?? context.config.build.inject;
42
42
  if (inject && Object.keys(inject).length > 0) {
43
- context.fs.writeFileSync(joinPaths.joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.artifactsPath, "inject-shim.js"), Object.entries(inject).map(([key, value]) => {
43
+ context.fs.writeSync(joinPaths.joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.artifactsPath, "inject-shim.js"), Object.entries(inject).map(([key, value]) => {
44
44
  if (value) {
45
45
  if (Array.isArray(value)) {
46
46
  if (camelCase.camelCase(key) !== key) {
@@ -109,7 +109,7 @@ export { ${key} };`;
109
109
  format: Array.isArray(context.config.output.format) ? context.config.output.format[0] : context.config.output.format,
110
110
  platform: context.config.build.platform,
111
111
  treeShaking: Boolean(context.config.build?.treeshake) || context.config.build?.treeShaking,
112
- outdir: context.config.output.distPath,
112
+ outdir: context.config.output.buildPath,
113
113
  tsconfig: context.tsconfig.tsconfigFilePath,
114
114
  tsconfigRaw: context.tsconfig.tsconfigJson
115
115
  }, context.config.build.variant === "esbuild" ? omit.omit(context.config.build, [
@@ -61,9 +61,7 @@ function createUnplugin(context, _options = {}) {
61
61
  ${ctx.config.build.polyfill.map((p) => `import "${p}";`).join("\n")}
62
62
 
63
63
  export * from "${isString(resolved) ? resolved : resolved.id}";
64
- `, entry.file, {
65
- mode: "virtual"
66
- });
64
+ `, entry.file);
67
65
  return entry.file;
68
66
  }
69
67
  }
@@ -1,9 +1,10 @@
1
- import { writeFile } from './chunk-TANQDHYY.js';
2
1
  import { getFileHeader } from './chunk-GANVMM73.js';
3
- import { PowerlinesAPIContext } from './chunk-UGVHYKKN.js';
2
+ import { writeFile } from './chunk-TANQDHYY.js';
3
+ import { PowerlinesAPIContext } from './chunk-DYLE5FD3.js';
4
4
  import { callHook } from './chunk-KFJCWNVG.js';
5
- import { isPluginConfig, isPlugin, isPluginConfigTuple, isPluginConfigObject, checkDedupe } from './chunk-5JAFU45Z.js';
6
- import { writeMetaFile } from './chunk-FQLZZYYO.js';
5
+ import { isPluginConfig, isPlugin, isPluginConfigTuple, isPluginConfigObject, checkDedupe } from './chunk-NIRFKQAD.js';
6
+ import { writeMetaFile } from './chunk-OEF6EHQV.js';
7
+ import { createProgram } from './chunk-4W6WV35V.js';
7
8
  import { getParsedTypeScriptConfig, getTsconfigFilePath, isIncludeMatchFound } from './chunk-ZGMEHSNN.js';
8
9
  import { createLog } from './chunk-ENRLU4UR.js';
9
10
  import { getString } from './chunk-M263EZ4F.js';
@@ -14,6 +15,7 @@ import { transformAsync } from '@babel/core';
14
15
  import { formatLogMessage } from '@storm-software/config-tools/logger/console';
15
16
  import { toArray } from '@stryke/convert/to-array';
16
17
  import { copyFiles } from '@stryke/fs/copy-file';
18
+ import { createDirectory } from '@stryke/fs/helpers';
17
19
  import { install } from '@stryke/fs/install';
18
20
  import { listFiles } from '@stryke/fs/list-files';
19
21
  import { isPackageExists, isPackageListed, doesPackageMatch, getPackageListing } from '@stryke/fs/package-fns';
@@ -37,7 +39,7 @@ import { getPackageName, hasPackageVersion, getPackageVersion } from '@stryke/st
37
39
  import { getObjectDiff } from '@donedeal0/superdiff';
38
40
  import { readJsonFile } from '@stryke/fs/json';
39
41
  import { StormJSON } from '@stryke/json/storm-json';
40
- import { findFileExtension, relativePath, findFilePath, findFileName } from '@stryke/path/file-path-fns';
42
+ import { relativePath, findFilePath, findFileName } from '@stryke/path/file-path-fns';
41
43
  import { titleCase } from '@stryke/string-format/title-case';
42
44
 
43
45
  function resolveModulePath(nodePath, state) {
@@ -151,8 +153,11 @@ function formatTypes(code) {
151
153
  __name(formatTypes, "formatTypes");
152
154
  async function emitTypes(context, files) {
153
155
  context.log(LogLevelLabel.TRACE, `Running the TypeScript compiler for ${files.length} generated runtime files.`);
154
- context.program.addSourceFilesAtPaths(files);
155
- const result = context.program.emitToMemory({
156
+ const program = createProgram(context, {
157
+ skipAddingFilesFromTsConfig: true
158
+ });
159
+ program.addSourceFilesAtPaths(files);
160
+ const result = program.emitToMemory({
156
161
  emitOnlyDtsFiles: true
157
162
  });
158
163
  let builtinModules = "";
@@ -243,9 +248,6 @@ async function resolveTsconfigChanges(context) {
243
248
  const tsconfigJson = await readJsonFile(tsconfigFilePath);
244
249
  tsconfigJson.compilerOptions ??= {};
245
250
  if (context.config.output.dts !== false) {
246
- if (findFileExtension(context.dtsPath) !== "d.ts" && findFileExtension(context.dtsPath) !== "d.cts" && findFileExtension(context.dtsPath) !== "d.mts") {
247
- context.config.output.dts = joinPaths(context.dtsPath, "powerlines.d.ts");
248
- }
249
251
  const dtsRelativePath = joinPaths(relativePath(joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot), findFilePath(context.dtsPath)), findFileName(context.dtsPath));
250
252
  if (!tsconfigJson.include?.some((filePattern) => isIncludeMatchFound(filePattern, [
251
253
  context.dtsPath,
@@ -288,9 +290,7 @@ async function initializeTsconfig(context) {
288
290
  context.tsconfig.originalTsconfigJson = await readJsonFile(tsconfigFilePath);
289
291
  context.tsconfig.tsconfigJson = await resolveTsconfigChanges(context);
290
292
  context.log(LogLevelLabel.TRACE, "Writing updated TypeScript configuration (tsconfig.json) file to disk.");
291
- await context.fs.writeFile(tsconfigFilePath, StormJSON.stringify(context.tsconfig.tsconfigJson), {
292
- mode: "fs"
293
- });
293
+ await writeFile(context.log, tsconfigFilePath, StormJSON.stringify(context.tsconfig.tsconfigJson));
294
294
  context.tsconfig = getParsedTypeScriptConfig(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.config.tsconfig, context.config.tsconfigRaw, context.tsconfig.originalTsconfigJson);
295
295
  }
296
296
  __name(initializeTsconfig, "initializeTsconfig");
@@ -423,21 +423,17 @@ ${formatLogMessage(context.config)}`);
423
423
  await writeMetaFile(context);
424
424
  context.persistedMeta = context.meta;
425
425
  if (!context.fs.existsSync(context.cachePath)) {
426
- await context.fs.mkdir(context.cachePath, {
427
- mode: "fs"
428
- });
426
+ await createDirectory(context.cachePath);
429
427
  }
430
428
  if (!context.fs.existsSync(context.dataPath)) {
431
- await context.fs.mkdir(context.dataPath, {
432
- mode: "fs"
433
- });
429
+ await createDirectory(context.dataPath);
434
430
  }
435
431
  await this.callPreHook(context, "prepare");
436
432
  await this.callNormalHook(context, "prepare");
437
433
  if (context.config.output.dts !== false) {
438
434
  context.log(LogLevelLabel.TRACE, `Preparing the TypeScript definitions for the Powerlines project.`);
439
435
  if (context.fs.existsSync(context.dtsPath)) {
440
- await context.fs.unlink(context.dtsPath);
436
+ await context.fs.remove(context.dtsPath);
441
437
  }
442
438
  context.log(LogLevelLabel.TRACE, "Transforming built-ins runtime modules files.");
443
439
  const builtinFilePaths = await Promise.all((await context.getBuiltins()).map(async (file) => {
@@ -524,7 +520,7 @@ ${formatLogMessage(context.config)}`);
524
520
  generatedTypes = result;
525
521
  }
526
522
  }
527
- await context.fs.writeFile(context.dtsPath, `${directives ? `${directives.map((directive) => `/// <reference types="${directive}" />`).join("\n")}
523
+ await context.fs.write(context.dtsPath, `${directives ? `${directives.map((directive) => `/// <reference types="${directive}" />`).join("\n")}
528
524
 
529
525
  ` : ""}${getFileHeader(context, {
530
526
  directive: null,
@@ -532,9 +528,7 @@ ${formatLogMessage(context.config)}`);
532
528
  })}
533
529
 
534
530
  ${formatTypes(generatedTypes)}
535
- `, {
536
- mode: "fs"
537
- });
531
+ `);
538
532
  }
539
533
  context.tsconfig = getParsedTypeScriptConfig(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.config.tsconfig);
540
534
  if (!context.tsconfig) {
@@ -602,8 +596,8 @@ ${formatTypes(generatedTypes)}
602
596
  await this.prepare(inlineConfig);
603
597
  await this.#executeEnvironments(async (context) => {
604
598
  this.context.log(LogLevelLabel.TRACE, "Cleaning the project's dist and artifacts directories.");
605
- await context.fs.rmdir(joinPaths(context.workspaceConfig.workspaceRoot, context.config.output.distPath));
606
- await context.fs.rmdir(joinPaths(context.workspaceConfig.workspaceRoot, context.config.output.artifactsFolder));
599
+ await context.fs.remove(joinPaths(context.workspaceConfig.workspaceRoot, context.config.output.buildPath));
600
+ await context.fs.remove(joinPaths(context.workspaceConfig.workspaceRoot, context.config.output.artifactsPath));
607
601
  await callHook(context, "clean", {
608
602
  sequential: true
609
603
  });
@@ -645,11 +639,11 @@ ${formatTypes(generatedTypes)}
645
639
  await this.#executeEnvironments(async (context) => {
646
640
  await this.callPreHook(context, "build");
647
641
  await this.callNormalHook(context, "build");
648
- if (context.config.output.distPath !== context.config.output.outputPath) {
649
- const sourcePath = appendPath(context.config.output.distPath, context.workspaceConfig.workspaceRoot);
642
+ if (context.config.output.buildPath !== context.config.output.outputPath) {
643
+ const sourcePath = appendPath(context.config.output.buildPath, context.workspaceConfig.workspaceRoot);
650
644
  const destinationPath = joinPaths(appendPath(context.config.output.outputPath, context.workspaceConfig.workspaceRoot), "dist");
651
645
  if (sourcePath !== destinationPath) {
652
- context.log(LogLevelLabel.INFO, `Copying build output files from project's build directory (${context.config.output.distPath}) to the workspace's output directory (${context.config.output.outputPath}).`);
646
+ context.log(LogLevelLabel.INFO, `Copying build output files from project's build directory (${context.config.output.buildPath}) to the workspace's output directory (${context.config.output.outputPath}).`);
653
647
  await copyFiles({
654
648
  input: sourcePath,
655
649
  glob: "**/*"
@@ -1,4 +1,4 @@
1
- import { resolveEntryInputFile, resolveEntryOutput } from './chunk-XZFEHPYE.js';
1
+ import { resolveEntryInputFile, resolveEntryOutput } from './chunk-N5YLKWC2.js';
2
2
  import { __name } from './chunk-SHUYVCID.js';
3
3
  import { omit } from '@stryke/helpers/omit';
4
4
  import { joinPaths } from '@stryke/path/join-paths';
@@ -34,7 +34,7 @@ __name(resolveESBuildEntry, "resolveESBuildEntry");
34
34
  function extractESBuildConfig(context) {
35
35
  const inject = context.config.build.override.inject ?? context.config.build.inject;
36
36
  if (inject && Object.keys(inject).length > 0) {
37
- context.fs.writeFileSync(joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.artifactsPath, "inject-shim.js"), Object.entries(inject).map(([key, value]) => {
37
+ context.fs.writeSync(joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.artifactsPath, "inject-shim.js"), Object.entries(inject).map(([key, value]) => {
38
38
  if (value) {
39
39
  if (Array.isArray(value)) {
40
40
  if (camelCase(key) !== key) {
@@ -103,7 +103,7 @@ export { ${key} };`;
103
103
  format: Array.isArray(context.config.output.format) ? context.config.output.format[0] : context.config.output.format,
104
104
  platform: context.config.build.platform,
105
105
  treeShaking: Boolean(context.config.build?.treeshake) || context.config.build?.treeShaking,
106
- outdir: context.config.output.distPath,
106
+ outdir: context.config.output.buildPath,
107
107
  tsconfig: context.tsconfig.tsconfigFilePath,
108
108
  tsconfigRaw: context.tsconfig.tsconfigJson
109
109
  }, context.config.build.variant === "esbuild" ? omit(context.config.build, [
@@ -25,7 +25,7 @@ function extractRspackConfig(context) {
25
25
  skipNodeModulesBundle: context.config.build.skipNodeModulesBundle
26
26
  }, {
27
27
  output: {
28
- path: joinPaths.joinPaths(context.workspaceConfig.workspaceRoot, context.config.output.distPath)
28
+ path: joinPaths.joinPaths(context.workspaceConfig.workspaceRoot, context.config.output.buildPath)
29
29
  },
30
30
  name: context.config.name,
31
31
  node: context.config.build.platform === "node" ? {
@@ -0,0 +1,151 @@
1
+ 'use strict';
2
+
3
+ var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
4
+ var append = require('@stryke/path/append');
5
+ var correctPath = require('@stryke/path/correct-path');
6
+ var join = require('@stryke/path/join');
7
+ var path = require('path');
8
+
9
+ var BaseStorageAdapter = class {
10
+ static {
11
+ chunkUSNT2KNT_cjs.__name(this, "BaseStorageAdapter");
12
+ }
13
+ /**
14
+ * Indicates whether the storage adapter has been disposed.
15
+ */
16
+ #isDisposed = false;
17
+ /**
18
+ * Configuration options for the storage adapter.
19
+ */
20
+ options;
21
+ /**
22
+ * Constructor for the BaseStorageAdapter.
23
+ *
24
+ * @param options - Configuration options for the storage adapter.
25
+ */
26
+ constructor(options = {
27
+ base: "/"
28
+ }) {
29
+ this.options = options;
30
+ this.options.base = path.resolve(options.base);
31
+ this.options.isReadOnly = !!options.isReadOnly;
32
+ }
33
+ /**
34
+ * Asynchronously checks if a key exists in the storage.
35
+ *
36
+ * @param key - The key to check for existence.
37
+ * @returns A promise that resolves to `true` if the key exists, otherwise `false`.
38
+ */
39
+ async exists(key) {
40
+ return this.existsSync(key);
41
+ }
42
+ /**
43
+ * Asynchronously retrieves the value associated with a given key.
44
+ *
45
+ * @param key - The key whose value is to be retrieved.
46
+ * @returns A promise that resolves to the value associated with the key, or `null` if the key does not exist.
47
+ */
48
+ async get(key) {
49
+ return this.getSync(key);
50
+ }
51
+ /**
52
+ * Asynchronously sets the value for a given key.
53
+ *
54
+ * @param key - The key to set the value for.
55
+ * @param value - The value to set.
56
+ */
57
+ async set(key, value) {
58
+ if (!this.options.isReadOnly) {
59
+ this.setSync(key, value);
60
+ }
61
+ }
62
+ /**
63
+ * Asynchronously removes a key from the storage.
64
+ *
65
+ * @param key - The key to remove.
66
+ */
67
+ async remove(key) {
68
+ if (!this.options.isReadOnly) {
69
+ this.removeSync(key);
70
+ }
71
+ }
72
+ /**
73
+ * Synchronously removes all entries from the storage that match the provided base path.
74
+ *
75
+ * @param base - The base path to clear keys from.
76
+ */
77
+ clearSync(base) {
78
+ if (!this.options.isReadOnly) {
79
+ const keys = this.listSync(base || this.options.base);
80
+ if (!keys.length) {
81
+ return;
82
+ }
83
+ keys.map((key) => this.removeSync(base && !key.startsWith(base) ? join.joinPaths(base, key) : key));
84
+ }
85
+ }
86
+ /**
87
+ * Asynchronously removes all entries from the storage that match the provided base path.
88
+ *
89
+ * @param base - The base path to clear keys from.
90
+ * @returns A promise that resolves when the operation is complete.
91
+ */
92
+ async clear(base) {
93
+ if (!this.options.isReadOnly) {
94
+ const keys = await this.list(base || this.options.base);
95
+ if (!keys.length) {
96
+ return;
97
+ }
98
+ await Promise.all(keys.map(async (key) => this.remove(base && !key.startsWith(base) ? join.joinPaths(base, key) : key)));
99
+ }
100
+ }
101
+ /**
102
+ * Asynchronously lists all keys under a given base path.
103
+ *
104
+ * @param base - The base path to list keys from.
105
+ * @returns A promise that resolves to an array of keys under the specified base path.
106
+ */
107
+ async list(base) {
108
+ return this.listSync(base);
109
+ }
110
+ /**
111
+ * Disposes of the storage adapter, releasing any held resources.
112
+ *
113
+ * @returns A promise that resolves when the disposal is complete.
114
+ */
115
+ dispose() {
116
+ return Promise.resolve();
117
+ }
118
+ /**
119
+ * Async dispose method to clean up resources.
120
+ *
121
+ * @returns A promise that resolves when disposal is complete.
122
+ */
123
+ async [Symbol.asyncDispose]() {
124
+ return this._dispose();
125
+ }
126
+ /**
127
+ * Resolves a given key to its full path within the storage adapter.
128
+ *
129
+ * @param key - The key to resolve.
130
+ * @returns The resolved full path for the key.
131
+ */
132
+ resolve(key = this.options.base) {
133
+ if (/\.\.:|\.\.$/.test(key)) {
134
+ throw new Error(`[${this.name}]: Invalid key: ${JSON.stringify(key)} provided to storage adapter.`);
135
+ }
136
+ return append.appendPath(correctPath.correctPath(key).replace(/:/g, "/"), this.options.base);
137
+ }
138
+ /**
139
+ * Disposes of the storage adapter, releasing any held resources.
140
+ *
141
+ * @returns A promise that resolves when the disposal is complete.
142
+ */
143
+ async _dispose() {
144
+ if (!this.#isDisposed) {
145
+ await Promise.resolve(this.dispose());
146
+ this.#isDisposed = true;
147
+ }
148
+ }
149
+ };
150
+
151
+ exports.BaseStorageAdapter = BaseStorageAdapter;
@@ -0,0 +1,87 @@
1
+ 'use strict';
2
+
3
+ var chunkXLHFUATD_cjs = require('./chunk-XLHFUATD.cjs');
4
+ var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
5
+ var isParentPath = require('@stryke/path/is-parent-path');
6
+
7
+ var VirtualStorageAdapter = class extends chunkXLHFUATD_cjs.BaseStorageAdapter {
8
+ static {
9
+ chunkUSNT2KNT_cjs.__name(this, "VirtualStorageAdapter");
10
+ }
11
+ /**
12
+ * A name identifying the storage adapter type.
13
+ */
14
+ name = "virtual";
15
+ /**
16
+ * In-memory data storage.
17
+ */
18
+ data = /* @__PURE__ */ new Map();
19
+ /**
20
+ * Constructor for the VirtualStorageAdapter.
21
+ *
22
+ * @param options - Configuration options for the storage adapter.
23
+ */
24
+ constructor(options) {
25
+ super(options);
26
+ }
27
+ /**
28
+ * Synchronously checks if a key exists in the storage.
29
+ *
30
+ * @param key - The key to check for existence.
31
+ * @returns Returns `true` if the key exists, otherwise `false`.
32
+ */
33
+ existsSync(key) {
34
+ return this.data.has(this.resolve(key));
35
+ }
36
+ /**
37
+ * Synchronously retrieves the value associated with a given key.
38
+ *
39
+ * @param key - The key whose value is to be retrieved.
40
+ * @returns The value associated with the key, or `null` if the key does not exist.
41
+ */
42
+ getSync(key) {
43
+ return this.data.get(this.resolve(key)) ?? null;
44
+ }
45
+ /**
46
+ * Synchronously sets the value for a given key.
47
+ *
48
+ * @param key - The key to set the value for.
49
+ * @param value - The value to set.
50
+ */
51
+ setSync(key, value) {
52
+ if (!this.options.isReadOnly) {
53
+ this.data.set(this.resolve(key), value);
54
+ }
55
+ }
56
+ /**
57
+ * Synchronously removes a key from the storage.
58
+ *
59
+ * @param key - The key to remove.
60
+ */
61
+ removeSync(key) {
62
+ if (!this.options.isReadOnly) {
63
+ this.data.delete(this.resolve(key));
64
+ }
65
+ }
66
+ /**
67
+ * Lists all keys under a given base path synchronously.
68
+ *
69
+ * @param base - The base path to list keys from.
70
+ * @returns An array of keys under the specified base path.
71
+ */
72
+ listSync(base) {
73
+ return [
74
+ ...this.data.keys().filter((key) => !base ? true : isParentPath.isParentPath(key, this.resolve(base)))
75
+ ];
76
+ }
77
+ /**
78
+ * Disposes of the storage adapter, releasing any held resources.
79
+ *
80
+ * @returns A promise that resolves when the disposal is complete.
81
+ */
82
+ async dispose() {
83
+ return this.clear();
84
+ }
85
+ };
86
+
87
+ exports.VirtualStorageAdapter = VirtualStorageAdapter;
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
4
+ var correctPath = require('@stryke/path/correct-path');
5
+ var filePathFns = require('@stryke/path/file-path-fns');
6
+ var isType = require('@stryke/path/is-type');
7
+ var slash = require('@stryke/path/slash');
8
+ var isError = require('@stryke/type-checks/is-error');
9
+
10
+ function isFileError(err) {
11
+ return isError.isError(err) && "code" in err && err.code;
12
+ }
13
+ chunkUSNT2KNT_cjs.__name(isFileError, "isFileError");
14
+ function ignoreNotfound(err) {
15
+ return isFileError(err) && (err.code === "ENOENT" || err.code === "EISDIR" ? null : err);
16
+ }
17
+ chunkUSNT2KNT_cjs.__name(ignoreNotfound, "ignoreNotfound");
18
+ function ignoreExists(err) {
19
+ return isFileError(err) && err.code === "EEXIST" ? null : err;
20
+ }
21
+ chunkUSNT2KNT_cjs.__name(ignoreExists, "ignoreExists");
22
+ function toFilePath(path) {
23
+ return correctPath.correctPath(slash.slash(path?.toString() || ".").replace(/^file:\/\//, ""));
24
+ }
25
+ chunkUSNT2KNT_cjs.__name(toFilePath, "toFilePath");
26
+ function isValidId(id, prefix = "powerlines") {
27
+ return id.replace(/^\\0/, "").startsWith(`${prefix.replace(/:$/, "")}`);
28
+ }
29
+ chunkUSNT2KNT_cjs.__name(isValidId, "isValidId");
30
+ function normalizeId(id, prefix = "powerlines") {
31
+ return `${prefix.replace(/:$/, "")}:${toFilePath(id).replace(new RegExp(`^${prefix.replace(/:$/, "")}:`), "").replace(/^\\0/, "").replace(filePathFns.findFileDotExtensionSafe(toFilePath(id)), "")}`;
32
+ }
33
+ chunkUSNT2KNT_cjs.__name(normalizeId, "normalizeId");
34
+ function normalizePath(path, builtinsPath, prefix = "powerlines") {
35
+ return isType.isAbsolutePath(path) ? path : isValidId(toFilePath(path), prefix) ? normalizeId(toFilePath(path), prefix).replace(new RegExp(`^${prefix.replace(/:$/, "")}:`), builtinsPath) : toFilePath(path);
36
+ }
37
+ chunkUSNT2KNT_cjs.__name(normalizePath, "normalizePath");
38
+ function normalizeKey(key, sep = ":") {
39
+ if (!key) {
40
+ return "";
41
+ }
42
+ return key.replace(/[:/\\]/g, sep).replace(/^[:/\\]|[:/\\]$/g, "");
43
+ }
44
+ chunkUSNT2KNT_cjs.__name(normalizeKey, "normalizeKey");
45
+ function normalizeBaseKey(base) {
46
+ base = normalizeKey(base);
47
+ return base ? `${base}:` : "";
48
+ }
49
+ chunkUSNT2KNT_cjs.__name(normalizeBaseKey, "normalizeBaseKey");
50
+ function filterKeyByBase(key, base) {
51
+ if (base) {
52
+ return key.startsWith(base) && key[key.length - 1] !== "$";
53
+ }
54
+ return key[key.length - 1] !== "$";
55
+ }
56
+ chunkUSNT2KNT_cjs.__name(filterKeyByBase, "filterKeyByBase");
57
+
58
+ exports.filterKeyByBase = filterKeyByBase;
59
+ exports.ignoreExists = ignoreExists;
60
+ exports.ignoreNotfound = ignoreNotfound;
61
+ exports.isFileError = isFileError;
62
+ exports.isValidId = isValidId;
63
+ exports.normalizeBaseKey = normalizeBaseKey;
64
+ exports.normalizeId = normalizeId;
65
+ exports.normalizeKey = normalizeKey;
66
+ exports.normalizePath = normalizePath;
67
+ exports.toFilePath = toFilePath;