import { z } from "zod" const envSchema = z.object({ BETTER_AUTH_SECRET: z.string().min(1, "Missing BETTER_AUTH_SECRET"), BETTER_AUTH_URL: z.string().url().optional(), NEXT_PUBLIC_CONVEX_URL: z.string().url().optional(), DATABASE_URL: z.string().min(1).optional(), NEXT_PUBLIC_APP_URL: z.string().url().optional(), }) const parsed = envSchema.safeParse(process.env) if (!parsed.success) { console.error("Failed to parse environment variables", parsed.error.flatten().fieldErrors) throw new Error("Invalid environment configuration") } export const env = { BETTER_AUTH_SECRET: parsed.data.BETTER_AUTH_SECRET, BETTER_AUTH_URL: parsed.data.BETTER_AUTH_URL ?? parsed.data.NEXT_PUBLIC_APP_URL ?? "http://localhost:3000", NEXT_PUBLIC_CONVEX_URL: parsed.data.NEXT_PUBLIC_CONVEX_URL, DATABASE_URL: parsed.data.DATABASE_URL, NEXT_PUBLIC_APP_URL: parsed.data.NEXT_PUBLIC_APP_URL, }