dotenv-diff 2.5.5 → 2.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -1
- package/README.md +31 -0
- package/dist/src/core/detectInconsistentNaming.d.ts.map +1 -1
- package/dist/src/core/detectInconsistentNaming.js +1 -2
- package/dist/src/core/detectInconsistentNaming.js.map +1 -1
- package/dist/src/ui/scan/printInconsistentNamingWarning.d.ts.map +1 -1
- package/dist/src/ui/scan/printInconsistentNamingWarning.js +3 -3
- package/dist/src/ui/scan/printInconsistentNamingWarning.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,7 +10,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
10
10
|
- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
## [](https://github.com/Chrilleweb/dotenv-diff/compare/v2.5.
|
|
13
|
+
## [2.5.7](https://github.com/Chrilleweb/dotenv-diff/compare/v2.5.6...v2.5.7) (2026-01-29)
|
|
14
|
+
|
|
15
|
+
### 🐛 Bug Fixes
|
|
16
|
+
|
|
17
|
+
* Updated inconsistent name text ([#243](https://github.com/Chrilleweb/dotenv-diff/issues/243)) ([c400aac](https://github.com/Chrilleweb/dotenv-diff/commit/c400aac46b434d7525d9ad75a135d374ab737b13))
|
|
18
|
+
|
|
19
|
+
## [](https://github.com/Chrilleweb/dotenv-diff/compare/v2.5.5...vnull) (2026-01-29)
|
|
20
|
+
|
|
21
|
+
### 🐛 Bug Fixes
|
|
22
|
+
|
|
23
|
+
* inconsistent naming warning ui ([#241](https://github.com/Chrilleweb/dotenv-diff/issues/241)) ([b672b12](https://github.com/Chrilleweb/dotenv-diff/commit/b672b1206a94b375df1db23a8c0ba4acaa675b84))
|
|
24
|
+
|
|
25
|
+
## [v2.5.5](https://github.com/Chrilleweb/dotenv-diff/compare/v2.5.4...v2.5.5) (2026-01-28)
|
|
14
26
|
|
|
15
27
|
### Bug Fixes
|
|
16
28
|
|
package/README.md
CHANGED
|
@@ -54,6 +54,37 @@ dotenv-diff --strict
|
|
|
54
54
|
|
|
55
55
|
---
|
|
56
56
|
|
|
57
|
+
## Configuration (`--init`)
|
|
58
|
+
|
|
59
|
+
Generate a default config file:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
dotenv-diff --init
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
This creates a dotenv-diff.config.json file:
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"strict": false,
|
|
70
|
+
"example": ".env.example",
|
|
71
|
+
"ignore": ["NODE_ENV", "VITE_MODE"],
|
|
72
|
+
"ignoreUrls": ["https://example.com"]
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Configuration options:**
|
|
77
|
+
- **`strict`** (boolean): Treat warnings as errors (default: false)
|
|
78
|
+
- **`example`** (string): Path to .env file to compare against (or example path for `--compare`)
|
|
79
|
+
- **`ignore`** (array): Array of environment variable names to ignore
|
|
80
|
+
- **`ignoreUrls`** (array): URL patterns to ignore when scanning files
|
|
81
|
+
|
|
82
|
+
You can use all CLI flags in the config file.
|
|
83
|
+
|
|
84
|
+
> **Note:** You can use all CLI flags in the config file and CLI flags always override config file values.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
57
88
|
## Framework-Specific Warnings
|
|
58
89
|
|
|
59
90
|
In SvelteKit and Next.js projects, dotenv-diff detects framework-specific
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectInconsistentNaming.d.ts","sourceRoot":"","sources":["../../../src/core/detectInconsistentNaming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EAAE,GACb,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"detectInconsistentNaming.d.ts","sourceRoot":"","sources":["../../../src/core/detectInconsistentNaming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EAAE,GACb,yBAAyB,EAAE,CA+B7B"}
|
|
@@ -21,8 +21,7 @@ export function detectInconsistentNaming(keys) {
|
|
|
21
21
|
processedPairs.add(pairKey);
|
|
22
22
|
if (areInconsistentlyNamed(key1, key2)) {
|
|
23
23
|
// Always suggest the snake_case version (the one with underscores)
|
|
24
|
-
const
|
|
25
|
-
const suggestion = `Consider using snake_case naming: '${snakeCaseKey}'`;
|
|
24
|
+
const suggestion = key1.includes('_') ? key1 : key2;
|
|
26
25
|
warnings.push({
|
|
27
26
|
key1,
|
|
28
27
|
key2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectInconsistentNaming.js","sourceRoot":"","sources":["../../../src/core/detectInconsistentNaming.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAc;IAEd,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAErB,kCAAkC;YAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,SAAS;YAE7B,uDAAuD;YACvD,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC1C,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAE5B,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACvC,mEAAmE;gBACnE,MAAM,
|
|
1
|
+
{"version":3,"file":"detectInconsistentNaming.js","sourceRoot":"","sources":["../../../src/core/detectInconsistentNaming.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAc;IAEd,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAErB,kCAAkC;YAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,SAAS;YAE7B,uDAAuD;YACvD,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC1C,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAE5B,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACvC,mEAAmE;gBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEpD,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI;oBACJ,IAAI;oBACJ,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,IAAY,EAAE,IAAY;IACxD,2CAA2C;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEzD,0DAA0D;IAC1D,IAAI,WAAW,KAAK,WAAW,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8DAA8D;IAC9D,6DAA6D;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printInconsistentNamingWarning.d.ts","sourceRoot":"","sources":["../../../../src/ui/scan/printInconsistentNamingWarning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,yBAAyB,EAAE,EACrC,MAAM,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"printInconsistentNamingWarning.d.ts","sourceRoot":"","sources":["../../../../src/ui/scan/printInconsistentNamingWarning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,yBAAyB,EAAE,EACrC,MAAM,EAAE,OAAO,QAoBhB"}
|
|
@@ -10,9 +10,9 @@ export function printInconsistentNamingWarning(warnings, isJson) {
|
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
12
|
console.log(chalk.yellow('⚠️ Inconsistent naming found:'));
|
|
13
|
-
for (const
|
|
14
|
-
console.log(chalk.yellow(`
|
|
15
|
-
console.log(chalk.gray(`
|
|
13
|
+
for (const { key1, key2, suggestion } of warnings) {
|
|
14
|
+
console.log(chalk.yellow(` - ${chalk.cyan(key1)} ↔ ${chalk.cyan(key2)}`));
|
|
15
|
+
console.log(chalk.gray(` Suggested name: ${suggestion}`));
|
|
16
16
|
}
|
|
17
17
|
console.log();
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printInconsistentNamingWarning.js","sourceRoot":"","sources":["../../../../src/ui/scan/printInconsistentNamingWarning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAAqC,EACrC,MAAe;IAEf,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE5D,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"printInconsistentNamingWarning.js","sourceRoot":"","sources":["../../../../src/ui/scan/printInconsistentNamingWarning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAAqC,EACrC,MAAe;IAEf,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE5D,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,QAAQ,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjD,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,wBAAwB,UAAU,EAAE,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC"}
|