Files
Zero/lib/env.ts
2025-02-13 11:22:48 -05:00

29 lines
1017 B
TypeScript

import { createEnv } from "@t3-oss/env-nextjs";
import { z } from "zod";
export const env = createEnv({
server: {
NODE_ENV: z.enum(["development", "production", "test"]).default("development"),
DATABASE_URL: z.string().min(1),
BETTER_AUTH_SECRET: z.string().min(1),
BETTER_AUTH_URL: z.string().min(1).url(),
GOOGLE_CLIENT_ID: z.string().min(1),
GOOGLE_CLIENT_SECRET: z.string().min(1),
GOOGLE_REDIRECT_URI: z.string().min(1).url(),
REDIS_URL: z.string().min(1).url(),
REDIS_TOKEN: z.string().min(1),
RESEND_API_KEY: z.string().min(1).optional(),
},
client: {
NEXT_PUBLIC_APP_URL: z.string().min(1).url(),
NEXT_PUBLIC_POSTHOG_KEY: z.string().optional(),
NEXT_PUBLIC_POSTHOG_HOST: z.string().optional(),
},
experimental__runtimeEnv: {
NEXT_PUBLIC_APP_URL: process.env.NEXT_PUBLIC_APP_URL,
NEXT_PUBLIC_POSTHOG_HOST: process.env.NEXT_PUBLIC_POSTHOG_HOST,
NEXT_PUBLIC_POSTHOG_KEY: process.env.NEXT_PUBLIC_POSTHOG_KEY,
...process.env,
},
});