powerlines 0.36.5 → 0.36.7

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 (273) hide show
  1. package/dist/{api-DJoWdEeA.d.ts → api-BFFEVa-a.d.cts} +1 -1
  2. package/dist/{api-Ch19bYX6.d.cts → api-CNRRz6AD.d.ts} +1 -1
  3. package/dist/api.cjs +3 -3
  4. package/dist/api.d.cts +2 -2
  5. package/dist/api.d.ts +2 -2
  6. package/dist/api.js +2 -2
  7. package/dist/astro.cjs +5 -5
  8. package/dist/astro.d.cts +1 -1
  9. package/dist/astro.d.ts +1 -1
  10. package/dist/astro.js +4 -4
  11. package/dist/{chunk-JOWWYLGG.cjs → chunk-4Q5WMB5Y.cjs} +5 -10
  12. package/dist/{chunk-M73QOKAB.cjs → chunk-7KT5WZN4.cjs} +5 -5
  13. package/dist/{chunk-2KSN7OFD.cjs → chunk-A23X2AGC.cjs} +4 -4
  14. package/dist/{chunk-CUWEXSOY.js → chunk-AIODZINF.js} +3 -3
  15. package/dist/{chunk-NKND4FDS.js → chunk-DEG5XSW5.js} +4 -9
  16. package/dist/{chunk-JGSCIWFQ.js → chunk-FONMKERT.js} +2 -3
  17. package/dist/{chunk-AF7S443Q.js → chunk-JYQ4PD2Q.js} +3 -3
  18. package/dist/{chunk-NGEYBLOE.js → chunk-KI5WQSIV.js} +3 -3
  19. package/dist/{chunk-VFXZVCGG.cjs → chunk-LU6QA54F.cjs} +2 -3
  20. package/dist/chunk-P2TEUGJQ.cjs +12 -0
  21. package/dist/{chunk-J4X5AP3Y.js → chunk-PSD735JF.js} +3 -3
  22. package/dist/{chunk-PO5JIBLR.cjs → chunk-QXSWQQYM.cjs} +4 -4
  23. package/dist/{chunk-YESNRED3.js → chunk-V7KCSS2Q.js} +3 -3
  24. package/dist/chunk-ZWRTXSA4.cjs +12 -0
  25. package/dist/{context-HIW4qjIs.d.cts → context-CEJVLdeO.d.cts} +3 -4
  26. package/dist/{context-CWyF5B_6.d.ts → context-eZSF6e_s.d.ts} +3 -4
  27. package/dist/esbuild.cjs +7 -7
  28. package/dist/esbuild.d.cts +1 -1
  29. package/dist/esbuild.d.ts +1 -1
  30. package/dist/esbuild.js +4 -4
  31. package/dist/farm.cjs +4 -4
  32. package/dist/farm.d.cts +1 -1
  33. package/dist/farm.d.ts +1 -1
  34. package/dist/farm.js +3 -3
  35. package/dist/index.cjs +12 -12
  36. package/dist/index.d.cts +3 -3
  37. package/dist/index.d.ts +3 -3
  38. package/dist/index.js +3 -3
  39. package/dist/lib/{api-C6p2jxI9.d.cts → api-5JEMIrCI.d.cts} +1 -1
  40. package/dist/lib/{api-B8aBolnU.d.ts → api-CDJdFTPm.d.ts} +1 -1
  41. package/dist/lib/build/esbuild.d.cts +1 -1
  42. package/dist/lib/build/esbuild.d.ts +1 -1
  43. package/dist/lib/build/index.d.cts +3 -3
  44. package/dist/lib/build/index.d.ts +3 -3
  45. package/dist/lib/build/rolldown.d.cts +1 -1
  46. package/dist/lib/build/rolldown.d.ts +1 -1
  47. package/dist/lib/build/rollup.d.cts +1 -1
  48. package/dist/lib/build/rollup.d.ts +1 -1
  49. package/dist/lib/build/rspack.d.cts +1 -1
  50. package/dist/lib/build/rspack.d.ts +1 -1
  51. package/dist/lib/build/tsdown.d.cts +1 -1
  52. package/dist/lib/build/tsdown.d.ts +1 -1
  53. package/dist/lib/build/tsup.d.cts +1 -1
  54. package/dist/lib/build/tsup.d.ts +1 -1
  55. package/dist/lib/build/unbuild.d.cts +3 -3
  56. package/dist/lib/build/unbuild.d.ts +3 -3
  57. package/dist/lib/build/vite.d.cts +1 -1
  58. package/dist/lib/build/vite.d.ts +1 -1
  59. package/dist/lib/build/webpack.d.cts +1 -1
  60. package/dist/lib/build/webpack.d.ts +1 -1
  61. package/dist/lib/{chunk-6YGUB7EC.js → chunk-2YAAI6BY.js} +3 -4
  62. package/dist/lib/chunk-2YAAI6BY.js.map +1 -0
  63. package/dist/lib/{chunk-IYFHYIRD.cjs → chunk-ATE22SGR.cjs} +6 -6
  64. package/dist/lib/{chunk-IYFHYIRD.cjs.map → chunk-ATE22SGR.cjs.map} +1 -1
  65. package/dist/lib/{chunk-BKFJFF7B.cjs → chunk-FZQTFDSL.cjs} +13 -14
  66. package/dist/lib/chunk-FZQTFDSL.cjs.map +1 -0
  67. package/dist/lib/{chunk-XAOD47WH.js → chunk-H7ZLQIQJ.js} +4 -9
  68. package/dist/lib/chunk-H7ZLQIQJ.js.map +1 -0
  69. package/dist/lib/{chunk-KYNBRBVJ.js → chunk-JNDYXB7E.js} +3 -3
  70. package/dist/lib/chunk-JNDYXB7E.js.map +1 -0
  71. package/dist/lib/{chunk-RUMDFGF3.cjs → chunk-LO5DWCMR.cjs} +14 -19
  72. package/dist/lib/chunk-LO5DWCMR.cjs.map +1 -0
  73. package/dist/lib/{chunk-J2K7ISQ3.js → chunk-QIV2657I.js} +4 -4
  74. package/dist/lib/{chunk-J2K7ISQ3.js.map → chunk-QIV2657I.js.map} +1 -1
  75. package/dist/lib/{chunk-KTCDTXRS.cjs → chunk-SADRLVE7.cjs} +3 -3
  76. package/dist/lib/chunk-SADRLVE7.cjs.map +1 -0
  77. package/dist/lib/{config-CYz6Kd4L.d.cts → config-B-c9HuOG.d.cts} +3 -4
  78. package/dist/lib/{config-CGGo9KcK.d.ts → config-B1veyual.d.ts} +3 -4
  79. package/dist/lib/config-file.d.cts +1 -1
  80. package/dist/lib/config-file.d.ts +1 -1
  81. package/dist/lib/contexts/api-context.cjs +4 -4
  82. package/dist/lib/contexts/api-context.d.cts +3 -3
  83. package/dist/lib/contexts/api-context.d.ts +3 -3
  84. package/dist/lib/contexts/api-context.js +3 -3
  85. package/dist/lib/contexts/context.cjs +2 -2
  86. package/dist/lib/contexts/context.d.cts +3 -3
  87. package/dist/lib/contexts/context.d.ts +3 -3
  88. package/dist/lib/contexts/context.js +1 -1
  89. package/dist/lib/contexts/environment-context.cjs +3 -3
  90. package/dist/lib/contexts/environment-context.d.cts +3 -3
  91. package/dist/lib/contexts/environment-context.d.ts +3 -3
  92. package/dist/lib/contexts/environment-context.js +2 -2
  93. package/dist/lib/contexts/index.cjs +6 -6
  94. package/dist/lib/contexts/index.d.cts +3 -3
  95. package/dist/lib/contexts/index.d.ts +3 -3
  96. package/dist/lib/contexts/index.js +3 -3
  97. package/dist/lib/contexts/plugin-context.d.cts +3 -3
  98. package/dist/lib/contexts/plugin-context.d.ts +3 -3
  99. package/dist/lib/entry.d.cts +1 -1
  100. package/dist/lib/entry.d.ts +1 -1
  101. package/dist/lib/fs/index.d.cts +1 -1
  102. package/dist/lib/fs/index.d.ts +1 -1
  103. package/dist/lib/fs/vfs.d.cts +1 -1
  104. package/dist/lib/fs/vfs.d.ts +1 -1
  105. package/dist/lib/index.cjs +31 -31
  106. package/dist/lib/index.d.cts +4 -4
  107. package/dist/lib/index.d.ts +4 -4
  108. package/dist/lib/index.js +10 -10
  109. package/dist/lib/{internal-DoGteMoK.d.ts → internal-CyU9mm3A.d.ts} +2 -2
  110. package/dist/lib/{internal-YI5K6rmd.d.cts → internal-DljLUjCB.d.cts} +2 -2
  111. package/dist/lib/logger.d.cts +1 -1
  112. package/dist/lib/logger.d.ts +1 -1
  113. package/dist/lib/typescript/import-transformer.d.cts +1 -1
  114. package/dist/lib/typescript/import-transformer.d.ts +1 -1
  115. package/dist/lib/typescript/index.d.cts +1 -1
  116. package/dist/lib/typescript/index.d.ts +1 -1
  117. package/dist/lib/typescript/ts-morph.d.cts +1 -1
  118. package/dist/lib/typescript/ts-morph.d.ts +1 -1
  119. package/dist/lib/unplugin/factory.cjs +5 -5
  120. package/dist/lib/unplugin/factory.d.cts +3 -3
  121. package/dist/lib/unplugin/factory.d.ts +3 -3
  122. package/dist/lib/unplugin/factory.js +4 -4
  123. package/dist/lib/unplugin/helpers.d.cts +1 -1
  124. package/dist/lib/unplugin/helpers.d.ts +1 -1
  125. package/dist/lib/unplugin/index.cjs +9 -9
  126. package/dist/lib/unplugin/index.d.cts +3 -3
  127. package/dist/lib/unplugin/index.d.ts +3 -3
  128. package/dist/lib/unplugin/index.js +5 -5
  129. package/dist/lib/unplugin/plugin.d.cts +3 -3
  130. package/dist/lib/unplugin/plugin.d.ts +3 -3
  131. package/dist/lib/{unplugin-DYkHIqSU.d.ts → unplugin-Bbv2ATez.d.ts} +2 -2
  132. package/dist/lib/{unplugin-Dx_uD4rQ.d.cts → unplugin-Cb0evIiM.d.cts} +2 -2
  133. package/dist/lib/utilities/bundle.d.cts +1 -1
  134. package/dist/lib/utilities/bundle.d.ts +1 -1
  135. package/dist/lib/utilities/cache.d.cts +1 -1
  136. package/dist/lib/utilities/cache.d.ts +1 -1
  137. package/dist/lib/utilities/file-header.d.cts +1 -1
  138. package/dist/lib/utilities/file-header.d.ts +1 -1
  139. package/dist/lib/utilities/index.cjs +19 -19
  140. package/dist/lib/utilities/index.d.cts +1 -1
  141. package/dist/lib/utilities/index.d.ts +1 -1
  142. package/dist/lib/utilities/index.js +3 -3
  143. package/dist/lib/utilities/meta.d.cts +1 -1
  144. package/dist/lib/utilities/meta.d.ts +1 -1
  145. package/dist/lib/utilities/resolve.d.cts +1 -1
  146. package/dist/lib/utilities/resolve.d.ts +1 -1
  147. package/dist/lib/utilities/source-file.d.cts +1 -1
  148. package/dist/lib/utilities/source-file.d.ts +1 -1
  149. package/dist/lib/utilities/source-map.d.cts +1 -1
  150. package/dist/lib/utilities/source-map.d.ts +1 -1
  151. package/dist/lib/utilities/worker.d.cts +1 -1
  152. package/dist/lib/utilities/worker.d.ts +1 -1
  153. package/dist/lib/utilities/write-file.d.cts +1 -1
  154. package/dist/lib/utilities/write-file.d.ts +1 -1
  155. package/dist/next.cjs +5 -5
  156. package/dist/next.js +4 -4
  157. package/dist/nuxt.cjs +8 -8
  158. package/dist/nuxt.d.cts +1 -1
  159. package/dist/nuxt.d.ts +1 -1
  160. package/dist/nuxt.js +6 -6
  161. package/dist/plugin-utils/{chunk-DO3S34NW.cjs → chunk-4K76UMSW.cjs} +7 -7
  162. package/dist/plugin-utils/{chunk-DO3S34NW.cjs.map → chunk-4K76UMSW.cjs.map} +1 -1
  163. package/dist/plugin-utils/{chunk-ORSVDVXT.js → chunk-5YR5W7JN.js} +3 -3
  164. package/dist/plugin-utils/{chunk-ORSVDVXT.js.map → chunk-5YR5W7JN.js.map} +1 -1
  165. package/dist/plugin-utils/{chunk-LRSYWPP2.js → chunk-6E36JQV2.js} +3 -3
  166. package/dist/plugin-utils/{chunk-LRSYWPP2.js.map → chunk-6E36JQV2.js.map} +1 -1
  167. package/dist/plugin-utils/{chunk-CTG3PTA6.js → chunk-6H74NYXL.js} +3 -3
  168. package/dist/plugin-utils/chunk-6H74NYXL.js.map +1 -0
  169. package/dist/plugin-utils/{chunk-VW6I3FEY.cjs → chunk-F7YMH4ZA.cjs} +5 -5
  170. package/dist/plugin-utils/{chunk-VW6I3FEY.cjs.map → chunk-F7YMH4ZA.cjs.map} +1 -1
  171. package/dist/plugin-utils/{chunk-DYCWCPQP.js → chunk-OYJBYXML.js} +3 -3
  172. package/dist/plugin-utils/{chunk-DYCWCPQP.js.map → chunk-OYJBYXML.js.map} +1 -1
  173. package/dist/plugin-utils/{chunk-IZMPXMCN.cjs → chunk-Q72RPP6W.cjs} +3 -3
  174. package/dist/plugin-utils/chunk-Q72RPP6W.cjs.map +1 -0
  175. package/dist/plugin-utils/{chunk-FINF3V34.cjs → chunk-R3QMSBAQ.cjs} +6 -6
  176. package/dist/plugin-utils/{chunk-FINF3V34.cjs.map → chunk-R3QMSBAQ.cjs.map} +1 -1
  177. package/dist/plugin-utils/{context-BY72cezC.d.ts → context-0ur9Uamc.d.cts} +2 -3
  178. package/dist/plugin-utils/{context-BY72cezC.d.cts → context-0ur9Uamc.d.ts} +2 -3
  179. package/dist/plugin-utils/context-helpers.d.cts +1 -1
  180. package/dist/plugin-utils/context-helpers.d.ts +1 -1
  181. package/dist/plugin-utils/enforce.cjs +5 -5
  182. package/dist/plugin-utils/enforce.d.cts +1 -1
  183. package/dist/plugin-utils/enforce.d.ts +1 -1
  184. package/dist/plugin-utils/enforce.js +4 -4
  185. package/dist/plugin-utils/extend.cjs +4 -4
  186. package/dist/plugin-utils/extend.d.cts +1 -1
  187. package/dist/plugin-utils/extend.d.ts +1 -1
  188. package/dist/plugin-utils/extend.js +3 -3
  189. package/dist/plugin-utils/get-config-path.d.cts +1 -1
  190. package/dist/plugin-utils/get-config-path.d.ts +1 -1
  191. package/dist/plugin-utils/helpers.cjs +14 -14
  192. package/dist/plugin-utils/helpers.d.cts +1 -1
  193. package/dist/plugin-utils/helpers.d.ts +1 -1
  194. package/dist/plugin-utils/helpers.js +1 -1
  195. package/dist/plugin-utils/index.cjs +20 -20
  196. package/dist/plugin-utils/index.d.cts +1 -1
  197. package/dist/plugin-utils/index.d.ts +1 -1
  198. package/dist/plugin-utils/index.js +4 -4
  199. package/dist/plugin-utils/merge.cjs +3 -3
  200. package/dist/plugin-utils/merge.d.cts +1 -1
  201. package/dist/plugin-utils/merge.d.ts +1 -1
  202. package/dist/plugin-utils/merge.js +2 -2
  203. package/dist/plugin-utils/paths.d.cts +1 -1
  204. package/dist/plugin-utils/paths.d.ts +1 -1
  205. package/dist/rolldown.cjs +7 -7
  206. package/dist/rolldown.d.cts +1 -1
  207. package/dist/rolldown.d.ts +1 -1
  208. package/dist/rolldown.js +4 -4
  209. package/dist/rollup.cjs +4 -4
  210. package/dist/rollup.d.cts +1 -1
  211. package/dist/rollup.d.ts +1 -1
  212. package/dist/rollup.js +3 -3
  213. package/dist/rspack.cjs +4 -4
  214. package/dist/rspack.d.cts +1 -1
  215. package/dist/rspack.d.ts +1 -1
  216. package/dist/rspack.js +3 -3
  217. package/dist/tsdown.cjs +5 -5
  218. package/dist/tsdown.js +4 -4
  219. package/dist/tsup.cjs +5 -5
  220. package/dist/tsup.js +4 -4
  221. package/dist/types/api.d.cts +2 -2
  222. package/dist/types/api.d.ts +2 -2
  223. package/dist/types/babel.d.cts +1 -1
  224. package/dist/types/babel.d.ts +1 -1
  225. package/dist/types/commands.d.cts +1 -1
  226. package/dist/types/commands.d.ts +1 -1
  227. package/dist/types/config.d.cts +1 -1
  228. package/dist/types/config.d.ts +1 -1
  229. package/dist/types/context.d.cts +1 -1
  230. package/dist/types/context.d.ts +1 -1
  231. package/dist/types/hooks.d.cts +1 -1
  232. package/dist/types/hooks.d.ts +1 -1
  233. package/dist/types/index.cjs +2 -2
  234. package/dist/types/index.d.cts +2 -2
  235. package/dist/types/index.d.ts +2 -2
  236. package/dist/types/index.js +1 -1
  237. package/dist/types/internal.d.cts +2 -2
  238. package/dist/types/internal.d.ts +2 -2
  239. package/dist/types/plugin.cjs +2 -2
  240. package/dist/types/plugin.d.cts +1 -1
  241. package/dist/types/plugin.d.ts +1 -1
  242. package/dist/types/plugin.js +1 -1
  243. package/dist/types/resolved.d.cts +1 -1
  244. package/dist/types/resolved.d.ts +1 -1
  245. package/dist/types/unplugin.d.cts +2 -2
  246. package/dist/types/unplugin.d.ts +2 -2
  247. package/dist/unloader.cjs +4 -4
  248. package/dist/unloader.d.cts +1 -1
  249. package/dist/unloader.d.ts +1 -1
  250. package/dist/unloader.js +3 -3
  251. package/dist/unplugin.cjs +6 -6
  252. package/dist/unplugin.d.cts +2 -2
  253. package/dist/unplugin.d.ts +2 -2
  254. package/dist/unplugin.js +4 -4
  255. package/dist/vite.cjs +7 -7
  256. package/dist/vite.d.cts +1 -1
  257. package/dist/vite.d.ts +1 -1
  258. package/dist/vite.js +4 -4
  259. package/dist/webpack.cjs +7 -7
  260. package/dist/webpack.d.cts +1 -1
  261. package/dist/webpack.d.ts +1 -1
  262. package/dist/webpack.js +4 -4
  263. package/package.json +10 -11
  264. package/dist/chunk-7MCVYDAJ.cjs +0 -12
  265. package/dist/chunk-TMHPFNNA.cjs +0 -12
  266. package/dist/lib/chunk-6YGUB7EC.js.map +0 -1
  267. package/dist/lib/chunk-BKFJFF7B.cjs.map +0 -1
  268. package/dist/lib/chunk-KTCDTXRS.cjs.map +0 -1
  269. package/dist/lib/chunk-KYNBRBVJ.js.map +0 -1
  270. package/dist/lib/chunk-RUMDFGF3.cjs.map +0 -1
  271. package/dist/lib/chunk-XAOD47WH.js.map +0 -1
  272. package/dist/plugin-utils/chunk-CTG3PTA6.js.map +0 -1
  273. package/dist/plugin-utils/chunk-IZMPXMCN.cjs.map +0 -1
