@code-pushup/cli 0.90.1 → 0.92.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-pushup/cli",
3
- "version": "0.90.1",
3
+ "version": "0.92.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.90.1",
49
- "@code-pushup/core": "0.90.1",
50
- "@code-pushup/utils": "0.90.1",
48
+ "@code-pushup/models": "0.92.0",
49
+ "@code-pushup/core": "0.92.0",
50
+ "@code-pushup/utils": "0.92.0",
51
51
  "yargs": "^17.7.2",
52
52
  "ansis": "^3.3.0",
53
53
  "simple-git": "^3.20.0"
@@ -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
@@ -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;AACpD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG;IAC1C,UAAU,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG;IACxC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG;IAC1C,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IAC1B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;IAChC,UAAU,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;IACvC,UAAU,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;IACvC,UAAU,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;CACxC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,IAAc,EACd,GAYC;IAED,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAChD,oBAAoB,CACkB,CAAC;IAEzC,cAAc;IACd,GAAG;SACA,YAAY,CAAC,cAAc,CAAC;QAC7B,+DAA+D;SAC9D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;SACnD,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;SAC3C,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,cAAc,CAAC,KAAK,CAAC;SACrB,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC;SAClE,KAAK,CAAC,IAAI,CAAC,EAAE;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAA8B,CAAC;QAC7D,OAAO,OAAO,IAAI,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC;SACD,mBAAmB,CAAC;QACnB,cAAc,EAAE,IAAI;KACyB,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAyB,EAAE,EAAE,CAC9C,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAC/C;SACA,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEpD,gBAAgB;IAChB,IAAI,YAAY,EAAE,CAAC;QACjB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,cAAc;IACd,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED,eAAe;IACf,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAC9C,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,CACxD,CAAC;IAEF,aAAa;IACb,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,CAC1D,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAC/C,CAAC;IAEF,kBAAkB;IAClB,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,EAAE,EAAE;QACpE,GAAG,CAAC,UAAU,CACZ,mBAAmB,CAAC,kBAAwC,CAAC,EAC7D,qBAAqB,CACtB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC5B,GAAG,CAAC,OAAO,CACT,iBAAiB,CACf;YACE,GAAG,UAAU;YACb,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC;YAChD,GAAG,CAAC,OAAO,UAAU,CAAC,OAAO,KAAK,UAAU,IAAI;gBAC9C,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC;aACjD,CAAC;SACH,EACD,UAAU,CACX,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,2DAA2D;IAC3D,oFAAoF;IACpF,6EAA6E;IAC7E,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,oBAAoB;IACpB,OAAO,GAAyB,CAAC;AACnC,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAsB;IACnD,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM;iBACX,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACpC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,SAAS,CACjB,qDAAqD,YAAY,CAAC,OAAO,CAAC,IAAI,CAC5E,IAAI,CACL,EAAE,CACJ,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"yargs-cli.js","sourceRoot":"","sources":["../../../src/lib/yargs-cli.ts"],"names":[],"mappings":"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"}