@zambelz/zhc
Version:
API Management Tools
81 lines (79 loc) • 2.82 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.viewCurrentConfig = exports.setConfig = exports.initConfig = void 0;
const node_path_1 = __importDefault(require("node:path"));
const global_1 = require("../../utils/global");
const profile_1 = require("../../utils/profile");
const config_1 = require("../../utils/config");
const logger_1 = require("../../utils/logger");
const fileOperation_1 = require("../../utils/fileOperation");
const initConfig = () => {
try {
(0, logger_1.logInfo)("Initializing config...");
(0, fileOperation_1.createDirectory)({ path: global_1.ROOT_PATH });
(0, fileOperation_1.createFile)({
path: node_path_1.default.join(global_1.ROOT_PATH, "config.jsonc"),
content: JSON.stringify({
"defaultProfile": "default",
"editor": "nvim"
}, null, 2)
});
(0, fileOperation_1.createFile)({
path: node_path_1.default.join(global_1.ROOT_PATH, ".editorconfig"),
content: `# Editor configuration, see http://editorconfig.org
root = false
[*]
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true
[*.jsonc]
indent_style = space
indent_size = 2
`
});
(0, fileOperation_1.createDirectory)({ path: node_path_1.default.join(global_1.ROOT_PATH, "scripts") });
try {
const newProfile = (0, profile_1.createProfile)("default");
(0, logger_1.logInfo)("New profile created at: ", newProfile);
}
catch (err) {
(0, logger_1.logError)(`${err}`);
}
(0, logger_1.logInfo)("Config initialized");
}
catch (err) {
(0, logger_1.logError)(`${err}`);
}
};
exports.initConfig = initConfig;
const setConfig = async (opt) => {
if (typeof opt?.set !== "string" || opt?.set === "") {
(0, logger_1.logError)("No input provided");
return;
}
const configInput = opt?.set;
const configs = configInput.split(":");
const isGlobal = opt?.global || false;
if (isGlobal) {
console.log("Setting global config...");
return;
}
// TODO: add functionality to set profile config
// globally or locally
console.log("TODO: Set profile config");
};
exports.setConfig = setConfig;
const viewCurrentConfig = async () => {
const configData = (0, config_1.getConfigData)();
const profileConfig = (0, config_1.getProfileConfig)();
const output = {
...configData,
...profileConfig
};
console.log(output);
};
exports.viewCurrentConfig = viewCurrentConfig;
//# sourceMappingURL=configManagement.js.map