{"maintainers":[{"email":"blaine.bublitz@gmail.com","name":"anonymous"},{"email":"github@sellside.com","name":"anonymous"},{"email":"brian.woodward@gmail.com","name":"anonymous"},{"email":"ericbombhax@gmail.com","name":"anonymous"}],"keywords":["array","check","glob","is","match","pattern","patterns","read","test","valid","validate"],"dist-tags":{"latest":"1.0.0"},"author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"description":"Return true if a value is a valid glob pattern or patterns.","readme":"# is-valid-glob [![NPM version](https://img.shields.io/npm/v/is-valid-glob.svg?style=flat)](https://www.npmjs.com/package/is-valid-glob) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-valid-glob.svg?style=flat)](https://npmjs.org/package/is-valid-glob) [![NPM total downloads](https://img.shields.io/npm/dt/is-valid-glob.svg?style=flat)](https://npmjs.org/package/is-valid-glob) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-valid-glob.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-valid-glob)\n\n> Return true if a value is a valid glob pattern or patterns.\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/):\n\n```sh\n$ npm install --save is-valid-glob\n```\n\n## Usage\n\nThis really just checks to make sure that a pattern is either a string or array, and if it's an array it's either empty or consists of only strings.\n\n```js\nvar isValidGlob = require('is-valid-glob');\n\nisValidGlob('foo/*.js');\n//=> true\n```\n\n**Valid patterns**\n\n```js\nisValidGlob('a');\nisValidGlob('a.js');\nisValidGlob('*.js');\nisValidGlob(['a', 'b']);\n//=> all true\n```\n\n**Invalid patterns**\n\n```js\nisValidGlob();\nisValidGlob('');\nisValidGlob(null);\nisValidGlob(undefined);\nisValidGlob(new Buffer('foo'));\nisValidGlob(['foo', [[]]]);\nisValidGlob(['foo', [['bar']]]);\nisValidGlob(['foo', {}]);\nisValidGlob({});\nisValidGlob([]);\nisValidGlob(['']);\n//=> all false\n```\n\n## About\n\n### Related projects\n\n* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob \"Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet\")\n* [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | [homepage](https://github.com/micromatch/micromatch \"Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch.\")\n* [vinyl-fs](https://www.npmjs.com/package/vinyl-fs): Vinyl adapter for the file system | [homepage](http://github.com/wearefractal/vinyl-fs \"Vinyl adapter for the file system\")\n* [vinyl](https://www.npmjs.com/package/vinyl): Virtual file format. | [homepage](https://github.com/gulpjs/vinyl#readme \"Virtual file format.\")\n\n### Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).\n\n### Contributors\n\n| **Commits** | **Contributor** | \n| --- | --- |\n| 9 | [jonschlinkert](https://github.com/jonschlinkert) |\n| 2 | [contra](https://github.com/contra) |\n\n### Building docs\n\n_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_\n\nTo generate the readme, run the following command:\n\n```sh\n$ npm install -g verbose/verb#dev verb-generate-readme && verb\n```\n\n### Running tests\n\nRunning and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:\n\n```sh\n$ npm install && npm test\n```\n\n### Author\n\n**Jon Schlinkert**\n\n* [github/jonschlinkert](https://github.com/jonschlinkert)\n* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)\n\n### License\n\nCopyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).\nReleased under the [MIT License](LICENSE).\n\n***\n\n_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on June 21, 2017._","repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-valid-glob.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-valid-glob/issues"},"license":"MIT","versions":{"0.1.0":{"name":"is-valid-glob","description":"Return true if a value is a valid glob pattern.","version":"0.1.0","homepage":"https://github.com/jonschlinkert/is-valid-glob","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-valid-glob.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-valid-glob/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{},"devDependencies":{"mocha":"*"},"keywords":["array","check","glob","match","pattern","patterns","read","test","valid","validate"],"_id":"is-valid-glob@0.1.0","_shasum":"b166fdd9de107d0a1a2d35b3aaebf4b9d75e043e","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"anonymous","email":"github@sellside.com"},"maintainers":[{"name":"anonymous","email":"github@sellside.com"}],"dist":{"shasum":"b166fdd9de107d0a1a2d35b3aaebf4b9d75e043e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/is-valid-glob/-/is-valid-glob-0.1.0.tgz","integrity":"sha512-PVMHyHTY1z3UpbbHEgPf1v95Y8GKojtXUnh/26EPHeq5/U/rntGJiP7ldzC33R4b54TP4zZjf0MzVy0mcJA5/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEI+sJVjNJfaeP5Orvo03a7ypeheRlXA8VzxVjwLR6meAiBNpiEU15J/P17QrEFp3CDFXQGgeccmHa6SdFi0183QCA=="}]},"directories":{}},"0.2.0":{"name":"is-valid-glob","description":"Return true if a value is a valid glob pattern or patterns.","version":"0.2.0","homepage":"https://github.com/jonschlinkert/is-valid-glob","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-valid-glob.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-valid-glob/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"devDependencies":{"mocha":"*"},"keywords":["array","check","glob","match","pattern","patterns","read","test","valid","validate"],"gitHead":"62d59c237ccd4bd34a56d842a401202a04255f35","_id":"is-valid-glob@0.2.0","_shasum":"d7909de7ae0c37190f6db3e4f2c3482397e47b22","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"anonymous","email":"github@sellside.com"},"maintainers":[{"name":"anonymous","email":"github@sellside.com"}],"dist":{"shasum":"d7909de7ae0c37190f6db3e4f2c3482397e47b22","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/is-valid-glob/-/is-valid-glob-0.2.0.tgz","integrity":"sha512-G0PcZ8YpUTWadm56g7PLepN1JVo7II4USxP01/Gr/ShHrkTocHRZAMQF0x+nLf26/+qgEmPtooGLcqZs+nsBtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGohcEqZytmfJmNP+x4PdCuk6/kgpB6jok8p1yt9CtHNAiEA+DyfZkPWmfYBwGJBEe4wqHhIS4/f5nVdItDJ5+skE/4="}]},"directories":{}},"0.3.0":{"name":"is-valid-glob","description":"Return true if a value is a valid glob pattern or patterns.","version":"0.3.0","homepage":"https://github.com/jonschlinkert/is-valid-glob","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-valid-glob.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-valid-glob/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"devDependencies":{"mocha":"*"},"keywords":["array","check","glob","match","pattern","patterns","read","test","valid","validate"],"verb":{"related":{"list":["gulp","vinyl-fs","is-glob","micromatch","braces","fill-range","expand-range","glob-fs"]}},"gitHead":"1db8053be10fcbfbe5e38dd671a7b2660556a8e1","_id":"is-valid-glob@0.3.0","_shasum":"d4b55c69f51886f9b65c70d6c2622d37e29f48fe","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"anonymous","email":"github@sellside.com"},"maintainers":[{"name":"anonymous","email":"github@sellside.com"}],"dist":{"shasum":"d4b55c69f51886f9b65c70d6c2622d37e29f48fe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/is-valid-glob/-/is-valid-glob-0.3.0.tgz","integrity":"sha512-CvG8EtJZ8FyzVOGPzrDorzyN65W1Ld8BVnqshRCah6pFIsprGx3dKgFtjLn/Vw9kGqR4OlR84U7yhT9ZVTyWIQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDR4h+vz/orn8xfoakR+EkFtnLes0JJAgsFGqWsY58AEAIgIul0lztHHOIyPGXUgeTdOjUDdwwzE2xo9EeVS3dHAg8="}]},"directories":{}},"1.0.0":{"name":"is-valid-glob","description":"Return true if a value is a valid glob pattern or patterns.","version":"1.0.0","homepage":"https://github.com/jonschlinkert/is-valid-glob","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"contributors":[{"name":"contra","url":"http://contra.io"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"}],"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-valid-glob.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-valid-glob/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"devDependencies":{"gulp-format-md":"^0.1.12","mocha":"^3.4.2"},"keywords":["array","check","glob","is","match","pattern","patterns","read","test","valid","validate"],"verb":{"related":{"list":["is-glob","micromatch","vinyl-fs","vinyl"]},"toc":false,"layout":"default","tasks":["readme"],"plugins":["gulp-format-md"],"lint":{"reflinks":true}},"gitHead":"3eca5b021e1e21cf5ee120a39373f664cd8c54af","_id":"is-valid-glob@1.0.0","_shasum":"29bf3eff701be2d4d315dbacc39bc39fe8f601aa","_from":".","_npmVersion":"2.15.2","_nodeVersion":"0.10.41","_npmUser":{"name":"anonymous","email":"blaine.bublitz@gmail.com"},"maintainers":[{"name":"anonymous","email":"contra@wearefractal.com"},{"name":"anonymous","email":"brian.woodward@gmail.com"},{"name":"anonymous","email":"github@sellside.com"},{"name":"anonymous","email":"blaine@iceddev.com"}],"dist":{"shasum":"29bf3eff701be2d4d315dbacc39bc39fe8f601aa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/is-valid-glob/-/is-valid-glob-1.0.0.tgz","npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2wGgCRA9TVsSAnZWagAAW7YP+wS2x/sNQqMXcm8ZJ+qS\nJNJKuzNFozKyo2q9vPW4zevZA0NN3MpkSgGwYVIhG9BTuofqaBVYq39Eb8nJ\nZnUQ62xGsxDTGb8VeOZ/QCrNTI7YGC7xbrEw0uTGYHU+7y2KAXe1ZS3dTk6m\nuqO8r23yaCAxFKkPk3sNWemwyOPI6zLmNbk2al7r8dumkrMUkHG45XZ7Bwvw\nt8+7f9MvyObFbh0uhns0RLyk/QSko6FYnklpd6UYtq30NNUCeEVI6w1cC1sc\n+Jf9KClx+ccgt9RND/au3cBaHozOQgwaQU+DE1ULS2TVi8PuGEcQ/423NvcX\n622pAIxN0vhEBTqMBqeFeJyW1vTf9JR7Hmvy48kFLVCk+E9HM0zQBU2siu5m\nTe73p5yD4iWzsxU5ZR25jkuP9JiEWaJArT46QlgOAOe/Dxv5WA6++V5EAtUi\nem+bWB/JAfXnHf3hRjbYo28pszUh3wiSyeQ1/2DlD6enrJq32HCZoip6s9/v\nFopJfmy+Emn4i33u8znLzmSep5NAkJmHdmYvBM+UY4DClMqa/3hctGoCO7Z5\n+DZgPGvDYwRjm+AwWU37HT99TZY5XJxjl6pAS++uXUMou/cdF/sUTTkPNk/U\n/Qdr2D0xTDtnqfXZki2/4flgquXnffnQXq8d2f1c9g0Dnolm23Wva9GeZnsJ\noXND\r\n=Xp/d\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH7G3rZzizwflmYTN+y6qgheDFA2Ctpc3vlmez9zv9xCAiA6uQtP5U3VXZhICSME1o7AsStrjL5r+AVgDGGKK/ZUdw=="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-valid-glob-1.0.0.tgz_1498159936700_0.41157792834565043"},"directories":{}}},"name":"is-valid-glob","time":{"modified":"2022-06-19T02:52:46.398Z","created":"2015-07-01T04:06:29.393Z","0.1.0":"2015-07-01T04:06:29.393Z","0.1.1":"2015-07-07T10:23:18.215Z","0.2.0":"2015-07-08T02:15:02.060Z","0.3.0":"2015-07-11T09:23:18.190Z","1.0.0":"2017-06-22T19:32:17.042Z"},"readmeFilename":"README.md","contributors":[{"name":"contra","url":"http://contra.io"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"}],"homepage":"https://github.com/jonschlinkert/is-valid-glob"}