dotenv-diff 2.9.1 → 2.10.0

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/src/baseline/scanBaseline.d.ts +39 -0
  3. package/dist/src/baseline/scanBaseline.d.ts.map +1 -0
  4. package/dist/src/baseline/scanBaseline.js +175 -0
  5. package/dist/src/baseline/scanBaseline.js.map +1 -0
  6. package/dist/src/cli/program.d.ts.map +1 -1
  7. package/dist/src/cli/program.js +2 -1
  8. package/dist/src/cli/program.js.map +1 -1
  9. package/dist/src/cli/run.js +1 -0
  10. package/dist/src/cli/run.js.map +1 -1
  11. package/dist/src/commands/prompts/promptNoEnvScenario.d.ts +2 -2
  12. package/dist/src/commands/prompts/promptNoEnvScenario.d.ts.map +1 -1
  13. package/dist/src/commands/prompts/promptNoEnvScenario.js +11 -7
  14. package/dist/src/commands/prompts/promptNoEnvScenario.js.map +1 -1
  15. package/dist/src/commands/scanUsage.d.ts.map +1 -1
  16. package/dist/src/commands/scanUsage.js +44 -0
  17. package/dist/src/commands/scanUsage.js.map +1 -1
  18. package/dist/src/config/options.d.ts.map +1 -1
  19. package/dist/src/config/options.js +2 -0
  20. package/dist/src/config/options.js.map +1 -1
  21. package/dist/src/config/types.d.ts +31 -0
  22. package/dist/src/config/types.d.ts.map +1 -1
  23. package/dist/src/ui/scan/printBaseline.d.ts +14 -0
  24. package/dist/src/ui/scan/printBaseline.d.ts.map +1 -0
  25. package/dist/src/ui/scan/printBaseline.js +32 -0
  26. package/dist/src/ui/scan/printBaseline.js.map +1 -0
  27. package/dist/test/unit/baseline/scanBaseline.test.d.ts +2 -0
  28. package/dist/test/unit/baseline/scanBaseline.test.d.ts.map +1 -0
  29. package/dist/test/unit/baseline/scanBaseline.test.js +587 -0
  30. package/dist/test/unit/baseline/scanBaseline.test.js.map +1 -0
  31. package/dist/test/unit/cli/run.test.js +1 -0
  32. package/dist/test/unit/cli/run.test.js.map +1 -1
  33. package/dist/test/unit/commands/prompts/promptNoEnvScenario.test.js +59 -0
  34. package/dist/test/unit/commands/prompts/promptNoEnvScenario.test.js.map +1 -1
  35. package/dist/test/unit/commands/scanUsage.test.js +100 -0
  36. package/dist/test/unit/commands/scanUsage.test.js.map +1 -1
  37. package/dist/test/unit/ui/scan/printBaseline.test.d.ts +2 -0
  38. package/dist/test/unit/ui/scan/printBaseline.test.d.ts.map +1 -0
  39. package/dist/test/unit/ui/scan/printBaseline.test.js +23 -0
  40. package/dist/test/unit/ui/scan/printBaseline.test.js.map +1 -0
  41. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ec888a7: add --baseline flag to suppress known issues
8
+
9
+ ### Patch Changes
10
+
11
+ - b1c6768: fix no-env prompt file selection and filename display
12
+
3
13
  ## 2.9.1
4
14
 
5
15
  ### Patch Changes
