@commercelayer/cli
Version:
31 lines (30 loc) • 1.49 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 ConfigDefault extends core_1.Command {
static description = 'reset CLI configuration to default values';
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',
}),
};
async run() {
const { flags } = await this.parse(ConfigDefault);
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`);
// Set default value for all editable properties
Object.keys(config_1.ConfigParamsEditable).forEach(k => (0, config_1.configParam)(k, (0, config_1.paramDefault)(k)));
// Delete all test params
Object.keys(config_1.ConfigParamsEditable).filter(k => k.startsWith('test')).forEach(k => { config_1.default.delete(k); });
this.log(cli_core_1.clColor.yellowBright('\nSuccessfully restored default CLI configuration\n'));
}
}
exports.default = ConfigDefault;