@@ -2,7 +2,7 @@ import '@stryke/types/array';
2
2
  import '@stryke/types/base';
3
3
  import 'unplugin';
4
4
  import './build.cjs';
5
- export { c1 as BasePluginHookFunctions, c2 as BuildPlugin, c0 as ConfigResult, c4 as ExternalPluginHookFunctions, c3 as ExternalPluginHookFunctionsVariant, c9 as PLUGIN_NON_HOOK_FIELDS, c8 as Plugin, c7 as PluginBuildPlugins, b_ as PluginHook, c5 as PluginHookFunctions, bZ as PluginHookObject, c6 as PluginHooks, ca as PluginNonHookFields, b$ as TypesResult, cf as __ΩBasePluginHookFunctions, cg as __ΩBuildPlugin, ce as __ΩConfigResult, ci as __ΩExternalPluginHookFunctions, ch as __ΩExternalPluginHookFunctionsVariant, cm as __ΩPlugin, cl as __ΩPluginBuildPlugins, cc as __ΩPluginHook, cj as __ΩPluginHookFunctions, cb as __ΩPluginHookObject, ck as __ΩPluginHooks, cn as __ΩPluginNonHookFields, cd as __ΩTypesResult } from '../context-HIW4qjIs.cjs';
5
+ export { c1 as BasePluginHookFunctions, c2 as BuildPlugin, c0 as ConfigResult, c4 as ExternalPluginHookFunctions, c3 as ExternalPluginHookFunctionsVariant, c9 as PLUGIN_NON_HOOK_FIELDS, c8 as Plugin, c7 as PluginBuildPlugins, b_ as PluginHook, c5 as PluginHookFunctions, bZ as PluginHookObject, c6 as PluginHooks, ca as PluginNonHookFields, b$ as TypesResult, cf as __ΩBasePluginHookFunctions, cg as __ΩBuildPlugin, ce as __ΩConfigResult, ci as __ΩExternalPluginHookFunctions, ch as __ΩExternalPluginHookFunctionsVariant, cm as __ΩPlugin, cl as __ΩPluginBuildPlugins, cc as __ΩPluginHook, cj as __ΩPluginHookFunctions, cb as __ΩPluginHookObject, ck as __ΩPluginHooks, cn as __ΩPluginNonHookFields, cd as __ΩTypesResult } from '../context-CEJVLdeO.cjs';
6
6
  import '@farmfe/core';
7
7
  import '@rspack/core';
8
8
  import '@storm-software/tsup/types';
@@ -2,7 +2,7 @@ import '@stryke/types/array';
2
2
  import '@stryke/types/base';
3
3
  import 'unplugin';
4
4
  import './build.js';
5
- export { c1 as BasePluginHookFunctions, c2 as BuildPlugin, c0 as ConfigResult, c4 as ExternalPluginHookFunctions, c3 as ExternalPluginHookFunctionsVariant, c9 as PLUGIN_NON_HOOK_FIELDS, c8 as Plugin, c7 as PluginBuildPlugins, b_ as PluginHook, c5 as PluginHookFunctions, bZ as PluginHookObject, c6 as PluginHooks, ca as PluginNonHookFields, b$ as TypesResult, cf as __ΩBasePluginHookFunctions, cg as __ΩBuildPlugin, ce as __ΩConfigResult, ci as __ΩExternalPluginHookFunctions, ch as __ΩExternalPluginHookFunctionsVariant, cm as __ΩPlugin, cl as __ΩPluginBuildPlugins, cc as __ΩPluginHook, cj as __ΩPluginHookFunctions, cb as __ΩPluginHookObject, ck as __ΩPluginHooks, cn as __ΩPluginNonHookFields, cd as __ΩTypesResult } from '../context-CWyF5B_6.js';
5
+ export { c1 as BasePluginHookFunctions, c2 as BuildPlugin, c0 as ConfigResult, c4 as ExternalPluginHookFunctions, c3 as ExternalPluginHookFunctionsVariant, c9 as PLUGIN_NON_HOOK_FIELDS, c8 as Plugin, c7 as PluginBuildPlugins, b_ as PluginHook, c5 as PluginHookFunctions, bZ as PluginHookObject, c6 as PluginHooks, ca as PluginNonHookFields, b$ as TypesResult, cf as __ΩBasePluginHookFunctions, cg as __ΩBuildPlugin, ce as __ΩConfigResult, ci as __ΩExternalPluginHookFunctions, ch as __ΩExternalPluginHookFunctionsVariant, cm as __ΩPlugin, cl as __ΩPluginBuildPlugins, cc as __ΩPluginHook, cj as __ΩPluginHookFunctions, cb as __ΩPluginHookObject, ck as __ΩPluginHooks, cn as __ΩPluginNonHookFields, cd as __ΩTypesResult } from '../context-eZSF6e_s.js';
6
6
  import '@farmfe/core';
7
7
  import '@rspack/core';
8
8
  import '@storm-software/tsup/types';
@@ -1,4 +1,4 @@
1
- export { PLUGIN_NON_HOOK_FIELDS } from '../chunk-JGSCIWFQ.js';
1
+ export { PLUGIN_NON_HOOK_FIELDS } from '../chunk-FONMKERT.js';
2
2
  import '../chunk-7QVYU63E.js';
3
3
  //# sourceMappingURL=plugin.js.map
4
4
  //# sourceMappingURL=plugin.js.map
@@ -3,7 +3,7 @@ import '@stryke/types/configuration';
3
3
  import '@stryke/types/file';
4
4
  import 'vite';
5
5
  import './build.cjs';
