dotenv-diff 2.8.1 → 2.9.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.
- package/CHANGELOG.md +16 -0
- package/README.md +14 -0
- package/dist/bench/Detectsecrets.bench.d.ts +9 -0
- package/dist/bench/Detectsecrets.bench.d.ts.map +1 -0
- package/dist/bench/Detectsecrets.bench.js +95 -0
- package/dist/bench/Detectsecrets.bench.js.map +1 -0
- package/dist/bench/filewalker.bench.d.ts +8 -0
- package/dist/bench/filewalker.bench.d.ts.map +1 -0
- package/dist/bench/filewalker.bench.js +95 -0
- package/dist/bench/filewalker.bench.js.map +1 -0
- package/dist/bench/scanCodebase.bench.d.ts +8 -0
- package/dist/bench/scanCodebase.bench.d.ts.map +1 -0
- package/dist/bench/scanCodebase.bench.js +55 -0
- package/dist/bench/scanCodebase.bench.js.map +1 -0
- package/dist/bench/scanFile.bench.d.ts +9 -0
- package/dist/bench/scanFile.bench.d.ts.map +1 -0
- package/dist/bench/scanFile.bench.js +97 -0
- package/dist/bench/scanFile.bench.js.map +1 -0
- package/dist/bench/scanFile.linecol.bench.d.ts +13 -0
- package/dist/bench/scanFile.linecol.bench.d.ts.map +1 -0
- package/dist/bench/scanFile.linecol.bench.js +105 -0
- package/dist/bench/scanFile.linecol.bench.js.map +1 -0
- package/dist/src/cli/program.d.ts.map +1 -1
- package/dist/src/cli/program.js +2 -1
- package/dist/src/cli/program.js.map +1 -1
- package/dist/src/cli/run.d.ts.map +1 -1
- package/dist/src/cli/run.js +17 -0
- package/dist/src/cli/run.js.map +1 -1
- package/dist/src/commands/explain.d.ts +17 -0
- package/dist/src/commands/explain.d.ts.map +1 -0
- package/dist/src/commands/explain.js +72 -0
- package/dist/src/commands/explain.js.map +1 -0
- package/dist/src/commands/scanUsage.js +3 -43
- package/dist/src/commands/scanUsage.js.map +1 -1
- package/dist/src/config/constants.d.ts +2 -1
- package/dist/src/config/constants.d.ts.map +1 -1
- package/dist/src/config/constants.js +2 -0
- package/dist/src/config/constants.js.map +1 -1
- package/dist/src/config/loadConfig.d.ts.map +1 -1
- package/dist/src/config/loadConfig.js +2 -12
- package/dist/src/config/loadConfig.js.map +1 -1
- package/dist/src/config/options.d.ts.map +1 -1
- package/dist/src/config/options.js +2 -0
- package/dist/src/config/options.js.map +1 -1
- package/dist/src/config/types.d.ts +2 -0
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/core/diffEnv.d.ts.map +1 -1
- package/dist/src/core/diffEnv.js.map +1 -1
- package/dist/src/core/helpers/concurrencyLimit.d.ts +8 -0
- package/dist/src/core/helpers/concurrencyLimit.d.ts.map +1 -0
- package/dist/src/core/helpers/concurrencyLimit.js +34 -0
- package/dist/src/core/helpers/concurrencyLimit.js.map +1 -0
- package/dist/src/core/helpers/findConfigFile.d.ts +9 -0
- package/dist/src/core/helpers/findConfigFile.d.ts.map +1 -0
- package/dist/src/core/helpers/findConfigFile.js +19 -0
- package/dist/src/core/helpers/findConfigFile.js.map +1 -0
- package/dist/src/core/helpers/skipCommentedUsages.d.ts +14 -0
- package/dist/src/core/helpers/skipCommentedUsages.d.ts.map +1 -0
- package/dist/src/core/helpers/skipCommentedUsages.js +41 -0
- package/dist/src/core/helpers/skipCommentedUsages.js.map +1 -0
- package/dist/src/core/scan/patterns.d.ts.map +1 -1
- package/dist/src/core/scan/patterns.js +2 -0
- package/dist/src/core/scan/patterns.js.map +1 -1
- package/dist/src/core/scan/scanFile.d.ts.map +1 -1
- package/dist/src/core/scan/scanFile.js +41 -8
- package/dist/src/core/scan/scanFile.js.map +1 -1
- package/dist/src/core/security/secretDetectors.d.ts.map +1 -1
- package/dist/src/core/security/secretDetectors.js +3 -5
- package/dist/src/core/security/secretDetectors.js.map +1 -1
- package/dist/src/services/fileWalker.d.ts.map +1 -1
- package/dist/src/services/fileWalker.js +29 -11
- package/dist/src/services/fileWalker.js.map +1 -1
- package/dist/src/services/scanCodebase.d.ts.map +1 -1
- package/dist/src/services/scanCodebase.js +19 -16
- package/dist/src/services/scanCodebase.js.map +1 -1
- package/dist/src/ui/scan/printExplain.d.ts +20 -0
- package/dist/src/ui/scan/printExplain.d.ts.map +1 -0
- package/dist/src/ui/scan/printExplain.js +144 -0
- package/dist/src/ui/scan/printExplain.js.map +1 -0
- package/dist/src/ui/scan/printListAll.d.ts.map +1 -1
- package/dist/src/ui/scan/printListAll.js +2 -1
- package/dist/src/ui/scan/printListAll.js.map +1 -1
- package/dist/src/ui/scan/printMissing.d.ts.map +1 -1
- package/dist/src/ui/scan/printMissing.js +11 -16
- package/dist/src/ui/scan/printMissing.js.map +1 -1
- package/dist/test/unit/cli/run.test.js +33 -0
- package/dist/test/unit/cli/run.test.js.map +1 -1
- package/dist/test/unit/commands/explain.test.d.ts +2 -0
- package/dist/test/unit/commands/explain.test.d.ts.map +1 -0
- package/dist/test/unit/commands/explain.test.js +176 -0
- package/dist/test/unit/commands/explain.test.js.map +1 -0
- package/dist/test/unit/config/options.test.js +8 -1
- package/dist/test/unit/config/options.test.js.map +1 -1
- package/dist/test/unit/core/helpers/concurrencyLimit.test.d.ts +2 -0
- package/dist/test/unit/core/helpers/concurrencyLimit.test.d.ts.map +1 -0
- package/dist/test/unit/core/helpers/concurrencyLimit.test.js +115 -0
- package/dist/test/unit/core/helpers/concurrencyLimit.test.js.map +1 -0
- package/dist/test/unit/core/security/secretDetectors.test.js +5 -0
- package/dist/test/unit/core/security/secretDetectors.test.js.map +1 -1
- package/dist/test/unit/services/envDiscovery.test.js +10 -0
- package/dist/test/unit/services/envDiscovery.test.js.map +1 -1
- package/dist/test/unit/ui/scan/printExplain.test.d.ts +2 -0
- package/dist/test/unit/ui/scan/printExplain.test.d.ts.map +1 -0
- package/dist/test/unit/ui/scan/printExplain.test.js +200 -0
- package/dist/test/unit/ui/scan/printExplain.test.js.map +1 -0
- package/dist/test/unit/ui/scan/printListAll.test.js +1 -1
- package/dist/test/unit/ui/scan/printMissing.test.js +3 -4
- package/dist/test/unit/ui/scan/printMissing.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skipCommentedUsages.js","sourceRoot":"","sources":["../../../../src/core/helpers/skipCommentedUsages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA2B;IAC7D,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAE9B,IAAI,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,iBAAiB,GAAG,IAAI,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,qDAAqD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,iBAAiB,GAAG,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,iBAAiB,GAAG,IAAI,CAAC;QACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,iBAAiB,GAAG,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAEpC,OAAO,CACL,CAAC,iBAAiB;YAClB,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACxB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../../src/core/scan/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,EAAE,CAAC;IACjD,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,OAAO,EAAE,CA0BX;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,EA6HjC,CAAC;AAGF,eAAO,MAAM,0BAA0B,UAWtC,CAAC;AAGF,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../../src/core/scan/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,EAAE,CAAC;IACjD,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,OAAO,EAAE,CA0BX;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,EA6HjC,CAAC;AAGF,eAAO,MAAM,0BAA0B,UAWtC,CAAC;AAGF,eAAO,MAAM,wBAAwB,UA0CpC,CAAC"}
|
|
@@ -178,11 +178,13 @@ export const DEFAULT_EXCLUDE_PATTERNS = [
|
|
|
178
178
|
'.git',
|
|
179
179
|
'.vscode',
|
|
180
180
|
'.idea',
|
|
181
|
+
'.history', // VS Code Local History
|
|
181
182
|
// Tests
|
|
182
183
|
'.test.',
|
|
183
184
|
'.spec.',
|
|
184
185
|
'__tests__',
|
|
185
186
|
'__mocks__',
|
|
187
|
+
'bench',
|
|
186
188
|
// Common noisy paths
|
|
187
189
|
'test',
|
|
188
190
|
'tests',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../../src/core/scan/patterns.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../../src/core/scan/patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanFile.d.ts","sourceRoot":"","sources":["../../../../src/core/scan/scanFile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMnE;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,GAChB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"scanFile.d.ts","sourceRoot":"","sources":["../../../../src/core/scan/scanFile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMnE;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,GAChB,QAAQ,EAAE,CA+GZ"}
|
|
@@ -13,6 +13,15 @@ import { isLikelyMinified } from '../helpers/isLikelyMinified.js';
|
|
|
13
13
|
export function scanFile(filePath, content, opts) {
|
|
14
14
|
const usages = [];
|
|
15
15
|
const lines = content.split('\n');
|
|
16
|
+
// Precompute the absolute start offset of every line once. This lets each
|
|
17
|
+
// match's line/column be found with a binary search instead of re-scanning
|
|
18
|
+
// the file from the start for every match (which is O(matches × file size)).
|
|
19
|
+
const lineStarts = new Array(lines.length);
|
|
20
|
+
let lineOffset = 0;
|
|
21
|
+
for (let i = 0; i < lines.length; i++) {
|
|
22
|
+
lineStarts[i] = lineOffset;
|
|
23
|
+
lineOffset += lines[i].length + 1; // +1 for the '\n' stripped by split
|
|
24
|
+
}
|
|
16
25
|
// Get relative path from cwd cross-platform compatible
|
|
17
26
|
const relativePath = normalizePath(path.relative(opts.cwd, filePath));
|
|
18
27
|
// Collect all $env imports used in this file
|
|
@@ -31,8 +40,15 @@ export function scanFile(filePath, content, opts) {
|
|
|
31
40
|
allPatterns.push(...buildSveltekitAliasPatterns(aliasImportMatch[1], aliasImportMatch[2]));
|
|
32
41
|
}
|
|
33
42
|
for (const pattern of allPatterns) {
|
|
43
|
+
// Reuse the pattern's own compiled regex instead of recompiling it via
|
|
44
|
+
// `new RegExp(source, flags)` for every file. Resetting lastIndex is safe
|
|
45
|
+
// because scanFile is fully synchronous — it runs to completion without
|
|
46
|
+
// yielding, so no other scanFile invocation can interleave and clobber the
|
|
47
|
+
// shared regex state.
|
|
48
|
+
// NOTE: if scanFile ever becomes async, this must be revisited.
|
|
49
|
+
const regex = pattern.regex;
|
|
50
|
+
regex.lastIndex = 0;
|
|
34
51
|
let match;
|
|
35
|
-
const regex = new RegExp(pattern.regex.source, pattern.regex.flags);
|
|
36
52
|
while ((match = regex.exec(content)) !== null) {
|
|
37
53
|
const variables = pattern.processor
|
|
38
54
|
? pattern.processor(match)
|
|
@@ -41,15 +57,10 @@ export function scanFile(filePath, content, opts) {
|
|
|
41
57
|
if (!variable)
|
|
42
58
|
continue;
|
|
43
59
|
const matchIndex = match.index;
|
|
44
|
-
// Find line and column
|
|
60
|
+
// Find line and column via binary search over precomputed line offsets.
|
|
45
61
|
// Note: For destructured variables, this points to the start of the destructuring block
|
|
46
62
|
// not the specific variable location. Ideally we'd search within the match.
|
|
47
|
-
const
|
|
48
|
-
const lineNumber = beforeMatch.split('\n').length;
|
|
49
|
-
const lastNewlineIndex = beforeMatch.lastIndexOf('\n');
|
|
50
|
-
const column = lastNewlineIndex === -1
|
|
51
|
-
? matchIndex + 1
|
|
52
|
-
: matchIndex - lastNewlineIndex;
|
|
63
|
+
const { line: lineNumber, column } = offsetToLineCol(lineStarts, matchIndex);
|
|
53
64
|
// Get the context (the actual line)
|
|
54
65
|
const contextLine = lines[lineNumber - 1];
|
|
55
66
|
// Ignore likely minified / bundled lines to avoid scan false positives
|
|
@@ -78,4 +89,26 @@ export function scanFile(filePath, content, opts) {
|
|
|
78
89
|
}
|
|
79
90
|
return usages;
|
|
80
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Maps an absolute character offset to a 1-indexed line and column, using a
|
|
94
|
+
* precomputed array of line start offsets. Runs in O(log n) per lookup.
|
|
95
|
+
* @param lineStarts Absolute offset of the first character of each line.
|
|
96
|
+
* @param offset The absolute character offset to locate.
|
|
97
|
+
* @returns The 1-indexed line and column of the offset.
|
|
98
|
+
*/
|
|
99
|
+
function offsetToLineCol(lineStarts, offset) {
|
|
100
|
+
// Binary search for the largest lineStart that is <= offset.
|
|
101
|
+
let lo = 0;
|
|
102
|
+
let hi = lineStarts.length - 1;
|
|
103
|
+
while (lo < hi) {
|
|
104
|
+
const mid = (lo + hi + 1) >> 1;
|
|
105
|
+
if (lineStarts[mid] <= offset) {
|
|
106
|
+
lo = mid;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
hi = mid - 1;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return { line: lo + 1, column: offset - lineStarts[lo] + 1 };
|
|
113
|
+
}
|
|
81
114
|
//# sourceMappingURL=scanFile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanFile.js","sourceRoot":"","sources":["../../../../src/core/scan/scanFile.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,QAAgB,EAChB,OAAe,EACf,IAAiB;IAEjB,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,uDAAuD;IACvD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtE,6CAA6C;IAC7C,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,MAAM,WAAW,GACf,8FAA8F,CAAC;IAEjG,IAAI,WAAmC,CAAC;IAExC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;IACnC,CAAC;IAED,uFAAuF;IACvF,wEAAwE;IACxE,MAAM,gBAAgB,GACpB,uGAAuG,CAAC;IAE1G,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IACtC,IAAI,gBAAwC,CAAC;IAE7C,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpE,WAAW,CAAC,IAAI,CACd,GAAG,2BAA2B,CAC5B,gBAAgB,CAAC,CAAC,CAAE,EACpB,gBAAgB,CAAC,CAAC,CAAE,CACrB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,
|
|
1
|
+
{"version":3,"file":"scanFile.js","sourceRoot":"","sources":["../../../../src/core/scan/scanFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretDetectors.d.ts","sourceRoot":"","sources":["../../../../src/core/security/secretDetectors.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAGF,eAAO,MAAM,eAAe,QACqD,CAAC;AAGlF,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAYrC,CAAC;AAiEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUtD;AA8ID;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/B,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"secretDetectors.d.ts","sourceRoot":"","sources":["../../../../src/core/security/secretDetectors.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAGF,eAAO,MAAM,eAAe,QACqD,CAAC;AAGlF,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAYrC,CAAC;AAiEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUtD;AA8ID;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/B,aAAa,EAAE,CAwJjB"}
|
|
@@ -16,8 +16,8 @@ export const PROVIDER_PATTERNS = [
|
|
|
16
16
|
/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/, // JWT token
|
|
17
17
|
/\bAC[0-9a-fA-F]{32}\b/, // Twilio Account SID
|
|
18
18
|
];
|
|
19
|
-
// Regex for detecting long literals
|
|
20
|
-
const LONG_LITERAL = /["'`]
|
|
19
|
+
// Regex for detecting long literals — only 32+ chars are worth scrutinizing,
|
|
20
|
+
const LONG_LITERAL = /["'`]([A-Za-z0-9+/_\-]{32,})["'`]/g;
|
|
21
21
|
// Regex for detecting HTTPS URLs
|
|
22
22
|
const HTTPS_PATTERN = /["'`](https:\/\/(?!localhost)[^"'`]*)["'`]/g;
|
|
23
23
|
// List of harmless URL patterns to ignore
|
|
@@ -29,7 +29,7 @@ const HARMLESS_URLS = [
|
|
|
29
29
|
/xmlns=["']http:\/\/www\.w3\.org\/2000\/svg["']/i, // SVG namespace
|
|
30
30
|
];
|
|
31
31
|
// Known harmless attribute keys commonly used in UI components
|
|
32
|
-
const HARMLESS_UI_ATTRIBUTE_NAMES = /^(name|label|placeholder|title|alt|caption|helperText|description|text|htmlFor|id|data-testid|data-test|aria-label|type|autocomplete|inputmode|role|method|enctype)$/i;
|
|
32
|
+
const HARMLESS_UI_ATTRIBUTE_NAMES = /^(name|label|placeholder|title|alt|caption|helperText|description|text|htmlFor|id|data-testid|data-test|aria-label|type|autocomplete|inputmode|role|method|enctype|form)$/i;
|
|
33
33
|
/**
|
|
34
34
|
* Checks if a string looks like a UI label or attribute value, which are often false positives in secret detection.
|
|
35
35
|
* @param s - The string to check.
|
|
@@ -307,8 +307,6 @@ export function detectSecretsInSource(file, source, opts) {
|
|
|
307
307
|
const literal = lm[1];
|
|
308
308
|
if (looksHarmlessLiteral(literal))
|
|
309
309
|
continue;
|
|
310
|
-
if (literal.length < 32)
|
|
311
|
-
continue;
|
|
312
310
|
const ent = shannonEntropyNormalized(literal);
|
|
313
311
|
if (ent >= threshold) {
|
|
314
312
|
const message = `found high-entropy string (len ${literal.length}, H≈${ent.toFixed(2)})`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretDetectors.js","sourceRoot":"","sources":["../../../../src/core/security/secretDetectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAmBlE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAC1B,+EAA+E,CAAC;AAElF,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAa;IACzC,sBAAsB,EAAE,oBAAoB;IAC5C,sBAAsB,EAAE,eAAe;IACvC,0BAA0B,EAAE,eAAe;IAC3C,8BAA8B,EAAE,qBAAqB;IACrD,8BAA8B,EAAE,qBAAqB;IACrD,6BAA6B,EAAE,iBAAiB;IAChD,2BAA2B,EAAE,4BAA4B;IACzD,0CAA0C,EAAE,iBAAiB;IAC7D,uBAAuB,EAAE,mBAAmB;IAC5C,uDAAuD,EAAE,YAAY;IACrE,uBAAuB,EAAE,qBAAqB;CAC/C,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"secretDetectors.js","sourceRoot":"","sources":["../../../../src/core/security/secretDetectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileWalker.d.ts","sourceRoot":"","sources":["../../../src/services/fileWalker.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,UAAU,gBAAgB;IACxB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAsGnB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAWzD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAkBf;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAmBT;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAgBT;
|
|
1
|
+
{"version":3,"file":"fileWalker.d.ts","sourceRoot":"","sources":["../../../src/services/fileWalker.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,UAAU,gBAAgB;IACxB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAsGnB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAWzD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAkBf;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAmBT;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAgBT;AAgCD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAI7E"}
|
|
@@ -232,6 +232,33 @@ export function shouldExclude(fileName, relativePath, patterns) {
|
|
|
232
232
|
return false;
|
|
233
233
|
});
|
|
234
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* Cache for compiled glob regexes.
|
|
237
|
+
* Patterns are stable across many file checks, so compiling once per pattern
|
|
238
|
+
* (instead of per file × pattern) dramatically reduces work on large trees.
|
|
239
|
+
*/
|
|
240
|
+
const globRegexCache = new Map();
|
|
241
|
+
/**
|
|
242
|
+
* Compiles a glob pattern into a RegExp, caching the result so subsequent
|
|
243
|
+
* lookups for the same pattern are O(1).
|
|
244
|
+
* @param pattern The glob pattern to compile.
|
|
245
|
+
* @returns The compiled RegExp.
|
|
246
|
+
*/
|
|
247
|
+
function compileGlob(pattern) {
|
|
248
|
+
const cached = globRegexCache.get(pattern);
|
|
249
|
+
if (cached)
|
|
250
|
+
return cached;
|
|
251
|
+
const normalized = pattern.replace(/\\/g, '/');
|
|
252
|
+
const regexBody = normalized
|
|
253
|
+
.replace(/[.+^${}()|[\]\\]/g, '\\$&')
|
|
254
|
+
.replace(/\*\*/g, '___DS___')
|
|
255
|
+
.replace(/\*/g, '[^/]*')
|
|
256
|
+
.replace(/___DS___/g, '.*')
|
|
257
|
+
.replace(/\?/g, '[^/]');
|
|
258
|
+
const re = new RegExp(`^${regexBody}$`);
|
|
259
|
+
globRegexCache.set(pattern, re);
|
|
260
|
+
return re;
|
|
261
|
+
}
|
|
235
262
|
/**
|
|
236
263
|
* Checks if a file path matches a glob pattern.
|
|
237
264
|
* A glob pattern is a string that may contain special characters like '*', '**', and '?' to represent wildcards and variable parts of the path.
|
|
@@ -240,17 +267,8 @@ export function shouldExclude(fileName, relativePath, patterns) {
|
|
|
240
267
|
* @returns True if the file path matches the pattern, false otherwise.
|
|
241
268
|
*/
|
|
242
269
|
export function matchesGlobPattern(filePath, pattern) {
|
|
243
|
-
const hasSep = /[
|
|
270
|
+
const hasSep = /[/\\]/.test(pattern);
|
|
244
271
|
const subject = hasSep ? filePath : path.basename(filePath);
|
|
245
|
-
|
|
246
|
-
let normalizedPattern = pattern.replace(/\\/g, '/');
|
|
247
|
-
let regexPattern = normalizedPattern
|
|
248
|
-
.replace(/[.+^${}()|[\]\\]/g, '\\$&')
|
|
249
|
-
.replace(/\*\*/g, '___DOUBLESTAR___')
|
|
250
|
-
.replace(/\*/g, '[^/]*')
|
|
251
|
-
.replace(/___DOUBLESTAR___/g, '.*')
|
|
252
|
-
.replace(/\?/g, '[^/]');
|
|
253
|
-
const re = new RegExp(`^${regexPattern}$`);
|
|
254
|
-
return re.test(normalized);
|
|
272
|
+
return compileGlob(pattern).test(subject.replace(/\\/g, '/'));
|
|
255
273
|
}
|
|
256
274
|
//# sourceMappingURL=fileWalker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileWalker.js","sourceRoot":"","sources":["../../../src/services/fileWalker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fileWalker.js","sourceRoot":"","sources":["../../../src/services/fileWalker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanCodebase.d.ts","sourceRoot":"","sources":["../../../src/services/scanCodebase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"scanCodebase.d.ts","sourceRoot":"","sources":["../../../src/services/scanCodebase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAe5E;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAmEzE"}
|
|
@@ -4,9 +4,11 @@ import { DEFAULT_EXCLUDE_KEYS } from '../core/filterIgnoredKeys.js';
|
|
|
4
4
|
import { detectSecretsInSource, } from '../core/security/secretDetectors.js';
|
|
5
5
|
import { DEFAULT_EXCLUDE_PATTERNS } from '../core/scan/patterns.js';
|
|
6
6
|
import { scanFile } from '../core/scan/scanFile.js';
|
|
7
|
+
import { createConcurrencyLimit } from '../core/helpers/concurrencyLimit.js';
|
|
7
8
|
import { findFiles } from './fileWalker.js';
|
|
8
9
|
import { normalizePath } from '../core/helpers/normalizePath.js';
|
|
9
10
|
import { isLikelyMinified } from '../core/helpers/isLikelyMinified.js';
|
|
11
|
+
const FILE_CONCURRENCY = 50;
|
|
10
12
|
/**
|
|
11
13
|
* Scans the codebase for environment variable usage based on the provided options.
|
|
12
14
|
* @param opts - Options for scanning the codebase.
|
|
@@ -16,36 +18,37 @@ export async function scanCodebase(opts) {
|
|
|
16
18
|
const files = await findFiles(opts.cwd, {
|
|
17
19
|
include: opts.include,
|
|
18
20
|
exclude: [...DEFAULT_EXCLUDE_PATTERNS, ...opts.exclude],
|
|
19
|
-
...(opts.files
|
|
21
|
+
...(opts.files?.length && { files: opts.files }),
|
|
20
22
|
});
|
|
23
|
+
const limit = createConcurrencyLimit(FILE_CONCURRENCY);
|
|
24
|
+
const processFile = async (filePath) => {
|
|
25
|
+
const content = await safeReadFile(filePath);
|
|
26
|
+
if (!content || isLikelyMinified(content))
|
|
27
|
+
return;
|
|
28
|
+
const relativePath = normalizePath(path.relative(opts.cwd, filePath));
|
|
29
|
+
const fileUsages = scanFile(filePath, content, opts);
|
|
30
|
+
const secrets = safeDetectSecrets(relativePath, content, opts);
|
|
31
|
+
return { fileUsages, relativePath, content, secrets };
|
|
32
|
+
};
|
|
33
|
+
const results = await Promise.all(files.map((f) => limit(() => processFile(f))));
|
|
21
34
|
const allUsages = [];
|
|
22
|
-
let filesScanned = 0;
|
|
23
35
|
const allSecrets = [];
|
|
24
36
|
const fileContentMap = new Map();
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (!
|
|
37
|
+
let filesScanned = 0;
|
|
38
|
+
for (const result of results) {
|
|
39
|
+
if (!result)
|
|
28
40
|
continue;
|
|
29
|
-
|
|
30
|
-
continue; // Skip likely minified files
|
|
31
|
-
// Scan the file for environment variable usages
|
|
32
|
-
const fileUsages = scanFile(filePath, content, opts);
|
|
41
|
+
const { fileUsages, relativePath, content, secrets } = result;
|
|
33
42
|
allUsages.push(...fileUsages);
|
|
34
|
-
// Store file content for later use (e.g., framework validation 'use client')
|
|
35
|
-
const relativePath = normalizePath(path.relative(opts.cwd, filePath));
|
|
36
43
|
fileContentMap.set(relativePath, content);
|
|
37
|
-
// Detect secrets in the file content
|
|
38
|
-
const secrets = safeDetectSecrets(relativePath, content, opts);
|
|
39
44
|
if (secrets.length)
|
|
40
45
|
allSecrets.push(...secrets);
|
|
41
|
-
// Count successfully scanned files
|
|
42
46
|
filesScanned++;
|
|
43
47
|
}
|
|
44
48
|
// Filter out ignored variables
|
|
45
49
|
const filteredUsages = allUsages.filter((usage) => !DEFAULT_EXCLUDE_KEYS.includes(usage.variable) &&
|
|
46
50
|
!opts.ignore.includes(usage.variable) &&
|
|
47
51
|
!opts.ignoreRegex.some((regex) => regex.test(usage.variable)));
|
|
48
|
-
const uniqueVariables = [...new Set(filteredUsages.map((u) => u.variable))];
|
|
49
52
|
const loggedVariables = filteredUsages.filter((u) => u.isLogged);
|
|
50
53
|
return {
|
|
51
54
|
used: filteredUsages,
|
|
@@ -55,7 +58,7 @@ export async function scanCodebase(opts) {
|
|
|
55
58
|
stats: {
|
|
56
59
|
filesScanned,
|
|
57
60
|
totalUsages: filteredUsages.length,
|
|
58
|
-
uniqueVariables:
|
|
61
|
+
uniqueVariables: new Set(filteredUsages.map((u) => u.variable)).size,
|
|
59
62
|
warningsCount: 0,
|
|
60
63
|
duration: 0,
|
|
61
64
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanCodebase.js","sourceRoot":"","sources":["../../../src/services/scanCodebase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACL,qBAAqB,GAEtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAiB;IAClD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;QACtC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,CAAC,GAAG,wBAAwB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"scanCodebase.js","sourceRoot":"","sources":["../../../src/services/scanCodebase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { EnvUsage } from '../../config/types.js';
|
|
2
|
+
export interface ExplainResult {
|
|
3
|
+
/** The environment variable key being explained */
|
|
4
|
+
key: string;
|
|
5
|
+
/** List of env files where the key is defined */
|
|
6
|
+
definedIn: string[];
|
|
7
|
+
/** List of usages for the environment variable */
|
|
8
|
+
usages: EnvUsage[];
|
|
9
|
+
/** Indicates if the key is duplicated */
|
|
10
|
+
isDuplicated: boolean;
|
|
11
|
+
/** Indicates if the key is ignored */
|
|
12
|
+
isIgnored: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Prints a detailed explanation for a single environment variable key.
|
|
16
|
+
* @param result The explain result to print
|
|
17
|
+
* @returns void
|
|
18
|
+
*/
|
|
19
|
+
export declare function printExplain(result: ExplainResult): void;
|
|
20
|
+
//# sourceMappingURL=printExplain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printExplain.d.ts","sourceRoot":"","sources":["../../../../src/ui/scan/printExplain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AActD,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kDAAkD;IAClD,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,yCAAyC;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CA0BxD"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { normalizePath } from '../../core/helpers/normalizePath.js';
|
|
2
|
+
import { accent, dim, error, header, label, divider, padLabel, value, warning, } from '../theme.js';
|
|
3
|
+
/**
|
|
4
|
+
* Prints a detailed explanation for a single environment variable key.
|
|
5
|
+
* @param result The explain result to print
|
|
6
|
+
* @returns void
|
|
7
|
+
*/
|
|
8
|
+
export function printExplain(result) {
|
|
9
|
+
const { key, definedIn, usages, isDuplicated, isIgnored } = result;
|
|
10
|
+
const summary = getSummary(result);
|
|
11
|
+
console.log();
|
|
12
|
+
console.log(`${summary.indicator} ${header(`Explain ${key}`)}`);
|
|
13
|
+
console.log(divider);
|
|
14
|
+
printRow('Key', value(key));
|
|
15
|
+
printRow('Status', summary.text);
|
|
16
|
+
console.log();
|
|
17
|
+
printFileList('Defined in', definedIn);
|
|
18
|
+
printUsageList(usages);
|
|
19
|
+
console.log();
|
|
20
|
+
printChecks({
|
|
21
|
+
isDefined: definedIn.length > 0,
|
|
22
|
+
isUsed: usages.length > 0,
|
|
23
|
+
isDuplicated,
|
|
24
|
+
isIgnored,
|
|
25
|
+
});
|
|
26
|
+
console.log(divider);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Prints a standard two-column row.
|
|
30
|
+
* @param name The label for the row
|
|
31
|
+
* @param content The content for the row
|
|
32
|
+
* @returns void
|
|
33
|
+
*/
|
|
34
|
+
function printRow(name, content) {
|
|
35
|
+
console.log(`${label(padLabel(name))}${content}`);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Prints a continuation row aligned with the value column.
|
|
39
|
+
* @param content The content for the continuation row
|
|
40
|
+
* @returns void
|
|
41
|
+
*/
|
|
42
|
+
function printContinuation(content) {
|
|
43
|
+
console.log(`${label(padLabel(''))}${content}`);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Prints env files where the key is defined.
|
|
47
|
+
* @param title The title for the file list
|
|
48
|
+
* @param files The list of files
|
|
49
|
+
* @returns void
|
|
50
|
+
*/
|
|
51
|
+
function printFileList(title, files) {
|
|
52
|
+
if (files.length === 0) {
|
|
53
|
+
printRow(title, error('(not found in any env file)'));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
files.forEach((file, index) => {
|
|
57
|
+
const content = value(normalizePath(file));
|
|
58
|
+
if (index === 0) {
|
|
59
|
+
printRow(title, content);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
printContinuation(content);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Prints source usages for the key.
|
|
67
|
+
* @param usages The list of usages for the environment variable
|
|
68
|
+
* @returns void
|
|
69
|
+
*/
|
|
70
|
+
function printUsageList(usages) {
|
|
71
|
+
if (usages.length === 0) {
|
|
72
|
+
printRow('Used in', warning('(not found in codebase)'));
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
printRow('Used in', accent(`${usages.length} ${usages.length === 1 ? 'location' : 'locations'}`));
|
|
76
|
+
for (const usage of usages) {
|
|
77
|
+
printUsage(usage);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Prints one usage location with pattern and short code context.
|
|
82
|
+
* @param usage The usage information to print
|
|
83
|
+
* @returns void
|
|
84
|
+
*/
|
|
85
|
+
function printUsage(usage) {
|
|
86
|
+
const location = `${normalizePath(usage.file)}:${usage.line}`;
|
|
87
|
+
const context = usage.context.trim();
|
|
88
|
+
const pattern = dim(`[${usage.pattern}]`);
|
|
89
|
+
const content = context
|
|
90
|
+
? `${accent(location)} ${pattern} ${dim(context)}`
|
|
91
|
+
: `${accent(location)} ${pattern}`;
|
|
92
|
+
printContinuation(content);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Prints status checks for the key.
|
|
96
|
+
* @param checks The status of various checks for the key
|
|
97
|
+
* @returns void
|
|
98
|
+
*/
|
|
99
|
+
function printChecks(checks) {
|
|
100
|
+
printRow('Checks', formatCheck('Defined', checks.isDefined, 'error'));
|
|
101
|
+
printContinuation(formatCheck('Used', checks.isUsed, 'warning'));
|
|
102
|
+
printContinuation(formatCheck('Not duplicated', !checks.isDuplicated, 'warning'));
|
|
103
|
+
if (checks.isIgnored) {
|
|
104
|
+
printContinuation(warning('⚠ Key is ignored'));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Formats a status check row.
|
|
109
|
+
* @param text The text for the check
|
|
110
|
+
* @param ok Whether the check passed
|
|
111
|
+
* @param failSeverity The severity of the failure ('error' or 'warning')
|
|
112
|
+
* @returns The formatted check string
|
|
113
|
+
*/
|
|
114
|
+
function formatCheck(text, ok, failSeverity) {
|
|
115
|
+
if (ok) {
|
|
116
|
+
return `${accent('✓')} ${accent(text)}`;
|
|
117
|
+
}
|
|
118
|
+
const color = failSeverity === 'error' ? error : warning;
|
|
119
|
+
return `${color('✘')} ${color(text)}`;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Returns the overall visual status for the explain result.
|
|
123
|
+
* @param result The explain result to summarize
|
|
124
|
+
* @returns An object containing the indicator and text for the summary
|
|
125
|
+
*/
|
|
126
|
+
function getSummary(result) {
|
|
127
|
+
if (result.definedIn.length === 0) {
|
|
128
|
+
return {
|
|
129
|
+
indicator: error('▸'),
|
|
130
|
+
text: error('missing from env files'),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
if (result.usages.length === 0 || result.isDuplicated || result.isIgnored) {
|
|
134
|
+
return {
|
|
135
|
+
indicator: warning('▸'),
|
|
136
|
+
text: warning('needs attention'),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
indicator: accent('▸'),
|
|
141
|
+
text: accent('ok'),
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=printExplain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printExplain.js","sourceRoot":"","sources":["../../../../src/ui/scan/printExplain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printListAll.d.ts","sourceRoot":"","sources":["../../../../src/ui/scan/printListAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"printListAll.d.ts","sourceRoot":"","sources":["../../../../src/ui/scan/printListAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAoBrD"}
|