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 2018/02/21 19:55:58 UTC

[cordova-android] 01/05: CB-13912 Updated checked-in node_modules

This is an automated email from the ASF dual-hosted git repository.

steven pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-android.git

commit d2a0323ae46abc3bf7a8893b3bb9f61392a7d235
Author: Steve Gill <st...@gmail.com>
AuthorDate: Tue Feb 20 11:17:05 2018 -0800

    CB-13912 Updated checked-in node_modules
---
 node_modules/abbrev/package.json                   |   4 +-
 node_modules/android-versions/tests/index.test.js  | 118 +++++++++++++++++++++
 node_modules/ansi/package.json                     |   6 +-
 node_modules/balanced-match/package.json           |   4 +-
 node_modules/base64-js/package.json                |   4 +-
 node_modules/big-integer/package.json              |   4 +-
 node_modules/bplist-parser/package.json            |   6 +-
 node_modules/brace-expansion/LICENSE               |  21 ++++
 node_modules/brace-expansion/README.md             |   8 +-
 node_modules/brace-expansion/package.json          |  35 +++---
 node_modules/concat-map/package.json               |   6 +-
 node_modules/cordova-common/.npmignore             |   2 -
 node_modules/cordova-common/RELEASENOTES.md        |   3 +
 node_modules/cordova-common/package.json           |  20 ++--
 .../src/ConfigChanges/ConfigChanges.js             |   6 +-
 .../src/ConfigParser/ConfigParser.js               |   2 +-
 node_modules/cordova-registry-mapper/package.json  |   6 +-
 node_modules/elementtree/package.json              |   6 +-
 node_modules/glob/package.json                     |   6 +-
 node_modules/inflight/package.json                 |   6 +-
 node_modules/inherits/package.json                 |   6 +-
 node_modules/lodash/package.json                   |   6 +-
 node_modules/minimatch/package.json                |   4 +-
 node_modules/nopt/package.json                     |   6 +-
 node_modules/once/package.json                     |   6 +-
 node_modules/os-homedir/package.json               |   6 +-
 node_modules/os-tmpdir/package.json                |   6 +-
 node_modules/osenv/.npmignore                      |  13 ---
 node_modules/osenv/.travis.yml                     |   9 --
 node_modules/osenv/package.json                    |  49 +++++----
 node_modules/osenv/test/unix.js                    |  71 -------------
 node_modules/osenv/test/windows.js                 |  74 -------------
 node_modules/osenv/x.tap                           |  39 -------
 node_modules/path-is-absolute/package.json         |   6 +-
 node_modules/plist/package.json                    |   6 +-
 node_modules/properties-parser/package.json        |   6 +-
 node_modules/q/package.json                        |   4 +-
 node_modules/sax/package.json                      |   4 +-
 node_modules/semver/README.md                      |  22 ++++
 node_modules/semver/bin/semver                     |  14 ++-
 node_modules/semver/package.json                   |  43 ++++----
 node_modules/semver/range.bnf                      |   4 +-
 node_modules/semver/semver.js                      |  28 +++++
 node_modules/shelljs/package.json                  |   6 +-
 node_modules/underscore/package.json               |   6 +-
 node_modules/unorm/package.json                    |   6 +-
 node_modules/util-deprecate/package.json           |   4 +-
 node_modules/wrappy/package.json                   |   6 +-
 node_modules/xmlbuilder/package.json               |   4 +-
 node_modules/xmldom/package.json                   |   6 +-
 50 files changed, 378 insertions(+), 365 deletions(-)

diff --git a/node_modules/abbrev/package.json b/node_modules/abbrev/package.json
index d5a9ebc..5ff77ad 100644
--- a/node_modules/abbrev/package.json
+++ b/node_modules/abbrev/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/nopt"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/nopt"
     ]
   ],
   "_from": "abbrev@>=1.0.0 <2.0.0",
@@ -44,7 +44,7 @@
   "_shasum": "f8f2c887ad10bf67f634f005b6987fed3179aac8",
   "_shrinkwrap": null,
   "_spec": "abbrev@1",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/nopt",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/nopt",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me"
diff --git a/node_modules/android-versions/tests/index.test.js b/node_modules/android-versions/tests/index.test.js
new file mode 100644
index 0000000..0dbdcb6
--- /dev/null
+++ b/node_modules/android-versions/tests/index.test.js
@@ -0,0 +1,118 @@
+"use strict";
+
+var test = require('tape')
+var android = require('..')
+
+test('get specific version by API level', (t) => {
+  t.plan(1)
+  t.equal(android.get(24).name, "Nougat")
+})
+
+test('getAll versions by API level', (t) => {
+  t.plan(1)
+  t.equal(android.getAll(24)[0].name, "Nougat")
+})
+
+test('get specific version by predicate', (t) => {
+  t.plan(2)
+
+  var actual = android.get((version) => {
+    return version.name.indexOf("on") !== -1
+  })
+  t.equal(actual.name, "Donut")
+
+  actual = android.get((version) => {
+    return version.ndk > 5 && version.api < 15
+  })
+  t.equal(actual.versionCode, "HONEYCOMB_MR1")
+})
+
+test('getAll versions by predicate', (t) => {
+  t.plan(3)
+
+  var actual = android.getAll((version) => {
+    return version.name.indexOf("on") !== -1
+  }).map((version) => version.name)
+  t.deepEqual(actual, ["Donut", "Honeycomb", "Honeycomb", "Honeycomb"])
+
+  actual = android.getAll((version) => {
+    return version.ndk > 5 && version.api < 15
+  }).map((version) => version.versionCode)
+  t.deepEqual(actual, ["HONEYCOMB_MR1", "HONEYCOMB_MR2", "ICE_CREAM_SANDWICH"])
+
+  actual = android.getAll((version) => {
+    return version.api > 22
+  }).map((version) => version.versionCode)
+  t.deepEqual(actual, ["M", "N", "N_MR1", "O", "O_MR1"])
+})
+
+test('get version by semantic version', (t) => {
+  t.plan(4)
+  t.equal(android.get("6.0").versionCode, android.M.versionCode)
+  t.equal(android.get("6.0.0").versionCode, android.M.versionCode)
+  t.equal(android.get("2.3").versionCode, android.GINGERBREAD.versionCode)
+  t.equal(android.get("2.3.3").versionCode, android.GINGERBREAD_MR1.versionCode)
+})
+
+test('support version ranges', (t) => {
+  t.plan(7);
+  t.equal(android.get("4.4").versionCode, android.KITKAT.versionCode);
+  t.equal(android.get("4.4.0").versionCode, android.KITKAT.versionCode);
+  t.equal(android.get("4.4.1").versionCode, android.KITKAT.versionCode);
+  t.equal(android.get("4.4.2").versionCode, android.KITKAT.versionCode);
+  t.equal(android.get("4.4.3").versionCode, android.KITKAT.versionCode);
+  t.equal(android.get("4.4.4").versionCode, android.KITKAT.versionCode);
+  t.equal(android.get("4.4.5"), null);
+})
+
+test('support x-ranges', (t) => {
+  t.plan(12);
+  t.equal(android.get("4.1").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.0").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.1").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.2").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.3").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.4").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.5").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.6").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.7").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.8").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.9").versionCode, android.JELLY_BEAN.versionCode);
+  t.equal(android.get("4.1.10").versionCode, android.JELLY_BEAN.versionCode);
+});
+
+test('access version codes object', (t) => {
+  t.plan(1)
+  t.ok(android.VERSIONS)
+})
+
+test('access specific versions directly', (t) => {
+  t.plan(27)
+  t.ok(android.BASE)
+  t.ok(android.BASE_1_1)
+  t.ok(android.CUPCAKE)
+  t.ok(android.DONUT)
+  t.ok(android.ECLAIR)
+  t.ok(android.ECLAIR_0_1)
+  t.ok(android.ECLAIR_MR1)
+  t.ok(android.FROYO)
+  t.ok(android.GINGERBREAD)
+  t.ok(android.GINGERBREAD_MR1)
+  t.ok(android.HONEYCOMB)
+  t.ok(android.HONEYCOMB_MR1)
+  t.ok(android.HONEYCOMB_MR2)
+  t.ok(android.ICE_CREAM_SANDWICH)
+  t.ok(android.ICE_CREAM_SANDWICH_MR1)
+  t.ok(android.JELLY_BEAN)
+  t.ok(android.JELLY_BEAN_MR1)
+  t.ok(android.JELLY_BEAN_MR2)
+  t.ok(android.KITKAT)
+  t.ok(android.KITKAT_WATCH)
+  t.ok(android.LOLLIPOP)
+  t.ok(android.LOLLIPOP_MR1)
+  t.ok(android.M)
+  t.ok(android.N)
+  t.ok(android.N_MR1)
+  t.ok(android.O)
+  t.ok(android.O_MR1)
+})
diff --git a/node_modules/ansi/package.json b/node_modules/ansi/package.json
index ef08fe3..d136949 100644
--- a/node_modules/ansi/package.json
+++ b/node_modules/ansi/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.3.1 <0.4.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "ansi@>=0.3.1 <0.4.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
+  "_resolved": "http://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
   "_shasum": "0c42d4fb17160d5a9af1e484bace1c66922c1b21",
   "_shrinkwrap": null,
   "_spec": "ansi@^0.3.1",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Nathan Rajlich",
     "email": "nathan@tootallnate.net",
