UNPKG

@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
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