aboutsummaryrefslogtreecommitdiff
path: root/node_modules/anymatch
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/anymatch')
-rw-r--r--node_modules/anymatch/LICENSE15
-rw-r--r--node_modules/anymatch/README.md99
-rw-r--r--node_modules/anymatch/index.js67
-rw-r--r--node_modules/anymatch/package.json76
4 files changed, 257 insertions, 0 deletions
diff --git a/node_modules/anymatch/LICENSE b/node_modules/anymatch/LICENSE
new file mode 100644
index 0000000..bc42470
--- /dev/null
+++ b/node_modules/anymatch/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) 2014 Elan Shanker
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/anymatch/README.md b/node_modules/anymatch/README.md
new file mode 100644
index 0000000..f674f40
--- /dev/null
+++ b/node_modules/anymatch/README.md
@@ -0,0 +1,99 @@
+anymatch [![Build Status](https://travis-ci.org/micromatch/anymatch.svg?branch=master)](https://travis-ci.org/micromatch/anymatch) [![Coverage Status](https://img.shields.io/coveralls/micromatch/anymatch.svg?branch=master)](https://coveralls.io/r/micromatch/anymatch?branch=master)
+======
+Javascript module to match a string against a regular expression, glob, string,
+or function that takes the string as an argument and returns a truthy or falsy
+value. The matcher can also be an array of any or all of these. Useful for
+allowing a very flexible user-defined config to define things like file paths.
+
+__Note: This module has Bash-parity, please be aware that Windows-style backslashes are not supported as separators. See https://github.com/micromatch/micromatch#backslashes for more information.__
+
+[![NPM](https://nodei.co/npm/anymatch.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/anymatch/)
+[![NPM](https://nodei.co/npm-dl/anymatch.png?height=3&months=9)](https://nodei.co/npm-dl/anymatch/)
+
+Usage
+-----
+```sh
+npm install anymatch --save
+```
+
+#### anymatch (matchers, testString, [returnIndex], [startIndex], [endIndex])
+* __matchers__: (_Array|String|RegExp|Function_)
+String to be directly matched, string with glob patterns, regular expression
+test, function that takes the testString as an argument and returns a truthy
+value if it should be matched, or an array of any number and mix of these types.
+* __testString__: (_String|Array_) The string to test against the matchers. If
+passed as an array, the first element of the array will be used as the
+`testString` for non-function matchers, while the entire array will be applied
+as the arguments for function matchers.
+* __returnIndex__: (_Boolean [optional]_) If true, return the array index of
+the first matcher that that testString matched, or -1 if no match, instead of a
+boolean result.
+* __startIndex, endIndex__: (_Integer [optional]_) Can be used to define a
+subset out of the array of provided matchers to test against. Can be useful
+with bound matcher functions (see below). When used with `returnIndex = true`
+preserves original indexing. Behaves the same as `Array.prototype.slice` (i.e.
+includes array members up to, but not including endIndex).
+
+```js
+var anymatch = require('anymatch');
+
+var matchers = [
+ 'path/to/file.js',
+ 'path/anyjs/**/*.js',
+ /foo\.js$/,
+ function (string) {
+ return string.indexOf('bar') !== -1 && string.length > 10
+ }
+];
+
+anymatch(matchers, 'path/to/file.js'); // true
+anymatch(matchers, 'path/anyjs/baz.js'); // true
+anymatch(matchers, 'path/to/foo.js'); // true
+anymatch(matchers, 'path/to/bar.js'); // true
+anymatch(matchers, 'bar.js'); // false
+
+// returnIndex = true
+anymatch(matchers, 'foo.js', true); // 2
+anymatch(matchers, 'path/anyjs/foo.js', true); // 1
+
+// skip matchers
+anymatch(matchers, 'path/to/file.js', false, 1); // false
+anymatch(matchers, 'path/anyjs/foo.js', true, 2, 3); // 2
+anymatch(matchers, 'path/to/bar.js', true, 0, 3); // -1
+
+// using globs to match directories and their children
+anymatch('node_modules', 'node_modules'); // true
+anymatch('node_modules', 'node_modules/somelib/index.js'); // false
+anymatch('node_modules/**', 'node_modules/somelib/index.js'); // true
+anymatch('node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // false
+anymatch('**/node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // true
+```
+
+#### anymatch (matchers)
+You can also pass in only your matcher(s) to get a curried function that has
+already been bound to the provided matching criteria. This can be used as an
+`Array.prototype.filter` callback.
+
+```js
+var matcher = anymatch(matchers);
+
+matcher('path/to/file.js'); // true
+matcher('path/anyjs/baz.js', true); // 1
+matcher('path/anyjs/baz.js', true, 2); // -1
+
+['foo.js', 'bar.js'].filter(matcher); // ['foo.js']
+```
+
+Change Log
+----------
+[See release notes page on GitHub](https://github.com/micromatch/anymatch/releases)
+
+NOTE: As of v2.0.0, [micromatch](https://github.com/jonschlinkert/micromatch) moves away from minimatch-parity and inline with Bash. This includes handling backslashes differently (see https://github.com/micromatch/micromatch#backslashes for more information).
+
+NOTE: As of v1.2.0, anymatch uses [micromatch](https://github.com/jonschlinkert/micromatch)
+for glob pattern matching. Issues with glob pattern matching should be
+reported directly to the [micromatch issue tracker](https://github.com/jonschlinkert/micromatch/issues).
+
+License
+-------
+[ISC](https://raw.github.com/micromatch/anymatch/master/LICENSE)
diff --git a/node_modules/anymatch/index.js b/node_modules/anymatch/index.js
new file mode 100644
index 0000000..e411618
--- /dev/null
+++ b/node_modules/anymatch/index.js
@@ -0,0 +1,67 @@
+'use strict';
+
+var micromatch = require('micromatch');
+var normalize = require('normalize-path');
+var path = require('path'); // required for tests.
+var arrify = function(a) { return a == null ? [] : (Array.isArray(a) ? a : [a]); };
+
+var anymatch = function(criteria, value, returnIndex, startIndex, endIndex) {
+ criteria = arrify(criteria);
+ value = arrify(value);
+ if (arguments.length === 1) {
+ return anymatch.bind(null, criteria.map(function(criterion) {
+ return typeof criterion === 'string' && criterion[0] !== '!' ?
+ micromatch.matcher(criterion) : criterion;
+ }));
+ }
+ startIndex = startIndex || 0;
+ var string = value[0];
+ var altString, altValue;
+ var matched = false;
+ var matchIndex = -1;
+ function testCriteria(criterion, index) {
+ var result;
+ switch (Object.prototype.toString.call(criterion)) {
+ case '[object String]':
+ result = string === criterion || altString && altString === criterion;
+ result = result || micromatch.isMatch(string, criterion);
+ break;
+ case '[object RegExp]':
+ result = criterion.test(string) || altString && criterion.test(altString);
+ break;
+ case '[object Function]':
+ result = criterion.apply(null, value);
+ result = result || altValue && criterion.apply(null, altValue);
+ break;
+ default:
+ result = false;
+ }
+ if (result) {
+ matchIndex = index + startIndex;
+ }
+ return result;
+ }
+ var crit = criteria;
+ var negGlobs = crit.reduce(function(arr, criterion, index) {
+ if (typeof criterion === 'string' && criterion[0] === '!') {
+ if (crit === criteria) {
+ // make a copy before modifying
+ crit = crit.slice();
+ }
+ crit[index] = null;
+ arr.push(criterion.substr(1));
+ }
+ return arr;
+ }, []);
+ if (!negGlobs.length || !micromatch.any(string, negGlobs)) {
+ if (path.sep === '\\' && typeof string === 'string') {
+ altString = normalize(string);
+ altString = altString === string ? null : altString;
+ if (altString) altValue = [altString].concat(value.slice(1));
+ }
+ matched = crit.slice(startIndex, endIndex).some(testCriteria);
+ }
+ return returnIndex === true ? matchIndex : matched;
+};
+
+module.exports = anymatch;
diff --git a/node_modules/anymatch/package.json b/node_modules/anymatch/package.json
new file mode 100644
index 0000000..d907a01
--- /dev/null
+++ b/node_modules/anymatch/package.json
@@ -0,0 +1,76 @@
+{
+ "_args": [
+ [
+ "anymatch@2.0.0",
+ "/home/dstaesse/git/website"
+ ]
+ ],
+ "_development": true,
+ "_from": "anymatch@2.0.0",
+ "_id": "anymatch@2.0.0",
+ "_inBundle": false,
+ "_integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "_location": "/anymatch",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "anymatch@2.0.0",
+ "name": "anymatch",
+ "escapedName": "anymatch",
+ "rawSpec": "2.0.0",
+ "saveSpec": null,
+ "fetchSpec": "2.0.0"
+ },
+ "_requiredBy": [
+ "/chokidar"
+ ],
+ "_resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "_spec": "2.0.0",
+ "_where": "/home/dstaesse/git/website",
+ "author": {
+ "name": "Elan Shanker",
+ "url": "http://github.com/es128"
+ },
+ "bugs": {
+ "url": "https://github.com/micromatch/anymatch/issues"
+ },
+ "dependencies": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ },
+ "description": "Matches strings against configurable strings, globs, regular expressions, and/or functions",
+ "devDependencies": {
+ "coveralls": "^2.7.0",
+ "istanbul": "^0.4.5",
+ "mocha": "^3.0.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/micromatch/anymatch",
+ "keywords": [
+ "match",
+ "any",
+ "string",
+ "file",
+ "fs",
+ "list",
+ "glob",
+ "regex",
+ "regexp",
+ "regular",
+ "expression",
+ "function"
+ ],
+ "license": "ISC",
+ "name": "anymatch",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/micromatch/anymatch.git"
+ },
+ "scripts": {
+ "test": "istanbul cover _mocha && cat ./coverage/lcov.info | coveralls"
+ },
+ "version": "2.0.0"
+}