const glob = require('{%= name %}');
// async signature
glob(patterns[, options]);
// sync signature
glob.sync(patterns[, options]);
patterns
(string|array) - one or more glob patternsoptions
- 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
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
glob(['*.js'], (err, files) => {
console.log(files);
//=> ['utils.js', 'index.js']
});
sync
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.
const files = glob(['*.js'], { cwd: 'test' });
console.log(files);
//=> ['test.js']
- Adds support for
options.onMatch()
which is passed to [node-glob][glob] as a listener for thematch
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.
- Use [picomatch][] for parsing glob patterns.
- Removes
cache
property from results array. - Optimizations
- 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.