diff --git a/scripts/splitMaterials.mjs b/scripts/splitMaterials.mjs index b09b4379e9..d161d1f6a9 100644 --- a/scripts/splitMaterials.mjs +++ b/scripts/splitMaterials.mjs @@ -9,7 +9,7 @@ const bundlePath = path.join(process.cwd(), '/designer-demo/public/mock/bundle.j // 物料文件存放文件夹名称 const materialsDir = 'materials' const bundle = fs.readJSONSync(bundlePath) -const { components, snippets, blocks } = bundle.data.materials +const { components, snippets, blocks, packages } = bundle.data.materials const capitalize = (str) => `${str.charAt(0).toUpperCase()}${str.slice(1)}` const toPascalCase = (str) => str.split('-').map(capitalize).join('') @@ -38,7 +38,15 @@ const splitMaterials = () => { return false }) - + // 补全组件的npm 字段 + const pack = packages.find((child) => child.package === comp.npm?.package); + if (pack && comp.npm) { + const complete = ['version', 'destructuring', 'script', 'css']; + complete.forEach(e => { + if (comp.npm[e] === undefined && pack[e]) + comp.npm[e] = pack[e] + }) + } const fileName = Array.isArray(comp.component) ? comp.component[0] : comp.component const componentPath = path.join(process.cwd(), materialsDir, 'components', `${toPascalCase(fileName)}.json`)