diff --git a/node_modules/balanced-match/package.json b/node_modules/balanced-match/package.json
index 46947a4..2a91621 100644
--- a/node_modules/balanced-match/package.json
+++ b/node_modules/balanced-match/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/brace-expansion"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/brace-expansion"
     ]
   ],
   "_from": "balanced-match@>=1.0.0 <2.0.0",
@@ -44,7 +44,7 @@
   "_shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
   "_shrinkwrap": null,
   "_spec": "balanced-match@^1.0.0",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/brace-expansion",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/brace-expansion",
   "author": {
     "name": "Julian Gruber",
     "email": "mail@juliangruber.com",
diff --git a/node_modules/base64-js/package.json b/node_modules/base64-js/package.json
index 990a597..1d47254 100644
--- a/node_modules/base64-js/package.json
+++ b/node_modules/base64-js/package.json
@@ -10,7 +10,7 @@
         "spec": "0.0.8",
         "type": "version"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/plist"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/plist"
     ]
   ],
   "_from": "base64-js@0.0.8",
@@ -40,7 +40,7 @@
   "_shasum": "1101e9544f4a76b1bc3b26d452ca96d7a35e7978",
   "_shrinkwrap": null,
   "_spec": "base64-js@0.0.8",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/plist",
   "author": {
     "name": "T. Jameson Little",
     "email": "t.jameson.little@gmail.com"
diff --git a/node_modules/big-integer/package.json b/node_modules/big-integer/package.json
index bfe5744..3d34fd1 100644
--- a/node_modules/big-integer/package.json
+++ b/node_modules/big-integer/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.6.7 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/bplist-parser"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/bplist-parser"
     ]
   ],
   "_from": "big-integer@>=1.6.7 <2.0.0",
@@ -44,7 +44,7 @@
   "_shasum": "3af1672fa62daf2d5ecafacf6e5aa0d25e02c1c8",
   "_shrinkwrap": null,
   "_spec": "big-integer@^1.6.7",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/bplist-parser",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/bplist-parser",
   "author": {
     "name": "Peter Olson",
     "email": "peter.e.c.olson+npm@gmail.com"
diff --git a/node_modules/bplist-parser/package.json b/node_modules/bplist-parser/package.json
index 89dfc8d..3b567db 100644
--- a/node_modules/bplist-parser/package.json
+++ b/node_modules/bplist-parser/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.1.0 <0.2.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "bplist-parser@>=0.1.0 <0.2.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
+  "_resolved": "http://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
   "_shasum": "d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6",
   "_shrinkwrap": null,
   "_spec": "bplist-parser@^0.1.0",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Joe Ferner",
     "email": "joe.ferner@nearinfinity.com"
diff --git a/node_modules/brace-expansion/LICENSE b/node_modules/brace-expansion/LICENSE
new file mode 100644
index 0000000..de32266
--- /dev/null
+++ b/node_modules/brace-expansion/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2013 Julian Gruber <ju...@juliangruber.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/brace-expansion/README.md b/node_modules/brace-expansion/README.md
index ed2ec1f..6b4e0e1 100644
--- a/node_modules/brace-expansion/README.md
+++ b/node_modules/brace-expansion/README.md
@@ -63,7 +63,7 @@ Valid expansions are:
 // {a,b,...}
 ```
 
-A comma seperated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
+A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
 
 ```js
 /^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
@@ -98,6 +98,12 @@ npm install brace-expansion
 - [Julian Gruber](https://github.com/juliangruber)
 - [Isaac Z. Schlueter](https://github.com/isaacs)
 
+## Sponsors
+
+This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)!
+
+Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)!
+
 ## License
 
 (MIT)
diff --git a/node_modules/brace-expansion/package.json b/node_modules/brace-expansion/package.json
index a8768dc..12d4525 100644
--- a/node_modules/brace-expansion/package.json
+++ b/node_modules/brace-expansion/package.json
@@ -10,23 +10,23 @@
         "spec": ">=1.1.7 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/minimatch"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/minimatch"
     ]
   ],
   "_from": "brace-expansion@>=1.1.7 <2.0.0",
-  "_id": "brace-expansion@1.1.8",
+  "_id": "brace-expansion@1.1.11",
   "_inCache": true,
   "_location": "/brace-expansion",
-  "_nodeVersion": "7.8.0",
+  "_nodeVersion": "9.0.0",
   "_npmOperationalInternal": {
     "host": "s3://npm-registry-packages",
-    "tmp": "tmp/brace-expansion-1.1.8.tgz_1497251980593_0.6575565172825009"
+    "tmp": "tmp/brace-expansion_1.1.11_1518248541320_0.33962849281003904"
   },
   "_npmUser": {
     "name": "juliangruber",
     "email": "julian@juliangruber.com"
   },
