const ENV_TYPE = { DEV: 'dev', TEST: 'test', PROD: 'prod' } const normalizeEnv = (value) => { if (!value) return ENV_TYPE.DEV if (value === 'development' || value === 'dev') return ENV_TYPE.DEV if (value === 'production' || value === 'prod') return ENV_TYPE.PROD if (value === 'test') return ENV_TYPE.TEST return ENV_TYPE.DEV } const currentEnv = normalizeEnv(import.meta.env.VITE_APP_ENV || import.meta.env.MODE) const envConfig = { [ENV_TYPE.DEV]: { API_BASE_URL: 'http://localhost:19089', WS_URL: 'ws://localhost:19089', DEBUG: true }, [ENV_TYPE.TEST]: { API_BASE_URL: 'https://lifescript.happylifeos.com/api', WS_URL: 'wss://lifescript.happylifeos.com', DEBUG: true }, [ENV_TYPE.PROD]: { API_BASE_URL: 'https://lifescript.happylifeos.com/api', WS_URL: 'wss://lifescript.happylifeos.com', DEBUG: false } } const getConfig = () => { const base = envConfig[currentEnv] || envConfig[ENV_TYPE.DEV] const apiBaseUrl = import.meta.env.VITE_API_BASE_URL || base.API_BASE_URL const wsUrl = import.meta.env.VITE_WS_URL || base.WS_URL const debug = import.meta.env.VITE_DEBUG !== undefined ? import.meta.env.VITE_DEBUG === 'true' : base.DEBUG return { API_BASE_URL: apiBaseUrl, WS_URL: wsUrl, DEBUG: debug } } const getEnvValue = (key) => { const config = getConfig() return config[key] } const isDev = () => { return currentEnv === ENV_TYPE.DEV } const isTest = () => { return currentEnv === ENV_TYPE.TEST } const isProd = () => { return currentEnv === ENV_TYPE.PROD } export { ENV_TYPE, currentEnv, getConfig, getEnvValue, isDev, isTest, isProd } export default { ENV_TYPE, currentEnv, getConfig, getEnvValue, isDev, isTest, isProd }