From be9f8c1321b98fc39cbef3bca6ffd4ec29c7d760 Mon Sep 17 00:00:00 2001 From: Xiao Yijun Date: Mon, 19 Aug 2024 16:37:20 +0800 Subject: [PATCH] fix(experience): update dev features flag env handling --- packages/experience/src/constants/env.ts | 7 ++++++- packages/experience/vite.config.ts | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/experience/src/constants/env.ts b/packages/experience/src/constants/env.ts index d30c92c950e..654b9f07fd6 100644 --- a/packages/experience/src/constants/env.ts +++ b/packages/experience/src/constants/env.ts @@ -1,4 +1,9 @@ import { yes } from '@silverhand/essentials'; +const normalizeEnv = (value: unknown) => + value === null || value === undefined ? undefined : String(value); + +const isProduction = import.meta.env.PROD; + export const isDevFeaturesEnabled = - process.env.NODE_ENV !== 'production' || yes(process.env.DEV_FEATURES_ENABLED); + !isProduction || yes(normalizeEnv(import.meta.env.DEV_FEATURES_ENABLED)); diff --git a/packages/experience/vite.config.ts b/packages/experience/vite.config.ts index 69d98afc845..50e7016d177 100644 --- a/packages/experience/vite.config.ts +++ b/packages/experience/vite.config.ts @@ -26,6 +26,9 @@ const buildConfig = (mode: string): UserConfig => ({ viteCompression({ disable: mode === 'development' }), viteCompression({ disable: mode === 'development', algorithm: 'brotliCompress' }), ], + define: { + 'import.meta.env.DEV_FEATURES_ENABLED': JSON.stringify(process.env.DEV_FEATURES_ENABLED), + }, build: { // Use the same browserslist configuration as in README.md. // Consider using the esbuild target directly in the future.