@powerlines/plugin-env 0.13.64 → 0.13.65

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 (251) hide show
  1. package/dist/{chunk-DT2f8AgL.cjs → _virtual/rolldown_runtime.cjs} +1 -1
  2. package/dist/{chunk-CbqXBSoN.mjs → _virtual/rolldown_runtime.mjs} +1 -1
  3. package/dist/alloy/src/core/components/output.cjs +1 -0
  4. package/dist/alloy/src/core/components/output.mjs +1 -0
  5. package/dist/alloy/src/core/components/single-line-comment.cjs +1 -0
  6. package/dist/alloy/src/core/components/single-line-comment.mjs +1 -0
  7. package/dist/alloy/src/core/components/source-file.cjs +1 -0
  8. package/dist/alloy/src/core/components/source-file.d.cts +22 -0
  9. package/dist/alloy/src/core/components/source-file.d.mts +22 -0
  10. package/dist/alloy/src/core/components/source-file.mjs +1 -0
  11. package/dist/alloy/src/core/contexts/context.cjs +1 -0
  12. package/dist/alloy/src/core/contexts/context.mjs +1 -0
  13. package/dist/alloy/src/core/contexts/reflection.cjs +1 -0
  14. package/dist/alloy/src/core/contexts/reflection.mjs +1 -0
  15. package/dist/alloy/src/create-plugin.cjs +2 -0
  16. package/dist/alloy/src/create-plugin.mjs +2 -0
  17. package/dist/alloy/src/helpers/refkey.cjs +1 -0
  18. package/dist/alloy/src/helpers/refkey.mjs +1 -0
  19. package/dist/alloy/src/markdown/components/markdown-file.cjs +1 -0
  20. package/dist/alloy/src/markdown/components/markdown-file.mjs +1 -0
  21. package/dist/alloy/src/markdown/components/markdown-table.cjs +1 -0
  22. package/dist/alloy/src/markdown/components/markdown-table.mjs +1 -0
  23. package/dist/alloy/src/markdown/contexts/markdown-table.cjs +1 -0
  24. package/dist/alloy/src/markdown/contexts/markdown-table.mjs +1 -0
  25. package/dist/alloy/src/types/components.d.cts +19 -0
  26. package/dist/alloy/src/types/components.d.mts +23 -0
  27. package/dist/alloy/src/types/plugin.d.cts +15 -0
  28. package/dist/alloy/src/types/plugin.d.mts +15 -0
  29. package/dist/alloy/src/typescript/components/builtin-file.cjs +1 -0
  30. package/dist/alloy/src/typescript/components/builtin-file.d.cts +25 -0
  31. package/dist/alloy/src/typescript/components/builtin-file.d.mts +26 -0
  32. package/dist/alloy/src/typescript/components/builtin-file.mjs +1 -0
  33. package/dist/alloy/src/typescript/components/tsdoc-reflection.cjs +1 -0
  34. package/dist/alloy/src/typescript/components/tsdoc-reflection.mjs +1 -0
  35. package/dist/alloy/src/typescript/components/tsdoc.cjs +1 -0
  36. package/dist/alloy/src/typescript/components/tsdoc.d.cts +27 -0
  37. package/dist/alloy/src/typescript/components/tsdoc.d.mts +28 -0
  38. package/dist/alloy/src/typescript/components/tsdoc.mjs +1 -0
  39. package/dist/alloy/src/typescript/components/typescript-file.cjs +1 -0
  40. package/dist/alloy/src/typescript/components/typescript-file.d.cts +13 -0
  41. package/dist/alloy/src/typescript/components/typescript-file.d.mts +14 -0
  42. package/dist/alloy/src/typescript/components/typescript-file.mjs +1 -0
  43. package/dist/alloy/src/typescript/components/typescript-interface.cjs +1 -0
  44. package/dist/alloy/src/typescript/components/typescript-interface.d.cts +11 -0
  45. package/dist/alloy/src/typescript/components/typescript-interface.d.mts +12 -0
  46. package/dist/alloy/src/typescript/components/typescript-interface.mjs +1 -0
  47. package/dist/alloy/src/typescript/components/typescript-object.cjs +1 -0
  48. package/dist/alloy/src/typescript/components/typescript-object.mjs +1 -0
  49. package/dist/babel/index.cjs +1 -1
  50. package/dist/babel/index.d.cts +1 -16
  51. package/dist/babel/index.d.mts +1 -16
  52. package/dist/babel/index.mjs +1 -1
  53. package/dist/babel/plugin.cjs +5 -1
  54. package/dist/babel/plugin.d.cts +6 -16
  55. package/dist/babel/plugin.d.mts +8 -16
  56. package/dist/babel/plugin.mjs +5 -1
  57. package/dist/components/docs.cjs +1 -1
  58. package/dist/components/docs.d.cts +8 -1
  59. package/dist/components/docs.d.mts +8 -1
  60. package/dist/components/docs.mjs +1 -1
  61. package/dist/components/env.cjs +34 -1
  62. package/dist/components/env.d.cts +19 -3
  63. package/dist/components/env.d.mts +19 -3
  64. package/dist/components/env.mjs +31 -1
  65. package/dist/components/index.cjs +1 -1
  66. package/dist/components/index.d.cts +2 -5
  67. package/dist/components/index.d.mts +2 -5
  68. package/dist/components/index.mjs +1 -1
  69. package/dist/deepkit/schemas/reflection.cjs +1 -0
  70. package/dist/{plugin-BC31CJSb.d.mts → deepkit/schemas/reflection.d.cts} +1 -156
  71. package/dist/{plugin-Ds60xmj5.d.cts → deepkit/schemas/reflection.d.mts} +1 -156
  72. package/dist/deepkit/schemas/reflection.mjs +1 -0
  73. package/dist/deepkit/schemas/reflection2.cjs +1 -0
  74. package/dist/deepkit/schemas/reflection2.mjs +1 -0
  75. package/dist/deepkit/src/capnp.cjs +1 -0
  76. package/dist/deepkit/src/capnp.mjs +1 -0
  77. package/dist/deepkit/src/reflect-type.cjs +1 -0
  78. package/dist/deepkit/src/reflect-type.mjs +1 -0
  79. package/dist/deepkit/src/resolve-reflections.cjs +1 -0
  80. package/dist/deepkit/src/resolve-reflections.mjs +1 -0
  81. package/dist/deepkit/src/types.d.cts +10 -0
  82. package/dist/deepkit/src/types.d.mts +10 -0
  83. package/dist/deepkit/src/utilities.cjs +1 -0
  84. package/dist/deepkit/src/utilities.mjs +1 -0
  85. package/dist/deepkit/src/vendor/type.cjs +1 -0
  86. package/dist/deepkit/src/vendor/type.d.cts +7 -0
  87. package/dist/deepkit/src/vendor/type.d.mts +7 -0
  88. package/dist/deepkit/src/vendor/type.mjs +1 -0
  89. package/dist/helpers/create-reflection-resource.cjs +1 -1
  90. package/dist/helpers/create-reflection-resource.d.cts +14 -5
  91. package/dist/helpers/create-reflection-resource.d.mts +14 -5
  92. package/dist/helpers/create-reflection-resource.mjs +1 -1
  93. package/dist/helpers/index.cjs +1 -1
  94. package/dist/helpers/index.d.cts +6 -11
  95. package/dist/helpers/index.d.mts +6 -11
  96. package/dist/helpers/index.mjs +1 -1
  97. package/dist/helpers/load.cjs +1 -1
  98. package/dist/helpers/load.d.cts +34 -5
  99. package/dist/helpers/load.d.mts +35 -5
  100. package/dist/helpers/load.mjs +1 -1
  101. package/dist/helpers/persistence.cjs +1 -1
  102. package/dist/helpers/persistence.d.cts +83 -5
  103. package/dist/helpers/persistence.d.mts +83 -5
  104. package/dist/helpers/persistence.mjs +1 -1
  105. package/dist/helpers/reflect.cjs +1 -1
  106. package/dist/helpers/reflect.d.cts +45 -5
  107. package/dist/helpers/reflect.d.mts +45 -5
  108. package/dist/helpers/reflect.mjs +1 -1
  109. package/dist/helpers/source-file-env.cjs +1 -1
  110. package/dist/helpers/source-file-env.d.cts +7 -1
  111. package/dist/helpers/source-file-env.d.mts +7 -1
  112. package/dist/helpers/source-file-env.mjs +1 -1
  113. package/dist/helpers/template-helpers.cjs +1 -1
  114. package/dist/helpers/template-helpers.d.cts +14 -5
  115. package/dist/helpers/template-helpers.d.mts +14 -5
  116. package/dist/helpers/template-helpers.mjs +1 -1
  117. package/dist/index.cjs +3 -4
  118. package/dist/index.d.cts +20 -16
  119. package/dist/index.d.mts +25 -16
  120. package/dist/index.mjs +2 -3
  121. package/dist/plugin-babel/src/helpers/ast-utils.cjs +1 -0
  122. package/dist/plugin-babel/src/helpers/ast-utils.mjs +1 -0
  123. package/dist/plugin-babel/src/helpers/create-plugin.cjs +1 -0
  124. package/dist/plugin-babel/src/helpers/create-plugin.mjs +1 -0
  125. package/dist/plugin-babel/src/helpers/filters.cjs +1 -0
  126. package/dist/plugin-babel/src/helpers/filters.mjs +1 -0
  127. package/dist/plugin-babel/src/helpers/index.cjs +1 -0
  128. package/dist/plugin-babel/src/helpers/index.mjs +1 -0
  129. package/dist/plugin-babel/src/helpers/module-helpers.cjs +1 -0
  130. package/dist/plugin-babel/src/helpers/module-helpers.mjs +1 -0
  131. package/dist/plugin-babel/src/helpers/options.cjs +1 -0
  132. package/dist/plugin-babel/src/helpers/options.mjs +1 -0
  133. package/dist/plugin-babel/src/index.cjs +1 -0
  134. package/dist/plugin-babel/src/index.mjs +1 -0
  135. package/dist/plugin-babel/src/types/index.d.mts +1 -0
  136. package/dist/plugin-babel/src/types/plugin.d.cts +15 -0
  137. package/dist/plugin-babel/src/types/plugin.d.mts +15 -0
  138. package/dist/plugin-plugin/src/types/plugin.d.cts +21 -0
  139. package/dist/plugin-plugin/src/types/plugin.d.mts +24 -0
  140. package/dist/powerlines/src/internal/helpers/hooks.d.mts +5 -0
  141. package/dist/powerlines/src/lib/build/esbuild.cjs +14 -0
  142. package/dist/powerlines/src/lib/build/esbuild.mjs +14 -0
  143. package/dist/powerlines/src/lib/entry.cjs +1 -0
  144. package/dist/powerlines/src/lib/entry.mjs +1 -0
  145. package/dist/powerlines/src/lib/logger.cjs +1 -0
  146. package/dist/powerlines/src/lib/logger.mjs +1 -0
  147. package/dist/powerlines/src/lib/utilities/bundle.cjs +1 -0
  148. package/dist/powerlines/src/lib/utilities/bundle.mjs +1 -0
  149. package/dist/powerlines/src/lib/utilities/resolve.cjs +1 -0
  150. package/dist/powerlines/src/lib/utilities/resolve.mjs +1 -0
  151. package/dist/powerlines/src/plugin-utils/helpers.cjs +1 -0
  152. package/dist/powerlines/src/plugin-utils/helpers.mjs +1 -0
  153. package/dist/powerlines/src/plugin-utils/paths.cjs +1 -0
  154. package/dist/powerlines/src/plugin-utils/paths.mjs +1 -0
  155. package/dist/powerlines/src/types/api.d.mts +5 -0
  156. package/dist/powerlines/src/types/babel.d.cts +23 -0
  157. package/dist/powerlines/src/types/babel.d.mts +23 -0
  158. package/dist/powerlines/src/types/build.d.cts +139 -0
  159. package/dist/powerlines/src/types/build.d.mts +141 -0
  160. package/dist/powerlines/src/types/commands.d.cts +8 -0
  161. package/dist/powerlines/src/types/commands.d.mts +9 -0
  162. package/dist/powerlines/src/types/config.d.cts +356 -0
  163. package/dist/powerlines/src/types/config.d.mts +357 -0
  164. package/dist/powerlines/src/types/context.d.cts +358 -0
  165. package/dist/powerlines/src/types/context.d.mts +360 -0
  166. package/dist/powerlines/src/types/fs.d.cts +458 -0
  167. package/dist/powerlines/src/types/fs.d.mts +458 -0
  168. package/dist/powerlines/src/types/hooks.d.mts +2 -0
  169. package/dist/powerlines/src/types/index.d.mts +12 -0
  170. package/dist/powerlines/src/types/plugin.d.cts +232 -0
  171. package/dist/powerlines/src/types/plugin.d.mts +232 -0
  172. package/dist/powerlines/src/types/resolved.d.cts +82 -0
  173. package/dist/powerlines/src/types/resolved.d.mts +83 -0
  174. package/dist/powerlines/src/types/tsconfig.d.cts +69 -0
  175. package/dist/powerlines/src/types/tsconfig.d.mts +69 -0
  176. package/dist/powerlines/src/types/unplugin.d.mts +7 -0
  177. package/dist/types/index.cjs +0 -1
  178. package/dist/types/index.d.cts +2 -5
  179. package/dist/types/index.d.mts +2 -5
  180. package/dist/types/index.mjs +1 -1
  181. package/dist/types/plugin.cjs +0 -1
  182. package/dist/types/plugin.d.cts +140 -4
  183. package/dist/types/plugin.d.mts +141 -4
  184. package/dist/types/plugin.mjs +1 -1
  185. package/dist/types/runtime.cjs +0 -1
  186. package/dist/types/runtime.d.cts +793 -2
  187. package/dist/types/runtime.d.mts +793 -2
  188. package/dist/types/runtime.mjs +1 -1
  189. package/package.json +16 -16
  190. package/dist/babel-Bmzkjy1p.cjs +0 -0
  191. package/dist/babel-CE47sTzg.mjs +0 -1
  192. package/dist/components-BWruXLSx.cjs +0 -0
  193. package/dist/components-LyHNrcZE.mjs +0 -1
  194. package/dist/config-CYnsaVbs.d.mts +0 -1678
  195. package/dist/config-CxGVaXL4.d.cts +0 -1676
  196. package/dist/create-reflection-resource-CQHJrkQi.cjs +0 -1
  197. package/dist/create-reflection-resource-Cut236Kb.d.mts +0 -15
  198. package/dist/create-reflection-resource-DT6PRnl4.d.cts +0 -15
  199. package/dist/create-reflection-resource-UtOwX4Ml.mjs +0 -1
  200. package/dist/docs-BDiEhcDa.mjs +0 -1
  201. package/dist/docs-Bhi9smBO.cjs +0 -1
  202. package/dist/docs-BoZkRBO4.d.cts +0 -9
  203. package/dist/docs-BwK6pC_c.d.mts +0 -9
  204. package/dist/env-0C9Vc_CF.cjs +0 -34
  205. package/dist/env-BuKnYxut.d.mts +0 -112
  206. package/dist/env-CXBFOUFJ.d.cts +0 -112
  207. package/dist/env-D4MK9BWK.mjs +0 -31
  208. package/dist/helpers-DfMThUgD.mjs +0 -1
  209. package/dist/helpers-YGhXHw5G.cjs +0 -0
  210. package/dist/index-BBNpKJsx.d.mts +0 -41
  211. package/dist/index-BRBK9zG-.d.cts +0 -1
  212. package/dist/index-Bt4QNofW.d.mts +0 -1
  213. package/dist/index-CRo77wc3.d.mts +0 -1
  214. package/dist/index-CspKFJM1.d.cts +0 -1
  215. package/dist/index-Czm5wPhI.d.cts +0 -41
  216. package/dist/index-Dpmi5zcN.d.cts +0 -1
  217. package/dist/index-Wc1llEvP.d.mts +0 -1
  218. package/dist/load-BZTlThWg.mjs +0 -1
  219. package/dist/load-DLNNRhI9.d.cts +0 -35
  220. package/dist/load-DdYSs4J5.d.mts +0 -38
  221. package/dist/load-nUlit5lR.cjs +0 -1
  222. package/dist/persistence-BU921sV3.d.mts +0 -84
  223. package/dist/persistence-Br-YMVb1.mjs +0 -14
  224. package/dist/persistence-D0xYMSMI.d.cts +0 -84
  225. package/dist/persistence-KaP3-ka1.cjs +0 -14
  226. package/dist/plugin-CRYQ682C.cjs +0 -0
  227. package/dist/plugin-Cx61c9gw.mjs +0 -5
  228. package/dist/plugin-DrnPbdzR.mjs +0 -1
  229. package/dist/plugin-v-FJGggy.cjs +0 -5
  230. package/dist/reflect-DQjKw7jE.d.cts +0 -46
  231. package/dist/reflect-DzAiYF2u.d.mts +0 -46
  232. package/dist/runtime-BaZivi6m.cjs +0 -0
  233. package/dist/runtime-BxuH9yuK.d.cts +0 -794
  234. package/dist/runtime-DqCYc37d.mjs +0 -1
  235. package/dist/runtime-qQN60UNu.d.mts +0 -794
  236. package/dist/source-file-CLCTB4C7.cjs +0 -1
  237. package/dist/source-file-CjFSCK1w.mjs +0 -1
  238. package/dist/source-file-env-BDFTs5WJ.mjs +0 -1
  239. package/dist/source-file-env-C6uYyxww.cjs +0 -1
  240. package/dist/source-file-env-DonDJDV1.d.cts +0 -8
  241. package/dist/source-file-env-DzpWKluw.d.mts +0 -8
  242. package/dist/template-helpers-BNFy_Wbj.d.mts +0 -15
  243. package/dist/template-helpers-BSbamu0U.cjs +0 -1
  244. package/dist/template-helpers-C-NOO5ex.d.cts +0 -15
  245. package/dist/template-helpers-CLrM_TtO.mjs +0 -1
  246. package/dist/type-CnPIyotQ.d.mts +0 -3
  247. package/dist/type-D6dRgWJT.d.cts +0 -3
  248. package/dist/types-BCto_Rzj.mjs +0 -1
  249. package/dist/types-DS7T32tb.cjs +0 -0
  250. package/dist/utilities-4S--uN0L.mjs +0 -1
  251. package/dist/utilities-CxyT2chk.cjs +0 -1
