const fs = require("fs") const path = require("path") const dir = "." function getTree(dir) { const files = fs.readdirSync(dir) return files .filter(function (file) { if (file.match(/^\./)) { return false } return true }) .map(function (file) { const f = { name: file } if (fs.statSync(dir + "/" + file).isDirectory()) { f.isDir = true f.elements = getTree(dir + "/" + file) } return f }) } const tree = getTree(dir) console.log(JSON.stringify(tree, null, 4))