## Usage ```js const glob = require('{%= name %}'); // async signature glob(patterns[, options]); // sync signature glob.sync(patterns[, options]); ``` - `patterns` (string|array) - one or more glob patterns - `options` - options to pass to [node-glob][glob]; _Also note that if non-glob file paths are passed, only paths that exist on the file system will be returned._ **promise** ```js glob(['*.txt']) .then(files => console.log(files)) //=> ['a.txt', 'b.txt', 'c.txt'] .catch(console.error) // or with async-await (async() => { const files = await glob('*.txt'); console.log(files); //=> ['foo.txt', 'bar.txt'] })(); ``` **callback** ```js glob(['*.js'], (err, files) => { console.log(files); //=> ['utils.js', 'index.js'] }); ``` **sync** ```js const files = glob.sync(['*.js']); //=> ['utils.js', 'index.js'] ``` **options** All methods take an options object to be forwarded to [node-glob][glob] as the second argument. ```js const files = glob(['*.js'], { cwd: 'test' }); console.log(files); //=> ['test.js'] ``` ## Release history ## v4.1 - Adds support for `options.onMatch()` which is passed to [node-glob][glob] as a listener for the `match` event. - Adds support for `options.onFiles()` to allow the user to get the files returned by each glob pattern. - Small optimizations in logic for handling non-glob patterns that are passed for matching literal file names. ## v4.0 - Use [picomatch][] for parsing glob patterns. ## v3.0 - Removes `cache` property from results array. - Optimizations ## v0.4.1 - Exposes a non-enumerable `cache` property on the returned files array. This is a patch release since the property does not change the existing API and should not otherwise effect behavior or results.