powerlines 0.28.0 → 0.30.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 (664) hide show
  1. package/README.md +8 -2
  2. package/dist/{api-D-3EvHyy.d.cts → api-2c6P7OLq.d.cts} +1 -1
  3. package/dist/{api-BgDfE1J3.d.ts → api-D6eCzojg.d.ts} +1 -1
  4. package/dist/api.cjs +4 -4
  5. package/dist/api.d.cts +3 -2
  6. package/dist/api.d.ts +3 -2
  7. package/dist/api.js +3 -3
  8. package/dist/astro.cjs +6 -6
  9. package/dist/astro.d.cts +2 -1
  10. package/dist/astro.d.ts +2 -1
  11. package/dist/astro.js +5 -5
  12. package/dist/babel-types.d.ts +292 -0
  13. package/dist/{chunk-DD4XJNKQ.cjs → chunk-2LSP523Q.cjs} +5 -5
  14. package/dist/{chunk-XMYY4XUM.cjs → chunk-2TMERZSM.cjs} +4 -4
  15. package/dist/{chunk-FZ6J2GMT.js → chunk-575Z57QD.js} +2 -2
  16. package/dist/{chunk-6MQ6LCVC.js → chunk-5GOXUZPZ.js} +2 -2
  17. package/dist/{chunk-QRE6JMCD.js → chunk-7DOCWJ76.js} +423 -142
  18. package/dist/{chunk-T3T6WSX2.cjs → chunk-BXKRABQU.cjs} +2 -2
  19. package/dist/chunk-HRAVYQI4.cjs +12 -0
  20. package/dist/{chunk-NHZBSVDJ.js → chunk-IBPL4XRD.js} +3 -3
  21. package/dist/{chunk-Z3HPP53Q.js → chunk-K3D4TTN5.js} +3 -3
  22. package/dist/{chunk-FJ67PPIW.cjs → chunk-NP2ZVRIF.cjs} +4 -4
  23. package/dist/chunk-OXST2CTF.cjs +12 -0
  24. package/dist/{chunk-ERZWC77E.cjs → chunk-PYLCLJKJ.cjs} +421 -140
  25. package/dist/{chunk-ON3LABX3.cjs → chunk-SALASTMK.cjs} +2 -2
  26. package/dist/chunk-TFHWUEMM.js +9 -0
  27. package/dist/{chunk-5CV2NNIR.js → chunk-VYLFOZVJ.js} +3 -3
  28. package/dist/{chunk-VJ26HHRE.js → chunk-W2BP7RBB.js} +3 -3
  29. package/dist/{chunk-MRHWIMY2.cjs → chunk-YFKHICPO.cjs} +2 -2
  30. package/dist/{chunk-UMZ2WNMA.js → chunk-ZFMDBIE2.js} +2 -2
  31. package/dist/{context-CcPf9RC_.d.ts → context-CRJ4Zq86.d.ts} +26 -10
  32. package/dist/{context-CDZY3RHt.d.cts → context-D5kPamM6.d.cts} +26 -10
  33. package/dist/esbuild.cjs +8 -8
  34. package/dist/esbuild.d.cts +2 -1
  35. package/dist/esbuild.d.ts +2 -1
  36. package/dist/esbuild.js +5 -5
  37. package/dist/farm.cjs +5 -5
  38. package/dist/farm.d.cts +2 -1
  39. package/dist/farm.d.ts +2 -1
  40. package/dist/farm.js +4 -4
  41. package/dist/index.cjs +18 -18
  42. package/dist/index.d.cts +5 -4
  43. package/dist/index.d.ts +5 -4
  44. package/dist/index.js +6 -6
  45. package/dist/lib/{api-BIHEKpyq.d.ts → api-DPyF-O8S.d.ts} +1 -1
  46. package/dist/lib/{api-Wawenasn.d.cts → api-DzuW_qQS.d.cts} +1 -1
  47. package/dist/lib/build/esbuild.cjs +9 -7
  48. package/dist/lib/build/esbuild.cjs.map +1 -0
  49. package/dist/lib/build/esbuild.d.cts +3 -2
  50. package/dist/lib/build/esbuild.d.ts +3 -2
  51. package/dist/lib/build/esbuild.js +6 -4
  52. package/dist/lib/build/esbuild.js.map +1 -0
  53. package/dist/lib/build/index.cjs +47 -28
  54. package/dist/lib/build/index.cjs.map +1 -0
  55. package/dist/lib/build/index.d.cts +6 -4
  56. package/dist/lib/build/index.d.ts +6 -4
  57. package/dist/lib/build/index.js +15 -12
  58. package/dist/lib/build/index.js.map +1 -0
  59. package/dist/lib/build/rolldown.cjs +6 -4
  60. package/dist/lib/build/rolldown.cjs.map +1 -0
  61. package/dist/lib/build/rolldown.d.cts +3 -2
  62. package/dist/lib/build/rolldown.d.ts +3 -2
  63. package/dist/lib/build/rolldown.js +5 -3
  64. package/dist/lib/build/rolldown.js.map +1 -0
  65. package/dist/lib/build/rollup.cjs +6 -4
  66. package/dist/lib/build/rollup.cjs.map +1 -0
  67. package/dist/lib/build/rollup.d.cts +3 -2
  68. package/dist/lib/build/rollup.d.ts +3 -2
  69. package/dist/lib/build/rollup.js +4 -2
  70. package/dist/lib/build/rollup.js.map +1 -0
  71. package/dist/lib/build/rspack.cjs +5 -3
  72. package/dist/lib/build/rspack.cjs.map +1 -0
  73. package/dist/lib/build/rspack.d.cts +3 -2
  74. package/dist/lib/build/rspack.d.ts +3 -2
  75. package/dist/lib/build/rspack.js +4 -2
  76. package/dist/lib/build/rspack.js.map +1 -0
  77. package/dist/lib/build/tsdown.cjs +25 -0
  78. package/dist/lib/build/tsdown.cjs.map +1 -0
  79. package/dist/lib/build/tsdown.d.cts +60 -0
  80. package/dist/lib/build/tsdown.d.ts +60 -0
  81. package/dist/lib/build/tsdown.js +4 -0
  82. package/dist/lib/build/tsdown.js.map +1 -0
  83. package/dist/lib/build/tsup.cjs +10 -8
  84. package/dist/lib/build/tsup.cjs.map +1 -0
  85. package/dist/lib/build/tsup.d.cts +3 -2
  86. package/dist/lib/build/tsup.d.ts +3 -2
  87. package/dist/lib/build/tsup.js +7 -5
  88. package/dist/lib/build/tsup.js.map +1 -0
  89. package/dist/lib/build/unbuild.cjs +9 -7
  90. package/dist/lib/build/unbuild.cjs.map +1 -0
  91. package/dist/lib/build/unbuild.d.cts +5 -4
  92. package/dist/lib/build/unbuild.d.ts +5 -4
  93. package/dist/lib/build/unbuild.js +6 -4
  94. package/dist/lib/build/unbuild.js.map +1 -0
  95. package/dist/lib/build/vite.cjs +9 -7
  96. package/dist/lib/build/vite.cjs.map +1 -0
  97. package/dist/lib/build/vite.d.cts +3 -2
  98. package/dist/lib/build/vite.d.ts +3 -2
  99. package/dist/lib/build/vite.js +7 -5
  100. package/dist/lib/build/vite.js.map +1 -0
  101. package/dist/lib/build/webpack.cjs +5 -3
  102. package/dist/lib/build/webpack.cjs.map +1 -0
  103. package/dist/lib/build/webpack.d.cts +3 -2
  104. package/dist/lib/build/webpack.d.ts +3 -2
  105. package/dist/lib/build/webpack.js +4 -2
  106. package/dist/lib/build/webpack.js.map +1 -0
  107. package/dist/lib/{chunk-3Y4F37CB.cjs → chunk-23BFL3LB.cjs} +6 -4
  108. package/dist/lib/chunk-23BFL3LB.cjs.map +1 -0
  109. package/dist/lib/{chunk-26M3IUSK.js → chunk-26JHNKA7.js} +3 -1
  110. package/dist/lib/chunk-26JHNKA7.js.map +1 -0
  111. package/dist/lib/{chunk-Z6BSDYUR.cjs → chunk-2HAOX4Q2.cjs} +155 -85
  112. package/dist/lib/chunk-2HAOX4Q2.cjs.map +1 -0
  113. package/dist/lib/{chunk-2RHE4SGK.js → chunk-2IXO6SBG.js} +3 -1
  114. package/dist/lib/chunk-2IXO6SBG.js.map +1 -0
  115. package/dist/lib/{chunk-K3NBD5LL.cjs → chunk-2JR645O3.cjs} +5 -3
  116. package/dist/lib/chunk-2JR645O3.cjs.map +1 -0
  117. package/dist/lib/{chunk-S4OH7KW6.cjs → chunk-2OMOKN7Y.cjs} +93 -58
  118. package/dist/lib/chunk-2OMOKN7Y.cjs.map +1 -0
  119. package/dist/lib/{chunk-ENRLU4UR.js → chunk-35EO5Y7R.js} +3 -1
  120. package/dist/lib/chunk-35EO5Y7R.js.map +1 -0
  121. package/dist/lib/{chunk-NDYKRNPQ.js → chunk-367E23MI.js} +3 -1
  122. package/dist/lib/chunk-367E23MI.js.map +1 -0
  123. package/dist/lib/{chunk-PURLNHXG.cjs → chunk-3DKBH67A.cjs} +16 -14
  124. package/dist/lib/chunk-3DKBH67A.cjs.map +1 -0
  125. package/dist/lib/chunk-3GMJQ5G3.cjs +4 -0
  126. package/dist/lib/chunk-3GMJQ5G3.cjs.map +1 -0
  127. package/dist/lib/{chunk-OEF6EHQV.js → chunk-45D4XIOK.js} +3 -1
  128. package/dist/lib/chunk-45D4XIOK.js.map +1 -0
  129. package/dist/lib/chunk-4BPHC6QQ.js +3 -0
  130. package/dist/lib/chunk-4BPHC6QQ.js.map +1 -0
  131. package/dist/lib/{chunk-7VRXU4F7.cjs → chunk-4NBEK7BB.cjs} +8 -7
  132. package/dist/lib/chunk-4NBEK7BB.cjs.map +1 -0
  133. package/dist/lib/{chunk-XBSGDSV3.cjs → chunk-4UN7FLKQ.cjs} +6 -4
  134. package/dist/lib/chunk-4UN7FLKQ.cjs.map +1 -0
  135. package/dist/lib/{chunk-NZ6NCXM2.js → chunk-5QJRVWP3.js} +4 -2
  136. package/dist/lib/chunk-5QJRVWP3.js.map +1 -0
  137. package/dist/lib/{chunk-ONETLSPO.js → chunk-5QMQ5G73.js} +4 -2
  138. package/dist/lib/chunk-5QMQ5G73.js.map +1 -0
  139. package/dist/lib/{chunk-H7A5QVLY.cjs → chunk-62ZJYXT3.cjs} +7 -5
  140. package/dist/lib/chunk-62ZJYXT3.cjs.map +1 -0
  141. package/dist/lib/{chunk-JA4HSQRN.cjs → chunk-632PWWU7.cjs} +5 -3
  142. package/dist/lib/chunk-632PWWU7.cjs.map +1 -0
  143. package/dist/lib/{chunk-PIFNMTKN.cjs → chunk-63DAS6TJ.cjs} +6 -4
  144. package/dist/lib/chunk-63DAS6TJ.cjs.map +1 -0
  145. package/dist/lib/chunk-65ANDTTL.cjs +203 -0
  146. package/dist/lib/chunk-65ANDTTL.cjs.map +1 -0
  147. package/dist/lib/{chunk-OL35IC6Z.js → chunk-6OGQTUXF.js} +3 -1
  148. package/dist/lib/chunk-6OGQTUXF.js.map +1 -0
  149. package/dist/lib/{chunk-Y2DPOC4G.js → chunk-76DBMONS.js} +52 -32
  150. package/dist/lib/chunk-76DBMONS.js.map +1 -0
  151. package/dist/lib/{chunk-GSGF6RL2.js → chunk-7CDTHZ3R.js} +58 -23
  152. package/dist/lib/chunk-7CDTHZ3R.js.map +1 -0
  153. package/dist/lib/{chunk-R3XAVNPY.cjs → chunk-7OO4SKFN.cjs} +6 -4
  154. package/dist/lib/chunk-7OO4SKFN.cjs.map +1 -0
  155. package/dist/{plugin-utils/chunk-SHUYVCID.js → lib/chunk-7QVYU63E.js} +2 -0
  156. package/dist/lib/chunk-7QVYU63E.js.map +1 -0
  157. package/dist/lib/{chunk-GANVMM73.js → chunk-7R23HVGQ.js} +3 -1
  158. package/dist/lib/chunk-7R23HVGQ.js.map +1 -0
  159. package/dist/lib/chunk-A4RSMLXW.cjs +13 -0
  160. package/dist/lib/chunk-A4RSMLXW.cjs.map +1 -0
  161. package/dist/lib/{chunk-6OYSDQXE.cjs → chunk-AQNUFK3L.cjs} +47 -9
  162. package/dist/lib/chunk-AQNUFK3L.cjs.map +1 -0
  163. package/dist/lib/{chunk-HRRI4KOM.cjs → chunk-BJGMF356.cjs} +8 -6
  164. package/dist/lib/chunk-BJGMF356.cjs.map +1 -0
  165. package/dist/lib/{chunk-GLFOKUTH.cjs → chunk-BQA4H72F.cjs} +12 -10
  166. package/dist/lib/chunk-BQA4H72F.cjs.map +1 -0
  167. package/dist/lib/chunk-CLOW34EQ.js +3 -0
  168. package/dist/lib/chunk-CLOW34EQ.js.map +1 -0
  169. package/dist/lib/{chunk-VHCBD2IS.js → chunk-CTMPQSK7.js} +54 -1
  170. package/dist/lib/chunk-CTMPQSK7.js.map +1 -0
  171. package/dist/lib/{chunk-M263EZ4F.js → chunk-D55ZAZCX.js} +3 -1
  172. package/dist/lib/chunk-D55ZAZCX.js.map +1 -0
  173. package/dist/lib/{chunk-XIK3Y6BP.js → chunk-D5IEZABI.js} +4 -2
  174. package/dist/lib/chunk-D5IEZABI.js.map +1 -0
  175. package/dist/lib/chunk-DQJCGJ5P.js +3 -0
  176. package/dist/lib/chunk-DQJCGJ5P.js.map +1 -0
  177. package/dist/lib/{chunk-KFDNKOXM.js → chunk-EBBGE5FN.js} +20 -2
  178. package/dist/lib/chunk-EBBGE5FN.js.map +1 -0
  179. package/dist/lib/chunk-EXAOCEQF.cjs +112 -0
  180. package/dist/lib/chunk-EXAOCEQF.cjs.map +1 -0
  181. package/dist/lib/{chunk-T35JQHYE.js → chunk-FFATMOAQ.js} +3 -1
  182. package/dist/lib/chunk-FFATMOAQ.js.map +1 -0
  183. package/dist/lib/{chunk-VKFXVPY6.js → chunk-FHSSBMCC.js} +70 -14
  184. package/dist/lib/chunk-FHSSBMCC.js.map +1 -0
  185. package/dist/lib/chunk-FJMP4CXA.js +3 -0
  186. package/dist/lib/chunk-FJMP4CXA.js.map +1 -0
  187. package/dist/lib/{chunk-4PTER5EV.js → chunk-FKPVNUDU.js} +3 -1
  188. package/dist/lib/chunk-FKPVNUDU.js.map +1 -0
  189. package/dist/lib/{chunk-ZGMEHSNN.js → chunk-FPFPUYXS.js} +3 -1
  190. package/dist/lib/chunk-FPFPUYXS.js.map +1 -0
  191. package/dist/lib/{chunk-QF3UTBJE.cjs → chunk-FQZQA4EJ.cjs} +13 -11
  192. package/dist/lib/chunk-FQZQA4EJ.cjs.map +1 -0
  193. package/dist/lib/{chunk-3T56KQ7U.cjs → chunk-GDODHF3Y.cjs} +6 -4
  194. package/dist/lib/chunk-GDODHF3Y.cjs.map +1 -0
  195. package/dist/lib/{chunk-LBR46BPB.cjs → chunk-GEMGC7W6.cjs} +97 -77
  196. package/dist/lib/chunk-GEMGC7W6.cjs.map +1 -0
  197. package/dist/lib/chunk-GTNYRHTO.js +3 -0
  198. package/dist/lib/chunk-GTNYRHTO.js.map +1 -0
  199. package/dist/lib/{chunk-32Q2PG5D.js → chunk-HDUSUF6L.js} +3 -1
  200. package/dist/lib/chunk-HDUSUF6L.js.map +1 -0
  201. package/dist/lib/{chunk-TANQDHYY.js → chunk-HQ6TGY34.js} +3 -1
  202. package/dist/lib/chunk-HQ6TGY34.js.map +1 -0
  203. package/dist/lib/{chunk-JG4IL7XL.cjs → chunk-HYQXPNVP.cjs} +4 -2
  204. package/dist/lib/chunk-HYQXPNVP.cjs.map +1 -0
  205. package/dist/lib/{chunk-GK75G3OD.cjs → chunk-JSU4O5TH.cjs} +7 -5
  206. package/dist/lib/chunk-JSU4O5TH.cjs.map +1 -0
  207. package/dist/lib/chunk-K3FDM5F3.cjs +4 -0
  208. package/dist/lib/chunk-K3FDM5F3.cjs.map +1 -0
  209. package/dist/lib/{chunk-DYGQQI74.js → chunk-KLU5DWCZ.js} +4 -2
  210. package/dist/lib/chunk-KLU5DWCZ.js.map +1 -0
  211. package/dist/lib/{chunk-V2523R33.cjs → chunk-KOD33DBU.cjs} +37 -10
  212. package/dist/lib/chunk-KOD33DBU.cjs.map +1 -0
  213. package/dist/lib/{chunk-OYLWPIBP.cjs → chunk-LIZRGQES.cjs} +7 -5
  214. package/dist/lib/chunk-LIZRGQES.cjs.map +1 -0
  215. package/dist/lib/{chunk-GLWPZDAR.js → chunk-LSSLZECF.js} +4 -2
  216. package/dist/lib/chunk-LSSLZECF.js.map +1 -0
  217. package/dist/lib/{chunk-GD7KTLPU.js → chunk-M7SU453W.js} +31 -4
  218. package/dist/lib/chunk-M7SU453W.js.map +1 -0
  219. package/dist/lib/{chunk-4NHFXDTQ.cjs → chunk-MFC7UJHT.cjs} +5 -3
  220. package/dist/lib/chunk-MFC7UJHT.cjs.map +1 -0
  221. package/dist/lib/{chunk-6RLV3FIS.js → chunk-MJ6WN3XA.js} +4 -2
  222. package/dist/lib/chunk-MJ6WN3XA.js.map +1 -0
  223. package/dist/lib/{chunk-T6KEXFRH.cjs → chunk-NPSC73QO.cjs} +10 -8
  224. package/dist/lib/chunk-NPSC73QO.cjs.map +1 -0
  225. package/dist/lib/{chunk-NST5TNW6.js → chunk-OC2AD37X.js} +3 -1
  226. package/dist/lib/chunk-OC2AD37X.js.map +1 -0
  227. package/dist/lib/{chunk-WUE7NTBW.cjs → chunk-OGEFARN2.cjs} +12 -10
  228. package/dist/lib/chunk-OGEFARN2.cjs.map +1 -0
  229. package/dist/lib/{chunk-3OCI4TH7.cjs → chunk-OXOTWH3L.cjs} +6 -4
  230. package/dist/lib/chunk-OXOTWH3L.cjs.map +1 -0
  231. package/dist/lib/{chunk-USNT2KNT.cjs → chunk-PK6SKIKE.cjs} +2 -0
  232. package/dist/lib/chunk-PK6SKIKE.cjs.map +1 -0
  233. package/dist/lib/{chunk-XBM7FHNK.js → chunk-Q25ZPXA7.js} +3 -1
  234. package/dist/lib/chunk-Q25ZPXA7.js.map +1 -0
  235. package/dist/lib/chunk-Q7C3YOFX.js +103 -0
  236. package/dist/lib/chunk-Q7C3YOFX.js.map +1 -0
  237. package/dist/lib/{chunk-XUYQYUWZ.cjs → chunk-QBE4SZN6.cjs} +6 -4
  238. package/dist/lib/chunk-QBE4SZN6.cjs.map +1 -0
  239. package/dist/lib/{chunk-GA3RXX4R.cjs → chunk-QHTL2U3L.cjs} +10 -8
  240. package/dist/lib/chunk-QHTL2U3L.cjs.map +1 -0
  241. package/dist/lib/chunk-QMKA57N4.cjs +4 -0
  242. package/dist/lib/chunk-QMKA57N4.cjs.map +1 -0
  243. package/dist/lib/{chunk-MRAGQ33T.js → chunk-RHADQ6HA.js} +4 -2
  244. package/dist/lib/chunk-RHADQ6HA.js.map +1 -0
  245. package/dist/lib/{chunk-KG4HFVJU.js → chunk-RNSQODBR.js} +136 -66
  246. package/dist/lib/chunk-RNSQODBR.js.map +1 -0
  247. package/dist/lib/{chunk-2NZADVP5.cjs → chunk-RQICHHZM.cjs} +4 -2
  248. package/dist/lib/chunk-RQICHHZM.cjs.map +1 -0
  249. package/dist/lib/{chunk-S6WYOXLM.js → chunk-RTFLBGJI.js} +4 -3
  250. package/dist/lib/chunk-RTFLBGJI.js.map +1 -0
  251. package/dist/lib/{chunk-67DW5UDQ.js → chunk-SUABYS33.js} +5 -3
  252. package/dist/lib/chunk-SUABYS33.js.map +1 -0
  253. package/dist/lib/chunk-UYDY7RRQ.cjs +4 -0
  254. package/dist/lib/chunk-UYDY7RRQ.cjs.map +1 -0
  255. package/dist/lib/{chunk-AHK7GRPM.js → chunk-W2KADD56.js} +4 -2
  256. package/dist/lib/chunk-W2KADD56.js.map +1 -0
  257. package/dist/lib/chunk-XBOHJTOI.cjs +4 -0
  258. package/dist/lib/chunk-XBOHJTOI.cjs.map +1 -0
  259. package/dist/lib/{chunk-XLHFUATD.cjs → chunk-Y5KONJVR.cjs} +55 -2
  260. package/dist/lib/chunk-Y5KONJVR.cjs.map +1 -0
  261. package/dist/lib/{chunk-YXJJCE6V.cjs → chunk-YF57WETC.cjs} +4 -2
  262. package/dist/lib/chunk-YF57WETC.cjs.map +1 -0
  263. package/dist/lib/{chunk-OKXWWMEF.js → chunk-YFB6OGXJ.js} +4 -2
  264. package/dist/lib/chunk-YFB6OGXJ.js.map +1 -0
  265. package/dist/lib/{chunk-L56XA427.js → chunk-YJEZASNU.js} +41 -3
  266. package/dist/lib/chunk-YJEZASNU.js.map +1 -0
  267. package/dist/lib/{chunk-A2NW7WAN.js → chunk-YMEXAI6M.js} +3 -1
  268. package/dist/lib/chunk-YMEXAI6M.js.map +1 -0
  269. package/dist/lib/{chunk-YYEAV24J.cjs → chunk-YYG2XJQN.cjs} +30 -11
  270. package/dist/lib/chunk-YYG2XJQN.cjs.map +1 -0
  271. package/dist/lib/{chunk-NDC5BKCD.cjs → chunk-YZ2NKI4K.cjs} +4 -2
  272. package/dist/lib/chunk-YZ2NKI4K.cjs.map +1 -0
  273. package/dist/lib/{chunk-YYN6TKSY.cjs → chunk-ZFOPHCGK.cjs} +4 -2
  274. package/dist/lib/chunk-ZFOPHCGK.cjs.map +1 -0
  275. package/dist/lib/{chunk-HL4KTZDB.cjs → chunk-ZGTXKPKZ.cjs} +5 -3
  276. package/dist/lib/chunk-ZGTXKPKZ.cjs.map +1 -0
  277. package/dist/lib/{chunk-4W6WV35V.js → chunk-ZLWW2MXD.js} +21 -15
  278. package/dist/lib/chunk-ZLWW2MXD.js.map +1 -0
  279. package/dist/lib/{chunk-N22WOZ3U.js → chunk-ZVZFMMNL.js} +7 -5
  280. package/dist/lib/chunk-ZVZFMMNL.js.map +1 -0
  281. package/dist/lib/{chunk-D6MI2V6R.cjs → chunk-ZWLSNYIN.cjs} +23 -17
  282. package/dist/lib/chunk-ZWLSNYIN.cjs.map +1 -0
  283. package/dist/lib/{config-D2dTFLlQ.d.cts → config-CHOLTlno.d.cts} +32 -19
  284. package/dist/lib/{config-Dzk6j2mr.d.ts → config-Cf85ts8m.d.ts} +32 -19
  285. package/dist/lib/config-file.cjs +6 -4
  286. package/dist/lib/config-file.cjs.map +1 -0
  287. package/dist/lib/config-file.d.cts +3 -2
  288. package/dist/lib/config-file.d.ts +3 -2
  289. package/dist/lib/config-file.js +4 -2
  290. package/dist/lib/config-file.js.map +1 -0
  291. package/dist/lib/contexts/api-context.cjs +20 -18
  292. package/dist/lib/contexts/api-context.cjs.map +1 -0
  293. package/dist/lib/contexts/api-context.d.cts +25 -6
  294. package/dist/lib/contexts/api-context.d.ts +25 -6
  295. package/dist/lib/contexts/api-context.js +19 -17
  296. package/dist/lib/contexts/api-context.js.map +1 -0
  297. package/dist/lib/contexts/context.cjs +17 -15
  298. package/dist/lib/contexts/context.cjs.map +1 -0
  299. package/dist/lib/contexts/context.d.cts +17 -4
  300. package/dist/lib/contexts/context.d.ts +17 -4
  301. package/dist/lib/contexts/context.js +16 -14
  302. package/dist/lib/contexts/context.js.map +1 -0
  303. package/dist/lib/contexts/environment-context.cjs +19 -17
  304. package/dist/lib/contexts/environment-context.cjs.map +1 -0
  305. package/dist/lib/contexts/environment-context.d.cts +6 -5
  306. package/dist/lib/contexts/environment-context.d.ts +6 -5
  307. package/dist/lib/contexts/environment-context.js +18 -16
  308. package/dist/lib/contexts/environment-context.js.map +1 -0
  309. package/dist/lib/contexts/index.cjs +24 -22
  310. package/dist/lib/contexts/index.cjs.map +1 -0
  311. package/dist/lib/contexts/index.d.cts +5 -4
  312. package/dist/lib/contexts/index.d.ts +5 -4
  313. package/dist/lib/contexts/index.js +20 -18
  314. package/dist/lib/contexts/index.js.map +1 -0
  315. package/dist/lib/contexts/plugin-context.cjs +5 -3
  316. package/dist/lib/contexts/plugin-context.cjs.map +1 -0
  317. package/dist/lib/contexts/plugin-context.d.cts +5 -4
  318. package/dist/lib/contexts/plugin-context.d.ts +5 -4
  319. package/dist/lib/contexts/plugin-context.js +4 -2
  320. package/dist/lib/contexts/plugin-context.js.map +1 -0
  321. package/dist/lib/entry.cjs +13 -11
  322. package/dist/lib/entry.cjs.map +1 -0
  323. package/dist/lib/entry.d.cts +3 -2
  324. package/dist/lib/entry.d.ts +3 -2
  325. package/dist/lib/entry.js +5 -3
  326. package/dist/lib/entry.js.map +1 -0
  327. package/dist/lib/fs/helpers.cjs +18 -12
  328. package/dist/lib/fs/helpers.cjs.map +1 -0
  329. package/dist/lib/fs/helpers.d.cts +10 -1
  330. package/dist/lib/fs/helpers.d.ts +10 -1
  331. package/dist/lib/fs/helpers.js +4 -2
  332. package/dist/lib/fs/helpers.js.map +1 -0
  333. package/dist/lib/fs/index.cjs +12 -10
  334. package/dist/lib/fs/index.cjs.map +1 -0
  335. package/dist/lib/fs/index.d.cts +4 -3
  336. package/dist/lib/fs/index.d.ts +4 -3
  337. package/dist/lib/fs/index.js +11 -9
  338. package/dist/lib/fs/index.js.map +1 -0
  339. package/dist/lib/fs/storage/base.cjs +5 -3
  340. package/dist/lib/fs/storage/base.cjs.map +1 -0
  341. package/dist/lib/fs/storage/base.d.cts +42 -1
  342. package/dist/lib/fs/storage/base.d.ts +42 -1
  343. package/dist/lib/fs/storage/base.js +4 -2
  344. package/dist/lib/fs/storage/base.js.map +1 -0
  345. package/dist/lib/fs/storage/file-system.cjs +7 -5
  346. package/dist/lib/fs/storage/file-system.cjs.map +1 -0
  347. package/dist/lib/fs/storage/file-system.d.cts +34 -2
  348. package/dist/lib/fs/storage/file-system.d.ts +34 -2
  349. package/dist/lib/fs/storage/file-system.js +6 -4
  350. package/dist/lib/fs/storage/file-system.js.map +1 -0
  351. package/dist/lib/fs/storage/index.cjs +10 -8
  352. package/dist/lib/fs/storage/index.cjs.map +1 -0
  353. package/dist/lib/fs/storage/index.d.cts +4 -2
  354. package/dist/lib/fs/storage/index.d.ts +4 -2
  355. package/dist/lib/fs/storage/index.js +7 -5
  356. package/dist/lib/fs/storage/index.js.map +1 -0
  357. package/dist/lib/fs/storage/virtual.cjs +6 -4
  358. package/dist/lib/fs/storage/virtual.cjs.map +1 -0
  359. package/dist/lib/fs/storage/virtual.d.cts +2 -1
  360. package/dist/lib/fs/storage/virtual.d.ts +2 -1
  361. package/dist/lib/fs/storage/virtual.js +5 -3
  362. package/dist/lib/fs/storage/virtual.js.map +1 -0
  363. package/dist/lib/fs/vfs.cjs +11 -9
  364. package/dist/lib/fs/vfs.cjs.map +1 -0
  365. package/dist/lib/fs/vfs.d.cts +48 -7
  366. package/dist/lib/fs/vfs.d.ts +48 -7
  367. package/dist/lib/fs/vfs.js +10 -8
  368. package/dist/lib/fs/vfs.js.map +1 -0
  369. package/dist/lib/{fs-Dg-aTfiN.d.cts → fs-abWbkR69.d.cts} +85 -4
  370. package/dist/lib/{fs-Dg-aTfiN.d.ts → fs-abWbkR69.d.ts} +85 -4
  371. package/dist/lib/index.cjs +98 -96
  372. package/dist/lib/index.cjs.map +1 -0
  373. package/dist/lib/index.d.cts +6 -5
  374. package/dist/lib/index.d.ts +6 -5
  375. package/dist/lib/index.js +38 -36
  376. package/dist/lib/index.js.map +1 -0
  377. package/dist/lib/{internal-DC9vYMIn.d.cts → internal-CJEi85Up.d.cts} +2 -2
  378. package/dist/lib/{internal-Cgp0NF-t.d.ts → internal-CgJbkA5Y.d.ts} +2 -2
  379. package/dist/lib/logger.cjs +6 -4
  380. package/dist/lib/logger.cjs.map +1 -0
  381. package/dist/lib/logger.d.cts +3 -2
  382. package/dist/lib/logger.d.ts +3 -2
  383. package/dist/lib/logger.js +4 -2
  384. package/dist/lib/logger.js.map +1 -0
  385. package/dist/lib/typescript/import-transformer.cjs +5 -3
  386. package/dist/lib/typescript/import-transformer.cjs.map +1 -0
  387. package/dist/lib/typescript/import-transformer.d.cts +3 -2
  388. package/dist/lib/typescript/import-transformer.d.ts +3 -2
  389. package/dist/lib/typescript/import-transformer.js +4 -2
  390. package/dist/lib/typescript/import-transformer.js.map +1 -0
  391. package/dist/lib/typescript/index.cjs +21 -19
  392. package/dist/lib/typescript/index.cjs.map +1 -0
  393. package/dist/lib/typescript/index.d.cts +3 -2
  394. package/dist/lib/typescript/index.d.ts +3 -2
  395. package/dist/lib/typescript/index.js +8 -6
  396. package/dist/lib/typescript/index.js.map +1 -0
  397. package/dist/lib/typescript/isolated-decl.cjs +5 -3
  398. package/dist/lib/typescript/isolated-decl.cjs.map +1 -0
  399. package/dist/lib/typescript/isolated-decl.js +4 -2
  400. package/dist/lib/typescript/isolated-decl.js.map +1 -0
  401. package/dist/lib/typescript/ts-morph.cjs +6 -4
  402. package/dist/lib/typescript/ts-morph.cjs.map +1 -0
  403. package/dist/lib/typescript/ts-morph.d.cts +5 -4
  404. package/dist/lib/typescript/ts-morph.d.ts +5 -4
  405. package/dist/lib/typescript/ts-morph.js +4 -2
  406. package/dist/lib/typescript/ts-morph.js.map +1 -0
  407. package/dist/lib/typescript/tsconfig.cjs +11 -9
  408. package/dist/lib/typescript/tsconfig.cjs.map +1 -0
  409. package/dist/lib/typescript/tsconfig.js +4 -2
  410. package/dist/lib/typescript/tsconfig.js.map +1 -0
  411. package/dist/lib/unplugin/factory.cjs +23 -21
  412. package/dist/lib/unplugin/factory.cjs.map +1 -0
  413. package/dist/lib/unplugin/factory.d.cts +5 -4
  414. package/dist/lib/unplugin/factory.d.ts +5 -4
  415. package/dist/lib/unplugin/factory.js +22 -20
  416. package/dist/lib/unplugin/factory.js.map +1 -0
  417. package/dist/lib/unplugin/helpers.cjs +5 -3
  418. package/dist/lib/unplugin/helpers.cjs.map +1 -0
  419. package/dist/lib/unplugin/helpers.d.cts +3 -2
  420. package/dist/lib/unplugin/helpers.d.ts +3 -2
  421. package/dist/lib/unplugin/helpers.js +4 -2
  422. package/dist/lib/unplugin/helpers.js.map +1 -0
  423. package/dist/lib/unplugin/index.cjs +28 -26
  424. package/dist/lib/unplugin/index.cjs.map +1 -0
  425. package/dist/lib/unplugin/index.d.cts +5 -4
  426. package/dist/lib/unplugin/index.d.ts +5 -4
  427. package/dist/lib/unplugin/index.js +25 -23
  428. package/dist/lib/unplugin/index.js.map +1 -0
  429. package/dist/lib/unplugin/plugin.cjs +8 -6
  430. package/dist/lib/unplugin/plugin.cjs.map +1 -0
  431. package/dist/lib/unplugin/plugin.d.cts +5 -4
  432. package/dist/lib/unplugin/plugin.d.ts +5 -4
  433. package/dist/lib/unplugin/plugin.js +7 -5
  434. package/dist/lib/unplugin/plugin.js.map +1 -0
  435. package/dist/lib/{unplugin-CvYjC7ZL.d.cts → unplugin-B_IjyAl1.d.cts} +2 -2
  436. package/dist/lib/{unplugin-D7lpyIpN.d.ts → unplugin-CzkNGCn5.d.ts} +2 -2
  437. package/dist/lib/utilities/bundle.cjs +8 -6
  438. package/dist/lib/utilities/bundle.cjs.map +1 -0
  439. package/dist/lib/utilities/bundle.d.cts +3 -2
  440. package/dist/lib/utilities/bundle.d.ts +3 -2
  441. package/dist/lib/utilities/bundle.js +7 -5
  442. package/dist/lib/utilities/bundle.js.map +1 -0
  443. package/dist/lib/utilities/cache.cjs +7 -5
  444. package/dist/lib/utilities/cache.cjs.map +1 -0
  445. package/dist/lib/utilities/cache.d.cts +3 -2
  446. package/dist/lib/utilities/cache.d.ts +3 -2
  447. package/dist/lib/utilities/cache.js +5 -3
  448. package/dist/lib/utilities/cache.js.map +1 -0
  449. package/dist/lib/utilities/file-header.cjs +6 -4
  450. package/dist/lib/utilities/file-header.cjs.map +1 -0
  451. package/dist/lib/utilities/file-header.d.cts +3 -2
  452. package/dist/lib/utilities/file-header.d.ts +3 -2
  453. package/dist/lib/utilities/file-header.js +4 -2
  454. package/dist/lib/utilities/file-header.js.map +1 -0
  455. package/dist/lib/utilities/index.cjs +45 -43
  456. package/dist/lib/utilities/index.cjs.map +1 -0
  457. package/dist/lib/utilities/index.d.cts +3 -2
  458. package/dist/lib/utilities/index.d.ts +3 -2
  459. package/dist/lib/utilities/index.js +17 -15
  460. package/dist/lib/utilities/index.js.map +1 -0
  461. package/dist/lib/utilities/meta.cjs +10 -8
  462. package/dist/lib/utilities/meta.cjs.map +1 -0
  463. package/dist/lib/utilities/meta.d.cts +3 -2
  464. package/dist/lib/utilities/meta.d.ts +3 -2
  465. package/dist/lib/utilities/meta.js +4 -2
  466. package/dist/lib/utilities/meta.js.map +1 -0
  467. package/dist/lib/utilities/resolve.cjs +9 -7
  468. package/dist/lib/utilities/resolve.cjs.map +1 -0
  469. package/dist/lib/utilities/resolve.d.cts +3 -2
  470. package/dist/lib/utilities/resolve.d.ts +3 -2
  471. package/dist/lib/utilities/resolve.js +8 -6
  472. package/dist/lib/utilities/resolve.js.map +1 -0
  473. package/dist/lib/utilities/source-file.cjs +7 -5
  474. package/dist/lib/utilities/source-file.cjs.map +1 -0
  475. package/dist/lib/utilities/source-file.d.cts +3 -2
  476. package/dist/lib/utilities/source-file.d.ts +3 -2
  477. package/dist/lib/utilities/source-file.js +4 -2
  478. package/dist/lib/utilities/source-file.js.map +1 -0
  479. package/dist/lib/utilities/source-map.cjs +5 -3
  480. package/dist/lib/utilities/source-map.cjs.map +1 -0
  481. package/dist/lib/utilities/source-map.d.cts +3 -2
  482. package/dist/lib/utilities/source-map.d.ts +3 -2
  483. package/dist/lib/utilities/source-map.js +4 -2
  484. package/dist/lib/utilities/source-map.js.map +1 -0
  485. package/dist/lib/utilities/worker.cjs +7 -5
  486. package/dist/lib/utilities/worker.cjs.map +1 -0
  487. package/dist/lib/utilities/worker.d.cts +3 -2
  488. package/dist/lib/utilities/worker.d.ts +3 -2
  489. package/dist/lib/utilities/worker.js +5 -3
  490. package/dist/lib/utilities/worker.js.map +1 -0
  491. package/dist/lib/utilities/write-file.cjs +5 -3
  492. package/dist/lib/utilities/write-file.cjs.map +1 -0
  493. package/dist/lib/utilities/write-file.d.cts +3 -2
  494. package/dist/lib/utilities/write-file.d.ts +3 -2
  495. package/dist/lib/utilities/write-file.js +4 -2
  496. package/dist/lib/utilities/write-file.js.map +1 -0
  497. package/dist/next.cjs +6 -6
  498. package/dist/next.js +5 -5
  499. package/dist/nuxt.cjs +8 -8
  500. package/dist/nuxt.js +6 -6
  501. package/dist/plugin-utils/{chunk-GV7O3E7P.js → chunk-36OM2X4L.js} +4 -2
  502. package/dist/plugin-utils/chunk-36OM2X4L.js.map +1 -0
  503. package/dist/{lib/chunk-SHUYVCID.js → plugin-utils/chunk-7QVYU63E.js} +2 -0
  504. package/dist/plugin-utils/chunk-7QVYU63E.js.map +1 -0
  505. package/dist/plugin-utils/{chunk-XIXI67PY.js → chunk-7YN6UEMJ.js} +4 -2
  506. package/dist/plugin-utils/chunk-7YN6UEMJ.js.map +1 -0
  507. package/dist/plugin-utils/{chunk-DZZPNO5H.cjs → chunk-B2V5OVYF.cjs} +6 -4
  508. package/dist/plugin-utils/chunk-B2V5OVYF.cjs.map +1 -0
  509. package/dist/plugin-utils/{chunk-NFXNZFMN.cjs → chunk-DUIPLC7F.cjs} +5 -3
  510. package/dist/plugin-utils/chunk-DUIPLC7F.cjs.map +1 -0
  511. package/dist/plugin-utils/{chunk-SEH3RVMF.js → chunk-G32M72GJ.js} +3 -1
  512. package/dist/plugin-utils/chunk-G32M72GJ.js.map +1 -0
  513. package/dist/plugin-utils/{chunk-5MO4BCOW.cjs → chunk-GH7PPING.cjs} +4 -2
  514. package/dist/plugin-utils/chunk-GH7PPING.cjs.map +1 -0
  515. package/dist/plugin-utils/{chunk-CYVV2MB7.js → chunk-H7GJUBNY.js} +3 -1
  516. package/dist/plugin-utils/chunk-H7GJUBNY.js.map +1 -0
  517. package/dist/plugin-utils/{chunk-ECFS7DPV.cjs → chunk-ID47RJFS.cjs} +9 -7
  518. package/dist/plugin-utils/chunk-ID47RJFS.cjs.map +1 -0
  519. package/dist/plugin-utils/{chunk-FBLNGP3S.js → chunk-NRJ5QYX2.js} +3 -1
  520. package/dist/plugin-utils/chunk-NRJ5QYX2.js.map +1 -0
  521. package/dist/plugin-utils/{chunk-USNT2KNT.cjs → chunk-PK6SKIKE.cjs} +2 -0
  522. package/dist/plugin-utils/chunk-PK6SKIKE.cjs.map +1 -0
  523. package/dist/plugin-utils/{chunk-QKMG6ZAU.js → chunk-QQ63YK2G.js} +4 -2
  524. package/dist/plugin-utils/chunk-QQ63YK2G.js.map +1 -0
  525. package/dist/plugin-utils/{chunk-DCJAIIJ5.cjs → chunk-RBMEE2JC.cjs} +4 -2
  526. package/dist/plugin-utils/chunk-RBMEE2JC.cjs.map +1 -0
  527. package/dist/plugin-utils/{chunk-UNAGYQRB.cjs → chunk-UXLKUCEY.cjs} +9 -7
  528. package/dist/plugin-utils/chunk-UXLKUCEY.cjs.map +1 -0
  529. package/dist/plugin-utils/{chunk-F65J5WOX.cjs → chunk-VJGI676W.cjs} +16 -14
  530. package/dist/plugin-utils/chunk-VJGI676W.cjs.map +1 -0
  531. package/dist/plugin-utils/{chunk-L277XSSN.js → chunk-X4BI25Z5.js} +3 -1
  532. package/dist/plugin-utils/chunk-X4BI25Z5.js.map +1 -0
  533. package/dist/plugin-utils/{context-iOcgJtAf.d.cts → context-DDQIG3fZ.d.cts} +96 -9
  534. package/dist/plugin-utils/{context-iOcgJtAf.d.ts → context-DDQIG3fZ.d.ts} +96 -9
  535. package/dist/plugin-utils/context-helpers.cjs +6 -4
  536. package/dist/plugin-utils/context-helpers.cjs.map +1 -0
  537. package/dist/plugin-utils/context-helpers.d.cts +1 -1
  538. package/dist/plugin-utils/context-helpers.d.ts +1 -1
  539. package/dist/plugin-utils/context-helpers.js +4 -2
  540. package/dist/plugin-utils/context-helpers.js.map +1 -0
  541. package/dist/plugin-utils/enforce.cjs +8 -6
  542. package/dist/plugin-utils/enforce.cjs.map +1 -0
  543. package/dist/plugin-utils/enforce.d.cts +1 -1
  544. package/dist/plugin-utils/enforce.d.ts +1 -1
  545. package/dist/plugin-utils/enforce.js +7 -5
  546. package/dist/plugin-utils/enforce.js.map +1 -0
  547. package/dist/plugin-utils/extend.cjs +7 -5
  548. package/dist/plugin-utils/extend.cjs.map +1 -0
  549. package/dist/plugin-utils/extend.d.cts +1 -1
  550. package/dist/plugin-utils/extend.d.ts +1 -1
  551. package/dist/plugin-utils/extend.js +6 -4
  552. package/dist/plugin-utils/extend.js.map +1 -0
  553. package/dist/plugin-utils/get-config-path.cjs +5 -3
  554. package/dist/plugin-utils/get-config-path.cjs.map +1 -0
  555. package/dist/plugin-utils/get-config-path.d.cts +1 -1
  556. package/dist/plugin-utils/get-config-path.d.ts +1 -1
  557. package/dist/plugin-utils/get-config-path.js +4 -2
  558. package/dist/plugin-utils/get-config-path.js.map +1 -0
  559. package/dist/plugin-utils/helpers.cjs +17 -15
  560. package/dist/plugin-utils/helpers.cjs.map +1 -0
  561. package/dist/plugin-utils/helpers.d.cts +3 -3
  562. package/dist/plugin-utils/helpers.d.ts +3 -3
  563. package/dist/plugin-utils/helpers.js +4 -2
  564. package/dist/plugin-utils/helpers.js.map +1 -0
  565. package/dist/plugin-utils/index.cjs +30 -28
  566. package/dist/plugin-utils/index.cjs.map +1 -0
  567. package/dist/plugin-utils/index.d.cts +1 -1
  568. package/dist/plugin-utils/index.d.ts +1 -1
  569. package/dist/plugin-utils/index.js +10 -8
  570. package/dist/plugin-utils/index.js.map +1 -0
  571. package/dist/plugin-utils/merge.cjs +6 -4
  572. package/dist/plugin-utils/merge.cjs.map +1 -0
  573. package/dist/plugin-utils/merge.d.cts +1 -1
  574. package/dist/plugin-utils/merge.d.ts +1 -1
  575. package/dist/plugin-utils/merge.js +5 -3
  576. package/dist/plugin-utils/merge.js.map +1 -0
  577. package/dist/plugin-utils/paths.cjs +5 -3
  578. package/dist/plugin-utils/paths.cjs.map +1 -0
  579. package/dist/plugin-utils/paths.d.cts +1 -1
  580. package/dist/plugin-utils/paths.d.ts +1 -1
  581. package/dist/plugin-utils/paths.js +4 -2
  582. package/dist/plugin-utils/paths.js.map +1 -0
  583. package/dist/rolldown.cjs +18 -10
  584. package/dist/rolldown.d.cts +2 -1
  585. package/dist/rolldown.d.ts +2 -1
  586. package/dist/rolldown.js +5 -10
  587. package/dist/rollup.cjs +5 -5
  588. package/dist/rollup.d.cts +2 -1
  589. package/dist/rollup.d.ts +2 -1
  590. package/dist/rollup.js +4 -4
  591. package/dist/rspack.cjs +5 -5
  592. package/dist/rspack.d.cts +2 -1
  593. package/dist/rspack.d.ts +2 -1
  594. package/dist/rspack.js +4 -4
  595. package/dist/tsdown.cjs +114 -0
  596. package/dist/tsdown.d.cts +28 -0
  597. package/dist/tsdown.d.ts +28 -0
  598. package/dist/tsdown.js +108 -0
  599. package/dist/tsup.cjs +6 -6
  600. package/dist/tsup.js +5 -5
  601. package/dist/types/api.d.cts +3 -2
  602. package/dist/types/api.d.ts +3 -2
  603. package/dist/types/babel.d.cts +2 -1
  604. package/dist/types/babel.d.ts +2 -1
  605. package/dist/types/build.d.cts +11 -10
  606. package/dist/types/build.d.ts +11 -10
  607. package/dist/types/commands.d.cts +2 -1
  608. package/dist/types/commands.d.ts +2 -1
  609. package/dist/types/config.d.cts +2 -1
  610. package/dist/types/config.d.ts +2 -1
  611. package/dist/types/context.cjs +2 -2
  612. package/dist/types/context.d.cts +2 -1
  613. package/dist/types/context.d.ts +2 -1
  614. package/dist/types/context.js +1 -1
  615. package/dist/types/fs.cjs +4 -4
  616. package/dist/types/fs.d.cts +85 -4
  617. package/dist/types/fs.d.ts +85 -4
  618. package/dist/types/fs.js +1 -1
  619. package/dist/types/hooks.d.cts +2 -1
  620. package/dist/types/hooks.d.ts +2 -1
  621. package/dist/types/index.cjs +9 -9
  622. package/dist/types/index.d.cts +4 -3
  623. package/dist/types/index.d.ts +4 -3
  624. package/dist/types/index.js +4 -4
  625. package/dist/types/internal.d.cts +3 -2
  626. package/dist/types/internal.d.ts +3 -2
  627. package/dist/types/plugin.cjs +2 -2
  628. package/dist/types/plugin.d.cts +2 -1
  629. package/dist/types/plugin.d.ts +2 -1
  630. package/dist/types/plugin.js +1 -1
  631. package/dist/types/resolved.d.cts +2 -1
  632. package/dist/types/resolved.d.ts +2 -1
  633. package/dist/types/unplugin.d.cts +3 -2
  634. package/dist/types/unplugin.d.ts +3 -2
  635. package/dist/unloader.cjs +5 -5
  636. package/dist/unloader.d.cts +2 -1
  637. package/dist/unloader.d.ts +2 -1
  638. package/dist/unloader.js +4 -4
  639. package/dist/unplugin.cjs +8 -8
  640. package/dist/unplugin.d.cts +3 -2
  641. package/dist/unplugin.d.ts +3 -2
  642. package/dist/unplugin.js +6 -6
  643. package/dist/vite.cjs +8 -8
  644. package/dist/vite.d.cts +2 -1
  645. package/dist/vite.d.ts +2 -1
  646. package/dist/vite.js +5 -5
  647. package/dist/webpack.cjs +8 -8
  648. package/dist/webpack.d.cts +2 -1
  649. package/dist/webpack.d.ts +2 -1
  650. package/dist/webpack.js +5 -5
  651. package/package.json +71 -50
  652. package/dist/chunk-C3APS65S.cjs +0 -12
  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-H5JWMXTZ.js +0 -1
  657. package/dist/lib/chunk-I2DQRMX3.js +0 -1
  658. package/dist/lib/chunk-K2SFTPN3.cjs +0 -2
  659. package/dist/lib/chunk-MVIKYHBX.cjs +0 -2
  660. package/dist/lib/chunk-NQAHFTUW.js +0 -1
  661. package/dist/lib/chunk-NYNHNTHT.js +0 -1
  662. package/dist/lib/chunk-TWABN364.cjs +0 -147
  663. package/dist/lib/chunk-VVSEE3JE.cjs +0 -2
  664. package/dist/lib/chunk-YK4PYVLM.cjs +0 -2
