dotenv-diff 2.4.1 → 2.4.2
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 +7 -0
- package/dist/src/core/t3env/t3EnvRules.d.ts.map +1 -1
- package/dist/src/core/t3env/t3EnvRules.js +5 -7
- package/dist/src/core/t3env/t3EnvRules.js.map +1 -1
- package/dist/src/core/t3env/t3EnvValidator.d.ts.map +1 -1
- package/dist/src/core/t3env/t3EnvValidator.js +10 -9
- package/dist/src/core/t3env/t3EnvValidator.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -17,6 +17,13 @@ This project follows [Keep a Changelog](https://keepachangelog.com/) and [Semant
|
|
|
17
17
|
|
|
18
18
|
-
|
|
19
19
|
|
|
20
|
+
## [2.4.2] - 2025-12-27
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Fixed bug where t3-env schema was not loaded correctly in some edge cases.
|
|
25
|
+
- Fixed duplicate t3-env warnings being shown for the same variable.
|
|
26
|
+
|
|
20
27
|
## [2.4.1] - 2025-12-26
|
|
21
28
|
|
|
22
29
|
### Changed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"t3EnvRules.d.ts","sourceRoot":"","sources":["../../../../src/core/t3env/t3EnvRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,QAAQ,EACX,QAAQ,EAAE,YAAY,EAAE,EACxB,MAAM,EAAE,WAAW,GAClB,IAAI,
|
|
1
|
+
{"version":3,"file":"t3EnvRules.d.ts","sourceRoot":"","sources":["../../../../src/core/t3env/t3EnvRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,QAAQ,EACX,QAAQ,EAAE,YAAY,EAAE,EACxB,MAAM,EAAE,WAAW,GAClB,IAAI,CAkEN"}
|
|
@@ -5,13 +5,11 @@
|
|
|
5
5
|
* @param schema - The t3-env schema to validate against
|
|
6
6
|
*/
|
|
7
7
|
export function applyT3EnvRules(u, warnings, schema) {
|
|
8
|
-
// Ignore env definition files
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
u.file.endsWith('\\env.mjs') ||
|
|
14
|
-
u.file.endsWith('\\env.js')) {
|
|
8
|
+
// Ignore env definition files (can be in root or subdirectories)
|
|
9
|
+
const fileName = u.file.split(/[/\\]/).pop() || '';
|
|
10
|
+
if (fileName === 'env.ts' ||
|
|
11
|
+
fileName === 'env.mjs' ||
|
|
12
|
+
fileName === 'env.js') {
|
|
15
13
|
return;
|
|
16
14
|
}
|
|
17
15
|
// Ignore node_modules
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"t3EnvRules.js","sourceRoot":"","sources":["../../../../src/core/t3env/t3EnvRules.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,CAAW,EACX,QAAwB,EACxB,MAAmB;IAEnB,
|
|
1
|
+
{"version":3,"file":"t3EnvRules.js","sourceRoot":"","sources":["../../../../src/core/t3env/t3EnvRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"t3EnvValidator.d.ts","sourceRoot":"","sources":["../../../../src/core/t3env/t3EnvValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIpE;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,QAAQ,EAAE,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,YAAY,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"t3EnvValidator.d.ts","sourceRoot":"","sources":["../../../../src/core/t3env/t3EnvValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIpE;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,QAAQ,EAAE,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,YAAY,EAAE,CAAC,CA4BzB"}
|
|
@@ -15,17 +15,18 @@ export async function t3EnvValidator(usages, cwd) {
|
|
|
15
15
|
for (const usage of usages) {
|
|
16
16
|
applyT3EnvRules(usage, warnings, t3Detection.schema);
|
|
17
17
|
}
|
|
18
|
-
// Deduplicate warnings based on variable +
|
|
18
|
+
// Deduplicate warnings based on variable + reason only (not file or line)
|
|
19
|
+
// This ensures one warning per variable across all files
|
|
19
20
|
if (warnings.length === 0) {
|
|
20
21
|
return [];
|
|
21
22
|
}
|
|
22
|
-
const seen = new
|
|
23
|
-
|
|
24
|
-
const key = `${w.variable}|${w.
|
|
25
|
-
if (seen.has(key))
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
const seen = new Map();
|
|
24
|
+
for (const w of warnings) {
|
|
25
|
+
const key = `${w.variable}|${w.reason}`;
|
|
26
|
+
if (!seen.has(key)) {
|
|
27
|
+
seen.set(key, w);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return Array.from(seen.values());
|
|
30
31
|
}
|
|
31
32
|
//# sourceMappingURL=t3EnvValidator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"t3EnvValidator.js","sourceRoot":"","sources":["../../../../src/core/t3env/t3EnvValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAkB,EAClB,GAAW;IAEX,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"t3EnvValidator.js","sourceRoot":"","sources":["../../../../src/core/t3env/t3EnvValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAkB,EAClB,GAAW;IAEX,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,0EAA0E;IAC1E,yDAAyD;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACnC,CAAC"}
|