powerlines 0.23.3 → 0.23.5

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 (290) hide show
  1. package/dist/api--9pVSIbm.d.cts +168 -0
  2. package/dist/api-DxPACGY4.d.ts +168 -0
  3. package/dist/api.cjs +3 -3
  4. package/dist/api.d.cts +16 -7
  5. package/dist/api.d.ts +16 -7
  6. package/dist/api.js +2 -2
  7. package/dist/astro.cjs +8 -8
  8. package/dist/astro.d.cts +3 -5
  9. package/dist/astro.d.ts +3 -5
  10. package/dist/astro.js +5 -5
  11. package/dist/babel-types.d.ts +292 -0
  12. package/dist/{chunk-CPRXGMH2.js → chunk-33BDG6M5.js} +1 -1
  13. package/dist/{chunk-KFRKOIP3.js → chunk-3HOOIAF4.js} +1 -1
  14. package/dist/{chunk-JZAQW55G.cjs → chunk-4OAW547A.cjs} +2 -2
  15. package/dist/{chunk-Q7HBETZW.js → chunk-5CCEQUAZ.js} +1 -1
  16. package/dist/{chunk-DWV5QAGZ.cjs → chunk-62BQYRPM.cjs} +2999 -2712
  17. package/dist/{chunk-F6BDL4HD.js → chunk-AK5B45AH.js} +1 -1
  18. package/dist/{chunk-3WDMXRK6.cjs → chunk-AYKZK666.cjs} +1 -1
  19. package/dist/{chunk-TNYZH6EG.js → chunk-E4M4KEL3.js} +2983 -2701
  20. package/dist/{chunk-WSLPUUGZ.js → chunk-GHHMURR4.js} +1 -1
  21. package/dist/{chunk-5A7FM72H.cjs → chunk-GXJ5L37C.cjs} +2 -2
  22. package/dist/{chunk-IGWSCIES.js → chunk-GZNJUK7U.js} +3 -2
  23. package/dist/{chunk-J7MZRPLN.cjs → chunk-I3EUY74Q.cjs} +5 -4
  24. package/dist/chunk-IVABRCNA.js +29 -0
  25. package/dist/{chunk-M4QJ2474.cjs → chunk-JJXDDTSL.cjs} +4 -4
  26. package/dist/{chunk-WDBPA4RQ.cjs → chunk-K5TOHSUD.cjs} +2 -2
  27. package/dist/{chunk-4ODWTALP.js → chunk-M7N6RX2H.js} +2 -2
  28. package/dist/{chunk-J3LN5HOC.cjs → chunk-MAOXZVDE.cjs} +2 -2
  29. package/dist/{chunk-YQ76DZYD.cjs → chunk-NWZXH2HK.cjs} +2 -2
  30. package/dist/{chunk-ZFO3FUM4.cjs → chunk-PFECSHR6.cjs} +2 -2
  31. package/dist/{chunk-JAJ4CI2F.cjs → chunk-Q3ZFML4W.cjs} +2 -2
  32. package/dist/chunk-RM37JA3L.cjs +32 -0
  33. package/dist/{chunk-GNNF5SG6.cjs → chunk-RVO5GC2H.cjs} +2 -2
  34. package/dist/{chunk-J5LKLH5Z.js → chunk-TSKJTJ2P.js} +1 -1
  35. package/dist/{chunk-WG55ZHJL.cjs → chunk-VRFJDHDN.cjs} +2 -2
  36. package/dist/{chunk-FM4ABZQ2.js → chunk-VT7NVLLU.js} +1 -1
  37. package/dist/{chunk-LKN52AAX.js → chunk-W36NC3B7.js} +1 -1
  38. package/dist/{chunk-RWVNX2CP.js → chunk-XDNNFAQR.js} +1 -1
  39. package/dist/{chunk-DUYZ3TCT.js → chunk-XWBVMNBI.js} +1 -1
  40. package/dist/{chunk-WXU3KLBP.cjs → chunk-YBOJFFO2.cjs} +2 -2
  41. package/dist/{chunk-NH7U3PTV.js → chunk-ZOMJH52N.js} +1 -1
  42. package/dist/config.d.cts +3 -5
  43. package/dist/config.d.ts +3 -5
  44. package/dist/esbuild.cjs +7 -7
  45. package/dist/esbuild.d.cts +3 -5
  46. package/dist/esbuild.d.ts +3 -5
  47. package/dist/esbuild.js +4 -4
  48. package/dist/farm.cjs +4 -4
  49. package/dist/farm.d.cts +3 -5
  50. package/dist/farm.d.ts +3 -5
  51. package/dist/farm.js +3 -3
  52. package/dist/index.cjs +54 -33
  53. package/dist/index.d.cts +188 -36
  54. package/dist/index.d.ts +188 -36
  55. package/dist/index.js +18 -17
  56. package/dist/lib/api-B6hfFxVS.d.ts +167 -0
  57. package/dist/lib/api-CD2QlMig.d.cts +167 -0
  58. package/dist/lib/build/esbuild.d.cts +2 -4
  59. package/dist/lib/build/esbuild.d.ts +2 -4
  60. package/dist/lib/build/index.d.cts +4 -5
  61. package/dist/lib/build/index.d.ts +4 -5
  62. package/dist/lib/build/rolldown.d.cts +2 -4
  63. package/dist/lib/build/rolldown.d.ts +2 -4
  64. package/dist/lib/build/rollup.d.cts +2 -4
  65. package/dist/lib/build/rollup.d.ts +2 -4
  66. package/dist/lib/build/rspack.d.cts +2 -4
  67. package/dist/lib/build/rspack.d.ts +2 -4
  68. package/dist/lib/build/tsup.d.cts +2 -4
  69. package/dist/lib/build/tsup.d.ts +2 -4
  70. package/dist/lib/build/unbuild.d.cts +4 -23
  71. package/dist/lib/build/unbuild.d.ts +4 -23
  72. package/dist/lib/build/vite.d.cts +2 -4
  73. package/dist/lib/build/vite.d.ts +2 -4
  74. package/dist/lib/build/webpack.d.cts +2 -4
  75. package/dist/lib/build/webpack.d.ts +2 -4
  76. package/dist/lib/chunk-27RAXIPT.cjs +175 -0
  77. package/dist/lib/chunk-32Q2PG5D.js +9 -0
  78. package/dist/lib/chunk-35FGUJFD.cjs +2 -0
  79. package/dist/lib/{chunk-LIN4KAV3.js → chunk-52VDUP5J.js} +5 -7
  80. package/dist/lib/{chunk-UWHGJ4JS.js → chunk-764HUXP3.js} +484 -1777
  81. package/dist/lib/chunk-B3EE3VHZ.cjs +127 -0
  82. package/dist/lib/chunk-CCGA6ZHZ.cjs +1218 -0
  83. package/dist/lib/chunk-DX2VAXZB.cjs +11 -0
  84. package/dist/lib/{chunk-VGSV2BEL.cjs → chunk-EFYMNU53.cjs} +6 -12
  85. package/dist/lib/chunk-EJTGOYSI.cjs +146 -0
  86. package/dist/lib/chunk-EN4XP4D5.js +144 -0
  87. package/dist/lib/chunk-FFT4PWRM.js +1 -0
  88. package/dist/lib/{chunk-L4NEN725.js → chunk-G7S5PIAC.js} +1 -1
  89. package/dist/lib/chunk-KFJCWNVG.js +120 -0
  90. package/dist/lib/chunk-MVIKYHBX.cjs +2 -0
  91. package/dist/lib/chunk-NDKPSA3I.js +1190 -0
  92. package/dist/lib/{chunk-A5SB72VO.cjs → chunk-NVUXGMU5.cjs} +495 -1781
  93. package/dist/lib/chunk-NYNHNTHT.js +1 -0
  94. package/dist/lib/chunk-SZH2DJOG.js +168 -0
  95. package/dist/lib/{chunk-ULJVBW4L.cjs → chunk-ZBDVQVUK.cjs} +1 -1
  96. package/dist/lib/{config-BoGlIhnH.d.cts → config-DTSdCZsw.d.cts} +650 -633
  97. package/dist/lib/{config-CTej7RMP.d.ts → config-DeUaQYc_.d.ts} +650 -633
  98. package/dist/lib/config-file.d.cts +2 -4
  99. package/dist/lib/config-file.d.ts +2 -4
  100. package/dist/lib/contexts/api-context.cjs +18 -0
  101. package/dist/lib/contexts/api-context.d.cts +69 -0
  102. package/dist/lib/contexts/api-context.d.ts +69 -0
  103. package/dist/lib/contexts/api-context.js +9 -0
  104. package/dist/lib/contexts/context.cjs +15 -0
  105. package/dist/lib/contexts/context.d.cts +255 -0
  106. package/dist/lib/contexts/context.d.ts +255 -0
  107. package/dist/lib/contexts/context.js +6 -0
  108. package/dist/lib/contexts/environment-context.cjs +17 -0
  109. package/dist/lib/contexts/environment-context.d.cts +65 -0
  110. package/dist/lib/contexts/environment-context.d.ts +65 -0
  111. package/dist/lib/contexts/environment-context.js +8 -0
  112. package/dist/lib/contexts/index.cjs +31 -0
  113. package/dist/lib/contexts/index.d.cts +35 -0
  114. package/dist/lib/contexts/index.d.ts +35 -0
  115. package/dist/lib/contexts/index.js +10 -0
  116. package/dist/lib/contexts/plugin-context.cjs +11 -0
  117. package/dist/lib/contexts/plugin-context.d.cts +42 -0
  118. package/dist/lib/contexts/plugin-context.d.ts +42 -0
  119. package/dist/lib/contexts/plugin-context.js +2 -0
  120. package/dist/lib/entry.d.cts +2 -4
  121. package/dist/lib/entry.d.ts +2 -4
  122. package/dist/lib/index.cjs +96 -74
  123. package/dist/lib/index.d.cts +17 -14
  124. package/dist/lib/index.d.ts +17 -14
  125. package/dist/lib/index.js +18 -12
  126. package/dist/lib/internal-CpVMJCaU.d.ts +39 -0
  127. package/dist/lib/internal-ypnrUNZy.d.cts +39 -0
  128. package/dist/lib/logger.d.cts +2 -4
  129. package/dist/lib/logger.d.ts +2 -4
  130. package/dist/lib/typescript/compiler-host.cjs +1 -1
  131. package/dist/lib/typescript/compiler-host.d.cts +2 -4
  132. package/dist/lib/typescript/compiler-host.d.ts +2 -4
  133. package/dist/lib/typescript/compiler-host.js +1 -1
  134. package/dist/lib/typescript/import-transformer.d.cts +2 -4
  135. package/dist/lib/typescript/import-transformer.d.ts +2 -4
  136. package/dist/lib/typescript/index.cjs +29 -24
  137. package/dist/lib/typescript/index.d.cts +4 -4
  138. package/dist/lib/typescript/index.d.ts +4 -4
  139. package/dist/lib/typescript/index.js +3 -2
  140. package/dist/lib/typescript/program.d.cts +2 -4
  141. package/dist/lib/typescript/program.d.ts +2 -4
  142. package/dist/lib/typescript/ts-morph.cjs +11 -0
  143. package/dist/lib/{create-program.d.ts → typescript/ts-morph.d.cts} +3 -5
  144. package/dist/lib/{create-program.d.cts → typescript/ts-morph.d.ts} +3 -5
  145. package/dist/lib/typescript/ts-morph.js +2 -0
  146. package/dist/lib/unplugin/factory.cjs +8 -4
  147. package/dist/lib/unplugin/factory.d.cts +27 -10
  148. package/dist/lib/unplugin/factory.d.ts +27 -10
  149. package/dist/lib/unplugin/factory.js +7 -3
  150. package/dist/lib/unplugin/helpers.cjs +11 -0
  151. package/dist/lib/unplugin/helpers.d.cts +128 -0
  152. package/dist/lib/unplugin/helpers.d.ts +128 -0
  153. package/dist/lib/unplugin/helpers.js +2 -0
  154. package/dist/lib/unplugin/index.cjs +12 -7
  155. package/dist/lib/unplugin/index.d.cts +4 -6
  156. package/dist/lib/unplugin/index.d.ts +4 -6
  157. package/dist/lib/unplugin/index.js +9 -4
  158. package/dist/lib/unplugin/plugin.cjs +4 -3
  159. package/dist/lib/unplugin/plugin.d.cts +2 -4
  160. package/dist/lib/unplugin/plugin.d.ts +2 -4
  161. package/dist/lib/unplugin/plugin.js +3 -2
  162. package/dist/lib/unplugin/resolve-id.cjs +2 -2
  163. package/dist/lib/unplugin/resolve-id.d.cts +2 -4
  164. package/dist/lib/unplugin/resolve-id.d.ts +2 -4
  165. package/dist/lib/unplugin/resolve-id.js +1 -1
  166. package/dist/lib/utilities/bundle.d.cts +2 -4
  167. package/dist/lib/utilities/bundle.d.ts +2 -4
  168. package/dist/lib/utilities/cache.d.cts +2 -4
  169. package/dist/lib/utilities/cache.d.ts +2 -4
  170. package/dist/lib/utilities/file-header.d.cts +2 -4
  171. package/dist/lib/utilities/file-header.d.ts +2 -4
  172. package/dist/lib/utilities/index.cjs +18 -18
  173. package/dist/lib/utilities/index.d.cts +2 -4
  174. package/dist/lib/utilities/index.d.ts +2 -4
  175. package/dist/lib/utilities/index.js +4 -4
  176. package/dist/lib/utilities/meta.d.cts +2 -4
  177. package/dist/lib/utilities/meta.d.ts +2 -4
  178. package/dist/lib/utilities/resolve-path.d.cts +2 -4
  179. package/dist/lib/utilities/resolve-path.d.ts +2 -4
  180. package/dist/lib/utilities/resolve.d.cts +2 -4
  181. package/dist/lib/utilities/resolve.d.ts +2 -4
  182. package/dist/lib/utilities/source-file.d.cts +2 -4
  183. package/dist/lib/utilities/source-file.d.ts +2 -4
  184. package/dist/lib/utilities/source-map.d.cts +2 -4
  185. package/dist/lib/utilities/source-map.d.ts +2 -4
  186. package/dist/lib/utilities/worker.d.cts +2 -4
  187. package/dist/lib/utilities/worker.d.ts +2 -4
  188. package/dist/lib/utilities/write-file.d.cts +2 -4
  189. package/dist/lib/utilities/write-file.d.ts +2 -4
  190. package/dist/next.cjs +8 -8
  191. package/dist/next.js +5 -5
  192. package/dist/nuxt.cjs +9 -9
  193. package/dist/nuxt.js +6 -6
  194. package/dist/plugin-utils/{context-D1I2JQgs.d.cts → context-DRFZE3XI.d.cts} +535 -518
  195. package/dist/plugin-utils/{context-D1I2JQgs.d.ts → context-DRFZE3XI.d.ts} +535 -518
  196. package/dist/plugin-utils/context-helpers.d.cts +2 -4
  197. package/dist/plugin-utils/context-helpers.d.ts +2 -4
  198. package/dist/plugin-utils/enforce.d.cts +2 -4
  199. package/dist/plugin-utils/enforce.d.ts +2 -4
  200. package/dist/plugin-utils/extend.d.cts +2 -4
  201. package/dist/plugin-utils/extend.d.ts +2 -4
  202. package/dist/plugin-utils/get-config-path.d.cts +2 -4
  203. package/dist/plugin-utils/get-config-path.d.ts +2 -4
  204. package/dist/plugin-utils/helpers.d.cts +2 -4
  205. package/dist/plugin-utils/helpers.d.ts +2 -4
  206. package/dist/plugin-utils/index.d.cts +2 -4
  207. package/dist/plugin-utils/index.d.ts +2 -4
  208. package/dist/plugin-utils/merge.d.cts +2 -4
  209. package/dist/plugin-utils/merge.d.ts +2 -4
  210. package/dist/plugin-utils/paths.d.cts +2 -4
  211. package/dist/plugin-utils/paths.d.ts +2 -4
  212. package/dist/{resolved-Dem-rX6I.d.cts → resolved-C00CJgsk.d.cts} +9 -8
  213. package/dist/{resolved-BVakEeek.d.ts → resolved-DKFZ11S7.d.ts} +9 -8
  214. package/dist/rolldown.cjs +7 -7
  215. package/dist/rolldown.d.cts +3 -5
  216. package/dist/rolldown.d.ts +3 -5
  217. package/dist/rolldown.js +4 -4
  218. package/dist/rollup.cjs +7 -7
  219. package/dist/rollup.d.cts +3 -5
  220. package/dist/rollup.d.ts +3 -5
  221. package/dist/rollup.js +4 -4
  222. package/dist/rspack.cjs +7 -7
  223. package/dist/rspack.d.cts +3 -5
  224. package/dist/rspack.d.ts +3 -5
  225. package/dist/rspack.js +4 -4
  226. package/dist/tsup.cjs +8 -8
  227. package/dist/tsup.js +5 -5
  228. package/dist/types/api.cjs +4 -0
  229. package/dist/types/api.d.cts +36 -0
  230. package/dist/types/api.d.ts +36 -0
  231. package/dist/types/api.js +1 -0
  232. package/dist/types/babel.d.cts +3 -5
  233. package/dist/types/babel.d.ts +3 -5
  234. package/dist/types/commands.d.cts +3 -5
  235. package/dist/types/commands.d.ts +3 -5
  236. package/dist/types/config.d.cts +3 -5
  237. package/dist/types/config.d.ts +3 -5
  238. package/dist/types/context.d.cts +3 -5
  239. package/dist/types/context.d.ts +3 -5
  240. package/dist/types/{vfs.cjs → fs.cjs} +3 -3
  241. package/dist/types/{vfs.d.cts → fs.d.cts} +43 -38
  242. package/dist/types/{vfs.d.ts → fs.d.ts} +43 -38
  243. package/dist/types/fs.js +2 -0
  244. package/dist/types/hooks.d.cts +3 -5
  245. package/dist/types/hooks.d.ts +3 -5
  246. package/dist/types/index.cjs +9 -8
  247. package/dist/types/index.d.cts +5 -6
  248. package/dist/types/index.d.ts +5 -6
  249. package/dist/types/index.js +3 -2
  250. package/dist/types/internal.d.cts +44 -9
  251. package/dist/types/internal.d.ts +44 -9
  252. package/dist/types/plugin.d.cts +3 -5
  253. package/dist/types/plugin.d.ts +3 -5
  254. package/dist/types/resolved.d.cts +3 -5
  255. package/dist/types/resolved.d.ts +3 -5
  256. package/dist/types/unplugin.d.cts +20 -12
  257. package/dist/types/unplugin.d.ts +20 -12
  258. package/dist/unloader.cjs +7 -7
  259. package/dist/unloader.d.cts +12 -14
  260. package/dist/unloader.d.ts +12 -14
  261. package/dist/unloader.js +4 -4
  262. package/dist/unplugin.cjs +18 -18
  263. package/dist/unplugin.d.cts +6 -9
  264. package/dist/unplugin.d.ts +6 -9
  265. package/dist/unplugin.js +15 -15
  266. package/dist/vite.cjs +7 -7
  267. package/dist/vite.d.cts +3 -5
  268. package/dist/vite.d.ts +3 -5
  269. package/dist/vite.js +4 -4
  270. package/dist/webpack.cjs +7 -7
  271. package/dist/webpack.d.cts +3 -5
  272. package/dist/webpack.d.ts +3 -5
  273. package/dist/webpack.js +4 -4
  274. package/package.json +38 -10
  275. package/schemas/fs.capnp +73 -15
  276. package/dist/chunk-RODEAGIJ.cjs +0 -32
  277. package/dist/chunk-SKLSRHBU.js +0 -29
  278. package/dist/hooks-B3vzw6La.d.ts +0 -28
  279. package/dist/hooks-YACA4jMY.d.cts +0 -28
  280. package/dist/lib/create-program.cjs +0 -11
  281. package/dist/lib/create-program.js +0 -2
  282. package/dist/lib/hooks-CDLPWf7j.d.cts +0 -28
  283. package/dist/lib/hooks-Cn-IqwYp.d.ts +0 -28
  284. package/dist/types/vfs.js +0 -2
  285. /package/dist/{chunk-KIKTWMI3.cjs → chunk-2NCILNCH.cjs} +0 -0
  286. /package/dist/{chunk-XVLT2RQ2.js → chunk-BLNT5INX.js} +0 -0
  287. /package/dist/{lib/chunk-RJ4277VZ.cjs → chunk-GRU7B3QM.cjs} +0 -0
  288. /package/dist/{lib/chunk-ZBLDAREE.js → chunk-T2P533I5.js} +0 -0
  289. /package/dist/lib/{chunk-CGYAL3S2.cjs → chunk-4EIXDLFP.cjs} +0 -0
  290. /package/dist/lib/{chunk-CXRSMYEX.js → chunk-RD5AUWXN.js} +0 -0
