import path from 'node:path'
import { removeSync } from 'fs-extra'
import { walkFileTree, logGreen, logRed, pathJoinFromCLI } from '../shared/utils'
* 删除 packages 项目包下插件内部的 dist、runtime、node_modules 文件
*/
const deleteDistFile = () => {
walkFileTree({
isDeep: true,
fileFilter({ file, subPath, isDirectory }) {
let flag = true
if (isDirectory && ['dist', 'runtime', 'node_modules', 'dist-vue2', 'dist-vue3', 'icon-saas'].includes(file)) {
removeSync(subPath)
flag = false
}
if (file === 'package-lock.json') {
removeSync(subPath)
}
return flag
},
dirPath: pathJoinFromCLI('../../packages'),
callback() {
}
})
}
try {
deleteDistFile()
;['dist-vue2', 'dist-vue3', 'tgzs', 'typings-vue2', 'typings-vue3'].forEach((name) => {
removeSync(path.join(__dirname, '..', name))
})
;['index', 'pc', 'mobile', 'mobile-first', 'core', 'chart', 'base'].forEach((name) => {
removeSync(path.join(__dirname, '..', 'packages', name + '.js'))
})
logGreen('npm run clean:build done.')
} catch (e) {
logRed('npm run clean:build failed.')
}