powerlines 0.34.9 → 0.35.1

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 (303) hide show
  1. package/dist/{api-64F6GdFq.d.cts → api-Ch19bYX6.d.cts} +1 -1
  2. package/dist/{api-C8dgNF9j.d.ts → api-DJoWdEeA.d.ts} +1 -1
  3. package/dist/api.cjs +2 -2
  4. package/dist/api.d.cts +3 -3
  5. package/dist/api.d.ts +3 -3
  6. package/dist/api.js +1 -1
  7. package/dist/astro.cjs +4 -4
  8. package/dist/astro.d.cts +2 -2
  9. package/dist/astro.d.ts +2 -2
  10. package/dist/astro.js +3 -3
  11. package/dist/chunk-24F67D36.cjs +12 -0
  12. package/dist/{chunk-WLBT35SV.cjs → chunk-3TJ77HBR.cjs} +5 -5
  13. package/dist/{chunk-3HMEVUF3.js → chunk-4JTXARCZ.js} +3 -3
  14. package/dist/{chunk-JZA7N2M4.js → chunk-4ZM66B4T.js} +3 -3
  15. package/dist/{chunk-MLAI362G.js → chunk-52UMGJQJ.js} +3 -3
  16. package/dist/{chunk-AMPAP7VJ.js → chunk-7GLQATKT.js} +3 -3
  17. package/dist/{chunk-O5QCLZXU.cjs → chunk-AFSF26JE.cjs} +4 -4
  18. package/dist/{chunk-IWD7XNVY.js → chunk-EJZVAP3T.js} +2 -2
  19. package/dist/{chunk-RFPNTMLX.js → chunk-GIOACISS.js} +2 -2
  20. package/dist/{chunk-NJRZDDTZ.cjs → chunk-IJXEMXLH.cjs} +2 -2
  21. package/dist/{chunk-BY2N3ZJV.js → chunk-JEP7MDIY.js} +67 -32
  22. package/dist/{chunk-MBPLCGMU.js → chunk-LUTJ2RSQ.js} +3 -3
  23. package/dist/{chunk-V64P3LPH.cjs → chunk-OOZPDTJM.cjs} +67 -32
  24. package/dist/{chunk-IMRQNWR4.cjs → chunk-QMYQNHIP.cjs} +4 -4
  25. package/dist/chunk-S6KFRQYJ.cjs +12 -0
  26. package/dist/{chunk-BCF2FSIU.cjs → chunk-UMU2MF3G.cjs} +2 -2
  27. package/dist/{context-CD3z3bug.d.ts → context-CWyF5B_6.d.ts} +18 -14
  28. package/dist/{context-CybU4gzB.d.cts → context-HIW4qjIs.d.cts} +18 -14
  29. package/dist/esbuild.cjs +6 -6
  30. package/dist/esbuild.d.cts +2 -2
  31. package/dist/esbuild.d.ts +2 -2
  32. package/dist/esbuild.js +3 -3
  33. package/dist/farm.cjs +3 -3
  34. package/dist/farm.d.cts +2 -2
  35. package/dist/farm.d.ts +2 -2
  36. package/dist/farm.js +2 -2
  37. package/dist/index.cjs +15 -15
  38. package/dist/index.d.cts +4 -4
  39. package/dist/index.d.ts +4 -4
  40. package/dist/index.js +4 -4
  41. package/dist/lib/{api-WGXMngpt.d.ts → api-B8aBolnU.d.ts} +1 -1
  42. package/dist/lib/{api-C-muqDwC.d.cts → api-C6p2jxI9.d.cts} +1 -1
  43. package/dist/lib/build/esbuild.d.cts +2 -2
  44. package/dist/lib/build/esbuild.d.ts +2 -2
  45. package/dist/lib/build/index.d.cts +4 -4
  46. package/dist/lib/build/index.d.ts +4 -4
  47. package/dist/lib/build/rolldown.d.cts +2 -2
  48. package/dist/lib/build/rolldown.d.ts +2 -2
  49. package/dist/lib/build/rollup.d.cts +2 -2
  50. package/dist/lib/build/rollup.d.ts +2 -2
  51. package/dist/lib/build/rspack.d.cts +2 -2
  52. package/dist/lib/build/rspack.d.ts +2 -2
  53. package/dist/lib/build/tsdown.d.cts +2 -2
  54. package/dist/lib/build/tsdown.d.ts +2 -2
  55. package/dist/lib/build/tsup.d.cts +2 -2
  56. package/dist/lib/build/tsup.d.ts +2 -2
  57. package/dist/lib/build/unbuild.d.cts +4 -4
  58. package/dist/lib/build/unbuild.d.ts +4 -4
  59. package/dist/lib/build/vite.d.cts +2 -2
  60. package/dist/lib/build/vite.d.ts +2 -2
  61. package/dist/lib/build/webpack.d.cts +2 -2
  62. package/dist/lib/build/webpack.d.ts +2 -2
  63. package/dist/lib/{chunk-2KYZLGIZ.js → chunk-25C6FCLA.js} +4 -4
  64. package/dist/lib/{chunk-2KYZLGIZ.js.map → chunk-25C6FCLA.js.map} +1 -1
  65. package/dist/lib/{chunk-VPZU5BTK.js → chunk-3BXSIJGU.js} +17 -6
  66. package/dist/lib/chunk-3BXSIJGU.js.map +1 -0
  67. package/dist/lib/{chunk-UWOD2XLX.cjs → chunk-53LK7IG5.cjs} +17 -3
  68. package/dist/lib/chunk-53LK7IG5.cjs.map +1 -0
  69. package/dist/lib/{chunk-RRPFZDGI.cjs → chunk-7XTQMSUB.cjs} +6 -6
  70. package/dist/lib/{chunk-RRPFZDGI.cjs.map → chunk-7XTQMSUB.cjs.map} +1 -1
  71. package/dist/lib/{chunk-HVL3SPVN.js → chunk-FM7R4KTA.js} +40 -30
  72. package/dist/lib/chunk-FM7R4KTA.js.map +1 -0
  73. package/dist/lib/{chunk-VM6LBJ3L.cjs → chunk-NOABJWDK.cjs} +45 -35
  74. package/dist/lib/chunk-NOABJWDK.cjs.map +1 -0
  75. package/dist/lib/{chunk-MBGLVIJD.js → chunk-Q7KX7QCP.js} +3 -3
  76. package/dist/lib/{chunk-MBGLVIJD.js.map → chunk-Q7KX7QCP.js.map} +1 -1
  77. package/dist/lib/{chunk-NXUMUI2Z.js → chunk-TB2ZWKZN.js} +17 -3
  78. package/dist/lib/chunk-TB2ZWKZN.js.map +1 -0
  79. package/dist/lib/{chunk-UZSTEOLF.cjs → chunk-VAIDDF5X.cjs} +19 -8
  80. package/dist/lib/chunk-VAIDDF5X.cjs.map +1 -0
  81. package/dist/lib/{chunk-XXQREHLK.cjs → chunk-VMWMBMXG.cjs} +13 -13
  82. package/dist/lib/{chunk-XXQREHLK.cjs.map → chunk-VMWMBMXG.cjs.map} +1 -1
  83. package/dist/lib/{config-ba1qwxTg.d.ts → config-CGGo9KcK.d.ts} +17 -13
  84. package/dist/lib/{config-Lr7p1CKw.d.cts → config-CYz6Kd4L.d.cts} +17 -13
  85. package/dist/lib/config-file.d.cts +2 -2
  86. package/dist/lib/config-file.d.ts +2 -2
  87. package/dist/lib/contexts/api-context.cjs +5 -5
  88. package/dist/lib/contexts/api-context.d.cts +4 -4
  89. package/dist/lib/contexts/api-context.d.ts +4 -4
  90. package/dist/lib/contexts/api-context.js +4 -4
  91. package/dist/lib/contexts/context.cjs +3 -3
  92. package/dist/lib/contexts/context.d.cts +4 -4
  93. package/dist/lib/contexts/context.d.ts +4 -4
  94. package/dist/lib/contexts/context.js +2 -2
  95. package/dist/lib/contexts/environment-context.cjs +4 -4
  96. package/dist/lib/contexts/environment-context.d.cts +4 -4
  97. package/dist/lib/contexts/environment-context.d.ts +4 -4
  98. package/dist/lib/contexts/environment-context.js +3 -3
  99. package/dist/lib/contexts/index.cjs +7 -7
  100. package/dist/lib/contexts/index.d.cts +4 -4
  101. package/dist/lib/contexts/index.d.ts +4 -4
  102. package/dist/lib/contexts/index.js +4 -4
  103. package/dist/lib/contexts/plugin-context.d.cts +4 -4
  104. package/dist/lib/contexts/plugin-context.d.ts +4 -4
  105. package/dist/lib/entry.d.cts +2 -2
  106. package/dist/lib/entry.d.ts +2 -2
  107. package/dist/lib/fs/index.cjs +2 -2
  108. package/dist/lib/fs/index.d.cts +2 -2
  109. package/dist/lib/fs/index.d.ts +2 -2
  110. package/dist/lib/fs/index.js +1 -1
  111. package/dist/lib/fs/storage/base.d.cts +1 -1
  112. package/dist/lib/fs/storage/base.d.ts +1 -1
  113. package/dist/lib/fs/storage/file-system.d.cts +1 -1
  114. package/dist/lib/fs/storage/file-system.d.ts +1 -1
  115. package/dist/lib/fs/storage/index.d.cts +1 -1
  116. package/dist/lib/fs/storage/index.d.ts +1 -1
  117. package/dist/lib/fs/storage/virtual.d.cts +1 -1
  118. package/dist/lib/fs/storage/virtual.d.ts +1 -1
  119. package/dist/lib/fs/vfs.cjs +2 -2
  120. package/dist/lib/fs/vfs.d.cts +2 -2
  121. package/dist/lib/fs/vfs.d.ts +2 -2
  122. package/dist/lib/fs/vfs.js +1 -1
  123. package/dist/lib/{fs-BkpNEsxT.d.ts → fs-Mx46r7JY.d.cts} +2 -2
  124. package/dist/lib/{fs-BkpNEsxT.d.cts → fs-Mx46r7JY.d.ts} +2 -2
  125. package/dist/lib/index.cjs +10 -10
  126. package/dist/lib/index.d.cts +5 -5
  127. package/dist/lib/index.d.ts +5 -5
  128. package/dist/lib/index.js +5 -5
  129. package/dist/lib/{internal-Cy15nTJD.d.ts → internal-DoGteMoK.d.ts} +2 -2
  130. package/dist/lib/{internal-CSgMKSqU.d.cts → internal-YI5K6rmd.d.cts} +2 -2
  131. package/dist/lib/logger.d.cts +2 -2
  132. package/dist/lib/logger.d.ts +2 -2
  133. package/dist/lib/typescript/import-transformer.d.cts +2 -2
  134. package/dist/lib/typescript/import-transformer.d.ts +2 -2
  135. package/dist/lib/typescript/index.d.cts +2 -2
  136. package/dist/lib/typescript/index.d.ts +2 -2
  137. package/dist/lib/typescript/ts-morph.d.cts +2 -2
  138. package/dist/lib/typescript/ts-morph.d.ts +2 -2
  139. package/dist/lib/unplugin/factory.cjs +6 -6
  140. package/dist/lib/unplugin/factory.d.cts +4 -4
  141. package/dist/lib/unplugin/factory.d.ts +4 -4
  142. package/dist/lib/unplugin/factory.js +5 -5
  143. package/dist/lib/unplugin/helpers.d.cts +2 -2
  144. package/dist/lib/unplugin/helpers.d.ts +2 -2
  145. package/dist/lib/unplugin/index.cjs +6 -6
  146. package/dist/lib/unplugin/index.d.cts +4 -4
  147. package/dist/lib/unplugin/index.d.ts +4 -4
  148. package/dist/lib/unplugin/index.js +5 -5
  149. package/dist/lib/unplugin/plugin.d.cts +4 -4
  150. package/dist/lib/unplugin/plugin.d.ts +4 -4
  151. package/dist/lib/{unplugin-C1FUzEE1.d.ts → unplugin-DYkHIqSU.d.ts} +2 -2
  152. package/dist/lib/{unplugin-DQ_UxGcQ.d.cts → unplugin-Dx_uD4rQ.d.cts} +2 -2
  153. package/dist/lib/utilities/bundle.d.cts +2 -2
  154. package/dist/lib/utilities/bundle.d.ts +2 -2
  155. package/dist/lib/utilities/cache.d.cts +2 -2
  156. package/dist/lib/utilities/cache.d.ts +2 -2
  157. package/dist/lib/utilities/file-header.d.cts +2 -2
  158. package/dist/lib/utilities/file-header.d.ts +2 -2
  159. package/dist/lib/utilities/index.d.cts +2 -2
  160. package/dist/lib/utilities/index.d.ts +2 -2
  161. package/dist/lib/utilities/meta.d.cts +2 -2
  162. package/dist/lib/utilities/meta.d.ts +2 -2
  163. package/dist/lib/utilities/resolve.d.cts +2 -2
  164. package/dist/lib/utilities/resolve.d.ts +2 -2
  165. package/dist/lib/utilities/source-file.d.cts +2 -2
  166. package/dist/lib/utilities/source-file.d.ts +2 -2
  167. package/dist/lib/utilities/source-map.d.cts +2 -2
  168. package/dist/lib/utilities/source-map.d.ts +2 -2
  169. package/dist/lib/utilities/worker.d.cts +2 -2
  170. package/dist/lib/utilities/worker.d.ts +2 -2
  171. package/dist/lib/utilities/write-file.d.cts +2 -2
  172. package/dist/lib/utilities/write-file.d.ts +2 -2
  173. package/dist/next.cjs +4 -4
  174. package/dist/next.js +3 -3
  175. package/dist/nuxt.cjs +7 -7
  176. package/dist/nuxt.d.cts +2 -2
  177. package/dist/nuxt.d.ts +2 -2
  178. package/dist/nuxt.js +5 -5
  179. package/dist/plugin-utils/{chunk-X4BI25Z5.js → chunk-CTG3PTA6.js} +3 -3
  180. package/dist/plugin-utils/chunk-CTG3PTA6.js.map +1 -0
  181. package/dist/plugin-utils/chunk-DO3S34NW.cjs +33 -0
  182. package/dist/plugin-utils/chunk-DO3S34NW.cjs.map +1 -0
  183. package/dist/plugin-utils/{chunk-QQ63YK2G.js → chunk-DYCWCPQP.js} +3 -3
  184. package/dist/plugin-utils/{chunk-QQ63YK2G.js.map → chunk-DYCWCPQP.js.map} +1 -1
  185. package/dist/plugin-utils/{chunk-UXLKUCEY.cjs → chunk-FINF3V34.cjs} +6 -6
  186. package/dist/plugin-utils/{chunk-UXLKUCEY.cjs.map → chunk-FINF3V34.cjs.map} +1 -1
  187. package/dist/plugin-utils/{chunk-VJGI676W.cjs → chunk-IZMPXMCN.cjs} +3 -3
  188. package/dist/plugin-utils/chunk-IZMPXMCN.cjs.map +1 -0
  189. package/dist/plugin-utils/chunk-LRSYWPP2.js +31 -0
  190. package/dist/plugin-utils/chunk-LRSYWPP2.js.map +1 -0
  191. package/dist/plugin-utils/chunk-ORSVDVXT.js +25 -0
  192. package/dist/plugin-utils/chunk-ORSVDVXT.js.map +1 -0
  193. package/dist/plugin-utils/chunk-VW6I3FEY.cjs +27 -0
  194. package/dist/plugin-utils/chunk-VW6I3FEY.cjs.map +1 -0
  195. package/dist/plugin-utils/{context-D7SEhuVP.d.ts → context-BY72cezC.d.cts} +21 -17
  196. package/dist/plugin-utils/{context-D7SEhuVP.d.cts → context-BY72cezC.d.ts} +21 -17
  197. package/dist/plugin-utils/context-helpers.d.cts +2 -2
  198. package/dist/plugin-utils/context-helpers.d.ts +2 -2
  199. package/dist/plugin-utils/enforce.cjs +5 -5
  200. package/dist/plugin-utils/enforce.d.cts +4 -3
  201. package/dist/plugin-utils/enforce.d.ts +4 -3
  202. package/dist/plugin-utils/enforce.js +4 -4
  203. package/dist/plugin-utils/extend.cjs +4 -4
  204. package/dist/plugin-utils/extend.d.cts +6 -3
  205. package/dist/plugin-utils/extend.d.ts +6 -3
  206. package/dist/plugin-utils/extend.js +3 -3
  207. package/dist/plugin-utils/get-config-path.d.cts +2 -2
  208. package/dist/plugin-utils/get-config-path.d.ts +2 -2
  209. package/dist/plugin-utils/helpers.cjs +14 -14
  210. package/dist/plugin-utils/helpers.d.cts +2 -2
  211. package/dist/plugin-utils/helpers.d.ts +2 -2
  212. package/dist/plugin-utils/helpers.js +1 -1
  213. package/dist/plugin-utils/index.cjs +20 -20
  214. package/dist/plugin-utils/index.d.cts +2 -2
  215. package/dist/plugin-utils/index.d.ts +2 -2
  216. package/dist/plugin-utils/index.js +4 -4
  217. package/dist/plugin-utils/merge.cjs +3 -3
  218. package/dist/plugin-utils/merge.d.cts +2 -2
  219. package/dist/plugin-utils/merge.d.ts +2 -2
  220. package/dist/plugin-utils/merge.js +2 -2
  221. package/dist/plugin-utils/paths.d.cts +2 -2
  222. package/dist/plugin-utils/paths.d.ts +2 -2
  223. package/dist/rolldown.cjs +6 -6
  224. package/dist/rolldown.d.cts +2 -2
  225. package/dist/rolldown.d.ts +2 -2
  226. package/dist/rolldown.js +3 -3
  227. package/dist/rollup.cjs +3 -3
  228. package/dist/rollup.d.cts +2 -2
  229. package/dist/rollup.d.ts +2 -2
  230. package/dist/rollup.js +2 -2
  231. package/dist/rspack.cjs +3 -3
  232. package/dist/rspack.d.cts +2 -2
  233. package/dist/rspack.d.ts +2 -2
  234. package/dist/rspack.js +2 -2
  235. package/dist/tsdown.cjs +4 -4
  236. package/dist/tsdown.js +3 -3
  237. package/dist/tsup.cjs +4 -4
  238. package/dist/tsup.js +3 -3
  239. package/dist/types/api.d.cts +3 -3
  240. package/dist/types/api.d.ts +3 -3
  241. package/dist/types/babel.d.cts +2 -2
  242. package/dist/types/babel.d.ts +2 -2
  243. package/dist/types/commands.d.cts +2 -2
  244. package/dist/types/commands.d.ts +2 -2
  245. package/dist/types/config.d.cts +1 -1
  246. package/dist/types/config.d.ts +1 -1
  247. package/dist/types/context.cjs +2 -2
  248. package/dist/types/context.d.cts +2 -2
  249. package/dist/types/context.d.ts +2 -2
  250. package/dist/types/context.js +1 -1
  251. package/dist/types/fs.cjs +3 -3
  252. package/dist/types/fs.d.cts +2 -2
  253. package/dist/types/fs.d.ts +2 -2
  254. package/dist/types/fs.js +1 -1
  255. package/dist/types/hooks.d.cts +2 -2
  256. package/dist/types/hooks.d.ts +2 -2
  257. package/dist/types/index.cjs +5 -5
  258. package/dist/types/index.d.cts +3 -3
  259. package/dist/types/index.d.ts +3 -3
  260. package/dist/types/index.js +2 -2
  261. package/dist/types/internal.d.cts +3 -3
  262. package/dist/types/internal.d.ts +3 -3
  263. package/dist/types/plugin.d.cts +2 -2
  264. package/dist/types/plugin.d.ts +2 -2
  265. package/dist/types/resolved.d.cts +1 -1
  266. package/dist/types/resolved.d.ts +1 -1
  267. package/dist/types/unplugin.d.cts +3 -3
  268. package/dist/types/unplugin.d.ts +3 -3
  269. package/dist/unloader.cjs +3 -3
  270. package/dist/unloader.d.cts +2 -2
  271. package/dist/unloader.d.ts +2 -2
  272. package/dist/unloader.js +2 -2
  273. package/dist/unplugin.cjs +5 -5
  274. package/dist/unplugin.d.cts +3 -3
  275. package/dist/unplugin.d.ts +3 -3
  276. package/dist/unplugin.js +3 -3
  277. package/dist/vite.cjs +6 -6
  278. package/dist/vite.d.cts +2 -2
  279. package/dist/vite.d.ts +2 -2
  280. package/dist/vite.js +3 -3
  281. package/dist/webpack.cjs +6 -6
  282. package/dist/webpack.d.cts +2 -2
  283. package/dist/webpack.d.ts +2 -2
  284. package/dist/webpack.js +3 -3
  285. package/package.json +2 -2
  286. package/dist/chunk-2GKVCE3E.cjs +0 -12
  287. package/dist/chunk-JTZS2TSQ.cjs +0 -12
  288. package/dist/lib/chunk-HVL3SPVN.js.map +0 -1
  289. package/dist/lib/chunk-NXUMUI2Z.js.map +0 -1
  290. package/dist/lib/chunk-UWOD2XLX.cjs.map +0 -1
  291. package/dist/lib/chunk-UZSTEOLF.cjs.map +0 -1
  292. package/dist/lib/chunk-VM6LBJ3L.cjs.map +0 -1
  293. package/dist/lib/chunk-VPZU5BTK.js.map +0 -1
  294. package/dist/plugin-utils/chunk-36OM2X4L.js +0 -30
  295. package/dist/plugin-utils/chunk-36OM2X4L.js.map +0 -1
  296. package/dist/plugin-utils/chunk-DQDBFO67.js +0 -23
  297. package/dist/plugin-utils/chunk-DQDBFO67.js.map +0 -1
  298. package/dist/plugin-utils/chunk-EWPAHNGW.cjs +0 -25
  299. package/dist/plugin-utils/chunk-EWPAHNGW.cjs.map +0 -1
  300. package/dist/plugin-utils/chunk-ID47RJFS.cjs +0 -32
  301. package/dist/plugin-utils/chunk-ID47RJFS.cjs.map +0 -1
  302. package/dist/plugin-utils/chunk-VJGI676W.cjs.map +0 -1
  303. package/dist/plugin-utils/chunk-X4BI25Z5.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/plugin-utils/extend.ts"],"names":["extend","plugin","extension","isFunction","options","pluginResult","Promise","resolve","extensionResult","merge","result"],"mappings":";;;;AAmCO,SAASA,MAAAA,CACdC,QACAC,SAAAA,EAAmE;AAYnE,EAAA,IAAIC,UAAAA,CAAWF,MAAAA,CAAAA,EAAS;AACtB,IAAA,IAAIE,UAAAA,CAAWD,SAAAA,CAAAA,EAAY;AACzB,MAAA,OAAO,OACLE,OAAAA,KAAAA;AAEA,QAAA,MAAMC,eAAe,MAAMC,OAAAA,CAAQC,OAAAA,CAAQN,MAAAA,CAAOG,OAAAA,CAAAA,CAAAA;AAClD,QAAA,MAAMI,kBAAkB,MAAMF,OAAAA,CAAQC,OAAAA,CAAQL,SAAAA,CAAUE,OAAAA,CAAAA,CAAAA;AAExD,QAAA,OAAOK,KAAAA,CAAMD,iBAAiBH,YAAAA,CAAAA;AAChC,MAAA,CAAA;AACF,IAAA;AAEA,IAAA,OAAO,OAAOD,OAAAA,KAAAA;AACZ,MAAA,MAAMM,SAAS,MAAMJ,OAAAA,CAAQC,OAAAA,CAAQN,MAAAA,CAAOG,OAAAA,CAAAA,CAAAA;AAE5C,MAAA,OAAOK,KAAAA,CAAMP,WAAWQ,MAAAA,CAAAA;AAC1B,IAAA,CAAA;EACF,CAAA,MAAA,IAAWP,UAAAA,CAAWD,SAAAA,CAAAA,EAAY;AAChC,IAAA,OAAO,OAAOE,OAAAA,KAAAA;AACZ,MAAA,MAAMM,SAAS,MAAMJ,OAAAA,CAAQC,OAAAA,CAAQL,SAAAA,CAAUE,OAAAA,CAAAA,CAAAA;AAE/C,MAAA,OAAOK,KAAAA,CAAMR,QAAQS,MAAAA,CAAAA;AACvB,IAAA,CAAA;AACF,EAAA;AAEA,EAAA,OAAOD,KAAAA,CAAMR,QAAQC,SAAAA,CAAAA;AACvB;AAxCgBF,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"chunk-36OM2X4L.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 { isFunction } from \"@stryke/type-checks/is-function\";\nimport {\n PartialPlugin,\n PartialPluginFactory,\n PluginFactory\n} from \"../types/config\";\nimport { PluginContext } from \"../types/context\";\nimport { Plugin } from \"../types/plugin\";\nimport { merge } from \"./merge\";\n\n/**\n * Adds additional helper functionality to a plugin via a plugin builder function.\n *\n * @param plugin - The base plugin object or factory function to extend.\n * @param extension - The plugin extension object or factory function. This function receives the plugin options and returns a plugin object.\n * @returns A function accepting the plugin options and returning the extended plugin.\n */\nexport function extend<TContext extends PluginContext = PluginContext>(\n plugin: Plugin<TContext> | PluginFactory<TContext>,\n extension: PartialPlugin<TContext> | PartialPluginFactory<TContext>\n): typeof plugin extends PluginFactory<TContext>\n ? PluginFactory<\n TContext,\n (typeof extension extends PluginFactory<TContext>\n ? Parameters<typeof extension>[0]\n : never) &\n Parameters<typeof plugin>[0]\n >\n : typeof plugin extends PluginFactory<TContext>\n ? PluginFactory<TContext>\n : Plugin<TContext> {\n if (isFunction(plugin)) {\n if (isFunction(extension)) {\n return async (\n options: Parameters<typeof plugin>[0] & Parameters<typeof extension>[0]\n ) => {\n const pluginResult = await Promise.resolve(plugin(options));\n const extensionResult = await Promise.resolve(extension(options));\n\n return merge(extensionResult, pluginResult) as Plugin<TContext>;\n };\n }\n\n return async (options: Parameters<typeof plugin>[0]) => {\n const result = await Promise.resolve(plugin(options));\n\n return merge(extension, result) as Plugin<TContext>;\n };\n } else if (isFunction(extension)) {\n return async (options: Parameters<typeof extension>[0]) => {\n const result = await Promise.resolve(extension(options));\n\n return merge(plugin, result);\n };\n }\n\n return merge(plugin, extension) as Plugin<TContext>;\n}\n"]}
