@powerlines/core 0.10.1 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/dist/constants/api.cjs +18 -0
  2. package/dist/constants/api.d.cts +6 -0
  3. package/dist/constants/api.d.cts.map +1 -0
  4. package/dist/constants/api.d.mts +6 -0
  5. package/dist/constants/api.d.mts.map +1 -0
  6. package/dist/constants/api.mjs +16 -0
  7. package/dist/constants/api.mjs.map +1 -0
  8. package/dist/constants/commands.cjs +3 -11
  9. package/dist/constants/commands.d.cts +1 -1
  10. package/dist/constants/commands.d.cts.map +1 -1
  11. package/dist/constants/commands.d.mts +1 -1
  12. package/dist/constants/commands.d.mts.map +1 -1
  13. package/dist/constants/commands.mjs +3 -11
  14. package/dist/constants/commands.mjs.map +1 -1
  15. package/dist/constants/devtools.cjs +23 -0
  16. package/dist/constants/devtools.d.cts +13 -0
  17. package/dist/constants/devtools.d.cts.map +1 -0
  18. package/dist/constants/devtools.d.mts +13 -0
  19. package/dist/constants/devtools.d.mts.map +1 -0
  20. package/dist/constants/devtools.mjs +14 -0
  21. package/dist/constants/devtools.mjs.map +1 -0
  22. package/dist/constants/environments.cjs +1 -0
  23. package/dist/constants/extensions.cjs +21 -0
  24. package/dist/constants/extensions.d.cts +5 -0
  25. package/dist/constants/extensions.d.cts.map +1 -0
  26. package/dist/constants/extensions.d.mts +5 -0
  27. package/dist/constants/extensions.d.mts.map +1 -0
  28. package/dist/constants/extensions.mjs +20 -0
  29. package/dist/constants/extensions.mjs.map +1 -0
  30. package/dist/constants/fs.cjs +1 -0
  31. package/dist/constants/hooks.cjs +1 -0
  32. package/dist/constants/index.cjs +48 -24
  33. package/dist/constants/index.d.cts +5 -1
  34. package/dist/constants/index.d.mts +5 -1
  35. package/dist/constants/index.mjs +6 -2
  36. package/dist/constants/log-level.cjs +90 -0
  37. package/dist/constants/log-level.d.cts +63 -0
  38. package/dist/constants/log-level.d.cts.map +1 -0
  39. package/dist/constants/log-level.d.mts +63 -0
  40. package/dist/constants/log-level.d.mts.map +1 -0
  41. package/dist/constants/log-level.mjs +82 -0
  42. package/dist/constants/log-level.mjs.map +1 -0
  43. package/dist/constants/meta.cjs +1 -0
  44. package/dist/constants/plugin.cjs +3 -2
  45. package/dist/constants/plugin.d.cts +2 -2
  46. package/dist/constants/plugin.d.mts +2 -2
  47. package/dist/context/base-context.cjs +127 -0
  48. package/dist/context/base-context.d.cts +81 -0
  49. package/dist/context/base-context.d.cts.map +1 -0
  50. package/dist/context/base-context.d.mts +81 -0
  51. package/dist/context/base-context.d.mts.map +1 -0
  52. package/dist/context/base-context.mjs +125 -0
  53. package/dist/context/base-context.mjs.map +1 -0
  54. package/dist/context/context.cjs +934 -0
  55. package/dist/context/context.d.cts +369 -0
  56. package/dist/context/context.d.cts.map +1 -0
  57. package/dist/context/context.d.mts +369 -0
  58. package/dist/context/context.d.mts.map +1 -0
  59. package/dist/context/context.mjs +932 -0
  60. package/dist/context/context.mjs.map +1 -0
  61. package/dist/context/environment-context.cjs +219 -0
  62. package/dist/context/environment-context.d.cts +100 -0
  63. package/dist/context/environment-context.d.cts.map +1 -0
  64. package/dist/context/environment-context.d.mts +100 -0
  65. package/dist/context/environment-context.d.mts.map +1 -0
  66. package/dist/context/environment-context.mjs +218 -0
  67. package/dist/context/environment-context.mjs.map +1 -0
  68. package/dist/context/execution-context.cjs +230 -0
  69. package/dist/context/execution-context.d.cts +101 -0
  70. package/dist/context/execution-context.d.cts.map +1 -0
  71. package/dist/context/execution-context.d.mts +101 -0
  72. package/dist/context/execution-context.d.mts.map +1 -0
  73. package/dist/context/execution-context.mjs +228 -0
  74. package/dist/context/execution-context.mjs.map +1 -0
  75. package/dist/context/index.cjs +12 -0
  76. package/dist/context/index.d.cts +6 -0
  77. package/dist/context/index.d.mts +6 -0
  78. package/dist/context/index.mjs +7 -0
  79. package/dist/context/plugin-context.cjs +83 -0
  80. package/dist/context/plugin-context.d.cts +18 -0
  81. package/dist/context/plugin-context.d.cts.map +1 -0
  82. package/dist/context/plugin-context.d.mts +18 -0
  83. package/dist/context/plugin-context.d.mts.map +1 -0
  84. package/dist/context/plugin-context.mjs +82 -0
  85. package/dist/context/plugin-context.mjs.map +1 -0
  86. package/dist/index.cjs +62 -6
  87. package/dist/index.d.cts +23 -11
  88. package/dist/index.d.mts +23 -11
  89. package/dist/index.mjs +17 -5
  90. package/dist/lib/config.cjs +167 -28
  91. package/dist/lib/config.d.cts +95 -14
  92. package/dist/lib/config.d.cts.map +1 -1
  93. package/dist/lib/config.d.mts +95 -14
  94. package/dist/lib/config.d.mts.map +1 -1
  95. package/dist/lib/config.mjs +160 -28
  96. package/dist/lib/config.mjs.map +1 -1
  97. package/dist/lib/context-helpers.cjs +43 -0
  98. package/dist/lib/context-helpers.d.cts +19 -0
  99. package/dist/lib/context-helpers.d.cts.map +1 -0
  100. package/dist/lib/context-helpers.d.mts +19 -0
  101. package/dist/lib/context-helpers.d.mts.map +1 -0
  102. package/dist/lib/context-helpers.mjs +41 -0
  103. package/dist/lib/context-helpers.mjs.map +1 -0
  104. package/dist/lib/entry.cjs +9 -9
  105. package/dist/lib/entry.d.cts +5 -5
  106. package/dist/lib/entry.d.cts.map +1 -1
  107. package/dist/lib/entry.d.mts +5 -5
  108. package/dist/lib/entry.d.mts.map +1 -1
  109. package/dist/lib/entry.mjs +9 -9
  110. package/dist/lib/entry.mjs.map +1 -1
  111. package/dist/lib/environment.cjs +72 -0
  112. package/dist/lib/environment.d.cts +12 -0
  113. package/dist/lib/environment.d.cts.map +1 -0
  114. package/dist/lib/environment.d.mts +12 -0
  115. package/dist/lib/environment.d.mts.map +1 -0
  116. package/dist/lib/environment.mjs +67 -0
  117. package/dist/lib/environment.mjs.map +1 -0
  118. package/dist/lib/events.cjs +43 -0
  119. package/dist/lib/events.d.cts +10 -0
  120. package/dist/lib/events.d.cts.map +1 -0
  121. package/dist/lib/events.d.mts +10 -0
  122. package/dist/lib/events.d.mts.map +1 -0
  123. package/dist/lib/events.mjs +42 -0
  124. package/dist/lib/events.mjs.map +1 -0
  125. package/dist/lib/generate-types.cjs +371 -0
  126. package/dist/lib/generate-types.d.cts +67 -0
  127. package/dist/lib/generate-types.d.cts.map +1 -0
  128. package/dist/lib/generate-types.d.mts +67 -0
  129. package/dist/lib/generate-types.d.mts.map +1 -0
  130. package/dist/lib/generate-types.mjs +368 -0
  131. package/dist/lib/generate-types.mjs.map +1 -0
  132. package/dist/lib/hooks.cjs +152 -0
  133. package/dist/lib/hooks.d.cts +28 -0
  134. package/dist/lib/hooks.d.cts.map +1 -0
  135. package/dist/lib/hooks.d.mts +28 -0
  136. package/dist/lib/hooks.d.mts.map +1 -0
  137. package/dist/lib/hooks.mjs +147 -0
  138. package/dist/lib/hooks.mjs.map +1 -0
  139. package/dist/lib/index.cjs +64 -6
  140. package/dist/lib/index.d.cts +15 -3
  141. package/dist/lib/index.d.mts +15 -3
  142. package/dist/lib/index.mjs +19 -5
  143. package/dist/lib/install-dependencies.cjs +25 -0
  144. package/dist/lib/install-dependencies.d.cts +12 -0
  145. package/dist/lib/install-dependencies.d.cts.map +1 -0
  146. package/dist/lib/install-dependencies.d.mts +12 -0
  147. package/dist/lib/install-dependencies.d.mts.map +1 -0
  148. package/dist/lib/install-dependencies.mjs +24 -0
  149. package/dist/lib/install-dependencies.mjs.map +1 -0
  150. package/dist/lib/meta.cjs +57 -0
  151. package/dist/lib/meta.d.cts +34 -0
  152. package/dist/lib/meta.d.cts.map +1 -0
  153. package/dist/lib/meta.d.mts +34 -0
  154. package/dist/lib/meta.d.mts.map +1 -0
  155. package/dist/lib/meta.mjs +54 -0
  156. package/dist/lib/meta.mjs.map +1 -0
  157. package/dist/lib/plugins.cjs +150 -0
  158. package/dist/lib/plugins.d.cts +40 -0
  159. package/dist/lib/plugins.d.cts.map +1 -0
  160. package/dist/lib/plugins.d.mts +40 -0
  161. package/dist/lib/plugins.d.mts.map +1 -0
  162. package/dist/lib/plugins.mjs +146 -0
  163. package/dist/lib/plugins.mjs.map +1 -0
  164. package/dist/lib/resolver.cjs +35 -0
  165. package/dist/lib/resolver.d.cts +21 -0
  166. package/dist/lib/resolver.d.cts.map +1 -0
  167. package/dist/lib/resolver.d.mts +21 -0
  168. package/dist/lib/resolver.d.mts.map +1 -0
  169. package/dist/lib/resolver.mjs +33 -0
  170. package/dist/lib/resolver.mjs.map +1 -0
  171. package/dist/lib/schemas.cjs +9 -0
  172. package/dist/lib/schemas.d.cts +2 -0
  173. package/dist/lib/schemas.d.mts +2 -0
  174. package/dist/lib/schemas.mjs +3 -0
  175. package/dist/lib/streaming-channel.cjs +260 -0
  176. package/dist/lib/streaming-channel.d.cts +133 -0
  177. package/dist/lib/streaming-channel.d.cts.map +1 -0
  178. package/dist/lib/streaming-channel.d.mts +133 -0
  179. package/dist/lib/streaming-channel.d.mts.map +1 -0
  180. package/dist/lib/streaming-channel.mjs +258 -0
  181. package/dist/lib/streaming-channel.mjs.map +1 -0
  182. package/dist/lib/typescript/index.cjs +16 -0
  183. package/dist/lib/typescript/index.d.cts +3 -0
  184. package/dist/lib/typescript/index.d.mts +3 -0
  185. package/dist/lib/typescript/index.mjs +4 -0
  186. package/dist/lib/typescript/ts-morph.cjs +105 -0
  187. package/dist/lib/typescript/ts-morph.d.cts +38 -0
  188. package/dist/lib/typescript/ts-morph.d.cts.map +1 -0
  189. package/dist/lib/typescript/ts-morph.d.mts +38 -0
  190. package/dist/lib/typescript/ts-morph.d.mts.map +1 -0
  191. package/dist/lib/typescript/ts-morph.mjs +102 -0
  192. package/dist/lib/typescript/ts-morph.mjs.map +1 -0
  193. package/dist/lib/typescript/tsconfig.cjs +253 -0
  194. package/dist/lib/typescript/tsconfig.d.cts +77 -0
  195. package/dist/lib/typescript/tsconfig.d.cts.map +1 -0
  196. package/dist/lib/typescript/tsconfig.d.mts +77 -0
  197. package/dist/lib/typescript/tsconfig.d.mts.map +1 -0
  198. package/dist/lib/typescript/tsconfig.mjs +240 -0
  199. package/dist/lib/typescript/tsconfig.mjs.map +1 -0
  200. package/dist/lib/unplugin/helpers.cjs +2 -2
  201. package/dist/lib/unplugin/module-resolution.cjs +21 -20
  202. package/dist/lib/unplugin/module-resolution.d.cts +10 -2
  203. package/dist/lib/unplugin/module-resolution.d.cts.map +1 -1
  204. package/dist/lib/unplugin/module-resolution.d.mts +10 -2
  205. package/dist/lib/unplugin/module-resolution.d.mts.map +1 -1
  206. package/dist/lib/unplugin/module-resolution.mjs +20 -20
  207. package/dist/lib/unplugin/module-resolution.mjs.map +1 -1
  208. package/dist/lib/unplugin/plugin.cjs +55 -61
  209. package/dist/lib/unplugin/plugin.d.cts +10 -4
  210. package/dist/lib/unplugin/plugin.d.cts.map +1 -1
  211. package/dist/lib/unplugin/plugin.d.mts +10 -4
  212. package/dist/lib/unplugin/plugin.d.mts.map +1 -1
  213. package/dist/lib/unplugin/plugin.mjs +55 -61
  214. package/dist/lib/unplugin/plugin.mjs.map +1 -1
  215. package/dist/lib/utilities/file-header.cjs +2 -2
  216. package/dist/lib/utilities/file-header.mjs +2 -2
  217. package/dist/lib/utilities/file-header.mjs.map +1 -1
  218. package/dist/lib/utilities/format.cjs +16 -8
  219. package/dist/lib/utilities/format.d.cts.map +1 -1
  220. package/dist/lib/utilities/format.d.mts.map +1 -1
  221. package/dist/lib/utilities/format.mjs +15 -8
  222. package/dist/lib/utilities/format.mjs.map +1 -1
  223. package/dist/lib/utilities/index.cjs +2 -2
  224. package/dist/lib/utilities/index.mjs +2 -2
  225. package/dist/lib/utilities/source-file.cjs +1 -1
  226. package/dist/lib/utilities/source-map.cjs +1 -1
  227. package/dist/lib/utilities/write-file.cjs +1 -2
  228. package/dist/lib/utilities/write-file.d.cts +1 -1
  229. package/dist/lib/utilities/write-file.d.cts.map +1 -1
  230. package/dist/lib/utilities/write-file.d.mts +1 -1
  231. package/dist/lib/utilities/write-file.d.mts.map +1 -1
  232. package/dist/lib/utilities/write-file.mjs +1 -2
  233. package/dist/lib/utilities/write-file.mjs.map +1 -1
  234. package/dist/lib/vfs.cjs +1104 -0
  235. package/dist/lib/vfs.d.cts +321 -0
  236. package/dist/lib/vfs.d.cts.map +1 -0
  237. package/dist/lib/vfs.d.mts +321 -0
  238. package/dist/lib/vfs.d.mts.map +1 -0
  239. package/dist/lib/vfs.mjs +1102 -0
  240. package/dist/lib/vfs.mjs.map +1 -0
  241. package/dist/plugin-base.cjs +5 -9
  242. package/dist/plugin-base.mjs +5 -9
  243. package/dist/plugin-base.mjs.map +1 -1
  244. package/dist/plugin-utils/build-helpers.cjs +2 -2
  245. package/dist/plugin-utils/build-helpers.d.cts +2 -2
  246. package/dist/plugin-utils/build-helpers.d.cts.map +1 -1
  247. package/dist/plugin-utils/build-helpers.d.mts +2 -2
  248. package/dist/plugin-utils/build-helpers.d.mts.map +1 -1
  249. package/dist/plugin-utils/build-helpers.mjs +2 -2
  250. package/dist/plugin-utils/build-helpers.mjs.map +1 -1
  251. package/dist/plugin-utils/combine-plugins.d.cts +7 -8
  252. package/dist/plugin-utils/combine-plugins.d.cts.map +1 -1
  253. package/dist/plugin-utils/combine-plugins.d.mts +7 -8
  254. package/dist/plugin-utils/combine-plugins.d.mts.map +1 -1
  255. package/dist/plugin-utils/combine-plugins.mjs.map +1 -1
  256. package/dist/plugin-utils/context-helpers.cjs +29 -16
  257. package/dist/plugin-utils/context-helpers.d.cts +10 -2
  258. package/dist/plugin-utils/context-helpers.d.cts.map +1 -1
  259. package/dist/plugin-utils/context-helpers.d.mts +10 -2
  260. package/dist/plugin-utils/context-helpers.d.mts.map +1 -1
  261. package/dist/plugin-utils/context-helpers.mjs +29 -17
  262. package/dist/plugin-utils/context-helpers.mjs.map +1 -1
  263. package/dist/plugin-utils/docs-helper.cjs +17 -0
  264. package/dist/plugin-utils/docs-helper.d.cts +11 -0
  265. package/dist/plugin-utils/docs-helper.d.cts.map +1 -0
  266. package/dist/plugin-utils/docs-helper.d.mts +11 -0
  267. package/dist/plugin-utils/docs-helper.d.mts.map +1 -0
  268. package/dist/plugin-utils/docs-helper.mjs +16 -0
  269. package/dist/plugin-utils/docs-helper.mjs.map +1 -0
  270. package/dist/plugin-utils/extend.mjs.map +1 -1
  271. package/dist/plugin-utils/filter.cjs +101 -0
  272. package/dist/plugin-utils/filter.d.cts +16 -0
  273. package/dist/plugin-utils/filter.d.cts.map +1 -0
  274. package/dist/plugin-utils/filter.d.mts +16 -0
  275. package/dist/plugin-utils/filter.d.mts.map +1 -0
  276. package/dist/plugin-utils/filter.mjs +91 -0
  277. package/dist/plugin-utils/filter.mjs.map +1 -0
  278. package/dist/plugin-utils/format-package-json.cjs +1 -1
  279. package/dist/plugin-utils/format-package-json.mjs +1 -1
  280. package/dist/plugin-utils/format-package-json.mjs.map +1 -1
  281. package/dist/plugin-utils/format.cjs +44 -0
  282. package/dist/plugin-utils/format.d.cts +11 -0
  283. package/dist/plugin-utils/format.d.cts.map +1 -0
  284. package/dist/plugin-utils/format.d.mts +11 -0
  285. package/dist/plugin-utils/format.d.mts.map +1 -0
  286. package/dist/plugin-utils/format.mjs +43 -0
  287. package/dist/plugin-utils/format.mjs.map +1 -0
  288. package/dist/plugin-utils/get-config-path.cjs +34 -32
  289. package/dist/plugin-utils/get-config-path.d.cts +4 -1
  290. package/dist/plugin-utils/get-config-path.d.cts.map +1 -1
  291. package/dist/plugin-utils/get-config-path.d.mts +4 -1
  292. package/dist/plugin-utils/get-config-path.d.mts.map +1 -1
  293. package/dist/plugin-utils/get-config-path.mjs +34 -32
  294. package/dist/plugin-utils/get-config-path.mjs.map +1 -1
  295. package/dist/plugin-utils/helpers.cjs +25 -10
  296. package/dist/plugin-utils/helpers.d.cts +31 -24
  297. package/dist/plugin-utils/helpers.d.cts.map +1 -1
  298. package/dist/plugin-utils/helpers.d.mts +31 -24
  299. package/dist/plugin-utils/helpers.d.mts.map +1 -1
  300. package/dist/plugin-utils/helpers.mjs +22 -8
  301. package/dist/plugin-utils/helpers.mjs.map +1 -1
  302. package/dist/plugin-utils/index.cjs +48 -4
  303. package/dist/plugin-utils/index.d.cts +9 -3
  304. package/dist/plugin-utils/index.d.mts +9 -3
  305. package/dist/plugin-utils/index.mjs +11 -5
  306. package/dist/plugin-utils/install.cjs +47 -0
  307. package/dist/plugin-utils/install.d.cts +23 -0
  308. package/dist/plugin-utils/install.d.cts.map +1 -0
  309. package/dist/plugin-utils/install.d.mts +23 -0
  310. package/dist/plugin-utils/install.d.mts.map +1 -0
  311. package/dist/plugin-utils/install.mjs +45 -0
  312. package/dist/plugin-utils/install.mjs.map +1 -0
  313. package/dist/plugin-utils/logging.cjs +605 -0
  314. package/dist/plugin-utils/logging.d.cts +111 -0
  315. package/dist/plugin-utils/logging.d.cts.map +1 -0
  316. package/dist/plugin-utils/logging.d.mts +111 -0
  317. package/dist/plugin-utils/logging.d.mts.map +1 -0
  318. package/dist/plugin-utils/logging.mjs +588 -0
  319. package/dist/plugin-utils/logging.mjs.map +1 -0
  320. package/dist/plugin-utils/merge.cjs +4 -4
  321. package/dist/plugin-utils/merge.d.cts +0 -1
  322. package/dist/plugin-utils/merge.d.cts.map +1 -1
  323. package/dist/plugin-utils/merge.d.mts.map +1 -1
  324. package/dist/plugin-utils/merge.mjs +3 -3
  325. package/dist/plugin-utils/merge.mjs.map +1 -1
  326. package/dist/plugin-utils/modules.cjs +1 -1
  327. package/dist/plugin-utils/modules.mjs +1 -1
  328. package/dist/plugin-utils/modules.mjs.map +1 -1
  329. package/dist/plugin-utils/paths.cjs +18 -4
  330. package/dist/plugin-utils/paths.d.cts +12 -2
  331. package/dist/plugin-utils/paths.d.cts.map +1 -1
  332. package/dist/plugin-utils/paths.d.mts +12 -2
  333. package/dist/plugin-utils/paths.d.mts.map +1 -1
  334. package/dist/plugin-utils/paths.mjs +18 -4
  335. package/dist/plugin-utils/paths.mjs.map +1 -1
  336. package/dist/plugin-utils/virtual.cjs +80 -0
  337. package/dist/plugin-utils/virtual.d.cts +69 -0
  338. package/dist/plugin-utils/virtual.d.cts.map +1 -0
  339. package/dist/plugin-utils/virtual.d.mts +69 -0
  340. package/dist/plugin-utils/virtual.d.mts.map +1 -0
  341. package/dist/plugin-utils/virtual.mjs +73 -0
  342. package/dist/plugin-utils/virtual.mjs.map +1 -0
  343. package/dist/schemas/fs.cjs +232 -0
  344. package/dist/schemas/fs.d.cts +127 -0
  345. package/dist/schemas/fs.d.cts.map +1 -0
  346. package/dist/schemas/fs.d.mts +127 -0
  347. package/dist/schemas/fs.d.mts.map +1 -0
  348. package/dist/schemas/fs.mjs +226 -0
  349. package/dist/schemas/fs.mjs.map +1 -0
  350. package/dist/storage/base.cjs +216 -0
  351. package/dist/storage/base.d.cts +201 -0
  352. package/dist/storage/base.d.cts.map +1 -0
  353. package/dist/storage/base.d.mts +201 -0
  354. package/dist/storage/base.d.mts.map +1 -0
  355. package/dist/storage/base.mjs +215 -0
  356. package/dist/storage/base.mjs.map +1 -0
  357. package/dist/storage/file-system.cjs +180 -0
  358. package/dist/storage/file-system.d.cts +129 -0
  359. package/dist/storage/file-system.d.cts.map +1 -0
  360. package/dist/storage/file-system.d.mts +129 -0
  361. package/dist/storage/file-system.d.mts.map +1 -0
  362. package/dist/storage/file-system.mjs +179 -0
  363. package/dist/storage/file-system.mjs.map +1 -0
  364. package/dist/storage/helpers.cjs +37 -0
  365. package/dist/storage/helpers.d.cts +25 -0
  366. package/dist/storage/helpers.d.cts.map +1 -0
  367. package/dist/storage/helpers.d.mts +25 -0
  368. package/dist/storage/helpers.d.mts.map +1 -0
  369. package/dist/storage/helpers.mjs +34 -0
  370. package/dist/storage/helpers.mjs.map +1 -0
  371. package/dist/storage/index.cjs +12 -0
  372. package/dist/storage/index.d.cts +5 -0
  373. package/dist/storage/index.d.mts +5 -0
  374. package/dist/storage/index.mjs +6 -0
  375. package/dist/storage/virtual.cjs +98 -0
  376. package/dist/storage/virtual.d.cts +80 -0
  377. package/dist/storage/virtual.d.cts.map +1 -0
  378. package/dist/storage/virtual.d.mts +80 -0
  379. package/dist/storage/virtual.d.mts.map +1 -0
  380. package/dist/storage/virtual.mjs +97 -0
  381. package/dist/storage/virtual.mjs.map +1 -0
  382. package/dist/types/api.d.cts +18 -99
  383. package/dist/types/api.d.cts.map +1 -1
  384. package/dist/types/api.d.mts +18 -99
  385. package/dist/types/api.d.mts.map +1 -1
  386. package/dist/types/config.d.cts +239 -141
  387. package/dist/types/config.d.cts.map +1 -1
  388. package/dist/types/config.d.mts +240 -142
  389. package/dist/types/config.d.mts.map +1 -1
  390. package/dist/types/context.d.cts +205 -136
  391. package/dist/types/context.d.cts.map +1 -1
  392. package/dist/types/context.d.mts +208 -139
  393. package/dist/types/context.d.mts.map +1 -1
  394. package/dist/types/fs.d.cts +49 -5
  395. package/dist/types/fs.d.cts.map +1 -1
  396. package/dist/types/fs.d.mts +50 -6
  397. package/dist/types/fs.d.mts.map +1 -1
  398. package/dist/types/hooks.d.cts +26 -38
  399. package/dist/types/hooks.d.cts.map +1 -1
  400. package/dist/types/hooks.d.mts +26 -38
  401. package/dist/types/hooks.d.mts.map +1 -1
  402. package/dist/types/index.d.cts +9 -0
  403. package/dist/types/index.d.mts +8 -8
  404. package/dist/types/logging.d.cts +161 -0
  405. package/dist/types/logging.d.cts.map +1 -0
  406. package/dist/types/logging.d.mts +161 -0
  407. package/dist/types/logging.d.mts.map +1 -0
  408. package/dist/types/plugin.d.cts +23 -24
  409. package/dist/types/plugin.d.cts.map +1 -1
  410. package/dist/types/plugin.d.mts +23 -24
  411. package/dist/types/plugin.d.mts.map +1 -1
  412. package/dist/types/tsconfig.d.cts +15 -12
  413. package/dist/types/tsconfig.d.cts.map +1 -1
  414. package/dist/types/tsconfig.d.mts +16 -13
  415. package/dist/types/tsconfig.d.mts.map +1 -1
  416. package/dist/types/unplugin.d.cts +10 -25
  417. package/dist/types/unplugin.d.cts.map +1 -1
  418. package/dist/types/unplugin.d.mts +10 -25
  419. package/dist/types/unplugin.d.mts.map +1 -1
  420. package/package.json +270 -425
  421. package/schemas/fs.capnp +42 -0
  422. package/dist/lib/logger.cjs +0 -59
  423. package/dist/lib/logger.d.cts +0 -23
  424. package/dist/lib/logger.d.cts.map +0 -1
  425. package/dist/lib/logger.d.mts +0 -23
  426. package/dist/lib/logger.d.mts.map +0 -1
  427. package/dist/lib/logger.mjs +0 -56
  428. package/dist/lib/logger.mjs.map +0 -1
  429. package/dist/types/_internal.cjs +0 -0
  430. package/dist/types/_internal.d.cts +0 -106
  431. package/dist/types/_internal.d.cts.map +0 -1
  432. package/dist/types/_internal.d.mts +0 -106
  433. package/dist/types/_internal.d.mts.map +0 -1
  434. package/dist/types/_internal.mjs +0 -1
  435. package/dist/types/commands.d.cts +0 -13
  436. package/dist/types/commands.d.cts.map +0 -1
  437. package/dist/types/commands.d.mts +0 -13
  438. package/dist/types/commands.d.mts.map +0 -1
