, :
You can use several configurations and get a result similar to the following:
{
"name": "sample",
"path": "D:/Github/dree/test/sample",
"relativePath": ".",
"type": "directory",
"size": "1.79 MB",
"children": [
{
"name": "backend",
"path": "D:/Github/dree/test/sample/backend",
"relativePath": "backend",
"type": "directory",
"size": "1.79 MB",
"children": [
{
"name": "firebase.json",
"path": "D:/Github/dree/test/sample/backend/firebase.json",
"relativePath": "backend/firebase.json",
"type": "file",
"extension": "json",
"size": "29 B"
},
{
"name": "server",
"path": "D:/Github/dree/test/sample/backend/server",
"relativePath": "backend/server",
"type": "directory",
"size": "1.79 MB",
"children": [
{
"name": "server.ts",
"path": "D:/Github/dree/test/sample/backend/server/server.ts",
"relativePath": "backend/server/server.ts",
"type": "file",
"extension": "ts",
"size": "1.79 MB"
}
]
}
]
}
]
}
Even a string can be returned, like so:
sample
ββ> backend
βββ firebase.json
βββ hello.txt
ββ> server
βββ server.ts
For example:
const dree = require('dree');
const config = {
normalize: true,
stat: false,
size: true,
followLinks: true,
exclude: [/exclude_me/, /exclude_me_too/ ],
depth: 10,
extensions: [ 'html', 'txt ]
};
const tree = dree.scan('./dir', config);