UNPKG

@commercelayer/cli

Version:
43 lines (42 loc) 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const config_1 = require("../../config"); const util_1 = require("util"); const cli_core_1 = require("@commercelayer/cli-core"); class ConfigSet extends core_1.Command { static description = 'set a CLI configuration parameter'; static hidden = true; static flags = { // help: flags.help({char: 'h'}), force: core_1.Flags.boolean({ char: 'F', required: false, // checked programmatically later hidden: true, description: 'mandatory flag to avoid unintentional config changes', }), }; static args = { param: core_1.Args.string({ name: 'param', required: true, description: 'configuration parameter name' }), value: core_1.Args.string({ name: 'value', required: true, description: 'value to be saved in configuration file' }), }; async run() { const { args, flags } = await this.parse(ConfigSet); const param = args.param; const value = args.value; if ((0, config_1.paramExists)(param)) { const paramKey = config_1.ConfigParams[param]; if ((0, config_1.paramEditable)(paramKey)) { if (!flags.force) this.error(`To avoid unintentional changes to CLI configuration, please use the ${cli_core_1.clColor.cli.flag('--force (-F)')} flag to force setting save`); (0, config_1.configParam)(paramKey, value); this.log(`\n${cli_core_1.clColor.table.key.blueBright(param)} = ${(0, util_1.inspect)((0, config_1.configParam)(paramKey), false, null, true)}\n`); } else this.error(`Readonly configuration param: ${cli_core_1.clColor.msg.error(param)}`); } else this.error(`Invalid configuration param: ${cli_core_1.clColor.msg.error(param)}`); } } exports.default = ConfigSet;