@@ -1,40 +1,36 @@
1
1
  import { ResolveOptions, VirtualFile, VirtualFileSystemInterface, WriteOptions } from "./fs.mjs";
2
2
  import { Plugin } from "./plugin.mjs";
3
- import { HooksList, InferHooksListItem } from "./hooks.mjs";
3
+ import { CallHookOptions, HooksList, HooksListItem, InferHookParameters, InferHookReturnType } from "./hooks.mjs";
4
+ import { LogFn, LogMessage, Logger, LoggerOptions } from "./logging.mjs";
4
5
  import { ParsedTypeScriptConfig } from "./tsconfig.mjs";
5
- import { EnvironmentResolvedConfig, InlineConfig, LogFn, ResolvedConfig, ResolvedEntryTypeDefinition, UserConfig, WorkspaceConfig } from "./config.mjs";
6
- import { ExternalIdResult, UnpluginBuildContext, UnpluginContext, UnpluginMessage } from "unplugin";
7
- import MagicString, { SourceMap } from "magic-string";
8
- import { Jiti } from "jiti";
6
+ import { EnvironmentResolvedConfig, ExecutionOptions, Options, PluginConfig, ResolvedConfig, ResolvedEntryTypeDefinition } from "./config.mjs";
9
7
  import { EnvPaths } from "@stryke/env/get-env-paths";