-  "_npmVersion": "4.2.0",
+  "_npmVersion": "5.5.1",
   "_phantomChildren": {},
   "_requested": {
     "raw": "brace-expansion@^1.1.7",
@@ -40,11 +40,11 @@
   "_requiredBy": [
     "/minimatch"
   ],
-  "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
-  "_shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292",
+  "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+  "_shasum": "3c7fcbf529d87226f3d2f52b966ff5271eb441dd",
   "_shrinkwrap": null,
   "_spec": "brace-expansion@^1.1.7",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/minimatch",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/minimatch",
   "author": {
     "name": "Julian Gruber",
     "email": "mail@juliangruber.com",
@@ -64,22 +64,25 @@
   },
   "directories": {},
   "dist": {
-    "shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292",
-    "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz"
+    "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+    "shasum": "3c7fcbf529d87226f3d2f52b966ff5271eb441dd",
+    "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+    "fileCount": 4,
+    "unpackedSize": 11059
   },
-  "gitHead": "8f59e68bd5c915a0d624e8e39354e1ccf672edf6",
+  "gitHead": "01a21de7441549d26ac0c0a9ff91385d16e5c21c",
   "homepage": "https://github.com/juliangruber/brace-expansion",
   "keywords": [],
   "license": "MIT",
   "main": "index.js",
   "maintainers": [
     {
-      "name": "juliangruber",
-      "email": "julian@juliangruber.com"
-    },
-    {
       "name": "isaacs",
       "email": "isaacs@npmjs.com"
+    },
+    {
+      "name": "juliangruber",
+      "email": "julian@juliangruber.com"
     }
   ],
   "name": "brace-expansion",
@@ -110,5 +113,5 @@
       "android-browser/4.2..latest"
     ]
   },
-  "version": "1.1.8"
+  "version": "1.1.11"
 }
diff --git a/node_modules/concat-map/package.json b/node_modules/concat-map/package.json
index 7b6bcac..9bdd311 100644
--- a/node_modules/concat-map/package.json
+++ b/node_modules/concat-map/package.json
@@ -10,7 +10,7 @@
         "spec": "0.0.1",
         "type": "version"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/brace-expansion"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/brace-expansion"
     ]
   ],
   "_from": "concat-map@0.0.1",
@@ -35,11 +35,11 @@
   "_requiredBy": [
     "/brace-expansion"
   ],
-  "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+  "_resolved": "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
   "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
   "_shrinkwrap": null,
   "_spec": "concat-map@0.0.1",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/brace-expansion",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/brace-expansion",
   "author": {
     "name": "James Halliday",
     "email": "mail@substack.net",
diff --git a/node_modules/cordova-common/.npmignore b/node_modules/cordova-common/.npmignore
deleted file mode 100644
index 5d14118..0000000
--- a/node_modules/cordova-common/.npmignore
+++ /dev/null
@@ -1,2 +0,0 @@
-spec
-coverage
diff --git a/node_modules/cordova-common/RELEASENOTES.md b/node_modules/cordova-common/RELEASENOTES.md
index faf7524..5dda362 100644
--- a/node_modules/cordova-common/RELEASENOTES.md
+++ b/node_modules/cordova-common/RELEASENOTES.md
@@ -20,6 +20,9 @@
 -->
 # Cordova-common Release Notes
 
+### 2.2.1 (Dec 14, 2017)
+* [CB-13674](https://issues.apache.org/jira/browse/CB-13674): updated dependencies
+
 ### 2.2.0 (Nov 22, 2017)
 * [CB-13471](https://issues.apache.org/jira/browse/CB-13471) File Provider fix belongs in cordova-common 
 * [CB-11244](https://issues.apache.org/jira/browse/CB-11244) Spot fix for upcoming `cordova-android@7` changes. https://github.com/apache/cordova-android/pull/389
diff --git a/node_modules/cordova-common/package.json b/node_modules/cordova-common/package.json
index 43b5548..065074e 100644
--- a/node_modules/cordova-common/package.json
+++ b/node_modules/cordova-common/package.json
@@ -10,17 +10,17 @@
         "spec": ">=2.2.0 <3.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "cordova-common@>=2.2.0 <3.0.0",
-  "_id": "cordova-common@2.2.0",
+  "_id": "cordova-common@2.2.1",
   "_inCache": true,
   "_location": "/cordova-common",
-  "_nodeVersion": "6.6.0",
+  "_nodeVersion": "8.9.3",
   "_npmOperationalInternal": {
     "host": "s3://npm-registry-packages",
-    "tmp": "tmp/cordova-common-2.2.0.tgz_1511807085778_0.6969101736322045"
+    "tmp": "tmp/cordova-common-2.2.1.tgz_1513711030961_0.7797101123724133"
   },
   "_npmUser": {
     "name": "stevegill",
@@ -40,11 +40,11 @@
   "_requiredBy": [
     "/"
   ],
-  "_resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.2.0.tgz",
-  "_shasum": "0d00f5bcd2bc6c7d06b1ddc0328aea3fe38bcf07",
+  "_resolved": "file:cordova-dist/tools/cordova-common-2.2.1.tgz",
+  "_shasum": "7009bc591729caa7285a588cfd6a7b54cd834f0c",
   "_shrinkwrap": null,
   "_spec": "cordova-common@^2.2.0",
-  "_where": "/Users/jbowser/cordova/cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "author": {
     "name": "Apache Software Foundation"
   },
@@ -84,8 +84,8 @@
   },
   "directories": {},
   "dist": {
-    "shasum": "0d00f5bcd2bc6c7d06b1ddc0328aea3fe38bcf07",
-    "tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.2.0.tgz"
+    "shasum": "7009bc591729caa7285a588cfd6a7b54cd834f0c",
+    "tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.2.1.tgz"
   },
   "engines": {
     "node": ">=4.0.0"
@@ -144,5 +144,5 @@
     "jasmine": "jasmine JASMINE_CONFIG_PATH=spec/support/jasmine.json",
     "test": "npm run eslint && npm run jasmine"
   },
-  "version": "2.2.0"
+  "version": "2.2.1"
 }
diff --git a/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js b/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js
index e0af8a9..1780d25 100644
--- a/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js
+++ b/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js
@@ -32,7 +32,7 @@
 var path = require('path');
 var et = require('elementtree');
 var ConfigKeeper = require('./ConfigKeeper');
-var CordovaLogger = require('../CordovaLogger');
+var events = require('../events');
 
 var mungeutil = require('./munge-util');
 var xml_helpers = require('../util/xml-helpers');
@@ -134,7 +134,7 @@ function add_plugin_changes (pluginInfo, plugin_vars, is_top_level, should_incre
                 ' cannot be added. <edit-config> changes in this plugin conflicts with <edit-config> changes in config.xml. Conflicts must be resolved before plugin can be added.');
         }
         if (plugin_force) {
-            CordovaLogger.get().log(CordovaLogger.WARN, '--force is used. edit-config will overwrite conflicts if any. Conflicting plugins may not work as expected.');
+            events.emit('warn', '--force is used. edit-config will overwrite conflicts if any. Conflicting plugins may not work as expected.');
 
             // remove conflicting munges
             var conflict_munge = mungeutil.decrement_munge(platform_config.config_munge, isConflictingInfo.conflictingMunge);
@@ -198,7 +198,7 @@ function add_config_changes (config, should_increment) {
                 }
             }
             if (Object.keys(isConflictingInfo.conflictingMunge.files).length !== 0) {
-                CordovaLogger.get().log(CordovaLogger.WARN, 'Conflict found, edit-config changes from config.xml will overwrite plugin.xml changes');
+                events.emit('warn', 'Conflict found, edit-config changes from config.xml will overwrite plugin.xml changes');
 
                 // remove conflicting plugin.xml munges
                 conflict_munge = mungeutil.decrement_munge(platform_config.config_munge, isConflictingInfo.conflictingMunge);
diff --git a/node_modules/cordova-common/src/ConfigParser/ConfigParser.js b/node_modules/cordova-common/src/ConfigParser/ConfigParser.js
index 9c3943e..095ccf2 100644
--- a/node_modules/cordova-common/src/ConfigParser/ConfigParser.js
+++ b/node_modules/cordova-common/src/ConfigParser/ConfigParser.js
@@ -31,7 +31,7 @@ function ConfigParser (path) {
         this.cdvNamespacePrefix = getCordovaNamespacePrefix(this.doc);
         et.register_namespace(this.cdvNamespacePrefix, 'http://cordova.apache.org/ns/1.0');
     } catch (e) {
-        console.error('Parsing ' + path + ' failed');
+        events.emit('error', 'Parsing ' + path + ' failed');
         throw e;
     }
     var r = this.doc.getroot();
diff --git a/node_modules/cordova-registry-mapper/package.json b/node_modules/cordova-registry-mapper/package.json
index 088dd04..e1b9437 100644
--- a/node_modules/cordova-registry-mapper/package.json
+++ b/node_modules/cordova-registry-mapper/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.1.8 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "cordova-registry-mapper@>=1.1.8 <2.0.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz",
+  "_resolved": "http://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz",
   "_shasum": "e244b9185b8175473bff6079324905115f83dc7c",
   "_shrinkwrap": null,
   "_spec": "cordova-registry-mapper@^1.1.8",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Steve Gill"
   },
diff --git a/node_modules/elementtree/package.json b/node_modules/elementtree/package.json
index ef3c3d4..e059c5f 100644
--- a/node_modules/elementtree/package.json
+++ b/node_modules/elementtree/package.json
@@ -10,7 +10,7 @@
         "spec": "0.1.6",
         "type": "version"
       },
