Extends `glob` with support for multiple patterns
JavaScript
Latest commit 5c64738 Nov 4, 2016 @sindresorhus 6.1.0
Permalink
Failed to load latest commit information.
.editorconfig meta tweaks May 18, 2016
.gitattributes perform validation on the patterns parameter and error accordingly (#31) Jul 22, 2016
.gitignore init Jun 21, 2014
.travis.yml meta tweaks May 18, 2016
bench.js fix glob-stream benchmark Oct 26, 2016
index.js cleanup #36 Nov 4, 2016
license init Jun 21, 2014
package.json 6.1.0 Nov 4, 2016
readme.md cleanup #36 Nov 4, 2016
test.js cleanup #36 Nov 4, 2016

readme.md

globby Build Status

Extends glob with support for multiple patterns and exposes a Promise API

Install

$ npm install --save globby

Usage

├── unicorn
├── cake
└── rainbow
const globby = require('globby');

globby(['*', '!cake']).then(paths => {
    console.log(paths);
    //=> ['unicorn', 'rainbow']
});

API

globby(patterns, [options])

Returns a Promise for an array of matching paths.

globby.sync(patterns, [options])

Returns an array of matching paths.

globby.generateGlobTasks(patterns, [options])

Returns an array of objects in the format { pattern: string, opts: Object }, which can be passed as arguments to node-glob. This is useful for other globbing-related packages.

Note that you should avoid running the same tasks multiple times as they contain a file system cache. Instead, run this method each time to ensure file system changes are taken into consideration.

globby.hasMagic(patterns, [options])

Returns a boolean of whether there are any special glob characters in the patterns.

Note that the options affect the results. If noext: true is set, then +(a|b) will not be considered a magic pattern. If the pattern has a brace expansion, like a/{b/c,x/y}, then that is considered magical, unless nobrace: true is set.

patterns

Type: string Array

See supported minimatch patterns.

options

Type: Object

See the node-glob options.

Globbing patterns

Just a quick overview.

  • * matches any number of characters, but not /
  • ? matches a single character, but not /
  • ** matches any number of characters, including /, as long as it's the only thing in a path part
  • {} allows for a comma-separated list of "or" expressions
  • ! at the beginning of a pattern will negate the match

Various patterns and expected matches.

Related

License

MIT © Sindre Sorhus