powerlines 0.27.0 → 0.29.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 (666) hide show
  1. package/dist/{api-CHbGX3BG.d.ts → api-DE9Ixr0u.d.cts} +2 -2
  2. package/dist/{api-DGMQopJ5.d.cts → api-S471id5Y.d.ts} +2 -2
  3. package/dist/api.cjs +3 -3
  4. package/dist/api.d.cts +6 -2
  5. package/dist/api.d.ts +6 -2
  6. package/dist/api.js +2 -2
  7. package/dist/astro.cjs +5 -5
  8. package/dist/astro.d.cts +5 -1
  9. package/dist/astro.d.ts +5 -1
  10. package/dist/astro.js +4 -4
  11. package/dist/{chunk-RCYXXBJ3.cjs → chunk-246ZHDQL.cjs} +667 -231
  12. package/dist/{chunk-FZ6J2GMT.js → chunk-575Z57QD.js} +2 -2
  13. package/dist/{chunk-CF7B5HOG.cjs → chunk-57GCROWS.cjs} +4 -4
  14. package/dist/{chunk-KW66GUWJ.cjs → chunk-AGFJZWS3.cjs} +4 -4
  15. package/dist/{chunk-BH4JSKPK.js → chunk-FCZMWEL7.js} +3 -3
  16. package/dist/chunk-LRZLY3R7.cjs +12 -0
  17. package/dist/{chunk-PYID3NKT.js → chunk-M7SQJLGB.js} +6 -5
  18. package/dist/{chunk-HG7JY6AQ.cjs → chunk-N6UOEGTC.cjs} +7 -6
  19. package/dist/{chunk-ISPXQBOL.js → chunk-O5PLPU55.js} +3 -3
  20. package/dist/{chunk-2DWFEC7G.js → chunk-Q4ZLKJS2.js} +668 -232
  21. package/dist/{chunk-ON3LABX3.cjs → chunk-SALASTMK.cjs} +2 -2
  22. package/dist/{chunk-CSJMUAPJ.js → chunk-TARQ5ZEQ.js} +3 -3
  23. package/dist/chunk-X56DYZYO.js +9 -0
  24. package/dist/chunk-YEBH46ZU.cjs +12 -0
  25. package/dist/{chunk-YULFP33E.cjs → chunk-YFKHICPO.cjs} +2 -2
  26. package/dist/{chunk-P647W2BA.js → chunk-ZFMDBIE2.js} +2 -2
  27. package/dist/{context-BjOICcQB.d.cts → context-BwnxICfB.d.cts} +100 -25
  28. package/dist/{context-BqTYt9FC.d.ts → context-p7xgIm3D.d.ts} +100 -25
  29. package/dist/esbuild.cjs +7 -7
  30. package/dist/esbuild.d.cts +5 -1
  31. package/dist/esbuild.d.ts +5 -1
  32. package/dist/esbuild.js +4 -4
  33. package/dist/farm.cjs +4 -4
  34. package/dist/farm.d.cts +5 -1
  35. package/dist/farm.d.ts +5 -1
  36. package/dist/farm.js +3 -3
  37. package/dist/index.cjs +21 -21
  38. package/dist/index.d.cts +17 -5
  39. package/dist/index.d.ts +17 -5
  40. package/dist/index.js +10 -7
  41. package/dist/lib/{api-Cxmk8sFc.d.ts → api-1xCU-974.d.ts} +2 -2
  42. package/dist/lib/{api-_rRpguWX.d.cts → api-BvkhY-MU.d.cts} +2 -2
  43. package/dist/lib/build/esbuild.cjs +9 -6
  44. package/dist/lib/build/esbuild.cjs.map +1 -0
  45. package/dist/lib/build/esbuild.d.cts +6 -2
  46. package/dist/lib/build/esbuild.d.ts +6 -2
  47. package/dist/lib/build/esbuild.js +6 -3
  48. package/dist/lib/build/esbuild.js.map +1 -0
  49. package/dist/lib/build/index.cjs +47 -27
  50. package/dist/lib/build/index.cjs.map +1 -0
  51. package/dist/lib/build/index.d.cts +9 -4
  52. package/dist/lib/build/index.d.ts +9 -4
  53. package/dist/lib/build/index.js +15 -11
  54. package/dist/lib/build/index.js.map +1 -0
  55. package/dist/lib/build/rolldown.cjs +6 -4
  56. package/dist/lib/build/rolldown.cjs.map +1 -0
  57. package/dist/lib/build/rolldown.d.cts +6 -2
  58. package/dist/lib/build/rolldown.d.ts +6 -2
  59. package/dist/lib/build/rolldown.js +5 -3
  60. package/dist/lib/build/rolldown.js.map +1 -0
  61. package/dist/lib/build/rollup.cjs +6 -4
  62. package/dist/lib/build/rollup.cjs.map +1 -0
  63. package/dist/lib/build/rollup.d.cts +6 -2
  64. package/dist/lib/build/rollup.d.ts +6 -2
  65. package/dist/lib/build/rollup.js +4 -2
  66. package/dist/lib/build/rollup.js.map +1 -0
  67. package/dist/lib/build/rspack.cjs +5 -3
  68. package/dist/lib/build/rspack.cjs.map +1 -0
  69. package/dist/lib/build/rspack.d.cts +6 -2
  70. package/dist/lib/build/rspack.d.ts +6 -2
  71. package/dist/lib/build/rspack.js +4 -2
  72. package/dist/lib/build/rspack.js.map +1 -0
  73. package/dist/lib/build/tsdown.cjs +25 -0
  74. package/dist/lib/build/tsdown.cjs.map +1 -0
  75. package/dist/lib/build/tsdown.d.cts +60 -0
  76. package/dist/lib/build/tsdown.d.ts +60 -0
  77. package/dist/lib/build/tsdown.js +4 -0
  78. package/dist/lib/build/tsdown.js.map +1 -0
  79. package/dist/lib/build/tsup.cjs +10 -7
  80. package/dist/lib/build/tsup.cjs.map +1 -0
  81. package/dist/lib/build/tsup.d.cts +6 -2
  82. package/dist/lib/build/tsup.d.ts +6 -2
  83. package/dist/lib/build/tsup.js +7 -4
  84. package/dist/lib/build/tsup.js.map +1 -0
  85. package/dist/lib/build/unbuild.cjs +9 -7
  86. package/dist/lib/build/unbuild.cjs.map +1 -0
  87. package/dist/lib/build/unbuild.d.cts +8 -4
  88. package/dist/lib/build/unbuild.d.ts +8 -4
  89. package/dist/lib/build/unbuild.js +6 -4
  90. package/dist/lib/build/unbuild.js.map +1 -0
  91. package/dist/lib/build/vite.cjs +9 -6
  92. package/dist/lib/build/vite.cjs.map +1 -0
  93. package/dist/lib/build/vite.d.cts +6 -2
  94. package/dist/lib/build/vite.d.ts +6 -2
  95. package/dist/lib/build/vite.js +7 -4
  96. package/dist/lib/build/vite.js.map +1 -0
  97. package/dist/lib/build/webpack.cjs +5 -3
  98. package/dist/lib/build/webpack.cjs.map +1 -0
  99. package/dist/lib/build/webpack.d.cts +6 -2
  100. package/dist/lib/build/webpack.d.ts +6 -2
  101. package/dist/lib/build/webpack.js +4 -2
  102. package/dist/lib/build/webpack.js.map +1 -0
  103. package/dist/lib/{chunk-UNUP4XMO.cjs → chunk-23BFL3LB.cjs} +6 -4
  104. package/dist/lib/chunk-23BFL3LB.cjs.map +1 -0
  105. package/dist/lib/{chunk-26M3IUSK.js → chunk-26JHNKA7.js} +3 -1
  106. package/dist/lib/chunk-26JHNKA7.js.map +1 -0
  107. package/dist/lib/{chunk-4V5OI73E.cjs → chunk-2HAOX4Q2.cjs} +205 -124
  108. package/dist/lib/chunk-2HAOX4Q2.cjs.map +1 -0
  109. package/dist/lib/{chunk-2RHE4SGK.js → chunk-2IXO6SBG.js} +3 -1
  110. package/dist/lib/chunk-2IXO6SBG.js.map +1 -0
  111. package/dist/lib/{chunk-K3NBD5LL.cjs → chunk-2JR645O3.cjs} +5 -3
  112. package/dist/lib/chunk-2JR645O3.cjs.map +1 -0
  113. package/dist/lib/{chunk-Z5JKSYRP.cjs → chunk-2OMOKN7Y.cjs} +236 -73
  114. package/dist/lib/chunk-2OMOKN7Y.cjs.map +1 -0
  115. package/dist/lib/{chunk-ENRLU4UR.js → chunk-35EO5Y7R.js} +3 -1
  116. package/dist/lib/chunk-35EO5Y7R.js.map +1 -0
  117. package/dist/lib/{chunk-NDYKRNPQ.js → chunk-367E23MI.js} +3 -1
  118. package/dist/lib/chunk-367E23MI.js.map +1 -0
  119. package/dist/lib/{chunk-I76RI47U.cjs → chunk-3DKBH67A.cjs} +19 -15
  120. package/dist/lib/chunk-3DKBH67A.cjs.map +1 -0
  121. package/dist/lib/chunk-3GMJQ5G3.cjs +4 -0
  122. package/dist/lib/chunk-3GMJQ5G3.cjs.map +1 -0
  123. package/dist/lib/{chunk-OEF6EHQV.js → chunk-45D4XIOK.js} +3 -1
  124. package/dist/lib/chunk-45D4XIOK.js.map +1 -0
  125. package/dist/lib/chunk-4BPHC6QQ.js +3 -0
  126. package/dist/lib/chunk-4BPHC6QQ.js.map +1 -0
  127. package/dist/lib/{chunk-Q4D2L67H.cjs → chunk-4NBEK7BB.cjs} +8 -7
  128. package/dist/lib/chunk-4NBEK7BB.cjs.map +1 -0
  129. package/dist/lib/{chunk-AJDYMANR.cjs → chunk-4UN7FLKQ.cjs} +6 -4
  130. package/dist/lib/chunk-4UN7FLKQ.cjs.map +1 -0
  131. package/dist/lib/{chunk-QR2N3DPP.js → chunk-5QJRVWP3.js} +4 -2
  132. package/dist/lib/chunk-5QJRVWP3.js.map +1 -0
  133. package/dist/lib/{chunk-ONETLSPO.js → chunk-5QMQ5G73.js} +4 -2
  134. package/dist/lib/chunk-5QMQ5G73.js.map +1 -0
  135. package/dist/lib/{chunk-H7A5QVLY.cjs → chunk-62ZJYXT3.cjs} +7 -5
  136. package/dist/lib/chunk-62ZJYXT3.cjs.map +1 -0
  137. package/dist/lib/{chunk-JA4HSQRN.cjs → chunk-632PWWU7.cjs} +5 -3
  138. package/dist/lib/chunk-632PWWU7.cjs.map +1 -0
  139. package/dist/lib/{chunk-PIFNMTKN.cjs → chunk-63DAS6TJ.cjs} +6 -4
  140. package/dist/lib/chunk-63DAS6TJ.cjs.map +1 -0
  141. package/dist/lib/{chunk-OL35IC6Z.js → chunk-6OGQTUXF.js} +3 -1
  142. package/dist/lib/chunk-6OGQTUXF.js.map +1 -0
  143. package/dist/lib/{chunk-HE6HOGLS.js → chunk-7CDTHZ3R.js} +200 -37
  144. package/dist/lib/chunk-7CDTHZ3R.js.map +1 -0
  145. package/dist/lib/{chunk-QDRITYHV.cjs → chunk-7OO4SKFN.cjs} +6 -4
  146. package/dist/lib/chunk-7OO4SKFN.cjs.map +1 -0
  147. package/dist/lib/{chunk-SHUYVCID.js → chunk-7QVYU63E.js} +2 -0
  148. package/dist/lib/chunk-7QVYU63E.js.map +1 -0
  149. package/dist/lib/{chunk-GANVMM73.js → chunk-7R23HVGQ.js} +3 -1
  150. package/dist/lib/chunk-7R23HVGQ.js.map +1 -0
  151. package/dist/lib/chunk-A4RSMLXW.cjs +13 -0
  152. package/dist/lib/chunk-A4RSMLXW.cjs.map +1 -0
  153. package/dist/lib/{chunk-6OYSDQXE.cjs → chunk-AQNUFK3L.cjs} +47 -9
  154. package/dist/lib/chunk-AQNUFK3L.cjs.map +1 -0
  155. package/dist/lib/{chunk-HRRI4KOM.cjs → chunk-BJGMF356.cjs} +8 -6
  156. package/dist/lib/chunk-BJGMF356.cjs.map +1 -0
  157. package/dist/lib/{chunk-GLFOKUTH.cjs → chunk-BQA4H72F.cjs} +12 -10
  158. package/dist/lib/chunk-BQA4H72F.cjs.map +1 -0
  159. package/dist/lib/chunk-CLOW34EQ.js +3 -0
  160. package/dist/lib/chunk-CLOW34EQ.js.map +1 -0
  161. package/dist/lib/{chunk-VHCBD2IS.js → chunk-CTMPQSK7.js} +54 -1
  162. package/dist/lib/chunk-CTMPQSK7.js.map +1 -0
  163. package/dist/lib/{chunk-M263EZ4F.js → chunk-D55ZAZCX.js} +3 -1
  164. package/dist/lib/chunk-D55ZAZCX.js.map +1 -0
  165. package/dist/lib/{chunk-7GCAHOJK.js → chunk-D5IEZABI.js} +4 -2
  166. package/dist/lib/chunk-D5IEZABI.js.map +1 -0
  167. package/dist/lib/chunk-DQJCGJ5P.js +3 -0
  168. package/dist/lib/chunk-DQJCGJ5P.js.map +1 -0
  169. package/dist/lib/{chunk-KFDNKOXM.js → chunk-EBBGE5FN.js} +20 -2
  170. package/dist/lib/chunk-EBBGE5FN.js.map +1 -0
  171. package/dist/lib/chunk-FFATMOAQ.js +14 -0
  172. package/dist/lib/chunk-FFATMOAQ.js.map +1 -0
  173. package/dist/lib/chunk-FJMP4CXA.js +3 -0
  174. package/dist/lib/chunk-FJMP4CXA.js.map +1 -0
  175. package/dist/lib/{chunk-4PTER5EV.js → chunk-FKPVNUDU.js} +3 -1
  176. package/dist/lib/chunk-FKPVNUDU.js.map +1 -0
  177. package/dist/lib/{chunk-ZGMEHSNN.js → chunk-FPFPUYXS.js} +3 -1
  178. package/dist/lib/chunk-FPFPUYXS.js.map +1 -0
  179. package/dist/lib/{chunk-N5XEKCVW.cjs → chunk-FQZQA4EJ.cjs} +13 -20
  180. package/dist/lib/chunk-FQZQA4EJ.cjs.map +1 -0
  181. package/dist/lib/{chunk-3T56KQ7U.cjs → chunk-GDODHF3Y.cjs} +6 -4
  182. package/dist/lib/chunk-GDODHF3Y.cjs.map +1 -0
  183. package/dist/lib/chunk-GTNYRHTO.js +3 -0
  184. package/dist/lib/chunk-GTNYRHTO.js.map +1 -0
  185. package/dist/lib/chunk-HCJQJ2NV.cjs +203 -0
  186. package/dist/lib/chunk-HCJQJ2NV.cjs.map +1 -0
  187. package/dist/lib/{chunk-32Q2PG5D.js → chunk-HDUSUF6L.js} +3 -1
  188. package/dist/lib/chunk-HDUSUF6L.js.map +1 -0
  189. package/dist/lib/{chunk-TANQDHYY.js → chunk-HQ6TGY34.js} +3 -1
  190. package/dist/lib/chunk-HQ6TGY34.js.map +1 -0
  191. package/dist/lib/{chunk-JG4IL7XL.cjs → chunk-HYQXPNVP.cjs} +4 -2
  192. package/dist/lib/chunk-HYQXPNVP.cjs.map +1 -0
  193. package/dist/lib/{chunk-KJDASLW3.js → chunk-JEB4OVD5.js} +70 -14
  194. package/dist/lib/chunk-JEB4OVD5.js.map +1 -0
  195. package/dist/lib/{chunk-GK75G3OD.cjs → chunk-JSU4O5TH.cjs} +7 -5
  196. package/dist/lib/chunk-JSU4O5TH.cjs.map +1 -0
  197. package/dist/lib/chunk-K3FDM5F3.cjs +4 -0
  198. package/dist/lib/chunk-K3FDM5F3.cjs.map +1 -0
  199. package/dist/lib/{chunk-ZDBHX3VV.cjs → chunk-K7EXK3ZX.cjs} +142 -85
  200. package/dist/lib/chunk-K7EXK3ZX.cjs.map +1 -0
  201. package/dist/lib/{chunk-N5YLKWC2.js → chunk-KLU5DWCZ.js} +5 -11
  202. package/dist/lib/chunk-KLU5DWCZ.js.map +1 -0
  203. package/dist/lib/{chunk-R3E56AJ4.cjs → chunk-LIZRGQES.cjs} +7 -5
  204. package/dist/lib/chunk-LIZRGQES.cjs.map +1 -0
  205. package/dist/lib/{chunk-UJYCAW2D.cjs → chunk-LQMUXGB5.cjs} +37 -10
  206. package/dist/lib/chunk-LQMUXGB5.cjs.map +1 -0
  207. package/dist/lib/{chunk-CU23POMD.js → chunk-LSSLZECF.js} +4 -2
  208. package/dist/lib/chunk-LSSLZECF.js.map +1 -0
  209. package/dist/lib/{chunk-4NHFXDTQ.cjs → chunk-MFC7UJHT.cjs} +5 -3
  210. package/dist/lib/chunk-MFC7UJHT.cjs.map +1 -0
  211. package/dist/lib/{chunk-6RLV3FIS.js → chunk-MJ6WN3XA.js} +4 -2
  212. package/dist/lib/chunk-MJ6WN3XA.js.map +1 -0
  213. package/dist/lib/{chunk-HM52GHX3.js → chunk-MZ3GS5X3.js} +31 -4
  214. package/dist/lib/chunk-MZ3GS5X3.js.map +1 -0
  215. package/dist/lib/{chunk-T6KEXFRH.cjs → chunk-NPSC73QO.cjs} +10 -8
  216. package/dist/lib/chunk-NPSC73QO.cjs.map +1 -0
  217. package/dist/lib/{chunk-NST5TNW6.js → chunk-OC2AD37X.js} +3 -1
  218. package/dist/lib/chunk-OC2AD37X.js.map +1 -0
  219. package/dist/lib/{chunk-WUE7NTBW.cjs → chunk-OGEFARN2.cjs} +12 -10
  220. package/dist/lib/chunk-OGEFARN2.cjs.map +1 -0
  221. package/dist/lib/{chunk-3OCI4TH7.cjs → chunk-OXOTWH3L.cjs} +6 -4
  222. package/dist/lib/chunk-OXOTWH3L.cjs.map +1 -0
  223. package/dist/{plugin-utils/chunk-USNT2KNT.cjs → lib/chunk-PK6SKIKE.cjs} +2 -0
  224. package/dist/lib/chunk-PK6SKIKE.cjs.map +1 -0
  225. package/dist/lib/{chunk-XBM7FHNK.js → chunk-Q25ZPXA7.js} +3 -1
  226. package/dist/lib/chunk-Q25ZPXA7.js.map +1 -0
  227. package/dist/lib/{chunk-XUYQYUWZ.cjs → chunk-QBE4SZN6.cjs} +6 -4
  228. package/dist/lib/chunk-QBE4SZN6.cjs.map +1 -0
  229. package/dist/lib/{chunk-GA3RXX4R.cjs → chunk-QHTL2U3L.cjs} +10 -8
  230. package/dist/lib/chunk-QHTL2U3L.cjs.map +1 -0
  231. package/dist/lib/chunk-QMKA57N4.cjs +4 -0
  232. package/dist/lib/chunk-QMKA57N4.cjs.map +1 -0
  233. package/dist/lib/{chunk-MRAGQ33T.js → chunk-RHADQ6HA.js} +4 -2
  234. package/dist/lib/chunk-RHADQ6HA.js.map +1 -0
  235. package/dist/lib/{chunk-4SULM54S.js → chunk-RNSQODBR.js} +190 -109
  236. package/dist/lib/chunk-RNSQODBR.js.map +1 -0
  237. package/dist/lib/{chunk-2NZADVP5.cjs → chunk-RQICHHZM.cjs} +4 -2
  238. package/dist/lib/chunk-RQICHHZM.cjs.map +1 -0
  239. package/dist/lib/{chunk-YGSXCTX2.js → chunk-RTFLBGJI.js} +4 -3
  240. package/dist/lib/chunk-RTFLBGJI.js.map +1 -0
  241. package/dist/lib/chunk-SIYSGNDD.js +100 -0
  242. package/dist/lib/chunk-SIYSGNDD.js.map +1 -0
  243. package/dist/lib/chunk-SP5FOE5B.cjs +109 -0
  244. package/dist/lib/chunk-SP5FOE5B.cjs.map +1 -0
  245. package/dist/lib/{chunk-67DW5UDQ.js → chunk-SUABYS33.js} +5 -3
  246. package/dist/lib/chunk-SUABYS33.js.map +1 -0
  247. package/dist/lib/{chunk-CP77I6WM.js → chunk-US6LDIXH.js} +100 -43
  248. package/dist/lib/chunk-US6LDIXH.js.map +1 -0
  249. package/dist/lib/chunk-UYDY7RRQ.cjs +4 -0
  250. package/dist/lib/chunk-UYDY7RRQ.cjs.map +1 -0
  251. package/dist/lib/{chunk-AHK7GRPM.js → chunk-W2KADD56.js} +4 -2
  252. package/dist/lib/chunk-W2KADD56.js.map +1 -0
  253. package/dist/lib/chunk-XBOHJTOI.cjs +4 -0
  254. package/dist/lib/chunk-XBOHJTOI.cjs.map +1 -0
  255. package/dist/lib/{chunk-XLHFUATD.cjs → chunk-Y5KONJVR.cjs} +55 -2
  256. package/dist/lib/chunk-Y5KONJVR.cjs.map +1 -0
  257. package/dist/lib/chunk-YF57WETC.cjs +16 -0
  258. package/dist/lib/chunk-YF57WETC.cjs.map +1 -0
  259. package/dist/lib/{chunk-AFLI3CLM.js → chunk-YFB6OGXJ.js} +4 -2
  260. package/dist/lib/chunk-YFB6OGXJ.js.map +1 -0
  261. package/dist/lib/{chunk-L56XA427.js → chunk-YJEZASNU.js} +41 -3
  262. package/dist/lib/chunk-YJEZASNU.js.map +1 -0
  263. package/dist/lib/{chunk-A2NW7WAN.js → chunk-YMEXAI6M.js} +3 -1
  264. package/dist/lib/chunk-YMEXAI6M.js.map +1 -0
  265. package/dist/lib/{chunk-YYEAV24J.cjs → chunk-YYG2XJQN.cjs} +30 -11
  266. package/dist/lib/chunk-YYG2XJQN.cjs.map +1 -0
  267. package/dist/lib/{chunk-NDC5BKCD.cjs → chunk-YZ2NKI4K.cjs} +4 -2
  268. package/dist/lib/chunk-YZ2NKI4K.cjs.map +1 -0
  269. package/dist/lib/{chunk-YYN6TKSY.cjs → chunk-ZFOPHCGK.cjs} +4 -2
  270. package/dist/lib/chunk-ZFOPHCGK.cjs.map +1 -0
  271. package/dist/lib/{chunk-HL4KTZDB.cjs → chunk-ZGTXKPKZ.cjs} +5 -3
  272. package/dist/lib/chunk-ZGTXKPKZ.cjs.map +1 -0
  273. package/dist/lib/{chunk-4W6WV35V.js → chunk-ZLWW2MXD.js} +21 -15
  274. package/dist/lib/chunk-ZLWW2MXD.js.map +1 -0
  275. package/dist/lib/{chunk-YB54H3SQ.js → chunk-ZVZFMMNL.js} +10 -6
  276. package/dist/lib/chunk-ZVZFMMNL.js.map +1 -0
  277. package/dist/lib/{chunk-D6MI2V6R.cjs → chunk-ZWLSNYIN.cjs} +23 -17
  278. package/dist/lib/chunk-ZWLSNYIN.cjs.map +1 -0
  279. package/dist/lib/{config-DMXVnKGF.d.cts → config-CFT-8XXu.d.cts} +104 -21
  280. package/dist/lib/{config-B2q8Me0M.d.ts → config-CwebNcAh.d.ts} +104 -21
  281. package/dist/lib/config-file.cjs +6 -4
  282. package/dist/lib/config-file.cjs.map +1 -0
  283. package/dist/lib/config-file.d.cts +6 -2
  284. package/dist/lib/config-file.d.ts +6 -2
  285. package/dist/lib/config-file.js +4 -2
  286. package/dist/lib/config-file.js.map +1 -0
  287. package/dist/lib/contexts/api-context.cjs +20 -17
  288. package/dist/lib/contexts/api-context.cjs.map +1 -0
  289. package/dist/lib/contexts/api-context.d.cts +29 -6
  290. package/dist/lib/contexts/api-context.d.ts +29 -6
  291. package/dist/lib/contexts/api-context.js +19 -16
  292. package/dist/lib/contexts/api-context.js.map +1 -0
  293. package/dist/lib/contexts/context.cjs +17 -14
  294. package/dist/lib/contexts/context.cjs.map +1 -0
  295. package/dist/lib/contexts/context.d.cts +78 -11
  296. package/dist/lib/contexts/context.d.ts +78 -11
  297. package/dist/lib/contexts/context.js +16 -13
  298. package/dist/lib/contexts/context.js.map +1 -0
  299. package/dist/lib/contexts/environment-context.cjs +19 -16
  300. package/dist/lib/contexts/environment-context.cjs.map +1 -0
  301. package/dist/lib/contexts/environment-context.d.cts +10 -5
  302. package/dist/lib/contexts/environment-context.d.ts +10 -5
  303. package/dist/lib/contexts/environment-context.js +18 -15
  304. package/dist/lib/contexts/environment-context.js.map +1 -0
  305. package/dist/lib/contexts/index.cjs +24 -21
  306. package/dist/lib/contexts/index.cjs.map +1 -0
  307. package/dist/lib/contexts/index.d.cts +9 -4
  308. package/dist/lib/contexts/index.d.ts +9 -4
  309. package/dist/lib/contexts/index.js +20 -17
  310. package/dist/lib/contexts/index.js.map +1 -0
  311. package/dist/lib/contexts/plugin-context.cjs +5 -3
  312. package/dist/lib/contexts/plugin-context.cjs.map +1 -0
  313. package/dist/lib/contexts/plugin-context.d.cts +8 -4
  314. package/dist/lib/contexts/plugin-context.d.ts +8 -4
  315. package/dist/lib/contexts/plugin-context.js +4 -2
  316. package/dist/lib/contexts/plugin-context.js.map +1 -0
  317. package/dist/lib/entry.cjs +13 -10
  318. package/dist/lib/entry.cjs.map +1 -0
  319. package/dist/lib/entry.d.cts +6 -2
  320. package/dist/lib/entry.d.ts +6 -2
  321. package/dist/lib/entry.js +5 -2
  322. package/dist/lib/entry.js.map +1 -0
  323. package/dist/lib/fs/helpers.cjs +18 -12
  324. package/dist/lib/fs/helpers.cjs.map +1 -0
  325. package/dist/lib/fs/helpers.d.cts +10 -1
  326. package/dist/lib/fs/helpers.d.ts +10 -1
  327. package/dist/lib/fs/helpers.js +4 -2
  328. package/dist/lib/fs/helpers.js.map +1 -0
  329. package/dist/lib/fs/index.cjs +12 -9
  330. package/dist/lib/fs/index.cjs.map +1 -0
  331. package/dist/lib/fs/index.d.cts +7 -3
  332. package/dist/lib/fs/index.d.ts +7 -3
  333. package/dist/lib/fs/index.js +11 -8
  334. package/dist/lib/fs/index.js.map +1 -0
  335. package/dist/lib/fs/storage/base.cjs +5 -3
  336. package/dist/lib/fs/storage/base.cjs.map +1 -0
  337. package/dist/lib/fs/storage/base.d.cts +42 -1
  338. package/dist/lib/fs/storage/base.d.ts +42 -1
  339. package/dist/lib/fs/storage/base.js +4 -2
  340. package/dist/lib/fs/storage/base.js.map +1 -0
  341. package/dist/lib/fs/storage/file-system.cjs +7 -5
  342. package/dist/lib/fs/storage/file-system.cjs.map +1 -0
  343. package/dist/lib/fs/storage/file-system.d.cts +34 -2
  344. package/dist/lib/fs/storage/file-system.d.ts +34 -2
  345. package/dist/lib/fs/storage/file-system.js +6 -4
  346. package/dist/lib/fs/storage/file-system.js.map +1 -0
  347. package/dist/lib/fs/storage/index.cjs +10 -8
  348. package/dist/lib/fs/storage/index.cjs.map +1 -0
  349. package/dist/lib/fs/storage/index.d.cts +4 -2
  350. package/dist/lib/fs/storage/index.d.ts +4 -2
  351. package/dist/lib/fs/storage/index.js +7 -5
  352. package/dist/lib/fs/storage/index.js.map +1 -0
  353. package/dist/lib/fs/storage/virtual.cjs +6 -4
  354. package/dist/lib/fs/storage/virtual.cjs.map +1 -0
  355. package/dist/lib/fs/storage/virtual.d.cts +2 -1
  356. package/dist/lib/fs/storage/virtual.d.ts +2 -1
  357. package/dist/lib/fs/storage/virtual.js +5 -3
  358. package/dist/lib/fs/storage/virtual.js.map +1 -0
  359. package/dist/lib/fs/vfs.cjs +11 -8
  360. package/dist/lib/fs/vfs.cjs.map +1 -0
  361. package/dist/lib/fs/vfs.d.cts +51 -7
  362. package/dist/lib/fs/vfs.d.ts +51 -7
  363. package/dist/lib/fs/vfs.js +10 -7
  364. package/dist/lib/fs/vfs.js.map +1 -0
  365. package/dist/lib/{fs-Dg-aTfiN.d.cts → fs-abWbkR69.d.cts} +85 -4
  366. package/dist/lib/{fs-Dg-aTfiN.d.ts → fs-abWbkR69.d.ts} +85 -4
  367. package/dist/lib/index.cjs +98 -95
  368. package/dist/lib/index.cjs.map +1 -0
  369. package/dist/lib/index.d.cts +10 -6
  370. package/dist/lib/index.d.ts +10 -6
  371. package/dist/lib/index.js +38 -35
  372. package/dist/lib/index.js.map +1 -0
  373. package/dist/lib/{internal-CfIJWv8T.d.cts → internal-BavTJeC5.d.cts} +2 -2
  374. package/dist/lib/{internal-CGIi3MOX.d.ts → internal-DxQ28691.d.ts} +2 -2
  375. package/dist/lib/logger.cjs +6 -4
  376. package/dist/lib/logger.cjs.map +1 -0
  377. package/dist/lib/logger.d.cts +6 -2
  378. package/dist/lib/logger.d.ts +6 -2
  379. package/dist/lib/logger.js +4 -2
  380. package/dist/lib/logger.js.map +1 -0
  381. package/dist/lib/typescript/import-transformer.cjs +5 -3
  382. package/dist/lib/typescript/import-transformer.cjs.map +1 -0
  383. package/dist/lib/typescript/import-transformer.d.cts +6 -2
  384. package/dist/lib/typescript/import-transformer.d.ts +6 -2
  385. package/dist/lib/typescript/import-transformer.js +4 -2
  386. package/dist/lib/typescript/import-transformer.js.map +1 -0
  387. package/dist/lib/typescript/index.cjs +21 -19
  388. package/dist/lib/typescript/index.cjs.map +1 -0
  389. package/dist/lib/typescript/index.d.cts +6 -2
  390. package/dist/lib/typescript/index.d.ts +6 -2
  391. package/dist/lib/typescript/index.js +8 -6
  392. package/dist/lib/typescript/index.js.map +1 -0
  393. package/dist/lib/typescript/isolated-decl.cjs +5 -3
  394. package/dist/lib/typescript/isolated-decl.cjs.map +1 -0
  395. package/dist/lib/typescript/isolated-decl.js +4 -2
  396. package/dist/lib/typescript/isolated-decl.js.map +1 -0
  397. package/dist/lib/typescript/ts-morph.cjs +6 -4
  398. package/dist/lib/typescript/ts-morph.cjs.map +1 -0
  399. package/dist/lib/typescript/ts-morph.d.cts +8 -4
  400. package/dist/lib/typescript/ts-morph.d.ts +8 -4
  401. package/dist/lib/typescript/ts-morph.js +4 -2
  402. package/dist/lib/typescript/ts-morph.js.map +1 -0
  403. package/dist/lib/typescript/tsconfig.cjs +11 -9
  404. package/dist/lib/typescript/tsconfig.cjs.map +1 -0
  405. package/dist/lib/typescript/tsconfig.js +4 -2
  406. package/dist/lib/typescript/tsconfig.js.map +1 -0
  407. package/dist/lib/unplugin/factory.cjs +23 -21
  408. package/dist/lib/unplugin/factory.cjs.map +1 -0
  409. package/dist/lib/unplugin/factory.d.cts +8 -4
  410. package/dist/lib/unplugin/factory.d.ts +8 -4
  411. package/dist/lib/unplugin/factory.js +22 -20
  412. package/dist/lib/unplugin/factory.js.map +1 -0
  413. package/dist/lib/unplugin/helpers.cjs +5 -3
  414. package/dist/lib/unplugin/helpers.cjs.map +1 -0
  415. package/dist/lib/unplugin/helpers.d.cts +6 -2
  416. package/dist/lib/unplugin/helpers.d.ts +6 -2
  417. package/dist/lib/unplugin/helpers.js +4 -2
  418. package/dist/lib/unplugin/helpers.js.map +1 -0
  419. package/dist/lib/unplugin/index.cjs +28 -26
  420. package/dist/lib/unplugin/index.cjs.map +1 -0
  421. package/dist/lib/unplugin/index.d.cts +9 -5
  422. package/dist/lib/unplugin/index.d.ts +9 -5
  423. package/dist/lib/unplugin/index.js +25 -23
  424. package/dist/lib/unplugin/index.js.map +1 -0
  425. package/dist/lib/unplugin/plugin.cjs +8 -6
  426. package/dist/lib/unplugin/plugin.cjs.map +1 -0
  427. package/dist/lib/unplugin/plugin.d.cts +10 -19
  428. package/dist/lib/unplugin/plugin.d.ts +10 -19
  429. package/dist/lib/unplugin/plugin.js +7 -5
  430. package/dist/lib/unplugin/plugin.js.map +1 -0
  431. package/dist/lib/{unplugin-Da9GAj4a.d.ts → unplugin-CpYxomBB.d.ts} +2 -2
  432. package/dist/lib/{unplugin-B_F1TZK4.d.cts → unplugin-DVAN82cd.d.cts} +2 -2
  433. package/dist/lib/utilities/bundle.cjs +8 -5
  434. package/dist/lib/utilities/bundle.cjs.map +1 -0
  435. package/dist/lib/utilities/bundle.d.cts +6 -2
  436. package/dist/lib/utilities/bundle.d.ts +6 -2
  437. package/dist/lib/utilities/bundle.js +7 -4
  438. package/dist/lib/utilities/bundle.js.map +1 -0
  439. package/dist/lib/utilities/cache.cjs +7 -5
  440. package/dist/lib/utilities/cache.cjs.map +1 -0
  441. package/dist/lib/utilities/cache.d.cts +6 -2
  442. package/dist/lib/utilities/cache.d.ts +6 -2
  443. package/dist/lib/utilities/cache.js +5 -3
  444. package/dist/lib/utilities/cache.js.map +1 -0
  445. package/dist/lib/utilities/file-header.cjs +6 -4
  446. package/dist/lib/utilities/file-header.cjs.map +1 -0
  447. package/dist/lib/utilities/file-header.d.cts +6 -2
  448. package/dist/lib/utilities/file-header.d.ts +6 -2
  449. package/dist/lib/utilities/file-header.js +4 -2
  450. package/dist/lib/utilities/file-header.js.map +1 -0
  451. package/dist/lib/utilities/index.cjs +45 -42
  452. package/dist/lib/utilities/index.cjs.map +1 -0
  453. package/dist/lib/utilities/index.d.cts +6 -2
  454. package/dist/lib/utilities/index.d.ts +6 -2
  455. package/dist/lib/utilities/index.js +17 -14
  456. package/dist/lib/utilities/index.js.map +1 -0
  457. package/dist/lib/utilities/meta.cjs +10 -8
  458. package/dist/lib/utilities/meta.cjs.map +1 -0
  459. package/dist/lib/utilities/meta.d.cts +6 -2
  460. package/dist/lib/utilities/meta.d.ts +6 -2
  461. package/dist/lib/utilities/meta.js +4 -2
  462. package/dist/lib/utilities/meta.js.map +1 -0
  463. package/dist/lib/utilities/resolve.cjs +9 -6
  464. package/dist/lib/utilities/resolve.cjs.map +1 -0
  465. package/dist/lib/utilities/resolve.d.cts +6 -2
  466. package/dist/lib/utilities/resolve.d.ts +6 -2
  467. package/dist/lib/utilities/resolve.js +8 -5
  468. package/dist/lib/utilities/resolve.js.map +1 -0
  469. package/dist/lib/utilities/source-file.cjs +7 -5
  470. package/dist/lib/utilities/source-file.cjs.map +1 -0
  471. package/dist/lib/utilities/source-file.d.cts +6 -2
  472. package/dist/lib/utilities/source-file.d.ts +6 -2
  473. package/dist/lib/utilities/source-file.js +4 -2
  474. package/dist/lib/utilities/source-file.js.map +1 -0
  475. package/dist/lib/utilities/source-map.cjs +5 -3
  476. package/dist/lib/utilities/source-map.cjs.map +1 -0
  477. package/dist/lib/utilities/source-map.d.cts +6 -2
  478. package/dist/lib/utilities/source-map.d.ts +6 -2
  479. package/dist/lib/utilities/source-map.js +4 -2
  480. package/dist/lib/utilities/source-map.js.map +1 -0
  481. package/dist/lib/utilities/worker.cjs +7 -5
  482. package/dist/lib/utilities/worker.cjs.map +1 -0
  483. package/dist/lib/utilities/worker.d.cts +6 -2
  484. package/dist/lib/utilities/worker.d.ts +6 -2
  485. package/dist/lib/utilities/worker.js +5 -3
  486. package/dist/lib/utilities/worker.js.map +1 -0
  487. package/dist/lib/utilities/write-file.cjs +5 -3
  488. package/dist/lib/utilities/write-file.cjs.map +1 -0
  489. package/dist/lib/utilities/write-file.d.cts +6 -2
  490. package/dist/lib/utilities/write-file.d.ts +6 -2
  491. package/dist/lib/utilities/write-file.js +4 -2
  492. package/dist/lib/utilities/write-file.js.map +1 -0
  493. package/dist/next.cjs +5 -5
  494. package/dist/next.js +4 -4
  495. package/dist/nuxt.cjs +7 -7
  496. package/dist/nuxt.js +5 -5
  497. package/dist/plugin-utils/{chunk-GV7O3E7P.js → chunk-36OM2X4L.js} +4 -2
  498. package/dist/plugin-utils/chunk-36OM2X4L.js.map +1 -0
  499. package/dist/plugin-utils/{chunk-SHUYVCID.js → chunk-7QVYU63E.js} +2 -0
  500. package/dist/plugin-utils/chunk-7QVYU63E.js.map +1 -0
  501. package/dist/plugin-utils/{chunk-XIXI67PY.js → chunk-7YN6UEMJ.js} +4 -2
  502. package/dist/plugin-utils/chunk-7YN6UEMJ.js.map +1 -0
  503. package/dist/plugin-utils/{chunk-DZZPNO5H.cjs → chunk-B2V5OVYF.cjs} +6 -4
  504. package/dist/plugin-utils/chunk-B2V5OVYF.cjs.map +1 -0
  505. package/dist/plugin-utils/{chunk-NFXNZFMN.cjs → chunk-DUIPLC7F.cjs} +5 -3
  506. package/dist/plugin-utils/chunk-DUIPLC7F.cjs.map +1 -0
  507. package/dist/plugin-utils/{chunk-SEH3RVMF.js → chunk-G32M72GJ.js} +3 -1
  508. package/dist/plugin-utils/chunk-G32M72GJ.js.map +1 -0
  509. package/dist/plugin-utils/{chunk-5MO4BCOW.cjs → chunk-GH7PPING.cjs} +4 -2
  510. package/dist/plugin-utils/chunk-GH7PPING.cjs.map +1 -0
  511. package/dist/plugin-utils/{chunk-CYVV2MB7.js → chunk-H7GJUBNY.js} +3 -1
  512. package/dist/plugin-utils/chunk-H7GJUBNY.js.map +1 -0
  513. package/dist/plugin-utils/{chunk-ECFS7DPV.cjs → chunk-ID47RJFS.cjs} +9 -7
  514. package/dist/plugin-utils/chunk-ID47RJFS.cjs.map +1 -0
  515. package/dist/plugin-utils/chunk-NRJ5QYX2.js +14 -0
  516. package/dist/plugin-utils/chunk-NRJ5QYX2.js.map +1 -0
  517. package/dist/{lib/chunk-USNT2KNT.cjs → plugin-utils/chunk-PK6SKIKE.cjs} +2 -0
  518. package/dist/plugin-utils/chunk-PK6SKIKE.cjs.map +1 -0
  519. package/dist/plugin-utils/{chunk-QKMG6ZAU.js → chunk-QQ63YK2G.js} +4 -2
  520. package/dist/plugin-utils/chunk-QQ63YK2G.js.map +1 -0
  521. package/dist/plugin-utils/chunk-RBMEE2JC.cjs +16 -0
  522. package/dist/plugin-utils/chunk-RBMEE2JC.cjs.map +1 -0
  523. package/dist/plugin-utils/{chunk-UNAGYQRB.cjs → chunk-UXLKUCEY.cjs} +9 -7
  524. package/dist/plugin-utils/chunk-UXLKUCEY.cjs.map +1 -0
  525. package/dist/plugin-utils/{chunk-F65J5WOX.cjs → chunk-VJGI676W.cjs} +16 -14
  526. package/dist/plugin-utils/chunk-VJGI676W.cjs.map +1 -0
  527. package/dist/plugin-utils/{chunk-L277XSSN.js → chunk-X4BI25Z5.js} +3 -1
  528. package/dist/plugin-utils/chunk-X4BI25Z5.js.map +1 -0
  529. package/dist/plugin-utils/{context-y3G_SQPM.d.cts → context-BwokDIBz.d.cts} +167 -10
  530. package/dist/plugin-utils/{context-y3G_SQPM.d.ts → context-BwokDIBz.d.ts} +167 -10
  531. package/dist/plugin-utils/context-helpers.cjs +6 -4
  532. package/dist/plugin-utils/context-helpers.cjs.map +1 -0
  533. package/dist/plugin-utils/context-helpers.d.cts +4 -1
  534. package/dist/plugin-utils/context-helpers.d.ts +4 -1
  535. package/dist/plugin-utils/context-helpers.js +4 -2
  536. package/dist/plugin-utils/context-helpers.js.map +1 -0
  537. package/dist/plugin-utils/enforce.cjs +8 -6
  538. package/dist/plugin-utils/enforce.cjs.map +1 -0
  539. package/dist/plugin-utils/enforce.d.cts +4 -1
  540. package/dist/plugin-utils/enforce.d.ts +4 -1
  541. package/dist/plugin-utils/enforce.js +7 -5
  542. package/dist/plugin-utils/enforce.js.map +1 -0
  543. package/dist/plugin-utils/extend.cjs +7 -5
  544. package/dist/plugin-utils/extend.cjs.map +1 -0
  545. package/dist/plugin-utils/extend.d.cts +4 -1
  546. package/dist/plugin-utils/extend.d.ts +4 -1
  547. package/dist/plugin-utils/extend.js +6 -4
  548. package/dist/plugin-utils/extend.js.map +1 -0
  549. package/dist/plugin-utils/get-config-path.cjs +5 -3
  550. package/dist/plugin-utils/get-config-path.cjs.map +1 -0
  551. package/dist/plugin-utils/get-config-path.d.cts +4 -1
  552. package/dist/plugin-utils/get-config-path.d.ts +4 -1
  553. package/dist/plugin-utils/get-config-path.js +4 -2
  554. package/dist/plugin-utils/get-config-path.js.map +1 -0
  555. package/dist/plugin-utils/helpers.cjs +17 -15
  556. package/dist/plugin-utils/helpers.cjs.map +1 -0
  557. package/dist/plugin-utils/helpers.d.cts +14 -11
  558. package/dist/plugin-utils/helpers.d.ts +14 -11
  559. package/dist/plugin-utils/helpers.js +4 -2
  560. package/dist/plugin-utils/helpers.js.map +1 -0
  561. package/dist/plugin-utils/index.cjs +30 -28
  562. package/dist/plugin-utils/index.cjs.map +1 -0
  563. package/dist/plugin-utils/index.d.cts +4 -1
  564. package/dist/plugin-utils/index.d.ts +4 -1
  565. package/dist/plugin-utils/index.js +10 -8
  566. package/dist/plugin-utils/index.js.map +1 -0
  567. package/dist/plugin-utils/merge.cjs +6 -4
  568. package/dist/plugin-utils/merge.cjs.map +1 -0
  569. package/dist/plugin-utils/merge.d.cts +4 -1
  570. package/dist/plugin-utils/merge.d.ts +4 -1
  571. package/dist/plugin-utils/merge.js +5 -3
  572. package/dist/plugin-utils/merge.js.map +1 -0
  573. package/dist/plugin-utils/paths.cjs +5 -3
  574. package/dist/plugin-utils/paths.cjs.map +1 -0
  575. package/dist/plugin-utils/paths.d.cts +5 -1
  576. package/dist/plugin-utils/paths.d.ts +5 -1
  577. package/dist/plugin-utils/paths.js +4 -2
  578. package/dist/plugin-utils/paths.js.map +1 -0
  579. package/dist/rolldown.cjs +17 -9
  580. package/dist/rolldown.d.cts +5 -1
  581. package/dist/rolldown.d.ts +5 -1
  582. package/dist/rolldown.js +4 -9
  583. package/dist/rollup.cjs +4 -4
  584. package/dist/rollup.d.cts +5 -1
  585. package/dist/rollup.d.ts +5 -1
  586. package/dist/rollup.js +3 -3
  587. package/dist/rspack.cjs +4 -4
  588. package/dist/rspack.d.cts +5 -1
  589. package/dist/rspack.d.ts +5 -1
  590. package/dist/rspack.js +3 -3
  591. package/dist/tsdown.cjs +114 -0
  592. package/dist/tsdown.d.cts +28 -0
  593. package/dist/tsdown.d.ts +28 -0
  594. package/dist/tsdown.js +108 -0
  595. package/dist/tsup.cjs +5 -5
  596. package/dist/tsup.js +4 -4
  597. package/dist/types/api.d.cts +6 -2
  598. package/dist/types/api.d.ts +6 -2
  599. package/dist/types/babel.d.cts +5 -1
  600. package/dist/types/babel.d.ts +5 -1
  601. package/dist/types/build.d.cts +11 -10
  602. package/dist/types/build.d.ts +11 -10
  603. package/dist/types/commands.d.cts +5 -1
  604. package/dist/types/commands.d.ts +5 -1
  605. package/dist/types/config.d.cts +5 -1
  606. package/dist/types/config.d.ts +5 -1
  607. package/dist/types/context.cjs +2 -2
  608. package/dist/types/context.d.cts +5 -1
  609. package/dist/types/context.d.ts +5 -1
  610. package/dist/types/context.js +1 -1
  611. package/dist/types/fs.cjs +4 -4
  612. package/dist/types/fs.d.cts +85 -4
  613. package/dist/types/fs.d.ts +85 -4
  614. package/dist/types/fs.js +1 -1
  615. package/dist/types/hooks.d.cts +5 -1
  616. package/dist/types/hooks.d.ts +5 -1
  617. package/dist/types/index.cjs +6 -6
  618. package/dist/types/index.d.cts +7 -3
  619. package/dist/types/index.d.ts +7 -3
  620. package/dist/types/index.js +2 -2
  621. package/dist/types/internal.d.cts +6 -2
  622. package/dist/types/internal.d.ts +6 -2
  623. package/dist/types/plugin.d.cts +5 -1
  624. package/dist/types/plugin.d.ts +5 -1
  625. package/dist/types/resolved.d.cts +5 -1
  626. package/dist/types/resolved.d.ts +5 -1
  627. package/dist/types/unplugin.d.cts +6 -2
  628. package/dist/types/unplugin.d.ts +6 -2
  629. package/dist/unloader.cjs +4 -4
  630. package/dist/unloader.d.cts +5 -1
  631. package/dist/unloader.d.ts +5 -1
  632. package/dist/unloader.js +3 -3
  633. package/dist/unplugin.cjs +10 -8
  634. package/dist/unplugin.d.cts +8 -17
  635. package/dist/unplugin.d.ts +8 -17
  636. package/dist/unplugin.js +8 -6
  637. package/dist/vite.cjs +7 -7
  638. package/dist/vite.d.cts +5 -1
  639. package/dist/vite.d.ts +5 -1
  640. package/dist/vite.js +4 -4
  641. package/dist/webpack.cjs +7 -7
  642. package/dist/webpack.d.cts +5 -1
  643. package/dist/webpack.d.ts +5 -1
  644. package/dist/webpack.js +4 -4
  645. package/package.json +72 -48
  646. package/dist/chunk-GBIIAZH5.cjs +0 -13
  647. package/dist/chunk-QXHINXRM.js +0 -11
  648. package/dist/chunk-UWLQNNZE.cjs +0 -12
  649. package/dist/config.cjs +0 -13
  650. package/dist/config.d.cts +0 -45
  651. package/dist/config.d.ts +0 -45
  652. package/dist/config.js +0 -4
  653. package/dist/lib/chunk-35FGUJFD.cjs +0 -2
  654. package/dist/lib/chunk-DX2VAXZB.cjs +0 -11
  655. package/dist/lib/chunk-FFT4PWRM.js +0 -1
  656. package/dist/lib/chunk-GKCWJVF7.cjs +0 -147
  657. package/dist/lib/chunk-H5JWMXTZ.js +0 -1
  658. package/dist/lib/chunk-I2DQRMX3.js +0 -1
  659. package/dist/lib/chunk-K2SFTPN3.cjs +0 -2
  660. package/dist/lib/chunk-MVIKYHBX.cjs +0 -2
  661. package/dist/lib/chunk-NQAHFTUW.js +0 -1
  662. package/dist/lib/chunk-NYNHNTHT.js +0 -1
  663. package/dist/lib/chunk-VVSEE3JE.cjs +0 -2
  664. package/dist/lib/chunk-YK4PYVLM.cjs +0 -2
  665. package/dist/plugin-utils/chunk-K2GWRZPV.js +0 -12
  666. package/dist/plugin-utils/chunk-VWFJOPKC.cjs +0 -14
