This is a glob implementation in JavaScript. It uses the minimatch
library to do its matching.
Attention: node-glob users!
The API has changed dramatically between 2.x and 3.x. This library is now 100% JavaScript, and the integer flags have been replaced with an options object.
Also, there's an event emitter class, proper tests, and all the other things you've come to expect from node modules.
And best of all, no compilation!
Usage
var glob = require("glob") // options is optional glob("**/*.js", options, function (er, files) { // files is an array of filenames. // If the `nonull` option is set, and nothing // was found, then files is ["**/*.js"] // er is an error object or null. })
Features
Please see the minimatch documentation for more details.
Supports these glob features:
- Brace Expansion
- Extended glob matching
- "Globstar"
**matching
See:
man shman bashman 3 fnmatchman 5 gitignore- minimatch documentation
Glob Class
Create a glob object by instanting the glob.Glob class.
var Glob = require("glob").Glob var mg = new Glob(pattern, options)
It's an EventEmitter.
Properties
minimatchThe minimatch object that the glob uses.optionsThe options object passed in.matchesA FastList object containing the matches as they are found.errorThe error encountered. When an error is encountered, the glob object is in an undefined state, and should be discarded.abortedBoolean which is set to true when callingabort(). There is no way at this time to continue a glob search after aborting.
Events
endWhen the matching is finished, this is emitted with all the matches found. If thenonulloption is set, and no match was found, then thematcheslist contains the original pattern. The matches are sorted, unless thenosortflag is set.matchEvery time a match is found, this is emitted with the pattern.partialEmitted when a directory matches the start of a pattern, and is then searched for additional matches.errorEmitted when an unexpected error is encountered.abortWhenabort()is called, this event is raised.
Methods
abortStop the search.
Options
All the options that can be passed to Minimatch can also be passed to Glob to change pattern matching behavior. Additionally, these ones are added which are glob-specific, or have glob-specific ramifcations.
All options are false by default.
cwdThe current working directory in which to search. Since, unlike Minimatch, Glob requires a working directory to start in, this defaults toprocess.cwd().rootSince Glob requires a root setting, this defaults topath.resolve(options.cwd, "/").markAdd a/character to directory matches.followUsestatinstead oflstat. This is only relevant ifstatormarkare true.nosortDon't sort the results.statSet to true to stat/lstat all results. This reduces performance somewhat, but guarantees that the results are files that actually exist.silentWhen an error other thanENOENTorENOTDIRis encountered when attempting to read a directory, a warning will be printed to stderr. Set thesilentoption to true to suppress these warnings.strictWhen an error other thanENOENTorENOTDIRis encountered when attempting to read a directory, the process will just continue on in search of other matches. Set thestrictoption to raise an error in these cases.