@powerlines/plugin-env 0.13.88 → 0.13.90
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.
- package/dist/alloy/src/core/components/output.cjs +1 -1
- package/dist/alloy/src/core/components/output.mjs +1 -1
- package/dist/alloy/src/core/components/single-line-comment.cjs +1 -1
- package/dist/alloy/src/core/components/single-line-comment.mjs +1 -1
- package/dist/alloy/src/core/components/source-file.cjs +1 -1
- package/dist/alloy/src/core/components/source-file.mjs +1 -1
- package/dist/alloy/src/create-plugin.cjs +2 -2
- package/dist/alloy/src/create-plugin.mjs +2 -2
- package/dist/alloy/src/markdown/components/markdown-file.cjs +1 -1
- package/dist/alloy/src/markdown/components/markdown-file.mjs +1 -1
- package/dist/alloy/src/markdown/components/markdown-table.cjs +1 -1
- package/dist/alloy/src/markdown/components/markdown-table.mjs +1 -1
- package/dist/alloy/src/types/components.d.mts +2 -2
- package/dist/alloy/src/typescript/components/builtin-file.cjs +1 -1
- package/dist/alloy/src/typescript/components/builtin-file.mjs +1 -1
- package/dist/alloy/src/typescript/components/tsdoc-reflection.cjs +1 -1
- package/dist/alloy/src/typescript/components/tsdoc-reflection.mjs +1 -1
- package/dist/alloy/src/typescript/components/tsdoc.cjs +1 -1
- package/dist/alloy/src/typescript/components/tsdoc.mjs +1 -1
- package/dist/alloy/src/typescript/components/typescript-file.cjs +1 -1
- package/dist/alloy/src/typescript/components/typescript-file.mjs +1 -1
- package/dist/alloy/src/typescript/components/typescript-interface.cjs +1 -1
- package/dist/alloy/src/typescript/components/typescript-interface.mjs +1 -1
- package/dist/alloy/src/typescript/components/typescript-object.cjs +1 -1
- package/dist/alloy/src/typescript/components/typescript-object.mjs +1 -1
- package/dist/babel/plugin.cjs +4 -4
- package/dist/babel/plugin.mjs +3 -3
- package/dist/components/docs.cjs +1 -1
- package/dist/components/docs.mjs +1 -1
- package/dist/components/env.cjs +9 -9
- package/dist/components/env.mjs +7 -7
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.mjs +1 -1
- package/dist/deepkit/src/utilities.cjs +1 -1
- package/dist/deepkit/src/utilities.mjs +1 -1
- package/dist/helpers/create-reflection-resource.cjs +1 -1
- package/dist/helpers/create-reflection-resource.mjs +1 -1
- package/dist/helpers/index.cjs +1 -1
- package/dist/helpers/index.mjs +1 -1
- package/dist/helpers/load.cjs +1 -1
- package/dist/helpers/load.mjs +1 -1
- package/dist/helpers/persistence.cjs +1 -1
- package/dist/helpers/persistence.mjs +1 -1
- package/dist/helpers/reflect.cjs +1 -1
- package/dist/helpers/reflect.mjs +1 -1
- package/dist/helpers/source-file-env.cjs +1 -1
- package/dist/helpers/source-file-env.mjs +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.mjs +4 -4
- package/dist/plugin-babel/src/helpers/create-plugin.cjs +1 -1
- package/dist/plugin-babel/src/helpers/create-plugin.mjs +1 -1
- package/dist/plugin-babel/src/helpers/index.cjs +1 -1
- package/dist/plugin-babel/src/helpers/index.mjs +1 -1
- package/dist/plugin-babel/src/helpers/module-helpers.cjs +1 -1
- package/dist/plugin-babel/src/helpers/module-helpers.mjs +1 -1
- package/dist/plugin-babel/src/helpers/options.cjs +1 -1
- package/dist/plugin-babel/src/helpers/options.mjs +1 -1
- package/dist/plugin-babel/src/index.cjs +1 -1
- package/dist/plugin-babel/src/index.mjs +1 -1
- package/dist/powerlines/src/lib/build/esbuild.cjs +9 -9
- package/dist/powerlines/src/lib/build/esbuild.mjs +9 -9
- package/dist/powerlines/src/lib/entry.cjs +1 -1
- package/dist/powerlines/src/lib/entry.mjs +1 -1
- package/dist/powerlines/src/lib/logger.cjs +1 -1
- package/dist/powerlines/src/lib/logger.mjs +1 -1
- package/dist/powerlines/src/lib/utilities/resolve.cjs +1 -1
- package/dist/powerlines/src/lib/utilities/resolve.mjs +1 -1
- package/dist/powerlines/src/plugin-utils/helpers.cjs +1 -1
- package/dist/powerlines/src/plugin-utils/helpers.mjs +1 -1
- package/dist/powerlines/src/types/babel.d.mts +1 -1
- package/dist/powerlines/src/types/config.d.mts +1 -1
- package/dist/types/plugin.d.mts +1 -1
- package/package.json +7 -7
package/dist/components/env.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../
|
|
2
|
-
[Key in keyof EnvBase as Key ${
|
|
1
|
+
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../deepkit/src/vendor/type.cjs`),n=require(`../helpers/load.cjs`),r=require(`../helpers/create-reflection-resource.cjs`),i=require(`../alloy/src/core/contexts/context.cjs`),a=require(`../alloy/src/helpers/refkey.cjs`),o=require(`../alloy/src/typescript/components/tsdoc.cjs`),s=require(`../alloy/src/typescript/components/builtin-file.cjs`),c=require(`../alloy/src/typescript/components/typescript-interface.cjs`),l=require(`../alloy/src/typescript/components/typescript-object.cjs`);let u=require(`@stryke/string-format/title-case`),d=require(`defu`);d=e.__toESM(d);let f=require(`@alloy-js/core`),p=require(`@alloy-js/core/jsx-runtime`),m=require(`@alloy-js/typescript`),h=require(`@stryke/type-checks/is-null`);function g(e){let[{defaultValue:t,reflection:n}]=(0,f.splitProps)(e,[`defaultValue`,`reflection`]),r=i.usePowerlines();return[(0,p.createComponent)(c.TypeScriptInterface,{name:` EnvBase`,extends:[`EnvInterface`],defaultValue:t,reflection:n,export:!0}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createComponent)(m.TypeDeclaration,{name:`Env`,export:!0,get children(){return f.code` {
|
|
2
|
+
[Key in keyof EnvBase as Key ${r?.config.env.prefix.map(e=>`| \`${e.replace(/_$/g,``)}_\${Key}\``).join(` `)}]: EnvBase[Key];
|
|
3
3
|
}
|
|
4
|
-
`}})]}function _(e){let[{context:t,name:n}]=(0,
|
|
4
|
+
`}})]}function _(e){let[{context:t,name:n}]=(0,f.splitProps)(e,[`context`,`name`]);return t?f.code`propertyName === "${n}" || propertyName.replace(/^(${t.config.env.prefix.sort((e,t)=>e.startsWith(t)?-1:t.startsWith(e)?1:e.localeCompare(t)).map(e=>`${e.replace(/_$/,``)}_`).join(`|`)})/g, "").toLowerCase().replace(/[\\s\\-_]+/g, "") === "${n.toLowerCase().replace(/[\s\-_]+/g,``)}"`:null}function v(e){let[{context:t,property:n,index:r}]=(0,f.splitProps)(e,[`context`,`property`,`index`]);return t?[r===0?(0,p.createComponent)(m.IfStatement,{get condition(){return[(0,p.createComponent)(_,{get name(){return n.getNameAsString()},context:t}),(0,p.createComponent)(f.Show,{get when(){return(0,p.memo)(()=>!!n.getAlias())()&&n.getAlias().length>0},get children(){return[f.code` || `,(0,p.createComponent)(f.For,{get each(){return n.getAlias()},joiner:f.code` || `,children:e=>(0,p.createComponent)(_,{name:e,context:t})})]}})]},get children(){return f.code`return target["${n.getNameAsString()}"];`}}):(0,p.createComponent)(m.ElseIfClause,{get condition(){return[(0,p.createComponent)(_,{get name(){return n.getNameAsString()},context:t}),(0,p.createComponent)(f.Show,{get when(){return(0,p.memo)(()=>!!n.getAlias())()&&n.getAlias().length>0},get children(){return[f.code` || `,(0,p.createComponent)(f.For,{get each(){return n.getAlias()},joiner:f.code` || `,children:e=>(0,p.createComponent)(_,{name:e,context:t})})]}})]},get children(){return f.code`return target["${n.getNameAsString()}"];`}})]:null}function y(e){let[{context:t,property:n,index:r}]=(0,f.splitProps)(e,[`context`,`property`,`index`]);return t?[r===0?(0,p.createComponent)(m.IfStatement,{get condition(){return[(0,p.createComponent)(_,{get name(){return n.getNameAsString()},context:t}),(0,p.createComponent)(f.Show,{get when(){return(0,p.memo)(()=>!!n.getAlias())()&&n.getAlias().length>0},get children(){return[f.code` || `,(0,p.createComponent)(f.For,{get each(){return n.getAlias()},joiner:f.code` || `,children:e=>(0,p.createComponent)(_,{name:e,context:t})})]}})]},get children(){return f.code`
|
|
5
5
|
target["${n.getNameAsString()}"] = newValue;
|
|
6
6
|
return true;
|
|
7
|
-
`}}):(0,
|
|
7
|
+
`}}):(0,p.createComponent)(m.ElseIfClause,{get condition(){return[(0,p.createComponent)(_,{get name(){return n.getNameAsString()},context:t}),(0,p.createComponent)(f.Show,{get when(){return(0,p.memo)(()=>!!n.getAlias())()&&n.getAlias().length>0},get children(){return[f.code` || `,(0,p.createComponent)(f.For,{get each(){return n.getAlias()},joiner:f.code` || `,children:e=>(0,p.createComponent)(_,{name:e,context:t})})]}})]},get children(){return f.code`
|
|
8
8
|
target["${n.getNameAsString()}"] = newValue;
|
|
9
9
|
return true;
|
|
10
|
-
`}})]:null}const b=
|
|
10
|
+
`}})]:null}const b=a.refkey(`createEnv`),x=a.refkey(`env`),S=a.refkey(`EnvSerializer`);function C(e){let[{defaultConfig:a},c]=(0,f.splitProps)(e,[`defaultConfig`]),_=i.usePowerlines(),C=(0,f.computed)(()=>_&&n.loadEnvFromContext(_,process.env)),w=r.createReflectionResource(_),T=(0,f.computed)(()=>new t.type_exports.ReflectionClass({kind:t.type_exports.ReflectionKind.objectLiteral,description:`The initial environment configuration state for the ${(0,u.titleCase)(_?.config?.name)} project.`,types:[]},w.data??void 0)),E=(0,f.computed)(()=>w.data?.getProperties().filter(e=>!e.isIgnored()).sort((e,t)=>e.getNameAsString().localeCompare(t.getNameAsString()))??[]),D=(0,f.computed)(()=>w.data?.getProperties().filter(e=>!e.isIgnored()&&!e.isReadonly()).sort((e,t)=>e.getNameAsString().localeCompare(t.getNameAsString()))??[]);return(0,p.createComponent)(s.BuiltinFile,(0,p.mergeProps)(c,{id:`env`,description:`The Powerlines environment configuration module provides an interface to define environment configuration parameters.`,get imports(){return(0,d.default)({"@powerlines/deepkit/vendor/type":[`Type`,`stringify`,`serializer`,`serializeFunction`,`deserializeFunction`,`ReflectionKind`,`TemplateState`,`Serializer`,`TypeProperty`,`TypePropertySignature`],"@powerlines/plugin-env/types/runtime":[{name:`EnvInterface`}]},c.imports??{})},get children(){return[(0,p.createComponent)(f.Show,{get when(){return!(0,h.isNull)(w.data)},get children(){return[(0,p.createComponent)(g,{get defaultValue(){return C.value},get reflection(){return w.data}}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createIntrinsic)(`hbr`,{})]}}),(0,p.createComponent)(l.TypescriptObject,{name:`initialEnv`,type:`Partial<EnvBase>`,defaultValue:C,reflection:T,export:!0,const:!0}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createComponent)(o.TSDoc,{heading:`The environment configuration serializer for the Powerlines application.`,get children(){return[(0,p.createComponent)(o.TSDocLink,{children:`https://deepkit.io/docs/serialization/serializers`}),(0,p.createComponent)(o.TSDocLink,{children:`https://github.com/marcj/untitled-code/blob/master/packages/type/src/serializer.ts#L1918`}),(0,p.createComponent)(o.TSDocRemarks,{children:`This serializer is used to serialize and deserialize the Powerlines environment configuration.`})]}}),(0,p.createComponent)(m.ClassDeclaration,{refkey:S,name:`EnvSerializer`,extends:`Serializer`,export:!0,get children(){return(0,p.createComponent)(m.ClassMethod,{name:`constructor`,public:!0,children:f.code`
|
|
11
11
|
super("env");
|
|
12
12
|
|
|
13
13
|
this.deserializeRegistry.register(
|
|
@@ -18,17 +18,17 @@ const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../alloy/src/core
|
|
|
18
18
|
);
|
|
19
19
|
}
|
|
20
20
|
);
|
|
21
|
-
`})}}),(0,
|
|
21
|
+
`})}}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createComponent)(o.TSDoc,{heading:`A {@link EnvSerializer | environment configuration serializer} instance for the Powerlines application.`,get children(){return[(0,p.createComponent)(o.TSDocLink,{children:`https://deepkit.io/docs/serialization/serializers`}),(0,p.createComponent)(o.TSDocLink,{children:`https://github.com/marcj/untitled-code/blob/master/packages/type/src/serializer.ts#L1918`}),(0,p.createComponent)(o.TSDocRemarks,{children:`This serializer is used to serialize and deserialize the Powerlines environment configuration.`})]}}),(0,p.createComponent)(m.VarDeclaration,{name:`envSerializer`,export:!1,const:!0,get initializer(){return(0,p.createComponent)(m.NewExpression,{args:[],target:`EnvSerializer`})}}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createComponent)(o.TSDoc,{heading:`Serialize a environment configuration object to JSON data objects (not a JSON string).`,get children(){return[(0,p.createComponent)(o.TSDocRemarks,{children:`The resulting JSON object can be stringified using JSON.stringify().`}),(0,p.createComponent)(o.TSDocExample,{children:`const json = serializeEnv(env);`}),(0,p.createComponent)(o.TSDocThrows,{children:`ValidationError when serialization or validation fails.`})]}}),(0,p.createComponent)(m.VarDeclaration,{name:`serializeEnv`,export:!0,const:!0,initializer:`serializeFunction<EnvBase>(envSerializer)`}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createComponent)(o.TSDoc,{heading:`Deserialize a environment configuration object from JSON data objects to JavaScript objects, without running any validators.`,get children(){return[(0,p.createComponent)(o.TSDocRemarks,{children:`Types that are already correct will be used as-is.`}),(0,p.createComponent)(o.TSDocExample,{children:`const env = deserializeEnv(json);`}),(0,p.createComponent)(o.TSDocThrows,{children:`ValidationError when deserialization fails.`})]}}),(0,p.createComponent)(m.VarDeclaration,{name:`deserializeEnv`,export:!0,const:!0,initializer:`deserializeFunction<EnvBase>(envSerializer)`}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createComponent)(o.TSDoc,{heading:`Initializes the Powerlines environment configuration module.`,get children(){return[(0,p.createComponent)(o.TSDocRemarks,{children:`This function initializes the Powerlines environment configuration object.`}),(0,p.createComponent)(o.TSDocParam,{name:`environmentConfig`,children:`The dynamic/runtime configuration - this could include the current environment variables or any other environment-specific settings provided by the runtime.`}),(0,p.createComponent)(o.TSDocReturns,{children:`The initialized Powerlines configuration object.`})]}}),(0,p.createComponent)(f.Show,{get when(){return!!_?.entryPath},get children(){return(0,p.createComponent)(m.FunctionDeclaration,{refkey:b,async:!1,export:!0,name:`createEnv`,parameters:[{name:`environmentConfig`,type:`Partial<Env>`,optional:!1,default:`{}`}],returnType:`Env`,get children(){return[f.code`
|
|
22
22
|
return new Proxy<Env>(
|
|
23
23
|
deserializeEnv({
|
|
24
24
|
...initialEnv,
|
|
25
25
|
...environmentConfig
|
|
26
26
|
}) as Env,
|
|
27
27
|
{
|
|
28
|
-
get: (target: EnvBase, propertyName: string) => { `,(0,
|
|
28
|
+
get: (target: EnvBase, propertyName: string) => { `,(0,p.createIntrinsic)(`hbr`,{}),(0,p.createComponent)(f.For,{each:E,children:(e,t)=>(0,p.createComponent)(v,{index:t,context:_,property:e})}),f.code`
|
|
29
29
|
return undefined;
|
|
30
|
-
}, `,(0,
|
|
30
|
+
}, `,(0,p.createIntrinsic)(`hbr`,{}),(0,p.createIntrinsic)(`hbr`,{}),f.code` set: (target: EnvBase, propertyName: string, newValue: any) => { `,(0,p.createIntrinsic)(`hbr`,{}),(0,p.createComponent)(f.For,{each:D,ender:f.code` else `,children:(e,t)=>(0,p.createComponent)(y,{index:t,context:_,property:e})}),(0,p.createIntrinsic)(`hbr`,{}),f.code`return false;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
);
|
|
34
|
-
`]}})}}),(0,
|
|
34
|
+
`]}})}}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createIntrinsic)(`hbr`,{}),(0,p.createComponent)(m.VarDeclaration,{refkey:x,name:`env`,type:`Env`,export:!0,const:!0,get initializer(){return[f.code`createEnv(`,a||`{}`,f.code` as Partial<Env>)`]}})]}}))}exports.EnvBuiltin=C,exports.EnvTypeDefinition=g;
|
package/dist/components/env.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{type_exports as e}from"../deepkit/src/vendor/type.mjs";import{loadEnvFromContext as t}from"../helpers/load.mjs";import{createReflectionResource as n}from"../helpers/create-reflection-resource.mjs";import{usePowerlines as r}from"../alloy/src/core/contexts/context.mjs";import{refkey as i}from"../alloy/src/helpers/refkey.mjs";import{TSDoc as a,TSDocExample as o,TSDocLink as s,TSDocParam as c,TSDocRemarks as l,TSDocReturns as u,TSDocThrows as d}from"../alloy/src/typescript/components/tsdoc.mjs";import{BuiltinFile as f}from"../alloy/src/typescript/components/builtin-file.mjs";import{TypeScriptInterface as p}from"../alloy/src/typescript/components/typescript-interface.mjs";import{TypescriptObject as m}from"../alloy/src/typescript/components/typescript-object.mjs";import{titleCase as h}from"@stryke/string-format/title-case";import g from"defu";import{For as _,Show as v,code as y,computed as b,splitProps as x}from"@alloy-js/core";import{createComponent as S,createIntrinsic as C,memo as w,mergeProps as T}from"@alloy-js/core/jsx-runtime";import{ClassDeclaration as E,ClassMethod as D,ElseIfClause as O,FunctionDeclaration as k,IfStatement as A,NewExpression as j,TypeDeclaration as M,VarDeclaration as N}from"@alloy-js/typescript";import{isNull as P}from"@stryke/type-checks/is-null";function F(e){let[{defaultValue:t,reflection:n}]=x(e,[`defaultValue`,`reflection`]),i=r();return[S(p,{name:` EnvBase`,extends:[`EnvInterface`],defaultValue:t,reflection:n,export:!0}),C(`hbr`,{}),C(`hbr`,{}),S(M,{name:`Env`,export:!0,get children(){return y` {
|
|
2
2
|
[Key in keyof EnvBase as Key ${i?.config.env.prefix.map(e=>`| \`${e.replace(/_$/g,``)}_\${Key}\``).join(` `)}]: EnvBase[Key];
|
|
3
3
|
}
|
|
4
|
-
`}})]}function I(e){let[{context:t,name:n}]=
|
|
4
|
+
`}})]}function I(e){let[{context:t,name:n}]=x(e,[`context`,`name`]);return t?y`propertyName === "${n}" || propertyName.replace(/^(${t.config.env.prefix.sort((e,t)=>e.startsWith(t)?-1:t.startsWith(e)?1:e.localeCompare(t)).map(e=>`${e.replace(/_$/,``)}_`).join(`|`)})/g, "").toLowerCase().replace(/[\\s\\-_]+/g, "") === "${n.toLowerCase().replace(/[\s\-_]+/g,``)}"`:null}function L(e){let[{context:t,property:n,index:r}]=x(e,[`context`,`property`,`index`]);return t?[S(r===0?A:O,{get condition(){return[S(I,{get name(){return n.getNameAsString()},context:t}),S(v,{get when(){return w(()=>!!n.getAlias())()&&n.getAlias().length>0},get children(){return[y` || `,S(_,{get each(){return n.getAlias()},joiner:y` || `,children:e=>S(I,{name:e,context:t})})]}})]},get children(){return y`return target["${n.getNameAsString()}"];`}})]:null}function R(e){let[{context:t,property:n,index:r}]=x(e,[`context`,`property`,`index`]);return t?[S(r===0?A:O,{get condition(){return[S(I,{get name(){return n.getNameAsString()},context:t}),S(v,{get when(){return w(()=>!!n.getAlias())()&&n.getAlias().length>0},get children(){return[y` || `,S(_,{get each(){return n.getAlias()},joiner:y` || `,children:e=>S(I,{name:e,context:t})})]}})]},get children(){return y`
|
|
5
5
|
target["${n.getNameAsString()}"] = newValue;
|
|
6
6
|
return true;
|
|
7
|
-
`}})]:null}const z=
|
|
7
|
+
`}})]:null}const z=i(`createEnv`),B=i(`env`),V=i(`EnvSerializer`);function H(i){let[{defaultConfig:p},w]=x(i,[`defaultConfig`]),O=r(),A=b(()=>O&&t(O,process.env)),M=n(O),I=b(()=>new e.ReflectionClass({kind:e.ReflectionKind.objectLiteral,description:`The initial environment configuration state for the ${h(O?.config?.name)} project.`,types:[]},M.data??void 0)),H=b(()=>M.data?.getProperties().filter(e=>!e.isIgnored()).sort((e,t)=>e.getNameAsString().localeCompare(t.getNameAsString()))??[]),U=b(()=>M.data?.getProperties().filter(e=>!e.isIgnored()&&!e.isReadonly()).sort((e,t)=>e.getNameAsString().localeCompare(t.getNameAsString()))??[]);return S(f,T(w,{id:`env`,description:`The Powerlines environment configuration module provides an interface to define environment configuration parameters.`,get imports(){return g({"@powerlines/deepkit/vendor/type":[`Type`,`stringify`,`serializer`,`serializeFunction`,`deserializeFunction`,`ReflectionKind`,`TemplateState`,`Serializer`,`TypeProperty`,`TypePropertySignature`],"@powerlines/plugin-env/types/runtime":[{name:`EnvInterface`}]},w.imports??{})},get children(){return[S(v,{get when(){return!P(M.data)},get children(){return[S(F,{get defaultValue(){return A.value},get reflection(){return M.data}}),C(`hbr`,{}),C(`hbr`,{})]}}),S(m,{name:`initialEnv`,type:`Partial<EnvBase>`,defaultValue:A,reflection:I,export:!0,const:!0}),C(`hbr`,{}),C(`hbr`,{}),S(a,{heading:`The environment configuration serializer for the Powerlines application.`,get children(){return[S(s,{children:`https://deepkit.io/docs/serialization/serializers`}),S(s,{children:`https://github.com/marcj/untitled-code/blob/master/packages/type/src/serializer.ts#L1918`}),S(l,{children:`This serializer is used to serialize and deserialize the Powerlines environment configuration.`})]}}),S(E,{refkey:V,name:`EnvSerializer`,extends:`Serializer`,export:!0,get children(){return S(D,{name:`constructor`,public:!0,children:y`
|
|
8
8
|
super("env");
|
|
9
9
|
|
|
10
10
|
this.deserializeRegistry.register(
|
|
@@ -15,17 +15,17 @@ import{usePowerlines as e}from"../alloy/src/core/contexts/context.mjs";import{ty
|
|
|
15
15
|
);
|
|
16
16
|
}
|
|
17
17
|
);
|
|
18
|
-
`})}}),
|
|
18
|
+
`})}}),C(`hbr`,{}),C(`hbr`,{}),S(a,{heading:`A {@link EnvSerializer | environment configuration serializer} instance for the Powerlines application.`,get children(){return[S(s,{children:`https://deepkit.io/docs/serialization/serializers`}),S(s,{children:`https://github.com/marcj/untitled-code/blob/master/packages/type/src/serializer.ts#L1918`}),S(l,{children:`This serializer is used to serialize and deserialize the Powerlines environment configuration.`})]}}),S(N,{name:`envSerializer`,export:!1,const:!0,get initializer(){return S(j,{args:[],target:`EnvSerializer`})}}),C(`hbr`,{}),C(`hbr`,{}),S(a,{heading:`Serialize a environment configuration object to JSON data objects (not a JSON string).`,get children(){return[S(l,{children:`The resulting JSON object can be stringified using JSON.stringify().`}),S(o,{children:`const json = serializeEnv(env);`}),S(d,{children:`ValidationError when serialization or validation fails.`})]}}),S(N,{name:`serializeEnv`,export:!0,const:!0,initializer:`serializeFunction<EnvBase>(envSerializer)`}),C(`hbr`,{}),C(`hbr`,{}),S(a,{heading:`Deserialize a environment configuration object from JSON data objects to JavaScript objects, without running any validators.`,get children(){return[S(l,{children:`Types that are already correct will be used as-is.`}),S(o,{children:`const env = deserializeEnv(json);`}),S(d,{children:`ValidationError when deserialization fails.`})]}}),S(N,{name:`deserializeEnv`,export:!0,const:!0,initializer:`deserializeFunction<EnvBase>(envSerializer)`}),C(`hbr`,{}),C(`hbr`,{}),S(a,{heading:`Initializes the Powerlines environment configuration module.`,get children(){return[S(l,{children:`This function initializes the Powerlines environment configuration object.`}),S(c,{name:`environmentConfig`,children:`The dynamic/runtime configuration - this could include the current environment variables or any other environment-specific settings provided by the runtime.`}),S(u,{children:`The initialized Powerlines configuration object.`})]}}),S(v,{get when(){return!!O?.entryPath},get children(){return S(k,{refkey:z,async:!1,export:!0,name:`createEnv`,parameters:[{name:`environmentConfig`,type:`Partial<Env>`,optional:!1,default:`{}`}],returnType:`Env`,get children(){return[y`
|
|
19
19
|
return new Proxy<Env>(
|
|
20
20
|
deserializeEnv({
|
|
21
21
|
...initialEnv,
|
|
22
22
|
...environmentConfig
|
|
23
23
|
}) as Env,
|
|
24
24
|
{
|
|
25
|
-
get: (target: EnvBase, propertyName: string) => { `,
|
|
25
|
+
get: (target: EnvBase, propertyName: string) => { `,C(`hbr`,{}),S(_,{each:H,children:(e,t)=>S(L,{index:t,context:O,property:e})}),y`
|
|
26
26
|
return undefined;
|
|
27
|
-
}, `,
|
|
27
|
+
}, `,C(`hbr`,{}),C(`hbr`,{}),y` set: (target: EnvBase, propertyName: string, newValue: any) => { `,C(`hbr`,{}),S(_,{each:U,ender:y` else `,children:(e,t)=>S(R,{index:t,context:O,property:e})}),C(`hbr`,{}),y`return false;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
);
|
|
31
|
-
`]}})}}),
|
|
31
|
+
`]}})}}),C(`hbr`,{}),C(`hbr`,{}),C(`hbr`,{}),S(N,{refkey:B,name:`env`,type:`Env`,export:!0,const:!0,get initializer(){return[y`createEnv(`,p||`{}`,y` as Partial<Env>)`]}})]}}))}export{H as EnvBuiltin,F as EnvTypeDefinition};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./
|
|
1
|
+
const e=require(`./docs.cjs`),t=require(`./env.cjs`);exports.EnvBuiltin=t.EnvBuiltin,exports.EnvDocs=e.EnvDocs,exports.EnvTypeDefinition=t.EnvTypeDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{EnvDocs as e}from"./docs.mjs";import{EnvBuiltin as t,EnvTypeDefinition as n}from"./env.mjs";export{t as EnvBuiltin,e as EnvDocs,n as EnvTypeDefinition};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`./vendor/type.cjs`);let n=require(`@stryke/type-checks/is-
|
|
1
|
+
const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`./vendor/type.cjs`);let n=require(`@stryke/type-checks/is-string`),r=require(`@stryke/helpers/get-unique`),i=require(`@stryke/type-checks/is-undefined`),a=require(`@stryke/json/storm-json`),o=require(`@stryke/type-checks/is-null`);function s(e,t){return l(e.type,t??e.getDefaultValue())}function c(e){return`"${String(e).replaceAll(`"`,`\\"`)}"`}function l(e,r){return(0,i.isUndefined)(r)?`undefined`:(0,o.isNull)(r)?`null`:e.kind===t.type_exports.ReflectionKind.boolean?String(r).trim().toLowerCase()===`true`?`true`:`false`:e.kind===t.type_exports.ReflectionKind.string||e.kind===t.type_exports.ReflectionKind.literal&&(0,n.isString)(e.literal)?c(r):e.kind===t.type_exports.ReflectionKind.enum?u(e).kind===t.type_exports.ReflectionKind.string?c(r):`${String(r)}`:e.kind===t.type_exports.ReflectionKind.union?f(e)?c(r):`${String(r)}`:e.kind===t.type_exports.ReflectionKind.array?c(a.StormJSON.stringify(r)):e.kind===t.type_exports.ReflectionKind.object||e.kind===t.type_exports.ReflectionKind.objectLiteral?a.StormJSON.stringify(r):e.kind===t.type_exports.ReflectionKind.property||e.kind===t.type_exports.ReflectionKind.parameter?l(e.type,r):String(r)}function u(e){if(e.kind!==t.type_exports.ReflectionKind.enum)throw Error(`Expected a TypeEnum, but received ${e.kind}.`);let i=(0,r.getUniqueBy)(e.values.filter(e=>e!=null),e=>(0,n.isString)(e)?{kind:t.type_exports.ReflectionKind.string}:{kind:t.type_exports.ReflectionKind.number});if(i.length===0)throw Error(`No valid enum members could be found.`);return i[0]&&(0,n.isString)(i[0])?{kind:t.type_exports.ReflectionKind.string}:{kind:t.type_exports.ReflectionKind.number}}function d(e){if(e.kind===t.type_exports.ReflectionKind.union&&e.types.length>0)return(0,r.getUniqueBy)(e.types,e=>e.kind);throw Error(`Expected a TypeUnion, but received ${e.kind}.`)}function f(e){return d(e).some(e=>e.kind===t.type_exports.ReflectionKind.string||e.kind===t.type_exports.ReflectionKind.literal&&(0,n.isString)(e.literal))}exports.stringifyDefaultValue=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{type_exports as e}from"./vendor/type.mjs";import{
|
|
1
|
+
import{type_exports as e}from"./vendor/type.mjs";import{isString as t}from"@stryke/type-checks/is-string";import{getUniqueBy as n}from"@stryke/helpers/get-unique";import{isUndefined as r}from"@stryke/type-checks/is-undefined";import{StormJSON as i}from"@stryke/json/storm-json";import{isNull as a}from"@stryke/type-checks/is-null";function o(e,t){return c(e.type,t??e.getDefaultValue())}function s(e){return`"${String(e).replaceAll(`"`,`\\"`)}"`}function c(n,o){return r(o)?`undefined`:a(o)?`null`:n.kind===e.ReflectionKind.boolean?String(o).trim().toLowerCase()===`true`?`true`:`false`:n.kind===e.ReflectionKind.string||n.kind===e.ReflectionKind.literal&&t(n.literal)?s(o):n.kind===e.ReflectionKind.enum?l(n).kind===e.ReflectionKind.string?s(o):`${String(o)}`:n.kind===e.ReflectionKind.union?d(n)?s(o):`${String(o)}`:n.kind===e.ReflectionKind.array?s(i.stringify(o)):n.kind===e.ReflectionKind.object||n.kind===e.ReflectionKind.objectLiteral?i.stringify(o):n.kind===e.ReflectionKind.property||n.kind===e.ReflectionKind.parameter?c(n.type,o):String(o)}function l(r){if(r.kind!==e.ReflectionKind.enum)throw Error(`Expected a TypeEnum, but received ${r.kind}.`);let i=n(r.values.filter(e=>e!=null),n=>t(n)?{kind:e.ReflectionKind.string}:{kind:e.ReflectionKind.number});if(i.length===0)throw Error(`No valid enum members could be found.`);return i[0]&&t(i[0])?{kind:e.ReflectionKind.string}:{kind:e.ReflectionKind.number}}function u(t){if(t.kind===e.ReflectionKind.union&&t.types.length>0)return n(t.types,e=>e.kind);throw Error(`Expected a TypeUnion, but received ${t.kind}.`)}function d(n){return u(n).some(n=>n.kind===e.ReflectionKind.string||n.kind===e.ReflectionKind.literal&&t(n.literal))}export{o as stringifyDefaultValue};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../deepkit/src/vendor/type.cjs`),n=require(`./persistence.cjs`),r=require(`./load.cjs`);let i=require(`@
|
|
1
|
+
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../deepkit/src/vendor/type.cjs`),n=require(`./persistence.cjs`),r=require(`./load.cjs`);let i=require(`@stryke/string-format/title-case`),a=require(`@alloy-js/core`);function o(e){let o=(0,a.computed)(()=>e&&r.loadEnvFromContext(e,process.env));return(0,a.createResource)(async()=>{if(!e)return new t.type_exports.ReflectionClass({kind:t.type_exports.ReflectionKind.objectLiteral,description:`The initial environment configuration state for the Powerlines project.`,types:[]});let r=await n.readEnvTypeReflection(e,`env`);return r.getProperties().forEach(e=>{e.getAlias().filter(Boolean).forEach(t=>{r.addProperty({name:t,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!==t).concat(e.name),title:e.getTitle()||(0,i.titleCase)(e.name),readonly:e.isReadonly(),permission:e.getPermission(),domain:e.getDomain()}})})}),r.getProperties().forEach(e=>{e.setDefaultValue(o.value?.[e.getNameAsString()]??e.getAlias().reduce((e,t)=>e??o.value?.[t],void 0)??e.getDefaultValue())}),r})}exports.createReflectionResource=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{type_exports as e}from"../deepkit/src/vendor/type.mjs";import{readEnvTypeReflection as t}from"./persistence.mjs";import{loadEnvFromContext as n}from"./load.mjs";import{
|
|
1
|
+
import{type_exports as e}from"../deepkit/src/vendor/type.mjs";import{readEnvTypeReflection as t}from"./persistence.mjs";import{loadEnvFromContext as n}from"./load.mjs";import{titleCase as r}from"@stryke/string-format/title-case";import{computed as i,createResource as a}from"@alloy-js/core";function o(o){let s=i(()=>o&&n(o,process.env));return a(async()=>{if(!o)return new e.ReflectionClass({kind:e.ReflectionKind.objectLiteral,description:`The initial environment configuration state for the Powerlines project.`,types:[]});let n=await t(o,`env`);return n.getProperties().forEach(e=>{e.getAlias().filter(Boolean).forEach(t=>{n.addProperty({name:t,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!==t).concat(e.name),title:e.getTitle()||r(e.name),readonly:e.isReadonly(),permission:e.getPermission(),domain:e.getDomain()}})})}),n.getProperties().forEach(e=>{e.setDefaultValue(s.value?.[e.getNameAsString()]??e.getAlias().reduce((e,t)=>e??s.value?.[t],void 0)??e.getDefaultValue())}),n})}export{o as createReflectionResource};
|
package/dist/helpers/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./reflect.cjs`),t=require(`./persistence.cjs`),n=require(`./
|
|
1
|
+
const e=require(`./reflect.cjs`),t=require(`./persistence.cjs`),n=require(`./template-helpers.cjs`),r=require(`./source-file-env.cjs`),i=require(`./load.cjs`),a=require(`./create-reflection-resource.cjs`);exports.BaseEnv=e.BaseEnv,exports.BaseSecrets=e.BaseSecrets,exports.createEnvReflection=e.createEnvReflection,exports.createReflectionResource=a.createReflectionResource,exports.createSecretsReflection=e.createSecretsReflection,exports.createTemplateReflection=n.createTemplateReflection,exports.formatEnvField=r.formatEnvField,exports.getEnvDefaultTypeDefinition=t.getEnvDefaultTypeDefinition,exports.getEnvReflectionsPath=t.getEnvReflectionsPath,exports.getEnvTypeReflectionsPath=t.getEnvTypeReflectionsPath,exports.getSecretsDefaultTypeDefinition=t.getSecretsDefaultTypeDefinition,exports.loadEnv=i.loadEnv,exports.loadEnvFromContext=i.loadEnvFromContext,exports.mergeEnvReflections=e.mergeEnvReflections,exports.mergeSecretsReflections=e.mergeSecretsReflections,exports.readEnvReflection=t.readEnvReflection,exports.readEnvTypeReflection=t.readEnvTypeReflection,exports.readSecretsReflection=t.readSecretsReflection,exports.reflectEnv=e.reflectEnv,exports.reflectSecrets=e.reflectSecrets,exports.removeEnvPrefix=r.removeEnvPrefix,exports.resolveRuntimeTypeFile=t.resolveRuntimeTypeFile,exports.writeEnvReflection=t.writeEnvReflection,exports.writeEnvReflectionSync=t.writeEnvReflectionSync,exports.writeEnvTypeReflection=t.writeEnvTypeReflection;
|
package/dist/helpers/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BaseEnv as e,BaseSecrets as t,createEnvReflection as n,createSecretsReflection as r,mergeEnvReflections as i,mergeSecretsReflections as a,reflectEnv as o,reflectSecrets as s}from"./reflect.mjs";import{getEnvDefaultTypeDefinition as c,getEnvReflectionsPath as l,getEnvTypeReflectionsPath as u,getSecretsDefaultTypeDefinition as d,readEnvReflection as f,readEnvTypeReflection as p,readSecretsReflection as m,resolveRuntimeTypeFile as h,writeEnvReflection as g,writeEnvReflectionSync as _,writeEnvTypeReflection as v}from"./persistence.mjs";import{formatEnvField as
|
|
1
|
+
import{BaseEnv as e,BaseSecrets as t,createEnvReflection as n,createSecretsReflection as r,mergeEnvReflections as i,mergeSecretsReflections as a,reflectEnv as o,reflectSecrets as s}from"./reflect.mjs";import{getEnvDefaultTypeDefinition as c,getEnvReflectionsPath as l,getEnvTypeReflectionsPath as u,getSecretsDefaultTypeDefinition as d,readEnvReflection as f,readEnvTypeReflection as p,readSecretsReflection as m,resolveRuntimeTypeFile as h,writeEnvReflection as g,writeEnvReflectionSync as _,writeEnvTypeReflection as v}from"./persistence.mjs";import{createTemplateReflection as y}from"./template-helpers.mjs";import{formatEnvField as b,removeEnvPrefix as x}from"./source-file-env.mjs";import{loadEnv as S,loadEnvFromContext as C}from"./load.mjs";import{createReflectionResource as w}from"./create-reflection-resource.mjs";export{e as BaseEnv,t as BaseSecrets,n as createEnvReflection,w as createReflectionResource,r as createSecretsReflection,y as createTemplateReflection,b as formatEnvField,c as getEnvDefaultTypeDefinition,l as getEnvReflectionsPath,u as getEnvTypeReflectionsPath,d as getSecretsDefaultTypeDefinition,S as loadEnv,C as loadEnvFromContext,i as mergeEnvReflections,a as mergeSecretsReflections,f as readEnvReflection,p as readEnvTypeReflection,m as readSecretsReflection,o as reflectEnv,s as reflectSecrets,x as removeEnvPrefix,h as resolveRuntimeTypeFile,g as writeEnvReflection,_ as writeEnvReflectionSync,v as writeEnvTypeReflection};
|
package/dist/helpers/load.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`./source-file-env.cjs`);let n=require(`@stryke/
|
|
1
|
+
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`./source-file-env.cjs`);let n=require(`@stryke/path/join-paths`),r=require(`@stryke/type-checks/is-set-string`),i=require(`defu`);i=e.__toESM(i);let a=require(`@stryke/env/load-env`),o=require(`@stryke/string-format/kebab-case`),s=require(`@stryke/type-checks/is-set-object`),c=require(`c12`);async function l(e,n,r){let o=await(0,a.loadEnv)(r,n);if(e.additionalFiles&&e.additionalFiles?.length>0){let t=await Promise.all(e.additionalFiles.map(async e=>(0,a.loadEnvFile)(e,r)));for(let e of t)o=(0,i.default)(e,o)}return t.removeEnvPrefix(o)}async function u(e,t,r,a,o,s){let[u,d]=await Promise.all([l(e,r,t),(0,c.loadConfig)({cwd:t,name:`storm`,envName:r,defaults:{NAME:o.name?.replace(`@${s.namespace}/`,``),MODE:r,ORG:s.organization},globalRc:!0,packageJson:!0,dotenv:!0,jitiOptions:{fsCache:(0,n.joinPaths)(a,`jiti`),moduleCache:!0}})]);return(0,i.default)(u,d.config,s)}function d(e,t){return(0,i.default)({APP_NAME:(0,o.kebabCase)(e.config.name||e.packageJson.name?.replace(`/${e.workspaceConfig.namespace}`,``)),APP_VERSION:e.packageJson.version,BUILD_ID:e.meta.buildId,BUILD_TIMESTAMP:new Date(e.meta.timestamp).toISOString(),BUILD_CHECKSUM:e.meta.checksum,RELEASE_ID:e.meta.releaseId,RELEASE_TAG:`${(0,o.kebabCase)(e.config.name)}@${e.packageJson.version}`,DEFAULT_LOCALE:e.workspaceConfig.locale,DEFAULT_TIMEZONE:e.workspaceConfig.timezone,LOG_LEVEL:e.config.logLevel,ERROR_URL:e.workspaceConfig.error?.url,ORGANIZATION:(0,r.isSetString)(e.workspaceConfig.organization)?e.workspaceConfig.organization:e.workspaceConfig.organization?.name,PLATFORM:e.config.build.platform,MODE:e.workspaceConfig.mode,DEBUG:e.workspaceConfig.mode===`development`,STACKTRACE:e.workspaceConfig.mode===`development`,ENVIRONMENT:e.environment},(0,s.isSetObject)(e?.env?.types?.env)?e.env.types.env?.getProperties().reduce((e,n)=>(e[n.name]=t[n.name]??n.getDefaultValue(),e),{}):{})}async function f(e,t){let[n,r,a]=await Promise.all([u(t,e.config.projectRoot,e.config.mode,e.cachePath,e.packageJson,e.workspaceConfig),u(t,e.workspaceConfig.workspaceRoot,e.config.mode,e.cachePath,e.packageJson,e.workspaceConfig),u(t,e.envPaths.config,e.config.mode,e.cachePath,e.packageJson,e.workspaceConfig)]);return(0,i.default)(d(e,process.env),n,r,a)}exports.loadEnv=f,exports.loadEnvFromContext=d;
|
package/dist/helpers/load.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{removeEnvPrefix as e}from"./source-file-env.mjs";import{
|
|
1
|
+
import{removeEnvPrefix as e}from"./source-file-env.mjs";import{joinPaths as t}from"@stryke/path/join-paths";import{isSetString as n}from"@stryke/type-checks/is-set-string";import r from"defu";import{loadEnv as i,loadEnvFile as a}from"@stryke/env/load-env";import{kebabCase as o}from"@stryke/string-format/kebab-case";import{isSetObject as s}from"@stryke/type-checks/is-set-object";import{loadConfig as c}from"c12";async function l(t,n,o){let s=await i(o,n);if(t.additionalFiles&&t.additionalFiles?.length>0){let e=await Promise.all(t.additionalFiles.map(async e=>a(e,o)));for(let t of e)s=r(t,s)}return e(s)}async function u(e,n,i,a,o,s){let[u,d]=await Promise.all([l(e,i,n),c({cwd:n,name:`storm`,envName:i,defaults:{NAME:o.name?.replace(`@${s.namespace}/`,``),MODE:i,ORG:s.organization},globalRc:!0,packageJson:!0,dotenv:!0,jitiOptions:{fsCache:t(a,`jiti`),moduleCache:!0}})]);return r(u,d.config,s)}function d(e,t){return r({APP_NAME:o(e.config.name||e.packageJson.name?.replace(`/${e.workspaceConfig.namespace}`,``)),APP_VERSION:e.packageJson.version,BUILD_ID:e.meta.buildId,BUILD_TIMESTAMP:new Date(e.meta.timestamp).toISOString(),BUILD_CHECKSUM:e.meta.checksum,RELEASE_ID:e.meta.releaseId,RELEASE_TAG:`${o(e.config.name)}@${e.packageJson.version}`,DEFAULT_LOCALE:e.workspaceConfig.locale,DEFAULT_TIMEZONE:e.workspaceConfig.timezone,LOG_LEVEL:e.config.logLevel,ERROR_URL:e.workspaceConfig.error?.url,ORGANIZATION:n(e.workspaceConfig.organization)?e.workspaceConfig.organization:e.workspaceConfig.organization?.name,PLATFORM:e.config.build.platform,MODE:e.workspaceConfig.mode,DEBUG:e.workspaceConfig.mode===`development`,STACKTRACE:e.workspaceConfig.mode===`development`,ENVIRONMENT:e.environment},s(e?.env?.types?.env)?e.env.types.env?.getProperties().reduce((e,n)=>(e[n.name]=t[n.name]??n.getDefaultValue(),e),{}):{})}async function f(e,t){let[n,i,a]=await Promise.all([u(t,e.config.projectRoot,e.config.mode,e.cachePath,e.packageJson,e.workspaceConfig),u(t,e.workspaceConfig.workspaceRoot,e.config.mode,e.cachePath,e.packageJson,e.workspaceConfig),u(t,e.envPaths.config,e.config.mode,e.cachePath,e.packageJson,e.workspaceConfig)]);return r(d(e,process.env),n,i,a)}export{f as loadEnv,d as loadEnvFromContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../deepkit/src/vendor/type.cjs`),n=require(`../deepkit/src/capnp.cjs`),r=require(`../deepkit/
|
|
1
|
+
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../deepkit/src/vendor/type.cjs`),n=require(`../deepkit/src/capnp.cjs`),r=require(`../deepkit/src/resolve-reflections.cjs`),i=require(`../deepkit/schemas/reflection2.cjs`),a=require(`./reflect.cjs`);let o=require(`@stryke/capnp`);o=e.__toESM(o);let s=require(`@stryke/path/join-paths`),c=require(`@stryke/fs/buffer`),l=require(`@stryke/fs/resolve`),u=require(`@stryke/type-checks/is-empty-object`),d=require(`node:fs`);async function f(e){return(0,l.resolvePackage)(`@powerlines/plugin-env/types/runtime`,{paths:[e.workspaceConfig.workspaceRoot,(0,s.joinPaths)(e.workspaceConfig.workspaceRoot,e.config.projectRoot)]})}async function p(e){return{file:await f(e),name:`EnvInterface`}}async function m(e){return{file:await f(e),name:`SecretsInterface`}}function h(e,t=`env`){return(0,s.joinPaths)(r.getReflectionsPath(e),`env`,`${t}-types.bin`)}async function g(e,r=`env`){let s=h(e,r);if(!(0,d.existsSync)(s)){if(!e.env.types.env||(0,u.isEmptyObject)(e.env.types.env)){let t=a.createEnvReflection(e),n=new o.Message;t.messageRoot=n.initRoot(i.SerializedTypes),t.dataBuffer=n.toArrayBuffer(),e.env.types.env=t,await _(e,e.env.types.env,r)}return e.env.types.env}let l=await(0,c.readFileBuffer)(s),f=new o.Message(l,!1).getRoot(i.SerializedTypes),p=(0,t.type_exports.resolveClassType)((0,t.type_exports.deserializeType)(n.convertFromCapnp(f.types)));return e.env.types[r]=p,e.env.types[r].messageRoot=f,e.env.types[r].dataBuffer=l,p}async function _(e,t,r=`env`){let a=t.serializeType(),s=new o.Message;n.convertToCapnp(a,s.initRoot(i.SerializedTypes)._initTypes(a.length)),await(0,c.writeFileBuffer)(h(e,r),s.toArrayBuffer())}function v(e,t){return(0,s.joinPaths)(r.getReflectionsPath(e),`env`,`${t}.bin`)}async function y(e){let r=v(e,`env`);if(!(0,d.existsSync)(r)){if(e.env.types.env||(e.env.types.env=await g(e,`env`)),!e.env.used.env||(0,u.isEmptyObject)(e.env.used.env)){let n=a.createEnvReflection(e,{type:{kind:t.type_exports.ReflectionKind.objectLiteral,typeName:`Env`,description:`An object containing the environment configuration parameters that are used (at least once) by the ${e.config.name?`${e.config.name} application`:`application`}.`,types:[]},superReflection:e.env.types.env});n.name=`Env`;let r=new o.Message;n.messageRoot=r.initRoot(i.SerializedTypes),n.dataBuffer=r.toArrayBuffer(),e.env.used.env=n,await x(e,e.env.used.env,`env`)}return e.env.used.env}let s=await(0,c.readFileBuffer)(r),l=new o.Message(s,!1).getRoot(i.SerializedTypes),f=(0,t.type_exports.resolveClassType)((0,t.type_exports.deserializeType)(n.convertFromCapnp(l.types)));return e.env.used.env=f,e.env.used.env.messageRoot=l,e.env.used.env.dataBuffer=s,f}async function b(e){let r=v(e,`secrets`);if(!(0,d.existsSync)(r)){if(e.env.types.secrets||(e.env.types.secrets=await g(e,`secrets`)),!e.env.used.secrets||(0,u.isEmptyObject)(e.env.used.secrets)){let n=a.createEnvReflection(e,{type:{kind:t.type_exports.ReflectionKind.objectLiteral,typeName:`Secrets`,description:`An object containing the secret configuration parameters that are used (at least once) by the ${e.config.name?`${e.config.name} application`:`application`}.`,types:[]},superReflection:e.env.types.secrets});n.name=`Secrets`;let r=new o.Message;n.messageRoot=r.initRoot(i.SerializedTypes),n.dataBuffer=r.toArrayBuffer(),e.env.used.secrets=n,await x(e,e.env.used.secrets,`secrets`)}return e.env.used.secrets}let s=await(0,c.readFileBuffer)(r),l=new o.Message(s,!1).getRoot(i.SerializedTypes),f=(0,t.type_exports.resolveClassType)((0,t.type_exports.deserializeType)(n.convertFromCapnp(l.types)));return e.env.used.secrets=f,e.env.used.secrets.messageRoot=l,e.env.used.secrets.dataBuffer=s,f}async function x(e,t,r=`env`){let a=t.serializeType(),s=new o.Message;n.convertToCapnp(a,s.initRoot(i.SerializedTypes)._initTypes(a.length)),await(0,c.writeFileBuffer)(v(e,r),s.toArrayBuffer())}function S(e,t,r=`env`){let a=t.serializeType(),s=new o.Message;n.convertToCapnp(a,s.initRoot(i.SerializedTypes)._initTypes(a.length)),(0,c.writeFileBufferSync)(v(e,r),s.toArrayBuffer())}exports.getEnvDefaultTypeDefinition=p,exports.getEnvReflectionsPath=v,exports.getEnvTypeReflectionsPath=h,exports.getSecretsDefaultTypeDefinition=m,exports.readEnvReflection=y,exports.readEnvTypeReflection=g,exports.readSecretsReflection=b,exports.resolveRuntimeTypeFile=f,exports.writeEnvReflection=x,exports.writeEnvReflectionSync=S,exports.writeEnvTypeReflection=_;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{type_exports as e}from"../deepkit/src/vendor/type.mjs";import{convertFromCapnp as t,convertToCapnp as n}from"../deepkit/src/capnp.mjs";import{
|
|
1
|
+
import{type_exports as e}from"../deepkit/src/vendor/type.mjs";import{convertFromCapnp as t,convertToCapnp as n}from"../deepkit/src/capnp.mjs";import{getReflectionsPath as r}from"../deepkit/src/resolve-reflections.mjs";import{SerializedTypes as i}from"../deepkit/schemas/reflection2.mjs";import{createEnvReflection as a}from"./reflect.mjs";import*as o from"@stryke/capnp";import{joinPaths as s}from"@stryke/path/join-paths";import{readFileBuffer as c,writeFileBuffer as l,writeFileBufferSync as u}from"@stryke/fs/buffer";import{resolvePackage as d}from"@stryke/fs/resolve";import{isEmptyObject as f}from"@stryke/type-checks/is-empty-object";import{existsSync as p}from"node:fs";async function m(e){return d(`@powerlines/plugin-env/types/runtime`,{paths:[e.workspaceConfig.workspaceRoot,s(e.workspaceConfig.workspaceRoot,e.config.projectRoot)]})}async function h(e){return{file:await m(e),name:`EnvInterface`}}async function g(e){return{file:await m(e),name:`SecretsInterface`}}function _(e,t=`env`){return s(r(e),`env`,`${t}-types.bin`)}async function v(n,r=`env`){let s=_(n,r);if(!p(s)){if(!n.env.types.env||f(n.env.types.env)){let e=a(n),t=new o.Message;e.messageRoot=t.initRoot(i),e.dataBuffer=t.toArrayBuffer(),n.env.types.env=e,await y(n,n.env.types.env,r)}return n.env.types.env}let l=await c(s),u=new o.Message(l,!1).getRoot(i),d=(0,e.resolveClassType)((0,e.deserializeType)(t(u.types)));return n.env.types[r]=d,n.env.types[r].messageRoot=u,n.env.types[r].dataBuffer=l,d}async function y(e,t,r=`env`){let a=t.serializeType(),s=new o.Message;n(a,s.initRoot(i)._initTypes(a.length)),await l(_(e,r),s.toArrayBuffer())}function b(e,t){return s(r(e),`env`,`${t}.bin`)}async function x(n){let r=b(n,`env`);if(!p(r)){if(n.env.types.env||(n.env.types.env=await v(n,`env`)),!n.env.used.env||f(n.env.used.env)){let t=a(n,{type:{kind:e.ReflectionKind.objectLiteral,typeName:`Env`,description:`An object containing the environment configuration parameters that are used (at least once) by the ${n.config.name?`${n.config.name} application`:`application`}.`,types:[]},superReflection:n.env.types.env});t.name=`Env`;let r=new o.Message;t.messageRoot=r.initRoot(i),t.dataBuffer=r.toArrayBuffer(),n.env.used.env=t,await C(n,n.env.used.env,`env`)}return n.env.used.env}let s=await c(r),l=new o.Message(s,!1).getRoot(i),u=(0,e.resolveClassType)((0,e.deserializeType)(t(l.types)));return n.env.used.env=u,n.env.used.env.messageRoot=l,n.env.used.env.dataBuffer=s,u}async function S(n){let r=b(n,`secrets`);if(!p(r)){if(n.env.types.secrets||(n.env.types.secrets=await v(n,`secrets`)),!n.env.used.secrets||f(n.env.used.secrets)){let t=a(n,{type:{kind:e.ReflectionKind.objectLiteral,typeName:`Secrets`,description:`An object containing the secret configuration parameters that are used (at least once) by the ${n.config.name?`${n.config.name} application`:`application`}.`,types:[]},superReflection:n.env.types.secrets});t.name=`Secrets`;let r=new o.Message;t.messageRoot=r.initRoot(i),t.dataBuffer=r.toArrayBuffer(),n.env.used.secrets=t,await C(n,n.env.used.secrets,`secrets`)}return n.env.used.secrets}let s=await c(r),l=new o.Message(s,!1).getRoot(i),u=(0,e.resolveClassType)((0,e.deserializeType)(t(l.types)));return n.env.used.secrets=u,n.env.used.secrets.messageRoot=l,n.env.used.secrets.dataBuffer=s,u}async function C(e,t,r=`env`){let a=t.serializeType(),s=new o.Message;n(a,s.initRoot(i)._initTypes(a.length)),await l(b(e,r),s.toArrayBuffer())}function w(e,t,r=`env`){let a=t.serializeType(),s=new o.Message;n(a,s.initRoot(i)._initTypes(a.length)),u(b(e,r),s.toArrayBuffer())}export{h as getEnvDefaultTypeDefinition,b as getEnvReflectionsPath,_ as getEnvTypeReflectionsPath,g as getSecretsDefaultTypeDefinition,x as readEnvReflection,v as readEnvTypeReflection,S as readSecretsReflection,m as resolveRuntimeTypeFile,C as writeEnvReflection,w as writeEnvReflectionSync,y as writeEnvTypeReflection};
|
package/dist/helpers/reflect.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../deepkit/src/vendor/type.cjs`),n=require(`../deepkit/src/reflect-type.cjs`),r=require(`./persistence.cjs`);let i=require(`@stryke/
|
|
1
|
+
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../deepkit/src/vendor/type.cjs`),n=require(`../deepkit/src/reflect-type.cjs`),r=require(`./persistence.cjs`);let i=require(`@stryke/string-format/title-case`),a=require(`@stryke/path/join-paths`),o=require(`@stryke/path/is-parent-path`);function s(e,n){return d(e,{type:(0,t.type_exports.merge)(n.map(e=>e.type))})}function c(e,n){return f(e,{type:(0,t.type_exports.merge)(n.map(e=>e.type))})}var l=class{PLATFORM=`neutral`;MODE=`production`;DEBUG=!1;TEST=!1;MINIMAL=!1;NO_COLOR=!1;FORCE_COLOR=!1;FORCE_HYPERLINK=!1;STACKTRACE=!1;INCLUDE_ERROR_DATA=!1;CI=!1},u=class{};function d(e,n={}){let r=n.superReflection??new t.type_exports.ReflectionClass({kind:t.type_exports.ReflectionKind.class,description:`The base environment configuration definition for the ${(0,i.titleCase)(e.config.name)} project.`,classType:l,types:[],implements:[{kind:t.type_exports.ReflectionKind.objectLiteral,typeName:`EnvInterface`,description:`The environment configuration interface definition for the ${(0,i.titleCase)(e.config.name)} project.`,types:[]}]});r.name=`Env`;let a=new t.type_exports.ReflectionClass(n.type??{kind:t.type_exports.ReflectionKind.objectLiteral,typeName:`Env`,description:`A schema describing the list of available environment variables that can be used by the ${e.config.name?`${(0,i.titleCase)(e.config.name)} application`:`application`}.`,types:[]},r);return a.name=`Env`,a}function f(e,n={}){let r=n.superReflection??new t.type_exports.ReflectionClass({kind:t.type_exports.ReflectionKind.class,description:`The base secrets configuration definition for the ${(0,i.titleCase)(e.config.name)} project.`,classType:u,types:[],implements:[{kind:t.type_exports.ReflectionKind.objectLiteral,typeName:`SecretsInterface`,description:`The secrets configuration interface definition for the ${(0,i.titleCase)(e.config.name)} project.`,types:[]}]});r.name=`Secrets`;let a=new t.type_exports.ReflectionClass(n.type??{kind:t.type_exports.ReflectionKind.objectLiteral,typeName:`Secrets`,description:`A schema describing the list of available environment secrets that can be used by the ${e.config.name?`${(0,i.titleCase)(e.config.name)} application`:`application`}.`,types:[]},r);return a.name=`Secrets`,a}async function p(e,i,c){let l;i&&(l=(0,t.type_exports.resolveClassType)(await n.reflectType(e,{file:(0,o.isParentPath)(i,e.workspaceConfig.workspaceRoot)?i:(0,a.joinPaths)(e.workspaceConfig.workspaceRoot,i),name:c},{skipNodeModulesBundle:!0})));let u=await n.reflectType(e,await r.getEnvDefaultTypeDefinition(e));return s(e,[await r.readEnvTypeReflection(e,`env`),l,(0,t.type_exports.resolveClassType)(u)].filter(Boolean))}async function m(e,i,s){let l;i&&(l=(0,t.type_exports.resolveClassType)(await n.reflectType(e,{file:(0,o.isParentPath)(i,e.workspaceConfig.workspaceRoot)?i:(0,a.joinPaths)(e.workspaceConfig.workspaceRoot,i),name:s},{skipNodeModulesBundle:!0})));let u=await n.reflectType(e,await r.getSecretsDefaultTypeDefinition(e));return c(e,[await r.readSecretsReflection(e),l,(0,t.type_exports.resolveClassType)(u)].filter(Boolean))}exports.BaseEnv=l,exports.BaseSecrets=u,exports.createEnvReflection=d,exports.createSecretsReflection=f,exports.mergeEnvReflections=s,exports.mergeSecretsReflections=c,exports.reflectEnv=p,exports.reflectSecrets=m;
|
package/dist/helpers/reflect.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{type_exports as e}from"../deepkit/src/vendor/type.mjs";import{reflectType as t}from"../deepkit/src/reflect-type.mjs";import{getEnvDefaultTypeDefinition as n,getSecretsDefaultTypeDefinition as r,readEnvTypeReflection as i,readSecretsReflection as a}from"./persistence.mjs";import{
|
|
1
|
+
import{type_exports as e}from"../deepkit/src/vendor/type.mjs";import{reflectType as t}from"../deepkit/src/reflect-type.mjs";import{getEnvDefaultTypeDefinition as n,getSecretsDefaultTypeDefinition as r,readEnvTypeReflection as i,readSecretsReflection as a}from"./persistence.mjs";import{titleCase as o}from"@stryke/string-format/title-case";import{joinPaths as s}from"@stryke/path/join-paths";import{isParentPath as c}from"@stryke/path/is-parent-path";function l(t,n){return p(t,{type:(0,e.merge)(n.map(e=>e.type))})}function u(t,n){return m(t,{type:(0,e.merge)(n.map(e=>e.type))})}var d=class{PLATFORM=`neutral`;MODE=`production`;DEBUG=!1;TEST=!1;MINIMAL=!1;NO_COLOR=!1;FORCE_COLOR=!1;FORCE_HYPERLINK=!1;STACKTRACE=!1;INCLUDE_ERROR_DATA=!1;CI=!1},f=class{};function p(t,n={}){let r=n.superReflection??new e.ReflectionClass({kind:e.ReflectionKind.class,description:`The base environment configuration definition for the ${o(t.config.name)} project.`,classType:d,types:[],implements:[{kind:e.ReflectionKind.objectLiteral,typeName:`EnvInterface`,description:`The environment configuration interface definition for the ${o(t.config.name)} project.`,types:[]}]});r.name=`Env`;let i=new e.ReflectionClass(n.type??{kind:e.ReflectionKind.objectLiteral,typeName:`Env`,description:`A schema describing the list of available environment variables that can be used by the ${t.config.name?`${o(t.config.name)} application`:`application`}.`,types:[]},r);return i.name=`Env`,i}function m(t,n={}){let r=n.superReflection??new e.ReflectionClass({kind:e.ReflectionKind.class,description:`The base secrets configuration definition for the ${o(t.config.name)} project.`,classType:f,types:[],implements:[{kind:e.ReflectionKind.objectLiteral,typeName:`SecretsInterface`,description:`The secrets configuration interface definition for the ${o(t.config.name)} project.`,types:[]}]});r.name=`Secrets`;let i=new e.ReflectionClass(n.type??{kind:e.ReflectionKind.objectLiteral,typeName:`Secrets`,description:`A schema describing the list of available environment secrets that can be used by the ${t.config.name?`${o(t.config.name)} application`:`application`}.`,types:[]},r);return i.name=`Secrets`,i}async function h(r,a,o){let u;a&&(u=(0,e.resolveClassType)(await t(r,{file:c(a,r.workspaceConfig.workspaceRoot)?a:s(r.workspaceConfig.workspaceRoot,a),name:o},{skipNodeModulesBundle:!0})));let d=await t(r,await n(r));return l(r,[await i(r,`env`),u,(0,e.resolveClassType)(d)].filter(Boolean))}async function g(n,i,o){let l;i&&(l=(0,e.resolveClassType)(await t(n,{file:c(i,n.workspaceConfig.workspaceRoot)?i:s(n.workspaceConfig.workspaceRoot,i),name:o},{skipNodeModulesBundle:!0})));let d=await t(n,await r(n));return u(n,[await a(n),l,(0,e.resolveClassType)(d)].filter(Boolean))}export{d as BaseEnv,f as BaseSecrets,p as createEnvReflection,m as createSecretsReflection,l as mergeEnvReflections,u as mergeSecretsReflections,h as reflectEnv,g as reflectSecrets};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`@stryke/
|
|
1
|
+
const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`@stryke/string-format/camel-case`),n=require(`@stryke/type-checks/is-string`),r=require(`@stryke/env/types`);function i(e){if((0,n.isString)(e)){let t=r.ENV_PREFIXES.reduce((e,t)=>(e.startsWith(t)&&(e=e.slice(t.length)),e),e.toUpperCase());for(;t.startsWith(`_`);)t=t.slice(1);return t}return Object.keys(e).reduce((t,n)=>{let r=i(n);return r&&(t[r]=e[n]),t},{})}function a(e){return(0,t.camelCase)(i(e))}exports.formatEnvField=a,exports.removeEnvPrefix=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{camelCase as e}from"@stryke/string-format/camel-case";import{isString as t}from"@stryke/type-checks/is-string";import{ENV_PREFIXES as n}from"@stryke/env/types";function r(e){if(t(e)){let t=n.reduce((e,t)=>(e.startsWith(t)&&(e=e.slice(t.length)),e),e.toUpperCase());for(;t.startsWith(`_`);)t=t.slice(1);return t}return Object.keys(e).reduce((t,n)=>{let i=r(n);return i&&(t[i]=e[n]),t},{})}function i(t){return e(r(t))}export{i as formatEnvField,r as removeEnvPrefix};
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`./_virtual/rolldown_runtime.cjs`),t=require(`./
|
|
1
|
+
Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`./_virtual/rolldown_runtime.cjs`),t=require(`./deepkit/src/vendor/type.cjs`),n=require(`./helpers/reflect.cjs`),r=require(`./helpers/persistence.cjs`),i=require(`./helpers/template-helpers.cjs`),a=require(`./helpers/source-file-env.cjs`),o=require(`./helpers/load.cjs`),s=require(`./helpers/create-reflection-resource.cjs`);require(`./helpers/index.cjs`);const c=require(`./components/docs.cjs`),l=require(`./components/env.cjs`);require(`./components/index.cjs`);const u=require(`./babel/plugin.cjs`);require(`./babel/index.cjs`);const d=require(`./alloy/src/create-plugin.cjs`),f=require(`./plugin-babel/src/index.cjs`);let p=require(`@stryke/convert/parse-type-definition`),m=require(`@storm-software/config-tools/types`),h=require(`defu`);h=e.__toESM(h);let g=require(`@stryke/convert/to-array`),_=require(`@stryke/path/is-parent-path`),v=require(`@stryke/env/types`),y=require(`@alloy-js/core/jsx-runtime`),b=require(`@stryke/path/join`),x=require(`@stryke/fs/exists`),S=require(`@stryke/fs/helpers`),C=require(`@stryke/string-format/constant-case`);const w=d.createAlloyPlugin((e={})=>({name:`env`,dependsOn:[f.default(e.babel)],async config(){this.log(m.LogLevelLabel.TRACE,"Providing default configuration for the Powerlines `env` build plugin.");let t={env:(0,h.default)(e,{types:{},prefix:[]}),transform:{babel:{plugins:[u.envBabelPlugin]}}};if(t.env.types)t.env.types=(0,p.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 r.getEnvDefaultTypeDefinition(this);t.env.types=(0,p.parseTypeDefinition)(`${e.file}#${e.name}`)}if(t.env.secrets)t.env.secrets=(0,p.parseTypeDefinition)(t.env.secrets);else{let e=await r.getSecretsDefaultTypeDefinition(this);t.env.secrets=(0,p.parseTypeDefinition)(`${e.file}#${e.name}`)}return t.env.prefix=(0,g.toArray)(t.env.prefix??[]).reduce((e,t)=>{let n=(0,C.constantCase)(t);return e.includes(n)||e.push(n),e},[...v.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,h.default)({parsed:await o.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,x.existsSync)(r.getEnvTypeReflectionsPath(this,`env`)))this.log(m.LogLevelLabel.TRACE,`Skipping reflection initialization as the meta checksum has not changed.`),this.env.types.env=await r.readEnvTypeReflection(this,`env`),(0,x.existsSync)(r.getEnvReflectionsPath(this,`env`))&&(this.env.used.env=await r.readEnvReflection(this)),(0,x.existsSync)(r.getEnvTypeReflectionsPath(this,`secrets`))&&(this.env.types.secrets=await r.readEnvTypeReflection(this,`secrets`)),(0,x.existsSync)(r.getEnvReflectionsPath(this,`secrets`))&&(this.env.used.secrets=await r.readSecretsReflection(this));else{if(this.env.types.env=await n.reflectEnv(this,this.config.env.types?.file?(0,_.isParentPath)(this.config.env.types?.file,this.workspaceConfig.workspaceRoot)?this.config.env.types?.file:(0,b.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 r.writeEnvTypeReflection(this,this.env.types.env,`env`),this.env.types.secrets=await n.reflectSecrets(this,this.config.env.secrets?.file?(0,_.isParentPath)(this.config.env.secrets?.file,this.workspaceConfig.workspaceRoot)?this.config.env.secrets?.file:(0,b.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 r.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 o.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 t.type_exports.ReflectionClass({kind:t.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 r.writeEnvReflection(this,this.env.used.env,`env`),this.env.types.secrets&&(await r.writeEnvTypeReflection(this,this.env.types.secrets,`secrets`),this.env.used.secrets=new t.type_exports.ReflectionClass({kind:t.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 r.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,y.createComponent)(l.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,b.joinPaths)(this.config.projectRoot,`docs`,`generated`);(0,x.existsSync)(e)||await(0,S.createDirectory)(e);let n=await r.readEnvTypeReflection(this,`env`),i=(0,b.joinPaths)(e,`env.md`);this.log(m.LogLevelLabel.TRACE,`Documenting environment variables configuration in "${i}"`),await this.fs.write(i,`<!-- Generated by Powerlines -->
|
|
2
2
|
|
|
3
3
|
# Environment variables configuration
|
|
4
4
|
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`./_virtu
|
|
|
10
10
|
|
|
11
11
|
| Name | Description | Type | Default Value | Required |
|
|
12
12
|
| ---- | ----------- | ---- | ------------- | :------: |
|
|
13
|
-
${
|
|
14
|
-
`,``)??``).trim()} | ${(0,
|
|
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(`
|
|
14
|
+
`,``)??``).trim()} | ${(0,t.type_exports.stringifyType)(e.getType()).trim().replaceAll(` | `,`, or `)} | ${e.hasDefault()?String(e.getDefaultValue())?.includes(`"`)?e.getDefaultValue():`\`${e.getDefaultValue()}\``:``} | ${e.isValueRequired()?``:`✔`} |`).join(`
|
|
15
15
|
`)}
|
|
16
|
-
`)},async buildEnd(){let e=
|
|
16
|
+
`)},async buildEnd(){let e=r.getEnvReflectionsPath(this,`env`);this.log(m.LogLevelLabel.TRACE,`Writing env reflection types to ${e}.`),await r.writeEnvReflection(this,this.env.used.env,`env`)}}));var T=w;exports.BaseEnv=n.BaseEnv,exports.BaseSecrets=n.BaseSecrets,exports.EnvBuiltin=l.EnvBuiltin,exports.EnvDocs=c.EnvDocs,exports.EnvTypeDefinition=l.EnvTypeDefinition,exports.createEnvReflection=n.createEnvReflection,exports.createReflectionResource=s.createReflectionResource,exports.createSecretsReflection=n.createSecretsReflection,exports.createTemplateReflection=i.createTemplateReflection,exports.default=T,exports.envBabelPlugin=u.envBabelPlugin,exports.formatEnvField=a.formatEnvField,exports.getEnvDefaultTypeDefinition=r.getEnvDefaultTypeDefinition,exports.getEnvReflectionsPath=r.getEnvReflectionsPath,exports.getEnvTypeReflectionsPath=r.getEnvTypeReflectionsPath,exports.getSecretsDefaultTypeDefinition=r.getSecretsDefaultTypeDefinition,exports.loadEnv=o.loadEnv,exports.loadEnvFromContext=o.loadEnvFromContext,exports.mergeEnvReflections=n.mergeEnvReflections,exports.mergeSecretsReflections=n.mergeSecretsReflections,exports.plugin=w,exports.readEnvReflection=r.readEnvReflection,exports.readEnvTypeReflection=r.readEnvTypeReflection,exports.readSecretsReflection=r.readSecretsReflection,exports.reflectEnv=n.reflectEnv,exports.reflectSecrets=n.reflectSecrets,exports.removeEnvPrefix=a.removeEnvPrefix,exports.resolveRuntimeTypeFile=r.resolveRuntimeTypeFile,exports.writeEnvReflection=r.writeEnvReflection,exports.writeEnvReflectionSync=r.writeEnvReflectionSync,exports.writeEnvTypeReflection=r.writeEnvTypeReflection;
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{type_exports as e}from"./deepkit/src/vendor/type.mjs";import{BaseEnv as t,BaseSecrets as n,createEnvReflection as r,createSecretsReflection as i,mergeEnvReflections as a,mergeSecretsReflections as o,reflectEnv as s,reflectSecrets as c}from"./helpers/reflect.mjs";import{getEnvDefaultTypeDefinition as l,getEnvReflectionsPath as u,getEnvTypeReflectionsPath as d,getSecretsDefaultTypeDefinition as f,readEnvReflection as p,readEnvTypeReflection as m,readSecretsReflection as h,resolveRuntimeTypeFile as g,writeEnvReflection as _,writeEnvReflectionSync as v,writeEnvTypeReflection as y}from"./helpers/persistence.mjs";import{createTemplateReflection as b}from"./helpers/template-helpers.mjs";import{formatEnvField as x,removeEnvPrefix as S}from"./helpers/source-file-env.mjs";import{loadEnv as C,loadEnvFromContext as w}from"./helpers/load.mjs";import{createReflectionResource as T}from"./helpers/create-reflection-resource.mjs";import"./helpers/index.mjs";import{EnvDocs as E}from"./components/docs.mjs";import{EnvBuiltin as D,EnvTypeDefinition as O}from"./components/env.mjs";import"./components/index.mjs";import{envBabelPlugin as k}from"./babel/plugin.mjs";import"./babel/index.mjs";import{createAlloyPlugin as A}from"./alloy/src/create-plugin.mjs";import j from"./plugin-babel/src/index.mjs";import{parseTypeDefinition as M}from"@stryke/convert/parse-type-definition";import{LogLevelLabel as N}from"@storm-software/config-tools/types";import P from"defu";import{toArray as F}from"@stryke/convert/to-array";import{isParentPath as I}from"@stryke/path/is-parent-path";import{ENV_PREFIXES as L}from"@stryke/env/types";import{createComponent as R}from"@alloy-js/core/jsx-runtime";import{joinPaths as z}from"@stryke/path/join";import{existsSync as B}from"@stryke/fs/exists";import{createDirectory as V}from"@stryke/fs/helpers";import{constantCase as H}from"@stryke/string-format/constant-case";const U=A((t={})=>({name:`env`,dependsOn:[j(t.babel)],async config(){this.log(N.TRACE,"Providing default configuration for the Powerlines `env` build plugin.");let e={env:P(t,{types:{},prefix:[]}),transform:{babel:{plugins:[k]}}};if(e.env.types)e.env.types=M(e.env.types);else{this.log(N.WARN,"The `env.types` configuration parameter was not provided. Please ensure this is expected.");let t=await l(this);e.env.types=M(`${t.file}#${t.name}`)}if(e.env.secrets)e.env.secrets=M(e.env.secrets);else{let t=await f(this);e.env.secrets=M(`${t.file}#${t.name}`)}return e.env.prefix=F(e.env.prefix??[]).reduce((e,t)=>{let n=H(t);return e.includes(n)||e.push(n),e},[...L,`POWERLINES_`]),e.env.prefix=e.env.prefix.reduce((e,t)=>(e.includes(t.replace(/_$/g,``))||e.push(t.replace(/_$/g,``)),e),[]),e},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=P({parsed:await C(this,this.config.env)},this.env??{},{types:{env:{}},used:{env:{},secrets:{}},parsed:{},injected:{}}),this.config.command!==`prepare`&&this.persistedMeta?.checksum===this.meta.checksum&&B(d(this,`env`)))this.log(N.TRACE,`Skipping reflection initialization as the meta checksum has not changed.`),this.env.types.env=await m(this,`env`),B(u(this,`env`))&&(this.env.used.env=await p(this)),B(d(this,`secrets`))&&(this.env.types.secrets=await m(this,`secrets`)),B(u(this,`secrets`))&&(this.env.used.secrets=await h(this));else{if(this.env.types.env=await s(this,this.config.env.types?.file?I(this.config.env.types?.file,this.workspaceConfig.workspaceRoot)?this.config.env.types?.file:z(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 y(this,this.env.types.env,`env`),this.env.types.secrets=await c(this,this.config.env.secrets?.file?I(this.config.env.secrets?.file,this.workspaceConfig.workspaceRoot)?this.config.env.secrets?.file:z(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 y(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 t=this.env.types.env.getProperties().filter(e=>e.getAlias().length>0);Object.entries(await C(this,this.config.env)).forEach(([e,n])=>{let r=this.config.env.prefix.reduce((t,n)=>e.replace(/_$/g,``).startsWith(n)?e.replace(/_$/g,``).slice(n.length):t,e),i=t.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 e.ReflectionClass({kind:e.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 _(this,this.env.used.env,`env`),this.env.types.secrets&&(await y(this,this.env.types.secrets,`secrets`),this.env.used.secrets=new e.ReflectionClass({kind:e.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 _(this,this.env.used.secrets,`secrets`))}},render(){let e=this;return this.log(N.TRACE,`Preparing the Environment runtime artifacts for the Powerlines project.`),R(D,{get defaultConfig(){return e.config.env.defaultConfig}})},async docs(){this.log(N.TRACE,`Writing Environment documentation for the Powerlines project artifacts.`);let t=z(this.config.projectRoot,`docs`,`generated`);B(t)||await V(t);let n=await m(this,`env`),r=z(t,`env.md`);this.log(N.TRACE,`Documenting environment variables configuration in "${r}"`),await this.fs.write(r,`<!-- Generated by Powerlines -->
|
|
2
2
|
|
|
3
3
|
# Environment variables configuration
|
|
4
4
|
|
|
@@ -10,7 +10,7 @@ import{createAlloyPlugin as e}from"./alloy/src/create-plugin.mjs";import{type_ex
|
|
|
10
10
|
|
|
11
11
|
| Name | Description | Type | Default Value | Required |
|
|
12
12
|
| ---- | ----------- | ---- | ------------- | :------: |
|
|
13
|
-
${n.getProperties().filter(e=>e.getNameAsString()!==`__STORM_INJECTED__`).sort((e,t)=>e.getNameAsString().localeCompare(t.getNameAsString())).map(
|
|
14
|
-
`,``)??``).trim()} | ${(0,
|
|
13
|
+
${n.getProperties().filter(e=>e.getNameAsString()!==`__STORM_INJECTED__`).sort((e,t)=>e.getNameAsString().localeCompare(t.getNameAsString())).map(t=>`| ${t.getNameAsString().trim()} | ${(t.getDescription()?.replaceAll(`\r`,``)?.replaceAll(`
|
|
14
|
+
`,``)??``).trim()} | ${(0,e.stringifyType)(t.getType()).trim().replaceAll(` | `,`, or `)} | ${t.hasDefault()?String(t.getDefaultValue())?.includes(`"`)?t.getDefaultValue():`\`${t.getDefaultValue()}\``:``} | ${t.isValueRequired()?``:`✔`} |`).join(`
|
|
15
15
|
`)}
|
|
16
|
-
`)},async buildEnd(){let e=
|
|
16
|
+
`)},async buildEnd(){let e=u(this,`env`);this.log(N.TRACE,`Writing env reflection types to ${e}.`),await _(this,this.env.used.env,`env`)}}));var W=U;export{t as BaseEnv,n as BaseSecrets,D as EnvBuiltin,E as EnvDocs,O as EnvTypeDefinition,r as createEnvReflection,T as createReflectionResource,i as createSecretsReflection,b as createTemplateReflection,W as default,k as envBabelPlugin,x as formatEnvField,l as getEnvDefaultTypeDefinition,u as getEnvReflectionsPath,d as getEnvTypeReflectionsPath,f as getSecretsDefaultTypeDefinition,C as loadEnv,w as loadEnvFromContext,a as mergeEnvReflections,o as mergeSecretsReflections,U as plugin,p as readEnvReflection,m as readEnvTypeReflection,h as readSecretsReflection,s as reflectEnv,c as reflectSecrets,S as removeEnvPrefix,g as resolveRuntimeTypeFile,_ as writeEnvReflection,v as writeEnvReflectionSync,y as writeEnvTypeReflection};
|
|
@@ -1 +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`);
|
|
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(`@babel/helper-plugin-utils`),i=require(`chalk`);i=e.__toESM(i);function a(e,a){let o=o=>(0,r.declare)((r,s,c)=>{r.cache.using(()=>o.meta.checksum),r.assertVersion(`^7.0.0-0`);let l=t.extendLog(o.log,e);l(n.LogLevelLabel.TRACE,`Initializing the ${i.default.bold.cyanBright(e)} Babel plugin`);let u=a({log:l,name:e,api:r,options:s,context:o,dirname:c});return u.name=e,l(n.LogLevelLabel.TRACE,`Completed initialization of the ${i.default.bold.cyanBright(e)} Babel plugin`),u});return o.$$name=e,o}exports.createBabelPlugin=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{extendLog as e}from"../../../powerlines/src/lib/logger.mjs";import{LogLevelLabel as t}from"@storm-software/config-tools/types";import
|
|
1
|
+
import{extendLog as e}from"../../../powerlines/src/lib/logger.mjs";import{LogLevelLabel as t}from"@storm-software/config-tools/types";import{declare as n}from"@babel/helper-plugin-utils";import r from"chalk";function i(i,a){let o=o=>n((n,s,c)=>{n.cache.using(()=>o.meta.checksum),n.assertVersion(`^7.0.0-0`);let l=e(o.log,i);l(t.TRACE,`Initializing the ${r.bold.cyanBright(i)} Babel plugin`);let u=a({log:l,name:i,api:n,options:s,context:o,dirname:c});return u.name=i,l(t.TRACE,`Completed initialization of the ${r.bold.cyanBright(i)} Babel plugin`),u});return o.$$name=i,o}export{i as createBabelPlugin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./
|
|
1
|
+
const e=require(`./create-plugin.cjs`);require(`./ast-utils.cjs`);const t=require(`./module-helpers.cjs`),n=require(`./filters.cjs`),r=require(`./options.cjs`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{createBabelPlugin as e}from"./create-plugin.mjs";import"./ast-utils.mjs";import{addImport as t,addImportsToProgram as n}from"./module-helpers.mjs";import{getPluginName as r,isDuplicatePlugin as i}from"./filters.mjs";import{resolveBabelPlugin as a,resolvePluginFunction as o}from"./options.mjs";export{};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../_virtual/rolldown_runtime.cjs`);require(`./ast-utils.cjs`);let t=require(`@babel/types`);
|
|
1
|
+
const e=require(`../../../_virtual/rolldown_runtime.cjs`);require(`./ast-utils.cjs`);let t=require(`@stryke/type-checks/is-string`),n=require(`@babel/types`);n=e.__toESM(n);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,t){a(e).get(t.module)||e.unshiftContainer(`body`,n.importDeclaration([n.importSpecifier(n.identifier(t.name||t.imported),n.identifier(t.imported))],n.stringLiteral(t.module)))}exports.addImport=r,exports.addImportsToProgram=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./ast-utils.mjs";import
|
|
1
|
+
import"./ast-utils.mjs";import{isString as e}from"@stryke/type-checks/is-string";import*as t from"@babel/types";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(e,n){i(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)))}export{n as addImport,a as addImportsToProgram};
|
|
@@ -1 +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`)
|
|
1
|
+
const e=require(`../../../_virtual/rolldown_runtime.cjs`),t=require(`./filters.cjs`);let n=require(`@storm-software/config-tools/types`),r=require(`chalk`);r=e.__toESM(r);let i=require(`@stryke/type-checks/is-function`);function a(e,t){try{return Array.isArray(t)&&t.length>0&&t[0]?(0,i.isFunction)(t[0])?t[0](e):t[0]:(0,i.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,i.isFunction)(c[2])&&!c[2](o,s)){e.log(n.LogLevelLabel.TRACE,`Skipping filtered Babel plugin ${r.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;
|