refactor: simplify Vite config to use unified config as single source

- Remove loadEnv() double-loading in Vite configuration
- Use unifiedConfig directly for all environment variables
- Add additional config variables for better frontend access
- Eliminates configuration conflicts and reduces complexity
- Provides cleaner, more predictable build process
This commit is contained in:
William Valentin
2025-09-08 20:41:47 -07:00
parent 7b3a5e0506
commit 341aaf1ae0

View File

@@ -1,20 +1,13 @@
import path from 'path';
import { defineConfig, loadEnv } from 'vite';
import { defineConfig } 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
export default defineConfig(() => {
// Use unified config as the single source of truth
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 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),
@@ -71,6 +64,15 @@ export default defineConfig(({ mode }) => {
'import.meta.env.IS_DEVELOPMENT': JSON.stringify(
config.app.environment === 'development'
),
// Additional configurations
'import.meta.env.VITE_USE_MOCK_DB': JSON.stringify(
config.database.useMock
),
'import.meta.env.VITE_LOG_LEVEL': JSON.stringify(config.logging.level),
'import.meta.env.VITE_ENABLE_MONITORING': JSON.stringify(
config.features.enableMonitoring
),
},
resolve: {
alias: {