@proofkit/cli
Version:
Create web application with the ProofKit stack
32 lines (29 loc) • 1.06 kB
text/typescript
import { createEnv } from "@t3-oss/env-nextjs";
import { z } from "zod/v4";
export const env = createEnv({
server: {
NODE_ENV: z
.enum(["development", "test", "production"])
.default("development"),
FM_DATABASE: z.string().endsWith(".fmp12"),
FM_SERVER: z.string().url(),
OTTO_API_KEY: z.string().startsWith("dk_"),
// Next Auth
NEXTAUTH_SECRET:
process.env.NODE_ENV === "production"
? z.string()
: z.string().optional(),
NEXTAUTH_URL: z.preprocess(
// This makes Vercel deployments not fail if you don't set NEXTAUTH_URL
// Since NextAuth.js automatically uses the VERCEL_URL if present.
(str) => process.env.VERCEL_URL ?? str,
// VERCEL_URL doesn't include `https` so it cant be validated as a URL
process.env.VERCEL ? z.string() : z.string().url()
),
DISCORD_CLIENT_ID: z.string(),
DISCORD_CLIENT_SECRET: z.string(),
},
client: {},
// For Next.js >= 13.4.4, you only need to destructure client variables:
experimental__runtimeEnv: {},
});