@powerlines/plugin-env 0.13.52 → 0.13.54
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/babel/index.cjs +1 -1
- package/dist/babel/index.d.cts +17 -28
- package/dist/babel/index.d.mts +17 -0
- package/dist/babel/index.mjs +1 -0
- package/dist/babel/plugin.cjs +1 -19
- package/dist/babel/plugin.d.cts +17 -31
- package/dist/babel/plugin.d.mts +17 -0
- package/dist/babel/plugin.mjs +1 -0
- package/dist/babel-CE47sTzg.mjs +1 -0
- package/dist/chunk-CbqXBSoN.mjs +1 -0
- package/dist/chunk-DT2f8AgL.cjs +1 -0
- package/dist/components/docs.cjs +1 -0
- package/dist/components/docs.d.cts +2 -0
- package/dist/components/docs.d.mts +2 -0
- package/dist/components/docs.mjs +1 -0
- package/dist/components/env.cjs +1 -40
- package/dist/components/env.d.cts +4 -105
- package/dist/components/env.d.mts +4 -0
- package/dist/components/env.mjs +1 -0
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.cts +6 -8
- package/dist/components/index.d.mts +6 -0
- package/dist/components/index.mjs +1 -0
- package/dist/components-LyHNrcZE.mjs +1 -0
- package/dist/config-D2esSp2r.d.mts +1681 -0
- package/dist/config-D2esSp2r.d.mts.map +1 -0
- package/dist/config-Dli3ofDp.d.cts +1680 -0
- package/dist/config-Dli3ofDp.d.cts.map +1 -0
- package/dist/create-reflection-resource-CQHJrkQi.cjs +1 -0
- package/dist/create-reflection-resource-D7go0-VG.d.mts +16 -0
- package/dist/create-reflection-resource-D7go0-VG.d.mts.map +1 -0
- package/dist/create-reflection-resource-DOZmUtSi.d.cts +16 -0
- package/dist/create-reflection-resource-DOZmUtSi.d.cts.map +1 -0
- package/dist/create-reflection-resource-UtOwX4Ml.mjs +2 -0
- package/dist/create-reflection-resource-UtOwX4Ml.mjs.map +1 -0
- package/dist/docs-BDiEhcDa.mjs +2 -0
- package/dist/docs-BDiEhcDa.mjs.map +1 -0
- package/dist/docs-Bhi9smBO.cjs +1 -0
- package/dist/docs-BoZkRBO4.d.cts +10 -0
- package/dist/docs-BoZkRBO4.d.cts.map +1 -0
- package/dist/docs-BwK6pC_c.d.mts +10 -0
- package/dist/docs-BwK6pC_c.d.mts.map +1 -0
- package/dist/env-0C9Vc_CF.cjs +34 -0
- package/dist/env-BQWQzimx.d.cts +113 -0
- package/dist/env-BQWQzimx.d.cts.map +1 -0
- package/dist/env-D4MK9BWK.mjs +32 -0
- package/dist/env-D4MK9BWK.mjs.map +1 -0
- package/dist/env-DMqCnKB2.d.mts +113 -0
- package/dist/env-DMqCnKB2.d.mts.map +1 -0
- package/dist/helpers/create-reflection-resource.cjs +1 -0
- package/dist/helpers/create-reflection-resource.d.cts +6 -0
- package/dist/helpers/create-reflection-resource.d.mts +6 -0
- package/dist/helpers/create-reflection-resource.mjs +1 -0
- package/dist/helpers/index.cjs +1 -1
- package/dist/helpers/index.d.cts +12 -32
- package/dist/helpers/index.d.mts +12 -0
- package/dist/helpers/index.mjs +1 -0
- package/dist/helpers/load.cjs +1 -7
- package/dist/helpers/load.d.cts +6 -57
- package/dist/helpers/load.d.mts +6 -0
- package/dist/helpers/load.mjs +1 -0
- package/dist/helpers/persistence.cjs +1 -7
- package/dist/helpers/persistence.d.cts +6 -105
- package/dist/helpers/persistence.d.mts +6 -0
- package/dist/helpers/persistence.mjs +1 -0
- package/dist/helpers/reflect.cjs +1 -7
- package/dist/helpers/reflect.d.cts +6 -69
- package/dist/helpers/reflect.d.mts +6 -0
- package/dist/helpers/reflect.mjs +1 -0
- package/dist/helpers/source-file-env.cjs +1 -7
- package/dist/helpers/source-file-env.d.cts +2 -7
- package/dist/helpers/source-file-env.d.mts +2 -0
- package/dist/helpers/source-file-env.mjs +1 -0
- package/dist/helpers/template-helpers.cjs +1 -7
- package/dist/helpers/template-helpers.d.cts +6 -38
- package/dist/helpers/template-helpers.d.mts +6 -0
- package/dist/helpers/template-helpers.mjs +1 -0
- package/dist/helpers-DfMThUgD.mjs +1 -0
- package/dist/helpers-YGhXHw5G.cjs +0 -0
- package/dist/index-B3G-X5Fc.d.mts +42 -0
- package/dist/index-B3G-X5Fc.d.mts.map +1 -0
- package/dist/index-BRBK9zG-.d.cts +1 -0
- package/dist/index-Bt4QNofW.d.mts +1 -0
- package/dist/index-CRo77wc3.d.mts +1 -0
- package/dist/index-CspKFJM1.d.cts +1 -0
- package/dist/index-Dpmi5zcN.d.cts +1 -0
- package/dist/index-E1euY2F8.d.cts +42 -0
- package/dist/index-E1euY2F8.d.cts.map +1 -0
- package/dist/index-Wc1llEvP.d.mts +1 -0
- package/dist/index.cjs +5 -10
- package/dist/index.d.cts +17 -68
- package/dist/index.d.mts +17 -0
- package/dist/index.mjs +18 -0
- package/dist/index.mjs.map +1 -0
- package/dist/load-BZTlThWg.mjs +2 -0
- package/dist/load-BZTlThWg.mjs.map +1 -0
- package/dist/load-CWOZ3u-s.d.cts +36 -0
- package/dist/load-CWOZ3u-s.d.cts.map +1 -0
- package/dist/load-Dzf30s_a.d.mts +39 -0
- package/dist/load-Dzf30s_a.d.mts.map +1 -0
- package/dist/load-nUlit5lR.cjs +1 -0
- package/dist/{helpers/persistence.d.ts → persistence-BSorOnu8.d.cts} +15 -35
- package/dist/persistence-BSorOnu8.d.cts.map +1 -0
- package/dist/persistence-Br-YMVb1.mjs +15 -0
- package/dist/persistence-Br-YMVb1.mjs.map +1 -0
- package/dist/persistence-KaP3-ka1.cjs +14 -0
- package/dist/persistence-sVp1g7Mp.d.mts +85 -0
- package/dist/persistence-sVp1g7Mp.d.mts.map +1 -0
- package/dist/plugin-CRYQ682C.cjs +0 -0
- package/dist/plugin-Cl-yPswT.d.cts +1716 -0
- package/dist/plugin-Cl-yPswT.d.cts.map +1 -0
- package/dist/plugin-Cx61c9gw.mjs +6 -0
- package/dist/plugin-Cx61c9gw.mjs.map +1 -0
- package/dist/plugin-DrnPbdzR.mjs +1 -0
- package/dist/plugin-VRahDLZZ.d.mts +1716 -0
- package/dist/plugin-VRahDLZZ.d.mts.map +1 -0
- package/dist/plugin-v-FJGggy.cjs +5 -0
- package/dist/reflect-C1joiXZ1.d.mts +47 -0
- package/dist/reflect-C1joiXZ1.d.mts.map +1 -0
- package/dist/reflect-CFNlkro0.d.cts +47 -0
- package/dist/reflect-CFNlkro0.d.cts.map +1 -0
- package/dist/runtime-BaZivi6m.cjs +0 -0
- package/dist/runtime-CIWxfv47.d.cts +795 -0
- package/dist/runtime-CIWxfv47.d.cts.map +1 -0
- package/dist/runtime-ChZa5p23.d.mts +795 -0
- package/dist/runtime-ChZa5p23.d.mts.map +1 -0
- package/dist/runtime-DqCYc37d.mjs +1 -0
- package/dist/source-file-CLCTB4C7.cjs +1 -0
- package/dist/source-file-CjFSCK1w.mjs +2 -0
- package/dist/source-file-CjFSCK1w.mjs.map +1 -0
- package/dist/source-file-env-BDFTs5WJ.mjs +2 -0
- package/dist/source-file-env-BDFTs5WJ.mjs.map +1 -0
- package/dist/source-file-env-C6uYyxww.cjs +1 -0
- package/dist/{helpers/source-file-env.d.ts → source-file-env-DonDJDV1.d.cts} +5 -3
- package/dist/source-file-env-DonDJDV1.d.cts.map +1 -0
- package/dist/source-file-env-DzpWKluw.d.mts +9 -0
- package/dist/source-file-env-DzpWKluw.d.mts.map +1 -0
- package/dist/template-helpers-BDDg5jaw.d.cts +16 -0
- package/dist/template-helpers-BDDg5jaw.d.cts.map +1 -0
- package/dist/template-helpers-BSbamu0U.cjs +1 -0
- package/dist/template-helpers-CLrM_TtO.mjs +2 -0
- package/dist/template-helpers-CLrM_TtO.mjs.map +1 -0
- package/dist/template-helpers-DmfAtQIT.d.mts +16 -0
- package/dist/template-helpers-DmfAtQIT.d.mts.map +1 -0
- package/dist/type-CnPIyotQ.d.mts +4 -0
- package/dist/type-CnPIyotQ.d.mts.map +1 -0
- package/dist/type-D6dRgWJT.d.cts +4 -0
- package/dist/type-D6dRgWJT.d.cts.map +1 -0
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.d.cts +6 -27
- package/dist/types/index.d.mts +6 -0
- package/dist/types/index.mjs +1 -0
- package/dist/types/plugin.cjs +1 -1
- package/dist/types/plugin.d.cts +5 -1730
- package/dist/types/plugin.d.mts +5 -0
- package/dist/types/plugin.mjs +1 -0
- package/dist/types/runtime.cjs +1 -1
- package/dist/types/runtime.d.cts +3 -22
- package/dist/types/runtime.d.mts +3 -0
- package/dist/types/runtime.mjs +1 -0
- package/dist/types-BCto_Rzj.mjs +1 -0
- package/dist/types-DS7T32tb.cjs +0 -0
- package/dist/utilities-4S--uN0L.mjs +2 -0
- package/dist/utilities-4S--uN0L.mjs.map +1 -0
- package/dist/utilities-CxyT2chk.cjs +1 -0
- package/package.json +66 -55
- package/dist/babel/index.d.ts +0 -28
- package/dist/babel/index.js +0 -1
- package/dist/babel/plugin.d.ts +0 -31
- package/dist/babel/plugin.js +0 -19
- package/dist/chunk-FBBMZ4NC.cjs +0 -7
- package/dist/chunk-UCUR73HG.js +0 -7
- package/dist/components/env.d.ts +0 -105
- package/dist/components/env.js +0 -40
- package/dist/components/index.d.ts +0 -8
- package/dist/components/index.js +0 -1
- package/dist/fs-ECFlqnPg.d.cts +0 -378
- package/dist/fs-ECFlqnPg.d.ts +0 -378
- package/dist/helpers/index.d.ts +0 -32
- package/dist/helpers/index.js +0 -1
- package/dist/helpers/load.d.ts +0 -57
- package/dist/helpers/load.js +0 -7
- package/dist/helpers/persistence.js +0 -7
- package/dist/helpers/reflect.d.ts +0 -69
- package/dist/helpers/reflect.js +0 -7
- package/dist/helpers/source-file-env.js +0 -7
- package/dist/helpers/template-helpers.d.ts +0 -38
- package/dist/helpers/template-helpers.js +0 -7
- package/dist/index.d.ts +0 -68
- package/dist/index.js +0 -22
- package/dist/runtime-BwI24Tbp.d.cts +0 -1941
- package/dist/runtime-DwXKDfVv.d.ts +0 -1941
- package/dist/types/index.d.ts +0 -27
- package/dist/types/index.js +0 -1
- package/dist/types/plugin.d.ts +0 -1730
- package/dist/types/runtime.d.ts +0 -22
- /package/dist/{types/plugin.js → babel-Bmzkjy1p.cjs} +0 -0
- /package/dist/{types/runtime.js → components-BWruXLSx.cjs} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-D4MK9BWK.mjs","names":["refkey","refkeyExternal","args","childrenArray","For","List","Prose","Show","splitProps","stringifyDefaultValue","isSetString","isUndefined","usePowerlines","TSDoc","props","children","heading","_$createIntrinsic","string","_$createComponent","when","_$memo","length","TSDocTag","tag","Boolean","width","TSDocParams","parameters","normalizeParametersForDoc","each","param","TSDocParam","name","optional","doc","some","p","TSDocTitle","rest","_$mergeProps","TSDocDomain","TSDocAlias","TSDocPermission","TSDocDefaultValue","value","TSDocRemarks","hardline","TSDocLink","TSDocExample","tsx","fenced","language","TSDocReadonly","TSDocInternal","TSDocIgnore","TSDocHidden","TSDocAttributesTags","title","alias","permission","domain","readonly","internal","ignore","hidden","defaultValue","TSDocParamName","TSDocParamDescription","TSDocReturns","TSDocThrows","TSDocModule","prefix","context","config","output","builtinPrefix","code","Scope","Show","SourceDirectoryContext","splitProps","useContext","useScope","getSourceDirectoryData","ImportStatements","PackageContext","SourceFileContext","TSModuleScope","useSourceFile","appendPath","isBoolean","isString","SingleLineComment","SourceFile","TypescriptFile","props","children","path","imports","tsx","header","rest","directoryContext","sdData","modulePath","scope","modules","add","pkg","addModule","export","addExport","_$createComponent","Provider","value","_$mergeProps","TypescriptFileHeader","TypescriptFileHeaderImports","filetype","disableEslint","disableBiome","disablePrettier","when","Boolean","_$createIntrinsic","variant","sourceFile","importedModules","size","Object","keys","length","entries","map","module","imported","filter","i","default","alias","name","join","records","splitProps","TSDocModule","TypescriptFile","TypescriptFileHeader","TypescriptFileHeaderImports","BuiltinFile","props","children","imports","id","description","tsx","rest","_$createComponent","_$mergeProps","header","name","meta","builtin","path","createContext","createNamedContext","useContext","ReflectionClassContext","useReflectionClass","context","Error","ReflectionPropertyContext","useReflectionProperty","ReflectionMethodContext","useReflectionMethod","ReflectionParameterContext","useReflectionParameter","childrenArray","code","computed","List","Show","splitProps","titleCase","isSetString","isString","isUndefined","useReflectionClass","useReflectionMethod","useReflectionProperty","TSDoc","TSDocAttributesTags","TSDocReflectionClass","props","children","rest","reflectionClass","title","reflection","getTitle","getName","alias","getAlias","domain","getDomain","permission","getPermission","readonly","isReadonly","internal","isInternal","ignore","isIgnored","hidden","isHidden","_$createComponent","_$mergeProps","heading","getDescription","when","value","length","_$memo","Boolean","TSDocReflectionProperty","context","TSDocReflectionMethod","String","undefined","computed","For","splitProps","InterfaceDeclaration","InterfaceMember","stringifyType","pascalCase","ReflectionClassContext","ReflectionPropertyContext","TSDocReflectionClass","TSDocReflectionProperty","TypeScriptInterface","props","name","reflection","rest","interfaceName","getName","properties","getProperties","filter","item","isIgnored","sort","a","b","isReadonly","getNameAsString","localeCompare","_$createComponent","Provider","value","children","_$mergeProps","each","doubleHardline","semicolon","prop","TypescriptInterfaceProperty","property","readonly","optional","isOptional","nullish","isNullable","type","getType","computed","Declaration","CoreDeclaration","createSymbolSlot","For","Name","Show","splitProps","createValueSymbol","ObjectExpression","ObjectProperty","TSSymbolFlags","TypeRefContext","useTSNamePolicy","stringifyDefaultValue","camelCase","pascalCase","isUndefined","ReflectionClassContext","ReflectionPropertyContext","TSDocReflectionClass","TSDocReflectionProperty","TypescriptObject","props","reflection","value","objectName","name","getName","objectType","type","properties","getProperties","filter","item","isIgnored","defaultValue","getNameAsString","getAlias","reduce","ret","alias","undefined","getDefaultValue","sort","a","b","isReadonly","localeCompare","TypeSymbolSlot","ValueTypeSymbolSlot","sym","refkeys","refkey","default","export","metadata","tsFlags","nullish","Nullish","None","firstSymbol","namePolicy","for","moveMembersTo","keyword","var","let","_$createComponent","children","when","Provider","override","symbol","_$memo","initializer","each","comma","doubleHardline","prop","TypescriptObjectProperty","property","_$createIntrinsic","code","computed","For","Show","splitProps","ClassDeclaration","ClassMethod","ElseIfClause","FunctionDeclaration","IfStatement","NewExpression","TypeDeclaration","VarDeclaration","usePowerlines","refkey","BuiltinFile","TSDoc","TSDocExample","TSDocLink","TSDocParam","TSDocRemarks","TSDocReturns","TSDocThrows","TypeScriptInterface","TypescriptObject","ReflectionClass","ReflectionKind","titleCase","isNull","defu","createReflectionResource","loadEnvFromContext","EnvTypeDefinition","props","defaultValue","reflection","context","_$createComponent","name","_$createIntrinsic","children","config","env","prefix","map","replace","join","ConfigPropertyConditional","sort","a","b","startsWith","localeCompare","toLowerCase","ConfigPropertyGet","property","index","condition","getNameAsString","when","_$memo","getAlias","length","each","joiner","alias","ConfigPropertySet","createEnvRefkey","envRefkey","envSerializerRefkey","EnvBuiltin","defaultConfig","rest","process","envInstance","result","kind","objectLiteral","description","types","data","undefined","reflectionGetProperties","getProperties","filter","isIgnored","reflectionSetProperties","isReadonly","_$mergeProps","id","imports","value","type","heading","initializer","args","target","Boolean","entryPath","async","parameters","optional","default","returnType","ender"],"sources":["../../alloy/src/helpers/refkey.ts","../../alloy/src/typescript/components/tsdoc.tsx","../../alloy/src/typescript/components/typescript-file.tsx","../../alloy/src/typescript/components/builtin-file.tsx","../../alloy/src/core/contexts/reflection.ts","../../alloy/src/typescript/components/tsdoc-reflection.tsx","../../alloy/src/typescript/components/typescript-interface.tsx","../../alloy/src/typescript/components/typescript-object.tsx","../src/components/env.tsx"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { Refkey, refkey as refkeyExternal } from \"@alloy-js/core\";\n\n/**\n * Create a refkey for the provided arguments. Passing no arguments returns a fresh refkey that is guaranteed to be unique. Otherwise, the arguments passed will be used to create a refkey for those values. Providing the same arguments will always return the same refkey.\n *\n * @remarks\n * Values are compared using the SameValueZero algorithm, which considers objects the same if they are reference identical, and primitives the same if they are the same value, with the exception of `NaN`, which is always considered equal to other `NaN` values, and `-0`, which is considered identical to `+0`\n */\nexport function refkey(...args: unknown[]): Refkey {\n return refkeyExternal(\"powerlines\", ...args);\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport {\n Children,\n childrenArray,\n For,\n List,\n Prose,\n Show,\n splitProps\n} from \"@alloy-js/core\";\nimport { JSDocExampleProps, ParameterDescriptor } from \"@alloy-js/typescript\";\nimport { stringifyDefaultValue } from \"@powerlines/deepkit/utilities\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isUndefined } from \"@stryke/type-checks/is-undefined\";\nimport { usePowerlines } from \"../../core/contexts/context\";\nimport { ComponentProps } from \"../../types/components\";\n\nexport interface TSDocProps extends ComponentProps {\n heading?: Children;\n}\n\n/**\n * Generates a TypeScript interface for the given reflection class.\n */\nexport function TSDoc(props: TSDocProps) {\n const [{ children, heading }] = splitProps(props, [\"children\", \"heading\"]);\n\n return (\n <>\n /**\n <align string=\" * \">\n <hbr />\n <Show when={!isUndefined(heading)}>\n {heading}\n <hbr />\n <Show\n when={\n !isUndefined(children) && childrenArray(() => children).length > 0\n }>\n <hbr />\n </Show>\n </Show>\n <Show\n when={\n !isUndefined(children) && childrenArray(() => children).length > 0\n }>\n <List>{childrenArray(() => children)}</List>\n </Show>\n </align>\n <hbr />\n {` */`}\n <hbr />\n </>\n );\n}\n\nexport interface TSDocTagProps extends ComponentProps {\n tag: string;\n}\n\n/**\n * Create a TSDoc `@<props.tag>` tag.\n */\nexport function TSDocTag(props: TSDocTagProps) {\n const [{ children, tag }] = splitProps(props, [\"children\", \"tag\"]);\n\n return (\n <>\n {`@${tag} `}\n <Show when={Boolean(children)}>\n <align width={2}>\n <Prose>{children}</Prose>\n </align>\n </Show>\n <hbr />\n </>\n );\n}\n\nexport interface TSDocParamsProps {\n parameters: ParameterDescriptor[] | string[];\n}\n\n/**\n * A component that creates a TSDoc block with `@param` tags for each parameter.\n */\nexport function TSDocParams(props: TSDocParamsProps) {\n const parameters = normalizeParametersForDoc(props.parameters);\n\n return (\n <For each={parameters}>\n {param => (\n <TSDocParam name={param.name} optional={param.optional}>\n {param.doc}\n </TSDocParam>\n )}\n </For>\n );\n}\n\nfunction normalizeParametersForDoc(\n parameters: ParameterDescriptor[] | string[]\n): ParameterDescriptor[] {\n if (parameters.some(p => typeof p === \"string\")) {\n return [];\n }\n\n return parameters as ParameterDescriptor[];\n}\n\n/**\n * Create a TSDoc `@title` tag.\n */\nexport function TSDocTitle(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"title\">\n {children}\n </TSDocTag>\n );\n}\n\n/**\n * Create a TSDoc `@domain` tag.\n */\nexport function TSDocDomain(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"domain\">\n {children}\n </TSDocTag>\n );\n}\n\n/**\n * Create a TSDoc `@alias` tag.\n */\nexport function TSDocAlias(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"alias\">\n {children}\n </TSDocTag>\n );\n}\n\n/**\n * Create a TSDoc `@permission` tag.\n */\nexport function TSDocPermission(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"permission\">\n {children}\n </TSDocTag>\n );\n}\n\nexport interface TSDocDefaultValueProps extends ComponentProps {\n value: any;\n}\n\n/**\n * Create a TSDoc `@defaultValue` tag.\n */\nexport function TSDocDefaultValue(props: TSDocDefaultValueProps) {\n return (\n <>\n {\"@defaultValue \"}\n <Show when={!isUndefined(props.value)}>\n <align width={2}>\n <Prose>{stringifyDefaultValue(props.value)}</Prose>\n </align>\n </Show>\n <hbr />\n </>\n );\n}\n\n/**\n * Create a TSDoc `@remarks` tag.\n */\nexport function TSDocRemarks(props: ComponentProps) {\n return (\n <>\n {\"@remarks \"}\n <hbr />\n <List hardline={true}>{childrenArray(() => props.children)}</List>\n </>\n );\n}\n\n/**\n * Create a TSDoc `@see` tag.\n */\nexport function TSDocLink(props: ComponentProps) {\n return <TSDocTag {...props} tag=\"see\" />;\n}\n\nexport interface TSDocExampleProps extends JSDocExampleProps {\n /**\n * Whether the file is a TSX file.\n *\n * @defaultValue false\n */\n tsx?: boolean;\n}\n\n/**\n * Create a TSDoc `@example` tag.\n */\nexport function TSDocExample(props: TSDocExampleProps) {\n const [{ tsx, fenced = true, language, children }] = splitProps(props, [\n \"tsx\",\n \"fenced\",\n \"language\",\n \"children\"\n ]);\n\n return (\n <>\n {\"@example \"}\n <hbr />\n <Show when={fenced}>\n ```{language || (tsx ? \"tsx\" : \"ts\")}\n <hbr />\n </Show>\n {children}\n <Show when={fenced}>\n <hbr />\n ```\n </Show>\n </>\n );\n}\n\n/**\n * Create a TSDoc `@readonly` tag.\n */\nexport function TSDocReadonly() {\n return <TSDocTag tag=\"readonly\" />;\n}\n\n/**\n * Create a TSDoc `@internal` tag.\n */\nexport function TSDocInternal() {\n return <TSDocTag tag=\"internal\" />;\n}\n\n/**\n * Create a TSDoc `@ignore` tag.\n */\nexport function TSDocIgnore() {\n return <TSDocTag tag=\"ignore\" />;\n}\n\n/**\n * Create a TSDoc `@hidden` tag.\n */\nexport function TSDocHidden() {\n return <TSDocTag tag=\"hidden\" />;\n}\n\nexport interface TSDocAttributesTagsProps {\n title?: string;\n alias?: string[];\n permission?: string[];\n domain?: string;\n readonly?: boolean;\n internal?: boolean;\n ignore?: boolean;\n hidden?: boolean;\n defaultValue?: any;\n}\n\n/**\n * Generates a TypeScript interface property for the given reflection class.\n */\nexport function TSDocAttributesTags(props: TSDocAttributesTagsProps) {\n const [\n {\n title,\n alias,\n permission,\n domain,\n readonly,\n internal,\n ignore,\n hidden,\n defaultValue\n }\n ] = splitProps(props, [\n \"title\",\n \"alias\",\n \"permission\",\n \"domain\",\n \"readonly\",\n \"internal\",\n \"ignore\",\n \"hidden\",\n \"defaultValue\"\n ]);\n\n return (\n <>\n <Show when={isSetString(title)}>\n <TSDocTitle>{title}</TSDocTitle>\n </Show>\n <Show when={!isUndefined(alias) && alias.length > 0}>\n <For each={alias ?? []}>\n {alias => <TSDocAlias>{alias}</TSDocAlias>}\n </For>\n </Show>\n <Show when={isSetString(domain)}>\n <TSDocDomain>{domain}</TSDocDomain>\n </Show>\n <Show when={!isUndefined(permission) && permission.length > 0}>\n <For each={permission ?? []}>\n {permission => <TSDocPermission>{permission}</TSDocPermission>}\n </For>\n </Show>\n <Show when={readonly === true}>\n <TSDocReadonly />\n </Show>\n <Show when={internal === true}>\n <TSDocInternal />\n </Show>\n <Show when={ignore === true}>\n <TSDocIgnore />\n </Show>\n <Show when={hidden === true}>\n <TSDocHidden />\n </Show>\n <Show when={!isUndefined(defaultValue)}>\n <TSDocDefaultValue value={defaultValue} />\n </Show>\n </>\n );\n}\n\nexport interface TSDocParamProps {\n name: Children;\n children?: Children;\n optional?: boolean;\n defaultValue?: Children;\n}\n\n/**\n * Create a TSDoc parameter set off with `@param`.\n */\nexport function TSDocParam(props: TSDocParamProps) {\n return (\n <>\n {\"@param \"}\n <TSDocParamName\n name={props.name}\n optional={props.optional}\n defaultValue={props.defaultValue}\n />\n <TSDocParamDescription children={props.children} />\n </>\n );\n}\n\ninterface TSDocParamNameProps {\n name: Children;\n optional?: boolean;\n defaultValue?: Children;\n}\n\nfunction TSDocParamName(props: TSDocParamNameProps) {\n return (\n <>\n <Show when={props.optional}>{\"[\"}</Show>\n {props.name}\n <Show when={Boolean(props.defaultValue)}>={props.defaultValue}</Show>\n <Show when={props.optional}>{\"]\"}</Show>\n </>\n );\n}\n\ninterface TSDocParamDescriptionProps {\n children?: Children;\n}\n\nfunction TSDocParamDescription(props: TSDocParamDescriptionProps) {\n return (\n <Show when={Boolean(props.children)}>\n {\" - \"}\n <align width={2}>\n <Prose>{props.children}</Prose>\n </align>\n </Show>\n );\n}\n\n/**\n * Create a TSDoc `@returns` tag.\n */\nexport function TSDocReturns(props: ComponentProps) {\n return <TSDocTag {...props} tag=\"returns\" />;\n}\n\n/**\n * Create a TSDoc `@throws` tag.\n */\nexport function TSDocThrows(props: ComponentProps) {\n return <TSDocTag {...props} tag=\"throws\" />;\n}\n\nexport interface TSDocModuleProps extends ComponentProps {\n /**\n * the prefix for the builtin module name\n *\n * @defaultValue \"storm\"\n */\n prefix?: string;\n\n /**\n * The name of the module\n *\n * @remarks\n * This will be used in the `@module` tag as well as the import path for the module, e.g. `storm:<name>`.\n *\n * @example\n * ```ts\n * import { MyModule } from \"storm:my-module\";\n * ```\n */\n name: Children;\n}\n\n/**\n * Generates a TSDoc `@module` tag for the given module name.\n */\nexport function TSDocModule(props: TSDocModuleProps) {\n const [{ children, name, prefix }] = splitProps(props, [\n \"children\",\n \"name\",\n \"prefix\"\n ]);\n\n const context = usePowerlines();\n\n return (\n <>\n /**\n <align string=\" * \">\n <hbr />\n <Show when={Boolean(children)}>\n <List hardline={true}>{childrenArray(() => children)}</List>\n <hbr />\n <hbr />\n </Show>\n {\"@module \"}\n {prefix || context?.config.output.builtinPrefix}:{name}\n </align>\n <hbr />\n {` */`}\n </>\n );\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { Children } from \"@alloy-js/core\";\nimport {\n code,\n Scope,\n Show,\n SourceDirectoryContext,\n splitProps,\n useContext,\n useScope\n} from \"@alloy-js/core\";\nimport {\n getSourceDirectoryData,\n ImportStatements,\n PackageContext,\n SourceFileContext,\n TSModuleScope,\n useSourceFile\n} from \"@alloy-js/typescript\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { isBoolean } from \"@stryke/type-checks/is-boolean\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport { SingleLineComment } from \"../../core/components/single-line-comment\";\nimport { SourceFile, SourceFileProps } from \"../../core/components/source-file\";\nimport {\n ComponentProps,\n SourceFileHeaderProps,\n TypescriptFileImportItem,\n TypescriptFileImports\n} from \"../../types/components\";\n\nexport type TypescriptFileProps = Omit<SourceFileProps, \"filetype\"> &\n ComponentProps & {\n header?: Children;\n imports?: TypescriptFileImports;\n export?: boolean | string;\n tsx?: boolean;\n };\n\n/**\n * A base component representing a Powerlines generated Typescript source file.\n *\n * @param props - The properties for the source file.\n * @returns The rendered source file component.\n */\nexport function TypescriptFile(props: TypescriptFileProps) {\n const [{ children, path, imports, tsx, header }, rest] = splitProps(props, [\n \"children\",\n \"path\",\n \"imports\",\n \"tsx\",\n \"header\"\n ]);\n\n const directoryContext = useContext(SourceDirectoryContext)!;\n const sdData = getSourceDirectoryData(directoryContext);\n\n const modulePath = appendPath(path, directoryContext.path);\n const scope = new TSModuleScope(modulePath, useScope());\n sdData.modules.add(scope);\n\n const pkg = useContext(PackageContext);\n if (pkg) {\n pkg.scope.addModule(scope);\n }\n\n if (props.export) {\n if (pkg) {\n if (isBoolean(props.export)) {\n pkg.scope.addExport(modulePath, scope);\n } else {\n pkg.scope.addExport(props.export, scope);\n }\n }\n }\n\n return (\n <SourceFileContext.Provider\n value={{\n scope\n }}>\n <Scope value={scope}>\n <SourceFile\n {...rest}\n path={modulePath}\n header={\n header ?? (\n <TypescriptFileHeader>\n <TypescriptFileHeaderImports imports={imports} scope={scope} />\n </TypescriptFileHeader>\n )\n }\n filetype={tsx ? \"tsx\" : \"typescript\"}>\n {children}\n </SourceFile>\n </Scope>\n </SourceFileContext.Provider>\n );\n}\n\nexport interface TypescriptFileHeaderProps extends SourceFileHeaderProps {\n header?: Children;\n}\n\n/**\n * Renders the header for a Powerlines Typescript source file.\n *\n * @param props - The properties for the source file header.\n * @returns The rendered source file header.\n */\nexport function TypescriptFileHeader(props: TypescriptFileHeaderProps) {\n const {\n header,\n disableEslint = true,\n disableBiome = true,\n disablePrettier = false,\n children\n } = props;\n\n return (\n <>\n <Show when={Boolean(header)}>\n {header}\n <hbr />\n </Show>\n <hbr />\n <Show when={Boolean(disableEslint)}>\n <SingleLineComment variant=\"slash-star\">\n {\"eslint-disable\"}\n </SingleLineComment>\n <hbr />\n </Show>\n <Show when={Boolean(disablePrettier)}>\n <SingleLineComment variant=\"slash-star\">\n {\"prettier-ignore\"}\n </SingleLineComment>\n <hbr />\n </Show>\n <Show when={Boolean(disableBiome)}>\n <SingleLineComment>{\"biome-ignore lint: disable\"}</SingleLineComment>\n <hbr />\n </Show>\n <Show\n when={\n Boolean(disableEslint) ||\n Boolean(disablePrettier) ||\n Boolean(disableBiome)\n }>\n <hbr />\n </Show>\n <Show when={Boolean(children)}>\n <>\n {children}\n <hbr />\n </>\n </Show>\n <SingleLineComment>{code`Generated by Powerlines`}</SingleLineComment>\n <hbr />\n <SingleLineComment>\n {code`NOTE: Do not edit this file manually - it will be overwritten automatically by the \"storm prepare\" command`}\n </SingleLineComment>\n <hbr />\n </>\n );\n}\n\nexport interface TypescriptFileHeaderImportsProps\n extends SourceFileHeaderProps {\n imports?: TypescriptFileImports;\n scope?: TSModuleScope;\n}\n\n/**\n * Renders the header for a Powerlines Typescript source file.\n *\n * @param props - The properties for the source file header.\n * @returns The rendered source file header.\n */\nexport function TypescriptFileHeaderImports(\n props: TypescriptFileHeaderImportsProps\n) {\n const { imports } = props;\n\n const sourceFile = useSourceFile();\n const scope = props.scope ?? sourceFile.scope;\n\n return (\n <Show\n when={\n scope.importedModules.size > 0 ||\n (!!imports && Object.keys(imports).length > 0)\n }>\n <Show when={!!imports && Object.keys(imports).length > 0}>\n {Object.entries(imports ?? {}).map(([module, imported]) => {\n return code`import ${\n imported === null\n ? \"\"\n : (\n imported.filter(\n i => !isString(i) && i.default\n ) as TypescriptFileImportItem[]\n )\n .map(i => (i.alias ? i.alias : i.name))\n .join(\", \") +\n (imported.filter(i => !isString(i) && i.default).length > 0 &&\n imported.filter(i => isString(i) || !i.default).length > 0\n ? \", \"\n : \"\") +\n (imported.filter(i => isString(i) || !i.default).length > 0\n ? `{ ${imported\n .map(i =>\n isString(i)\n ? i\n : i.alias\n ? `${i.name} as ${i.alias}`\n : i.name\n )\n .join(\", \")} }`\n : \"\")\n } from \"${module}\";`;\n })}\n </Show>\n <Show when={scope.importedModules.size > 0}>\n <ImportStatements records={scope.importedModules} />\n </Show>\n <hbr />\n </Show>\n );\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { splitProps } from \"@alloy-js/core\";\nimport type { TSDocModuleProps } from \"./tsdoc\";\nimport { TSDocModule } from \"./tsdoc\";\nimport {\n TypescriptFile,\n TypescriptFileHeader,\n TypescriptFileHeaderImports,\n TypescriptFileProps\n} from \"./typescript-file\";\n\nexport type BuiltinFileProps = Omit<TypescriptFileProps, \"path\"> &\n Omit<TSDocModuleProps, \"name\"> & {\n /**\n * The runtime module identifier.\n *\n * @remarks\n * This value will be included after the \\`storm:\\` prefix in the import statement.\n */\n id: string;\n\n /**\n * The description for the builtin module.\n */\n description?: string;\n\n /**\n * Whether the file is a TSX file.\n *\n * @defaultValue false\n */\n tsx?: boolean;\n };\n\n/**\n * A base component representing a Powerlines generated Typescript source file.\n *\n * @param props - The properties for the source file.\n * @returns The rendered source file component.\n */\nexport function BuiltinFile(props: BuiltinFileProps) {\n const [{ children, imports, id, description, tsx }, rest] = splitProps(\n props,\n [\"children\", \"imports\", \"id\", \"description\", \"tsx\"]\n );\n\n return (\n <TypescriptFile\n header={\n <TypescriptFileHeader\n header={<TSDocModule name={id}>{description}</TSDocModule>}>\n <TypescriptFileHeaderImports imports={imports} />\n </TypescriptFileHeader>\n }\n meta={{\n builtin: {\n id\n }\n }}\n {...rest}\n path={`${id}${tsx ? \".tsx\" : \".ts\"}`}>\n {children}\n </TypescriptFile>\n );\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ComponentContext } from \"@alloy-js/core\";\nimport { createContext, createNamedContext, useContext } from \"@alloy-js/core\";\nimport {\n ReflectionClass,\n ReflectionMethod,\n ReflectionParameter,\n ReflectionProperty\n} from \"@powerlines/deepkit/vendor/type\";\nimport { ReflectionOverrideInterface } from \"../../types/components\";\n\nexport interface ReflectionClassContextInterface<\n T extends Record<string, any> = Record<string, any>\n> {\n reflection: ReflectionClass<T>;\n override?: ReflectionOverrideInterface<T>;\n}\n\n/**\n * The reflection class context used in template rendering.\n */\nexport const ReflectionClassContext: ComponentContext<\n ReflectionClassContextInterface<any>\n> = createContext<ReflectionClassContextInterface<any>>();\n\n/**\n * Hook to access the Reflection context.\n *\n * @returns A reactive version of the current reflection.\n */\nexport function useReflectionClass<\n T extends Record<string, any> = Record<string, any>\n>() {\n const context = useContext<ReflectionClassContextInterface<T>>(\n ReflectionClassContext\n )!;\n\n if (!context) {\n throw new Error(\n \"Powerlines - ReflectionClass Context is not set. Make sure this component is wrapped in a `Output` component or being rendered by the `RenderPlugin` from `@powerlines/devkit`.\"\n );\n }\n\n return context;\n}\n\n/**\n * The reflection property context used in template rendering.\n */\nexport const ReflectionPropertyContext: ComponentContext<ReflectionProperty> =\n createNamedContext<ReflectionProperty>(\"reflection-property\");\n\n/**\n * Hook to access the Reflection Property context.\n *\n * @returns A reactive version of the current reflection.\n */\nexport function useReflectionProperty() {\n const context = useContext<ReflectionProperty>(ReflectionPropertyContext)!;\n\n if (!context) {\n throw new Error(\n \"Powerlines - Reflection Property Context is not set. Make sure this component is wrapped in a `Output` component or being rendered by the `RenderPlugin` from `@powerlines/devkit`.\"\n );\n }\n\n return context;\n}\n\n/**\n * The reflection method context used in template rendering.\n */\nexport const ReflectionMethodContext: ComponentContext<ReflectionMethod> =\n createNamedContext<ReflectionMethod>(\"reflection-method\");\n\n/**\n * Hook to access the Reflection Method context.\n *\n * @returns A reactive version of the current reflection.\n */\nexport function useReflectionMethod() {\n const context = useContext<ReflectionMethod>(ReflectionMethodContext)!;\n\n if (!context) {\n throw new Error(\n \"Powerlines - Reflection Method Context is not set. Make sure this component is wrapped in a `Output` component or being rendered by the `RenderPlugin` from `@powerlines/devkit`.\"\n );\n }\n\n return context;\n}\n\n/**\n * The reflection parameter context used in template rendering.\n */\nexport const ReflectionParameterContext: ComponentContext<ReflectionParameter> =\n createNamedContext<ReflectionParameter>(\"reflection-parameter\");\n\n/**\n * Hook to access the Reflection Parameter context.\n *\n * @returns A reactive version of the current reflection.\n */\nexport function useReflectionParameter() {\n return useContext<ReflectionParameter>(ReflectionParameterContext)!;\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport {\n childrenArray,\n code,\n computed,\n List,\n Show,\n splitProps\n} from \"@alloy-js/core\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport { isUndefined } from \"@stryke/type-checks/is-undefined\";\nimport {\n useReflectionClass,\n useReflectionMethod,\n useReflectionProperty\n} from \"../../core/contexts/reflection\";\nimport { TSDoc, TSDocAttributesTags, TSDocProps } from \"./tsdoc\";\n\n/**\n * Generates a TypeScript interface property for the given reflection class.\n */\nexport function TSDocReflectionClass<\n T extends Record<string, any> = Record<string, any>\n>(props: TSDocProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n const reflectionClass = useReflectionClass<T>();\n\n const title = computed(\n () =>\n reflectionClass.reflection.getTitle() ||\n titleCase(reflectionClass.reflection.getName())\n );\n const alias = computed(() => reflectionClass.reflection.getAlias());\n const domain = computed(() => reflectionClass.reflection.getDomain());\n const permission = computed(() => reflectionClass.reflection.getPermission());\n const readonly = computed(() => reflectionClass.reflection.isReadonly());\n const internal = computed(() => reflectionClass.reflection.isInternal());\n const ignore = computed(() => reflectionClass.reflection.isIgnored());\n const hidden = computed(() => reflectionClass.reflection.isHidden());\n\n if (!reflectionClass.reflection.getName()) {\n return null;\n }\n\n return (\n <TSDoc {...rest} heading={reflectionClass.reflection.getDescription()}>\n <Show\n when={\n isSetString(title.value) ||\n (!isUndefined(alias.value) && alias.value.length > 0) ||\n (!isUndefined(permission.value) && permission.value.length > 0) ||\n isSetString(domain.value) ||\n !isUndefined(readonly.value) ||\n !isUndefined(internal.value) ||\n !isUndefined(ignore.value) ||\n !isUndefined(hidden.value)\n }>\n <TSDocAttributesTags\n title={title.value}\n alias={alias.value}\n domain={domain.value}\n permission={permission.value}\n readonly={readonly.value}\n internal={internal.value}\n ignore={ignore.value}\n hidden={hidden.value}\n />\n </Show>\n <Show\n when={Boolean(children) && childrenArray(() => children).length > 0}>\n <List>{childrenArray(() => children)}</List>\n </Show>\n </TSDoc>\n );\n}\n\n/**\n * Generates a TypeScript interface property for the given reflection class.\n */\nexport function TSDocReflectionProperty(props: TSDocProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n const context = useReflectionProperty();\n\n return (\n <TSDoc heading={context.getDescription()} {...rest}>\n <TSDocAttributesTags\n title={context.getTitle()}\n alias={context.getAlias()}\n domain={context.getDomain()}\n permission={context.getPermission()}\n readonly={context.isReadonly()}\n internal={context.isInternal()}\n ignore={context.isIgnored()}\n hidden={context.isHidden()}\n />\n <Show\n when={Boolean(children) && childrenArray(() => children).length > 0}>\n <List>{childrenArray(() => children)}</List>\n </Show>\n </TSDoc>\n );\n}\n\n/**\n * Generates a TypeScript interface property for the given reflection class.\n */\nexport function TSDocReflectionMethod(props: TSDocProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n const context = useReflectionMethod();\n\n return (\n <TSDoc\n heading={\n context.getDescription() ||\n (isString(context.getName())\n ? code`${String(context.getName())} method definition`\n : undefined)\n }\n {...rest}>\n <TSDocAttributesTags\n title={context.getTitle()}\n alias={context.getAlias()}\n domain={context.getDomain()}\n permission={context.getPermission()}\n readonly={context.isReadonly()}\n internal={context.isInternal()}\n ignore={context.isIgnored()}\n hidden={context.isHidden()}\n />\n <Show\n when={Boolean(children) && childrenArray(() => children).length > 0}>\n <List>{childrenArray(() => children)}</List>\n </Show>\n </TSDoc>\n );\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { computed, For, splitProps } from \"@alloy-js/core\";\nimport {\n InterfaceDeclaration,\n InterfaceDeclarationProps,\n InterfaceMember,\n InterfaceMemberProps\n} from \"@alloy-js/typescript\";\nimport {\n ReflectionClass,\n ReflectionProperty,\n stringifyType\n} from \"@powerlines/deepkit/vendor/type\";\nimport { pascalCase } from \"@stryke/string-format/pascal-case\";\nimport {\n ReflectionClassContext,\n ReflectionPropertyContext\n} from \"../../core/contexts/reflection\";\nimport { ComponentProps } from \"../../types/components\";\nimport {\n TSDocReflectionClass,\n TSDocReflectionProperty\n} from \"./tsdoc-reflection\";\n\nexport interface TypeScriptInterfaceProps<\n T extends Record<string, any> = Record<string, any>\n> extends InterfaceDeclarationProps,\n ComponentProps {\n reflection: ReflectionClass<T>;\n defaultValue?: Partial<T>;\n}\n\nexport interface TypescriptInterfacePropertyProps\n extends Omit<InterfaceMemberProps, \"name\">,\n ComponentProps {\n property: ReflectionProperty;\n}\n\n/**\n * Generates a TypeScript interface for the given reflection class.\n */\nexport function TypeScriptInterface<\n T extends Record<string, any> = Record<string, any>\n>(props: TypeScriptInterfaceProps<T>) {\n const [{ name, reflection }, rest] = splitProps(props, [\n \"name\",\n \"reflection\"\n ]);\n\n const interfaceName = computed(() =>\n pascalCase(name || reflection.getName())\n );\n\n const properties = reflection\n .getProperties()\n .filter(item => !item.isIgnored())\n .sort((a, b) =>\n (a.isReadonly() && b.isReadonly()) || (!a.isReadonly() && !b.isReadonly())\n ? a.getNameAsString().localeCompare(b.getNameAsString())\n : a.isReadonly()\n ? 1\n : -1\n );\n\n return (\n <ReflectionClassContext.Provider\n value={{\n reflection\n }}>\n <TSDocReflectionClass />\n <InterfaceDeclaration export={true} name={interfaceName.value} {...rest}>\n <For each={properties} doubleHardline={true} semicolon={true}>\n {prop => <TypescriptInterfaceProperty property={prop} />}\n </For>\n </InterfaceDeclaration>\n </ReflectionClassContext.Provider>\n );\n}\n\n/**\n * Generates a TypeScript interface property for the given reflection class.\n */\nexport function TypescriptInterfaceProperty(\n props: TypescriptInterfacePropertyProps\n) {\n const [{ property }, rest] = splitProps(props, [\"property\"]);\n\n return (\n <ReflectionPropertyContext.Provider value={property}>\n <TSDocReflectionProperty />\n <InterfaceMember\n name={property.getNameAsString()}\n readonly={property.isReadonly()}\n optional={property.isOptional()}\n nullish={property.isNullable()}\n type={stringifyType(property.getType())}\n {...rest}\n />\n </ReflectionPropertyContext.Provider>\n );\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport {\n computed,\n Declaration as CoreDeclaration,\n createSymbolSlot,\n For,\n Name,\n Show,\n splitProps\n} from \"@alloy-js/core\";\nimport {\n createValueSymbol,\n ObjectExpression,\n ObjectProperty,\n TSSymbolFlags,\n TypeRefContext,\n useTSNamePolicy,\n VarDeclarationProps\n} from \"@alloy-js/typescript\";\nimport { stringifyDefaultValue } from \"@powerlines/deepkit/utilities\";\nimport {\n ReflectionClass,\n ReflectionProperty\n} from \"@powerlines/deepkit/vendor/type\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { pascalCase } from \"@stryke/string-format/pascal-case\";\nimport { isUndefined } from \"@stryke/type-checks/is-undefined\";\nimport { ComputedRef } from \"@vue/reactivity\";\nimport {\n ReflectionClassContext,\n ReflectionPropertyContext\n} from \"../../core/contexts/reflection\";\nimport { ComponentProps } from \"../../types/components\";\nimport {\n TSDocReflectionClass,\n TSDocReflectionProperty\n} from \"./tsdoc-reflection\";\n\nexport interface TypescriptObjectProps<\n T extends Record<string, any> = Record<string, any>\n> extends VarDeclarationProps {\n reflection?: ComputedRef<ReflectionClass<T>>;\n defaultValue?: ComputedRef<Partial<T> | undefined>;\n}\n\nexport interface TypescriptObjectPropertyProps extends ComponentProps {\n property: ReflectionProperty;\n}\n\n/**\n * Generates a TypeScript object for the given reflection class.\n */\nexport function TypescriptObject<\n T extends Record<string, any> = Record<string, any>\n>(props: TypescriptObjectProps<T>) {\n if (!props.reflection?.value) {\n return null;\n }\n\n const objectName = computed(() =>\n camelCase(props.name || props.reflection!.value.getName())\n );\n const objectType = computed(\n () => props.type || pascalCase(props.reflection!.value.getName())\n );\n const properties = computed(() =>\n props\n .reflection!.value.getProperties()\n .filter(\n item =>\n !item.isIgnored() &&\n !isUndefined(\n props.defaultValue?.value?.[item.getNameAsString()] ??\n item.getAlias().reduce((ret, alias) => {\n if (\n isUndefined(ret) &&\n !isUndefined(\n (props.defaultValue as Record<string, any>)?.value?.[alias]\n )\n ) {\n return (props.defaultValue as Record<string, any>)?.value?.[\n alias\n ];\n }\n\n return ret;\n }, undefined) ??\n item.getDefaultValue()\n )\n )\n .sort((a, b) =>\n (a.isReadonly() && b.isReadonly()) ||\n (!a.isReadonly() && !b.isReadonly())\n ? a.getNameAsString().localeCompare(b.getNameAsString())\n : a.isReadonly()\n ? 1\n : -1\n )\n );\n\n const TypeSymbolSlot = createSymbolSlot();\n const ValueTypeSymbolSlot = createSymbolSlot();\n const sym = createValueSymbol(props.name, {\n refkeys: props.refkey,\n default: props.default,\n export: props.export,\n metadata: props.metadata,\n tsFlags: props.nullish ? TSSymbolFlags.Nullish : TSSymbolFlags.None,\n type: props.type ? TypeSymbolSlot.firstSymbol : undefined,\n namePolicy: useTSNamePolicy().for(\"variable\")\n });\n\n if (!props.type) {\n ValueTypeSymbolSlot.moveMembersTo(sym);\n }\n\n const keyword = props.var ? \"var\" : props.let ? \"let\" : \"const\";\n const type = props.type ? (\n <TypeRefContext>\n : <TypeSymbolSlot>{props.type}</TypeSymbolSlot>\n </TypeRefContext>\n ) : undefined;\n\n return (\n <Show when={!!props.reflection.value}>\n <ReflectionClassContext.Provider\n value={{\n reflection: props.reflection.value as ReflectionClass<any>,\n override: {\n name: objectName.value,\n type: objectType.value,\n defaultValue: props.defaultValue?.value\n }\n }}>\n <Show when={!!objectName.value && !!objectType.value}>\n <TSDocReflectionClass />\n <CoreDeclaration symbol={sym}>\n {props.export ? \"export \" : \"\"}\n {props.default ? \"default \" : \"\"}\n {keyword} <Name />\n {type} ={\" \"}\n <ValueTypeSymbolSlot>\n {props.initializer ?? props.children ?? (\n <ObjectExpression>\n <For\n each={properties.value ?? []}\n comma={true}\n doubleHardline={true}>\n {prop => <TypescriptObjectProperty property={prop} />}\n </For>\n </ObjectExpression>\n )}\n </ValueTypeSymbolSlot>\n </CoreDeclaration>\n </Show>\n <hbr />\n </ReflectionClassContext.Provider>\n </Show>\n );\n}\n\n/**\n * Generates a TypeScript object property for the given reflection class.\n */\nexport function TypescriptObjectProperty(props: TypescriptObjectPropertyProps) {\n const [{ property }] = splitProps(props, [\"property\"]);\n\n return (\n <ReflectionPropertyContext.Provider value={property}>\n <TSDocReflectionProperty />\n <ObjectProperty\n name={property.getNameAsString()}\n value={stringifyDefaultValue(property)}\n />\n <hbr />\n </ReflectionPropertyContext.Provider>\n );\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport {\n Children,\n code,\n computed,\n For,\n Show,\n splitProps\n} from \"@alloy-js/core\";\nimport {\n ClassDeclaration,\n ClassMethod,\n ElseIfClause,\n FunctionDeclaration,\n IfStatement,\n NewExpression,\n TypeDeclaration,\n VarDeclaration\n} from \"@alloy-js/typescript\";\nimport { usePowerlines } from \"@powerlines/alloy/core/contexts/context\";\nimport { refkey } from \"@powerlines/alloy/helpers/refkey\";\nimport { ComponentProps } from \"@powerlines/alloy/types/components\";\nimport {\n BuiltinFile,\n BuiltinFileProps\n} from \"@powerlines/alloy/typescript/components/builtin-file\";\nimport {\n TSDoc,\n TSDocExample,\n TSDocLink,\n TSDocParam,\n TSDocRemarks,\n TSDocReturns,\n TSDocThrows\n} from \"@powerlines/alloy/typescript/components/tsdoc\";\nimport {\n TypeScriptInterface,\n TypeScriptInterfaceProps\n} from \"@powerlines/alloy/typescript/components/typescript-interface\";\nimport { TypescriptObject } from \"@powerlines/alloy/typescript/components/typescript-object\";\nimport {\n ReflectionClass,\n ReflectionKind,\n ReflectionProperty\n} from \"@powerlines/deepkit/vendor/type\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isNull } from \"@stryke/type-checks/is-null\";\nimport defu from \"defu\";\nimport { createReflectionResource } from \"../helpers/create-reflection-resource\";\nimport { loadEnvFromContext } from \"../helpers/load\";\nimport { EnvPluginContext } from \"../types/plugin\";\n\n/**\n * Generates the environment configuration typescript definition for the Powerlines project.\n */\nexport function EnvTypeDefinition(\n props: Omit<TypeScriptInterfaceProps, \"name\">\n) {\n const [{ defaultValue, reflection }] = splitProps(props, [\n \"defaultValue\",\n \"reflection\"\n ]);\n\n const context = usePowerlines<EnvPluginContext>();\n\n return (\n <>\n <TypeScriptInterface\n name=\" EnvBase\"\n extends={[\"EnvInterface\"]}\n defaultValue={defaultValue}\n reflection={reflection}\n export={true}\n />\n <hbr />\n <hbr />\n\n <TypeDeclaration name=\"Env\" export={true}>\n {code` {\n [Key in keyof EnvBase as Key ${context?.config.env.prefix\n .map(prefix => `| \\`${prefix.replace(/_$/g, \"\")}_\\${Key}\\``)\n .join(\" \")}]: EnvBase[Key];\n}\n`}\n </TypeDeclaration>\n </>\n );\n}\n\ninterface ConfigPropertyConditionalProps extends ComponentProps {\n context: EnvPluginContext | undefined;\n name: string;\n}\n\nfunction ConfigPropertyConditional(props: ConfigPropertyConditionalProps) {\n const [{ context, name }] = splitProps(props, [\"context\", \"name\"]);\n\n if (!context) {\n return null;\n }\n\n return code`propertyName === \"${name}\" || propertyName.replace(/^(${context.config.env.prefix\n .sort((a, b) =>\n a.startsWith(b) ? -1 : b.startsWith(a) ? 1 : a.localeCompare(b)\n )\n .map(prefix => `${prefix.replace(/_$/, \"\")}_`)\n .join(\"|\")})/g, \"\").toLowerCase().replace(/[\\\\s\\\\-_]+/g, \"\") === \"${name\n .toLowerCase()\n .replace(/[\\s\\-_]+/g, \"\")}\"`;\n}\n\ninterface ConfigPropertyProps extends ComponentProps {\n index: number;\n context: EnvPluginContext | undefined;\n property: ReflectionProperty;\n}\n\nfunction ConfigPropertyGet(props: ConfigPropertyProps) {\n const [{ context, property, index }] = splitProps(props, [\n \"context\",\n \"property\",\n \"index\"\n ]);\n\n if (!context) {\n return null;\n }\n\n return (\n <>\n {index === 0 ? (\n <IfStatement\n condition={\n <>\n <ConfigPropertyConditional\n name={property.getNameAsString()}\n context={context}\n />\n <Show\n when={property.getAlias() && property.getAlias().length > 0}>\n {code` || `}\n <For each={property.getAlias()} joiner={code` || `}>\n {alias => (\n <ConfigPropertyConditional name={alias} context={context} />\n )}\n </For>\n </Show>\n </>\n }>\n {code`return target[\"${property.getNameAsString()}\"];`}\n </IfStatement>\n ) : (\n <ElseIfClause\n condition={\n <>\n <ConfigPropertyConditional\n name={property.getNameAsString()}\n context={context}\n />\n <Show\n when={property.getAlias() && property.getAlias().length > 0}>\n {code` || `}\n <For each={property.getAlias()} joiner={code` || `}>\n {alias => (\n <ConfigPropertyConditional name={alias} context={context} />\n )}\n </For>\n </Show>\n </>\n }>\n {code`return target[\"${property.getNameAsString()}\"];`}\n </ElseIfClause>\n )}\n </>\n );\n}\n\nfunction ConfigPropertySet(props: ConfigPropertyProps) {\n const [{ context, property, index }] = splitProps(props, [\n \"context\",\n \"property\",\n \"index\"\n ]);\n\n if (!context) {\n return null;\n }\n\n return (\n <>\n {index === 0 ? (\n <IfStatement\n condition={\n <>\n <ConfigPropertyConditional\n name={property.getNameAsString()}\n context={context}\n />\n <Show\n when={property.getAlias() && property.getAlias().length > 0}>\n {code` || `}\n <For each={property.getAlias()} joiner={code` || `}>\n {alias => (\n <ConfigPropertyConditional name={alias} context={context} />\n )}\n </For>\n </Show>\n </>\n }>\n {code`\n target[\"${property.getNameAsString()}\"] = newValue;\n return true;\n`}\n </IfStatement>\n ) : (\n <ElseIfClause\n condition={\n <>\n <ConfigPropertyConditional\n name={property.getNameAsString()}\n context={context}\n />\n <Show\n when={property.getAlias() && property.getAlias().length > 0}>\n {code` || `}\n <For each={property.getAlias()} joiner={code` || `}>\n {alias => (\n <ConfigPropertyConditional name={alias} context={context} />\n )}\n </For>\n </Show>\n </>\n }>\n {code`\n target[\"${property.getNameAsString()}\"] = newValue;\n return true;\n`}\n </ElseIfClause>\n )}\n </>\n );\n}\n\nexport interface EnvBuiltinProps extends Omit<BuiltinFileProps, \"id\"> {\n defaultConfig?: Children;\n}\n\nconst createEnvRefkey = refkey(\"createEnv\");\nconst envRefkey = refkey(\"env\");\nconst envSerializerRefkey = refkey(\"EnvSerializer\");\n\n/**\n * Generates the environment configuration module for the Powerlines project.\n */\nexport function EnvBuiltin(props: EnvBuiltinProps) {\n const [{ defaultConfig }, rest] = splitProps(props, [\"defaultConfig\"]);\n\n const context = usePowerlines<EnvPluginContext>();\n\n const defaultValue = computed(\n () => context && loadEnvFromContext(context, process.env)\n );\n const reflection = createReflectionResource(context);\n\n const envInstance = computed(() => {\n const result = new ReflectionClass(\n {\n kind: ReflectionKind.objectLiteral,\n description: `The initial environment configuration state for the ${titleCase(\n context?.config?.name\n )} project.`,\n types: []\n },\n reflection.data ?? undefined\n );\n\n return result;\n });\n\n const reflectionGetProperties = computed(\n () =>\n reflection.data\n ?.getProperties()\n .filter(property => !property.isIgnored())\n .sort((a, b) =>\n a.getNameAsString().localeCompare(b.getNameAsString())\n ) ?? []\n );\n\n const reflectionSetProperties = computed(\n () =>\n reflection.data\n ?.getProperties()\n .filter(property => !property.isIgnored() && !property.isReadonly())\n .sort((a, b) =>\n a.getNameAsString().localeCompare(b.getNameAsString())\n ) ?? []\n );\n\n return (\n <BuiltinFile\n {...rest}\n id=\"env\"\n description=\"The Powerlines environment configuration module provides an interface to define environment configuration parameters.\"\n imports={defu(\n {\n \"@powerlines/deepkit/vendor/type\": [\n \"Type\",\n \"stringify\",\n \"serializer\",\n \"serializeFunction\",\n \"deserializeFunction\",\n \"ReflectionKind\",\n \"TemplateState\",\n \"Serializer\",\n \"TypeProperty\",\n \"TypePropertySignature\"\n ],\n \"@powerlines/plugin-env/types/runtime\": [{ name: \"EnvInterface\" }]\n },\n rest.imports ?? {}\n )}>\n <Show when={!isNull(reflection.data)}>\n <EnvTypeDefinition\n defaultValue={defaultValue.value}\n reflection={reflection.data!}\n />\n <hbr />\n <hbr />\n </Show>\n\n <TypescriptObject\n name=\"initialEnv\"\n type=\"Partial<EnvBase>\"\n defaultValue={defaultValue}\n reflection={envInstance}\n export={true}\n const={true}\n />\n <hbr />\n <hbr />\n\n <TSDoc heading=\"The environment configuration serializer for the Powerlines application.\">\n <TSDocLink>\n {`https://deepkit.io/docs/serialization/serializers`}\n </TSDocLink>\n <TSDocLink>\n {`https://github.com/marcj/untitled-code/blob/master/packages/type/src/serializer.ts#L1918`}\n </TSDocLink>\n <TSDocRemarks>\n {`This serializer is used to serialize and deserialize the Powerlines environment configuration.`}\n </TSDocRemarks>\n </TSDoc>\n <ClassDeclaration\n refkey={envSerializerRefkey}\n name=\"EnvSerializer\"\n extends=\"Serializer\"\n export={true}>\n <ClassMethod name=\"constructor\" public={true}>\n {code`\n super(\"env\");\n\n this.deserializeRegistry.register(\n ReflectionKind.boolean,\n (type: Type, state: TemplateState) => {\n state.addSetter(\n \\`typeof \\${state.accessor.toString()} !== \"boolean\" ? \\${state.accessor.toString()} === 1 || \\${state.accessor.toString()} === \"1\" || \\${state.accessor.toString()}.toLowerCase() === \"t\" || \\${state.accessor.toString()}.toLowerCase() === \"true\" || \\${state.accessor.toString()}.toLowerCase() === \"y\" || \\${state.accessor.toString()}.toLowerCase() === \"yes\" : \\${state.accessor.toString()}\\`\n );\n }\n );\n`}\n </ClassMethod>\n </ClassDeclaration>\n <hbr />\n <hbr />\n\n <TSDoc heading=\"A {@link EnvSerializer | environment configuration serializer} instance for the Powerlines application.\">\n <TSDocLink>\n {`https://deepkit.io/docs/serialization/serializers`}\n </TSDocLink>\n <TSDocLink>\n {`https://github.com/marcj/untitled-code/blob/master/packages/type/src/serializer.ts#L1918`}\n </TSDocLink>\n <TSDocRemarks>\n {`This serializer is used to serialize and deserialize the Powerlines environment configuration.`}\n </TSDocRemarks>\n </TSDoc>\n <VarDeclaration\n name=\"envSerializer\"\n export={false}\n const={true}\n initializer={<NewExpression args={[]} target={\"EnvSerializer\"} />}\n />\n <hbr />\n <hbr />\n\n <TSDoc heading=\"Serialize a environment configuration object to JSON data objects (not a JSON string).\">\n <TSDocRemarks>\n {`The resulting JSON object can be stringified using JSON.stringify().`}\n </TSDocRemarks>\n <TSDocExample>{`const json = serializeEnv(env);`}</TSDocExample>\n <TSDocThrows>\n {`ValidationError when serialization or validation fails.`}\n </TSDocThrows>\n </TSDoc>\n <VarDeclaration\n name=\"serializeEnv\"\n export={true}\n const={true}\n initializer={\"serializeFunction<EnvBase>(envSerializer)\"}\n />\n <hbr />\n <hbr />\n\n <TSDoc heading=\"Deserialize a environment configuration object from JSON data objects to JavaScript objects, without running any validators.\">\n <TSDocRemarks>\n {`Types that are already correct will be used as-is.`}\n </TSDocRemarks>\n <TSDocExample>{`const env = deserializeEnv(json);`}</TSDocExample>\n <TSDocThrows>\n {`ValidationError when deserialization fails.`}\n </TSDocThrows>\n </TSDoc>\n <VarDeclaration\n name=\"deserializeEnv\"\n export={true}\n const={true}\n initializer={\"deserializeFunction<EnvBase>(envSerializer)\"}\n />\n <hbr />\n <hbr />\n\n <TSDoc heading=\"Initializes the Powerlines environment configuration module.\">\n <TSDocRemarks>\n {`This function initializes the Powerlines environment configuration object.`}\n </TSDocRemarks>\n <TSDocParam name=\"environmentConfig\">\n {`The dynamic/runtime configuration - this could include the current environment variables or any other environment-specific settings provided by the runtime.`}\n </TSDocParam>\n <TSDocReturns>\n {`The initialized Powerlines configuration object.`}\n </TSDocReturns>\n </TSDoc>\n <Show when={Boolean(context?.entryPath)}>\n <FunctionDeclaration\n refkey={createEnvRefkey}\n async={false}\n export={true}\n name=\"createEnv\"\n parameters={[\n {\n name: \"environmentConfig\",\n type: `Partial<Env>`,\n optional: false,\n default: \"{}\"\n }\n ]}\n returnType=\"Env\">\n {code`\n return new Proxy<Env>(\n deserializeEnv({\n ...initialEnv,\n ...environmentConfig\n }) as Env,\n {\n get: (target: EnvBase, propertyName: string) => { `}\n <hbr />\n\n <For each={reflectionGetProperties}>\n {(property: ReflectionProperty, index: number) => (\n <ConfigPropertyGet\n index={index}\n context={context}\n property={property}\n />\n )}\n </For>\n {code`\n return undefined;\n }, `}\n\n <hbr />\n <hbr />\n {code` set: (target: EnvBase, propertyName: string, newValue: any) => { `}\n <hbr />\n\n <For each={reflectionSetProperties} ender={code` else `}>\n {(property: ReflectionProperty, index: number) => (\n <ConfigPropertySet\n index={index}\n context={context}\n property={property}\n />\n )}\n </For>\n\n <hbr />\n {code`return false;\n }\n }\n );\n`}\n </FunctionDeclaration>\n </Show>\n <hbr />\n <hbr />\n <hbr />\n\n <VarDeclaration\n refkey={envRefkey}\n name=\"env\"\n type=\"Env\"\n export={true}\n const={true}\n initializer={\n <>\n {code`createEnv(`}\n {defaultConfig || \"{}\"}\n {code` as Partial<Env>)`}\n </>\n }\n />\n </BuiltinFile>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { t as type_d_exports } from "./type-CnPIyotQ.mjs";
|
|
2
|
+
import { f as StoragePreset } from "./config-D2esSp2r.mjs";
|
|
3
|
+
import { Children } from "@alloy-js/core/jsx-runtime";
|
|
4
|
+
import { Children as Children$1, SourceFileProps } from "@alloy-js/core";
|
|
5
|
+
import { InterfaceDeclarationProps, SourceFileContext as SourceFileContext$1, TSModuleScope } from "@alloy-js/typescript";
|
|
6
|
+
|
|
7
|
+
//#region ../alloy/src/types/components.d.ts
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A type that represents the props of a component that can have children.
|
|
11
|
+
*/
|
|
12
|
+
interface ComponentProps {
|
|
13
|
+
children?: Children;
|
|
14
|
+
}
|
|
15
|
+
interface TypescriptFileImportItem {
|
|
16
|
+
name: string;
|
|
17
|
+
default?: boolean;
|
|
18
|
+
alias?: string;
|
|
19
|
+
type?: boolean;
|
|
20
|
+
}
|
|
21
|
+
type TypescriptFileImports = Record<string, null | Array<TypescriptFileImportItem | string>>;
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region ../alloy/src/typescript/components/tsdoc.d.ts
|
|
24
|
+
|
|
25
|
+
interface TSDocModuleProps extends ComponentProps {
|
|
26
|
+
/**
|
|
27
|
+
* the prefix for the builtin module name
|
|
28
|
+
*
|
|
29
|
+
* @defaultValue "storm"
|
|
30
|
+
*/
|
|
31
|
+
prefix?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The name of the module
|
|
34
|
+
*
|
|
35
|
+
* @remarks
|
|
36
|
+
* This will be used in the `@module` tag as well as the import path for the module, e.g. `storm:<name>`.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* import { MyModule } from "storm:my-module";
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
name: Children$1;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region ../alloy/src/core/components/source-file.d.ts
|
|
47
|
+
type SourceFileProps$1 = SourceFileProps & ComponentProps & {
|
|
48
|
+
/**
|
|
49
|
+
* If true, indicates that the file is virtual and should not be written to disk.
|
|
50
|
+
*
|
|
51
|
+
* @defaultValue false
|
|
52
|
+
*/
|
|
53
|
+
preset?: StoragePreset;
|
|
54
|
+
/**
|
|
55
|
+
* The metadata associated with the source file.
|
|
56
|
+
*
|
|
57
|
+
* @remarks
|
|
58
|
+
* The values stored in the metadata will be available in the rendering context.
|
|
59
|
+
*/
|
|
60
|
+
meta?: Record<string, any>;
|
|
61
|
+
};
|
|
62
|
+
//#endregion
|
|
63
|
+
//#region ../alloy/src/typescript/components/typescript-file.d.ts
|
|
64
|
+
type TypescriptFileProps = Omit<SourceFileProps$1, "filetype"> & ComponentProps & {
|
|
65
|
+
header?: Children$1;
|
|
66
|
+
imports?: TypescriptFileImports;
|
|
67
|
+
export?: boolean | string;
|
|
68
|
+
tsx?: boolean;
|
|
69
|
+
};
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region ../alloy/src/typescript/components/builtin-file.d.ts
|
|
72
|
+
type BuiltinFileProps = Omit<TypescriptFileProps, "path"> & Omit<TSDocModuleProps, "name"> & {
|
|
73
|
+
/**
|
|
74
|
+
* The runtime module identifier.
|
|
75
|
+
*
|
|
76
|
+
* @remarks
|
|
77
|
+
* This value will be included after the \`storm:\` prefix in the import statement.
|
|
78
|
+
*/
|
|
79
|
+
id: string;
|
|
80
|
+
/**
|
|
81
|
+
* The description for the builtin module.
|
|
82
|
+
*/
|
|
83
|
+
description?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Whether the file is a TSX file.
|
|
86
|
+
*
|
|
87
|
+
* @defaultValue false
|
|
88
|
+
*/
|
|
89
|
+
tsx?: boolean;
|
|
90
|
+
};
|
|
91
|
+
//#endregion
|
|
92
|
+
//#region ../alloy/src/typescript/components/typescript-interface.d.ts
|
|
93
|
+
interface TypeScriptInterfaceProps<T extends Record<string, any> = Record<string, any>> extends InterfaceDeclarationProps, ComponentProps {
|
|
94
|
+
reflection: type_d_exports.ReflectionClass<T>;
|
|
95
|
+
defaultValue?: Partial<T>;
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/components/env.d.ts
|
|
99
|
+
/**
|
|
100
|
+
* Generates the environment configuration typescript definition for the Powerlines project.
|
|
101
|
+
*/
|
|
102
|
+
declare function EnvTypeDefinition(props: Omit<TypeScriptInterfaceProps, "name">): Children$1;
|
|
103
|
+
interface EnvBuiltinProps extends Omit<BuiltinFileProps, "id"> {
|
|
104
|
+
defaultConfig?: Children$1;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Generates the environment configuration module for the Powerlines project.
|
|
108
|
+
*/
|
|
109
|
+
declare function EnvBuiltin(props: EnvBuiltinProps): Children$1;
|
|
110
|
+
declare type __ΩEnvBuiltinProps = any[];
|
|
111
|
+
//#endregion
|
|
112
|
+
export { __ΩEnvBuiltinProps as i, EnvBuiltinProps as n, EnvTypeDefinition as r, EnvBuiltin as t };
|
|
113
|
+
//# sourceMappingURL=env-DMqCnKB2.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-DMqCnKB2.d.mts","names":[],"sources":["../../alloy/src/types/components.ts","../../alloy/src/typescript/components/tsdoc.tsx","../../alloy/src/core/components/source-file.tsx","../../alloy/src/typescript/components/typescript-file.tsx","../../alloy/src/typescript/components/builtin-file.tsx","../../alloy/src/typescript/components/typescript-interface.tsx","../src/components/env.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;;UA6GiB,cAAA;aACJ;;UAuBI,wBAAA;;;;;;KAOL,qBAAA,GAAwB,sBAE3B,MAAM;;;;UCkSE,gBAAA,SAAyB;;;;;;;;;;;;;;;;;;QAmBlC;;;;KClaI,iBAAA,GAAkB,kBAC5B;;;;AF2EF;AAwBA;EAOY,MAAA,CAAA,EEpGC,aFoGD;EAEG;;;;;;SE9FJ;ADgYX,CAAA;;;KEhYY,mBAAA,GAAsB,KAAK,iCACrC;WACW;YACC;EH0DG,MAAA,CAAA,EAAA,OAAA,GAAc,MAAA;EAwBd,GAAA,CAAA,EAAA,OAAA;AAOjB,CAAA;;;KIhHY,gBAAA,GAAmB,KAAK,+BAClC,KAAK;;;;;AJgFP;AAwBA;EAOY,EAAA,EAAA,MAAA;EAEG;;;EAF2B,WAAA,CAAA,EAAA,MAAA;;;;ACoS1C;;;;;;UIvYiB,mCACL,sBAAsB,6BACxB,2BACN;cACU,cAAA,CAAA,gBAAgB;iBACb,QAAQ;;;;;;;iBC0BT,iBAAA,QACP,KAAK,oCAAiC;ANoC9B,UMuJA,eAAA,SAAwB,INtJpB,CMsJyB,gBNtJzB,EAAA,IAAA,CAAA,CAAA;EAuBJ,aAAA,CAAA,EMgIC,UNhID;AAOjB;;;;AAA0C,iBMmI1B,UAAA,CNnI0B,KAAA,EMmIR,eNnIQ,CAAA,EMmIO,UNnIP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../persistence-KaP3-ka1.cjs`),require(`../source-file-env-C6uYyxww.cjs`),require(`../load-nUlit5lR.cjs`);const e=require(`../create-reflection-resource-CQHJrkQi.cjs`);exports.createReflectionResource=e.t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../persistence-Br-YMVb1.mjs";import"../source-file-env-BDFTs5WJ.mjs";import"../load-BZTlThWg.mjs";import{t as e}from"../create-reflection-resource-UtOwX4Ml.mjs";export{e as createReflectionResource};
|
package/dist/helpers/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require(`../persistence-KaP3-ka1.cjs`),t=require(`../source-file-env-C6uYyxww.cjs`),n=require(`../load-nUlit5lR.cjs`),r=require(`../create-reflection-resource-CQHJrkQi.cjs`),i=require(`../template-helpers-BSbamu0U.cjs`);require(`../helpers-YGhXHw5G.cjs`),exports.BaseEnv=e.f,exports.BaseSecrets=e.p,exports.createEnvReflection=e.m,exports.createReflectionResource=r.t,exports.createSecretsReflection=e.h,exports.createTemplateReflection=i.t,exports.formatEnvField=t.t,exports.getEnvDefaultTypeDefinition=e.t,exports.getEnvReflectionsPath=e.n,exports.getEnvTypeReflectionsPath=e.r,exports.getSecretsDefaultTypeDefinition=e.i,exports.loadEnv=n.t,exports.loadEnvFromContext=n.n,exports.mergeEnvReflections=e.g,exports.mergeSecretsReflections=e._,exports.readEnvReflection=e.a,exports.readEnvTypeReflection=e.o,exports.readSecretsReflection=e.s,exports.reflectEnv=e.v,exports.reflectSecrets=e.y,exports.removeEnvPrefix=t.n,exports.resolveRuntimeTypeFile=e.c,exports.writeEnvReflection=e.l,exports.writeEnvReflectionSync=e.u,exports.writeEnvTypeReflection=e.d;
|
package/dist/helpers/index.d.cts
CHANGED
|
@@ -1,32 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
import 'ts-morph';
|
|
14
|
-
import 'unplugin';
|
|
15
|
-
import '@babel/core';
|
|
16
|
-
import '@storm-software/build-tools/types';
|
|
17
|
-
import '@storm-software/config-tools/types';
|
|
18
|
-
import '@storm-software/config/types';
|
|
19
|
-
import '@stryke/types/configuration';
|
|
20
|
-
import '@stryke/types/file';
|
|
21
|
-
import 'vite';
|
|
22
|
-
import '@babel/helper-plugin-utils';
|
|
23
|
-
import '../fs-ECFlqnPg.cjs';
|
|
24
|
-
import '@stryke/fs/resolve';
|
|
25
|
-
import '@stryke/types/array';
|
|
26
|
-
import '@stryke/types/tsconfig';
|
|
27
|
-
import 'typescript';
|
|
28
|
-
import '@stryke/env/types';
|
|
29
|
-
import '../types/plugin.cjs';
|
|
30
|
-
import '@alloy-js/core/jsx-runtime';
|
|
31
|
-
import '@deepkit/type';
|
|
32
|
-
import '@stryke/capnp';
|
|
1
|
+
import "../type-D6dRgWJT.cjs";
|
|
2
|
+
import "../plugin-Cl-yPswT.cjs";
|
|
3
|
+
import "../config-Dli3ofDp.cjs";
|
|
4
|
+
import "../runtime-CIWxfv47.cjs";
|
|
5
|
+
import { t as createReflectionResource } from "../create-reflection-resource-DOZmUtSi.cjs";
|
|
6
|
+
import { n as loadEnvFromContext, t as loadEnv } from "../load-CWOZ3u-s.cjs";
|
|
7
|
+
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-BSorOnu8.cjs";
|
|
8
|
+
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-CFNlkro0.cjs";
|
|
9
|
+
import { n as removeEnvPrefix, t as formatEnvField } from "../source-file-env-DonDJDV1.cjs";
|
|
10
|
+
import { t as createTemplateReflection } from "../template-helpers-BDDg5jaw.cjs";
|
|
11
|
+
import "../index-BRBK9zG-.cjs";
|
|
12
|
+
export { BaseEnv, BaseSecrets, CreateEnvReflectionOptions, __ΩCreateEnvReflectionOptions, createEnvReflection, createReflectionResource, createSecretsReflection, createTemplateReflection, formatEnvField, getEnvDefaultTypeDefinition, getEnvReflectionsPath, getEnvTypeReflectionsPath, getSecretsDefaultTypeDefinition, loadEnv, loadEnvFromContext, mergeEnvReflections, mergeSecretsReflections, readEnvReflection, readEnvTypeReflection, readSecretsReflection, reflectEnv, reflectSecrets, removeEnvPrefix, resolveRuntimeTypeFile, writeEnvReflection, writeEnvReflectionSync, writeEnvTypeReflection };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "../type-CnPIyotQ.mjs";
|
|
2
|
+
import "../plugin-VRahDLZZ.mjs";
|
|
3
|
+
import "../config-D2esSp2r.mjs";
|
|
4
|
+
import "../runtime-ChZa5p23.mjs";
|
|
5
|
+
import { n as loadEnvFromContext, t as loadEnv } from "../load-Dzf30s_a.mjs";
|
|
6
|
+
import { t as createReflectionResource } from "../create-reflection-resource-D7go0-VG.mjs";
|
|
7
|
+
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-sVp1g7Mp.mjs";
|
|
8
|
+
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-C1joiXZ1.mjs";
|
|
9
|
+
import { n as removeEnvPrefix, t as formatEnvField } from "../source-file-env-DzpWKluw.mjs";
|
|
10
|
+
import { t as createTemplateReflection } from "../template-helpers-DmfAtQIT.mjs";
|
|
11
|
+
import "../index-Bt4QNofW.mjs";
|
|
12
|
+
export { BaseEnv, BaseSecrets, CreateEnvReflectionOptions, __ΩCreateEnvReflectionOptions, createEnvReflection, createReflectionResource, createSecretsReflection, createTemplateReflection, formatEnvField, getEnvDefaultTypeDefinition, getEnvReflectionsPath, getEnvTypeReflectionsPath, getSecretsDefaultTypeDefinition, loadEnv, loadEnvFromContext, mergeEnvReflections, mergeSecretsReflections, readEnvReflection, readEnvTypeReflection, readSecretsReflection, reflectEnv, reflectSecrets, removeEnvPrefix, resolveRuntimeTypeFile, writeEnvReflection, writeEnvReflectionSync, writeEnvTypeReflection };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n as u,o as d,p as f,r as p,s as m,t as h,u as g,v as _,y as v}from"../persistence-Br-YMVb1.mjs";import{n as y,t as b}from"../source-file-env-BDFTs5WJ.mjs";import{n as x,t as S}from"../load-BZTlThWg.mjs";import{t as C}from"../create-reflection-resource-UtOwX4Ml.mjs";import{t as w}from"../template-helpers-CLrM_TtO.mjs";import"../helpers-DfMThUgD.mjs";export{i as BaseEnv,f as BaseSecrets,l as createEnvReflection,C as createReflectionResource,o as createSecretsReflection,w as createTemplateReflection,b as formatEnvField,h as getEnvDefaultTypeDefinition,u as getEnvReflectionsPath,p as getEnvTypeReflectionsPath,s as getSecretsDefaultTypeDefinition,S as loadEnv,x as loadEnvFromContext,a as mergeEnvReflections,e as mergeSecretsReflections,t as readEnvReflection,d as readEnvTypeReflection,m as readSecretsReflection,_ as reflectEnv,v as reflectSecrets,y as removeEnvPrefix,n as resolveRuntimeTypeFile,c as writeEnvReflection,g as writeEnvReflectionSync,r as writeEnvTypeReflection};
|
package/dist/helpers/load.cjs
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
* ⚡ Built by Storm Software
|
|
4
|
-
*
|
|
5
|
-
*****************************************/
|
|
6
|
-
|
|
7
|
-
async function k(e,o,a){let n=await loadEnv.loadEnv(a,o);if(e.additionalFiles&&e.additionalFiles?.length>0){const r=await Promise.all(e.additionalFiles.map(async i=>loadEnv.loadEnvFile(i,a)));for(const i of r)n=m__default.default(i,n);}return sourceFileEnv.removeEnvPrefix(n)}chunkFBBMZ4NC_cjs.a(k,"loadEnvFiles");async function p(e,o,a,n,r,i){const[l,t]=await Promise.all([k(e,a,o),c12.loadConfig({cwd:o,name:"storm",envName:a,defaults:{NAME:r.name?.replace(`@${i.namespace}/`,""),MODE:a,ORG:i.organization},globalRc:true,packageJson:true,dotenv:true,jitiOptions:{fsCache:joinPaths.joinPaths(n,"jiti"),moduleCache:true}})]);return m__default.default(l,t.config,i)}chunkFBBMZ4NC_cjs.a(p,"loadEnvDirectory");function C(e,o){return m__default.default({APP_NAME:kebabCase.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:`${kebabCase.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:isSetString.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},isSetObject.isSetObject(e?.env?.types?.env)?e.env.types.env?.getProperties().reduce((a,n)=>(a[n.name]=o[n.name]??n.getDefaultValue(),a),{}):{})}chunkFBBMZ4NC_cjs.a(C,"loadEnvFromContext");async function N(e,o){const[a,n,r]=await Promise.all([p(o,e.config.projectRoot,e.config.mode,e.cachePath,e.packageJson,e.workspaceConfig),p(o,e.workspaceConfig.workspaceRoot,e.config.mode,e.cachePath,e.packageJson,e.workspaceConfig),p(o,e.envPaths.config,e.config.mode,e.cachePath,e.packageJson,e.workspaceConfig)]);return m__default.default(C(e,process.env),a,n,r)}chunkFBBMZ4NC_cjs.a(N,"loadEnv");exports.loadEnv=N;exports.loadEnvFromContext=C;
|
|
1
|
+
require(`../source-file-env-C6uYyxww.cjs`);const e=require(`../load-nUlit5lR.cjs`);exports.loadEnv=e.t,exports.loadEnvFromContext=e.n;
|
package/dist/helpers/load.d.cts
CHANGED
|
@@ -1,57 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
import 'jiti';
|
|
8
|
-
import 'magic-string';
|
|
9
|
-
import 'semver';
|
|
10
|
-
import 'ts-morph';
|
|
11
|
-
import 'unplugin';
|
|
12
|
-
import '@babel/core';
|
|
13
|
-
import '@storm-software/build-tools/types';
|
|
14
|
-
import '@storm-software/config-tools/types';
|
|
15
|
-
import '@storm-software/config/types';
|
|
16
|
-
import '@stryke/types/configuration';
|
|
17
|
-
import '@stryke/types/file';
|
|
18
|
-
import 'vite';
|
|
19
|
-
import '@babel/helper-plugin-utils';
|
|
20
|
-
import '../fs-ECFlqnPg.cjs';
|
|
21
|
-
import '@stryke/fs/resolve';
|
|
22
|
-
import '@stryke/types/array';
|
|
23
|
-
import '@stryke/types/tsconfig';
|
|
24
|
-
import 'typescript';
|
|
25
|
-
import '@alloy-js/core/jsx-runtime';
|
|
26
|
-
import '@deepkit/type';
|
|
27
|
-
import '@stryke/capnp';
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Retrieves various dotenv configuration parameters from the context.
|
|
31
|
-
*
|
|
32
|
-
* @param context - The context to retrieve the dotenv configuration from.
|
|
33
|
-
* @param parsed - The parsed dotenv configuration.
|
|
34
|
-
* @returns An object containing the dotenv configuration.
|
|
35
|
-
*/
|
|
36
|
-
declare function loadEnvFromContext(context: EnvPluginContext, parsed: DotenvParseOutput): {
|
|
37
|
-
APP_NAME: string | undefined;
|
|
38
|
-
APP_VERSION: string | undefined;
|
|
39
|
-
BUILD_ID: string;
|
|
40
|
-
BUILD_TIMESTAMP: string;
|
|
41
|
-
BUILD_CHECKSUM: string;
|
|
42
|
-
RELEASE_ID: string;
|
|
43
|
-
RELEASE_TAG: string;
|
|
44
|
-
DEFAULT_LOCALE: string | undefined;
|
|
45
|
-
DEFAULT_TIMEZONE: string | undefined;
|
|
46
|
-
LOG_LEVEL: "debug" | "error" | "warn" | "info" | "trace" | null;
|
|
47
|
-
ERROR_URL: string | undefined;
|
|
48
|
-
ORGANIZATION: string | undefined;
|
|
49
|
-
PLATFORM: "node" | "browser" | "neutral" | undefined;
|
|
50
|
-
MODE: "test" | "development" | "production" | undefined;
|
|
51
|
-
DEBUG: boolean;
|
|
52
|
-
STACKTRACE: boolean;
|
|
53
|
-
ENVIRONMENT: EnvironmentResolvedConfig;
|
|
54
|
-
};
|
|
55
|
-
declare function loadEnv<TEnv extends DotenvParseOutput = DotenvParseOutput>(context: EnvPluginContext, options: EnvPluginOptions): Promise<TEnv>;
|
|
56
|
-
|
|
57
|
-
export { loadEnv, loadEnvFromContext };
|
|
1
|
+
import "../type-D6dRgWJT.cjs";
|
|
2
|
+
import "../plugin-Cl-yPswT.cjs";
|
|
3
|
+
import "../config-Dli3ofDp.cjs";
|
|
4
|
+
import "../runtime-CIWxfv47.cjs";
|
|
5
|
+
import { n as loadEnvFromContext, t as loadEnv } from "../load-CWOZ3u-s.cjs";
|
|
6
|
+
export { loadEnv, loadEnvFromContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../source-file-env-BDFTs5WJ.mjs";import{n as e,t}from"../load-BZTlThWg.mjs";export{t as loadEnv,e as loadEnvFromContext};
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
* ⚡ Built by Storm Software
|
|
4
|
-
*
|
|
5
|
-
*****************************************/
|
|
6
|
-
|
|
7
|
-
async function B(e){return resolve.resolvePackage("@powerlines/plugin-env/types/runtime",{paths:[e.workspaceConfig.workspaceRoot,joinPaths.joinPaths(e.workspaceConfig.workspaceRoot,e.config.projectRoot)]})}chunkFBBMZ4NC_cjs.a(B,"resolveRuntimeTypeFile");async function x(e){return {file:await B(e),name:"EnvInterface"}}chunkFBBMZ4NC_cjs.a(x,"getEnvDefaultTypeDefinition");async function ee(e){return {file:await B(e),name:"SecretsInterface"}}chunkFBBMZ4NC_cjs.a(ee,"getSecretsDefaultTypeDefinition");function b(e,n="env"){return joinPaths.joinPaths(resolveReflections.getReflectionsPath(e),"env",`${n}-types.bin`)}chunkFBBMZ4NC_cjs.a(b,"getEnvTypeReflectionsPath");async function M(e,n="env"){const t=b(e,n);if(!node_fs.existsSync(t)){if(!e.env.types.env||isEmptyObject.isEmptyObject(e.env.types.env)){const f=reflect.createEnvReflection(e),C=new v__namespace.Message;f.messageRoot=C.initRoot(reflection.SerializedTypes),f.dataBuffer=C.toArrayBuffer(),e.env.types.env=f,await A(e,e.env.types.env,n);}return e.env.types.env}const o=await buffer.readFileBuffer(t),i=new v__namespace.Message(o,false).getRoot(reflection.SerializedTypes),r=type.resolveClassType(type.deserializeType(capnp.convertFromCapnp(i.types)));return e.env.types[n]=r,e.env.types[n].messageRoot=i,e.env.types[n].dataBuffer=o,r}chunkFBBMZ4NC_cjs.a(M,"readEnvTypeReflection");async function A(e,n,t="env"){const o=n.serializeType(),s=new v__namespace.Message,i=s.initRoot(reflection.SerializedTypes);capnp.convertToCapnp(o,i._initTypes(o.length)),await buffer.writeFileBuffer(b(e,t),s.toArrayBuffer());}chunkFBBMZ4NC_cjs.a(A,"writeEnvTypeReflection");function l(e,n){return joinPaths.joinPaths(resolveReflections.getReflectionsPath(e),"env",`${n}.bin`)}chunkFBBMZ4NC_cjs.a(l,"getEnvReflectionsPath");async function ne(e){const n=l(e,"env");if(!node_fs.existsSync(n)){if(e.env.types.env||(e.env.types.env=await M(e,"env")),!e.env.used.env||isEmptyObject.isEmptyObject(e.env.used.env)){const r=reflect.createEnvReflection(e,{type:{kind:type.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});r.name="Env";const f=new v__namespace.Message;r.messageRoot=f.initRoot(reflection.SerializedTypes),r.dataBuffer=f.toArrayBuffer(),e.env.used.env=r,await S(e,e.env.used.env,"env");}return e.env.used.env}const t=await buffer.readFileBuffer(n),s=new v__namespace.Message(t,false).getRoot(reflection.SerializedTypes),i=type.resolveClassType(type.deserializeType(capnp.convertFromCapnp(s.types)));return e.env.used.env=i,e.env.used.env.messageRoot=s,e.env.used.env.dataBuffer=t,i}chunkFBBMZ4NC_cjs.a(ne,"readEnvReflection");async function se(e){const n=l(e,"secrets");if(!node_fs.existsSync(n)){if(e.env.types.secrets||(e.env.types.secrets=await M(e,"secrets")),!e.env.used.secrets||isEmptyObject.isEmptyObject(e.env.used.secrets)){const r=reflect.createEnvReflection(e,{type:{kind:type.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});r.name="Secrets";const f=new v__namespace.Message;r.messageRoot=f.initRoot(reflection.SerializedTypes),r.dataBuffer=f.toArrayBuffer(),e.env.used.secrets=r,await S(e,e.env.used.secrets,"secrets");}return e.env.used.secrets}const t=await buffer.readFileBuffer(n),s=new v__namespace.Message(t,false).getRoot(reflection.SerializedTypes),i=type.resolveClassType(type.deserializeType(capnp.convertFromCapnp(s.types)));return e.env.used.secrets=i,e.env.used.secrets.messageRoot=s,e.env.used.secrets.dataBuffer=t,i}chunkFBBMZ4NC_cjs.a(se,"readSecretsReflection");async function S(e,n,t="env"){const o=n.serializeType(),s=new v__namespace.Message,i=s.initRoot(reflection.SerializedTypes);capnp.convertToCapnp(o,i._initTypes(o.length)),await buffer.writeFileBuffer(l(e,t),s.toArrayBuffer());}chunkFBBMZ4NC_cjs.a(S,"writeEnvReflection");function te(e,n,t="env"){const o=n.serializeType(),s=new v__namespace.Message,i=s.initRoot(reflection.SerializedTypes);capnp.convertToCapnp(o,i._initTypes(o.length)),buffer.writeFileBufferSync(l(e,t),s.toArrayBuffer());}chunkFBBMZ4NC_cjs.a(te,"writeEnvReflectionSync");exports.getEnvDefaultTypeDefinition=x;exports.getEnvReflectionsPath=l;exports.getEnvTypeReflectionsPath=b;exports.getSecretsDefaultTypeDefinition=ee;exports.readEnvReflection=ne;exports.readEnvTypeReflection=M;exports.readSecretsReflection=se;exports.resolveRuntimeTypeFile=B;exports.writeEnvReflection=S;exports.writeEnvReflectionSync=te;exports.writeEnvTypeReflection=A;
|
|
1
|
+
const e=require(`../persistence-KaP3-ka1.cjs`);exports.getEnvDefaultTypeDefinition=e.t,exports.getEnvReflectionsPath=e.n,exports.getEnvTypeReflectionsPath=e.r,exports.getSecretsDefaultTypeDefinition=e.i,exports.readEnvReflection=e.a,exports.readEnvTypeReflection=e.o,exports.readSecretsReflection=e.s,exports.resolveRuntimeTypeFile=e.c,exports.writeEnvReflection=e.l,exports.writeEnvReflectionSync=e.u,exports.writeEnvTypeReflection=e.d;
|