Nested/recursive `.gitignore`/`.npmignore` parsing and filtering.
npm install ignore-walkNested/recursive .gitignore/.npmignore parsing and filtering.
Walk a directory creating a list of entries, parsing any .ignore
files met along the way to exclude files.
``javascript
const walk = require('ignore-walk')
// All options are optional, defaults provided.
// this function returns a promise, but you can also pass a cb
// if you like that approach better.
walk({
path: '...', // root dir to start in. defaults to process.cwd()
ignoreFiles: [ '.gitignore' ], // list of filenames. defaults to ['.ignore']
includeEmpty: true|false, // true to include empty dirs, default false
follow: true|false // true to follow symlink dirs, default false
}, callback)
// to walk synchronously, do it this way:
const result = walk.sync({ path: '/wow/such/filepath' })
`
If you want to get at the underlying classes, they're at walk.Walkerwalk.WalkerSync
and .
* path The path to start in. Defaults to process.cwd()
* ignoreFiles Filenames to treat as ignore files. The default is['.ignore']
. (This is where you'd put .gitignore or.npmignore
or whatever.) If multiple ignore files are in a
directory, then rules from each are applied in the order that the
files are listed.
* includeEmpty Set to true to include empty directories, assuminggit
they are not excluded by any of the ignore rules. If not set, then
this follows the standard behavior of not including
directories that are empty.
Note: this will cause an empty directory to be included if it
would contain an included entry, even if it would have otherwise
been excluded itself.
For example, given the rules * (ignore everything) and !/a/b/c/a/b/c
(re-include the entry at ), the directory /a/b will be
included if it is empty.
* follow Set to true to treat symbolically linked directories asELOOP
directories, recursing into them. There is no handling for nested
symlinks, so errors can occur in some cases when using thisfalse`.
option. Defaults to