Files
Memoh/packages/ui/scripts/gen-entry.ts
T
2026-01-29 14:57:18 +08:00

43 lines
995 B
TypeScript

import fs from 'fs'
import path from 'path'
const rootDir = path.resolve(import.meta.dirname, '../src')
const readDir = path.resolve(rootDir, './components')
const outputDir = path.resolve(rootDir, './index.ts')
async function readDirName(){
const pathList:Awaited<string[]> = await new Promise((resolve, reject) => {
fs.readdir(readDir, (err, data) => {
if (err) {
reject(err)
}
resolve(data)
})
})
return pathList
}
async function writeExportFile(pathList: string[]) {
const pathListStr = pathList.map(fileName => {
return `export * from './components/${fileName}/index'`
})
await new Promise((resolve, reject) => {
fs.writeFile(outputDir, pathListStr.join('\r\n'), (err) => {
if (err) {
reject(err)
}
resolve(undefined)
})
})
}
async function generate() {
try {
const list = await readDirName()
writeExportFile(list)
} catch(error) {
console.error(error)
}
}
generate()