Environment Variables Validation
Validate process.env on server startup to fail fast if critical configuration is missing.
Defining the Env Schema
Coerce port numbers and check for required secret keys at boot time:
Schema Definition
import { infer } from "subatom-infer";
const EnvSchema = infer.object({
NODE_ENV: infer.enum(["development", "test", "production"]).default("development"),
PORT: infer.coerce.number().int().default(3000),
DATABASE_URL: infer.string().url(),
API_SECRET: infer.string().min(16)
});
export const env = EnvSchema.parse(process.env);The Fail-Fast Pattern
Using .parse() ensures that if an environment variable is missing, the server crashes immediately at deployment time with a clear prettified error trace instead of failing unexpectedly at 3 AM.
On this page
