From 4dfb7454eb61637c2e71e58204af940e501d15bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=B3=96=E9=A5=BC?=
Date: Mon, 11 Aug 2025 10:26:52 +0800
Subject: [PATCH] fix: add environment check to web-router script injection
- Add isVercelEnvironment() function to detect Vercel deployment
- Conditionally inject script tags only in Vercel environments
- Match behavior of Next.js and SvelteKit frameworks
- Ensure consistency across all frameworks in the flags package
---
.changeset/fix-web-router-env-check.md | 5 ++
.../src/web-router/html-transform.test.ts | 49 ++++++++++++-
packages/flags/src/web-router/index.ts | 73 +++++++++++--------
3 files changed, 94 insertions(+), 33 deletions(-)
create mode 100644 .changeset/fix-web-router-env-check.md
diff --git a/.changeset/fix-web-router-env-check.md b/.changeset/fix-web-router-env-check.md
new file mode 100644
index 00000000..d72e588d
--- /dev/null
+++ b/.changeset/fix-web-router-env-check.md
@@ -0,0 +1,5 @@
+---
+'@web-widget/flags-kit': patch
+---
+
+Fix web-router environment check to only inject flag values script tags in Vercel environments, matching Next.js/SvelteKit behavior.
diff --git a/packages/flags/src/web-router/html-transform.test.ts b/packages/flags/src/web-router/html-transform.test.ts
index 26fb10a4..5bdd221a 100644
--- a/packages/flags/src/web-router/html-transform.test.ts
+++ b/packages/flags/src/web-router/html-transform.test.ts
@@ -1,7 +1,20 @@
-import { describe, it, expect } from 'vitest';
+import { describe, it, expect, beforeEach, afterEach } from 'vitest';
import { createFlagScriptInjectionTransform } from './html-transform';
+// Mock process.env for testing
+const originalEnv = process.env;
+
describe('createFlagScriptInjectionTransform', () => {
+ beforeEach(() => {
+ // Reset environment variables before each test
+ process.env = { ...originalEnv };
+ });
+
+ afterEach(() => {
+ // Restore original environment variables
+ process.env = originalEnv;
+ });
+
it('should inject script before
Hello