@@ -1,6 +1,15 @@
1
- import "../type-CnPIyotQ.mjs";
2
- import "../plugin-BC31CJSb.mjs";
3
- import "../config-CYnsaVbs.mjs";
4
- import "../runtime-qQN60UNu.mjs";
5
- import { t as createTemplateReflection } from "../template-helpers-BNFy_Wbj.mjs";
1
+ import { type_d_exports } from "../deepkit/src/vendor/type.mjs";
2
+ import { EnvPluginContext, EnvType } from "../types/plugin.mjs";
3
+
4
+ //#region src/helpers/template-helpers.d.ts
5
+
6
+ /**
7
+ * Creates the reflection data used when generating runtime template files.
8
+ *
9
+ * @param context - The context for the configuration plugin.
10
+ * @param name - The name of the configuration template.
11
+ * @returns The reflection for the specified configuration template.
12
+ */
13
+ declare function createTemplateReflection(context: EnvPluginContext, name?: EnvType): Promise<type_d_exports.ReflectionClass<any>>;
14
+ //#endregion
6
15
  export { createTemplateReflection };
@@ -1 +1 @@
1
- import"../persistence-Br-YMVb1.mjs";import{t as e}from"../template-helpers-CLrM_TtO.mjs";export{e as createTemplateReflection};
1
+ import{readEnvTypeReflection as e}from"./persistence.mjs";import{titleCase as t}from"@stryke/string-format/title-case";async function n(n,r){let i=await e(n,r);return i.getProperties().forEach(e=>{e.getAlias().filter(Boolean).forEach(n=>{i.addProperty({name:n,optional:e.isOptional()?!0:void 0,readonly:e.isReadonly()?!0:void 0,description:e.getDescription(),visibility:e.getVisibility(),type:e.getType(),default:e.getDefaultValue(),tags:{hidden:e.isHidden(),ignore:e.isIgnored(),internal:e.isInternal(),alias:e.getAlias().filter(e=>e!==n).concat(e.name),title:e.getTitle()||t(e.name),readonly:e.isReadonly(),permission:e.getPermission(),domain:e.getDomain()}})})}),i}export{n as createTemplateReflection};
package/dist/index.cjs CHANGED
@@ -1,5 +1,4 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`./chunk-DT2f8AgL.cjs`),t=require(`./source-file-CLCTB4C7.cjs`),n=require(`./persistence-KaP3-ka1.cjs`),r=require(`./plugin-v-FJGggy.cjs`);require(`./utilities-CxyT2chk.cjs`);const i=require(`./env-0C9Vc_CF.cjs`),a=require(`./source-file-env-C6uYyxww.cjs`),o=require(`./load-nUlit5lR.cjs`),s=require(`./create-reflection-resource-CQHJrkQi.cjs`);require(`./babel-Bmzkjy1p.cjs`);const c=require(`./docs-Bhi9smBO.cjs`);require(`./components-BWruXLSx.cjs`);const l=require(`./template-helpers-BSbamu0U.cjs`);require(`./helpers-YGhXHw5G.cjs`),require(`./plugin-CRYQ682C.cjs`),require(`./runtime-BaZivi6m.cjs`),require(`./types-DS7T32tb.cjs`);let u=require(`@alloy-js/core/jsx-runtime`),d=require(`@alloy-js/core`),f=require(`@storm-software/config-tools/types`),p=require(`@stryke/path/is-parent-path`),m=require(`@stryke/path/replace`),h=require(`@stryke/type-checks/is-set-string`),g=require(`@stryke/type-checks/is-function`),_=require(`@stryke/type-checks/is-set-object`),v=require(`@stryke/type-checks/is-undefined`),y=require(`prettier/doc.js`),b=require(`@babel/core`),x=require(`@stryke/path/file-path-fns`),S=require(`defu`);S=e.n(S),require(`@stryke/type-checks/is-object`);let C=require(`chalk`);C=e.n(C);let w=require(`@stryke/convert/parse-type-definition`),T=require(`@stryke/convert/to-array`),E=require(`@stryke/env/types`),D=require(`@stryke/fs/exists`),O=require(`@stryke/fs/helpers`),k=require(`@stryke/path/join`),A=require(`@stryke/string-format/constant-case`);function j(e){return(0,g.isFunction)(e)||(0,_.isSetObject)(e)&&`handler`in e&&(0,g.isFunction)(e.handler)}function M(e){return(0,_.isSetObject)(e)&&`handler`in e&&(0,g.isFunction)(e.handler)}function N(e){return j(e)||M(e)}function P(e){return(0,g.isFunction)(e)?e:e.handler}function F(e){let[{children:n,context:r,basePath:i},a]=(0,d.splitProps)(e,[`children`,`context`,`basePath`]),o=(0,d.ref)(r),s=(0,d.computed)(()=>i?(0,m.replacePath)(i,o.value.workspaceConfig.workspaceRoot):o.value.workspaceConfig.workspaceRoot);return(0,u.createComponent)(d.Output,(0,u.mergeProps)(a,{get basePath(){return s.value},get children(){return(0,u.createComponent)(t.r.Provider,{value:{ref:o},get children(){return(0,u.createComponent)(d.Show,{get when(){return!!o.value},children:n})}})}}))}function I(e){return t=>{let n=e(t);return{...n,async prepare(){let e=this;if(N(n.prepare)&&n.enforce!==`post`&&(j(n.prepare)||M(n.prepare)&&n.prepare.order!==`post`)&&await Promise.resolve(P(n.prepare).call(this)),N(n.render)){let r=(0,d.renderTree)((0,u.createComponent)(F,{context:e,get basePath(){return e.workspaceConfig.workspaceRoot},get children(){return n.render.call(e)}}));await L(this,r,t?.alloy)}N(n.prepare)&&(n.enforce===`post`||M(n.prepare)&&n.prepare.order===`post`)&&await Promise.resolve(P(n.prepare).call(this))}}}}async function L(e,t,n={}){await(0,d.flushJobsAsync)();let r,i=async(t,a)=>{if(!Array.isArray(a))return;let o=async e=>{for(let t of a)await i(e,t)},s=(0,d.getContextForRenderNode)(a);if(!s)return o(t);if(s.meta?.directory){let e={kind:`directory`,path:s.meta.directory.path,contents:[]};t?t.contents.push(e):r=e,await o(e)}else if(s.meta?.sourceFile){if(!t)throw Error(`Source file doesn't have parent directory. Make sure you have used the Output component.`);let r;if(s.meta?.builtin){if(!s.meta.builtin.id)throw Error("Built-in runtime module doesn't have an ID. Make sure you have used the `<BuiltinFile />` component.");e.log(f.LogLevelLabel.TRACE,`Rendering built-in runtime module with ID: ${s.meta.builtin.id}`),r={kind:`builtin`,id:s.meta.builtin.id,path:(0,m.replacePath)(s.meta.sourceFile.path,e.builtinsPath),filetype:s.meta.sourceFile.filetype,preset:s.meta.output?.mode,contents:await R(e,a,n)}}else s.meta?.entry||(0,p.isParentPath)(e.entryPath,s.meta.sourceFile.path)?(e.log(f.LogLevelLabel.TRACE,`Rendering entry module at path: ${s.meta.sourceFile.path}`),r={kind:`entry`,typeDefinition:s.meta.entry?.typeDefinition,path:s.meta.sourceFile.path,filetype:s.meta.sourceFile.filetype,preset:s.meta.output?.mode,contents:await R(e,a,n)}):(e.log(f.LogLevelLabel.TRACE,`Rendering source file at path: ${s.meta.sourceFile.path}`),r={kind:`file`,path:s.meta.sourceFile.path,filetype:s.meta.sourceFile.filetype,preset:s.meta.output?.mode,contents:await R(e,a,n)});t.contents.push(r)}else if(s.meta?.copyFile){if(!t)throw Error(`Copy file doesn't have parent directory. Make sure you have used the Output component.`);if(e.log(f.LogLevelLabel.TRACE,`Processing copy file operation from "${s.meta.copyFile.sourcePath}" to "${s.meta.copyFile.path}"`),!s.meta.copyFile.sourcePath)throw Error("Copy file doesn't have a source path. Make sure you have provided a `sourcePath` property to the `meta.copyFile` context.");if(!s.meta.copyFile.path)throw Error("Copy file doesn't have a destination path. Make sure you have provided a `path` property to the `meta.copyFile` context.");t.contents.push({kind:`file`,path:s.meta.copyFile.path,sourcePath:s.meta.copyFile.sourcePath,preset:s.meta.output?.preset})}else await o(t)};await i(void 0,t);let a=async(e,t)=>{for(let n of t.contents)if(n.kind===`directory`)await a(e,n);else if(n.kind===`builtin`)await e.emitBuiltin(n.contents,n.id,n.path);else if(n.kind===`entry`)await e.emitEntry(n.contents,n.path);else if(n.kind===`file`)if(`sourcePath`in n&&n.sourcePath){if(!e.fs.existsSync(n.sourcePath))throw Error(`Source file "${n.sourcePath}" for copy operation does not exist.`);let t=await e.fs.read(n.sourcePath);if(!(0,h.isSetString)(t))throw Error(`Source file "${n.sourcePath}" for copy operation is empty.`);await e.fs.write(n.path,t)}else if(`contents`in n&&(0,h.isSetString)(n.contents))await e.fs.write(n.path,n.contents);else throw Error(`Unexpected output extracted from the render tree: \n\n${JSON.stringify(n,null,2)}`)};await a(e,r)}async function R(e,t,n={}){n.printWidth??=160,n.tabWidth??=2,n.useTabs??=!1,n.insertFinalNewLine??=!0,await(0,d.flushJobsAsync)();let r=y.printer.printDocToString(z(t),n).formatted;return n.insertFinalNewLine&&!r.endsWith(`
2
- `)?`${r}\n`:r}function z(e){let t=[];for(let n of e)if(typeof n==`string`){let e=n.split(/\r?\n/).flatMap((e,t,n)=>(n.length-1,[e]));t.push(e)}else (0,d.isPrintHook)(n)?t.push(n.print(n.subtree,z)):t.push(z(n));return t}function B(e){return(0,h.isSetString)(e)?e:Array.isArray(e)&&e.length>0?B(e[0]):e.$$name||e.name?e.$$name||e.name:void 0}function V(e,t){return!!(B(t)&&e.some(e=>Array.isArray(e)&&B(e[0])===B(t)))}function H(e,t){try{return Array.isArray(t)&&t.length>0&&t[0]?(0,g.isFunction)(t[0])?t[0](e):t[0]:(0,g.isFunction)(t)?t(e):t}catch{return t[0]}}function U(e,t,n,r){if(Array.isArray(r)&&r.length>0&&r[0]){if(r.length>2&&r[2]&&(0,g.isFunction)(r[2])&&!r[2](t,n)){e.log(f.LogLevelLabel.TRACE,`Skipping filtered Babel plugin ${C.default.bold.cyanBright(B(r)||`unnamed`)} for ${n}`);return}return r.length>2?[H(e,r),r[1],r[2]]:[H(e,r),r[1],null]}return[H(e,r),{},null]}const W=(e={})=>({name:`babel`,config(){if((0,_.isSetObject)(e))return{transform:{babel:e}}},configResolved:{order:`pre`,handler(){this.devDependencies[`@babel/core`]=`^7.28.4`,this.config.transform.babel=(0,S.default)(this.config.transform.babel??{},{plugins:[],presets:[]})}},async transform(t,n){if((0,p.isParentPath)(n,this.powerlinesPath)||t.includes(`/* @storm-ignore */`)||t.includes(`/* @storm-disable */`))return this.log(f.LogLevelLabel.TRACE,`Skipping Babel transformation for: ${n}`),{code:t,id:n};this.log(f.LogLevelLabel.TRACE,`Babel transforming file: ${n}`);let r=this.config.transform.babel.plugins.map(e=>U(this,t,n,e)).filter((e,t,n)=>e&&!V(n,e)),i=this.config.transform.babel.presets.map(e=>U(this,t,n,e)).filter((e,t,n)=>e&&!V(n,e));if(Array.isArray(r)&&r.length===0&&Array.isArray(i)&&i.length===0)return{code:t,id:n};[`ts`,`cts`,`mts`,`tsx`].includes((0,x.findFileExtensionSafe)(n))&&!V(r,`@babel/plugin-syntax-typescript`)&&!V(i,`@babel/preset-typescript`)&&r.unshift([`@babel/plugin-syntax-typescript`,{isTSX:(0,x.findFileExtension)(n)===`.tsx`}]);let a=await(0,b.transformAsync)(t,{highlightCode:!0,code:!0,ast:!1,cloneInputAst:!1,comments:!0,sourceType:`module`,configFile:!1,babelrc:!1,envName:this.config.mode,caller:{name:this.config.framework},...this.config.transform.babel??{},filename:n,plugins:r.map(t=>Array.isArray(t)&&t.length>=2?[t[0],(0,S.default)(t.length>1&&t[1]?t[1]:{},{options:e})]:t).filter(Boolean),presets:i.map(t=>Array.isArray(t)&&t.length>=2?[t[0],(0,S.default)(t.length>1&&t[1]?t[1]:{},{options:e})]:t).filter(Boolean)});if(!a?.code)throw Error(`Powerlines - Babel plugin failed to compile ${n}`);return{code:a.code,id:n}}});var G=W;const K=I((e={})=>({name:`env`,dependsOn:[G(e.babel)],async config(){this.log(f.LogLevelLabel.TRACE,"Providing default configuration for the Powerlines `env` build plugin.");let t={env:(0,S.default)(e,{types:{},prefix:[]}),transform:{babel:{plugins:[r.t]}}};if(t.env.types)t.env.types=(0,w.parseTypeDefinition)(t.env.types);else{this.log(f.LogLevelLabel.WARN,"The `env.types` configuration parameter was not provided. Please ensure this is expected.");let e=await n.t(this);t.env.types=(0,w.parseTypeDefinition)(`${e.file}#${e.name}`)}if(t.env.secrets)t.env.secrets=(0,w.parseTypeDefinition)(t.env.secrets);else{let e=await n.i(this);t.env.secrets=(0,w.parseTypeDefinition)(`${e.file}#${e.name}`)}return t.env.prefix=(0,T.toArray)(t.env.prefix??[]).reduce((e,t)=>{let n=(0,A.constantCase)(t);return e.includes(n)||e.push(n),e},[...E.ENV_PREFIXES,`POWERLINES_`]),t.env.prefix=t.env.prefix.reduce((e,t)=>(e.includes(t.replace(/_$/g,``))||e.push(t.replace(/_$/g,``)),e),[]),t},async configResolved(){if(this.log(f.LogLevelLabel.TRACE,`Environment plugin configuration has been resolved for the Powerlines project.`),this.config.env.inject??=this.config.projectType===`application`,this.env=(0,S.default)({parsed:await o.t(this,this.config.env)},this.env??{},{types:{env:{}},used:{env:{},secrets:{}},parsed:{},injected:{}}),this.config.command!==`prepare`&&this.persistedMeta?.checksum===this.meta.checksum&&(0,D.existsSync)(n.r(this,`env`)))this.log(f.LogLevelLabel.TRACE,`Skipping reflection initialization as the meta checksum has not changed.`),this.env.types.env=await n.o(this,`env`),(0,D.existsSync)(n.n(this,`env`))&&(this.env.used.env=await n.a(this)),(0,D.existsSync)(n.r(this,`secrets`))&&(this.env.types.secrets=await n.o(this,`secrets`)),(0,D.existsSync)(n.n(this,`secrets`))&&(this.env.used.secrets=await n.s(this));else{if(this.env.types.env=await n.v(this,this.config.env.types?.file?(0,p.isParentPath)(this.config.env.types?.file,this.workspaceConfig.workspaceRoot)?this.config.env.types?.file:(0,k.joinPaths)(this.config.projectRoot,this.config.env.types?.file):void 0,this.config.env.types?.name),!this.env.types.env)throw Error(`Failed to find the environment configuration type reflection in the context.`);if(await n.d(this,this.env.types.env,`env`),this.env.types.secrets=await n.y(this,this.config.env.secrets?.file?(0,p.isParentPath)(this.config.env.secrets?.file,this.workspaceConfig.workspaceRoot)?this.config.env.secrets?.file:(0,k.joinPaths)(this.config.projectRoot,this.config.env.secrets?.file):void 0,this.config.env.secrets?.name),!this.env.types.secrets)throw Error(`Failed to find the secrets configuration type reflection in the context.`);await n.d(this,this.env.types.secrets,`secrets`),this.log(f.LogLevelLabel.TRACE,`Resolved ${this.env.types.env.getProperties().length??0} environment configuration parameters and ${this.env.types.secrets?.getProperties().length??0} secret configuration parameters`);let e=this.env.types.env.getProperties().filter(e=>e.getAlias().length>0);Object.entries(await o.t(this,this.config.env)).forEach(([t,n])=>{let r=this.config.env.prefix.reduce((e,n)=>t.replace(/_$/g,``).startsWith(n)?t.replace(/_$/g,``).slice(n.length):e,t),i=e.find(e=>e?.getAlias().reverse().includes(r));(this.env.types.env?.hasProperty(r)||i)&&this.env.types.env.getProperty(r).setDefaultValue(n)}),this.env.used.env=new n.S.ReflectionClass({kind:n.S.ReflectionKind.objectLiteral,typeName:`Env`,description:`An object containing the environment configuration parameters used by the ${this.config.name?`${this.config.name} application`:`application`}.`,types:[]},this.env.types.env),await n.l(this,this.env.used.env,`env`),this.env.types.secrets&&(await n.d(this,this.env.types.secrets,`secrets`),this.env.used.secrets=new n.S.ReflectionClass({kind:n.S.ReflectionKind.objectLiteral,typeName:`Secrets`,description:`An object containing the secret configuration parameters used by the ${this.config.name?`${this.config.name} application`:`application`}.`,types:[]},this.env.types.secrets),await n.l(this,this.env.used.secrets,`secrets`))}},render(){let e=this;return this.log(f.LogLevelLabel.TRACE,`Preparing the Environment runtime artifacts for the Powerlines project.`),(0,u.createComponent)(i.t,{get defaultConfig(){return e.config.env.defaultConfig}})},async docs(){this.log(f.LogLevelLabel.TRACE,`Writing Environment documentation for the Powerlines project artifacts.`);let e=(0,k.joinPaths)(this.config.projectRoot,`docs`,`generated`);(0,D.existsSync)(e)||await(0,O.createDirectory)(e);let t=await n.o(this,`env`),r=(0,k.joinPaths)(e,`env.md`);this.log(f.LogLevelLabel.TRACE,`Documenting environment variables configuration in "${r}"`),await this.fs.write(r,`<!-- Generated by Powerlines -->
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`./_virtual/rolldown_runtime.cjs`),t=require(`./alloy/src/create-plugin.cjs`),n=require(`./deepkit/src/vendor/type.cjs`),r=require(`./plugin-babel/src/index.cjs`),i=require(`./helpers/reflect.cjs`),a=require(`./helpers/persistence.cjs`),o=require(`./babel/plugin.cjs`),s=require(`./helpers/source-file-env.cjs`),c=require(`./helpers/load.cjs`),l=require(`./helpers/create-reflection-resource.cjs`),u=require(`./components/env.cjs`);require(`./babel/index.cjs`);const d=require(`./components/docs.cjs`);require(`./components/index.cjs`);const f=require(`./helpers/template-helpers.cjs`);require(`./helpers/index.cjs`);let p=require(`@alloy-js/core/jsx-runtime`),m=require(`@storm-software/config-tools/types`),h=require(`@stryke/path/is-parent-path`),g=require(`defu`);g=e.__toESM(g);let _=require(`@stryke/convert/parse-type-definition`),v=require(`@stryke/convert/to-array`),y=require(`@stryke/env/types`),b=require(`@stryke/fs/exists`),x=require(`@stryke/fs/helpers`),S=require(`@stryke/path/join`),C=require(`@stryke/string-format/constant-case`);const w=t.createAlloyPlugin((e={})=>({name:`env`,dependsOn:[r.default(e.babel)],async config(){this.log(m.LogLevelLabel.TRACE,"Providing default configuration for the Powerlines `env` build plugin.");let t={env:(0,g.default)(e,{types:{},prefix:[]}),transform:{babel:{plugins:[o.envBabelPlugin]}}};if(t.env.types)t.env.types=(0,_.parseTypeDefinition)(t.env.types);else{this.log(m.LogLevelLabel.WARN,"The `env.types` configuration parameter was not provided. Please ensure this is expected.");let e=await a.getEnvDefaultTypeDefinition(this);t.env.types=(0,_.parseTypeDefinition)(`${e.file}#${e.name}`)}if(t.env.secrets)t.env.secrets=(0,_.parseTypeDefinition)(t.env.secrets);else{let e=await a.getSecretsDefaultTypeDefinition(this);t.env.secrets=(0,_.parseTypeDefinition)(`${e.file}#${e.name}`)}return t.env.prefix=(0,v.toArray)(t.env.prefix??[]).reduce((e,t)=>{let n=(0,C.constantCase)(t);return e.includes(n)||e.push(n),e},[...y.ENV_PREFIXES,`POWERLINES_`]),t.env.prefix=t.env.prefix.reduce((e,t)=>(e.includes(t.replace(/_$/g,``))||e.push(t.replace(/_$/g,``)),e),[]),t},async configResolved(){if(this.log(m.LogLevelLabel.TRACE,`Environment plugin configuration has been resolved for the Powerlines project.`),this.config.env.inject??=this.config.projectType===`application`,this.env=(0,g.default)({parsed:await c.loadEnv(this,this.config.env)},this.env??{},{types:{env:{}},used:{env:{},secrets:{}},parsed:{},injected:{}}),this.config.command!==`prepare`&&this.persistedMeta?.checksum===this.meta.checksum&&(0,b.existsSync)(a.getEnvTypeReflectionsPath(this,`env`)))this.log(m.LogLevelLabel.TRACE,`Skipping reflection initialization as the meta checksum has not changed.`),this.env.types.env=await a.readEnvTypeReflection(this,`env`),(0,b.existsSync)(a.getEnvReflectionsPath(this,`env`))&&(this.env.used.env=await a.readEnvReflection(this)),(0,b.existsSync)(a.getEnvTypeReflectionsPath(this,`secrets`))&&(this.env.types.secrets=await a.readEnvTypeReflection(this,`secrets`)),(0,b.existsSync)(a.getEnvReflectionsPath(this,`secrets`))&&(this.env.used.secrets=await a.readSecretsReflection(this));else{if(this.env.types.env=await i.reflectEnv(this,this.config.env.types?.file?(0,h.isParentPath)(this.config.env.types?.file,this.workspaceConfig.workspaceRoot)?this.config.env.types?.file:(0,S.joinPaths)(this.config.projectRoot,this.config.env.types?.file):void 0,this.config.env.types?.name),!this.env.types.env)throw Error(`Failed to find the environment configuration type reflection in the context.`);if(await a.writeEnvTypeReflection(this,this.env.types.env,`env`),this.env.types.secrets=await i.reflectSecrets(this,this.config.env.secrets?.file?(0,h.isParentPath)(this.config.env.secrets?.file,this.workspaceConfig.workspaceRoot)?this.config.env.secrets?.file:(0,S.joinPaths)(this.config.projectRoot,this.config.env.secrets?.file):void 0,this.config.env.secrets?.name),!this.env.types.secrets)throw Error(`Failed to find the secrets configuration type reflection in the context.`);await a.writeEnvTypeReflection(this,this.env.types.secrets,`secrets`),this.log(m.LogLevelLabel.TRACE,`Resolved ${this.env.types.env.getProperties().length??0} environment configuration parameters and ${this.env.types.secrets?.getProperties().length??0} secret configuration parameters`);let e=this.env.types.env.getProperties().filter(e=>e.getAlias().length>0);Object.entries(await c.loadEnv(this,this.config.env)).forEach(([t,n])=>{let r=this.config.env.prefix.reduce((e,n)=>t.replace(/_$/g,``).startsWith(n)?t.replace(/_$/g,``).slice(n.length):e,t),i=e.find(e=>e?.getAlias().reverse().includes(r));(this.env.types.env?.hasProperty(r)||i)&&this.env.types.env.getProperty(r).setDefaultValue(n)}),this.env.used.env=new n.type_exports.ReflectionClass({kind:n.type_exports.ReflectionKind.objectLiteral,typeName:`Env`,description:`An object containing the environment configuration parameters used by the ${this.config.name?`${this.config.name} application`:`application`}.`,types:[]},this.env.types.env),await a.writeEnvReflection(this,this.env.used.env,`env`),this.env.types.secrets&&(await a.writeEnvTypeReflection(this,this.env.types.secrets,`secrets`),this.env.used.secrets=new n.type_exports.ReflectionClass({kind:n.type_exports.ReflectionKind.objectLiteral,typeName:`Secrets`,description:`An object containing the secret configuration parameters used by the ${this.config.name?`${this.config.name} application`:`application`}.`,types:[]},this.env.types.secrets),await a.writeEnvReflection(this,this.env.used.secrets,`secrets`))}},render(){let e=this;return this.log(m.LogLevelLabel.TRACE,`Preparing the Environment runtime artifacts for the Powerlines project.`),(0,p.createComponent)(u.EnvBuiltin,{get defaultConfig(){return e.config.env.defaultConfig}})},async docs(){this.log(m.LogLevelLabel.TRACE,`Writing Environment documentation for the Powerlines project artifacts.`);let e=(0,S.joinPaths)(this.config.projectRoot,`docs`,`generated`);(0,b.existsSync)(e)||await(0,x.createDirectory)(e);let t=await a.readEnvTypeReflection(this,`env`),r=(0,S.joinPaths)(e,`env.md`);this.log(m.LogLevelLabel.TRACE,`Documenting environment variables configuration in "${r}"`),await this.fs.write(r,`<!-- Generated by Powerlines -->
3
2
 
4
3
  # Environment variables configuration
5
4
 
@@ -12,6 +11,6 @@ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`./chunk-
12
11
  | Name | Description | Type | Default Value | Required |
13
12
  | ---- | ----------- | ---- | ------------- | :------: |
14
13
  ${t.getProperties().filter(e=>e.getNameAsString()!==`__STORM_INJECTED__`).sort((e,t)=>e.getNameAsString().localeCompare(t.getNameAsString())).map(e=>`| ${e.getNameAsString().trim()} | ${(e.getDescription()?.replaceAll(`\r`,``)?.replaceAll(`
15
- `,``)??``).trim()} | ${(0,n.S.stringifyType)(e.getType()).trim().replaceAll(` | `,`, or `)} | ${e.hasDefault()?String(e.getDefaultValue())?.includes(`"`)?e.getDefaultValue():`\`${e.getDefaultValue()}\``:``} | ${e.isValueRequired()?``:`✔`} |`).join(`
14
+ `,``)??``).trim()} | ${(0,n.type_exports.stringifyType)(e.getType()).trim().replaceAll(` | `,`, or `)} | ${e.hasDefault()?String(e.getDefaultValue())?.includes(`"`)?e.getDefaultValue():`\`${e.getDefaultValue()}\``:``} | ${e.isValueRequired()?``:`✔`} |`).join(`
16
15
  `)}
17
- `)},async buildEnd(){let e=n.n(this,`env`);this.log(f.LogLevelLabel.TRACE,`Writing env reflection types to ${e}.`),await n.l(this,this.env.used.env,`env`)}}));var q=K;exports.BaseEnv=n.f,exports.BaseSecrets=n.p,exports.EnvBuiltin=i.t,exports.EnvDocs=c.t,exports.EnvTypeDefinition=i.n,exports.createEnvReflection=n.m,exports.createReflectionResource=s.t,exports.createSecretsReflection=n.h,exports.createTemplateReflection=l.t,exports.default=q,exports.envBabelPlugin=r.t,exports.formatEnvField=a.t,exports.getEnvDefaultTypeDefinition=n.t,exports.getEnvReflectionsPath=n.n,exports.getEnvTypeReflectionsPath=n.r,exports.getSecretsDefaultTypeDefinition=n.i,exports.loadEnv=o.t,exports.loadEnvFromContext=o.n,exports.mergeEnvReflections=n.g,exports.mergeSecretsReflections=n._,exports.plugin=K,exports.readEnvReflection=n.a,exports.readEnvTypeReflection=n.o,exports.readSecretsReflection=n.s,exports.reflectEnv=n.v,exports.reflectSecrets=n.y,exports.removeEnvPrefix=a.n,exports.resolveRuntimeTypeFile=n.c,exports.writeEnvReflection=n.l,exports.writeEnvReflectionSync=n.u,exports.writeEnvTypeReflection=n.d;
16
+ `)},async buildEnd(){let e=a.getEnvReflectionsPath(this,`env`);this.log(m.LogLevelLabel.TRACE,`Writing env reflection types to ${e}.`),await a.writeEnvReflection(this,this.env.used.env,`env`)}}));var T=w;exports.BaseEnv=i.BaseEnv,exports.BaseSecrets=i.BaseSecrets,exports.EnvBuiltin=u.EnvBuiltin,exports.EnvDocs=d.EnvDocs,exports.EnvTypeDefinition=u.EnvTypeDefinition,exports.createEnvReflection=i.createEnvReflection,exports.createReflectionResource=l.createReflectionResource,exports.createSecretsReflection=i.createSecretsReflection,exports.createTemplateReflection=f.createTemplateReflection,exports.default=T,exports.envBabelPlugin=o.envBabelPlugin,exports.formatEnvField=s.formatEnvField,exports.getEnvDefaultTypeDefinition=a.getEnvDefaultTypeDefinition,exports.getEnvReflectionsPath=a.getEnvReflectionsPath,exports.getEnvTypeReflectionsPath=a.getEnvTypeReflectionsPath,exports.getSecretsDefaultTypeDefinition=a.getSecretsDefaultTypeDefinition,exports.loadEnv=c.loadEnv,exports.loadEnvFromContext=c.loadEnvFromContext,exports.mergeEnvReflections=i.mergeEnvReflections,exports.mergeSecretsReflections=i.mergeSecretsReflections,exports.plugin=w,exports.readEnvReflection=a.readEnvReflection,exports.readEnvTypeReflection=a.readEnvTypeReflection,exports.readSecretsReflection=a.readSecretsReflection,exports.reflectEnv=i.reflectEnv,exports.reflectSecrets=i.reflectSecrets,exports.removeEnvPrefix=s.removeEnvPrefix,exports.resolveRuntimeTypeFile=a.resolveRuntimeTypeFile,exports.writeEnvReflection=a.writeEnvReflection,exports.writeEnvReflectionSync=a.writeEnvReflectionSync,exports.writeEnvTypeReflection=a.writeEnvTypeReflection;
package/dist/index.d.cts CHANGED
@@ -1,17 +1,21 @@
1
- import "./type-D6dRgWJT.cjs";
2
- import { a as EnvType, c as __ΩEnvPluginResolvedConfig, i as EnvPluginUserConfig, l as __ΩEnvPluginUserConfig, n as EnvPluginOptions, o as __ΩEnvPluginContext, r as EnvPluginResolvedConfig, s as __ΩEnvPluginOptions, t as EnvPluginContext, u as __ΩEnvType } from "./plugin-Ds60xmj5.cjs";
3
- import "./config-CxGVaXL4.cjs";
4
- import { i as __ΩSecretsInterface, n as SecretsInterface, r as __ΩEnvInterface, t as EnvInterface } from "./runtime-BxuH9yuK.cjs";
5
- import "./index-CspKFJM1.cjs";
6
- import { n as plugin, t as envBabelPlugin } from "./index-Czm5wPhI.cjs";
7
- import { t as EnvDocs } from "./docs-BoZkRBO4.cjs";
8
- import { i as __ΩEnvBuiltinProps, n as EnvBuiltinProps, r as EnvTypeDefinition, t as EnvBuiltin } from "./env-CXBFOUFJ.cjs";
9
- import "./index-Dpmi5zcN.cjs";
10
- import { t as createReflectionResource } from "./create-reflection-resource-DT6PRnl4.cjs";
11
- import { n as loadEnvFromContext, t as loadEnv } from "./load-DLNNRhI9.cjs";
12
- import { a as readEnvReflection, c as resolveRuntimeTypeFile, d as writeEnvTypeReflection, i as getSecretsDefaultTypeDefinition, l as writeEnvReflection, n as getEnvReflectionsPath, o as readEnvTypeReflection, r as getEnvTypeReflectionsPath, s as readSecretsReflection, t as getEnvDefaultTypeDefinition, u as writeEnvReflectionSync } from "./persistence-D0xYMSMI.cjs";
13
- import { a as createEnvReflection, c as mergeSecretsReflections, i as __ΩCreateEnvReflectionOptions, l as reflectEnv, n as BaseSecrets, o as createSecretsReflection, r as CreateEnvReflectionOptions, s as mergeEnvReflections, t as BaseEnv, u as reflectSecrets } from "./reflect-DQjKw7jE.cjs";
14
- import { n as removeEnvPrefix, t as formatEnvField } from "./source-file-env-DonDJDV1.cjs";
15
- import { t as createTemplateReflection } from "./template-helpers-C-NOO5ex.cjs";
16
- import "./index-BRBK9zG-.cjs";
1
+ import { Plugin } from "./powerlines/src/types/plugin.cjs";
2
+ import { EnvInterface, SecretsInterface, __ΩEnvInterface, __ΩSecretsInterface } from "./types/runtime.cjs";
3
+ import { EnvPluginContext, EnvPluginOptions, EnvPluginResolvedConfig, EnvPluginUserConfig, EnvType, __ΩEnvPluginContext, __ΩEnvPluginOptions, __ΩEnvPluginResolvedConfig, __ΩEnvPluginUserConfig, __ΩEnvType } from "./types/plugin.cjs";
4
+ import { AlloyPluginBuilder, AlloyPluginOptions } from "./alloy/src/types/plugin.cjs";
5
+ import { EnvDocs } from "./components/docs.cjs";
6
+ import { EnvBuiltin, EnvBuiltinProps, EnvTypeDefinition, __ΩEnvBuiltinProps } from "./components/env.cjs";
7
+ import { createReflectionResource } from "./helpers/create-reflection-resource.cjs";
8
+ import { loadEnv, loadEnvFromContext } from "./helpers/load.cjs";
9
+ import { getEnvDefaultTypeDefinition, getEnvReflectionsPath, getEnvTypeReflectionsPath, getSecretsDefaultTypeDefinition, readEnvReflection, readEnvTypeReflection, readSecretsReflection, resolveRuntimeTypeFile, writeEnvReflection, writeEnvReflectionSync, writeEnvTypeReflection } from "./helpers/persistence.cjs";
10
+ import { BaseEnv, BaseSecrets, CreateEnvReflectionOptions, __ΩCreateEnvReflectionOptions, createEnvReflection, createSecretsReflection, mergeEnvReflections, mergeSecretsReflections, reflectEnv, reflectSecrets } from "./helpers/reflect.cjs";
11
+ import { formatEnvField, removeEnvPrefix } from "./helpers/source-file-env.cjs";
12
+ import { createTemplateReflection } from "./helpers/template-helpers.cjs";
13
+ import { envBabelPlugin } from "./babel/plugin.cjs";
14
+
15
+ //#region src/index.d.ts
16
+ /**
17
+ * A Powerlines plugin to inject environment variables into the source code.
18
+ */
19
+ declare const plugin: <T extends EnvPluginContext<EnvPluginResolvedConfig>>(options: Parameters<AlloyPluginBuilder<EnvPluginContext<EnvPluginResolvedConfig>>>[0] & AlloyPluginOptions) => Plugin<T>;
20
+ //#endregion
17
21
  export { BaseEnv, BaseSecrets, CreateEnvReflectionOptions, EnvBuiltin, EnvBuiltinProps, EnvDocs, EnvInterface, EnvPluginContext, EnvPluginOptions, EnvPluginResolvedConfig, EnvPluginUserConfig, EnvType, EnvTypeDefinition, SecretsInterface, __ΩCreateEnvReflectionOptions, __ΩEnvBuiltinProps, __ΩEnvInterface, __ΩEnvPluginContext, __ΩEnvPluginOptions, __ΩEnvPluginResolvedConfig, __ΩEnvPluginUserConfig, __ΩEnvType, __ΩSecretsInterface, createEnvReflection, createReflectionResource, createSecretsReflection, createTemplateReflection, plugin as default, plugin, envBabelPlugin, formatEnvField, getEnvDefaultTypeDefinition, getEnvReflectionsPath, getEnvTypeReflectionsPath, getSecretsDefaultTypeDefinition, loadEnv, loadEnvFromContext, mergeEnvReflections, mergeSecretsReflections, readEnvReflection, readEnvTypeReflection, readSecretsReflection, reflectEnv, reflectSecrets, removeEnvPrefix, resolveRuntimeTypeFile, writeEnvReflection, writeEnvReflectionSync, writeEnvTypeReflection };
package/dist/index.d.mts CHANGED
@@ -1,17 +1,26 @@
1
- import "./type-CnPIyotQ.mjs";
2
- import { a as EnvType, c as __ΩEnvPluginResolvedConfig, i as EnvPluginUserConfig, l as __ΩEnvPluginUserConfig, n as EnvPluginOptions, o as __ΩEnvPluginContext, r as EnvPluginResolvedConfig, s as __ΩEnvPluginOptions, t as EnvPluginContext, u as __ΩEnvType } from "./plugin-BC31CJSb.mjs";
3
- import "./config-CYnsaVbs.mjs";
4
- import { i as __ΩSecretsInterface, n as SecretsInterface, r as __ΩEnvInterface, t as EnvInterface } from "./runtime-qQN60UNu.mjs";
5
- import "./index-CRo77wc3.mjs";
6
- import { n as plugin, t as envBabelPlugin } from "./index-BBNpKJsx.mjs";
7
- import { n as loadEnvFromContext, t as loadEnv } from "./load-DdYSs4J5.mjs";
8
- import { t as EnvDocs } from "./docs-BwK6pC_c.mjs";
9
- import { i as __ΩEnvBuiltinProps, n as EnvBuiltinProps, r as EnvTypeDefinition, t as EnvBuiltin } from "./env-BuKnYxut.mjs";
10
- import "./index-Wc1llEvP.mjs";
11
- import { t as createReflectionResource } from "./create-reflection-resource-Cut236Kb.mjs";
12
- import { a as readEnvReflection, c as resolveRuntimeTypeFile, d as writeEnvTypeReflection, i as getSecretsDefaultTypeDefinition, l as writeEnvReflection, n as getEnvReflectionsPath, o as readEnvTypeReflection, r as getEnvTypeReflectionsPath, s as readSecretsReflection, t as getEnvDefaultTypeDefinition, u as writeEnvReflectionSync } from "./persistence-BU921sV3.mjs";
13
- import { a as createEnvReflection, c as mergeSecretsReflections, i as __ΩCreateEnvReflectionOptions, l as reflectEnv, n as BaseSecrets, o as createSecretsReflection, r as CreateEnvReflectionOptions, s as mergeEnvReflections, t as BaseEnv, u as reflectSecrets } from "./reflect-DzAiYF2u.mjs";
14
- import { n as removeEnvPrefix, t as formatEnvField } from "./source-file-env-DzpWKluw.mjs";
15
- import { t as createTemplateReflection } from "./template-helpers-BNFy_Wbj.mjs";
16
- import "./index-Bt4QNofW.mjs";
1
+ import { Plugin } from "./powerlines/src/types/plugin.mjs";
2
+ import { EnvInterface, SecretsInterface, __ΩEnvInterface, __ΩSecretsInterface } from "./types/runtime.mjs";
3
+ import { EnvPluginContext, EnvPluginOptions, EnvPluginResolvedConfig, EnvPluginUserConfig, EnvType, __ΩEnvPluginContext, __ΩEnvPluginOptions, __ΩEnvPluginResolvedConfig, __ΩEnvPluginUserConfig, __ΩEnvType } from "./types/plugin.mjs";
4
+ import "./types/index.mjs";
5
+ import { AlloyPluginBuilder, AlloyPluginOptions } from "./alloy/src/types/plugin.mjs";
6
+ import "./powerlines/src/types/index.mjs";
7
+ import { EnvDocs } from "./components/docs.mjs";
8
+ import { EnvBuiltin, EnvBuiltinProps, EnvTypeDefinition, __ΩEnvBuiltinProps } from "./components/env.mjs";
9
+ import "./components/index.mjs";
10
+ import { createReflectionResource } from "./helpers/create-reflection-resource.mjs";
11
+ import { loadEnv, loadEnvFromContext } from "./helpers/load.mjs";
12
+ import { getEnvDefaultTypeDefinition, getEnvReflectionsPath, getEnvTypeReflectionsPath, getSecretsDefaultTypeDefinition, readEnvReflection, readEnvTypeReflection, readSecretsReflection, resolveRuntimeTypeFile, writeEnvReflection, writeEnvReflectionSync, writeEnvTypeReflection } from "./helpers/persistence.mjs";
13
+ import { BaseEnv, BaseSecrets, CreateEnvReflectionOptions, __ΩCreateEnvReflectionOptions, createEnvReflection, createSecretsReflection, mergeEnvReflections, mergeSecretsReflections, reflectEnv, reflectSecrets } from "./helpers/reflect.mjs";
14
+ import { formatEnvField, removeEnvPrefix } from "./helpers/source-file-env.mjs";
15
+ import { createTemplateReflection } from "./helpers/template-helpers.mjs";
16
+ import "./helpers/index.mjs";
17
+ import { envBabelPlugin } from "./babel/plugin.mjs";
18
+ import "./babel/index.mjs";
19
+
20
+ //#region src/index.d.ts
21
+ /**
22
+ * A Powerlines plugin to inject environment variables into the source code.
23
+ */
24
+ declare const plugin: <T extends EnvPluginContext<EnvPluginResolvedConfig>>(options: Parameters<AlloyPluginBuilder<EnvPluginContext<EnvPluginResolvedConfig>>>[0] & AlloyPluginOptions) => Plugin<T>;
25
+ //#endregion
17
26
  export { BaseEnv, BaseSecrets, CreateEnvReflectionOptions, EnvBuiltin, EnvBuiltinProps, EnvDocs, EnvInterface, EnvPluginContext, EnvPluginOptions, EnvPluginResolvedConfig, EnvPluginUserConfig, EnvType, EnvTypeDefinition, SecretsInterface, __ΩCreateEnvReflectionOptions, __ΩEnvBuiltinProps, __ΩEnvInterface, __ΩEnvPluginContext, __ΩEnvPluginOptions, __ΩEnvPluginResolvedConfig, __ΩEnvPluginUserConfig, __ΩEnvType, __ΩSecretsInterface, createEnvReflection, createReflectionResource, createSecretsReflection, createTemplateReflection, plugin as default, plugin, envBabelPlugin, formatEnvField, getEnvDefaultTypeDefinition, getEnvReflectionsPath, getEnvTypeReflectionsPath, getSecretsDefaultTypeDefinition, loadEnv, loadEnvFromContext, mergeEnvReflections, mergeSecretsReflections, readEnvReflection, readEnvTypeReflection, readSecretsReflection, reflectEnv, reflectSecrets, removeEnvPrefix, resolveRuntimeTypeFile, writeEnvReflection, writeEnvReflectionSync, writeEnvTypeReflection };
package/dist/index.mjs CHANGED
@@ -1,5 +1,4 @@
1
- import{r as e}from"./source-file-CjFSCK1w.mjs";import{S as t,_ as n,a as r,c as i,d as a,f as o,g as s,h as ee,i as c,l,m as u,n as d,o as f,p,r as m,s as h,t as g,u as te,v as _,y as v}from"./persistence-Br-YMVb1.mjs";import{t as y}from"./plugin-Cx61c9gw.mjs";import"./utilities-4S--uN0L.mjs";import{n as b,t as x}from"./env-D4MK9BWK.mjs";import{n as ne,t as re}from"./source-file-env-BDFTs5WJ.mjs";import{n as ie,t as S}from"./load-BZTlThWg.mjs";import{t as C}from"./create-reflection-resource-UtOwX4Ml.mjs";import"./babel-CE47sTzg.mjs";import{t as w}from"./docs-BDiEhcDa.mjs";import"./components-LyHNrcZE.mjs";import{t as T}from"./template-helpers-CLrM_TtO.mjs";import"./helpers-DfMThUgD.mjs";import"./plugin-DrnPbdzR.mjs";import"./runtime-DqCYc37d.mjs";import"./types-BCto_Rzj.mjs";import{createComponent as E,mergeProps as ae}from"@alloy-js/core/jsx-runtime";import{Output as oe,Show as se,computed as ce,flushJobsAsync as D,getContextForRenderNode as le,isPrintHook as ue,ref as de,renderTree as fe,splitProps as pe}from"@alloy-js/core";import{LogLevelLabel as O}from"@storm-software/config-tools/types";import{isParentPath as k}from"@stryke/path/is-parent-path";import{replacePath as A}from"@stryke/path/replace";import{isSetString as j}from"@stryke/type-checks/is-set-string";import{isFunction as M}from"@stryke/type-checks/is-function";import{isSetObject as N}from"@stryke/type-checks/is-set-object";import{isUndefined as me}from"@stryke/type-checks/is-undefined";import{printer as P}from"prettier/doc.js";import{transformAsync as F}from"@babel/core";import{findFileExtension as I,findFileExtensionSafe as L}from"@stryke/path/file-path-fns";import R from"defu";import"@stryke/type-checks/is-object";import z from"chalk";import{parseTypeDefinition as B}from"@stryke/convert/parse-type-definition";import{toArray as he}from"@stryke/convert/to-array";import{ENV_PREFIXES as ge}from"@stryke/env/types";import{existsSync as V}from"@stryke/fs/exists";import{createDirectory as _e}from"@stryke/fs/helpers";import{joinPaths as H}from"@stryke/path/join";import{constantCase as ve}from"@stryke/string-format/constant-case";function U(e){return M(e)||N(e)&&`handler`in e&&M(e.handler)}function W(e){return N(e)&&`handler`in e&&M(e.handler)}function G(e){return U(e)||W(e)}function K(e){return M(e)?e:e.handler}function ye(t){let[{children:n,context:r,basePath:i},a]=pe(t,[`children`,`context`,`basePath`]),o=de(r),s=ce(()=>i?A(i,o.value.workspaceConfig.workspaceRoot):o.value.workspaceConfig.workspaceRoot);return E(oe,ae(a,{get basePath(){return s.value},get children(){return E(e.Provider,{value:{ref:o},get children(){return E(se,{get when(){return!!o.value},children:n})}})}}))}function be(e){return t=>{let n=e(t);return{...n,async prepare(){let e=this;if(G(n.prepare)&&n.enforce!==`post`&&(U(n.prepare)||W(n.prepare)&&n.prepare.order!==`post`)&&await Promise.resolve(K(n.prepare).call(this)),G(n.render)){let r=fe(E(ye,{context:e,get basePath(){return e.workspaceConfig.workspaceRoot},get children(){return n.render.call(e)}}));await xe(this,r,t?.alloy)}G(n.prepare)&&(n.enforce===`post`||W(n.prepare)&&n.prepare.order===`post`)&&await Promise.resolve(K(n.prepare).call(this))}}}}async function xe(e,t,n={}){await D();let r,i=async(t,a)=>{if(!Array.isArray(a))return;let o=async e=>{for(let t of a)await i(e,t)},s=le(a);if(!s)return o(t);if(s.meta?.directory){let e={kind:`directory`,path:s.meta.directory.path,contents:[]};t?t.contents.push(e):r=e,await o(e)}else if(s.meta?.sourceFile){if(!t)throw Error(`Source file doesn't have parent directory. Make sure you have used the Output component.`);let r;if(s.meta?.builtin){if(!s.meta.builtin.id)throw Error("Built-in runtime module doesn't have an ID. Make sure you have used the `<BuiltinFile />` component.");e.log(O.TRACE,`Rendering built-in runtime module with ID: ${s.meta.builtin.id}`),r={kind:`builtin`,id:s.meta.builtin.id,path:A(s.meta.sourceFile.path,e.builtinsPath),filetype:s.meta.sourceFile.filetype,preset:s.meta.output?.mode,contents:await q(e,a,n)}}else s.meta?.entry||k(e.entryPath,s.meta.sourceFile.path)?(e.log(O.TRACE,`Rendering entry module at path: ${s.meta.sourceFile.path}`),r={kind:`entry`,typeDefinition:s.meta.entry?.typeDefinition,path:s.meta.sourceFile.path,filetype:s.meta.sourceFile.filetype,preset:s.meta.output?.mode,contents:await q(e,a,n)}):(e.log(O.TRACE,`Rendering source file at path: ${s.meta.sourceFile.path}`),r={kind:`file`,path:s.meta.sourceFile.path,filetype:s.meta.sourceFile.filetype,preset:s.meta.output?.mode,contents:await q(e,a,n)});t.contents.push(r)}else if(s.meta?.copyFile){if(!t)throw Error(`Copy file doesn't have parent directory. Make sure you have used the Output component.`);if(e.log(O.TRACE,`Processing copy file operation from "${s.meta.copyFile.sourcePath}" to "${s.meta.copyFile.path}"`),!s.meta.copyFile.sourcePath)throw Error("Copy file doesn't have a source path. Make sure you have provided a `sourcePath` property to the `meta.copyFile` context.");if(!s.meta.copyFile.path)throw Error("Copy file doesn't have a destination path. Make sure you have provided a `path` property to the `meta.copyFile` context.");t.contents.push({kind:`file`,path:s.meta.copyFile.path,sourcePath:s.meta.copyFile.sourcePath,preset:s.meta.output?.preset})}else await o(t)};await i(void 0,t);let a=async(e,t)=>{for(let n of t.contents)if(n.kind===`directory`)await a(e,n);else if(n.kind===`builtin`)await e.emitBuiltin(n.contents,n.id,n.path);else if(n.kind===`entry`)await e.emitEntry(n.contents,n.path);else if(n.kind===`file`)if(`sourcePath`in n&&n.sourcePath){if(!e.fs.existsSync(n.sourcePath))throw Error(`Source file "${n.sourcePath}" for copy operation does not exist.`);let t=await e.fs.read(n.sourcePath);if(!j(t))throw Error(`Source file "${n.sourcePath}" for copy operation is empty.`);await e.fs.write(n.path,t)}else if(`contents`in n&&j(n.contents))await e.fs.write(n.path,n.contents);else throw Error(`Unexpected output extracted from the render tree: \n\n${JSON.stringify(n,null,2)}`)};await a(e,r)}async function q(e,t,n={}){n.printWidth??=160,n.tabWidth??=2,n.useTabs??=!1,n.insertFinalNewLine??=!0,await D();let r=P.printDocToString(J(t),n).formatted;return n.insertFinalNewLine&&!r.endsWith(`
2
- `)?`${r}\n`:r}function J(e){let t=[];for(let n of e)if(typeof n==`string`){let e=n.split(/\r?\n/).flatMap((e,t,n)=>(n.length-1,[e]));t.push(e)}else ue(n)?t.push(n.print(n.subtree,J)):t.push(J(n));return t}function Y(e){return j(e)?e:Array.isArray(e)&&e.length>0?Y(e[0]):e.$$name||e.name?e.$$name||e.name:void 0}function X(e,t){return!!(Y(t)&&e.some(e=>Array.isArray(e)&&Y(e[0])===Y(t)))}function Z(e,t){try{return Array.isArray(t)&&t.length>0&&t[0]?M(t[0])?t[0](e):t[0]:M(t)?t(e):t}catch{return t[0]}}function Q(e,t,n,r){if(Array.isArray(r)&&r.length>0&&r[0]){if(r.length>2&&r[2]&&M(r[2])&&!r[2](t,n)){e.log(O.TRACE,`Skipping filtered Babel plugin ${z.bold.cyanBright(Y(r)||`unnamed`)} for ${n}`);return}return r.length>2?[Z(e,r),r[1],r[2]]:[Z(e,r),r[1],null]}return[Z(e,r),{},null]}var Se=(e={})=>({name:`babel`,config(){if(N(e))return{transform:{babel:e}}},configResolved:{order:`pre`,handler(){this.devDependencies[`@babel/core`]=`^7.28.4`,this.config.transform.babel=R(this.config.transform.babel??{},{plugins:[],presets:[]})}},async transform(t,n){if(k(n,this.powerlinesPath)||t.includes(`/* @storm-ignore */`)||t.includes(`/* @storm-disable */`))return this.log(O.TRACE,`Skipping Babel transformation for: ${n}`),{code:t,id:n};this.log(O.TRACE,`Babel transforming file: ${n}`);let r=this.config.transform.babel.plugins.map(e=>Q(this,t,n,e)).filter((e,t,n)=>e&&!X(n,e)),i=this.config.transform.babel.presets.map(e=>Q(this,t,n,e)).filter((e,t,n)=>e&&!X(n,e));if(Array.isArray(r)&&r.length===0&&Array.isArray(i)&&i.length===0)return{code:t,id:n};[`ts`,`cts`,`mts`,`tsx`].includes(L(n))&&!X(r,`@babel/plugin-syntax-typescript`)&&!X(i,`@babel/preset-typescript`)&&r.unshift([`@babel/plugin-syntax-typescript`,{isTSX:I(n)===`.tsx`}]);let a=await F(t,{highlightCode:!0,code:!0,ast:!1,cloneInputAst:!1,comments:!0,sourceType:`module`,configFile:!1,babelrc:!1,envName:this.config.mode,caller:{name:this.config.framework},...this.config.transform.babel??{},filename:n,plugins:r.map(t=>Array.isArray(t)&&t.length>=2?[t[0],R(t.length>1&&t[1]?t[1]:{},{options:e})]:t).filter(Boolean),presets:i.map(t=>Array.isArray(t)&&t.length>=2?[t[0],R(t.length>1&&t[1]?t[1]:{},{options:e})]:t).filter(Boolean)});if(!a?.code)throw Error(`Powerlines - Babel plugin failed to compile ${n}`);return{code:a.code,id:n}}});const $=be((e={})=>({name:`env`,dependsOn:[Se(e.babel)],async config(){this.log(O.TRACE,"Providing default configuration for the Powerlines `env` build plugin.");let t={env:R(e,{types:{},prefix:[]}),transform:{babel:{plugins:[y]}}};if(t.env.types)t.env.types=B(t.env.types);else{this.log(O.WARN,"The `env.types` configuration parameter was not provided. Please ensure this is expected.");let e=await g(this);t.env.types=B(`${e.file}#${e.name}`)}if(t.env.secrets)t.env.secrets=B(t.env.secrets);else{let e=await c(this);t.env.secrets=B(`${e.file}#${e.name}`)}return t.env.prefix=he(t.env.prefix??[]).reduce((e,t)=>{let n=ve(t);return e.includes(n)||e.push(n),e},[...ge,`POWERLINES_`]),t.env.prefix=t.env.prefix.reduce((e,t)=>(e.includes(t.replace(/_$/g,``))||e.push(t.replace(/_$/g,``)),e),[]),t},async configResolved(){if(this.log(O.TRACE,`Environment plugin configuration has been resolved for the Powerlines project.`),this.config.env.inject??=this.config.projectType===`application`,this.env=R({parsed:await S(this,this.config.env)},this.env??{},{types:{env:{}},used:{env:{},secrets:{}},parsed:{},injected:{}}),this.config.command!==`prepare`&&this.persistedMeta?.checksum===this.meta.checksum&&V(m(this,`env`)))this.log(O.TRACE,`Skipping reflection initialization as the meta checksum has not changed.`),this.env.types.env=await f(this,`env`),V(d(this,`env`))&&(this.env.used.env=await r(this)),V(m(this,`secrets`))&&(this.env.types.secrets=await f(this,`secrets`)),V(d(this,`secrets`))&&(this.env.used.secrets=await h(this));else{if(this.env.types.env=await _(this,this.config.env.types?.file?k(this.config.env.types?.file,this.workspaceConfig.workspaceRoot)?this.config.env.types?.file:H(this.config.projectRoot,this.config.env.types?.file):void 0,this.config.env.types?.name),!this.env.types.env)throw Error(`Failed to find the environment configuration type reflection in the context.`);if(await a(this,this.env.types.env,`env`),this.env.types.secrets=await v(this,this.config.env.secrets?.file?k(this.config.env.secrets?.file,this.workspaceConfig.workspaceRoot)?this.config.env.secrets?.file:H(this.config.projectRoot,this.config.env.secrets?.file):void 0,this.config.env.secrets?.name),!this.env.types.secrets)throw Error(`Failed to find the secrets configuration type reflection in the context.`);await a(this,this.env.types.secrets,`secrets`),this.log(O.TRACE,`Resolved ${this.env.types.env.getProperties().length??0} environment configuration parameters and ${this.env.types.secrets?.getProperties().length??0} secret configuration parameters`);let e=this.env.types.env.getProperties().filter(e=>e.getAlias().length>0);Object.entries(await S(this,this.config.env)).forEach(([t,n])=>{let r=this.config.env.prefix.reduce((e,n)=>t.replace(/_$/g,``).startsWith(n)?t.replace(/_$/g,``).slice(n.length):e,t),i=e.find(e=>e?.getAlias().reverse().includes(r));(this.env.types.env?.hasProperty(r)||i)&&this.env.types.env.getProperty(r).setDefaultValue(n)}),this.env.used.env=new t.ReflectionClass({kind:t.ReflectionKind.objectLiteral,typeName:`Env`,description:`An object containing the environment configuration parameters used by the ${this.config.name?`${this.config.name} application`:`application`}.`,types:[]},this.env.types.env),await l(this,this.env.used.env,`env`),this.env.types.secrets&&(await a(this,this.env.types.secrets,`secrets`),this.env.used.secrets=new t.ReflectionClass({kind:t.ReflectionKind.objectLiteral,typeName:`Secrets`,description:`An object containing the secret configuration parameters used by the ${this.config.name?`${this.config.name} application`:`application`}.`,types:[]},this.env.types.secrets),await l(this,this.env.used.secrets,`secrets`))}},render(){let e=this;return this.log(O.TRACE,`Preparing the Environment runtime artifacts for the Powerlines project.`),E(x,{get defaultConfig(){return e.config.env.defaultConfig}})},async docs(){this.log(O.TRACE,`Writing Environment documentation for the Powerlines project artifacts.`);let e=H(this.config.projectRoot,`docs`,`generated`);V(e)||await _e(e);let n=await f(this,`env`),r=H(e,`env.md`);this.log(O.TRACE,`Documenting environment variables configuration in "${r}"`),await this.fs.write(r,`<!-- Generated by Powerlines -->
1
+ import{createAlloyPlugin as e}from"./alloy/src/create-plugin.mjs";import{type_exports as t}from"./deepkit/src/vendor/type.mjs";import n from"./plugin-babel/src/index.mjs";import{BaseEnv as r,BaseSecrets as i,createEnvReflection as a,createSecretsReflection as o,mergeEnvReflections as s,mergeSecretsReflections as c,reflectEnv as l,reflectSecrets as u}from"./helpers/reflect.mjs";import{getEnvDefaultTypeDefinition as d,getEnvReflectionsPath as f,getEnvTypeReflectionsPath as p,getSecretsDefaultTypeDefinition as m,readEnvReflection as h,readEnvTypeReflection as g,readSecretsReflection as _,resolveRuntimeTypeFile as v,writeEnvReflection as y,writeEnvReflectionSync as b,writeEnvTypeReflection as x}from"./helpers/persistence.mjs";import{envBabelPlugin as S}from"./babel/plugin.mjs";import{formatEnvField as C,removeEnvPrefix as w}from"./helpers/source-file-env.mjs";import{loadEnv as T,loadEnvFromContext as E}from"./helpers/load.mjs";import{createReflectionResource as D}from"./helpers/create-reflection-resource.mjs";import{EnvBuiltin as O,EnvTypeDefinition as k}from"./components/env.mjs";import"./babel/index.mjs";import{EnvDocs as A}from"./components/docs.mjs";import"./components/index.mjs";import{createTemplateReflection as j}from"./helpers/template-helpers.mjs";import"./helpers/index.mjs";import{createComponent as M}from"@alloy-js/core/jsx-runtime";import{LogLevelLabel as N}from"@storm-software/config-tools/types";import{isParentPath as P}from"@stryke/path/is-parent-path";import F from"defu";import{parseTypeDefinition as I}from"@stryke/convert/parse-type-definition";import{toArray as L}from"@stryke/convert/to-array";import{ENV_PREFIXES as R}from"@stryke/env/types";import{existsSync as z}from"@stryke/fs/exists";import{createDirectory as B}from"@stryke/fs/helpers";import{joinPaths as V}from"@stryke/path/join";import{constantCase as H}from"@stryke/string-format/constant-case";const U=e((e={})=>({name:`env`,dependsOn:[n(e.babel)],async config(){this.log(N.TRACE,"Providing default configuration for the Powerlines `env` build plugin.");let t={env:F(e,{types:{},prefix:[]}),transform:{babel:{plugins:[S]}}};if(t.env.types)t.env.types=I(t.env.types);else{this.log(N.WARN,"The `env.types` configuration parameter was not provided. Please ensure this is expected.");let e=await d(this);t.env.types=I(`${e.file}#${e.name}`)}if(t.env.secrets)t.env.secrets=I(t.env.secrets);else{let e=await m(this);t.env.secrets=I(`${e.file}#${e.name}`)}return t.env.prefix=L(t.env.prefix??[]).reduce((e,t)=>{let n=H(t);return e.includes(n)||e.push(n),e},[...R,`POWERLINES_`]),t.env.prefix=t.env.prefix.reduce((e,t)=>(e.includes(t.replace(/_$/g,``))||e.push(t.replace(/_$/g,``)),e),[]),t},async configResolved(){if(this.log(N.TRACE,`Environment plugin configuration has been resolved for the Powerlines project.`),this.config.env.inject??=this.config.projectType===`application`,this.env=F({parsed:await T(this,this.config.env)},this.env??{},{types:{env:{}},used:{env:{},secrets:{}},parsed:{},injected:{}}),this.config.command!==`prepare`&&this.persistedMeta?.checksum===this.meta.checksum&&z(p(this,`env`)))this.log(N.TRACE,`Skipping reflection initialization as the meta checksum has not changed.`),this.env.types.env=await g(this,`env`),z(f(this,`env`))&&(this.env.used.env=await h(this)),z(p(this,`secrets`))&&(this.env.types.secrets=await g(this,`secrets`)),z(f(this,`secrets`))&&(this.env.used.secrets=await _(this));else{if(this.env.types.env=await l(this,this.config.env.types?.file?P(this.config.env.types?.file,this.workspaceConfig.workspaceRoot)?this.config.env.types?.file:V(this.config.projectRoot,this.config.env.types?.file):void 0,this.config.env.types?.name),!this.env.types.env)throw Error(`Failed to find the environment configuration type reflection in the context.`);if(await x(this,this.env.types.env,`env`),this.env.types.secrets=await u(this,this.config.env.secrets?.file?P(this.config.env.secrets?.file,this.workspaceConfig.workspaceRoot)?this.config.env.secrets?.file:V(this.config.projectRoot,this.config.env.secrets?.file):void 0,this.config.env.secrets?.name),!this.env.types.secrets)throw Error(`Failed to find the secrets configuration type reflection in the context.`);await x(this,this.env.types.secrets,`secrets`),this.log(N.TRACE,`Resolved ${this.env.types.env.getProperties().length??0} environment configuration parameters and ${this.env.types.secrets?.getProperties().length??0} secret configuration parameters`);let e=this.env.types.env.getProperties().filter(e=>e.getAlias().length>0);Object.entries(await T(this,this.config.env)).forEach(([t,n])=>{let r=this.config.env.prefix.reduce((e,n)=>t.replace(/_$/g,``).startsWith(n)?t.replace(/_$/g,``).slice(n.length):e,t),i=e.find(e=>e?.getAlias().reverse().includes(r));(this.env.types.env?.hasProperty(r)||i)&&this.env.types.env.getProperty(r).setDefaultValue(n)}),this.env.used.env=new t.ReflectionClass({kind:t.ReflectionKind.objectLiteral,typeName:`Env`,description:`An object containing the environment configuration parameters used by the ${this.config.name?`${this.config.name} application`:`application`}.`,types:[]},this.env.types.env),await y(this,this.env.used.env,`env`),this.env.types.secrets&&(await x(this,this.env.types.secrets,`secrets`),this.env.used.secrets=new t.ReflectionClass({kind:t.ReflectionKind.objectLiteral,typeName:`Secrets`,description:`An object containing the secret configuration parameters used by the ${this.config.name?`${this.config.name} application`:`application`}.`,types:[]},this.env.types.secrets),await y(this,this.env.used.secrets,`secrets`))}},render(){let e=this;return this.log(N.TRACE,`Preparing the Environment runtime artifacts for the Powerlines project.`),M(O,{get defaultConfig(){return e.config.env.defaultConfig}})},async docs(){this.log(N.TRACE,`Writing Environment documentation for the Powerlines project artifacts.`);let e=V(this.config.projectRoot,`docs`,`generated`);z(e)||await B(e);let n=await g(this,`env`),r=V(e,`env.md`);this.log(N.TRACE,`Documenting environment variables configuration in "${r}"`),await this.fs.write(r,`<!-- Generated by Powerlines -->
3
2
 
4
3
  # Environment variables configuration
5
4
 
@@ -14,4 +13,4 @@ import{r as e}from"./source-file-CjFSCK1w.mjs";import{S as t,_ as n,a as r,c as
14
13
  ${n.getProperties().filter(e=>e.getNameAsString()!==`__STORM_INJECTED__`).sort((e,t)=>e.getNameAsString().localeCompare(t.getNameAsString())).map(e=>`| ${e.getNameAsString().trim()} | ${(e.getDescription()?.replaceAll(`\r`,``)?.replaceAll(`
15
14
  `,``)??``).trim()} | ${(0,t.stringifyType)(e.getType()).trim().replaceAll(` | `,`, or `)} | ${e.hasDefault()?String(e.getDefaultValue())?.includes(`"`)?e.getDefaultValue():`\`${e.getDefaultValue()}\``:``} | ${e.isValueRequired()?``:`✔`} |`).join(`
16
15
  `)}
17
- `)},async buildEnd(){let e=d(this,`env`);this.log(O.TRACE,`Writing env reflection types to ${e}.`),await l(this,this.env.used.env,`env`)}}));var Ce=$;export{o as BaseEnv,p as BaseSecrets,x as EnvBuiltin,w as EnvDocs,b as EnvTypeDefinition,u as createEnvReflection,C as createReflectionResource,ee as createSecretsReflection,T as createTemplateReflection,Ce as default,y as envBabelPlugin,re as formatEnvField,g as getEnvDefaultTypeDefinition,d as getEnvReflectionsPath,m as getEnvTypeReflectionsPath,c as getSecretsDefaultTypeDefinition,S as loadEnv,ie as loadEnvFromContext,s as mergeEnvReflections,n as mergeSecretsReflections,$ as plugin,r as readEnvReflection,f as readEnvTypeReflection,h as readSecretsReflection,_ as reflectEnv,v as reflectSecrets,ne as removeEnvPrefix,i as resolveRuntimeTypeFile,l as writeEnvReflection,te as writeEnvReflectionSync,a as writeEnvTypeReflection};
16
+ `)},async buildEnd(){let e=f(this,`env`);this.log(N.TRACE,`Writing env reflection types to ${e}.`),await y(this,this.env.used.env,`env`)}}));var W=U;export{r as BaseEnv,i as BaseSecrets,O as EnvBuiltin,A as EnvDocs,k as EnvTypeDefinition,a as createEnvReflection,D as createReflectionResource,o as createSecretsReflection,j as createTemplateReflection,W as default,S as envBabelPlugin,C as formatEnvField,d as getEnvDefaultTypeDefinition,f as getEnvReflectionsPath,p as getEnvTypeReflectionsPath,m as getSecretsDefaultTypeDefinition,T as loadEnv,E as loadEnvFromContext,s as mergeEnvReflections,c as mergeSecretsReflections,U as plugin,h as readEnvReflection,g as readEnvTypeReflection,_ as readSecretsReflection,l as reflectEnv,u as reflectSecrets,w as removeEnvPrefix,v as resolveRuntimeTypeFile,y as writeEnvReflection,b as writeEnvReflectionSync,x as writeEnvTypeReflection};
@@ -0,0 +1 @@
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`);let t=require(`@babel/generator`);t=e.__toESM(t),require(`@babel/parser`);let n=t.default;`default`in n&&(n=n.default);
@@ -0,0 +1 @@
1
+ import e from"@babel/generator";import"@babel/parser";let t=e;`default`in t&&(t=t.default);export{};
@@ -0,0 +1 @@
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`),t=require(`../../../powerlines/src/lib/logger.cjs`);let n=require(`@storm-software/config-tools/types`),r=require(`chalk`);r=e.__toESM(r);let i=require(`@babel/helper-plugin-utils`);function a(e,a){let o=o=>(0,i.declare)((i,s,c)=>{i.cache.using(()=>o.meta.checksum),i.assertVersion(`^7.0.0-0`);let l=t.extendLog(o.log,e);l(n.LogLevelLabel.TRACE,`Initializing the ${r.default.bold.cyanBright(e)} Babel plugin`);let u=a({log:l,name:e,api:i,options:s,context:o,dirname:c});return u.name=e,l(n.LogLevelLabel.TRACE,`Completed initialization of the ${r.default.bold.cyanBright(e)} Babel plugin`),u});return o.$$name=e,o}exports.createBabelPlugin=a;
@@ -0,0 +1 @@
1
+ import{extendLog as e}from"../../../powerlines/src/lib/logger.mjs";import{LogLevelLabel as t}from"@storm-software/config-tools/types";import n from"chalk";import{declare as r}from"@babel/helper-plugin-utils";function i(i,a){let o=o=>r((r,s,c)=>{r.cache.using(()=>o.meta.checksum),r.assertVersion(`^7.0.0-0`);let l=e(o.log,i);l(t.TRACE,`Initializing the ${n.bold.cyanBright(i)} Babel plugin`);let u=a({log:l,name:i,api:r,options:s,context:o,dirname:c});return u.name=i,l(t.TRACE,`Completed initialization of the ${n.bold.cyanBright(i)} Babel plugin`),u});return o.$$name=i,o}export{i as createBabelPlugin};
@@ -0,0 +1 @@
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`);let t=require(`@stryke/type-checks/is-set-string`),n=require(`@stryke/type-checks/is-function`);require(`@stryke/type-checks/is-object`);function r(e){return(0,t.isSetString)(e)?e:Array.isArray(e)&&e.length>0?r(e[0]):e.$$name||e.name?e.$$name||e.name:void 0}function i(e,t){return!!(r(t)&&e.some(e=>Array.isArray(e)&&r(e[0])===r(t)))}exports.getPluginName=r,exports.isDuplicatePlugin=i;
@@ -0,0 +1 @@
1
+ import{isSetString as e}from"@stryke/type-checks/is-set-string";import{isFunction as t}from"@stryke/type-checks/is-function";import"@stryke/type-checks/is-object";function n(t){return e(t)?t:Array.isArray(t)&&t.length>0?n(t[0]):t.$$name||t.name?t.$$name||t.name:void 0}function r(e,t){return!!(n(t)&&e.some(e=>Array.isArray(e)&&n(e[0])===n(t)))}export{n as getPluginName,r as isDuplicatePlugin};
@@ -0,0 +1 @@
1
+ const e=require(`./filters.cjs`),t=require(`./options.cjs`);require(`./ast-utils.cjs`);const n=require(`./create-plugin.cjs`),r=require(`./module-helpers.cjs`);
@@ -0,0 +1 @@
1
+ import{getPluginName as e,isDuplicatePlugin as t}from"./filters.mjs";import{resolveBabelPlugin as n,resolvePluginFunction as r}from"./options.mjs";import"./ast-utils.mjs";import{createBabelPlugin as i}from"./create-plugin.mjs";import{addImport as a,addImportsToProgram as o}from"./module-helpers.mjs";export{};
@@ -0,0 +1 @@
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`);require(`./ast-utils.cjs`);let t=require(`@babel/types`);t=e.__toESM(t);let n=require(`@stryke/type-checks/is-string`);function r(e,t){o(e.scope.getProgramParent().path,t)}function i(e){return e.get(`specifiers`).filter(Boolean).every(e=>e?.isImportSpecifier())&&e.node.importKind!==`type`&&e.node.importKind!==`typeof`}function a(e){let t=new Map;return e.traverse({ImportDeclaration(e){i(e)&&t.set(e.node.source.value,e)}}),t}function o(e,n){a(e).get(n.module)||e.unshiftContainer(`body`,t.importDeclaration([t.importSpecifier(t.identifier(n.name||n.imported),t.identifier(n.imported))],t.stringLiteral(n.module)))}exports.addImport=r,exports.addImportsToProgram=o;
@@ -0,0 +1 @@
1
+ import"./ast-utils.mjs";import*as e from"@babel/types";import{isString as t}from"@stryke/type-checks/is-string";function n(e,t){a(e.scope.getProgramParent().path,t)}function r(e){return e.get(`specifiers`).filter(Boolean).every(e=>e?.isImportSpecifier())&&e.node.importKind!==`type`&&e.node.importKind!==`typeof`}function i(e){let t=new Map;return e.traverse({ImportDeclaration(e){r(e)&&t.set(e.node.source.value,e)}}),t}function a(t,n){i(t).get(n.module)||t.unshiftContainer(`body`,e.importDeclaration([e.importSpecifier(e.identifier(n.name||n.imported),e.identifier(n.imported))],e.stringLiteral(n.module)))}export{n as addImport,a as addImportsToProgram};
@@ -0,0 +1 @@
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`),t=require(`./filters.cjs`);let n=require(`@storm-software/config-tools/types`),r=require(`@stryke/type-checks/is-function`),i=require(`chalk`);i=e.__toESM(i);function a(e,t){try{return Array.isArray(t)&&t.length>0&&t[0]?(0,r.isFunction)(t[0])?t[0](e):t[0]:(0,r.isFunction)(t)?t(e):t}catch{return t[0]}}function o(e,o,s,c){if(Array.isArray(c)&&c.length>0&&c[0]){if(c.length>2&&c[2]&&(0,r.isFunction)(c[2])&&!c[2](o,s)){e.log(n.LogLevelLabel.TRACE,`Skipping filtered Babel plugin ${i.default.bold.cyanBright(t.getPluginName(c)||`unnamed`)} for ${s}`);return}return c.length>2?[a(e,c),c[1],c[2]]:[a(e,c),c[1],null]}return[a(e,c),{},null]}exports.resolveBabelPlugin=o,exports.resolvePluginFunction=a;
@@ -0,0 +1 @@
1
+ import{getPluginName as e}from"./filters.mjs";import{LogLevelLabel as t}from"@storm-software/config-tools/types";import{isFunction as n}from"@stryke/type-checks/is-function";import r from"chalk";function i(e,t){try{return Array.isArray(t)&&t.length>0&&t[0]?n(t[0])?t[0](e):t[0]:n(t)?t(e):t}catch{return t[0]}}function a(a,o,s,c){if(Array.isArray(c)&&c.length>0&&c[0]){if(c.length>2&&c[2]&&n(c[2])&&!c[2](o,s)){a.log(t.TRACE,`Skipping filtered Babel plugin ${r.bold.cyanBright(e(c)||`unnamed`)} for ${s}`);return}return c.length>2?[i(a,c),c[1],c[2]]:[i(a,c),c[1],null]}return[i(a,c),{},null]}export{a as resolveBabelPlugin,i as resolvePluginFunction};
@@ -0,0 +1 @@
1
+ const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`./helpers/filters.cjs`),n=require(`./helpers/options.cjs`),r=require(`./helpers/create-plugin.cjs`),i=require(`./helpers/module-helpers.cjs`);require(`./helpers/index.cjs`);let a=require(`@storm-software/config-tools/types`),o=require(`@stryke/path/is-parent-path`),s=require(`@stryke/type-checks/is-set-object`),c=require(`@babel/core`),l=require(`@stryke/path/file-path-fns`),u=require(`defu`);u=e.__toESM(u);const d=(e={})=>({name:`babel`,config(){if((0,s.isSetObject)(e))return{transform:{babel:e}}},configResolved:{order:`pre`,handler(){this.devDependencies[`@babel/core`]=`^7.28.4`,this.config.transform.babel=(0,u.default)(this.config.transform.babel??{},{plugins:[],presets:[]})}},async transform(r,i){if((0,o.isParentPath)(i,this.powerlinesPath)||r.includes(`/* @storm-ignore */`)||r.includes(`/* @storm-disable */`))return this.log(a.LogLevelLabel.TRACE,`Skipping Babel transformation for: ${i}`),{code:r,id:i};this.log(a.LogLevelLabel.TRACE,`Babel transforming file: ${i}`);let s=this.config.transform.babel.plugins.map(e=>n.resolveBabelPlugin(this,r,i,e)).filter((e,n,r)=>e&&!t.isDuplicatePlugin(r,e)),d=this.config.transform.babel.presets.map(e=>n.resolveBabelPlugin(this,r,i,e)).filter((e,n,r)=>e&&!t.isDuplicatePlugin(r,e));if(Array.isArray(s)&&s.length===0&&Array.isArray(d)&&d.length===0)return{code:r,id:i};[`ts`,`cts`,`mts`,`tsx`].includes((0,l.findFileExtensionSafe)(i))&&!t.isDuplicatePlugin(s,`@babel/plugin-syntax-typescript`)&&!t.isDuplicatePlugin(d,`@babel/preset-typescript`)&&s.unshift([`@babel/plugin-syntax-typescript`,{isTSX:(0,l.findFileExtension)(i)===`.tsx`}]);let f=await(0,c.transformAsync)(r,{highlightCode:!0,code:!0,ast:!1,cloneInputAst:!1,comments:!0,sourceType:`module`,configFile:!1,babelrc:!1,envName:this.config.mode,caller:{name:this.config.framework},...this.config.transform.babel??{},filename:i,plugins:s.map(t=>Array.isArray(t)&&t.length>=2?[t[0],(0,u.default)(t.length>1&&t[1]?t[1]:{},{options:e})]:t).filter(Boolean),presets:d.map(t=>Array.isArray(t)&&t.length>=2?[t[0],(0,u.default)(t.length>1&&t[1]?t[1]:{},{options:e})]:t).filter(Boolean)});if(!f?.code)throw Error(`Powerlines - Babel plugin failed to compile ${i}`);return{code:f.code,id:i}}});var f=d;exports.default=f;
@@ -0,0 +1 @@
1
+ import{getPluginName as e,isDuplicatePlugin as t}from"./helpers/filters.mjs";import{resolveBabelPlugin as n,resolvePluginFunction as r}from"./helpers/options.mjs";import{createBabelPlugin as i}from"./helpers/create-plugin.mjs";import{addImport as a,addImportsToProgram as o}from"./helpers/module-helpers.mjs";import"./helpers/index.mjs";import{LogLevelLabel as s}from"@storm-software/config-tools/types";import{isParentPath as c}from"@stryke/path/is-parent-path";import{isSetObject as l}from"@stryke/type-checks/is-set-object";import{transformAsync as u}from"@babel/core";import{findFileExtension as d,findFileExtensionSafe as f}from"@stryke/path/file-path-fns";import p from"defu";var m=(e={})=>({name:`babel`,config(){if(l(e))return{transform:{babel:e}}},configResolved:{order:`pre`,handler(){this.devDependencies[`@babel/core`]=`^7.28.4`,this.config.transform.babel=p(this.config.transform.babel??{},{plugins:[],presets:[]})}},async transform(r,i){if(c(i,this.powerlinesPath)||r.includes(`/* @storm-ignore */`)||r.includes(`/* @storm-disable */`))return this.log(s.TRACE,`Skipping Babel transformation for: ${i}`),{code:r,id:i};this.log(s.TRACE,`Babel transforming file: ${i}`);let a=this.config.transform.babel.plugins.map(e=>n(this,r,i,e)).filter((e,n,r)=>e&&!t(r,e)),o=this.config.transform.babel.presets.map(e=>n(this,r,i,e)).filter((e,n,r)=>e&&!t(r,e));if(Array.isArray(a)&&a.length===0&&Array.isArray(o)&&o.length===0)return{code:r,id:i};[`ts`,`cts`,`mts`,`tsx`].includes(f(i))&&!t(a,`@babel/plugin-syntax-typescript`)&&!t(o,`@babel/preset-typescript`)&&a.unshift([`@babel/plugin-syntax-typescript`,{isTSX:d(i)===`.tsx`}]);let l=await u(r,{highlightCode:!0,code:!0,ast:!1,cloneInputAst:!1,comments:!0,sourceType:`module`,configFile:!1,babelrc:!1,envName:this.config.mode,caller:{name:this.config.framework},...this.config.transform.babel??{},filename:i,plugins:a.map(t=>Array.isArray(t)&&t.length>=2?[t[0],p(t.length>1&&t[1]?t[1]:{},{options:e})]:t).filter(Boolean),presets:o.map(t=>Array.isArray(t)&&t.length>=2?[t[0],p(t.length>1&&t[1]?t[1]:{},{options:e})]:t).filter(Boolean)});if(!l?.code)throw Error(`Powerlines - Babel plugin failed to compile ${i}`);return{code:l.code,id:i}}});export{m as default};
@@ -0,0 +1 @@
1
+ import { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig } from "./plugin.mjs";
@@ -0,0 +1,15 @@
1
+ import { BabelResolvedConfig, ResolvedConfig } from "../../../powerlines/src/types/resolved.cjs";
2
+ import { PluginContext } from "../../../powerlines/src/types/context.cjs";
3
+ import { BabelUserConfig, UserConfig } from "../../../powerlines/src/types/config.cjs";
4
+
5
+ //#region ../plugin-babel/src/types/plugin.d.ts
6
+ type BabelPluginOptions = Partial<BabelUserConfig>;
7
+ type BabelPluginUserConfig = UserConfig;
8
+ interface BabelPluginResolvedConfig extends ResolvedConfig {
9
+ transform: {
10
+ babel: BabelResolvedConfig;
11
+ };
12
+ }
13
+ type BabelPluginContext<TResolvedConfig extends BabelPluginResolvedConfig = BabelPluginResolvedConfig> = PluginContext<TResolvedConfig>;
14
+ //#endregion
15
+ export { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig };
@@ -0,0 +1,15 @@
1
+ import { BabelResolvedConfig, ResolvedConfig } from "../../../powerlines/src/types/resolved.mjs";
2
+ import { PluginContext } from "../../../powerlines/src/types/context.mjs";
3
+ import { BabelUserConfig, UserConfig } from "../../../powerlines/src/types/config.mjs";
4
+
5
+ //#region ../plugin-babel/src/types/plugin.d.ts
6
+ type BabelPluginOptions = Partial<BabelUserConfig>;
7
+ type BabelPluginUserConfig = UserConfig;
8
+ interface BabelPluginResolvedConfig extends ResolvedConfig {
9
+ transform: {
10
+ babel: BabelResolvedConfig;
11
+ };
12
+ }
13
+ type BabelPluginContext<TResolvedConfig extends BabelPluginResolvedConfig = BabelPluginResolvedConfig> = PluginContext<TResolvedConfig>;
14
+ //#endregion
15
+ export { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig };
@@ -0,0 +1,21 @@
1
+ import { TypeDefinitionParameter } from "@stryke/types/configuration";
2
+ import { PrintTreeOptions } from "@alloy-js/core";
3
+
4
+ //#region ../plugin-plugin/src/types/plugin.d.ts
5
+
6
+ type PluginPluginAlloyOptions = Partial<PrintTreeOptions> & {
7
+ /**
8
+ * If true, the Alloy framework is used to generate JSON output files.
9
+ *
10
+ * @defaultValue false
11
+ */
12
+ generatesJson?: boolean;
13
+ /**
14
+ * If true, the Alloy framework is used to generate Markdown output files.
15
+ *
16
+ * @defaultValue false
17
+ */
18
+ generatesMarkdown?: boolean;
19
+ };
20
+ //#endregion
21
+ export { PluginPluginAlloyOptions };
@@ -0,0 +1,24 @@
1
+ import "../../../powerlines/src/types/build.mjs";
2
+ import "../../../powerlines/src/types/resolved.mjs";
3
+ import "../../../powerlines/src/types/context.mjs";
4
+ import "../../../powerlines/src/types/config.mjs";
5
+ import { PrintTreeOptions } from "@alloy-js/core";
6
+ import { TypeDefinitionParameter } from "@stryke/types/configuration";
7
+
8
+ //#region ../plugin-plugin/src/types/plugin.d.ts
9
+ type PluginPluginAlloyOptions = Partial<PrintTreeOptions> & {
10
+ /**
11
+ * If true, the Alloy framework is used to generate JSON output files.
12
+ *
13
+ * @defaultValue false
14
+ */
15
+ generatesJson?: boolean;
16
+ /**
17
+ * If true, the Alloy framework is used to generate Markdown output files.
18
+ *
19
+ * @defaultValue false
20
+ */
21
+ generatesMarkdown?: boolean;
22
+ };
23
+ //#endregion
24
+ export { PluginPluginAlloyOptions };
@@ -0,0 +1,5 @@
1
+ import "../../types/resolved.mjs";
2
+ import "../../types/hooks.mjs";
3
+ import "../../types/context.mjs";
4
+ import { MaybePromise } from "@stryke/types/base";
5
+ import { ArrayValues } from "@stryke/types/array";
@@ -0,0 +1,14 @@
1
+ const e=require(`../../../../_virtual/rolldown_runtime.cjs`);require(`../entry.cjs`);let t=require(`@stryke/path/replace`),n=require(`defu`);n=e.__toESM(n);let r=require(`@stryke/type-checks/is-string`),i=require(`@stryke/path/join-paths`),a=require(`@stryke/helpers/omit`),o=require(`@stryke/string-format/camel-case`);const s={target:`esnext`,platform:`neutral`,format:`esm`,write:!0,minify:!0,sourcemap:!1,bundle:!0,treeShaking:!0,keepNames:!0,splitting:!0,logLevel:`silent`};function c(e){let t=e.config.build.override.inject??e.config.build.inject;return t&&Object.keys(t).length>0&&e.fs.writeSync((0,i.joinPaths)(e.workspaceConfig.workspaceRoot,e.config.projectRoot,e.artifactsPath,`inject-shim.js`),Object.entries(t).map(([e,t])=>{if(t)if(Array.isArray(t)){if((0,o.camelCase)(e)!==e){if(t.length===1)return`
2
+ import ${(0,o.camelCase)(e)} from "${t[0]}";
3
+ export { ${(0,o.camelCase)(e)} as "${e}" }`;if(t.length>1)return`
4
+ import ${t[1]===`*`?`* as ${(0,o.camelCase)(e)}`:`{ ${t[1]} as ${(0,o.camelCase)(e)} }`} from "${t[0]}";
5
+ export { ${(0,o.camelCase)(e)} as "${e}" }`}else if(t.length===1)return`
6
+ import ${e} from "${t[0]}";
7
+ export { ${e} };`;else if(t.length>1)return`
8
+ import ${t[1]===`*`?`* as ${e}`:`{ ${t[1]} as ${e} }`} from "${t[0]}";
9
+ export { ${e} };`}else if((0,o.camelCase)(e)!==e)return`
10
+ import ${(0,o.camelCase)(e)} from "${t[0]}";
11
+ export { ${(0,o.camelCase)(e)} as "${e}" }`;else return`
12
+ import ${e} from "${t}";
13
+ export { ${e} };`;return``}).join(`
14
+ `)),(0,n.default)({alias:e.builtins.reduce((t,n)=>{if(!t[n]){let r=e.fs.ids[n];r&&(t[n]=r)}return t},e.config.build.alias?Array.isArray(e.config.build.alias)?e.config.build.alias.reduce((e,t)=>(e[t.find.toString()]||(e[t.find.toString()]=t.replacement),e),{}):e.config.build.alias:{}),inject:t&&Object.keys(t).length>0?[(0,i.joinPaths)(e.workspaceConfig.workspaceRoot,e.config.projectRoot,e.artifactsPath,`inject-shim.js`)]:void 0},e.config.build.variant===`esbuild`?(0,a.omit)(e.config.build.override,[`alias`,`inject`,`external`,`noExternal`,`skipNodeModulesBundle`,`extensions`]):{},e.config.build.variant===`esbuild`?(0,a.omit)(e.config.build,[`alias`,`inject`,`external`,`noExternal`,`skipNodeModulesBundle`,`extensions`,`variant`,`override`]):{},{mainFields:e.config.build.mainFields,conditions:e.config.build.conditions,define:e.config.build.define,resolveExtensions:e.config.build.extensions,packages:e.config.build.skipNodeModulesBundle?`external`:e.config.build.variant===`esbuild`?e.config.build.packages:void 0,format:Array.isArray(e.config.output.format)?e.config.output.format[0]:e.config.output.format,platform:e.config.build.platform,treeShaking:!!e.config.build?.treeshake||e.config.build?.treeShaking,outdir:e.config.output.buildPath,tsconfig:e.tsconfig.tsconfigFilePath,tsconfigRaw:e.tsconfig.tsconfigJson,minify:e.config.mode!==`development`,metafile:e.config.mode===`development`,sourcemap:e.config.mode===`development`},s)}exports.extractESBuildConfig=c;
@@ -0,0 +1,14 @@
1
+ import"../entry.mjs";import{replacePath as e}from"@stryke/path/replace";import t from"defu";import{isString as n}from"@stryke/type-checks/is-string";import{joinPaths as r}from"@stryke/path/join-paths";import{omit as i}from"@stryke/helpers/omit";import{camelCase as a}from"@stryke/string-format/camel-case";const o={target:`esnext`,platform:`neutral`,format:`esm`,write:!0,minify:!0,sourcemap:!1,bundle:!0,treeShaking:!0,keepNames:!0,splitting:!0,logLevel:`silent`};function s(e){let n=e.config.build.override.inject??e.config.build.inject;return n&&Object.keys(n).length>0&&e.fs.writeSync(r(e.workspaceConfig.workspaceRoot,e.config.projectRoot,e.artifactsPath,`inject-shim.js`),Object.entries(n).map(([e,t])=>{if(t)if(Array.isArray(t)){if(a(e)!==e){if(t.length===1)return`
2
+ import ${a(e)} from "${t[0]}";
3
+ export { ${a(e)} as "${e}" }`;if(t.length>1)return`
4
+ import ${t[1]===`*`?`* as ${a(e)}`:`{ ${t[1]} as ${a(e)} }`} from "${t[0]}";
5
+ export { ${a(e)} as "${e}" }`}else if(t.length===1)return`
6
+ import ${e} from "${t[0]}";
7
+ export { ${e} };`;else if(t.length>1)return`
8
+ import ${t[1]===`*`?`* as ${e}`:`{ ${t[1]} as ${e} }`} from "${t[0]}";
9
+ export { ${e} };`}else if(a(e)!==e)return`
10
+ import ${a(e)} from "${t[0]}";
11
+ export { ${a(e)} as "${e}" }`;else return`
12
+ import ${e} from "${t}";
13
+ export { ${e} };`;return``}).join(`
14
+ `)),t({alias:e.builtins.reduce((t,n)=>{if(!t[n]){let r=e.fs.ids[n];r&&(t[n]=r)}return t},e.config.build.alias?Array.isArray(e.config.build.alias)?e.config.build.alias.reduce((e,t)=>(e[t.find.toString()]||(e[t.find.toString()]=t.replacement),e),{}):e.config.build.alias:{}),inject:n&&Object.keys(n).length>0?[r(e.workspaceConfig.workspaceRoot,e.config.projectRoot,e.artifactsPath,`inject-shim.js`)]:void 0},e.config.build.variant===`esbuild`?i(e.config.build.override,[`alias`,`inject`,`external`,`noExternal`,`skipNodeModulesBundle`,`extensions`]):{},e.config.build.variant===`esbuild`?i(e.config.build,[`alias`,`inject`,`external`,`noExternal`,`skipNodeModulesBundle`,`extensions`,`variant`,`override`]):{},{mainFields:e.config.build.mainFields,conditions:e.config.build.conditions,define:e.config.build.define,resolveExtensions:e.config.build.extensions,packages:e.config.build.skipNodeModulesBundle?`external`:e.config.build.variant===`esbuild`?e.config.build.packages:void 0,format:Array.isArray(e.config.output.format)?e.config.output.format[0]:e.config.output.format,platform:e.config.build.platform,treeShaking:!!e.config.build?.treeshake||e.config.build?.treeShaking,outdir:e.config.output.buildPath,tsconfig:e.tsconfig.tsconfigFilePath,tsconfigRaw:e.tsconfig.tsconfigJson,minify:e.config.mode!==`development`,metafile:e.config.mode===`development`,sourcemap:e.config.mode===`development`},o)}export{s as extractESBuildConfig};
@@ -0,0 +1 @@
1
+ require(`../plugin-utils/paths.cjs`);let e=require(`@stryke/path/replace`),t=require(`@stryke/type-checks/is-set-string`),n=require(`@stryke/type-checks/is-string`),r=require(`@stryke/convert/parse-type-definition`),i=require(`@stryke/convert/to-array`),a=require(`@stryke/helpers/get-unique`),o=require(`@stryke/path/join-paths`);require(`@stryke/fs/is-file`),require(`@stryke/fs/list-files`),require(`@stryke/hash/murmurhash`);let s=require(`@stryke/path/append`);
@@ -0,0 +1 @@
1
+ import"../plugin-utils/paths.mjs";import{replacePath as e}from"@stryke/path/replace";import{isSetString as t}from"@stryke/type-checks/is-set-string";import{isString as n}from"@stryke/type-checks/is-string";import{parseTypeDefinition as r}from"@stryke/convert/parse-type-definition";import{toArray as i}from"@stryke/convert/to-array";import{getUniqueBy as a}from"@stryke/helpers/get-unique";import{joinPaths as o}from"@stryke/path/join-paths";import"@stryke/fs/is-file";import"@stryke/fs/list-files";import"@stryke/hash/murmurhash";import{appendPath as s}from"@stryke/path/append";export{};
@@ -0,0 +1 @@
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`);let t=require(`@storm-software/config-tools/types`),n=require(`chalk`);n=e.__toESM(n),require(`@storm-software/config-tools/logger`),require(`@storm-software/config-tools/utilities/colors`),require(`@stryke/helpers/noop`);let r=require(`@stryke/string-format/title-case`);const i=[`#00A0DD`,`#6FCE4E`,`#FBBF24`,`#F43F5E`,`#3B82F6`,`#A855F7`,`#469592`,`#288EDF`,`#10B981`,`#EF4444`,`#F0EC56`,`#F472B6`,`#22D3EE`,`#EAB308`,`#84CC16`,`#F87171`,`#0EA5E9`,`#D946EF`,`#FACC15`,`#34D399`],a=(e,t)=>(a,...o)=>e(a,` ${n.default.inverse.hex(i[t.split(``).map(e=>e.charCodeAt(0)).reduce((e,t)=>e+t,0)%i.length]||i[0])(` ${(0,r.titleCase)(t)} `)} ${o.join(` `)} `);exports.extendLog=a;
@@ -0,0 +1 @@
1
+ import{LogLevelLabel as e}from"@storm-software/config-tools/types";import t from"chalk";import"@storm-software/config-tools/logger";import"@storm-software/config-tools/utilities/colors";import"@stryke/helpers/noop";import{titleCase as n}from"@stryke/string-format/title-case";const r=[`#00A0DD`,`#6FCE4E`,`#FBBF24`,`#F43F5E`,`#3B82F6`,`#A855F7`,`#469592`,`#288EDF`,`#10B981`,`#EF4444`,`#F0EC56`,`#F472B6`,`#22D3EE`,`#EAB308`,`#84CC16`,`#F87171`,`#0EA5E9`,`#D946EF`,`#FACC15`,`#34D399`],i=(e,i)=>(a,...o)=>e(a,` ${t.inverse.hex(r[i.split(``).map(e=>e.charCodeAt(0)).reduce((e,t)=>e+t,0)%r.length]||r[0])(` ${n(i)} `)} ${o.join(` `)} `);export{i as extendLog};
@@ -0,0 +1 @@
1
+ const e=require(`../../../../_virtual/rolldown_runtime.cjs`),t=require(`../build/esbuild.cjs`);let n=require(`@storm-software/config-tools/types`),r=require(`esbuild`);async function i(e,i,a={}){let o=await e.fs.resolve(i);if(!o||!e.fs.existsSync(o))throw Error(`Module not found: "${i}". Please check the path and try again.`);let s=await(0,r.build)({...t.extractESBuildConfig(e),entry:[o],write:!1,sourcemap:!1,splitting:!1,treeShaking:!1,bundle:!0,...a});if(s.errors.length>0)throw Error(`Failed to transpile ${i}: ${s.errors.map(e=>e.text).join(`, `)}`);if(s.warnings.length>0&&e.log(n.LogLevelLabel.WARN,`Warnings while transpiling ${i}: ${s.warnings.map(e=>e.text).join(`, `)}`),!s.outputFiles||s.outputFiles.filter(Boolean).length===0)throw Error(`No output files generated for ${i}. Please check the configuration and try again.`);return s.outputFiles.filter(Boolean)[0]}exports.bundle=i;
@@ -0,0 +1 @@
1
+ import{extractESBuildConfig as e}from"../build/esbuild.mjs";import{LogLevelLabel as t}from"@storm-software/config-tools/types";import{build as n}from"esbuild";async function r(r,i,a={}){let o=await r.fs.resolve(i);if(!o||!r.fs.existsSync(o))throw Error(`Module not found: "${i}". Please check the path and try again.`);let s=await n({...e(r),entry:[o],write:!1,sourcemap:!1,splitting:!1,treeShaking:!1,bundle:!0,...a});if(s.errors.length>0)throw Error(`Failed to transpile ${i}: ${s.errors.map(e=>e.text).join(`, `)}`);if(s.warnings.length>0&&r.log(t.WARN,`Warnings while transpiling ${i}: ${s.warnings.map(e=>e.text).join(`, `)}`),!s.outputFiles||s.outputFiles.filter(Boolean).length===0)throw Error(`No output files generated for ${i}. Please check the configuration and try again.`);return s.outputFiles.filter(Boolean)[0]}export{r as bundle};
@@ -0,0 +1 @@
1
+ const e=require(`../../../../_virtual/rolldown_runtime.cjs`),t=require(`./bundle.cjs`);let n=require(`@stryke/type-checks/is-set-string`),r=require(`@stryke/convert/parse-type-definition`);async function i(e,i,a={}){let o;o=(0,n.isSetString)(i)?(0,r.parseTypeDefinition)(i):i;let s=await t.bundle(e,o.file,a),c=await e.resolver.evalModule(s.text,{filename:s.path,forceTranspile:!0}),l=o.name;return l||=`default`,c[l]??c[`__Ω${l}`]}exports.resolve=i;
@@ -0,0 +1 @@
1
+ import{bundle as e}from"./bundle.mjs";import{isSetString as t}from"@stryke/type-checks/is-set-string";import{parseTypeDefinition as n}from"@stryke/convert/parse-type-definition";async function r(r,i,a={}){let o;o=t(i)?n(i):i;let s=await e(r,o.file,a),c=await r.resolver.evalModule(s.text,{filename:s.path,forceTranspile:!0}),l=o.name;return l||=`default`,c[l]??c[`__Ω${l}`]}export{r as resolve};
@@ -0,0 +1 @@
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`);let t=require(`@stryke/type-checks/is-set-string`),n=require(`@stryke/type-checks/is-function`),r=require(`@stryke/type-checks/is-set-object`),i=require(`@stryke/type-checks/is-undefined`);function a(e){return(0,n.isFunction)(e)||(0,r.isSetObject)(e)&&`handler`in e&&(0,n.isFunction)(e.handler)}function o(e){return(0,r.isSetObject)(e)&&`handler`in e&&(0,n.isFunction)(e.handler)}function s(e){return a(e)||o(e)}function c(e){return(0,n.isFunction)(e)?e:e.handler}exports.getHookHandler=c,exports.isPluginHook=s,exports.isPluginHookFunction=a,exports.isPluginHookObject=o;
@@ -0,0 +1 @@
1
+ import{isSetString as e}from"@stryke/type-checks/is-set-string";import{isFunction as t}from"@stryke/type-checks/is-function";import{isSetObject as n}from"@stryke/type-checks/is-set-object";import{isUndefined as r}from"@stryke/type-checks/is-undefined";function i(e){return t(e)||n(e)&&`handler`in e&&t(e.handler)}function a(e){return n(e)&&`handler`in e&&t(e.handler)}function o(e){return i(e)||a(e)}function s(e){return t(e)?e:e.handler}export{s as getHookHandler,o as isPluginHook,i as isPluginHookFunction,a as isPluginHookObject};
@@ -0,0 +1 @@
1
+ let e=require(`@stryke/path/replace`);
@@ -0,0 +1 @@
1
+ import{replacePath as e}from"@stryke/path/replace";export{};
@@ -0,0 +1,5 @@
1
+ import "./resolved.mjs";
2
+ import "./hooks.mjs";
3
+ import "./context.mjs";
4
+ import "./config.mjs";
5
+ import "../internal/helpers/hooks.mjs";