diff --git a/vite.config.ts b/vite.config.ts index 2fe0592..d91d2b0 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,69 +1,75 @@ import path from 'path'; import { defineConfig, loadEnv } from 'vite'; +import { unifiedConfig } from './config/unified.config'; export default defineConfig(({ mode }) => { + // Still load env for backward compatibility and overrides const env = loadEnv(mode, '.', ''); + // Use unified config as the primary source + const config = unifiedConfig; + return { define: { // Legacy API key support 'process.env.API_KEY': JSON.stringify(env.GEMINI_API_KEY), 'process.env.GEMINI_API_KEY': JSON.stringify(env.GEMINI_API_KEY), - // Application configuration - 'import.meta.env.VITE_APP_NAME': JSON.stringify( - env.VITE_APP_NAME || env.APP_NAME || 'RxMinder' - ), - 'import.meta.env.VITE_APP_VERSION': JSON.stringify( - env.VITE_APP_VERSION || env.APP_VERSION || '1.0.0' - ), - 'import.meta.env.VITE_BASE_URL': JSON.stringify( - env.APP_BASE_URL || env.VITE_BASE_URL || 'http://localhost:5173' - ), + // Application configuration from unified config + 'import.meta.env.VITE_APP_NAME': JSON.stringify(config.app.name), + 'import.meta.env.VITE_APP_VERSION': JSON.stringify(config.app.version), + 'import.meta.env.VITE_BASE_URL': JSON.stringify(config.app.baseUrl), - // Database configuration - 'import.meta.env.VITE_COUCHDB_URL': JSON.stringify(env.VITE_COUCHDB_URL), + // Database configuration from unified config + 'import.meta.env.VITE_COUCHDB_URL': JSON.stringify(config.database.url), 'import.meta.env.VITE_COUCHDB_USER': JSON.stringify( - env.VITE_COUCHDB_USER + config.database.username ), 'import.meta.env.VITE_COUCHDB_PASSWORD': JSON.stringify( - env.VITE_COUCHDB_PASSWORD + config.database.password ), - // Email configuration + // Email configuration from unified config 'import.meta.env.VITE_MAILGUN_API_KEY': JSON.stringify( - env.VITE_MAILGUN_API_KEY + config.email.mailgun?.apiKey || '' ), 'import.meta.env.VITE_MAILGUN_DOMAIN': JSON.stringify( - env.VITE_MAILGUN_DOMAIN + config.email.mailgun?.domain || '' ), 'import.meta.env.VITE_MAILGUN_FROM_NAME': JSON.stringify( - env.VITE_MAILGUN_FROM_NAME + config.email.fromName ), 'import.meta.env.VITE_MAILGUN_FROM_EMAIL': JSON.stringify( - env.VITE_MAILGUN_FROM_EMAIL + config.email.fromEmail ), - // OAuth configuration + // OAuth configuration from unified config 'import.meta.env.VITE_GOOGLE_CLIENT_ID': JSON.stringify( - env.VITE_GOOGLE_CLIENT_ID + config.oauth.google?.clientId || '' ), 'import.meta.env.VITE_GITHUB_CLIENT_ID': JSON.stringify( - env.VITE_GITHUB_CLIENT_ID + config.oauth.github?.clientId || '' ), - // Feature flags + // Feature flags from unified config 'import.meta.env.ENABLE_EMAIL_VERIFICATION': JSON.stringify( - env.ENABLE_EMAIL_VERIFICATION !== 'false' + config.features.enableEmailVerification ), 'import.meta.env.ENABLE_OAUTH': JSON.stringify( - env.ENABLE_OAUTH !== 'false' + config.features.enableOAuth ), 'import.meta.env.ENABLE_ADMIN_INTERFACE': JSON.stringify( - env.ENABLE_ADMIN_INTERFACE !== 'false' + config.features.enableAdminInterface ), - 'import.meta.env.DEBUG_MODE': JSON.stringify( - env.DEBUG_MODE === 'true' || mode === 'development' + 'import.meta.env.DEBUG_MODE': JSON.stringify(config.features.debugMode), + + // Environment info + 'import.meta.env.NODE_ENV': JSON.stringify(config.app.environment), + 'import.meta.env.IS_PRODUCTION': JSON.stringify( + config.app.environment === 'production' + ), + 'import.meta.env.IS_DEVELOPMENT': JSON.stringify( + config.app.environment === 'development' ), }, resolve: {