From da6b6137197d1bbd7589807596d27ce93c594ab2 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Mon, 12 Aug 2024 15:26:40 +0200 Subject: [PATCH] feat: work on todos --- packages/astro/src/container/index.ts | 2 +- packages/astro/src/core/app/types.ts | 3 +-- packages/astro/src/core/base-pipeline.ts | 2 +- packages/astro/src/core/build/generate.ts | 2 +- packages/astro/src/core/build/plugins/plugin-manifest.ts | 3 +-- packages/astro/src/core/sync/setup-env-ts.ts | 8 +++----- packages/astro/src/env/vite-plugin-env.ts | 4 ---- packages/astro/src/integrations/features-validation.ts | 2 +- packages/astro/src/vite-plugin-astro-server/plugin.ts | 2 +- 9 files changed, 10 insertions(+), 18 deletions(-) diff --git a/packages/astro/src/container/index.ts b/packages/astro/src/container/index.ts index 292b49ece1..645b8bb134 100644 --- a/packages/astro/src/container/index.ts +++ b/packages/astro/src/container/index.ts @@ -129,7 +129,7 @@ function createManifest( i18n: manifest?.i18n, checkOrigin: false, middleware: manifest?.middleware ?? middleware ?? defaultMiddleware, - experimentalEnvGetSecretEnabled: false, + envGetSecretEnabled: false, }; } diff --git a/packages/astro/src/core/app/types.ts b/packages/astro/src/core/app/types.ts index 2e4e8d8057..e028d79aa5 100644 --- a/packages/astro/src/core/app/types.ts +++ b/packages/astro/src/core/app/types.ts @@ -69,8 +69,7 @@ export type SSRManifest = { i18n: SSRManifestI18n | undefined; middleware: MiddlewareHandler; checkOrigin: boolean; - // TODO: remove experimental prefix - experimentalEnvGetSecretEnabled: boolean; + envGetSecretEnabled: boolean; }; export type SSRManifestI18n = { diff --git a/packages/astro/src/core/base-pipeline.ts b/packages/astro/src/core/base-pipeline.ts index 01e18bfa03..f85daa8ae3 100644 --- a/packages/astro/src/core/base-pipeline.ts +++ b/packages/astro/src/core/base-pipeline.ts @@ -69,7 +69,7 @@ export abstract class Pipeline { } // In SSR, getSecret should fail by default. Setting it here will run before the // adapter override. - if (callSetGetEnv && manifest.experimentalEnvGetSecretEnabled) { + if (callSetGetEnv && manifest.envGetSecretEnabled) { setGetEnv(() => { throw new AstroError(AstroErrorData.EnvUnsupportedGetSecret); }, true); diff --git a/packages/astro/src/core/build/generate.ts b/packages/astro/src/core/build/generate.ts index 5897ba7e4d..334b975971 100644 --- a/packages/astro/src/core/build/generate.ts +++ b/packages/astro/src/core/build/generate.ts @@ -551,6 +551,6 @@ function createBuildManifest( buildFormat: settings.config.build.format, middleware, checkOrigin: settings.config.security?.checkOrigin ?? false, - experimentalEnvGetSecretEnabled: false, + envGetSecretEnabled: false, }; } diff --git a/packages/astro/src/core/build/plugins/plugin-manifest.ts b/packages/astro/src/core/build/plugins/plugin-manifest.ts index bb1add5b45..e04589c959 100644 --- a/packages/astro/src/core/build/plugins/plugin-manifest.ts +++ b/packages/astro/src/core/build/plugins/plugin-manifest.ts @@ -277,8 +277,7 @@ function buildManifest( buildFormat: settings.config.build.format, checkOrigin: settings.config.security?.checkOrigin ?? false, serverIslandNameMap: Array.from(settings.serverIslandNameMap), - experimentalEnvGetSecretEnabled: - settings.config.experimental.env !== undefined && + envGetSecretEnabled: (settings.adapter?.supportedAstroFeatures.envGetSecret ?? 'unsupported') !== 'unsupported', }; } diff --git a/packages/astro/src/core/sync/setup-env-ts.ts b/packages/astro/src/core/sync/setup-env-ts.ts index 39eb062e5b..c04faa7487 100644 --- a/packages/astro/src/core/sync/setup-env-ts.ts +++ b/packages/astro/src/core/sync/setup-env-ts.ts @@ -48,12 +48,10 @@ export async function setUpEnvTs({ filename: ACTIONS_TYPES_FILE, meetsCondition: () => fs.existsSync(new URL(ACTIONS_TYPES_FILE, settings.dotAstroDir)), }, - ]; - if (settings.config.experimental.env) { - injectedTypes.push({ + { filename: ENV_TYPES_FILE, - }); - } + }, + ]; if (fs.existsSync(envTsPath)) { const initialEnvContents = await fs.promises.readFile(envTsPath, 'utf-8'); diff --git a/packages/astro/src/env/vite-plugin-env.ts b/packages/astro/src/env/vite-plugin-env.ts index 06f34ae97d..242f2caea3 100644 --- a/packages/astro/src/env/vite-plugin-env.ts +++ b/packages/astro/src/env/vite-plugin-env.ts @@ -12,10 +12,6 @@ import { type InvalidVariable, invalidVariablesToError } from './errors.js'; import type { EnvSchema } from './schema.js'; import { getEnvFieldType, validateEnvVariable } from './validators.js'; -// TODO: rename experimentalWhatever in ssr manifest -// TODO: update integrations compat -// TODO: update adapters - interface AstroEnvPluginParams { settings: AstroSettings; mode: 'dev' | 'build' | string; diff --git a/packages/astro/src/integrations/features-validation.ts b/packages/astro/src/integrations/features-validation.ts index 87de3592b7..17302cfe94 100644 --- a/packages/astro/src/integrations/features-validation.ts +++ b/packages/astro/src/integrations/features-validation.ts @@ -94,7 +94,7 @@ export function validateSupportedFeatures( adapterName, logger, 'astro:env getSecret', - () => config?.experimental?.env !== undefined, + () => Object.keys(config?.env.schema ?? {}).length !== 0, ); return validationResult; diff --git a/packages/astro/src/vite-plugin-astro-server/plugin.ts b/packages/astro/src/vite-plugin-astro-server/plugin.ts index 7d1e2fb6f8..0d8e2dc74a 100644 --- a/packages/astro/src/vite-plugin-astro-server/plugin.ts +++ b/packages/astro/src/vite-plugin-astro-server/plugin.ts @@ -147,7 +147,7 @@ export function createDevelopmentManifest(settings: AstroSettings): SSRManifest inlinedScripts: new Map(), i18n: i18nManifest, checkOrigin: settings.config.security?.checkOrigin ?? false, - experimentalEnvGetSecretEnabled: false, + envGetSecretEnabled: false, middleware(_, next) { return next(); },