@@ -1,13 +1,12 @@
1
1
  import { PLUGIN_NON_HOOK_FIELDS } from './chunk-6MQ6LCVC.js';
2
2
  import { SUPPORTED_COMMANDS } from './chunk-2MYPFASJ.js';
3
- import { StoragePreset } from './chunk-FZ6J2GMT.js';
3
+ import { StoragePreset } from './chunk-575Z57QD.js';
4
4
  import { __name } from './chunk-7QVYU63E.js';
5
5
  import { transformAsync } from '@babel/core';
6
6
  import { formatLogMessage } from '@storm-software/config-tools/logger/console';
7
7
  import { LogLevelLabel } from '@storm-software/config-tools/types';
8
8
  import { toArray } from '@stryke/convert/to-array';
9
- import { copyFiles } from '@stryke/fs/copy-file';
10
- import { createDirectory } from '@stryke/fs/helpers';
9
+ import { createDirectorySync, createDirectory } from '@stryke/fs/helpers';
11
10
  import { install } from '@stryke/fs/install';
12
11
  import { listFilesSync, listFiles } from '@stryke/fs/list-files';
13
12
  import { isPackageExists, isPackageListed, doesPackageMatch, getPackageListing } from '@stryke/fs/package-fns';
@@ -18,6 +17,7 @@ import { replacePath, replaceExtension } from '@stryke/path/replace';
18
17
  import { isError } from '@stryke/type-checks/is-error';
