powerlines 0.14.1 → 0.16.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 (636) hide show
  1. package/dist/api.cjs +14 -0
  2. package/dist/{internal/api.d.cts → api.d.cts} +14 -14
  3. package/dist/{internal/api.d.ts → api.d.ts} +14 -14
  4. package/dist/api.js +5 -0
  5. package/dist/astro.cjs +12 -14
  6. package/dist/astro.d.cts +4 -4
  7. package/dist/astro.d.ts +4 -4
  8. package/dist/astro.js +9 -11
  9. package/dist/chunk-22MUBUHP.cjs +10 -0
  10. package/dist/chunk-2NO7N5OW.cjs +2 -0
  11. package/dist/chunk-3AEMPMJA.js +29 -0
  12. package/dist/{chunk-7GVRTQLJ.js → chunk-53SIK3PC.js} +2 -4
  13. package/dist/chunk-7464OF2J.cjs +10 -0
  14. package/dist/chunk-7GYTTM4M.cjs +2 -0
  15. package/dist/{chunk-M6XRJI44.js → chunk-7TKF67GW.js} +1 -3
  16. package/dist/chunk-AENPRFWJ.cjs +2 -0
  17. package/dist/chunk-AWZEALXL.cjs +32 -0
  18. package/dist/chunk-BUR2JQ6G.cjs +11 -0
  19. package/dist/{chunk-7HF3SEKY.cjs → chunk-C3O6OZ75.cjs} +4 -6
  20. package/dist/{chunk-WA6IOZHV.js → chunk-CEMWMWEY.js} +3 -5
  21. package/dist/chunk-CJSGAITR.js +9 -0
  22. package/dist/{chunk-6TJGZR5X.js → chunk-CWCEYGLM.js} +1 -4
  23. package/dist/chunk-DRXFQCNC.js +1 -0
  24. package/dist/{chunk-V7LXFIGK.js → chunk-DTVAXYH7.js} +19 -4
  25. package/dist/{chunk-APVMN2H7.cjs → chunk-ETKZMGLN.cjs} +0 -2
  26. package/dist/{chunk-UZQYBO6Z.cjs → chunk-F5NKLRZD.cjs} +2 -5
  27. package/dist/{chunk-5VPVJHJO.cjs → chunk-FCTNMPJF.cjs} +0 -2
  28. package/dist/chunk-FNZDWE4L.js +1 -0
  29. package/dist/{chunk-WCTOTE3T.cjs → chunk-FSZEVJIL.cjs} +31 -16
  30. package/dist/chunk-FUXITWBD.cjs +10 -0
  31. package/dist/{chunk-7QQZH7V2.js → chunk-G45EBQMJ.js} +1 -3
  32. package/dist/chunk-GHJU2KGP.cjs +2 -0
  33. package/dist/chunk-H26QYGLD.cjs +10 -0
  34. package/dist/chunk-HQFZ64VC.cjs +2 -0
  35. package/dist/chunk-J4BQZHTQ.js +1 -0
  36. package/dist/chunk-JGB5YQ2U.js +1 -0
  37. package/dist/{chunk-EBMELFCF.js → chunk-JQCWV4DT.js} +0 -2
  38. package/dist/chunk-KALR2O2F.cjs +2 -0
  39. package/dist/chunk-KIKTWMI3.cjs +2 -0
  40. package/dist/{chunk-2OGPXWHG.js → chunk-KQPL2ZMU.js} +2 -4
  41. package/dist/{chunk-MW2CYPK5.cjs → chunk-KZMYPV7R.cjs} +7 -9
  42. package/dist/{chunk-5S33UKRI.js → chunk-LQEDMNSD.js} +1 -3
  43. package/dist/{chunk-O7GICJVN.cjs → chunk-LZM7R4YU.cjs} +6 -8
  44. package/dist/{chunk-N6L2CYXV.js → chunk-MQXT2JKH.js} +2 -4
  45. package/dist/{chunk-4HGQJ4KR.js → chunk-OBYFBPPO.js} +0 -2
  46. package/dist/chunk-OO3YXM72.js +1 -0
  47. package/dist/chunk-P3BPRVO6.cjs +22 -0
  48. package/dist/chunk-QE3WGMAP.js +1 -0
  49. package/dist/{chunk-P4BOYWXT.js → chunk-REW4ZSBN.js} +522 -507
  50. package/dist/{chunk-22K72CJ5.cjs → chunk-RF6RSWD4.cjs} +0 -2
  51. package/dist/{chunk-7QVYU63E.js → chunk-SHUYVCID.js} +0 -2
  52. package/dist/chunk-SMNKPH4T.js +1 -0
  53. package/dist/{chunk-PK6SKIKE.cjs → chunk-USNT2KNT.cjs} +0 -2
  54. package/dist/chunk-V3MLQDZQ.js +1 -0
  55. package/dist/{chunk-YFP5GQWW.js → chunk-VBAXXI72.js} +1 -3
  56. package/dist/{chunk-NVNMK4CE.js → chunk-VIRLWSS6.js} +2 -4
  57. package/dist/{chunk-SIZKRND7.js → chunk-W5X3ZEZ5.js} +0 -2
  58. package/dist/{chunk-LO77RPRV.js → chunk-WJ4CZKXY.js} +0 -2
  59. package/dist/chunk-WWJBVH7C.cjs +17 -0
  60. package/dist/chunk-XLRMX2NL.cjs +10 -0
  61. package/dist/{chunk-YIWHO6SW.cjs → chunk-XP7OML7S.cjs} +0 -2
  62. package/dist/chunk-XVLT2RQ2.js +1 -0
  63. package/dist/{chunk-UFEM5JTE.cjs → chunk-XWSGD2C3.cjs} +4 -6
  64. package/dist/chunk-YRJ4MLVL.cjs +2 -0
  65. package/dist/{chunk-5A5AK6JI.js → chunk-YWJMO2CR.js} +3 -5
  66. package/dist/chunk-ZC43PZXS.cjs +2 -0
  67. package/dist/{chunk-N2RUZCWA.js → chunk-ZCO7TMWP.js} +1 -3
  68. package/dist/{chunk-PJRHRDLS.cjs → chunk-ZJSWJ27U.cjs} +591 -578
  69. package/dist/config.cjs +11 -0
  70. package/dist/{define-config.d.cts → config.d.cts} +4 -4
  71. package/dist/{define-config.d.ts → config.d.ts} +4 -4
  72. package/dist/config.js +2 -0
  73. package/dist/esbuild.cjs +11 -13
  74. package/dist/esbuild.d.cts +4 -4
  75. package/dist/esbuild.d.ts +4 -4
  76. package/dist/esbuild.js +8 -10
  77. package/dist/farm.cjs +7 -9
  78. package/dist/farm.d.cts +4 -4
  79. package/dist/farm.d.ts +4 -4
  80. package/dist/farm.js +6 -8
  81. package/dist/{hooks-q1Az_C64.d.ts → hooks-ByM-4_UN.d.ts} +1 -1
  82. package/dist/{hooks-Wrj1dKJ9.d.cts → hooks-DcH9z5L5.d.cts} +1 -1
  83. package/dist/index.cjs +43 -51
  84. package/dist/index.d.cts +11 -12
  85. package/dist/index.d.ts +11 -12
  86. package/dist/index.js +31 -35
  87. package/dist/lib/build/esbuild.cjs +6 -8
  88. package/dist/lib/build/esbuild.d.cts +3 -2
  89. package/dist/lib/build/esbuild.d.ts +3 -2
  90. package/dist/lib/build/esbuild.js +3 -5
  91. package/dist/lib/build/index.cjs +27 -29
  92. package/dist/lib/build/index.d.cts +4 -3
  93. package/dist/lib/build/index.d.ts +4 -3
  94. package/dist/lib/build/index.js +11 -13
  95. package/dist/lib/build/rolldown.cjs +4 -6
  96. package/dist/lib/build/rolldown.d.cts +3 -2
  97. package/dist/lib/build/rolldown.d.ts +3 -2
  98. package/dist/lib/build/rolldown.js +3 -5
  99. package/dist/lib/build/rollup.cjs +4 -6
  100. package/dist/lib/build/rollup.d.cts +3 -2
  101. package/dist/lib/build/rollup.d.ts +3 -2
  102. package/dist/lib/build/rollup.js +2 -4
  103. package/dist/lib/build/rspack.cjs +3 -5
  104. package/dist/lib/build/rspack.d.cts +3 -2
  105. package/dist/lib/build/rspack.d.ts +3 -2
  106. package/dist/lib/build/rspack.js +2 -4
  107. package/dist/lib/build/tsup.cjs +7 -9
  108. package/dist/lib/build/tsup.d.cts +3 -2
  109. package/dist/lib/build/tsup.d.ts +3 -2
  110. package/dist/lib/build/tsup.js +4 -6
  111. package/dist/lib/build/unbuild.cjs +7 -9
  112. package/dist/lib/build/unbuild.d.cts +4 -3
  113. package/dist/lib/build/unbuild.d.ts +4 -3
  114. package/dist/lib/build/unbuild.js +4 -6
  115. package/dist/lib/build/vite.cjs +6 -8
  116. package/dist/lib/build/vite.d.cts +3 -2
  117. package/dist/lib/build/vite.d.ts +3 -2
  118. package/dist/lib/build/vite.js +4 -6
  119. package/dist/lib/build/webpack.cjs +3 -5
  120. package/dist/lib/build/webpack.d.cts +3 -2
  121. package/dist/lib/build/webpack.d.ts +3 -2
  122. package/dist/lib/build/webpack.js +2 -4
  123. package/dist/lib/{chunk-RQICHHZM.cjs → chunk-2NZADVP5.cjs} +2 -4
  124. package/dist/lib/{chunk-UQJWVRRE.cjs → chunk-3OCI4TH7.cjs} +4 -6
  125. package/dist/lib/{chunk-MFC7UJHT.cjs → chunk-4NHFXDTQ.cjs} +3 -5
  126. package/dist/lib/{chunk-LBMMBFQE.js → chunk-4ZOJG7G7.js} +20 -10
  127. package/dist/lib/{chunk-V2T4H24I.js → chunk-54XNJQTH.js} +1 -3
  128. package/dist/lib/{chunk-JTUL3477.cjs → chunk-5EXW3ZRC.cjs} +3 -5
  129. package/dist/lib/{chunk-LEIOWD2W.js → chunk-633SP5HS.js} +2 -4
  130. package/dist/lib/{chunk-YVDJCVE5.cjs → chunk-67IBLMW6.cjs} +10 -12
  131. package/dist/lib/{chunk-3I2YOM2E.js → chunk-6BEYR6PG.js} +4 -7
  132. package/dist/lib/{chunk-GWYTWFZE.cjs → chunk-6G7CP6RO.cjs} +4 -6
  133. package/dist/lib/{chunk-MAHHHINV.js → chunk-6RLV3FIS.js} +2 -4
  134. package/dist/lib/{chunk-MVQSM5WM.cjs → chunk-7JTHFA7I.cjs} +23 -13
  135. package/dist/lib/{chunk-7EAV6Q7B.cjs → chunk-7K7JH3DF.cjs} +2 -4
  136. package/dist/lib/{chunk-VJN72T2O.js → chunk-7OHD3BD4.js} +1 -3
  137. package/dist/lib/{chunk-Q3KJZ3B5.js → chunk-7Y5MJRWF.js} +8 -10
  138. package/dist/lib/{chunk-Q2L3FNJO.js → chunk-ADKYAHF5.js} +2 -4
  139. package/dist/lib/{chunk-XZD7S5TU.cjs → chunk-AOKLB4V2.cjs} +2 -4
  140. package/dist/lib/{chunk-LJZEN4HP.cjs → chunk-BQU53ZNB.cjs} +7 -9
  141. package/dist/lib/{chunk-6IJTWIVJ.cjs → chunk-CGYAL3S2.cjs} +3 -5
  142. package/dist/lib/{chunk-ESYYL5UH.js → chunk-CXRSMYEX.js} +1 -3
  143. package/dist/lib/{chunk-7LLECRBP.cjs → chunk-DQ5JBYIN.cjs} +6 -8
  144. package/dist/lib/chunk-EJ25PQEL.cjs +2 -0
  145. package/dist/lib/{chunk-35EO5Y7R.js → chunk-ENRLU4UR.js} +1 -3
  146. package/dist/lib/{chunk-KSBESEOF.js → chunk-EQKS6CLU.js} +2 -4
  147. package/dist/lib/{chunk-V5OY4ALI.cjs → chunk-F7IDAYLH.cjs} +2 -4
  148. package/dist/lib/{chunk-5PNLONNN.cjs → chunk-FOC3UTXQ.cjs} +4 -6
  149. package/dist/lib/{chunk-7R23HVGQ.js → chunk-GANVMM73.js} +1 -3
  150. package/dist/lib/{chunk-KOCDKJDJ.js → chunk-GRJJZ5VJ.js} +1 -3
  151. package/dist/lib/chunk-H5JWMXTZ.js +1 -0
  152. package/dist/lib/{chunk-62ZJYXT3.cjs → chunk-H7A5QVLY.cjs} +5 -7
  153. package/dist/lib/chunk-HMO3LAYL.js +1 -0
  154. package/dist/lib/{chunk-RLMEYZ5I.cjs → chunk-IBPA3VN5.cjs} +15 -17
  155. package/dist/lib/{chunk-6BRTJXZ2.js → chunk-IPOD734M.js} +324 -221
  156. package/dist/lib/{chunk-LYD5OTBI.cjs → chunk-ISLUSDCG.cjs} +422 -319
  157. package/dist/lib/{chunk-632PWWU7.cjs → chunk-JA4HSQRN.cjs} +3 -5
  158. package/dist/lib/{chunk-IK3ABDPP.cjs → chunk-JG4IL7XL.cjs} +2 -4
  159. package/dist/lib/{chunk-OF5IJ4WG.js → chunk-JU4J5H6E.js} +2 -4
  160. package/dist/lib/{chunk-LTVWU4J2.js → chunk-KXCEN6Y4.js} +1 -3
  161. package/dist/lib/{chunk-W4OMKQ7W.cjs → chunk-LJ4WO7TW.cjs} +5 -7
  162. package/dist/lib/{chunk-BEKLDCTV.cjs → chunk-LPKZKRBW.cjs} +26 -14
  163. package/dist/lib/{chunk-PXSRMP4E.js → chunk-M263EZ4F.js} +1 -3
  164. package/dist/lib/{chunk-4XUVP2LL.cjs → chunk-MZJWK36Q.cjs} +2 -4
  165. package/dist/lib/{chunk-367E23MI.js → chunk-NDYKRNPQ.js} +1 -3
  166. package/dist/lib/{chunk-NE46WXNJ.js → chunk-NST5TNW6.js} +1 -3
  167. package/dist/lib/{chunk-ODJBZ6PS.js → chunk-NUDYDRYO.js} +3 -5
  168. package/dist/lib/{chunk-RXQWNSZX.js → chunk-NWAD7K4D.js} +1 -3
  169. package/dist/lib/{chunk-STAKGAWR.js → chunk-NZLZLQX2.js} +19 -7
  170. package/dist/lib/{chunk-GJNFAFKR.cjs → chunk-P3ZIYYSC.cjs} +6 -9
  171. package/dist/lib/{chunk-CAPN4FSS.js → chunk-Q3ERHHXJ.js} +3 -5
  172. package/dist/lib/chunk-RJ4277VZ.cjs +2 -0
  173. package/dist/lib/{chunk-7QVYU63E.js → chunk-SHUYVCID.js} +0 -2
  174. package/dist/lib/{chunk-YF3YHK4X.js → chunk-SYHVP3OW.js} +1 -3
  175. package/dist/lib/{chunk-NANLYIUO.cjs → chunk-T6KEXFRH.cjs} +8 -10
  176. package/dist/lib/{chunk-HQ6TGY34.js → chunk-TANQDHYY.js} +1 -3
  177. package/dist/lib/{chunk-BW3VFCTS.cjs → chunk-TNHDC2ZQ.cjs} +7 -9
  178. package/dist/lib/{chunk-ZP7PDTVE.cjs → chunk-UDJ37BEE.cjs} +17 -19
  179. package/dist/lib/{chunk-PK6SKIKE.cjs → chunk-USNT2KNT.cjs} +0 -2
  180. package/dist/lib/{chunk-U36VZLW6.cjs → chunk-VQ7CXQLT.cjs} +10 -12
  181. package/dist/lib/chunk-VVSEE3JE.cjs +2 -0
  182. package/dist/lib/{chunk-YBIWVB66.js → chunk-WFUO3YPK.js} +1 -3
  183. package/dist/lib/{chunk-MGEZC2RV.cjs → chunk-XW5TELHB.cjs} +6 -8
  184. package/dist/lib/{chunk-OO4BIM7N.js → chunk-YOENMDZY.js} +1 -3
  185. package/dist/lib/chunk-ZBLDAREE.js +1 -0
  186. package/dist/lib/{chunk-56LQSSQ3.js → chunk-ZPIKFR7Z.js} +4 -6
  187. package/dist/lib/{config-Ro14HmyO.d.cts → config-AKuoTngV.d.cts} +57 -13
  188. package/dist/lib/{config-DnifzkPt.d.ts → config-BxVBOnAV.d.ts} +57 -13
  189. package/dist/lib/config-file.cjs +4 -6
  190. package/dist/lib/config-file.d.cts +7 -5
  191. package/dist/lib/config-file.d.ts +7 -5
  192. package/dist/lib/config-file.js +2 -4
  193. package/dist/lib/create-program.cjs +3 -5
  194. package/dist/lib/create-program.d.cts +3 -2
  195. package/dist/lib/create-program.d.ts +3 -2
  196. package/dist/lib/create-program.js +2 -4
  197. package/dist/lib/entry.cjs +10 -12
  198. package/dist/lib/entry.d.cts +3 -2
  199. package/dist/lib/entry.d.ts +3 -2
  200. package/dist/lib/entry.js +2 -4
  201. package/dist/lib/{hooks-B6Ow5MtE.d.ts → hooks-BKZwFaZD.d.ts} +1 -1
  202. package/dist/lib/{hooks-CM-BbMzz.d.cts → hooks-D3P6aPKT.d.cts} +1 -1
  203. package/dist/lib/index.cjs +74 -129
  204. package/dist/lib/index.d.cts +13 -15
  205. package/dist/lib/index.d.ts +13 -15
  206. package/dist/lib/index.js +25 -28
  207. package/dist/lib/logger.cjs +4 -6
  208. package/dist/lib/logger.d.cts +4 -4
  209. package/dist/lib/logger.d.ts +4 -4
  210. package/dist/lib/logger.js +2 -4
  211. package/dist/lib/typescript/compiler-host.cjs +21 -23
  212. package/dist/lib/typescript/compiler-host.d.cts +4 -5
  213. package/dist/lib/typescript/compiler-host.d.ts +4 -5
  214. package/dist/lib/typescript/compiler-host.js +3 -5
  215. package/dist/lib/typescript/import-transformer.cjs +4 -6
  216. package/dist/lib/typescript/import-transformer.d.cts +3 -2
  217. package/dist/lib/typescript/import-transformer.d.ts +3 -2
  218. package/dist/lib/typescript/import-transformer.js +1 -3
  219. package/dist/lib/typescript/index.cjs +17 -19
  220. package/dist/lib/typescript/index.d.cts +5 -4
  221. package/dist/lib/typescript/index.d.ts +5 -4
  222. package/dist/lib/typescript/index.js +5 -7
  223. package/dist/lib/typescript/isolated-decl.cjs +3 -5
  224. package/dist/lib/typescript/isolated-decl.d.cts +1 -2
  225. package/dist/lib/typescript/isolated-decl.d.ts +1 -2
  226. package/dist/lib/typescript/isolated-decl.js +2 -4
  227. package/dist/lib/typescript/program.cjs +7 -9
  228. package/dist/lib/typescript/program.d.cts +4 -5
  229. package/dist/lib/typescript/program.d.ts +4 -5
  230. package/dist/lib/typescript/program.js +2 -4
  231. package/dist/lib/typescript/tsconfig.cjs +8 -10
  232. package/dist/lib/typescript/tsconfig.js +2 -4
  233. package/dist/lib/unplugin/factory.cjs +12 -15
  234. package/dist/lib/unplugin/factory.d.cts +10 -9
  235. package/dist/lib/unplugin/factory.d.ts +10 -9
  236. package/dist/lib/unplugin/factory.js +11 -14
  237. package/dist/lib/unplugin/index.cjs +16 -19
  238. package/dist/lib/unplugin/index.d.cts +6 -5
  239. package/dist/lib/unplugin/index.d.ts +6 -5
  240. package/dist/lib/unplugin/index.js +13 -16
  241. package/dist/lib/unplugin/plugin.cjs +6 -8
  242. package/dist/lib/unplugin/plugin.d.cts +4 -4
  243. package/dist/lib/unplugin/plugin.d.ts +4 -4
  244. package/dist/lib/unplugin/plugin.js +5 -7
  245. package/dist/lib/unplugin/resolve-id.cjs +3 -5
  246. package/dist/lib/unplugin/resolve-id.d.cts +4 -5
  247. package/dist/lib/unplugin/resolve-id.d.ts +4 -5
  248. package/dist/lib/unplugin/resolve-id.js +2 -4
  249. package/dist/lib/utilities/bundle.cjs +6 -8
  250. package/dist/lib/utilities/bundle.d.cts +3 -2
  251. package/dist/lib/utilities/bundle.d.ts +3 -2
  252. package/dist/lib/utilities/bundle.js +5 -7
  253. package/dist/lib/utilities/cache.cjs +5 -7
  254. package/dist/lib/utilities/cache.d.cts +32 -1
  255. package/dist/lib/utilities/cache.d.ts +32 -1
  256. package/dist/lib/utilities/cache.js +3 -5
  257. package/dist/lib/utilities/file-header.cjs +4 -6
  258. package/dist/lib/utilities/file-header.d.cts +4 -4
  259. package/dist/lib/utilities/file-header.d.ts +4 -4
  260. package/dist/lib/utilities/file-header.js +2 -4
  261. package/dist/lib/utilities/index.cjs +36 -91
  262. package/dist/lib/utilities/index.d.cts +6 -8
  263. package/dist/lib/utilities/index.d.ts +6 -8
  264. package/dist/lib/utilities/index.js +15 -18
  265. package/dist/lib/utilities/meta.cjs +9 -11
  266. package/dist/lib/utilities/meta.d.cts +4 -4
  267. package/dist/lib/utilities/meta.d.ts +4 -4
  268. package/dist/lib/utilities/meta.js +2 -4
  269. package/dist/lib/utilities/resolve-path.cjs +3 -5
  270. package/dist/lib/utilities/resolve-path.d.cts +3 -2
  271. package/dist/lib/utilities/resolve-path.d.ts +3 -2
  272. package/dist/lib/utilities/resolve-path.js +2 -4
  273. package/dist/lib/utilities/resolve.cjs +7 -9
  274. package/dist/lib/utilities/resolve.d.cts +3 -2
  275. package/dist/lib/utilities/resolve.d.ts +3 -2
  276. package/dist/lib/utilities/resolve.js +6 -8
  277. package/dist/lib/utilities/source-file.cjs +5 -7
  278. package/dist/lib/utilities/source-file.d.cts +31 -1
  279. package/dist/lib/utilities/source-file.d.ts +31 -1
  280. package/dist/lib/utilities/source-file.js +2 -4
  281. package/dist/lib/utilities/source-map.cjs +3 -5
  282. package/dist/lib/utilities/source-map.d.cts +33 -2
  283. package/dist/lib/utilities/source-map.d.ts +33 -2
  284. package/dist/lib/utilities/source-map.js +2 -4
  285. package/dist/lib/utilities/worker.cjs +5 -7
  286. package/dist/lib/utilities/worker.d.cts +4 -4
  287. package/dist/lib/utilities/worker.d.ts +4 -4
  288. package/dist/lib/utilities/worker.js +3 -5
  289. package/dist/lib/utilities/write-file.cjs +3 -5
  290. package/dist/lib/utilities/write-file.d.cts +3 -2
  291. package/dist/lib/utilities/write-file.d.ts +3 -2
  292. package/dist/lib/utilities/write-file.js +2 -4
  293. package/dist/next.cjs +11 -13
  294. package/dist/next.js +8 -10
  295. package/dist/nuxt.cjs +13 -15
  296. package/dist/nuxt.js +10 -12
  297. package/dist/plugin-utils/chunk-2HFS2OOG.cjs +14 -0
  298. package/dist/{chunk-KMLFL4CW.js → plugin-utils/chunk-3G5FJKN2.js} +1 -3
  299. package/dist/plugin-utils/chunk-CVZA2RT3.js +12 -0
  300. package/dist/plugin-utils/chunk-HHFA3IEZ.js +51 -0
  301. package/dist/{chunk-4AKYOJXA.cjs → plugin-utils/chunk-MIKPJJNG.cjs} +2 -4
  302. package/dist/{lib/chunk-RK2VVGL6.cjs → plugin-utils/chunk-MQOW6ENT.cjs} +15 -17
  303. package/dist/{lib/chunk-UGRFAVAJ.js → plugin-utils/chunk-PK6PYFWY.js} +2 -4
  304. package/dist/plugin-utils/chunk-SHUYVCID.js +4 -0
  305. package/dist/plugin-utils/chunk-USNT2KNT.cjs +6 -0
  306. package/dist/plugin-utils/chunk-YKIS7BLU.cjs +53 -0
  307. package/dist/plugin-utils/config-ClPkPCYC.d.cts +1309 -0
  308. package/dist/plugin-utils/config-ClPkPCYC.d.ts +1309 -0
  309. package/dist/plugin-utils/extend.cjs +11 -0
  310. package/dist/{extend-plugin.d.ts → plugin-utils/extend.d.cts} +6 -23
  311. package/dist/{extend-plugin.d.cts → plugin-utils/extend.d.ts} +6 -23
  312. package/dist/plugin-utils/extend.js +2 -0
  313. package/dist/plugin-utils/get-config-path.cjs +11 -0
  314. package/dist/plugin-utils/get-config-path.d.cts +32 -0
  315. package/dist/plugin-utils/get-config-path.d.ts +32 -0
  316. package/dist/plugin-utils/get-config-path.js +2 -0
  317. package/dist/{lib/utilities/plugin-helpers.cjs → plugin-utils/helpers.cjs} +15 -17
  318. package/dist/{lib/utilities/plugin-helpers.d.ts → plugin-utils/helpers.d.cts} +13 -14
  319. package/dist/{lib/utilities/plugin-helpers.d.cts → plugin-utils/helpers.d.ts} +13 -14
  320. package/dist/{lib/utilities/plugin-helpers.js → plugin-utils/helpers.js} +2 -4
  321. package/dist/plugin-utils/index.cjs +74 -0
  322. package/dist/plugin-utils/index.d.cts +25 -0
  323. package/dist/plugin-utils/index.d.ts +25 -0
  324. package/dist/plugin-utils/index.js +5 -0
  325. package/dist/plugin-utils/paths.cjs +11 -0
  326. package/dist/plugin-utils/paths.d.cts +46 -0
  327. package/dist/plugin-utils/paths.d.ts +46 -0
  328. package/dist/plugin-utils/paths.js +2 -0
  329. package/dist/{resolved-DtY60yLh.d.cts → resolved-CugLn_3B.d.cts} +52 -251
  330. package/dist/{resolved-wPXZS7aW.d.ts → resolved-DnI1mqEb.d.ts} +52 -251
  331. package/dist/rolldown.cjs +10 -12
  332. package/dist/rolldown.d.cts +4 -4
  333. package/dist/rolldown.d.ts +4 -4
  334. package/dist/rolldown.js +7 -9
  335. package/dist/rollup.cjs +10 -12
  336. package/dist/rollup.d.cts +4 -4
  337. package/dist/rollup.d.ts +4 -4
  338. package/dist/rollup.js +7 -9
  339. package/dist/rspack.cjs +10 -12
  340. package/dist/rspack.d.cts +4 -4
  341. package/dist/rspack.d.ts +4 -4
  342. package/dist/rspack.js +7 -9
  343. package/dist/tsup.cjs +12 -14
  344. package/dist/tsup.js +9 -11
  345. package/dist/types/babel.cjs +1 -3
  346. package/dist/types/babel.d.cts +4 -4
  347. package/dist/types/babel.d.ts +4 -4
  348. package/dist/types/babel.js +1 -3
  349. package/dist/types/build.cjs +1 -3
  350. package/dist/types/build.d.cts +4 -29
  351. package/dist/types/build.d.ts +4 -29
  352. package/dist/types/build.js +1 -3
  353. package/dist/types/commands.cjs +3 -5
  354. package/dist/types/commands.d.cts +3 -3
  355. package/dist/types/commands.d.ts +3 -3
  356. package/dist/types/commands.js +2 -4
  357. package/dist/types/config.cjs +1 -3
  358. package/dist/types/config.d.cts +3 -3
  359. package/dist/types/config.d.ts +3 -3
  360. package/dist/types/config.js +1 -3
  361. package/dist/types/context.cjs +3 -5
  362. package/dist/types/context.d.cts +3 -3
  363. package/dist/types/context.d.ts +3 -3
  364. package/dist/types/context.js +2 -4
  365. package/dist/types/hooks.cjs +1 -3
  366. package/dist/types/hooks.d.cts +4 -4
  367. package/dist/types/hooks.d.ts +4 -4
  368. package/dist/types/hooks.js +1 -3
  369. package/dist/types/index.cjs +23 -26
  370. package/dist/types/index.d.cts +8 -8
  371. package/dist/types/index.d.ts +8 -8
  372. package/dist/types/index.js +14 -17
  373. package/dist/types/internal.cjs +0 -2
  374. package/dist/types/internal.d.cts +6 -8
  375. package/dist/types/internal.d.ts +6 -8
  376. package/dist/types/internal.js +0 -2
  377. package/dist/types/plugin.cjs +3 -5
  378. package/dist/types/plugin.d.cts +3 -3
  379. package/dist/types/plugin.d.ts +3 -3
  380. package/dist/types/plugin.js +2 -4
  381. package/dist/types/resolved.cjs +1 -3
  382. package/dist/types/resolved.d.cts +4 -4
  383. package/dist/types/resolved.d.ts +4 -4
  384. package/dist/types/resolved.js +1 -3
  385. package/dist/types/tsconfig.cjs +1 -3
  386. package/dist/types/tsconfig.d.cts +1 -8
  387. package/dist/types/tsconfig.d.ts +1 -8
  388. package/dist/types/tsconfig.js +1 -3
  389. package/dist/types/typedoc.cjs +1 -3
  390. package/dist/types/typedoc.d.cts +1 -3
  391. package/dist/types/typedoc.d.ts +1 -3
  392. package/dist/types/typedoc.js +1 -3
  393. package/dist/types/unplugin.cjs +1 -3
  394. package/dist/types/unplugin.d.cts +5 -8
  395. package/dist/types/unplugin.d.ts +5 -8
  396. package/dist/types/unplugin.js +1 -3
  397. package/dist/types/vfs.cjs +8 -10
  398. package/dist/types/vfs.d.cts +1 -14
  399. package/dist/types/vfs.d.ts +1 -14
  400. package/dist/types/vfs.js +2 -4
  401. package/dist/unloader.cjs +10 -12
  402. package/dist/unloader.d.cts +4 -4
  403. package/dist/unloader.d.ts +4 -4
  404. package/dist/unloader.js +7 -9
  405. package/dist/unplugin.cjs +22 -24
  406. package/dist/unplugin.d.cts +6 -6
  407. package/dist/unplugin.d.ts +6 -6
  408. package/dist/unplugin.js +19 -21
  409. package/dist/vite.cjs +11 -13
  410. package/dist/vite.d.cts +4 -4
  411. package/dist/vite.d.ts +4 -4
  412. package/dist/vite.js +8 -10
  413. package/dist/webpack.cjs +10 -12
  414. package/dist/webpack.d.cts +4 -4
  415. package/dist/webpack.d.ts +4 -4
  416. package/dist/webpack.js +7 -9
  417. package/package.json +59 -54
  418. package/dist/chunk-2VIXD2XB.js +0 -3
  419. package/dist/chunk-3IM6CTCB.cjs +0 -12
  420. package/dist/chunk-4FZTGBHW.cjs +0 -12
  421. package/dist/chunk-4JCNAKOE.cjs +0 -4
  422. package/dist/chunk-6ZGIV2SU.cjs +0 -4
  423. package/dist/chunk-7BZQBW77.cjs +0 -4
  424. package/dist/chunk-AFJCY3R6.js +0 -3
  425. package/dist/chunk-AXIRZAL7.js +0 -3
  426. package/dist/chunk-DFLNRC3B.cjs +0 -4
  427. package/dist/chunk-DS7OM4NX.cjs +0 -4
  428. package/dist/chunk-DURCSSLV.js +0 -3
  429. package/dist/chunk-GC3BRYAK.cjs +0 -13
  430. package/dist/chunk-GIE6OE3X.js +0 -3
  431. package/dist/chunk-HJW7OH6E.js +0 -3
  432. package/dist/chunk-IHUNA3MO.cjs +0 -4
  433. package/dist/chunk-OYASPHNL.js +0 -3
  434. package/dist/chunk-Q7EJVZVI.cjs +0 -4
  435. package/dist/chunk-RIOZPUCZ.cjs +0 -34
  436. package/dist/chunk-TLHFXGYV.js +0 -3
  437. package/dist/chunk-TLRPAJU2.cjs +0 -12
  438. package/dist/chunk-TSWMWZ4U.cjs +0 -12
  439. package/dist/chunk-VNRXLY2T.js +0 -3
  440. package/dist/chunk-VQCQRLGM.cjs +0 -4
  441. package/dist/chunk-XBF43VLE.cjs +0 -4
  442. package/dist/chunk-XZO6ZJQP.cjs +0 -4
  443. package/dist/chunk-Y5CDUGSN.cjs +0 -12
  444. package/dist/chunk-YQXNZNGK.js +0 -31
  445. package/dist/chunk-YTOIG4CV.cjs +0 -24
  446. package/dist/chunk-YZCTXGFH.js +0 -11
  447. package/dist/chunk-Z5H7LD6W.js +0 -3
  448. package/dist/chunk-ZEJHPSLK.cjs +0 -19
  449. package/dist/define-config.cjs +0 -13
  450. package/dist/define-config.js +0 -4
  451. package/dist/extend-plugin.cjs +0 -13
  452. package/dist/extend-plugin.js +0 -4
  453. package/dist/internal/api.cjs +0 -16
  454. package/dist/internal/api.cjs.map +0 -1
  455. package/dist/internal/api.js +0 -7
  456. package/dist/internal/api.js.map +0 -1
  457. package/dist/lib/build/esbuild.cjs.map +0 -1
  458. package/dist/lib/build/esbuild.js.map +0 -1
  459. package/dist/lib/build/index.cjs.map +0 -1
  460. package/dist/lib/build/index.js.map +0 -1
  461. package/dist/lib/build/rolldown.cjs.map +0 -1
  462. package/dist/lib/build/rolldown.js.map +0 -1
  463. package/dist/lib/build/rollup.cjs.map +0 -1
  464. package/dist/lib/build/rollup.js.map +0 -1
  465. package/dist/lib/build/rspack.cjs.map +0 -1
  466. package/dist/lib/build/rspack.js.map +0 -1
  467. package/dist/lib/build/tsup.cjs.map +0 -1
  468. package/dist/lib/build/tsup.js.map +0 -1
  469. package/dist/lib/build/unbuild.cjs.map +0 -1
  470. package/dist/lib/build/unbuild.js.map +0 -1
  471. package/dist/lib/build/vite.cjs.map +0 -1
  472. package/dist/lib/build/vite.js.map +0 -1
  473. package/dist/lib/build/webpack.cjs.map +0 -1
  474. package/dist/lib/build/webpack.js.map +0 -1
  475. package/dist/lib/chunk-35EO5Y7R.js.map +0 -1
  476. package/dist/lib/chunk-367E23MI.js.map +0 -1
  477. package/dist/lib/chunk-3GMJQ5G3.cjs +0 -4
  478. package/dist/lib/chunk-3GMJQ5G3.cjs.map +0 -1
  479. package/dist/lib/chunk-3I2YOM2E.js.map +0 -1
  480. package/dist/lib/chunk-4BPHC6QQ.js +0 -3
  481. package/dist/lib/chunk-4BPHC6QQ.js.map +0 -1
  482. package/dist/lib/chunk-4XUVP2LL.cjs.map +0 -1
  483. package/dist/lib/chunk-56LQSSQ3.js.map +0 -1
  484. package/dist/lib/chunk-5PNLONNN.cjs.map +0 -1
  485. package/dist/lib/chunk-62ZJYXT3.cjs.map +0 -1
  486. package/dist/lib/chunk-632PWWU7.cjs.map +0 -1
  487. package/dist/lib/chunk-6BRTJXZ2.js.map +0 -1
  488. package/dist/lib/chunk-6IJTWIVJ.cjs.map +0 -1
  489. package/dist/lib/chunk-7EAV6Q7B.cjs.map +0 -1
  490. package/dist/lib/chunk-7LLECRBP.cjs.map +0 -1
  491. package/dist/lib/chunk-7QVYU63E.js.map +0 -1
  492. package/dist/lib/chunk-7R23HVGQ.js.map +0 -1
  493. package/dist/lib/chunk-BEKLDCTV.cjs.map +0 -1
  494. package/dist/lib/chunk-BW3VFCTS.cjs.map +0 -1
  495. package/dist/lib/chunk-CAPN4FSS.js.map +0 -1
  496. package/dist/lib/chunk-ESYYL5UH.js.map +0 -1
  497. package/dist/lib/chunk-GJNFAFKR.cjs.map +0 -1
  498. package/dist/lib/chunk-GWYTWFZE.cjs.map +0 -1
  499. package/dist/lib/chunk-HJWJNSSZ.js +0 -3
  500. package/dist/lib/chunk-HJWJNSSZ.js.map +0 -1
  501. package/dist/lib/chunk-HQ6TGY34.js.map +0 -1
  502. package/dist/lib/chunk-IK3ABDPP.cjs.map +0 -1
  503. package/dist/lib/chunk-JTUL3477.cjs.map +0 -1
  504. package/dist/lib/chunk-KOCDKJDJ.js.map +0 -1
  505. package/dist/lib/chunk-KSBESEOF.js.map +0 -1
  506. package/dist/lib/chunk-LBMMBFQE.js.map +0 -1
  507. package/dist/lib/chunk-LEIOWD2W.js.map +0 -1
  508. package/dist/lib/chunk-LJZEN4HP.cjs.map +0 -1
  509. package/dist/lib/chunk-LTVWU4J2.js.map +0 -1
  510. package/dist/lib/chunk-LYD5OTBI.cjs.map +0 -1
  511. package/dist/lib/chunk-MAHHHINV.js.map +0 -1
  512. package/dist/lib/chunk-MFC7UJHT.cjs.map +0 -1
  513. package/dist/lib/chunk-MGEZC2RV.cjs.map +0 -1
  514. package/dist/lib/chunk-MVQSM5WM.cjs.map +0 -1
  515. package/dist/lib/chunk-NANLYIUO.cjs.map +0 -1
  516. package/dist/lib/chunk-NE46WXNJ.js.map +0 -1
  517. package/dist/lib/chunk-ODJBZ6PS.js.map +0 -1
  518. package/dist/lib/chunk-OF5IJ4WG.js.map +0 -1
  519. package/dist/lib/chunk-OO4BIM7N.js.map +0 -1
  520. package/dist/lib/chunk-PEZXLKQD.cjs +0 -4
  521. package/dist/lib/chunk-PEZXLKQD.cjs.map +0 -1
  522. package/dist/lib/chunk-PK6SKIKE.cjs.map +0 -1
  523. package/dist/lib/chunk-PXSRMP4E.js.map +0 -1
  524. package/dist/lib/chunk-Q2L3FNJO.js.map +0 -1
  525. package/dist/lib/chunk-Q3KJZ3B5.js.map +0 -1
  526. package/dist/lib/chunk-RK2VVGL6.cjs.map +0 -1
  527. package/dist/lib/chunk-RLMEYZ5I.cjs.map +0 -1
  528. package/dist/lib/chunk-RQICHHZM.cjs.map +0 -1
  529. package/dist/lib/chunk-RXQWNSZX.js.map +0 -1
  530. package/dist/lib/chunk-STAKGAWR.js.map +0 -1
  531. package/dist/lib/chunk-U36VZLW6.cjs.map +0 -1
  532. package/dist/lib/chunk-UGRFAVAJ.js.map +0 -1
  533. package/dist/lib/chunk-UQJWVRRE.cjs.map +0 -1
  534. package/dist/lib/chunk-V2T4H24I.js.map +0 -1
  535. package/dist/lib/chunk-V5OY4ALI.cjs.map +0 -1
  536. package/dist/lib/chunk-VJN72T2O.js.map +0 -1
  537. package/dist/lib/chunk-W4OMKQ7W.cjs.map +0 -1
  538. package/dist/lib/chunk-XGH6JWRO.js +0 -3
  539. package/dist/lib/chunk-XGH6JWRO.js.map +0 -1
  540. package/dist/lib/chunk-XQMVE2NH.cjs +0 -4
  541. package/dist/lib/chunk-XQMVE2NH.cjs.map +0 -1
  542. package/dist/lib/chunk-XZD7S5TU.cjs.map +0 -1
  543. package/dist/lib/chunk-YBIWVB66.js.map +0 -1
  544. package/dist/lib/chunk-YF3YHK4X.js.map +0 -1
  545. package/dist/lib/chunk-YVDJCVE5.cjs.map +0 -1
  546. package/dist/lib/chunk-ZP7PDTVE.cjs.map +0 -1
  547. package/dist/lib/compiler-CuQLTmTB.d.cts +0 -32
  548. package/dist/lib/compiler-CuQLTmTB.d.ts +0 -32
  549. package/dist/lib/config-file.cjs.map +0 -1
  550. package/dist/lib/config-file.js.map +0 -1
  551. package/dist/lib/create-program.cjs.map +0 -1
  552. package/dist/lib/create-program.js.map +0 -1
  553. package/dist/lib/entry.cjs.map +0 -1
  554. package/dist/lib/entry.js.map +0 -1
  555. package/dist/lib/index.cjs.map +0 -1
  556. package/dist/lib/index.js.map +0 -1
  557. package/dist/lib/logger.cjs.map +0 -1
  558. package/dist/lib/logger.js.map +0 -1
  559. package/dist/lib/typescript/compiler-host.cjs.map +0 -1
  560. package/dist/lib/typescript/compiler-host.js.map +0 -1
  561. package/dist/lib/typescript/import-transformer.cjs.map +0 -1
  562. package/dist/lib/typescript/import-transformer.js.map +0 -1
  563. package/dist/lib/typescript/index.cjs.map +0 -1
  564. package/dist/lib/typescript/index.js.map +0 -1
  565. package/dist/lib/typescript/isolated-decl.cjs.map +0 -1
  566. package/dist/lib/typescript/isolated-decl.js.map +0 -1
  567. package/dist/lib/typescript/program.cjs.map +0 -1
  568. package/dist/lib/typescript/program.js.map +0 -1
  569. package/dist/lib/typescript/tsconfig.cjs.map +0 -1
  570. package/dist/lib/typescript/tsconfig.js.map +0 -1
  571. package/dist/lib/unplugin/factory.cjs.map +0 -1
  572. package/dist/lib/unplugin/factory.js.map +0 -1
  573. package/dist/lib/unplugin/index.cjs.map +0 -1
  574. package/dist/lib/unplugin/index.js.map +0 -1
  575. package/dist/lib/unplugin/plugin.cjs.map +0 -1
  576. package/dist/lib/unplugin/plugin.js.map +0 -1
  577. package/dist/lib/unplugin/resolve-id.cjs.map +0 -1
  578. package/dist/lib/unplugin/resolve-id.js.map +0 -1
  579. package/dist/lib/utilities/bundle.cjs.map +0 -1
  580. package/dist/lib/utilities/bundle.js.map +0 -1
  581. package/dist/lib/utilities/cache.cjs.map +0 -1
  582. package/dist/lib/utilities/cache.js.map +0 -1
  583. package/dist/lib/utilities/file-header.cjs.map +0 -1
  584. package/dist/lib/utilities/file-header.js.map +0 -1
  585. package/dist/lib/utilities/index.cjs.map +0 -1
  586. package/dist/lib/utilities/index.js.map +0 -1
  587. package/dist/lib/utilities/meta.cjs.map +0 -1
  588. package/dist/lib/utilities/meta.js.map +0 -1
  589. package/dist/lib/utilities/plugin-helpers.cjs.map +0 -1
  590. package/dist/lib/utilities/plugin-helpers.js.map +0 -1
  591. package/dist/lib/utilities/resolve-path.cjs.map +0 -1
  592. package/dist/lib/utilities/resolve-path.js.map +0 -1
  593. package/dist/lib/utilities/resolve.cjs.map +0 -1
  594. package/dist/lib/utilities/resolve.js.map +0 -1
  595. package/dist/lib/utilities/source-file.cjs.map +0 -1
  596. package/dist/lib/utilities/source-file.js.map +0 -1
  597. package/dist/lib/utilities/source-map.cjs.map +0 -1
  598. package/dist/lib/utilities/source-map.js.map +0 -1
  599. package/dist/lib/utilities/worker.cjs.map +0 -1
  600. package/dist/lib/utilities/worker.js.map +0 -1
  601. package/dist/lib/utilities/write-file.cjs.map +0 -1
  602. package/dist/lib/utilities/write-file.js.map +0 -1
  603. package/dist/types/babel.cjs.map +0 -1
  604. package/dist/types/babel.js.map +0 -1
  605. package/dist/types/build.cjs.map +0 -1
  606. package/dist/types/build.js.map +0 -1
  607. package/dist/types/commands.cjs.map +0 -1
  608. package/dist/types/commands.js.map +0 -1
  609. package/dist/types/compiler.cjs +0 -6
  610. package/dist/types/compiler.cjs.map +0 -1
  611. package/dist/types/compiler.d.cts +0 -38
  612. package/dist/types/compiler.d.ts +0 -38
  613. package/dist/types/compiler.js +0 -3
  614. package/dist/types/compiler.js.map +0 -1
  615. package/dist/types/config.cjs.map +0 -1
  616. package/dist/types/config.js.map +0 -1
  617. package/dist/types/context.cjs.map +0 -1
  618. package/dist/types/context.js.map +0 -1
  619. package/dist/types/hooks.cjs.map +0 -1
  620. package/dist/types/hooks.js.map +0 -1
  621. package/dist/types/index.cjs.map +0 -1
  622. package/dist/types/index.js.map +0 -1
  623. package/dist/types/internal.cjs.map +0 -1
  624. package/dist/types/internal.js.map +0 -1
  625. package/dist/types/plugin.cjs.map +0 -1
  626. package/dist/types/plugin.js.map +0 -1
  627. package/dist/types/resolved.cjs.map +0 -1
  628. package/dist/types/resolved.js.map +0 -1
  629. package/dist/types/tsconfig.cjs.map +0 -1
  630. package/dist/types/tsconfig.js.map +0 -1
  631. package/dist/types/typedoc.cjs.map +0 -1
  632. package/dist/types/typedoc.js.map +0 -1
  633. package/dist/types/unplugin.cjs.map +0 -1
  634. package/dist/types/unplugin.js.map +0 -1
  635. package/dist/types/vfs.cjs.map +0 -1
  636. package/dist/types/vfs.js.map +0 -1
