Home

Awesome

multimatch

Extends minimatch.match() with support for multiple patterns

Install

npm install multimatch

Usage

import multimatch from 'multimatch';

multimatch(['unicorn', 'cake', 'rainbows'], ['*', '!cake']);
//=> ['unicorn', 'rainbows']

See the tests for more usage examples and expected matches.

API

multimatch(paths, patterns, options?)

Returns an array of matching paths in the order of input paths.

paths

Type: string | string[]

The paths to match against.

patterns

Type: string | string[]

Globbing patterns to use. For example: ['*', '!cake']. See supported minimatch patterns.

options

Type: object

See the minimatch options.

How multiple patterns work

Positive patterns (e.g. foo or *) add to the results, while negative patterns (e.g. !foo) subtract from the results.

Therefore a lone negation (e.g. ['!foo']) will never match anything. Use ['*', '!foo'] instead.

Globbing patterns

Just a quick overview.

Related