-      "/Users/jbowser/cordova/cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "elementtree@0.1.6",
@@ -36,11 +36,11 @@
     "/",
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
+  "_resolved": "http://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
   "_shasum": "2ac4c46ea30516c8c4cbdb5e3ac7418e592de20c",
   "_shrinkwrap": null,
   "_spec": "elementtree@0.1.6",
-  "_where": "/Users/jbowser/cordova/cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "author": {
     "name": "Rackspace US, Inc."
   },
diff --git a/node_modules/glob/package.json b/node_modules/glob/package.json
index 6054ad3..556d695 100644
--- a/node_modules/glob/package.json
+++ b/node_modules/glob/package.json
@@ -10,7 +10,7 @@
         "spec": ">=5.0.13 <6.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "glob@>=5.0.13 <6.0.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+  "_resolved": "http://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
   "_shasum": "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1",
   "_shrinkwrap": null,
   "_spec": "glob@^5.0.13",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",
diff --git a/node_modules/inflight/package.json b/node_modules/inflight/package.json
index dbbf156..4b7e9e0 100644
--- a/node_modules/inflight/package.json
+++ b/node_modules/inflight/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.4 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/glob"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/glob"
     ]
   ],
   "_from": "inflight@>=1.0.4 <2.0.0",
@@ -40,11 +40,11 @@
   "_requiredBy": [
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+  "_resolved": "http://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
   "_shasum": "49bd6331d7d02d0c09bc910a1075ba8165b56df9",
   "_shrinkwrap": null,
   "_spec": "inflight@^1.0.4",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",
diff --git a/node_modules/inherits/package.json b/node_modules/inherits/package.json
index 4805cb6..d90363b 100644
--- a/node_modules/inherits/package.json
+++ b/node_modules/inherits/package.json
@@ -10,7 +10,7 @@
         "spec": ">=2.0.0 <3.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/glob"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/glob"
     ]
   ],
   "_from": "inherits@>=2.0.0 <3.0.0",
@@ -40,11 +40,11 @@
   "_requiredBy": [
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+  "_resolved": "http://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
   "_shasum": "633c2c83e3da42a502f52466022480f4208261de",
   "_shrinkwrap": null,
   "_spec": "inherits@2",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
   "browser": "./inherits_browser.js",
   "bugs": {
     "url": "https://github.com/isaacs/inherits/issues"
diff --git a/node_modules/lodash/package.json b/node_modules/lodash/package.json
index 2a0b543..6db3cf0 100644
--- a/node_modules/lodash/package.json
+++ b/node_modules/lodash/package.json
@@ -10,7 +10,7 @@
         "spec": ">=3.5.0 <4.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/xmlbuilder"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/xmlbuilder"
     ]
   ],
   "_from": "lodash@>=3.5.0 <4.0.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/xmlbuilder"
   ],
-  "_resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+  "_resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
   "_shasum": "5bf45e8e49ba4189e17d482789dfd15bd140b7b6",
   "_shrinkwrap": null,
   "_spec": "lodash@^3.5.0",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/xmlbuilder",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/xmlbuilder",
   "author": {
     "name": "John-David Dalton",
     "email": "john.david.dalton@gmail.com",
diff --git a/node_modules/minimatch/package.json b/node_modules/minimatch/package.json
index c37746f..edd7007 100644
--- a/node_modules/minimatch/package.json
+++ b/node_modules/minimatch/package.json
@@ -10,7 +10,7 @@
         "spec": ">=3.0.0 <4.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "minimatch@>=3.0.0 <4.0.0",
@@ -45,7 +45,7 @@
   "_shasum": "5166e286457f03306064be5497e8dbb0c3d32083",
   "_shrinkwrap": null,
   "_spec": "minimatch@^3.0.0",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",
diff --git a/node_modules/nopt/package.json b/node_modules/nopt/package.json
index 516dc8a..1b05aa1 100644
--- a/node_modules/nopt/package.json
+++ b/node_modules/nopt/package.json
@@ -10,7 +10,7 @@
         "spec": ">=3.0.1 <4.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "nopt@>=3.0.1 <4.0.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/"
   ],
-  "_resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+  "_resolved": "http://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
   "_shasum": "c6465dbf08abcd4db359317f79ac68a646b28ff9",
   "_shrinkwrap": null,
   "_spec": "nopt@^3.0.1",
-  "_where": "/Users/jbowser/cordova/cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",
diff --git a/node_modules/once/package.json b/node_modules/once/package.json
index 7211805..1106c2f 100644
--- a/node_modules/once/package.json
+++ b/node_modules/once/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.3.0 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/glob"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/glob"
     ]
   ],
   "_from": "once@>=1.3.0 <2.0.0",
@@ -41,11 +41,11 @@
     "/glob",
     "/inflight"
   ],
-  "_resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+  "_resolved": "http://registry.npmjs.org/once/-/once-1.4.0.tgz",
   "_shasum": "583b1aa775961d4b113ac17d9c50baef9dd76bd1",
   "_shrinkwrap": null,
   "_spec": "once@^1.3.0",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",
diff --git a/node_modules/os-homedir/package.json b/node_modules/os-homedir/package.json
index f9a51eb..f6146d5 100644
--- a/node_modules/os-homedir/package.json
+++ b/node_modules/os-homedir/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/osenv"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv"
     ]
   ],
   "_from": "os-homedir@>=1.0.0 <2.0.0",
