walk-sync

Get an array of recursive directory contents

node-walk-sync

Return an array containing all recursive files and directories under a given directory, similar to Unix find. Follows symlinks. Bare-bones, but very fast.

Similar to wrench.readdirSyncRecursive, but adds trailing slashes to directories.

Not to be confused with node-walk, which has both an asynchronous and a synchronous API.

npm install --save walk-sync
var walkSync = require('walk-sync');
var paths = walkSync('foo')

Given foo/one.txt and foo/subdir/two.txt, paths will be the following array:

['one.txt', 'subdir/', 'subdir/two.txt']

Note that directories come before their contents, and have a trailing slash.

Symlinks are followed.

Similarly to node-glob, walkSync can use globs to further refine the output. The difference is walkSync accepts are array of globs:

var walkSync = require('walk-sync', ['**/*.js']);

Given foo/one.js and foo/two.txt, bar.jss will be the following array:

['bar.js', 'foo/two.js']

walkSync(baseDir) is a faster substitute for

glob.sync('**', {
  cwd: baseDir,
  dot: true,
  mark: true,
  strict: true
})