Take a list of glob patterns and return an array of file locations, respecting `.gitignore` and allowing for ignore patterns via `package.json`.
npm install deglob[travis-image]: https://img.shields.io/travis/standard/deglob/master.svg
[travis-url]: https://travis-ci.org/standard/deglob
[npm-image]: https://img.shields.io/npm/v/deglob.svg
[npm-url]: https://npmjs.org/package/deglob
[downloads-image]: https://img.shields.io/npm/dm/deglob.svg
[downloads-url]: https://npmjs.org/package/deglob
[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
[standard-url]: https://standardjs.com
Take a list of glob patterns and return an array of file locations, respecting .gitignore and allowing for ignore patterns via package.json.
Giant swaths of this code were extracted from standard. It seems useful outside of that tool, so I've attempted to extract it! :)
```
npm install --save deglob
`js
var deglob = require('deglob')
deglob(['*/.js'], function(err, files) {
files.forEach(function(file) {
console.log('found file ' + file)
})
})
// pass in some options to customize!
var path = require('path')
var opts = {
cwd: path.join(__dirname, 'someDir'),
useGitIgnore: false,
usePackageJson: false
}
deglob(['*/.js'], opts, function(err, files) {
files.forEach(function(file) {
console.log('found file ' + file)
})
})
`
will look for a package.json file by default and use any ignore patterns defined.To define patterns in package.json add somthing like this:
`js
"config": {
"ignore": ['*/.bad']
}
`
If you do not fancy the config key, provide a different one using the configKey option.
Options
Option | Default | Description
-------------- | -------- | -------
useGitIgnore | true | Turn on/off allowing ignore patterns via .gitignore
usePackageJson | true | Turn on/off allowing ignore patterns via package.json config.
configKey | 'config' | This is the parent key in package.json to look for the ignore attribute.
gitIgnoreFile | '.gitignore' | Name of the .gitignore` file look for (probably best to leave it default)Contributions welcome! Please read the contributing guidelines first.