From 7ca185e91e9924ab000b80d81e2f217dc775b73c Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Wed, 17 Jul 2024 16:05:46 +0200 Subject: [PATCH] feat: type check template --- packages/astro/dev-only.d.ts | 5 +++++ packages/astro/templates/env/module.mjs | 13 +++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 packages/astro/dev-only.d.ts diff --git a/packages/astro/dev-only.d.ts b/packages/astro/dev-only.d.ts new file mode 100644 index 000000000000..5a5420a95ced --- /dev/null +++ b/packages/astro/dev-only.d.ts @@ -0,0 +1,5 @@ +// IMPORTANT: do not publish this file! It's only intended for development within the monorepo + +declare module 'virtual:astro:env/internal' { + export const schema: import('./src/env/schema.js').EnvSchema; +} diff --git a/packages/astro/templates/env/module.mjs b/packages/astro/templates/env/module.mjs index 22993ee26351..08c0a0a7a562 100644 --- a/packages/astro/templates/env/module.mjs +++ b/packages/astro/templates/env/module.mjs @@ -1,10 +1,11 @@ +// @ts-check import { schema } from 'virtual:astro:env/internal'; import { - createInvalidVariableError, + createInvalidVariablesError, getEnv, setOnSetGetEnv, - validateEnvVariables, - getEnvFieldType + validateEnvVariable, + getEnvFieldType, } from 'astro/env/runtime'; export const getSecret = (key) => { @@ -16,12 +17,12 @@ const _internalGetSecret = (key) => { const variable = rawVariable === '' ? undefined : rawVariable; const options = schema[key]; - const result = validateEnvVariables(variable, options); + const result = validateEnvVariable(variable, options); if (result.ok) { return result.value; } - const type = getEnvFieldType(options) - throw createInvalidVariableError(key, type, result); + const type = getEnvFieldType(options); + throw createInvalidVariablesError(key, type, result); }; setOnSetGetEnv((reset) => {