import { z } from 'zod'; import { config } from 'dotenv'; import { resolve } from 'path'; // Load .env file from the api package root config({ path: resolve(process.cwd(), '.env') }); const envSchema = z.object({ NODE_ENV: z.enum(['development', 'production', 'test']).default('development'), PORT: z.string().default('4000'), DATABASE_URL: z.string(), JWT_SECRET: z.string().min(32), JWT_EXPIRES_IN: z.string().default('15m'), JWT_REFRESH_EXPIRES_IN: z.string().default('7d'), CORS_ORIGIN: z.string().default('http://localhost:3000'), }); const parsed = envSchema.safeParse(process.env); if (!parsed.success) { console.error('❌ Invalid environment variables:', parsed.error.flatten().fieldErrors); process.exit(1); } export const env = parsed.data; // Parse CORS origins (comma-separated) into array export function getCorsOrigins(): string[] { return env.CORS_ORIGIN.split(',').map(origin => origin.trim()); }