env-diff-cli
v2.0.0
Published
Compare two .env files — find missing keys, extra keys, and changed values (masked by default). Syncing .env.example with .env made easy.
Downloads
159
Maintainers
Readme
env-diff-cli
Compare two .env files and report:
- Keys in file A but missing from file B
- Keys in file B but missing from file A
- Keys present in both but with different values (values masked by default)
- Summary: X missing, Y extra, Z changed
Use cases: syncing .env.example with .env, comparing staging vs prod configs safely.
Install
npm install -g env-diff-cliUsage
env-diff <fileA> <fileB> [options]Examples
# See what .env is missing compared to .env.example
env-diff .env.example .env
# Compare staging vs production (values masked by default)
env-diff .env.staging .env.production
# Reveal actual values for changed keys
env-diff .env.staging .env.production --show-values
# Disable colors (for log files, CI output)
env-diff .env .env.production --no-colorSample Output
env-diff .env.example vs .env
Keys in .env.example but missing from .env (2):
- DATABASE_URL
- REDIS_URL
Keys in .env but missing from .env.example (1):
+ LEGACY_API_KEY
Keys present in both but with different values (1):
~ APP_ENV
.env.example: pr***on (use --show-values to reveal)
.env: st***ng
Summary: 2 missing, 1 extra, 1 changed, 5 matchingOptions
| Flag | Description |
|------|-------------|
| --show-values | Reveal actual values instead of masking with *** |
| --no-color | Disable ANSI color output |
| -h, --help | Show help |
Exit Codes
| Code | Meaning |
|------|---------|
| 0 | No differences found |
| 1 | Differences found (missing, extra, or changed keys) |
| 2 | Error (file not found, bad arguments) |
Exit code 1 on any difference makes it useful as a CI/CD pre-flight check:
# GitHub Actions example
- name: Validate .env completeness
run: env-diff .env.example .env.env Format Support
KEY=VALUEexport KEY=VALUE- Quoted values:
KEY="hello world",KEY='single quoted' - Inline comments:
KEY=value # this part is ignored - Full-line comments:
# comment - Blank lines ignored
License
MIT