19
18
  import { isFunction } from '@stryke/type-checks/is-function';
20
19
  import { isNumber } from '@stryke/type-checks/is-number';
20
+ import { isObject } from '@stryke/type-checks/is-object';
21
21
  import { isPromiseLike } from '@stryke/type-checks/is-promise';
22
22
  import { isSet } from '@stryke/type-checks/is-set';
23
23
  import { isSetObject } from '@stryke/type-checks/is-set-object';
@@ -27,9 +27,9 @@ import Handlebars from 'handlebars';
27
27
  import { declare } from '@babel/helper-plugin-utils';
28
28
  import * as t from '@babel/types';
29
29
  import ts, { flattenDiagnosticMessageText } from 'typescript';
30
- import { joinPaths } from '@stryke/path/join';
31
- import defu7, { defu } from 'defu';
30
+ import defu7, { createDefu, defu } from 'defu';
32
31
  import { InMemoryFileSystemHost, Project } from 'ts-morph';
32
+ import { isString } from '@stryke/type-checks/is-string';
33
33
  import { getPackageName, hasPackageVersion, getPackageVersion } from '@stryke/string-format/package';
34
34
  import { getObjectDiff } from '@donedeal0/superdiff';
35
35
  import { readJsonFile, readJsonFileSync } from '@stryke/fs/json';