@@ -0,0 +1,203 @@
1
+ 'use strict';
2
+
3
+ var chunk63DAS6TJ_cjs = require('./chunk-63DAS6TJ.cjs');
4
+ var chunk2OMOKN7Y_cjs = require('./chunk-2OMOKN7Y.cjs');
5
+ var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
6
+ var resolve = require('@stryke/fs/resolve');
7
+ var isFunction = require('@stryke/type-checks/is-function');
8
+ var isObject = require('@stryke/type-checks/is-object');
9
+
10
+ // src/types/plugin.ts
11
+ var PLUGIN_NON_HOOK_FIELDS = [
12
+ "name",
13
+ "api",
14
+ "enforce",
15
+ "dedupe",
16
+ "dependsOn",
17
+ "applyToEnvironment"
18
+ ];
19
+
20
+ // src/lib/contexts/environment-context.ts
21
+ var PowerlinesEnvironmentContext = class _PowerlinesEnvironmentContext extends chunk2OMOKN7Y_cjs.PowerlinesContext {
22
+ static {
23
+ chunkPK6SKIKE_cjs.__name(this, "PowerlinesEnvironmentContext");
24
+ }
25
+ /**
26
+ * The hooks registered by plugins in this environment
27
+ */
28
+ #hooks = {};
29
+ /**
30
+ * Create a new Storm context from the workspace root and user config.
31
+ *
32
+ * @param workspaceConfig - The root directory of the workspace.
33
+ * @param config - The user configuration options.
34
+ * @returns A promise that resolves to the new context.
35
+ */
36
+ static async fromConfig(workspaceConfig, config) {
37
+ const context = new _PowerlinesEnvironmentContext(config, workspaceConfig);
38
+ await context.init();
39
+ context.powerlinesPath = await resolve.resolvePackage("powerlines");
40
+ if (!context.powerlinesPath) {
41
+ throw new Error("Could not resolve `powerlines` package location.");
42
+ }
43
+ return context;
44
+ }
45
+ /**
46
+ * The resolved environment configuration
47
+ */
48
+ environment;
49
+ /**
50
+ * The list of plugins applied to this environment
51
+ */
52
+ plugins = [];
53
+ /**
54
+ * The resolved configuration options
55
+ */
56
+ get config() {
57
+ return super.config;
58
+ }
59
+ get hooks() {
60
+ return this.#hooks;
61
+ }
62
+ async addPlugin(plugin) {
63
+ let resolvedPlugin = plugin;
64
+ if (plugin.applyToEnvironment) {
65
+ const result = await Promise.resolve(plugin.applyToEnvironment(this.environment));
66
+ if (!result || isObject.isObject(result) && Object.keys(result).length === 0) {
67
+ return;
68
+ }
69
+ resolvedPlugin = chunk2OMOKN7Y_cjs.isPlugin(result) ? result : plugin;
70
+ }
71
+ const context = chunk63DAS6TJ_cjs.createPluginContext(resolvedPlugin, this);
72
+ this.plugins.push({
73
+ plugin: resolvedPlugin,
74
+ context
75
+ });
76
+ this.#hooks = Object.keys(resolvedPlugin).filter((key) => !PLUGIN_NON_HOOK_FIELDS.includes(key)).reduce((ret, key) => {
77
+ const hook = key;
78
+ const pluginHook = resolvedPlugin[hook];
79
+ if (!chunk2OMOKN7Y_cjs.isPluginHook(pluginHook)) {
80
+ return ret;
81
+ }
82
+ if (!chunk2OMOKN7Y_cjs.isHookExternal(hook)) {
83
+ ret[hook] ??= {};
84
+ if (resolvedPlugin.enforce) {
85
+ ret[hook][`${resolvedPlugin.enforce}Enforced`] ??= [];
86
+ chunk2OMOKN7Y_cjs.addPluginHook(context, resolvedPlugin, pluginHook, ret[hook][`${resolvedPlugin.enforce}Enforced`]);
87
+ return ret;
88
+ }
89
+ if (isFunction.isFunction(pluginHook) || !pluginHook.order) {
90
+ ret[hook].normal ??= [];
91
+ chunk2OMOKN7Y_cjs.addPluginHook(context, resolvedPlugin, pluginHook, ret[hook].normal);
92
+ return ret;
93
+ }
94
+ ret[hook][`${pluginHook.order}Ordered`] ??= [];
95
+ chunk2OMOKN7Y_cjs.addPluginHook(context, resolvedPlugin, pluginHook, ret[hook][`${pluginHook.order}Ordered`]);
96
+ } else {
97
+ ret[hook] ??= [];
98
+ ret[hook].push({
99
+ plugin: resolvedPlugin,
100
+ hook: chunk2OMOKN7Y_cjs.getHookHandler(pluginHook).bind(context)
101
+ });
102
+ }
103
+ return ret;
104
+ }, this.hooks);
105
+ }
106
+ /**
107
+ * Retrieves the hook handlers for a specific hook name
108
+ */
109
+ selectHooks(hook, options) {
110
+ const result = [];
111
+ if (this.hooks[hook]) {
112
+ if (!chunk2OMOKN7Y_cjs.isHookExternal(hook)) {
113
+ const hooks = this.hooks[hook];
114
+ if (options?.order) {
115
+ if (options?.order === "pre") {
116
+ result.push(...(hooks.preOrdered ?? []).map((h) => {
117
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
118
+ if (!plugin) {
119
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
120
+ }
121
+ return {
122
+ handle: h.handler,
123
+ context: plugin.context
124
+ };
125
+ }));
126
+ result.push(...(hooks.preEnforced ?? []).map((h) => {
127
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
128
+ if (!plugin) {
129
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
130
+ }
131
+ return {
132
+ handle: h.handler,
133
+ context: plugin.context
134
+ };
135
+ }));
136
+ } else if (options?.order === "post") {
137
+ result.push(...(hooks.postOrdered ?? []).map((h) => {
138
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
139
+ if (!plugin) {
140
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
141
+ }
142
+ return {
143
+ handle: h.handler,
144
+ context: plugin.context
145
+ };
146
+ }));
147
+ result.push(...(hooks.postEnforced ?? []).map((h) => {
148
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
149
+ if (!plugin) {
150
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
151
+ }
152
+ return {
153
+ handle: h.handler,
154
+ context: plugin.context
155
+ };
156
+ }));
157
+ } else {
158
+ result.push(...(hooks.normal ?? []).map((h) => {
159
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
160
+ if (!plugin) {
161
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
162
+ }
163
+ return {
164
+ handle: h.handler,
165
+ context: plugin.context
166
+ };
167
+ }));
168
+ }
169
+ } else {
170
+ result.push(...this.selectHooks(hook, {
171
+ order: "pre"
172
+ }));
173
+ result.push(...this.selectHooks(hook, {
174
+ order: "normal"
175
+ }));
176
+ result.push(...this.selectHooks(hook, {
177
+ order: "post"
178
+ }));
179
+ }
180
+ } else {
181
+ result.push(...this.hooks[hook].map((h) => {
182
+ const plugin = this.plugins.find((p) => p.plugin.name === h.plugin.name);
183
+ if (!plugin) {
184
+ throw new Error(`Could not find plugin context for plugin "${h.plugin.name}".`);
185
+ }
186
+ return {
187
+ handle: h.handler,
188
+ context: plugin.context
189
+ };
190
+ }));
191
+ }
192
+ }
193
+ return result;
194
+ }
195
+ constructor(config, workspaceConfig) {
196
+ super(workspaceConfig);
197
+ this.resolvedConfig = config;
198
+ }
199
+ };
200
+
201
+ exports.PowerlinesEnvironmentContext = PowerlinesEnvironmentContext;
202
+ //# sourceMappingURL=chunk-65ANDTTL.cjs.map
203
+ //# sourceMappingURL=chunk-65ANDTTL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/plugin.ts","../../src/lib/contexts/environment-context.ts"],"names":["PLUGIN_NON_HOOK_FIELDS","PowerlinesEnvironmentContext","PowerlinesContext","fromConfig","workspaceConfig","config","context","init","powerlinesPath","resolvePackage","Error","environment","plugins","hooks","addPlugin","plugin","resolvedPlugin","applyToEnvironment","result","Promise","resolve","isObject","Object","keys","length","isPlugin","createPluginContext","push","filter","key","includes","reduce","ret","hook","pluginHook","isPluginHook","isHookExternal","enforce","addPluginHook","isFunction","order","normal","getHookHandler","bind","selectHooks","options","preOrdered","map","h","find","p","name","handle","handler","preEnforced","postOrdered","postEnforced","resolvedConfig"],"mappings":"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","file":"chunk-65ANDTTL.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ArrayValues } from \"@stryke/types/array\";\nimport type { FunctionLike, MaybePromise } from \"@stryke/types/base\";\nimport type {\n ExternalIdResult,\n HookFilter,\n TransformResult,\n UnpluginOptions\n} from \"unplugin\";\nimport type { UnpluginBuildVariant } from \"./build\";\nimport type { CommandType } from \"./commands\";\nimport type { EnvironmentConfig, PluginConfig } from \"./config\";\nimport type {\n BuildPluginContext,\n PluginContext,\n UnresolvedContext\n} from \"./context\";\nimport type { EnvironmentResolvedConfig, ResolvedConfig } from \"./resolved\";\n\nexport interface PluginHookObject<\n THookFunction extends FunctionLike,\n TFilter extends keyof HookFilter = never\n> {\n /**\n * The order in which the plugin should be applied.\n */\n order?: \"pre\" | \"post\" | null | undefined;\n\n /**\n * A filter to determine when the hook should be called.\n */\n filter?: Pick<HookFilter, TFilter>;\n\n /**\n * The hook function to be called.\n */\n handler: THookFunction;\n}\n\nexport type PluginHook<\n THookFunction extends FunctionLike,\n TFilter extends keyof HookFilter = never\n> = THookFunction | PluginHookObject<THookFunction, TFilter>;\n\n/**\n * A result returned by the plugin from the `types` hook that describes the declaration types output file.\n */\nexport interface TypesResult {\n directives?: string[];\n code: string;\n}\n\ntype DeepPartial<T> = {\n [K in keyof T]?: DeepPartial<T[K]>;\n};\n\nexport type ConfigResult<TContext extends PluginContext = PluginContext> =\n DeepPartial<TContext[\"config\"]> & Record<string, any>;\n\nexport interface BasePluginHookFunctions<\n TContext extends PluginContext = PluginContext\n> extends Record<CommandType, (this: TContext) => MaybePromise<void>> {\n /**\n * A function that returns configuration options to be merged with the build context's options.\n *\n * @remarks\n * Modify config before it's resolved. The hook can either mutate {@link Context.config} on the passed-in context directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @warning User plugins are resolved before running this hook so injecting other plugins inside the config hook will have no effect. If you want to add plugins, consider doing so in the {@link Plugin.dependsOn} property instead.\n *\n * @see https://vitejs.dev/guide/api-plugin#config\n *\n * @param this - The build context.\n * @param config - The partial configuration object to be modified.\n * @returns A promise that resolves to a partial configuration object.\n */\n config: (\n this: UnresolvedContext<TContext[\"config\"]>\n ) => MaybePromise<ConfigResult<TContext>>;\n\n /**\n * Modify environment configs before it's resolved. The hook can either mutate the passed-in environment config directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @remarks\n * This hook is called for each environment with a partially resolved environment config that already accounts for the default environment config values set at the root level. If plugins need to modify the config of a given environment, they should do it in this hook instead of the config hook. Leaving the config hook only for modifying the root default environment config.\n *\n * @see https://vitejs.dev/guide/api-plugin#configenvironment\n *\n * @param this - The build context.\n * @param name - The name of the environment being configured.\n * @param environment - The Vite-like environment object containing information about the current build environment.\n * @returns A promise that resolves when the hook is complete.\n */\n configEnvironment: (\n this: TContext,\n name: string,\n environment: EnvironmentConfig\n ) => MaybePromise<Partial<EnvironmentResolvedConfig> | undefined | null>;\n\n /**\n * A hook that is called when the plugin is resolved.\n *\n * @see https://vitejs.dev/guide/api-plugin#configresolved\n *\n * @param this - The build context.\n * @returns A promise that resolves when the hook is complete.\n */\n configResolved: (this: TContext) => MaybePromise<void>;\n\n /**\n * A hook that is called to overwrite the generated declaration types file (.d.ts). The generated type definitions should describe the built-in modules/logic added during the `prepare` task.\n *\n * @param this - The build context.\n * @param code - The source code to generate types for.\n * @returns A promise that resolves when the hook is complete.\n */\n types: (\n this: TContext,\n code: string\n ) => MaybePromise<TypesResult | string | undefined | null>;\n\n /**\n * A hook that is called at the start of the build process.\n *\n * @param this - The build context and unplugin build context.\n * @returns A promise that resolves when the hook is complete.\n */\n buildStart: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext\n ) => MaybePromise<void>;\n\n /**\n * A hook that is called at the end of the build process.\n *\n * @param this - The build context and unplugin build context.\n * @returns A promise that resolves when the hook is complete.\n */\n buildEnd: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext\n ) => MaybePromise<void>;\n\n /**\n * A hook that is called to transform the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param code - The source code to transform.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n transform: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n code: string,\n id: string\n ) => MaybePromise<TransformResult>;\n\n /**\n * A hook that is called to load the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n load: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string\n ) => MaybePromise<TransformResult>;\n\n /**\n * A hook that is called to resolve the identifier of the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @param importer - The importer of the source code.\n * @param options - The options for resolving the identifier.\n * @returns A promise that resolves when the hook is complete.\n */\n resolveId: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string,\n importer: string | undefined,\n options: { isEntry: boolean }\n ) => MaybePromise<string | ExternalIdResult | null | undefined>;\n\n /**\n * A hook that is called to write the bundle to disk.\n *\n * @param this - The build context.\n * @returns A promise that resolves when the hook is complete.\n */\n writeBundle: (this: TContext) => MaybePromise<void>;\n}\n\nexport type BuildPlugin<\n TContext extends PluginContext = PluginContext,\n TBuildVariant extends UnpluginBuildVariant = UnpluginBuildVariant,\n TOptions extends Required<UnpluginOptions>[TBuildVariant] =\n Required<UnpluginOptions>[TBuildVariant]\n> = {\n [TKey in keyof TOptions]: TOptions[TKey] extends FunctionLike\n ? (\n this: ThisParameterType<TOptions[TKey]> & TContext,\n ...args: Parameters<TOptions[TKey]>\n ) => ReturnType<TOptions[TKey]> | MaybePromise<ReturnType<TOptions[TKey]>>\n : TOptions[TKey];\n};\n\nexport type ExternalPluginHookFunctionsVariant<\n TContext extends PluginContext = PluginContext,\n TBuildVariant extends UnpluginBuildVariant = UnpluginBuildVariant\n> = {\n [TKey in keyof BuildPlugin<TContext, TBuildVariant> &\n string as `${TBuildVariant}:${TKey}`]: BuildPlugin<\n TContext,\n TBuildVariant\n >[TKey];\n};\n\nexport type ExternalPluginHookFunctions<TContext extends PluginContext> =\n ExternalPluginHookFunctionsVariant<TContext, \"vite\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"esbuild\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rolldown\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rollup\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"webpack\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rspack\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"farm\">;\n\nexport type PluginHookFunctions<\n TContext extends PluginContext = PluginContext\n> = BasePluginHookFunctions<TContext> & ExternalPluginHookFunctions<TContext>;\n\nexport type PluginHooks<TContext extends PluginContext = PluginContext> = {\n [TKey in keyof BasePluginHookFunctions<TContext>]: PluginHook<\n BasePluginHookFunctions<TContext>[TKey]\n >;\n} & {\n /**\n * A function that returns configuration options to be merged with the build context's options.\n *\n * @remarks\n * Modify config before it's resolved. The hook can either mutate {@link Context.config} on the passed-in context directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @warning User plugins are resolved before running this hook so injecting other plugins inside the config hook will have no effect. If you want to add plugins, consider doing so in the {@link Plugin.dependsOn} property instead.\n *\n * @see https://vitejs.dev/guide/api-plugin#config\n *\n * @param this - The build context.\n * @param config - The partial configuration object to be modified.\n * @returns A promise that resolves to a partial configuration object.\n */\n config:\n | PluginHook<\n (\n this: UnresolvedContext<TContext[\"config\"]>\n ) => MaybePromise<ConfigResult<TContext>>\n >\n | ConfigResult<TContext>;\n\n /**\n * A hook that is called to transform the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param code - The source code to transform.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n transform: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n code: string,\n id: string\n ) => MaybePromise<TransformResult>,\n \"code\" | \"id\"\n >;\n\n /**\n * A hook that is called to load the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n load: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string\n ) => MaybePromise<TransformResult>,\n \"id\"\n >;\n\n /**\n * A hook that is called to resolve the identifier of the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @param importer - The importer of the source code.\n * @param options - The options for resolving the identifier.\n * @returns A promise that resolves when the hook is complete.\n */\n resolveId: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string,\n importer: string | undefined,\n options: { isEntry: boolean }\n ) => MaybePromise<string | ExternalIdResult | null | undefined>,\n \"id\"\n >;\n};\n\nexport type PluginBuildPlugins<TContext extends PluginContext = PluginContext> =\n {\n [TBuildVariant in UnpluginBuildVariant]?: BuildPlugin<\n TContext,\n TBuildVariant\n >;\n };\n\nexport interface Plugin<\n in out TContext extends PluginContext<ResolvedConfig> =\n PluginContext<ResolvedConfig>\n>\n extends Partial<PluginHooks<TContext>>, PluginBuildPlugins<TContext> {\n /**\n * The name of the plugin, for use in deduplication, error messages and logs.\n */\n name: string;\n\n /**\n * An API object that can be used for inter-plugin communication.\n *\n * @see https://rollupjs.org/plugin-development/#direct-plugin-communication\n */\n api?: Record<string, any>;\n\n /**\n * Enforce plugin invocation tier similar to webpack loaders. Hooks ordering is still subject to the `order` property in the hook object.\n *\n * @remarks\n * The Plugin invocation order is as follows:\n * - `enforce: 'pre'` plugins\n * - `order: 'pre'` plugin hooks\n * - any other plugins (normal)\n * - `order: 'post'` plugin hooks\n * - `enforce: 'post'` plugins\n *\n * @see https://vitejs.dev/guide/api-plugin.html#plugin-ordering\n * @see https://rollupjs.org/plugin-development/#build-hooks\n * @see https://webpack.js.org/concepts/loaders/#enforce---pre-and-post\n * @see https://esbuild.github.io/plugins/#concepts\n */\n enforce?: \"pre\" | \"post\";\n\n /**\n * A function to determine if two plugins are the same and can be de-duplicated.\n *\n * @remarks\n * If this is not provided, plugins are de-duplicated by comparing their names.\n *\n * @param other - The other plugin to compare against.\n * @returns `true` if the two plugins are the same, `false` otherwise.\n */\n dedupe?: false | ((other: Plugin<any>) => boolean);\n\n /**\n * A list of pre-requisite plugins that must be loaded before this plugin can be used.\n */\n dependsOn?: PluginConfig<any>[];\n\n /**\n * Define environments where this plugin should be active. By default, the plugin is active in all environments.\n *\n * @param environment - The environment to check.\n * @returns `true` if the plugin should be active in the specified environment, `false` otherwise.\n */\n applyToEnvironment?: (\n environment: EnvironmentResolvedConfig\n ) => MaybePromise<boolean | Plugin<TContext>>;\n}\n\nexport const PLUGIN_NON_HOOK_FIELDS = [\n \"name\",\n \"api\",\n \"enforce\",\n \"dedupe\",\n \"dependsOn\",\n \"applyToEnvironment\"\n] as const;\n\nexport type PluginNonHookFields =\n | ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>\n | UnpluginBuildVariant;\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport { ArrayValues } from \"@stryke/types/array\";\nimport {\n addPluginHook,\n getHookHandler,\n isHookExternal,\n isPlugin,\n isPluginHook\n} from \"../../plugin-utils/helpers\";\nimport { WorkspaceConfig } from \"../../types/config\";\nimport {\n EnvironmentContext,\n EnvironmentContextPlugin,\n PluginContext,\n SelectHooksOptions,\n SelectHooksResult\n} from \"../../types/context\";\nimport { BaseHooksList, HookKeys, HooksList } from \"../../types/hooks\";\nimport { Plugin, PLUGIN_NON_HOOK_FIELDS } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { PowerlinesContext } from \"./context\";\nimport { createPluginContext } from \"./plugin-context\";\n\nexport class PowerlinesEnvironmentContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements EnvironmentContext<TResolvedConfig>\n{\n /**\n * The hooks registered by plugins in this environment\n */\n #hooks: HooksList<PluginContext<TResolvedConfig>> = {} as HooksList<\n PluginContext<TResolvedConfig>\n >;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceConfig - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static async fromConfig<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceConfig: WorkspaceConfig,\n config: TResolvedConfig\n ): Promise<PowerlinesEnvironmentContext<TResolvedConfig>> {\n const context = new PowerlinesEnvironmentContext<TResolvedConfig>(\n config,\n workspaceConfig\n );\n await context.init();\n\n context.powerlinesPath = await resolvePackage(\"powerlines\");\n if (!context.powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n return context;\n }\n\n /**\n * The resolved environment configuration\n */\n public environment!: EnvironmentResolvedConfig;\n\n /**\n * The list of plugins applied to this environment\n */\n public plugins: EnvironmentContextPlugin<TResolvedConfig>[] = [];\n\n /**\n * The resolved configuration options\n */\n public override get config(): TResolvedConfig {\n return super.config;\n }\n\n public get hooks(): HooksList<PluginContext<TResolvedConfig>> {\n return this.#hooks;\n }\n\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n let resolvedPlugin = plugin;\n if (plugin.applyToEnvironment) {\n const result = await Promise.resolve(\n plugin.applyToEnvironment(this.environment)\n );\n if (!result || (isObject(result) && Object.keys(result).length === 0)) {\n return;\n }\n\n resolvedPlugin = isPlugin<TResolvedConfig>(result) ? result : plugin;\n }\n\n const context = createPluginContext<TResolvedConfig>(resolvedPlugin, this);\n\n this.plugins.push({\n plugin: resolvedPlugin,\n context\n });\n\n this.#hooks = Object.keys(resolvedPlugin)\n .filter(\n key =>\n !PLUGIN_NON_HOOK_FIELDS.includes(\n key as ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>\n )\n )\n .reduce((ret, key) => {\n const hook = key as keyof HooksList<PluginContext<TResolvedConfig>>;\n const pluginHook = resolvedPlugin[hook as keyof typeof resolvedPlugin];\n if (!isPluginHook(pluginHook)) {\n return ret;\n }\n\n if (!isHookExternal(hook)) {\n ret[hook] ??= {};\n if (resolvedPlugin.enforce) {\n ret[hook][`${resolvedPlugin.enforce}Enforced`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${resolvedPlugin.enforce}Enforced`]!\n );\n\n return ret;\n }\n\n if (isFunction(pluginHook) || !pluginHook.order) {\n ret[hook].normal ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook].normal\n );\n\n return ret;\n }\n\n ret[hook][`${pluginHook.order}Ordered`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${pluginHook.order}Ordered`]!\n );\n } else {\n ret[hook] ??= [];\n ret[hook].push({\n plugin: resolvedPlugin,\n hook: getHookHandler(pluginHook).bind(context)\n } as any);\n }\n\n return ret;\n }, this.hooks);\n }\n\n /**\n * Retrieves the hook handlers for a specific hook name\n */\n public selectHooks<TKey extends HookKeys<PluginContext<TResolvedConfig>>>(\n hook: TKey,\n options?: SelectHooksOptions\n ): SelectHooksResult<TResolvedConfig, TKey>[] {\n const result = [] as SelectHooksResult<TResolvedConfig, TKey>[];\n\n if (this.hooks[hook]) {\n if (!isHookExternal(hook)) {\n const hooks = this.hooks[hook] as BaseHooksList<\n PluginContext<TResolvedConfig>\n >;\n if (options?.order) {\n if (options?.order === \"pre\") {\n result.push(\n ...(hooks.preOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.preEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else if (options?.order === \"post\") {\n result.push(\n ...(hooks.postOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.postEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else {\n result.push(\n ...(hooks.normal ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n } else {\n result.push(...this.selectHooks(hook, { order: \"pre\" }));\n result.push(...this.selectHooks(hook, { order: \"normal\" }));\n result.push(...this.selectHooks(hook, { order: \"post\" }));\n }\n } else {\n result.push(\n ...this.hooks[hook].map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${h.plugin.name}\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n }\n\n return result;\n }\n\n protected constructor(\n config: TResolvedConfig,\n workspaceConfig: WorkspaceConfig\n ) {\n super(workspaceConfig);\n\n this.resolvedConfig = config;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from './chunk-SHUYVCID.js';
1
+ import { __name } from './chunk-7QVYU63E.js';
2
2
  import { LogLevelLabel } from '@storm-software/config-tools/types';
