sui-direct
Version:
Decentralized version control system on SUI blockchain
48 lines (47 loc) • 2.02 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.configCommands = configCommands;
const json_1 = __importDefault(require("../utils/json"));
const colors_1 = require("../utils/colors");
function configCommands(program) {
let currentConfig = json_1.default.getConfig();
const config = program
.command("config")
.aliases(["cfg", "c"])
.description("Manage configuration settings for the sui.direct CLI.");
config
.command("show")
.description("Show current configuration settings")
.action(() => {
if (Object.keys(currentConfig).length === 0) {
console.log(colors_1.colorize.errorIcon("No configuration settings found."));
}
else {
console.log("Current Configuration (config.json):\n");
Object.entries(currentConfig).forEach(([key, value]) => {
console.log(`${colors_1.colorize.highlight(key)}: ${colors_1.colorize.success(typeof value === "string" ? value : JSON.stringify(value, null, 2))}`);
});
}
return process.exit(0);
});
config
.command("set")
.description("Set a configuration setting")
.option("-k, --key <string>", "Configuration key to set")
.option("-v, --value <string>", "Value to set for the configuration key")
.action(async (options) => {
if (!options.key || !options.value) {
console.log(colors_1.colorize.errorIcon(`Please provide both a key and a value using ${colors_1.colorize.warning("-k")} and ${colors_1.colorize.warning("-v")} options.`));
return process.exit(1);
}
currentConfig = {
...currentConfig,
[options.key]: options.value,
};
json_1.default.setConfig(currentConfig);
return process.exit(0);
});
}