31 lines
806 B
JavaScript
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 `
|
|
)
|