@@ -0,0 +1,39 @@
1
+ import type { BaselineEntry, BaselineFile, ScanResult } from '../config/types.js';
2
+ export declare const BASELINE_FILE = "dotenv-diff.baseline.json";
3
+ /**
4
+ * Loads the baseline file from disk. Returns null if the file does not exist
5
+ * or cannot be parsed into a valid shape.
6
+ * @param cwd - Current working directory to resolve the baseline file from
7
+ * @returns The parsed baseline file or null if not found/invalid
8
+ */
9
+ export declare function loadBaselineFile(cwd: string): BaselineFile | null;
10
+ /**
11
+ * Writes a baseline file to disk and returns the absolute path it was written to.
12
+ * @param cwd - Current working directory to resolve the baseline file from
13
+ * @param entries - List of baseline entries to write
14
+ * @returns Absolute file path of the written baseline file
15
+ * @throws If writing the file fails (e.g. due to permissions or disk issues)
16
+ */
17
+ export declare function writeBaselineFile(cwd: string, entries: BaselineEntry[]): Promise<string>;
18
+ /**
19
+ * Converts a ScanResult into a deterministic list of baseline entries.
20
+ *
21
+ * Identifiers are chosen to be stable across runs — volatile fields like line
22
+ * numbers and snippet text are excluded. Secrets are stored as a fingerprint
23
+ * (SHA-256 truncated to 12 hex chars) of `file:snippet` so no secret value is
24
+ * ever written to the baseline file.
25
+ * @param scanResult The full scan result to convert into baseline entries
26
+ * @returns A sorted list of baseline entries representing the scan result
27
+ */
28
+ export declare function collectBaselineEntries(scanResult: ScanResult): BaselineEntry[];
29
+ /**
30
+ * Returns a new ScanResult with every warning that is covered by a baseline
31
+ * entry removed. The matching logic is the mirror image of
32
+ * {@link collectBaselineEntries} so every entry written suppresses the
33
+ * correct warning.
34
+ * @param scanResult The full scan result to apply baseline filtering to
35
+ * @param entries The list of baseline entries to apply
36
+ * @returns A new ScanResult with baseline-covered warnings removed
37
+ */
38
+ export declare function applyBaselineEntries(scanResult: ScanResult, entries: BaselineEntry[]): ScanResult;
39
+ //# sourceMappingURL=scanBaseline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanBaseline.d.ts","sourceRoot":"","sources":["../../../src/baseline/scanBaseline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,oBAAoB,CAAC;AAG5B,eAAO,MAAM,aAAa,8BAA8B,CAAC;AAGzD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAkBjE;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,aAAa,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,UAAU,GACrB,aAAa,EAAE,CA+DjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,aAAa,EAAE,GACvB,UAAU,CAwDZ"}
@@ -0,0 +1,175 @@
1
+ import crypto from 'crypto';
2
+ import fs from 'fs';
3
+ import { resolveFromCwd } from '../core/helpers/resolveFromCwd.js';
4
+ export const BASELINE_FILE = 'dotenv-diff.baseline.json';
5
+ const BASELINE_VERSION = 1;
6
+ /**
7
+ * Loads the baseline file from disk. Returns null if the file does not exist
8
+ * or cannot be parsed into a valid shape.
9
+ * @param cwd - Current working directory to resolve the baseline file from
10
+ * @returns The parsed baseline file or null if not found/invalid
11
+ */
12
+ export function loadBaselineFile(cwd) {
13
+ const filePath = resolveFromCwd(cwd, BASELINE_FILE);
14
+ if (!fs.existsSync(filePath))
15
+ return null;
16
+ try {
17
+ const raw = fs.readFileSync(filePath, 'utf8');
18
+ const parsed = JSON.parse(raw);
19
+ if (typeof parsed === 'object' &&
20
+ parsed !== null &&
21
+ 'version' in parsed &&
22
+ Array.isArray(parsed.entries)) {
23
+ return parsed;
24
+ }
25
+ return null;
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ }
31
+ /**
32
+ * Writes a baseline file to disk and returns the absolute path it was written to.
33
+ * @param cwd - Current working directory to resolve the baseline file from
34
+ * @param entries - List of baseline entries to write
35
+ * @returns Absolute file path of the written baseline file
36
+ * @throws If writing the file fails (e.g. due to permissions or disk issues)
37
+ */
38
+ export async function writeBaselineFile(cwd, entries) {
39
+ const filePath = resolveFromCwd(cwd, BASELINE_FILE);
40
+ const payload = {
41
+ version: BASELINE_VERSION,
42
+ createdAt: new Date().toISOString(),
43
+ entries,
44
+ };
45
+ await fs.promises.writeFile(filePath, `${JSON.stringify(payload, null, 2)}\n`, 'utf8');
46
+ return filePath;
47
+ }
48
+ /**
49
+ * Converts a ScanResult into a deterministic list of baseline entries.
50
+ *
51
+ * Identifiers are chosen to be stable across runs — volatile fields like line
52
+ * numbers and snippet text are excluded. Secrets are stored as a fingerprint
53
+ * (SHA-256 truncated to 12 hex chars) of `file:snippet` so no secret value is
54
+ * ever written to the baseline file.
55
+ * @param scanResult The full scan result to convert into baseline entries
56
+ * @returns A sorted list of baseline entries representing the scan result
57
+ */
58
+ export function collectBaselineEntries(scanResult) {
59
+ const entries = [];
60
+ for (const key of scanResult.missing) {
61
+ entries.push({ rule: 'missing', key });
62
+ }
63
+ for (const key of scanResult.unused) {
64
+ entries.push({ rule: 'unused', key });
65
+ }
66
+ for (const usage of scanResult.logged) {
67
+ entries.push({
68
+ rule: 'logged',
69
+ key: usage.variable,
70
+ file: usage.file,
71
+ });
72
+ }
73
+ for (const secret of scanResult.secrets) {
74
+ entries.push({
75
+ rule: 'secret',
76
+ key: fingerprint(`${secret.file}:${secret.snippet}`),
77
+ file: secret.file,
78
+ });
79
+ }
80
+ for (const warning of scanResult.exampleWarnings ?? []) {
81
+ entries.push({ rule: 'example-secret', key: warning.key });
82
+ }
83
+ for (const dup of scanResult.duplicates.env ?? []) {
84
+ entries.push({ rule: 'duplicate-env', key: dup.key });
85
+ }
86
+ for (const dup of scanResult.duplicates.example ?? []) {
87
+ entries.push({ rule: 'duplicate-example', key: dup.key });
88
+ }
89
+ // variable + file uniquely identifies a framework warning without line numbers
90
+ for (const warning of scanResult.frameworkWarnings ?? []) {
91
+ entries.push({
92
+ rule: 'framework',
93
+ key: warning.variable,
94
+ file: warning.file,
95
+ });
96
+ }
97
+ for (const warning of scanResult.uppercaseWarnings ?? []) {
98
+ entries.push({ rule: 'uppercase', key: warning.key });
99
+ }
100
+ for (const warning of scanResult.expireWarnings ?? []) {
101
+ entries.push({ rule: 'expire', key: warning.key });
102
+ }
103
+ // Sort the key pair so the entry is identical regardless of scanner order
104
+ for (const warning of scanResult.inconsistentNamingWarnings ?? []) {
105
+ const pair = [warning.key1, warning.key2].sort().join('|');
106
+ entries.push({ rule: 'inconsistent-naming', key: pair });
107
+ }
108
+ return sortEntries(entries);
109
+ }
110
+ /**
111
+ * Returns a new ScanResult with every warning that is covered by a baseline
112
+ * entry removed. The matching logic is the mirror image of
113
+ * {@link collectBaselineEntries} so every entry written suppresses the
114
+ * correct warning.
115
+ * @param scanResult The full scan result to apply baseline filtering to
116
+ * @param entries The list of baseline entries to apply
117
+ * @returns A new ScanResult with baseline-covered warnings removed
118
+ */
119
+ export function applyBaselineEntries(scanResult, entries) {
120
+ const has = (rule, key, file) => entries.some((e) => e.rule === rule && e.key === key && (file == null || e.file === file));
121
+ return {
122
+ ...scanResult,
123
+ missing: scanResult.missing.filter((k) => !has('missing', k)),
124
+ unused: scanResult.unused.filter((k) => !has('unused', k)),
125
+ logged: scanResult.logged.filter((u) => !has('logged', u.variable, u.file)),
126
+ secrets: scanResult.secrets.filter((s) => !has('secret', fingerprint(`${s.file}:${s.snippet}`))),
127
+ duplicates: {
128
+ ...(scanResult.duplicates.env != null && {
129
+ env: scanResult.duplicates.env.filter((d) => !has('duplicate-env', d.key)),
130
+ }),
131
+ ...(scanResult.duplicates.example != null && {
132
+ example: scanResult.duplicates.example.filter((d) => !has('duplicate-example', d.key)),
133
+ }),
134
+ },
135
+ ...(scanResult.exampleWarnings != null && {
136
+ exampleWarnings: scanResult.exampleWarnings.filter((w) => !has('example-secret', w.key)),
137
+ }),
138
+ ...(scanResult.frameworkWarnings != null && {
139
+ frameworkWarnings: scanResult.frameworkWarnings.filter((w) => !has('framework', w.variable, w.file)),
140
+ }),
141
+ ...(scanResult.uppercaseWarnings != null && {
142
+ uppercaseWarnings: scanResult.uppercaseWarnings.filter((w) => !has('uppercase', w.key)),
143
+ }),
144
+ ...(scanResult.expireWarnings != null && {
145
+ expireWarnings: scanResult.expireWarnings.filter((w) => !has('expire', w.key)),
146
+ }),
147
+ ...(scanResult.inconsistentNamingWarnings != null && {
148
+ inconsistentNamingWarnings: scanResult.inconsistentNamingWarnings.filter((w) => {
149
+ const pair = [w.key1, w.key2].sort().join('|');
150
+ return !has('inconsistent-naming', pair);
151
+ }),
152
+ }),
153
+ };
154
+ }
155
+ /**
156
+ * SHA-256 fingerprint truncated to 12 hex chars. Stable across runs; used for
157
+ * secrets so no secret value is ever committed to the baseline file.
158
+ * @param input The string to fingerprint (e.g. `file:snippet` for a secret)
159
+ * @returns A 12-character hex string representing the fingerprint
160
+ */
161
+ function fingerprint(input) {
162
+ return crypto.createHash('sha256').update(input).digest('hex').slice(0, 12);
163
+ }
164
+ function sortEntries(entries) {
165
+ return [...entries].sort((a, b) => {
166
+ if (a.rule !== b.rule)
167
+ return a.rule.localeCompare(b.rule);
168
+ const fileA = a.file ?? '';
169
+ const fileB = b.file ?? '';
170
+ if (fileA !== fileB)
171
+ return fileA.localeCompare(fileB);
172
+ return a.key.localeCompare(b.key);
173
+ });
174
+ }
175
+ //# sourceMappingURL=scanBaseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanBaseline.js","sourceRoot":"","sources":["../../../src/baseline/scanBaseline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,aAAa,YAiG5B"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,aAAa,YAqG5B"}
@@ -43,6 +43,7 @@ export function createProgram() {
43
43
  .option('--no-inconsistent-naming-warnings', 'Disable inconsistent naming pattern warnings')
44
44
  .option('--init', 'Create a sample dotenv-diff.config.json file')
45
45
  .option('--list-all', 'List all unique environment variable keys found in codebase')
46
- .option('--explain <key>', 'Show where a specific key is defined, used, and its status'));
46
+ .option('--explain <key>', 'Show where a specific key is defined, used, and its status')
47
+ .option('--baseline', 'Set current codebase state as baseline for future comparisons'));
47
48
  }
