deglob
v4.0.1
Published
Take a list of glob patterns and return an array of file locations, respecting `.gitignore` and allowing for ignore patterns via `package.json`.
Downloads
829,168
Readme
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 deglob
Usage
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.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)
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.