Skip to content

Instantly share code, notes, and snippets.

@faforty
Created June 19, 2017 07:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save faforty/6040308c1b124e06e8d1c931b067ba0d to your computer and use it in GitHub Desktop.
Save faforty/6040308c1b124e06e8d1c931b067ba0d to your computer and use it in GitHub Desktop.
'use strict'
const fs = require('fs')
const path = require('path')
const rootFolder = __dirname // Your folder
const spider = (folder = rootFolder, state = []) => {
fs.readdirSync(folder).forEach(file => {
let dir = path.join(folder, file),
isDir = fs.lstatSync(dir).isDirectory()
let children = isDir ? spider(dir) : null
state.push({
file: file,
isDir: isDir,
chidlren: children
})
})
state.sort(a => a.isDir ? -1 : 1)
return state
}
/*
Индексируем все папки
*/
const tree = spider()
console.log(tree)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment