@code-pushup/cli
Version:
A CLI to run all kinds of code quality measurements to align your team with company goals
27 lines • 1.24 kB
JavaScript
import ansis from 'ansis';
import { mkdir, writeFile } from 'node:fs/promises';
import path from 'node:path';
import { logger } from '@code-pushup/utils';
import { filterKebabCaseKeys } from '../implementation/global.utils.js';
import { printCliCommand } from '../implementation/logging.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) => {
printCliCommand(command);
// 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);
await mkdir(path.dirname(output), { recursive: true });
await writeFile(output, content);
logger.info(`Config printed to file ${ansis.bold(output)}`);
},
};
}
//# sourceMappingURL=print-config-command.js.map