@szzbmy/lowcode-cli
Version:
🐇 lowcode-cli is an efficient cli tool for Rabbitpre plugin component secondary development. ❤️
69 lines (68 loc) • 2.36 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatLibTemplateList = exports.formatCmplibList = exports.formatTemplateList = exports.formatCmpList = exports.updateConfigFile = void 0;
const fs_1 = __importDefault(require("fs"));
const path_1 = require("path");
const json_1 = require("../../utils/json");
const config_1 = __importDefault(require("../../config"));
// 重新写入 config.jsonc
function reWriteConfigFile(filePath, options) {
const config = (0, json_1.parse)(fs_1.default.readFileSync(filePath, { encoding: 'utf8' }));
const content = (0, json_1.stringify)(Object.assign(config, options));
fs_1.default.writeFileSync(filePath, content);
}
/**
* @description 更新 config.jsonc 文件字段
* @param {sting} folderName 模板导出目录名称
* @param {ItemComponentInfo} 选中模板信息
*/
function updateConfigFile(folderName, cmpInfo) {
const configPath = (0, path_1.resolve)(folderName, 'config.jsonc');
const { id, name, title } = cmpInfo;
reWriteConfigFile(configPath, {
isTemplate: false,
id,
name,
title,
env: config_1.default.env,
});
}
exports.updateConfigFile = updateConfigFile;
// 格式化组件列表数据, 增加 value, label 字段
function formatCmpList(data) {
return (data || []).map(cmp => ({
...cmp,
value: cmp.name,
label: `${cmp.title}(${cmp.name})`,
}));
}
exports.formatCmpList = formatCmpList;
// 格式化模版列表, 增加 value, label
function formatTemplateList(data) {
return (data || []).map(item => ({
...item,
value: item.path,
label: item.name,
}));
}
exports.formatTemplateList = formatTemplateList;
// 格式化组件库列表数据, 增加 value, label 字段
function formatCmplibList(data) {
return (data || []).map(cmp => ({
...cmp,
value: cmp.libName,
label: cmp.libTitle,
}));
}
exports.formatCmplibList = formatCmplibList;
function formatLibTemplateList(data) {
return (data || []).map(item => ({
...item,
value: item.objectName,
label: item.objectTitle,
}));
}
exports.formatLibTemplateList = formatLibTemplateList;