isaacs
3ab15cde25
|
13 years ago | |
---|---|---|
.. | ||
node_modules/lru-cache | 13 years ago | |
.gitmodules | 13 years ago | |
LICENSE | 13 years ago | |
README.md | 13 years ago | |
minimatch.js | 13 years ago | |
package.json | 13 years ago |
README.md
This is the matching library used internally by npm.
Eventually, it will replace the C binding in node-glob.
It works by converting glob expressions into JavaScript RegExp
objects.
Usage
var minimatch = require("minimatch")
minimatch("bar.foo", "*.foo") // true!
minimatch("bar.foo", "*.bar") // false!
Features
Supports all glob features.
See:
man sh
man fnmatch
man 5 gitignore
Departures from zsh/bash/ksh/sh
If the pattern starts with a !
character, then it is negated.
If a pattern starts with #
, then it is treated as a comment, and
will not match anything. (Use \#
to match a literal #
at the
start of a line.)
The double-star **
is always supported, instead of requiring a special
flag.
If an escaped pattern has no matches, and the null
flag is not set,
then minimatch.match returns the pattern as-provided, rather than
interpreting the character escapes. For example,
minimatch.match([], "\\*a\\?")
will return "\\*a\\?"
rather than
"*a?"
.
Functions
minimatch(path, pattern, options)
Main export. Tests a path against the pattern using the options.
minimatch.filter(pattern, options)
Returns a function that tests its
supplied argument, suitable for use with Array.filter
.
minimatch.match(list, pattern, options)
Match against the list of
files, in the style of fnmatch or glob. If nothing is matched, then
return the pattern (unless { null: true }
in the options.)
minimatch.makeRe(pattern, options)
Make a regular expression object from the pattern.
Options
All options are false
by default.
debug
Dump a ton of stuff to stderr.
null
Return an empty list from minimatch.match, instead of a list containing the pattern itself.
nocase
Perform a case-insensitive match.
cache
An LRU cache with .get(k)
and .set(k,v)
methods. By
default, an instance of node-lru-cache
is used, with 1000 max
entries.
slash
If set, then a/*
will match a/
as well as a/b
.
matchBase
If set, then patterns without slashes will be matched
against the basename of the path if it contains slashes. For example,
a?b
would match xyz/123/acb
.
partial
Internal. Used by minimatch.makeRe
.
dot
Allow patterns to match paths starting with a period, even if the pattern does not explicitly start with a period.