48
49
  //# sourceMappingURL=program.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,IAAI,OAAO,EAAE;SACV,IAAI,CAAC,aAAa,CAAC;SACnB,WAAW,CAAC,qCAAqC,CAAC;QACnD,+BAA+B;SAC9B,oBAAoB,CAAC,IAAI,CAAC;SAC1B,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACvE,MAAM,CAAC,MAAM,EAAE,8CAA8C,CAAC;SAC9D,MAAM,CAAC,WAAW,EAAE,iDAAiD,CAAC;SACtE,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;SACtD,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;SAClE,MAAM,CACL,oBAAoB,EACpB,iDAAiD,CAClD;SACA,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,MAAM,CACL,0BAA0B,EAC1B,uCAAuC,CACxC;SACA,MAAM,CACL,OAAO,EACP,sEAAsE,CACvE;SACA,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;SAC1C,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CACL,eAAe,EACf,kFAAkF,CACnF;SACA,MAAM,CAAC,cAAc,EAAE,8CAA8C,CAAC;SACtE,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC;SAC1D,MAAM,CACL,4BAA4B,EAC5B,iFAAiF,CAClF;SACA,MAAM,CACL,oBAAoB,EACpB,8EAA8E,CAC/E;SACA,MAAM,CACL,4BAA4B,EAC5B,oDAAoD,CACrD;SACA,MAAM,CACL,eAAe,EACf,8DAA8D,CAC/D;SACA,MAAM,CACL,kBAAkB,EAClB,qEAAqE,CACtE;SACA,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC;SACzC,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;SACnD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;SAC7C,MAAM,CACL,WAAW,EACX,0DAA0D,CAC3D;SACA,MAAM,CACL,cAAc,EACd,2DAA2D,CAC5D;SACA,MAAM,CACL,sBAAsB,EACtB,+CAA+C,CAChD;SACA,MAAM,CACL,kBAAkB,EAClB,sDAAsD,CACvD;SACA,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;SACjE,MAAM,CACL,mBAAmB,EACnB,gFAAgF,CACjF;SACA,MAAM,CAAC,sBAAsB,EAAE,kCAAkC,CAAC;SAClE,MAAM,CACL,gCAAgC,EAChC,kEAAkE,CACnE;SACA,MAAM,CACL,mCAAmC,EACnC,8CAA8C,CAC/C;SACA,MAAM,CAAC,QAAQ,EAAE,8CAA8C,CAAC;SAChE,MAAM,CACL,YAAY,EACZ,6DAA6D,CAC9D;SACA,MAAM,CACL,iBAAiB,EACjB,4DAA4D,CAC7D,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,IAAI,OAAO,EAAE;SACV,IAAI,CAAC,aAAa,CAAC;SACnB,WAAW,CAAC,qCAAqC,CAAC;QACnD,+BAA+B;SAC9B,oBAAoB,CAAC,IAAI,CAAC;SAC1B,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACvE,MAAM,CAAC,MAAM,EAAE,8CAA8C,CAAC;SAC9D,MAAM,CAAC,WAAW,EAAE,iDAAiD,CAAC;SACtE,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;SACtD,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;SAClE,MAAM,CACL,oBAAoB,EACpB,iDAAiD,CAClD;SACA,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,MAAM,CACL,0BAA0B,EAC1B,uCAAuC,CACxC;SACA,MAAM,CACL,OAAO,EACP,sEAAsE,CACvE;SACA,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;SAC1C,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CACL,eAAe,EACf,kFAAkF,CACnF;SACA,MAAM,CAAC,cAAc,EAAE,8CAA8C,CAAC;SACtE,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC;SAC1D,MAAM,CACL,4BAA4B,EAC5B,iFAAiF,CAClF;SACA,MAAM,CACL,oBAAoB,EACpB,8EAA8E,CAC/E;SACA,MAAM,CACL,4BAA4B,EAC5B,oDAAoD,CACrD;SACA,MAAM,CACL,eAAe,EACf,8DAA8D,CAC/D;SACA,MAAM,CACL,kBAAkB,EAClB,qEAAqE,CACtE;SACA,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC;SACzC,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;SACnD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;SAC7C,MAAM,CACL,WAAW,EACX,0DAA0D,CAC3D;SACA,MAAM,CACL,cAAc,EACd,2DAA2D,CAC5D;SACA,MAAM,CACL,sBAAsB,EACtB,+CAA+C,CAChD;SACA,MAAM,CACL,kBAAkB,EAClB,sDAAsD,CACvD;SACA,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;SACjE,MAAM,CACL,mBAAmB,EACnB,gFAAgF,CACjF;SACA,MAAM,CAAC,sBAAsB,EAAE,kCAAkC,CAAC;SAClE,MAAM,CACL,gCAAgC,EAChC,kEAAkE,CACnE;SACA,MAAM,CACL,mCAAmC,EACnC,8CAA8C,CAC/C;SACA,MAAM,CAAC,QAAQ,EAAE,8CAA8C,CAAC;SAChE,MAAM,CACL,YAAY,EACZ,6DAA6D,CAC9D;SACA,MAAM,CACL,iBAAiB,EACjB,4DAA4D,CAC7D;SACA,MAAM,CACL,YAAY,EACZ,+DAA+D,CAChE,CACJ,CAAC;AACJ,CAAC"}
@@ -81,6 +81,7 @@ async function runScanMode(opts) {
81
81
  expireWarnings: opts.expireWarnings,
82
82
  inconsistentNamingWarnings: opts.inconsistentNamingWarnings,
83
83
  listAll: opts.listAll,
84
+ baseline: opts.baseline,
84
85
  });
85
86
  return exitWithError;
86
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { ScanUsageOptions, ComparisonFile } from '../../config/types.js';
2
2
  /**
3
- * Prompts the user to create a .env file if none are found in scan usage
3
+ * Prompts the user to create a comparison file if none are found in scan usage
4
4
  * @param opts - Scan configuration options
5
- * @returns The path and name of the created .env file, or undefined if none created
5
+ * @returns The path and name of the created file, or undefined if none created
6
6
  */
7
7
  export declare function promptNoEnvScenario(opts: ScanUsageOptions): Promise<{
8
8
  compareFile: ComparisonFile | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"promptNoEnvScenario.d.ts","sourceRoot":"","sources":["../../../../src/commands/prompts/promptNoEnvScenario.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE9E;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC;IAAE,WAAW,EAAE,cAAc,GAAG,SAAS,CAAA;CAAE,CAAC,CA6BtD"}
1
+ {"version":3,"file":"promptNoEnvScenario.d.ts","sourceRoot":"","sources":["../../../../src/commands/prompts/promptNoEnvScenario.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG9E;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC;IAAE,WAAW,EAAE,cAAc,GAAG,SAAS,CAAA;CAAE,CAAC,CAmCtD"}
@@ -2,31 +2,35 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { confirmYesNo } from './prompts.js';
4
4
  import { DEFAULT_ENV_FILE } from '../../config/constants.js';
5
+ import { normalizePath } from '../../core/helpers/normalizePath.js';
5
6
  /**
6
- * Prompts the user to create a .env file if none are found in scan usage
7
+ * Prompts the user to create a comparison file if none are found in scan usage
7
8
  * @param opts - Scan configuration options
8
- * @returns The path and name of the created .env file, or undefined if none created
9
+ * @returns The path and name of the created file, or undefined if none created
9
10
  */
10
11
  export async function promptNoEnvScenario(opts) {
11
12
  if (opts.isCiMode) {
12
13
  return { compareFile: undefined };
13
14
  }
14
15
  console.log();
16
+ // Determine target file name for prompt based on provided options or default
17
+ const targetFile = opts.examplePath ?? opts.envPath ?? DEFAULT_ENV_FILE;
18
+ const fileName = path.basename(normalizePath(targetFile));
15
19
  const shouldCreate = opts.isYesMode
16
20
  ? true
17
- : await confirmYesNo("You don't have any .env files. Do you want to create a .env?", {
21
+ : await confirmYesNo(`You don't have any .env files. Do you want to create a ${fileName}?`, {
18
22
  isCiMode: opts.isCiMode ?? false,
19
23
  isYesMode: opts.isYesMode ?? false,
20
24
  });
21
25
  if (!shouldCreate) {
22
26
  return { compareFile: undefined };
23
27
  }
24
- const envPath = path.resolve(opts.cwd, DEFAULT_ENV_FILE);
25
- fs.writeFileSync(envPath, '');
28
+ const filePath = path.resolve(opts.cwd, fileName);
29
+ fs.writeFileSync(filePath, '');
26
30
  return {
27
31
  compareFile: {
28
- path: envPath,
29
- name: DEFAULT_ENV_FILE,
32
+ path: filePath,
33
+ name: fileName,
30
34
  },
31
35
  };
32
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"promptNoEnvScenario.js","sourceRoot":"","sources":["../../../../src/commands/prompts/promptNoEnvScenario.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAsB;IAEtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS;QACjC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,YAAY,CAChB,8DAA8D,EAC9D;YACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK;SACnC,CACF,CAAC;IAEN,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEzD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE9B,OAAO;QACL,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB;SACvB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"promptNoEnvScenario.js","sourceRoot":"","sources":["../../../../src/commands/prompts/promptNoEnvScenario.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAsB;IAEtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,6EAA6E;IAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS;QACjC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,YAAY,CAChB,0DAA0D,QAAQ,GAAG,EACrE;YACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK;SACnC,CACF,CAAC;IAEN,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAElD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAE/B,OAAO;QACL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;SACf;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scanUsage.d.ts","sourceRoot":"","sources":["../../../src/commands/scanUsage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAEhB,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAiB5B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuJ3E"}
1
+ {"version":3,"file":"scanUsage.d.ts","sourceRoot":"","sources":["../../../src/commands/scanUsage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAEhB,UAAU,EAGX,MAAM,oBAAoB,CAAC;AA4B5B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmK3E"}
@@ -10,6 +10,8 @@ import { frameworkValidator } from '../core/frameworks/frameworkValidator.js';
10
10
  import { detectSecretsInExample } from '../core/security/exampleSecretDetector.js';
11
11
  import { DEFAULT_EXAMPLE_FILE, URGENT_EXPIRE_DAYS, EXPIRE_THRESHOLD_DAYS, } from '../config/constants.js';
12
12
  import { promptNoEnvScenario } from './prompts/promptNoEnvScenario.js';
13
+ import { printBaselineWritten, printBaselineError, } from '../ui/scan/printBaseline.js';
14
+ import { BASELINE_FILE, collectBaselineEntries, writeBaselineFile, loadBaselineFile, applyBaselineEntries, } from '../baseline/scanBaseline.js';
13
15
  /**
14
16
  * Scans the codebase for environment variable usage and compares it with
15
17
  * the selected environment file (.env or .env.example).
@@ -100,6 +102,16 @@ export async function scanUsage(opts) {
100
102
  }
101
103
  // Recalculate stats after filtering
102
104
  calculateStats(scanResult);
105
+ // --baseline: write current warnings as the new baseline and exit cleanly
106
+ if (opts.baseline) {
107
+ return writeBaseline(scanResult, opts.cwd, opts.json ?? false);
108
+ }
109
+ // Apply existing baseline suppressions (if any) before output
110
+ const baselineFile = loadBaselineFile(opts.cwd);
111
+ if (baselineFile) {
112
+ scanResult = applyBaselineEntries(scanResult, baselineFile.entries);
113
+ calculateStats(scanResult);
114
+ }
103
115
  // JSON output
104
116
  if (opts.json) {
105
117
  const jsonOutput = scanJsonOutput(scanResult, comparedAgainst, opts.listAll ?? false);
@@ -136,6 +148,38 @@ export async function scanUsage(opts) {
136
148
  });
137
149
  return { exitWithError: result.exitWithError };
138
150
  }
151
+ /**
152
+ * Writes the current scan state as a baseline file and reports the outcome.
153
+ * Returns exitWithError: false so the caller exits cleanly.
154
+ * @param scanResult The full scan result to convert into baseline entries and write to disk
155
+ * @param cwd The current working directory to resolve the baseline file from
156
+ * @param asJson Whether to output results in JSON format (true) or console format (false)
157
+ * @returns An object indicating whether to exit with an error code (always false for this function)
158
+ */
159
+ async function writeBaseline(scanResult, cwd, asJson) {
160
+ const entries = collectBaselineEntries(scanResult);
161
+ let filePath;
162
+ try {
163
+ filePath = await writeBaselineFile(cwd, entries);
164
+ }
165
+ catch (err) {
166
+ const message = err instanceof Error ? err.message : String(err);
167
+ if (asJson) {
168
+ console.log(JSON.stringify({ ok: false, error: message }, null, 2));
169
+ }
170
+ else {
171
+ printBaselineError(message);
172
+ }
173
+ return { exitWithError: true };
174
+ }
175
+ if (asJson) {
176
+ console.log(JSON.stringify({ file: BASELINE_FILE, warningsStored: entries.length }, null, 2));
177
+ }
178
+ else {
179
+ printBaselineWritten(entries.length, filePath);
180
+ }
181
+ return { exitWithError: false };
182
+ }
139
183
  /**
140
184
  * Recalculates statistics for a scan result after filtering usages.
141
185
  * @param scanResult The current scan result
@@ -1 +1 @@
1
- {"version":3,"file":"scanUsage.js","sourceRoot":"","sources":["../../../src/commands/scanUsage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanUsage.js","sourceRoot":"","sources":["../../../src/commands/scanUsage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/config/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQhE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAyEzD"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/config/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQhE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CA2EzD"}
@@ -24,6 +24,7 @@ import { printInvalidCategory, printInvalidRegex, printCiYesWarning, } from '../
24
24
  * // Returns: { isCiMode: true, ignore: ['TEST_', 'DEBUG_'], only: ['unused', 'duplicates'], ... }
25
25
  */
26
26
  export function normalizeOptions(raw) {
27
+ const baseline = toBool(raw.baseline);
27
28
  const checkValues = toBool(raw.checkValues);
28
29
  const isCiMode = toBool(raw.ci);
29
30
  const isYesMode = toBool(raw.yes);
@@ -58,6 +59,7 @@ export function normalizeOptions(raw) {
58
59
  printCiYesWarning();
59
60
  }
60
61
  return {
62
+ baseline,
61
63
  checkValues,
62
64
  isCiMode,
63
65
  isYesMode,
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/config/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/config/options.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAe;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE3E,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC;IAEtC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEnC,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,KAAK,KAAK,CAAC;IAClD,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC;IACpD,MAAM,0BAA0B,GAAG,GAAG,CAAC,0BAA0B,KAAK,KAAK,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,WAAW,GACf,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC7B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;QAChC,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,iBAAiB,EAAE,CAAC;IACtB,CAAC;IAED,OAAO;QACL,QAAQ;QACR,WAAW;QACX,QAAQ;QACR,SAAS;QACT,eAAe;QACf,GAAG;QACH,IAAI;QACJ,OAAO;QACP,WAAW;QACX,MAAM;QACN,WAAW;QACX,GAAG;QACH,IAAI;QACJ,OAAO;QACP,OAAO;QACP,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,UAAU;QACV,SAAS;QACT,KAAK;QACL,OAAO;QACP,MAAM;QACN,UAAU;QACV,aAAa;QACb,cAAc;QACd,0BAA0B;QAC1B,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,GAAuB;IACxC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,GAAG;SACP,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,GAAuB,EACvB,QAAQ,GAAG,QAAQ;IAEnB,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAa,CAAC,CAAC,CAAC;IAC3E,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,oBAAoB,CAAC,QAAQ,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAiB,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAuB;IAC7C,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC;AAC5C,CAAC"}
@@ -60,6 +60,7 @@ export type Category = (typeof ALLOWED_CATEGORIES)[number];
60
60
  * normalization step that produces {@link Options}.
61
61
  */
62
62
  export interface RawOptions {
63
+ baseline?: boolean;
63
64
  checkValues?: boolean;
64
65
  ci?: boolean;
65
66
  yes?: boolean;
@@ -103,6 +104,7 @@ export interface RawOptions {
103
104
  * normalization logic.
104
105
  */
105
106
  export interface Options {
107
+ baseline: boolean;
106
108
  checkValues: boolean;
107
109
  isCiMode: boolean;
108
110
  isYesMode: boolean;
@@ -218,6 +220,7 @@ export interface ScanUsageOptions extends ScanOptions {
218
220
  expireWarnings?: boolean;
219
221
  inconsistentNamingWarnings?: boolean;
220
222
  listAll?: boolean;
223
+ baseline?: boolean;
221
224
  }
222
225
  /**
223
226
  * Result of scanning the codebase for environment variable usages.
@@ -411,4 +414,32 @@ export interface InconsistentNamingWarning {
411
414
  /** Suggested consistent naming for the keys */
412
415
  suggestion: string;
413
416
  }
417
+ /**
418
+ * All warning categories that can be suppressed in a baseline file.
419
+ */
420
+ export type BaselineRule = 'missing' | 'unused' | 'logged' | 'secret' | 'example-secret' | 'duplicate-env' | 'duplicate-example' | 'framework' | 'uppercase' | 'expire' | 'inconsistent-naming';
421
+ /**
422
+ * A single suppressed warning in the baseline file.
423
+ * `key` is a stable identifier (variable name, fingerprint, or sorted pair).
424
+ * `file` is only set for warnings that are tied to a specific source file.
425
+ */
426
+ export interface BaselineEntry {
427
+ /** The category of the warning being suppressed (e.g. 'missing', 'secret', etc.) */
428
+ rule: BaselineRule;
429
+ /** A stable identifier for the warning (e.g. variable name, fingerprint, or sorted pair) */
430
+ key: string;
431
+ /** The file associated with the warning, if applicable */
432
+ file?: string;
433
+ }
434
+ /**
435
+ * Shape of `dotenv-diff.baseline.json` as written to disk.
436
+ */
437
+ export interface BaselineFile {
438
+ /** The version of the baseline file format */
439
+ version: number;
440
+ /** The timestamp when the baseline file was created */
441
+ createdAt: string;
442
+ /** The list of baseline entries */
443
+ entries: BaselineEntry[];
444
+ }
414
445
  //# sourceMappingURL=types.d.ts.map