Runtime Config
npm install @aritra_debnath/zero-envprocess.env directly is dangerous. If you forget a variable, your app crashes randomly at 3 AM.
zod are great, but they require writing schemas, types, and config files.
.env (bundles dotenv).
bash
npm i @aritra_debnath/zero-env
`
---
Usage
$3
`env
DATABASE_URL=postgres://localhost:5432/mydb
API_KEY=secret_123
`
$3
Instead of process.env, import Zero-env.
`javascript
import env from "@aritra_debnath/zero-env";
// ✅ Works perfectly
connectToDb(env.DATABASE_URL);
// ❌ CRASHES IMMEDIATELY
// You forgot to add 'STRIPE_KEY' to your .env file
const payment = new Stripe(env.STRIPE_KEY);
`
$3
If you access a missing key, the app throws a fatal error intentionally:
`text
Error: ❌ CRASH: Missing Environment Variable
You tried to access 'env.STRIPE_KEY' but it is not defined in your .env file.
`
---
TypeScript Support
Works out of the box. No manual typing required.
The package exports a default object where keys are treated as string.
`typescript
import env from "@aritra_debnath/zero-env";
const key: string = env.API_KEY; // Type inferred as string
`
---
FAQ
Does this work with Next.js / Vite?
Yes, but remember that client-side bundlers often replace process.env.VAR at build time. This package is designed primarily for Node.js runtimes (Backend, API routes, Scripts).
Why does console.log(env) look empty?
Because it is a Proxy. It doesn't hold data itself; it intercepts requests to process.env. If you want to see all variables, use console.log(process.env)`.