env-validator-tool
v1.0.5
Published
Valida archivos .env contra .env.example - herramienta para developers
Maintainers
Readme
Languages:
- 🇺🇸 English (default)
- 🇲🇽 Español
env-validator 🔒
Validates
.envfiles against.env.exampleand detects missing variables before production.
Why does it exist?
Configuration errors are the #1 cause of production failures. This tool catches those errors before they get there.
Installation
# Global installation (recommended)
npm install -g env-validator-tool
# Or use directly with npx
npx env-validator-toolQuick usage
Basic validation
env-validatorView differences line by line
env-validator --diffAutomatically add missing variables
env-validator --fixStrict mode (fails if anything is missing) - ideal for CI/CD
env-validator --strictFull commands
| Command | What it does | | ----------------------- | -------------------------------------- | | env-validator | Validates required variables | | env-validator --diff | Shows detailed comparison | | env-validator --fix | Automatically adds missing ones | | env-validator --verbose | Additional information | | env-validator --strict | Exit code 1 if it fails |
Integration with package.json
{
"scripts": {
"predev": "env-validator",
"prebuild": "env-validator --strict"
}
}With this, every time npm run dev or npm run build is executed, environment variables will be automatically validated.
Full example
Step 1: Create template file
echo "DB_HOST=" > .env.example
echo "DB_PORT=" >> .env.example
echo "API_KEY=" >> .env.exampleStep 2: Create .env file (intentionally incomplete)
echo "DB_HOST=localhost" > .env
echo "DB_PORT=5432" >> .env
# 👈 Missing API_KEYStep 3: Run validator
$ env-validator
❌ 1 variable(s) missing:
- API_KEYStep 4: Auto-fix with --fix
$ env-validator --fix
➕ Added: API_KEY=
✅ 1 variable(s) added to .envStep 5: Verify there are no errors
$ env-validator
✅ All required variables are presentTechnologies
- TypeScript
- Node.js
- CLI nativo (sin dependencias externas)
Project structure
env-validator/
├── lib/
│ ├── parser.ts # .env file parsing
│ └── validator.ts # Validation and diff logic
├── index.ts # Main CLI
├── dist/ # Compiled code (JavaScript)
├── package.json
├── tsconfig.json
└── README.mdDevelopment
git clone https://github.com/tu-usuario/env-validator
cd env-validator
npm installDevelopment commands
# Run in development (direct TypeScript)
npm run validate -- --diff
# Compile to JavaScript
npm run build
# Run compiled version
npm run start
# Test with different options
npm run validate -- --verbose
npm run validate -- --strict
npm run validate -- --fixTest
# Install test dependencies
npm install --save-dev jest @types/jest ts-jest
# Configure jest.config.js
# Run tests
npm testLicense
MIT Galilea Granados
- GitHub: @galilea-g19
- LinkedIn: galileagranados
Made with ❤️ for developers who hate configuration errors
This README is also available in Spanish: README.es.md