@@ -1 +0,0 @@
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-MAHHHINV.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/compiler\";\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 +0,0 @@
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 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/config-file.ts"],"names":["loadWorkspaceConfig","workspaceRoot","cwd","defu","getWorkspaceConfig","useDefault","loadUserConfigFile","projectRoot","jiti","command","mode","configFile","resolvedUserConfig","resolvedUserConfigFile","existsSync","joinPaths","undefined","resolved","import","esmResolve","config","isFunction","Promise","resolve","isSsrBuild","isPreview","isSetObject","result","loadConfigC12","name","envName","globalRc","packageJson","dotenv"],"mappings":";;;;;;;;;;;;;;;AAiDA,eAAsBA,mBAAAA,CACpBC,eACAC,GAAAA,EAAW;AAEX,EAAA,OAAOC,qBAAAA,CACL;AACEF,IAAAA;GACF,EACA,MAAMG,6BAAmB,IAAA,EAAM;AAC7BF,IAAAA,GAAAA;AACAD,IAAAA,aAAAA;IACAI,UAAAA,EAAY;AACd,GAAA,CAAA,CAAA;AAEJ;AAdsBL,wBAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAyBtB,eAAsBM,kBAAAA,CACpBC,WAAAA,EACAC,IAAAA,EACAC,OAAAA,EACAC,MACAC,UAAAA,EAAmB;AAEnB,EAAA,IAAIC,qBAAgD,EAAC;AAErD,EAAA,MAAMC,sBAAAA,GACJF,UAAAA,IAAcG,iBAAAA,CAAWH,UAAAA,CAAAA,GACrBA,UAAAA,GACAA,UAAAA,IAAcG,iBAAAA,CAAWC,mBAAAA,CAAUR,WAAAA,EAAaI,UAAAA,CAAAA,CAAAA,GAC9CI,oBAAUR,WAAAA,EAAaI,UAAAA,CAAAA,GACvBG,iBAAAA,CAAWC,mBAAAA,CAAUR,WAAAA,EAAa,sBAAA,CAAA,CAAA,GAChCQ,mBAAAA,CAAUR,WAAAA,EAAa,sBAAA,CAAA,GACvBO,iBAAAA,CAAWC,oBAAUR,WAAAA,EAAa,sBAAA,CAAA,CAAA,GAChCQ,mBAAAA,CAAUR,WAAAA,EAAa,sBAAA,CAAA,GACvBO,iBAAAA,CAAWC,mBAAAA,CAAUR,WAAAA,EAAa,uBAAA,CAAA,CAAA,GAChCQ,oBAAUR,WAAAA,EAAa,uBAAA,CAAA,GACvBO,iBAAAA,CAAWC,mBAAAA,CAAUR,WAAAA,EAAa,uBAAA,CAAA,CAAA,GAChCQ,mBAAAA,CAAUR,WAAAA,EAAa,uBAAA,CAAA,GACvBS,MAAAA;AAChB,EAAA,IAAIH,sBAAAA,EAAwB;AAC1B,IAAA,MAAMI,WAAW,MAAMT,IAAAA,CAAKU,OAAOV,IAAAA,CAAKW,UAAAA,CAAWN,sBAAAA,CAAAA,CAAAA;AACnD,IAAA,IAAII,QAAAA,EAAU;AACZ,MAAA,IAAIG,SAAS,EAAC;AACd,MAAA,IAAIC,qBAAAA,CAAWJ,QAAAA,CAAAA,EAAW;AACxBG,QAAAA,MAAAA,GAAS,MAAME,OAAAA,CAAQC,OAAAA,CACrBN,QAAAA,CAAS;AACPR,UAAAA,OAAAA;AACAC,UAAAA,IAAAA,EAAMA,IAAAA,IAAQ,YAAA;UACdc,UAAAA,EAAY,KAAA;UACZC,SAAAA,EAAW;AACb,SAAA,CAAA,CAAA;AAEJ,MAAA;AAEA,MAAA,IAAIC,uBAAAA,CAAYN,MAAAA,CAAAA,EAAS;AACvBR,QAAAA,kBAAAA,GAAqB;UACnB,GAAGQ,MAAAA;AACHA,UAAAA,MAAAA;UACAT,UAAAA,EAAYE;AACd,SAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AAEA,EAAA,MAAMc,MAAAA,GAAS,MAAMC,cAAAA,CAAc;IACjC1B,GAAAA,EAAKK,WAAAA;IACLsB,IAAAA,EAAM,YAAA;IACNC,OAAAA,EAASpB,IAAAA;IACTqB,QAAAA,EAAU,IAAA;IACVC,WAAAA,EAAa,IAAA;IACbC,MAAAA,EAAQ,IAAA;AACRzB,IAAAA;GACF,CAAA;AAEA,EAAA,OAAOL,qBAAAA,CACLS,kBAAAA,EACAc,uBAAAA,CAAYC,MAAAA,EAAQP,MAAAA,CAAAA,GAAU;AAAE,IAAA,GAAGO,MAAAA,CAAOP,MAAAA;IAAQ,GAAGO;AAAO,GAAA,GAAI,EAAC,CAAA;AAErE;AA9DsBrB,wBAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA","file":"chunk-MGEZC2RV.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 { getWorkspaceConfig } from \"@storm-software/config-tools/get-config\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\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 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 * @returns A promise that resolves to the resolved user configuration.\n */\nexport async function loadUserConfigFile(\n projectRoot: string,\n jiti: Jiti,\n command?: PowerlinesCommand,\n mode?: string,\n configFile?: string\n): Promise<ParsedUserConfig> {\n let resolvedUserConfig: Partial<ParsedUserConfig> = {};\n\n const resolvedUserConfigFile =\n configFile && existsSync(configFile)\n ? configFile\n : configFile && existsSync(joinPaths(projectRoot, configFile))\n ? joinPaths(projectRoot, configFile)\n : existsSync(joinPaths(projectRoot, \"powerlines.config.ts\"))\n ? joinPaths(projectRoot, \"powerlines.config.ts\")\n : existsSync(joinPaths(projectRoot, \"powerlines.config.js\"))\n ? joinPaths(projectRoot, \"powerlines.config.js\")\n : existsSync(joinPaths(projectRoot, \"powerlines.config.mts\"))\n ? joinPaths(projectRoot, \"powerlines.config.mts\")\n : existsSync(joinPaths(projectRoot, \"powerlines.config.mjs\"))\n ? joinPaths(projectRoot, \"powerlines.config.mjs\")\n : undefined;\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: mode || \"production\",\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: \"powerlines\",\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 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/build/tsup.ts"],"names":["DEFAULT_TSUP_CONFIG","DEFAULT_BUILD_OPTIONS","platform","target","config","clean","minify","sourcemap","cjsInterop","bundle","dts","shims","silent","treeshake","keepNames","splitting","banner","resolveTsupEntry","context","entryPoints","resolveESBuildEntry","extractTsupConfig","defu","alias","builtins","reduce","ret","id","path","fs","ids","noExternal","build","variant","override","name","assets","output","external","skipNodeModulesBundle","outputPath","projectRoot","tsconfig","tsconfigFilePath","tsconfigRaw","tsconfigJson","format","mode","treeShaking","undefined","metafile","projectType","logLevel","verbose"],"mappings":"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","file":"chunk-MVQSM5WM.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 { AssetGlob, Entry } from \"@storm-software/build-tools/types\";\nimport { DEFAULT_BUILD_OPTIONS } from \"@storm-software/tsup/constants\";\nimport defu from \"defu\";\nimport {\n ESBuildBuildConfig,\n TsupBuildConfig,\n TsupResolvedBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { ResolvedEntryTypeDefinition } from \"../../types/resolved\";\nimport { resolveESBuildEntry } from \"./esbuild\";\n\nexport const DEFAULT_TSUP_CONFIG: Partial<TsupBuildConfig> = {\n ...DEFAULT_BUILD_OPTIONS,\n platform: \"neutral\",\n target: \"esnext\",\n config: false,\n clean: false,\n minify: true,\n sourcemap: false,\n cjsInterop: true,\n bundle: true,\n dts: true,\n shims: true,\n silent: true,\n treeshake: true,\n keepNames: true,\n splitting: true,\n banner: {}\n};\n\n/**\n * Resolves the entry options for [tsup](https://github.com/egoist/tsup).\n *\n * @param context - The build context.\n * @param entryPoints - The entry points to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveTsupEntry(\n context: Context,\n entryPoints: ResolvedEntryTypeDefinition[] | string[]\n): Entry {\n return resolveESBuildEntry(context, entryPoints) as Entry;\n}\n\n/**\n * Resolves the options for [tsup](https://github.com/egoist/tsup).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function extractTsupConfig(context: Context): TsupResolvedBuildConfig {\n return defu(\n {\n alias: context.builtins.reduce(\n (ret, id) => {\n const path = context.fs.ids[id];\n if (path) {\n ret[id] = path;\n }\n\n return ret;\n },\n {} as Record<string, string>\n ),\n noExternal: context.builtins\n },\n context.config.build.variant === \"tsup\" ? context.config.override : {},\n {\n name: context.config.name,\n assets: context.config.output.assets as (string | AssetGlob)[],\n external: context.config.build.external,\n noExternal: context.config.build.noExternal,\n skipNodeModulesBundle: context.config.build.skipNodeModulesBundle,\n outputPath: context.config.output.outputPath,\n projectRoot: context.config.projectRoot,\n tsconfig: context.tsconfig.tsconfigFilePath,\n tsconfigRaw: context.tsconfig.tsconfigJson,\n format: context.config.output.format,\n mode: context.config.mode,\n platform: context.config.build.platform,\n treeshake:\n context.config.build.variant === \"tsup\"\n ? (context.config.build as TsupBuildConfig)?.treeshake\n : context.config.build.variant === \"tsup\"\n ? (context.config.build as ESBuildBuildConfig)?.treeShaking\n : undefined\n },\n context.config.build.variant === \"tsup\" ? context.config.build : {},\n {\n minify: context.config.mode !== \"development\",\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.mode === \"development\",\n dts: context.config.projectType !== \"application\",\n silent:\n context.config.logLevel === null ||\n context.config.mode === \"production\",\n verbose:\n context.config.logLevel === null ||\n context.config.logLevel === \"trace\" ||\n context.config.mode === \"development\"\n },\n DEFAULT_TSUP_CONFIG\n );\n}\n"]}
@@ -1 +0,0 @@
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-NANLYIUO.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/compiler\";\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 +0,0 @@
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-NE46WXNJ.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 { CompilerResult } from \"../../types/compiler\";\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): CompilerResult {\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 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/utilities/bundle.ts"],"names":["bundle","context","file","overrides","path","resolvePath","fs","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":";;;;;;AAiCA,eAAsBA,MAAAA,CACpBC,OAAAA,EACAC,IAAAA,EACAC,SAAAA,GAAiD,EAAC,EAAC;AAEnD,EAAA,MAAMC,IAAAA,GAAO,MAAMC,WAAAA,CAAYJ,OAAAA,EAASC,IAAAA,CAAAA;AACxC,EAAA,IAAI,CAACE,IAAAA,IAAQ,CAACH,QAAQK,EAAAA,CAAGC,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-ODJBZ6PS.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\";\nimport { resolvePath } from \"./resolve-path\";\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 resolvePath(context, 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 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/build/vite.ts"],"names":["DEFAULT_VITE_CONFIG","resolve","extensions","json","stringify","logLevel","clearScreen","extractViteConfig","context","defu","alias","builtins","reduce","ret","id","path","fs","ids","config","build","variant","override","external","noExternal","skipNodeModulesBundle","rootDir","sourceRoot","platform","mode","cacheDir","joinPaths","cachePath","outDir","output","outputPath","tsconfig","tsconfigFilePath","tsconfigRaw","tsconfigJson","esbuild","extractESBuildConfig","undefined","envDir","projectRoot","minify","metafile","sourcemap"],"mappings":";;;;;AAyBO,IAAMA,mBAAAA,GAAwD;EACnEC,OAAAA,EAAS;IACPC,UAAAA,EAAY;AAAC,MAAA,MAAA;AAAQ,MAAA,KAAA;AAAO,MAAA,MAAA;AAAQ,MAAA,KAAA;AAAO,MAAA,MAAA;AAAQ,MAAA,MAAA;AAAQ,MAAA;;AAC7D,GAAA;EACAC,IAAAA,EAAM;IACJC,SAAAA,EAAW;AACb,GAAA;EACAC,QAAAA,EAAU,QAAA;EACVC,WAAAA,EAAa;AACf;AAQO,SAASC,kBAAkBC,OAAAA,EAAgB;AAChD,EAAA,OAAOC,IAAAA,CACL;IACER,OAAAA,EAAS;AACPS,MAAAA,KAAAA,EAAOF,OAAAA,CAAQG,QAAAA,CAASC,MAAAA,CACtB,CAACC,KAAKC,EAAAA,KAAAA;AACJ,QAAA,MAAMC,IAAAA,GAAOP,OAAAA,CAAQQ,EAAAA,CAAGC,GAAAA,CAAIH,EAAAA,CAAAA;AAC5B,QAAA,IAAIC,IAAAA,EAAM;AACRF,UAAAA,GAAAA,CAAIC,EAAAA,CAAAA,GAAMC,IAAAA;AACZ,QAAA;AAEA,QAAA,OAAOF,GAAAA;AACT,MAAA,CAAA,EACA,EAAC;AAEL;GACF,EACAL,OAAAA,CAAQU,OAAOC,KAAAA,CAAMC,OAAAA,KAAY,SAASZ,OAAAA,CAAQU,MAAAA,CAAOG,QAAAA,GAAW,EAAC,EACrE;IACEC,QAAAA,EAAUd,OAAAA,CAAQU,OAAOC,KAAAA,CAAMG,QAAAA;IAC/BC,UAAAA,EAAYf,OAAAA,CAAQU,OAAOC,KAAAA,CAAMI,UAAAA;IACjCC,qBAAAA,EAAuBhB,OAAAA,CAAQU,OAAOC,KAAAA,CAAMK;GAC9C,EACA;AACEC,IAAAA,OAAAA,EAASjB,QAAQU,MAAAA,CAAOQ,UAAAA;IACxBC,QAAAA,EAAUnB,OAAAA,CAAQU,OAAOC,KAAAA,CAAMQ,QAAAA;AAC/BC,IAAAA,IAAAA,EACEpB,OAAAA,CAAQU,MAAAA,CAAOU,IAAAA,KAAS,aAAA,GAAgB,aAAA,GAAgB,YAAA;IAC1DC,QAAAA,EAAUC,SAAAA,CAAUtB,OAAAA,CAAQuB,SAAAA,EAAW,MAAA,CAAA;IACvCZ,KAAAA,EAAO;MACLa,MAAAA,EAAQxB,OAAAA,CAAQU,OAAOe,MAAAA,CAAOC,UAAAA;AAC9BC,MAAAA,QAAAA,EAAU3B,QAAQ2B,QAAAA,CAASC,gBAAAA;AAC3BC,MAAAA,WAAAA,EAAa7B,QAAQ2B,QAAAA,CAASG;AAChC,KAAA;AACAC,IAAAA,OAAAA,EAASC,qBAAqBhC,OAAAA,CAAAA;IAC9BH,QAAAA,EAAUG,OAAAA,CAAQU,OAAOb,QAAAA,IAAYoC,MAAAA;AACrCC,IAAAA,MAAAA,EAAQlC,QAAQU,MAAAA,CAAOyB,WAAAA;AACvBpB,IAAAA,UAAAA,EAAYf,OAAAA,CAAQG;GACtB,EACAH,OAAAA,CAAQU,OAAOC,KAAAA,CAAMC,OAAAA,KAAY,SAASZ,OAAAA,CAAQU,MAAAA,CAAOC,KAAAA,GAAQ,EAAC,EAClE;IACEA,KAAAA,EAAO;MACLyB,MAAAA,EAAQpC,OAAAA,CAAQU,OAAOU,IAAAA,KAAS,aAAA;MAChCiB,QAAAA,EAAUrC,OAAAA,CAAQU,OAAOU,IAAAA,KAAS,aAAA;MAClCkB,SAAAA,EAAWtC,OAAAA,CAAQU,OAAOU,IAAAA,KAAS;AACrC;AACF,GAAA,EACA5B,mBAAAA,CAAAA;AAEJ;AAjDgBO,MAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA","file":"chunk-OF5IJ4WG.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 { joinPaths } from \"@stryke/path/join-paths\";\nimport defu from \"defu\";\nimport { ESBuildOptions } from \"vite\";\nimport { ViteResolvedBuildConfig } from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { extractESBuildConfig } from \"./esbuild\";\n\nexport const DEFAULT_VITE_CONFIG: Partial<ViteResolvedBuildConfig> = {\n resolve: {\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"]\n },\n json: {\n stringify: true\n },\n logLevel: \"silent\",\n clearScreen: true\n};\n\n/**\n * Resolves the options for [vite](https://vitejs.dev/).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function extractViteConfig(context: Context): ViteResolvedBuildConfig {\n return defu(\n {\n resolve: {\n alias: context.builtins.reduce(\n (ret, id) => {\n const path = context.fs.ids[id];\n if (path) {\n ret[id] = path;\n }\n\n return ret;\n },\n {} as Record<string, string>\n )\n }\n },\n context.config.build.variant === \"vite\" ? context.config.override : {},\n {\n external: context.config.build.external,\n noExternal: context.config.build.noExternal,\n skipNodeModulesBundle: context.config.build.skipNodeModulesBundle\n },\n {\n rootDir: context.config.sourceRoot,\n platform: context.config.build.platform,\n mode:\n context.config.mode === \"development\" ? \"development\" : \"production\",\n cacheDir: joinPaths(context.cachePath, \"vite\"),\n build: {\n outDir: context.config.output.outputPath,\n tsconfig: context.tsconfig.tsconfigFilePath,\n tsconfigRaw: context.tsconfig.tsconfigJson\n },\n esbuild: extractESBuildConfig(context) as ESBuildOptions,\n logLevel: context.config.logLevel ?? undefined,\n envDir: context.config.projectRoot,\n noExternal: context.builtins\n },\n context.config.build.variant === \"vite\" ? context.config.build : {},\n {\n build: {\n minify: context.config.mode !== \"development\",\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.mode === \"development\"\n }\n },\n DEFAULT_VITE_CONFIG\n ) as ViteResolvedBuildConfig;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/typescript/tsconfig.ts"],"names":["getTsconfigFilePath","workspaceRoot","projectRoot","tsconfig","tsconfigFilePath","existsSync","appendPath","joinPaths","Error","findMatch","tsconfigType","types","extensions","find","type","toString","toLowerCase","some","ext","findIncludeMatch","isMatchFound","undefined","isIncludeMatchFound","getParsedTypeScriptConfig","tsconfigRaw","originalTsconfigJson","host","ts","sys","tsconfigJson","readJsonFileSync","parsedCommandLine","parseJsonConfigFileContent","defu","errors","length","errorMessage","map","error","category","code","messageText","join"],"mappings":"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","file":"chunk-OO4BIM7N.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 { existsSync } from \"@stryke/fs/exists\";\nimport { readJsonFileSync } from \"@stryke/fs/json\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { FilterPattern } from \"@stryke/types/file\";\nimport { TsConfigJson } from \"@stryke/types/tsconfig\";\nimport defu from \"defu\";\nimport ts from \"typescript\";\nimport { ParsedTypeScriptConfig, TSConfig } from \"../../types/tsconfig\";\n\n/**\n * Get the path to the tsconfig.json file.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param projectRoot - The root directory of the project.\n * @param tsconfig - The path to the tsconfig.json file.\n * @returns The absolute path to the tsconfig.json file.\n * @throws If the tsconfig.json file does not exist.\n */\nexport function getTsconfigFilePath(\n workspaceRoot: string,\n projectRoot: string,\n tsconfig = \"tsconfig.json\"\n): string {\n let tsconfigFilePath = tsconfig;\n if (!existsSync(tsconfigFilePath)) {\n tsconfigFilePath = appendPath(tsconfig, projectRoot);\n if (!existsSync(tsconfigFilePath)) {\n tsconfigFilePath = appendPath(tsconfig, workspaceRoot);\n if (!existsSync(tsconfigFilePath)) {\n tsconfigFilePath = appendPath(\n tsconfig,\n joinPaths(workspaceRoot, projectRoot)\n );\n if (!existsSync(tsconfigFilePath)) {\n throw new Error(\n `Cannot find the \\`tsconfig.json\\` configuration file at ${\n tsconfig\n }, ${appendPath(tsconfig, projectRoot)}, ${appendPath(\n tsconfig,\n workspaceRoot\n )}, or ${tsconfigFilePath}`\n );\n }\n }\n }\n }\n\n return tsconfigFilePath;\n}\n\n/**\n * Check if the TypeScript configuration type matches any of the provided types.\n *\n * @param tsconfigType - The type from the TypeScript configuration.\n * @param types - An array of type names to check against.\n * @returns True if the TypeScript configuration type matches any of the provided types, false otherwise.\n */\nexport function findMatch(\n tsconfigType: string | RegExp | null,\n types: (string | RegExp | null)[],\n extensions: string[] = [\".ts\", \".tsx\", \".d.ts\"]\n): string | RegExp | null | undefined {\n return types.find(\n type =>\n tsconfigType?.toString().toLowerCase() ===\n type?.toString().toLowerCase() ||\n tsconfigType?.toString().toLowerCase() ===\n `./${type?.toString().toLowerCase()}` ||\n `./${tsconfigType?.toString().toLowerCase()}` ===\n type?.toString().toLowerCase() ||\n extensions.some(\n ext =>\n `${tsconfigType?.toString().toLowerCase()}${ext}` ===\n type?.toString().toLowerCase() ||\n `${tsconfigType?.toString().toLowerCase()}${ext}` ===\n `./${type?.toString().toLowerCase()}` ||\n `${type?.toString().toLowerCase()}${ext}` ===\n `./${tsconfigType?.toString().toLowerCase()}` ||\n tsconfigType?.toString().toLowerCase() ===\n `${type?.toString().toLowerCase()}${ext}` ||\n tsconfigType?.toString().toLowerCase() ===\n `./${type?.toString().toLowerCase()}${ext}` ||\n type?.toString().toLowerCase() ===\n `./${tsconfigType?.toString().toLowerCase()}${ext}`\n )\n );\n}\n\n/**\n * Check if the TypeScript configuration type matches any of the provided types.\n *\n * @param tsconfigType - The type from the TypeScript configuration.\n * @param types - An array of type names to check against.\n * @returns True if the TypeScript configuration type matches any of the provided types, false otherwise.\n */\nexport function findIncludeMatch(\n tsconfigType: string | RegExp | null,\n types: (string | RegExp | null)[]\n): string | RegExp | null | undefined {\n return findMatch(tsconfigType, types, [\n \".ts\",\n \".tsx\",\n \".d.ts\",\n \".js\",\n \".jsx\",\n \".mjs\",\n \".cjs\",\n \".mts\",\n \".cts\",\n \"/*.ts\",\n \"/*.tsx\",\n \"/*.d.ts\",\n \"/*.js\",\n \"/*.jsx\",\n \"/*.mjs\",\n \"/*.cjs\",\n \"/*.mts\",\n \"/*.cts\",\n \"/**/*.ts\",\n \"/**/*.tsx\",\n \"/**/*.d.ts\",\n \"/**/*.js\",\n \"/**/*.jsx\",\n \"/**/*.mjs\",\n \"/**/*.cjs\",\n \"/**/*.mts\",\n \"/**/*.cts\"\n ]);\n}\n\n/**\n * Check if the TypeScript configuration type matches any of the provided types.\n *\n * @param tsconfigType - The type from the TypeScript configuration.\n * @param types - An array of type names to check against.\n * @returns True if the TypeScript configuration type matches any of the provided types, false otherwise.\n */\nexport function isMatchFound(\n tsconfigType: string | RegExp | null,\n types: (string | RegExp | null)[]\n): boolean {\n return findMatch(tsconfigType, types) !== undefined;\n}\n\n/**\n * Check if the TypeScript configuration type matches any of the provided types.\n *\n * @param tsconfigType - The type from the TypeScript configuration.\n * @param types - An array of type names to check against.\n * @returns True if the TypeScript configuration type matches any of the provided types, false otherwise.\n */\nexport function isIncludeMatchFound(\n tsconfigType: FilterPattern,\n types: FilterPattern[]\n): boolean {\n return (\n findIncludeMatch(\n tsconfigType as string | RegExp | null,\n types as (string | RegExp | null)[]\n ) !== undefined\n );\n}\n\n/**\n * Get the parsed TypeScript configuration.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param projectRoot - The root directory of the project.\n * @param tsconfig - The path to the tsconfig.json file.\n * @param tsconfigRaw - The raw tsconfig.json content.\n * @param originalTsconfigJson - The original tsconfig.json content.\n * @param host - The TypeScript parse config host.\n * @returns The resolved TypeScript configuration.\n */\nexport function getParsedTypeScriptConfig(\n workspaceRoot: string,\n projectRoot: string,\n tsconfig?: string,\n tsconfigRaw: TSConfig = {},\n originalTsconfigJson?: TSConfig,\n host: ts.ParseConfigHost = ts.sys\n): ParsedTypeScriptConfig {\n const tsconfigFilePath = getTsconfigFilePath(\n workspaceRoot,\n projectRoot,\n tsconfig\n );\n const tsconfigJson = readJsonFileSync<TSConfig>(tsconfigFilePath);\n if (!tsconfigJson) {\n throw new Error(\n `Cannot find the \\`tsconfig.json\\` configuration file at ${joinPaths(\n projectRoot,\n tsconfig ?? \"tsconfig.json\"\n )}`\n );\n }\n\n const parsedCommandLine = ts.parseJsonConfigFileContent(\n defu(tsconfigRaw ?? {}, tsconfigJson),\n host,\n appendPath(projectRoot, workspaceRoot)\n );\n if (parsedCommandLine.errors.length > 0) {\n const errorMessage = `Cannot parse the TypeScript compiler options. Please investigate the following issues:\n${parsedCommandLine.errors\n .map(\n error =>\n `- ${\n (error.category !== undefined && error.code\n ? `[${error.category}-${error.code}]: `\n : \"\") + error.messageText.toString()\n }`\n )\n .join(\"\\n\")}\n `;\n\n throw new Error(errorMessage);\n }\n\n return {\n ...parsedCommandLine,\n originalTsconfigJson: (originalTsconfigJson ??\n tsconfigJson) as TsConfigJson,\n tsconfigJson,\n tsconfigFilePath\n };\n}\n"]}
@@ -1,4 +0,0 @@
1
- 'use strict';
2
-
3
- //# sourceMappingURL=chunk-PEZXLKQD.cjs.map
4
- //# sourceMappingURL=chunk-PEZXLKQD.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-PEZXLKQD.cjs"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-PK6SKIKE.cjs"}
@@ -1 +0,0 @@
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,QAAAA,CAASD,IAAAA,CAAAA,EAAO;AAClB,IAAA,OAAOA,IAAAA;AACT,EAAA;AAEA,EAAA,IAAIE,WAAAA,CAAYF,IAAAA,CAAAA,IAAS,MAAA,IAAUA,IAAAA,EAAM;AACvC,IAAA,OAAOA,IAAAA,CAAKA,IAAAA;AACd,EAAA;AAEA,EAAA,OAAOA,KAAKG,QAAAA,EAAQ;AACtB;AAhBgBJ,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAwBT,SAASK,eAAeJ,IAAAA,EAA0B;AACvD,EAAA,IAAIC,QAAAA,CAASD,IAAAA,CAAAA,EAAO;AAClB,IAAA,OAAO,IAAIK,YAAYL,IAAAA,CAAAA;AACzB,EAAA;AAEA,EAAA,OAAOA,IAAAA;AACT;AANgBI,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAeT,SAASE,aAAAA,CACdN,MACAO,EAAAA,EAAU;AAEV,EAAA,MAAMC,OAAAA,GAAUR,IAAAA,IAAQS,sBAAAA,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,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA","file":"chunk-PXSRMP4E.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 { 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/compiler\";\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/build/rolldown.ts"],"names":["extractRolldownConfig","context","defu","input","globSync","toArray","config","entry","map","isString","file","flat","external","source","importer","isResolved","externalFn","build","variant","override","isFunction","id","includes","rollupOptions","undefined","noExternal","builtins","projectType","skipNodeModulesBundle","plugins","typescriptPlugin","check","tsconfig","tsconfigFilePath","aliasPlugin","entries","reduce","ret","find","e","path","fs","ids","push","replacement","getBabelInputPlugin","transform","babel","caller","name","supportsStaticESM","cwd","projectRoot","babelrc","extensions","babelHelpers","skipPreflightCheck","exclude","resolve","moduleDirectories","preferBuiltins","dtsBundlePlugin","alias","platform","cache","skipCache","joinPaths","cachePath","output","dir","outputPath","logLevel","sourcemap","mode","minify","jsx","keepNames","treeshake","format","preserveModules"],"mappings":"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","file":"chunk-Q2L3FNJO.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 {\n getBabelInputPlugin,\n RollupBabelInputPluginOptions\n} from \"@rollup/plugin-babel\";\nimport resolve from \"@rollup/plugin-node-resolve\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport defu from \"defu\";\nimport { globSync } from \"node:fs\";\nimport { aliasPlugin } from \"rolldown/experimental\";\nimport typescriptPlugin from \"rollup-plugin-typescript2\";\nimport {\n RolldownResolvedBuildConfig,\n ViteResolvedBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { dtsBundlePlugin } from \"./rollup\";\n\n/**\n * Resolves the options for [rolldown](https://rolldown.rs).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function extractRolldownConfig(\n context: Context\n): RolldownResolvedBuildConfig {\n return defu(\n {\n input: globSync(\n toArray(context.config.entry).map(entry =>\n isString(entry) ? entry : entry.file\n )\n ).flat(),\n external: (\n source: string,\n importer: string | undefined,\n isResolved: boolean\n ) => {\n const externalFn =\n context.config.build.variant === \"rollup\" &&\n context.config.override.external\n ? isFunction(context.config.override.external)\n ? context.config.override.external\n : (id: string) =>\n toArray(\n (\n context.config\n .override as Partial<RolldownResolvedBuildConfig>\n ).external\n ).includes(id)\n : context.config.build.variant === \"vite\" &&\n (context.config.override as ViteResolvedBuildConfig)?.build\n ?.rollupOptions?.external\n ? isFunction(\n (context.config.override as ViteResolvedBuildConfig)?.build\n ?.rollupOptions?.external\n )\n ? (context.config.override as ViteResolvedBuildConfig)?.build\n ?.rollupOptions?.external\n : (id: string) =>\n toArray(\n (context.config.build as ViteResolvedBuildConfig)?.build\n ?.rollupOptions?.external\n ).includes(id)\n : context.config.build.variant === \"rollup\" &&\n context.config.build.external\n ? isFunction(context.config.build.external)\n ? context.config.build.external\n : (id: string) =>\n toArray(\n (context.config.build as RolldownResolvedBuildConfig)\n .external\n ).includes(id)\n : context.config.build.variant === \"vite\" &&\n (context.config.build as ViteResolvedBuildConfig).build\n ?.rollupOptions?.external\n ? isFunction(\n (context.config.build as ViteResolvedBuildConfig).build\n ?.rollupOptions?.external\n )\n ? (context.config.build as ViteResolvedBuildConfig).build\n ?.rollupOptions?.external\n : (id: string) =>\n toArray(\n (context.config.build as ViteResolvedBuildConfig)\n ?.build?.rollupOptions?.external\n ).includes(id)\n : undefined;\n if (\n isFunction(externalFn) &&\n externalFn(source, importer, isResolved)\n ) {\n return true;\n }\n\n if (\n context.config.build.external &&\n toArray(context.config.build.external).includes(source)\n ) {\n return true;\n }\n\n if (\n context.config.build.noExternal &&\n toArray(context.config.build.noExternal).includes(source)\n ) {\n return false;\n }\n\n if (context.builtins.includes(source)) {\n return context.config.projectType !== \"application\";\n }\n\n return !context.config.build.skipNodeModulesBundle;\n },\n plugins: [\n typescriptPlugin({\n check: false,\n tsconfig: context.tsconfig.tsconfigFilePath\n }),\n aliasPlugin({\n entries: context.builtins.reduce(\n (ret, id) => {\n if (!ret.find(e => e.find === id)) {\n const path = context.fs.ids[id];\n if (path) {\n ret.push({ find: id, replacement: path });\n }\n }\n\n return ret;\n },\n [] as { find: string; replacement: string }[]\n )\n }),\n getBabelInputPlugin(\n defu(context.config.transform.babel, {\n caller: {\n name: \"powerlines\",\n supportsStaticESM: true\n },\n cwd: context.config.projectRoot,\n babelrc: false,\n extensions: [\".js\", \".jsx\", \".ts\", \".tsx\"],\n babelHelpers: \"bundled\",\n skipPreflightCheck: true,\n exclude: /node_modules/\n }) as RollupBabelInputPluginOptions\n ),\n resolve({\n moduleDirectories: [\"node_modules\"],\n preferBuiltins: true\n }),\n dtsBundlePlugin\n ]\n },\n context.config.build.variant === \"rolldown\" ||\n context.config.build.variant === \"rollup\"\n ? context.config.override\n : {},\n context.config.build.variant === \"vite\"\n ? (context.config.override as ViteResolvedBuildConfig).build\n ?.rollupOptions\n : {},\n {\n resolve: {\n alias: context.builtins.reduce(\n (ret, id) => {\n const path = context.fs.ids[id];\n if (path) {\n ret[id] = path;\n }\n\n return ret;\n },\n {} as Record<string, string>\n )\n },\n platform: context.config.build.platform,\n tsconfig: context.tsconfig.tsconfigFilePath,\n cache: !context.config.skipCache\n ? joinPaths(context.cachePath, \"rolldown\")\n : false,\n output: {\n dir: context.config.output.outputPath\n },\n logLevel: context.config.logLevel\n },\n context.config.build.variant === \"rolldown\" ||\n context.config.build.variant === \"rollup\"\n ? context.config.build\n : {},\n context.config.build.variant === \"vite\"\n ? (context.config.build as ViteResolvedBuildConfig).build\n : {},\n {\n output: {\n sourcemap: context.config.mode === \"development\"\n },\n minify: context.config.mode === \"production\"\n },\n {\n jsx: \"automatic\",\n logLevel: \"silent\",\n keepNames: true,\n treeshake: true,\n output: [\n {\n format: \"es\",\n preserveModules: true\n },\n {\n format: \"cjs\",\n preserveModules: true\n }\n ]\n }\n ) as RolldownResolvedBuildConfig;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/unplugin/plugin.ts"],"names":["createUnplugin","context","options","ctx","log","extendLog","LogLevelLabel","DEBUG","buildStart","$$internal","callHook","sequential","resolveId","id","importer","opts","isEntry","result","order","handleResolveId","skipResolve","skipNodeModulesBundle","config","build","external","noExternal","load","resolvedPath","fs","resolve","readFile","transform","code","transformed","handler","environment","selectHooks","apply","defu","omit","getString","buildFinish","writeBundle","name","filter","include","vite","sharedDuringBuild","error","FATAL","message"],"mappings":"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","file":"chunk-Q3KJZ3B5.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 { omit } from \"@stryke/helpers/omit\";\nimport defu from \"defu\";\nimport type {\n ExternalIdResult,\n TransformResult,\n UnpluginBuildContext,\n UnpluginContext,\n UnpluginFactory\n} from \"unplugin\";\nimport { PluginContext } from \"../../types/context\";\nimport { UNSAFE_PluginContext } from \"../../types/internal\";\nimport { extendLog } from \"../logger\";\nimport { getString } from \"../utilities/source-file\";\nimport { handleResolveId } from \"./resolve-id\";\n\nexport interface CreateUnpluginOptions {\n /**\n * If true, skips the plugin resolution step.\n *\n * @remarks\n * This value should be set to `true` when using a build tool that handles `external` and `noExternal` options itself (for example `tsup`).\n *\n * @defaultValue false\n */\n skipResolve?: boolean;\n}\n\n/**\n * Creates a Powerlines unplugin instance.\n *\n * @param context - The plugin context.\n * @param options - Options for creating the unplugin.\n * @returns The unplugin instance.\n */\nexport function createUnplugin<TContext extends PluginContext = PluginContext>(\n context: TContext,\n options: CreateUnpluginOptions = {}\n): UnpluginFactory<object> {\n const ctx = context as unknown as UNSAFE_PluginContext;\n\n return () => {\n const log = extendLog(ctx.log, \"unplugin\");\n log(LogLevelLabel.DEBUG, \"Initializing Unplugin\");\n\n try {\n async function buildStart(this: UnpluginBuildContext) {\n log(LogLevelLabel.DEBUG, \"Powerlines build plugin starting...\");\n\n await ctx.$$internal.callHook(\"buildStart\", {\n sequential: true\n });\n }\n\n async function resolveId(\n this: UnpluginBuildContext & UnpluginContext,\n id: string,\n importer?: string,\n opts: {\n isEntry: boolean;\n } = { isEntry: false }\n ): Promise<string | ExternalIdResult | null | undefined> {\n let result = await ctx.$$internal.callHook(\n \"resolveId\",\n {\n sequential: true,\n result: \"first\",\n order: \"pre\"\n },\n id,\n importer,\n opts\n );\n if (result) {\n return result;\n }\n\n result = await ctx.$$internal.callHook(\n \"resolveId\",\n {\n sequential: true,\n result: \"first\",\n order: \"normal\"\n },\n id,\n importer,\n opts\n );\n if (result) {\n return result;\n }\n\n result = await handleResolveId(\n ctx,\n {\n id,\n importer,\n options: opts\n },\n {\n skipResolve: options.skipResolve,\n skipNodeModulesBundle: ctx.config.build.skipNodeModulesBundle,\n external: ctx.config.build.external,\n noExternal: ctx.config.build.noExternal\n }\n );\n if (result) {\n return result;\n }\n\n return ctx.$$internal.callHook(\n \"resolveId\",\n {\n sequential: true,\n result: \"first\",\n order: \"post\"\n },\n id,\n importer,\n opts\n );\n }\n\n async function load(\n this: UnpluginBuildContext & UnpluginContext,\n id: string\n ): Promise<TransformResult | null | undefined> {\n let result = await ctx.$$internal.callHook(\n \"load\",\n {\n sequential: true,\n result: \"first\",\n order: \"pre\"\n },\n id\n );\n if (result) {\n return result;\n }\n\n result = await ctx.$$internal.callHook(\n \"load\",\n {\n sequential: true,\n result: \"first\",\n order: \"normal\"\n },\n id\n );\n if (result) {\n return result;\n }\n\n if (id) {\n const resolvedPath = ctx.fs.resolve(id);\n if (resolvedPath) {\n return ctx.fs.readFile(resolvedPath);\n }\n }\n\n return ctx.$$internal.callHook(\n \"load\",\n {\n sequential: true,\n result: \"first\",\n order: \"post\"\n },\n id\n );\n }\n\n async function transform(\n this: UnpluginBuildContext & UnpluginContext,\n code: string,\n id: string\n ): Promise<TransformResult | null | undefined> {\n let transformed: TransformResult | string = code;\n\n for (const handler of ctx.$$internal.environment.selectHooks(\n \"transform\"\n )) {\n const result: TransformResult | string | undefined =\n await handler.apply(defu(ctx, omit(this, [\"parse\"])), [\n getString(transformed),\n id\n ]);\n if (result) {\n transformed = result;\n }\n }\n\n return transformed;\n }\n\n async function buildFinish(this: UnpluginBuildContext): Promise<void> {\n log(LogLevelLabel.DEBUG, \"Powerlines build plugin finishing...\");\n\n return ctx.$$internal.callHook(\"buildFinish\", {\n sequential: true\n });\n }\n\n async function writeBundle(): Promise<void> {\n log(LogLevelLabel.DEBUG, \"Finalizing Powerlines project output...\");\n\n return ctx.$$internal.callHook(\"writeBundle\", {\n sequential: true\n });\n }\n\n return {\n name: \"powerlines\",\n resolveId: {\n filter: {\n id: {\n include: [/.*/]\n }\n },\n handler: resolveId\n },\n load: {\n filter: {\n id: {\n include: [/.*/]\n }\n },\n handler: load\n },\n transform,\n buildStart,\n buildFinish,\n writeBundle,\n vite: {\n sharedDuringBuild: true\n }\n };\n } catch (error) {\n log(LogLevelLabel.FATAL, (error as Error)?.message);\n\n throw error;\n }\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/types/commands.ts","../../src/lib/utilities/plugin-helpers.ts"],"names":["SUPPORTED_COMMANDS","isPlugin","value","isSetObject","isSetString","name","isUndefined","applyToEnvironment","isFunction","dedupe","dependsOn","Array","isArray","every","isPluginConfig","command","handler","isPluginConfigObject","plugin","options","isPluginConfigTuple","length","isPluginHookFunction","isPluginHookObject","isPluginHook","getHookHandler","pluginHook","extractPluginHook","context","hook","undefined","normal","bind","order","isHookExternal","startsWith","isHookInternal","checkDedupe","plugins","some","p","addPluginHook","hooksList","map","push"],"mappings":"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","file":"chunk-RK2VVGL6.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ArrayValues } from \"@stryke/types/array\";\nimport type { MaybePromise } from \"@stryke/types/base\";\nimport type { Context } from \"./context\";\n\nexport const SUPPORTED_COMMANDS = [\n \"new\",\n \"clean\",\n \"prepare\",\n \"lint\",\n \"test\",\n \"build\",\n \"docs\",\n \"release\",\n \"finalize\"\n] as const;\n\nexport type CommandType = ArrayValues<typeof SUPPORTED_COMMANDS>;\nexport type Commands<TContext extends Context = Context> = Record<\n CommandType,\n (this: TContext) => MaybePromise<void>\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 { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isUndefined } from \"@stryke/type-checks/is-undefined\";\nimport { AnyFunction } from \"@stryke/types/base\";\nimport { SUPPORTED_COMMANDS } from \"../../types/commands\";\nimport {\n PluginConfig,\n PluginConfigObject,\n PluginConfigTuple\n} from \"../../types/config\";\nimport { PluginContext } from \"../../types/context\";\nimport {\n BaseHookKeys,\n BaseHooksListItem,\n ExternalHookKeys,\n HookKeys\n} from \"../../types/hooks\";\nimport { Plugin, PluginHook, PluginHookObject } from \"../../types/plugin\";\nimport { ResolvedConfig } from \"../../types/resolved\";\n\n/**\n * Type guard to check if an object is a {@link Plugin}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link Plugin}, false otherwise\n */\nexport function isPlugin<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>(value: unknown): value is Plugin<PluginContext<TResolvedConfig>> {\n return (\n isSetObject(value) &&\n \"name\" in value &&\n isSetString(value.name) &&\n (isUndefined(\n (value as Plugin<PluginContext<TResolvedConfig>>).applyToEnvironment\n ) ||\n (\"applyToEnvironment\" in value &&\n isFunction(value.applyToEnvironment))) &&\n (isUndefined((value as Plugin<PluginContext<TResolvedConfig>>).dedupe) ||\n (\"dedupe\" in value && isFunction(value.dedupe))) &&\n (isUndefined((value as Plugin<PluginContext<TResolvedConfig>>).dependsOn) ||\n (\"dependsOn\" in value &&\n Array.isArray(value.dependsOn) &&\n value.dependsOn.every(isPluginConfig))) &&\n SUPPORTED_COMMANDS.every(\n command =>\n isUndefined(\n (value as Plugin<PluginContext<TResolvedConfig>>)[command]\n ) ||\n (command in value &&\n (isFunction((value as Record<string, any>)[command]) ||\n (isSetObject((value as Record<string, any>)[command]) &&\n \"handler\" in (value as Record<string, any>)[command] &&\n isFunction((value as Record<string, any>)[command].handler))))\n )\n );\n}\n\n/**\n * Type guard to check if an object is a {@link PluginConfigObject}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginConfigObject}, false otherwise\n */\nexport function isPluginConfigObject(\n value: unknown\n): value is PluginConfigObject {\n return (\n isSetObject(value) &&\n \"plugin\" in value &&\n (((isSetString(value.plugin) || isFunction(value.plugin)) &&\n \"options\" in value &&\n isSetObject(value.options)) ||\n isPlugin(value.plugin))\n );\n}\n\n/**\n * Type guard to check if an object is a {@link PluginConfigTuple}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginConfigTuple}, false otherwise\n */\nexport function isPluginConfigTuple(\n value: unknown\n): value is PluginConfigTuple {\n return (\n Array.isArray(value) &&\n (value.length === 1 || value.length === 2) &&\n (((isSetString(value[0]) || isFunction(value[0])) &&\n value.length > 1 &&\n isSetObject(value[1])) ||\n isPlugin(value[0]))\n );\n}\n\n/**\n * Type guard to check if an object is a {@link PluginConfig}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginConfig}, false otherwise\n */\nexport function isPluginConfig(value: unknown): value is PluginConfig {\n return (\n isSetString(value) ||\n isFunction(value) ||\n isPlugin(value) ||\n isPluginConfigObject(value) ||\n isPluginConfigTuple(value)\n );\n}\n\n/**\n * Type guard to check if an value is a {@link PluginHook} function\n *\n * @param value - The value to check\n * @returns True if the value is a {@link PluginHook} function, false otherwise\n */\nexport function isPluginHookFunction(value: unknown): value is AnyFunction {\n return (\n isFunction(value) ||\n (isSetObject(value) && \"handler\" in value && isFunction(value.handler))\n );\n}\n\n/**\n * Type guard to check if an value is a {@link PluginHook} function\n *\n * @param value - The value to check\n * @returns True if the value is a {@link PluginHook} function, false otherwise\n */\nexport function isPluginHookObject(\n value: unknown\n): value is PluginHookObject<AnyFunction> {\n return isSetObject(value) && \"handler\" in value && isFunction(value.handler);\n}\n\n/**\n * Type guard to check if an object is a {@link PluginHook}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginHook}, false otherwise\n */\nexport function isPluginHook(value: unknown): value is PluginHook<AnyFunction> {\n return isPluginHookFunction(value) || isPluginHookObject(value);\n}\n\n/**\n * Extract the hook handler function from a plugin hook\n *\n * @param pluginHook - The plugin hook to extract the handler function from\n * @returns The hook handler function\n */\nexport function getHookHandler(\n pluginHook: PluginHook<AnyFunction>\n): AnyFunction {\n return isFunction(pluginHook) ? pluginHook : pluginHook.handler;\n}\n\n/**\n * Extract a plugin hook from a plugin\n *\n * @param context - The build context\n * @param plugin - The plugin to extract the hook from\n * @param hook - The name of the hook to extract\n * @returns The extracted hook, or undefined if the hook does not exist\n */\nexport function extractPluginHook<\n TContext extends PluginContext = PluginContext,\n TPlugin extends Plugin<TContext> = Plugin<TContext>\n>(context: TContext, plugin: TPlugin, hook: BaseHookKeys<TContext>) {\n const pluginHook = plugin[hook];\n if (!isPluginHook(pluginHook)) {\n return undefined;\n }\n\n return isFunction(pluginHook)\n ? {\n normal: pluginHook.bind(context)\n }\n : {\n [pluginHook.order ? pluginHook.order : \"normal\"]:\n pluginHook.handler.bind(context)\n };\n}\n\n/**\n * Check if a hook is external.\n *\n * @param hook - The name of the hook to check.\n * @returns True if the hook is external, false otherwise.\n */\nexport function isHookExternal(hook: HookKeys): hook is ExternalHookKeys {\n return (\n hook.startsWith(\"vite:\") ||\n hook.startsWith(\"esbuild:\") ||\n hook.startsWith(\"rolldown:\") ||\n hook.startsWith(\"rollup:\") ||\n hook.startsWith(\"webpack:\") ||\n hook.startsWith(\"rspack:\") ||\n hook.startsWith(\"farm:\")\n );\n}\n\n/**\n * Check if a hook is internal.\n *\n * @param hook - The name of the hook to check.\n * @returns True if the hook is external, false otherwise.\n */\nexport function isHookInternal(hook: HookKeys): hook is BaseHookKeys {\n return !isHookExternal(hook);\n}\n\n/**\n * Check if a plugin should be deduplicated.\n *\n * @param plugin - The plugin to check\n * @param plugins - The list of plugins to check against\n * @returns True if the plugin should be deduplicated, false otherwise\n */\nexport function checkDedupe<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig,\n TContext extends\n PluginContext<TResolvedConfig> = PluginContext<TResolvedConfig>\n>(plugin: Plugin<TContext>, plugins: Plugin<TContext>[]) {\n return (\n plugin.dedupe === false ||\n plugins.some(\n p =>\n p.dedupe !== false &&\n ((isFunction(p.dedupe) && p.dedupe(plugin)) || p.name === plugin.name)\n )\n );\n}\n\n/**\n * Add a plugin hook to the hooks list.\n *\n * @param context - The plugin context\n * @param plugin - The plugin to add the hook from\n * @param pluginHook - The plugin hook to add\n * @param hooksList - The list of hooks to add to\n */\nexport function addPluginHook<TContext extends PluginContext = PluginContext>(\n context: TContext,\n plugin: Plugin<TContext>,\n pluginHook: PluginHook<AnyFunction>,\n hooksList: BaseHooksListItem<TContext, BaseHookKeys<TContext>>[]\n) {\n if (\n !checkDedupe(\n plugin,\n hooksList.map(hook => hook.plugin)\n )\n ) {\n hooksList.push(\n isFunction(pluginHook)\n ? {\n plugin,\n handler: getHookHandler(pluginHook).bind(context)\n }\n : {\n plugin,\n ...pluginHook,\n handler: getHookHandler(pluginHook).bind(context)\n }\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/typescript/program.ts"],"names":["SourcesMap","Map","loadLibFiles","libLocation","resolvePackage","Error","libFiles","listFiles","joinPaths","length","lib","file","set","findFileName","readFile","getDefaultCompilerOptions","ts","jsx","JsxEmit","React","strict","esModuleInterop","module","ModuleKind","ESNext","suppressOutputPathCheck","skipLibCheck","skipDefaultLibCheck","moduleResolution","ModuleResolutionKind","Node10","createVirtualProgram","rootNames","context","compilerOptions","options","defu","host","name","root","workspaceConfig","workspaceRoot","sys","realpath","path","fs","existsSync","resolve","getCurrentDirectory","getCanonicalFileName","fileName","getDefaultLibFileName","_options","getDefaultLibLocation","getNewLine","useCaseSensitiveFileNames","fileExists","readFileSync","undefined","readDirectory","__name","extensions","exclude","include","results","readdirSync","encoding","recursive","filter","some","ext","endsWith","startsWith","pattern","minimatch","writeFile","data","writeFileSync","resolvePath","getSourceFile","languageVersionOrOptions","_","shouldCreateNewSourceFile","createSourceFile","target","sourceFile","text","createProgram","createVirtualCompilerHost","compilerHost","newLine","resolved","updateFile","alreadyExists","deleteFile"],"mappings":";;;;;;;;;;;;;;;;;AA4BO,IAAMA,UAAAA,GAAaC;AAI1B,eAAsBC,YAAAA,GAAAA;AACpB,EAAA,MAAMC,WAAAA,GAAc,MAAMC,sBAAAA,CAAe,YAAA,CAAA;AACzC,EAAA,IAAI,CAACD,WAAAA,EAAa;AAChB,IAAA,MAAM,IAAIE,MAAM,gDAAA,CAAA;AAClB,EAAA;AAEA,EAAA,MAAMC,QAAAA,GAAW,MAAMC,mBAAAA,CACrBC,mBAAAA,CAAUL,aAAa,KAAA,EAAO,IAAA,EAAM,YAAA,CAAA,CAAA;AAEtC,EAAA,IAAIG,QAAAA,CAASG,WAAW,CAAA,EAAG;AACzB,IAAA,MAAM,IAAIJ,MAAM,oCAAA,CAAA;AAClB,EAAA;AAEA,EAAA,MAAMK,GAAAA,uBAAsBT,GAAAA,EAAAA;AAC5B,EAAA,KAAA,MAAWU,QAAQL,QAAAA,EAAU;AAC3BI,IAAAA,GAAAA,CAAIE,GAAAA,CACF,gCAAgCC,wBAAAA,CAAaF,IAAAA,CAAAA,CAAAA,CAAAA,EAC7C,MAAMG,iBAAAA,CAASH,IAAAA,CAAAA,CAAAA;AAEnB,EAAA;AAEA,EAAA,OAAOD,GAAAA;AACT;AAtBsBR,wBAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAyBf,SAASa,yBAAAA,GAAAA;AACd,EAAA,OAAO;AACL,IAAA,GAAGC,oBAAGD,yBAAAA,EAAyB;AAC/BE,IAAAA,GAAAA,EAAKD,oBAAGE,OAAAA,CAAQC,KAAAA;IAChBC,MAAAA,EAAQ,IAAA;IACRC,eAAAA,EAAiB,IAAA;AACjBC,IAAAA,MAAAA,EAAQN,oBAAGO,UAAAA,CAAWC,MAAAA;IACtBC,uBAAAA,EAAyB,IAAA;IACzBC,YAAAA,EAAc,IAAA;IACdC,mBAAAA,EAAqB,IAAA;AACrBC,IAAAA,gBAAAA,EAAkBZ,oBAAGa,oBAAAA,CAAqBC;AAC5C,GAAA;AACF;AAZgBf,wBAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAuBhB,eAAsBgB,oBAAAA,CACpBC,SAAAA,EACAC,OAAAA,EACAC,eAAAA,GAAsC,EAAC,EAAC;AAExC,EAAA,MAAMC,OAAAA,GAAUC,qBAAAA,CAAKF,eAAAA,EAAiBnB,yBAAAA,EAAAA,CAAAA;AAEtC,EAAA,MAAMsB,IAAAA,GAAO;IACXC,IAAAA,EAAM,WAAA;AACNC,IAAAA,IAAAA,EAAMN,QAAQO,eAAAA,CAAgBC,aAAAA;AAC9B,IAAA,GAAGzB,mBAAAA,CAAG0B,GAAAA;AACNC,IAAAA,QAAAA,4CAAWC,IAAAA,KAAAA;AACT,MAAA,IAAIX,OAAAA,CAAQY,EAAAA,CAAGC,UAAAA,CAAWF,IAAAA,CAAAA,EAAO;AAC/B,QAAA,OAAOX,OAAAA,CAAQY,EAAAA,CAAGE,OAAAA,CAAQH,IAAAA,CAAAA;AAC5B,MAAA;AAEA,MAAA,OAAO5B,mBAAAA,CAAG0B,GAAAA,CAAIC,QAAAA,GAAWC,IAAAA,CAAAA,IAASA,IAAAA;IACpC,CAAA,EANU,UAAA,CAAA;IAOVI,mBAAAA,GAAAA;AACE,MAAA,OAAOf,QAAQO,eAAAA,CAAgBC,aAAAA;AACjC,IAAA,CAAA;AACAQ,IAAAA,oBAAAA,CAAqBC,QAAAA,EAAgB;AACnC,MAAA,OAAOA,QAAAA;AACT,IAAA,CAAA;AACAC,IAAAA,qBAAAA,CAAsBC,QAAAA,EAA4B;AAChD,MAAA,OAAOpC,mBAAAA,CAAGmC,sBAAsBhB,OAAAA,CAAAA;AAClC,IAAA,CAAA;IACAkB,qBAAAA,GAAAA;AACE,MAAA,OAAO,GAAA;AACT,IAAA,CAAA;IACAC,UAAAA,GAAAA;AACE,MAAA,OAAO,IAAA;AACT,IAAA,CAAA;IACAC,yBAAAA,GAAAA;AACE,MAAA,OAAO,IAAA;AACT,IAAA,CAAA;AACAC,IAAAA,UAAAA,CAAWN,QAAAA,EAAgB;AACzB,MAAA,OAAOjB,OAAAA,CAAQY,EAAAA,CAAGC,UAAAA,CAAWI,QAAAA,CAAAA;AAC/B,IAAA,CAAA;AACApC,IAAAA,QAAAA,CAASoC,QAAAA,EAAgB;AACvB,MAAA,IAAIjB,OAAAA,CAAQY,EAAAA,CAAGC,UAAAA,CAAWI,QAAAA,CAAAA,EAAW;AACnC,QAAA,OAAOjB,OAAAA,CAAQY,EAAAA,CAAGY,YAAAA,CAAaP,QAAAA,CAAAA;AACjC,MAAA;AAEA,MAAA,OAAOQ,MAAAA;AACT,IAAA,CAAA;IACAC,aAAAA,kBAAeC,wBAAA,CAAA,CACbhB,IAAAA,EACAiB,UAAAA,GAAgC,EAAA,EAChCC,UAA6B,EAAA,EAC7BC,OAAAA,GAA6B,EAAA,KAAE;AAE/B,MAAA,IAAIC,UAAU,EAAA;AACd,MAAA,IAAI/B,OAAAA,CAAQY,EAAAA,CAAGC,UAAAA,CAAWF,IAAAA,CAAAA,EAAO;AAC/BoB,QAAAA,OAAAA,GAAU/B,OAAAA,CAAQY,EAAAA,CAAGoB,WAAAA,CAAYrB,IAAAA,EAAM;UACrCsB,QAAAA,EAAU,MAAA;UACVC,SAAAA,EAAW;SACb,CAAA;AAEA,QAAA,IAAIN,UAAAA,CAAWpD,SAAS,CAAA,EAAG;AACzBuD,UAAAA,OAAAA,GAAUA,QAAQI,MAAAA,CAAOzD,CAAAA,SACvBkD,UAAAA,CAAWQ,IAAAA,CAAKC,CAAAA,GAAAA,KACd3D,IAAAA,CAAK4D,SAASD,GAAAA,CAAIE,UAAAA,CAAW,GAAA,CAAA,GAAOF,GAAAA,GAAM,IAAIA,GAAAA,CAAAA,CAAK,CAAA,CAAA,CAAA;AAGzD,QAAA;AAEA,QAAA,IAAIR,OAAAA,CAAQrD,SAAS,CAAA,EAAG;AACtBuD,UAAAA,OAAAA,GAAUA,OAAAA,CAAQI,MAAAA,CAChBzD,CAAAA,IAAAA,KAAQ,CAACmD,OAAAA,CAAQO,IAAAA,CAAKI,CAAAA,OAAAA,KAAWC,mBAAAA,CAAU/D,IAAAA,EAAM8D,OAAAA,CAAAA,CAAAA,CAAAA;AAErD,QAAA;AAEA,QAAA,IAAIV,OAAAA,CAAQtD,SAAS,CAAA,EAAG;AACtBuD,UAAAA,OAAAA,GAAUA,OAAAA,CAAQI,MAAAA,CAAOzD,CAAAA,IAAAA,KACvBoD,OAAAA,CAAQM,IAAAA,CAAKI,CAAAA,OAAAA,KAAWC,mBAAAA,CAAU/D,IAAAA,EAAM8D,OAAAA,CAAAA,CAAAA,CAAAA;AAE5C,QAAA;AACF,MAAA;AAEA,MAAA,OAAOT,OAAAA;IACT,CAAA,EAnCe,eAAA,CAAA;AAoCfW,IAAAA,SAAAA,CAAUzB,UAAkB0B,IAAAA,EAAY;AACtC3C,MAAAA,OAAAA,CAAQY,EAAAA,CAAGgC,aAAAA,CAAc3B,QAAAA,EAAU0B,IAAAA,CAAAA;AACrC,IAAA,CAAA;AACAE,IAAAA,WAAAA,4CAAc5B,QAAAA,KAAAA;AACZ,MAAA,IAAIjB,OAAAA,CAAQY,EAAAA,CAAGC,UAAAA,CAAWI,QAAAA,CAAAA,EAAW;AACnC,QAAA,OAAOjB,OAAAA,CAAQY,EAAAA,CAAGE,OAAAA,CAAQG,QAAAA,CAAAA;AAC5B,MAAA;AAEA,MAAA,OAAOlC,mBAAAA,CAAG0B,GAAAA,CAAIoC,WAAAA,CAAY5B,QAAAA,CAAAA;IAC5B,CAAA,EANa,aAAA,CAAA;IAOb6B,aAAAA,CACE7B,QAAAA,EACA8B,wBAAAA,EACAC,CAAAA,EACAC,yBAAAA,EAAmC;AAEnC,MAAA,IAAIjD,OAAAA,CAAQY,EAAAA,CAAGC,UAAAA,CAAWI,QAAAA,CAAAA,EAAW;AACnC,QAAA,OAAOlC,mBAAAA,CAAGmE,gBAAAA,CACRjC,QAAAA,EACAjB,OAAAA,CAAQY,GAAGY,YAAAA,CAAaP,QAAAA,CAAAA,EACxB8B,wBAAAA,IACE9C,eAAAA,CAAgBkD,MAAAA,IAChBrE,yBAAAA,EAAAA,CAA4BqE,QAC9B,KAAA,CAAA;AAEJ,MAAA,CAAA,MAAA,IAAWF,yBAAAA,EAA2B;AACpC,QAAA,MAAMG,UAAAA,GAAarE,mBAAAA,CAAGmE,gBAAAA,CACpBjC,QAAAA,EACA,EAAA,EACA8B,wBAAAA,IACE9C,eAAAA,CAAgBkD,MAAAA,IAChBrE,yBAAAA,EAAAA,CAA4BqE,MAAAA,EAC9B,KAAA,CAAA;AAEFnD,QAAAA,OAAAA,CAAQY,EAAAA,CAAGgC,aAAAA,CAAc3B,QAAAA,EAAUmC,UAAAA,CAAWC,IAAI,CAAA;AAClD,QAAA,OAAOD,UAAAA;AACT,MAAA;AAEA,MAAA,OAAO3B,MAAAA;AACT,IAAA;AACF,GAAA;AAEA,EAAA,OAAO1C,mBAAAA,CAAGuE,aAAAA,CAAcvD,SAAAA,EAAWG,OAAAA,EAASE,IAAAA,CAAAA;AAC9C;AA7HsBN,wBAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AA0If,SAASyD,yBAAAA,CACdvD,OAAAA,EACAS,GAAAA,EACAR,eAAAA,EAAmC;AAEnC,EAAA,OAAO;IACLuD,YAAAA,EAAc;MACZ,GAAG/C,GAAAA;MACHO,oBAAAA,kBAAsBC,wBAAAA,CAAAA,CAAAA,aAAYA,QAAAA,EAAZA,sBAAAA,CAAAA;AACtBC,MAAAA,qBAAAA,iDACE,CAAA,CAAA,EAAInC,mBAAAA,CAAGmC,qBAAAA,CAAsBjB,eAAAA,CAAAA,CAAAA,CAAAA,EADR,uBAAA,CAAA;;MAGvBoB,UAAAA,kBAAYM,wBAAA,CAAA,MAAMlB,IAAIgD,OAAAA,EAAV,YAAA,CAAA;MACZX,aAAAA,kBAAenB,wBAAA,CAAA,CACbV,UACA8B,wBAAAA,KAAAA;AAEA,QAAA,MAAMW,QAAAA,GAAW1D,OAAAA,CAAQY,EAAAA,CAAGE,OAAAA,CAAQG,QAAAA,CAAAA;AACpC,QAAA,IAAIyC,QAAAA,IAAY1D,OAAAA,CAAQY,EAAAA,CAAGC,UAAAA,CAAW6C,QAAAA,CAAAA,EAAW;AAC/C,UAAA,OAAO1D,OAAAA,CAAQY,EAAAA,CAAGY,YAAAA,CAAakC,QAAAA,CAAAA;AACjC,QAAA;AAEA,QAAA,OAAO3E,mBAAAA,CAAGmE,gBAAAA,CACRjC,QAAAA,EACAR,GAAAA,CAAI5B,QAAAA,CAASoC,QAAAA,CAAAA,EACb8B,wBAAAA,IAA4B9C,eAAAA,CAAgBkD,MAAAA,EAC5C,KAAA,CAAA;MAEJ,CAAA,EAfe,eAAA,CAAA;MAgBf7B,yBAAAA,kBAA2BK,wBAAA,CAAA,MAAMlB,IAAIa,yBAAAA,EAAV,2BAAA;AAC7B,KAAA;AACAqC,IAAAA,UAAAA,4CAAYP,UAAAA,KAAAA;AACV,MAAA,MAAMQ,aAAAA,GAAgB5D,OAAAA,CAAQY,EAAAA,CAAGC,UAAAA,CAAWuC,WAAWnC,QAAQ,CAAA;AAC/DR,MAAAA,GAAAA,CAAIiC,SAAAA,CAAUU,UAAAA,CAAWnC,QAAAA,EAAUmC,UAAAA,CAAWC,IAAI,CAAA;AAClD,MAAA,OAAOO,aAAAA;IACT,CAAA,EAJYR,YAAAA,CAAAA;AAKZS,IAAAA,UAAAA,4CAAYT,UAAAA,KAAAA;AACV,MAAA,MAAMQ,aAAAA,GAAgB5D,OAAAA,CAAQY,EAAAA,CAAGC,UAAAA,CAAWuC,WAAWnC,QAAQ,CAAA;AAC/DR,MAAAA,GAAAA,CAAIoD,UAAAA,CAAYT,WAAWnC,QAAQ,CAAA;AACnC,MAAA,OAAO2C,aAAAA;IACT,CAAA,EAJYR,YAAAA;AAKd,GAAA;AACF;AA1CgBG,wBAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA","file":"chunk-RLMEYZ5I.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 { listFiles } from \"@stryke/fs/list-files\";\nimport { readFile } from \"@stryke/fs/read-file\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport defu from \"defu\";\nimport { minimatch } from \"minimatch\";\nimport ts, { CompilerOptions } from \"typescript\";\nimport { Context } from \"../../types/context\";\n\nexport const SourcesMap = Map<string, string>;\n// eslint-disable-next-line ts/no-redeclare\nexport type SourcesMap = InstanceType<typeof SourcesMap>;\n\nexport async function loadLibFiles(): Promise<SourcesMap> {\n const libLocation = await resolvePackage(\"typescript\");\n if (!libLocation) {\n throw new Error(\"Could not resolve TypeScript package location.\");\n }\n\n const libFiles = await listFiles(\n joinPaths(libLocation, \"lib\", \"**\", \"lib.*.d.ts\")\n );\n if (libFiles.length === 0) {\n throw new Error(\"No TypeScript library files found.\");\n }\n\n const lib: SourcesMap = new Map();\n for (const file of libFiles) {\n lib.set(\n `/node_modules/typescript/lib/${findFileName(file)}`,\n await readFile(file)\n );\n }\n\n return lib;\n}\n\n/** The default compiler options if TypeScript could ever change the compiler options */\nexport function getDefaultCompilerOptions(): CompilerOptions {\n return {\n ...ts.getDefaultCompilerOptions(),\n jsx: ts.JsxEmit.React,\n strict: true,\n esModuleInterop: true,\n module: ts.ModuleKind.ESNext,\n suppressOutputPathCheck: true,\n skipLibCheck: true,\n skipDefaultLibCheck: true,\n moduleResolution: ts.ModuleResolutionKind.Node10\n };\n}\n\n/**\n * Creates a TypeScript program from in-memory, virtual source files.\n *\n * @param rootNames - An array of root file names to include in the program.\n * @param context - The context containing options and environment paths.\n * @param compilerOptions - Optional TypeScript compiler options. Defaults to the standard TypeScript options\n * @returns A TypeScript program instance that can be used for type checking, emitting, etc.\n * @throws If the provided library files are not in the expected format or if the TypeScript package cannot be resolved.\n */\nexport async function createVirtualProgram(\n rootNames: readonly string[],\n context: Context,\n compilerOptions: ts.CompilerOptions = {}\n): Promise<ts.Program> {\n const options = defu(compilerOptions, getDefaultCompilerOptions());\n\n const host = {\n name: \"storm-vfs\",\n root: context.workspaceConfig.workspaceRoot,\n ...ts.sys,\n realpath: (path: string) => {\n if (context.fs.existsSync(path)) {\n return context.fs.resolve(path);\n }\n\n return ts.sys.realpath?.(path) ?? path;\n },\n getCurrentDirectory(): string {\n return context.workspaceConfig.workspaceRoot;\n },\n getCanonicalFileName(fileName: string): string {\n return fileName;\n },\n getDefaultLibFileName(_options: ts.CompilerOptions): string {\n return ts.getDefaultLibFileName(options);\n },\n getDefaultLibLocation(): string {\n return \"/\";\n },\n getNewLine(): string {\n return \"\\n\";\n },\n useCaseSensitiveFileNames(): boolean {\n return true;\n },\n fileExists(fileName: string): boolean {\n return context.fs.existsSync(fileName);\n },\n readFile(fileName: string): string | undefined {\n if (context.fs.existsSync(fileName)) {\n return context.fs.readFileSync(fileName);\n }\n\n return undefined;\n },\n readDirectory: (\n path: string,\n extensions: readonly string[] = [],\n exclude: readonly string[] = [],\n include: readonly string[] = []\n ) => {\n let results = [] as string[];\n if (context.fs.existsSync(path)) {\n results = context.fs.readdirSync(path, {\n encoding: \"utf8\",\n recursive: true\n });\n\n if (extensions.length > 0) {\n results = results.filter(file =>\n extensions.some(ext =>\n file.endsWith(ext.startsWith(\".\") ? ext : `.${ext}`)\n )\n );\n }\n\n if (exclude.length > 0) {\n results = results.filter(\n file => !exclude.some(pattern => minimatch(file, pattern))\n );\n }\n\n if (include.length > 0) {\n results = results.filter(file =>\n include.some(pattern => minimatch(file, pattern))\n );\n }\n }\n\n return results;\n },\n writeFile(fileName: string, data: string): void {\n context.fs.writeFileSync(fileName, data);\n },\n resolvePath: (fileName: string): string => {\n if (context.fs.existsSync(fileName)) {\n return context.fs.resolve(fileName) as string;\n }\n\n return ts.sys.resolvePath(fileName);\n },\n getSourceFile(\n fileName: string,\n languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions,\n _?: (message: string) => void,\n shouldCreateNewSourceFile?: boolean\n ): ts.SourceFile | undefined {\n if (context.fs.existsSync(fileName)) {\n return ts.createSourceFile(\n fileName,\n context.fs.readFileSync(fileName)!,\n languageVersionOrOptions ??\n compilerOptions.target ??\n getDefaultCompilerOptions().target!,\n false\n );\n } else if (shouldCreateNewSourceFile) {\n const sourceFile = ts.createSourceFile(\n fileName,\n \"\",\n languageVersionOrOptions ??\n compilerOptions.target ??\n getDefaultCompilerOptions().target!,\n false\n );\n context.fs.writeFileSync(fileName, sourceFile.text);\n return sourceFile;\n }\n\n return undefined;\n }\n } as ts.CompilerHost;\n\n return ts.createProgram(rootNames, options, host);\n}\n\ninterface VirtualCompilerHostReturn {\n compilerHost: ts.CompilerHost;\n updateFile: (sourceFile: ts.SourceFile) => boolean;\n deleteFile: (sourceFile: ts.SourceFile) => boolean;\n}\n\n/**\n * Creates an in-memory CompilerHost -which is essentially an extra wrapper to System\n * which works with TypeScript objects - returns both a compiler host, and a way to add new SourceFile\n * instances to the in-memory file system.\n */\nexport function createVirtualCompilerHost(\n context: Context,\n sys: ts.System,\n compilerOptions: ts.CompilerOptions\n) {\n return {\n compilerHost: {\n ...sys,\n getCanonicalFileName: fileName => fileName,\n getDefaultLibFileName: () =>\n `/${ts.getDefaultLibFileName(compilerOptions)}`, // '/lib.d.ts',\n // getDefaultLibLocation: () => '/',\n getNewLine: () => sys.newLine,\n getSourceFile: (\n fileName: string,\n languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions\n ) => {\n const resolved = context.fs.resolve(fileName);\n if (resolved && context.fs.existsSync(resolved)) {\n return context.fs.readFileSync(resolved);\n }\n\n return ts.createSourceFile(\n fileName,\n sys.readFile(fileName)!,\n languageVersionOrOptions ?? compilerOptions.target,\n false\n );\n },\n useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames\n },\n updateFile: sourceFile => {\n const alreadyExists = context.fs.existsSync(sourceFile.fileName);\n sys.writeFile(sourceFile.fileName, sourceFile.text);\n return alreadyExists;\n },\n deleteFile: sourceFile => {\n const alreadyExists = context.fs.existsSync(sourceFile.fileName);\n sys.deleteFile!(sourceFile.fileName);\n return alreadyExists;\n }\n } as VirtualCompilerHostReturn;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/utilities/write-file.ts"],"names":["writeFile","log","filepath","content","skipFormat","writeFileBase","config","resolveConfig","formatted","format","error","LogLevelLabel","ERROR","message"],"mappings":";;;;;;;AA+BA,eAAsBA,SAAAA,CACpBC,GAAAA,EACAC,QAAAA,EACAC,OAAAA,EACAC,aAAa,KAAA,EAAK;AAElB,EAAA,IAAI;AACF,IAAA,IAAIA,UAAAA,EAAY;AACd,MAAA,MAAMC,qBAAAA,CAAcH,UAAUC,OAAAA,CAAAA;IAChC,CAAA,MAAO;AACL,MAAA,MAAMG,MAAAA,GAAS,MAAMC,sBAAAA,CAAcL,QAAAA,CAAAA;AACnC,MAAA,MAAMM,SAAAA,GAAY,MAAMC,eAAAA,CAAON,OAAAA,EAAS;AACtC,QAAA,GAAIG,UAAU,EAAC;AACfJ,QAAAA;OACF,CAAA;AAEA,MAAA,MAAMG,qBAAAA,CAAcH,QAAAA,EAAUM,SAAAA,IAAa,EAAA,CAAA;AAC7C,IAAA;AACF,EAAA,CAAA,CAAA,OAASE,KAAAA,EAAO;AACdT,IAAAA,GAAAA,CACEU,mBAAAA,CAAcC,KAAAA,EACd,CAAA,qBAAA,EAAwBV,QAAAA,CAAAA;AAAuBQ,EAAAA,KAAAA,EAAiBG,OAAAA,GAAWH,KAAAA,CAAgBG,OAAAA,GAAU,EAAA,CAAA,CAAI,CAAA;AAE7G,EAAA;AACF;AAxBsBb,wBAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA","file":"chunk-RQICHHZM.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 { writeFile as writeFileBase } from \"@stryke/fs/write-file\";\nimport { format, resolveConfig } from \"prettier\";\nimport type { LogFn } from \"../../types/config\";\n\n/**\n * Writes and formats a file to the file system\n *\n * @param log - The logging function to use for logging errors\n * @param filepath - The file path to write the file\n * @param content - The content to write to the file\n * @param skipFormat - Should the plugin skip formatting the `content` string with Prettier\n */\nexport async function writeFile(\n log: LogFn,\n filepath: string,\n content: string,\n skipFormat = false\n) {\n try {\n if (skipFormat) {\n await writeFileBase(filepath, content);\n } else {\n const config = await resolveConfig(filepath);\n const formatted = await format(content, {\n ...(config ?? {}),\n filepath\n });\n\n await writeFileBase(filepath, formatted || \"\");\n }\n } catch (error) {\n log(\n LogLevelLabel.ERROR,\n `Failed to write file ${filepath} to disk \\n${(error as Error)?.message ? (error as Error).message : \"\"}`\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/utilities/resolve-path.ts"],"names":["resolvePath","context","file","path","fs","resolve","existsSync","joinPaths","workspaceConfig","workspaceRoot","config","projectRoot","resolvePackage","paths"],"mappings":";;;;AA6BA,eAAsBA,WAAAA,CACpBC,SACAC,IAAAA,EAAY;AAEZ,EAAA,IAAIC,IAAAA,GAAOF,OAAAA,CAAQG,EAAAA,CAAGC,OAAAA,CAAQH,IAAAA,CAAAA;AAC9B,EAAA,IAAIC,IAAAA,EAAM;AACR,IAAA,OAAOA,IAAAA;AACT,EAAA;AAEAA,EAAAA,IAAAA,GAAOD,IAAAA;AACP,EAAA,IAAID,OAAAA,CAAQG,EAAAA,CAAGE,UAAAA,CAAWH,IAAAA,CAAAA,EAAO;AAC/B,IAAA,OAAOA,IAAAA;AACT,EAAA;AAEAA,EAAAA,IAAAA,GAAOI,SAAAA,CAAUN,OAAAA,CAAQO,eAAAA,CAAgBC,aAAAA,EAAeP,IAAAA,CAAAA;AACxD,EAAA,IAAID,OAAAA,CAAQG,EAAAA,CAAGE,UAAAA,CAAWH,IAAAA,CAAAA,EAAO;AAC/B,IAAA,OAAOA,IAAAA;AACT,EAAA;AAEAA,EAAAA,IAAAA,GAAOI,UACLN,OAAAA,CAAQO,eAAAA,CAAgBC,eACxBR,OAAAA,CAAQS,MAAAA,CAAOC,aACfT,IAAAA,CAAAA;AAEF,EAAA,IAAID,OAAAA,CAAQG,EAAAA,CAAGE,UAAAA,CAAWH,IAAAA,CAAAA,EAAO;AAC/B,IAAA,OAAOA,IAAAA;AACT,EAAA;AAEAA,EAAAA,IAAAA,GAAOI,SAAAA,CAAUN,OAAAA,CAAQS,MAAAA,CAAOC,WAAAA,EAAaT,IAAAA,CAAAA;AAC7C,EAAA,IAAID,OAAAA,CAAQG,EAAAA,CAAGE,UAAAA,CAAWH,IAAAA,CAAAA,EAAO;AAC/B,IAAA,OAAOA,IAAAA;AACT,EAAA;AAEA,EAAA,OAAOS,eAAeV,IAAAA,EAAM;IAC1BW,KAAAA,EAAO;AACLZ,MAAAA,OAAAA,CAAQO,eAAAA,CAAgBC,aAAAA;AACxBF,MAAAA,SAAAA,CACEN,OAAAA,CAAQO,eAAAA,CAAgBC,aAAAA,EACxBR,OAAAA,CAAQS,OAAOC,WAAW;;GAGhC,CAAA;AACF;AA1CsBX,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA","file":"chunk-RXQWNSZX.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 { resolvePackage } from \"@stryke/fs/resolve\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport type { Context } from \"../../types/context\";\n\n/**\n * Resolves the path of a file in the workspace or project root.\n *\n * @param context - The context object containing the environment paths.\n * @param file - The file path to resolve.\n * @returns A promise that resolves to the resolved path.\n */\nexport async function resolvePath(\n context: Context,\n file: string\n): Promise<string | undefined> {\n let path = context.fs.resolve(file);\n if (path) {\n return path;\n }\n\n path = file;\n if (context.fs.existsSync(path)) {\n return path;\n }\n\n path = joinPaths(context.workspaceConfig.workspaceRoot, file);\n if (context.fs.existsSync(path)) {\n return path;\n }\n\n path = joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot,\n file\n );\n if (context.fs.existsSync(path)) {\n return path;\n }\n\n path = joinPaths(context.config.projectRoot, file);\n if (context.fs.existsSync(path)) {\n return path;\n }\n\n return resolvePackage(file, {\n paths: [\n context.workspaceConfig.workspaceRoot,\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot\n )\n ]\n });\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/entry.ts"],"names":["resolveEntryInputFile","context","typeDefinition","replacePath","file","joinPaths","workspaceConfig","workspaceRoot","config","projectRoot","resolveEntryInput","name","resolveEntryOutput","sourceRoot","replace","findFileExtensionSafe","resolveEntry","input","output","resolveEntries","typeDefinitions","Promise","all","map","parsed","parseTypeDefinition","listFiles","appendPath","flat","filter","Boolean","resolveEntriesSync","listFilesSync","resolveVirtualEntry","resolved","artifactsPath","murmurhash","maxLength","replaceAll","getUniqueEntries","entries","getUniqueBy","toArray","item","isSetString"],"mappings":"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","file":"chunk-STAKGAWR.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 { parseTypeDefinition } from \"@stryke/convert/parse-type-definition\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { listFiles, listFilesSync } from \"@stryke/fs/list-files\";\nimport { murmurhash } from \"@stryke/hash/murmurhash\";\nimport { getUniqueBy } from \"@stryke/helpers/get-unique\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { findFileExtensionSafe } from \"@stryke/path/file-path-fns\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replacePath } from \"@stryke/path/replace\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type {\n TypeDefinition,\n TypeDefinitionParameter\n} from \"@stryke/types/configuration\";\nimport type { Context } from \"../types/context\";\nimport { ResolvedEntryTypeDefinition } from \"../types/resolved\";\n\nexport function resolveEntryInputFile(\n context: Context,\n typeDefinition: TypeDefinition\n): string {\n return replacePath(\n typeDefinition.file,\n joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot)\n );\n}\n\nexport function resolveEntryInput(\n context: Context,\n typeDefinition: TypeDefinition\n): TypeDefinition {\n return {\n file: resolveEntryInputFile(context, typeDefinition),\n name: typeDefinition.name\n };\n}\n\nexport function resolveEntryOutput(\n context: Context,\n typeDefinition: TypeDefinition\n): string {\n return joinPaths(\n replacePath(\n replacePath(\n replacePath(\n replacePath(\n typeDefinition.file,\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.sourceRoot\n )\n ),\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot\n )\n ),\n context.config.sourceRoot\n ),\n context.config.projectRoot\n )\n ).replace(`.${findFileExtensionSafe(typeDefinition.file)}`, \"\");\n}\n\nexport function resolveEntry(\n context: Context,\n typeDefinition: TypeDefinition\n): ResolvedEntryTypeDefinition {\n const input = resolveEntryInput(context, typeDefinition);\n\n return {\n ...input,\n input,\n output: resolveEntryOutput(context, typeDefinition)\n };\n}\n\n/**\n * Resolves multiple type definitions into their corresponding resolved entry type definitions.\n *\n * @param context - The current context\n * @param typeDefinitions - The type definitions to resolve.\n * @returns A promise that resolves to an array of resolved entry type definitions.\n */\nexport async function resolveEntries(\n context: Context,\n typeDefinitions: TypeDefinitionParameter[]\n): Promise<ResolvedEntryTypeDefinition[]> {\n return (\n await Promise.all(\n typeDefinitions.map(async typeDefinition => {\n const parsed = parseTypeDefinition(typeDefinition)!;\n\n return (\n await listFiles(appendPath(parsed.file, context.config.projectRoot))\n ).map(file =>\n resolveEntry(context, {\n file,\n name: parsed.name\n })\n );\n })\n )\n )\n .flat()\n .filter(Boolean);\n}\n\n/**\n * Resolves multiple type definitions into their corresponding resolved entry type definitions.\n *\n * @param context - The current context\n * @param typeDefinitions - The type definitions to resolve.\n * @returns A promise that resolves to an array of resolved entry type definitions.\n */\nexport function resolveEntriesSync(\n context: Context,\n typeDefinitions: TypeDefinitionParameter[]\n): ResolvedEntryTypeDefinition[] {\n return typeDefinitions\n .map(typeDefinition => {\n const parsed = parseTypeDefinition(typeDefinition)!;\n\n return listFilesSync(\n appendPath(parsed.file, context.config.projectRoot)\n ).map(file =>\n resolveEntry(context, {\n file,\n name: parsed.name\n })\n );\n })\n .flat()\n .filter(Boolean);\n}\n\n/** Resolve a virtual entry point by generating a unique file path in the artifacts directory.\n *\n * @param context - The current context\n * @param typeDefinition - The type definition to resolve.\n * @returns The resolved entry type definition with a unique virtual file path.\n */\nexport function resolveVirtualEntry(\n context: Context,\n typeDefinition: TypeDefinitionParameter\n): ResolvedEntryTypeDefinition {\n const parsed = parseTypeDefinition(typeDefinition)!;\n const resolved = resolveEntry(context, parsed);\n const file = joinPaths(\n context.artifactsPath,\n `entry-${murmurhash(\n { file: resolved.file, name: resolved.name },\n { maxLength: 24 }\n )\n .replaceAll(\"-\", \"0\")\n .replaceAll(\"_\", \"1\")}.ts`\n );\n\n return {\n file,\n name: resolved.name,\n input: {\n file,\n name: resolved.name\n },\n output: file\n };\n}\n\n/**\n * Get unique entries from the provided list.\n *\n * @param entries - The entries to process.\n * @returns An array of unique entries (by file path or content hash).\n */\nexport function getUniqueEntries(\n entries: TypeDefinitionParameter | TypeDefinitionParameter[] = []\n): TypeDefinitionParameter[] {\n return getUniqueBy(toArray(entries), (item: TypeDefinitionParameter) =>\n isSetString(item) ? item : murmurhash(item ?? {}, { maxLength: 24 })\n );\n}\n"]}
@@ -1 +0,0 @@
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","POWERLINES_LOCAL","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-U36VZLW6.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 POWERLINES_LOCAL: process.env.POWERLINES_LOCAL || \"0\"\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 +0,0 @@
1
- {"version":3,"sources":["../../src/types/commands.ts","../../src/lib/utilities/plugin-helpers.ts"],"names":["SUPPORTED_COMMANDS","isPlugin","value","isSetObject","isSetString","name","isUndefined","applyToEnvironment","isFunction","dedupe","dependsOn","Array","isArray","every","isPluginConfig","command","handler","isPluginConfigObject","plugin","options","isPluginConfigTuple","length","isPluginHookFunction","isPluginHookObject","isPluginHook","getHookHandler","pluginHook","extractPluginHook","context","hook","undefined","normal","bind","order","isHookExternal","startsWith","isHookInternal","checkDedupe","plugins","some","p","addPluginHook","hooksList","map","push"],"mappings":"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","file":"chunk-UGRFAVAJ.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 type { ArrayValues } from \"@stryke/types/array\";\nimport type { MaybePromise } from \"@stryke/types/base\";\nimport type { Context } from \"./context\";\n\nexport const SUPPORTED_COMMANDS = [\n \"new\",\n \"clean\",\n \"prepare\",\n \"lint\",\n \"test\",\n \"build\",\n \"docs\",\n \"release\",\n \"finalize\"\n] as const;\n\nexport type CommandType = ArrayValues<typeof SUPPORTED_COMMANDS>;\nexport type Commands<TContext extends Context = Context> = Record<\n CommandType,\n (this: TContext) => MaybePromise<void>\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 { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isUndefined } from \"@stryke/type-checks/is-undefined\";\nimport { AnyFunction } from \"@stryke/types/base\";\nimport { SUPPORTED_COMMANDS } from \"../../types/commands\";\nimport {\n PluginConfig,\n PluginConfigObject,\n PluginConfigTuple\n} from \"../../types/config\";\nimport { PluginContext } from \"../../types/context\";\nimport {\n BaseHookKeys,\n BaseHooksListItem,\n ExternalHookKeys,\n HookKeys\n} from \"../../types/hooks\";\nimport { Plugin, PluginHook, PluginHookObject } from \"../../types/plugin\";\nimport { ResolvedConfig } from \"../../types/resolved\";\n\n/**\n * Type guard to check if an object is a {@link Plugin}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link Plugin}, false otherwise\n */\nexport function isPlugin<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>(value: unknown): value is Plugin<PluginContext<TResolvedConfig>> {\n return (\n isSetObject(value) &&\n \"name\" in value &&\n isSetString(value.name) &&\n (isUndefined(\n (value as Plugin<PluginContext<TResolvedConfig>>).applyToEnvironment\n ) ||\n (\"applyToEnvironment\" in value &&\n isFunction(value.applyToEnvironment))) &&\n (isUndefined((value as Plugin<PluginContext<TResolvedConfig>>).dedupe) ||\n (\"dedupe\" in value && isFunction(value.dedupe))) &&\n (isUndefined((value as Plugin<PluginContext<TResolvedConfig>>).dependsOn) ||\n (\"dependsOn\" in value &&\n Array.isArray(value.dependsOn) &&\n value.dependsOn.every(isPluginConfig))) &&\n SUPPORTED_COMMANDS.every(\n command =>\n isUndefined(\n (value as Plugin<PluginContext<TResolvedConfig>>)[command]\n ) ||\n (command in value &&\n (isFunction((value as Record<string, any>)[command]) ||\n (isSetObject((value as Record<string, any>)[command]) &&\n \"handler\" in (value as Record<string, any>)[command] &&\n isFunction((value as Record<string, any>)[command].handler))))\n )\n );\n}\n\n/**\n * Type guard to check if an object is a {@link PluginConfigObject}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginConfigObject}, false otherwise\n */\nexport function isPluginConfigObject(\n value: unknown\n): value is PluginConfigObject {\n return (\n isSetObject(value) &&\n \"plugin\" in value &&\n (((isSetString(value.plugin) || isFunction(value.plugin)) &&\n \"options\" in value &&\n isSetObject(value.options)) ||\n isPlugin(value.plugin))\n );\n}\n\n/**\n * Type guard to check if an object is a {@link PluginConfigTuple}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginConfigTuple}, false otherwise\n */\nexport function isPluginConfigTuple(\n value: unknown\n): value is PluginConfigTuple {\n return (\n Array.isArray(value) &&\n (value.length === 1 || value.length === 2) &&\n (((isSetString(value[0]) || isFunction(value[0])) &&\n value.length > 1 &&\n isSetObject(value[1])) ||\n isPlugin(value[0]))\n );\n}\n\n/**\n * Type guard to check if an object is a {@link PluginConfig}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginConfig}, false otherwise\n */\nexport function isPluginConfig(value: unknown): value is PluginConfig {\n return (\n isSetString(value) ||\n isFunction(value) ||\n isPlugin(value) ||\n isPluginConfigObject(value) ||\n isPluginConfigTuple(value)\n );\n}\n\n/**\n * Type guard to check if an value is a {@link PluginHook} function\n *\n * @param value - The value to check\n * @returns True if the value is a {@link PluginHook} function, false otherwise\n */\nexport function isPluginHookFunction(value: unknown): value is AnyFunction {\n return (\n isFunction(value) ||\n (isSetObject(value) && \"handler\" in value && isFunction(value.handler))\n );\n}\n\n/**\n * Type guard to check if an value is a {@link PluginHook} function\n *\n * @param value - The value to check\n * @returns True if the value is a {@link PluginHook} function, false otherwise\n */\nexport function isPluginHookObject(\n value: unknown\n): value is PluginHookObject<AnyFunction> {\n return isSetObject(value) && \"handler\" in value && isFunction(value.handler);\n}\n\n/**\n * Type guard to check if an object is a {@link PluginHook}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginHook}, false otherwise\n */\nexport function isPluginHook(value: unknown): value is PluginHook<AnyFunction> {\n return isPluginHookFunction(value) || isPluginHookObject(value);\n}\n\n/**\n * Extract the hook handler function from a plugin hook\n *\n * @param pluginHook - The plugin hook to extract the handler function from\n * @returns The hook handler function\n */\nexport function getHookHandler(\n pluginHook: PluginHook<AnyFunction>\n): AnyFunction {\n return isFunction(pluginHook) ? pluginHook : pluginHook.handler;\n}\n\n/**\n * Extract a plugin hook from a plugin\n *\n * @param context - The build context\n * @param plugin - The plugin to extract the hook from\n * @param hook - The name of the hook to extract\n * @returns The extracted hook, or undefined if the hook does not exist\n */\nexport function extractPluginHook<\n TContext extends PluginContext = PluginContext,\n TPlugin extends Plugin<TContext> = Plugin<TContext>\n>(context: TContext, plugin: TPlugin, hook: BaseHookKeys<TContext>) {\n const pluginHook = plugin[hook];\n if (!isPluginHook(pluginHook)) {\n return undefined;\n }\n\n return isFunction(pluginHook)\n ? {\n normal: pluginHook.bind(context)\n }\n : {\n [pluginHook.order ? pluginHook.order : \"normal\"]:\n pluginHook.handler.bind(context)\n };\n}\n\n/**\n * Check if a hook is external.\n *\n * @param hook - The name of the hook to check.\n * @returns True if the hook is external, false otherwise.\n */\nexport function isHookExternal(hook: HookKeys): hook is ExternalHookKeys {\n return (\n hook.startsWith(\"vite:\") ||\n hook.startsWith(\"esbuild:\") ||\n hook.startsWith(\"rolldown:\") ||\n hook.startsWith(\"rollup:\") ||\n hook.startsWith(\"webpack:\") ||\n hook.startsWith(\"rspack:\") ||\n hook.startsWith(\"farm:\")\n );\n}\n\n/**\n * Check if a hook is internal.\n *\n * @param hook - The name of the hook to check.\n * @returns True if the hook is external, false otherwise.\n */\nexport function isHookInternal(hook: HookKeys): hook is BaseHookKeys {\n return !isHookExternal(hook);\n}\n\n/**\n * Check if a plugin should be deduplicated.\n *\n * @param plugin - The plugin to check\n * @param plugins - The list of plugins to check against\n * @returns True if the plugin should be deduplicated, false otherwise\n */\nexport function checkDedupe<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig,\n TContext extends\n PluginContext<TResolvedConfig> = PluginContext<TResolvedConfig>\n>(plugin: Plugin<TContext>, plugins: Plugin<TContext>[]) {\n return (\n plugin.dedupe === false ||\n plugins.some(\n p =>\n p.dedupe !== false &&\n ((isFunction(p.dedupe) && p.dedupe(plugin)) || p.name === plugin.name)\n )\n );\n}\n\n/**\n * Add a plugin hook to the hooks list.\n *\n * @param context - The plugin context\n * @param plugin - The plugin to add the hook from\n * @param pluginHook - The plugin hook to add\n * @param hooksList - The list of hooks to add to\n */\nexport function addPluginHook<TContext extends PluginContext = PluginContext>(\n context: TContext,\n plugin: Plugin<TContext>,\n pluginHook: PluginHook<AnyFunction>,\n hooksList: BaseHooksListItem<TContext, BaseHookKeys<TContext>>[]\n) {\n if (\n !checkDedupe(\n plugin,\n hooksList.map(hook => hook.plugin)\n )\n ) {\n hooksList.push(\n isFunction(pluginHook)\n ? {\n plugin,\n handler: getHookHandler(pluginHook).bind(context)\n }\n : {\n plugin,\n ...pluginHook,\n handler: getHookHandler(pluginHook).bind(context)\n }\n );\n }\n}\n"]}
@@ -1 +0,0 @@
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-UQJWVRRE.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/compiler\";\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/typescript/program.ts"],"names":["SourcesMap","Map","loadLibFiles","libLocation","resolvePackage","Error","libFiles","listFiles","joinPaths","length","lib","file","set","findFileName","readFile","getDefaultCompilerOptions","ts","jsx","JsxEmit","React","strict","esModuleInterop","module","ModuleKind","ESNext","suppressOutputPathCheck","skipLibCheck","skipDefaultLibCheck","moduleResolution","ModuleResolutionKind","Node10","createVirtualProgram","rootNames","context","compilerOptions","options","defu","host","name","root","workspaceConfig","workspaceRoot","sys","realpath","path","fs","existsSync","resolve","getCurrentDirectory","getCanonicalFileName","fileName","getDefaultLibFileName","_options","getDefaultLibLocation","getNewLine","useCaseSensitiveFileNames","fileExists","readFileSync","undefined","readDirectory","extensions","exclude","include","results","readdirSync","encoding","recursive","filter","some","ext","endsWith","startsWith","pattern","minimatch","writeFile","data","writeFileSync","resolvePath","getSourceFile","languageVersionOrOptions","_","shouldCreateNewSourceFile","createSourceFile","target","sourceFile","text","createProgram","createVirtualCompilerHost","compilerHost","newLine","resolved","updateFile","alreadyExists","deleteFile"],"mappings":"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","file":"chunk-V2T4H24I.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 { listFiles } from \"@stryke/fs/list-files\";\nimport { readFile } from \"@stryke/fs/read-file\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport defu from \"defu\";\nimport { minimatch } from \"minimatch\";\nimport ts, { CompilerOptions } from \"typescript\";\nimport { Context } from \"../../types/context\";\n\nexport const SourcesMap = Map<string, string>;\n// eslint-disable-next-line ts/no-redeclare\nexport type SourcesMap = InstanceType<typeof SourcesMap>;\n\nexport async function loadLibFiles(): Promise<SourcesMap> {\n const libLocation = await resolvePackage(\"typescript\");\n if (!libLocation) {\n throw new Error(\"Could not resolve TypeScript package location.\");\n }\n\n const libFiles = await listFiles(\n joinPaths(libLocation, \"lib\", \"**\", \"lib.*.d.ts\")\n );\n if (libFiles.length === 0) {\n throw new Error(\"No TypeScript library files found.\");\n }\n\n const lib: SourcesMap = new Map();\n for (const file of libFiles) {\n lib.set(\n `/node_modules/typescript/lib/${findFileName(file)}`,\n await readFile(file)\n );\n }\n\n return lib;\n}\n\n/** The default compiler options if TypeScript could ever change the compiler options */\nexport function getDefaultCompilerOptions(): CompilerOptions {\n return {\n ...ts.getDefaultCompilerOptions(),\n jsx: ts.JsxEmit.React,\n strict: true,\n esModuleInterop: true,\n module: ts.ModuleKind.ESNext,\n suppressOutputPathCheck: true,\n skipLibCheck: true,\n skipDefaultLibCheck: true,\n moduleResolution: ts.ModuleResolutionKind.Node10\n };\n}\n\n/**\n * Creates a TypeScript program from in-memory, virtual source files.\n *\n * @param rootNames - An array of root file names to include in the program.\n * @param context - The context containing options and environment paths.\n * @param compilerOptions - Optional TypeScript compiler options. Defaults to the standard TypeScript options\n * @returns A TypeScript program instance that can be used for type checking, emitting, etc.\n * @throws If the provided library files are not in the expected format or if the TypeScript package cannot be resolved.\n */\nexport async function createVirtualProgram(\n rootNames: readonly string[],\n context: Context,\n compilerOptions: ts.CompilerOptions = {}\n): Promise<ts.Program> {\n const options = defu(compilerOptions, getDefaultCompilerOptions());\n\n const host = {\n name: \"storm-vfs\",\n root: context.workspaceConfig.workspaceRoot,\n ...ts.sys,\n realpath: (path: string) => {\n if (context.fs.existsSync(path)) {\n return context.fs.resolve(path);\n }\n\n return ts.sys.realpath?.(path) ?? path;\n },\n getCurrentDirectory(): string {\n return context.workspaceConfig.workspaceRoot;\n },\n getCanonicalFileName(fileName: string): string {\n return fileName;\n },\n getDefaultLibFileName(_options: ts.CompilerOptions): string {\n return ts.getDefaultLibFileName(options);\n },\n getDefaultLibLocation(): string {\n return \"/\";\n },\n getNewLine(): string {\n return \"\\n\";\n },\n useCaseSensitiveFileNames(): boolean {\n return true;\n },\n fileExists(fileName: string): boolean {\n return context.fs.existsSync(fileName);\n },\n readFile(fileName: string): string | undefined {\n if (context.fs.existsSync(fileName)) {\n return context.fs.readFileSync(fileName);\n }\n\n return undefined;\n },\n readDirectory: (\n path: string,\n extensions: readonly string[] = [],\n exclude: readonly string[] = [],\n include: readonly string[] = []\n ) => {\n let results = [] as string[];\n if (context.fs.existsSync(path)) {\n results = context.fs.readdirSync(path, {\n encoding: \"utf8\",\n recursive: true\n });\n\n if (extensions.length > 0) {\n results = results.filter(file =>\n extensions.some(ext =>\n file.endsWith(ext.startsWith(\".\") ? ext : `.${ext}`)\n )\n );\n }\n\n if (exclude.length > 0) {\n results = results.filter(\n file => !exclude.some(pattern => minimatch(file, pattern))\n );\n }\n\n if (include.length > 0) {\n results = results.filter(file =>\n include.some(pattern => minimatch(file, pattern))\n );\n }\n }\n\n return results;\n },\n writeFile(fileName: string, data: string): void {\n context.fs.writeFileSync(fileName, data);\n },\n resolvePath: (fileName: string): string => {\n if (context.fs.existsSync(fileName)) {\n return context.fs.resolve(fileName) as string;\n }\n\n return ts.sys.resolvePath(fileName);\n },\n getSourceFile(\n fileName: string,\n languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions,\n _?: (message: string) => void,\n shouldCreateNewSourceFile?: boolean\n ): ts.SourceFile | undefined {\n if (context.fs.existsSync(fileName)) {\n return ts.createSourceFile(\n fileName,\n context.fs.readFileSync(fileName)!,\n languageVersionOrOptions ??\n compilerOptions.target ??\n getDefaultCompilerOptions().target!,\n false\n );\n } else if (shouldCreateNewSourceFile) {\n const sourceFile = ts.createSourceFile(\n fileName,\n \"\",\n languageVersionOrOptions ??\n compilerOptions.target ??\n getDefaultCompilerOptions().target!,\n false\n );\n context.fs.writeFileSync(fileName, sourceFile.text);\n return sourceFile;\n }\n\n return undefined;\n }\n } as ts.CompilerHost;\n\n return ts.createProgram(rootNames, options, host);\n}\n\ninterface VirtualCompilerHostReturn {\n compilerHost: ts.CompilerHost;\n updateFile: (sourceFile: ts.SourceFile) => boolean;\n deleteFile: (sourceFile: ts.SourceFile) => boolean;\n}\n\n/**\n * Creates an in-memory CompilerHost -which is essentially an extra wrapper to System\n * which works with TypeScript objects - returns both a compiler host, and a way to add new SourceFile\n * instances to the in-memory file system.\n */\nexport function createVirtualCompilerHost(\n context: Context,\n sys: ts.System,\n compilerOptions: ts.CompilerOptions\n) {\n return {\n compilerHost: {\n ...sys,\n getCanonicalFileName: fileName => fileName,\n getDefaultLibFileName: () =>\n `/${ts.getDefaultLibFileName(compilerOptions)}`, // '/lib.d.ts',\n // getDefaultLibLocation: () => '/',\n getNewLine: () => sys.newLine,\n getSourceFile: (\n fileName: string,\n languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions\n ) => {\n const resolved = context.fs.resolve(fileName);\n if (resolved && context.fs.existsSync(resolved)) {\n return context.fs.readFileSync(resolved);\n }\n\n return ts.createSourceFile(\n fileName,\n sys.readFile(fileName)!,\n languageVersionOrOptions ?? compilerOptions.target,\n false\n );\n },\n useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames\n },\n updateFile: sourceFile => {\n const alreadyExists = context.fs.existsSync(sourceFile.fileName);\n sys.writeFile(sourceFile.fileName, sourceFile.text);\n return alreadyExists;\n },\n deleteFile: sourceFile => {\n const alreadyExists = context.fs.existsSync(sourceFile.fileName);\n sys.deleteFile!(sourceFile.fileName);\n return alreadyExists;\n }\n } as VirtualCompilerHostReturn;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/build/webpack.ts"],"names":["extractWebpackConfig","context","defu","resolve","alias","builtins","reduce","ret","id","path","fs","ids","config","build","variant","override","external","noExternal","skipNodeModulesBundle","output","joinPaths","workspaceConfig","workspaceRoot","outputPath","name","node","platform","__dirname","__filename","global","mode","cache","type","cacheDirectory","cachePath","recordsInputPath","recordsOutputPath","projectRoot","devtool","optimization","minimize"],"mappings":";;;;;;;;;;AA6BO,SAASA,qBAAqBC,OAAAA,EAAgB;AACnD,EAAA,OAAOC,qBAAAA,CACL;IACEC,OAAAA,EAAS;AACPC,MAAAA,KAAAA,EAAOH,OAAAA,CAAQI,QAAAA,CAASC,MAAAA,CACtB,CAACC,KAAKC,EAAAA,KAAAA;AACJ,QAAA,MAAMC,IAAAA,GAAOR,OAAAA,CAAQS,EAAAA,CAAGC,GAAAA,CAAIH,EAAAA,CAAAA;AAC5B,QAAA,IAAIC,IAAAA,EAAM;AACRF,UAAAA,GAAAA,CAAIC,EAAAA,CAAAA,GAAMC,IAAAA;AACZ,QAAA;AAEA,QAAA,OAAOF,GAAAA;AACT,MAAA,CAAA,EACA,EAAC;AAEL;GACF,EACAN,OAAAA,CAAQW,OAAOC,KAAAA,CAAMC,OAAAA,KAAY,YAAYb,OAAAA,CAAQW,MAAAA,CAAOG,QAAAA,GAAW,EAAC,EACxE;IACEC,QAAAA,EAAUf,OAAAA,CAAQW,OAAOC,KAAAA,CAAMG,QAAAA;IAC/BC,UAAAA,EAAYhB,OAAAA,CAAQW,OAAOC,KAAAA,CAAMI,UAAAA;IACjCC,qBAAAA,EAAuBjB,OAAAA,CAAQW,OAAOC,KAAAA,CAAMK;GAC9C,EACA;IACEC,MAAAA,EAAQ;AACNV,MAAAA,IAAAA,EAAMW,oBACJnB,OAAAA,CAAQoB,eAAAA,CAAgBC,eACxBrB,OAAAA,CAAQW,MAAAA,CAAOO,OAAOI,UAAU;AAEpC,KAAA;AACAC,IAAAA,IAAAA,EAAMvB,QAAQW,MAAAA,CAAOY,IAAAA;AACrBC,IAAAA,IAAAA,EACExB,OAAAA,CAAQW,MAAAA,CAAOC,KAAAA,CAAMa,QAAAA,KAAa,MAAA,GAC7B;MACCC,SAAAA,EAAW,IAAA;MACXC,UAAAA,EAAY,IAAA;MACZC,MAAAA,EAAQ;KACV,GACA,KAAA;AACNC,IAAAA,IAAAA,EACE7B,OAAAA,CAAQW,MAAAA,CAAOkB,IAAAA,KAAS,aAAA,GACnB,aAAA,GACA,YAAA;IACPC,KAAAA,EAAO;MACLC,IAAAA,EAAM,YAAA;AACNC,MAAAA,cAAAA,EAAgBb,mBAAAA,CAAUnB,OAAAA,CAAQiC,SAAAA,EAAW,SAAA,EAAW,OAAA;AAC1D,KAAA;AACAC,IAAAA,gBAAAA,EAAkBf,mBAAAA,CAChBnB,OAAAA,CAAQiC,SAAAA,EACR,SAAA,EACA,uBAAA,CAAA;AAEFE,IAAAA,iBAAAA,EAAmBhB,mBAAAA,CACjBnB,OAAAA,CAAQiC,SAAAA,EACR,SAAA,EACA,uBAAA,CAAA;AAEFjC,IAAAA,OAAAA,EAASmB,oBACPnB,OAAAA,CAAQoB,eAAAA,CAAgBC,aAAAA,EACxBrB,OAAAA,CAAQW,OAAOyB,WAAW,CAAA;AAE5BpB,IAAAA,UAAAA,EAAYhB,OAAAA,CAAQI;GACtB,EACAJ,OAAAA,CAAQW,OAAOC,KAAAA,CAAMC,OAAAA,KAAY,YAAYb,OAAAA,CAAQW,MAAAA,CAAOC,KAAAA,GAAQ,EAAC,EACrE;AACEyB,IAAAA,OAAAA,EAAUrC,OAAAA,CAAQW,MAAAA,CAAOkB,IAAAA,KAAS,aAAA,GAC9B,KAAA,GACA,YAAA;IACJS,YAAAA,EAAc;MACZC,QAAAA,EAAUvC,OAAAA,CAAQW,OAAOkB,IAAAA,KAAS;AACpC;GACF,CAAA;AAEJ;AAzEgB9B,wBAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA","file":"chunk-V5OY4ALI.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 { joinPaths } from \"@stryke/path/join-paths\";\nimport defu from \"defu\";\nimport type { Configuration as ExternalWebpackOptions } from \"webpack\";\nimport { Context } from \"../../types/context\";\n\n/**\n * Resolves the options for [webpack](https://webpack.js.org/).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function extractWebpackConfig(context: Context): ExternalWebpackOptions {\n return defu(\n {\n resolve: {\n alias: context.builtins.reduce(\n (ret, id) => {\n const path = context.fs.ids[id];\n if (path) {\n ret[id] = path;\n }\n\n return ret;\n },\n {} as Record<string, string>\n )\n }\n },\n context.config.build.variant === \"webpack\" ? context.config.override : {},\n {\n external: context.config.build.external,\n noExternal: context.config.build.noExternal,\n skipNodeModulesBundle: context.config.build.skipNodeModulesBundle\n },\n {\n output: {\n path: joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.output.outputPath\n )\n },\n name: context.config.name,\n node:\n context.config.build.platform === \"node\"\n ? ({\n __dirname: true,\n __filename: true,\n global: true\n } as ExternalWebpackOptions[\"node\"])\n : false,\n mode:\n context.config.mode === \"development\"\n ? (\"development\" as const)\n : (\"production\" as const),\n cache: {\n type: \"filesystem\" as const,\n cacheDirectory: joinPaths(context.cachePath, \"webpack\", \"cache\")\n },\n recordsInputPath: joinPaths(\n context.cachePath,\n \"webpack\",\n \".webpack-records.json\"\n ),\n recordsOutputPath: joinPaths(\n context.cachePath,\n \"webpack\",\n \".webpack-records.json\"\n ),\n context: joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot\n ),\n noExternal: context.builtins\n },\n context.config.build.variant === \"webpack\" ? context.config.build : {},\n {\n devtool: (context.config.mode !== \"development\"\n ? false\n : \"source-map\") as string | false,\n optimization: {\n minimize: context.config.mode !== \"development\"\n }\n }\n );\n}\n"]}