From 991e003e209876a0e87f4824200088229f329222 Mon Sep 17 00:00:00 2001 From: lhj <403133128@qq.com> Date: Sun, 10 Nov 2024 01:40:35 +0800 Subject: [PATCH] =?UTF-8?q?add:=E5=A2=9E=E5=8A=A0=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=92=8C=E4=B8=BA=E7=BB=84=E4=BB=B6=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E5=A2=9E=E5=8A=A0=E5=B1=9E=E6=80=A7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/buildScheme.ts | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/utils/buildScheme.ts b/src/utils/buildScheme.ts index 3d4a7b9..77b3bdf 100644 --- a/src/utils/buildScheme.ts +++ b/src/utils/buildScheme.ts @@ -5,6 +5,8 @@ import { IComponent } from '../type/IComponent'; const componentsDir = path.join(__dirname, '../schemes/components'); const outputJsonPath = path.join(__dirname, '../schemes/scheme.json'); // 输出到当前目录 const outputTsPath = path.join(__dirname, '../schemes/scheme.ts'); // 输出到当前目录 +const exportModifiedComponentsDir = path.join(__dirname, '../schemes/exported-components'); // 导出修改后的组件文件夹 +const exportModifiedComponents = true; // 控制是否导出修改后的组件文件 async function readComponents(): Promise { const files = await fs.readdir(componentsDir); @@ -26,11 +28,44 @@ async function readComponents(): Promise { function mergeComponents(components: IComponent[]): Record { return components.reduce((acc, component) => { - acc[component.type] = component; + // 设置默认属性 + const updatedComponent = { + ...component, + visible: true, // 统一设置 visible 为 true + disable: false // 统一设置 disable 为 false + }; + + acc[updatedComponent.type] = updatedComponent; return acc; }, {} as Record); } +async function writeModifiedComponents(components: IComponent[]): Promise { + if (!exportModifiedComponents) return; + + try { + await fs.mkdir(exportModifiedComponentsDir, { recursive: true }); + + for (const component of components) { + const updatedComponent = { + ...component, + visible: true, // 统一设置 visible 为 true + disable: false // 统一设置 disable 为 false + }; + + const fileName = `${component.type}.json`; + const filePath = path.join(exportModifiedComponentsDir, fileName); + const content = JSON.stringify(updatedComponent, null, 2); + + await fs.writeFile(filePath, content); + console.log(`Modified component ${fileName} has been written to ${filePath}`); + } + } catch (error) { + console.error(`Error writing modified components:`, error); + throw error; + } +} + async function writeMergedScheme(mergedScheme: Record): Promise { try { const jsonContent = JSON.stringify(mergedScheme, null, 2); @@ -50,6 +85,9 @@ async function writeMergedScheme(mergedScheme: Record): Prom async function main() { try { const components = await readComponents(); + if (exportModifiedComponents) { + await writeModifiedComponents(components); + } const mergedScheme = mergeComponents(components); await writeMergedScheme(mergedScheme); } catch (error) {