@@ -0,0 +1,175 @@
1
+ 'use strict';
2
+
3
+ var chunkEJTGOYSI_cjs = require('./chunk-EJTGOYSI.cjs');
4
+ var chunkNVUXGMU5_cjs = require('./chunk-NVUXGMU5.cjs');
5
+ var chunkXW5TELHB_cjs = require('./chunk-XW5TELHB.cjs');
6
+ var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
7
+ var types = require('@storm-software/config-tools/types');
8
+ var toArray = require('@stryke/convert/to-array');
9
+ var resolve = require('@stryke/fs/resolve');
10
+ var isSetObject = require('@stryke/type-checks/is-set-object');
11
+ var chalk = require('chalk');
12
+ var titleCase = require('@stryke/string-format/title-case');
13
+ var defu = require('defu');
14
+
15
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
+
17
+ var chalk__default = /*#__PURE__*/_interopDefault(chalk);
18
+ var defu__default = /*#__PURE__*/_interopDefault(defu);
19
+
20
+ var DEFAULT_ENVIRONMENT = "default";
21
+ function createEnvironment(name, userConfig) {
22
+ return defu__default.default(userConfig.environments?.[name] ?? {}, {
23
+ name,
24
+ title: userConfig.title || titleCase.titleCase(userConfig.name),
25
+ ssr: false,
26
+ mainFields: userConfig.build?.platform === "browser" ? [
27
+ "browser",
28
+ "module",
29
+ "jsnext:main",
30
+ "jsnext"
31
+ ] : [
32
+ "module",
33
+ "jsnext:main",
34
+ "jsnext"
35
+ ],
36
+ extensions: [
37
+ ".mjs",
38
+ ".js",
39
+ ".mts",
40
+ ".ts",
41
+ ".jsx",
42
+ ".tsx",
43
+ ".json"
44
+ ],
45
+ consumer: userConfig.build?.platform === "browser" ? "client" : "server",
46
+ preview: userConfig.build?.platform === "browser" ? {
47
+ port: 5173,
48
+ open: true,
49
+ strictPort: false,
50
+ // https: false,
51
+ host: "localhost",
52
+ allowedHosts: [
53
+ "."
54
+ ],
55
+ cors: true,
56
+ headers: {}
57
+ } : void 0
58
+ }, userConfig);
59
+ }
60
+ chunkUSNT2KNT_cjs.__name(createEnvironment, "createEnvironment");
61
+ function createDefaultEnvironment(userConfig) {
62
+ return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);
63
+ }
64
+ chunkUSNT2KNT_cjs.__name(createDefaultEnvironment, "createDefaultEnvironment");
65
+
66
+ // src/lib/contexts/api-context.ts
67
+ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunkNVUXGMU5_cjs.PowerlinesContext {
68
+ static {
69
+ chunkUSNT2KNT_cjs.__name(this, "PowerlinesAPIContext");
70
+ }
71
+ #environments = {};
72
+ #plugins = [];
73
+ #log;
74
+ /**
75
+ * Create a new Storm context from the workspace root and user config.
76
+ *
77
+ * @param workspaceRoot - The root directory of the workspace.
78
+ * @param config - The user configuration options.
79
+ * @returns A promise that resolves to the new context.
80
+ */
81
+ static async from(workspaceRoot, config) {
82
+ const context = new _PowerlinesAPIContext(await chunkXW5TELHB_cjs.loadWorkspaceConfig(workspaceRoot, config.root));
83
+ await context.withUserConfig(config);
84
+ context.powerlinesPath = await resolve.resolvePackage("powerlines");
85
+ if (!context.powerlinesPath) {
86
+ throw new Error("Could not resolve `powerlines` package location.");
87
+ }
88
+ return context;
89
+ }
90
+ /**
91
+ * A record of all environments by name
92
+ */
93
+ get environments() {
94
+ return this.#environments;
95
+ }
96
+ get log() {
97
+ if (!this.#log) {
98
+ this.#log = this.createLog("engine");
99
+ }
100
+ return this.#log;
101
+ }
102
+ get plugins() {
103
+ return this.#plugins;
104
+ }
105
+ constructor(workspaceConfig) {
106
+ super(workspaceConfig);
107
+ }
108
+ /**
109
+ * Initialize the context with the provided configuration options
110
+ *
111
+ * @param config - The partial user configuration to use for initialization.
112
+ */
113
+ async init(config = {}) {
114
+ await super.init(config);
115
+ await Promise.all(toArray.toArray(this.config.userConfig.environments && Object.keys(this.config.userConfig.environments).length > 0 ? Object.keys(this.config.userConfig.environments).map((name) => createEnvironment(name, this.config.userConfig)) : createDefaultEnvironment(this.config.userConfig)).map(async (env) => {
116
+ this.#environments[env.name] = await this.in(env);
117
+ }));
118
+ }
119
+ /**
120
+ * A function to copy the context and update the fields for a specific environment
121
+ *
122
+ * @param environment - The environment configuration to use.
123
+ * @returns A new context instance with the updated environment.
124
+ */
125
+ async in(environment) {
126
+ let context;
127
+ if (this.environments[environment.name]) {
128
+ context = this.environments[environment.name];
129
+ } else {
130
+ context = await chunkEJTGOYSI_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
131
+ }
132
+ if (isSetObject.isSetObject(this.config.inlineConfig)) {
133
+ await context.withInlineConfig(this.config.inlineConfig);
134
+ }
135
+ context.environment = environment;
136
+ context.plugins = [];
137
+ for (const plugin of this.plugins) {
138
+ await context.addPlugin(plugin);
139
+ }
140
+ return context;
141
+ }
142
+ async addPlugin(plugin) {
143
+ this.plugins.push(plugin);
144
+ await Promise.all(Object.keys(this.environments).map(async (name) => {
145
+ await this.environments[name].addPlugin(plugin);
146
+ }));
147
+ }
148
+ async getEnvironment(name) {
149
+ let environment;
150
+ if (name) {
151
+ environment = this.environments[name];
152
+ }
153
+ if (Object.keys(this.environments).length === 1) {
154
+ environment = this.environments[Object.keys(this.environments)[0]];
155
+ this.log(types.LogLevelLabel.DEBUG, `Applying the only configured environment: ${chalk__default.default.bold.cyanBright(environment?.environment.name)}`);
156
+ }
157
+ if (!environment) {
158
+ if (name) {
159
+ throw new Error(`Environment "${name}" not found.`);
160
+ }
161
+ environment = await this.in(createDefaultEnvironment(this.config.userConfig));
162
+ this.log(types.LogLevelLabel.WARN, `No environment specified, and no default environment found. Using a temporary default environment: ${chalk__default.default.bold.cyanBright(environment?.environment.name)}`);
163
+ }
164
+ return environment;
165
+ }
166
+ async getEnvironmentSafe(name) {
167
+ try {
168
+ return await this.getEnvironment(name);
169
+ } catch {
170
+ return void 0;
171
+ }
172
+ }
173
+ };
174
+
175
+ exports.PowerlinesAPIContext = PowerlinesAPIContext;
@@ -0,0 +1,9 @@
1
+ import { __name } from './chunk-SHUYVCID.js';
2
+ import { defu } from 'defu';
3
+
4
+ function combineContexts(context, unplugin) {
5
+ return defu(context, unplugin);
6
+ }
7
+ __name(combineContexts, "combineContexts");
8
+
9
+ export { combineContexts };
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -1,13 +1,12 @@
1
- import { handleResolveId } from './chunk-L4NEN725.js';
1
+ import { combineContexts } from './chunk-32Q2PG5D.js';
2
+ import { handleResolveId } from './chunk-G7S5PIAC.js';
2
3
  import { extendLog } from './chunk-ENRLU4UR.js';
