dir-tree.ts 540 B

12345678910111213141516171819202122
  1. import dirTree from 'directory-tree'
  2. import treeify from 'treeify'
  3. const filteredTree = dirTree(process.cwd(), {
  4. exclude: [/node_modules/, /\.git/, /\.vscode/, /\.idea/],
  5. })
  6. const children = filteredTree.children ?? []
  7. const genObj = (children: any[]) => {
  8. const obj: Record<string, any> = {}
  9. for (const child of children)
  10. obj[child.name] = (child?.children && child.children.length > 0) ? genObj(child.children) : null
  11. return obj
  12. }
  13. const obj = genObj(children)
  14. const md = treeify.asTree(obj, true, null)
  15. console.log(md)