"readme":"# Glob\n\nMatch files using the patterns the shell uses, like stars and stuff.\n\nThis is a glob implementation in JavaScript. It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there's an event emitter class, proper tests, and all the other\nthings you've come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require(\"glob\")\n\n// options is optional\nglob(\"**/*.js\", options, function (er, files) {\n // files is an array of filenames.\n // If the `nonull` option is set, and nothing\n // was found, then files is [\"**/*.js\"]\n // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options])\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require(\"glob\").Glob\nvarmg=newGlob(pattern,options,cb)\n```\n\nIt'sanEventEmitter,andstartswalkingthefilesystemtofindmatches\nimmediately.\n\n###newglob.Glob(pattern,[options],[cb])\n\n*`pattern`{String}patterntosearchfor\n*`options`{Object}\n*`cb`{Function}Calledwhenanerroroccurs,ormatchesarefound\n*`err`{Error|null}\n*`matches`{Array<String>}filenamesfoundmatchingthepattern\n\nNotethatifthe`sync`flagissetintheoptions,thenmatcheswill\nbeimmediatelyavailableonthe`g.found`member.\n\n###Properties\n\n*`minimatch`Theminimatchobjectthattheglobuses.\n*`options`Theoptionsobjectpassedin.\n*`error`Theerrorencountered.Whenanerrorisencountered,the\nglobobjectisinanundefinedstate,andshouldbediscarded.\n*`aborted`Booleanwhichissettotruewhencalling`abort()`.There\nisnowayatthistimetocontinueaglobsearchafteraborting,but\nyoucanre-usethestatCachetoavoidhavingtoduplicatesyscalls.\n*`statCache`Collectionofallthestatresultstheglobsearch\nperformed.\n*`cache`Convenienceobject.Eachfieldhasthefollowingpossible\nvalues:\n*`false`-Pathdoesnotexist\n*`true`-Pathexists\n*`1`-Pathexists,andisnotadirectory\n*`2`-Pathexists,andisadirectory\n*`[file,entries,...]`-Pathexists,isadirectory,andthe\narrayvalueistheresultsof`fs.readdir`\n\n###Events\n\n*`end`Whenthematchingisfinished,thisisemittedwithallthe\nmatchesfound.Ifthe`nonull`optionisset,andnomatchwasfound,\nthenthe`matches`listcontainstheoriginalpattern.Thematches\naresorted,unlessthe`nosort`flagisset.\n*`match`Everytimeamatchisfound,thisisemittedwiththematched.\n*`error`Emittedwhenanunexpectederrorisencountered,orwhenever\nanyfserroroccursif`options.strict`isset.\n*`abort`When`abort()`iscalled,thiseventisraised.\n\n###Methods\n\n*`abort`Stopthesearch.\n\n###Options\n\nAlltheoptionsthatcanbepassedtoMinimatchcanalsobepassedto\nGlobtochangepatternmatchingbehavior.Also,somehavebeenadded,\norhaveglob-specificramifications.\n\nAlloptionsarefalsebydefault,unlessotherwisenote