env-guarder
v1.0.12
Published
Validate and check required Node.js environment variables safely and efficiently
Maintainers
Readme
env-guarder 🛡️
A robust, lightweight, and type-safe environment variable validator for Node.js. Ensure your application has all the required configuration before it even starts.
🚀 Features
- Type Validation: Support for
string,number, andboolean. - Auto-Casting: Automatically converts "3000" to
3000(Number) or "true" totrue(Boolean). - Default Values: Provide sensible defaults for optional variables.
- Custom Validation: Add your own logic with validation functions.
- TypeScript Support: Full type definitions included.
- Powerful CLI: Quickly check environment variables from your terminal.
- Minimal Dependencies: Only uses
chalkanddotenv.
📦 Installation
npm install env-guarder⚡ Usage (CLI)
Check if required environment variables are set in your .env file directly from the terminal.
# Basic usage
npx env-guarder PORT DB_URL
# Specify a custom .env file
npx env-guarder PORT DB_URL --env-file .env.production
# Show help
npx env-guarder --help✅ Output Example
✅ All required env variables are set!🧠 Usage (Code)
Basic Validation
import { validateEnv } from "env-guarder";
const env = validateEnv({
PORT: { required: true, type: "number", default: 3000 },
DB_URL: { required: true },
DEBUG: { type: "boolean", default: false }
});
console.log(env.PORT); // 3000 (Number)
console.log(env.DEBUG); // false (Boolean)Custom Validation
const env = validateEnv({
API_KEY: {
required: true,
validate: (val) => val.length >= 32 || "API_KEY must be at least 32 characters long"
}
});Options
| Option | Type | Default | Description |
| --- | --- | --- | --- |
| exitOnError | boolean | true | If true, calls process.exit(1) on validation failure. If false, throws an Error. |
📘 TypeScript
env-guarder comes with built-in type definitions.
import { validateEnv } from "env-guarder";
interface Config {
PORT: number;
DB_URL: string;
}
const config = validateEnv<Config>({
PORT: { required: true, type: "number" },
DB_URL: { required: true }
});
// config.PORT is correctly typed as number📄 .env Example
PORT=3000
DB_URL=postgres://localhost:5432/mydb🛠 Roadmap
- [ ] Auto
.env.examplegenerator - [ ] Config file support (
env-guarder.config.js) - [ ] Glob patterns for variable names
- [ ] Support for array types
👤 Author
Shakhawat Hossain
- GitHub: @shawal061
📄 License
MIT © Shakhawat Hossain
