Files
buildadmin-webman/web/src/utils/build.ts
2026-03-09 17:35:53 +08:00

38 lines
1.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { readdirSync, writeFile } from 'fs'
import { trimEnd } from 'lodash-es'
function getFileNames(dir: string) {
const dirents = readdirSync(dir, {
withFileTypes: true,
})
const fileNames: string[] = []
for (const dirent of dirents) {
if (!dirent.isDirectory()) fileNames.push(dirent.name.replace('.vue', ''))
}
return fileNames
}
/**
* 生成 ./types/tableRenderer.d.ts 文件
*/
const buildTableRendererType = () => {
let tableRenderer = getFileNames('./src/components/table/fieldRender/')
// 增加 slot去除 default
tableRenderer.push('slot')
tableRenderer = tableRenderer.filter((item) => item !== 'default')
let tableRendererContent =
'/** 可用的表格单元格渲染器,以 ./src/components/table/fieldRender/ 目录中的文件名自动生成 */\ntype TableRenderer =\n | '
for (const key in tableRenderer) {
tableRendererContent += `'${tableRenderer[key]}'\n | `
}
tableRendererContent = trimEnd(tableRendererContent, ' | ')
writeFile('./types/tableRenderer.d.ts', tableRendererContent, 'utf-8', (err) => {
if (err) throw err
})
}
buildTableRendererType()