8
+ import { Jiti } from "jiti";
9
+ import { ExternalIdResult, UnpluginBuildContext } from "unplugin";
10
+ import MagicString, { SourceMap } from "magic-string";
10
11
  import { FetchRequestOptions } from "@stryke/http/fetch";
11
- import { PackageJson } from "@stryke/types/package-json";
12
- import { Worker } from "jest-worker";
13
12
  import { ParseResult, ParserOptions } from "oxc-parser";
14
- import { Range } from "semver";
15
13
  import { RequestInfo, Response } from "undici";
14
+ import { PackageJson } from "@stryke/types/package-json";
15
+ import { Range } from "semver";
16
16
  import { Unimport } from "unimport";
17
17
 
18
18
  //#region src/types/context.d.ts
19
- type WorkerProcess<TExposedMethods extends ReadonlyArray<string>> = { [K in TExposedMethods[number]]: (data: any) => Promise<any> } & {
20
- close: () => void;
21
- end: () => ReturnType<Worker["end"]>;
22
- };
23
- interface MetaInfo {
19
+ type MetaInfo = Record<string, any> & {
24
20
  /**
25
21
  * The checksum generated from the resolved options
26
22
  */
27
23
  checksum: string;
28
24
  /**
29
- * The build id
25
+ * The execution id
30
26
  */
31
- buildId: string;
27
+ executionId: string;
32
28
  /**
33
29
  * The release id
34
30
  */
35
31
  releaseId: string;
36
32
  /**
37
- * The build timestamp
33
+ * The execution timestamp
38
34
  */
39
35
  timestamp: number;
40
36
  /**
@@ -45,7 +41,7 @@ interface MetaInfo {
45
41
  * A hash that represents the path to the configuration root directory
46
42
  */
47
43
  configHash: string;
48
- }
44
+ };
49
45
  interface Resolver extends Jiti {
50
46
  plugin: Jiti;
51
47
  }
