@zzclub/z-cli
Version:
all-in-one 工具箱,专为提升日常及工作效率而生
48 lines (45 loc) • 1.8 kB
JavaScript
import { writeFileContent, getLocalConfig, setLocalConfig } from "../utils/common.js";
import chalk from "chalk";
import ora from "ora";
import path from "node:path";
import { dirname } from "node:path";
import { fileURLToPath } from "node:url";
import os from 'node:os'
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export const setCmd = {
name: "set <configName> [payload...]",
description:
"设置全局config.json配置, 只有两个命令, 复制即可 \n 1. zz set translate account.appId <value> \n 2. zz set translate account.key <value>",
options: [],
action: async (configName, payload, cmd) => {
let set_spinner = ora();
let config = await getLocalConfig();
let configItem = config[configName];
if (configItem) {
if (config.editableConfig.includes(configName)) {
if (payload.length === 2) {
let key = payload[0];
if (!["account.key", "account.appId"].includes(key)) {
set_spinner.warn(`设置appId: zz set translate account.appId <value>`);
set_spinner.warn(`设置key: zz set translate account.key <value>`);
process.exit(1);
}
let value = payload[1];
eval(`configItem.${key} = "${value}"`);
// configItem[key] = value
setLocalConfig(config, set_spinner)
} else {
set_spinner.warn(`设置appId: zz set translate account.appId <value>`);
set_spinner.warn(`设置key: zz set translate account.key <value>`);
process.exit(1);
}
} else {
set_spinner.fail(`配置项[${chalk.red(configName)}]不允许修改`);
}
} else {
set_spinner.fail(`配置项[${chalk.red(configName)}]不存在`);
process.exit(1);
}
},
};