@code-pushup/cli 0.90.1 → 0.91.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 +4 -4
- package/src/lib/yargs-cli.js +40 -2
- package/src/lib/yargs-cli.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.91.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "A CLI to run all kinds of code quality measurements to align your team with company goals",
|
|
6
6
|
"homepage": "https://code-pushup.dev",
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"node": ">=20"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@code-pushup/models": "0.
|
|
49
|
-
"@code-pushup/core": "0.
|
|
50
|
-
"@code-pushup/utils": "0.
|
|
48
|
+
"@code-pushup/models": "0.91.0",
|
|
49
|
+
"@code-pushup/core": "0.91.0",
|
|
50
|
+
"@code-pushup/utils": "0.91.0",
|
|
51
51
|
"yargs": "^17.7.2",
|
|
52
52
|
"ansis": "^3.3.0",
|
|
53
53
|
"simple-git": "^3.20.0"
|
package/src/lib/yargs-cli.js
CHANGED
|
@@ -3,7 +3,7 @@ import ansis from 'ansis';
|
|
|
3
3
|
import { createRequire } from 'node:module';
|
|
4
4
|
import yargs, {} from 'yargs';
|
|
5
5
|
import { formatSchema, validate, } from '@code-pushup/models';
|
|
6
|
-
import { TERMINAL_WIDTH } from '@code-pushup/utils';
|
|
6
|
+
import { TERMINAL_WIDTH, isRecord } from '@code-pushup/utils';
|
|
7
7
|
import { descriptionStyle, formatNestedValues, formatObjectValue, headerStyle, titleStyle, } from './implementation/formatting.js';
|
|
8
8
|
import { logErrorBeforeThrow } from './implementation/global.utils.js';
|
|
9
9
|
export const yargsDecorator = {
|
|
@@ -51,8 +51,9 @@ export function yargsCli(argv, cfg) {
|
|
|
51
51
|
.parserConfiguration({
|
|
52
52
|
'strip-dashed': true,
|
|
53
53
|
})
|
|
54
|
-
.coerce('config', (config) => Array.isArray(config) ? config.at(-1) : config)
|
|
55
54
|
.options(formatNestedValues(options, 'describe'));
|
|
55
|
+
// use last argument for non-array options
|
|
56
|
+
coerceArraysByOptionType(cli, options);
|
|
56
57
|
// usage message
|
|
57
58
|
if (usageMessage) {
|
|
58
59
|
cli.usage(titleStyle(usageMessage));
|
|
@@ -103,4 +104,41 @@ function validatePersistFormat(persist) {
|
|
|
103
104
|
throw new TypeError(`Invalid persist.format option. Valid options are: ${formatSchema.options.join(', ')}`);
|
|
104
105
|
}
|
|
105
106
|
}
|
|
107
|
+
function coerceArraysByOptionType(cli, options) {
|
|
108
|
+
Object.entries(groupOptionsByKey(options)).forEach(([key, node]) => {
|
|
109
|
+
cli.coerce(key, (value) => coerceNode(node, value));
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function coerceNode(node, value) {
|
|
113
|
+
if (node.isLeaf) {
|
|
114
|
+
if (node.options.type === 'array') {
|
|
115
|
+
return node.options.coerce?.(value) ?? value;
|
|
116
|
+
}
|
|
117
|
+
return Array.isArray(value) ? value.at(-1) : value;
|
|
118
|
+
}
|
|
119
|
+
return Object.entries(node.children).reduce(coerceChildNode, value);
|
|
120
|
+
}
|
|
121
|
+
function coerceChildNode(value, [key, node]) {
|
|
122
|
+
if (!isRecord(value) || !(key in value)) {
|
|
123
|
+
return value;
|
|
124
|
+
}
|
|
125
|
+
return { ...value, [key]: coerceNode(node, value[key]) };
|
|
126
|
+
}
|
|
127
|
+
function groupOptionsByKey(options) {
|
|
128
|
+
return Object.entries(options).reduce(addOptionToTree, {});
|
|
129
|
+
}
|
|
130
|
+
function addOptionToTree(tree, [key, value]) {
|
|
131
|
+
if (!key.includes('.')) {
|
|
132
|
+
return { ...tree, [key]: { isLeaf: true, options: value } };
|
|
133
|
+
}
|
|
134
|
+
const [parentKey, childKey] = key.split('.', 2);
|
|
135
|
+
const prevChildren = tree[parentKey] && !tree[parentKey].isLeaf ? tree[parentKey].children : {};
|
|
136
|
+
return {
|
|
137
|
+
...tree,
|
|
138
|
+
[parentKey]: {
|
|
139
|
+
isLeaf: false,
|
|
140
|
+
children: addOptionToTree(prevChildren, [childKey, value]),
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
}
|
|
106
144
|
//# sourceMappingURL=yargs-cli.js.map
|
package/src/lib/yargs-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yargs-cli.js","sourceRoot":"","sources":["../../../src/lib/yargs-cli.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,EAMb,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,YAAY,EACZ,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"yargs-cli.js","sourceRoot":"","sources":["../../../src/lib/yargs-cli.ts"],"names":[],"mappings":"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"}
|