3
4
  import { getString } from './chunk-M263EZ4F.js';
4
5
  import { __name } from './chunk-SHUYVCID.js';
5
6
  import { LogLevelLabel } from '@storm-software/config-tools/types';
6
- import { omit } from '@stryke/helpers/omit';
7
7
  import { findFileName } from '@stryke/path/file-path-fns';
8
8
  import { replaceExtension } from '@stryke/path/replace';
9
9
  import { isString } from '@stryke/type-checks/is-string';
10
- import defu from 'defu';
11
10
 
12
11
  function createUnplugin(context, options = {}) {
13
12
  const ctx = context;
@@ -68,7 +67,7 @@ function createUnplugin(context, options = {}) {
68
67
  entry.output ||= entry.output?.replace(findFileName(entry.output, {
69
68
  withExtension: true
70
69
  }), entry.file);
71
- await ctx.writeEntry(`
70
+ await ctx.emitEntry(`
72
71
  ${ctx.config.build.polyfill.map((p) => `import "${p}";`).join("\n")}
73
72
 
74
73
  export * from "${isString(resolved) ? resolved : resolved.id}";
@@ -114,9 +113,7 @@ export * from "${isString(resolved) ? resolved : resolved.id}";
114
113
  async function transform(code, id) {
115
114
  let transformed = code;
116
115
  for (const handler of ctx.$$internal.environment.selectHooks("transform")) {
117
- const result = await handler.apply(defu(ctx, omit(this, [
118
- "parse"
119
- ])), [
116
+ const result = await handler.apply(combineContexts(ctx, this), [
120
117
  getString(transformed),
121
118
  id
122
119
  ]);
@@ -143,6 +140,7 @@ export * from "${isString(resolved) ? resolved : resolved.id}";
143
140
  __name(writeBundle, "writeBundle");
144
141
  return {
145
142
  name: "powerlines",
143
+ api: ctx.$$internal.api,
146
144
  resolveId: {
147
145
  filter: {
148
146
  id: {