@commercelayer/cli
Version:
36 lines (35 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const cli_core_1 = require("@commercelayer/cli-core");
const core_1 = require("@oclif/core");
const config_1 = tslib_1.__importStar(require("../../config"));
class ConfigDel extends core_1.Command {
static description = 'delete 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' }),
};
async run() {
const { args, flags } = await this.parse(ConfigDel);
const param = args.param;
if (Object.keys(config_1.ConfigParams).includes(param)) {
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 parameter deletion`);
config_1.default.delete(param);
this.log(`\nParameter ${cli_core_1.clColor.yellowBright(param)} correctly deleted from configuration\n`);
}
else
this.error(`Invalid configuration param: ${cli_core_1.clColor.msg.error(param)}`);
}
}
exports.default = ConfigDel;