| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- # is-glob [](http://badge.fury.io/js/is-glob) [](https://travis-ci.org/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 better user experience.
- Also take a look at [is-valid-glob](https://github.com/jonschlinkert/is-valid-glob) and [has-glob](https://github.com/jonschlinkert/has-glob).
- ## Install
- Install with [npm](https://www.npmjs.com/)
- ```sh
- $ npm i is-glob --save
- ```
- ## Usage
- ```js
- var isGlob = require('is-glob');
- ```
- **True**
- Patterns that have glob characters or regex patterns will return `true`:
- ```js
- isGlob('!foo.js');
- isGlob('*.js');
- isGlob('**/abc.js');
- isGlob('abc/*.js');
- isGlob('abc/(aaa|bbb).js');
- isGlob('abc/[a-z].js');
- isGlob('abc/{a,b}.js');
- isGlob('abc/?.js');
- //=> true
- ```
- Extglobs
- ```js
- isGlob('abc/@(a).js');
- isGlob('abc/!(a).js');
- isGlob('abc/+(a).js');
- isGlob('abc/*(a).js');
- isGlob('abc/?(a).js');
- //=> true
- ```
- **False**
- Patterns that do not have glob patterns return `false`:
- ```js
- isGlob('abc.js');
- isGlob('abc/def/ghi.js');
- isGlob('foo.js');
- isGlob('abc/@.js');
- isGlob('abc/+.js');
- isGlob();
- isGlob(null);
- //=> false
- ```
- Arrays are also `false` (If you want to check if an array has a glob pattern, use [has-glob](https://github.com/jonschlinkert/has-glob)):
- ```js
- isGlob(['**/*.js']);
- isGlob(['foo.js']);
- //=> false
- ```
- ## Related
- * [has-glob](https://www.npmjs.com/package/has-glob): Returns `true` if an array has a glob pattern. | [homepage](https://github.com/jonschlinkert/has-glob)
- * [is-extglob](https://www.npmjs.com/package/is-extglob): Returns true if a string has an extglob. | [homepage](https://github.com/jonschlinkert/is-extglob)
- * [is-posix-bracket](https://www.npmjs.com/package/is-posix-bracket): Returns true if the given string is a POSIX bracket expression (POSIX character class). | [homepage](https://github.com/jonschlinkert/is-posix-bracket)
- * [is-valid-glob](https://www.npmjs.com/package/is-valid-glob): Return true if a value is a valid glob pattern or patterns. | [homepage](https://github.com/jonschlinkert/is-valid-glob)
- * [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. Just… [more](https://www.npmjs.com/package/micromatch) | [homepage](https://github.com/jonschlinkert/micromatch)
- ## Run tests
- Install dev dependencies:
- ```sh
- $ npm i -d && npm test
- ```
- ## Contributing
- Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/is-glob/issues/new).
- ## Author
- **Jon Schlinkert**
- + [github/jonschlinkert](https://github.com/jonschlinkert)
- + [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
- ## License
- Copyright © 2015 Jon Schlinkert
- Released under the MIT license.
- ***
- _This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on October 02, 2015._
|