fix: resolve configuration loading issues

- Simplify vite.config.ts to avoid unified config initialization during build
- Fix pre-commit hook to remove reference to deleted script
- Prevent circular dependencies and initialization conflicts
- Ensure proper lazy loading of configuration
- Resolve blank page issue caused by config loading timing
This commit is contained in:
William Valentin
2025-09-08 21:24:31 -07:00
parent 190cffb61b
commit f6b0e919ef
2 changed files with 12 additions and 80 deletions

View File

@@ -2,11 +2,6 @@
# Enhanced pre-commit checks
# Set FAST_COMMIT=1 to skip enhanced checks and run only basic formatting
if [ "$FAST_COMMIT" = "1" ]; then
echo "🏃‍♂️ Fast commit mode - running basic checks only..."
bun run pre-commit
echo "✅ Basic pre-commit checks passed!"
else
echo "🔧 Running enhanced pre-commit checks..."
./scripts/pre-commit-checks.sh
fi
echo "🔧 Running pre-commit checks..."
bun run pre-commit
echo "✅ Pre-commit checks passed!"

View File

@@ -1,83 +1,20 @@
import path from 'path';
import { defineConfig } from 'vite';
import { unifiedConfig } from './config/unified.config';
export default defineConfig(() => {
// Use unified config as the single source of truth
const config = unifiedConfig;
export default defineConfig(({ mode }) => {
// Use environment variables directly since unified config handles defaults
return {
define: {
// 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 from unified config
'import.meta.env.VITE_COUCHDB_URL': JSON.stringify(config.database.url),
'import.meta.env.VITE_COUCHDB_USER': JSON.stringify(
config.database.username
),
'import.meta.env.VITE_COUCHDB_PASSWORD': JSON.stringify(
config.database.password
),
// Email configuration from unified config
'import.meta.env.VITE_MAILGUN_API_KEY': JSON.stringify(
config.email.mailgun?.apiKey || ''
),
'import.meta.env.VITE_MAILGUN_DOMAIN': JSON.stringify(
config.email.mailgun?.domain || ''
),
'import.meta.env.VITE_MAILGUN_FROM_NAME': JSON.stringify(
config.email.fromName
),
'import.meta.env.VITE_MAILGUN_FROM_EMAIL': JSON.stringify(
config.email.fromEmail
),
// OAuth configuration from unified config
'import.meta.env.VITE_GOOGLE_CLIENT_ID': JSON.stringify(
config.oauth.google?.clientId || ''
),
'import.meta.env.VITE_GITHUB_CLIENT_ID': JSON.stringify(
config.oauth.github?.clientId || ''
),
// Feature flags from unified config
'import.meta.env.ENABLE_EMAIL_VERIFICATION': JSON.stringify(
config.features.enableEmailVerification
),
'import.meta.env.ENABLE_OAUTH': JSON.stringify(
config.features.enableOAuth
),
'import.meta.env.ENABLE_ADMIN_INTERFACE': JSON.stringify(
config.features.enableAdminInterface
),
'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'
),
// 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: {
'@': path.resolve(__dirname, '.'),
},
},
server: {
port: 5173,
host: true,
},
build: {
sourcemap: mode === 'development',
},
};
});