@code-pushup/utils 0.69.4 → 0.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -4
- package/src/index.d.ts +2 -1
- package/src/index.js +2 -1
- package/src/index.js.map +1 -1
- package/src/lib/env.d.ts +4 -0
- package/src/lib/env.js +42 -0
- package/src/lib/env.js.map +1 -0
- package/src/lib/execute-process.js +2 -1
- package/src/lib/execute-process.js.map +1 -1
- package/src/lib/logging.d.ts +0 -1
- package/src/lib/logging.js +0 -1
- package/src/lib/logging.js.map +1 -1
- package/src/lib/reports/log-stdout-summary.js +2 -1
- package/src/lib/reports/log-stdout-summary.js.map +1 -1
- package/src/lib/zod-validation.d.ts +2 -3
- package/src/lib/zod-validation.js +5 -27
- package/src/lib/zod-validation.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.70.0",
|
|
4
4
|
"description": "Low-level utilities (helper functions, etc.) used by Code PushUp CLI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/utils#readme",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"node": ">=17.0.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@code-pushup/models": "0.
|
|
30
|
+
"@code-pushup/models": "0.70.0",
|
|
31
31
|
"@isaacs/cliui": "^8.0.2",
|
|
32
32
|
"@poppinss/cliui": "^6.4.0",
|
|
33
33
|
"ansis": "^3.3.0",
|
|
@@ -37,8 +37,7 @@
|
|
|
37
37
|
"multi-progress-bars": "^5.0.3",
|
|
38
38
|
"semver": "^7.6.0",
|
|
39
39
|
"simple-git": "^3.20.0",
|
|
40
|
-
"zod": "^
|
|
41
|
-
"zod-validation-error": "^3.4.0"
|
|
40
|
+
"zod": "^4.0.5"
|
|
42
41
|
},
|
|
43
42
|
"module": "./src/index.js",
|
|
44
43
|
"main": "./src/index.js",
|
package/src/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { camelCaseToKebabCase, capitalize, kebabCaseToCamelCase, toSentenceCase,
|
|
|
3
3
|
export { filesCoverageToTree, type FileCoverage } from './lib/coverage-tree.js';
|
|
4
4
|
export { createRunnerFiles } from './lib/create-runner-files.js';
|
|
5
5
|
export { comparePairs, matchArrayItemsByKey, type Diff } from './lib/diff.js';
|
|
6
|
+
export { coerceBooleanValue, isCI, isEnvVarEnabled, isVerbose, } from './lib/env.js';
|
|
6
7
|
export { stringifyError } from './lib/errors.js';
|
|
7
8
|
export { executeProcess, ProcessError, type ProcessConfig, type ProcessObserver, type ProcessResult, } from './lib/execute-process.js';
|
|
8
9
|
export { crawlFileSystem, directoryExists, ensureDirectoryExists, fileExists, filePathToCliArg, findLineNumberInText, findNearestFile, importModule, logMultipleFileResults, pluginWorkDir, projectToFilename, readJsonFile, readTextFile, removeDirectoryIfExists, type CrawlFileSystemOptions, type FileResult, type MultipleFileResults, } from './lib/file-system.js';
|
|
@@ -12,7 +13,7 @@ export { getCurrentBranchOrTag, getHashes, getHashFromTag, getLatestCommit, getS
|
|
|
12
13
|
export { formatGitPath, getGitRoot, guardAgainstLocalChanges, safeCheckout, toGitPath, } from './lib/git/git.js';
|
|
13
14
|
export { hasNoNullableProps, isPromiseFulfilledResult, isPromiseRejectedResult, } from './lib/guards.js';
|
|
14
15
|
export { logMultipleResults } from './lib/log-results.js';
|
|
15
|
-
export {
|
|
16
|
+
export { link, ui, type CliUi, type Column } from './lib/logging.js';
|
|
16
17
|
export { mergeConfigs } from './lib/merge-configs.js';
|
|
17
18
|
export { getProgressBar, type ProgressBar } from './lib/progress.js';
|
|
18
19
|
export { asyncSequential, groupByStatus } from './lib/promises.js';
|
package/src/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export { camelCaseToKebabCase, capitalize, kebabCaseToCamelCase, toSentenceCase,
|
|
|
3
3
|
export { filesCoverageToTree } from './lib/coverage-tree.js';
|
|
4
4
|
export { createRunnerFiles } from './lib/create-runner-files.js';
|
|
5
5
|
export { comparePairs, matchArrayItemsByKey } from './lib/diff.js';
|
|
6
|
+
export { coerceBooleanValue, isCI, isEnvVarEnabled, isVerbose, } from './lib/env.js';
|
|
6
7
|
export { stringifyError } from './lib/errors.js';
|
|
7
8
|
export { executeProcess, ProcessError, } from './lib/execute-process.js';
|
|
8
9
|
export { crawlFileSystem, directoryExists, ensureDirectoryExists, fileExists, filePathToCliArg, findLineNumberInText, findNearestFile, importModule, logMultipleFileResults, pluginWorkDir, projectToFilename, readJsonFile, readTextFile, removeDirectoryIfExists, } from './lib/file-system.js';
|
|
@@ -12,7 +13,7 @@ export { getCurrentBranchOrTag, getHashes, getHashFromTag, getLatestCommit, getS
|
|
|
12
13
|
export { formatGitPath, getGitRoot, guardAgainstLocalChanges, safeCheckout, toGitPath, } from './lib/git/git.js';
|
|
13
14
|
export { hasNoNullableProps, isPromiseFulfilledResult, isPromiseRejectedResult, } from './lib/guards.js';
|
|
14
15
|
export { logMultipleResults } from './lib/log-results.js';
|
|
15
|
-
export {
|
|
16
|
+
export { link, ui } from './lib/logging.js';
|
|
16
17
|
export { mergeConfigs } from './lib/merge-configs.js';
|
|
17
18
|
export { getProgressBar } from './lib/progress.js';
|
|
18
19
|
export { asyncSequential, groupByStatus } from './lib/promises.js';
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/utils/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAqB,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAa,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,YAAY,GAIb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,uBAAuB,GAIxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,cAAc,EACd,OAAO,EACP,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,GAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,YAAY,EACZ,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/utils/src/index.ts"],"names":[],"mappings":"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"}
|
package/src/lib/env.d.ts
ADDED
package/src/lib/env.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ui } from './logging.js';
|
|
2
|
+
export function isCI() {
|
|
3
|
+
return isEnvVarEnabled('CI');
|
|
4
|
+
}
|
|
5
|
+
export function isVerbose() {
|
|
6
|
+
return isEnvVarEnabled('CP_VERBOSE');
|
|
7
|
+
}
|
|
8
|
+
export function isEnvVarEnabled(name) {
|
|
9
|
+
const value = coerceBooleanValue(process.env[name]);
|
|
10
|
+
if (typeof value === 'boolean') {
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
if (process.env[name]) {
|
|
14
|
+
ui().logger.warning(`Environment variable ${name} expected to be a boolean (true/false/1/0), but received value ${process.env[name]}. Treating it as disabled.`);
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
export function coerceBooleanValue(value) {
|
|
19
|
+
if (typeof value === 'boolean') {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
if (typeof value === 'string') {
|
|
23
|
+
const booleanValuePairs = [
|
|
24
|
+
['true', 'false'],
|
|
25
|
+
['on', 'off'],
|
|
26
|
+
['yes', 'no'],
|
|
27
|
+
];
|
|
28
|
+
const lowerCaseValue = value.toLowerCase();
|
|
29
|
+
// eslint-disable-next-line functional/no-loop-statements
|
|
30
|
+
for (const [trueValue, falseValue] of booleanValuePairs) {
|
|
31
|
+
if (lowerCaseValue === trueValue || lowerCaseValue === falseValue) {
|
|
32
|
+
return lowerCaseValue === trueValue;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const intValue = Number.parseInt(value, 10);
|
|
36
|
+
if (!Number.isNaN(intValue)) {
|
|
37
|
+
return intValue !== 0;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,UAAU,IAAI;IAClB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CACjB,wBAAwB,IAAI,kEAAkE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAC5I,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,iBAAiB,GAAG;YACxB,CAAC,MAAM,EAAE,OAAO,CAAC;YACjB,CAAC,IAAI,EAAE,KAAK,CAAC;YACb,CAAC,KAAK,EAAE,IAAI,CAAC;SACd,CAAC;QACF,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC3C,yDAAyD;QACzD,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACxD,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;gBAClE,OAAO,cAAc,KAAK,SAAS,CAAC;YACtC,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { spawn, } from 'node:child_process';
|
|
2
|
+
import { isVerbose } from './env.js';
|
|
2
3
|
import { formatCommandLog } from './format-command-log.js';
|
|
3
|
-
import {
|
|
4
|
+
import { ui } from './logging.js';
|
|
4
5
|
import { calcDuration } from './reports/utils.js';
|
|
5
6
|
/**
|
|
6
7
|
* Error class for process errors.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-process.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/execute-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GACN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"execute-process.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/execute-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GACN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAkBlD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,IAAI,CAAgB;IACpB,MAAM,CAAS;IACf,MAAM,CAAS;IAEf,YAAY,MAAqB;QAC/B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;CACF;AA6DD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,cAAc,CAAC,GAAkB;IAC/C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC;IAC5E,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEhC,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CACb,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,6EAA6E;QAC7E,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE;YAChD,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,IAAI;YACjB,GAAG,OAAO;SACX,CAAsD,CAAC;QAExD,6CAA6C;QAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,6CAA6C;QAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YACtC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YACtC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YAC/B,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YAChC,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,IAAI,KAAK,CAAC,IAAI,cAAc,EAAE,CAAC;gBACjC,UAAU,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;gBACxE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACpB,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/src/lib/logging.d.ts
CHANGED
|
@@ -14,7 +14,6 @@ export type Column = {
|
|
|
14
14
|
border?: boolean;
|
|
15
15
|
};
|
|
16
16
|
export type CliUi = CliUiBase & CliExtension;
|
|
17
|
-
export declare const isVerbose: () => boolean;
|
|
18
17
|
export declare function ui(): CliUi;
|
|
19
18
|
export declare function logListItem(args: ArgumentsType<UI['div']>): void;
|
|
20
19
|
export declare function link(text: string): string;
|
package/src/lib/logging.js
CHANGED
|
@@ -2,7 +2,6 @@ import isaacs_cliui from '@isaacs/cliui';
|
|
|
2
2
|
import { cliui } from '@poppinss/cliui';
|
|
3
3
|
import { underline } from 'ansis';
|
|
4
4
|
import { TERMINAL_WIDTH } from './reports/constants.js';
|
|
5
|
-
export const isVerbose = () => process.env['CP_VERBOSE'] === 'true';
|
|
6
5
|
// eslint-disable-next-line functional/no-let
|
|
7
6
|
let cliUISingleton;
|
|
8
7
|
// eslint-disable-next-line functional/no-let
|
package/src/lib/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/logging.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAkBxD,
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/logging.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAkBxD,6CAA6C;AAC7C,IAAI,cAAqC,CAAC;AAC1C,6CAA6C;AAC7C,IAAI,sBAAyC,CAAC;AAE9C,MAAM,UAAU,EAAE;IAChB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,cAAc,GAAG,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,sBAAsB,GAAG;YACvB,GAAG,cAAc;YACjB,GAAG,EAAE,IAAI,CAAC,EAAE;gBACV,WAAW,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,6CAA6C;AAC7C,IAAI,gBAAgC,CAAC;AACrC,MAAM,UAAU,WAAW,CAAC,IAA8B;IACxD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,gBAAgB,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IAC5C,qDAAqD;IACrD,gBAAgB,CAAC,IAAI,GAAG,EAAE,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAY;IAC/B,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { bold, cyan, cyanBright, green, red } from 'ansis';
|
|
2
|
-
import { isVerbose
|
|
2
|
+
import { isVerbose } from '../env.js';
|
|
3
|
+
import { ui } from '../logging.js';
|
|
3
4
|
import { CODE_PUSHUP_DOMAIN, FOOTER_PREFIX, REPORT_HEADLINE_TEXT, REPORT_RAW_OVERVIEW_TABLE_HEADERS, TERMINAL_WIDTH, } from './constants.js';
|
|
4
5
|
import { applyScoreColor, countCategoryAudits, targetScoreIcon, } from './utils.js';
|
|
5
6
|
function log(msg = '') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-stdout-summary.js","sourceRoot":"","sources":["../../../../../../packages/utils/src/lib/reports/log-stdout-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"log-stdout-summary.js","sourceRoot":"","sources":["../../../../../../packages/utils/src/lib/reports/log-stdout-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ZodError, z } from 'zod';
|
|
2
2
|
type SchemaValidationContext = {
|
|
3
3
|
schemaType: string;
|
|
4
4
|
sourcePath?: string;
|
|
5
5
|
};
|
|
6
6
|
export declare class SchemaValidationError extends Error {
|
|
7
|
-
constructor({ schemaType, sourcePath }: SchemaValidationContext, error:
|
|
7
|
+
constructor({ schemaType, sourcePath }: SchemaValidationContext, error: ZodError);
|
|
8
8
|
}
|
|
9
|
-
export declare function formatErrorPath(errorPath: (string | number)[]): string;
|
|
10
9
|
export declare function parseSchema<T extends z.ZodTypeAny>(schema: T, data: z.input<T>, { schemaType, sourcePath }: SchemaValidationContext): z.output<T>;
|
|
11
10
|
export {};
|
|
@@ -1,43 +1,21 @@
|
|
|
1
|
-
import { bold
|
|
1
|
+
import { bold } from 'ansis';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import {
|
|
3
|
+
import { ZodError, z } from 'zod';
|
|
4
4
|
export class SchemaValidationError extends Error {
|
|
5
5
|
constructor({ schemaType, sourcePath }, error) {
|
|
6
|
-
const
|
|
7
|
-
messageBuilder: zodErrorMessageBuilder,
|
|
8
|
-
});
|
|
6
|
+
const formattedError = z.prettifyError(error);
|
|
9
7
|
const pathDetails = sourcePath
|
|
10
8
|
? ` in ${bold(path.relative(process.cwd(), sourcePath))}`
|
|
11
9
|
: '';
|
|
12
|
-
super(`Failed parsing ${schemaType}${pathDetails}.\n\n${
|
|
10
|
+
super(`Failed parsing ${schemaType}${pathDetails}.\n\n${formattedError}`);
|
|
13
11
|
}
|
|
14
12
|
}
|
|
15
|
-
export function formatErrorPath(errorPath) {
|
|
16
|
-
return errorPath
|
|
17
|
-
.map((key, index) => {
|
|
18
|
-
if (typeof key === 'number') {
|
|
19
|
-
return `[${key}]`;
|
|
20
|
-
}
|
|
21
|
-
return index > 0 ? `.${key}` : key;
|
|
22
|
-
})
|
|
23
|
-
.join('');
|
|
24
|
-
}
|
|
25
|
-
const zodErrorMessageBuilder = issues => issues
|
|
26
|
-
.map(issue => {
|
|
27
|
-
const formattedMessage = red(`${bold(issue.code)}: ${issue.message}`);
|
|
28
|
-
const formattedPath = formatErrorPath(issue.path);
|
|
29
|
-
if (formattedPath) {
|
|
30
|
-
return `Validation error at ${bold(formattedPath)}\n${formattedMessage}\n`;
|
|
31
|
-
}
|
|
32
|
-
return `${formattedMessage}\n`;
|
|
33
|
-
})
|
|
34
|
-
.join('\n');
|
|
35
13
|
export function parseSchema(schema, data, { schemaType, sourcePath }) {
|
|
36
14
|
try {
|
|
37
15
|
return schema.parse(data);
|
|
38
16
|
}
|
|
39
17
|
catch (error) {
|
|
40
|
-
if (
|
|
18
|
+
if (error instanceof ZodError) {
|
|
41
19
|
throw new SchemaValidationError({ schemaType, sourcePath }, error);
|
|
42
20
|
}
|
|
43
21
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-validation.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/zod-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"zod-validation.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/zod-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOlC,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YACE,EAAE,UAAU,EAAE,UAAU,EAA2B,EACnD,KAAe;QAEf,MAAM,cAAc,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,UAAU;YAC5B,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC,EAAE;YACzD,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,CAAC,kBAAkB,UAAU,GAAG,WAAW,QAAQ,cAAc,EAAE,CAAC,CAAC;IAC5E,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CACzB,MAAS,EACT,IAAgB,EAChB,EAAE,UAAU,EAAE,UAAU,EAA2B;IAEnD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,qBAAqB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|