@@ -40,11 +40,11 @@
   "_requiredBy": [
     "/osenv"
   ],
-  "_resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+  "_resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
   "_shasum": "ffbc4988336e0e833de0c168c7ef152121aa7fb3",
   "_shrinkwrap": null,
   "_spec": "os-homedir@^1.0.0",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/osenv",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",
diff --git a/node_modules/os-tmpdir/package.json b/node_modules/os-tmpdir/package.json
index b9d6541..7f81416 100644
--- a/node_modules/os-tmpdir/package.json
+++ b/node_modules/os-tmpdir/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/osenv"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv"
     ]
   ],
   "_from": "os-tmpdir@>=1.0.0 <2.0.0",
@@ -40,11 +40,11 @@
   "_requiredBy": [
     "/osenv"
   ],
-  "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+  "_resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
   "_shasum": "bbe67406c79aa85c5cfec766fe5734555dfa1274",
   "_shrinkwrap": null,
   "_spec": "os-tmpdir@^1.0.0",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/osenv",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",
diff --git a/node_modules/osenv/.npmignore b/node_modules/osenv/.npmignore
deleted file mode 100644
index 8c23dee..0000000
--- a/node_modules/osenv/.npmignore
+++ /dev/null
@@ -1,13 +0,0 @@
-*.swp
-.*.swp
-
-.DS_Store
-*~
-.project
-.settings
-npm-debug.log
-coverage.html
-.idea
-lib-cov
-
-node_modules
diff --git a/node_modules/osenv/.travis.yml b/node_modules/osenv/.travis.yml
deleted file mode 100644
index 99f2bbf..0000000
--- a/node_modules/osenv/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: node_js
-language: node_js
-node_js:
-  - '0.8'
-  - '0.10'
-  - '0.12'
-  - 'iojs'
-before_install:
-  - npm install -g npm@latest
diff --git a/node_modules/osenv/package.json b/node_modules/osenv/package.json
index 1ccdd7c..897cdd6 100644
--- a/node_modules/osenv/package.json
+++ b/node_modules/osenv/package.json
@@ -10,23 +10,23 @@
         "spec": ">=0.1.3 <0.2.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "osenv@>=0.1.3 <0.2.0",
-  "_id": "osenv@0.1.4",
+  "_id": "osenv@0.1.5",
   "_inCache": true,
   "_location": "/osenv",
-  "_nodeVersion": "6.5.0",
+  "_nodeVersion": "8.9.1",
   "_npmOperationalInternal": {
-    "host": "packages-18-east.internal.npmjs.com",
-    "tmp": "tmp/osenv-0.1.4.tgz_1481655889868_0.3980878754518926"
+    "host": "s3://npm-registry-packages",
+    "tmp": "tmp/osenv_0.1.5_1518743366771_0.010286411112286009"
   },
   "_npmUser": {
     "name": "isaacs",
     "email": "i@izs.me"
   },
-  "_npmVersion": "3.10.9",
+  "_npmVersion": "5.6.0-canary.11",
   "_phantomChildren": {},
   "_requested": {
     "raw": "osenv@^0.1.3",
@@ -40,11 +40,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
-  "_shasum": "42fe6d5953df06c8064be6f176c3d05aaaa34644",
+  "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+  "_shasum": "85cdfafaeb28e8677f416e287592b5f3f49ea410",
   "_shrinkwrap": null,
   "_spec": "osenv@^0.1.3",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",
@@ -59,16 +59,22 @@
   },
   "description": "Look up environment settings specific to different operating systems",
   "devDependencies": {
-    "tap": "^8.0.1"
+    "tap": "^11.1.0"
   },
   "directories": {
     "test": "test"
   },
   "dist": {
-    "shasum": "42fe6d5953df06c8064be6f176c3d05aaaa34644",
-    "tarball": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz"
+    "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+    "shasum": "85cdfafaeb28e8677f416e287592b5f3f49ea410",
+    "tarball": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+    "fileCount": 4,
+    "unpackedSize": 4889
   },
-  "gitHead": "ef718f0d20e38d45ec452b7faeefc692d3cd1062",
+  "files": [
+    "osenv.js"
+  ],
+  "gitHead": "1c642b8f5ddb1f99671a300a466bf42ffb9f5ea2",
   "homepage": "https://github.com/npm/osenv#readme",
   "keywords": [
     "environment",
@@ -83,20 +89,20 @@
   "main": "osenv.js",
   "maintainers": [
     {
-      "name": "isaacs",
-      "email": "i@izs.me"
+      "name": "iarna",
+      "email": "me@re-becca.org"
     },
     {
-      "name": "robertkowalski",
-      "email": "rok@kowalski.gd"
+      "name": "isaacs",
+      "email": "i@izs.me"
     },
     {
       "name": "othiym23",
       "email": "ogd@aoaioxxysz.net"
     },
     {
-      "name": "iarna",
-      "email": "me@re-becca.org"
+      "name": "robertkowalski",
+      "email": "rok@kowalski.gd"
     }
   ],
   "name": "osenv",
@@ -107,7 +113,10 @@
     "url": "git+https://github.com/npm/osenv.git"
   },
   "scripts": {
+    "postpublish": "git push origin --all; git push origin --tags",
+    "postversion": "npm publish",
+    "preversion": "npm test",
     "test": "tap test/*.js"
   },
-  "version": "0.1.4"
+  "version": "0.1.5"
 }
