Name Last Update
..
index.js Loading commit data...
license Loading commit data...
package.json Loading commit data...
readme.md Loading commit data...

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