Commit Graph

4 Commits

Author SHA1 Message Date
William Valentin
15170a4f43 db(couchdb): auto-provision databases on startup for production strategy; add TokenService with CouchDB-backed token storage and localStorage fallback; switch OAuth to unified config for client IDs and redirect URI; express Request typing for req.user; align exportAsEnvVars with show-config expectations; remove Vite importmap from index.html; prefer babel-jest over ts-jest; remove duplicate uuid mocking from Jest config 2025-09-09 12:30:38 -07:00
William Valentin
b59160eb10 feat: implement unified configuration as single source of truth
- Make unified config lazy-loaded to avoid initialization issues
- Replace direct config exports with getter functions
- Rewrite utils/env.ts to use unified config instead of scattered access
- Add show-config.js helper script for configuration management
- Type-safe configuration access throughout the app
- Smart defaults for all environments with environment overrides
- Eliminates scattered process.env and import.meta.env access
2025-09-08 21:23:44 -07:00
William Valentin
25b68ee67d feat: improve unified config system and build process
- Enhance unified config environment variable loading with better precedence
- Add environment-aware validation (production validation only when NODE_ENV=production)
- Add environment-specific build commands (build:dev, build:prod, build:staging)
- Improve configuration debugging with cleaner logging
- Remove unnecessary development warnings
- Provides more flexible and maintainable configuration system
2025-09-08 20:43:02 -07:00
William Valentin
248c949973 fix: resolve TypeScript lint errors in unified.config.ts
- Add missing required properties to environment configurations:
  - App: name, version for all environments
  - Database: username, password, name, connectionTimeout, retryAttempts
  - Kubernetes: ingressClass, certIssuer, storageClass, storageSize
  - Features: enableEmailVerification, enableOAuth, enableAdminInterface,
    enableRateLimiting, enableSecurityHeaders
  - Logging: enableTimestamp for all environments
  - Performance: requestTimeout, maxConnections, enableCors
  - Security: sessionSecret for production
  - Email: fromName, fromEmail for test environment

- Fix type assertions in deepMerge function to resolve TypeScript errors

- Set appropriate environment-specific values with secure defaults
  for production and development-friendly settings for dev/test
2025-09-08 09:35:27 -07:00