@@ -1,23 +0,0 @@
1
- import { extend } from './chunk-36OM2X4L.js';
2
- import { __name } from './chunk-7QVYU63E.js';
3
- import { toArray } from '@stryke/convert/to-array';
4
-
5
- function enforceBuild(plugin, variant) {
6
- return extend(plugin, {
7
- config: Array.isArray(variant) ? void 0 : {
8
- build: {
9
- variant
10
- }
11
- },
12
- configResolved() {
13
- if (!toArray(variant).includes(this.config.build.variant)) {
14
- throw new Error(`The plugin requires ${Array.isArray(variant) ? `the build variants ${variant.map((v) => `"${v}"`).slice(0, -1).join(", ")}, or ${variant.map((v) => `"${v}"`).slice(-1).join("")}` : `the build variant "${variant}"`}, but received "${this.config.build.variant}". Please ensure the \`build.variant\` is set correctly in your configuration.`);
15
- }
16
- }
17
- });
18
- }
19
- __name(enforceBuild, "enforceBuild");
20
-
21
- export { enforceBuild };
22
- //# sourceMappingURL=chunk-DQDBFO67.js.map
23
- //# sourceMappingURL=chunk-DQDBFO67.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/plugin-utils/enforce.ts"],"names":["enforceBuild","plugin","variant","extend","config","Array","isArray","undefined","build","configResolved","toArray","includes","Error","map","v","slice","join"],"mappings":";;;;AAgCO,SAASA,YAAAA,CAIdC,QACAC,OAAAA,EAAwC;AAExC,EAAA,OAAOC,OAAOF,MAAAA,EAAQ;AACpBG,IAAAA,MAAAA,EAAQC,KAAAA,CAAMC,OAAAA,CAAQJ,OAAAA,CAAAA,GAClBK,MAAAA,GACA;MACEC,KAAAA,EAAO;AACLN,QAAAA;AACF;AACF,KAAA;IACJO,cAAAA,GAAAA;AACE,MAAA,IACE,CAACC,QAAuBR,OAAAA,CAAAA,CAASS,SAAS,IAAA,CAAKP,MAAAA,CAAOI,KAAAA,CAAMN,OAAO,CAAA,EACnE;AACA,QAAA,MAAM,IAAIU,MACR,CAAA,oBAAA,EACEP,KAAAA,CAAMC,QAAQJ,OAAAA,CAAAA,GACV,sBAAsBA,OAAAA,CACnBW,GAAAA,CAAIC,CAAAA,CAAAA,KAAK,CAAA,CAAA,EAAIA,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CACjBC,MAAM,CAAA,EAAG,EAAC,CAAA,CACVC,IAAAA,CAAK,IAAA,CAAA,QAAad,OAAAA,CAClBW,GAAAA,CAAIC,CAAAA,CAAAA,KAAK,CAAA,CAAA,EAAIA,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CACjBC,KAAAA,CAAM,EAAC,CAAA,CACPC,IAAAA,CAAK,EAAA,CAAA,CAAA,CAAA,GACR,sBAAsBd,OAAAA,CAAAA,CAAAA,CAAU,mBAEpC,IAAA,CAAKE,MAAAA,CAAOI,KAAAA,CAAMN,OAAO,CAAA,8EAAA,CACqD,CAAA;AAEpF,MAAA;AACF,IAAA;GACF,CAAA;AACF;AArCgBF,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA","file":"chunk-DQDBFO67.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 { toArray } from \"@stryke/convert/to-array\";\nimport { BuildVariant } from \"../types/build\";\nimport { PluginFactory } from \"../types/config\";\nimport { PluginContext } from \"../types/context\";\nimport { Plugin } from \"../types/plugin\";\nimport { extend } from \"./extend\";\n\n/**\n * Enforces a specific build variant for a plugin.\n *\n * @param plugin - The plugin or plugin factory to enforce the build variant on.\n * @param variant - The build variant to enforce.\n * @returns A new plugin or plugin factory that enforces the specified build variant.\n */\nexport function enforceBuild<\n TContext extends PluginContext = PluginContext,\n TBuildVariant extends BuildVariant = BuildVariant\n>(\n plugin: Plugin<TContext> | PluginFactory<TContext>,\n variant: TBuildVariant | TBuildVariant[]\n) {\n return extend(plugin, {\n config: Array.isArray(variant)\n ? undefined\n : {\n build: {\n variant\n }\n },\n configResolved(this: TContext) {\n if (\n !toArray<TBuildVariant>(variant).includes(this.config.build.variant)\n ) {\n throw new Error(\n `The plugin requires ${\n Array.isArray(variant)\n ? `the build variants ${variant\n .map(v => `\"${v}\"`)\n .slice(0, -1)\n .join(\", \")}, or ${variant\n .map(v => `\"${v}\"`)\n .slice(-1)\n .join(\"\")}`\n : `the build variant \"${variant}\"`\n }, but received \"${\n this.config.build.variant\n }\". Please ensure the \\`build.variant\\` is set correctly in your configuration.`\n );\n }\n }\n });\n}\n"]}
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkID47RJFS_cjs = require('./chunk-ID47RJFS.cjs');
4
- var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
5
- var toArray = require('@stryke/convert/to-array');
6
-
7
- function enforceBuild(plugin, variant) {
8
- return chunkID47RJFS_cjs.extend(plugin, {
9
- config: Array.isArray(variant) ? void 0 : {
10
- build: {
11
- variant
12
- }
13
- },
14
- configResolved() {
15
- if (!toArray.toArray(variant).includes(this.config.build.variant)) {
16
- throw new Error(`The plugin requires ${Array.isArray(variant) ? `the build variants ${variant.map((v) => `"${v}"`).slice(0, -1).join(", ")}, or ${variant.map((v) => `"${v}"`).slice(-1).join("")}` : `the build variant "${variant}"`}, but received "${this.config.build.variant}". Please ensure the \`build.variant\` is set correctly in your configuration.`);
17
- }
18
- }
19
- });
20
- }
21
- chunkPK6SKIKE_cjs.__name(enforceBuild, "enforceBuild");
22
-
23
- exports.enforceBuild = enforceBuild;
24
- //# sourceMappingURL=chunk-EWPAHNGW.cjs.map
25
- //# sourceMappingURL=chunk-EWPAHNGW.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/plugin-utils/enforce.ts"],"names":["enforceBuild","plugin","variant","extend","config","Array","isArray","undefined","build","configResolved","toArray","includes","Error","map","v","slice","join"],"mappings":";;;;;;AAgCO,SAASA,YAAAA,CAIdC,QACAC,OAAAA,EAAwC;AAExC,EAAA,OAAOC,yBAAOF,MAAAA,EAAQ;AACpBG,IAAAA,MAAAA,EAAQC,KAAAA,CAAMC,OAAAA,CAAQJ,OAAAA,CAAAA,GAClBK,MAAAA,GACA;MACEC,KAAAA,EAAO;AACLN,QAAAA;AACF;AACF,KAAA;IACJO,cAAAA,GAAAA;AACE,MAAA,IACE,CAACC,gBAAuBR,OAAAA,CAAAA,CAASS,SAAS,IAAA,CAAKP,MAAAA,CAAOI,KAAAA,CAAMN,OAAO,CAAA,EACnE;AACA,QAAA,MAAM,IAAIU,MACR,CAAA,oBAAA,EACEP,KAAAA,CAAMC,QAAQJ,OAAAA,CAAAA,GACV,sBAAsBA,OAAAA,CACnBW,GAAAA,CAAIC,CAAAA,CAAAA,KAAK,CAAA,CAAA,EAAIA,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CACjBC,MAAM,CAAA,EAAG,EAAC,CAAA,CACVC,IAAAA,CAAK,IAAA,CAAA,QAAad,OAAAA,CAClBW,GAAAA,CAAIC,CAAAA,CAAAA,KAAK,CAAA,CAAA,EAAIA,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CACjBC,KAAAA,CAAM,EAAC,CAAA,CACPC,IAAAA,CAAK,EAAA,CAAA,CAAA,CAAA,GACR,sBAAsBd,OAAAA,CAAAA,CAAAA,CAAU,mBAEpC,IAAA,CAAKE,MAAAA,CAAOI,KAAAA,CAAMN,OAAO,CAAA,8EAAA,CACqD,CAAA;AAEpF,MAAA;AACF,IAAA;GACF,CAAA;AACF;AArCgBF,wBAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA","file":"chunk-EWPAHNGW.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 { toArray } from \"@stryke/convert/to-array\";\nimport { BuildVariant } from \"../types/build\";\nimport { PluginFactory } from \"../types/config\";\nimport { PluginContext } from \"../types/context\";\nimport { Plugin } from \"../types/plugin\";\nimport { extend } from \"./extend\";\n\n/**\n * Enforces a specific build variant for a plugin.\n *\n * @param plugin - The plugin or plugin factory to enforce the build variant on.\n * @param variant - The build variant to enforce.\n * @returns A new plugin or plugin factory that enforces the specified build variant.\n */\nexport function enforceBuild<\n TContext extends PluginContext = PluginContext,\n TBuildVariant extends BuildVariant = BuildVariant\n>(\n plugin: Plugin<TContext> | PluginFactory<TContext>,\n variant: TBuildVariant | TBuildVariant[]\n) {\n return extend(plugin, {\n config: Array.isArray(variant)\n ? undefined\n : {\n build: {\n variant\n }\n },\n configResolved(this: TContext) {\n if (\n !toArray<TBuildVariant>(variant).includes(this.config.build.variant)\n ) {\n throw new Error(\n `The plugin requires ${\n Array.isArray(variant)\n ? `the build variants ${variant\n .map(v => `\"${v}\"`)\n .slice(0, -1)\n .join(\", \")}, or ${variant\n .map(v => `\"${v}\"`)\n .slice(-1)\n .join(\"\")}`\n : `the build variant \"${variant}\"`\n }, but received \"${\n this.config.build.variant\n }\". Please ensure the \\`build.variant\\` is set correctly in your configuration.`\n );\n }\n }\n });\n}\n"]}
@@ -1,32 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkUXLKUCEY_cjs = require('./chunk-UXLKUCEY.cjs');
4
- var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
5
- var isFunction = require('@stryke/type-checks/is-function');
6
-
7
- function extend(plugin, extension) {
8
- if (isFunction.isFunction(plugin)) {
9
- if (isFunction.isFunction(extension)) {
10
- return async (options) => {
11
- const pluginResult = await Promise.resolve(plugin(options));
12
- const extensionResult = await Promise.resolve(extension(options));
13
- return chunkUXLKUCEY_cjs.merge(extensionResult, pluginResult);
14
- };
15
- }
16
- return async (options) => {
17
- const result = await Promise.resolve(plugin(options));
18
- return chunkUXLKUCEY_cjs.merge(extension, result);
19
- };
20
- } else if (isFunction.isFunction(extension)) {
21
- return async (options) => {
22
- const result = await Promise.resolve(extension(options));
23
- return chunkUXLKUCEY_cjs.merge(plugin, result);
24
- };
25
- }
26
- return chunkUXLKUCEY_cjs.merge(plugin, extension);
27
- }
28
- chunkPK6SKIKE_cjs.__name(extend, "extend");
29
-
30
- exports.extend = extend;
31
- //# sourceMappingURL=chunk-ID47RJFS.cjs.map
32
- //# sourceMappingURL=chunk-ID47RJFS.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/plugin-utils/extend.ts"],"names":["extend","plugin","extension","isFunction","options","pluginResult","Promise","resolve","extensionResult","merge","result"],"mappings":";;;;;;AAmCO,SAASA,MAAAA,CACdC,QACAC,SAAAA,EAAmE;AAYnE,EAAA,IAAIC,qBAAAA,CAAWF,MAAAA,CAAAA,EAAS;AACtB,IAAA,IAAIE,qBAAAA,CAAWD,SAAAA,CAAAA,EAAY;AACzB,MAAA,OAAO,OACLE,OAAAA,KAAAA;AAEA,QAAA,MAAMC,eAAe,MAAMC,OAAAA,CAAQC,OAAAA,CAAQN,MAAAA,CAAOG,OAAAA,CAAAA,CAAAA;AAClD,QAAA,MAAMI,kBAAkB,MAAMF,OAAAA,CAAQC,OAAAA,CAAQL,SAAAA,CAAUE,OAAAA,CAAAA,CAAAA;AAExD,QAAA,OAAOK,uBAAAA,CAAMD,iBAAiBH,YAAAA,CAAAA;AAChC,MAAA,CAAA;AACF,IAAA;AAEA,IAAA,OAAO,OAAOD,OAAAA,KAAAA;AACZ,MAAA,MAAMM,SAAS,MAAMJ,OAAAA,CAAQC,OAAAA,CAAQN,MAAAA,CAAOG,OAAAA,CAAAA,CAAAA;AAE5C,MAAA,OAAOK,uBAAAA,CAAMP,WAAWQ,MAAAA,CAAAA;AAC1B,IAAA,CAAA;EACF,CAAA,MAAA,IAAWP,qBAAAA,CAAWD,SAAAA,CAAAA,EAAY;AAChC,IAAA,OAAO,OAAOE,OAAAA,KAAAA;AACZ,MAAA,MAAMM,SAAS,MAAMJ,OAAAA,CAAQC,OAAAA,CAAQL,SAAAA,CAAUE,OAAAA,CAAAA,CAAAA;AAE/C,MAAA,OAAOK,uBAAAA,CAAMR,QAAQS,MAAAA,CAAAA;AACvB,IAAA,CAAA;AACF,EAAA;AAEA,EAAA,OAAOD,uBAAAA,CAAMR,QAAQC,SAAAA,CAAAA;AACvB;AAxCgBF,wBAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"chunk-ID47RJFS.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 { isFunction } from \"@stryke/type-checks/is-function\";\nimport {\n PartialPlugin,\n PartialPluginFactory,\n PluginFactory\n} from \"../types/config\";\nimport { PluginContext } from \"../types/context\";\nimport { Plugin } from \"../types/plugin\";\nimport { merge } from \"./merge\";\n\n/**\n * Adds additional helper functionality to a plugin via a plugin builder function.\n *\n * @param plugin - The base plugin object or factory function to extend.\n * @param extension - The plugin extension object or factory function. This function receives the plugin options and returns a plugin object.\n * @returns A function accepting the plugin options and returning the extended plugin.\n */\nexport function extend<TContext extends PluginContext = PluginContext>(\n plugin: Plugin<TContext> | PluginFactory<TContext>,\n extension: PartialPlugin<TContext> | PartialPluginFactory<TContext>\n): typeof plugin extends PluginFactory<TContext>\n ? PluginFactory<\n TContext,\n (typeof extension extends PluginFactory<TContext>\n ? Parameters<typeof extension>[0]\n : never) &\n Parameters<typeof plugin>[0]\n >\n : typeof plugin extends PluginFactory<TContext>\n ? PluginFactory<TContext>\n : Plugin<TContext> {\n if (isFunction(plugin)) {\n if (isFunction(extension)) {\n return async (\n options: Parameters<typeof plugin>[0] & Parameters<typeof extension>[0]\n ) => {\n const pluginResult = await Promise.resolve(plugin(options));\n const extensionResult = await Promise.resolve(extension(options));\n\n return merge(extensionResult, pluginResult) as Plugin<TContext>;\n };\n }\n\n return async (options: Parameters<typeof plugin>[0]) => {\n const result = await Promise.resolve(plugin(options));\n\n return merge(extension, result) as Plugin<TContext>;\n };\n } else if (isFunction(extension)) {\n return async (options: Parameters<typeof extension>[0]) => {\n const result = await Promise.resolve(extension(options));\n\n return merge(plugin, result);\n };\n }\n\n return merge(plugin, extension) as Plugin<TContext>;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/types/commands.ts","../../src/plugin-utils/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-VJGI676W.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 \"deploy\",\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 PluginContext<TResolvedConfig> =\n 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/types/commands.ts","../../src/plugin-utils/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-X4BI25Z5.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 \"deploy\",\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 PluginContext<TResolvedConfig> =\n 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"]}