dotenv-diff 2.3.7 → 2.3.8
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/README.md +23 -0
- package/dist/src/cli/program.d.ts.map +1 -1
- package/dist/src/cli/program.js +6 -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 +2 -0
- package/dist/src/cli/run.js.map +1 -1
- package/dist/src/commands/scanUsage.d.ts.map +1 -1
- package/dist/src/commands/scanUsage.js +9 -1
- package/dist/src/commands/scanUsage.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 +10 -0
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/core/computeHealthScore.d.ts +8 -0
- package/dist/src/core/computeHealthScore.d.ts.map +1 -0
- package/dist/src/core/computeHealthScore.js +28 -0
- package/dist/src/core/computeHealthScore.js.map +1 -0
- package/dist/src/core/detectUppercaseKeys.d.ts +9 -0
- package/dist/src/core/detectUppercaseKeys.d.ts.map +1 -0
- package/dist/src/core/detectUppercaseKeys.js +28 -0
- package/dist/src/core/detectUppercaseKeys.js.map +1 -0
- package/dist/src/core/processComparisonFile.d.ts +4 -0
- package/dist/src/core/processComparisonFile.d.ts.map +1 -1
- package/dist/src/core/processComparisonFile.js +11 -0
- package/dist/src/core/processComparisonFile.js.map +1 -1
- package/dist/src/core/scanJsonOutput.d.ts.map +1 -1
- package/dist/src/core/scanJsonOutput.js +3 -0
- package/dist/src/core/scanJsonOutput.js.map +1 -1
- package/dist/src/services/scanOutputToConsole.d.ts.map +1 -1
- package/dist/src/services/scanOutputToConsole.js +9 -0
- package/dist/src/services/scanOutputToConsole.js.map +1 -1
- package/dist/src/ui/scan/printHealthScore.d.ts +8 -0
- package/dist/src/ui/scan/printHealthScore.d.ts.map +1 -0
- package/dist/src/ui/scan/printHealthScore.js +30 -0
- package/dist/src/ui/scan/printHealthScore.js.map +1 -0
- package/dist/src/ui/scan/printUppercaseWarning.d.ts +10 -0
- package/dist/src/ui/scan/printUppercaseWarning.d.ts.map +1 -0
- package/dist/src/ui/scan/printUppercaseWarning.js +19 -0
- package/dist/src/ui/scan/printUppercaseWarning.js.map +1 -0
- package/dist/src/ui/shared/printStrictModeError.d.ts +1 -0
- package/dist/src/ui/shared/printStrictModeError.d.ts.map +1 -1
- package/dist/src/ui/shared/printStrictModeError.js +2 -0
- package/dist/src/ui/shared/printStrictModeError.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -133,6 +133,18 @@ const ignoredEntropy = "AIzaSyA-1234567890abcdefgHIJKLMNOpqrstuv" // dotenv-diff
|
|
|
133
133
|
|
|
134
134
|
This will prevent `dotenv-diff` from flagging the line as a potential secret.
|
|
135
135
|
|
|
136
|
+
## Healthscore
|
|
137
|
+
|
|
138
|
+
`dotenv-diff` includes by default a health score feature that provides an overall assessment of your project's environment variable management.
|
|
139
|
+
|
|
140
|
+
The health score is calculated based on several factors, including:
|
|
141
|
+
- The number of missing environment variables.
|
|
142
|
+
- The presence of potential secrets exposed in your codebase.
|
|
143
|
+
- The use of uppercase naming conventions for environment variable keys.
|
|
144
|
+
- Logged environment variables in the codebase.
|
|
145
|
+
- Unused variables in your `.env` or `.env.example` file.
|
|
146
|
+
- Framework specific warning for SvelteKit or Next.js (depending on detected framework).
|
|
147
|
+
|
|
136
148
|
## Show unused variables
|
|
137
149
|
|
|
138
150
|
As default, `dotenv-diff` will list variables that are defined in `.env` but never used in your codebase.
|
|
@@ -192,6 +204,17 @@ dotenv-diff --ignore API_KEY --ignore-regex '^SECRET_'
|
|
|
192
204
|
|
|
193
205
|
Ignored keys are removed from all warnings and do not affect the exit code.
|
|
194
206
|
|
|
207
|
+
## Uppercase environment variable keys
|
|
208
|
+
|
|
209
|
+
`dotenv-diff` can detect environment variable keys that are not in uppercase format, which is a common convention for environment variables.
|
|
210
|
+
|
|
211
|
+
If any non-uppercase keys are found, a warning will be displayed showing the suggested uppercase version.
|
|
212
|
+
You can disable this check using the `--no-uppercase-keys` flag (enabled by default):
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
dotenv-diff --no-uppercase-keys
|
|
216
|
+
```
|
|
217
|
+
|
|
195
218
|
## Create a sample config file with --init
|
|
196
219
|
|
|
197
220
|
You can create a sample `dotenv-diff.config.json` file in your current directory using the `--init` flag:
|
|
@@ -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,
|
|
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,YAqE5B"}
|
package/dist/src/cli/program.js
CHANGED
|
@@ -17,6 +17,7 @@ export function createProgram() {
|
|
|
17
17
|
.option('--ignore-regex <pattern>', 'Regex pattern to ignore matching keys')
|
|
18
18
|
.option('--fix', 'Automatically fix common issues: remove duplicates, add missing keys')
|
|
19
19
|
.option('--json', 'Output results in JSON format')
|
|
20
|
+
.option('--color', 'Enable colored output')
|
|
20
21
|
.option('--no-color', 'Disable colored output')
|
|
21
22
|
.option('--only <list>', 'Comma-separated categories to only run (missing,extra,empty,mismatch,duplicate,gitignore)')
|
|
22
23
|
.option('--scan-usage', 'Scan codebase for environment variable usage')
|
|
@@ -24,12 +25,16 @@ export function createProgram() {
|
|
|
24
25
|
.option('--include-files <patterns>', 'Comma-separated file patterns to ADD to default scan patterns (extends default)')
|
|
25
26
|
.option('--files <patterns>', 'Comma-separated file patterns to scan (completely replaces default patterns)')
|
|
26
27
|
.option('--exclude-files <patterns>', 'Comma-separated file patterns to exclude from scan')
|
|
28
|
+
.option('--show-unused', 'List variables that are defined in .env but not used in code')
|
|
27
29
|
.option('--no-show-unused', 'Do not list variables that are defined in .env but not used in code')
|
|
30
|
+
.option('--show-stats', 'Show statistics')
|
|
28
31
|
.option('--no-show-stats', 'Do not show statistics')
|
|
29
32
|
.option('--strict', 'Enable fail on warnings')
|
|
33
|
+
.option('--secrets', 'Enable secret detection during scan (enabled by default)')
|
|
30
34
|
.option('--no-secrets', 'Disable secret detection during scan (enabled by default)')
|
|
31
35
|
.option('--ignore-urls <list>', 'Comma-separated URLs to ignore in secret scan')
|
|
32
|
-
.option('--
|
|
36
|
+
.option('--uppercase-keys', 'Enable uppercase key validation (enabled by default)')
|
|
37
|
+
.option('--no-uppercase-keys', 'Disable uppercase key validation')
|
|
33
38
|
.option('--init', 'Create a sample dotenv-diff.config.json file');
|
|
34
39
|
}
|
|
35
40
|
//# 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,IAAI,OAAO,EAAE;SACjB,IAAI,CAAC,aAAa,CAAC;SACnB,WAAW,CAAC,qCAAqC,CAAC;SAClD,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,CAAC,0BAA0B,EAAE,uCAAuC,CAAC;SAC3E,MAAM,CACL,OAAO,EACP,sEAAsE,CACvE;SACA,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CACL,eAAe,EACf,2FAA2F,CAC5F;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,kBAAkB,EAClB,qEAAqE,CACtE;SACA,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;SACnD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;SAC7C,MAAM,CACL,cAAc,EACd,2DAA2D,CAC5D;SACA,MAAM,
|
|
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,IAAI,OAAO,EAAE;SACjB,IAAI,CAAC,aAAa,CAAC;SACnB,WAAW,CAAC,qCAAqC,CAAC;SAClD,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,CAAC,0BAA0B,EAAE,uCAAuC,CAAC;SAC3E,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,2FAA2F,CAC5F;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,CAAC,QAAQ,EAAE,8CAA8C,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4OzC;;;;GAIG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBzD"}
|
package/dist/src/cli/run.js
CHANGED
|
@@ -34,6 +34,7 @@ async function runScanMode(opts) {
|
|
|
34
34
|
strict: opts.strict ?? false,
|
|
35
35
|
ignoreUrls: opts.ignoreUrls ?? [],
|
|
36
36
|
noCompare: opts.noCompare ?? false,
|
|
37
|
+
uppercaseKeys: opts.uppercaseKeys ?? true,
|
|
37
38
|
...(opts.files ? { files: opts.files } : {}),
|
|
38
39
|
});
|
|
39
40
|
process.exit(exitWithError ? 1 : 0);
|
|
@@ -156,6 +157,7 @@ function buildCompareOptions(opts, report) {
|
|
|
156
157
|
ignore: opts.ignore,
|
|
157
158
|
ignoreRegex: opts.ignoreRegex,
|
|
158
159
|
showStats: opts.showStats,
|
|
160
|
+
uppercaseKeys: opts.uppercaseKeys,
|
|
159
161
|
collect: (e) => report.push(e),
|
|
160
162
|
...(opts.only ? { only: opts.only } : {}),
|
|
161
163
|
};
|
package/dist/src/cli/run.js.map
CHANGED
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanUsage.d.ts","sourceRoot":"","sources":["../../../src/commands/scanUsage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"scanUsage.d.ts","sourceRoot":"","sources":["../../../src/commands/scanUsage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,oBAAoB,CAAC;AA6E5B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE,CAAC,CA0HrC"}
|
|
@@ -8,6 +8,7 @@ import { printComparisonError } from '../ui/scan/printComparisonError.js';
|
|
|
8
8
|
import { hasIgnoreComment } from '../core/secretDetectors.js';
|
|
9
9
|
import { frameworkValidator } from '../core/frameworkValidator.js';
|
|
10
10
|
import { detectSecretsInExample } from '../core/exampleSecretDetector.js';
|
|
11
|
+
import { detectUppercaseKeys } from '../core/detectUppercaseKeys.js';
|
|
11
12
|
/**
|
|
12
13
|
* Filters out commented usages from the list.
|
|
13
14
|
* Skipping comments:
|
|
@@ -99,6 +100,9 @@ export async function scanUsage(opts) {
|
|
|
99
100
|
if (frameworkWarnings.length > 0) {
|
|
100
101
|
scanResult.frameworkWarnings = frameworkWarnings;
|
|
101
102
|
}
|
|
103
|
+
if (opts.uppercaseKeys) {
|
|
104
|
+
scanResult.uppercaseWarnings = detectUppercaseKeys(scanResult.used);
|
|
105
|
+
}
|
|
102
106
|
// Determine which file to compare against
|
|
103
107
|
const compareFile = determineComparisonFile(opts);
|
|
104
108
|
let envVariables = {};
|
|
@@ -127,6 +131,9 @@ export async function scanUsage(opts) {
|
|
|
127
131
|
removedDuplicates = result.removedDuplicates;
|
|
128
132
|
fixedKeys = result.addedEnv;
|
|
129
133
|
gitignoreUpdated = result.gitignoreUpdated;
|
|
134
|
+
if (result.uppercaseWarnings) {
|
|
135
|
+
scanResult.uppercaseWarnings = result.uppercaseWarnings;
|
|
136
|
+
}
|
|
130
137
|
if (result.exampleFull && result.comparedAgainst === '.env.example') {
|
|
131
138
|
scanResult.exampleWarnings = detectSecretsInExample(result.exampleFull);
|
|
132
139
|
}
|
|
@@ -152,7 +159,8 @@ export async function scanUsage(opts) {
|
|
|
152
159
|
(scanResult.secrets?.length ?? 0) > 0)) ||
|
|
153
160
|
(scanResult.exampleWarnings?.length ?? 0) > 0 ||
|
|
154
161
|
(scanResult.frameworkWarnings?.length ?? 0) > 0 ||
|
|
155
|
-
(scanResult.logged?.length ?? 0) > 0
|
|
162
|
+
(scanResult.logged?.length ?? 0) > 0 ||
|
|
163
|
+
(scanResult.uppercaseWarnings?.length ?? 0) > 0),
|
|
156
164
|
};
|
|
157
165
|
}
|
|
158
166
|
// Console output
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanUsage.js","sourceRoot":"","sources":["../../../src/commands/scanUsage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAM9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"scanUsage.js","sourceRoot":"","sources":["../../../src/commands/scanUsage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAM9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAAC,MAAkB;IAC7C,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,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,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,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;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,UAAsB;IAC5C,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CACjD,CAAC,IAAI,CAAC;IAEP,UAAU,CAAC,KAAK,GAAG;QACjB,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY;QAC3C,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM;QACnC,eAAe;QACf,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ;KACpC,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAsB;IAEtB,wBAAwB;IACxB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEpC,oBAAoB;IACpB,IAAI,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IAE1C,8BAA8B;IAC9B,UAAU,CAAC,IAAI,GAAG,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEvD,mBAAmB;IACnB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAClC,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,qBAAqB;IAE/E,oCAAoC;IACpC,cAAc,CAAC,UAAU,CAAC,CAAC;IAE3B,wEAAwE;IACxE,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,UAAU,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IACnD,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,UAAU,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,0CAA0C;IAC1C,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,YAAY,GAAuC,EAAE,CAAC;IAC1D,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,iDAAiD;IACjD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,IAAI,iBAAiB,GAAa,EAAE,CAAC;IACrC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,0CAA0C;IAC1C,0FAA0F;IAC1F,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,EAAE,IAAI,EAAE,GAAG,oBAAoB,CACnC,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,KAAK,CAAC,UAAU,EACvB,IAAI,CAAC,IAAI,IAAI,KAAK,CACnB,CAAC;YACF,IAAI,IAAI;gBAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACnC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;YACzC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;YACzC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;YAC7C,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC5B,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAC3C,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,UAAU,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;YAC1D,CAAC;YACD,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;gBACpE,UAAU,CAAC,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc;IACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,gBAAgB,CACjC,UAAU,EACV,IAAI,EACJ,eAAe,EACf,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CACjC,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjD,kCAAkC;QAClC,MAAM,sBAAsB,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAC7B,CAAC;QAEF,uDAAuD;QACvD,MAAM,8BAA8B,GAAG,CACrC,UAAU,CAAC,eAAe,IAAI,EAAE,CACjC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;QAErC,OAAO;YACL,aAAa,EACX,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAC7B,eAAe;gBACf,sBAAsB;gBACtB,8BAA8B;gBAC9B,CAAC,CAAC,CACA,CAAC,IAAI,CAAC,MAAM;oBACV,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;wBAC3B,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;wBAC7C,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;wBACjD,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,CAAC,UAAU,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;oBAC7C,CAAC,UAAU,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;oBAC/C,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;oBACpC,CAAC,UAAU,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAChD;SACJ,CAAC;IACJ,CAAC;IAED,iBAAiB;IACjB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE;QAChE,UAAU;QACV,iBAAiB;QACjB,QAAQ,EAAE,SAAS;QACnB,gBAAgB;KACjB,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,eAAe,EAAE,CAAC;AACpE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/config/options.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAgEpB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/config/options.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAgEpB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAmEzD"}
|
|
@@ -79,6 +79,7 @@ export function normalizeOptions(raw) {
|
|
|
79
79
|
const files = parseList(raw.files);
|
|
80
80
|
const noCompare = toBool(raw.noCompare);
|
|
81
81
|
const ignoreUrls = parseList(raw.ignoreUrls);
|
|
82
|
+
const uppercaseKeys = raw.uppercaseKeys !== false;
|
|
82
83
|
const cwd = process.cwd();
|
|
83
84
|
const envFlag = typeof raw.env === 'string' ? path.resolve(cwd, raw.env) : undefined;
|
|
84
85
|
const exampleFlag = typeof raw.example === 'string'
|
|
@@ -112,6 +113,7 @@ export function normalizeOptions(raw) {
|
|
|
112
113
|
strict,
|
|
113
114
|
ignoreUrls,
|
|
114
115
|
noCompare,
|
|
116
|
+
uppercaseKeys,
|
|
115
117
|
};
|
|
116
118
|
}
|
|
117
119
|
//# sourceMappingURL=options.js.map
|
|
@@ -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":"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"}
|
|
@@ -39,6 +39,7 @@ export type Options = {
|
|
|
39
39
|
strict: boolean | undefined;
|
|
40
40
|
ignoreUrls?: string[];
|
|
41
41
|
noCompare: boolean;
|
|
42
|
+
uppercaseKeys: boolean;
|
|
42
43
|
};
|
|
43
44
|
/** Type representing the raw options for the comparison
|
|
44
45
|
* These are the options that are directly passed to the comparison function without any processing or validation.
|
|
@@ -68,6 +69,7 @@ export type RawOptions = {
|
|
|
68
69
|
ignoreUrls?: string[];
|
|
69
70
|
noCompare?: boolean;
|
|
70
71
|
init?: boolean;
|
|
72
|
+
uppercaseKeys?: boolean;
|
|
71
73
|
};
|
|
72
74
|
/**
|
|
73
75
|
* Type representing a single entry in the comparison results
|
|
@@ -147,6 +149,7 @@ export interface ScanResult {
|
|
|
147
149
|
frameworkWarnings?: frameworkWarning[];
|
|
148
150
|
exampleWarnings?: ExampleSecretWarning[];
|
|
149
151
|
logged: EnvUsage[];
|
|
152
|
+
uppercaseWarnings?: UppercaseWarning[];
|
|
150
153
|
}
|
|
151
154
|
/** Options for scanning the codebase for environment variable usage. */
|
|
152
155
|
export interface ScanUsageOptions extends ScanOptions {
|
|
@@ -160,6 +163,7 @@ export interface ScanUsageOptions extends ScanOptions {
|
|
|
160
163
|
files?: string[];
|
|
161
164
|
allowDuplicates?: boolean;
|
|
162
165
|
strict?: boolean;
|
|
166
|
+
uppercaseKeys?: boolean;
|
|
163
167
|
}
|
|
164
168
|
export interface ScanJsonEntry {
|
|
165
169
|
stats: {
|
|
@@ -168,6 +172,7 @@ export interface ScanJsonEntry {
|
|
|
168
172
|
uniqueVariables: number;
|
|
169
173
|
duration: number;
|
|
170
174
|
};
|
|
175
|
+
healthScore: number;
|
|
171
176
|
missing: Array<{
|
|
172
177
|
variable: string;
|
|
173
178
|
usages: Array<{
|
|
@@ -226,6 +231,7 @@ export interface ComparisonOptions {
|
|
|
226
231
|
only?: Category[];
|
|
227
232
|
showStats?: boolean;
|
|
228
233
|
strict?: boolean;
|
|
234
|
+
uppercaseKeys?: boolean;
|
|
229
235
|
}
|
|
230
236
|
export interface FilePair {
|
|
231
237
|
envName: string;
|
|
@@ -272,4 +278,8 @@ export type Filtered = {
|
|
|
272
278
|
reason: 'no-gitignore' | 'not-ignored';
|
|
273
279
|
} | null;
|
|
274
280
|
};
|
|
281
|
+
export interface UppercaseWarning {
|
|
282
|
+
key: string;
|
|
283
|
+
suggestion: string;
|
|
284
|
+
}
|
|
275
285
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAG7E,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAGD,eAAO,MAAM,kBAAkB,8EAOrB,CAAC;AAGX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ScanResult } from '../config/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Computes a health score based on the scan results.
|
|
4
|
+
* @param scan - The result of the scan.
|
|
5
|
+
* @returns The computed health score as a number between 0 and 100.
|
|
6
|
+
*/
|
|
7
|
+
export declare function computeHealthScore(scan: ScanResult): number;
|
|
8
|
+
//# sourceMappingURL=computeHealthScore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeHealthScore.d.ts","sourceRoot":"","sources":["../../../src/core/computeHealthScore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CA8B3D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Computes a health score based on the scan results.
|
|
3
|
+
* @param scan - The result of the scan.
|
|
4
|
+
* @returns The computed health score as a number between 0 and 100.
|
|
5
|
+
*/
|
|
6
|
+
export function computeHealthScore(scan) {
|
|
7
|
+
let score = 100;
|
|
8
|
+
// === 1. Secrets detected ===
|
|
9
|
+
const highSecrets = scan.secrets?.filter((s) => s.severity === 'high') ?? [];
|
|
10
|
+
const medSecrets = scan.secrets?.filter((s) => s.severity === 'medium') ?? [];
|
|
11
|
+
score -= highSecrets.length * 15;
|
|
12
|
+
score -= medSecrets.length * 5;
|
|
13
|
+
// === 2. Missing environment variables ===
|
|
14
|
+
score -= scan.missing.length * 5;
|
|
15
|
+
// === 3. Uppercase naming issues ===
|
|
16
|
+
score -= (scan.uppercaseWarnings?.length ?? 0) * 2;
|
|
17
|
+
// === 4. Console logging ===
|
|
18
|
+
score -= (scan.logged?.length ?? 0) * 5;
|
|
19
|
+
// === 5. Unused vars (less important) ===
|
|
20
|
+
score -= (scan.unused?.length ?? 0) * 1;
|
|
21
|
+
// === 6. Framework warnings ===
|
|
22
|
+
score -= (scan.frameworkWarnings?.length ?? 0) * 2;
|
|
23
|
+
// === 7. Example secrets ===
|
|
24
|
+
score -= (scan.exampleWarnings?.length ?? 0) * 10;
|
|
25
|
+
// Never go below 0 or above 100
|
|
26
|
+
return Math.max(0, Math.min(100, score));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=computeHealthScore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeHealthScore.js","sourceRoot":"","sources":["../../../src/core/computeHealthScore.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,IAAI,KAAK,GAAG,GAAG,CAAC;IAEhB,8BAA8B;IAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE9E,KAAK,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC;IACjC,KAAK,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAE/B,2CAA2C;IAC3C,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjC,qCAAqC;IACrC,KAAK,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEnD,6BAA6B;IAC7B,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAExC,0CAA0C;IAC1C,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAExC,gCAAgC;IAChC,KAAK,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEnD,6BAA6B;IAC7B,KAAK,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAElD,gCAAgC;IAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { EnvUsage } from '../config/types.js';
|
|
2
|
+
import type { UppercaseWarning } from '../config/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Detects environment variable keys that are not in uppercase format.
|
|
5
|
+
* @param usages - List of environment variable usages
|
|
6
|
+
* @returns List of warnings for non-uppercase keys
|
|
7
|
+
*/
|
|
8
|
+
export declare function detectUppercaseKeys(usages: EnvUsage[]): UppercaseWarning[];
|
|
9
|
+
//# sourceMappingURL=detectUppercaseKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectUppercaseKeys.d.ts","sourceRoot":"","sources":["../../../src/core/detectUppercaseKeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAa3D;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAa1E"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Convert key to proper UPPER_SNAKE_CASE
|
|
2
|
+
* @param name - The environment variable name
|
|
3
|
+
* @returns The name converted to UPPER_SNAKE_CASE
|
|
4
|
+
*/
|
|
5
|
+
function toUpperSnakeCase(name) {
|
|
6
|
+
return name
|
|
7
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1_$2') // camelCase → camel_Case
|
|
8
|
+
.replace(/[-\s]+/g, '_') // dashes/spaces → underscore
|
|
9
|
+
.toUpperCase();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Detects environment variable keys that are not in uppercase format.
|
|
13
|
+
* @param usages - List of environment variable usages
|
|
14
|
+
* @returns List of warnings for non-uppercase keys
|
|
15
|
+
*/
|
|
16
|
+
export function detectUppercaseKeys(usages) {
|
|
17
|
+
const warnings = [];
|
|
18
|
+
for (const u of usages) {
|
|
19
|
+
if (!/^[A-Z0-9_]+$/.test(u.variable)) {
|
|
20
|
+
warnings.push({
|
|
21
|
+
key: u.variable,
|
|
22
|
+
suggestion: toUpperSnakeCase(u.variable),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return warnings;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=detectUppercaseKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectUppercaseKeys.js","sourceRoot":"","sources":["../../../src/core/detectUppercaseKeys.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,yBAAyB;SAChE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,6BAA6B;SACrD,WAAW,EAAE,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAkB;IACpD,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,CAAC,CAAC,QAAQ;gBACf,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC;aACzC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -18,6 +18,10 @@ export interface ProcessComparisonResult {
|
|
|
18
18
|
addedExample: string[];
|
|
19
19
|
gitignoreUpdated: boolean;
|
|
20
20
|
exampleFull?: Record<string, string> | undefined;
|
|
21
|
+
uppercaseWarnings?: Array<{
|
|
22
|
+
key: string;
|
|
23
|
+
suggestion: string;
|
|
24
|
+
}>;
|
|
21
25
|
error?: {
|
|
22
26
|
message: string;
|
|
23
27
|
shouldExit: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processComparisonFile.d.ts","sourceRoot":"","sources":["../../../src/core/processComparisonFile.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACjD,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;CAClD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3C,IAAI,EAAE,gBAAgB,GACrB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"processComparisonFile.d.ts","sourceRoot":"","sources":["../../../src/core/processComparisonFile.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACjD,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;CAClD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3C,IAAI,EAAE,gBAAgB,GACrB,uBAAuB,CA4HzB"}
|
|
@@ -24,6 +24,7 @@ export function processComparisonFile(scanResult, compareFile, opts) {
|
|
|
24
24
|
let addedExample = [];
|
|
25
25
|
let gitignoreUpdated = false;
|
|
26
26
|
let exampleFull = undefined;
|
|
27
|
+
let uppercaseWarnings = [];
|
|
27
28
|
try {
|
|
28
29
|
// Load .env.example (if exists)
|
|
29
30
|
if (opts.examplePath) {
|
|
@@ -38,6 +39,14 @@ export function processComparisonFile(scanResult, compareFile, opts) {
|
|
|
38
39
|
envVariables = Object.fromEntries(envKeys.map((k) => [k, envFull[k]]));
|
|
39
40
|
scanResult = compareWithEnvFiles(scanResult, envVariables);
|
|
40
41
|
comparedAgainst = compareFile.name;
|
|
42
|
+
// Detect uppercase keys
|
|
43
|
+
if (opts.uppercaseKeys) {
|
|
44
|
+
for (const key of envKeys) {
|
|
45
|
+
if (!/^[A-Z0-9_]+$/.test(key)) {
|
|
46
|
+
uppercaseWarnings.push({ key, suggestion: key.toUpperCase() });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
41
50
|
// Find duplicates
|
|
42
51
|
if (!opts.allowDuplicates) {
|
|
43
52
|
const duplicateResults = checkDuplicates(compareFile, opts);
|
|
@@ -94,6 +103,7 @@ export function processComparisonFile(scanResult, compareFile, opts) {
|
|
|
94
103
|
addedExample,
|
|
95
104
|
gitignoreUpdated,
|
|
96
105
|
exampleFull,
|
|
106
|
+
uppercaseWarnings,
|
|
97
107
|
error: {
|
|
98
108
|
message: errorMessage,
|
|
99
109
|
shouldExit: opts.isCiMode ?? false,
|
|
@@ -113,6 +123,7 @@ export function processComparisonFile(scanResult, compareFile, opts) {
|
|
|
113
123
|
addedExample,
|
|
114
124
|
gitignoreUpdated,
|
|
115
125
|
exampleFull,
|
|
126
|
+
uppercaseWarnings,
|
|
116
127
|
};
|
|
117
128
|
}
|
|
118
129
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processComparisonFile.js","sourceRoot":"","sources":["../../../src/core/processComparisonFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"processComparisonFile.js","sourceRoot":"","sources":["../../../src/core/processComparisonFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanJsonOutput.d.ts","sourceRoot":"","sources":["../../../src/core/scanJsonOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EAEV,aAAa,EACd,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"scanJsonOutput.d.ts","sourceRoot":"","sources":["../../../src/core/scanJsonOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EAEV,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,gBAAgB,EACtB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,aAAa,CAuDf"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { computeHealthScore } from './computeHealthScore.js';
|
|
1
2
|
/**
|
|
2
3
|
* Creates a JSON output for the scan results.
|
|
3
4
|
* @param scanResult - The result of the scan.
|
|
@@ -19,8 +20,10 @@ export function createJsonOutput(scanResult, opts, comparedAgainst, totalEnvVari
|
|
|
19
20
|
context: u.context,
|
|
20
21
|
})),
|
|
21
22
|
}));
|
|
23
|
+
const healthScore = computeHealthScore(scanResult);
|
|
22
24
|
const output = {
|
|
23
25
|
stats: scanResult.stats,
|
|
26
|
+
healthScore,
|
|
24
27
|
missing: missingGrouped,
|
|
25
28
|
unused: scanResult.unused,
|
|
26
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanJsonOutput.js","sourceRoot":"","sources":["../../../src/core/scanJsonOutput.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scanJsonOutput.js","sourceRoot":"","sources":["../../../src/core/scanJsonOutput.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAsB,EACtB,IAAsB,EACtB,eAAuB,EACvB,iBAAyB;IAEzB,iDAAiD;IACjD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC;QACnE,QAAQ;QACR,MAAM,EAAE,UAAU,CAAC,IAAI;aACpB,MAAM,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;aAChD,GAAG,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC;YACrB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC;KACN,CAAC,CAAC,CAAC;IAEJ,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAkB;QAC5B,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,WAAW;QACX,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;IAEF,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC9B,MAAwB,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,0BAA0B;IAC1B,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC5C,CAAC;IAED,oDAAoD;IACpD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;QACzC,MAAM,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,gCAAgC;IAChC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC;YACvD,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanOutputToConsole.d.ts","sourceRoot":"","sources":["../../../src/services/scanOutputToConsole.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"scanOutputToConsole.d.ts","sourceRoot":"","sources":["../../../src/services/scanOutputToConsole.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAqBvE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,gBAAgB,EACtB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GACA;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE,CA4K5B"}
|
|
@@ -17,6 +17,9 @@ import { printCspWarning } from '../ui/scan/printCspWarning.js';
|
|
|
17
17
|
import { printFrameworkWarnings } from '../ui/scan/printFrameworkWarnings.js';
|
|
18
18
|
import { printExampleWarnings } from '../ui/scan/printExampleWarnings.js';
|
|
19
19
|
import { printConsolelogWarning } from '../ui/scan/printConsolelogWarning.js';
|
|
20
|
+
import { printUppercaseWarning } from '../ui/scan/printUppercaseWarning.js';
|
|
21
|
+
import { computeHealthScore } from '../core/computeHealthScore.js';
|
|
22
|
+
import { printHealthScore } from '../ui/scan/printHealthScore.js';
|
|
20
23
|
/**
|
|
21
24
|
* Outputs the scan results to the console.
|
|
22
25
|
* @param scanResult - The result of the scan.
|
|
@@ -31,6 +34,8 @@ export function outputToConsole(scanResult, opts, comparedAgainst, fixContext) {
|
|
|
31
34
|
printHeader(comparedAgainst);
|
|
32
35
|
// Show stats if requested
|
|
33
36
|
printStats(scanResult.stats, isJson, opts.showStats ?? true);
|
|
37
|
+
const score = computeHealthScore(scanResult);
|
|
38
|
+
printHealthScore(score);
|
|
34
39
|
// Show used variables if any found
|
|
35
40
|
if (scanResult.stats.uniqueVariables > 0) {
|
|
36
41
|
// Show unique variables found
|
|
@@ -45,6 +50,9 @@ export function outputToConsole(scanResult, opts, comparedAgainst, fixContext) {
|
|
|
45
50
|
if (scanResult.frameworkWarnings && scanResult.frameworkWarnings.length > 0) {
|
|
46
51
|
printFrameworkWarnings(scanResult.frameworkWarnings, isJson);
|
|
47
52
|
}
|
|
53
|
+
if (scanResult.uppercaseWarnings && scanResult.uppercaseWarnings.length > 0) {
|
|
54
|
+
printUppercaseWarning(scanResult.uppercaseWarnings, comparedAgainst, isJson);
|
|
55
|
+
}
|
|
48
56
|
printExampleWarnings(scanResult.exampleWarnings ?? [], isJson);
|
|
49
57
|
// Unused
|
|
50
58
|
printUnused(scanResult.unused, comparedAgainst, opts.showUnused ?? false, isJson);
|
|
@@ -95,6 +103,7 @@ export function outputToConsole(scanResult, opts, comparedAgainst, fixContext) {
|
|
|
95
103
|
hasGitignoreIssue,
|
|
96
104
|
frameworkWarnings: scanResult.frameworkWarnings?.length ?? 0,
|
|
97
105
|
logged: scanResult.logged?.length ?? 0,
|
|
106
|
+
uppercaseWarnings: scanResult.uppercaseWarnings?.length ?? 0,
|
|
98
107
|
}, isJson);
|
|
99
108
|
if (exit)
|
|
100
109
|
exitWithError = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanOutputToConsole.js","sourceRoot":"","sources":["../../../src/services/scanOutputToConsole.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"scanOutputToConsole.js","sourceRoot":"","sources":["../../../src/services/scanOutputToConsole.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Print the health score of the project based on scan results.
|
|
3
|
+
* @param score - The health score (0-100).
|
|
4
|
+
* @param json - Whether to output in JSON format.
|
|
5
|
+
* @returns Whether the health score was printed.
|
|
6
|
+
*/
|
|
7
|
+
export declare function printHealthScore(score: number, json?: boolean): boolean;
|
|
8
|
+
//# sourceMappingURL=printHealthScore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printHealthScore.d.ts","sourceRoot":"","sources":["../../../../src/ui/scan/printHealthScore.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,OAAe,GACpB,OAAO,CAuBT"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
/**
|
|
3
|
+
* Print the health score of the project based on scan results.
|
|
4
|
+
* @param score - The health score (0-100).
|
|
5
|
+
* @param json - Whether to output in JSON format.
|
|
6
|
+
* @returns Whether the health score was printed.
|
|
7
|
+
*/
|
|
8
|
+
export function printHealthScore(score, json = false) {
|
|
9
|
+
let color = chalk.green;
|
|
10
|
+
let label = 'Excellent health';
|
|
11
|
+
if (json)
|
|
12
|
+
return false;
|
|
13
|
+
if (score < 90) {
|
|
14
|
+
color = chalk.yellow;
|
|
15
|
+
label = 'Good, but can improve';
|
|
16
|
+
}
|
|
17
|
+
if (score < 70) {
|
|
18
|
+
color = chalk.redBright;
|
|
19
|
+
label = 'Needs attention';
|
|
20
|
+
}
|
|
21
|
+
if (score < 40) {
|
|
22
|
+
color = chalk.red;
|
|
23
|
+
label = 'Poor health – critical issues detected';
|
|
24
|
+
}
|
|
25
|
+
console.log('💚 Project Health Score:', color(`${score}/100`));
|
|
26
|
+
console.log(` ${label}`);
|
|
27
|
+
console.log('');
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=printHealthScore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printHealthScore.js","sourceRoot":"","sources":["../../../../src/ui/scan/printHealthScore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAa,EACb,OAAgB,KAAK;IAErB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IACxB,IAAI,KAAK,GAAG,kBAAkB,CAAC;IAE/B,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAEvB,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACrB,KAAK,GAAG,uBAAuB,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;QACxB,KAAK,GAAG,iBAAiB,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;QAClB,KAAK,GAAG,wCAAwC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { UppercaseWarning } from '../../config/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Print warnings for environment variable keys that are not uppercase.
|
|
4
|
+
*
|
|
5
|
+
* @param warnings - List of non-uppercase env keys
|
|
6
|
+
* @param comparedAgainst - The .env file name being checked
|
|
7
|
+
* @param json - Whether JSON output is enabled
|
|
8
|
+
*/
|
|
9
|
+
export declare function printUppercaseWarning(warnings: UppercaseWarning[], comparedAgainst: string, json: boolean): void;
|
|
10
|
+
//# sourceMappingURL=printUppercaseWarning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printUppercaseWarning.d.ts","sourceRoot":"","sources":["../../../../src/ui/scan/printUppercaseWarning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,OAAO,GACZ,IAAI,CAeN"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
/**
|
|
3
|
+
* Print warnings for environment variable keys that are not uppercase.
|
|
4
|
+
*
|
|
5
|
+
* @param warnings - List of non-uppercase env keys
|
|
6
|
+
* @param comparedAgainst - The .env file name being checked
|
|
7
|
+
* @param json - Whether JSON output is enabled
|
|
8
|
+
*/
|
|
9
|
+
export function printUppercaseWarning(warnings, comparedAgainst, json) {
|
|
10
|
+
if (json || warnings.length === 0)
|
|
11
|
+
return;
|
|
12
|
+
console.log(chalk.yellow(`⚠️ Variables not using uppercase naming (${comparedAgainst}):`));
|
|
13
|
+
warnings.forEach((w) => {
|
|
14
|
+
console.log(chalk.yellow(` - ${w.key}`));
|
|
15
|
+
console.log(chalk.yellow.dim(` Consider naming it: ${w.suggestion}`));
|
|
16
|
+
});
|
|
17
|
+
console.log();
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=printUppercaseWarning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printUppercaseWarning.js","sourceRoot":"","sources":["../../../../src/ui/scan/printUppercaseWarning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAA4B,EAC5B,eAAuB,EACvB,IAAa;IAEb,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE1C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,6CAA6C,eAAe,IAAI,CACjE,CACF,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printStrictModeError.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printStrictModeError.ts"],"names":[],"mappings":"AAEA,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"printStrictModeError.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printStrictModeError.ts"],"names":[],"mappings":"AAEA,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CAwBT"}
|
|
@@ -26,6 +26,8 @@ export function printStrictModeError(ctx, json) {
|
|
|
26
26
|
warnings.push('framework specific warnings');
|
|
27
27
|
if (ctx.logged > 0)
|
|
28
28
|
warnings.push('console logged environment variables');
|
|
29
|
+
if (ctx.uppercaseWarnings && ctx.uppercaseWarnings > 0)
|
|
30
|
+
warnings.push('uppercase environment variable keys');
|
|
29
31
|
if (warnings.length === 0)
|
|
30
32
|
return false;
|
|
31
33
|
console.log(chalk.red(`💥 Strict mode: Error on warnings → ${warnings.join(', ')}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printStrictModeError.js","sourceRoot":"","sources":["../../../../src/ui/shared/printStrictModeError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"printStrictModeError.js","sourceRoot":"","sources":["../../../../src/ui/shared/printStrictModeError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAsB,EACtB,IAAa;IAEb,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAEvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtD,IAAI,GAAG,CAAC,aAAa,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,YAAY,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACrE,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACxD,IAAI,GAAG,CAAC,cAAc,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACrE,IAAI,GAAG,CAAC,iBAAiB;QAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACpE,IAAI,GAAG,CAAC,iBAAiB,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC1E,IAAI,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,iBAAiB,GAAG,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAEvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,uCAAuC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACxE,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dotenv-diff",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Scan your codebase to find environment variables in use.",
|
|
6
6
|
"bin": {
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@types/node": "^24.10.1",
|
|
66
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
67
|
-
"@typescript-eslint/parser": "^8.
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "^8.49.0",
|
|
67
|
+
"@typescript-eslint/parser": "^8.49.0",
|
|
68
68
|
"eslint": "^9.39.1",
|
|
69
69
|
"prettier": "^3.7.4",
|
|
70
70
|
"typescript": "^5.9.3",
|