Config Schema Validate From Env
Load and validate configuration from environment variables with Zod schema and defaults.
Code
import{z}from'zod';const configSchema=z.object({port:z.coerce.number().int().min(1).max(65535).default(3000),nodeEnv:z.enum(['development','staging','production']).default('development'),logLevel:z.enum(['debug','info','warn','error']).default('info'),databaseUrl:z.string().url(),redisUrl:z.string().url().optional()});export type Config=z.infer<typeof configSchema>;export function loadConfig(env:Record<string,string|undefined>=process.env):Config{return configSchema.parse({port:env.PORT,nodeEnv:env.NODE_ENV,logLevel:env.LOG_LEVEL,databaseUrl:env.DATABASE_URL,redisUrl:env.REDIS_URL});}Report a problem with this exampleOpens a pre-filled issue on GitHub.