@@ -37,8 +37,6 @@ import { StormJSON } from '@stryke/json/storm-json';
37
37
  import { hasFileExtension, findFilePath, findFileName, relativePath, findFileDotExtensionSafe } from '@stryke/path/file-path-fns';
38
38
  import { titleCase } from '@stryke/string-format/title-case';
39
39
  import { existsSync, exists } from '@stryke/fs/exists';
40
- import { writeFileSync, writeFile as writeFile$1 } from '@stryke/fs/write-file';
41
- import { resolveConfig, format } from 'prettier';
42
40
  import { getWorkspaceConfig } from '@storm-software/config-tools/get-config';
43
41
  import { loadConfig } from 'c12';
44
42
  import { getEnvPaths } from '@stryke/env/get-env-paths';
@@ -47,33 +45,38 @@ import { hashDirectory } from '@stryke/hash/hash-files';
47
45
  import { murmurhash } from '@stryke/hash/murmurhash';
48
46
  import { getUnique, getUniqueBy } from '@stryke/helpers/get-unique';
49
47
  import { omit } from '@stryke/helpers/omit';
48
+ import { fetchRequest } from '@stryke/http/fetch';
50
49
  import { isAbsolutePath, isAbsolute } from '@stryke/path/is-type';
50
+ import { joinPaths } from '@stryke/path/join';
51
51
  import { isNull } from '@stryke/type-checks/is-null';
52
- import { isString } from '@stryke/type-checks/is-string';
53
52
  import { uuid } from '@stryke/unique-id/uuid';
54
53
  import { tsconfigPathsToRegExp, match } from 'bundle-require';
54
+ import { create } from 'flat-cache';
55
+ import { parse } from 'oxc-parser';
56
+ import { Agent, setGlobalDispatcher, interceptors, Response } from 'undici';
55
57
  import { createJiti } from 'jiti';
56
58
  import { isUndefined } from '@stryke/type-checks/is-undefined';
57
59
  import { parseTypeDefinition } from '@stryke/convert/parse-type-definition';
58
- import { isFile } from '@stryke/fs/is-file';
60
+ import { isDirectory, isFile } from '@stryke/fs/is-file';
59
61
  import * as $ from '@stryke/capnp';
60
62
  import { readFileBuffer, readFileBufferSync, writeFileBuffer } from '@stryke/fs/buffer';
61
- import { correctPath, toAbsolutePath } from '@stryke/path/correct-path';
62
63
  import { isParentPath } from '@stryke/path/is-parent-path';
63
64
  import { prettyBytes } from '@stryke/string-format/pretty-bytes';
64
- import { create } from 'flat-cache';
65
65
  import { Blob } from 'node:buffer';
66
+ import { fileURLToPath } from 'node:url';
67
+ import { resolveConfig, format } from 'prettier';
66
68
  import { getLogFn, getLogLevel } from '@storm-software/config-tools/logger';
67
69
  import { getColor } from '@storm-software/config-tools/utilities/colors';
68
70
  import { noop } from '@stryke/helpers/noop';
71
+ import { correctPath } from '@stryke/path/correct-path';
69
72
  import { slash } from '@stryke/path/slash';
70
73
  import { readFileSync, readFile } from '@stryke/fs/read-file';
74
+ import { writeFileSync, writeFile } from '@stryke/fs/write-file';
71
75
  import { unlinkSync } from 'node:fs';
72
76
  import { unlink } from 'node:fs/promises';
73
77
  import { resolve } from 'node:path';
74
78
  import '@stryke/fs/remove-file';
75
79
  import { kebabCase } from '@stryke/string-format/kebab-case';
76
- import { isObject } from '@stryke/type-checks/is-object';
77
80
 
