@code-pushup/cli
Version:
A CLI to run all kinds of code quality measurements to align your team with company goals
30 lines • 1.26 kB
JavaScript
import { bold } from 'ansis';
import { mkdir, writeFile } from 'node:fs/promises';
import path from 'node:path';
import { ui } from '@code-pushup/utils';
import { filterKebabCaseKeys } from '../implementation/global.utils.js';
import { yargsPrintConfigOptionsDefinition } from '../implementation/print-config.options.js';
export function yargsPrintConfigCommandObject() {
const command = 'print-config';
return {
command,
describe: 'Print config',
builder: yargsPrintConfigOptionsDefinition(),
handler: async (yargsArgs) => {
// it is important to filter out kebab case keys
// because yargs duplicates options in camel case and kebab case
const { _, $0, ...args } = filterKebabCaseKeys(yargsArgs);
const { output, ...config } = args;
const content = JSON.stringify(config, null, 2);
if (output) {
await mkdir(path.dirname(output), { recursive: true });
await writeFile(output, content);
ui().logger.info(`Config printed to file ${bold(output)}`);
}
else {
ui().logger.log(content);
}
},
};
}
//# sourceMappingURL=print-config-command.js.map