diff --git a/node_modules/osenv/test/unix.js b/node_modules/osenv/test/unix.js
deleted file mode 100644
index 94d4aaa..0000000
--- a/node_modules/osenv/test/unix.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// only run this test on windows
-// pretending to be another platform is too hacky, since it breaks
-// how the underlying system looks up module paths and runs
-// child processes, and all that stuff is cached.
-var tap = require('tap')
-
-
-if (process.platform === 'win32') {
-  tap.plan(0, 'Skip unix tests, this is not unix')
-  process.exit(0)
-}
-
-// like unix, but funny
-process.env.USER = 'sirUser'
-process.env.HOME = '/home/sirUser'
-process.env.HOSTNAME = 'my-machine'
-process.env.TMPDIR = '/tmpdir'
-process.env.TMP = '/tmp'
-process.env.TEMP = '/temp'
-process.env.PATH = '/opt/local/bin:/usr/local/bin:/usr/bin/:bin'
-process.env.PS1 = '(o_o) $ '
-process.env.EDITOR = 'edit'
-process.env.VISUAL = 'visualedit'
-process.env.SHELL = 'zsh'
-
-tap.test('basic unix sanity test', function (t) {
-  var osenv = require('../osenv.js')
-
-  t.equal(osenv.user(), process.env.USER)
-  t.equal(osenv.home(), process.env.HOME)
-  t.equal(osenv.hostname(), process.env.HOSTNAME)
-  t.same(osenv.path(), process.env.PATH.split(':'))
-  t.equal(osenv.prompt(), process.env.PS1)
-  t.equal(osenv.tmpdir(), process.env.TMPDIR)
-
-  // mildly evil, but it's for a test.
-  process.env.TMPDIR = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  t.equal(osenv.tmpdir(), process.env.TMP)
-
-  process.env.TMP = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  t.equal(osenv.tmpdir(), process.env.TEMP)
-
-  process.env.TEMP = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  osenv.home = function () { return null }
-  t.equal(osenv.tmpdir(), '/tmp')
-
-  t.equal(osenv.editor(), 'edit')
-  process.env.EDITOR = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  t.equal(osenv.editor(), 'visualedit')
-
-  process.env.VISUAL = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  t.equal(osenv.editor(), 'vi')
-
-  t.equal(osenv.shell(), 'zsh')
-  process.env.SHELL = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  t.equal(osenv.shell(), 'bash')
-
-  t.end()
-})
diff --git a/node_modules/osenv/test/windows.js b/node_modules/osenv/test/windows.js
deleted file mode 100644
index c9d837a..0000000
--- a/node_modules/osenv/test/windows.js
+++ /dev/null
@@ -1,74 +0,0 @@
-// only run this test on windows
-// pretending to be another platform is too hacky, since it breaks
-// how the underlying system looks up module paths and runs
-// child processes, and all that stuff is cached.
-if (process.platform !== 'win32') {
-  console.log('TAP version 13\n' +
-              '1..0 # Skip windows tests, this is not windows\n')
-  return
-}
-
-// load this before clubbing the platform name.
-var tap = require('tap')
-
-process.env.windir = 'c:\\windows'
-process.env.USERDOMAIN = 'some-domain'
-process.env.USERNAME = 'sirUser'
-process.env.USERPROFILE = 'C:\\Users\\sirUser'
-process.env.COMPUTERNAME = 'my-machine'
-process.env.TMPDIR = 'C:\\tmpdir'
-process.env.TMP = 'C:\\tmp'
-process.env.TEMP = 'C:\\temp'
-process.env.Path = 'C:\\Program Files\\;C:\\Binary Stuff\\bin'
-process.env.PROMPT = '(o_o) $ '
-process.env.EDITOR = 'edit'
-process.env.VISUAL = 'visualedit'
-process.env.ComSpec = 'some-com'
-
-tap.test('basic windows sanity test', function (t) {
-  var osenv = require('../osenv.js')
-
-  t.equal(osenv.user(),
-          process.env.USERDOMAIN + '\\' + process.env.USERNAME)
-  t.equal(osenv.home(), process.env.USERPROFILE)
-  t.equal(osenv.hostname(), process.env.COMPUTERNAME)
-  t.same(osenv.path(), process.env.Path.split(';'))
-  t.equal(osenv.prompt(), process.env.PROMPT)
-  t.equal(osenv.tmpdir(), process.env.TMPDIR)
-
-  // mildly evil, but it's for a test.
-  process.env.TMPDIR = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  t.equal(osenv.tmpdir(), process.env.TMP)
-
-  process.env.TMP = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  t.equal(osenv.tmpdir(), process.env.TEMP)
-
-  process.env.TEMP = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  osenv.home = function () { return null }
-  t.equal(osenv.tmpdir(), 'c:\\windows\\temp')
-
-  t.equal(osenv.editor(), 'edit')
-  process.env.EDITOR = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  t.equal(osenv.editor(), 'visualedit')
-
-  process.env.VISUAL = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  t.equal(osenv.editor(), 'notepad.exe')
-
-  t.equal(osenv.shell(), 'some-com')
-  process.env.ComSpec = ''
-  delete require.cache[require.resolve('../osenv.js')]
-  var osenv = require('../osenv.js')
-  t.equal(osenv.shell(), 'cmd')
-
-  t.end()
-})
diff --git a/node_modules/osenv/x.tap b/node_modules/osenv/x.tap
deleted file mode 100644
index 90d8472..0000000
--- a/node_modules/osenv/x.tap
+++ /dev/null
@@ -1,39 +0,0 @@
-TAP version 13
-    # Subtest: test/unix.js
-    TAP version 13
-        # Subtest: basic unix sanity test
-        ok 1 - should be equal
-        ok 2 - should be equal
-        ok 3 - should be equal
-        ok 4 - should be equivalent
-        ok 5 - should be equal
-        ok 6 - should be equal
-        ok 7 - should be equal
-        ok 8 - should be equal
-        ok 9 - should be equal
-        ok 10 - should be equal
-        ok 11 - should be equal
-        ok 12 - should be equal
-        ok 13 - should be equal
-        ok 14 - should be equal
-        1..14
-    ok 1 - basic unix sanity test # time=10.712ms
-
-    1..1
-    # time=18.422ms
-ok 1 - test/unix.js # time=169.827ms
-
-    # Subtest: test/windows.js
-    TAP version 13
-    1..0 # Skip windows tests, this is not windows
-
-ok 2 - test/windows.js # SKIP Skip windows tests, this is not windows
-
-    # Subtest: test/nada.js
-    TAP version 13
-    1..0
-
-ok 2 - test/nada.js
-
-1..3
-# time=274.247ms
diff --git a/node_modules/path-is-absolute/package.json b/node_modules/path-is-absolute/package.json
index 514e8ce..ee5a71f 100644
--- a/node_modules/path-is-absolute/package.json
+++ b/node_modules/path-is-absolute/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/glob"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/glob"
     ]
   ],
   "_from": "path-is-absolute@>=1.0.0 <2.0.0",
@@ -40,11 +40,11 @@
   "_requiredBy": [
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+  "_resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
   "_shasum": "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f",
   "_shrinkwrap": null,
   "_spec": "path-is-absolute@^1.0.0",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",
diff --git a/node_modules/plist/package.json b/node_modules/plist/package.json
index 15ac22a..1e02de3 100644
--- a/node_modules/plist/package.json
+++ b/node_modules/plist/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.2.0 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "plist@>=1.2.0 <2.0.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz",
+  "_resolved": "http://registry.npmjs.org/plist/-/plist-1.2.0.tgz",
   "_shasum": "084b5093ddc92506e259f874b8d9b1afb8c79593",
   "_shrinkwrap": null,
   "_spec": "plist@^1.2.0",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Nathan Rajlich",
     "email": "nathan@tootallnate.net"
diff --git a/node_modules/properties-parser/package.json b/node_modules/properties-parser/package.json
index fccf257..80840b5 100644
--- a/node_modules/properties-parser/package.json
+++ b/node_modules/properties-parser/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.2.3 <0.3.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "properties-parser@>=0.2.3 <0.3.0",
@@ -35,11 +35,11 @@
   "_requiredBy": [
     "/"
   ],
-  "_resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz",
+  "_resolved": "http://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz",
   "_shasum": "f7591255f707abbff227c7b56b637dbb0373a10f",
   "_shrinkwrap": null,
   "_spec": "properties-parser@^0.2.3",
-  "_where": "/Users/jbowser/cordova/cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "bugs": {
     "url": "https://github.com/xavi-/node-properties-parser/issues"
   },
diff --git a/node_modules/q/package.json b/node_modules/q/package.json
index 4110a74..bdd0fec 100644
--- a/node_modules/q/package.json
+++ b/node_modules/q/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.4.1 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "q@>=1.4.1 <2.0.0",
@@ -45,7 +45,7 @@
   "_shasum": "7e32f75b41381291d04611f1bf14109ac00651d7",
   "_shrinkwrap": null,
   "_spec": "q@^1.4.1",
-  "_where": "/Users/jbowser/cordova/cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "author": {
     "name": "Kris Kowal",
     "email": "kris@cixar.com",
