Skip to content

Instantly share code, notes, and snippets.

@elzup
Created September 18, 2021 08:31
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elzup/8804d3949417f626bacda0eb682266ce to your computer and use it in GitHub Desktop.
Save elzup/8804d3949417f626bacda0eb682266ce to your computer and use it in GitHub Desktop.
const { readdir } = require('fs').promises
const readdirRecursiveEnt = async (dir, ent) => {
const path = `${dir}/${ent.name}`
if (ent.isFile()) return path
if (ent.isDirectory()) {
return await readdirRecursive(path)
}
console.log(`${ent.name} is not a file or directory`)
return null
}
const readdirRecursive = async (dir) => {
const ents = await readdir(dir, { withFileTypes: true })
return (await Promise.all(ents.map((ent) => readdirRecursiveEnt(dir, ent))))
.filter(Boolean)
.flat()
}
readdirRecursive('content/blog').then((files) => {
console.log(files)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment