Get an array of recursive directory contents
Return an array containing all recursive files and directories under a given
directory, similar to Unix
find. Follows symlinks. Bare-bones, but
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'project'
paths will be the following
'one.txt' 'subdir/' 'subdir/two.txt'
Note: directories come before their contents, and have a trailing slash.
Symlinks are followed.
Sometimes, it is important to get additional information from a walk of a directory; for instance if the downstream consumer needs to stat the files we can leverage the stats from the walk.
walkSync.entries(path [, options]) is also provided, instead
of returning a list of files and/or directories it returns an array of objects
which correspond to a given file or directory, except with more data.
entry.relativePathentry.mode // => fs.statSync(fullPath).modeentry.size // => fs.statSync(fullPath).sizeentry.mtime // => fs.statSync(fullPath).mtime.getTime()entry.isDirectory() // => true if directory
globs: An array of globs. Only files and directories that match at least
one of the provided globs will be returned.
var paths = walkSync'project' globs: 'subdir/**/*.txt' ;// => ['subdir/two.txt']
As an alternative to string globs, you can pass an array of precompiled
instances. This is faster and allows to specify your own globbing options.
directories (default: true): Pass
false to only return files, not
var paths = walkSync'project' directories: false// => ['one.txt', 'subdir/two.txt']
walkSync(baseDir) is a faster substitute for
globsync'**'cwd: baseDirdot: truemark: truestrict: true