6
- export { cp as BabelResolvedConfig, cx as ESBuildResolvedConfig, cq as EnvironmentResolvedConfig, cD as FarmResolvedConfig, cE as InferResolvedConfig, cs as OutputResolvedConfig, cr as ResolvedAssetGlob, ct as ResolvedConfig, co as ResolvedEntryTypeDefinition, cz as RolldownResolvedConfig, cy as RollupResolvedConfig, cw as RspackResolvedConfig, cB as TsdownResolvedConfig, cA as TsupResolvedConfig, cC as UnbuildResolvedConfig, cu as ViteResolvedConfig, cv as WebpackResolvedConfig, cG as __ΩBabelResolvedConfig, cO as __ΩESBuildResolvedConfig, cH as __ΩEnvironmentResolvedConfig, cU as __ΩFarmResolvedConfig, cV as __ΩInferResolvedConfig, cJ as __ΩOutputResolvedConfig, cI as __ΩResolvedAssetGlob, cK as __ΩResolvedConfig, cF as __ΩResolvedEntryTypeDefinition, cQ as __ΩRolldownResolvedConfig, cP as __ΩRollupResolvedConfig, cN as __ΩRspackResolvedConfig, cS as __ΩTsdownResolvedConfig, cR as __ΩTsupResolvedConfig, cT as __ΩUnbuildResolvedConfig, cL as __ΩViteResolvedConfig, cM as __ΩWebpackResolvedConfig } from '../context-HIW4qjIs.cjs';
6
+ export { cp as BabelResolvedConfig, cx as ESBuildResolvedConfig, cq as EnvironmentResolvedConfig, cD as FarmResolvedConfig, cE as InferResolvedConfig, cs as OutputResolvedConfig, cr as ResolvedAssetGlob, ct as ResolvedConfig, co as ResolvedEntryTypeDefinition, cz as RolldownResolvedConfig, cy as RollupResolvedConfig, cw as RspackResolvedConfig, cB as TsdownResolvedConfig, cA as TsupResolvedConfig, cC as UnbuildResolvedConfig, cu as ViteResolvedConfig, cv as WebpackResolvedConfig, cG as __ΩBabelResolvedConfig, cO as __ΩESBuildResolvedConfig, cH as __ΩEnvironmentResolvedConfig, cU as __ΩFarmResolvedConfig, cV as __ΩInferResolvedConfig, cJ as __ΩOutputResolvedConfig, cI as __ΩResolvedAssetGlob, cK as __ΩResolvedConfig, cF as __ΩResolvedEntryTypeDefinition, cQ as __ΩRolldownResolvedConfig, cP as __ΩRollupResolvedConfig, cN as __ΩRspackResolvedConfig, cS as __ΩTsdownResolvedConfig, cR as __ΩTsupResolvedConfig, cT as __ΩUnbuildResolvedConfig, cL as __ΩViteResolvedConfig, cM as __ΩWebpackResolvedConfig } from '../context-CEJVLdeO.cjs';
7
7
  import '@farmfe/core';
8
8
  import '@rspack/core';
9
9
  import '@storm-software/tsup/types';
@@ -3,7 +3,7 @@ import '@stryke/types/configuration';
3
3
  import '@stryke/types/file';
4
4
  import 'vite';
5
5
  import './build.js';
6
- export { cp as BabelResolvedConfig, cx as ESBuildResolvedConfig, cq as EnvironmentResolvedConfig, cD as FarmResolvedConfig, cE as InferResolvedConfig, cs as OutputResolvedConfig, cr as ResolvedAssetGlob, ct as ResolvedConfig, co as ResolvedEntryTypeDefinition, cz as RolldownResolvedConfig, cy as RollupResolvedConfig, cw as RspackResolvedConfig, cB as TsdownResolvedConfig, cA as TsupResolvedConfig, cC as UnbuildResolvedConfig, cu as ViteResolvedConfig, cv as WebpackResolvedConfig, cG as __ΩBabelResolvedConfig, cO as __ΩESBuildResolvedConfig, cH as __ΩEnvironmentResolvedConfig, cU as __ΩFarmResolvedConfig, cV as __ΩInferResolvedConfig, cJ as __ΩOutputResolvedConfig, cI as __ΩResolvedAssetGlob, cK as __ΩResolvedConfig, cF as __ΩResolvedEntryTypeDefinition, cQ as __ΩRolldownResolvedConfig, cP as __ΩRollupResolvedConfig, cN as __ΩRspackResolvedConfig, cS as __ΩTsdownResolvedConfig, cR as __ΩTsupResolvedConfig, cT as __ΩUnbuildResolvedConfig, cL as __ΩViteResolvedConfig, cM as __ΩWebpackResolvedConfig } from '../context-CWyF5B_6.js';
6
+ export { cp as BabelResolvedConfig, cx as ESBuildResolvedConfig, cq as EnvironmentResolvedConfig, cD as FarmResolvedConfig, cE as InferResolvedConfig, cs as OutputResolvedConfig, cr as ResolvedAssetGlob, ct as ResolvedConfig, co as ResolvedEntryTypeDefinition, cz as RolldownResolvedConfig, cy as RollupResolvedConfig, cw as RspackResolvedConfig, cB as TsdownResolvedConfig, cA as TsupResolvedConfig, cC as UnbuildResolvedConfig, cu as ViteResolvedConfig, cv as WebpackResolvedConfig, cG as __ΩBabelResolvedConfig, cO as __ΩESBuildResolvedConfig, cH as __ΩEnvironmentResolvedConfig, cU as __ΩFarmResolvedConfig, cV as __ΩInferResolvedConfig, cJ as __ΩOutputResolvedConfig, cI as __ΩResolvedAssetGlob, cK as __ΩResolvedConfig, cF as __ΩResolvedEntryTypeDefinition, cQ as __ΩRolldownResolvedConfig, cP as __ΩRollupResolvedConfig, cN as __ΩRspackResolvedConfig, cS as __ΩTsdownResolvedConfig, cR as __ΩTsupResolvedConfig, cT as __ΩUnbuildResolvedConfig, cL as __ΩViteResolvedConfig, cM as __ΩWebpackResolvedConfig } from '../context-eZSF6e_s.js';
7
7
  import '@farmfe/core';
8
8
  import '@rspack/core';
9
9
  import '@storm-software/tsup/types';
@@ -1,7 +1,7 @@
1
1
  import { UnpluginOptions, UnpluginContextMeta } from 'unplugin';
2
- import { A as API } from '../api-Ch19bYX6.cjs';
2
+ import { A as API } from '../api-BFFEVa-a.cjs';
3
3
  import { UnpluginBuildVariant, InferUnpluginVariant } from './build.cjs';
4
- import { cE as InferResolvedConfig, c2 as BuildPlugin, bb as PluginContext, a3 as InferUserConfig } from '../context-HIW4qjIs.cjs';
4
+ import { cE as InferResolvedConfig, c2 as BuildPlugin, bb as PluginContext, a3 as InferUserConfig } from '../context-CEJVLdeO.cjs';
5
5
  import '@stryke/types/base';
6
6
  import '@farmfe/core';
7
7
  import '@rspack/core';
@@ -1,7 +1,7 @@
1
1
  import { UnpluginOptions, UnpluginContextMeta } from 'unplugin';
2
- import { A as API } from '../api-DJoWdEeA.js';
2
+ import { A as API } from '../api-CNRRz6AD.js';
3
3
  import { UnpluginBuildVariant, InferUnpluginVariant } from './build.js';
4
- import { cE as InferResolvedConfig, c2 as BuildPlugin, bb as PluginContext, a3 as InferUserConfig } from '../context-CWyF5B_6.js';
4
+ import { cE as InferResolvedConfig, c2 as BuildPlugin, bb as PluginContext, a3 as InferUserConfig } from '../context-eZSF6e_s.js';
5
5
  import '@stryke/types/base';
6
6
  import '@farmfe/core';
7
7
  import '@rspack/core';
package/dist/unloader.cjs CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkM73QOKAB_cjs = require('./chunk-M73QOKAB.cjs');
6
- require('./chunk-JOWWYLGG.cjs');
7
- require('./chunk-VFXZVCGG.cjs');
5
+ var chunk7KT5WZN4_cjs = require('./chunk-7KT5WZN4.cjs');
6
+ require('./chunk-4Q5WMB5Y.cjs');
7
+ require('./chunk-LU6QA54F.cjs');
8
8
  require('./chunk-Z6ARQDHR.cjs');
9
9
  require('./chunk-PK6SKIKE.cjs');
10
10
  var unplugin = require('unplugin');
11
11
 
12
- var unloader = unplugin.createUnloaderPlugin(chunkM73QOKAB_cjs.createUnpluginFactory("unloader"));
12
+ var unloader = unplugin.createUnloaderPlugin(chunk7KT5WZN4_cjs.createUnpluginFactory("unloader"));
13
13
  var unloader_default = unloader;
14
14
 
15
15
  exports.default = unloader_default;
@@ -1,5 +1,5 @@
1
1
  import * as _unloader from 'unloader';
2
- import { U as UserConfig } from './context-HIW4qjIs.cjs';
2
+ import { U as UserConfig } from './context-CEJVLdeO.cjs';
3
3
  import { BuildConfig, BuildResolvedConfig } from './types/build.cjs';
4
4
  import '@stryke/env/get-env-paths';
5
5
  import '@stryke/http/fetch';
@@ -1,5 +1,5 @@
1
1
  import * as _unloader from 'unloader';
2
- import { U as UserConfig } from './context-CWyF5B_6.js';
2
+ import { U as UserConfig } from './context-eZSF6e_s.js';
3
3
  import { BuildConfig, BuildResolvedConfig } from './types/build.js';
4
4
  import '@stryke/env/get-env-paths';
5
5
  import '@stryke/http/fetch';
package/dist/unloader.js CHANGED
@@ -1,6 +1,6 @@
1
- import { createUnpluginFactory } from './chunk-YESNRED3.js';
2
- import './chunk-NKND4FDS.js';
3
- import './chunk-JGSCIWFQ.js';
1
+ import { createUnpluginFactory } from './chunk-V7KCSS2Q.js';
2
+ import './chunk-DEG5XSW5.js';
3
+ import './chunk-FONMKERT.js';
4
4
  import './chunk-2MYPFASJ.js';
5
5
  import './chunk-7QVYU63E.js';
6
6
  import { createUnloaderPlugin } from 'unplugin';
package/dist/unplugin.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkM73QOKAB_cjs = require('./chunk-M73QOKAB.cjs');
4
- var chunkJOWWYLGG_cjs = require('./chunk-JOWWYLGG.cjs');
5
- require('./chunk-VFXZVCGG.cjs');
3
+ var chunk7KT5WZN4_cjs = require('./chunk-7KT5WZN4.cjs');
4
+ var chunk4Q5WMB5Y_cjs = require('./chunk-4Q5WMB5Y.cjs');
5
+ require('./chunk-LU6QA54F.cjs');
6
6
  require('./chunk-Z6ARQDHR.cjs');
7
7
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
8
8
  var defu = require('defu');
