dotenv-diff 2.6.4 → 2.7.1
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 +17 -0
- package/README.md +2 -2
- package/dist/src/commands/compare.d.ts.map +1 -1
- package/dist/src/commands/compare.js +0 -4
- package/dist/src/commands/compare.js.map +1 -1
- package/dist/src/commands/scanUsage.d.ts.map +1 -1
- package/dist/src/commands/scanUsage.js +10 -6
- package/dist/src/commands/scanUsage.js.map +1 -1
- package/dist/src/config/constants.d.ts +8 -0
- package/dist/src/config/constants.d.ts.map +1 -1
- package/dist/src/config/constants.js +8 -0
- package/dist/src/config/constants.js.map +1 -1
- package/dist/src/core/security/exampleSecretDetector.js +2 -2
- package/dist/src/core/security/exampleSecretDetector.js.map +1 -1
- package/dist/src/core/security/secretDetectors.d.ts.map +1 -1
- package/dist/src/core/security/secretDetectors.js +18 -6
- package/dist/src/core/security/secretDetectors.js.map +1 -1
- package/dist/src/services/printScanResult.d.ts.map +1 -1
- package/dist/src/services/printScanResult.js +27 -33
- package/dist/src/services/printScanResult.js.map +1 -1
- package/dist/src/services/scanCodebase.d.ts.map +1 -1
- package/dist/src/services/scanCodebase.js +0 -16
- package/dist/src/services/scanCodebase.js.map +1 -1
- package/dist/src/ui/compare/printErrorNotFound.d.ts.map +1 -1
- package/dist/src/ui/compare/printErrorNotFound.js +10 -6
- package/dist/src/ui/compare/printErrorNotFound.js.map +1 -1
- package/dist/src/ui/compare/printHeader.d.ts +0 -1
- package/dist/src/ui/compare/printHeader.d.ts.map +1 -1
- package/dist/src/ui/compare/printHeader.js +3 -4
- package/dist/src/ui/compare/printHeader.js.map +1 -1
- package/dist/src/ui/compare/printIssues.d.ts.map +1 -1
- package/dist/src/ui/compare/printIssues.js +25 -10
- package/dist/src/ui/compare/printIssues.js.map +1 -1
- package/dist/src/ui/compare/printPrompt.d.ts +1 -1
- package/dist/src/ui/compare/printPrompt.d.ts.map +1 -1
- package/dist/src/ui/compare/printPrompt.js +24 -7
- package/dist/src/ui/compare/printPrompt.js.map +1 -1
- package/dist/src/ui/compare/printStats.d.ts.map +1 -1
- package/dist/src/ui/compare/printStats.js +14 -11
- package/dist/src/ui/compare/printStats.js.map +1 -1
- package/dist/src/ui/scan/printComparisonError.js +11 -10
- package/dist/src/ui/scan/printComparisonError.js.map +1 -1
- package/dist/src/ui/scan/printConsolelogWarning.d.ts +2 -1
- package/dist/src/ui/scan/printConsolelogWarning.d.ts.map +1 -1
- package/dist/src/ui/scan/printConsolelogWarning.js +11 -9
- package/dist/src/ui/scan/printConsolelogWarning.js.map +1 -1
- package/dist/src/ui/scan/printExampleWarnings.d.ts +2 -1
- package/dist/src/ui/scan/printExampleWarnings.d.ts.map +1 -1
- package/dist/src/ui/scan/printExampleWarnings.js +10 -5
- package/dist/src/ui/scan/printExampleWarnings.js.map +1 -1
- package/dist/src/ui/scan/printExpireWarnings.d.ts +2 -2
- package/dist/src/ui/scan/printExpireWarnings.d.ts.map +1 -1
- package/dist/src/ui/scan/printExpireWarnings.js +23 -22
- package/dist/src/ui/scan/printExpireWarnings.js.map +1 -1
- package/dist/src/ui/scan/printFrameworkWarnings.d.ts +2 -1
- package/dist/src/ui/scan/printFrameworkWarnings.d.ts.map +1 -1
- package/dist/src/ui/scan/printFrameworkWarnings.js +27 -7
- package/dist/src/ui/scan/printFrameworkWarnings.js.map +1 -1
- package/dist/src/ui/scan/printHeader.d.ts.map +1 -1
- package/dist/src/ui/scan/printHeader.js +8 -5
- package/dist/src/ui/scan/printHeader.js.map +1 -1
- package/dist/src/ui/scan/printHealthScore.d.ts.map +1 -1
- package/dist/src/ui/scan/printHealthScore.js +12 -21
- package/dist/src/ui/scan/printHealthScore.js.map +1 -1
- package/dist/src/ui/scan/printInconsistentNamingWarning.d.ts +2 -1
- package/dist/src/ui/scan/printInconsistentNamingWarning.d.ts.map +1 -1
- package/dist/src/ui/scan/printInconsistentNamingWarning.js +12 -8
- package/dist/src/ui/scan/printInconsistentNamingWarning.js.map +1 -1
- package/dist/src/ui/scan/printMissing.d.ts.map +1 -1
- package/dist/src/ui/scan/printMissing.js +6 -9
- package/dist/src/ui/scan/printMissing.js.map +1 -1
- package/dist/src/ui/scan/printMissingExample.d.ts.map +1 -1
- package/dist/src/ui/scan/printMissingExample.js +7 -10
- package/dist/src/ui/scan/printMissingExample.js.map +1 -1
- package/dist/src/ui/scan/printSecrets.d.ts +2 -1
- package/dist/src/ui/scan/printSecrets.d.ts.map +1 -1
- package/dist/src/ui/scan/printSecrets.js +15 -24
- package/dist/src/ui/scan/printSecrets.js.map +1 -1
- package/dist/src/ui/scan/printStats.d.ts +0 -1
- package/dist/src/ui/scan/printStats.d.ts.map +1 -1
- package/dist/src/ui/scan/printStats.js +10 -9
- package/dist/src/ui/scan/printStats.js.map +1 -1
- package/dist/src/ui/scan/printUnused.d.ts +3 -3
- package/dist/src/ui/scan/printUnused.d.ts.map +1 -1
- package/dist/src/ui/scan/printUnused.js +12 -8
- package/dist/src/ui/scan/printUnused.js.map +1 -1
- package/dist/src/ui/scan/printUppercaseWarning.d.ts +2 -1
- package/dist/src/ui/scan/printUppercaseWarning.d.ts.map +1 -1
- package/dist/src/ui/scan/printUppercaseWarning.js +11 -7
- package/dist/src/ui/scan/printUppercaseWarning.js.map +1 -1
- package/dist/src/ui/shared/printAutoFix.d.ts.map +1 -1
- package/dist/src/ui/shared/printAutoFix.js +12 -10
- package/dist/src/ui/shared/printAutoFix.js.map +1 -1
- package/dist/src/ui/shared/printConfigStatus.d.ts +1 -1
- package/dist/src/ui/shared/printConfigStatus.d.ts.map +1 -1
- package/dist/src/ui/shared/printConfigStatus.js +13 -10
- package/dist/src/ui/shared/printConfigStatus.js.map +1 -1
- package/dist/src/ui/shared/printDuplicates.d.ts +2 -1
- package/dist/src/ui/shared/printDuplicates.d.ts.map +1 -1
- package/dist/src/ui/shared/printDuplicates.js +16 -6
- package/dist/src/ui/shared/printDuplicates.js.map +1 -1
- package/dist/src/ui/shared/printFixTips.js +7 -7
- package/dist/src/ui/shared/printFixTips.js.map +1 -1
- package/dist/src/ui/shared/printGitignore.d.ts +2 -0
- package/dist/src/ui/shared/printGitignore.d.ts.map +1 -1
- package/dist/src/ui/shared/printGitignore.js +13 -12
- package/dist/src/ui/shared/printGitignore.js.map +1 -1
- package/dist/src/ui/shared/printInitStatus.d.ts +4 -4
- package/dist/src/ui/shared/printInitStatus.d.ts.map +1 -1
- package/dist/src/ui/shared/printInitStatus.js +14 -11
- package/dist/src/ui/shared/printInitStatus.js.map +1 -1
- package/dist/src/ui/shared/printOptionErrors.d.ts.map +1 -1
- package/dist/src/ui/shared/printOptionErrors.js +19 -5
- package/dist/src/ui/shared/printOptionErrors.js.map +1 -1
- package/dist/src/ui/theme.d.ts +16 -0
- package/dist/src/ui/theme.d.ts.map +1 -0
- package/dist/src/ui/theme.js +41 -0
- package/dist/src/ui/theme.js.map +1 -0
- package/docs/assets/demo.gif +0 -0
- package/docs/assets/success.png +0 -0
- package/package.json +1 -1
- package/dist/src/ui/scan/printProgress.d.ts +0 -22
- package/dist/src/ui/scan/printProgress.d.ts.map +0 -1
- package/dist/src/ui/scan/printProgress.js +0 -36
- package/dist/src/ui/scan/printProgress.js.map +0 -1
- package/dist/src/ui/shared/printStrictModeError.d.ts +0 -26
- package/dist/src/ui/shared/printStrictModeError.d.ts.map +0 -1
- package/dist/src/ui/shared/printStrictModeError.js +0 -41
- package/dist/src/ui/shared/printStrictModeError.js.map +0 -1
- package/dist/src/ui/shared/printSuccess.d.ts +0 -11
- package/dist/src/ui/shared/printSuccess.d.ts.map +0 -1
- package/dist/src/ui/shared/printSuccess.js +0 -27
- package/dist/src/ui/shared/printSuccess.js.map +0 -1
- package/docs/assets/demo1.gif +0 -0
- package/docs/assets/success1.png +0 -0
|
@@ -9,5 +9,5 @@ export declare function printConfigLoaded(filePath: string): void;
|
|
|
9
9
|
* @param error The thrown error
|
|
10
10
|
* @returns void
|
|
11
11
|
*/
|
|
12
|
-
export declare function printConfigLoadError(
|
|
12
|
+
export declare function printConfigLoadError(err: unknown): void;
|
|
13
13
|
//# sourceMappingURL=printConfigStatus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printConfigStatus.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printConfigStatus.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"printConfigStatus.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printConfigStatus.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQxD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CASvD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
1
|
import path from 'path';
|
|
2
|
+
import { label, value, accent, error, divider, header } from '../theme.js';
|
|
3
3
|
/**
|
|
4
4
|
* Prints message when dotenv-diff.config.json is successfully loaded.
|
|
5
5
|
* @param filePath The path to the loaded config file
|
|
@@ -8,20 +8,23 @@ import path from 'path';
|
|
|
8
8
|
export function printConfigLoaded(filePath) {
|
|
9
9
|
const fileName = path.basename(filePath);
|
|
10
10
|
console.log();
|
|
11
|
-
console.log(`${
|
|
11
|
+
console.log(`${accent('▸')} ${header('Config')}`);
|
|
12
|
+
console.log(`${divider}`);
|
|
13
|
+
console.log(`${label('Loaded'.padEnd(26))}${value(fileName)}`);
|
|
14
|
+
console.log(`${divider}`);
|
|
12
15
|
}
|
|
13
16
|
/**
|
|
14
17
|
* Prints message when dotenv-diff.config.json fails to parse.
|
|
15
18
|
* @param error The thrown error
|
|
16
19
|
* @returns void
|
|
17
20
|
*/
|
|
18
|
-
export function printConfigLoadError(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
21
|
+
export function printConfigLoadError(err) {
|
|
22
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
23
|
+
console.log();
|
|
24
|
+
console.log(`${error('▸')} ${header('Config Error')}`);
|
|
25
|
+
console.log(`${divider}`);
|
|
26
|
+
console.log(`${label('Failed to parse'.padEnd(26))}${error('dotenv-diff.config.json')}`);
|
|
27
|
+
console.log(`${label('Reason'.padEnd(26))}${error(message)}`);
|
|
28
|
+
console.log(`${divider}`);
|
|
26
29
|
}
|
|
27
30
|
//# sourceMappingURL=printConfigStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printConfigStatus.js","sourceRoot":"","sources":["../../../../src/ui/shared/printConfigStatus.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"printConfigStatus.js","sourceRoot":"","sources":["../../../../src/ui/shared/printConfigStatus.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE3E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAEjE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* @param dEx Array of duplicate keys in the example file with their counts.
|
|
7
7
|
* @param json Whether to output in JSON format.
|
|
8
8
|
* @param fix Whether fix mode is enabled (skips printing duplicates as they will be fixed).
|
|
9
|
+
* @param strict Whether strict mode is enabled.
|
|
9
10
|
* @returns void
|
|
10
11
|
*/
|
|
11
12
|
export declare function printDuplicates(envName: string, exampleName: string, dEnv: Array<{
|
|
@@ -14,5 +15,5 @@ export declare function printDuplicates(envName: string, exampleName: string, dE
|
|
|
14
15
|
}>, dEx: Array<{
|
|
15
16
|
key: string;
|
|
16
17
|
count: number;
|
|
17
|
-
}>, json: boolean, fix?: boolean): void;
|
|
18
|
+
}>, json: boolean, fix?: boolean, strict?: boolean): void;
|
|
18
19
|
//# sourceMappingURL=printDuplicates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printDuplicates.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printDuplicates.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"printDuplicates.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printDuplicates.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3C,GAAG,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1C,IAAI,EAAE,OAAO,EACb,GAAG,UAAQ,EACX,MAAM,UAAQ,GACb,IAAI,CA4BN"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { label, value, warning, error, divider, header } from '../theme.js';
|
|
2
2
|
/**
|
|
3
3
|
* Prints duplicate keys found in the environment and example files.
|
|
4
4
|
* @param envName The name of the environment file.
|
|
@@ -7,20 +7,30 @@ import chalk from 'chalk';
|
|
|
7
7
|
* @param dEx Array of duplicate keys in the example file with their counts.
|
|
8
8
|
* @param json Whether to output in JSON format.
|
|
9
9
|
* @param fix Whether fix mode is enabled (skips printing duplicates as they will be fixed).
|
|
10
|
+
* @param strict Whether strict mode is enabled.
|
|
10
11
|
* @returns void
|
|
11
12
|
*/
|
|
12
|
-
export function printDuplicates(envName, exampleName, dEnv, dEx, json, fix = false) {
|
|
13
|
+
export function printDuplicates(envName, exampleName, dEnv, dEx, json, fix = false, strict = false) {
|
|
13
14
|
if (json)
|
|
14
15
|
return;
|
|
16
|
+
const indicator = strict ? error('▸') : warning('▸');
|
|
15
17
|
if (dEnv.length && !fix) {
|
|
16
|
-
console.log(chalk.yellow(`⚠️ Duplicate keys in ${envName} (last occurrence wins):`));
|
|
17
|
-
dEnv.forEach(({ key, count }) => console.log(chalk.yellow(` - ${key} (${count} occurrences)`)));
|
|
18
18
|
console.log();
|
|
19
|
+
console.log(`${indicator} ${header(`Duplicate keys in ${envName}`)}`);
|
|
20
|
+
console.log(`${divider}`);
|
|
21
|
+
for (const { key, count } of dEnv) {
|
|
22
|
+
console.log(`${label(key.padEnd(26))}${value(`${count} occurrences`)}`);
|
|
23
|
+
}
|
|
24
|
+
console.log(`${divider}`);
|
|
19
25
|
}
|
|
20
26
|
if (dEx.length) {
|
|
21
|
-
console.log(chalk.yellow(`⚠️ Duplicate keys in ${exampleName} (last occurrence wins):`));
|
|
22
|
-
dEx.forEach(({ key, count }) => console.log(chalk.yellow(` - ${key} (${count} occurrences)`)));
|
|
23
27
|
console.log();
|
|
28
|
+
console.log(`${indicator} ${header(`Duplicate keys in ${exampleName}`)}`);
|
|
29
|
+
console.log(`${divider}`);
|
|
30
|
+
for (const { key, count } of dEx) {
|
|
31
|
+
console.log(`${label(key.padEnd(26))}${value(`${count} occurrences`)}`);
|
|
32
|
+
}
|
|
33
|
+
console.log(`${divider}`);
|
|
24
34
|
}
|
|
25
35
|
}
|
|
26
36
|
//# sourceMappingURL=printDuplicates.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printDuplicates.js","sourceRoot":"","sources":["../../../../src/ui/shared/printDuplicates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"printDuplicates.js","sourceRoot":"","sources":["../../../../src/ui/shared/printDuplicates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,WAAmB,EACnB,IAA2C,EAC3C,GAA0C,EAC1C,IAAa,EACb,GAAG,GAAG,KAAK,EACX,MAAM,GAAG,KAAK;IAEd,IAAI,IAAI;QAAE,OAAO;IAEjB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,MAAM,CAAC,qBAAqB,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;QAE1B,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,MAAM,CAAC,qBAAqB,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;QAE1B,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
|
|
@@ -15,27 +15,27 @@ export function printFixTips(filtered, envNotIgnored, json, fix) {
|
|
|
15
15
|
let tip = null;
|
|
16
16
|
if (hasMissing && hasDupEnv && envNotIgnored) {
|
|
17
17
|
tip =
|
|
18
|
-
'
|
|
18
|
+
'Tip: Run with `--fix` to add missing keys, remove duplicates and add .env to .gitignore';
|
|
19
19
|
}
|
|
20
20
|
else if (hasMissing && hasDupEnv) {
|
|
21
|
-
tip = '
|
|
21
|
+
tip = 'Tip: Run with `--fix` to add missing keys and remove duplicates';
|
|
22
22
|
}
|
|
23
23
|
else if (hasDupEnv && envNotIgnored) {
|
|
24
24
|
tip =
|
|
25
|
-
'
|
|
25
|
+
'Tip: Run with `--fix` to remove duplicate keys and add .env to .gitignore';
|
|
26
26
|
}
|
|
27
27
|
else if (hasMissing && envNotIgnored) {
|
|
28
28
|
tip =
|
|
29
|
-
'
|
|
29
|
+
'Tip: Run with `--fix` to add missing keys and add .env to .gitignore';
|
|
30
30
|
}
|
|
31
31
|
else if (hasMissing) {
|
|
32
|
-
tip = '
|
|
32
|
+
tip = 'Tip: Run with `--fix` to add missing keys';
|
|
33
33
|
}
|
|
34
34
|
else if (hasDupEnv) {
|
|
35
|
-
tip = '
|
|
35
|
+
tip = 'Tip: Run with `--fix` to remove duplicate keys';
|
|
36
36
|
}
|
|
37
37
|
else if (envNotIgnored) {
|
|
38
|
-
tip = '
|
|
38
|
+
tip = 'Tip: Run with `--fix` to ensure .env is added to .gitignore';
|
|
39
39
|
}
|
|
40
40
|
if (tip) {
|
|
41
41
|
console.log(chalk.gray(tip));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printFixTips.js","sourceRoot":"","sources":["../../../../src/ui/shared/printFixTips.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAkB,EAClB,aAAsB,EACtB,IAAa,EACb,GAAY;IAEZ,IAAI,IAAI,IAAI,GAAG;QAAE,OAAO;IAExB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpD,IAAI,GAAG,GAAkB,IAAI,CAAC;IAC9B,IAAI,UAAU,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;QAC7C,GAAG;YACD,
|
|
1
|
+
{"version":3,"file":"printFixTips.js","sourceRoot":"","sources":["../../../../src/ui/shared/printFixTips.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAkB,EAClB,aAAsB,EACtB,IAAa,EACb,GAAY;IAEZ,IAAI,IAAI,IAAI,GAAG;QAAE,OAAO;IAExB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpD,IAAI,GAAG,GAAkB,IAAI,CAAC;IAC9B,IAAI,UAAU,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;QAC7C,GAAG;YACD,yFAAyF,CAAC;IAC9F,CAAC;SAAM,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;QACnC,GAAG,GAAG,iEAAiE,CAAC;IAC1E,CAAC;SAAM,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,GAAG;YACD,2EAA2E,CAAC;IAChF,CAAC;SAAM,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QACvC,GAAG;YACD,sEAAsE,CAAC;IAC3E,CAAC;SAAM,IAAI,UAAU,EAAE,CAAC;QACtB,GAAG,GAAG,2CAA2C,CAAC;IACpD,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,GAAG,GAAG,gDAAgD,CAAC;IACzD,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACzB,GAAG,GAAG,6DAA6D,CAAC;IACtE,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
@@ -7,6 +7,8 @@ interface GitignoreWarningOptions {
|
|
|
7
7
|
envFile: string;
|
|
8
8
|
/** The reason for the gitignore warning */
|
|
9
9
|
reason: GitignoreIssue;
|
|
10
|
+
/** Whether strict mode is enabled */
|
|
11
|
+
strict?: boolean;
|
|
10
12
|
/** Optional custom log function (defaults to console.log) */
|
|
11
13
|
log?: (msg: string) => void;
|
|
12
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printGitignore.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printGitignore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"printGitignore.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printGitignore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D;;GAEG;AACH,UAAU,uBAAuB;IAC/B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,MAAM,EAAE,cAAc,CAAC;IACvB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAiB5E"}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
1
|
import { GITIGNORE_ISSUES } from '../../config/constants.js';
|
|
2
|
+
import { label, value, warning, error, divider, header } from '../theme.js';
|
|
3
3
|
/**
|
|
4
4
|
* Logs a warning about .env not being ignored by Git.
|
|
5
5
|
* @param options - Options for the gitignore warning.
|
|
6
6
|
* @returns void
|
|
7
7
|
*/
|
|
8
8
|
export function printGitignoreWarning(options) {
|
|
9
|
-
const { envFile, reason, log = console.log } = options;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
9
|
+
const { envFile, reason, strict = false, log = console.log } = options;
|
|
10
|
+
const indicator = strict ? error('▸') : warning('▸');
|
|
11
|
+
const issue = reason === GITIGNORE_ISSUES.NO_GITIGNORE
|
|
12
|
+
? 'no .gitignore found'
|
|
13
|
+
: 'not ignored by git';
|
|
14
|
+
log('');
|
|
15
|
+
log(`${indicator} ${header('Gitignore warning')}`);
|
|
16
|
+
log(`${divider}`);
|
|
17
|
+
log(`${label('File'.padEnd(26))}${(strict ? error : warning)(envFile)}`);
|
|
18
|
+
log(`${label('Issue'.padEnd(26))}${(strict ? error : warning)(issue)}`);
|
|
19
|
+
log(`${label('Suggestion'.padEnd(26))}${value(`add ${envFile} to .gitignore`)}`);
|
|
20
|
+
log(`${divider}`);
|
|
20
21
|
}
|
|
21
22
|
//# sourceMappingURL=printGitignore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printGitignore.js","sourceRoot":"","sources":["../../../../src/ui/shared/printGitignore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"printGitignore.js","sourceRoot":"","sources":["../../../../src/ui/shared/printGitignore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAgB5E;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgC;IACpE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAEvE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAErD,MAAM,KAAK,GACT,MAAM,KAAK,gBAAgB,CAAC,YAAY;QACtC,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,oBAAoB,CAAC;IAE3B,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,GAAG,SAAS,IAAI,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAClB,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzE,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACxE,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACjF,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Printed when the config file is successfully created
|
|
3
|
-
* @param
|
|
3
|
+
* @param filePath - The path to the created config file
|
|
4
4
|
* @returns void
|
|
5
5
|
*/
|
|
6
|
-
export declare function printInitSuccess(
|
|
6
|
+
export declare function printInitSuccess(filePath: string): void;
|
|
7
7
|
/**
|
|
8
8
|
* Printed when config file already exists
|
|
9
|
-
* @param
|
|
9
|
+
* @param filePath - The path to the existing config file
|
|
10
10
|
* @returns void
|
|
11
11
|
*/
|
|
12
|
-
export declare function printInitExists(
|
|
12
|
+
export declare function printInitExists(filePath: string): void;
|
|
13
13
|
//# sourceMappingURL=printInitStatus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printInitStatus.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printInitStatus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"printInitStatus.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printInitStatus.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMtD"}
|
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { basename } from 'path';
|
|
2
|
+
import { label, value, accent, warning, divider, header } from '../theme.js';
|
|
2
3
|
/**
|
|
3
4
|
* Printed when the config file is successfully created
|
|
4
|
-
* @param
|
|
5
|
+
* @param filePath - The path to the created config file
|
|
5
6
|
* @returns void
|
|
6
7
|
*/
|
|
7
|
-
export function printInitSuccess(
|
|
8
|
-
console.log();
|
|
9
|
-
console.log(chalk.green('✅ Created dotenv-diff.config.json'));
|
|
10
|
-
console.log(chalk.dim(` → ${path}`));
|
|
8
|
+
export function printInitSuccess(filePath) {
|
|
11
9
|
console.log();
|
|
10
|
+
console.log(`${accent('▸')} ${header('Config created')}`);
|
|
11
|
+
console.log(`${divider}`);
|
|
12
|
+
console.log(`${label('Path'.padEnd(26))}${value(basename(filePath))}`);
|
|
13
|
+
console.log(`${divider}`);
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* Printed when config file already exists
|
|
15
|
-
* @param
|
|
17
|
+
* @param filePath - The path to the existing config file
|
|
16
18
|
* @returns void
|
|
17
19
|
*/
|
|
18
|
-
export function printInitExists(
|
|
19
|
-
console.log();
|
|
20
|
-
console.log(chalk.yellow('⚠️ dotenv-diff.config.json already exists.'));
|
|
21
|
-
console.log(chalk.dim(` → ${path}`));
|
|
20
|
+
export function printInitExists(filePath) {
|
|
22
21
|
console.log();
|
|
22
|
+
console.log(`${warning('▸')} ${header('Config already exists')}`);
|
|
23
|
+
console.log(`${divider}`);
|
|
24
|
+
console.log(`${label('Path'.padEnd(26))}${value(basename(filePath))}`);
|
|
25
|
+
console.log(`${divider}`);
|
|
23
26
|
}
|
|
24
27
|
//# sourceMappingURL=printInitStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printInitStatus.js","sourceRoot":"","sources":["../../../../src/ui/shared/printInitStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"printInitStatus.js","sourceRoot":"","sources":["../../../../src/ui/shared/printInitStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE7E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printOptionErrors.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printOptionErrors.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,KAAK,
|
|
1
|
+
{"version":3,"file":"printOptionErrors.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printOptionErrors.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,KAAK,CASP;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAOxD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAOxC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { label, value, warning, error, divider, header } from '../theme.js';
|
|
2
2
|
/**
|
|
3
3
|
* Prints an error for invalid --only categories and exits.
|
|
4
4
|
* @param flagName - The name of the flag.
|
|
@@ -6,8 +6,13 @@ import chalk from 'chalk';
|
|
|
6
6
|
* @param allowed - The allowed values.
|
|
7
7
|
*/
|
|
8
8
|
export function printInvalidCategory(flagName, bad, allowed) {
|
|
9
|
-
console.
|
|
10
|
-
|
|
9
|
+
console.log();
|
|
10
|
+
console.log(`${error('▸')} ${header('Invalid flag')}`);
|
|
11
|
+
console.log(`${divider}`);
|
|
12
|
+
console.log(`${label('Flag'.padEnd(26))}${error(flagName)}`);
|
|
13
|
+
console.log(`${label('Invalid values'.padEnd(26))}${error(bad.join(', '))}`);
|
|
14
|
+
console.log(`${label('Allowed'.padEnd(26))}${value(allowed.join(', '))}`);
|
|
15
|
+
console.log(`${divider}`);
|
|
11
16
|
process.exit(1);
|
|
12
17
|
}
|
|
13
18
|
/**
|
|
@@ -15,7 +20,11 @@ export function printInvalidCategory(flagName, bad, allowed) {
|
|
|
15
20
|
* @param pattern - The invalid regex pattern.
|
|
16
21
|
*/
|
|
17
22
|
export function printInvalidRegex(pattern) {
|
|
18
|
-
console.
|
|
23
|
+
console.log();
|
|
24
|
+
console.log(`${error('▸')} ${header('Invalid regex')}`);
|
|
25
|
+
console.log(`${divider}`);
|
|
26
|
+
console.log(`${label('Pattern'.padEnd(26))}${error(pattern)}`);
|
|
27
|
+
console.log(`${divider}`);
|
|
19
28
|
process.exit(1);
|
|
20
29
|
}
|
|
21
30
|
/**
|
|
@@ -23,6 +32,11 @@ export function printInvalidRegex(pattern) {
|
|
|
23
32
|
* @returns void
|
|
24
33
|
*/
|
|
25
34
|
export function printCiYesWarning() {
|
|
26
|
-
console.log(
|
|
35
|
+
console.log();
|
|
36
|
+
console.log(`${warning('▸')} ${header('Flag conflict')}`);
|
|
37
|
+
console.log(`${divider}`);
|
|
38
|
+
console.log(`${label('Issue'.padEnd(26))}${warning('Both --ci and --yes provided')}`);
|
|
39
|
+
console.log(`${label('Resolution'.padEnd(26))}${value('proceeding with --yes')}`);
|
|
40
|
+
console.log(`${divider}`);
|
|
27
41
|
}
|
|
28
42
|
//# sourceMappingURL=printOptionErrors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printOptionErrors.js","sourceRoot":"","sources":["../../../../src/ui/shared/printOptionErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"printOptionErrors.js","sourceRoot":"","sources":["../../../../src/ui/shared/printOptionErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,GAAa,EACb,OAA0B;IAE1B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const dim: import("chalk").ChalkInstance;
|
|
2
|
+
export declare const label: import("chalk").ChalkInstance;
|
|
3
|
+
export declare const value: import("chalk").ChalkInstance;
|
|
4
|
+
export declare const accent: import("chalk").ChalkInstance;
|
|
5
|
+
export declare const warning: import("chalk").ChalkInstance;
|
|
6
|
+
export declare const error: import("chalk").ChalkInstance;
|
|
7
|
+
export declare const divider: string;
|
|
8
|
+
export declare const header: import("chalk").ChalkInstance;
|
|
9
|
+
/**
|
|
10
|
+
* Wraps framework warning reasons to a max line length, indenting wrapped lines to align with the start of the reason text.
|
|
11
|
+
* @param reason The warning reason text to wrap
|
|
12
|
+
* @param indent The number of spaces to indent wrapped lines (should align with the start of the reason text in the output)
|
|
13
|
+
* @returns The wrapped reason text with newlines and indentation as needed
|
|
14
|
+
*/
|
|
15
|
+
export declare function wrapReason(reason: string, indent: number): string;
|
|
16
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/ui/theme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG,+BAA2B,CAAC;AAC5C,eAAO,MAAM,KAAK,+BAAyB,CAAC;AAC5C,eAAO,MAAM,KAAK,+BAA8B,CAAC;AACjD,eAAO,MAAM,MAAM,+BAAwB,CAAC;AAC5C,eAAO,MAAM,OAAO,+BAAuB,CAAC;AAC5C,eAAO,MAAM,KAAK,+BAAyB,CAAC;AAC5C,eAAO,MAAM,OAAO,QAAsB,CAAC;AAC3C,eAAO,MAAM,MAAM,+BAAoB,CAAC;AAQxC;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBjE"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
export const dim = chalk.hex('#555555');
|
|
3
|
+
export const label = chalk.hex('#888888');
|
|
4
|
+
export const value = chalk.hex('#e0e0e0').bold;
|
|
5
|
+
export const accent = chalk.hex('#00d4aa');
|
|
6
|
+
export const warning = chalk.hex('#ffae42');
|
|
7
|
+
export const error = chalk.hex('#ff4d4d');
|
|
8
|
+
export const divider = dim('─'.repeat(50));
|
|
9
|
+
export const header = chalk.white.bold;
|
|
10
|
+
/**
|
|
11
|
+
* This is the maximum line length for reason text in warnings.
|
|
12
|
+
* If a reason exceeds this length, it will be wrapped to the next line with indentation.
|
|
13
|
+
*/
|
|
14
|
+
const REASON_MAX = 24;
|
|
15
|
+
/**
|
|
16
|
+
* Wraps framework warning reasons to a max line length, indenting wrapped lines to align with the start of the reason text.
|
|
17
|
+
* @param reason The warning reason text to wrap
|
|
18
|
+
* @param indent The number of spaces to indent wrapped lines (should align with the start of the reason text in the output)
|
|
19
|
+
* @returns The wrapped reason text with newlines and indentation as needed
|
|
20
|
+
*/
|
|
21
|
+
export function wrapReason(reason, indent) {
|
|
22
|
+
if (reason.length <= REASON_MAX)
|
|
23
|
+
return reason;
|
|
24
|
+
const pad = ' '.repeat(indent);
|
|
25
|
+
const words = reason.split(' ');
|
|
26
|
+
const lines = [];
|
|
27
|
+
let current = '';
|
|
28
|
+
for (const word of words) {
|
|
29
|
+
if ((current + word).length > REASON_MAX) {
|
|
30
|
+
lines.push(current.trimEnd());
|
|
31
|
+
current = word + ' ';
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
current += word + ' ';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (current.trim())
|
|
38
|
+
lines.push(current.trimEnd());
|
|
39
|
+
return lines.join(`\n${pad}`);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,GAAG,GAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,KAAK,GAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,KAAK,GAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,MAAM,GAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,KAAK,GAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,MAAM,GAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,MAAc;IACvD,IAAI,MAAM,CAAC,MAAM,IAAI,UAAU;QAAE,OAAO,MAAM,CAAC;IAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9B,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,IAAI,GAAG,GAAG,CAAC;QACxB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;AAChC,CAAC"}
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Options for printing progress in the console.
|
|
3
|
-
*/
|
|
4
|
-
interface ProgressOptions {
|
|
5
|
-
/** Whether to output in JSON format (if true, progress will not be printed) */
|
|
6
|
-
isJson: boolean;
|
|
7
|
-
/** The current progress count (e.g., number of files scanned) */
|
|
8
|
-
current: number;
|
|
9
|
-
/** The total count for completion (e.g., total number of files to scan) */
|
|
10
|
-
total: number;
|
|
11
|
-
/** Optional label to display alongside the progress bar (default: 'Scanning') */
|
|
12
|
-
label?: string;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Prints a progress bar to stdout.
|
|
16
|
-
* Overwrites the same line using carriage return.
|
|
17
|
-
* @param options - Progress options including current, total, and label.
|
|
18
|
-
* @returns void
|
|
19
|
-
*/
|
|
20
|
-
export declare function printProgress(options: ProgressOptions): void;
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=printProgress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"printProgress.d.ts","sourceRoot":"","sources":["../../../../src/ui/scan/printProgress.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,UAAU,eAAe;IACvB,+EAA+E;IAC/E,MAAM,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAmC5D"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
/** Internal flag to track if the progress bar has been rendered at least once */
|
|
3
|
-
let hasRendered = false;
|
|
4
|
-
/**
|
|
5
|
-
* Prints a progress bar to stdout.
|
|
6
|
-
* Overwrites the same line using carriage return.
|
|
7
|
-
* @param options - Progress options including current, total, and label.
|
|
8
|
-
* @returns void
|
|
9
|
-
*/
|
|
10
|
-
export function printProgress(options) {
|
|
11
|
-
if (options.isJson)
|
|
12
|
-
return;
|
|
13
|
-
if (!hasRendered) {
|
|
14
|
-
process.stdout.write('\n');
|
|
15
|
-
hasRendered = true;
|
|
16
|
-
}
|
|
17
|
-
const { current, total, label = 'Scanning' } = options;
|
|
18
|
-
if (total <= 0)
|
|
19
|
-
return;
|
|
20
|
-
const clampedCurrent = Math.min(current, total);
|
|
21
|
-
const ratio = clampedCurrent / total;
|
|
22
|
-
const percentage = Math.floor(ratio * 100);
|
|
23
|
-
const barLength = 30;
|
|
24
|
-
const filledLength = Math.round(ratio * barLength);
|
|
25
|
-
const filledBar = chalk.green('█'.repeat(filledLength));
|
|
26
|
-
const emptyBar = chalk.dim('░'.repeat(barLength - filledLength));
|
|
27
|
-
const bar = filledBar + emptyBar;
|
|
28
|
-
const percentLabel = chalk.yellow(`${percentage.toString().padStart(3, ' ')}%`);
|
|
29
|
-
const countLabel = chalk.dim(`(${clampedCurrent}/${total} files)`);
|
|
30
|
-
process.stdout.write(`\r${chalk.cyan('🔍 ' + label)} ${chalk.dim('▸')} [${bar}] ${percentLabel} ${countLabel}`);
|
|
31
|
-
if (clampedCurrent === total) {
|
|
32
|
-
process.stdout.write('\n');
|
|
33
|
-
hasRendered = false;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=printProgress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"printProgress.js","sourceRoot":"","sources":["../../../../src/ui/scan/printProgress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,iFAAiF;AACjF,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO;IAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC;IAEvD,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO;IAEvB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,cAAc,GAAG,KAAK,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,SAAS,GAAG,QAAQ,CAAC;IAEjC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAC/B,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAC7C,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,cAAc,IAAI,KAAK,SAAS,CAAC,CAAC;IAEnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,YAAY,IAAI,UAAU,EAAE,CAC1F,CAAC;IAEF,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC;AACH,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Context for strict mode warnings to be printed to the user.
|
|
3
|
-
*/
|
|
4
|
-
interface StrictModeContext {
|
|
5
|
-
unused: number;
|
|
6
|
-
duplicatesEnv: number;
|
|
7
|
-
duplicatesEx: number;
|
|
8
|
-
secrets: number;
|
|
9
|
-
exampleSecrets: number;
|
|
10
|
-
hasGitignoreIssue: boolean;
|
|
11
|
-
frameworkWarnings: number;
|
|
12
|
-
logged: number;
|
|
13
|
-
uppercaseWarnings?: number;
|
|
14
|
-
expireWarnings?: number;
|
|
15
|
-
inconsistentNamingWarnings?: number;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Prints a strict-mode error if warnings exist.
|
|
19
|
-
*
|
|
20
|
-
* @param ctx - Counts of warnings/issues
|
|
21
|
-
* @param json - Whether to output in JSON format
|
|
22
|
-
* @returns true if exitWithError should be set
|
|
23
|
-
*/
|
|
24
|
-
export declare function printStrictModeError(ctx: StrictModeContext, json: boolean): boolean;
|
|
25
|
-
export {};
|
|
26
|
-
//# sourceMappingURL=printStrictModeError.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"printStrictModeError.d.ts","sourceRoot":"","sources":["../../../../src/ui/shared/printStrictModeError.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,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;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CA4BT"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
/**
|
|
3
|
-
* Prints a strict-mode error if warnings exist.
|
|
4
|
-
*
|
|
5
|
-
* @param ctx - Counts of warnings/issues
|
|
6
|
-
* @param json - Whether to output in JSON format
|
|
7
|
-
* @returns true if exitWithError should be set
|
|
8
|
-
*/
|
|
9
|
-
export function printStrictModeError(ctx, json) {
|
|
10
|
-
if (json)
|
|
11
|
-
return false;
|
|
12
|
-
const warnings = [];
|
|
13
|
-
if (ctx.unused > 0)
|
|
14
|
-
warnings.push('unused variables');
|
|
15
|
-
if (ctx.duplicatesEnv > 0)
|
|
16
|
-
warnings.push('duplicate keys in env');
|
|
17
|
-
if (ctx.duplicatesEx > 0)
|
|
18
|
-
warnings.push('duplicate keys in example');
|
|
19
|
-
if (ctx.secrets > 0)
|
|
20
|
-
warnings.push('potential secrets');
|
|
21
|
-
if (ctx.exampleSecrets > 0)
|
|
22
|
-
warnings.push('secrets in .env.example');
|
|
23
|
-
if (ctx.hasGitignoreIssue)
|
|
24
|
-
warnings.push('.env not ignored by git');
|
|
25
|
-
if (ctx.frameworkWarnings > 0)
|
|
26
|
-
warnings.push('framework specific warnings');
|
|
27
|
-
if (ctx.logged > 0)
|
|
28
|
-
warnings.push('console logged environment variables');
|
|
29
|
-
if (ctx.uppercaseWarnings && ctx.uppercaseWarnings > 0)
|
|
30
|
-
warnings.push('uppercase environment variable keys');
|
|
31
|
-
if (ctx.expireWarnings && ctx.expireWarnings > 0)
|
|
32
|
-
warnings.push('expired environment variables');
|
|
33
|
-
if (ctx.inconsistentNamingWarnings && ctx.inconsistentNamingWarnings > 0)
|
|
34
|
-
warnings.push('inconsistent naming patterns');
|
|
35
|
-
if (warnings.length === 0)
|
|
36
|
-
return false;
|
|
37
|
-
console.log(chalk.red(`💥 Strict mode: Error on warnings → ${warnings.join(', ')}`));
|
|
38
|
-
console.log();
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=printStrictModeError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"printStrictModeError.js","sourceRoot":"","sources":["../../../../src/ui/shared/printStrictModeError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B;;;;;;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;IACvD,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,GAAG,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACjD,IAAI,GAAG,CAAC,0BAA0B,IAAI,GAAG,CAAC,0BAA0B,GAAG,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAEhD,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"}
|