const { exec } = require('child_process') const fs = require('fs') // 定义需要处理的目录列表 const directories = ['./src/plugins/', './src/parse/'] const allFiles = [] // 遍历每个目录 directories.forEach(baseDir => { try { const list = fs.readdirSync(baseDir) list.forEach(item => { const filePath = baseDir + item const stat = fs.statSync(filePath) if (stat.isFile()) { allFiles.push(filePath) } }) } catch (e) { console.error(`Error processing directory ${baseDir}:`, e) } }) // 将所有文件路径组合成字符串 const str = allFiles.join(' ') // 执行 TypeScript 编译命令生成类型声明文件 exec( `tsc ${str} --declaration --allowJs --emitDeclarationOnly --outDir types/src/ --target es2017 --skipLibCheck ` )