# Environment Variables

plainweb uses dotenv and zod to parse environment variables.

# Setup

// app/config/env.ts
import dotenv from "dotenv";
import z from "zod";

dotenv.config();

export const envSchema = z.object({
  NODE_ENV: z.enum(["development", "production", "test"]),
  PORT: z.coerce.number().default(3000),
  DB_URL: z.string().default("db.sqlite3"),
});

export type Env = z.infer<typeof envSchema>;

export const env: Env = envSchema.parse(process.env);

# Usage

import { env } from "app/config/env";

console.log(env.NODE_ENV); // either "development", "production" or "test"