UNPKG

sui-direct

Version:

Decentralized version control system on SUI blockchain

48 lines (47 loc) 2.02 kB
"use strict"; 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); }); }