3
3
  import { isString } from '@stryke/type-checks/is-string';
4
4
 
@@ -79,3 +79,5 @@ function createPluginContext(plugin, environment) {
79
79
  __name(createPluginContext, "createPluginContext");
80
80
 
81
81
  export { createPluginContext };
82
+ //# sourceMappingURL=chunk-6OGQTUXF.js.map
83
+ //# sourceMappingURL=chunk-6OGQTUXF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/contexts/plugin-context.ts"],"names":["createPluginContext","plugin","environment","normalizeMessage","message","isString","log","extendLog","name","callHookFn","hook","options","args","$$internal","api","callHook","sequential","result","Proxy","get","_","prop","LogLevelLabel","ERROR","WARN","INFO","DEBUG","TRACE","set","value","includes","String"],"mappings":"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","file":"chunk-6OGQTUXF.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport { UnpluginMessage } from \"unplugin\";\nimport { CallHookOptions } from \"../../internal/helpers/hooks\";\nimport { LogFn } from \"../../types/config\";\nimport { EnvironmentContext, PluginContext } from \"../../types/context\";\nimport {\n HookKeys,\n InferHookParameters,\n InferHookReturnType\n} from \"../../types/hooks\";\nimport {\n UNSAFE_EnvironmentContext,\n UNSAFE_PluginContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport { ResolvedConfig } from \"../../types/resolved\";\n\n/**\n * Create a Proxy-based PluginContext\n *\n * @param plugin - The plugin instance\n * @param environment - The environment context\n * @returns The proxied plugin context\n */\nexport function createPluginContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>(\n plugin: Plugin<PluginContext<TResolvedConfig>>,\n environment: UNSAFE_EnvironmentContext<TResolvedConfig>\n): UNSAFE_PluginContext<TResolvedConfig> {\n const normalizeMessage = (message: string | UnpluginMessage): string => {\n return isString(message) ? message : message.message;\n };\n\n const log: LogFn = environment.extendLog(plugin.name);\n\n const callHookFn = async <\n TKey extends HookKeys<PluginContext<TResolvedConfig>>\n >(\n hook: TKey,\n options: CallHookOptions,\n ...args: InferHookParameters<PluginContext<TResolvedConfig>, TKey>\n ): Promise<\n InferHookReturnType<PluginContext<TResolvedConfig>, TKey> | undefined\n > => {\n return environment.$$internal.api.callHook(\n hook,\n {\n sequential: true,\n result: \"merge\",\n ...options,\n environment\n } as Parameters<typeof environment.$$internal.api.callHook>[1],\n ...args\n );\n };\n\n return new Proxy({} as UNSAFE_PluginContext<TResolvedConfig>, {\n get(_, prop) {\n if (prop === \"$$internal\") {\n return {\n ...environment.$$internal,\n environment,\n callHook: callHookFn\n };\n }\n\n if (prop === \"log\" || prop === \"logger\") {\n return log;\n }\n\n if (prop === \"error\") {\n return (message: string | UnpluginMessage) => {\n log(LogLevelLabel.ERROR, normalizeMessage(message));\n };\n }\n\n if (prop === \"warn\") {\n return (message: string | UnpluginMessage) => {\n log(LogLevelLabel.WARN, normalizeMessage(message));\n };\n }\n\n if (prop === \"info\") {\n return (message: string | UnpluginMessage) => {\n log(LogLevelLabel.INFO, normalizeMessage(message));\n };\n }\n\n if (prop === \"debug\") {\n return (message: string | UnpluginMessage) => {\n log(LogLevelLabel.DEBUG, normalizeMessage(message));\n };\n }\n\n if (prop === \"trace\") {\n return (message: string | UnpluginMessage) => {\n log(LogLevelLabel.TRACE, normalizeMessage(message));\n };\n }\n\n return environment[prop as keyof EnvironmentContext<TResolvedConfig>];\n },\n set(_, prop, value) {\n if (\n [\n \"$$internal\",\n \"environment\",\n \"config\",\n \"log\",\n \"logger\",\n \"error\",\n \"warn\",\n \"plugins\",\n \"hooks\",\n \"addPlugin\",\n \"selectHooks\"\n ].includes(prop as string)\n ) {\n log(\n LogLevelLabel.WARN,\n `Cannot set read-only property \"${String(prop)}\"`\n );\n\n return false;\n }\n\n environment[prop as keyof EnvironmentContext<TResolvedConfig>] = value;\n return true;\n }\n });\n}\n"]}
@@ -1,19 +1,18 @@
1
- import { getFileHeader } from './chunk-GANVMM73.js';
2
- import { PowerlinesAPIContext } from './chunk-GD7KTLPU.js';
3
- import { isPluginConfig, isPlugin, isPluginConfigTuple, isPluginConfigObject, checkDedupe } from './chunk-GSGF6RL2.js';
4
- import { writeMetaFile } from './chunk-OEF6EHQV.js';
5
- import { createProgram } from './chunk-4W6WV35V.js';
6
- import { isIncludeMatchFound, getParsedTypeScriptConfig, getTsconfigFilePath } from './chunk-ZGMEHSNN.js';
7
- import { createLog } from './chunk-ENRLU4UR.js';
8
- import { getString } from './chunk-M263EZ4F.js';
9
- import { __name } from './chunk-SHUYVCID.js';
1
+ import { getFileHeader } from './chunk-7R23HVGQ.js';
2
+ import { PowerlinesAPIContext } from './chunk-M7SU453W.js';
3
+ import { isPluginConfig, isPlugin, isPluginConfigTuple, isPluginConfigObject, checkDedupe } from './chunk-7CDTHZ3R.js';
4
+ import { writeMetaFile } from './chunk-45D4XIOK.js';
5
+ import { createProgram } from './chunk-ZLWW2MXD.js';
6
+ import { isIncludeMatchFound, getParsedTypeScriptConfig, getTsconfigFilePath } from './chunk-FPFPUYXS.js';
7
+ import { createLog } from './chunk-35EO5Y7R.js';
8
+ import { getString } from './chunk-D55ZAZCX.js';
9
+ import { __name } from './chunk-7QVYU63E.js';
10
10
  import { LogLevelLabel } from '@storm-software/config-tools/types';
11
11
  import { getWorkspaceRoot } from '@stryke/fs/get-workspace-root';
12
12
  import { setParseImpl } from 'unplugin';
13
13
  import { transformAsync } from '@babel/core';
14
14
  import { formatLogMessage } from '@storm-software/config-tools/logger/console';
15
15
  import { toArray } from '@stryke/convert/to-array';
16
- import { copyFiles } from '@stryke/fs/copy-file';
17
16
  import { createDirectory } from '@stryke/fs/helpers';
18
17
  import { install } from '@stryke/fs/install';
19
18
  import { listFiles } from '@stryke/fs/list-files';
@@ -35,7 +34,8 @@ import Handlebars from 'handlebars';
35
34
  import { declare } from '@babel/helper-plugin-utils';
36
35
  import * as t from '@babel/types';
37
36
  import { flattenDiagnosticMessageText } from 'typescript';
38
- import { defu } from 'defu';
37
+ import { isString } from '@stryke/type-checks/is-string';
38
+ import { createDefu, defu } from 'defu';
39
39
  import { getPackageName, hasPackageVersion, getPackageVersion } from '@stryke/string-format/package';
40
40
  import { getObjectDiff } from '@donedeal0/superdiff';
41
41
  import { readJsonFile } from '@stryke/fs/json';
@@ -191,6 +191,14 @@ ${diagnosticMessage.length > 5e3 ? `${diagnosticMessage.slice(0, 5e3)}...` : dia
191
191
  return formatTypes(builtinModules);
192
192
  }
193
193
  __name(emitTypes, "emitTypes");
194
+ var mergeResults = createDefu((obj, key, value) => {
195
+ if (isString(obj[key]) && isString(value)) {
196
+ obj[key] = `${obj[key] || ""}
197
+ ${value || ""}`.trim();
198
+ return true;
199
+ }
200
+ return false;
201
+ });
194
202
  async function callHook(context, hook, options, ...args) {
195
203
  const handlers = context.selectHooks(hook, options);
196
204
  if (handlers.length > 0) {
@@ -198,22 +206,28 @@ async function callHook(context, hook, options, ...args) {
198
206
  let results = [];
199
207
  if (options?.sequential === false) {
200
208
  results = await Promise.all(handlers.map(async (handler) => {
201
- if (!isFunction(handler)) {
209
+ if (!isFunction(handler.handle)) {
202
210
  throw new Error(`Plugin hook handler for hook "${hook}" is not a function.`);
203
211
  }
204
- return Promise.resolve(handler.apply(null, [
205
- ...args
206
- ]));
212
+ return Promise.resolve(
213
+ // eslint-disable-next-line ts/no-unsafe-call
214
+ handler.handle.apply(handler.context, [
215
+ ...args
216
+ ])
217
+ );
207
218
  }));
208
219
  } else {
209
220
  for (const handler of handlers) {
210
- if (!isFunction(handler)) {
221
+ if (!isFunction(handler.handle)) {
211
222
  throw new Error(`Plugin hook handler for hook "${hook}" is not a function.`);
212
223
  }
213
224
  if (options?.result === "first" || options?.asNextParam === false) {
214
- results.push(await Promise.resolve(handler.apply(null, [
215
- ...args
216
- ])));
225
+ results.push(await Promise.resolve(
226
+ // eslint-disable-next-line ts/no-unsafe-call
227
+ handler.handle.apply(handler.context, [
228
+ ...args
229
+ ])
230
+ ));
217
231
  if (options?.result === "first" && isSet(results[results.length - 1])) {
218
232
  break;
219
233
  }
@@ -225,8 +239,8 @@ async function callHook(context, hook, options, ...args) {
225
239
  sequenceArgs[0] = isFunction(options.asNextParam) ? await Promise.resolve(options.asNextParam(results[0])) : results[0];
226
240
  }
227
241
  const result = await Promise.resolve(
228
- // eslint-disable-next-line ts/no-unsafe-call, no-useless-call
229
- handler.apply(null, [
242
+ // eslint-disable-next-line ts/no-unsafe-call
243
+ handler.handle.apply(handler.context, [
230
244
  ...sequenceArgs
231
245
  ])
232
246
  );
@@ -235,9 +249,14 @@ async function callHook(context, hook, options, ...args) {
235
249
  results = [
236
250
  result
237
251
  ];
238
- } else {
252
+ } else if (isString(result)) {
253
+ results = [
254
+ `${isString(results[0]) ? results[0] || "" : ""}
255
+ ${result || ""}`.trim()
256
+ ];
257
+ } else if (isObject(result)) {
239
258
  results = [
240
- defu(result, results[0] ?? {})
259
+ mergeResults(result, results[0] ?? {})
241
260
  ];
242
261
  }
243
262
  }
@@ -450,7 +469,9 @@ var PowerlinesAPI = class _PowerlinesAPI {
450
469
  */
451
470
  static async from(workspaceRoot, config) {
452
471
  const api = new _PowerlinesAPI(await PowerlinesAPIContext.from(workspaceRoot, config));
453
- api.#context.$$internal.api = api;
472
+ api.#context.$$internal = {
473
+ api
474
+ };
454
475
  for (const plugin of api.context.config.plugins ?? []) {
455
476
  await api.#addPlugin(plugin);
456
477
  }
@@ -575,7 +596,7 @@ ${formatLogMessage(context.config)}`);
575
596
  context.log(LogLevelLabel.TRACE, `Generating TypeScript declaration file ${context.dtsPath}.`);
576
597
  const directives = [];
577
598
  const asNextParam = /* @__PURE__ */ __name((previousResult) => isObject(previousResult) ? previousResult.code : previousResult, "asNextParam");
578
- let result = await this.callHook("generateTypes", {
599
+ let result = await this.callHook("types", {
579
600
  environment: context,
580
601
  sequential: true,
581
602
  order: "pre",
@@ -592,7 +613,7 @@ ${formatLogMessage(context.config)}`);
592
613
  generatedTypes = result;
593
614
  }
594
615
  }
595
- result = await this.callHook("generateTypes", {
616
+ result = await this.callHook("types", {
596
617
  environment: context,
597
618
  sequential: true,
598
619
  order: "normal",
@@ -609,7 +630,7 @@ ${formatLogMessage(context.config)}`);
609
630
  generatedTypes = result;
610
631
  }
611
632
  }
612
- result = await this.callHook("generateTypes", {
633
+ result = await this.callHook("types", {
613
634
  environment: context,
614
635
  sequential: true,
615
636
  order: "post",
@@ -782,15 +803,12 @@ ${formatTypes(generatedTypes)}
782
803
  const destinationPath = joinPaths(appendPath(context.config.output.outputPath, context.workspaceConfig.workspaceRoot), "dist");
783
804
  if (sourcePath !== destinationPath) {
784
805
  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}).`);
785
- await copyFiles({
786
- input: sourcePath,
787
- glob: "**/*"
788
- }, destinationPath);
806
+ await context.fs.copy(sourcePath, destinationPath);
789
807
  }
790
808
  }
791
809
  await Promise.all(context.config.output.assets.map(async (asset) => {
792
810
  context.log(LogLevelLabel.DEBUG, `Copying asset(s): ${chalk3.redBright(context.workspaceConfig.workspaceRoot === asset.input ? asset.glob : joinPaths(replacePath(asset.input, context.workspaceConfig.workspaceRoot), asset.glob))} -> ${chalk3.greenBright(joinPaths(replacePath(asset.output, context.workspaceConfig.workspaceRoot), asset.glob))} ${Array.isArray(asset.ignore) && asset.ignore.length > 0 ? ` (ignoring: ${asset.ignore.map((i) => chalk3.yellowBright(i)).join(", ")})` : ""}`);
793
- await copyFiles(asset, asset.output);
811
+ await context.fs.copy(asset, asset.output);
794
812
  }));
795
813
  await this.callHook("build", {
796
814
  environment: context,
@@ -1161,3 +1179,5 @@ function createUnpluginFactory(variant, decorate) {
1161
1179
  __name(createUnpluginFactory, "createUnpluginFactory");
1162
1180
 
1163
1181
  export { createUnpluginFactory };
1182
+ //# sourceMappingURL=chunk-76DBMONS.js.map
1183
+ //# sourceMappingURL=chunk-76DBMONS.js.map