diff options
Diffstat (limited to 'packages/integrations/cloudflare/src/index.ts')
-rw-r--r-- | packages/integrations/cloudflare/src/index.ts | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/packages/integrations/cloudflare/src/index.ts b/packages/integrations/cloudflare/src/index.ts index a0f3d8ba1..6ded561dd 100644 --- a/packages/integrations/cloudflare/src/index.ts +++ b/packages/integrations/cloudflare/src/index.ts @@ -19,6 +19,7 @@ import { type CloudflareModulePluginExtra, cloudflareModuleLoader, } from './utils/cloudflare-module-loader.js'; +import { createGetEnv } from './utils/env.js'; import { createRoutesFile, getParts } from './utils/generate-routes-json.js'; import { setImageConfig } from './utils/image-config.js'; import { mutateDynamicPageImportsInPlace, mutatePageMapInPlace } from './utils/index.js'; @@ -191,6 +192,7 @@ export default function createIntegration(args?: Options): AstroIntegration { isSharpCompatible: false, isSquooshCompatible: false, }, + envGetSecret: 'experimental', }, }); }, @@ -202,6 +204,17 @@ export default function createIntegration(args?: Options): AstroIntegration { persist: args.platformProxy.persist ?? true, }); + const getEnv = createGetEnv(platformProxy.env); + + if (_config.experimental.env?.schema) { + for (const key of Object.keys(_config.experimental.env.schema)) { + const value = getEnv(key); + if (value !== undefined) { + process.env[key] = value; + } + } + } + const clientLocalsSymbol = Symbol.for('astro.locals'); server.middlewares.use(async function middleware(req, res, next) { |