UNPKG

@copado/copado-cli

Version:

Copado Developer CLI

66 lines 3.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const theme_1 = __importDefault(require("../../../service/theme")); const core_1 = require("@salesforce/core"); const filesystem_1 = require("../../../copado_commons/filesystem"); const listViews_1 = require("../../../service/listViews"); const sf_plugins_core_1 = require("@salesforce/sf-plugins-core"); core_1.Messages.importMessagesDirectory(__dirname); const messages = core_1.Messages.loadMessages('@copado/copado-cli', 'copado_config'); class ConfigSet extends sf_plugins_core_1.SfCommand { constructor() { super(...arguments); this.availableConfig = ['defaultlistview', 'externalid', 'bypassforceignore']; } async run() { const ux = new sf_plugins_core_1.Ux({ jsonEnabled: this.jsonEnabled() }); let copadoConfig = await filesystem_1.CopadoFiles.getUserConfig(); const file = this.argv[0]; const argValues = file ? file.split('=') : null; let localConfig = await filesystem_1.CopadoFiles.getLocalConfig(); this.assertArguments(argValues); if (argValues[0] == 'defaultlistview') { ux.log(theme_1.default.status.Info(messages.getMessage('set.search'))); if (copadoConfig.get('defaultlistview') != argValues[0] && !(await listViews_1.ListViews.exists(argValues[1]))) { throw new core_1.SfError(messages.getMessage('set.listViewNotExist')); } } // Note: Storing bypassforceignore only at local config and not at user config if (argValues[0] !== 'bypassforceignore') { await filesystem_1.CopadoFiles.setInGroup(copadoConfig, new Map([[argValues[0], argValues[1]]]), 'config'); } await filesystem_1.CopadoFiles.setInGroup(localConfig, new Map([[argValues[0], argValues[1]]]), 'config'); if (argValues[0] == 'defaultlistview') { ux.log(`${theme_1.default.status.Success(messages.getMessage('set.listViewExist'), argValues[1])}`); } else { ux.log(theme_1.default.status.Success(messages.getMessage('set.success'))); } return localConfig === null || localConfig === void 0 ? void 0 : localConfig.get('config'); } assertArguments(argValue) { if (!argValue) { throw new core_1.SfError(messages.getMessage('set.noArguments')); } else if (argValue.length != 2) { throw new core_1.SfError(messages.getMessage('set.invalidFormat')); } else if (!this.availableConfig.includes(argValue[0])) { throw new core_1.SfError(`${theme_1.default.format.bold(argValue[0])} ${messages.getMessage('set.invalidKey')} ${this.availableConfig}`); } else if (argValue[0] === 'bypassforceignore' && argValue[1] != 'true' && argValue[1] != 'false') { throw new core_1.SfError(messages.getMessage('set.invalidValue')); } } } exports.default = ConfigSet; ConfigSet.description = messages.getMessage('set.description'); ConfigSet.examples = [ messages.getMessage('set.example.1'), messages.getMessage('set.example.2'), messages.getMessage('set.example.3') ]; //# sourceMappingURL=set.js.map