diff --git a/node_modules/sax/package.json b/node_modules/sax/package.json
index e36ea8d..df67746 100644
--- a/node_modules/sax/package.json
+++ b/node_modules/sax/package.json
@@ -10,7 +10,7 @@
         "spec": "0.3.5",
         "type": "version"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/elementtree"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/elementtree"
     ]
   ],
   "_defaultsLoaded": true,
@@ -42,7 +42,7 @@
   "_shasum": "88fcfc1f73c0c8bbd5b7c776b6d3f3501eed073d",
   "_shrinkwrap": null,
   "_spec": "sax@0.3.5",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/elementtree",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/elementtree",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",
diff --git a/node_modules/semver/README.md b/node_modules/semver/README.md
index fd5151a..951c539 100644
--- a/node_modules/semver/README.md
+++ b/node_modules/semver/README.md
@@ -20,6 +20,8 @@ semver.clean('  =v1.2.3   ') // '1.2.3'
 semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
 semver.gt('1.2.3', '9.8.7') // false
 semver.lt('1.2.3', '9.8.7') // true
+semver.valid(semver.coerce('v2')) // '2.0.0'
+semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
 ```
 
 As a command-line utility:
@@ -52,6 +54,10 @@ Options:
 -l --loose
         Interpret versions and ranges loosely
 
+-c --coerce
+        Coerce a string into SemVer if possible
+        (does not imply --loose)
+
 Program exits successfully if any valid version satisfies
 all supplied ranges, and prints all satisfying versions.
 
@@ -364,3 +370,19 @@ satisfy the range.
 
 If you want to know if a version satisfies or does not satisfy a
 range, use the `satisfies(version, range)` function.
+
+### Coercion
+
+* `coerce(version)`: Coerces a string to semver if possible
+
+This aims to provide a very forgiving translation of a non-semver
+string to semver. It looks for the first digit in a string, and
+consumes all remaining characters which satisfy at least a partial semver
+(e.g., `1`, `1.2`, `1.2.3`) up to the max permitted length (256 characters).
+Longer versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`).
+All surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes `3.4.0`).
+Only text which lacks digits will fail coercion (`version one` is not valid).
+The maximum  length for any semver component considered for coercion is 16 characters;
+longer components will be ignored (`10000000000000000.4.7.4` becomes `4.7.4`).
+The maximum value for any semver component is `Integer.MAX_SAFE_INTEGER || (2**53 - 1)`;
+higher value components are invalid (`9999999999999999.4.7.4` is likely invalid).
diff --git a/node_modules/semver/bin/semver b/node_modules/semver/bin/semver
index c5f2e85..dddbcdf 100755
--- a/node_modules/semver/bin/semver
+++ b/node_modules/semver/bin/semver
@@ -12,6 +12,7 @@ var argv = process.argv.slice(2)
   , inc = null
   , version = require("../package.json").version
   , loose = false
+  , coerce = false
   , identifier = undefined
   , semver = require("../semver")
   , reverse = false
@@ -54,6 +55,9 @@ function main () {
       case "-r": case "--range":
         range.push(argv.shift())
         break
+      case "-c": case "--coerce":
+        coerce = true
+        break
       case "-h": case "--help": case "-?":
         return help()
       default:
@@ -62,8 +66,10 @@ function main () {
     }
   }
 
