From 4f4618dc37e50056bd9c4fb4bdb585bfbc4c029f Mon Sep 17 00:00:00 2001 From: DIYgod Date: Tue, 17 Mar 2026 18:26:42 +0800 Subject: [PATCH] fix(ssr): read injected env in browser --- packages/internal/shared/src/env.ssr.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/internal/shared/src/env.ssr.ts b/packages/internal/shared/src/env.ssr.ts index 995cae2f1..477ee850c 100644 --- a/packages/internal/shared/src/env.ssr.ts +++ b/packages/internal/shared/src/env.ssr.ts @@ -40,8 +40,25 @@ function getRuntimeEnv() { if (metaEnvIsEmpty()) { return process.env } - return import.meta.env + return injectExternalEnv(import.meta.env) } catch { return process.env } } + +declare const globalThis: any +function injectExternalEnv(originEnv: T): T { + if (!("document" in globalThis)) { + return originEnv + } + const prefix = "__followEnv" + const env = globalThis[prefix] + if (!env) { + return originEnv + } + + for (const key in env) { + originEnv[key as keyof T] = env[key] + } + return originEnv +}