deglob  
  
  
 
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! :)
Install
npm install --save deglobUsage
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)
  })
})Ignoring files in package.json
deglob 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:
"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.jsonconfig. | 
| configKey | 'config' | This is the parent key in package.jsonto look for theignoreattribute. | 
| gitIgnoreFile | '.gitignore' | Name of the .gitignorefile look for (probably best to leave it default) | 
| ignore | [] | List of additional ignore patterns to use | 
| cwd | process.cwd() | This is the working directory to start the deglobbing | 
Contributing
Contributions welcome! Please read the contributing guidelines first.
 flet
flet