multimatch
    TypeScript icon, indicating that this package has built-in type declarations

    6.0.0 • Public • Published

    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.

    • * 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

    Related

    • globby - Match against the filesystem instead of a list
    • matcher - Simple wildcard matching

    Get professional support for this package with a Tidelift subscription
    Tidelift helps make open source sustainable for maintainers while giving companies
    assurances about security, maintenance, and licensing for their dependencies.

    Install

    npm i multimatch

    DownloadsWeekly Downloads

    4,455,849

    Version

    6.0.0

    License

    MIT

    Unpacked Size

    5.78 kB

    Total Files

    5

    Last publish

    Collaborators

    • sindresorhus