@mc2259/env-guardian
v1.0.0
Published
Smart environment variable manager with validation and coercion
Maintainers
Readme
smart-env
📦 Smart Environment Variable Manager
smart-env is a lightweight Node.js utility that loads and validates environment variables from .env files, ensuring correct types and required fields.
🚀 Features
- ✅ Schema-based validation (required fields, type enforcement)
- 🔄 Auto-coercion (convert "true" to
true, "42" to42, etc.) - 🛠 Fallback defaults if variables are missing
- 📂 Multiple environment support (
.env.development,.env.production) - 🔥 CLI support to validate env files
- 📌 TypeScript support (optional)
📥 Installation
npm install smart-env🛠 Usage
1️⃣ Define your environment variables
Create a .env file in your project root:
API_KEY=my-secret-key
PORT=4000
DEBUG=true2️⃣ Use smart-env in your project
const { loadEnv } = require('smart-env');
const schema = {
PORT: { type: 'number', required: true, default: 3000 },
DEBUG: { type: 'boolean', default: false },
API_KEY: { type: 'string', required: true },
};
const config = loadEnv(schema);
console.log(config);3️⃣ Run CLI to validate environment variables
npx smart-env✅ If everything is set up correctly, you'll see:
✅ Environment variables loaded successfully: { PORT: 4000, DEBUG: true, API_KEY: 'my-secret-key' }❌ If a required variable is missing, it will throw an error:
❌ Error: Missing required env variable: API_KEY⚙️ API
loadEnv(schema: object): object
Loads and validates environment variables based on the schema.
Schema Definition
const schema = {
VARIABLE_NAME: { type: 'string' | 'number' | 'boolean', required: true/false, default: any }
};CLI Usage
npx smart-env🧪 Running Tests
npm test📜 License
This project is licensed under the MIT License.
👨💻 Author
Created by Maitreyi Chatterjee. Feel free to contribute!
