import { z } from 'zod'; const envSchema = z.object({ NEXT_PUBLIC_DJANGO_API_URL: z.string().url('NEXT_PUBLIC_DJANGO_API_URL must be a valid URL'), NEXT_PUBLIC_CLOUDFLARE_ACCOUNT_ID: z.string().optional(), NEXT_PUBLIC_CLOUDFLARE_IMAGE_URL: z.string().url().optional().or(z.literal('')), }); function validateEnv() { try { return envSchema.parse({ NEXT_PUBLIC_DJANGO_API_URL: process.env.NEXT_PUBLIC_DJANGO_API_URL, NEXT_PUBLIC_CLOUDFLARE_ACCOUNT_ID: process.env.NEXT_PUBLIC_CLOUDFLARE_ACCOUNT_ID, NEXT_PUBLIC_CLOUDFLARE_IMAGE_URL: process.env.NEXT_PUBLIC_CLOUDFLARE_IMAGE_URL, }); } catch (error) { console.error('❌ Invalid environment variables:'); if (error instanceof z.ZodError) { error.errors.forEach((err) => { console.error(` - ${err.path.join('.')}: ${err.message}`); }); } throw new Error('Environment validation failed'); } } export const env = validateEnv();