78
81
  function resolveModulePath(nodePath, state) {
79
82
  if (!t.isStringLiteral(nodePath.node)) {
@@ -189,13 +192,16 @@ var VirtualFileSystemHost = class extends InMemoryFileSystemHost {
189
192
  this.#context.fs.removeSync(path);
190
193
  }
191
194
  readDirSync(dirPath) {
195
+ if (!this.#context.fs.isDirectorySync(dirPath)) {
196
+ return [];
197
+ }
192
198
  return this.#context.fs.listSync(dirPath).reduce((ret, entry) => {
193
- const fullPath = this.#context.fs.resolveSync(joinPaths(dirPath, entry));
199
+ const fullPath = this.#context.fs.resolveSync(entry);
194
200
  if (fullPath) {
195
201
  ret.push({
196
202
  name: entry,
197
- isDirectory: this.#context.fs.existsSync(fullPath),
198
- isFile: this.#context.fs.existsSync(fullPath),
203
+ isDirectory: this.#context.fs.isDirectorySync(fullPath),
204
+ isFile: this.#context.fs.isFileSync(fullPath),
199
205
  isSymlink: false
200
206
  });
201
207
  }
@@ -203,14 +209,14 @@ var VirtualFileSystemHost = class extends InMemoryFileSystemHost {
203
209
  }, []);
204
210
  }
205
211
  async readFile(filePath) {
206
- if (!this.#context.fs.existsSync(filePath)) {
207
- throw new Error(`File not found: '${filePath}'. Please check the path and try again.`);
212
+ if (!this.#context.fs.isFileSync(filePath)) {
213
+ return "";
208
214
  }
209
215
  return await this.#context.fs.read(filePath);
210
216
  }
211
217
  readFileSync(filePath) {
212
- if (!this.#context.fs.existsSync(filePath)) {
213
- throw new Error(`File not found: '${filePath}'. Please check the path and try again.`);
218
+ if (!this.#context.fs.isFileSync(filePath)) {
219
+ return "";
214
220
  }
215
221
  return this.#context.fs.readSync(filePath);
216
222
  }
@@ -220,9 +226,11 @@ var VirtualFileSystemHost = class extends InMemoryFileSystemHost {
220
226
  writeFileSync(filePath, fileText) {
221
227
  this.#context.fs.writeSync(filePath, fileText);
222
228
  }
223
- async mkdir(_dirPath) {
229
+ async mkdir(dirPath) {
230
+ await this.#context.fs.mkdir(dirPath);
224
231
  }
225
- mkdirSync(_dirPath) {
232
+ mkdirSync(dirPath) {
233
+ this.#context.fs.mkdirSync(dirPath);
226
234
  }
227
235
  async move(srcPath, destPath) {
228
236
  await this.#context.fs.move(srcPath, destPath);
@@ -237,16 +245,16 @@ var VirtualFileSystemHost = class extends InMemoryFileSystemHost {
237
245
  this.#context.fs.copySync(srcPath, destPath);
238
246
  }
239
247
  async fileExists(filePath) {
240
- return this.#context.fs.exists(filePath);
248
+ return this.#context.fs.isFile(filePath);
241
249
  }
242
250
  fileExistsSync(filePath) {
243
- return this.#context.fs.existsSync(filePath);
251
+ return this.#context.fs.isFileSync(filePath);
244
252
  }
245
253
  async directoryExists(dirPath) {
246
- return this.#context.fs.exists(dirPath);
254
+ return this.#context.fs.isDirectory(dirPath);
247
255
  }
248
256
  directoryExistsSync(dirPath) {
249
- return this.#context.fs.existsSync(dirPath);
257
+ return this.#context.fs.isDirectorySync(dirPath);
250
258
  }
251
259
  realpathSync(path) {
252
260
  return this.#context.fs.resolveSync(path) || path;
@@ -325,6 +333,14 @@ ${diagnosticMessage.length > 5e3 ? `${diagnosticMessage.slice(0, 5e3)}...` : dia
325
333
  return formatTypes(builtinModules);
326
334
  }
327
335
  __name(emitTypes, "emitTypes");
336
+ var mergeResults = createDefu((obj, key, value) => {
337
+ if (isString(obj[key]) && isString(value)) {
338
+ obj[key] = `${obj[key] || ""}
339
+ ${value || ""}`.trim();
340
+ return true;
341
+ }
342
+ return false;
343
+ });
328
344
  async function callHook(context, hook, options, ...args) {
329
345
  const handlers = context.selectHooks(hook, options);
330
346
  if (handlers.length > 0) {
@@ -332,18 +348,28 @@ async function callHook(context, hook, options, ...args) {
332
348
  let results = [];
333
349
  if (options?.sequential === false) {
334
350
  results = await Promise.all(handlers.map(async (handler) => {
335
- if (!isFunction(handler)) {
351
+ if (!isFunction(handler.handle)) {
336
352
  throw new Error(`Plugin hook handler for hook "${hook}" is not a function.`);
337
353
  }
338
- return Promise.resolve(handler.apply(null, ...args));
354
+ return Promise.resolve(
355
+ // eslint-disable-next-line ts/no-unsafe-call
356
+ handler.handle.apply(handler.context, [
357
+ ...args
358
+ ])
359
+ );
339
360
  }));
340
361
  } else {
341
362
  for (const handler of handlers) {
342
- if (!isFunction(handler)) {
363
+ if (!isFunction(handler.handle)) {
343
364
  throw new Error(`Plugin hook handler for hook "${hook}" is not a function.`);
344
365
  }
345
366
  if (options?.result === "first" || options?.asNextParam === false) {
346
- results.push(await Promise.resolve(handler.apply(null, ...args)));
367
+ results.push(await Promise.resolve(
368
+ // eslint-disable-next-line ts/no-unsafe-call
369
+ handler.handle.apply(handler.context, [
370
+ ...args
371
+ ])
372
+ ));
347
373
  if (options?.result === "first" && isSet(results[results.length - 1])) {
348
374
  break;
349
375
  }
@@ -356,11 +382,26 @@ async function callHook(context, hook, options, ...args) {
356
382
  }
357
383
  const result = await Promise.resolve(
358
384
  // eslint-disable-next-line ts/no-unsafe-call
359
- handler.apply(null, ...sequenceArgs)
385
+ handler.handle.apply(handler.context, [
386
+ ...sequenceArgs
387
+ ])
360
388
  );
361
- results = [
362
- result
363
- ];
389
+ if (result) {
390
+ if (options?.result === "last") {
391
+ results = [
392
+ result
393
+ ];
394
+ } else if (isString(result)) {
395
+ results = [
396
+ `${isString(results[0]) ? results[0] || "" : ""}
397
+ ${result || ""}`.trim()
398
+ ];
399
+ } else if (isObject(result)) {
400
+ results = [
401
+ mergeResults(result, results[0] ?? {})
402
+ ];
403
+ }
404
+ }
364
405
  }
365
406
  }
366
407
  }
@@ -526,33 +567,20 @@ ${parsedCommandLine.errors.map((error) => `- ${(error.category !== void 0 && err
526
567
  };
527
568
  }
528
569
  __name(getParsedTypeScriptConfig, "getParsedTypeScriptConfig");
529
- async function writeFile(log, filepath, content, skipFormat = false) {
530
- try {
531
- if (skipFormat) {
532
- await writeFile$1(filepath, content);
533
- } else {
534
- const config = await resolveConfig(filepath);
535
- const formatted = await format(content, {
536
- ...config ?? {},
537
- filepath
538
- });
539
- await writeFile$1(filepath, formatted || "");
540
- }
541
- } catch (error) {
542
- log(LogLevelLabel.ERROR, `Failed to write file ${filepath} to disk
543
- ${error?.message ? error.message : ""}`);
544
- }
545
- }
546
- __name(writeFile, "writeFile");
547
570
 
548
571
  // src/internal/helpers/resolve-tsconfig.ts
572
+ function getTsconfigDtsPath(context) {
573
+ const dtsRelativePath = joinPaths$1(relativePath(joinPaths$1(context.workspaceConfig.workspaceRoot, context.config.projectRoot), findFilePath(context.dtsPath)), findFileName(context.dtsPath));
574
+ return dtsRelativePath;
575
+ }
576
+ __name(getTsconfigDtsPath, "getTsconfigDtsPath");
549
577
  async function resolveTsconfigChanges(context) {
550
578
  const tsconfig = getParsedTypeScriptConfig(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.config.tsconfig, context.config.tsconfigRaw);
551
579
  const tsconfigFilePath = getTsconfigFilePath(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.config.tsconfig);
552
580
  const tsconfigJson = await readJsonFile(tsconfigFilePath);
553
581
  tsconfigJson.compilerOptions ??= {};
554
582
  if (context.config.output.dts !== false) {
555
- const dtsRelativePath = joinPaths$1(relativePath(joinPaths$1(context.workspaceConfig.workspaceRoot, context.config.projectRoot), findFilePath(context.dtsPath)), findFileName(context.dtsPath));
583
+ const dtsRelativePath = getTsconfigDtsPath(context);
556
584
  if (!tsconfigJson.include?.some((filePattern) => isIncludeMatchFound(filePattern, [
557
585
  context.dtsPath,
558
586
  dtsRelativePath
@@ -594,7 +622,7 @@ async function initializeTsconfig(context) {
594
622
  context.tsconfig.originalTsconfigJson = await readJsonFile(tsconfigFilePath);
595
623
  context.tsconfig.tsconfigJson = await resolveTsconfigChanges(context);
596
624
  context.log(LogLevelLabel.TRACE, "Writing updated TypeScript configuration (tsconfig.json) file to disk.");
597
- await writeFile(context.log, tsconfigFilePath, StormJSON.stringify(context.tsconfig.tsconfigJson));
625
+ await context.fs.write(tsconfigFilePath, StormJSON.stringify(context.tsconfig.tsconfigJson));
598
626
  context.tsconfig = getParsedTypeScriptConfig(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.config.tsconfig, context.config.tsconfigRaw, context.tsconfig.originalTsconfigJson);
599
627
  }
600
628
  __name(initializeTsconfig, "initializeTsconfig");
@@ -643,13 +671,11 @@ async function resolveTsconfig(context) {
643
671
  `).join("\n")}
644
672
  `);
645
673
  }
646
- await writeFile(context.log, context.tsconfig.tsconfigFilePath, StormJSON.stringify(updateTsconfigJson));
674
+ await context.fs.write(context.tsconfig.tsconfigFilePath, StormJSON.stringify(updateTsconfigJson));
647
675
  context.tsconfig = getParsedTypeScriptConfig(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.config.tsconfig);
648
676
  if (!context.tsconfig) {
649
677
  throw new Error("Failed to parse the TypeScript configuration file.");
650
678
  }
651
- context.tsconfig.tsconfigJson.compilerOptions ??= {};
652
- context.tsconfig.tsconfigJson.compilerOptions.strict = false;
653
679
  }
654
680
  __name(resolveTsconfig, "resolveTsconfig");
655
681
  var DEFAULT_ENVIRONMENT = "default";
@@ -829,7 +855,7 @@ function replacePathTokens(context, path) {
829
855
  if (!path) {
830
856
  return path;
831
857
  }
832
- return path.replaceAll("{workspaceRoot}", context.workspaceConfig.workspaceRoot).replaceAll("{root}", context.config.projectRoot).replaceAll("{projectRoot}", context.config.projectRoot).replaceAll("{powerlinesPath}", context.powerlinesPath).replaceAll("{cachePath}", context.cachePath).replaceAll("{dataPath}", context.dataPath).replaceAll("{logPath}", context.envPaths.log).replaceAll("{tempPath}", context.envPaths.temp).replaceAll("{configPath}", context.envPaths.config).replaceAll("{outputPath}", context.config.output.outputPath).replaceAll("{buildPath}", context.config.output.buildPath).replaceAll("{artifactsPath}", replacePath(context.artifactsPath, context.workspaceConfig.workspaceRoot)).replaceAll("{builtinPath}", replacePath(context.builtinsPath, context.workspaceConfig.workspaceRoot)).replaceAll("{entryPath}", replacePath(context.entryPath, context.workspaceConfig.workspaceRoot));
858
+ return path.replaceAll("{workspaceRoot}", context.workspaceConfig.workspaceRoot).replaceAll("{root}", context.config.projectRoot).replaceAll("{projectRoot}", context.config.projectRoot).replaceAll("{sourceRoot}", context.config.sourceRoot).replaceAll("{powerlinesPath}", context.powerlinesPath).replaceAll("{cachePath}", context.cachePath).replaceAll("{dataPath}", context.dataPath).replaceAll("{logPath}", context.envPaths.log).replaceAll("{tempPath}", context.envPaths.temp).replaceAll("{configPath}", context.envPaths.config).replaceAll("{outputPath}", context.config.output.outputPath).replaceAll("{buildPath}", context.config.output.buildPath).replaceAll("{artifactsPath}", replacePath(context.artifactsPath, context.workspaceConfig.workspaceRoot)).replaceAll("{builtinPath}", replacePath(context.builtinsPath, context.workspaceConfig.workspaceRoot)).replaceAll("{entryPath}", replacePath(context.entryPath, context.workspaceConfig.workspaceRoot));
833
859
  }
834
860
  __name(replacePathTokens, "replacePathTokens");
835
861
  function resolveEntryInputFile(context, typeDefinition) {
@@ -1163,20 +1189,17 @@ function normalizePath(path, builtinsPath, prefix = "powerlines") {
1163
1189
  return isAbsolutePath(path) ? path : isValidId(toFilePath(path), prefix) ? normalizeId(toFilePath(path), prefix).replace(new RegExp(`^${prefix.replace(/:$/, "")}:`), builtinsPath) : toFilePath(path);
1164
1190
  }
1165
1191
  __name(normalizePath, "normalizePath");
1166
- function normalizeKey(key, sep = ":") {
1167
- if (!key) {
1168
- return "";
1169
- }
1170
- return key.replace(/[:/\\]/g, sep).replace(/^[:/\\]|[:/\\]$/g, "");
1171
- }
1172
- __name(normalizeKey, "normalizeKey");
1173
- function filterKeyByBase(key, base) {
1174
- if (base) {
1175
- return key.startsWith(base) && key[key.length - 1] !== "$";
1176
- }
1177
- return key[key.length - 1] !== "$";
1192
+ function normalizeGlobPatterns(workspaceRoot, patterns) {
1193
+ return getUnique(toArray(patterns).map((pattern) => {
1194
+ if (isSetObject(pattern) && (isSetString(pattern.input) || isSetString(pattern.glob))) {
1195
+ return joinPaths(pattern.input || workspaceRoot, pattern.glob || "**/*");
1196
+ } else if (!isSetString(pattern)) {
1197
+ return void 0;
1198
+ }
1199
+ return pattern;
1200
+ }).filter(isSetString));
1178
1201
  }
1179
- __name(filterKeyByBase, "filterKeyByBase");
1202
+ __name(normalizeGlobPatterns, "normalizeGlobPatterns");
1180
1203
  var BaseStorageAdapter = class {
1181
1204
  static {
1182
1205
  __name(this, "BaseStorageAdapter");
@@ -1231,6 +1254,21 @@ var BaseStorageAdapter = class {
1231
1254
  }
1232
1255
  }
1233
1256
  /**
1257
+ * Synchronously creates a directory at the specified path.
1258
+ *
1259
+ * @param _ - The path of the directory to create.
1260
+ */
1261
+ mkdirSync(_) {
1262
+ }
1263
+ /**
1264
+ * Creates a directory at the specified path.
1265
+ *
1266
+ * @param dirPath - The path of the directory to create.
1267
+ */
1268
+ async mkdir(dirPath) {
1269
+ return Promise.resolve(this.mkdirSync(dirPath));
1270
+ }
1271
+ /**
1234
1272
  * Asynchronously removes a key from the storage.
1235
1273
  *
1236
1274
  * @param key - The key to remove.
@@ -1279,6 +1317,42 @@ var BaseStorageAdapter = class {
1279
1317
  return this.listSync(base);
1280
1318
  }
1281
1319
  /**
1320
+ * Synchronously checks if the given key is a directory.
1321
+ *
1322
+ * @param _ - The key to check.
1323
+ * @returns `true` if the key is a directory, otherwise `false`.
1324
+ */
1325
+ isDirectorySync(_) {
1326
+ return false;
1327
+ }
1328
+ /**
1329
+ * Checks if the given key is a directory.
1330
+ *
1331
+ * @param key - The key to check.
1332
+ * @returns A promise that resolves to `true` if the key is a directory, otherwise `false`.
1333
+ */
1334
+ async isDirectory(key) {
1335
+ return Promise.resolve(this.isDirectorySync(key));
1336
+ }
1337
+ /**
1338
+ * Synchronously checks if the given key is a file.
1339
+ *
1340
+ * @param key - The key to check.
1341
+ * @returns `true` if the key is a file, otherwise `false`.
1342
+ */
1343
+ isFileSync(key) {
1344
+ return this.existsSync(key) && !this.isDirectorySync(key);
1345
+ }
1346
+ /**
1347
+ * Checks if the given key is a file.
1348
+ *
1349
+ * @param key - The key to check.
1350
+ * @returns A promise that resolves to `true` if the key is a file, otherwise `false`.
1351
+ */
1352
+ async isFile(key) {
1353
+ return Promise.resolve(this.isFileSync(key));
1354
+ }
1355
+ /**
1282
1356
  * Disposes of the storage adapter, releasing any held resources.
1283
1357
  *
1284
1358
  * @returns A promise that resolves when the disposal is complete.
@@ -1391,7 +1465,7 @@ var FileSystemStorageAdapter = class extends BaseStorageAdapter {
1391
1465
  */
1392
1466
  async set(key, value) {
1393
1467
  if (!this.options.isReadOnly) {
1394
- return writeFile$1(this.resolve(key), value);
1468
+ return writeFile(this.resolve(key), value);
1395
1469
  }
1396
1470
  }
1397
1471
  /**
@@ -1419,6 +1493,22 @@ var FileSystemStorageAdapter = class extends BaseStorageAdapter {
1419
1493
  }
1420
1494
  }
1421
1495
  /**
1496
+ * Synchronously creates a directory at the specified path.
1497
+ *
1498
+ * @param dirPath - The path of the directory to create.
1499
+ */
1500
+ mkdirSync(dirPath) {
1501
+ createDirectorySync(this.resolve(dirPath));
1502
+ }
1503
+ /**
1504
+ * Creates a directory at the specified path.
1505
+ *
1506
+ * @param dirPath - The path of the directory to create.
1507
+ */
1508
+ async mkdir(dirPath) {
1509
+ await createDirectory(this.resolve(dirPath));
1510
+ }
1511
+ /**
1422
1512
  * Lists all keys under a given base path synchronously.
1423
1513
  *
1424
1514
  * @param base - The base path to list keys from.
@@ -1444,6 +1534,24 @@ var FileSystemStorageAdapter = class extends BaseStorageAdapter {
1444
1534
  ignore: this.options.ignore
1445
1535
  }).catch(ignoreNotfound).then((r) => r || []);
1446
1536
  }
1537
+ /**
1538
+ * Synchronously checks if the given key is a directory.
1539
+ *
1540
+ * @param key - The key to check.
1541
+ * @returns `true` if the key is a directory, otherwise `false`.
1542
+ */
1543
+ isDirectorySync(key) {
1544
+ return isDirectory(this.resolve(key));
1545
+ }
1546
+ /**
1547
+ * Synchronously checks if the given key is a file.
1548
+ *
1549
+ * @param key - The key to check.
1550
+ * @returns `true` if the key is a file, otherwise `false`.
1551
+ */
1552
+ isFileSync(key) {
1553
+ return !isFile(this.resolve(key));
1554
+ }
1447
1555
  };
1448
1556
  var VirtualStorageAdapter = class extends BaseStorageAdapter {
1449
1557
  static {
@@ -1574,7 +1682,11 @@ var VirtualFileSystem = class _VirtualFileSystem {
1574
1682
  * @returns The normalized module id.
1575
1683
  */
1576
1684
  #normalizeId(id) {
1577
- return normalizeId(id, this.#context.config.output.builtinPrefix);
1685
+ let normalized = id;
1686
+ if (isParentPath(normalized, this.#context.builtinsPath)) {
1687
+ normalized = replacePath(normalized, this.#context.builtinsPath);
1688
+ }
1689
+ return normalizeId(normalized, this.#context.config.output.builtinPrefix);
1578
1690
  }
1579
1691
  /**
1580
1692
  * Normalizes a given path by resolving it against the project root, workspace root, and built-ins path.
@@ -1583,7 +1695,7 @@ var VirtualFileSystem = class _VirtualFileSystem {
1583
1695
  * @returns The normalized path.
1584
1696
  */
1585
1697
  #normalizePath(path) {
1586
- return normalizePath(path, this.#context.builtinsPath, this.#context.config.output.builtinPrefix);
1698
+ return normalizePath(path.includes("{") || path.includes("}") ? replacePathTokens(this.#context, path) : path, this.#context.builtinsPath, this.#context.config.output.builtinPrefix);
1587
1699
  }
1588
1700
  /**
1589
1701
  * Builds a regular expression from a string pattern for path matching.
@@ -1810,26 +1922,65 @@ var VirtualFileSystem = class _VirtualFileSystem {
1810
1922
  return this.#getStorage(resolved)?.adapter?.name === "virtual";
1811
1923
  }
1812
1924
  /**
1925
+ * Checks if a path is a directory in the virtual file system (VFS).
1926
+ *
1927
+ * @param path - The path to check.
1928
+ * @returns `true` if the path is a directory, otherwise `false`.
1929
+ */
1930
+ isDirectorySync(path) {
1931
+ const resolved = this.resolveSync(path);
1932
+ if (!resolved) {
1933
+ return false;
1934
+ }
1935
+ return !!(this.existsSync(resolved) && this.#getStorage(resolved)?.adapter?.isDirectorySync(resolved));
1936
+ }
1937
+ /**
1938
+ * Checks if a path is a directory in the virtual file system (VFS).
1939
+ *
1940
+ * @param path - The path to check.
1941
+ * @returns `true` if the path is a directory, otherwise `false`.
1942
+ */
1943
+ async isDirectory(path) {
1944
+ const resolved = await this.resolve(path);
1945
+ if (!resolved) {
1946
+ return false;
1947
+ }
1948
+ return !!(await this.exists(resolved) && await this.#getStorage(resolved)?.adapter?.isDirectory(resolved));
1949
+ }
1950
+ /**
1951
+ * Checks if a path is a file in the virtual file system (VFS).
1952
+ *
1953
+ * @param path - The path to check.
1954
+ * @returns `true` if the path is a file, otherwise `false`.
1955
+ */
1956
+ isFileSync(path) {
1957
+ const resolved = this.resolveSync(path);
1958
+ if (!resolved) {
1959
+ return false;
1960
+ }
1961
+ return this.#getStorage(resolved)?.adapter?.isFileSync(resolved) ?? false;
1962
+ }
1963
+ /**
1964
+ * Checks if a path is a file in the virtual file system (VFS).
1965
+ *
1966
+ * @param path - The path to check.
1967
+ * @returns `true` if the path is a file, otherwise `false`.
1968
+ */
1969
+ async isFile(path) {
1970
+ const resolved = await this.resolve(path);
1971
+ if (!resolved) {
1972
+ return false;
1973
+ }
1974
+ return await this.#getStorage(resolved)?.adapter?.isFile(resolved) ?? false;
1975
+ }
1976
+ /**
1813
1977
  * Lists files in a given path.
1814
1978
  *
1815
1979
  * @param path - The path to list files from.
1816
1980
  * @returns An array of file names in the specified path.
1817
1981
  */
1818
1982
  listSync(path) {
1819
- let maskedMounts = [];
1820
- const allKeys = [];
1821
- for (const storage of this.#getStorages(path, true)) {
1822
- for (const key of storage.adapter.listSync(storage.relativeBase)) {
1823
- if (!maskedMounts.some((p) => `${storage.base}${normalizeKey(key)}`.startsWith(p))) {
1824
- allKeys.push(`${storage.base}${normalizeKey(key)}`);
1825
- }
1826
- }
1827
- maskedMounts = [
1828
- storage.base,
1829
- ...maskedMounts.filter((p) => !p.startsWith(storage.base))
1830
- ];
1831
- }
1832
- return allKeys.filter((key) => filterKeyByBase(key, path));
1983
+ return getUnique(this.#getStorages(path, true).map((storage) => storage.adapter.listSync(storage.relativeBase ? storage.base ? appendPath(storage.relativeBase, storage.base) : storage.relativeBase : storage.base)).flat());
1833
1984
  }
1834
1985
  /**
1835
1986
  * Lists files in a given path.
@@ -1838,20 +1989,7 @@ var VirtualFileSystem = class _VirtualFileSystem {
1838
1989
  * @returns An array of file names in the specified path.
1839
1990
  */
1840
1991
  async list(path) {
1841
- let maskedMounts = [];
1842
- const allKeys = [];
1843
- for (const storage of this.#getStorages(path, true)) {
1844
- for (const key of await storage.adapter.list(storage.relativeBase)) {
1845
- if (!maskedMounts.some((p) => `${storage.base}${normalizeKey(key)}`.startsWith(p))) {
1846
- allKeys.push(`${storage.base}${normalizeKey(key)}`);
1847
- }
1848
- }
1849
- maskedMounts = [
1850
- storage.base,
1851
- ...maskedMounts.filter((p) => !p.startsWith(storage.base))
1852
- ];
1853
- }
1854
- return allKeys.filter((key) => filterKeyByBase(key, path));
1992
+ return getUnique((await Promise.all(this.#getStorages(path, true).map(async (storage) => storage.adapter.list(storage.relativeBase ? storage.base ? appendPath(storage.relativeBase, storage.base) : storage.relativeBase : storage.base)))).flat());
1855
1993
  }
1856
1994
  /**
1857
1995
  * Removes a file in the virtual file system (VFS).
@@ -1903,12 +2041,16 @@ var VirtualFileSystem = class _VirtualFileSystem {
1903
2041
  */
1904
2042
  async glob(patterns) {
1905
2043
  const results = [];
1906
- for (const pattern of toArray(patterns)) {
2044
+ for (const pattern of normalizeGlobPatterns(this.#context.workspaceConfig.workspaceRoot, patterns)) {
1907
2045
  const normalized = this.#normalizePath(pattern);
1908
2046
  if (!/[*?[\]{}]/.test(normalized) && !normalized.includes("**")) {
1909
- const resolved = this.resolveSync(normalized);
1910
- if (resolved && !results.includes(resolved)) {
1911
- results.push(resolved);
2047
+ if (this.isDirectorySync(normalized)) {
2048
+ results.push(...await this.list(normalized));
2049
+ } else {
2050
+ const resolved = await this.resolve(normalized);
2051
+ if (resolved && !results.includes(resolved)) {
2052
+ results.push(resolved);
2053
+ }
1912
2054
  }
1913
2055
  continue;
1914
2056
  }
@@ -1934,12 +2076,16 @@ var VirtualFileSystem = class _VirtualFileSystem {
1934
2076
  */
1935
2077
  globSync(patterns) {
1936
2078
  const results = [];
1937
- for (const pattern of toArray(patterns)) {
2079
+ for (const pattern of normalizeGlobPatterns(this.#context.workspaceConfig.workspaceRoot, patterns)) {
1938
2080
  const normalized = this.#normalizePath(pattern);
1939
2081
  if (!/[*?[\]{}]/.test(normalized) && !normalized.includes("**")) {
1940
- const resolved = this.resolveSync(normalized);
1941
- if (resolved && !results.includes(resolved)) {
1942
- results.push(resolved);
2082
+ if (this.isDirectorySync(normalized)) {
2083
+ results.push(...this.listSync(normalized));
2084
+ } else {
2085
+ const resolved = this.resolveSync(normalized);
2086
+ if (resolved && !results.includes(resolved)) {
2087
+ results.push(resolved);
2088
+ }
1943
2089
  }
1944
2090
  continue;
1945
2091
  }
@@ -1965,20 +2111,27 @@ var VirtualFileSystem = class _VirtualFileSystem {
1965
2111
  * @param destPath - The destination path to copy to
1966
2112
  */
1967
2113
  async copy(srcPath, destPath) {
1968
- if (hasFileExtension(srcPath)) {
1969
- const content = await this.read(srcPath);
2114
+ const src = srcPath instanceof URL ? fileURLToPath(srcPath) : srcPath;
2115
+ const dest = destPath instanceof URL ? fileURLToPath(destPath) : destPath;
2116
+ if (!isSetString(src) && (!isSetObject(src) || !isSetString(src.input)) || !isSetString(dest)) {
2117
+ return;
2118
+ }
2119
+ const sourceStr = isString(src) ? src : src.input ? src.input : this.#context.workspaceConfig.workspaceRoot;
2120
+ const source = await this.resolve(sourceStr);
2121
+ if (!source) {
2122
+ return;
2123
+ }
2124
+ if (this.isDirectorySync(source) || isSetString(src) && src.includes("*") || isSetObject(src) && isSetString(src.glob)) {
2125
+ await Promise.all((await this.glob(src)).map(async (file) => {
2126
+ return this.copy(file, appendPath(replacePath(file, sourceStr), dest));
2127
+ }));
2128
+ } else {
2129
+ const content = await this.read(source);
1970
2130
  if (content !== void 0) {
1971
- await this.write(hasFileExtension(destPath) ? destPath : joinPaths$1(destPath, findFileName(srcPath)), content);
2131
+ await this.write(this.#normalizePath(dest), content, {
2132
+ skipFormat: true
2133
+ });
1972
2134
  }
1973
- } else {
1974
- await Promise.all((await this.list(srcPath)).map(async (file) => {
1975
- const relativePath2 = file.replace(this.#normalizePath(srcPath), "");
1976
- const destinationPath = this.#normalizePath(appendPath(destPath, relativePath2));
1977
- const content = await this.read(file);
1978
- if (content !== void 0) {
1979
- await this.write(destinationPath, content);
1980
- }
1981
- }));
1982
2135
  }
1983
2136
  }
1984
2137
  /**
@@ -1988,20 +2141,27 @@ var VirtualFileSystem = class _VirtualFileSystem {
1988
2141
  * @param destPath - The destination path to copy to
1989
2142
  */
1990
2143
  copySync(srcPath, destPath) {
1991
- if (hasFileExtension(srcPath)) {
1992
- const content = this.readSync(srcPath);
2144
+ const src = srcPath instanceof URL ? fileURLToPath(srcPath) : srcPath;
2145
+ const dest = destPath instanceof URL ? fileURLToPath(destPath) : destPath;
2146
+ if (!isSetString(src) && (!isSetObject(src) || !isSetString(src.input)) || !isSetString(dest)) {
2147
+ return;
2148
+ }
2149
+ const sourceStr = isString(src) ? src : src.input ? src.input : this.#context.workspaceConfig.workspaceRoot;
2150
+ const source = this.resolveSync(sourceStr);
2151
+ if (!source) {
2152
+ return;
2153
+ }
2154
+ if (this.isDirectorySync(source) || isSetString(src) && src.includes("*") || isSetObject(src) && isSetString(src.glob)) {
2155
+ this.globSync(src).map((file) => {
2156
+ return this.copySync(file, appendPath(findFilePath(replacePath(file, sourceStr)), dest));
2157
+ });
2158
+ } else {
2159
+ const content = this.readSync(source);
1993
2160
  if (content !== void 0) {
1994
- this.writeSync(hasFileExtension(destPath) ? destPath : joinPaths$1(destPath, findFileName(srcPath)), content);
2161
+ this.writeSync(this.#normalizePath(hasFileExtension(dest) ? dest : appendPath(findFileName(source), dest)), content, {
2162
+ skipFormat: true
2163
+ });
1995
2164
  }
1996
- } else {
1997
- this.listSync(srcPath).forEach((file) => {
1998
- const relativePath2 = file.replace(this.#normalizePath(srcPath), "");
1999
- const destinationPath = this.#normalizePath(appendPath(destPath, relativePath2));
2000
- const content = this.readSync(file);
2001
- if (content !== void 0) {
2002
- this.writeSync(destinationPath, content);
2003
- }
2004
- });
2005
2165
  }
2006
2166
  }
2007
2167
  /**
@@ -2088,15 +2248,15 @@ var VirtualFileSystem = class _VirtualFileSystem {
2088
2248
  }
2089
2249
  }
2090
2250
  const { relativeKey, adapter } = this.#getStorage(path);
2091
- this.#log(LogLevelLabel.TRACE, `Writing ${this.#normalizePath(path)} to ${adapter.name === "virtual" ? "the virtual file system" : adapter.name === "file-system" ? "the local file system" : adapter.name} (size: ${prettyBytes(new Blob(toArray(code)).size)})`);
2092
- const id = options?.meta?.id || this.#normalizeId(path);
2251
+ this.#log(LogLevelLabel.TRACE, `Writing ${this.#normalizePath(relativeKey)} to ${adapter.name === "virtual" ? "the virtual file system" : adapter.name === "file-system" ? "the local file system" : adapter.name} (size: ${prettyBytes(new Blob(toArray(code)).size)})`);
2252
+ const id = options?.meta?.id || this.#normalizeId(relativeKey);
2093
2253
  this.#metadata[id] = {
2094
2254
  variant: "normal",
2095
2255
  timestamp: Date.now(),
2096
2256
  ...options.meta ?? {}
2097
2257
  };
2098
- this.#paths[id] = this.#normalizePath(path);
2099
- this.#ids[this.#normalizePath(path)] = id;
2258
+ this.#paths[id] = this.#normalizePath(relativeKey);
2259
+ this.#ids[this.#normalizePath(relativeKey)] = id;
2100
2260
  return adapter.set(relativeKey, code);
2101
2261
  }
2102
2262
  /**
@@ -2108,18 +2268,34 @@ var VirtualFileSystem = class _VirtualFileSystem {
2108
2268
  */
2109
2269
  writeSync(path, data = "", options = {}) {
2110
2270
  const { relativeKey, adapter } = this.#getStorage(path);
2111
- this.#log(LogLevelLabel.TRACE, `Writing ${this.#normalizePath(path)} file to ${adapter.name === "virtual" ? "the virtual file system" : adapter.name === "file-system" ? "the local file system" : adapter.name} (size: ${prettyBytes(new Blob(toArray(data)).size)})`);
2112
- const id = options?.meta?.id || this.#normalizeId(path);
2271
+ this.#log(LogLevelLabel.TRACE, `Writing ${this.#normalizePath(relativeKey)} file to ${adapter.name === "virtual" ? "the virtual file system" : adapter.name === "file-system" ? "the local file system" : adapter.name} (size: ${prettyBytes(new Blob(toArray(data)).size)})`);
2272
+ const id = options?.meta?.id || this.#normalizeId(relativeKey);
2113
2273
  this.#metadata[id] = {
2114
2274
  variant: "normal",
2115
2275
  timestamp: Date.now(),
2116
2276
  ...options.meta ?? {}
2117
2277
  };
2118
- this.#paths[id] = this.#normalizePath(path);
2119
- this.#ids[this.#normalizePath(path)] = id;
2278
+ this.#paths[id] = this.#normalizePath(relativeKey);
2279
+ this.#ids[this.#normalizePath(relativeKey)] = id;
2120
2280
  return adapter.setSync(relativeKey, data);
2121
2281
  }
2122
2282
  /**
2283
+ * Synchronously creates a directory at the specified path.
2284
+ *
2285
+ * @param dirPath - The path of the directory to create.
2286
+ */
2287
+ mkdirSync(dirPath) {
2288
+ return this.#getStorage(dirPath)?.adapter?.mkdirSync(dirPath);
2289
+ }
2290
+ /**
2291
+ * Creates a directory at the specified path.
2292
+ *
2293
+ * @param path - The path of the directory to create.
2294
+ */
2295
+ async mkdir(path) {
2296
+ return this.#getStorage(path)?.adapter?.mkdir(path);
2297
+ }
2298
+ /**
2123
2299
  * Retrieves the metadata of a file in the virtual file system (VFS).
2124
2300
  *
2125
2301
  * @param pathOrId - The path or ID of the file to retrieve metadata for.
@@ -2149,11 +2325,15 @@ var VirtualFileSystem = class _VirtualFileSystem {
2149
2325
  * @returns A promise that resolves to the resolved module path.
2150
2326
  */
2151
2327
  async resolve(id, importer, options = {}) {
2152
- if (isAbsolutePath(id)) {
2153
- return id;
2328
+ let path = id;
2329
+ if (path.includes("{") || path.includes("}")) {
2330
+ path = replacePathTokens(this.#context, path);
2331
+ }
2332
+ if (isAbsolutePath(path)) {
2333
+ return path;
2154
2334
  }
2155
2335
  const resolverCacheKey = murmurhash({
2156
- id: this.#normalizeId(id),
2336
+ path: this.#normalizeId(path),
2157
2337
  importer,
2158
2338
  options
2159
2339
  });
@@ -2164,7 +2344,7 @@ var VirtualFileSystem = class _VirtualFileSystem {
2164
2344
  return result;
2165
2345
  }
2166
2346
  }
2167
- result = this.paths[this.#normalizeId(id)];
2347
+ result = this.paths[this.#normalizeId(path)];
2168
2348
  if (!result) {
2169
2349
  const paths = options.paths ?? [];
2170
2350
  if (importer && !paths.includes(importer)) {
@@ -2173,8 +2353,8 @@ var VirtualFileSystem = class _VirtualFileSystem {
2173
2353
  paths.push(this.#context.workspaceConfig.workspaceRoot);
2174
2354
  paths.push(appendPath(this.#context.config.projectRoot, this.#context.workspaceConfig.workspaceRoot));
2175
2355
  paths.push(appendPath(this.#context.config.sourceRoot, this.#context.workspaceConfig.workspaceRoot));
2176
- paths.push(...Object.keys(this.#context.tsconfig.options.paths ?? {}).filter((tsconfigPath) => id.startsWith(tsconfigPath.replace(/\*$/, ""))).map((tsconfigPath) => this.#context.tsconfig.options.paths?.[tsconfigPath]).flat().filter(Boolean).map((tsconfigPath) => appendPath(tsconfigPath, this.#context.workspaceConfig.workspaceRoot)));
2177
- for (const combination of getResolutionCombinations(id, {
2356
+ paths.push(...Object.keys(this.#context.tsconfig?.options?.paths ?? {}).filter((tsconfigPath) => path.startsWith(tsconfigPath.replace(/\*$/, ""))).map((tsconfigPath) => this.#context.tsconfig?.options?.paths?.[tsconfigPath]).flat().filter(Boolean).map((tsconfigPath) => appendPath(tsconfigPath, this.#context.workspaceConfig.workspaceRoot)));
2357
+ for (const combination of getResolutionCombinations(path, {
2178
2358
  paths
2179
2359
  })) {
2180
2360
  const { relativeKey, adapter } = this.#getStorage(combination);
@@ -2183,19 +2363,18 @@ var VirtualFileSystem = class _VirtualFileSystem {
2183
2363
  break;
2184
2364
  }
2185
2365
  }
2186
- try {
2187
- result = await resolve$1(id, {
2188
- ...options,
2189
- paths
2190
- });
2191
- } catch {
2366
+ if (!result) {
2367
+ try {
2368
+ result = await resolve$1(path, {
2369
+ ...options,
2370
+ paths
2371
+ });
2372
+ } catch {
2373
+ }
2192
2374
  }
2193
2375
  }
2194
- if (result) {
2195
- result = toAbsolutePath(appendPath(result, this.#context.config.projectRoot), this.#context.workspaceConfig.workspaceRoot);
2196
- if (!this.#context.config.skipCache) {
2197
- this.resolverCache.set(resolverCacheKey, result);
2198
- }
2376
+ if (result && !this.#context.config.skipCache) {
2377
+ this.resolverCache.set(resolverCacheKey, result);
2199
2378
  }
2200
2379
  return result;
2201
2380
  }
@@ -2216,17 +2395,21 @@ var VirtualFileSystem = class _VirtualFileSystem {
2216
2395
  * @returns The resolved module path.
2217
2396
  */
2218
2397
  resolveSync(id, importer, options = {}) {
2219
- if (isAbsolutePath(id)) {
2220
- return id;
2398
+ let path = id;
2399
+ if (path.includes("{") || path.includes("}")) {
2400
+ path = replacePathTokens(this.#context, path);
2401
+ }
2402
+ if (isAbsolutePath(path)) {
2403
+ return path;
2221
2404
  }
2222
2405
  let result;
2223
2406
  if (!this.#context.config.skipCache) {
2224
- result = this.resolverCache.get(this.#normalizeId(id));
2407
+ result = this.resolverCache.get(this.#normalizeId(path));
2225
2408
  if (result) {
2226
2409
  return result;
2227
2410
  }
2228
2411
  }
2229
- result = this.paths[this.#normalizeId(id)];
2412
+ result = this.paths[this.#normalizeId(path)];
2230
2413
  if (!result) {
2231
2414
  const paths = options.paths ?? [];
2232
2415
  if (importer && !paths.includes(importer)) {
@@ -2235,8 +2418,8 @@ var VirtualFileSystem = class _VirtualFileSystem {
2235
2418
  paths.push(this.#context.workspaceConfig.workspaceRoot);
2236
2419
  paths.push(appendPath(this.#context.config.projectRoot, this.#context.workspaceConfig.workspaceRoot));
2237
2420
  paths.push(appendPath(this.#context.config.sourceRoot, this.#context.workspaceConfig.workspaceRoot));
2238
- paths.push(...Object.keys(this.#context.tsconfig.options.paths ?? {}).filter((tsconfigPath) => id.startsWith(tsconfigPath.replace(/\*$/, ""))).map((tsconfigPath) => this.#context.tsconfig.options.paths?.[tsconfigPath]).flat().filter(Boolean).map((tsconfigPath) => appendPath(tsconfigPath, this.#context.workspaceConfig.workspaceRoot)));
2239
- for (const combination of getResolutionCombinations(id, {
2421
+ paths.push(...Object.keys(this.#context.tsconfig?.options?.paths ?? {}).filter((tsconfigPath) => path.startsWith(tsconfigPath.replace(/\*$/, ""))).map((tsconfigPath) => this.#context.tsconfig?.options?.paths?.[tsconfigPath]).flat().filter(Boolean).map((tsconfigPath) => appendPath(tsconfigPath, this.#context.workspaceConfig.workspaceRoot)));
2422
+ for (const combination of getResolutionCombinations(path, {
2240
2423
  paths
2241
2424
  })) {
2242
2425
  const { relativeKey, adapter } = this.#getStorage(combination);
@@ -2245,18 +2428,18 @@ var VirtualFileSystem = class _VirtualFileSystem {
2245
2428
  break;
2246
2429
  }
2247
2430
  }
2248
- try {
2249
- result = resolveSync(id, {
2250
- paths
2251
- });
2252
- } catch {
2431
+ if (!result) {
2432
+ try {
2433
+ result = resolveSync(path, {
2434
+ ...options,
2435
+ paths
2436
+ });
2437
+ } catch {
2438
+ }
2253
2439
  }
2254
2440
  }
2255
- if (result) {
2256
- result = toAbsolutePath(appendPath(result, this.#context.config.projectRoot), this.#context.workspaceConfig.workspaceRoot);
2257
- if (!this.#context.config.skipCache) {
2258
- this.resolverCache.set(this.#normalizeId(id), result);
2259
- }
2441
+ if (result && !this.#context.config.skipCache) {
2442
+ this.resolverCache.set(this.#normalizeId(path), result);
2260
2443
  }
2261
2444
  return result;
2262
2445
  }
@@ -2350,16 +2533,29 @@ __name(writeMetaFile, "writeMetaFile");
2350
2533
 
2351
2534
  // src/lib/contexts/context.ts
2352
2535
  var configCache = /* @__PURE__ */ new WeakMap();
2536
+ var agent = new Agent({
2537
+ keepAliveTimeout: 1e4
2538
+ });
2539
+ setGlobalDispatcher(agent.compose(interceptors.retry({
2540
+ maxRetries: 3,
2541
+ minTimeout: 1e3,
2542
+ maxTimeout: 1e4,
2543
+ timeoutFactor: 2,
2544
+ retryAfter: true
2545
+ })));
2353
2546
  var PowerlinesContext = class _PowerlinesContext {
2354
2547
  static {
2355
2548
  __name(this, "PowerlinesContext");
2356
2549
  }
2357
2550
  /**
2358
- * Internal reference to the API instance
2551
+ * Internal references storage
2552
+ *
2553
+ * @danger
2554
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
2359
2555
  *
2360
2556
  * @internal
2361
2557
  */
2362
- #api;
2558
+ #internal = {};
2363
2559
  #workspaceConfig;
2364
2560
  #checksum = null;
2365
2561
  #buildId = uuid();
@@ -2369,7 +2565,8 @@ var PowerlinesContext = class _PowerlinesContext {
2369
2565
  #fs;
2370
2566
  #tsconfig;
2371
2567
  #program;
2372
- #resolvePatterns = [];
2568
+ #parserCache;
2569
+ #requestCache;
2373
2570
  #getConfigProps(config = {}) {
2374
2571
  return {
2375
2572
  variant: config.build?.variant,
@@ -2393,7 +2590,8 @@ var PowerlinesContext = class _PowerlinesContext {
2393
2590
  lint: config.lint,
2394
2591
  transform: config.transform,
2395
2592
  build: config.build,
2396
- framework: config.framework
2593
+ framework: config.framework,
2594
+ ...config
2397
2595
  };
2398
2596
  }
2399
2597
  /**
@@ -2441,14 +2639,30 @@ var PowerlinesContext = class _PowerlinesContext {
2441
2639
  */
2442
2640
  resolver;
2443
2641
  /**
2642
+ * The resolved configuration options
2643
+ */
2644
+ resolvePatterns = [];
2645
+ /**
2444
2646
  * Internal context fields and methods
2445
2647
  *
2648
+ * @danger
2649
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
2650
+ *
2446
2651
  * @internal
2447
2652
  */
2448
2653
  get $$internal() {
2449
- return {
2450
- api: this.#api
2451
- };
2654
+ return this.#internal;
2655
+ }
2656
+ /**
2657
+ * Internal context fields and methods
2658
+ *
2659
+ * @danger
2660
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
2661
+ *
2662
+ * @internal
2663
+ */
2664
+ set $$internal(value) {
2665
+ this.#internal = value;
2452
2666
  }
2453
2667
  /**
2454
2668
  * The resolved entry type definitions for the project
@@ -2472,7 +2686,7 @@ var PowerlinesContext = class _PowerlinesContext {
2472
2686
  */
2473
2687
  set tsconfig(value) {
2474
2688
  this.#tsconfig = value;
2475
- this.#resolvePatterns = tsconfigPathsToRegExp(value?.options?.paths ?? {});
2689
+ this.resolvePatterns = tsconfigPathsToRegExp(value?.options?.paths ?? {});
2476
2690
  }
2477
2691
  /**
2478
2692
  * The virtual file system interface for the project
@@ -2613,6 +2827,131 @@ var PowerlinesContext = class _PowerlinesContext {
2613
2827
  return this.#program;
2614
2828
  }
2615
2829
  /**
2830
+ * Gets the parser cache.
2831
+ */
2832
+ get parserCache() {
2833
+ if (!this.#parserCache) {
2834
+ this.#parserCache = create({
2835
+ cacheId: "parser",
2836
+ cacheDir: this.cachePath,
2837
+ ttl: 2 * 60 * 60 * 1e3,
2838
+ lruSize: 5e3,
2839
+ persistInterval: 250
2840
+ });
2841
+ }
2842
+ return this.#parserCache;
2843
+ }
2844
+ /**
2845
+ * Gets the request cache.
2846
+ */
2847
+ get requestCache() {
2848
+ if (!this.#requestCache) {
2849
+ this.#requestCache = create({
2850
+ cacheId: "http",
2851
+ cacheDir: this.cachePath,
2852
+ ttl: 5 * 60 * 1e3,
2853
+ lruSize: 5e3,
2854
+ persistInterval: 250
2855
+ });
2856
+ }
2857
+ return this.#requestCache;
2858
+ }
2859
+ /**
2860
+ * A function to perform HTTP fetch requests
2861
+ *
2862
+ * @remarks
2863
+ * This function uses a caching layer to avoid duplicate requests during the Powerlines process.
2864
+ *
2865
+ * @example
2866
+ * ```ts
2867
+ * const response = await context.fetch("https://api.example.com/data");
2868
+ * const data = await response.json();
2869
+ * ```
2870
+ *
2871
+ * @see https://github.com/nodejs/undici
2872
+ *
2873
+ * @param input - The URL to fetch.
2874
+ * @param options - The fetch request options.
2875
+ * @returns A promise that resolves to a response returned by the fetch.
2876
+ */
2877
+ async fetch(input, options = {}) {
2878
+ const cacheKey = murmurhash({
2879
+ input: input.toString(),
2880
+ options: JSON.stringify(options)
2881
+ });
2882
+ if (!this.config.skipCache && !options.skipCache) {
2883
+ const cached = this.requestCache.get(cacheKey);
2884
+ if (cached) {
2885
+ return new Response(cached.body, {
2886
+ status: cached.status,
2887
+ statusText: cached.statusText,
2888
+ headers: cached.headers
2889
+ });
2890
+ }
2891
+ }
2892
+ const response = await fetchRequest(input, {
2893
+ timeout: 12e3,
2894
+ ...options
2895
+ });
2896
+ const result = {
2897
+ body: await response.text(),
2898
+ status: response.status,
2899
+ statusText: response.statusText,
2900
+ headers: Object.fromEntries(response.headers.entries())
2901
+ };
2902
+ if (!this.config.skipCache && !options.skipCache) {
2903
+ try {
2904
+ this.requestCache.set(cacheKey, result);
2905
+ } catch {
2906
+ }
2907
+ }
2908
+ return new Response(result.body, {
2909
+ status: result.status,
2910
+ statusText: result.statusText,
2911
+ headers: result.headers
2912
+ });
2913
+ }
2914
+ /**
2915
+ * Parse code using [Oxc-Parser](https://github.com/oxc/oxc) into an (ESTree-compatible)[https://github.com/estree/estree] AST object.
2916
+ *
2917
+ * @remarks
2918
+ * This function can be used to parse TypeScript code into an AST for further analysis or transformation.
2919
+ *
2920
+ * @example
2921
+ * ```ts
2922
+ * const ast = context.parse("const x: number = 42;");
2923
+ * ```
2924
+ *
2925
+ * @see https://rollupjs.org/plugin-development/#this-parse
2926
+ * @see https://github.com/oxc/oxc
2927
+ *
2928
+ * @param code - The source code to parse.
2929
+ * @param options - The options to pass to the parser.
2930
+ * @returns An (ESTree-compatible)[https://github.com/estree/estree] AST object.
2931
+ */
2932
+ async parse(code, options = {}) {
2933
+ const cacheKey = murmurhash({
2934
+ code,
2935
+ options
2936
+ });
2937
+ let result;
2938
+ if (!this.config.skipCache) {
2939
+ result = this.parserCache.get(cacheKey);
2940
+ if (result) {
2941
+ return result;
2942
+ }
2943
+ }
2944
+ result = await parse(`source.${options.lang || "ts"}`, code, {
2945
+ ...options,
2946
+ sourceType: "module",
2947
+ showSemanticErrors: this.config.mode === "development"
2948
+ });
2949
+ if (!this.config.skipCache) {
2950
+ this.parserCache.set(cacheKey, result);
2951
+ }
2952
+ return result;
2953
+ }
2954
+ /**
2616
2955
  * A helper function to resolve modules in the Virtual File System
2617
2956
  *
2618
2957
  * @remarks
@@ -2657,7 +2996,7 @@ var PowerlinesContext = class _PowerlinesContext {
2657
2996
  };
2658
2997
  }
2659
2998
  if (this.config.build.skipNodeModulesBundle) {
2660
- if (match(moduleId, this.#resolvePatterns) || match(moduleId, this.config.build.noExternal)) {
2999
+ if (match(moduleId, this.resolvePatterns) || match(moduleId, this.config.build.noExternal)) {
2661
3000
  return void 0;
2662
3001
  }
2663
3002
  if (match(moduleId, this.config.build.external) || moduleId.startsWith("node:")) {
@@ -2851,6 +3190,26 @@ var PowerlinesContext = class _PowerlinesContext {
2851
3190
  return extendLog(this.log, name);
2852
3191
  }
2853
3192
  /**
3193
+ * Generates a checksum representing the current context state
3194
+ *
3195
+ * @param root - The root directory of the project to generate the checksum for
3196
+ * @returns A promise that resolves to a string representing the checksum
3197
+ */
3198
+ async generateChecksum(root = this.config.projectRoot) {
3199
+ this.#checksum = await hashDirectory(root, {
3200
+ ignore: [
3201
+ "node_modules",
3202
+ ".git",
3203
+ ".nx",
3204
+ ".cache",
3205
+ ".storm",
3206
+ "tmp",
3207
+ "dist"
3208
+ ]
3209
+ });
3210
+ return this.#checksum;
3211
+ }
3212
+ /**
2854
3213
  * Creates a new StormContext instance.
2855
3214
  *
2856
3215
  * @param workspaceConfig - The workspace configuration.
@@ -2872,26 +3231,6 @@ var PowerlinesContext = class _PowerlinesContext {
2872
3231
  */
2873
3232
  logFn;
2874
3233
  /**
2875
- * Generates a checksum representing the current context state
2876
- *
2877
- * @param root - The root directory of the project to generate the checksum for
2878
- * @returns A promise that resolves to a string representing the checksum
2879
- */
2880
- async generateChecksum(root = this.config.projectRoot) {
2881
- this.#checksum = await hashDirectory(root, {
2882
- ignore: [
2883
- "node_modules",
2884
- ".git",
2885
- ".nx",
2886
- ".cache",
2887
- ".storm",
2888
- "tmp",
2889
- "dist"
2890
- ]
2891
- });
2892
- return this.#checksum;
2893
- }
2894
- /**
2895
3234
  * Initialize the context with the provided configuration options
2896
3235
  *
2897
3236
  * @param config - The partial user configuration to use for initialization.
@@ -3254,36 +3593,90 @@ var PowerlinesEnvironmentContext = class _PowerlinesEnvironmentContext extends P
3254
3593
  * Retrieves the hook handlers for a specific hook name
3255
3594
  */
3256
3595
  selectHooks(hook, options) {
3257
- const handlers = [];
3596
+ const result = [];
3258
3597
  if (this.hooks[hook]) {
3259
3598
  if (!isHookExternal(hook)) {
3260
3599
  const hooks = this.hooks[hook];
3261
3600
  if (options?.order) {
3262
3601
  if (options?.order === "pre") {
3263
- handlers.push(...(hooks.preOrdered ?? []).map((h) => h.handler));
3264
- handlers.push(...(hooks.preEnforced ?? []).map((h) => h.handler));
3602
+ result.push(...(hooks.preOrdered ?? []).map((h) => {
3603
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
3604
+ if (!plugin) {
3605
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
3606
+ }
3607
+ return {
3608
+ handle: h.handler,
3609
+ context: plugin.context
3610
+ };
3611
+ }));
3612
+ result.push(...(hooks.preEnforced ?? []).map((h) => {
3613
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
3614
+ if (!plugin) {
3615
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
3616
+ }
3617
+ return {
3618
+ handle: h.handler,
3619
+ context: plugin.context
3620
+ };
3621
+ }));
3265
3622
  } else if (options?.order === "post") {
3266
- handlers.push(...(hooks.postOrdered ?? []).map((h) => h.handler));
3267
- handlers.push(...(hooks.postEnforced ?? []).map((h) => h.handler));
3623
+ result.push(...(hooks.postOrdered ?? []).map((h) => {
3624
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
3625
+ if (!plugin) {
3626
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
3627
+ }
3628
+ return {
3629
+ handle: h.handler,
3630
+ context: plugin.context
3631
+ };
3632
+ }));
3633
+ result.push(...(hooks.postEnforced ?? []).map((h) => {
3634
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
3635
+ if (!plugin) {
3636
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
3637
+ }
3638
+ return {
3639
+ handle: h.handler,
3640
+ context: plugin.context
3641
+ };
3642
+ }));
3268
3643
  } else {
3269
- handlers.push(...(hooks.normal ?? []).map((h) => h.handler));
3644
+ result.push(...(hooks.normal ?? []).map((h) => {
3645
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
3646
+ if (!plugin) {
3647
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
3648
+ }
3649
+ return {
3650
+ handle: h.handler,
3651
+ context: plugin.context
3652
+ };
3653
+ }));
3270
3654
  }
3271
3655
  } else {
3272
- handlers.push(...this.selectHooks(hook, {
3656
+ result.push(...this.selectHooks(hook, {
3273
3657
  order: "pre"
3274
3658
  }));
3275
- handlers.push(...this.selectHooks(hook, {
3659
+ result.push(...this.selectHooks(hook, {
3276
3660
  order: "normal"
3277
3661
  }));
3278
- handlers.push(...this.selectHooks(hook, {
3662
+ result.push(...this.selectHooks(hook, {
3279
3663
  order: "post"
3280
3664
  }));
3281
3665
  }
3282
3666
  } else {
3283
- handlers.push(...this.hooks[hook].map((h) => h.handler));
3667
+ result.push(...this.hooks[hook].map((h) => {
3668
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
3669
+ if (!plugin) {
3670
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
3671
+ }
3672
+ return {
3673
+ handle: h.handler,
3674
+ context: plugin.context
3675
+ };
3676
+ }));
3284
3677
  }
3285
3678
  }
3286
- return handlers;
3679
+ return result;
3287
3680
  }
3288
3681
  constructor(config, workspaceConfig) {
3289
3682
  super(workspaceConfig);
@@ -3316,6 +3709,31 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends PowerlinesContext
3316
3709
  return context;
3317
3710
  }
3318
3711
  /**
3712
+ * Internal context fields and methods
3713
+ *
3714
+ * @danger
3715
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
3716
+ *
3717
+ * @internal
3718
+ */
3719
+ get $$internal() {
3720
+ return super.$$internal;
3721
+ }
3722
+ /**
3723
+ * Internal context fields and methods
3724
+ *
3725
+ * @danger
3726
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
3727
+ *
3728
+ * @internal
3729
+ */
3730
+ set $$internal(value) {
3731
+ super.$$internal = value;
3732
+ for (const environment of Object.values(this.environments)) {
3733
+ environment.$$internal = super.$$internal;
3734
+ }
3735
+ }
3736
+ /**
3319
3737
  * A record of all environments by name
3320
3738
  */
3321
3739
  get environments() {
@@ -3489,7 +3907,9 @@ var PowerlinesAPI = class _PowerlinesAPI {
3489
3907
  */
3490
3908
  static async from(workspaceRoot, config) {
3491
3909
  const api = new _PowerlinesAPI(await PowerlinesAPIContext.from(workspaceRoot, config));
3492
- api.#context.$$internal.api = api;
3910
+ api.#context.$$internal = {
3911
+ api
3912
+ };
3493
3913
  for (const plugin of api.context.config.plugins ?? []) {
3494
3914
  await api.#addPlugin(plugin);
3495
3915
  }
@@ -3613,9 +4033,13 @@ ${formatLogMessage(context.config)}`);
3613
4033
  let generatedTypes = await emitTypes(context, files);
3614
4034
  context.log(LogLevelLabel.TRACE, `Generating TypeScript declaration file ${context.dtsPath}.`);
3615
4035
  const directives = [];
4036
+ const asNextParam = /* @__PURE__ */ __name((previousResult) => isObject(previousResult) ? previousResult.code : previousResult, "asNextParam");
3616
4037
  let result = await this.callHook("generateTypes", {
3617
4038
  environment: context,
3618
- order: "pre"
4039
+ sequential: true,
4040
+ order: "pre",
4041
+ result: "merge",
4042
+ asNextParam
3619
4043
  }, generatedTypes);
3620
4044
  if (result) {
3621
4045
  if (isSetObject(result)) {
@@ -3629,7 +4053,10 @@ ${formatLogMessage(context.config)}`);
3629
4053
  }
3630
4054
  result = await this.callHook("generateTypes", {
3631
4055
  environment: context,
3632
- order: "normal"
4056
+ sequential: true,
4057
+ order: "normal",
4058
+ result: "merge",
4059
+ asNextParam
3633
4060
  }, generatedTypes);
3634
4061
  if (result) {
3635
4062
  if (isSetObject(result)) {
@@ -3643,7 +4070,10 @@ ${formatLogMessage(context.config)}`);
3643
4070
  }
3644
4071
  result = await this.callHook("generateTypes", {
3645
4072
  environment: context,
3646
- order: "post"
4073
+ sequential: true,
4074
+ order: "post",
4075
+ result: "merge",
4076
+ asNextParam
3647
4077
  }, generatedTypes);
3648
4078
  if (result) {
3649
4079
  if (isSetObject(result)) {
@@ -3655,15 +4085,24 @@ ${formatLogMessage(context.config)}`);
3655
4085
  generatedTypes = result;
3656
4086
  }
3657
4087
  }
3658
- await context.fs.write(context.dtsPath, `${directives ? `${directives.map((directive) => `/// <reference types="${directive}" />`).join("\n")}
4088
+ if (generatedTypes?.trim() || directives.length > 0) {
4089
+ await context.fs.write(context.dtsPath, `${directives ? `${directives.map((directive) => `/// <reference types="${directive}" />`).join("\n")}
3659
4090
 
3660
4091
  ` : ""}${getFileHeader(context, {
3661
- directive: null,
3662
- prettierIgnore: false
3663
- })}
4092
+ directive: null,
4093
+ prettierIgnore: false
4094
+ })}
3664
4095
 
3665
4096
  ${formatTypes(generatedTypes)}
3666
4097
  `);
4098
+ } else {
4099
+ const dtsRelativePath = getTsconfigDtsPath(context);
4100
+ if (context.tsconfig.tsconfigJson.include && isIncludeMatchFound(dtsRelativePath, context.tsconfig.tsconfigJson.include)) {
4101
+ const normalizedDtsRelativePath = dtsRelativePath.startsWith("./") ? dtsRelativePath.slice(2) : dtsRelativePath;
4102
+ context.tsconfig.tsconfigJson.include = context.tsconfig.tsconfigJson.include.filter((includeValue) => includeValue?.toString() !== normalizedDtsRelativePath);
4103
+ await context.fs.write(context.tsconfig.tsconfigFilePath, JSON.stringify(context.tsconfig.tsconfigJson, null, 2));
4104
+ }
4105
+ }
3667
4106
  }
3668
4107
  context.tsconfig = getParsedTypeScriptConfig(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.config.tsconfig);
3669
4108
  if (!context.tsconfig) {
@@ -3700,7 +4139,7 @@ ${formatTypes(generatedTypes)}
3700
4139
  for (const file of files) {
3701
4140
  context.log(LogLevelLabel.TRACE, `Adding template file: ${file}`);
3702
4141
  const template = Handlebars.compile(file);
3703
- await writeFile(context.log, joinPaths$1(context.config.projectRoot, file.replace(".hbs", "")), template(context));
4142
+ await context.fs.write(joinPaths$1(context.config.projectRoot, file.replace(".hbs", "")), template(context));
3704
4143
  }
3705
4144
  await this.callHook("new", {
3706
4145
  environment: context,
@@ -3711,14 +4150,14 @@ ${formatTypes(generatedTypes)}
3711
4150
  for (const file of files2) {
3712
4151
  context.log(LogLevelLabel.TRACE, `Adding application template file: ${file}`);
3713
4152
  const template = Handlebars.compile(file);
3714
- await writeFile(context.log, joinPaths$1(context.config.projectRoot, file.replace(".hbs", "")), template(context));
4153
+ await context.fs.write(joinPaths$1(context.config.projectRoot, file.replace(".hbs", "")), template(context));
3715
4154
  }
3716
4155
  } else {
3717
4156
  const files2 = await listFiles(joinPaths$1(context.powerlinesPath, "files/library/**/*.hbs"));
3718
4157
  for (const file of files2) {
3719
4158
  context.log(LogLevelLabel.TRACE, `Adding library template file: ${file}`);
3720
4159
  const template = Handlebars.compile(file);
3721
- await writeFile(context.log, joinPaths$1(context.config.projectRoot, file.replace(".hbs", "")), template(context));
4160
+ await context.fs.write(joinPaths$1(context.config.projectRoot, file.replace(".hbs", "")), template(context));
3722
4161
  }
3723
4162
  }
3724
4163
  await this.callHook("new", {
@@ -3802,15 +4241,12 @@ ${formatTypes(generatedTypes)}
3802
4241
  const destinationPath = joinPaths$1(appendPath(context.config.output.outputPath, context.workspaceConfig.workspaceRoot), "dist");
3803
4242
  if (sourcePath !== destinationPath) {
3804
4243
  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}).`);
3805
- await copyFiles({
3806
- input: sourcePath,
3807
- glob: "**/*"
3808
- }, destinationPath);
4244
+ await context.fs.copy(sourcePath, destinationPath);
3809
4245
  }
3810
4246
  }
3811
4247
  await Promise.all(context.config.output.assets.map(async (asset) => {
3812
4248
  context.log(LogLevelLabel.DEBUG, `Copying asset(s): ${chalk5.redBright(context.workspaceConfig.workspaceRoot === asset.input ? asset.glob : joinPaths$1(replacePath(asset.input, context.workspaceConfig.workspaceRoot), asset.glob))} -> ${chalk5.greenBright(joinPaths$1(replacePath(asset.output, context.workspaceConfig.workspaceRoot), asset.glob))} ${Array.isArray(asset.ignore) && asset.ignore.length > 0 ? ` (ignoring: ${asset.ignore.map((i) => chalk5.yellowBright(i)).join(", ")})` : ""}`);
3813
- await copyFiles(asset, asset.output);
4249
+ await context.fs.copy(asset, asset.output);
3814
4250
  }));
3815
4251
  await this.callHook("build", {
3816
4252
  environment: context,
@@ -4075,5 +4511,5 @@ Note: Please ensure the plugin package's default export is a class that extends
4075
4511
  };
4076
4512
 
4077
4513
  export { FileId, FileMetadata, FileMetadata_KeyValuePair, FileStorage, FileSystem, PowerlinesAPI, _capnpFileId, createLog, extendLog };
4078
- //# sourceMappingURL=chunk-2DWFEC7G.js.map
4079
- //# sourceMappingURL=chunk-2DWFEC7G.js.map
4514
+ //# sourceMappingURL=chunk-Q4ZLKJS2.js.map
4515
+ //# sourceMappingURL=chunk-Q4ZLKJS2.js.map