@@ -134,98 +130,158 @@ interface ResolveResult extends ExternalIdResult {
134
130
  virtual?: boolean;
135
131
  }
136
132
  /**
137
- * The unresolved Powerlines context.
133
+ * The base Powerlines context.
138
134
  *
139
135
  * @remarks
140
- * This context is used before the user configuration has been fully resolved after the `config`.
136
+ * This context provides the foundational structure for interacting with the Powerlines engine.
141
137
  */
142
- interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> {
138
+ interface BaseContext<TSystemContext = unknown> extends Pick<Required<Options>, "cwd"> {
143
139
  /**
144
- * The Storm workspace configuration
140
+ * The system instance associated with the context, which can be used to interact with the Powerlines engine and perform various operations during the build process. The specific type of the system may vary depending on the environment and use case, but it typically provides methods for logging, file system operations, and other interactions with the Powerlines engine.
145
141
  */
146
- workspaceConfig: WorkspaceConfig;
142
+ system: TSystemContext;
147
143
  /**
148
- * An object containing the options provided to Powerlines
144
+ * The timestamp when the context was initialized
149
145
  */
150
- config: Omit<TResolvedConfig["userConfig"], "output"> & Required<Pick<TResolvedConfig["userConfig"], "output">> & {
151
- output: TResolvedConfig["output"];
152
- };
146
+ timestamp: number;
147
+ /**
148
+ * The Powerlines environment paths
149
+ */
150
+ envPaths: EnvPaths;
153
151
  /**
154
- * A logging function for the Powerlines engine
152
+ * The file system path to the Powerlines package installation
155
153
  */
156
- log: LogFn;
154
+ powerlinesPath: string;
155
+ /**
156
+ * The options provided to the Powerlines process.
157
+ */
158
+ options: Options;
159
+ /**
160
+ * An instance of the Powerlines logger client that can be used to generate log messages with consistent formatting and metadata.
161
+ */
162
+ logger: Logger;
157
163
  /**
158
164
  * A logging function for fatal messages
159
165
  */
160
- fatal: (message: string | UnpluginMessage) => void;
166
+ fatal: (message: string | LogMessage | Error) => void;
161
167
  /**
162
168
  * A logging function for error messages
163
169
  */
164
- error: (message: string | UnpluginMessage) => void;
170
+ error: (message: string | LogMessage | Error) => void;
165
171
  /**
166
172
  * A logging function for warning messages
167
173
  */
168
- warn: (message: string | UnpluginMessage) => void;
174
+ warn: (message: string | LogMessage) => void;
169
175
  /**
170
176
  * A logging function for informational messages
171
177
  */
172
- info: (message: string | UnpluginMessage) => void;
178
+ info: (message: string | LogMessage) => void;
173
179
  /**
174
180
  * A logging function for debug messages
175
181
  */
176
- debug: (message: string | UnpluginMessage) => void;
182
+ debug: (message: string | LogMessage) => void;
177
183
  /**
178
184
  * A logging function for trace messages
179
185
  */
180
- trace: (message: string | UnpluginMessage) => void;
186
+ trace: (message: string | LogMessage) => void;
181
187
  /**
182
- * The metadata information
188
+ * A function to create a timer for measuring the duration of asynchronous operations
189
+ *
190
+ * @example
191
+ * ```ts
192
+ * const stopTimer = context.timer("Your Async Operation");
193
+ * await performAsyncOperation();
194
+ * stopTimer(); // "Your Async Operation completed in 123.45 milliseconds"
195
+ * ```
196
+ *
197
+ * @param name - The name of the timer.
198
+ * @returns A function that, when called, stops the timer and logs the duration.
183
199
  */
184
- meta: MetaInfo;
200
+ timer: (name: string) => () => void;
185
201
  /**
186
- * The metadata information currently written to disk
202
+ * Create a new logger instance
203
+ *
204
+ * @param options - The configuration options to use for the logger instance, which can be used to customize the appearance and behavior of the log messages generated by the logger. This is typically the name of the plugin or module that is creating the logger instance.
205
+ * @returns A logger client instance that can be used to generate log messages with consistent formatting and metadata.
187
206
  */
188
- persistedMeta?: MetaInfo;
207
+ createLogger: (options: LoggerOptions, logFn?: LogFn) => Logger;
189
208
  /**
190
- * The Powerlines artifacts directory
209
+ * Extend the current logger instance with a new source
210
+ *
211
+ * @param options - The overlay metadata to use for the badge in the log output.
212
+ * @returns A logger client instance that extends the current logger with the provided configuration options.
191
213
  */
192
- artifactsPath: string;
214
+ extendLogger: (options: LoggerOptions, logFn?: LogFn) => Logger;
215
+ }
216
+ /**
217
+ * The unresolved Powerlines context.
218
+ *
219
+ * @remarks
220
+ * This context is used before the user configuration has been fully resolved after the `config`.
221
+ */
222
+ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig, TSystemContext = unknown> extends BaseContext<TSystemContext> {
193
223
  /**
194
- * The path to the Powerlines builtin runtime modules directory
224
+ * The options provided to the Powerlines process, resolved with default values and merged with any configuration provided by plugins or other sources. This is typically the final configuration used during the build process, but may also include additional options that are relevant to the context and its interactions with the Powerlines engine.
195
225
  */
196
- builtinsPath: string;
226
+ options: ExecutionOptions;
197
227
  /**
198
- * The path to the Powerlines entry modules directory
228
+ * An object containing the options provided to Powerlines
199
229
  */
200
- entryPath: string;
230
+ config: Omit<TResolvedConfig, "pluginConfig">;
201
231
  /**
202
- * The path to the Powerlines infrastructure modules directory
232
+ * A place to store metadata information on the context for access in plugins and other parts of the system. This can be used to store information about the current execution, such as a unique identifier for the execution, timestamps, or any other relevant data that may be useful for plugins or other parts of the system to access during the build process.
203
233
  */
204
- infrastructurePath: string;
234
+ meta: MetaInfo;
205
235
  /**
206
- * The path to the Powerlines TypeScript declaration files directory
236
+ * The metadata information currently written to disk
207
237
  */
208
- typesPath: string;
238
+ persistedMeta?: MetaInfo;
209
239
  /**
210
240
  * The path to a directory where the reflection data buffers (used by the build processes) are stored
211
241
  */
212
- dataPath: string;
242
+ readonly dataPath: string;
213
243
  /**
214
244
  * The path to a directory where the project cache (used by the build processes) is stored
215
245
  */
216
- cachePath: string;
246
+ readonly cachePath: string;
217
247
  /**
218
- * The Powerlines environment paths
248
+ * The Powerlines artifacts directory
219
249
  */
220
- envPaths: EnvPaths;
250
+ readonly artifactsPath: string;
221
251
  /**
222
- * The file system path to the Powerlines package installation
252
+ * The path to the Powerlines builtin runtime modules directory
223
253
  */
224
- powerlinesPath: string;
254
+ readonly builtinsPath: string;
255
+ /**
256
+ * The path to the Powerlines entry modules directory
257
+ */
258
+ readonly entryPath: string;
259
+ /**
260
+ * The path to the Powerlines infrastructure modules directory
261
+ */
262
+ readonly infrastructurePath: string;
225
263
  /**
226
- * The relative path to the Powerlines workspace root directory
264
+ * The path to the Powerlines TypeScript declaration files directory
227
265
  */
228
- relativeToWorkspaceRoot: string;
266
+ readonly typesPath: string;
267
+ /**
268
+ * Invokes the configured plugin hooks
269
+ *
270
+ * @remarks
271
+ * By default, it will call the `"pre"`, `"normal"`, and `"post"` ordered hooks in sequence
272
+ *
273
+ * @param hook - The hook to call
274
+ * @param options - The options to provide to the hook
275
+ * @param args - The arguments to pass to the hook
276
+ * @returns The result of the hook call
277
+ */
278
+ callHook: <TKey extends string>(hook: TKey, options: CallHookOptions & {
279
+ environment?: string | EnvironmentContext<TResolvedConfig>;
280
+ }, ...args: InferHookParameters<PluginContext<TResolvedConfig>, TKey>) => Promise<InferHookReturnType<PluginContext<TResolvedConfig>, TKey> | undefined>;
281
+ /**
282
+ * The virtual file system interface for managing files during the build process
283
+ */
284
+ fs: VirtualFileSystemInterface;
229
285
  /**
230
286
  * The project's `package.json` file content
231
287
  */
@@ -250,10 +306,6 @@ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedCon
250
306
  * The entry points of the source code
251
307
  */
252
308
  entry: ResolvedEntryTypeDefinition[];
253
- /**
254
- * The virtual file system manager used during the build process to reference generated runtime files
255
- */
256
- fs: VirtualFileSystemInterface;
257
309
  /**
258
310
  * The Jiti module resolver
259
311
  */
@@ -269,6 +321,14 @@ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedCon
269
321
  * This includes both the built-in module aliases as well as any custom aliases defined in the build configuration.
270
322
  */
271
323
  alias: Record<string, string>;
324
+ /**
325
+ * The resolved tsconfig file paths for the project
326
+ */
327
+ resolvePatterns: RegExp[];
328
+ /**
329
+ * Additional arguments provided during execution of the command, such as CLI flags or other parameters that may be relevant to the command being executed.
330
+ */
331
+ additionalArgs: Record<string, string | string[]>;
272
332
  /**
273
333
  * A function to perform HTTP fetch requests
274
334
  *
@@ -407,28 +467,6 @@ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedCon
407
467
  * @param options - Additional options for writing the infrastructure file
408
468
  */
409
469
  emitInfrastructureSync: (code: string, id: string, options?: EmitOptions) => void;
410
- /**
411
- * A function to update the context fields using a new user configuration options
412
- */
413
- withUserConfig: (userConfig: UserConfig, options?: InitContextOptions) => Promise<void>;
414
- /**
415
- * A function to update the context fields using inline configuration options
416
- */
417
- withInlineConfig: (inlineConfig: InlineConfig, options?: InitContextOptions) => Promise<void>;
418
- /**
419
- * Create a new logger instance
420
- *
421
- * @param name - The name to use for the logger instance
422
- * @returns A logger function
423
- */
424
- createLog: (name: string | null) => LogFn;
425
- /**
426
- * Extend the current logger instance with a new name
427
- *
428
- * @param name - The name to use for the extended logger instance
429
- * @returns A logger function
430
- */
431
- extendLog: (name: string) => LogFn;
432
470
  /**
433
471
  * Generates a checksum representing the current context state
434
472
  *
@@ -436,35 +474,48 @@ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedCon
436
474
  */
437
475
  generateChecksum: () => Promise<string>;
438
476
  }
439
- type Context<TResolvedConfig extends ResolvedConfig = ResolvedConfig> = Omit<UnresolvedContext<TResolvedConfig>, "config"> & {
477
+ /**
478
+ * The resolved Powerlines context.
479
+ *
480
+ * @remarks
481
+ * This context is used after the user configuration has been fully resolved and merged with default values, providing access to the final configuration options and utility functions for interacting with the Powerlines engine.
482
+ */
483
+ type Context<TResolvedConfig extends ResolvedConfig = ResolvedConfig, TSystemContext = unknown> = Omit<UnresolvedContext<TResolvedConfig, TSystemContext>, "config" | "callHook"> & {
440
484
  /**
441
485
  * The fully resolved Powerlines configuration
442
486
  */
443
487
  config: TResolvedConfig;
444
488
  /**
445
- * A function to create a deep clone of the context
489
+ * Invokes the configured plugin hooks
446
490
  *
447
491
  * @remarks
448
- * This function is used to create a copy of the context for a specific environment, allowing for environment-specific modifications without affecting the global context.
492
+ * By default, it will call the `"pre"`, `"normal"`, and `"post"` ordered hooks in sequence
493
+ *
494
+ * @param hook - The hook to call
495
+ * @param options - The options to provide to the hook
496
+ * @param args - The arguments to pass to the hook
497
+ * @returns The result of the hook call
449
498
  */
450
- clone: () => Promise<Context<TResolvedConfig>>;
499
+ callHook: <TKey extends string>(hook: TKey, options: CallHookOptions & {
500
+ environment?: string | EnvironmentContext<any, any>;
501
+ }, ...args: InferHookParameters<PluginContext<any, any>, TKey>) => Promise<InferHookReturnType<PluginContext<any, any>, TKey> | undefined>;
451
502
  };
452
- interface APIContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> extends Context<TResolvedConfig> {
503
+ interface ExecutionContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig, TSystemContext = unknown> extends Context<TResolvedConfig, TSystemContext> {
504
+ /**
505
+ * The unique identifier of the execution context, which can be used for logging and other purposes to distinguish between different executions in the same process.
506
+ */
507
+ readonly id: string;
453
508
  /**
454
509
  * The expected plugins options for the Powerlines project.
455
510
  *
456
511
  * @remarks
457
512
  * This is a record of plugin identifiers to their respective options. This field is populated by the Powerlines engine during both plugin initialization and the `init` command.
458
513
  */
459
- plugins: Plugin<PluginContext<TResolvedConfig>>[];
460
- /**
461
- * A function to add a plugin to the context and update the configuration options
462
- */
463
- addPlugin: (plugin: Plugin<PluginContext<TResolvedConfig>>) => Promise<void>;
514
+ plugins: Plugin<PluginContext<TResolvedConfig, TSystemContext>>[];
464
515
  /**
465
516
  * A table for storing the current context for each configured environment
466
517
  */
467
- environments: Record<string, EnvironmentContext<TResolvedConfig>>;
518
+ environments: Record<string, EnvironmentContext<TResolvedConfig, TSystemContext>>;
468
519
  /**
469
520
  * Retrieves the context for a specific environment by name
470
521
  *
@@ -479,7 +530,7 @@ interface APIContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> ex
479
530
  * const defaultEnv = await apiContext.getEnvironment();
480
531
  * ```
481
532
  */
482
- getEnvironment: (name?: string) => Promise<EnvironmentContext<TResolvedConfig>>;
533
+ getEnvironment: (name?: string) => Promise<EnvironmentContext<TResolvedConfig, TSystemContext>>;
483
534
  /**
484
535
  * Safely retrieves the context for a specific environment by name
485
536
  *
@@ -507,91 +558,108 @@ interface APIContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> ex
507
558
  *
508
559
  * Using this method helps avoid unhandled exceptions in cases where an environment might not be defined.
509
560
  */
510
- getEnvironmentSafe: (name?: string) => Promise<EnvironmentContext<TResolvedConfig> | undefined>;
561
+ getEnvironmentSafe: (name?: string) => Promise<EnvironmentContext<TResolvedConfig, TSystemContext> | undefined>;
511
562
  /**
512
563
  * A function to copy the context and update the fields for a specific environment
513
564
  *
514
565
  * @param environment - The environment configuration to use.
515
566
  * @returns A new context instance with the updated environment.
516
567
  */
517
- in: (environment: EnvironmentResolvedConfig) => Promise<EnvironmentContext<TResolvedConfig>>;
568
+ createEnvironment: (environment: EnvironmentResolvedConfig<TResolvedConfig>["environment"]) => Promise<EnvironmentContext<TResolvedConfig, TSystemContext>>;
518
569
  /**
519
570
  * A function to merge all configured environments into a single context
520
571
  *
521
572
  * @returns A promise that resolves to the merged environment context.
522
573
  */
523
- toEnvironment: () => Promise<EnvironmentContext<TResolvedConfig>>;
574
+ toEnvironment: () => Promise<EnvironmentContext<TResolvedConfig, TSystemContext>>;
524
575
  /**
525
- * A function to create a deep clone of the context
576
+ * A function used internally to add a plugin to the context and update the configuration options
526
577
  *
527
- * @remarks
528
- * This function is used to create a copy of the context for a specific environment, allowing for environment-specific modifications without affecting the global context.
578
+ * @danger
579
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
580
+ *
581
+ * @internal
529
582
  */
530
- clone: () => Promise<APIContext<TResolvedConfig>>;
583
+ unstable_addPlugin: (plugin: PluginConfig<PluginContext<TResolvedConfig, TSystemContext>>) => Promise<void>;
531
584
  }
532
- interface EnvironmentContextPlugin<TResolvedConfig extends ResolvedConfig = ResolvedConfig> {
533
- plugin: Plugin<PluginContext<TResolvedConfig>>;
534
- context: PluginContext<TResolvedConfig>;
585
+ interface EnvironmentPlugin<TResolvedConfig extends ResolvedConfig = ResolvedConfig, TSystemContext = unknown> extends Plugin<PluginContext<TResolvedConfig, TSystemContext>> {
586
+ /**
587
+ * A internal field to store the plugin configuration and context for the environment context
588
+ *
589
+ * @danger
590
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
591
+ *
592
+ * @internal
593
+ */
594
+ "~internal": {
595
+ /**
596
+ * The unique identifier of the plugin, which can be used for logging and other purposes to distinguish between different plugins in the same process.
597
+ */
598
+ readonly id: string;
599
+ /**
600
+ * The context for the plugin, which provides access to the Powerlines engine and other utilities for interacting with the build process.
601
+ *
602
+ * @remarks
603
+ * This context is specific to the plugin and environment, allowing for environment-specific modifications without affecting the global context.
604
+ */
605
+ readonly context: PluginContext<TResolvedConfig, TSystemContext>;
606
+ };
535
607
  }
536
- type SelectHookResultItem<TContext extends PluginContext, TKey extends string> = InferHooksListItem<TContext, TKey> & {
608
+ type SelectHookResultItem<TContext extends PluginContext, TKey extends string> = HooksListItem<TContext, TKey> & {
537
609
  context: TContext;
538
610
  };
539
611
  type SelectHookResult<TContext extends PluginContext, TKey extends string> = SelectHookResultItem<TContext, TKey>[];
540
- interface EnvironmentContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> extends Context<TResolvedConfig> {
612
+ interface EnvironmentContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig, TSystemContext = unknown> extends Context<EnvironmentResolvedConfig<TResolvedConfig>, TSystemContext> {
613
+ /**
614
+ * The unique identifier of the environment associated with this context, which can be used for logging and other purposes to distinguish between different environments in the same process.
615
+ */
616
+ readonly id: string;
541
617
  /**
542
618
  * The expected plugins options for the Powerlines project.
543
619
  *
544
620
  * @remarks
545
621
  * This is a record of plugin identifiers to their respective options. This field is populated by the Powerlines engine during both plugin initialization and the `init` command.
546
622
  */
547
- plugins: EnvironmentContextPlugin<TResolvedConfig>[];
548
- /**
549
- * A function to add a plugin to the context and update the configuration options
550
- */
551
- addPlugin: (plugin: Plugin<PluginContext<TResolvedConfig>>) => Promise<void>;
623
+ plugins: EnvironmentPlugin<TResolvedConfig, TSystemContext>[];
552
624
  /**
553
- * The environment specific resolved configuration
625
+ * A table holding references to hook functions registered by plugins
554
626
  */
555
- environment: EnvironmentResolvedConfig;
627
+ hooks: HooksList<PluginContext<TResolvedConfig, TSystemContext>>;
556
628
  /**
557
- * A table holding references to hook functions registered by plugins
629
+ * The execution context associated with this environment, which provides access to the project configuration, environment, and utility functions for performing the build. The execution context is used to manage the state and behavior of the build process across multiple environments, allowing for hooks to be called at different stages of the build and for environment-specific configurations to be applied.
630
+ *
631
+ * @danger
632
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
633
+ *
634
+ * @internal
558
635
  */
559
- hooks: HooksList<PluginContext<TResolvedConfig>>;
636
+ unstable_execution: ExecutionContext<TResolvedConfig, TSystemContext>;
560
637
  /**
561
638
  * Retrieves the hook handlers for a specific hook name
562
639
  */
563
- selectHooks: <TKey extends string>(key: TKey, options?: SelectHooksOptions) => SelectHookResult<PluginContext<TResolvedConfig>, TKey>;
640
+ selectHooks: <TKey extends string>(key: TKey, options?: SelectHooksOptions) => SelectHookResult<PluginContext<TResolvedConfig, TSystemContext>, TKey>;
564
641
  /**
565
- * A function to create a deep clone of the context
642
+ * A function used internally to add a plugin to the context and update the configuration options
566
643
  *
567
- * @remarks
568
- * This function is used to create a copy of the context for a specific environment, allowing for environment-specific modifications without affecting the global context.
644
+ * @danger
645
+ * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.
646
+ *
647
+ * @internal
569
648
  */
570
- clone: () => Promise<EnvironmentContext<TResolvedConfig>>;
649
+ unstable_addPlugin: (plugin: PluginConfig<PluginContext<TResolvedConfig, TSystemContext>>) => Promise<void>;
571
650
  }
572
- interface PluginContext<out TResolvedConfig extends ResolvedConfig = ResolvedConfig> extends Context<TResolvedConfig>, UnpluginContext {
651
+ interface PluginContext<out TResolvedConfig extends ResolvedConfig = ResolvedConfig, TSystemContext = unknown> extends Context<EnvironmentResolvedConfig<TResolvedConfig>, TSystemContext> {
573
652
  /**
574
- * The environment specific resolved configuration
653
+ * The unique identifier of the plugin associated with this context, which can be used for logging and other purposes to distinguish between different plugins in the same process.
575
654
  */
576
- environment: EnvironmentResolvedConfig;
655
+ readonly id: string;
577
656
  /**
578
- * An alternative property name for the {@link log} property
579
- *
580
- * @remarks
581
- * This is provided for compatibility with other logging libraries that expect a `logger` property.
582
- */
583
- logger: LogFn;
584
- /**
585
- * A function to create a deep clone of the context
586
- *
587
- * @remarks
588
- * This function is used to create a copy of the context for a specific environment, allowing for environment-specific modifications without affecting the global context.
657
+ * The context for the environment associated with this plugin context, which provides access to the Powerlines engine and other utilities for interacting with the build process. This context is specific to the plugin and environment, allowing for environment-specific modifications without affecting the global context.
589
658
  */
590
- clone: () => Promise<PluginContext<TResolvedConfig>>;
659
+ readonly environment: EnvironmentContext;
591
660
  }
592
661
  type BuildPluginContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> = UnpluginBuildContext & PluginContext<TResolvedConfig>;
593
662
  type WithUnpluginBuildContext<TContext extends PluginContext> = UnpluginBuildContext & TContext;
594
- declare type __ΩWorkerProcess = any[];
595
663
  declare type __ΩMetaInfo = any[];
596
664
  declare type __ΩResolver = any[];
597
665
  declare type __ΩTransformResult = any[];
@@ -604,10 +672,11 @@ declare type __ΩParseOptions = any[];
604
672
  declare type __ΩEmitOptions = any[];
605
673
  declare type __ΩEmitEntryOptions = any[];
606
674
  declare type __ΩResolveResult = any[];
675
+ declare type __ΩBaseContext = any[];
607
676
  declare type __ΩUnresolvedContext = any[];
608
677
  declare type __ΩContext = any[];
609
- declare type __ΩAPIContext = any[];
610
- declare type __ΩEnvironmentContextPlugin = any[];
678
+ declare type __ΩExecutionContext = any[];
679
+ declare type __ΩEnvironmentPlugin = any[];
611
680
  declare type __ΩSelectHookResultItem = any[];
612
681
  declare type __ΩSelectHookResult = any[];
613
682
  declare type __ΩEnvironmentContext = any[];
@@ -615,5 +684,5 @@ declare type __ΩPluginContext = any[];
615
684
  declare type __ΩBuildPluginContext = any[];
616
685
  declare type __ΩWithUnpluginBuildContext = any[];
617
686
  //#endregion
618
- export { APIContext, BuildPluginContext, Context, EmitEntryOptions, EmitOptions, EnvironmentContext, EnvironmentContextPlugin, FetchOptions, InitContextOptions, MetaInfo, ParseOptions, PluginContext, ResolveResult, Resolver, SelectHookResult, SelectHookResultItem, SelectHooksOptions, SourceFile, TransformResult$1 as TransformResult, UnimportContext, UnresolvedContext, WithUnpluginBuildContext, WorkerProcess, __ΩAPIContext, __ΩBuildPluginContext, __ΩContext, __ΩEmitEntryOptions, __ΩEmitOptions, __ΩEnvironmentContext, __ΩEnvironmentContextPlugin, __ΩFetchOptions, __ΩInitContextOptions, __ΩMetaInfo, __ΩParseOptions, __ΩPluginContext, __ΩResolveResult, __ΩResolver, __ΩSelectHookResult, __ΩSelectHookResultItem, __ΩSelectHooksOptions, __ΩSourceFile, __ΩTransformResult, __ΩUnimportContext, __ΩUnresolvedContext, __ΩWithUnpluginBuildContext, __ΩWorkerProcess };
687
+ export { BaseContext, BuildPluginContext, Context, EmitEntryOptions, EmitOptions, EnvironmentContext, EnvironmentPlugin, ExecutionContext, FetchOptions, InitContextOptions, MetaInfo, ParseOptions, PluginContext, ResolveResult, Resolver, SelectHookResult, SelectHookResultItem, SelectHooksOptions, SourceFile, TransformResult$1 as TransformResult, UnimportContext, UnresolvedContext, WithUnpluginBuildContext, __ΩBaseContext, __ΩBuildPluginContext, __ΩContext, __ΩEmitEntryOptions, __ΩEmitOptions, __ΩEnvironmentContext, __ΩEnvironmentPlugin, __ΩExecutionContext, __ΩFetchOptions, __ΩInitContextOptions, __ΩMetaInfo, __ΩParseOptions, __ΩPluginContext, __ΩResolveResult, __ΩResolver, __ΩSelectHookResult, __ΩSelectHookResultItem, __ΩSelectHooksOptions, __ΩSourceFile, __ΩTransformResult, __ΩUnimportContext, __ΩUnresolvedContext, __ΩWithUnpluginBuildContext };
619
688
  //# sourceMappingURL=context.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.mts","names":[],"sources":["../../src/types/context.ts"],"mappings":"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"}
1
+ {"version":3,"file":"context.d.mts","names":[],"sources":["../../src/types/context.ts"],"mappings":"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"}