-  versions = versions.filter(function (v) {
-    return semver.valid(v, loose)
+  versions = versions.map(function (v) {
+    return coerce ? (semver.coerce(v) || {version: v}).version : v
+  }).filter(function (v) {
+    return semver.valid(v)
   })
   if (!versions.length) return fail()
   if (inc && (versions.length !== 1 || range.length))
@@ -122,6 +128,10 @@ function help () {
               ,"-l --loose"
               ,"        Interpret versions and ranges loosely"
               ,""
+              ,"-c --coerce"
+              ,"        Coerce a string into SemVer if possible"
+              ,"        (does not imply --loose)"
+              ,""
               ,"Program exits successfully if any valid version satisfies"
               ,"all supplied ranges, and prints all satisfying versions."
               ,""
diff --git a/node_modules/semver/package.json b/node_modules/semver/package.json
index cdda5a7..3541dc4 100644
--- a/node_modules/semver/package.json
+++ b/node_modules/semver/package.json
@@ -2,49 +2,50 @@
   "_args": [
     [
       {
-        "raw": "semver@^5.0.1",
+        "raw": "semver@^5.4.1",
         "scope": null,
         "escapedName": "semver",
         "name": "semver",
-        "rawSpec": "^5.0.1",
-        "spec": ">=5.0.1 <6.0.0",
+        "rawSpec": "^5.4.1",
+        "spec": ">=5.4.1 <6.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/android-versions"
     ]
   ],
-  "_from": "semver@>=5.0.1 <6.0.0",
-  "_id": "semver@5.4.1",
+  "_from": "semver@>=5.4.1 <6.0.0",
+  "_id": "semver@5.5.0",
   "_inCache": true,
   "_location": "/semver",
-  "_nodeVersion": "8.2.1",
+  "_nodeVersion": "8.9.1",
   "_npmOperationalInternal": {
     "host": "s3://npm-registry-packages",
-    "tmp": "tmp/semver-5.4.1.tgz_1500922107643_0.5125251261051744"
+    "tmp": "tmp/semver-5.5.0.tgz_1516130879707_0.30317740654572845"
   },
   "_npmUser": {
     "name": "isaacs",
     "email": "i@izs.me"
   },
-  "_npmVersion": "5.3.0",
+  "_npmVersion": "5.6.0",
   "_phantomChildren": {},
   "_requested": {
-    "raw": "semver@^5.0.1",
+    "raw": "semver@^5.4.1",
     "scope": null,
     "escapedName": "semver",
     "name": "semver",
-    "rawSpec": "^5.0.1",
-    "spec": ">=5.0.1 <6.0.0",
+    "rawSpec": "^5.4.1",
+    "spec": ">=5.4.1 <6.0.0",
     "type": "range"
   },
   "_requiredBy": [
+    "/android-versions",
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
-  "_shasum": "e059c09d8571f0540823733433505d3a2f00b18e",
+  "_resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+  "_shasum": "dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab",
   "_shrinkwrap": null,
-  "_spec": "semver@^5.0.1",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common",
+  "_spec": "semver@^5.4.1",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/android-versions",
   "bin": {
     "semver": "./bin/semver"
   },
@@ -58,16 +59,16 @@
   },
   "directories": {},
   "dist": {
-    "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
-    "shasum": "e059c09d8571f0540823733433505d3a2f00b18e",
-    "tarball": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz"
+    "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+    "shasum": "dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab",
+    "tarball": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz"
   },
   "files": [
     "bin",
     "range.bnf",
     "semver.js"
   ],
-  "gitHead": "0877c942a6af00edcda5c16fdd934684e1b20a1c",
+  "gitHead": "44cbc8482ac4f0f8d2de0abb7f8808056d2d55f9",
   "homepage": "https://github.com/npm/node-semver#readme",
   "license": "ISC",
   "main": "semver.js",
@@ -91,5 +92,5 @@
   "scripts": {
     "test": "tap test/*.js --cov -J"
   },
-  "version": "5.4.1"
+  "version": "5.5.0"
 }
diff --git a/node_modules/semver/range.bnf b/node_modules/semver/range.bnf
index 25ebd5c..d4c6ae0 100644
--- a/node_modules/semver/range.bnf
+++ b/node_modules/semver/range.bnf
@@ -3,10 +3,10 @@ logical-or ::= ( ' ' ) * '||' ( ' ' ) *
 range      ::= hyphen | simple ( ' ' simple ) * | ''
 hyphen     ::= partial ' - ' partial
 simple     ::= primitive | partial | tilde | caret
-primitive  ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial
+primitive  ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
 partial    ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
 xr         ::= 'x' | 'X' | '*' | nr
-nr         ::= '0' | ['1'-'9'] ( ['0'-'9'] ) *
+nr         ::= '0' | [1-9] ( [0-9] ) *
 tilde      ::= '~' partial
 caret      ::= '^' partial
 qualifier  ::= ( '-' pre )? ( '+' build )?
diff --git a/node_modules/semver/semver.js b/node_modules/semver/semver.js
index 389cb44..9cf9f6e 100644
--- a/node_modules/semver/semver.js
+++ b/node_modules/semver/semver.js
@@ -21,6 +21,9 @@ exports.SEMVER_SPEC_VERSION = '2.0.0';
 var MAX_LENGTH = 256;
 var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
 
+// Max safe segment length for coercion.
+var MAX_SAFE_COMPONENT_LENGTH = 16;
+
 // The actual regexps go on exports.re
 var re = exports.re = [];
 var src = exports.src = [];
@@ -156,6 +159,15 @@ src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$';
 var XRANGELOOSE = R++;
 src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$';
 
+// Coercion.
+// Extract anything that could conceivably be a part of a valid semver
+var COERCE = R++;
+src[COERCE] = '(?:^|[^\\d])' +
+              '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +
+              '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
+              '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
+              '(?:$|[^\\d])';
+
 // Tilde ranges.
 // Meaning is "reasonably at or greater than"
 var LONETILDE = R++;
@@ -1294,3 +1306,19 @@ function intersects(r1, r2, loose) {
   r2 = new Range(r2, loose)
   return r1.intersects(r2)
 }
+
+exports.coerce = coerce;
+function coerce(version) {
+  if (version instanceof SemVer)
+    return version;
+
+  if (typeof version !== 'string')
+    return null;
+
+  var match = version.match(re[COERCE]);
+
+  if (match == null)
+    return null;
+
+  return parse((match[1] || '0') + '.' + (match[2] || '0') + '.' + (match[3] || '0')); 
+}
diff --git a/node_modules/shelljs/package.json b/node_modules/shelljs/package.json
index 944ea68..8ffc64c 100644
--- a/node_modules/shelljs/package.json
+++ b/node_modules/shelljs/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.5.3 <0.6.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "shelljs@>=0.5.3 <0.6.0",
@@ -37,11 +37,11 @@
     "/",
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
+  "_resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
   "_shasum": "c54982b996c76ef0c1e6b59fbdc5825f5b713113",
   "_shrinkwrap": null,
   "_spec": "shelljs@^0.5.3",
-  "_where": "/Users/jbowser/cordova/cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "author": {
     "name": "Artur Adib",
     "email": "arturadib@gmail.com"
diff --git a/node_modules/underscore/package.json b/node_modules/underscore/package.json
index f5f9499..9fd176a 100644
--- a/node_modules/underscore/package.json
+++ b/node_modules/underscore/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.8.3 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "underscore@>=1.8.3 <2.0.0",
@@ -35,11 +35,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
+  "_resolved": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
   "_shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022",
   "_shrinkwrap": null,
   "_spec": "underscore@^1.8.3",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Jeremy Ashkenas",
     "email": "jeremy@documentcloud.org"
diff --git a/node_modules/unorm/package.json b/node_modules/unorm/package.json
index 8f24064..606ee3b 100644
--- a/node_modules/unorm/package.json
+++ b/node_modules/unorm/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.3.3 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "unorm@>=1.3.3 <2.0.0",
@@ -35,11 +35,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
+  "_resolved": "http://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
   "_shasum": "364200d5f13646ca8bcd44490271335614792300",
   "_shrinkwrap": null,
   "_spec": "unorm@^1.3.3",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Bjarke Walling",
     "email": "bwp@bwp.dk"
diff --git a/node_modules/util-deprecate/package.json b/node_modules/util-deprecate/package.json
index b09616d..86a6474 100644
--- a/node_modules/util-deprecate/package.json
+++ b/node_modules/util-deprecate/package.json
@@ -10,7 +10,7 @@
         "spec": "1.0.2",
         "type": "version"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/plist"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/plist"
     ]
   ],
   "_from": "util-deprecate@1.0.2",
@@ -40,7 +40,7 @@
   "_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf",
   "_shrinkwrap": null,
   "_spec": "util-deprecate@1.0.2",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/plist",
   "author": {
     "name": "Nathan Rajlich",
     "email": "nathan@tootallnate.net",
diff --git a/node_modules/wrappy/package.json b/node_modules/wrappy/package.json
index d83bb4f..7bc0665 100644
--- a/node_modules/wrappy/package.json
+++ b/node_modules/wrappy/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/inflight"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/inflight"
     ]
   ],
   "_from": "wrappy@>=1.0.0 <2.0.0",
@@ -41,11 +41,11 @@
     "/inflight",
     "/once"
   ],
-  "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+  "_resolved": "http://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
   "_shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f",
   "_shrinkwrap": null,
   "_spec": "wrappy@1",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/inflight",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/inflight",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",
diff --git a/node_modules/xmlbuilder/package.json b/node_modules/xmlbuilder/package.json
index 6553e48..3ca5042 100644
--- a/node_modules/xmlbuilder/package.json
+++ b/node_modules/xmlbuilder/package.json
@@ -10,7 +10,7 @@
         "spec": "4.0.0",
         "type": "version"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/plist"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/plist"
     ]
   ],
   "_from": "xmlbuilder@4.0.0",
@@ -39,7 +39,7 @@
   "_shasum": "98b8f651ca30aa624036f127d11cc66dc7b907a3",
   "_shrinkwrap": null,
   "_spec": "xmlbuilder@4.0.0",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/plist",
   "author": {
     "name": "Ozgur Ozcitak",
     "email": "oozcitak@gmail.com"
diff --git a/node_modules/xmldom/package.json b/node_modules/xmldom/package.json
index b6e4e7c..351ed6c 100644
--- a/node_modules/xmldom/package.json
+++ b/node_modules/xmldom/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.1.0 <0.2.0",
         "type": "range"
       },
-      "/Users/jbowser/cordova/cordova-android/node_modules/plist"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/plist"
     ]
   ],
   "_from": "xmldom@>=0.1.0 <0.2.0",
@@ -40,11 +40,11 @@
   "_requiredBy": [
     "/plist"
   ],
-  "_resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
+  "_resolved": "http://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
   "_shasum": "d501f97b3bdb403af8ef9ecc20573187aadac0e9",
   "_shrinkwrap": null,
   "_spec": "xmldom@0.1.x",
-  "_where": "/Users/jbowser/cordova/cordova-android/node_modules/plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/plist",
   "author": {
     "name": "jindw",
     "email": "jindw@xidea.org",

-- 
To stop receiving notification emails like this one, please contact
steven@apache.org.

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