envsaurus
Version:
ENVSAURUS is a zero-dependency CLI + library that turns your .env.example into a fully typed config file. It validates environment variables at runtime, fails fast in CI, and exports a safe CONFIG object for Node/TypeScript apps. Catch missing or invalid
69 lines (50 loc) • 1.74 kB
Markdown
# envsaurus

[](https://www.npmjs.com/package/envsaurus)
[](https://www.npmjs.com/package/envsaurus)
[](https://packagephobia.com/result?p=envsaurus)
[](LICENSE)
[](https://www.npmjs.com/package/envsaurus)
[](https://github.com/thegreatbey/envsaurus/actions/workflows/publish.yml)
Generate typed config from .env.example and validate process.env at runtime.
## Quickstart
```bash
npm i -D typescript
npm run build
npx envsaurus --help
```
## CLI
```bash
npx envsaurus gen --example .env.example --out src/config.ts
npx envsaurus check --example .env.example --strict
npx envsaurus schema --example .env.example --format json|yaml
```
## Requirements
- Node >= 18
- CommonJS output by default
## Example
`.env.example`
```env
# PORT:number=3000
PORT=3000
# NODE_ENV:enum(development,production,test)=development
NODE_ENV=development
# API_URL:url
API_URL=
# ENABLE_CACHE:boolean=false
ENABLE_CACHE=false
# FEATURES:json # e.g. {"beta":true}
FEATURES=
```
Generate config (TypeScript):
```bash
npx envsaurus gen --example .env.example --out src/config.ts
```
Generate config (JavaScript + JSDoc):
```bash
npx envsaurus gen --example .env.example --out config.js --js
```
Validate in CI (exit 1 on errors):
```bash
npx envsaurus check --example .env.example --strict
```