@@ -20,7 +20,7 @@ function createUnplugin(context) {
20
20
  const ctx = context;
21
21
  unplugin.setParseImpl(ctx.parse);
22
22
  return () => {
23
- const log = chunkJOWWYLGG_cjs.extendLog(ctx.log, "unplugin");
23
+ const log = chunk4Q5WMB5Y_cjs.extendLog(ctx.log, "unplugin");
24
24
  log(types.LogLevelLabel.DEBUG, "Initializing Unplugin");
25
25
  try {
26
26
  async function buildStart() {
@@ -110,7 +110,7 @@ export * from "${isString.isString(resolved) ? resolved : resolved.id}";
110
110
  let transformed = code;
111
111
  for (const handler of ctx.$$internal.environment.selectHooks("transform")) {
112
112
  const result = await handler.handle.apply(combineContexts(ctx, this), [
113
- chunkM73QOKAB_cjs.getString(transformed),
113
+ chunk7KT5WZN4_cjs.getString(transformed),
114
114
  id
115
115
  ]);
116
116
  if (result) {
@@ -175,7 +175,7 @@ chunkPK6SKIKE_cjs.__name(createUnplugin, "createUnplugin");
175
175
 
176
176
  Object.defineProperty(exports, "createUnpluginFactory", {
177
177
  enumerable: true,
178
- get: function () { return chunkM73QOKAB_cjs.createUnpluginFactory; }
178
+ get: function () { return chunk7KT5WZN4_cjs.createUnpluginFactory; }
179
179
  });
180
180
  exports.combineContexts = combineContexts;
181
181
  exports.createUnplugin = createUnplugin;
@@ -1,9 +1,9 @@
1
1
  import { PowerlinesAPI } from './api.cjs';
2
2
  import { UnpluginBuildVariant } from './types/build.cjs';
3
- import { b6 as Context, cE as InferResolvedConfig, bb as PluginContext } from './context-HIW4qjIs.cjs';
3
+ import { b6 as Context, cE as InferResolvedConfig, bb as PluginContext } from './context-CEJVLdeO.cjs';
4
4
  import { PowerlinesUnpluginOptions, InferUnpluginOptions, PowerlinesUnpluginFactory } from './types/unplugin.cjs';
5
5
  import { UnpluginBuildContext, UnpluginContext } from 'unplugin';
6
- import './api-Ch19bYX6.cjs';
6
+ import './api-BFFEVa-a.cjs';
7
7
  import '@stryke/types/base';
8
8
  import '@stryke/env/get-env-paths';
9
9
  import '@stryke/http/fetch';
@@ -1,9 +1,9 @@
1
1
  import { PowerlinesAPI } from './api.js';
2
2
  import { UnpluginBuildVariant } from './types/build.js';
3
- import { b6 as Context, cE as InferResolvedConfig, bb as PluginContext } from './context-CWyF5B_6.js';
3
+ import { b6 as Context, cE as InferResolvedConfig, bb as PluginContext } from './context-eZSF6e_s.js';
4
4
  import { PowerlinesUnpluginOptions, InferUnpluginOptions, PowerlinesUnpluginFactory } from './types/unplugin.js';
5
5
  import { UnpluginBuildContext, UnpluginContext } from 'unplugin';
6
- import './api-DJoWdEeA.js';
6
+ import './api-CNRRz6AD.js';
7
7
  import '@stryke/types/base';
8
8
  import '@stryke/env/get-env-paths';
9
9
  import '@stryke/http/fetch';
package/dist/unplugin.js CHANGED
@@ -1,7 +1,7 @@
1
- import { getString } from './chunk-YESNRED3.js';
2
- export { createUnpluginFactory } from './chunk-YESNRED3.js';
3
- import { extendLog } from './chunk-NKND4FDS.js';
4
- import './chunk-JGSCIWFQ.js';
1
+ import { getString } from './chunk-V7KCSS2Q.js';
2
+ export { createUnpluginFactory } from './chunk-V7KCSS2Q.js';
3
+ import { extendLog } from './chunk-DEG5XSW5.js';
4
+ import './chunk-FONMKERT.js';
5
5
  import './chunk-2MYPFASJ.js';
6
6
  import { __name } from './chunk-7QVYU63E.js';
7
7
  import { defu } from 'defu';
package/dist/vite.cjs CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunk2KSN7OFD_cjs = require('./chunk-2KSN7OFD.cjs');
5
+ var chunkA23X2AGC_cjs = require('./chunk-A23X2AGC.cjs');
6
6
  require('./chunk-QHEKB7RW.cjs');
7
- require('./chunk-M73QOKAB.cjs');
8
- require('./chunk-JOWWYLGG.cjs');
9
- require('./chunk-VFXZVCGG.cjs');
7
+ require('./chunk-7KT5WZN4.cjs');
8
+ require('./chunk-4Q5WMB5Y.cjs');
9
+ require('./chunk-LU6QA54F.cjs');
10
10
  require('./chunk-Z6ARQDHR.cjs');
11
11
  require('./chunk-PK6SKIKE.cjs');
12
12
 
@@ -14,15 +14,15 @@ require('./chunk-PK6SKIKE.cjs');
14
14
 
15
15
  Object.defineProperty(exports, "default", {
16
16
  enumerable: true,
17
- get: function () { return chunk2KSN7OFD_cjs.vite_default; }
17
+ get: function () { return chunkA23X2AGC_cjs.vite_default; }
18
18
  });
19
19
  Object.defineProperty(exports, "module.exports", {
20
20
  enumerable: true,
21
- get: function () { return chunk2KSN7OFD_cjs.vite; }
21
+ get: function () { return chunkA23X2AGC_cjs.vite; }
22
22
  });
23
23
  Object.defineProperty(exports, "vite", {
24
24
  enumerable: true,
25
- get: function () { return chunk2KSN7OFD_cjs.vite; }
25
+ get: function () { return chunkA23X2AGC_cjs.vite; }
26
26
  });
27
27
  //# sourceMappingURL=vite.cjs.map
28
28
  //# sourceMappingURL=vite.cjs.map
package/dist/vite.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _vite from 'vite';
2
- import { Y as ViteUserConfig } from './context-HIW4qjIs.cjs';
2
+ import { Y as ViteUserConfig } from './context-CEJVLdeO.cjs';
3
3
  import '@stryke/env/get-env-paths';
4
4
  import '@stryke/http/fetch';
5
5
  import '@stryke/types/base';
package/dist/vite.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _vite from 'vite';
2
- import { Y as ViteUserConfig } from './context-CWyF5B_6.js';
2
+ import { Y as ViteUserConfig } from './context-eZSF6e_s.js';
3
3
  import '@stryke/env/get-env-paths';
4
4
  import '@stryke/http/fetch';
5
5
  import '@stryke/types/base';
package/dist/vite.js CHANGED
@@ -1,8 +1,8 @@
1
- export { vite_default as default, vite as "module.exports", vite } from './chunk-J4X5AP3Y.js';
1
+ export { vite_default as default, vite as "module.exports", vite } from './chunk-PSD735JF.js';
2
2
  import './chunk-YJWTNJQF.js';
3
- import './chunk-YESNRED3.js';
4
- import './chunk-NKND4FDS.js';
5
- import './chunk-JGSCIWFQ.js';
3
+ import './chunk-V7KCSS2Q.js';
4
+ import './chunk-DEG5XSW5.js';
5
+ import './chunk-FONMKERT.js';
6
6
  import './chunk-2MYPFASJ.js';
7
7
  import './chunk-7QVYU63E.js';
8
8
  //# sourceMappingURL=vite.js.map
package/dist/webpack.cjs CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkTMHPFNNA_cjs = require('./chunk-TMHPFNNA.cjs');
6
- require('./chunk-M73QOKAB.cjs');
7
- require('./chunk-JOWWYLGG.cjs');
8
- require('./chunk-VFXZVCGG.cjs');
5
+ var chunkP2TEUGJQ_cjs = require('./chunk-P2TEUGJQ.cjs');
6
+ require('./chunk-7KT5WZN4.cjs');
7
+ require('./chunk-4Q5WMB5Y.cjs');
8
+ require('./chunk-LU6QA54F.cjs');
9
9
  require('./chunk-Z6ARQDHR.cjs');
10
10
  require('./chunk-PK6SKIKE.cjs');
11
11
 
@@ -13,15 +13,15 @@ require('./chunk-PK6SKIKE.cjs');
13
13
 
14
14
  Object.defineProperty(exports, "default", {
15
15
  enumerable: true,
16
- get: function () { return chunkTMHPFNNA_cjs.webpack_default; }
16
+ get: function () { return chunkP2TEUGJQ_cjs.webpack_default; }
17
17
  });
18
18
  Object.defineProperty(exports, "module.exports", {
19
19
  enumerable: true,
20
- get: function () { return chunkTMHPFNNA_cjs.webpack; }
20
+ get: function () { return chunkP2TEUGJQ_cjs.webpack; }
21
21
  });
22
22
  Object.defineProperty(exports, "webpack", {
23
23
  enumerable: true,
24
- get: function () { return chunkTMHPFNNA_cjs.webpack; }
24
+ get: function () { return chunkP2TEUGJQ_cjs.webpack; }
25
25
  });
26
26
  //# sourceMappingURL=webpack.cjs.map
27
27
  //# sourceMappingURL=webpack.cjs.map
@@ -1,5 +1,5 @@
1
1
  import * as _webpack from 'webpack';
2
- import { Q as WebpackUserConfig } from './context-HIW4qjIs.cjs';
2
+ import { Q as WebpackUserConfig } from './context-CEJVLdeO.cjs';
3
3
  import '@stryke/env/get-env-paths';
4
4
  import '@stryke/http/fetch';
5
5
  import '@stryke/types/base';
package/dist/webpack.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _webpack from 'webpack';
2
- import { Q as WebpackUserConfig } from './context-CWyF5B_6.js';
2
+ import { Q as WebpackUserConfig } from './context-eZSF6e_s.js';
3
3
  import '@stryke/env/get-env-paths';
4
4
  import '@stryke/http/fetch';
5
5
  import '@stryke/types/base';
package/dist/webpack.js CHANGED
@@ -1,7 +1,7 @@
1
- export { webpack_default as default, webpack as "module.exports", webpack } from './chunk-CUWEXSOY.js';
2
- import './chunk-YESNRED3.js';
3
- import './chunk-NKND4FDS.js';
4
- import './chunk-JGSCIWFQ.js';
1
+ export { webpack_default as default, webpack as "module.exports", webpack } from './chunk-AIODZINF.js';
2
+ import './chunk-V7KCSS2Q.js';
3
+ import './chunk-DEG5XSW5.js';
4
+ import './chunk-FONMKERT.js';
5
5
  import './chunk-2MYPFASJ.js';
6
6
  import './chunk-7QVYU63E.js';
7
7
  //# sourceMappingURL=webpack.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powerlines",
3
- "version": "0.36.5",
3
+ "version": "0.36.7",
4
4
  "type": "module",
5
5
  "description": "The \"any framework\" framework that simplifies modern dev tool usage, generates virtual (or actual) code modules, and improves DX across the board.",
6
6
  "repository": {
@@ -541,7 +541,6 @@
541
541
  "dependencies": {
542
542
  "@alloy-js/babel-plugin": "^0.2.1",
543
543
  "@alloy-js/babel-plugin-jsx-dom-expressions": "^0.39.1",
544
- "@alloy-js/babel-preset": "^0.2.1",
545
544
  "@babel/core": "^7.28.5",
546
545
  "@babel/generator": "^7.28.5",
547
546
  "@babel/helper-module-imports": "^7.27.1",
@@ -561,7 +560,7 @@
561
560
  "@babel/template": "^7.27.2",
562
561
  "@babel/traverse": "^7.28.5",
563
562
  "@babel/types": "^7.28.5",
564
- "@cacheable/memory": "^2.0.6",
563
+ "@cacheable/memory": "^2.0.7",
565
564
  "@donedeal0/superdiff": "^3.1.2",
566
565
  "@microsoft/api-extractor": "^7.55.2",
567
566
  "@microsoft/tsdoc-config": "^0.17.1",
@@ -570,12 +569,12 @@
570
569
  "@rollup/plugin-inject": "^5.0.5",
571
570
  "@rollup/plugin-node-resolve": "^16.0.3",
572
571
  "@rollup/plugin-replace": "^6.0.3",
573
- "@storm-software/build-tools": "^0.158.73",
574
- "@storm-software/config": "^1.134.73",
575
- "@storm-software/config-tools": "^1.188.73",
576
- "@storm-software/esbuild": "^0.53.73",
577
- "@storm-software/tsup": "^0.2.71",
578
- "@storm-software/unbuild": "^0.57.73",
572
+ "@storm-software/build-tools": "^0.158.74",
573
+ "@storm-software/config": "^1.134.74",
574
+ "@storm-software/config-tools": "^1.188.74",
575
+ "@storm-software/esbuild": "^0.53.74",
576
+ "@storm-software/tsup": "^0.2.72",
577
+ "@storm-software/unbuild": "^0.57.74",
579
578
  "@stryke/capnp": "^0.12.51",
580
579
  "@stryke/convert": "^0.6.29",
581
580
  "@stryke/env": "^0.20.43",
@@ -613,7 +612,7 @@
613
612
  },
614
613
  "devDependencies": {
615
614
  "@microsoft/tsdoc": "^0.15.1",
616
- "@storm-software/testing-tools": "^1.119.72",
615
+ "@storm-software/testing-tools": "^1.119.73",
617
616
  "@stryke/types": "^0.10.28",
618
617
  "@types/babel__core": "^7.20.5",
619
618
  "@types/babel__helper-module-imports": "^7.18.3",
@@ -631,5 +630,5 @@
631
630
  "undici-types": "^7.16.0"
632
631
  },
633
632
  "publishConfig": { "access": "public" },
634
- "gitHead": "c41f638b197fc405bae6c2f6e47d7d6c36e52ac6"
633
+ "gitHead": "abbf694ae460ab6f58ae645a000cabf4a4fdac80"
635
634
  }
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkM73QOKAB_cjs = require('./chunk-M73QOKAB.cjs');
4
- var unplugin = require('unplugin');
5
-
6
- var rolldown = unplugin.createRolldownPlugin(chunkM73QOKAB_cjs.createUnpluginFactory("rolldown"));
7
- var rolldown_default = rolldown;
8
-
9
- exports.rolldown = rolldown;
10
- exports.rolldown_default = rolldown_default;
11
- //# sourceMappingURL=chunk-7MCVYDAJ.cjs.map
12
- //# sourceMappingURL=chunk-7MCVYDAJ.cjs.map
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkM73QOKAB_cjs = require('./chunk-M73QOKAB.cjs');
4
- var unplugin = require('unplugin');
5
-
6
- var webpack = unplugin.createWebpackPlugin(chunkM73QOKAB_cjs.createUnpluginFactory("webpack"));
7
- var webpack_default = webpack;
8
-
9
- exports.webpack = webpack;
10
- exports.webpack_default = webpack_default;
11
- //# sourceMappingURL=chunk-TMHPFNNA.cjs.map
12
- //# sourceMappingURL=chunk-TMHPFNNA.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/types/plugin.ts","../../src/lib/contexts/environment-context.ts"],"names":["PLUGIN_NON_HOOK_FIELDS","PowerlinesEnvironmentContext","PowerlinesContext","fromConfig","workspaceConfig","config","context","init","powerlinesPath","resolvePackage","Error","environment","plugins","hooks","addPlugin","plugin","resolvedPlugin","isFunction","applyToEnvironment","result","Promise","resolve","isObject","Object","keys","length","isPluginConfig","$$internal","isPlugin","createPluginContext","push","filter","key","includes","reduce","ret","hook","pluginHook","isPluginHook","isHookExternal","enforce","addPluginHook","order","normal","getHookHandler","bind","selectHooks","options","preOrdered","map","h","find","p","name","handle","handler","preEnforced","postOrdered","postEnforced","resolvedConfig"],"mappings":";;;;;;;;AA2YO,IAAMA,sBAAAA,GAAyB;AACpC,EAAA,MAAA;AACA,EAAA,KAAA;AACA,EAAA,SAAA;AACA,EAAA,QAAA;AACA,EAAA,WAAA;AACA,EAAA;;;;AClWK,IAAMC,4BAAAA,GAAN,MAAMA,6BAAAA,SAGHC,iBAAAA,CAAAA;EAlDV;;;;;;AAwDE,EAAA,MAAA,GAAoD,EAAC;;;;;;;;EAWrD,aAAoBC,UAAAA,CAGlBC,iBACAC,MAAAA,EACwD;AACxD,IAAA,MAAMC,OAAAA,GAAU,IAAIL,6BAAAA,CAClBI,MAAAA,EACAD,eAAAA,CAAAA;AAEF,IAAA,MAAME,QAAQC,IAAAA,EAAI;AAElB,IAAA,MAAMC,cAAAA,GAAiB,MAAMC,cAAAA,CAAe,YAAA,CAAA;AAC5C,IAAA,IAAI,CAACD,cAAAA,EAAgB;AACnB,MAAA,MAAM,IAAIE,MAAM,kDAAA,CAAA;AAClB,IAAA;AAEAJ,IAAAA,OAAAA,CAAQE,cAAAA,GAAiBA,cAAAA;AAEzB,IAAA,OAAOF,OAAAA;AACT,EAAA;;;;AAKOK,EAAAA,WAAAA;;;;AAKAC,EAAAA,OAAAA,GAAuD,EAAA;;;;AAK9D,EAAA,IAAoBP,MAAAA,GAA0B;AAC5C,IAAA,OAAO,KAAA,CAAMA,MAAAA;AACf,EAAA;AAEA,EAAA,IAAWQ,KAAAA,GAAmD;AAC5D,IAAA,OAAO,IAAA,CAAK,MAAA;AACd,EAAA;AAEA,EAAA,MAAaC,UAAUC,MAAAA,EAAgD;AACrE,IAAA,IAAIC,cAAAA,GAAiBD,MAAAA;AACrB,IAAA,IAAIE,UAAAA,CAAWF,MAAAA,CAAOG,kBAAkB,CAAA,EAAG;AACzC,MAAA,MAAMC,MAAAA,GAAS,MAAMC,OAAAA,CAAQC,OAAAA,CAC3BN,OAAOG,kBAAAA,CAAmB,IAAA,CAAKP,WAAW,CAAA,CAAA;AAG5C,MAAA,IAAI,CAACQ,MAAAA,IAAWG,QAAAA,CAASH,MAAAA,CAAAA,IAAWI,OAAOC,IAAAA,CAAKL,MAAAA,CAAAA,CAAQM,MAAAA,KAAW,CAAA,EAAI;AACrE,QAAA;AACF,MAAA;AAEA,MAAA,IAAIC,cAAAA,CAAeP,MAAAA,CAAAA,EAAS;AAC1B,QAAA,OAAO,IAAA,CAAKQ,UAAAA,CAAWb,SAAAA,CAAUK,MAAAA,CAAAA;AACnC,MAAA;AAEAH,MAAAA,cAAAA,GAAiBY,QAAAA,CAA0BT,MAAAA,CAAAA,GAAUA,MAAAA,GAASJ,MAAAA;AAChE,IAAA;AAEA,IAAA,MAAMT,OAAAA,GAAUuB,mBAAAA,CAAqCb,cAAAA,EAAgB,IAAI,CAAA;AAEzE,IAAA,IAAA,CAAKJ,QAAQkB,IAAAA,CAAK;MAChBf,MAAAA,EAAQC,cAAAA;AACRV,MAAAA;KACF,CAAA;AAEA,IAAA,IAAA,CAAK,SAASiB,MAAAA,CAAOC,IAAAA,CAAKR,cAAAA,CAAAA,CACvBe,OACCC,CAAAA,GAAAA,KACE,CAAChC,sBAAAA,CAAuBiC,SACtBD,GAAAA,CAAAA,EAGLE,MAAAA,CAAO,CAACC,KAAKH,GAAAA,KAAAA;AACZ,MAAA,MAAMI,IAAAA,GAAOJ,GAAAA;AACb,MAAA,MAAMK,UAAAA,GAAarB,eAAeoB,IAAAA,CAAAA;AAClC,MAAA,IAAI,CAACE,YAAAA,CAAaD,UAAAA,CAAAA,EAAa;AAC7B,QAAA,OAAOF,GAAAA;AACT,MAAA;AAEA,MAAA,IAAI,CAACI,cAAAA,CAAeH,IAAAA,CAAAA,EAAO;AACzBD,QAAAA,GAAAA,CAAIC,IAAAA,MAAU,EAAC;AACf,QAAA,IAAIpB,eAAewB,OAAAA,EAAS;AAC1BL,UAAAA,GAAAA,CAAIC,IAAAA,CAAAA,CAAM,CAAA,EAAGpB,eAAewB,OAAO,CAAA,QAAA,CAAU,MAAM,EAAA;AAEnDC,UAAAA,aAAAA,CACEnC,OAAAA,EACAU,cAAAA,EACAqB,UAAAA,EACAF,GAAAA,CAAIC,IAAAA,EAAM,CAAA,EAAGpB,cAAAA,CAAewB,OAAO,CAAA,QAAA,CAAU,CAAC,CAAA;AAGhD,UAAA,OAAOL,GAAAA;AACT,QAAA;AAEA,QAAA,IAAIlB,UAAAA,CAAWoB,UAAAA,CAAAA,IAAe,CAACA,WAAWK,KAAAA,EAAO;AAC/CP,UAAAA,GAAAA,CAAIC,IAAAA,CAAAA,CAAMO,MAAAA,KAAW,EAAA;AAErBF,UAAAA,aAAAA,CACEnC,SACAU,cAAAA,EACAqB,UAAAA,EACAF,GAAAA,CAAIC,IAAAA,EAAMO,MAAM,CAAA;AAGlB,UAAA,OAAOR,GAAAA;AACT,QAAA;AAEAA,QAAAA,GAAAA,CAAIC,IAAAA,CAAAA,CAAM,CAAA,EAAGC,WAAWK,KAAK,CAAA,OAAA,CAAS,MAAM,EAAA;AAE5CD,QAAAA,aAAAA,CACEnC,OAAAA,EACAU,cAAAA,EACAqB,UAAAA,EACAF,GAAAA,CAAIC,IAAAA,EAAM,CAAA,EAAGC,UAAAA,CAAWK,KAAK,CAAA,OAAA,CAAS,CAAC,CAAA;MAE3C,CAAA,MAAO;AACLP,QAAAA,GAAAA,CAAIC,IAAAA,MAAU,EAAA;AACdD,QAAAA,GAAAA,CAAIC,IAAAA,EAAMN,IAAAA,CAAK;UACbf,MAAAA,EAAQC,cAAAA;AACRoB,UAAAA,IAAAA,EAAMQ,cAAAA,CAAeP,UAAAA,CAAAA,CAAYQ,IAAAA,CAAKvC,OAAAA;SACxC,CAAA;AACF,MAAA;AAEA,MAAA,OAAO6B,GAAAA;AACT,IAAA,CAAA,EAAG,KAAKtB,KAAK,CAAA;AACjB,EAAA;;;;AAKOiC,EAAAA,WAAAA,CACLV,MACAW,OAAAA,EAC4C;AAC5C,IAAA,MAAM5B,SAAS,EAAA;AAEf,IAAA,IAAI,IAAA,CAAKN,KAAAA,CAAMuB,IAAAA,CAAAA,EAAO;AACpB,MAAA,IAAI,CAACG,cAAAA,CAAeH,IAAAA,CAAAA,EAAO;AACzB,QAAA,MAAMvB,KAAAA,GAAQ,IAAA,CAAKA,KAAAA,CAAMuB,IAAAA,CAAAA;AAGzB,QAAA,IAAIW,SAASL,KAAAA,EAAO;AAClB,UAAA,IAAIK,OAAAA,EAASL,UAAU,KAAA,EAAO;AAC5BvB,YAAAA,MAAAA,CAAOW,IAAAA,CAAI,IACLjB,KAAAA,CAAMmC,UAAAA,IAAc,EAAA,EAAIC,GAAAA,CAAIC,CAAAA,CAAAA,KAAAA;AAC9B,cAAA,MAAMnC,MAAAA,GAAS,IAAA,CAAKH,OAAAA,CAAQuC,IAAAA,CAC1BC,CAAAA,CAAAA,KAAKA,CAAAA,CAAErC,MAAAA,CAAOsC,IAAAA,KAASH,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA;AAEtC,cAAA,IAAI,CAACtC,MAAAA,EAAQ;AACX,gBAAA,MAAM,IAAIL,KAAAA,CACR,CAAA,0CAAA,EACEwC,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA,EAAA,CACX,CAAA;AAER,cAAA;AAEA,cAAA,OAAO;AACLC,gBAAAA,MAAAA,EAAQJ,CAAAA,CAAEK,OAAAA;AACVjD,gBAAAA,OAAAA,EAASS,MAAAA,CAAOT;AAClB,eAAA;AACF,YAAA,CAAA,CAAA,CAAA;AAEFa,YAAAA,MAAAA,CAAOW,IAAAA,CAAI,IACLjB,KAAAA,CAAM2C,WAAAA,IAAe,EAAA,EAAIP,GAAAA,CAAIC,CAAAA,CAAAA,KAAAA;AAC/B,cAAA,MAAMnC,MAAAA,GAAS,IAAA,CAAKH,OAAAA,CAAQuC,IAAAA,CAC1BC,CAAAA,CAAAA,KAAKA,CAAAA,CAAErC,MAAAA,CAAOsC,IAAAA,KAASH,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA;AAEtC,cAAA,IAAI,CAACtC,MAAAA,EAAQ;AACX,gBAAA,MAAM,IAAIL,KAAAA,CACR,CAAA,0CAAA,EACEwC,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA,EAAA,CACX,CAAA;AAER,cAAA;AAEA,cAAA,OAAO;AACLC,gBAAAA,MAAAA,EAAQJ,CAAAA,CAAEK,OAAAA;AACVjD,gBAAAA,OAAAA,EAASS,MAAAA,CAAOT;AAClB,eAAA;AACF,YAAA,CAAA,CAAA,CAAA;UAEJ,CAAA,MAAA,IAAWyC,OAAAA,EAASL,UAAU,MAAA,EAAQ;AACpCvB,YAAAA,MAAAA,CAAOW,IAAAA,CAAI,IACLjB,KAAAA,CAAM4C,WAAAA,IAAe,EAAA,EAAIR,GAAAA,CAAIC,CAAAA,CAAAA,KAAAA;AAC/B,cAAA,MAAMnC,MAAAA,GAAS,IAAA,CAAKH,OAAAA,CAAQuC,IAAAA,CAC1BC,CAAAA,CAAAA,KAAKA,CAAAA,CAAErC,MAAAA,CAAOsC,IAAAA,KAASH,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA;AAEtC,cAAA,IAAI,CAACtC,MAAAA,EAAQ;AACX,gBAAA,MAAM,IAAIL,KAAAA,CACR,CAAA,0CAAA,EACEwC,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA,EAAA,CACX,CAAA;AAER,cAAA;AAEA,cAAA,OAAO;AACLC,gBAAAA,MAAAA,EAAQJ,CAAAA,CAAEK,OAAAA;AACVjD,gBAAAA,OAAAA,EAASS,MAAAA,CAAOT;AAClB,eAAA;AACF,YAAA,CAAA,CAAA,CAAA;AAEFa,YAAAA,MAAAA,CAAOW,IAAAA,CAAI,IACLjB,KAAAA,CAAM6C,YAAAA,IAAgB,EAAA,EAAIT,GAAAA,CAAIC,CAAAA,CAAAA,KAAAA;AAChC,cAAA,MAAMnC,MAAAA,GAAS,IAAA,CAAKH,OAAAA,CAAQuC,IAAAA,CAC1BC,CAAAA,CAAAA,KAAKA,CAAAA,CAAErC,MAAAA,CAAOsC,IAAAA,KAASH,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA;AAEtC,cAAA,IAAI,CAACtC,MAAAA,EAAQ;AACX,gBAAA,MAAM,IAAIL,KAAAA,CACR,CAAA,0CAAA,EACEwC,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA,EAAA,CACX,CAAA;AAER,cAAA;AAEA,cAAA,OAAO;AACLC,gBAAAA,MAAAA,EAAQJ,CAAAA,CAAEK,OAAAA;AACVjD,gBAAAA,OAAAA,EAASS,MAAAA,CAAOT;AAClB,eAAA;AACF,YAAA,CAAA,CAAA,CAAA;UAEJ,CAAA,MAAO;AACLa,YAAAA,MAAAA,CAAOW,IAAAA,CAAI,IACLjB,KAAAA,CAAM8B,MAAAA,IAAU,EAAA,EAAIM,GAAAA,CAAIC,CAAAA,CAAAA,KAAAA;AAC1B,cAAA,MAAMnC,MAAAA,GAAS,IAAA,CAAKH,OAAAA,CAAQuC,IAAAA,CAC1BC,CAAAA,CAAAA,KAAKA,CAAAA,CAAErC,MAAAA,CAAOsC,IAAAA,KAASH,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA;AAEtC,cAAA,IAAI,CAACtC,MAAAA,EAAQ;AACX,gBAAA,MAAM,IAAIL,KAAAA,CACR,CAAA,0CAAA,EACEwC,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA,EAAA,CACX,CAAA;AAER,cAAA;AAEA,cAAA,OAAO;AACLC,gBAAAA,MAAAA,EAAQJ,CAAAA,CAAEK,OAAAA;AACVjD,gBAAAA,OAAAA,EAASS,MAAAA,CAAOT;AAClB,eAAA;AACF,YAAA,CAAA,CAAA,CAAA;AAEJ,UAAA;QACF,CAAA,MAAO;AACLa,UAAAA,MAAAA,CAAOW,IAAAA,CAAI,GAAI,IAAA,CAAKgB,WAAAA,CAAYV,IAAAA,EAAM;YAAEM,KAAAA,EAAO;AAAM,WAAA,CAAA,CAAA;AACrDvB,UAAAA,MAAAA,CAAOW,IAAAA,CAAI,GAAI,IAAA,CAAKgB,WAAAA,CAAYV,IAAAA,EAAM;YAAEM,KAAAA,EAAO;AAAS,WAAA,CAAA,CAAA;AACxDvB,UAAAA,MAAAA,CAAOW,IAAAA,CAAI,GAAI,IAAA,CAAKgB,WAAAA,CAAYV,IAAAA,EAAM;YAAEM,KAAAA,EAAO;AAAO,WAAA,CAAA,CAAA;AACxD,QAAA;MACF,CAAA,MAAO;AACLvB,QAAAA,MAAAA,CAAOW,IAAAA,CAAI,GACN,IAAA,CAAKjB,KAAAA,CAAMuB,IAAAA,CAAAA,CAAMa,GAAAA,CAAIC,CAAAA,CAAAA,KAAAA;AACtB,UAAA,MAAMnC,MAAAA,GAAS,IAAA,CAAKH,OAAAA,CAAQuC,IAAAA,CAC1BC,CAAAA,CAAAA,KAAKA,CAAAA,CAAErC,MAAAA,CAAOsC,IAAAA,KAASH,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA;AAEtC,UAAA,IAAI,CAACtC,MAAAA,EAAQ;AACX,YAAA,MAAM,IAAIL,KAAAA,CACR,CAAA,0CAAA,EAA6CwC,CAAAA,CAAEnC,MAAAA,CAAOsC,IAAI,CAAA,EAAA,CAAI,CAAA;AAElE,UAAA;AAEA,UAAA,OAAO;AACLC,YAAAA,MAAAA,EAAQJ,CAAAA,CAAEK,OAAAA;AACVjD,YAAAA,OAAAA,EAASS,MAAAA,CAAOT;AAClB,WAAA;AACF,QAAA,CAAA,CAAA,CAAA;AAEJ,MAAA;AACF,IAAA;AAEA,IAAA,OAAOa,MAAAA;AACT,EAAA;AAEA,EAAA,WAAA,CACEd,QACAD,eAAAA,EACA;AACA,IAAA,KAAA,CAAMA,eAAAA,CAAAA;AAEN,IAAA,IAAA,CAAKuD,cAAAA,GAAiBtD,MAAAA;AACxB,EAAA;AACF","file":"chunk-6YGUB7EC.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 { FunctionLike, MaybePromise } from \"@stryke/types/base\";\nimport type {\n ExternalIdResult,\n HookFilter,\n TransformResult,\n UnpluginOptions\n} from \"unplugin\";\nimport type { UnpluginBuildVariant } from \"./build\";\nimport type { CommandType } from \"./commands\";\nimport type { EnvironmentConfig, PluginConfig } from \"./config\";\nimport type {\n BuildPluginContext,\n PluginContext,\n UnresolvedContext\n} from \"./context\";\nimport type { EnvironmentResolvedConfig, ResolvedConfig } from \"./resolved\";\n\nexport interface PluginHookObject<\n THookFunction extends FunctionLike,\n TFilter extends keyof HookFilter = never\n> {\n /**\n * The order in which the plugin should be applied.\n */\n order?: \"pre\" | \"post\" | null | undefined;\n\n /**\n * A filter to determine when the hook should be called.\n */\n filter?: Pick<HookFilter, TFilter>;\n\n /**\n * The hook function to be called.\n */\n handler: THookFunction;\n}\n\nexport type PluginHook<\n THookFunction extends FunctionLike,\n TFilter extends keyof HookFilter = never\n> = THookFunction | PluginHookObject<THookFunction, TFilter>;\n\n/**\n * A result returned by the plugin from the `types` hook that describes the declaration types output file.\n */\nexport interface TypesResult {\n directives?: string[];\n code: string;\n}\n\ntype DeepPartial<T> = {\n [K in keyof T]?: DeepPartial<T[K]>;\n};\n\nexport type ConfigResult<TContext extends PluginContext = PluginContext> =\n DeepPartial<TContext[\"config\"]> & Record<string, any>;\n\nexport interface BasePluginHookFunctions<\n TContext extends PluginContext = PluginContext\n> extends Record<CommandType, (this: TContext) => MaybePromise<void>> {\n /**\n * A function that returns configuration options to be merged with the build context's options.\n *\n * @remarks\n * Modify config before it's resolved. The hook can either mutate {@link Context.config} on the passed-in context directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @warning User plugins are resolved before running this hook so injecting other plugins inside the config hook will have no effect. If you want to add plugins, consider doing so in the {@link Plugin.dependsOn} property instead.\n *\n * @see https://vitejs.dev/guide/api-plugin#config\n *\n * @param this - The build context.\n * @param config - The partial configuration object to be modified.\n * @returns A promise that resolves to a partial configuration object.\n */\n config: (\n this: UnresolvedContext<TContext[\"config\"]>\n ) => MaybePromise<ConfigResult<TContext>>;\n\n /**\n * Modify environment configs before it's resolved. The hook can either mutate the passed-in environment config directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @remarks\n * This hook is called for each environment with a partially resolved environment config that already accounts for the default environment config values set at the root level. If plugins need to modify the config of a given environment, they should do it in this hook instead of the config hook. Leaving the config hook only for modifying the root default environment config.\n *\n * @see https://vitejs.dev/guide/api-plugin#configenvironment\n *\n * @param this - The build context.\n * @param name - The name of the environment being configured.\n * @param environment - The Vite-like environment object containing information about the current build environment.\n * @returns A promise that resolves when the hook is complete.\n */\n configEnvironment: (\n this: TContext,\n name: string,\n environment: EnvironmentConfig\n ) => MaybePromise<Partial<EnvironmentResolvedConfig> | undefined | null>;\n\n /**\n * A hook that is called when the plugin is resolved.\n *\n * @see https://vitejs.dev/guide/api-plugin#configresolved\n *\n * @param this - The build context.\n * @returns A promise that resolves when the hook is complete.\n */\n configResolved: (this: TContext) => MaybePromise<void>;\n\n /**\n * A hook that is called to overwrite the generated declaration types file (.d.ts). The generated type definitions should describe the built-in modules/logic added during the `prepare` task.\n *\n * @param this - The build context.\n * @param code - The source code to generate types for.\n * @returns A promise that resolves when the hook is complete.\n */\n types: (\n this: TContext,\n code: string\n ) => MaybePromise<TypesResult | string | undefined | null>;\n\n /**\n * A hook that is called at the start of the build process.\n *\n * @param this - The build context and unplugin build context.\n * @returns A promise that resolves when the hook is complete.\n */\n buildStart: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext\n ) => MaybePromise<void>;\n\n /**\n * A hook that is called at the end of the build process.\n *\n * @param this - The build context and unplugin build context.\n * @returns A promise that resolves when the hook is complete.\n */\n buildEnd: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext\n ) => MaybePromise<void>;\n\n /**\n * A hook that is called to transform the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param code - The source code to transform.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n transform: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n code: string,\n id: string\n ) => MaybePromise<TransformResult>;\n\n /**\n * A hook that is called to load the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n load: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string\n ) => MaybePromise<TransformResult>;\n\n /**\n * A hook that is called to resolve the identifier of the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @param importer - The importer of the source code.\n * @param options - The options for resolving the identifier.\n * @returns A promise that resolves when the hook is complete.\n */\n resolveId: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string,\n importer: string | undefined,\n options: { isEntry: boolean }\n ) => MaybePromise<string | ExternalIdResult | null | undefined>;\n\n /**\n * A hook that is called to write the bundle to disk.\n *\n * @param this - The build context.\n * @returns A promise that resolves when the hook is complete.\n */\n writeBundle: (this: TContext) => MaybePromise<void>;\n}\n\nexport type BuildPlugin<\n TContext extends PluginContext = PluginContext,\n TBuildVariant extends UnpluginBuildVariant = UnpluginBuildVariant,\n TOptions extends Required<UnpluginOptions>[TBuildVariant] =\n Required<UnpluginOptions>[TBuildVariant]\n> = {\n [TKey in keyof TOptions]: TOptions[TKey] extends FunctionLike\n ? (\n this: ThisParameterType<TOptions[TKey]> & TContext,\n ...args: Parameters<TOptions[TKey]>\n ) => ReturnType<TOptions[TKey]> | MaybePromise<ReturnType<TOptions[TKey]>>\n : TOptions[TKey];\n};\n\nexport type ExternalPluginHookFunctionsVariant<\n TContext extends PluginContext = PluginContext,\n TBuildVariant extends UnpluginBuildVariant = UnpluginBuildVariant\n> = {\n [TKey in keyof BuildPlugin<TContext, TBuildVariant> &\n string as `${TBuildVariant}:${TKey}`]: BuildPlugin<\n TContext,\n TBuildVariant\n >[TKey];\n};\n\nexport type ExternalPluginHookFunctions<TContext extends PluginContext> =\n ExternalPluginHookFunctionsVariant<TContext, \"vite\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"esbuild\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rolldown\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rollup\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"webpack\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rspack\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"farm\">;\n\nexport type PluginHookFunctions<\n TContext extends PluginContext = PluginContext\n> = BasePluginHookFunctions<TContext> & ExternalPluginHookFunctions<TContext>;\n\nexport type PluginHooks<TContext extends PluginContext = PluginContext> = {\n [TKey in keyof BasePluginHookFunctions<TContext>]: PluginHook<\n BasePluginHookFunctions<TContext>[TKey]\n >;\n} & {\n /**\n * A function that returns configuration options to be merged with the build context's options.\n *\n * @remarks\n * Modify config before it's resolved. The hook can either mutate {@link Context.config} on the passed-in context directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @warning User plugins are resolved before running this hook so injecting other plugins inside the config hook will have no effect. If you want to add plugins, consider doing so in the {@link Plugin.dependsOn} property instead.\n *\n * @see https://vitejs.dev/guide/api-plugin#config\n *\n * @param this - The build context.\n * @param config - The partial configuration object to be modified.\n * @returns A promise that resolves to a partial configuration object.\n */\n config:\n | PluginHook<\n (\n this: UnresolvedContext<TContext[\"config\"]>\n ) => MaybePromise<ConfigResult<TContext>>\n >\n | ConfigResult<TContext>;\n\n /**\n * A hook that is called to transform the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param code - The source code to transform.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n transform: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n code: string,\n id: string\n ) => MaybePromise<TransformResult>,\n \"code\" | \"id\"\n >;\n\n /**\n * A hook that is called to load the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n load: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string\n ) => MaybePromise<TransformResult>,\n \"id\"\n >;\n\n /**\n * A hook that is called to resolve the identifier of the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @param importer - The importer of the source code.\n * @param options - The options for resolving the identifier.\n * @returns A promise that resolves when the hook is complete.\n */\n resolveId: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string,\n importer: string | undefined,\n options: { isEntry: boolean }\n ) => MaybePromise<string | ExternalIdResult | null | undefined>,\n \"id\"\n >;\n};\n\nexport type PluginBuildPlugins<TContext extends PluginContext = PluginContext> =\n {\n [TBuildVariant in UnpluginBuildVariant]?: BuildPlugin<\n TContext,\n TBuildVariant\n >;\n };\n\nexport interface Plugin<\n TContext extends PluginContext<ResolvedConfig> = PluginContext<ResolvedConfig>\n>\n extends Partial<PluginHooks<TContext>>, PluginBuildPlugins<TContext> {\n /**\n * The name of the plugin, for use in deduplication, error messages and logs.\n */\n name: string;\n\n /**\n * An API object that can be used for inter-plugin communication.\n *\n * @see https://rollupjs.org/plugin-development/#direct-plugin-communication\n */\n api?: Record<string, any>;\n\n /**\n * Enforce plugin invocation tier similar to webpack loaders. Hooks ordering is still subject to the `order` property in the hook object.\n *\n * @remarks\n * The Plugin invocation order is as follows:\n * - `enforce: 'pre'` plugins\n * - `order: 'pre'` plugin hooks\n * - any other plugins (normal)\n * - `order: 'post'` plugin hooks\n * - `enforce: 'post'` plugins\n *\n * @see https://vitejs.dev/guide/api-plugin.html#plugin-ordering\n * @see https://rollupjs.org/plugin-development/#build-hooks\n * @see https://webpack.js.org/concepts/loaders/#enforce---pre-and-post\n * @see https://esbuild.github.io/plugins/#concepts\n */\n enforce?: \"pre\" | \"post\";\n\n /**\n * A function to determine if two plugins are the same and can be de-duplicated.\n *\n * @remarks\n * If this is not provided, plugins are de-duplicated by comparing their names.\n *\n * @param other - The other plugin to compare against.\n * @returns `true` if the two plugins are the same, `false` otherwise.\n */\n dedupe?: false | ((other: Plugin<TContext>) => boolean);\n\n /**\n * A list of pre-requisite plugins that must be loaded before this plugin can be used.\n */\n dependsOn?: PluginConfig<TContext>[];\n\n /**\n * Define environments where this plugin should be active. By default, the plugin is active in all environments.\n *\n * @param environment - The environment to check.\n * @returns `true` if the plugin should be active in the specified environment, `false` otherwise.\n */\n applyToEnvironment?: (\n environment: EnvironmentResolvedConfig\n ) => boolean | PluginConfig<TContext>;\n}\n\nexport const PLUGIN_NON_HOOK_FIELDS = [\n \"name\",\n \"api\",\n \"enforce\",\n \"dedupe\",\n \"dependsOn\",\n \"applyToEnvironment\"\n] as const;\n\nexport type PluginNonHookFields =\n | ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>\n | UnpluginBuildVariant;\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport { ArrayValues } from \"@stryke/types/array\";\nimport {\n addPluginHook,\n getHookHandler,\n isHookExternal,\n isPlugin,\n isPluginConfig,\n isPluginHook\n} from \"../../plugin-utils/helpers\";\nimport { WorkspaceConfig } from \"../../types/config\";\nimport {\n EnvironmentContext,\n EnvironmentContextPlugin,\n PluginContext,\n SelectHooksOptions,\n SelectHooksResult\n} from \"../../types/context\";\nimport { BaseHooksList, HookKeys, HooksList } from \"../../types/hooks\";\nimport { Plugin, PLUGIN_NON_HOOK_FIELDS } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { PowerlinesContext } from \"./context\";\nimport { createPluginContext } from \"./plugin-context\";\n\nexport class PowerlinesEnvironmentContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements EnvironmentContext<TResolvedConfig>\n{\n /**\n * The hooks registered by plugins in this environment\n */\n #hooks: HooksList<PluginContext<TResolvedConfig>> = {} as HooksList<\n PluginContext<TResolvedConfig>\n >;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceConfig - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static async fromConfig<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceConfig: WorkspaceConfig,\n config: TResolvedConfig\n ): Promise<PowerlinesEnvironmentContext<TResolvedConfig>> {\n const context = new PowerlinesEnvironmentContext<TResolvedConfig>(\n config,\n workspaceConfig\n );\n await context.init();\n\n const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\n\n return context;\n }\n\n /**\n * The resolved environment configuration\n */\n public environment!: EnvironmentResolvedConfig;\n\n /**\n * The list of plugins applied to this environment\n */\n public plugins: EnvironmentContextPlugin<TResolvedConfig>[] = [];\n\n /**\n * The resolved configuration options\n */\n public override get config(): TResolvedConfig {\n return super.config;\n }\n\n public get hooks(): HooksList<PluginContext<TResolvedConfig>> {\n return this.#hooks;\n }\n\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n let resolvedPlugin = plugin;\n if (isFunction(plugin.applyToEnvironment)) {\n const result = await Promise.resolve(\n plugin.applyToEnvironment(this.environment)\n );\n\n if (!result || (isObject(result) && Object.keys(result).length === 0)) {\n return;\n }\n\n if (isPluginConfig(result)) {\n return this.$$internal.addPlugin(result);\n }\n\n resolvedPlugin = isPlugin<TResolvedConfig>(result) ? result : plugin;\n }\n\n const context = createPluginContext<TResolvedConfig>(resolvedPlugin, this);\n\n this.plugins.push({\n plugin: resolvedPlugin,\n context\n });\n\n this.#hooks = Object.keys(resolvedPlugin)\n .filter(\n key =>\n !PLUGIN_NON_HOOK_FIELDS.includes(\n key as ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>\n )\n )\n .reduce((ret, key) => {\n const hook = key as keyof HooksList<PluginContext<TResolvedConfig>>;\n const pluginHook = resolvedPlugin[hook as keyof typeof resolvedPlugin];\n if (!isPluginHook(pluginHook)) {\n return ret;\n }\n\n if (!isHookExternal(hook)) {\n ret[hook] ??= {};\n if (resolvedPlugin.enforce) {\n ret[hook][`${resolvedPlugin.enforce}Enforced`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${resolvedPlugin.enforce}Enforced`]!\n );\n\n return ret;\n }\n\n if (isFunction(pluginHook) || !pluginHook.order) {\n ret[hook].normal ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook].normal\n );\n\n return ret;\n }\n\n ret[hook][`${pluginHook.order}Ordered`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${pluginHook.order}Ordered`]!\n );\n } else {\n ret[hook] ??= [];\n ret[hook].push({\n plugin: resolvedPlugin,\n hook: getHookHandler(pluginHook).bind(context)\n } as any);\n }\n\n return ret;\n }, this.hooks);\n }\n\n /**\n * Retrieves the hook handlers for a specific hook name\n */\n public selectHooks<TKey extends HookKeys<PluginContext<TResolvedConfig>>>(\n hook: TKey,\n options?: SelectHooksOptions\n ): SelectHooksResult<TResolvedConfig, TKey>[] {\n const result = [] as SelectHooksResult<TResolvedConfig, TKey>[];\n\n if (this.hooks[hook]) {\n if (!isHookExternal(hook)) {\n const hooks = this.hooks[hook] as BaseHooksList<\n PluginContext<TResolvedConfig>\n >;\n if (options?.order) {\n if (options?.order === \"pre\") {\n result.push(\n ...(hooks.preOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.preEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else if (options?.order === \"post\") {\n result.push(\n ...(hooks.postOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.postEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else {\n result.push(\n ...(hooks.normal ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n } else {\n result.push(...this.selectHooks(hook, { order: \"pre\" }));\n result.push(...this.selectHooks(hook, { order: \"normal\" }));\n result.push(...this.selectHooks(hook, { order: \"post\" }));\n }\n } else {\n result.push(\n ...this.hooks[hook].map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${h.plugin.name}\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n }\n\n return result;\n }\n\n protected constructor(\n config: TResolvedConfig,\n workspaceConfig: WorkspaceConfig\n ) {\n super(workspaceConfig);\n\n this.resolvedConfig = config;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/types/plugin.ts","../../src/lib/contexts/environment-context.ts"],"names":["PLUGIN_NON_HOOK_FIELDS","PowerlinesEnvironmentContext","PowerlinesContext","fromConfig","workspaceConfig","config","context","init","powerlinesPath","resolvePackage","Error","environment","plugins","hooks","addPlugin","plugin","resolvedPlugin","isFunction","applyToEnvironment","result","Promise","resolve","isObject","Object","keys","length","isPluginConfig","$$internal","isPlugin","createPluginContext","push","filter","key","includes","reduce","ret","hook","pluginHook","isPluginHook","isHookExternal","enforce","addPluginHook","order","normal","getHookHandler","bind","selectHooks","options","preOrdered","map","h","find","p","name","handle","handler","preEnforced","postOrdered","postEnforced","resolvedConfig"],"mappings":"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","file":"chunk-BKFJFF7B.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ArrayValues } from \"@stryke/types/array\";\nimport type { FunctionLike, MaybePromise } from \"@stryke/types/base\";\nimport type {\n ExternalIdResult,\n HookFilter,\n TransformResult,\n UnpluginOptions\n} from \"unplugin\";\nimport type { UnpluginBuildVariant } from \"./build\";\nimport type { CommandType } from \"./commands\";\nimport type { EnvironmentConfig, PluginConfig } from \"./config\";\nimport type {\n BuildPluginContext,\n PluginContext,\n UnresolvedContext\n} from \"./context\";\nimport type { EnvironmentResolvedConfig, ResolvedConfig } from \"./resolved\";\n\nexport interface PluginHookObject<\n THookFunction extends FunctionLike,\n TFilter extends keyof HookFilter = never\n> {\n /**\n * The order in which the plugin should be applied.\n */\n order?: \"pre\" | \"post\" | null | undefined;\n\n /**\n * A filter to determine when the hook should be called.\n */\n filter?: Pick<HookFilter, TFilter>;\n\n /**\n * The hook function to be called.\n */\n handler: THookFunction;\n}\n\nexport type PluginHook<\n THookFunction extends FunctionLike,\n TFilter extends keyof HookFilter = never\n> = THookFunction | PluginHookObject<THookFunction, TFilter>;\n\n/**\n * A result returned by the plugin from the `types` hook that describes the declaration types output file.\n */\nexport interface TypesResult {\n directives?: string[];\n code: string;\n}\n\ntype DeepPartial<T> = {\n [K in keyof T]?: DeepPartial<T[K]>;\n};\n\nexport type ConfigResult<TContext extends PluginContext = PluginContext> =\n DeepPartial<TContext[\"config\"]> & Record<string, any>;\n\nexport interface BasePluginHookFunctions<\n TContext extends PluginContext = PluginContext\n> extends Record<CommandType, (this: TContext) => MaybePromise<void>> {\n /**\n * A function that returns configuration options to be merged with the build context's options.\n *\n * @remarks\n * Modify config before it's resolved. The hook can either mutate {@link Context.config} on the passed-in context directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @warning User plugins are resolved before running this hook so injecting other plugins inside the config hook will have no effect. If you want to add plugins, consider doing so in the {@link Plugin.dependsOn} property instead.\n *\n * @see https://vitejs.dev/guide/api-plugin#config\n *\n * @param this - The build context.\n * @param config - The partial configuration object to be modified.\n * @returns A promise that resolves to a partial configuration object.\n */\n config: (\n this: UnresolvedContext<TContext[\"config\"]>\n ) => MaybePromise<ConfigResult<TContext>>;\n\n /**\n * Modify environment configs before it's resolved. The hook can either mutate the passed-in environment config directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @remarks\n * This hook is called for each environment with a partially resolved environment config that already accounts for the default environment config values set at the root level. If plugins need to modify the config of a given environment, they should do it in this hook instead of the config hook. Leaving the config hook only for modifying the root default environment config.\n *\n * @see https://vitejs.dev/guide/api-plugin#configenvironment\n *\n * @param this - The build context.\n * @param name - The name of the environment being configured.\n * @param environment - The Vite-like environment object containing information about the current build environment.\n * @returns A promise that resolves when the hook is complete.\n */\n configEnvironment: (\n this: TContext,\n name: string,\n environment: EnvironmentConfig\n ) => MaybePromise<Partial<EnvironmentResolvedConfig> | undefined | null>;\n\n /**\n * A hook that is called when the plugin is resolved.\n *\n * @see https://vitejs.dev/guide/api-plugin#configresolved\n *\n * @param this - The build context.\n * @returns A promise that resolves when the hook is complete.\n */\n configResolved: (this: TContext) => MaybePromise<void>;\n\n /**\n * A hook that is called to overwrite the generated declaration types file (.d.ts). The generated type definitions should describe the built-in modules/logic added during the `prepare` task.\n *\n * @param this - The build context.\n * @param code - The source code to generate types for.\n * @returns A promise that resolves when the hook is complete.\n */\n types: (\n this: TContext,\n code: string\n ) => MaybePromise<TypesResult | string | undefined | null>;\n\n /**\n * A hook that is called at the start of the build process.\n *\n * @param this - The build context and unplugin build context.\n * @returns A promise that resolves when the hook is complete.\n */\n buildStart: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext\n ) => MaybePromise<void>;\n\n /**\n * A hook that is called at the end of the build process.\n *\n * @param this - The build context and unplugin build context.\n * @returns A promise that resolves when the hook is complete.\n */\n buildEnd: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext\n ) => MaybePromise<void>;\n\n /**\n * A hook that is called to transform the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param code - The source code to transform.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n transform: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n code: string,\n id: string\n ) => MaybePromise<TransformResult>;\n\n /**\n * A hook that is called to load the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n load: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string\n ) => MaybePromise<TransformResult>;\n\n /**\n * A hook that is called to resolve the identifier of the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @param importer - The importer of the source code.\n * @param options - The options for resolving the identifier.\n * @returns A promise that resolves when the hook is complete.\n */\n resolveId: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string,\n importer: string | undefined,\n options: { isEntry: boolean }\n ) => MaybePromise<string | ExternalIdResult | null | undefined>;\n\n /**\n * A hook that is called to write the bundle to disk.\n *\n * @param this - The build context.\n * @returns A promise that resolves when the hook is complete.\n */\n writeBundle: (this: TContext) => MaybePromise<void>;\n}\n\nexport type BuildPlugin<\n TContext extends PluginContext = PluginContext,\n TBuildVariant extends UnpluginBuildVariant = UnpluginBuildVariant,\n TOptions extends Required<UnpluginOptions>[TBuildVariant] =\n Required<UnpluginOptions>[TBuildVariant]\n> = {\n [TKey in keyof TOptions]: TOptions[TKey] extends FunctionLike\n ? (\n this: ThisParameterType<TOptions[TKey]> & TContext,\n ...args: Parameters<TOptions[TKey]>\n ) => ReturnType<TOptions[TKey]> | MaybePromise<ReturnType<TOptions[TKey]>>\n : TOptions[TKey];\n};\n\nexport type ExternalPluginHookFunctionsVariant<\n TContext extends PluginContext = PluginContext,\n TBuildVariant extends UnpluginBuildVariant = UnpluginBuildVariant\n> = {\n [TKey in keyof BuildPlugin<TContext, TBuildVariant> &\n string as `${TBuildVariant}:${TKey}`]: BuildPlugin<\n TContext,\n TBuildVariant\n >[TKey];\n};\n\nexport type ExternalPluginHookFunctions<TContext extends PluginContext> =\n ExternalPluginHookFunctionsVariant<TContext, \"vite\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"esbuild\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rolldown\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rollup\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"webpack\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rspack\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"farm\">;\n\nexport type PluginHookFunctions<\n TContext extends PluginContext = PluginContext\n> = BasePluginHookFunctions<TContext> & ExternalPluginHookFunctions<TContext>;\n\nexport type PluginHooks<TContext extends PluginContext = PluginContext> = {\n [TKey in keyof BasePluginHookFunctions<TContext>]: PluginHook<\n BasePluginHookFunctions<TContext>[TKey]\n >;\n} & {\n /**\n * A function that returns configuration options to be merged with the build context's options.\n *\n * @remarks\n * Modify config before it's resolved. The hook can either mutate {@link Context.config} on the passed-in context directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @warning User plugins are resolved before running this hook so injecting other plugins inside the config hook will have no effect. If you want to add plugins, consider doing so in the {@link Plugin.dependsOn} property instead.\n *\n * @see https://vitejs.dev/guide/api-plugin#config\n *\n * @param this - The build context.\n * @param config - The partial configuration object to be modified.\n * @returns A promise that resolves to a partial configuration object.\n */\n config:\n | PluginHook<\n (\n this: UnresolvedContext<TContext[\"config\"]>\n ) => MaybePromise<ConfigResult<TContext>>\n >\n | ConfigResult<TContext>;\n\n /**\n * A hook that is called to transform the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param code - The source code to transform.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n transform: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n code: string,\n id: string\n ) => MaybePromise<TransformResult>,\n \"code\" | \"id\"\n >;\n\n /**\n * A hook that is called to load the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n load: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string\n ) => MaybePromise<TransformResult>,\n \"id\"\n >;\n\n /**\n * A hook that is called to resolve the identifier of the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @param importer - The importer of the source code.\n * @param options - The options for resolving the identifier.\n * @returns A promise that resolves when the hook is complete.\n */\n resolveId: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string,\n importer: string | undefined,\n options: { isEntry: boolean }\n ) => MaybePromise<string | ExternalIdResult | null | undefined>,\n \"id\"\n >;\n};\n\nexport type PluginBuildPlugins<TContext extends PluginContext = PluginContext> =\n {\n [TBuildVariant in UnpluginBuildVariant]?: BuildPlugin<\n TContext,\n TBuildVariant\n >;\n };\n\nexport interface Plugin<\n TContext extends PluginContext<ResolvedConfig> = PluginContext<ResolvedConfig>\n>\n extends Partial<PluginHooks<TContext>>, PluginBuildPlugins<TContext> {\n /**\n * The name of the plugin, for use in deduplication, error messages and logs.\n */\n name: string;\n\n /**\n * An API object that can be used for inter-plugin communication.\n *\n * @see https://rollupjs.org/plugin-development/#direct-plugin-communication\n */\n api?: Record<string, any>;\n\n /**\n * Enforce plugin invocation tier similar to webpack loaders. Hooks ordering is still subject to the `order` property in the hook object.\n *\n * @remarks\n * The Plugin invocation order is as follows:\n * - `enforce: 'pre'` plugins\n * - `order: 'pre'` plugin hooks\n * - any other plugins (normal)\n * - `order: 'post'` plugin hooks\n * - `enforce: 'post'` plugins\n *\n * @see https://vitejs.dev/guide/api-plugin.html#plugin-ordering\n * @see https://rollupjs.org/plugin-development/#build-hooks\n * @see https://webpack.js.org/concepts/loaders/#enforce---pre-and-post\n * @see https://esbuild.github.io/plugins/#concepts\n */\n enforce?: \"pre\" | \"post\";\n\n /**\n * A function to determine if two plugins are the same and can be de-duplicated.\n *\n * @remarks\n * If this is not provided, plugins are de-duplicated by comparing their names.\n *\n * @param other - The other plugin to compare against.\n * @returns `true` if the two plugins are the same, `false` otherwise.\n */\n dedupe?: false | ((other: Plugin<TContext>) => boolean);\n\n /**\n * A list of pre-requisite plugins that must be loaded before this plugin can be used.\n */\n dependsOn?: PluginConfig<TContext>[];\n\n /**\n * Define environments where this plugin should be active. By default, the plugin is active in all environments.\n *\n * @param environment - The environment to check.\n * @returns `true` if the plugin should be active in the specified environment, `false` otherwise.\n */\n applyToEnvironment?: (\n environment: EnvironmentResolvedConfig\n ) => boolean | PluginConfig<TContext>;\n}\n\nexport const PLUGIN_NON_HOOK_FIELDS = [\n \"name\",\n \"api\",\n \"enforce\",\n \"dedupe\",\n \"dependsOn\",\n \"applyToEnvironment\"\n] as const;\n\nexport type PluginNonHookFields =\n | ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>\n | UnpluginBuildVariant;\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport { ArrayValues } from \"@stryke/types/array\";\nimport {\n addPluginHook,\n getHookHandler,\n isHookExternal,\n isPlugin,\n isPluginConfig,\n isPluginHook\n} from \"../../plugin-utils/helpers\";\nimport { WorkspaceConfig } from \"../../types/config\";\nimport {\n EnvironmentContext,\n EnvironmentContextPlugin,\n PluginContext,\n SelectHooksOptions,\n SelectHooksResult\n} from \"../../types/context\";\nimport { BaseHooksList, HookKeys, HooksList } from \"../../types/hooks\";\nimport { Plugin, PLUGIN_NON_HOOK_FIELDS } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { PowerlinesContext } from \"./context\";\nimport { createPluginContext } from \"./plugin-context\";\n\nexport class PowerlinesEnvironmentContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements EnvironmentContext<TResolvedConfig>\n{\n /**\n * The hooks registered by plugins in this environment\n */\n #hooks: HooksList<PluginContext<TResolvedConfig>> = {} as HooksList<\n PluginContext<TResolvedConfig>\n >;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceConfig - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static async fromConfig<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceConfig: WorkspaceConfig,\n config: TResolvedConfig\n ): Promise<PowerlinesEnvironmentContext<TResolvedConfig>> {\n const context = new PowerlinesEnvironmentContext<TResolvedConfig>(\n config,\n workspaceConfig\n );\n await context.init();\n\n const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\n\n return context;\n }\n\n /**\n * The resolved environment configuration\n */\n public environment!: EnvironmentResolvedConfig;\n\n /**\n * The list of plugins applied to this environment\n */\n public plugins: EnvironmentContextPlugin<TResolvedConfig>[] = [];\n\n /**\n * The resolved configuration options\n */\n public override get config(): TResolvedConfig {\n return super.config;\n }\n\n public get hooks(): HooksList<PluginContext<TResolvedConfig>> {\n return this.#hooks;\n }\n\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n let resolvedPlugin = plugin;\n if (isFunction(plugin.applyToEnvironment)) {\n const result = await Promise.resolve(\n plugin.applyToEnvironment(this.environment)\n );\n\n if (!result || (isObject(result) && Object.keys(result).length === 0)) {\n return;\n }\n\n if (isPluginConfig(result)) {\n return this.$$internal.addPlugin(result);\n }\n\n resolvedPlugin = isPlugin<TResolvedConfig>(result) ? result : plugin;\n }\n\n const context = createPluginContext<TResolvedConfig>(resolvedPlugin, this);\n\n this.plugins.push({\n plugin: resolvedPlugin,\n context\n });\n\n this.#hooks = Object.keys(resolvedPlugin)\n .filter(\n key =>\n !PLUGIN_NON_HOOK_FIELDS.includes(\n key as ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>\n )\n )\n .reduce((ret, key) => {\n const hook = key as keyof HooksList<PluginContext<TResolvedConfig>>;\n const pluginHook = resolvedPlugin[hook as keyof typeof resolvedPlugin];\n if (!isPluginHook(pluginHook)) {\n return ret;\n }\n\n if (!isHookExternal(hook)) {\n ret[hook] ??= {};\n if (resolvedPlugin.enforce) {\n ret[hook][`${resolvedPlugin.enforce}Enforced`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${resolvedPlugin.enforce}Enforced`]!\n );\n\n return ret;\n }\n\n if (isFunction(pluginHook) || !pluginHook.order) {\n ret[hook].normal ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook].normal\n );\n\n return ret;\n }\n\n ret[hook][`${pluginHook.order}Ordered`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${pluginHook.order}Ordered`]!\n );\n } else {\n ret[hook] ??= [];\n ret[hook].push({\n plugin: resolvedPlugin,\n hook: getHookHandler(pluginHook).bind(context)\n } as any);\n }\n\n return ret;\n }, this.hooks);\n }\n\n /**\n * Retrieves the hook handlers for a specific hook name\n */\n public selectHooks<TKey extends HookKeys<PluginContext<TResolvedConfig>>>(\n hook: TKey,\n options?: SelectHooksOptions\n ): SelectHooksResult<TResolvedConfig, TKey>[] {\n const result = [] as SelectHooksResult<TResolvedConfig, TKey>[];\n\n if (this.hooks[hook]) {\n if (!isHookExternal(hook)) {\n const hooks = this.hooks[hook] as BaseHooksList<\n PluginContext<TResolvedConfig>\n >;\n if (options?.order) {\n if (options?.order === \"pre\") {\n result.push(\n ...(hooks.preOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.preEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else if (options?.order === \"post\") {\n result.push(\n ...(hooks.postOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.postEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else {\n result.push(\n ...(hooks.normal ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n } else {\n result.push(...this.selectHooks(hook, { order: \"pre\" }));\n result.push(...this.selectHooks(hook, { order: \"normal\" }));\n result.push(...this.selectHooks(hook, { order: \"post\" }));\n }\n } else {\n result.push(\n ...this.hooks[hook].map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${h.plugin.name}\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n }\n\n return result;\n }\n\n protected constructor(\n config: TResolvedConfig,\n workspaceConfig: WorkspaceConfig\n ) {\n super(workspaceConfig);\n\n this.resolvedConfig = config;\n }\n}\n"]}