diff options
author | 2024-06-20 18:21:03 +0200 | |
---|---|---|
committer | 2024-06-20 18:21:03 +0200 | |
commit | 4489c34aea9cab96c60763850ecfb2d2c272c162 (patch) | |
tree | 1c5d965edeb9ae105c9aadfb922d39f75dc84ebd /packages/integrations/netlify/src | |
parent | bda21bafdf55eddee19593749778b0793b586d11 (diff) | |
download | astro-4489c34aea9cab96c60763850ecfb2d2c272c162.tar.gz astro-4489c34aea9cab96c60763850ecfb2d2c272c162.tar.zst astro-4489c34aea9cab96c60763850ecfb2d2c272c162.zip |
fix(netlify): astro:env getSecret (#293)
Diffstat (limited to 'packages/integrations/netlify/src')
-rw-r--r-- | packages/integrations/netlify/src/index.ts | 15 | ||||
-rw-r--r-- | packages/integrations/netlify/src/ssr-function.ts | 7 |
2 files changed, 17 insertions, 5 deletions
diff --git a/packages/integrations/netlify/src/index.ts b/packages/integrations/netlify/src/index.ts index 8485afffb..cd13d9362 100644 --- a/packages/integrations/netlify/src/index.ts +++ b/packages/integrations/netlify/src/index.ts @@ -124,6 +124,16 @@ async function writeNetlifyDeployConfig(config: AstroConfig, logger: AstroIntegr ); } +// TODO: remove once we don't use a TLA anymore +async function shouldExternalizeAstroEnvSetup() { + try { + await import('astro/env/setup'); + return false; + } catch { + return true; + } +} + export interface NetlifyIntegrationConfig { /** * If enabled, On-Demand-Rendered pages are cached for up to a year. @@ -362,6 +372,11 @@ export default function netlifyIntegration( ignored: [fileURLToPath(new URL('./.netlify/**', rootDir))], }, }, + ...((await shouldExternalizeAstroEnvSetup()) + ? { + ssr: { external: ['astro/env/setup'] }, + } + : {}), }, image: { service: { diff --git a/packages/integrations/netlify/src/ssr-function.ts b/packages/integrations/netlify/src/ssr-function.ts index 46778ea07..dba0dbead 100644 --- a/packages/integrations/netlify/src/ssr-function.ts +++ b/packages/integrations/netlify/src/ssr-function.ts @@ -3,13 +3,10 @@ import type { SSRManifest } from 'astro'; import { App } from 'astro/app'; import { applyPolyfills } from 'astro/app/node'; -type EnvSetupModule = typeof import('astro/env/setup'); - // Won't throw if the virtual module is not available because it's not supported in // the users's astro version or if astro:env is not enabled in the project -const setupModule = 'astro/env/setup'; -await import(/* @vite-ignore */ setupModule) - .then((mod: EnvSetupModule) => mod.setGetEnv((key) => process.env[key])) +await import('astro/env/setup') + .then((mod) => mod.setGetEnv((key) => process.env[key])) .catch(() => {}); applyPolyfills(); |