mind-map/simple-mind-map/bin/createPluginsTypeFiles.js

31 lines
806 B
JavaScript

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 `
)