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
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe"],"mappings":";;;;;;;;;;;;;;;;;;;AAuBO,IAAMA,mBAAAA,GAAsB,SAAA;AAE5B,SAASC,iBAAAA,CACdC,MACAC,UAAAA,EAA4C;AAE5C,EAAA,OAAOC,sBACLD,UAAAA,CAAWE,YAAAA,GAAeH,IAAAA,CAAAA,IAAS,EAAC,EACpC;AACEA,IAAAA,IAAAA;AACAI,IAAAA,KAAAA,EAAOH,UAAAA,CAAWG,KAAAA,IAASC,mBAAAA,CAAUJ,UAAAA,CAAWD,IAAI,CAAA;IACpDM,GAAAA,EAAK,KAAA;IACLC,UAAAA,EACEN,UAAAA,CAAWO,KAAAA,EAAOC,QAAAA,KAAa,SAAA,GAC3B;AAAC,MAAA,SAAA;AAAW,MAAA,QAAA;AAAU,MAAA,aAAA;AAAe,MAAA;AACrC,KAAA,GAAA;AAAC,MAAA,QAAA;AAAU,MAAA,aAAA;AAAe,MAAA;;IAChCC,UAAAA,EAAY;AAAC,MAAA,MAAA;AAAQ,MAAA,KAAA;AAAO,MAAA,MAAA;AAAQ,MAAA,KAAA;AAAO,MAAA,MAAA;AAAQ,MAAA,MAAA;AAAQ,MAAA;;AAC3DC,IAAAA,QAAAA,EAAUV,UAAAA,CAAWO,KAAAA,EAAOC,QAAAA,KAAa,SAAA,GAAY,QAAA,GAAW,QAAA;IAChEG,OAAAA,EACEX,UAAAA,CAAWO,KAAAA,EAAOC,QAAAA,KAAa,SAAA,GAC3B;MACEI,IAAAA,EAAM,IAAA;MACNC,IAAAA,EAAM,IAAA;MACNC,UAAAA,EAAY,KAAA;;MAEZC,IAAAA,EAAM,WAAA;MACNC,YAAAA,EAAc;AAAC,QAAA;;MACfC,IAAAA,EAAM,IAAA;AACNC,MAAAA,OAAAA,EAAS;KACX,GACAC;AACR,GAAA,EACAnB,UAAAA,CAAAA;AAEJ;AAhCgBF,wBAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAkCT,SAASsB,yBAEdpB,UAAAA,EAA4C;AAC5C,EAAA,OAAOF,iBAAAA,CAAkBD,qBAAqBG,UAAAA,CAAAA;AAChD;AAJgBoB,wBAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;;;ACNT,IAAMC,oBAAAA,GAAN,MAAMA,qBAAAA,SAGHC,mCAAAA,CAAAA;EAxDV;;;AA2DE,EAAA,aAAA,GACE,EAAC;AAEH,EAAA,QAAA,GAAqD,EAAA;AAErD,EAAA,IAAA;;;;;;;;EASA,aAA6BC,IAAAA,CAG3BC,eACAC,MAAAA,EACsC;AACtC,IAAA,MAAMC,OAAAA,GAAU,IAAIL,qBAAAA,CAClB,MAAMM,sCAAoBH,aAAAA,EAAeC,MAAAA,CAAOG,IAAI,CAAA,CAAA;AAEtD,IAAA,MAAMF,OAAAA,CAAQG,eAAeJ,MAAAA,CAAAA;AAE7BC,IAAAA,OAAAA,CAAQI,cAAAA,GAAiB,MAAMC,sBAAAA,CAAe,YAAA,CAAA;AAC9C,IAAA,IAAI,CAACL,QAAQI,cAAAA,EAAgB;AAC3B,MAAA,MAAM,IAAIE,MAAM,kDAAA,CAAA;AAClB,IAAA;AAEA,IAAA,OAAON,OAAAA;AACT,EAAA;;;;;;;;;AAUA,EAAA,IAAoBO,UAAAA,GAAsD;AACxE,IAAA,OAAO,KAAA,CAAMA,UAAAA;AACf,EAAA;;;;;;;;;AAUA,EAAA,IAAoBA,WAClBC,KAAAA,EACA;AACA,IAAA,KAAA,CAAMD,UAAAA,GAAaC,KAAAA;AACnB,IAAA,KAAA,MAAWC,WAAAA,IAAeC,MAAAA,CAAOC,MAAAA,CAAO,IAAA,CAAKnC,YAAY,CAAA,EAAG;AAC1DiC,MAAAA,WAAAA,CAAYF,aAAa,KAAA,CAAMA,UAAAA;AACjC,IAAA;AACF,EAAA;;;;AAKA,EAAA,IAAW/B,YAAAA,GAGT;AACA,IAAA,OAAO,IAAA,CAAK,aAAA;AACd,EAAA;AAEA,EAAA,IAAoBoC,GAAAA,GAAa;AAC/B,IAAA,IAAI,CAAC,KAAK,IAAA,EAAM;AACd,MAAA,IAAA,CAAK,IAAA,GAAO,IAAA,CAAKC,SAAAA,CAAU,QAAA,CAAA;AAC7B,IAAA;AAEA,IAAA,OAAO,IAAA,CAAK,IAAA;AACd,EAAA;AAEA,EAAA,IAAWC,OAAAA,GAAyD;AAClE,IAAA,OAAO,IAAA,CAAK,QAAA;AACd,EAAA;AAEA,EAAA,WAAA,CAAsBC,eAAAA,EAAkC;AACtD,IAAA,KAAA,CAAMA,eAAAA,CAAAA;AACR,EAAA;;;;;;EAOA,MAAyBC,IAAAA,CACvBjB,MAAAA,GAAiD,EAAC,EAClD;AACA,IAAA,MAAM,KAAA,CAAMiB,KAAKjB,MAAAA,CAAAA;AAEjB,IAAA,MAAMkB,QAAQC,GAAAA,CACZC,eAAAA,CACE,KAAKpB,MAAAA,CAAOzB,UAAAA,CAAWE,gBACrBkC,MAAAA,CAAOU,IAAAA,CAAK,IAAA,CAAKrB,MAAAA,CAAOzB,WAAWE,YAAY,CAAA,CAAE6C,SAAS,CAAA,GACxDX,MAAAA,CAAOU,KAAK,IAAA,CAAKrB,MAAAA,CAAOzB,UAAAA,CAAWE,YAAY,EAAE8C,GAAAA,CAAIjD,CAAAA,SACnDD,iBAAAA,CAAkBC,IAAAA,EAAM,KAAK0B,MAAAA,CAAOzB,UAAU,CAAA,CAAA,GAEhDoB,wBAAAA,CAAyB,KAAKK,MAAAA,CAAOzB,UAAU,CAAA,CAAA,CACnDgD,GAAAA,CAAI,OAAMC,GAAAA,KAAAA;AACV,MAAA,IAAA,CAAK,cAAcA,GAAAA,CAAIlD,IAAI,IAAI,MAAM,IAAA,CAAKmD,GAAGD,GAAAA,CAAAA;AAC/C,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;;AAQA,EAAA,MAAaC,GACXf,WAAAA,EACqD;AACrD,IAAA,IAAIT,OAAAA;AACJ,IAAA,IAAI,IAAA,CAAKxB,YAAAA,CAAaiC,WAAAA,CAAYpC,IAAI,CAAA,EAAG;AACvC2B,MAAAA,OAAAA,GAAU,IAAA,CAAKxB,YAAAA,CAAaiC,WAAAA,CAAYpC,IAAI,CAAA;IAC9C,CAAA,MAAO;AACL2B,MAAAA,OAAAA,GAAW,MAAMyB,8CAAAA,CAA6BC,UAAAA,CAC5C,IAAA,CAAKX,eAAAA,EACL,KAAKhB,MAAM,CAAA;AAEf,IAAA;AAEA,IAAA,IAAI4B,uBAAAA,CAAY,IAAA,CAAK5B,MAAAA,CAAO6B,YAAY,CAAA,EAAG;AACzC,MAAA,MAAM5B,OAAAA,CAAQ6B,gBAAAA,CAAiB,IAAA,CAAK9B,MAAAA,CAAO6B,YAAY,CAAA;AACzD,IAAA;AAEA5B,IAAAA,OAAAA,CAAQS,WAAAA,GAAcA,WAAAA;AACtBT,IAAAA,OAAAA,CAAQc,UAAU,EAAA;AAElB,IAAA,KAAA,MAAWgB,MAAAA,IAAU,KAAKhB,OAAAA,EAAS;AACjC,MAAA,MAAMd,OAAAA,CAAQ+B,UAAUD,MAAAA,CAAAA;AAC1B,IAAA;AAEA,IAAA,OAAO9B,OAAAA;AACT,EAAA;;;;;;EAOA,MAAsBG,cAAAA,CACpB7B,YACA0D,OAAAA,GAA8B;IAC5BC,cAAAA,EAAgB;GAClB,EACA;AACA,IAAA,MAAM,KAAA,CAAM9B,cAAAA,CAAe7B,UAAAA,EAAY0D,OAAAA,CAAAA;AAEvC,IAAA,MAAMf,OAAAA,CAAQC,IACZR,MAAAA,CAAOU,IAAAA,CAAK,KAAK,aAAa,CAAA,CAAEE,GAAAA,CAAI,OAAMjD,IAAAA,KAAAA;AACxC,MAAA,MAAM,KAAK,aAAA,CAAcA,IAAAA,CAAAA,CAAO8B,cAAAA,CAC9B7B,YACA0D,OAAAA,CAAAA;AAEJ,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;EAOA,MAAsBH,gBAAAA,CACpBD,cACAI,OAAAA,GAA8B;IAC5BC,cAAAA,EAAgB;GAClB,EACA;AACA,IAAA,MAAM,KAAA,CAAMJ,gBAAAA,CAAiBD,YAAAA,EAAcI,OAAAA,CAAAA;AAE3C,IAAA,MAAMf,OAAAA,CAAQC,IACZR,MAAAA,CAAOU,IAAAA,CAAK,KAAK,aAAa,CAAA,CAAEE,GAAAA,CAAI,OAAMjD,IAAAA,KAAAA;AACxC,MAAA,MAAM,KAAK,aAAA,CAAcA,IAAAA,CAAAA,CAAOwD,gBAAAA,CAC9BD,cACAI,OAAAA,CAAAA;AAEJ,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;AAOA,EAAA,MAAaD,UAAUD,MAAAA,EAAgD;AACrE,IAAA,IAAA,CAAKhB,OAAAA,CAAQoB,KAAKJ,MAAAA,CAAAA;AAElB,IAAA,MAAMb,OAAAA,CAAQC,IACZR,MAAAA,CAAOU,IAAAA,CAAK,KAAK5C,YAAY,CAAA,CAAE8C,GAAAA,CAAI,OAAMjD,IAAAA,KAAAA;AACvC,MAAA,MAAM,IAAA,CAAKG,YAAAA,CAAaH,IAAAA,CAAAA,CAAO0D,UAAUD,MAAAA,CAAAA;AAC3C,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;;AAQA,EAAA,MAAaK,eAAe9D,IAAAA,EAAe;AACzC,IAAA,IAAIoC,WAAAA;AACJ,IAAA,IAAIpC,IAAAA,EAAM;AACRoC,MAAAA,WAAAA,GAAc,IAAA,CAAKjC,aAAaH,IAAAA,CAAAA;AAClC,IAAA;AAEA,IAAA,IAAIqC,OAAOU,IAAAA,CAAK,IAAA,CAAK5C,YAAY,CAAA,CAAE6C,WAAW,CAAA,EAAG;AAC/CZ,MAAAA,WAAAA,GAAc,IAAA,CAAKjC,aAAakC,MAAAA,CAAOU,IAAAA,CAAK,KAAK5C,YAAY,CAAA,CAAE,CAAA,CAAE,CAAA;AAEjE,MAAA,IAAA,CAAKoC,GAAAA,CACHwB,mBAAAA,CAAcC,KAAAA,EACd,CAAA,0CAAA,EAA6CC,sBAAAA,CAAMC,IAAAA,CAAKC,UAAAA,CACtD/B,WAAAA,EAAaA,WAAAA,CAAYpC,IAAAA,CAAAA,CAAAA,CACxB,CAAA;AAEP,IAAA;AAEA,IAAA,IAAI,CAACoC,WAAAA,EAAa;AAChB,MAAA,IAAIpC,IAAAA,EAAM;AACR,QAAA,MAAM,IAAIiC,KAAAA,CAAM,CAAA,aAAA,EAAgBjC,IAAAA,CAAAA,YAAAA,CAAkB,CAAA;AACpD,MAAA;AAEAoC,MAAAA,WAAAA,GAAc,MAAM,IAAA,CAAKe,EAAAA,CACvB9B,yBAAyB,IAAA,CAAKK,MAAAA,CAAOzB,UAAU,CAAA,CAAA;AAGjD,MAAA,IAAA,CAAKsC,GAAAA,CACHwB,mBAAAA,CAAcK,IAAAA,EACd,CAAA,mGAAA,EAAsGH,sBAAAA,CAAMC,IAAAA,CAAKC,UAAAA,CAC/G/B,WAAAA,EAAaA,WAAAA,CAAYpC,IAAAA,CAAAA,CAAAA,CACxB,CAAA;AAEP,IAAA;AAEA,IAAA,OAAOoC,WAAAA;AACT,EAAA;AAEA,EAAA,MAAaiC,mBACXrE,IAAAA,EAC0D;AAC1D,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,IAAA,CAAK8D,cAAAA,CAAe9D,IAAAA,CAAAA;IACnC,CAAA,CAAA,MAAQ;AACN,MAAA,OAAOoB,MAAAA;AACT,IAAA;AACF,EAAA;AACF","file":"chunk-LQMUXGB5.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 { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\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 { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - 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 override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\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 * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { extractESBuildConfig } from './chunk-7GCAHOJK.js';
2
- import { __name } from './chunk-SHUYVCID.js';
1
+ import { extractESBuildConfig } from './chunk-D5IEZABI.js';
2
+ import { __name } from './chunk-7QVYU63E.js';
3
3
  import { LogLevelLabel } from '@storm-software/config-tools/types';
4
4
  import { build } from 'esbuild';
5
5
 
@@ -34,3 +34,5 @@ async function bundle(context, file, overrides = {}) {
34
34
  __name(bundle, "bundle");
35
35
 
36
36
  export { bundle };
37
+ //# sourceMappingURL=chunk-LSSLZECF.js.map
38
+ //# sourceMappingURL=chunk-LSSLZECF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utilities/bundle.ts"],"names":["bundle","context","file","overrides","path","fs","resolve","existsSync","Error","result","build","extractESBuildConfig","entry","write","sourcemap","splitting","treeShaking","errors","length","map","error","text","join","warnings","log","LogLevelLabel","WARN","warning","outputFiles","filter","Boolean"],"mappings":";;;;;AAgCA,eAAsBA,MAAAA,CACpBC,OAAAA,EACAC,IAAAA,EACAC,SAAAA,GAAiD,EAAC,EAAC;AAEnD,EAAA,MAAMC,IAAAA,GAAO,MAAMH,OAAAA,CAAQI,EAAAA,CAAGC,QAAQJ,IAAAA,CAAAA;AACtC,EAAA,IAAI,CAACE,IAAAA,IAAQ,CAACH,QAAQI,EAAAA,CAAGE,UAAAA,CAAWH,IAAAA,CAAAA,EAAO;AACzC,IAAA,MAAM,IAAII,KAAAA,CACR,CAAA,mBAAA,EAAsBN,IAAAA,CAAAA,uCAAAA,CAA6C,CAAA;AAEvE,EAAA;AAEA,EAAA,MAAMO,MAAAA,GAAS,MAAMC,KAAAA,CAAM;AACzB,IAAA,GAAGC,qBAAqBV,OAAAA,CAAAA;IACxBW,KAAAA,EAAO;AAACR,MAAAA;;IACRS,KAAAA,EAAO,KAAA;IACPC,SAAAA,EAAW,KAAA;IACXC,SAAAA,EAAW,KAAA;IACXC,WAAAA,EAAa,KAAA;IACbhB,MAAAA,EAAQ,IAAA;IACR,GAAGG;GACL,CAAA;AACA,EAAA,IAAIM,MAAAA,CAAOQ,MAAAA,CAAOC,MAAAA,GAAS,CAAA,EAAG;AAC5B,IAAA,MAAM,IAAIV,KAAAA,CACR,CAAA,oBAAA,EAAuBN,IAAAA,CAAAA,EAAAA,EAASO,OAAOQ,MAAAA,CACpCE,GAAAA,CAAIC,CAAAA,KAAAA,KAASA,MAAMC,IAAI,CAAA,CACvBC,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAO,CAAA;AAEnB,EAAA;AACA,EAAA,IAAIb,MAAAA,CAAOc,QAAAA,CAASL,MAAAA,GAAS,CAAA,EAAG;AAC9BjB,IAAAA,OAAAA,CAAQuB,IACNC,aAAAA,CAAcC,IAAAA,EACd,CAAA,2BAAA,EAA8BxB,IAAAA,KAASO,MAAAA,CAAOc,QAAAA,CAC3CJ,GAAAA,CAAIQ,CAAAA,YAAWA,OAAAA,CAAQN,IAAI,EAC3BC,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAO,CAAA;AAEnB,EAAA;AACA,EAAA,IAAI,CAACb,OAAOmB,WAAAA,IAAenB,MAAAA,CAAOmB,YAAYC,MAAAA,CAAOC,OAAAA,CAAAA,CAASZ,MAAAA,KAAW,CAAA,EAAG;AAC1E,IAAA,MAAM,IAAIV,KAAAA,CACR,CAAA,8BAAA,EACEN,IAAAA,CAAAA,+CAAAA,CAC+C,CAAA;AAErD,EAAA;AAEA,EAAA,OAAOO,MAAAA,CAAOmB,WAAAA,CAAYC,MAAAA,CAAOC,OAAAA,EAAS,CAAA,CAAA;AAC5C;AA9CsB9B,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"chunk-LSSLZECF.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 { build, BuildOptions, OutputFile } from \"esbuild\";\nimport { ESBuildResolvedBuildConfig } from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { extractESBuildConfig } from \"../build/esbuild\";\n\n/**\n * Bundle a type definition to a module.\n *\n * @param context - The context object containing the environment paths.\n * @param file - The file path to bundle.\n * @param overrides - Optional overrides for the ESBuild configuration.\n * @returns A promise that resolves to the bundled module.\n */\nexport async function bundle(\n context: Context,\n file: string,\n overrides: Partial<ESBuildResolvedBuildConfig> = {}\n): Promise<OutputFile> {\n const path = await context.fs.resolve(file);\n if (!path || !context.fs.existsSync(path)) {\n throw new Error(\n `Module not found: \"${file}\". Please check the path and try again.`\n );\n }\n\n const result = await build({\n ...extractESBuildConfig(context),\n entry: [path],\n write: false,\n sourcemap: false,\n splitting: false,\n treeShaking: false,\n bundle: true,\n ...overrides\n } as BuildOptions);\n if (result.errors.length > 0) {\n throw new Error(\n `Failed to transpile ${file}: ${result.errors\n .map(error => error.text)\n .join(\", \")}`\n );\n }\n if (result.warnings.length > 0) {\n context.log(\n LogLevelLabel.WARN,\n `Warnings while transpiling ${file}: ${result.warnings\n .map(warning => warning.text)\n .join(\", \")}`\n );\n }\n if (!result.outputFiles || result.outputFiles.filter(Boolean).length === 0) {\n throw new Error(\n `No output files generated for ${\n file\n }. Please check the configuration and try again.`\n );\n }\n\n return result.outputFiles.filter(Boolean)[0]!;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
3
+ var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
4
4
  var titleCase = require('@stryke/string-format/title-case');
5
5
 
6
6
  function getBaseFileHeader(context) {
@@ -9,7 +9,7 @@ function getBaseFileHeader(context) {
9
9
  // Note: Do not edit this file manually - it will be overwritten automatically
10
10
  `;
11
11
  }
12
- chunkUSNT2KNT_cjs.__name(getBaseFileHeader, "getBaseFileHeader");
12
+ chunkPK6SKIKE_cjs.__name(getBaseFileHeader, "getBaseFileHeader");
13
13
  function getFileHeader(context, options = {}) {
14
14
  const { directive = null, prettierIgnore = false } = options;
15
15
  return `/* eslint-disable */
@@ -22,7 +22,9 @@ ${getBaseFileHeader(context)}
22
22
 
23
23
  `;
24
24
  }
25
- chunkUSNT2KNT_cjs.__name(getFileHeader, "getFileHeader");
25
+ chunkPK6SKIKE_cjs.__name(getFileHeader, "getFileHeader");
26
26
 
27
27
  exports.getBaseFileHeader = getBaseFileHeader;
28
28
  exports.getFileHeader = getFileHeader;
29
+ //# sourceMappingURL=chunk-MFC7UJHT.cjs.map
30
+ //# sourceMappingURL=chunk-MFC7UJHT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utilities/file-header.ts"],"names":["getBaseFileHeader","context","titleCase","config","framework","getFileHeader","options","directive","prettierIgnore"],"mappings":";;;;;AA0BO,SAASA,kBAAkBC,OAAAA,EAAgB;AAChD,EAAA,OAAO;oBACWC,mBAAAA,CAAUD,OAAAA,CAAQE,MAAAA,CAAOC,SAAS,CAAA;;;AAGtD;AALgBJ,wBAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAOT,SAASK,aAAAA,CACdJ,OAAAA,EACAK,OAAAA,GAA6B,EAAC,EAAC;AAE/B,EAAA,MAAM,EAAEC,SAAAA,GAAY,IAAA,EAAMC,cAAAA,GAAiB,OAAK,GAAKF,OAAAA;AAErD,EAAA,OAAO,CAAA;;EAEPE,cAAAA,GAAiB,CAAA,kBAAA,CAAA,GAAuB,EAAA,CAAA,EAAKD,SAAAA,GAAY;;EAAOA,SAAAA;IAAgB,IAAA;AAChFP,EAAAA,iBAAAA,CAAkBC,OAAAA,CAAAA;;;AAGpB;AAZgBI,wBAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA","file":"chunk-MFC7UJHT.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 { titleCase } from \"@stryke/string-format/title-case\";\nimport { Context } from \"../../types/context\";\n\nexport interface FileHeaderOptions {\n directive?: string | null;\n prettierIgnore?: boolean;\n}\n\nexport function getBaseFileHeader(context: Context): string {\n return `\n// Generated with ${titleCase(context.config.framework)}\n// Note: Do not edit this file manually - it will be overwritten automatically\n`;\n}\n\nexport function getFileHeader(\n context: Context,\n options: FileHeaderOptions = {}\n): string {\n const { directive = null, prettierIgnore = false } = options;\n\n return `/* eslint-disable */\n// biome-ignore lint: disable\n${prettierIgnore ? `// prettier-ignore` : \"\"}${directive ? `\\n\\n${directive}\\n` : \"\\n\"}\n${getBaseFileHeader(context)}\n\n`;\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { getString } from './chunk-M263EZ4F.js';
2
- import { __name } from './chunk-SHUYVCID.js';
1
+ import { getString } from './chunk-D55ZAZCX.js';
2
+ import { __name } from './chunk-7QVYU63E.js';
3
3
  import { isWritable } from '@stryke/fs/chmod-x';
4
4
  import { existsSync } from '@stryke/fs/exists';
5
5
  import { createDirectory } from '@stryke/fs/helpers';
@@ -63,3 +63,5 @@ function hashComment(hashKey) {
63
63
  __name(hashComment, "hashComment");
64
64
 
65
65
  export { getCache, setCache };
66
+ //# sourceMappingURL=chunk-MJ6WN3XA.js.map
67
+ //# sourceMappingURL=chunk-MJ6WN3XA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utilities/cache.ts"],"names":["getCacheHashKey","id","code","murmurhash","getString","maxLength","getCacheFileName","hashKey","findFileName","withExtension","getCache","sourceFile","cacheDir","cacheFilePath","joinPaths","existsSync","undefined","cache","readFile","includes","hashComment","setCache","transpiled","removeFile","createDirectory","isWritable","Error","writeFile","trim"],"mappings":";;;;;;;;;;;;AAsCA,SAASA,eAAAA,CAAgBC,IAAYC,IAAAA,EAA0B;AAC7D,EAAA,OAAOC,UAAAA,CACL;AACEF,IAAAA,EAAAA;AACAC,IAAAA,IAAAA,EAAME,UAAUF,IAAAA;GAClB,EACA;IACEG,SAAAA,EAAW;GACb,CAAA;AAEJ;AAVSL,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAmBT,SAASM,gBAAAA,CAAiBL,IAAYM,OAAAA,EAAe;AACnD,EAAA,OAAO,CAAA,EAAGC,aAAaP,EAAAA,EAAI;IAAEQ,aAAAA,EAAe;GAAM,CAAA,IAAMF,OAAAA,CAAAA,MAAAA,CAAAA;AAC1D;AAFSD,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAIT,eAAsBI,QAAAA,CAASC,YAAwBC,QAAAA,EAAgB;AACrE,EAAA,MAAML,OAAAA,GAAUP,eAAAA,CAAgBW,UAAAA,CAAWV,EAAAA,EAAIU,WAAWT,IAAI,CAAA;AAE9D,EAAA,MAAMW,gBAAgBC,SAAAA,CACpBF,QAAAA,EACAN,iBAAiBK,UAAAA,CAAWV,EAAAA,EAAIM,OAAAA,CAAAA,CAAAA;AAElC,EAAA,IAAI,CAACQ,UAAAA,CAAWF,aAAAA,CAAAA,EAAgB;AAC9B,IAAA,OAAOG,MAAAA;AACT,EAAA;AAEA,EAAA,MAAMC,KAAAA,GAAQ,MAAMC,QAAAA,CAASL,aAAAA,CAAAA;AAC7B,EAAA,IAAI,CAACI,KAAAA,CAAME,QAAAA,CAASC,WAAAA,CAAYb,OAAAA,CAAAA,CAAAA,EAAW;AACzC,IAAA,OAAOS,MAAAA;AACT,EAAA;AAEA,EAAA,OAAOC,KAAAA;AACT;AAjBsBP,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAmBtB,eAAsBW,QAAAA,CACpBV,UAAAA,EACAC,QAAAA,EACAU,UAAAA,EAAmB;AAEnB,EAAA,MAAMf,OAAAA,GAAUP,eAAAA,CAAgBW,UAAAA,CAAWV,EAAAA,EAAIU,WAAWT,IAAI,CAAA;AAE9D,EAAA,MAAMW,gBAAgBC,SAAAA,CACpBF,QAAAA,EACAN,iBAAiBK,UAAAA,CAAWV,EAAAA,EAAIM,OAAAA,CAAAA,CAAAA;AAElC,EAAA,IAAIQ,UAAAA,CAAWF,aAAAA,CAAAA,EAAgB;AAC7B,IAAA,MAAMU,WAAWV,aAAAA,CAAAA;AACnB,EAAA;AAEA,EAAA,IAAIS,UAAAA,EAAY;AACd,IAAA,IAAI,CAACP,UAAAA,CAAWH,QAAAA,CAAAA,EAAW;AACzB,MAAA,MAAMY,gBAAgBZ,QAAAA,CAAAA;AACxB,IAAA;AACA,IAAA,IAAI,CAAE,MAAMa,UAAAA,CAAWb,QAAAA,CAAAA,EAAY;AACjC,MAAA,MAAM,IAAIc,KAAAA,CAAM,CAAA,iCAAA,EAAoCd,QAAAA,CAAAA,CAAU,CAAA;AAChE,IAAA;AAEA,IAAA,MAAMe,SAAAA,CACJd,aAAAA,EACA,CAAA,EAAGS,UAAAA;;AAEPF,EAAAA,WAAAA,CAAYb,OAAAA,CAAAA,CAAAA,CAAAA,CAAWqB,IAAAA,EAAI,CAAA;AAE3B,EAAA;AACF;AA9BsBP,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAgCtB,SAASD,YAAYb,OAAAA,EAAe;AAClC,EAAA,OAAO,iBAAiBA,OAAAA,CAAAA,GAAAA,CAAAA;AAC1B;AAFSa,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA","file":"chunk-MJ6WN3XA.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 { isWritable } from \"@stryke/fs/chmod-x\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { createDirectory } from \"@stryke/fs/helpers\";\nimport { readFile } from \"@stryke/fs/read-file\";\nimport { removeFile } from \"@stryke/fs/remove-file\";\nimport { writeFile } from \"@stryke/fs/write-file\";\nimport { murmurhash } from \"@stryke/hash/murmurhash\";\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport type MagicString from \"magic-string\";\nimport type { SourceFile } from \"../../types/context\";\nimport { getString } from \"./source-file\";\n\n/**\n * Get the source key.\n *\n * @param id - The name of the file to compile.\n * @param code - The source code to compile.\n * @returns The source key.\n */\nfunction getCacheHashKey(id: string, code: string | MagicString): string {\n return murmurhash(\n {\n id,\n code: getString(code)\n },\n {\n maxLength: 32\n }\n );\n}\n\n/**\n * Get the source key.\n *\n * @param id - The name of the file to compile.\n * @param hashKey - The hash key.\n * @returns The source key.\n */\nfunction getCacheFileName(id: string, hashKey: string): string {\n return `${findFileName(id, { withExtension: false })}_${hashKey}.cache`;\n}\n\nexport async function getCache(sourceFile: SourceFile, cacheDir: string) {\n const hashKey = getCacheHashKey(sourceFile.id, sourceFile.code);\n\n const cacheFilePath = joinPaths(\n cacheDir,\n getCacheFileName(sourceFile.id, hashKey)\n );\n if (!existsSync(cacheFilePath)) {\n return undefined;\n }\n\n const cache = await readFile(cacheFilePath);\n if (!cache.includes(hashComment(hashKey))) {\n return undefined;\n }\n\n return cache;\n}\n\nexport async function setCache(\n sourceFile: SourceFile,\n cacheDir: string,\n transpiled?: string\n) {\n const hashKey = getCacheHashKey(sourceFile.id, sourceFile.code);\n\n const cacheFilePath = joinPaths(\n cacheDir,\n getCacheFileName(sourceFile.id, hashKey)\n );\n if (existsSync(cacheFilePath)) {\n await removeFile(cacheFilePath);\n }\n\n if (transpiled) {\n if (!existsSync(cacheDir)) {\n await createDirectory(cacheDir);\n }\n if (!(await isWritable(cacheDir))) {\n throw new Error(`Cache directory is not writable: ${cacheDir}`);\n }\n\n await writeFile(\n cacheFilePath,\n `${transpiled}\n\n${hashComment(hashKey)}`.trim()\n );\n }\n}\n\nfunction hashComment(hashKey: string): string {\n return `/* powerlines_${hashKey} */`;\n}\n"]}
@@ -1,7 +1,7 @@
1
- import { PowerlinesEnvironmentContext } from './chunk-KJDASLW3.js';
2
- import { PowerlinesContext } from './chunk-HE6HOGLS.js';
3
- import { loadWorkspaceConfig } from './chunk-XBM7FHNK.js';
4
- import { __name } from './chunk-SHUYVCID.js';
1
+ import { PowerlinesEnvironmentContext } from './chunk-JEB4OVD5.js';
2
+ import { PowerlinesContext } from './chunk-7CDTHZ3R.js';
3
+ import { loadWorkspaceConfig } from './chunk-Q25ZPXA7.js';
4
+ import { __name } from './chunk-7QVYU63E.js';
5
5
  import { LogLevelLabel } from '@storm-software/config-tools/types';
6
6
  import { toArray } from '@stryke/convert/to-array';
7
7
  import { resolvePackage } from '@stryke/fs/resolve';
@@ -81,6 +81,31 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends PowerlinesContext
81
81
  return context;
82
82
  }
83
83
  /**
84
+ * Internal context fields and methods
85
+ *
86
+ * @danger
87
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
88
+ *
89
+ * @internal
90
+ */
91
+ get $$internal() {
92
+ return super.$$internal;
93
+ }
94
+ /**
95
+ * Internal context fields and methods
96
+ *
97
+ * @danger
98
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
99
+ *
100
+ * @internal
101
+ */
102
+ set $$internal(value) {
103
+ super.$$internal = value;
104
+ for (const environment of Object.values(this.environments)) {
105
+ environment.$$internal = super.$$internal;
106
+ }
107
+ }
108
+ /**
84
109
  * A record of all environments by name
85
110
  */
86
111
  get environments() {
@@ -203,3 +228,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends PowerlinesContext
203
228
  };
204
229
 
205
230
  export { PowerlinesAPIContext };
231
+ //# sourceMappingURL=chunk-MZ3GS5X3.js.map
232
+ //# sourceMappingURL=chunk-MZ3GS5X3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe"],"mappings":"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","file":"chunk-MZ3GS5X3.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 { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\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 { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - 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 override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\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 * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk3OCI4TH7_cjs = require('./chunk-3OCI4TH7.cjs');
4
- var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
3
+ var chunkOXOTWH3L_cjs = require('./chunk-OXOTWH3L.cjs');
4
+ var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
5
5
  var chmodX = require('@stryke/fs/chmod-x');
6
6
  var exists = require('@stryke/fs/exists');
7
7
  var helpers = require('@stryke/fs/helpers');
@@ -15,18 +15,18 @@ var joinPaths = require('@stryke/path/join-paths');
15
15
  function getCacheHashKey(id, code) {
16
16
  return murmurhash.murmurhash({
17
17
  id,
18
- code: chunk3OCI4TH7_cjs.getString(code)
18
+ code: chunkOXOTWH3L_cjs.getString(code)
19
19
  }, {
20
20
  maxLength: 32
21
21
  });
22
22
  }
23
- chunkUSNT2KNT_cjs.__name(getCacheHashKey, "getCacheHashKey");
23
+ chunkPK6SKIKE_cjs.__name(getCacheHashKey, "getCacheHashKey");
24
24
  function getCacheFileName(id, hashKey) {
25
25
  return `${filePathFns.findFileName(id, {
26
26
  withExtension: false
27
27
  })}_${hashKey}.cache`;
28
28
  }
29
- chunkUSNT2KNT_cjs.__name(getCacheFileName, "getCacheFileName");
29
+ chunkPK6SKIKE_cjs.__name(getCacheFileName, "getCacheFileName");
30
30
  async function getCache(sourceFile, cacheDir) {
31
31
  const hashKey = getCacheHashKey(sourceFile.id, sourceFile.code);
32
32
  const cacheFilePath = joinPaths.joinPaths(cacheDir, getCacheFileName(sourceFile.id, hashKey));
@@ -39,7 +39,7 @@ async function getCache(sourceFile, cacheDir) {
39
39
  }
40
40
  return cache;
41
41
  }
42
- chunkUSNT2KNT_cjs.__name(getCache, "getCache");
42
+ chunkPK6SKIKE_cjs.__name(getCache, "getCache");
43
43
  async function setCache(sourceFile, cacheDir, transpiled) {
44
44
  const hashKey = getCacheHashKey(sourceFile.id, sourceFile.code);
45
45
  const cacheFilePath = joinPaths.joinPaths(cacheDir, getCacheFileName(sourceFile.id, hashKey));
@@ -58,11 +58,13 @@ async function setCache(sourceFile, cacheDir, transpiled) {
58
58
  ${hashComment(hashKey)}`.trim());
59
59
  }
60
60
  }
61
- chunkUSNT2KNT_cjs.__name(setCache, "setCache");
61
+ chunkPK6SKIKE_cjs.__name(setCache, "setCache");
62
62
  function hashComment(hashKey) {
63
63
  return `/* powerlines_${hashKey} */`;
64
64
  }
65
- chunkUSNT2KNT_cjs.__name(hashComment, "hashComment");
65
+ chunkPK6SKIKE_cjs.__name(hashComment, "hashComment");
66
66
 
67
67
  exports.getCache = getCache;
68
68
  exports.setCache = setCache;
69
+ //# sourceMappingURL=chunk-NPSC73QO.cjs.map
70
+ //# sourceMappingURL=chunk-NPSC73QO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utilities/cache.ts"],"names":["getCacheHashKey","id","code","murmurhash","getString","maxLength","getCacheFileName","hashKey","findFileName","withExtension","getCache","sourceFile","cacheDir","cacheFilePath","joinPaths","existsSync","undefined","cache","readFile","includes","hashComment","setCache","transpiled","removeFile","createDirectory","isWritable","Error","writeFile","trim"],"mappings":";;;;;;;;;;;;;;AAsCA,SAASA,eAAAA,CAAgBC,IAAYC,IAAAA,EAA0B;AAC7D,EAAA,OAAOC,qBAAAA,CACL;AACEF,IAAAA,EAAAA;AACAC,IAAAA,IAAAA,EAAME,4BAAUF,IAAAA;GAClB,EACA;IACEG,SAAAA,EAAW;GACb,CAAA;AAEJ;AAVSL,wBAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAmBT,SAASM,gBAAAA,CAAiBL,IAAYM,OAAAA,EAAe;AACnD,EAAA,OAAO,CAAA,EAAGC,yBAAaP,EAAAA,EAAI;IAAEQ,aAAAA,EAAe;GAAM,CAAA,IAAMF,OAAAA,CAAAA,MAAAA,CAAAA;AAC1D;AAFSD,wBAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAIT,eAAsBI,QAAAA,CAASC,YAAwBC,QAAAA,EAAgB;AACrE,EAAA,MAAML,OAAAA,GAAUP,eAAAA,CAAgBW,UAAAA,CAAWV,EAAAA,EAAIU,WAAWT,IAAI,CAAA;AAE9D,EAAA,MAAMW,gBAAgBC,mBAAAA,CACpBF,QAAAA,EACAN,iBAAiBK,UAAAA,CAAWV,EAAAA,EAAIM,OAAAA,CAAAA,CAAAA;AAElC,EAAA,IAAI,CAACQ,iBAAAA,CAAWF,aAAAA,CAAAA,EAAgB;AAC9B,IAAA,OAAOG,MAAAA;AACT,EAAA;AAEA,EAAA,MAAMC,KAAAA,GAAQ,MAAMC,iBAAAA,CAASL,aAAAA,CAAAA;AAC7B,EAAA,IAAI,CAACI,KAAAA,CAAME,QAAAA,CAASC,WAAAA,CAAYb,OAAAA,CAAAA,CAAAA,EAAW;AACzC,IAAA,OAAOS,MAAAA;AACT,EAAA;AAEA,EAAA,OAAOC,KAAAA;AACT;AAjBsBP,wBAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAmBtB,eAAsBW,QAAAA,CACpBV,UAAAA,EACAC,QAAAA,EACAU,UAAAA,EAAmB;AAEnB,EAAA,MAAMf,OAAAA,GAAUP,eAAAA,CAAgBW,UAAAA,CAAWV,EAAAA,EAAIU,WAAWT,IAAI,CAAA;AAE9D,EAAA,MAAMW,gBAAgBC,mBAAAA,CACpBF,QAAAA,EACAN,iBAAiBK,UAAAA,CAAWV,EAAAA,EAAIM,OAAAA,CAAAA,CAAAA;AAElC,EAAA,IAAIQ,iBAAAA,CAAWF,aAAAA,CAAAA,EAAgB;AAC7B,IAAA,MAAMU,sBAAWV,aAAAA,CAAAA;AACnB,EAAA;AAEA,EAAA,IAAIS,UAAAA,EAAY;AACd,IAAA,IAAI,CAACP,iBAAAA,CAAWH,QAAAA,CAAAA,EAAW;AACzB,MAAA,MAAMY,wBAAgBZ,QAAAA,CAAAA;AACxB,IAAA;AACA,IAAA,IAAI,CAAE,MAAMa,iBAAAA,CAAWb,QAAAA,CAAAA,EAAY;AACjC,MAAA,MAAM,IAAIc,KAAAA,CAAM,CAAA,iCAAA,EAAoCd,QAAAA,CAAAA,CAAU,CAAA;AAChE,IAAA;AAEA,IAAA,MAAMe,mBAAAA,CACJd,aAAAA,EACA,CAAA,EAAGS,UAAAA;;AAEPF,EAAAA,WAAAA,CAAYb,OAAAA,CAAAA,CAAAA,CAAAA,CAAWqB,IAAAA,EAAI,CAAA;AAE3B,EAAA;AACF;AA9BsBP,wBAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAgCtB,SAASD,YAAYb,OAAAA,EAAe;AAClC,EAAA,OAAO,iBAAiBA,OAAAA,CAAAA,GAAAA,CAAAA;AAC1B;AAFSa,wBAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA","file":"chunk-NPSC73QO.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 { isWritable } from \"@stryke/fs/chmod-x\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { createDirectory } from \"@stryke/fs/helpers\";\nimport { readFile } from \"@stryke/fs/read-file\";\nimport { removeFile } from \"@stryke/fs/remove-file\";\nimport { writeFile } from \"@stryke/fs/write-file\";\nimport { murmurhash } from \"@stryke/hash/murmurhash\";\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport type MagicString from \"magic-string\";\nimport type { SourceFile } from \"../../types/context\";\nimport { getString } from \"./source-file\";\n\n/**\n * Get the source key.\n *\n * @param id - The name of the file to compile.\n * @param code - The source code to compile.\n * @returns The source key.\n */\nfunction getCacheHashKey(id: string, code: string | MagicString): string {\n return murmurhash(\n {\n id,\n code: getString(code)\n },\n {\n maxLength: 32\n }\n );\n}\n\n/**\n * Get the source key.\n *\n * @param id - The name of the file to compile.\n * @param hashKey - The hash key.\n * @returns The source key.\n */\nfunction getCacheFileName(id: string, hashKey: string): string {\n return `${findFileName(id, { withExtension: false })}_${hashKey}.cache`;\n}\n\nexport async function getCache(sourceFile: SourceFile, cacheDir: string) {\n const hashKey = getCacheHashKey(sourceFile.id, sourceFile.code);\n\n const cacheFilePath = joinPaths(\n cacheDir,\n getCacheFileName(sourceFile.id, hashKey)\n );\n if (!existsSync(cacheFilePath)) {\n return undefined;\n }\n\n const cache = await readFile(cacheFilePath);\n if (!cache.includes(hashComment(hashKey))) {\n return undefined;\n }\n\n return cache;\n}\n\nexport async function setCache(\n sourceFile: SourceFile,\n cacheDir: string,\n transpiled?: string\n) {\n const hashKey = getCacheHashKey(sourceFile.id, sourceFile.code);\n\n const cacheFilePath = joinPaths(\n cacheDir,\n getCacheFileName(sourceFile.id, hashKey)\n );\n if (existsSync(cacheFilePath)) {\n await removeFile(cacheFilePath);\n }\n\n if (transpiled) {\n if (!existsSync(cacheDir)) {\n await createDirectory(cacheDir);\n }\n if (!(await isWritable(cacheDir))) {\n throw new Error(`Cache directory is not writable: ${cacheDir}`);\n }\n\n await writeFile(\n cacheFilePath,\n `${transpiled}\n\n${hashComment(hashKey)}`.trim()\n );\n }\n}\n\nfunction hashComment(hashKey: string): string {\n return `/* powerlines_${hashKey} */`;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from './chunk-SHUYVCID.js';
1
+ import { __name } from './chunk-7QVYU63E.js';
2
2
  import Diff from 'diff-match-patch';
3
3
 
4
4
  var dmp = new Diff();
@@ -54,3 +54,5 @@ function generateSourceMap(code, id, transpiled) {
54
54
  __name(generateSourceMap, "generateSourceMap");
55
55
 
56
56
  export { generateSourceMap };
57
+ //# sourceMappingURL=chunk-OC2AD37X.js.map
58
+ //# sourceMappingURL=chunk-OC2AD37X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utilities/source-map.ts"],"names":["dmp","Diff","generateSourceMap","code","id","transpiled","diff","diff_main","toString","diff_cleanupSemantic","offset","index","length","type","text","textLength","prependLeft","next","at","replaceText","firstNonWhitespaceIndexOfText","search","offsetStart","Math","max","update","remove","hasChanged","map","generateMap","source","file","includeContent"],"mappings":";;;AAsBA,IAAMA,GAAAA,GAAM,IAAIC,IAAAA,EAAAA;AAUT,SAASC,iBAAAA,CACdC,IAAAA,EACAC,EAAAA,EACAC,UAAAA,EAAmB;AAEnB,EAAA,IAAI,CAACA,UAAAA,EAAY;AACf,IAAA;AACF,EAAA;AAEA,EAAA,MAAMC,OAAON,GAAAA,CAAIO,SAAAA,CAAUJ,IAAAA,CAAKK,QAAAA,IAAYH,UAAAA,CAAAA;AAC5CL,EAAAA,GAAAA,CAAIS,qBAAqBH,IAAAA,CAAAA;AAEzB,EAAA,IAAII,MAAAA,GAAS,CAAA;AAEb,EAAA,KAAA,IAASC,KAAAA,GAAQ,CAAA,EAAGA,KAAAA,GAAQL,IAAAA,CAAKM,QAAQD,KAAAA,EAAAA,EAAS;AAChD,IAAA,IAAIL,IAAAA,CAAKK,KAAAA,CAAAA,EAAQ;AACf,MAAA,MAAM,CAACE,IAAAA,EAAMC,IAAAA,CAAAA,GAAQR,KAAKK,KAAAA,CAAAA;AAC1B,MAAA,MAAMI,aAAaD,IAAAA,CAAKF,MAAAA;AAExB,MAAA,QAAQC,IAAAA;AACN,QAAA,KAAK,CAAA,EAAG;AACNH,UAAAA,MAAAA,IAAUK,UAAAA;AACV,UAAA;AACF,QAAA;AACA,QAAA,KAAK,CAAA,EAAG;AACNZ,UAAAA,IAAAA,CAAKa,WAAAA,CAAYN,QAAQI,IAAAA,CAAAA;AACzB,UAAA;AACF,QAAA;AACA,QAAA,KAAK,EAAA,EAAI;AACP,UAAA,MAAMG,IAAAA,GAAOX,IAAAA,CAAKY,EAAAA,CAAGP,KAAAA,GAAQ,CAAA,CAAA;AAE7B,UAAA,IAAIM,IAAAA,IAAQA,IAAAA,CAAK,CAAA,CAAA,KAAO,CAAA,EAAG;AACzB,YAAA,MAAME,WAAAA,GAAcF,KAAK,CAAA,CAAA;AAEzB,YAAA,MAAMG,6BAAAA,GAAgCN,IAAAA,CAAKO,MAAAA,CAAO,IAAA,CAAA;AAClD,YAAA,MAAMC,WAAAA,GACJZ,MAAAA,GAASa,IAAAA,CAAKC,GAAAA,CAAIJ,+BAA+B,CAAA,CAAA;AAEnDjB,YAAAA,IAAAA,CAAKsB,MAAAA,CAAOH,WAAAA,EAAaZ,MAAAA,GAASK,UAAAA,EAAYI,WAAAA,CAAAA;AAC9CR,YAAAA,KAAAA,IAAS,CAAA;UACX,CAAA,MAAO;AACLR,YAAAA,IAAAA,CAAKuB,MAAAA,CAAOhB,MAAAA,EAAQA,MAAAA,GAASK,UAAAA,CAAAA;AAC/B,UAAA;AAEAL,UAAAA,MAAAA,IAAUK,UAAAA;AAEV,UAAA;AACF,QAAA;AACF;AACF,IAAA;AACF,EAAA;AAEA,EAAA,IAAI,CAACZ,IAAAA,CAAKwB,UAAAA,EAAU,EAAI;AACtB,IAAA;AACF,EAAA;AAEA,EAAA,OAAO;AACLxB,IAAAA,IAAAA,EAAMA,KAAKK,QAAAA,EAAQ;AACnBoB,IAAAA,GAAAA,EAAKzB,KAAK0B,WAAAA,CAAY;MACpBC,MAAAA,EAAQ1B,EAAAA;AACR2B,MAAAA,IAAAA,EAAM,GAAG3B,EAAAA,CAAAA,IAAAA,CAAAA;MACT4B,cAAAA,EAAgB;KAClB;AACF,GAAA;AACF;AAhEgB9B,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA","file":"chunk-OC2AD37X.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 Diff from \"diff-match-patch\";\nimport type MagicString from \"magic-string\";\nimport type { TransformResult } from \"../../types/context\";\n\nconst dmp = new Diff();\n\n/**\n * Generate code with source map.\n *\n * @param code - The source code.\n * @param id - The file name.\n * @param transpiled - The transpiled code.\n * @returns The compiler result.\n */\nexport function generateSourceMap(\n code: MagicString,\n id: string,\n transpiled?: string\n): TransformResult | undefined {\n if (!transpiled) {\n return;\n }\n\n const diff = dmp.diff_main(code.toString(), transpiled);\n dmp.diff_cleanupSemantic(diff);\n\n let offset = 0;\n\n for (let index = 0; index < diff.length; index++) {\n if (diff[index]) {\n const [type, text] = diff[index]!;\n const textLength = text.length;\n\n switch (type) {\n case 0: {\n offset += textLength;\n break;\n }\n case 1: {\n code.prependLeft(offset, text);\n break;\n }\n case -1: {\n const next = diff.at(index + 1);\n\n if (next && next[0] === 1) {\n const replaceText = next[1];\n\n const firstNonWhitespaceIndexOfText = text.search(/\\S/);\n const offsetStart =\n offset + Math.max(firstNonWhitespaceIndexOfText, 0);\n\n code.update(offsetStart, offset + textLength, replaceText);\n index += 1;\n } else {\n code.remove(offset, offset + textLength);\n }\n\n offset += textLength;\n\n break;\n }\n }\n }\n }\n\n if (!code.hasChanged()) {\n return;\n }\n\n return {\n code: code.toString(),\n map: code.generateMap({\n source: id,\n file: `${id}.map`,\n includeContent: true\n })\n };\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkJA4HSQRN_cjs = require('./chunk-JA4HSQRN.cjs');
4
- var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
3
+ var chunk632PWWU7_cjs = require('./chunk-632PWWU7.cjs');
4
+ var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
5
5
  var types = require('@storm-software/config-tools/types');
6
6
  var filePathFns = require('@stryke/path/file-path-fns');
7
7
  var defu = require('defu');
@@ -9,14 +9,14 @@ var jestWorker = require('jest-worker');
9
9
  var stream = require('stream');
10
10
 
11
11
  var RESTARTED = Symbol("restarted");
12
- var cleanupWorkers = /* @__PURE__ */ chunkUSNT2KNT_cjs.__name((worker) => {
12
+ var cleanupWorkers = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((worker) => {
13
13
  for (const curWorker of worker._workerPool?._workers || []) {
14
14
  curWorker._child?.kill("SIGINT");
15
15
  }
16
16
  }, "cleanupWorkers");
17
17
  var Worker = class {
18
18
  static {
19
- chunkUSNT2KNT_cjs.__name(this, "Worker");
19
+ chunkPK6SKIKE_cjs.__name(this, "Worker");
20
20
  }
21
21
  workerPath;
22
22
  options;
@@ -26,7 +26,7 @@ var Worker = class {
26
26
  this.workerPath = workerPath;
27
27
  this.options = options;
28
28
  const { timeout, onRestart, name, context, ...farmOptions } = this.options;
29
- this.#log = chunkJA4HSQRN_cjs.createLog(name || workerPath);
29
+ this.#log = chunk632PWWU7_cjs.createLog(name || workerPath);
30
30
  let restartPromise;
31
31
  let resolveRestartPromise;
32
32
  let activeTasks = 0;
@@ -34,7 +34,7 @@ var Worker = class {
34
34
  process.on("exit", () => {
35
35
  this.close();
36
36
  });
37
- const createWorker2 = /* @__PURE__ */ chunkUSNT2KNT_cjs.__name(() => {
37
+ const createWorker2 = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name(() => {
38
38
  this.#worker = new jestWorker.Worker(workerPath, {
39
39
  ...farmOptions,
40
40
  forkOptions: {
@@ -65,7 +65,7 @@ var Worker = class {
65
65
  }
66
66
  }
67
67
  let aborted = false;
68
- const onActivityAbort = /* @__PURE__ */ chunkUSNT2KNT_cjs.__name(() => {
68
+ const onActivityAbort = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name(() => {
69
69
  if (!aborted) {
70
70
  this.options.onActivityAbort?.();
71
71
  aborted = true;
@@ -83,7 +83,7 @@ var Worker = class {
83
83
  this.#worker.getStderr().pipe(process.stderr);
84
84
  }, "createWorker");
85
85
  createWorker2();
86
- const onHanging = /* @__PURE__ */ chunkUSNT2KNT_cjs.__name(() => {
86
+ const onHanging = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name(() => {
87
87
  const worker = this.#worker;
88
88
  if (!worker) {
89
89
  return;
@@ -96,7 +96,7 @@ var Worker = class {
96
96
  });
97
97
  }, "onHanging");
98
98
  let hangingTimer = false;
99
- const onActivity = /* @__PURE__ */ chunkUSNT2KNT_cjs.__name(() => {
99
+ const onActivity = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name(() => {
100
100
  if (hangingTimer) {
101
101
  clearTimeout(hangingTimer);
102
102
  }
@@ -163,7 +163,9 @@ function createWorker(workerPath, exposedMethods, numWorkers = 1) {
163
163
  numWorkers
164
164
  });
165
165
  }
166
- chunkUSNT2KNT_cjs.__name(createWorker, "createWorker");
166
+ chunkPK6SKIKE_cjs.__name(createWorker, "createWorker");
167
167
 
168
168
  exports.Worker = Worker;
169
169
  exports.createWorker = createWorker;
170
+ //# sourceMappingURL=chunk-OGEFARN2.cjs.map
171
+ //# sourceMappingURL=chunk-OGEFARN2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utilities/worker.ts"],"names":["RESTARTED","Symbol","cleanupWorkers","worker","curWorker","_workerPool","_workers","_child","kill","Worker","workerPath","options","timeout","onRestart","name","context","farmOptions","createLog","restartPromise","resolveRestartPromise","activeTasks","undefined","process","on","close","createWorker","__name","JestWorker","forkOptions","env","maxRetries","Promise","resolve","enableWorkerThreads","code","signal","LogLevelLabel","ERROR","exit","data","type","onActivity","aborted","onActivityAbort","abortActivityStreamOnLog","Transform","transform","_chunk","_encoding","callback","getStdout","pipe","getStderr","stdout","stderr","onHanging","WARN","end","then","hangingTimer","clearTimeout","setTimeout","method","exposedMethods","startsWith","args","attempts","params","defu","length","result","race","bind","Error","numWorkers","findFileName","withExtension"],"mappings":"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","file":"chunk-OGEFARN2.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 { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport { defu } from \"defu\";\nimport { Worker as JestWorker } from \"jest-worker\";\nimport type { ChildProcess } from \"node:child_process\";\nimport { Transform } from \"node:stream\";\nimport { LogFn } from \"../../types/config\";\nimport { WorkerProcess } from \"../../types/context\";\nimport { createLog } from \"../logger\";\n\nexport type WorkerOptions = ConstructorParameters<typeof JestWorker>[1] & {\n name?: string;\n timeout?: number;\n onActivity?: () => void;\n onActivityAbort?: () => void;\n onRestart?: (method: string, args: any[], attempts: number) => void;\n exposedMethods: ReadonlyArray<string>;\n enableWorkerThreads?: boolean;\n context?: Record<string, any>;\n};\n\nconst RESTARTED = Symbol(\"restarted\");\n\nconst cleanupWorkers = (worker: JestWorker) => {\n for (const curWorker of ((worker as any)._workerPool?._workers || []) as {\n _child?: ChildProcess;\n }[]) {\n curWorker._child?.kill(\"SIGINT\");\n }\n};\n\nexport class Worker {\n #worker: JestWorker | undefined;\n\n #log: LogFn;\n\n public constructor(\n protected workerPath: string,\n protected options: WorkerOptions\n ) {\n const { timeout, onRestart, name, context, ...farmOptions } = this.options;\n\n this.#log = createLog(name || workerPath);\n\n let restartPromise: Promise<typeof RESTARTED>;\n let resolveRestartPromise: (arg: typeof RESTARTED) => void;\n let activeTasks = 0;\n\n this.#worker = undefined;\n\n // ensure we end workers if they weren't before exit\n process.on(\"exit\", () => {\n this.close();\n });\n\n const createWorker = () => {\n this.#worker = new JestWorker(workerPath, {\n ...farmOptions,\n forkOptions: {\n ...farmOptions.forkOptions,\n env: {\n ...((farmOptions.forkOptions?.env ?? {}) as any),\n ...(process.env ?? {})\n }\n },\n maxRetries: 0\n });\n restartPromise = new Promise(resolve => {\n resolveRestartPromise = resolve;\n });\n\n /**\n * Jest Worker has two worker types, ChildProcessWorker (uses child_process) and NodeThreadWorker (uses worker_threads)\n * Powerlines uses ChildProcessWorker by default, but it can be switched to NodeThreadWorker with an experimental flag\n *\n * We only want to handle ChildProcessWorker's orphan process issue, so we access the private property \"_child\":\n * https://github.com/facebook/jest/blob/b38d7d345a81d97d1dc3b68b8458b1837fbf19be/packages/jest-worker/src/workers/ChildProcessWorker.ts\n *\n * But this property is not available in NodeThreadWorker, so we need to check if we are using ChildProcessWorker\n */\n if (!farmOptions.enableWorkerThreads) {\n for (const worker of ((this.#worker as any)._workerPool?._workers ||\n []) as {\n _child?: ChildProcess;\n }[]) {\n worker._child?.on(\"exit\", (code, signal) => {\n if ((code || (signal && signal !== \"SIGINT\")) && this.#worker) {\n this.#log(\n LogLevelLabel.ERROR,\n `${this.options.name} worker exited with code: ${code} and signal: ${signal}`\n );\n\n // if a child process doesn't exit gracefully, we want to bubble up the exit code to the parent process\n process.exit(code ?? 1);\n }\n });\n\n // if a child process emits a particular message, we track that as activity\n // so the parent process can keep track of progress\n worker._child?.on(\"message\", ([, data]: [number, unknown]) => {\n if (\n data &&\n typeof data === \"object\" &&\n \"type\" in data &&\n data.type === \"activity\"\n ) {\n // eslint-disable-next-line ts/no-use-before-define\n onActivity();\n }\n });\n }\n }\n\n let aborted = false;\n const onActivityAbort = () => {\n if (!aborted) {\n this.options.onActivityAbort?.();\n aborted = true;\n }\n };\n\n // Listen to the worker's stdout and stderr, if there's any thing logged, abort the activity first\n const abortActivityStreamOnLog = new Transform({\n transform(_chunk, _encoding, callback) {\n onActivityAbort();\n callback();\n }\n });\n // Stop the activity if there's any output from the worker\n this.#worker.getStdout().pipe(abortActivityStreamOnLog);\n this.#worker.getStderr().pipe(abortActivityStreamOnLog);\n\n // Pipe the worker's stdout and stderr to the parent process\n this.#worker.getStdout().pipe(process.stdout);\n this.#worker.getStderr().pipe(process.stderr);\n };\n createWorker();\n\n const onHanging = () => {\n const worker = this.#worker;\n if (!worker) {\n return;\n }\n\n const resolve = resolveRestartPromise;\n createWorker();\n\n this.#log(\n LogLevelLabel.WARN,\n `Sending SIGTERM signal to static worker due to timeout${\n timeout ? ` of ${timeout / 1000} seconds` : \"\"\n }. Subsequent errors may be a result of the worker exiting.`\n );\n\n void worker.end().then(() => {\n resolve(RESTARTED);\n });\n };\n\n let hangingTimer: NodeJS.Timeout | false = false;\n\n const onActivity = () => {\n if (hangingTimer) {\n clearTimeout(hangingTimer);\n }\n if (this.options.onActivity) {\n this.options.onActivity();\n }\n\n hangingTimer = activeTasks > 0 && setTimeout(onHanging, timeout);\n };\n\n for (const method of farmOptions.exposedMethods) {\n if (method.startsWith(\"_\")) {\n continue;\n }\n\n (this as any)[method] = timeout\n ? async (...args: any[]) => {\n activeTasks++;\n try {\n let attempts = 0;\n for (;;) {\n onActivity();\n\n const params = defu(\n args.length > 0 && args[0] ? args[0] : {},\n context ?? {}\n );\n\n const result = await Promise.race([\n // eslint-disable-next-line ts/no-unsafe-call\n (this.#worker as any)[method](...params),\n restartPromise\n ]);\n if (result !== RESTARTED) {\n return result;\n }\n if (onRestart) {\n onRestart(method, args, ++attempts);\n }\n }\n } finally {\n activeTasks--;\n onActivity();\n }\n }\n : // eslint-disable-next-line ts/no-unsafe-call\n (this.#worker as any)[method].bind(this.#worker);\n }\n }\n\n public async end(): ReturnType<JestWorker[\"end\"]> {\n const worker = this.#worker;\n if (!worker) {\n throw new Error(\"Farm is ended, no more calls can be done to it\");\n }\n\n cleanupWorkers(worker);\n this.#worker = undefined;\n return worker.end();\n }\n\n /**\n * Quietly end the worker if it exists\n */\n public close(): void {\n if (this.#worker) {\n cleanupWorkers(this.#worker);\n void this.#worker.end();\n }\n }\n}\n\nexport function createWorker<\n TExposedMethods extends ReadonlyArray<string> = ReadonlyArray<string>\n>(\n workerPath: string,\n exposedMethods: TExposedMethods,\n numWorkers = 1\n): WorkerProcess<TExposedMethods> {\n return new Worker(workerPath, {\n name: findFileName(workerPath, {\n withExtension: false\n }),\n exposedMethods,\n numWorkers\n }) as WorkerProcess<TExposedMethods>;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
3
+ var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
4
4
  var readFile = require('@stryke/fs/read-file');
5
5
  var isSetObject = require('@stryke/type-checks/is-set-object');
6
6
  var isString = require('@stryke/type-checks/is-string');
@@ -22,14 +22,14 @@ function getString(code) {
22
22
  }
23
23
  return code.toString();
24
24
  }
25
- chunkUSNT2KNT_cjs.__name(getString, "getString");
25
+ chunkPK6SKIKE_cjs.__name(getString, "getString");
26
26
  function getMagicString(code) {
27
27
  if (isString.isString(code)) {
28
28
  return new MagicString__default.default(code);
29
29
  }
30
30
  return code;
31
31
  }
32
- chunkUSNT2KNT_cjs.__name(getMagicString, "getMagicString");
32
+ chunkPK6SKIKE_cjs.__name(getMagicString, "getMagicString");
33
33
  function getSourceFile(code, id) {
34
34
  const content = code ?? readFile.readFileIfExistingSync(id);
35
35
  return {
@@ -38,8 +38,10 @@ function getSourceFile(code, id) {
38
38
  env: []
39
39
  };
40
40
  }
41
- chunkUSNT2KNT_cjs.__name(getSourceFile, "getSourceFile");
41
+ chunkPK6SKIKE_cjs.__name(getSourceFile, "getSourceFile");
42
42
 
43
43
  exports.getMagicString = getMagicString;
44
44
  exports.getSourceFile = getSourceFile;
45
45
  exports.getString = getString;
46
+ //# sourceMappingURL=chunk-OXOTWH3L.cjs.map
47
+ //# sourceMappingURL=chunk-OXOTWH3L.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utilities/source-file.ts"],"names":["getString","code","isString","isSetObject","toString","getMagicString","MagicString","getSourceFile","id","content","readFileIfExistingSync","env"],"mappings":";;;;;;;;;;;;AA+BO,SAASA,UACdC,IAAAA,EAA4C;AAE5C,EAAA,IAAI,CAACA,IAAAA,EAAM;AACT,IAAA,OAAO,EAAA;AACT,EAAA;AAEA,EAAA,IAAIC,iBAAAA,CAASD,IAAAA,CAAAA,EAAO;AAClB,IAAA,OAAOA,IAAAA;AACT,EAAA;AAEA,EAAA,IAAIE,uBAAAA,CAAYF,IAAAA,CAAAA,IAAS,MAAA,IAAUA,IAAAA,EAAM;AACvC,IAAA,OAAOA,IAAAA,CAAKA,IAAAA;AACd,EAAA;AAEA,EAAA,OAAOA,KAAKG,QAAAA,EAAQ;AACtB;AAhBgBJ,wBAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAwBT,SAASK,eAAeJ,IAAAA,EAA0B;AACvD,EAAA,IAAIC,iBAAAA,CAASD,IAAAA,CAAAA,EAAO;AAClB,IAAA,OAAO,IAAIK,6BAAYL,IAAAA,CAAAA;AACzB,EAAA;AAEA,EAAA,OAAOA,IAAAA;AACT;AANgBI,wBAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAeT,SAASE,aAAAA,CACdN,MACAO,EAAAA,EAAU;AAEV,EAAA,MAAMC,OAAAA,GAAUR,IAAAA,IAAQS,+BAAAA,CAAuBF,EAAAA,CAAAA;AAE/C,EAAA,OAAO;AACLA,IAAAA,EAAAA;AACAP,IAAAA,IAAAA,EAAMI,eAAeI,OAAAA,CAAAA;AACrBE,IAAAA,GAAAA,EAAK;AACP,GAAA;AACF;AAXgBJ,wBAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA","file":"chunk-OXOTWH3L.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 { readFileIfExistingSync } from \"@stryke/fs/read-file\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport MagicString from \"magic-string\";\nimport { TransformResult } from \"unplugin\";\nimport { SourceFile } from \"../../types/context\";\n\n/**\n * Get the string from the source.\n *\n * @param code - The source string or magic string.\n * @returns The source string.\n */\nexport function getString(\n code: string | MagicString | TransformResult\n): string {\n if (!code) {\n return \"\";\n }\n\n if (isString(code)) {\n return code;\n }\n\n if (isSetObject(code) && \"code\" in code) {\n return code.code;\n }\n\n return code.toString();\n}\n\n/**\n * Get the magic string.\n *\n * @param code - The source string or magic string.\n * @returns The magic string.\n */\nexport function getMagicString(code: string | MagicString): MagicString {\n if (isString(code)) {\n return new MagicString(code);\n }\n\n return code;\n}\n\n/**\n * Get the source file.\n *\n * @param code - The source code.\n * @param id - The name of the file.\n * @returns The source file.\n */\nexport function getSourceFile(\n code: string | MagicString,\n id: string\n): SourceFile {\n const content = code ?? readFileIfExistingSync(id);\n\n return {\n id,\n code: getMagicString(content),\n env: []\n };\n}\n"]}
@@ -4,3 +4,5 @@ var __defProp = Object.defineProperty;
4
4
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
5
 
6
6
  exports.__name = __name;
7
+ //# sourceMappingURL=chunk-PK6SKIKE.cjs.map
8
+ //# sourceMappingURL=chunk-PK6SKIKE.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-PK6SKIKE.cjs"}
@@ -1,4 +1,4 @@
1
- import { __name } from './chunk-SHUYVCID.js';
1
+ import { __name } from './chunk-7QVYU63E.js';
2
2
  import { getWorkspaceConfig } from '@storm-software/config-tools/get-config';
3
3
  import { existsSync } from '@stryke/fs/exists';
4
4
  import { appendPath } from '@stryke/path/append';
@@ -66,3 +66,5 @@ async function loadUserConfigFile(projectRoot, workspaceRoot, jiti, command, mod
66
66
  __name(loadUserConfigFile, "loadUserConfigFile");
67
67
 
68
68
  export { loadUserConfigFile, loadWorkspaceConfig };
69
+ //# sourceMappingURL=chunk-Q25ZPXA7.js.map
70
+ //# sourceMappingURL=chunk-Q25ZPXA7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/config-file.ts"],"names":["loadWorkspaceConfig","workspaceRoot","cwd","defu","getWorkspaceConfig","useDefault","loadUserConfigFile","projectRoot","jiti","command","mode","configFile","framework","resolvedUserConfig","resolvedUserConfigFile","existsSync","replacePath","joinPaths","appendPath","undefined","resolved","import","esmResolve","config","isFunction","Promise","resolve","isSsrBuild","isPreview","isSetObject","result","loadConfigC12","name","envName","globalRc","packageJson","dotenv"],"mappings":";;;;;;;;;;;AAmDA,eAAsBA,mBAAAA,CACpBC,eACAC,GAAAA,EAAW;AAEX,EAAA,OAAOC,IAAAA,CACL;AACEF,IAAAA;GACF,EACA,MAAMG,mBAAmB,IAAA,EAAM;AAC7BF,IAAAA,GAAAA;AACAD,IAAAA,aAAAA;IACAI,UAAAA,EAAY;AACd,GAAA,CAAA,CAAA;AAEJ;AAdsBL,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AA4BtB,eAAsBM,kBAAAA,CACpBC,aACAN,aAAAA,EACAO,IAAAA,EACAC,SACAC,IAAAA,GAAO,YAAA,EACPC,UAAAA,EACAC,SAAAA,GAAY,YAAA,EAAY;AAExB,EAAA,IAAIC,qBAAgD,EAAC;AAErD,EAAA,IAAIC,sBAAAA;AACJ,EAAA,IAAIH,UAAAA,EAAY;AACdG,IAAAA,sBAAAA,GAAyBC,UAAAA,CAAWC,YAAYL,UAAAA,EAAYJ,WAAAA,CAAAA,CAAAA,GACxDS,WAAAA,CAAYL,YAAYJ,WAAAA,CAAAA,GACxBQ,WACIE,SAAAA,CACEC,UAAAA,CAAWX,aAAaN,aAAAA,CAAAA,EACxBe,YAAYL,UAAAA,EAAYJ,WAAAA,CAAAA,CAAAA,CAAAA,GAG5BU,SAAAA,CACEC,WAAWX,WAAAA,EAAaN,aAAAA,GACxBe,WAAAA,CAAYL,UAAAA,EAAYJ,WAAAA,CAAAA,CAAAA,GAE1BQ,UAAAA,CACIE,SAAAA,CAAUC,UAAAA,CAAWX,WAAAA,EAAaN,aAAAA,CAAAA,EAAgBU,UAAAA,CAAAA,CAAAA,GAEpDM,SAAAA,CAAUC,WAAWX,WAAAA,EAAaN,aAAAA,CAAAA,EAAgBU,UAAAA,CAAAA,GAClDQ,MAAAA;AACV,EAAA;AAEA,EAAA,IAAI,CAACL,sBAAAA,EAAwB;AAC3BA,IAAAA,sBAAAA,GAAyBC,WACvBE,SAAAA,CACEC,UAAAA,CAAWX,aAAaN,aAAAA,CAAAA,EACxB,GAAGW,SAAAA,CAAAA,CAAAA,EAAaF,IAAAA,CAAAA,UAAAA,CAAgB,CAAA,CAAA,GAGhCO,SAAAA,CACEC,WAAWX,WAAAA,EAAaN,aAAAA,GACxB,CAAA,EAAGW,SAAAA,CAAAA,CAAAA,EAAaF,IAAAA,YAAgB,CAAA,GAElCK,UAAAA,CACIE,UACEC,UAAAA,CAAWX,WAAAA,EAAaN,aAAAA,CAAAA,EACxB,CAAA,EAAGW,SAAAA,CAAAA,CAAAA,EAAaF,IAAAA,CAAAA,UAAAA,CAAgB,CAAA,IAGpCO,SAAAA,CACEC,UAAAA,CAAWX,aAAaN,aAAAA,CAAAA,EACxB,CAAA,EAAGW,SAAAA,IAAaF,IAAAA,CAAAA,UAAAA,CAAgB,IAElCK,UAAAA,CACIE,SAAAA,CACEC,WAAWX,WAAAA,EAAaN,aAAAA,CAAAA,EACxB,CAAA,EAAGW,SAAAA,CAAAA,CAAAA,EAAaF,IAAAA,aAAiB,CAAA,CAAA,GAGrCO,UACEC,UAAAA,CAAWX,WAAAA,EAAaN,aAAAA,CAAAA,EACxB,GAAGW,SAAAA,CAAAA,CAAAA,EAAaF,IAAAA,CAAAA,WAAAA,CAAiB,CAAA,GAEnCK,WACIE,SAAAA,CACEC,UAAAA,CAAWX,aAAaN,aAAAA,CAAAA,EACxB,GAAGW,SAAAA,CAAAA,CAAAA,EAAaF,IAAAA,CAAAA,WAAAA,CAAiB,CAAA,IAGrCO,SAAAA,CACEC,UAAAA,CAAWX,WAAAA,EAAaN,aAAAA,GACxB,CAAA,EAAGW,SAAAA,IAAaF,IAAAA,CAAAA,WAAAA,CAAiB,IAEnCK,UAAAA,CACIE,SAAAA,CACEC,UAAAA,CAAWX,WAAAA,EAAaN,aAAAA,CAAAA,EACxB,CAAA,EAAGW,SAAAA,CAAAA,UAAAA,CAAqB,CAAA,IAG5BK,SAAAA,CACEC,UAAAA,CAAWX,WAAAA,EAAaN,aAAAA,GACxB,CAAA,EAAGW,SAAAA,YAAqB,CAAA,GAE1BG,UAAAA,CACIE,UACEC,UAAAA,CAAWX,WAAAA,EAAaN,aAAAA,CAAAA,EACxB,CAAA,EAAGW,SAAAA,CAAAA,UAAAA,CAAqB,CAAA,IAG5BK,SAAAA,CACEC,UAAAA,CAAWX,aAAaN,aAAAA,CAAAA,EACxB,CAAA,EAAGW,SAAAA,YAAqB,CAAA,GAE1BG,UAAAA,CACIE,UACEC,UAAAA,CAAWX,WAAAA,EAAaN,aAAAA,CAAAA,EACxB,CAAA,EAAGW,SAAAA,CAAAA,WAAAA,CAAsB,CAAA,CAAA,GAG7BK,SAAAA,CACEC,WAAWX,WAAAA,EAAaN,aAAAA,GACxB,CAAA,EAAGW,SAAAA,CAAAA,WAAAA,CAAsB,CAAA,GAE3BG,WACIE,SAAAA,CACEC,UAAAA,CAAWX,aAAaN,aAAAA,CAAAA,EACxB,GAAGW,SAAAA,CAAAA,WAAAA,CAAsB,CAAA,CAAA,GAG7BK,SAAAA,CACEC,WAAWX,WAAAA,EAAaN,aAAAA,GACxB,CAAA,EAAGW,SAAAA,aAAsB,CAAA,GAE3BO,MAAAA;AACpB,EAAA;AAEA,EAAA,IAAIL,sBAAAA,EAAwB;AAC1B,IAAA,MAAMM,WAAW,MAAMZ,IAAAA,CAAKa,OAAOb,IAAAA,CAAKc,UAAAA,CAAWR,sBAAAA,CAAAA,CAAAA;AACnD,IAAA,IAAIM,QAAAA,EAAU;AACZ,MAAA,IAAIG,SAAS,EAAC;AACd,MAAA,IAAIC,UAAAA,CAAWJ,QAAAA,CAAAA,EAAW;AACxBG,QAAAA,MAAAA,GAAS,MAAME,OAAAA,CAAQC,OAAAA,CACrBN,QAAAA,CAAS;AACPX,UAAAA,OAAAA;AACAC,UAAAA,IAAAA;UACAiB,UAAAA,EAAY,KAAA;UACZC,SAAAA,EAAW;AACb,SAAA,CAAA,CAAA;AAEJ,MAAA;AAEA,MAAA,IAAIC,WAAAA,CAAYN,MAAAA,CAAAA,EAAS;AACvBV,QAAAA,kBAAAA,GAAqB;UACnB,GAAGU,MAAAA;AACHA,UAAAA,MAAAA;UACAZ,UAAAA,EAAYG;AACd,SAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AAEA,EAAA,MAAMgB,MAAAA,GAAS,MAAMC,UAAAA,CAAc;IACjC7B,GAAAA,EAAKK,WAAAA;IACLyB,IAAAA,EAAMpB,SAAAA;IACNqB,OAAAA,EAASvB,IAAAA;IACTwB,QAAAA,EAAU,IAAA;IACVC,WAAAA,EAAa,IAAA;IACbC,MAAAA,EAAQ,IAAA;AACR5B,IAAAA;GACF,CAAA;AAEA,EAAA,OAAOL,IAAAA,CACLU,kBAAAA,EACAgB,WAAAA,CAAYC,MAAAA,EAAQP,MAAAA,CAAAA,GAAU;AAAE,IAAA,GAAGO,MAAAA,CAAOP,MAAAA;IAAQ,GAAGO;AAAO,GAAA,GAAI,EAAC,CAAA;AAErE;AA3JsBxB,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA","file":"chunk-Q25ZPXA7.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 { getWorkspaceConfig } from \"@storm-software/config-tools/get-config\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replacePath } from \"@stryke/path/replace\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { loadConfig as loadConfigC12 } from \"c12\";\nimport defu from \"defu\";\nimport type { Jiti } from \"jiti\";\nimport type {\n ParsedUserConfig,\n PowerlinesCommand,\n UserConfig,\n WorkspaceConfig\n} from \"../types/config\";\nimport { Context } from \"../types/context\";\n\nexport type PartiallyResolvedContext<TContext extends Context = Context> = Omit<\n TContext,\n \"config\" | \"tsconfig\" | \"entry\" | \"fs\" | \"compiler\" | \"unimport\"\n> &\n Partial<TContext> & {\n config: TContext[\"config\"];\n };\n\n/**\n * Loads the workspace configuration.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param cwd - The current working directory to start searching from.\n * @returns A promise that resolves to the loaded workspace configuration.\n */\nexport async function loadWorkspaceConfig(\n workspaceRoot: string,\n cwd: string\n): Promise<WorkspaceConfig> {\n return defu(\n {\n workspaceRoot\n },\n await getWorkspaceConfig(true, {\n cwd,\n workspaceRoot,\n useDefault: true\n })\n );\n}\n\n/**\n * Loads the user configuration file for the project.\n *\n * @param projectRoot - The root directory of the project.\n * @param workspaceRoot - The root directory of the workspace.\n * @param jiti - An instance of Jiti to resolve modules from\n * @param command - The {@link PowerlinesCommand} string associated with the current running process\n * @param mode - The mode in which the project is running (default is \"production\").\n * @param configFile - An optional path to a specific configuration file.\n * @param framework - The framework name to use for default configuration file names.\n * @returns A promise that resolves to the resolved user configuration.\n */\nexport async function loadUserConfigFile(\n projectRoot: string,\n workspaceRoot: string,\n jiti: Jiti,\n command?: PowerlinesCommand,\n mode = \"production\",\n configFile?: string,\n framework = \"powerlines\"\n): Promise<ParsedUserConfig> {\n let resolvedUserConfig: Partial<ParsedUserConfig> = {};\n\n let resolvedUserConfigFile: string | undefined;\n if (configFile) {\n resolvedUserConfigFile = existsSync(replacePath(configFile, projectRoot))\n ? replacePath(configFile, projectRoot)\n : existsSync(\n joinPaths(\n appendPath(projectRoot, workspaceRoot),\n replacePath(configFile, projectRoot)\n )\n )\n ? joinPaths(\n appendPath(projectRoot, workspaceRoot),\n replacePath(configFile, projectRoot)\n )\n : existsSync(\n joinPaths(appendPath(projectRoot, workspaceRoot), configFile)\n )\n ? joinPaths(appendPath(projectRoot, workspaceRoot), configFile)\n : undefined;\n }\n\n if (!resolvedUserConfigFile) {\n resolvedUserConfigFile = existsSync(\n joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.${mode}.config.ts`\n )\n )\n ? joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.${mode}.config.ts`\n )\n : existsSync(\n joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.${mode}.config.js`\n )\n )\n ? joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.${mode}.config.js`\n )\n : existsSync(\n joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.${mode}.config.mts`\n )\n )\n ? joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.${mode}.config.mts`\n )\n : existsSync(\n joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.${mode}.config.mjs`\n )\n )\n ? joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.${mode}.config.mjs`\n )\n : existsSync(\n joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.config.ts`\n )\n )\n ? joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.config.ts`\n )\n : existsSync(\n joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.config.js`\n )\n )\n ? joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.config.js`\n )\n : existsSync(\n joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.config.mts`\n )\n )\n ? joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.config.mts`\n )\n : existsSync(\n joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.config.mjs`\n )\n )\n ? joinPaths(\n appendPath(projectRoot, workspaceRoot),\n `${framework}.config.mjs`\n )\n : undefined;\n }\n\n if (resolvedUserConfigFile) {\n const resolved = await jiti.import(jiti.esmResolve(resolvedUserConfigFile));\n if (resolved) {\n let config = {};\n if (isFunction(resolved)) {\n config = await Promise.resolve(\n resolved({\n command,\n mode,\n isSsrBuild: false,\n isPreview: false\n })\n );\n }\n\n if (isSetObject(config)) {\n resolvedUserConfig = {\n ...config,\n config: config as UserConfig,\n configFile: resolvedUserConfigFile\n };\n }\n }\n }\n\n const result = await loadConfigC12({\n cwd: projectRoot,\n name: framework,\n envName: mode,\n globalRc: true,\n packageJson: true,\n dotenv: true,\n jiti\n });\n\n return defu(\n resolvedUserConfig,\n isSetObject(result?.config) ? { ...result.config, ...result } : {}\n ) as ParsedUserConfig;\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkXLHFUATD_cjs = require('./chunk-XLHFUATD.cjs');
4
- var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
3
+ var chunkY5KONJVR_cjs = require('./chunk-Y5KONJVR.cjs');
4
+ var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
5
5
  var isParentPath = require('@stryke/path/is-parent-path');
6
6
 
7
- var VirtualStorageAdapter = class extends chunkXLHFUATD_cjs.BaseStorageAdapter {
7
+ var VirtualStorageAdapter = class extends chunkY5KONJVR_cjs.BaseStorageAdapter {
8
8
  static {
9
- chunkUSNT2KNT_cjs.__name(this, "VirtualStorageAdapter");
9
+ chunkPK6SKIKE_cjs.__name(this, "VirtualStorageAdapter");
10
10
  }
11
11
  /**
12
12
  * A name identifying the storage adapter type.
@@ -85,3 +85,5 @@ var VirtualStorageAdapter = class extends chunkXLHFUATD_cjs.BaseStorageAdapter {
85
85
  };
86
86
 
87
87
  exports.VirtualStorageAdapter = VirtualStorageAdapter;
88
+ //# sourceMappingURL=chunk-QBE4SZN6.cjs.map
89
+ //# sourceMappingURL=chunk-QBE4SZN6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/fs/storage/virtual.ts"],"names":["VirtualStorageAdapter","BaseStorageAdapter","name","data","Map","options","existsSync","key","has","resolve","getSync","get","setSync","value","isReadOnly","set","removeSync","delete","listSync","base","keys","filter","isParentPath","dispose","clear"],"mappings":";;;;;;AAwBO,IAAMA,qBAAAA,GAAN,cAAoCC,oCAAAA,CAAAA;EAxB3C;;;;;;EA4BSC,IAAAA,GAAO,SAAA;;;;AAKJC,EAAAA,IAAAA,uBAAWC,GAAAA,EAAAA;;;;;;AAOrB,EAAA,WAAA,CAAmBC,OAAAA,EAAiC;AAClD,IAAA,KAAA,CAAMA,OAAAA,CAAAA;AACR,EAAA;;;;;;;AAQOC,EAAAA,UAAAA,CAAWC,GAAAA,EAAsB;AACtC,IAAA,OAAO,KAAKJ,IAAAA,CAAKK,GAAAA,CAAI,IAAA,CAAKC,OAAAA,CAAQF,GAAAA,CAAAA,CAAAA;AACpC,EAAA;;;;;;;AAQOG,EAAAA,OAAAA,CAAQH,GAAAA,EAA4B;AACzC,IAAA,OAAO,KAAKJ,IAAAA,CAAKQ,GAAAA,CAAI,KAAKF,OAAAA,CAAQF,GAAAA,CAAAA,CAAAA,IAAS,IAAA;AAC7C,EAAA;;;;;;;AAQOK,EAAAA,OAAAA,CAAQL,KAAaM,KAAAA,EAAe;AACzC,IAAA,IAAI,CAAC,IAAA,CAAKR,OAAAA,CAAQS,UAAAA,EAAY;AAC5B,MAAA,IAAA,CAAKX,KAAKY,GAAAA,CAAI,IAAA,CAAKN,OAAAA,CAAQF,GAAAA,GAAMM,KAAAA,CAAAA;AACnC,IAAA;AACF,EAAA;;;;;;AAOOG,EAAAA,UAAAA,CAAWT,GAAAA,EAAa;AAC7B,IAAA,IAAI,CAAC,IAAA,CAAKF,OAAAA,CAAQS,UAAAA,EAAY;AAC5B,MAAA,IAAA,CAAKX,IAAAA,CAAKc,MAAAA,CAAO,IAAA,CAAKR,OAAAA,CAAQF,GAAAA,CAAAA,CAAAA;AAChC,IAAA;AACF,EAAA;;;;;;;AAQOW,EAAAA,QAAAA,CAASC,IAAAA,EAAyB;AACvC,IAAA,OAAO;AACF,MAAA,GAAA,IAAA,CAAKhB,IAAAA,CACLiB,IAAAA,EAAI,CACJC,MAAAA,CAAOd,CAAAA,GAAAA,KAAQ,CAACY,IAAAA,GAAO,IAAA,GAAOG,0BAAaf,GAAAA,EAAK,IAAA,CAAKE,OAAAA,CAAQU,IAAAA,CAAAA,CAAAA;;AAEpE,EAAA;;;;;;AAOA,EAAA,MAAsBI,OAAAA,GAAyB;AAC7C,IAAA,OAAO,KAAKC,KAAAA,EAAK;AACnB,EAAA;AACF","file":"chunk-QBE4SZN6.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 { isParentPath } from \"@stryke/path/is-parent-path\";\nimport { BaseStorageAdapter, StorageAdapterOptions } from \"./base\";\n\n/**\n * Virtual/in-memory storage adapter implementation.\n */\nexport class VirtualStorageAdapter extends BaseStorageAdapter {\n /**\n * A name identifying the storage adapter type.\n */\n public name = \"virtual\";\n\n /**\n * In-memory data storage.\n */\n protected data = new Map<string, any>();\n\n /**\n * Constructor for the VirtualStorageAdapter.\n *\n * @param options - Configuration options for the storage adapter.\n */\n public constructor(options?: StorageAdapterOptions) {\n super(options);\n }\n\n /**\n * Synchronously checks if a key exists in the storage.\n *\n * @param key - The key to check for existence.\n * @returns Returns `true` if the key exists, otherwise `false`.\n */\n public existsSync(key: string): boolean {\n return this.data.has(this.resolve(key));\n }\n\n /**\n * Synchronously retrieves the value associated with a given key.\n *\n * @param key - The key whose value is to be retrieved.\n * @returns The value associated with the key, or `null` if the key does not exist.\n */\n public getSync(key: string): string | null {\n return this.data.get(this.resolve(key)) ?? null;\n }\n\n /**\n * Synchronously sets the value for a given key.\n *\n * @param key - The key to set the value for.\n * @param value - The value to set.\n */\n public setSync(key: string, value: string) {\n if (!this.options.isReadOnly) {\n this.data.set(this.resolve(key), value);\n }\n }\n\n /**\n * Synchronously removes a key from the storage.\n *\n * @param key - The key to remove.\n */\n public removeSync(key: string) {\n if (!this.options.isReadOnly) {\n this.data.delete(this.resolve(key));\n }\n }\n\n /**\n * Lists all keys under a given base path synchronously.\n *\n * @param base - The base path to list keys from.\n * @returns An array of keys under the specified base path.\n */\n public listSync(base?: string): string[] {\n return [\n ...this.data\n .keys()\n .filter(key => (!base ? true : isParentPath(key, this.resolve(base))))\n ];\n }\n\n /**\n * Disposes of the storage adapter, releasing any held resources.\n *\n * @returns A promise that resolves when the disposal is complete.\n */\n public override async dispose(): Promise<void> {\n return this.clear();\n }\n}\n"]}