https://github.com/standard/deglob
:open_file_folder: Take a list of glob patterns and return an array of file locations, respecting `.gitignore` and allowing for ignore patterns via `package.json`.
https://github.com/standard/deglob
glob glob-pattern javascript nodejs patterns
Last synced: about 1 month ago
JSON representation
:open_file_folder: Take a list of glob patterns and return an array of file locations, respecting `.gitignore` and allowing for ignore patterns via `package.json`.
- Host: GitHub
- URL: https://github.com/standard/deglob
- Owner: standard
- License: isc
- Created: 2015-07-10T01:18:45.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-09-16T07:31:15.000Z (about 2 years ago)
- Last Synced: 2025-08-10T22:40:05.924Z (2 months ago)
- Topics: glob, glob-pattern, javascript, nodejs, patterns
- Language: JavaScript
- Size: 34.2 KB
- Stars: 40
- Watchers: 5
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# deglob [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
[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.comTake 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](https://standardjs.com). It seems useful outside of that tool, so I've attempted to extract it! :)
## Install
```
npm install --save deglob
```## Usage
```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)
})
})
```## 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:
```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)
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](CONTRIBUTING.md) first.
## License
[ISC](LICENSE.md)