getTemplates() — astro Function Reference
Architecture documentation for the getTemplates() function in vite-plugin-env.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD b965fd87_d9a7_8cec_eddf_d034000cbcb5["getTemplates()"] 241a5d79_df85_b217_dc9c_a74671cc544b["vite-plugin-env.ts"] b965fd87_d9a7_8cec_eddf_d034000cbcb5 -->|defined in| 241a5d79_df85_b217_dc9c_a74671cc544b 1558dc0d_2a73_5227_6f33_9362e6487ba5["astroEnv()"] 1558dc0d_2a73_5227_6f33_9362e6487ba5 -->|calls| b965fd87_d9a7_8cec_eddf_d034000cbcb5 style b965fd87_d9a7_8cec_eddf_d034000cbcb5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/env/vite-plugin-env.ts lines 171–213
function getTemplates({
schema,
validatedVariables,
loadedEnv,
}: {
schema: EnvSchema;
validatedVariables: Array<ValidVariable>;
loadedEnv: Record<string, string> | null;
}) {
let client = '';
let server = (cachedServerTemplate ??= readFileSync(MODULE_TEMPLATE_URL, 'utf-8'));
let onSetGetEnv = '';
for (const { key, value, context } of validatedVariables) {
const str = `export const ${key} = ${JSON.stringify(value)};`;
if (context === 'client') {
client += str;
} else {
server += str;
}
}
for (const [key, options] of Object.entries(schema)) {
if (!(options.context === 'server' && options.access === 'secret')) {
continue;
}
server += `export let ${key} = _internalGetSecret(${JSON.stringify(key)});\n`;
onSetGetEnv += `${key} = _internalGetSecret(${JSON.stringify(key)});\n`;
}
server = server.replace('// @@ON_SET_GET_ENV@@', onSetGetEnv);
if (loadedEnv) {
server = server.replace('// @@GET_ENV@@', `return (${JSON.stringify(loadedEnv)})[key];`);
} else {
server = server.replace('// @@GET_ENV@@', 'return _getEnv(key);');
}
return {
client,
server,
};
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does getTemplates() do?
getTemplates() is a function in the astro codebase, defined in packages/astro/src/env/vite-plugin-env.ts.
Where is getTemplates() defined?
getTemplates() is defined in packages/astro/src/env/vite-plugin-env.ts at line 171.
What calls getTemplates()?
getTemplates() is called by 1 function(s): astroEnv.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free