You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2016/08/01 22:22:37 UTC

[18/61] [abbrv] [partial] cordova-create git commit: gitignore node modules

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/node_modules/minimatch/README.md
----------------------------------------------------------------------
diff --git a/node_modules/glob/node_modules/minimatch/README.md b/node_modules/glob/node_modules/minimatch/README.md
deleted file mode 100644
index 5b3967e..0000000
--- a/node_modules/glob/node_modules/minimatch/README.md
+++ /dev/null
@@ -1,218 +0,0 @@
-# minimatch
-
-A minimal matching utility.
-
-[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)
-
-
-This is the matching library used internally by npm.
-
-Eventually, it will replace the C binding in node-glob.
-
-It works by converting glob expressions into JavaScript `RegExp`
-objects.
-
-## Usage
-
-```javascript
-var minimatch = require("minimatch")
-
-minimatch("bar.foo", "*.foo") // true!
-minimatch("bar.foo", "*.bar") // false!
-minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!
-```
-
-## Features
-
-Supports these glob features:
-
-* Brace Expansion
-* Extended glob matching
-* "Globstar" `**` matching
-
-See:
-
-* `man sh`
-* `man bash`
-* `man 3 fnmatch`
-* `man 5 gitignore`
-
-## Minimatch Class
-
-Create a minimatch object by instanting the `minimatch.Minimatch` class.
-
-```javascript
-var Minimatch = require("minimatch").Minimatch
-var mm = new Minimatch(pattern, options)
-```
-
-### Properties
-
-* `pattern` The original pattern the minimatch object represents.
-* `options` The options supplied to the constructor.
-* `set` A 2-dimensional array of regexp or string expressions.
-  Each row in the
-  array corresponds to a brace-expanded pattern.  Each item in the row
-  corresponds to a single path-part.  For example, the pattern
-  `{a,b/c}/d` would expand to a set of patterns like:
-
-        [ [ a, d ]
-        , [ b, c, d ] ]
-
-    If a portion of the pattern doesn't have any "magic" in it
-    (that is, it's something like `"foo"` rather than `fo*o?`), then it
-    will be left as a string rather than converted to a regular
-    expression.
-
-* `regexp` Created by the `makeRe` method.  A single regular expression
-  expressing the entire pattern.  This is useful in cases where you wish
-  to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.
-* `negate` True if the pattern is negated.
-* `comment` True if the pattern is a comment.
-* `empty` True if the pattern is `""`.
-
-### Methods
-
-* `makeRe` Generate the `regexp` member if necessary, and return it.
-  Will return `false` if the pattern is invalid.
-* `match(fname)` Return true if the filename matches the pattern, or
-  false otherwise.
-* `matchOne(fileArray, patternArray, partial)` Take a `/`-split
-  filename, and match it against a single row in the `regExpSet`.  This
-  method is mainly for internal use, but is exposed so that it can be
-  used by a glob-walker that needs to avoid excessive filesystem calls.
-
-All other methods are internal, and will be called as necessary.
-
-## Functions
-
-The top-level exported function has a `cache` property, which is an LRU
-cache set to store 100 items.  So, calling these methods repeatedly
-with the same pattern and options will use the same Minimatch object,
-saving the cost of parsing it multiple times.
-
-### minimatch(path, pattern, options)
-
-Main export.  Tests a path against the pattern using the options.
-
-```javascript
-var isJS = minimatch(file, "*.js", { matchBase: true })
-```
-
-### minimatch.filter(pattern, options)
-
-Returns a function that tests its
-supplied argument, suitable for use with `Array.filter`.  Example:
-
-```javascript
-var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))
-```
-
-### minimatch.match(list, pattern, options)
-
-Match against the list of
-files, in the style of fnmatch or glob.  If nothing is matched, and
-options.nonull is set, then return a list containing the pattern itself.
-
-```javascript
-var javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))
-```
-
-### minimatch.makeRe(pattern, options)
-
-Make a regular expression object from the pattern.
-
-## Options
-
-All options are `false` by default.
-
-### debug
-
-Dump a ton of stuff to stderr.
-
-### nobrace
-
-Do not expand `{a,b}` and `{1..3}` brace sets.
-
-### noglobstar
-
-Disable `**` matching against multiple folder names.
-
-### dot
-
-Allow patterns to match filenames starting with a period, even if
-the pattern does not explicitly have a period in that spot.
-
-Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`
-is set.
-
-### noext
-
-Disable "extglob" style patterns like `+(a|b)`.
-
-### nocase
-
-Perform a case-insensitive match.
-
-### nonull
-
-When a match is not found by `minimatch.match`, return a list containing
-the pattern itself if this option is set.  When not set, an empty list
-is returned if there are no matches.
-
-### matchBase
-
-If set, then patterns without slashes will be matched
-against the basename of the path if it contains slashes.  For example,
-`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.
-
-### nocomment
-
-Suppress the behavior of treating `#` at the start of a pattern as a
-comment.
-
-### nonegate
-
-Suppress the behavior of treating a leading `!` character as negation.
-
-### flipNegate
-
-Returns from negate expressions the same as if they were not negated.
-(Ie, true on a hit, false on a miss.)
-
-
-## Comparisons to other fnmatch/glob implementations
-
-While strict compliance with the existing standards is a worthwhile
-goal, some discrepancies exist between minimatch and other
-implementations, and are intentional.
-
-If the pattern starts with a `!` character, then it is negated.  Set the
-`nonegate` flag to suppress this behavior, and treat leading `!`
-characters normally.  This is perhaps relevant if you wish to start the
-pattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`
-characters at the start of a pattern will negate the pattern multiple
-times.
-
-If a pattern starts with `#`, then it is treated as a comment, and
-will not match anything.  Use `\#` to match a literal `#` at the
-start of a line, or set the `nocomment` flag to suppress this behavior.
-
-The double-star character `**` is supported by default, unless the
-`noglobstar` flag is set.  This is supported in the manner of bsdglob
-and bash 4.1, where `**` only has special significance if it is the only
-thing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but
-`a/**b` will not.
-
-If an escaped pattern has no matches, and the `nonull` flag is set,
-then minimatch.match returns the pattern as-provided, rather than
-interpreting the character escapes.  For example,
-`minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than
-`"*a?"`.  This is akin to setting the `nullglob` option in bash, except
-that it does not resolve escaped pattern characters.
-
-If brace expansion is not disabled, then it is performed before any
-other interpretation of the glob pattern.  Thus, a pattern like
-`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded
-**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are
-checked for validity.  Since those two are valid, matching proceeds.

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/node_modules/minimatch/minimatch.js
----------------------------------------------------------------------
diff --git a/node_modules/glob/node_modules/minimatch/minimatch.js b/node_modules/glob/node_modules/minimatch/minimatch.js
deleted file mode 100644
index 4539678..0000000
--- a/node_modules/glob/node_modules/minimatch/minimatch.js
+++ /dev/null
@@ -1,1061 +0,0 @@
-;(function (require, exports, module, platform) {
-
-if (module) module.exports = minimatch
-else exports.minimatch = minimatch
-
-if (!require) {
-  require = function (id) {
-    switch (id) {
-      case "sigmund": return function sigmund (obj) {
-        return JSON.stringify(obj)
-      }
-      case "path": return { basename: function (f) {
-        f = f.split(/[\/\\]/)
-        var e = f.pop()
-        if (!e) e = f.pop()
-        return e
-      }}
-      case "lru-cache": return function LRUCache () {
-        // not quite an LRU, but still space-limited.
-        var cache = {}
-        var cnt = 0
-        this.set = function (k, v) {
-          cnt ++
-          if (cnt >= 100) cache = {}
-          cache[k] = v
-        }
-        this.get = function (k) { return cache[k] }
-      }
-    }
-  }
-}
-
-minimatch.Minimatch = Minimatch
-
-var LRU = require("lru-cache")
-  , cache = minimatch.cache = new LRU({max: 100})
-  , GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
-  , sigmund = require("sigmund")
-
-var path = require("path")
-  // any single thing other than /
-  // don't need to escape / when using new RegExp()
-  , qmark = "[^/]"
-
-  // * => any number of characters
-  , star = qmark + "*?"
-
-  // ** when dots are allowed.  Anything goes, except .. and .
-  // not (^ or / followed by one or two dots followed by $ or /),
-  // followed by anything, any number of times.
-  , twoStarDot = "(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?"
-
-  // not a ^ or / followed by a dot,
-  // followed by anything, any number of times.
-  , twoStarNoDot = "(?:(?!(?:\\\/|^)\\.).)*?"
-
-  // characters that need to be escaped in RegExp.
-  , reSpecials = charSet("().*{}+?[]^$\\!")
-
-// "abc" -> { a:true, b:true, c:true }
-function charSet (s) {
-  return s.split("").reduce(function (set, c) {
-    set[c] = true
-    return set
-  }, {})
-}
-
-// normalizes slashes.
-var slashSplit = /\/+/
-
-minimatch.filter = filter
-function filter (pattern, options) {
-  options = options || {}
-  return function (p, i, list) {
-    return minimatch(p, pattern, options)
-  }
-}
-
-function ext (a, b) {
-  a = a || {}
-  b = b || {}
-  var t = {}
-  Object.keys(b).forEach(function (k) {
-    t[k] = b[k]
-  })
-  Object.keys(a).forEach(function (k) {
-    t[k] = a[k]
-  })
-  return t
-}
-
-minimatch.defaults = function (def) {
-  if (!def || !Object.keys(def).length) return minimatch
-
-  var orig = minimatch
-
-  var m = function minimatch (p, pattern, options) {
-    return orig.minimatch(p, pattern, ext(def, options))
-  }
-
-  m.Minimatch = function Minimatch (pattern, options) {
-    return new orig.Minimatch(pattern, ext(def, options))
-  }
-
-  return m
-}
-
-Minimatch.defaults = function (def) {
-  if (!def || !Object.keys(def).length) return Minimatch
-  return minimatch.defaults(def).Minimatch
-}
-
-
-function minimatch (p, pattern, options) {
-  if (typeof pattern !== "string") {
-    throw new TypeError("glob pattern string required")
-  }
-
-  if (!options) options = {}
-
-  // shortcut: comments match nothing.
-  if (!options.nocomment && pattern.charAt(0) === "#") {
-    return false
-  }
-
-  // "" only matches ""
-  if (pattern.trim() === "") return p === ""
-
-  return new Minimatch(pattern, options).match(p)
-}
-
-function Minimatch (pattern, options) {
-  if (!(this instanceof Minimatch)) {
-    return new Minimatch(pattern, options, cache)
-  }
-
-  if (typeof pattern !== "string") {
-    throw new TypeError("glob pattern string required")
-  }
-
-  if (!options) options = {}
-  pattern = pattern.trim()
-
-  // windows: need to use /, not \
-  // On other platforms, \ is a valid (albeit bad) filename char.
-  if (platform === "win32") {
-    pattern = pattern.split("\\").join("/")
-  }
-
-  // lru storage.
-  // these things aren't particularly big, but walking down the string
-  // and turning it into a regexp can get pretty costly.
-  var cacheKey = pattern + "\n" + sigmund(options)
-  var cached = minimatch.cache.get(cacheKey)
-  if (cached) return cached
-  minimatch.cache.set(cacheKey, this)
-
-  this.options = options
-  this.set = []
-  this.pattern = pattern
-  this.regexp = null
-  this.negate = false
-  this.comment = false
-  this.empty = false
-
-  // make the set of regexps etc.
-  this.make()
-}
-
-Minimatch.prototype.debug = function() {}
-
-Minimatch.prototype.make = make
-function make () {
-  // don't do it more than once.
-  if (this._made) return
-
-  var pattern = this.pattern
-  var options = this.options
-
-  // empty patterns and comments match nothing.
-  if (!options.nocomment && pattern.charAt(0) === "#") {
-    this.comment = true
-    return
-  }
-  if (!pattern) {
-    this.empty = true
-    return
-  }
-
-  // step 1: figure out negation, etc.
-  this.parseNegate()
-
-  // step 2: expand braces
-  var set = this.globSet = this.braceExpand()
-
-  if (options.debug) this.debug = console.error
-
-  this.debug(this.pattern, set)
-
-  // step 3: now we have a set, so turn each one into a series of path-portion
-  // matching patterns.
-  // These will be regexps, except in the case of "**", which is
-  // set to the GLOBSTAR object for globstar behavior,
-  // and will not contain any / characters
-  set = this.globParts = set.map(function (s) {
-    return s.split(slashSplit)
-  })
-
-  this.debug(this.pattern, set)
-
-  // glob --> regexps
-  set = set.map(function (s, si, set) {
-    return s.map(this.parse, this)
-  }, this)
-
-  this.debug(this.pattern, set)
-
-  // filter out everything that didn't compile properly.
-  set = set.filter(function (s) {
-    return -1 === s.indexOf(false)
-  })
-
-  this.debug(this.pattern, set)
-
-  this.set = set
-}
-
-Minimatch.prototype.parseNegate = parseNegate
-function parseNegate () {
-  var pattern = this.pattern
-    , negate = false
-    , options = this.options
-    , negateOffset = 0
-
-  if (options.nonegate) return
-
-  for ( var i = 0, l = pattern.length
-      ; i < l && pattern.charAt(i) === "!"
-      ; i ++) {
-    negate = !negate
-    negateOffset ++
-  }
-
-  if (negateOffset) this.pattern = pattern.substr(negateOffset)
-  this.negate = negate
-}
-
-// Brace expansion:
-// a{b,c}d -> abd acd
-// a{b,}c -> abc ac
-// a{0..3}d -> a0d a1d a2d a3d
-// a{b,c{d,e}f}g -> abg acdfg acefg
-// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
-//
-// Invalid sets are not expanded.
-// a{2..}b -> a{2..}b
-// a{b}c -> a{b}c
-minimatch.braceExpand = function (pattern, options) {
-  return new Minimatch(pattern, options).braceExpand()
-}
-
-Minimatch.prototype.braceExpand = braceExpand
-function braceExpand (pattern, options) {
-  options = options || this.options
-  pattern = typeof pattern === "undefined"
-    ? this.pattern : pattern
-
-  if (typeof pattern === "undefined") {
-    throw new Error("undefined pattern")
-  }
-
-  if (options.nobrace ||
-      !pattern.match(/\{.*\}/)) {
-    // shortcut. no need to expand.
-    return [pattern]
-  }
-
-  var escaping = false
-
-  // examples and comments refer to this crazy pattern:
-  // a{b,c{d,e},{f,g}h}x{y,z}
-  // expected:
-  // abxy
-  // abxz
-  // acdxy
-  // acdxz
-  // acexy
-  // acexz
-  // afhxy
-  // afhxz
-  // aghxy
-  // aghxz
-
-  // everything before the first \{ is just a prefix.
-  // So, we pluck that off, and work with the rest,
-  // and then prepend it to everything we find.
-  if (pattern.charAt(0) !== "{") {
-    this.debug(pattern)
-    var prefix = null
-    for (var i = 0, l = pattern.length; i < l; i ++) {
-      var c = pattern.charAt(i)
-      this.debug(i, c)
-      if (c === "\\") {
-        escaping = !escaping
-      } else if (c === "{" && !escaping) {
-        prefix = pattern.substr(0, i)
-        break
-      }
-    }
-
-    // actually no sets, all { were escaped.
-    if (prefix === null) {
-      this.debug("no sets")
-      return [pattern]
-    }
-
-   var tail = braceExpand.call(this, pattern.substr(i), options)
-    return tail.map(function (t) {
-      return prefix + t
-    })
-  }
-
-  // now we have something like:
-  // {b,c{d,e},{f,g}h}x{y,z}
-  // walk through the set, expanding each part, until
-  // the set ends.  then, we'll expand the suffix.
-  // If the set only has a single member, then'll put the {} back
-
-  // first, handle numeric sets, since they're easier
-  var numset = pattern.match(/^\{(-?[0-9]+)\.\.(-?[0-9]+)\}/)
-  if (numset) {
-    this.debug("numset", numset[1], numset[2])
-    var suf = braceExpand.call(this, pattern.substr(numset[0].length), options)
-      , start = +numset[1]
-      , end = +numset[2]
-      , inc = start > end ? -1 : 1
-      , set = []
-    for (var i = start; i != (end + inc); i += inc) {
-      // append all the suffixes
-      for (var ii = 0, ll = suf.length; ii < ll; ii ++) {
-        set.push(i + suf[ii])
-      }
-    }
-    return set
-  }
-
-  // ok, walk through the set
-  // We hope, somewhat optimistically, that there
-  // will be a } at the end.
-  // If the closing brace isn't found, then the pattern is
-  // interpreted as braceExpand("\\" + pattern) so that
-  // the leading \{ will be interpreted literally.
-  var i = 1 // skip the \{
-    , depth = 1
-    , set = []
-    , member = ""
-    , sawEnd = false
-    , escaping = false
-
-  function addMember () {
-    set.push(member)
-    member = ""
-  }
-
-  this.debug("Entering for")
-  FOR: for (i = 1, l = pattern.length; i < l; i ++) {
-    var c = pattern.charAt(i)
-    this.debug("", i, c)
-
-    if (escaping) {
-      escaping = false
-      member += "\\" + c
-    } else {
-      switch (c) {
-        case "\\":
-          escaping = true
-          continue
-
-        case "{":
-          depth ++
-          member += "{"
-          continue
-
-        case "}":
-          depth --
-          // if this closes the actual set, then we're done
-          if (depth === 0) {
-            addMember()
-            // pluck off the close-brace
-            i ++
-            break FOR
-          } else {
-            member += c
-            continue
-          }
-
-        case ",":
-          if (depth === 1) {
-            addMember()
-          } else {
-            member += c
-          }
-          continue
-
-        default:
-          member += c
-          continue
-      } // switch
-    } // else
-  } // for
-
-  // now we've either finished the set, and the suffix is
-  // pattern.substr(i), or we have *not* closed the set,
-  // and need to escape the leading brace
-  if (depth !== 0) {
-    this.debug("didn't close", pattern)
-    return braceExpand.call(this, "\\" + pattern, options)
-  }
-
-  // x{y,z} -> ["xy", "xz"]
-  this.debug("set", set)
-  this.debug("suffix", pattern.substr(i))
-  var suf = braceExpand.call(this, pattern.substr(i), options)
-  // ["b", "c{d,e}","{f,g}h"] ->
-  //   [["b"], ["cd", "ce"], ["fh", "gh"]]
-  var addBraces = set.length === 1
-  this.debug("set pre-expanded", set)
-  set = set.map(function (p) {
-    return braceExpand.call(this, p, options)
-  }, this)
-  this.debug("set expanded", set)
-
-
-  // [["b"], ["cd", "ce"], ["fh", "gh"]] ->
-  //   ["b", "cd", "ce", "fh", "gh"]
-  set = set.reduce(function (l, r) {
-    return l.concat(r)
-  })
-
-  if (addBraces) {
-    set = set.map(function (s) {
-      return "{" + s + "}"
-    })
-  }
-
-  // now attach the suffixes.
-  var ret = []
-  for (var i = 0, l = set.length; i < l; i ++) {
-    for (var ii = 0, ll = suf.length; ii < ll; ii ++) {
-      ret.push(set[i] + suf[ii])
-    }
-  }
-  return ret
-}
-
-// parse a component of the expanded set.
-// At this point, no pattern may contain "/" in it
-// so we're going to return a 2d array, where each entry is the full
-// pattern, split on '/', and then turned into a regular expression.
-// A regexp is made at the end which joins each array with an
-// escaped /, and another full one which joins each regexp with |.
-//
-// Following the lead of Bash 4.1, note that "**" only has special meaning
-// when it is the *only* thing in a path portion.  Otherwise, any series
-// of * is equivalent to a single *.  Globstar behavior is enabled by
-// default, and can be disabled by setting options.noglobstar.
-Minimatch.prototype.parse = parse
-var SUBPARSE = {}
-function parse (pattern, isSub) {
-  var options = this.options
-
-  // shortcuts
-  if (!options.noglobstar && pattern === "**") return GLOBSTAR
-  if (pattern === "") return ""
-
-  var re = ""
-    , hasMagic = !!options.nocase
-    , escaping = false
-    // ? => one single character
-    , patternListStack = []
-    , plType
-    , stateChar
-    , inClass = false
-    , reClassStart = -1
-    , classStart = -1
-    // . and .. never match anything that doesn't start with .,
-    // even when options.dot is set.
-    , patternStart = pattern.charAt(0) === "." ? "" // anything
-      // not (start or / followed by . or .. followed by / or end)
-      : options.dot ? "(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))"
-      : "(?!\\.)"
-    , self = this
-
-  function clearStateChar () {
-    if (stateChar) {
-      // we had some state-tracking character
-      // that wasn't consumed by this pass.
-      switch (stateChar) {
-        case "*":
-          re += star
-          hasMagic = true
-          break
-        case "?":
-          re += qmark
-          hasMagic = true
-          break
-        default:
-          re += "\\"+stateChar
-          break
-      }
-      self.debug('clearStateChar %j %j', stateChar, re)
-      stateChar = false
-    }
-  }
-
-  for ( var i = 0, len = pattern.length, c
-      ; (i < len) && (c = pattern.charAt(i))
-      ; i ++ ) {
-
-    this.debug("%s\t%s %s %j", pattern, i, re, c)
-
-    // skip over any that are escaped.
-    if (escaping && reSpecials[c]) {
-      re += "\\" + c
-      escaping = false
-      continue
-    }
-
-    SWITCH: switch (c) {
-      case "/":
-        // completely not allowed, even escaped.
-        // Should already be path-split by now.
-        return false
-
-      case "\\":
-        clearStateChar()
-        escaping = true
-        continue
-
-      // the various stateChar values
-      // for the "extglob" stuff.
-      case "?":
-      case "*":
-      case "+":
-      case "@":
-      case "!":
-        this.debug("%s\t%s %s %j <-- stateChar", pattern, i, re, c)
-
-        // all of those are literals inside a class, except that
-        // the glob [!a] means [^a] in regexp
-        if (inClass) {
-          this.debug('  in class')
-          if (c === "!" && i === classStart + 1) c = "^"
-          re += c
-          continue
-        }
-
-        // if we already have a stateChar, then it means
-        // that there was something like ** or +? in there.
-        // Handle the stateChar, then proceed with this one.
-        self.debug('call clearStateChar %j', stateChar)
-        clearStateChar()
-        stateChar = c
-        // if extglob is disabled, then +(asdf|foo) isn't a thing.
-        // just clear the statechar *now*, rather than even diving into
-        // the patternList stuff.
-        if (options.noext) clearStateChar()
-        continue
-
-      case "(":
-        if (inClass) {
-          re += "("
-          continue
-        }
-
-        if (!stateChar) {
-          re += "\\("
-          continue
-        }
-
-        plType = stateChar
-        patternListStack.push({ type: plType
-                              , start: i - 1
-                              , reStart: re.length })
-        // negation is (?:(?!js)[^/]*)
-        re += stateChar === "!" ? "(?:(?!" : "(?:"
-        this.debug('plType %j %j', stateChar, re)
-        stateChar = false
-        continue
-
-      case ")":
-        if (inClass || !patternListStack.length) {
-          re += "\\)"
-          continue
-        }
-
-        clearStateChar()
-        hasMagic = true
-        re += ")"
-        plType = patternListStack.pop().type
-        // negation is (?:(?!js)[^/]*)
-        // The others are (?:<pattern>)<type>
-        switch (plType) {
-          case "!":
-            re += "[^/]*?)"
-            break
-          case "?":
-          case "+":
-          case "*": re += plType
-          case "@": break // the default anyway
-        }
-        continue
-
-      case "|":
-        if (inClass || !patternListStack.length || escaping) {
-          re += "\\|"
-          escaping = false
-          continue
-        }
-
-        clearStateChar()
-        re += "|"
-        continue
-
-      // these are mostly the same in regexp and glob
-      case "[":
-        // swallow any state-tracking char before the [
-        clearStateChar()
-
-        if (inClass) {
-          re += "\\" + c
-          continue
-        }
-
-        inClass = true
-        classStart = i
-        reClassStart = re.length
-        re += c
-        continue
-
-      case "]":
-        //  a right bracket shall lose its special
-        //  meaning and represent itself in
-        //  a bracket expression if it occurs
-        //  first in the list.  -- POSIX.2 2.8.3.2
-        if (i === classStart + 1 || !inClass) {
-          re += "\\" + c
-          escaping = false
-          continue
-        }
-
-        // finish up the class.
-        hasMagic = true
-        inClass = false
-        re += c
-        continue
-
-      default:
-        // swallow any state char that wasn't consumed
-        clearStateChar()
-
-        if (escaping) {
-          // no need
-          escaping = false
-        } else if (reSpecials[c]
-                   && !(c === "^" && inClass)) {
-          re += "\\"
-        }
-
-        re += c
-
-    } // switch
-  } // for
-
-
-  // handle the case where we left a class open.
-  // "[abc" is valid, equivalent to "\[abc"
-  if (inClass) {
-    // split where the last [ was, and escape it
-    // this is a huge pita.  We now have to re-walk
-    // the contents of the would-be class to re-translate
-    // any characters that were passed through as-is
-    var cs = pattern.substr(classStart + 1)
-      , sp = this.parse(cs, SUBPARSE)
-    re = re.substr(0, reClassStart) + "\\[" + sp[0]
-    hasMagic = hasMagic || sp[1]
-  }
-
-  // handle the case where we had a +( thing at the *end*
-  // of the pattern.
-  // each pattern list stack adds 3 chars, and we need to go through
-  // and escape any | chars that were passed through as-is for the regexp.
-  // Go through and escape them, taking care not to double-escape any
-  // | chars that were already escaped.
-  var pl
-  while (pl = patternListStack.pop()) {
-    var tail = re.slice(pl.reStart + 3)
-    // maybe some even number of \, then maybe 1 \, followed by a |
-    tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function (_, $1, $2) {
-      if (!$2) {
-        // the | isn't already escaped, so escape it.
-        $2 = "\\"
-      }
-
-      // need to escape all those slashes *again*, without escaping the
-      // one that we need for escaping the | character.  As it works out,
-      // escaping an even number of slashes can be done by simply repeating
-      // it exactly after itself.  That's why this trick works.
-      //
-      // I am sorry that you have to see this.
-      return $1 + $1 + $2 + "|"
-    })
-
-    this.debug("tail=%j\n   %s", tail, tail)
-    var t = pl.type === "*" ? star
-          : pl.type === "?" ? qmark
-          : "\\" + pl.type
-
-    hasMagic = true
-    re = re.slice(0, pl.reStart)
-       + t + "\\("
-       + tail
-  }
-
-  // handle trailing things that only matter at the very end.
-  clearStateChar()
-  if (escaping) {
-    // trailing \\
-    re += "\\\\"
-  }
-
-  // only need to apply the nodot start if the re starts with
-  // something that could conceivably capture a dot
-  var addPatternStart = false
-  switch (re.charAt(0)) {
-    case ".":
-    case "[":
-    case "(": addPatternStart = true
-  }
-
-  // if the re is not "" at this point, then we need to make sure
-  // it doesn't match against an empty path part.
-  // Otherwise a/* will match a/, which it should not.
-  if (re !== "" && hasMagic) re = "(?=.)" + re
-
-  if (addPatternStart) re = patternStart + re
-
-  // parsing just a piece of a larger pattern.
-  if (isSub === SUBPARSE) {
-    return [ re, hasMagic ]
-  }
-
-  // skip the regexp for non-magical patterns
-  // unescape anything in it, though, so that it'll be
-  // an exact match against a file etc.
-  if (!hasMagic) {
-    return globUnescape(pattern)
-  }
-
-  var flags = options.nocase ? "i" : ""
-    , regExp = new RegExp("^" + re + "$", flags)
-
-  regExp._glob = pattern
-  regExp._src = re
-
-  return regExp
-}
-
-minimatch.makeRe = function (pattern, options) {
-  return new Minimatch(pattern, options || {}).makeRe()
-}
-
-Minimatch.prototype.makeRe = makeRe
-function makeRe () {
-  if (this.regexp || this.regexp === false) return this.regexp
-
-  // at this point, this.set is a 2d array of partial
-  // pattern strings, or "**".
-  //
-  // It's better to use .match().  This function shouldn't
-  // be used, really, but it's pretty convenient sometimes,
-  // when you just want to work with a regex.
-  var set = this.set
-
-  if (!set.length) return this.regexp = false
-  var options = this.options
-
-  var twoStar = options.noglobstar ? star
-      : options.dot ? twoStarDot
-      : twoStarNoDot
-    , flags = options.nocase ? "i" : ""
-
-  var re = set.map(function (pattern) {
-    return pattern.map(function (p) {
-      return (p === GLOBSTAR) ? twoStar
-           : (typeof p === "string") ? regExpEscape(p)
-           : p._src
-    }).join("\\\/")
-  }).join("|")
-
-  // must match entire pattern
-  // ending in a * or ** will make it less strict.
-  re = "^(?:" + re + ")$"
-
-  // can match anything, as long as it's not this.
-  if (this.negate) re = "^(?!" + re + ").*$"
-
-  try {
-    return this.regexp = new RegExp(re, flags)
-  } catch (ex) {
-    return this.regexp = false
-  }
-}
-
-minimatch.match = function (list, pattern, options) {
-  options = options || {}
-  var mm = new Minimatch(pattern, options)
-  list = list.filter(function (f) {
-    return mm.match(f)
-  })
-  if (mm.options.nonull && !list.length) {
-    list.push(pattern)
-  }
-  return list
-}
-
-Minimatch.prototype.match = match
-function match (f, partial) {
-  this.debug("match", f, this.pattern)
-  // short-circuit in the case of busted things.
-  // comments, etc.
-  if (this.comment) return false
-  if (this.empty) return f === ""
-
-  if (f === "/" && partial) return true
-
-  var options = this.options
-
-  // windows: need to use /, not \
-  // On other platforms, \ is a valid (albeit bad) filename char.
-  if (platform === "win32") {
-    f = f.split("\\").join("/")
-  }
-
-  // treat the test path as a set of pathparts.
-  f = f.split(slashSplit)
-  this.debug(this.pattern, "split", f)
-
-  // just ONE of the pattern sets in this.set needs to match
-  // in order for it to be valid.  If negating, then just one
-  // match means that we have failed.
-  // Either way, return on the first hit.
-
-  var set = this.set
-  this.debug(this.pattern, "set", set)
-
-  // Find the basename of the path by looking for the last non-empty segment
-  var filename;
-  for (var i = f.length - 1; i >= 0; i--) {
-    filename = f[i]
-    if (filename) break
-  }
-
-  for (var i = 0, l = set.length; i < l; i ++) {
-    var pattern = set[i], file = f
-    if (options.matchBase && pattern.length === 1) {
-      file = [filename]
-    }
-    var hit = this.matchOne(file, pattern, partial)
-    if (hit) {
-      if (options.flipNegate) return true
-      return !this.negate
-    }
-  }
-
-  // didn't get any hits.  this is success if it's a negative
-  // pattern, failure otherwise.
-  if (options.flipNegate) return false
-  return this.negate
-}
-
-// set partial to true to test if, for example,
-// "/a/b" matches the start of "/*/b/*/d"
-// Partial means, if you run out of file before you run
-// out of pattern, then that's fine, as long as all
-// the parts match.
-Minimatch.prototype.matchOne = function (file, pattern, partial) {
-  var options = this.options
-
-  this.debug("matchOne",
-              { "this": this
-              , file: file
-              , pattern: pattern })
-
-  this.debug("matchOne", file.length, pattern.length)
-
-  for ( var fi = 0
-          , pi = 0
-          , fl = file.length
-          , pl = pattern.length
-      ; (fi < fl) && (pi < pl)
-      ; fi ++, pi ++ ) {
-
-    this.debug("matchOne loop")
-    var p = pattern[pi]
-      , f = file[fi]
-
-    this.debug(pattern, p, f)
-
-    // should be impossible.
-    // some invalid regexp stuff in the set.
-    if (p === false) return false
-
-    if (p === GLOBSTAR) {
-      this.debug('GLOBSTAR', [pattern, p, f])
-
-      // "**"
-      // a/**/b/**/c would match the following:
-      // a/b/x/y/z/c
-      // a/x/y/z/b/c
-      // a/b/x/b/x/c
-      // a/b/c
-      // To do this, take the rest of the pattern after
-      // the **, and see if it would match the file remainder.
-      // If so, return success.
-      // If not, the ** "swallows" a segment, and try again.
-      // This is recursively awful.
-      //
-      // a/**/b/**/c matching a/b/x/y/z/c
-      // - a matches a
-      // - doublestar
-      //   - matchOne(b/x/y/z/c, b/**/c)
-      //     - b matches b
-      //     - doublestar
-      //       - matchOne(x/y/z/c, c) -> no
-      //       - matchOne(y/z/c, c) -> no
-      //       - matchOne(z/c, c) -> no
-      //       - matchOne(c, c) yes, hit
-      var fr = fi
-        , pr = pi + 1
-      if (pr === pl) {
-        this.debug('** at the end')
-        // a ** at the end will just swallow the rest.
-        // We have found a match.
-        // however, it will not swallow /.x, unless
-        // options.dot is set.
-        // . and .. are *never* matched by **, for explosively
-        // exponential reasons.
-        for ( ; fi < fl; fi ++) {
-          if (file[fi] === "." || file[fi] === ".." ||
-              (!options.dot && file[fi].charAt(0) === ".")) return false
-        }
-        return true
-      }
-
-      // ok, let's see if we can swallow whatever we can.
-      WHILE: while (fr < fl) {
-        var swallowee = file[fr]
-
-        this.debug('\nglobstar while',
-                    file, fr, pattern, pr, swallowee)
-
-        // XXX remove this slice.  Just pass the start index.
-        if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-          this.debug('globstar found match!', fr, fl, swallowee)
-          // found a match.
-          return true
-        } else {
-          // can't swallow "." or ".." ever.
-          // can only swallow ".foo" when explicitly asked.
-          if (swallowee === "." || swallowee === ".." ||
-              (!options.dot && swallowee.charAt(0) === ".")) {
-            this.debug("dot detected!", file, fr, pattern, pr)
-            break WHILE
-          }
-
-          // ** swallows a segment, and continue.
-          this.debug('globstar swallow a segment, and continue')
-          fr ++
-        }
-      }
-      // no match was found.
-      // However, in partial mode, we can't say this is necessarily over.
-      // If there's more *pattern* left, then
-      if (partial) {
-        // ran out of file
-        this.debug("\n>>> no match, partial?", file, fr, pattern, pr)
-        if (fr === fl) return true
-      }
-      return false
-    }
-
-    // something other than **
-    // non-magic patterns just have to match exactly
-    // patterns with magic have been turned into regexps.
-    var hit
-    if (typeof p === "string") {
-      if (options.nocase) {
-        hit = f.toLowerCase() === p.toLowerCase()
-      } else {
-        hit = f === p
-      }
-      this.debug("string match", p, f, hit)
-    } else {
-      hit = f.match(p)
-      this.debug("pattern match", p, f, hit)
-    }
-
-    if (!hit) return false
-  }
-
-  // Note: ending in / means that we'll get a final ""
-  // at the end of the pattern.  This can only match a
-  // corresponding "" at the end of the file.
-  // If the file ends in /, then it can only match a
-  // a pattern that ends in /, unless the pattern just
-  // doesn't have any more for it. But, a/b/ should *not*
-  // match "a/b/*", even though "" matches against the
-  // [^/]*? pattern, except in partial mode, where it might
-  // simply not be reached yet.
-  // However, a/b/ should still satisfy a/*
-
-  // now either we fell off the end of the pattern, or we're done.
-  if (fi === fl && pi === pl) {
-    // ran out of pattern and filename at the same time.
-    // an exact hit!
-    return true
-  } else if (fi === fl) {
-    // ran out of file, but still had pattern left.
-    // this is ok if we're doing the match as part of
-    // a glob fs traversal.
-    return partial
-  } else if (pi === pl) {
-    // ran out of pattern, still have file left.
-    // this is only acceptable if we're on the very last
-    // empty segment of a file with a trailing slash.
-    // a/* should match a/b/
-    var emptyFileEnd = (fi === fl - 1) && (file[fi] === "")
-    return emptyFileEnd
-  }
-
-  // should be unreachable.
-  throw new Error("wtf?")
-}
-
-
-// replace stuff like \* with *
-function globUnescape (s) {
-  return s.replace(/\\(.)/g, "$1")
-}
-
-
-function regExpEscape (s) {
-  return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
-}
-
-})( typeof require === "function" ? require : null,
-    this,
-    typeof module === "object" ? module : null,
-    typeof process === "object" ? process.platform : "win32"
-  )

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/node_modules/minimatch/package.json
----------------------------------------------------------------------
diff --git a/node_modules/glob/node_modules/minimatch/package.json b/node_modules/glob/node_modules/minimatch/package.json
deleted file mode 100644
index 78ea601..0000000
--- a/node_modules/glob/node_modules/minimatch/package.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "name": "minimatch",
-        "raw": "minimatch@0.3",
-        "rawSpec": "0.3",
-        "scope": null,
-        "spec": ">=0.3.0 <0.4.0",
-        "type": "range"
-      },
-      "/Users/ctran/cordova/cordova-lib/cordova-create/node_modules/glob"
-    ]
-  ],
-  "_from": "minimatch@>=0.3.0 <0.4.0",
-  "_id": "minimatch@0.3.0",
-  "_inCache": true,
-  "_installable": true,
-  "_location": "/glob/minimatch",
-  "_npmUser": {
-    "email": "i@izs.me",
-    "name": "isaacs"
-  },
-  "_npmVersion": "1.4.10",
-  "_phantomChildren": {},
-  "_requested": {
-    "name": "minimatch",
-    "raw": "minimatch@0.3",
-    "rawSpec": "0.3",
-    "scope": null,
-    "spec": ">=0.3.0 <0.4.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/glob"
-  ],
-  "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
-  "_shasum": "275d8edaac4f1bb3326472089e7949c8394699dd",
-  "_shrinkwrap": null,
-  "_spec": "minimatch@0.3",
-  "_where": "/Users/ctran/cordova/cordova-lib/cordova-create/node_modules/glob",
-  "author": {
-    "email": "i@izs.me",
-    "name": "Isaac Z. Schlueter",
-    "url": "http://blog.izs.me"
-  },
-  "bugs": {
-    "url": "https://github.com/isaacs/minimatch/issues"
-  },
-  "dependencies": {
-    "lru-cache": "2",
-    "sigmund": "~1.0.0"
-  },
-  "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue",
-  "description": "a glob matcher in javascript",
-  "devDependencies": {
-    "tap": ""
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "275d8edaac4f1bb3326472089e7949c8394699dd",
-    "tarball": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz"
-  },
-  "engines": {
-    "node": "*"
-  },
-  "homepage": "https://github.com/isaacs/minimatch",
-  "license": {
-    "type": "MIT",
-    "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE"
-  },
-  "main": "minimatch.js",
-  "maintainers": [
-    {
-      "email": "i@izs.me",
-      "name": "isaacs"
-    }
-  ],
-  "name": "minimatch",
-  "optionalDependencies": {},
-  "readme": "ERROR: No README data found!",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/isaacs/minimatch.git"
-  },
-  "scripts": {
-    "test": "tap test/*.js"
-  },
-  "version": "0.3.0"
-}

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/node_modules/minimatch/test/basic.js
----------------------------------------------------------------------
diff --git a/node_modules/glob/node_modules/minimatch/test/basic.js b/node_modules/glob/node_modules/minimatch/test/basic.js
deleted file mode 100644
index ae7ac73..0000000
--- a/node_modules/glob/node_modules/minimatch/test/basic.js
+++ /dev/null
@@ -1,399 +0,0 @@
-// http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test
-//
-// TODO: Some of these tests do very bad things with backslashes, and will
-// most likely fail badly on windows.  They should probably be skipped.
-
-var tap = require("tap")
-  , globalBefore = Object.keys(global)
-  , mm = require("../")
-  , files = [ "a", "b", "c", "d", "abc"
-            , "abd", "abe", "bb", "bcd"
-            , "ca", "cb", "dd", "de"
-            , "bdir/", "bdir/cfile"]
-  , next = files.concat([ "a-b", "aXb"
-                        , ".x", ".y" ])
-
-
-var patterns =
-  [ "http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test"
-  , ["a*", ["a", "abc", "abd", "abe"]]
-  , ["X*", ["X*"], {nonull: true}]
-
-  // allow null glob expansion
-  , ["X*", []]
-
-  // isaacs: Slightly different than bash/sh/ksh
-  // \\* is not un-escaped to literal "*" in a failed match,
-  // but it does make it get treated as a literal star
-  , ["\\*", ["\\*"], {nonull: true}]
-  , ["\\**", ["\\**"], {nonull: true}]
-  , ["\\*\\*", ["\\*\\*"], {nonull: true}]
-
-  , ["b*/", ["bdir/"]]
-  , ["c*", ["c", "ca", "cb"]]
-  , ["**", files]
-
-  , ["\\.\\./*/", ["\\.\\./*/"], {nonull: true}]
-  , ["s/\\..*//", ["s/\\..*//"], {nonull: true}]
-
-  , "legendary larry crashes bashes"
-  , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"
-    , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"], {nonull: true}]
-  , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"
-    , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"], {nonull: true}]
-
-  , "character classes"
-  , ["[a-c]b*", ["abc", "abd", "abe", "bb", "cb"]]
-  , ["[a-y]*[^c]", ["abd", "abe", "bb", "bcd",
-     "bdir/", "ca", "cb", "dd", "de"]]
-  , ["a*[^c]", ["abd", "abe"]]
-  , function () { files.push("a-b", "aXb") }
-  , ["a[X-]b", ["a-b", "aXb"]]
-  , function () { files.push(".x", ".y") }
-  , ["[^a-c]*", ["d", "dd", "de"]]
-  , function () { files.push("a*b/", "a*b/ooo") }
-  , ["a\\*b/*", ["a*b/ooo"]]
-  , ["a\\*?/*", ["a*b/ooo"]]
-  , ["*\\\\!*", [], {null: true}, ["echo !7"]]
-  , ["*\\!*", ["echo !7"], null, ["echo !7"]]
-  , ["*.\\*", ["r.*"], null, ["r.*"]]
-  , ["a[b]c", ["abc"]]
-  , ["a[\\b]c", ["abc"]]
-  , ["a?c", ["abc"]]
-  , ["a\\*c", [], {null: true}, ["abc"]]
-  , ["", [""], { null: true }, [""]]
-
-  , "http://www.opensource.apple.com/source/bash/bash-23/" +
-    "bash/tests/glob-test"
-  , function () { files.push("man/", "man/man1/", "man/man1/bash.1") }
-  , ["*/man*/bash.*", ["man/man1/bash.1"]]
-  , ["man/man1/bash.1", ["man/man1/bash.1"]]
-  , ["a***c", ["abc"], null, ["abc"]]
-  , ["a*****?c", ["abc"], null, ["abc"]]
-  , ["?*****??", ["abc"], null, ["abc"]]
-  , ["*****??", ["abc"], null, ["abc"]]
-  , ["?*****?c", ["abc"], null, ["abc"]]
-  , ["?***?****c", ["abc"], null, ["abc"]]
-  , ["?***?****?", ["abc"], null, ["abc"]]
-  , ["?***?****", ["abc"], null, ["abc"]]
-  , ["*******c", ["abc"], null, ["abc"]]
-  , ["*******?", ["abc"], null, ["abc"]]
-  , ["a*cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-  , ["a**?**cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-  , ["a**?**cd**?**??k***", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-  , ["a**?**cd**?**??***k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-  , ["a**?**cd**?**??***k**", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-  , ["a****c**?**??*****", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-  , ["[-abc]", ["-"], null, ["-"]]
-  , ["[abc-]", ["-"], null, ["-"]]
-  , ["\\", ["\\"], null, ["\\"]]
-  , ["[\\\\]", ["\\"], null, ["\\"]]
-  , ["[[]", ["["], null, ["["]]
-  , ["[", ["["], null, ["["]]
-  , ["[*", ["[abc"], null, ["[abc"]]
-  , "a right bracket shall lose its special meaning and\n" +
-    "represent itself in a bracket expression if it occurs\n" +
-    "first in the list.  -- POSIX.2 2.8.3.2"
-  , ["[]]", ["]"], null, ["]"]]
-  , ["[]-]", ["]"], null, ["]"]]
-  , ["[a-\z]", ["p"], null, ["p"]]
-  , ["??**********?****?", [], { null: true }, ["abc"]]
-  , ["??**********?****c", [], { null: true }, ["abc"]]
-  , ["?************c****?****", [], { null: true }, ["abc"]]
-  , ["*c*?**", [], { null: true }, ["abc"]]
-  , ["a*****c*?**", [], { null: true }, ["abc"]]
-  , ["a********???*******", [], { null: true }, ["abc"]]
-  , ["[]", [], { null: true }, ["a"]]
-  , ["[abc", [], { null: true }, ["["]]
-
-  , "nocase tests"
-  , ["XYZ", ["xYz"], { nocase: true, null: true }
-    , ["xYz", "ABC", "IjK"]]
-  , ["ab*", ["ABC"], { nocase: true, null: true }
-    , ["xYz", "ABC", "IjK"]]
-  , ["[ia]?[ck]", ["ABC", "IjK"], { nocase: true, null: true }
-    , ["xYz", "ABC", "IjK"]]
-
-  // [ pattern, [matches], MM opts, files, TAP opts]
-  , "onestar/twostar"
-  , ["{/*,*}", [], {null: true}, ["/asdf/asdf/asdf"]]
-  , ["{/?,*}", ["/a", "bb"], {null: true}
-    , ["/a", "/b/b", "/a/b/c", "bb"]]
-
-  , "dots should not match unless requested"
-  , ["**", ["a/b"], {}, ["a/b", "a/.d", ".a/.d"]]
-
-  // .. and . can only match patterns starting with .,
-  // even when options.dot is set.
-  , function () {
-      files = ["a/./b", "a/../b", "a/c/b", "a/.d/b"]
-    }
-  , ["a/*/b", ["a/c/b", "a/.d/b"], {dot: true}]
-  , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: true}]
-  , ["a/*/b", ["a/c/b"], {dot:false}]
-  , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: false}]
-
-
-  // this also tests that changing the options needs
-  // to change the cache key, even if the pattern is
-  // the same!
-  , ["**", ["a/b","a/.d",".a/.d"], { dot: true }
-    , [ ".a/.d", "a/.d", "a/b"]]
-
-  , "paren sets cannot contain slashes"
-  , ["*(a/b)", ["*(a/b)"], {nonull: true}, ["a/b"]]
-
-  // brace sets trump all else.
-  //
-  // invalid glob pattern.  fails on bash4 and bsdglob.
-  // however, in this implementation, it's easier just
-  // to do the intuitive thing, and let brace-expansion
-  // actually come before parsing any extglob patterns,
-  // like the documentation seems to say.
-  //
-  // XXX: if anyone complains about this, either fix it
-  // or tell them to grow up and stop complaining.
-  //
-  // bash/bsdglob says this:
-  // , ["*(a|{b),c)}", ["*(a|{b),c)}"], {}, ["a", "ab", "ac", "ad"]]
-  // but we do this instead:
-  , ["*(a|{b),c)}", ["a", "ab", "ac"], {}, ["a", "ab", "ac", "ad"]]
-
-  // test partial parsing in the presence of comment/negation chars
-  , ["[!a*", ["[!ab"], {}, ["[!ab", "[ab"]]
-  , ["[#a*", ["[#ab"], {}, ["[#ab", "[ab"]]
-
-  // like: {a,b|c\\,d\\\|e} except it's unclosed, so it has to be escaped.
-  , ["+(a|*\\|c\\\\|d\\\\\\|e\\\\\\\\|f\\\\\\\\\\|g"
-    , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g"]
-    , {}
-    , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g", "a", "b\\c"]]
-
-
-  // crazy nested {,,} and *(||) tests.
-  , function () {
-      files = [ "a", "b", "c", "d"
-              , "ab", "ac", "ad"
-              , "bc", "cb"
-              , "bc,d", "c,db", "c,d"
-              , "d)", "(b|c", "*(b|c"
-              , "b|c", "b|cc", "cb|c"
-              , "x(a|b|c)", "x(a|c)"
-              , "(a|b|c)", "(a|c)"]
-    }
-  , ["*(a|{b,c})", ["a", "b", "c", "ab", "ac"]]
-  , ["{a,*(b|c,d)}", ["a","(b|c", "*(b|c", "d)"]]
-  // a
-  // *(b|c)
-  // *(b|d)
-  , ["{a,*(b|{c,d})}", ["a","b", "bc", "cb", "c", "d"]]
-  , ["*(a|{b|c,c})", ["a", "b", "c", "ab", "ac", "bc", "cb"]]
-
-
-  // test various flag settings.
-  , [ "*(a|{b|c,c})", ["x(a|b|c)", "x(a|c)", "(a|b|c)", "(a|c)"]
-    , { noext: true } ]
-  , ["a?b", ["x/y/acb", "acb/"], {matchBase: true}
-    , ["x/y/acb", "acb/", "acb/d/e", "x/y/acb/d"] ]
-  , ["#*", ["#a", "#b"], {nocomment: true}, ["#a", "#b", "c#d"]]
-
-
-  // begin channelling Boole and deMorgan...
-  , "negation tests"
-  , function () {
-      files = ["d", "e", "!ab", "!abc", "a!b", "\\!a"]
-    }
-
-  // anything that is NOT a* matches.
-  , ["!a*", ["\\!a", "d", "e", "!ab", "!abc"]]
-
-  // anything that IS !a* matches.
-  , ["!a*", ["!ab", "!abc"], {nonegate: true}]
-
-  // anything that IS a* matches
-  , ["!!a*", ["a!b"]]
-
-  // anything that is NOT !a* matches
-  , ["!\\!a*", ["a!b", "d", "e", "\\!a"]]
-
-  // negation nestled within a pattern
-  , function () {
-      files = [ "foo.js"
-              , "foo.bar"
-              // can't match this one without negative lookbehind.
-              , "foo.js.js"
-              , "blar.js"
-              , "foo."
-              , "boo.js.boo" ]
-    }
-  , ["*.!(js)", ["foo.bar", "foo.", "boo.js.boo"] ]
-
-  // https://github.com/isaacs/minimatch/issues/5
-  , function () {
-      files = [ 'a/b/.x/c'
-              , 'a/b/.x/c/d'
-              , 'a/b/.x/c/d/e'
-              , 'a/b/.x'
-              , 'a/b/.x/'
-              , 'a/.x/b'
-              , '.x'
-              , '.x/'
-              , '.x/a'
-              , '.x/a/b'
-              , 'a/.x/b/.x/c'
-              , '.x/.x' ]
-  }
-  , ["**/.x/**", [ '.x/'
-                 , '.x/a'
-                 , '.x/a/b'
-                 , 'a/.x/b'
-                 , 'a/b/.x/'
-                 , 'a/b/.x/c'
-                 , 'a/b/.x/c/d'
-                 , 'a/b/.x/c/d/e' ] ]
-
-  ]
-
-var regexps =
-  [ '/^(?:(?=.)a[^/]*?)$/',
-    '/^(?:(?=.)X[^/]*?)$/',
-    '/^(?:(?=.)X[^/]*?)$/',
-    '/^(?:\\*)$/',
-    '/^(?:(?=.)\\*[^/]*?)$/',
-    '/^(?:\\*\\*)$/',
-    '/^(?:(?=.)b[^/]*?\\/)$/',
-    '/^(?:(?=.)c[^/]*?)$/',
-    '/^(?:(?:(?!(?:\\/|^)\\.).)*?)$/',
-    '/^(?:\\.\\.\\/(?!\\.)(?=.)[^/]*?\\/)$/',
-    '/^(?:s\\/(?=.)\\.\\.[^/]*?\\/)$/',
-    '/^(?:\\/\\^root:\\/\\{s\\/(?=.)\\^[^:][^/]*?:[^:][^/]*?:\\([^:]\\)[^/]*?\\.[^/]*?\\$\\/1\\/)$/',
-    '/^(?:\\/\\^root:\\/\\{s\\/(?=.)\\^[^:][^/]*?:[^:][^/]*?:\\([^:]\\)[^/]*?\\.[^/]*?\\$\\/\u0001\\/)$/',
-    '/^(?:(?!\\.)(?=.)[a-c]b[^/]*?)$/',
-    '/^(?:(?!\\.)(?=.)[a-y][^/]*?[^c])$/',
-    '/^(?:(?=.)a[^/]*?[^c])$/',
-    '/^(?:(?=.)a[X-]b)$/',
-    '/^(?:(?!\\.)(?=.)[^a-c][^/]*?)$/',
-    '/^(?:a\\*b\\/(?!\\.)(?=.)[^/]*?)$/',
-    '/^(?:(?=.)a\\*[^/]\\/(?!\\.)(?=.)[^/]*?)$/',
-    '/^(?:(?!\\.)(?=.)[^/]*?\\\\\\![^/]*?)$/',
-    '/^(?:(?!\\.)(?=.)[^/]*?\\![^/]*?)$/',
-    '/^(?:(?!\\.)(?=.)[^/]*?\\.\\*)$/',
-    '/^(?:(?=.)a[b]c)$/',
-    '/^(?:(?=.)a[b]c)$/',
-    '/^(?:(?=.)a[^/]c)$/',
-    '/^(?:a\\*c)$/',
-    'false',
-    '/^(?:(?!\\.)(?=.)[^/]*?\\/(?=.)man[^/]*?\\/(?=.)bash\\.[^/]*?)$/',
-    '/^(?:man\\/man1\\/bash\\.1)$/',
-    '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?c)$/',
-    '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]c)$/',
-    '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/])$/',
-    '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/])$/',
-    '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]c)$/',
-    '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?c)$/',
-    '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/])$/',
-    '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?)$/',
-    '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c)$/',
-    '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/])$/',
-    '/^(?:(?=.)a[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k)$/',
-    '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k)$/',
-    '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k[^/]*?[^/]*?[^/]*?)$/',
-    '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?k)$/',
-    '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?k[^/]*?[^/]*?)$/',
-    '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?)$/',
-    '/^(?:(?!\\.)(?=.)[-abc])$/',
-    '/^(?:(?!\\.)(?=.)[abc-])$/',
-    '/^(?:\\\\)$/',
-    '/^(?:(?!\\.)(?=.)[\\\\])$/',
-    '/^(?:(?!\\.)(?=.)[\\[])$/',
-    '/^(?:\\[)$/',
-    '/^(?:(?=.)\\[(?!\\.)(?=.)[^/]*?)$/',
-    '/^(?:(?!\\.)(?=.)[\\]])$/',
-    '/^(?:(?!\\.)(?=.)[\\]-])$/',
-    '/^(?:(?!\\.)(?=.)[a-z])$/',
-    '/^(?:(?!\\.)(?=.)[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/])$/',
-    '/^(?:(?!\\.)(?=.)[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?c)$/',
-    '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?)$/',
-    '/^(?:(?!\\.)(?=.)[^/]*?c[^/]*?[^/][^/]*?[^/]*?)$/',
-    '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/][^/]*?[^/]*?)$/',
-    '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?)$/',
-    '/^(?:\\[\\])$/',
-    '/^(?:\\[abc)$/',
-    '/^(?:(?=.)XYZ)$/i',
-    '/^(?:(?=.)ab[^/]*?)$/i',
-    '/^(?:(?!\\.)(?=.)[ia][^/][ck])$/i',
-    '/^(?:\\/(?!\\.)(?=.)[^/]*?|(?!\\.)(?=.)[^/]*?)$/',
-    '/^(?:\\/(?!\\.)(?=.)[^/]|(?!\\.)(?=.)[^/]*?)$/',
-    '/^(?:(?:(?!(?:\\/|^)\\.).)*?)$/',
-    '/^(?:a\\/(?!(?:^|\\/)\\.{1,2}(?:$|\\/))(?=.)[^/]*?\\/b)$/',
-    '/^(?:a\\/(?=.)\\.[^/]*?\\/b)$/',
-    '/^(?:a\\/(?!\\.)(?=.)[^/]*?\\/b)$/',
-    '/^(?:a\\/(?=.)\\.[^/]*?\\/b)$/',
-    '/^(?:(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?)$/',
-    '/^(?:(?!\\.)(?=.)[^/]*?\\(a\\/b\\))$/',
-    '/^(?:(?!\\.)(?=.)(?:a|b)*|(?!\\.)(?=.)(?:a|c)*)$/',
-    '/^(?:(?=.)\\[(?=.)\\!a[^/]*?)$/',
-    '/^(?:(?=.)\\[(?=.)#a[^/]*?)$/',
-    '/^(?:(?=.)\\+\\(a\\|[^/]*?\\|c\\\\\\\\\\|d\\\\\\\\\\|e\\\\\\\\\\\\\\\\\\|f\\\\\\\\\\\\\\\\\\|g)$/',
-    '/^(?:(?!\\.)(?=.)(?:a|b)*|(?!\\.)(?=.)(?:a|c)*)$/',
-    '/^(?:a|(?!\\.)(?=.)[^/]*?\\(b\\|c|d\\))$/',
-    '/^(?:a|(?!\\.)(?=.)(?:b|c)*|(?!\\.)(?=.)(?:b|d)*)$/',
-    '/^(?:(?!\\.)(?=.)(?:a|b|c)*|(?!\\.)(?=.)(?:a|c)*)$/',
-    '/^(?:(?!\\.)(?=.)[^/]*?\\(a\\|b\\|c\\)|(?!\\.)(?=.)[^/]*?\\(a\\|c\\))$/',
-    '/^(?:(?=.)a[^/]b)$/',
-    '/^(?:(?=.)#[^/]*?)$/',
-    '/^(?!^(?:(?=.)a[^/]*?)$).*$/',
-    '/^(?:(?=.)\\!a[^/]*?)$/',
-    '/^(?:(?=.)a[^/]*?)$/',
-    '/^(?!^(?:(?=.)\\!a[^/]*?)$).*$/',
-    '/^(?:(?!\\.)(?=.)[^/]*?\\.(?:(?!js)[^/]*?))$/',
-    '/^(?:(?:(?!(?:\\/|^)\\.).)*?\\/\\.x\\/(?:(?!(?:\\/|^)\\.).)*?)$/' ]
-var re = 0;
-
-tap.test("basic tests", function (t) {
-  var start = Date.now()
-
-  // [ pattern, [matches], MM opts, files, TAP opts]
-  patterns.forEach(function (c) {
-    if (typeof c === "function") return c()
-    if (typeof c === "string") return t.comment(c)
-
-    var pattern = c[0]
-      , expect = c[1].sort(alpha)
-      , options = c[2] || {}
-      , f = c[3] || files
-      , tapOpts = c[4] || {}
-
-    // options.debug = true
-    var m = new mm.Minimatch(pattern, options)
-    var r = m.makeRe()
-    var expectRe = regexps[re++]
-    tapOpts.re = String(r) || JSON.stringify(r)
-    tapOpts.files = JSON.stringify(f)
-    tapOpts.pattern = pattern
-    tapOpts.set = m.set
-    tapOpts.negated = m.negate
-
-    var actual = mm.match(f, pattern, options)
-    actual.sort(alpha)
-
-    t.equivalent( actual, expect
-                , JSON.stringify(pattern) + " " + JSON.stringify(expect)
-                , tapOpts )
-
-    t.equal(tapOpts.re, expectRe, tapOpts)
-  })
-
-  t.comment("time=" + (Date.now() - start) + "ms")
-  t.end()
-})
-
-tap.test("global leak test", function (t) {
-  var globalAfter = Object.keys(global)
-  t.equivalent(globalAfter, globalBefore, "no new globals, please")
-  t.end()
-})
-
-function alpha (a, b) {
-  return a > b ? 1 : -1
-}

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/node_modules/minimatch/test/brace-expand.js
----------------------------------------------------------------------
diff --git a/node_modules/glob/node_modules/minimatch/test/brace-expand.js b/node_modules/glob/node_modules/minimatch/test/brace-expand.js
deleted file mode 100644
index 7ee278a..0000000
--- a/node_modules/glob/node_modules/minimatch/test/brace-expand.js
+++ /dev/null
@@ -1,33 +0,0 @@
-var tap = require("tap")
-  , minimatch = require("../")
-
-tap.test("brace expansion", function (t) {
-  // [ pattern, [expanded] ]
-  ; [ [ "a{b,c{d,e},{f,g}h}x{y,z}"
-      , [ "abxy"
-        , "abxz"
-        , "acdxy"
-        , "acdxz"
-        , "acexy"
-        , "acexz"
-        , "afhxy"
-        , "afhxz"
-        , "aghxy"
-        , "aghxz" ] ]
-    , [ "a{1..5}b"
-      , [ "a1b"
-        , "a2b"
-        , "a3b"
-        , "a4b"
-        , "a5b" ] ]
-    , [ "a{b}c", ["a{b}c"] ]
-  ].forEach(function (tc) {
-    var p = tc[0]
-      , expect = tc[1]
-    t.equivalent(minimatch.braceExpand(p), expect, p)
-  })
-  console.error("ending")
-  t.end()
-})
-
-

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/node_modules/minimatch/test/caching.js
----------------------------------------------------------------------
diff --git a/node_modules/glob/node_modules/minimatch/test/caching.js b/node_modules/glob/node_modules/minimatch/test/caching.js
deleted file mode 100644
index 0fec4b0..0000000
--- a/node_modules/glob/node_modules/minimatch/test/caching.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var Minimatch = require("../minimatch.js").Minimatch
-var tap = require("tap")
-tap.test("cache test", function (t) {
-  var mm1 = new Minimatch("a?b")
-  var mm2 = new Minimatch("a?b")
-  t.equal(mm1, mm2, "should get the same object")
-  // the lru should drop it after 100 entries
-  for (var i = 0; i < 100; i ++) {
-    new Minimatch("a"+i)
-  }
-  mm2 = new Minimatch("a?b")
-  t.notEqual(mm1, mm2, "cache should have dropped")
-  t.end()
-})

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/node_modules/minimatch/test/defaults.js
----------------------------------------------------------------------
diff --git a/node_modules/glob/node_modules/minimatch/test/defaults.js b/node_modules/glob/node_modules/minimatch/test/defaults.js
deleted file mode 100644
index 75e0571..0000000
--- a/node_modules/glob/node_modules/minimatch/test/defaults.js
+++ /dev/null
@@ -1,274 +0,0 @@
-// http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test
-//
-// TODO: Some of these tests do very bad things with backslashes, and will
-// most likely fail badly on windows.  They should probably be skipped.
-
-var tap = require("tap")
-  , globalBefore = Object.keys(global)
-  , mm = require("../")
-  , files = [ "a", "b", "c", "d", "abc"
-            , "abd", "abe", "bb", "bcd"
-            , "ca", "cb", "dd", "de"
-            , "bdir/", "bdir/cfile"]
-  , next = files.concat([ "a-b", "aXb"
-                        , ".x", ".y" ])
-
-tap.test("basic tests", function (t) {
-  var start = Date.now()
-
-  // [ pattern, [matches], MM opts, files, TAP opts]
-  ; [ "http://www.bashcookbook.com/bashinfo" +
-      "/source/bash-1.14.7/tests/glob-test"
-    , ["a*", ["a", "abc", "abd", "abe"]]
-    , ["X*", ["X*"], {nonull: true}]
-
-    // allow null glob expansion
-    , ["X*", []]
-
-    // isaacs: Slightly different than bash/sh/ksh
-    // \\* is not un-escaped to literal "*" in a failed match,
-    // but it does make it get treated as a literal star
-    , ["\\*", ["\\*"], {nonull: true}]
-    , ["\\**", ["\\**"], {nonull: true}]
-    , ["\\*\\*", ["\\*\\*"], {nonull: true}]
-
-    , ["b*/", ["bdir/"]]
-    , ["c*", ["c", "ca", "cb"]]
-    , ["**", files]
-
-    , ["\\.\\./*/", ["\\.\\./*/"], {nonull: true}]
-    , ["s/\\..*//", ["s/\\..*//"], {nonull: true}]
-
-    , "legendary larry crashes bashes"
-    , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"
-      , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"], {nonull: true}]
-    , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"
-      , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"], {nonull: true}]
-
-    , "character classes"
-    , ["[a-c]b*", ["abc", "abd", "abe", "bb", "cb"]]
-    , ["[a-y]*[^c]", ["abd", "abe", "bb", "bcd",
-       "bdir/", "ca", "cb", "dd", "de"]]
-    , ["a*[^c]", ["abd", "abe"]]
-    , function () { files.push("a-b", "aXb") }
-    , ["a[X-]b", ["a-b", "aXb"]]
-    , function () { files.push(".x", ".y") }
-    , ["[^a-c]*", ["d", "dd", "de"]]
-    , function () { files.push("a*b/", "a*b/ooo") }
-    , ["a\\*b/*", ["a*b/ooo"]]
-    , ["a\\*?/*", ["a*b/ooo"]]
-    , ["*\\\\!*", [], {null: true}, ["echo !7"]]
-    , ["*\\!*", ["echo !7"], null, ["echo !7"]]
-    , ["*.\\*", ["r.*"], null, ["r.*"]]
-    , ["a[b]c", ["abc"]]
-    , ["a[\\b]c", ["abc"]]
-    , ["a?c", ["abc"]]
-    , ["a\\*c", [], {null: true}, ["abc"]]
-    , ["", [""], { null: true }, [""]]
-
-    , "http://www.opensource.apple.com/source/bash/bash-23/" +
-      "bash/tests/glob-test"
-    , function () { files.push("man/", "man/man1/", "man/man1/bash.1") }
-    , ["*/man*/bash.*", ["man/man1/bash.1"]]
-    , ["man/man1/bash.1", ["man/man1/bash.1"]]
-    , ["a***c", ["abc"], null, ["abc"]]
-    , ["a*****?c", ["abc"], null, ["abc"]]
-    , ["?*****??", ["abc"], null, ["abc"]]
-    , ["*****??", ["abc"], null, ["abc"]]
-    , ["?*****?c", ["abc"], null, ["abc"]]
-    , ["?***?****c", ["abc"], null, ["abc"]]
-    , ["?***?****?", ["abc"], null, ["abc"]]
-    , ["?***?****", ["abc"], null, ["abc"]]
-    , ["*******c", ["abc"], null, ["abc"]]
-    , ["*******?", ["abc"], null, ["abc"]]
-    , ["a*cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-    , ["a**?**cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-    , ["a**?**cd**?**??k***", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-    , ["a**?**cd**?**??***k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-    , ["a**?**cd**?**??***k**", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-    , ["a****c**?**??*****", ["abcdecdhjk"], null, ["abcdecdhjk"]]
-    , ["[-abc]", ["-"], null, ["-"]]
-    , ["[abc-]", ["-"], null, ["-"]]
-    , ["\\", ["\\"], null, ["\\"]]
-    , ["[\\\\]", ["\\"], null, ["\\"]]
-    , ["[[]", ["["], null, ["["]]
-    , ["[", ["["], null, ["["]]
-    , ["[*", ["[abc"], null, ["[abc"]]
-    , "a right bracket shall lose its special meaning and\n" +
-      "represent itself in a bracket expression if it occurs\n" +
-      "first in the list.  -- POSIX.2 2.8.3.2"
-    , ["[]]", ["]"], null, ["]"]]
-    , ["[]-]", ["]"], null, ["]"]]
-    , ["[a-\z]", ["p"], null, ["p"]]
-    , ["??**********?****?", [], { null: true }, ["abc"]]
-    , ["??**********?****c", [], { null: true }, ["abc"]]
-    , ["?************c****?****", [], { null: true }, ["abc"]]
-    , ["*c*?**", [], { null: true }, ["abc"]]
-    , ["a*****c*?**", [], { null: true }, ["abc"]]
-    , ["a********???*******", [], { null: true }, ["abc"]]
-    , ["[]", [], { null: true }, ["a"]]
-    , ["[abc", [], { null: true }, ["["]]
-
-    , "nocase tests"
-    , ["XYZ", ["xYz"], { nocase: true, null: true }
-      , ["xYz", "ABC", "IjK"]]
-    , ["ab*", ["ABC"], { nocase: true, null: true }
-      , ["xYz", "ABC", "IjK"]]
-    , ["[ia]?[ck]", ["ABC", "IjK"], { nocase: true, null: true }
-      , ["xYz", "ABC", "IjK"]]
-
-    // [ pattern, [matches], MM opts, files, TAP opts]
-    , "onestar/twostar"
-    , ["{/*,*}", [], {null: true}, ["/asdf/asdf/asdf"]]
-    , ["{/?,*}", ["/a", "bb"], {null: true}
-      , ["/a", "/b/b", "/a/b/c", "bb"]]
-
-    , "dots should not match unless requested"
-    , ["**", ["a/b"], {}, ["a/b", "a/.d", ".a/.d"]]
-
-    // .. and . can only match patterns starting with .,
-    // even when options.dot is set.
-    , function () {
-        files = ["a/./b", "a/../b", "a/c/b", "a/.d/b"]
-      }
-    , ["a/*/b", ["a/c/b", "a/.d/b"], {dot: true}]
-    , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: true}]
-    , ["a/*/b", ["a/c/b"], {dot:false}]
-    , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: false}]
-
-
-    // this also tests that changing the options needs
-    // to change the cache key, even if the pattern is
-    // the same!
-    , ["**", ["a/b","a/.d",".a/.d"], { dot: true }
-      , [ ".a/.d", "a/.d", "a/b"]]
-
-    , "paren sets cannot contain slashes"
-    , ["*(a/b)", ["*(a/b)"], {nonull: true}, ["a/b"]]
-
-    // brace sets trump all else.
-    //
-    // invalid glob pattern.  fails on bash4 and bsdglob.
-    // however, in this implementation, it's easier just
-    // to do the intuitive thing, and let brace-expansion
-    // actually come before parsing any extglob patterns,
-    // like the documentation seems to say.
-    //
-    // XXX: if anyone complains about this, either fix it
-    // or tell them to grow up and stop complaining.
-    //
-    // bash/bsdglob says this:
-    // , ["*(a|{b),c)}", ["*(a|{b),c)}"], {}, ["a", "ab", "ac", "ad"]]
-    // but we do this instead:
-    , ["*(a|{b),c)}", ["a", "ab", "ac"], {}, ["a", "ab", "ac", "ad"]]
-
-    // test partial parsing in the presence of comment/negation chars
-    , ["[!a*", ["[!ab"], {}, ["[!ab", "[ab"]]
-    , ["[#a*", ["[#ab"], {}, ["[#ab", "[ab"]]
-
-    // like: {a,b|c\\,d\\\|e} except it's unclosed, so it has to be escaped.
-    , ["+(a|*\\|c\\\\|d\\\\\\|e\\\\\\\\|f\\\\\\\\\\|g"
-      , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g"]
-      , {}
-      , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g", "a", "b\\c"]]
-
-
-    // crazy nested {,,} and *(||) tests.
-    , function () {
-        files = [ "a", "b", "c", "d"
-                , "ab", "ac", "ad"
-                , "bc", "cb"
-                , "bc,d", "c,db", "c,d"
-                , "d)", "(b|c", "*(b|c"
-                , "b|c", "b|cc", "cb|c"
-                , "x(a|b|c)", "x(a|c)"
-                , "(a|b|c)", "(a|c)"]
-      }
-    , ["*(a|{b,c})", ["a", "b", "c", "ab", "ac"]]
-    , ["{a,*(b|c,d)}", ["a","(b|c", "*(b|c", "d)"]]
-    // a
-    // *(b|c)
-    // *(b|d)
-    , ["{a,*(b|{c,d})}", ["a","b", "bc", "cb", "c", "d"]]
-    , ["*(a|{b|c,c})", ["a", "b", "c", "ab", "ac", "bc", "cb"]]
-
-
-    // test various flag settings.
-    , [ "*(a|{b|c,c})", ["x(a|b|c)", "x(a|c)", "(a|b|c)", "(a|c)"]
-      , { noext: true } ]
-    , ["a?b", ["x/y/acb", "acb/"], {matchBase: true}
-      , ["x/y/acb", "acb/", "acb/d/e", "x/y/acb/d"] ]
-    , ["#*", ["#a", "#b"], {nocomment: true}, ["#a", "#b", "c#d"]]
-
-
-    // begin channelling Boole and deMorgan...
-    , "negation tests"
-    , function () {
-        files = ["d", "e", "!ab", "!abc", "a!b", "\\!a"]
-      }
-
-    // anything that is NOT a* matches.
-    , ["!a*", ["\\!a", "d", "e", "!ab", "!abc"]]
-
-    // anything that IS !a* matches.
-    , ["!a*", ["!ab", "!abc"], {nonegate: true}]
-
-    // anything that IS a* matches
-    , ["!!a*", ["a!b"]]
-
-    // anything that is NOT !a* matches
-    , ["!\\!a*", ["a!b", "d", "e", "\\!a"]]
-
-    // negation nestled within a pattern
-    , function () {
-        files = [ "foo.js"
-                , "foo.bar"
-                // can't match this one without negative lookbehind.
-                , "foo.js.js"
-                , "blar.js"
-                , "foo."
-                , "boo.js.boo" ]
-      }
-    , ["*.!(js)", ["foo.bar", "foo.", "boo.js.boo"] ]
-
-    ].forEach(function (c) {
-      if (typeof c === "function") return c()
-      if (typeof c === "string") return t.comment(c)
-
-      var pattern = c[0]
-        , expect = c[1].sort(alpha)
-        , options = c[2]
-        , f = c[3] || files
-        , tapOpts = c[4] || {}
-
-      // options.debug = true
-      var Class = mm.defaults(options).Minimatch
-      var m = new Class(pattern, {})
-      var r = m.makeRe()
-      tapOpts.re = String(r) || JSON.stringify(r)
-      tapOpts.files = JSON.stringify(f)
-      tapOpts.pattern = pattern
-      tapOpts.set = m.set
-      tapOpts.negated = m.negate
-
-      var actual = mm.match(f, pattern, options)
-      actual.sort(alpha)
-
-      t.equivalent( actual, expect
-                  , JSON.stringify(pattern) + " " + JSON.stringify(expect)
-                  , tapOpts )
-    })
-
-  t.comment("time=" + (Date.now() - start) + "ms")
-  t.end()
-})
-
-tap.test("global leak test", function (t) {
-  var globalAfter = Object.keys(global)
-  t.equivalent(globalAfter, globalBefore, "no new globals, please")
-  t.end()
-})
-
-function alpha (a, b) {
-  return a > b ? 1 : -1
-}

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js
----------------------------------------------------------------------
diff --git a/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js b/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js
deleted file mode 100644
index 6676e26..0000000
--- a/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var test = require('tap').test
-var minimatch = require('../')
-
-test('extglob ending with statechar', function(t) {
-  t.notOk(minimatch('ax', 'a?(b*)'))
-  t.ok(minimatch('ax', '?(a*|b)'))
-  t.end()
-})

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/package.json
----------------------------------------------------------------------
diff --git a/node_modules/glob/package.json b/node_modules/glob/package.json
deleted file mode 100644
index fc7289c..0000000
--- a/node_modules/glob/package.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "name": "glob",
-        "raw": "glob@3.x",
-        "rawSpec": "3.x",
-        "scope": null,
-        "spec": ">=3.0.0 <4.0.0",
-        "type": "range"
-      },
-      "/Users/ctran/cordova/cordova-lib/cordova-create/node_modules/fileset"
-    ]
-  ],
-  "_from": "glob@>=3.0.0 <4.0.0",
-  "_id": "glob@3.2.11",
-  "_inCache": true,
-  "_installable": true,
-  "_location": "/glob",
-  "_npmUser": {
-    "email": "i@izs.me",
-    "name": "isaacs"
-  },
-  "_npmVersion": "1.4.10",
-  "_phantomChildren": {
-    "lru-cache": "2.7.3",
-    "sigmund": "1.0.1"
-  },
-  "_requested": {
-    "name": "glob",
-    "raw": "glob@3.x",
-    "rawSpec": "3.x",
-    "scope": null,
-    "spec": ">=3.0.0 <4.0.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/cli",
-    "/fileset"
-  ],
-  "_resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
-  "_shasum": "4a973f635b9190f715d10987d5c00fd2815ebe3d",
-  "_shrinkwrap": null,
-  "_spec": "glob@3.x",
-  "_where": "/Users/ctran/cordova/cordova-lib/cordova-create/node_modules/fileset",
-  "author": {
-    "email": "i@izs.me",
-    "name": "Isaac Z. Schlueter",
-    "url": "http://blog.izs.me/"
-  },
-  "bugs": {
-    "url": "https://github.com/isaacs/node-glob/issues"
-  },
-  "dependencies": {
-    "inherits": "2",
-    "minimatch": "0.3"
-  },
-  "description": "a little globber",
-  "devDependencies": {
-    "mkdirp": "0",
-    "rimraf": "1",
-    "tap": "~0.4.0"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "4a973f635b9190f715d10987d5c00fd2815ebe3d",
-    "tarball": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz"
-  },
-  "engines": {
-    "node": "*"
-  },
-  "gitHead": "73f57e99510582b2024b762305970ebcf9b70aa2",
-  "homepage": "https://github.com/isaacs/node-glob",
-  "license": "BSD",
-  "main": "glob.js",
-  "maintainers": [
-    {
-      "email": "i@izs.me",
-      "name": "isaacs"
-    }
-  ],
-  "name": "glob",
-  "optionalDependencies": {},
-  "readme": "ERROR: No README data found!",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/isaacs/node-glob.git"
-  },
-  "scripts": {
-    "test": "tap test/*.js",
-    "test-regen": "TEST_REGEN=1 node test/00-setup.js"
-  },
-  "version": "3.2.11"
-}

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/test/00-setup.js
----------------------------------------------------------------------
diff --git a/node_modules/glob/test/00-setup.js b/node_modules/glob/test/00-setup.js
deleted file mode 100644
index 245afaf..0000000
--- a/node_modules/glob/test/00-setup.js
+++ /dev/null
@@ -1,176 +0,0 @@
-// just a little pre-run script to set up the fixtures.
-// zz-finish cleans it up
-
-var mkdirp = require("mkdirp")
-var path = require("path")
-var i = 0
-var tap = require("tap")
-var fs = require("fs")
-var rimraf = require("rimraf")
-
-var files =
-[ "a/.abcdef/x/y/z/a"
-, "a/abcdef/g/h"
-, "a/abcfed/g/h"
-, "a/b/c/d"
-, "a/bc/e/f"
-, "a/c/d/c/b"
-, "a/cb/e/f"
-]
-
-var symlinkTo = path.resolve(__dirname, "a/symlink/a/b/c")
-var symlinkFrom = "../.."
-
-files = files.map(function (f) {
-  return path.resolve(__dirname, f)
-})
-
-tap.test("remove fixtures", function (t) {
-  rimraf(path.resolve(__dirname, "a"), function (er) {
-    t.ifError(er, "remove fixtures")
-    t.end()
-  })
-})
-
-files.forEach(function (f) {
-  tap.test(f, function (t) {
-    var d = path.dirname(f)
-    mkdirp(d, 0755, function (er) {
-      if (er) {
-        t.fail(er)
-        return t.bailout()
-      }
-      fs.writeFile(f, "i like tests", function (er) {
-        t.ifError(er, "make file")
-        t.end()
-      })
-    })
-  })
-})
-
-if (process.platform !== "win32") {
-  tap.test("symlinky", function (t) {
-    var d = path.dirname(symlinkTo)
-    console.error("mkdirp", d)
-    mkdirp(d, 0755, function (er) {
-      t.ifError(er)
-      fs.symlink(symlinkFrom, symlinkTo, "dir", function (er) {
-        t.ifError(er, "make symlink")
-        t.end()
-      })
-    })
-  })
-}
-
-;["foo","bar","baz","asdf","quux","qwer","rewq"].forEach(function (w) {
-  w = "/tmp/glob-test/" + w
-  tap.test("create " + w, function (t) {
-    mkdirp(w, function (er) {
-      if (er)
-        throw er
-      t.pass(w)
-      t.end()
-    })
-  })
-})
-
-
-// generate the bash pattern test-fixtures if possible
-if (process.platform === "win32" || !process.env.TEST_REGEN) {
-  console.error("Windows, or TEST_REGEN unset.  Using cached fixtures.")
-  return
-}
-
-var spawn = require("child_process").spawn;
-var globs =
-  // put more patterns here.
-  // anything that would be directly in / should be in /tmp/glob-test
-  ["test/a/*/+(c|g)/./d"
-  ,"test/a/**/[cg]/../[cg]"
-  ,"test/a/{b,c,d,e,f}/**/g"
-  ,"test/a/b/**"
-  ,"test/**/g"
-  ,"test/a/abc{fed,def}/g/h"
-  ,"test/a/abc{fed/g,def}/**/"
-  ,"test/a/abc{fed/g,def}/**///**/"
-  ,"test/**/a/**/"
-  ,"test/+(a|b|c)/a{/,bc*}/**"
-  ,"test/*/*/*/f"
-  ,"test/**/f"
-  ,"test/a/symlink/a/b/c/a/b/c/a/b/c//a/b/c////a/b/c/**/b/c/**"
-  ,"{./*/*,/tmp/glob-test/*}"
-  ,"{/tmp/glob-test/*,*}" // evil owl face!  how you taunt me!
-  ,"test/a/!(symlink)/**"
-  ]
-var bashOutput = {}
-var fs = require("fs")
-
-globs.forEach(function (pattern) {
-  tap.test("generate fixture " + pattern, function (t) {
-    var cmd = "shopt -s globstar && " +
-              "shopt -s extglob && " +
-              "shopt -s nullglob && " +
-              // "shopt >&2; " +
-              "eval \'for i in " + pattern + "; do echo $i; done\'"
-    var cp = spawn("bash", ["-c", cmd], { cwd: path.dirname(__dirname) })
-    var out = []
-    cp.stdout.on("data", function (c) {
-      out.push(c)
-    })
-    cp.stderr.pipe(process.stderr)
-    cp.on("close", function (code) {
-      out = flatten(out)
-      if (!out)
-        out = []
-      else
-        out = cleanResults(out.split(/\r*\n/))
-
-      bashOutput[pattern] = out
-      t.notOk(code, "bash test should finish nicely")
-      t.end()
-    })
-  })
-})
-
-tap.test("save fixtures", function (t) {
-  var fname = path.resolve(__dirname, "bash-results.json")
-  var data = JSON.stringify(bashOutput, null, 2) + "\n"
-  fs.writeFile(fname, data, function (er) {
-    t.ifError(er)
-    t.end()
-  })
-})
-
-function cleanResults (m) {
-  // normalize discrepancies in ordering, duplication,
-  // and ending slashes.
-  return m.map(function (m) {
-    return m.replace(/\/+/g, "/").replace(/\/$/, "")
-  }).sort(alphasort).reduce(function (set, f) {
-    if (f !== set[set.length - 1]) set.push(f)
-    return set
-  }, []).sort(alphasort).map(function (f) {
-    // de-windows
-    return (process.platform !== 'win32') ? f
-           : f.replace(/^[a-zA-Z]:\\\\/, '/').replace(/\\/g, '/')
-  })
-}
-
-function flatten (chunks) {
-  var s = 0
-  chunks.forEach(function (c) { s += c.length })
-  var out = new Buffer(s)
-  s = 0
-  chunks.forEach(function (c) {
-    c.copy(out, s)
-    s += c.length
-  })
-
-  return out.toString().trim()
-}
-
-function alphasort (a, b) {
-  a = a.toLowerCase()
-  b = b.toLowerCase()
-  return a > b ? 1 : a < b ? -1 : 0
-}

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/glob/test/bash-comparison.js
----------------------------------------------------------------------
diff --git a/node_modules/glob/test/bash-comparison.js b/node_modules/glob/test/bash-comparison.js
deleted file mode 100644
index 239ed1a..0000000
--- a/node_modules/glob/test/bash-comparison.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// basic test
-// show that it does the same thing by default as the shell.
-var tap = require("tap")
-, child_process = require("child_process")
-, bashResults = require("./bash-results.json")
-, globs = Object.keys(bashResults)
-, glob = require("../")
-, path = require("path")
-
-// run from the root of the project
-// this is usually where you're at anyway, but be sure.
-process.chdir(path.resolve(__dirname, ".."))
-
-function alphasort (a, b) {
-  a = a.toLowerCase()
-  b = b.toLowerCase()
-  return a > b ? 1 : a < b ? -1 : 0
-}
-
-globs.forEach(function (pattern) {
-  var expect = bashResults[pattern]
-  // anything regarding the symlink thing will fail on windows, so just skip it
-  if (process.platform === "win32" &&
-      expect.some(function (m) {
-        return /\/symlink\//.test(m)
-      }))
-    return
-
-  tap.test(pattern, function (t) {
-    glob(pattern, function (er, matches) {
-      if (er)
-        throw er
-
-      // sort and unmark, just to match the shell results
-      matches = cleanResults(matches)
-
-      t.deepEqual(matches, expect, pattern)
-      t.end()
-    })
-  })
-
-  tap.test(pattern + " sync", function (t) {
-    var matches = cleanResults(glob.sync(pattern))
-
-    t.deepEqual(matches, expect, "should match shell")
-    t.end()
-  })
-})
-
-function cleanResults (m) {
-  // normalize discrepancies in ordering, duplication,
-  // and ending slashes.
-  return m.map(function (m) {
-    return m.replace(/\/+/g, "/").replace(/\/$/, "")
-  }).sort(alphasort).reduce(function (set, f) {
-    if (f !== set[set.length - 1]) set.push(f)
-    return set
-  }, []).sort(alphasort).map(function (f) {
-    // de-windows
-    return (process.platform !== 'win32') ? f
-           : f.replace(/^[a-zA-Z]:[\/\\]+/, '/').replace(/[\\\/]+/g, '/')
-  })
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org