aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/cloudflare/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/cloudflare/src/index.ts')
-rw-r--r--packages/integrations/cloudflare/src/index.ts13
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) {