CB-12003 updated node_modules

This commit is contained in:
Steve Gill 2016-10-17 10:50:30 -07:00
parent 2e37d2c253
commit 0b710a86a9
36 changed files with 602 additions and 299 deletions

1
node_modules/abbrev/package.json generated vendored
View File

@ -39,6 +39,7 @@
"type": "range" "type": "range"
}, },
"_requiredBy": [ "_requiredBy": [
"/istanbul",
"/nopt" "/nopt"
], ],
"_resolved": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", "_resolved": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",

17
node_modules/big-integer/.npmignore generated vendored Normal file
View File

@ -0,0 +1,17 @@
/.travis.yml
/.npmignore
/.gitignore
/spec
/benchmark
/big-integer*.tgz
/my.conf.js
/node_modules
/*.csproj*
/*.sh
/*.suo
/bin
/coverage
/*.bat
/obj
/Properties
/Web.*

View File

@ -301,7 +301,7 @@ var bigInt = (function (undefined) {
function multiplyKaratsuba(x, y) { function multiplyKaratsuba(x, y) {
var n = Math.max(x.length, y.length); var n = Math.max(x.length, y.length);
if (n <= 30) return multiplyLong(x, y); if (n <= 30) return multiplyLong(x, y);
n = Math.ceil(n / 2); n = Math.ceil(n / 2);
@ -822,6 +822,24 @@ var bigInt = (function (undefined) {
}; };
SmallInteger.prototype.isProbablePrime = BigInteger.prototype.isProbablePrime; SmallInteger.prototype.isProbablePrime = BigInteger.prototype.isProbablePrime;
BigInteger.prototype.modInv = function (n) {
var t = bigInt.zero, newT = bigInt.one, r = parseValue(n), newR = this.abs(), q, lastT, lastR;
while (!newR.equals(bigInt.zero)) {
q = r.divide(newR);
lastT = t;
lastR = r;
t = newT;
r = newR;
newT = lastT.subtract(q.multiply(newT));
newR = lastR.subtract(q.multiply(newR));
}
if (t.compare(0) === -1) {
t = t.add(n);
}
return t;
}
SmallInteger.prototype.modInv = BigInteger.prototype.modInv;
BigInteger.prototype.next = function () { BigInteger.prototype.next = function () {
var value = this.value; var value = this.value;
if (this.sign) { if (this.sign) {
@ -1114,7 +1132,7 @@ var bigInt = (function (undefined) {
return this.value; return this.value;
}; };
SmallInteger.prototype.toJSNumber = SmallInteger.prototype.valueOf; SmallInteger.prototype.toJSNumber = SmallInteger.prototype.valueOf;
function parseStringValue(v) { function parseStringValue(v) {
if (isPrecise(+v)) { if (isPrecise(+v)) {
var x = +v; var x = +v;
@ -1153,7 +1171,7 @@ var bigInt = (function (undefined) {
trim(r); trim(r);
return new BigInteger(r, sign); return new BigInteger(r, sign);
} }
function parseNumberValue(v) { function parseNumberValue(v) {
if (isPrecise(v)) { if (isPrecise(v)) {
if (v !== truncate(v)) throw new Error(v + " is not an integer."); if (v !== truncate(v)) throw new Error(v + " is not an integer.");

File diff suppressed because one or more lines are too long

24
node_modules/big-integer/LICENSE generated vendored
View File

@ -1,24 +0,0 @@
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
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 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.
For more information, please refer to <http://unlicense.org>

7
node_modules/big-integer/README.md generated vendored
View File

@ -280,6 +280,13 @@ Performs division and returns the remainder, disregarding the quotient. The sign
[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division) [View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division)
#### `modInv(mod)`
Finds the [multiplicative inverse](https://en.wikipedia.org/wiki/Modular_multiplicative_inverse) of the number modulo `mod`.
- `bigInt(3).modInv(11)` => `4`
- `bigInt(42).modInv(2017)` => `1969`
#### `modPow(exp, mod)` #### `modPow(exp, mod)`
Takes the number to the power `exp` modulo `mod`. Takes the number to the power `exp` modulo `mod`.

30
node_modules/big-integer/bower.json generated vendored Normal file
View File

@ -0,0 +1,30 @@
{
"name": "big-integer",
"description": "An arbitrary length integer library for Javascript",
"main": "./BigInteger.js",
"authors": [
"Peter Olson"
],
"license": "Unlicense",
"keywords": [
"math",
"big",
"bignum",
"bigint",
"biginteger",
"integer",
"arbitrary",
"precision",
"arithmetic"
],
"homepage": "https://github.com/peterolson/BigInteger.js",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"coverage",
"spec",
"tests"
]
}

View File

@ -14,20 +14,20 @@
] ]
], ],
"_from": "big-integer@>=1.6.7 <2.0.0", "_from": "big-integer@>=1.6.7 <2.0.0",
"_id": "big-integer@1.6.15", "_id": "big-integer@1.6.16",
"_inCache": true, "_inCache": true,
"_installable": true, "_installable": true,
"_location": "/big-integer", "_location": "/big-integer",
"_nodeVersion": "0.12.3", "_nodeVersion": "4.4.5",
"_npmOperationalInternal": { "_npmOperationalInternal": {
"host": "packages-12-west.internal.npmjs.com", "host": "packages-16-east.internal.npmjs.com",
"tmp": "tmp/big-integer-1.6.15.tgz_1460079231162_0.7087579960934818" "tmp": "tmp/big-integer-1.6.16.tgz_1473665148825_0.5824211346916854"
}, },
"_npmUser": { "_npmUser": {
"name": "peterolson", "name": "peterolson",
"email": "peter.e.c.olson+npm@gmail.com" "email": "peter.e.c.olson+npm@gmail.com"
}, },
"_npmVersion": "2.9.1", "_npmVersion": "2.15.5",
"_phantomChildren": {}, "_phantomChildren": {},
"_requested": { "_requested": {
"raw": "big-integer@^1.6.7", "raw": "big-integer@^1.6.7",
@ -41,8 +41,8 @@
"_requiredBy": [ "_requiredBy": [
"/bplist-parser" "/bplist-parser"
], ],
"_resolved": "http://registry.npmjs.org/big-integer/-/big-integer-1.6.15.tgz", "_resolved": "http://registry.npmjs.org/big-integer/-/big-integer-1.6.16.tgz",
"_shasum": "33d27d3b7388dfcc4b86d3130c10740cec01fb9e", "_shasum": "0ca30b58013db46b10084a09242ca1d8954724cc",
"_shrinkwrap": null, "_shrinkwrap": null,
"_spec": "big-integer@^1.6.7", "_spec": "big-integer@^1.6.7",
"_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/bplist-parser", "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/bplist-parser",
@ -68,13 +68,13 @@
}, },
"directories": {}, "directories": {},
"dist": { "dist": {
"shasum": "33d27d3b7388dfcc4b86d3130c10740cec01fb9e", "shasum": "0ca30b58013db46b10084a09242ca1d8954724cc",
"tarball": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.15.tgz" "tarball": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.16.tgz"
}, },
"engines": { "engines": {
"node": ">=0.6" "node": ">=0.6"
}, },
"gitHead": "cda5bcce74c3a4eb34951201d50c1b8776a56eca", "gitHead": "09b50ab4e701a2ec4d403fa3ecf12ae327227190",
"homepage": "https://github.com/peterolson/BigInteger.js#readme", "homepage": "https://github.com/peterolson/BigInteger.js#readme",
"keywords": [ "keywords": [
"math", "math",
@ -105,5 +105,5 @@
"scripts": { "scripts": {
"test": "karma start my.conf.js" "test": "karma start my.conf.js"
}, },
"version": "1.6.15" "version": "1.6.16"
} }

View File

@ -20,6 +20,19 @@
--> -->
# Cordova-common Release Notes # Cordova-common Release Notes
### 1.5.1 (Oct 12, 2016)
* [CB-12002](https://issues.apache.org/jira/browse/CB-12002) Add `getAllowIntents()` to `ConfigParser`
* [CB-11998](https://issues.apache.org/jira/browse/CB-11998) `cordova platform add` error with `cordova-common@1.5.0`
### 1.5.0 (Oct 06, 2016)
* [CB-11776](https://issues.apache.org/jira/browse/CB-11776) Add test case for different `edit-config` targets
* [CB-11908](https://issues.apache.org/jira/browse/CB-11908) Add `edit-config` to `config.xml`
* [CB-11936](https://issues.apache.org/jira/browse/CB-11936) Support four new **App Transport Security (ATS)** keys
* update `config.xml` location if it is a **Android Studio** project.
* use `array` methods and `object.keys` for iterating. avoiding `for-in` loops
* [CB-11517](https://issues.apache.org/jira/browse/CB-11517) Allow `.folder` matches
* [CB-11776](https://issues.apache.org/jira/browse/CB-11776) check `edit-config` target exists
### 1.4.1 (Aug 09, 2016) ### 1.4.1 (Aug 09, 2016)
* Add general purpose `ConfigParser.getAttribute` API * Add general purpose `ConfigParser.getAttribute` API
* [CB-11653](https://issues.apache.org/jira/browse/CB-11653) moved `findProjectRoot` from `cordova-lib` to `cordova-common` * [CB-11653](https://issues.apache.org/jira/browse/CB-11653) moved `findProjectRoot` from `cordova-lib` to `cordova-common`
@ -27,6 +40,9 @@
* [CB-11645](https://issues.apache.org/jira/browse/CB-11645) added check to see if `getEditConfig` exists before trying to use it * [CB-11645](https://issues.apache.org/jira/browse/CB-11645) added check to see if `getEditConfig` exists before trying to use it
* [CB-9825](https://issues.apache.org/jira/browse/CB-9825) framework tag spec parsing * [CB-9825](https://issues.apache.org/jira/browse/CB-9825) framework tag spec parsing
### 1.4.0 (Jul 12, 2016)
* [CB-11023](https://issues.apache.org/jira/browse/CB-11023) Add edit-config functionality
### 1.3.0 (May 12, 2016) ### 1.3.0 (May 12, 2016)
* [CB-11259](https://issues.apache.org/jira/browse/CB-11259): Improving prepare and build logging * [CB-11259](https://issues.apache.org/jira/browse/CB-11259): Improving prepare and build logging
* [CB-11194](https://issues.apache.org/jira/browse/CB-11194) Improve cordova load time * [CB-11194](https://issues.apache.org/jira/browse/CB-11194) Improve cordova load time

View File

@ -2,49 +2,49 @@
"_args": [ "_args": [
[ [
{ {
"raw": "cordova-common@^1.4.0", "raw": "cordova-common@^1.5.0",
"scope": null, "scope": null,
"escapedName": "cordova-common", "escapedName": "cordova-common",
"name": "cordova-common", "name": "cordova-common",
"rawSpec": "^1.4.0", "rawSpec": "^1.5.0",
"spec": ">=1.4.0 <2.0.0", "spec": ">=1.5.0 <2.0.0",
"type": "range" "type": "range"
}, },
"/Users/steveng/repo/cordova/cordova-android" "/Users/steveng/repo/cordova/cordova-android"
] ]
], ],
"_from": "cordova-common@>=1.4.0 <2.0.0", "_from": "cordova-common@>=1.5.0 <2.0.0",
"_id": "cordova-common@1.4.1", "_id": "cordova-common@1.5.1",
"_inCache": true, "_inCache": true,
"_installable": true, "_installable": true,
"_location": "/cordova-common", "_location": "/cordova-common",
"_nodeVersion": "6.2.2", "_nodeVersion": "6.6.0",
"_npmOperationalInternal": { "_npmOperationalInternal": {
"host": "packages-16-east.internal.npmjs.com", "host": "packages-12-west.internal.npmjs.com",
"tmp": "tmp/cordova-common-1.4.1.tgz_1471306335501_0.6723270947113633" "tmp": "tmp/cordova-common-1.5.1.tgz_1476725179180_0.39604957425035536"
}, },
"_npmUser": { "_npmUser": {
"name": "stevegill", "name": "stevegill",
"email": "stevengill97@gmail.com" "email": "stevengill97@gmail.com"
}, },
"_npmVersion": "3.9.5", "_npmVersion": "3.10.3",
"_phantomChildren": {}, "_phantomChildren": {},
"_requested": { "_requested": {
"raw": "cordova-common@^1.4.0", "raw": "cordova-common@^1.5.0",
"scope": null, "scope": null,
"escapedName": "cordova-common", "escapedName": "cordova-common",
"name": "cordova-common", "name": "cordova-common",
"rawSpec": "^1.4.0", "rawSpec": "^1.5.0",
"spec": ">=1.4.0 <2.0.0", "spec": ">=1.5.0 <2.0.0",
"type": "range" "type": "range"
}, },
"_requiredBy": [ "_requiredBy": [
"/" "/"
], ],
"_resolved": "file:cordova-dist-dev/CB-11690/cordova-common-1.4.1.tgz", "_resolved": "file:cordova-dist/tools/cordova-common-1.5.1.tgz",
"_shasum": "8b4f07b3199b398fff553b32bff66676ecd30ab9", "_shasum": "6770de0d6200ad6f94a1abe8939b5bd9ece139e3",
"_shrinkwrap": null, "_shrinkwrap": null,
"_spec": "cordova-common@^1.4.0", "_spec": "cordova-common@^1.5.0",
"_where": "/Users/steveng/repo/cordova/cordova-android", "_where": "/Users/steveng/repo/cordova/cordova-android",
"author": { "author": {
"name": "Apache Software Foundation" "name": "Apache Software Foundation"
@ -79,8 +79,8 @@
}, },
"directories": {}, "directories": {},
"dist": { "dist": {
"shasum": "8b4f07b3199b398fff553b32bff66676ecd30ab9", "shasum": "6770de0d6200ad6f94a1abe8939b5bd9ece139e3",
"tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-1.4.1.tgz" "tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-1.5.1.tgz"
}, },
"engineStrict": true, "engineStrict": true,
"engines": { "engines": {
@ -127,5 +127,5 @@
"jshint": "node node_modules/jshint/bin/jshint src && node node_modules/jshint/bin/jshint spec", "jshint": "node node_modules/jshint/bin/jshint src && node node_modules/jshint/bin/jshint spec",
"test": "npm run jshint && npm run jasmine" "test": "npm run jshint && npm run jasmine"
}, },
"version": "1.4.1" "version": "1.5.1"
} }

View File

@ -148,6 +148,11 @@ function add_plugin_changes(pluginInfo, plugin_vars, is_top_level, should_increm
} }
else { else {
var isConflictingInfo = is_conflicting(edit_config_changes, platform_config.config_munge, self, plugin_force); var isConflictingInfo = is_conflicting(edit_config_changes, platform_config.config_munge, self, plugin_force);
if (isConflictingInfo.conflictWithConfigxml) {
throw new Error(pluginInfo.id +
' 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) { 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.'); CordovaLogger.get().log(CordovaLogger.WARN, '--force is used. edit-config will overwrite conflicts if any. Conflicting plugins may not work as expected.');
@ -170,7 +175,67 @@ function add_plugin_changes(pluginInfo, plugin_vars, is_top_level, should_increm
config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars, edit_config_changes); config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars, edit_config_changes);
} }
} }
// global munge looks at all plugins' changes to config files
self = munge_helper(should_increment, self, platform_config, config_munge);
// Move to installed/dependent_plugins
self.platformJson.addPlugin(pluginInfo.id, plugin_vars || {}, is_top_level);
return self;
}
// Handle edit-config changes from config.xml
PlatformMunger.prototype.add_config_changes = add_config_changes;
function add_config_changes(config, should_increment) {
var self = this;
var platform_config = self.platformJson.root;
var config_munge;
var edit_config_changes = null;
if(config.getEditConfigs) {
edit_config_changes = config.getEditConfigs(self.platform);
}
if (!edit_config_changes || edit_config_changes.length === 0) {
// There are no edit-config changes to add, return here
return self;
}
else {
var isConflictingInfo = is_conflicting(edit_config_changes, platform_config.config_munge, self, true /*always force overwrite other edit-config*/);
if(isConflictingInfo.conflictFound) {
var conflict_munge;
var conflict_file;
if (Object.keys(isConflictingInfo.configxmlMunge.files).length !== 0) {
// silently remove conflicting config.xml munges so new munges can be added
conflict_munge = mungeutil.decrement_munge(platform_config.config_munge, isConflictingInfo.configxmlMunge);
for (conflict_file in conflict_munge.files) {
self.apply_file_munge(conflict_file, conflict_munge.files[conflict_file], /* remove = */ true);
}
}
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');
// remove conflicting plugin.xml munges
conflict_munge = mungeutil.decrement_munge(platform_config.config_munge, isConflictingInfo.conflictingMunge);
for (conflict_file in conflict_munge.files) {
self.apply_file_munge(conflict_file, conflict_munge.files[conflict_file], /* remove = */ true);
}
}
}
// Add config.xml edit-config munges
config_munge = self.generate_config_xml_munge(config, edit_config_changes, 'config.xml');
}
self = munge_helper(should_increment, self, platform_config, config_munge);
// Move to installed/dependent_plugins
return self;
}
function munge_helper(should_increment, self, platform_config, config_munge) {
// global munge looks at all changes to config files
// TODO: The should_increment param is only used by cordova-cli and is going away soon. // TODO: The should_increment param is only used by cordova-cli and is going away soon.
// If should_increment is set to false, avoid modifying the global_munge (use clone) // If should_increment is set to false, avoid modifying the global_munge (use clone)
@ -196,11 +261,10 @@ function add_plugin_changes(pluginInfo, plugin_vars, is_top_level, should_increm
}); });
/* jshint loopfunc:false */ /* jshint loopfunc:false */
} }
self.apply_file_munge(file, munge.files[file]); self.apply_file_munge(file, munge.files[file]);
} }
// Move to installed/dependent_plugins
self.platformJson.addPlugin(pluginInfo.id, plugin_vars || {}, is_top_level);
return self; return self;
} }
@ -221,6 +285,39 @@ function reapply_global_munge () {
return self; return self;
} }
// generate_plugin_config_munge
// Generate the munge object from config.xml
PlatformMunger.prototype.generate_config_xml_munge = generate_config_xml_munge;
function generate_config_xml_munge(config, edit_config_changes, type) {
var munge = { files: {} };
var changes = edit_config_changes;
var id;
if(!changes) {
return munge;
}
if (type === 'config.xml') {
id = type;
}
else {
id = config.id;
}
changes.forEach(function(change) {
change.xmls.forEach(function(xml) {
// 1. stringify each xml
var stringified = (new et.ElementTree(xml)).write({xml_declaration:false});
// 2. add into munge
if (change.mode) {
mungeutil.deep_add(munge, change.file, change.target, { xml: stringified, count: 1, mode: change.mode, id: id });
}
});
});
return munge;
}
// generate_plugin_config_munge // generate_plugin_config_munge
// Generate the munge object from plugin.xml + vars // Generate the munge object from plugin.xml + vars
@ -335,7 +432,9 @@ function generate_plugin_config_munge(pluginInfo, vars, edit_config_changes) {
} }
// 2. add into munge // 2. add into munge
if (change.mode) { if (change.mode) {
mungeutil.deep_add(munge, change.file, change.target, { xml: stringified, count: 1, mode: change.mode, plugin: pluginInfo.id }); if (change.mode !== 'remove') {
mungeutil.deep_add(munge, change.file, change.target, { xml: stringified, count: 1, mode: change.mode, plugin: pluginInfo.id });
}
} }
else { else {
mungeutil.deep_add(munge, change.target, change.parent, { xml: stringified, count: 1, after: change.after }); mungeutil.deep_add(munge, change.target, change.parent, { xml: stringified, count: 1, after: change.after });
@ -348,7 +447,9 @@ function generate_plugin_config_munge(pluginInfo, vars, edit_config_changes) {
function is_conflicting(editchanges, config_munge, self, force) { function is_conflicting(editchanges, config_munge, self, force) {
var files = config_munge.files; var files = config_munge.files;
var conflictFound = false; var conflictFound = false;
var conflictWithConfigxml = false;
var conflictingMunge = { files: {} }; var conflictingMunge = { files: {} };
var configxmlMunge = { files: {} };
var conflictingParent; var conflictingParent;
var conflictingPlugin; var conflictingPlugin;
@ -378,23 +479,43 @@ function is_conflicting(editchanges, config_munge, self, force) {
conflictingParent = editchange.target; conflictingParent = editchange.target;
} }
if (target.length !== 0) { if (target && target.length !== 0) {
// conflict has been found, exit and throw an error // conflict has been found
conflictFound = true; conflictFound = true;
if (!force) {
// since there has been modifications to the attributes at this target,
// the current plugin should not modify the attributes
conflictingPlugin = target[0].plugin;
return;
}
// need to find all conflicts when --force is used, track conflicting munges if (editchange.id === 'config.xml') {
mungeutil.deep_add(conflictingMunge, editchange.file, conflictingParent, target[0]); if (target[0].id === 'config.xml') {
// Keep track of config.xml/config.xml edit-config conflicts
mungeutil.deep_add(configxmlMunge, editchange.file, conflictingParent, target[0]);
}
else {
// Keep track of config.xml x plugin.xml edit-config conflicts
mungeutil.deep_add(conflictingMunge, editchange.file, conflictingParent, target[0]);
}
}
else {
if (target[0].id === 'config.xml') {
// plugin.xml cannot overwrite config.xml changes even if --force is used
conflictWithConfigxml = true;
return;
}
if (force) {
// Need to find all conflicts when --force is used, track conflicting munges
mungeutil.deep_add(conflictingMunge, editchange.file, conflictingParent, target[0]);
}
else {
// plugin cannot overwrite other plugin changes without --force
conflictingPlugin = target[0].plugin;
return;
}
}
} }
} }
}); });
return {conflictFound: conflictFound, conflictingPlugin: conflictingPlugin, conflictingMunge: conflictingMunge}; return {conflictFound: conflictFound, conflictingPlugin: conflictingPlugin, conflictingMunge: conflictingMunge,
configxmlMunge: configxmlMunge, conflictWithConfigxml:conflictWithConfigxml};
} }
// Go over the prepare queue and apply the config munges for each plugin // Go over the prepare queue and apply the config munges for each plugin

View File

@ -110,6 +110,9 @@ ConfigFile.prototype.graft_child = function ConfigFile_graft_child(selector, xml
case 'overwrite': case 'overwrite':
result = modules.xml_helpers.graftXMLOverwrite(self.data, xml_to_graft, selector, xml_child); result = modules.xml_helpers.graftXMLOverwrite(self.data, xml_to_graft, selector, xml_child);
break; break;
case 'remove':
result= true;
break;
default: default:
result = modules.xml_helpers.graftXML(self.data, xml_to_graft, selector, xml_child.after); result = modules.xml_helpers.graftXML(self.data, xml_to_graft, selector, xml_child.after);
} }
@ -137,6 +140,9 @@ ConfigFile.prototype.prune_child = function ConfigFile_prune_child(selector, xml
case 'overwrite': case 'overwrite':
result = modules.xml_helpers.pruneXMLRestore(self.data, selector, xml_child); result = modules.xml_helpers.pruneXMLRestore(self.data, selector, xml_child);
break; break;
case 'remove':
result = modules.xml_helpers.prunXMLRemove(self.data, selector, xml_to_graft);
break;
default: default:
result = modules.xml_helpers.pruneXML(self.data, xml_to_graft, selector); result = modules.xml_helpers.pruneXML(self.data, xml_to_graft, selector);
} }
@ -193,6 +199,12 @@ function resolveConfigFilePath(project_dir, platform, file) {
return filepath; return filepath;
} }
// XXX this checks for android studio projects
// only if none of the options above are satisfied does this get called
if(platform === 'android' && !fs.existsSync(filepath)) {
filepath = path.join(project_dir, 'app', 'src', 'main', 'res', 'xml', 'config.xml');
}
// None of the special cases matched, returning project_dir/file. // None of the special cases matched, returning project_dir/file.
return filepath; return filepath;
} }

View File

@ -448,10 +448,19 @@ ConfigParser.prototype = {
return accesses.map(function(access){ return accesses.map(function(access){
var minimum_tls_version = access.attrib['minimum-tls-version']; /* String */ var minimum_tls_version = access.attrib['minimum-tls-version']; /* String */
var requires_forward_secrecy = access.attrib['requires-forward-secrecy']; /* Boolean */ var requires_forward_secrecy = access.attrib['requires-forward-secrecy']; /* Boolean */
var requires_certificate_transparency = access.attrib['requires-certificate-transparency']; /* Boolean */
var allows_arbitrary_loads_in_web_content = access.attrib['allows-arbitrary-loads-in-web-content']; /* Boolean */
var allows_arbitrary_loads_in_media = access.attrib['allows-arbitrary-loads-in-media']; /* Boolean */
var allows_local_networking = access.attrib['allows-local-networking']; /* Boolean */
return { return {
'origin': access.attrib.origin, 'origin': access.attrib.origin,
'minimum_tls_version': minimum_tls_version, 'minimum_tls_version': minimum_tls_version,
'requires_forward_secrecy' : requires_forward_secrecy 'requires_forward_secrecy' : requires_forward_secrecy,
'requires_certificate_transparency' : requires_certificate_transparency,
'allows_arbitrary_loads_in_web_content' : allows_arbitrary_loads_in_web_content,
'allows_arbitrary_loads_in_media' : allows_arbitrary_loads_in_media,
'allows_local_networking' : allows_local_networking
}; };
}); });
}, },
@ -461,13 +470,44 @@ ConfigParser.prototype = {
return allow_navigations.map(function(allow_navigation){ return allow_navigations.map(function(allow_navigation){
var minimum_tls_version = allow_navigation.attrib['minimum-tls-version']; /* String */ var minimum_tls_version = allow_navigation.attrib['minimum-tls-version']; /* String */
var requires_forward_secrecy = allow_navigation.attrib['requires-forward-secrecy']; /* Boolean */ var requires_forward_secrecy = allow_navigation.attrib['requires-forward-secrecy']; /* Boolean */
var requires_certificate_transparency = allow_navigation.attrib['requires-certificate-transparency']; /* Boolean */
return { return {
'href': allow_navigation.attrib.href, 'href': allow_navigation.attrib.href,
'minimum_tls_version': minimum_tls_version, 'minimum_tls_version': minimum_tls_version,
'requires_forward_secrecy' : requires_forward_secrecy 'requires_forward_secrecy' : requires_forward_secrecy,
'requires_certificate_transparency' : requires_certificate_transparency
}; };
}); });
}, },
/* Get all the allow-intent tags */
getAllowIntents: function() {
var allow_intents = this.doc.findall('./allow-intent');
return allow_intents.map(function(allow_intent){
return {
'href': allow_intent.attrib.href
};
});
},
/* Get all edit-config tags */
getEditConfigs: function(platform) {
var platform_tag = this.doc.find('./platform[@name="' + platform + '"]');
var platform_edit_configs = platform_tag ? platform_tag.findall('edit-config') : [];
var edit_configs = this.doc.findall('edit-config').concat(platform_edit_configs);
return edit_configs.map(function(tag) {
var editConfig =
{
file : tag.attrib['file'],
target : tag.attrib['target'],
mode : tag.attrib['mode'],
id : 'config.xml',
xmls : tag.getchildren()
};
return editConfig;
});
},
write:function() { write:function() {
fs.writeFileSync(this.path, this.doc.write({indent: 4}), 'utf-8'); fs.writeFileSync(this.path, this.doc.write({indent: 4}), 'utf-8');
} }

View File

@ -285,14 +285,14 @@ function mergeAndUpdateDir(sourceDirs, targetDir, options, log) {
} }
// Scan the files in each of the source directories. // Scan the files in each of the source directories.
var sourceMaps = []; var sourceMaps = sourceDirs.map(function (sourceDir) {
for (var i in sourceDirs) { return path.join(rootDir, sourceDir);
var sourceFullPath = path.join(rootDir, sourceDirs[i]); }).map(function (sourcePath) {
if (!fs.existsSync(sourceFullPath)) { if (!fs.existsSync(sourcePath)) {
throw new Error("Source directory does not exist: " + sourceDirs[i]); throw new Error("Source directory does not exist: " + sourcePath);
} }
sourceMaps[i] = mapDirectory(rootDir, sourceDirs[i], include, exclude); return mapDirectory(rootDir, path.relative(rootDir, sourcePath), include, exclude);
} });
// Scan the files in the target directory, if it exists. // Scan the files in the target directory, if it exists.
var targetMap = {}; var targetMap = {};
@ -331,46 +331,40 @@ function mapDirectory(rootDir, subDir, include, exclude) {
function mapSubdirectory(rootDir, subDir, relativeDir, include, exclude, dirMap) { function mapSubdirectory(rootDir, subDir, relativeDir, include, exclude, dirMap) {
var itemMapped = false; var itemMapped = false;
var items = fs.readdirSync(path.join(rootDir, subDir, relativeDir)); var items = fs.readdirSync(path.join(rootDir, subDir, relativeDir));
for (var i in items) {
var relativePath = path.join(relativeDir, items[i]);
// Skip any files or directories (and everything under) that match an exclude glob. items.forEach(function(item) {
if (matchGlobArray(relativePath, exclude)) { var relativePath = path.join(relativeDir, item);
continue; if(!matchGlobArray(relativePath, exclude)) {
} // Stats obtained here (required at least to know where to recurse in directories)
// are saved for later, where the modified times may also be used. This minimizes
// the number of file I/O operations performed.
var fullPath = path.join(rootDir, subDir, relativePath);
var stats = fs.statSync(fullPath);
// Stats obtained here (required at least to know where to recurse in directories) if (stats.isDirectory()) {
// are saved for later, where the modified times may also be used. This minimizes // Directories are included if either something under them is included or they
// the number of file I/O operations performed. // match an include glob.
var fullPath = path.join(rootDir, subDir, relativePath); if (mapSubdirectory(rootDir, subDir, relativePath, include, exclude, dirMap) ||
var stats = fs.statSync(fullPath); matchGlobArray(relativePath, include)) {
dirMap[relativePath] = { subDir: subDir, stats: stats };
if (stats.isDirectory()) { itemMapped = true;
// Directories are included if either something under them is included or they }
// match an include glob. } else if (stats.isFile()) {
if (mapSubdirectory(rootDir, subDir, relativePath, include, exclude, dirMap) || // Files are included only if they match an include glob.
matchGlobArray(relativePath, include)) { if (matchGlobArray(relativePath, include)) {
dirMap[relativePath] = { subDir: subDir, stats: stats }; dirMap[relativePath] = { subDir: subDir, stats: stats };
itemMapped = true; itemMapped = true;
} }
} else if (stats.isFile()) {
// Files are included only if they match an include glob.
if (matchGlobArray(relativePath, include)) {
dirMap[relativePath] = { subDir: subDir, stats: stats };
itemMapped = true;
} }
} }
} });
return itemMapped; return itemMapped;
} }
function matchGlobArray(path, globs) { function matchGlobArray(path, globs) {
for (var i in globs) { return globs.some(function(elem) {
if (minimatch(path, globs[i])) { return minimatch(path, elem, {dot:true});
return true; });
}
}
return false;
} }
} }
@ -384,7 +378,7 @@ function mergePathMaps(sourceMaps, targetMap, targetDir) {
// Target stats will be filled in below for targets that exist. // Target stats will be filled in below for targets that exist.
var pathMap = {}; var pathMap = {};
sourceMaps.forEach(function (sourceMap) { sourceMaps.forEach(function (sourceMap) {
for (var sourceSubPath in sourceMap) { Object.keys(sourceMap).forEach(function(sourceSubPath){
var sourceEntry = sourceMap[sourceSubPath]; var sourceEntry = sourceMap[sourceSubPath];
pathMap[sourceSubPath] = { pathMap[sourceSubPath] = {
targetPath: path.join(targetDir, sourceSubPath), targetPath: path.join(targetDir, sourceSubPath),
@ -392,12 +386,12 @@ function mergePathMaps(sourceMaps, targetMap, targetDir) {
sourcePath: path.join(sourceEntry.subDir, sourceSubPath), sourcePath: path.join(sourceEntry.subDir, sourceSubPath),
sourceStats: sourceEntry.stats sourceStats: sourceEntry.stats
}; };
} });
}); });
// Fill in target stats for targets that exist, and create entries // Fill in target stats for targets that exist, and create entries
// for targets that don't have any corresponding sources. // for targets that don't have any corresponding sources.
for (var subPath in targetMap) { Object.keys(targetMap).forEach(function(subPath){
var entry = pathMap[subPath]; var entry = pathMap[subPath];
if (entry) { if (entry) {
entry.targetStats = targetMap[subPath].stats; entry.targetStats = targetMap[subPath].stats;
@ -409,7 +403,7 @@ function mergePathMaps(sourceMaps, targetMap, targetDir) {
sourceStats: null sourceStats: null
}; };
} }
} });
return pathMap; return pathMap;
} }

View File

@ -160,6 +160,23 @@ module.exports = {
return true; return true;
}, },
prunXMLRemove: function(doc, selector, nodes) {
var target = module.exports.resolveParent(doc, selector);
if (!target) return false;
nodes.forEach(function (node) {
var attributes = node.attrib;
for (var attribute in attributes) {
if (target.attrib[attribute]) {
delete target.attrib[attribute];
}
}
});
return true;
},
parseElementtreeSync: function (filename) { parseElementtreeSync: function (filename) {
var contents = fs.readFileSync(filename, 'utf-8'); var contents = fs.readFileSync(filename, 'utf-8');

3
node_modules/glob/package.json generated vendored
View File

@ -35,7 +35,8 @@
"type": "range" "type": "range"
}, },
"_requiredBy": [ "_requiredBy": [
"/cordova-common" "/cordova-common",
"/istanbul"
], ],
"_resolved": "http://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "_resolved": "http://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"_shasum": "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1", "_shasum": "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1",

34
node_modules/inflight/inflight.js generated vendored
View File

@ -19,18 +19,28 @@ function makeres (key) {
var cbs = reqs[key] var cbs = reqs[key]
var len = cbs.length var len = cbs.length
var args = slice(arguments) var args = slice(arguments)
for (var i = 0; i < len; i++) {
cbs[i].apply(null, args) // XXX It's somewhat ambiguous whether a new callback added in this
} // pass should be queued for later execution if something in the
if (cbs.length > len) { // list of callbacks throws, or if it should just be discarded.
// added more in the interim. // However, it's such an edge case that it hardly matters, and either
// de-zalgo, just in case, but don't call again. // choice is likely as surprising as the other.
cbs.splice(0, len) // As it happens, we do go ahead and schedule it for later execution.
process.nextTick(function () { try {
RES.apply(null, args) for (var i = 0; i < len; i++) {
}) cbs[i].apply(null, args)
} else { }
delete reqs[key] } finally {
if (cbs.length > len) {
// added more in the interim.
// de-zalgo, just in case, but don't call again.
cbs.splice(0, len)
process.nextTick(function () {
RES.apply(null, args)
})
} else {
delete reqs[key]
}
} }
}) })
} }

31
node_modules/inflight/package.json generated vendored
View File

@ -14,20 +14,20 @@
] ]
], ],
"_from": "inflight@>=1.0.4 <2.0.0", "_from": "inflight@>=1.0.4 <2.0.0",
"_id": "inflight@1.0.5", "_id": "inflight@1.0.6",
"_inCache": true, "_inCache": true,
"_installable": true, "_installable": true,
"_location": "/inflight", "_location": "/inflight",
"_nodeVersion": "5.10.1", "_nodeVersion": "6.5.0",
"_npmOperationalInternal": { "_npmOperationalInternal": {
"host": "packages-12-west.internal.npmjs.com", "host": "packages-16-east.internal.npmjs.com",
"tmp": "tmp/inflight-1.0.5.tgz_1463529611443_0.00041943578980863094" "tmp": "tmp/inflight-1.0.6.tgz_1476330807696_0.10388551792129874"
}, },
"_npmUser": { "_npmUser": {
"name": "zkat", "name": "isaacs",
"email": "kat@sykosomatic.org" "email": "i@izs.me"
}, },
"_npmVersion": "3.9.1", "_npmVersion": "3.10.7",
"_phantomChildren": {}, "_phantomChildren": {},
"_requested": { "_requested": {
"raw": "inflight@^1.0.4", "raw": "inflight@^1.0.4",
@ -39,10 +39,11 @@
"type": "range" "type": "range"
}, },
"_requiredBy": [ "_requiredBy": [
"/cli/glob",
"/glob" "/glob"
], ],
"_resolved": "http://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", "_resolved": "http://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"_shasum": "db3204cd5a9de2e6cd890b85c6e2f66bcf4f620a", "_shasum": "49bd6331d7d02d0c09bc910a1075ba8165b56df9",
"_shrinkwrap": null, "_shrinkwrap": null,
"_spec": "inflight@^1.0.4", "_spec": "inflight@^1.0.4",
"_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob", "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
@ -60,17 +61,17 @@
}, },
"description": "Add callbacks to requests in flight to avoid async duplication", "description": "Add callbacks to requests in flight to avoid async duplication",
"devDependencies": { "devDependencies": {
"tap": "^1.2.0" "tap": "^7.1.2"
}, },
"directories": {}, "directories": {},
"dist": { "dist": {
"shasum": "db3204cd5a9de2e6cd890b85c6e2f66bcf4f620a", "shasum": "49bd6331d7d02d0c09bc910a1075ba8165b56df9",
"tarball": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz" "tarball": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
}, },
"files": [ "files": [
"inflight.js" "inflight.js"
], ],
"gitHead": "559e37b4f6327fca797fe8d7fe8ed6d9cae08821", "gitHead": "a547881738c8f57b27795e584071d67cf6ac1a57",
"homepage": "https://github.com/isaacs/inflight", "homepage": "https://github.com/isaacs/inflight",
"license": "ISC", "license": "ISC",
"main": "inflight.js", "main": "inflight.js",
@ -100,7 +101,7 @@
"url": "git+https://github.com/npm/inflight.git" "url": "git+https://github.com/npm/inflight.git"
}, },
"scripts": { "scripts": {
"test": "tap test.js" "test": "tap test.js --100"
}, },
"version": "1.0.5" "version": "1.0.6"
} }

8
node_modules/inherits/inherits.js generated vendored
View File

@ -1 +1,7 @@
module.exports = require('util').inherits try {
var util = require('util');
if (typeof util.inherits !== 'function') throw '';
module.exports = util.inherits;
} catch (e) {
module.exports = require('./inherits_browser.js');
}

33
node_modules/inherits/package.json generated vendored
View File

@ -14,15 +14,20 @@
] ]
], ],
"_from": "inherits@>=2.0.0 <3.0.0", "_from": "inherits@>=2.0.0 <3.0.0",
"_id": "inherits@2.0.1", "_id": "inherits@2.0.3",
"_inCache": true, "_inCache": true,
"_installable": true, "_installable": true,
"_location": "/inherits", "_location": "/inherits",
"_nodeVersion": "6.5.0",
"_npmOperationalInternal": {
"host": "packages-16-east.internal.npmjs.com",
"tmp": "tmp/inherits-2.0.3.tgz_1473295776489_0.08142363070510328"
},
"_npmUser": { "_npmUser": {
"name": "isaacs", "name": "isaacs",
"email": "i@izs.me" "email": "i@izs.me"
}, },
"_npmVersion": "1.3.8", "_npmVersion": "3.10.7",
"_phantomChildren": {}, "_phantomChildren": {},
"_requested": { "_requested": {
"raw": "inherits@2", "raw": "inherits@2",
@ -34,10 +39,13 @@
"type": "range" "type": "range"
}, },
"_requiredBy": [ "_requiredBy": [
"/glob" "/cli/glob",
"/fileset/glob",
"/glob",
"/readable-stream"
], ],
"_resolved": "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "_resolved": "http://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"_shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1", "_shasum": "633c2c83e3da42a502f52466022480f4208261de",
"_shrinkwrap": null, "_shrinkwrap": null,
"_spec": "inherits@2", "_spec": "inherits@2",
"_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob", "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
@ -47,12 +55,19 @@
}, },
"dependencies": {}, "dependencies": {},
"description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
"devDependencies": {}, "devDependencies": {
"tap": "^7.1.0"
},
"directories": {}, "directories": {},
"dist": { "dist": {
"shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1", "shasum": "633c2c83e3da42a502f52466022480f4208261de",
"tarball": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" "tarball": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
}, },
"files": [
"inherits.js",
"inherits_browser.js"
],
"gitHead": "e05d0fb27c61a3ec687214f0476386b765364d5f",
"homepage": "https://github.com/isaacs/inherits#readme", "homepage": "https://github.com/isaacs/inherits#readme",
"keywords": [ "keywords": [
"inheritance", "inheritance",
@ -82,5 +97,5 @@
"scripts": { "scripts": {
"test": "node test" "test": "node test"
}, },
"version": "2.0.1" "version": "2.0.3"
} }

25
node_modules/inherits/test.js generated vendored
View File

@ -1,25 +0,0 @@
var inherits = require('./inherits.js')
var assert = require('assert')
function test(c) {
assert(c.constructor === Child)
assert(c.constructor.super_ === Parent)
assert(Object.getPrototypeOf(c) === Child.prototype)
assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype)
assert(c instanceof Child)
assert(c instanceof Parent)
}
function Child() {
Parent.call(this)
test(this)
}
function Parent() {}
inherits(Child, Parent)
var c = new Child
test(c)
console.log('ok')

View File

@ -39,8 +39,10 @@
"type": "range" "type": "range"
}, },
"_requiredBy": [ "_requiredBy": [
"/cli/glob",
"/cordova-common", "/cordova-common",
"/glob" "/glob",
"/jshint"
], ],
"_resolved": "http://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", "_resolved": "http://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
"_shasum": "2a4e4090b96b2db06a9d7df01055a62a77c9b774", "_shasum": "2a4e4090b96b2db06a9d7df01055a62a77c9b774",

3
node_modules/nopt/package.json generated vendored
View File

@ -35,7 +35,8 @@
"type": "range" "type": "range"
}, },
"_requiredBy": [ "_requiredBy": [
"/" "/",
"/istanbul"
], ],
"_resolved": "http://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "_resolved": "http://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"_shasum": "c6465dbf08abcd4db359317f79ac68a646b28ff9", "_shasum": "c6465dbf08abcd4db359317f79ac68a646b28ff9",

28
node_modules/once/README.md generated vendored
View File

@ -49,3 +49,31 @@ function load (cb) {
}) })
} }
``` ```
## `once.strict(func)`
Throw an error if the function is called twice.
Some functions are expected to be called only once. Using `once` for them would
potentially hide logical errors.
In the example below, the `greet` function has to call the callback only once:
```javascript
function greet (name, cb) {
// return is missing from the if statement
// when no name is passed, the callback is called twice
if (!name) cb('Hello anonymous')
cb('Hello ' + name)
}
function log (msg) {
console.log(msg)
}
// this will print 'Hello anonymous' but the logical error will be missed
greet(null, once(msg))
// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time
greet(null, once.strict(msg))
```

21
node_modules/once/once.js generated vendored
View File

@ -1,5 +1,6 @@
var wrappy = require('wrappy') var wrappy = require('wrappy')
module.exports = wrappy(once) module.exports = wrappy(once)
module.exports.strict = wrappy(onceStrict)
once.proto = once(function () { once.proto = once(function () {
Object.defineProperty(Function.prototype, 'once', { Object.defineProperty(Function.prototype, 'once', {
@ -8,6 +9,13 @@ once.proto = once(function () {
}, },
configurable: true configurable: true
}) })
Object.defineProperty(Function.prototype, 'onceStrict', {
value: function () {
return onceStrict(this)
},
configurable: true
})
}) })
function once (fn) { function once (fn) {
@ -19,3 +27,16 @@ function once (fn) {
f.called = false f.called = false
return f return f
} }
function onceStrict (fn) {
var f = function () {
if (f.called)
throw new Error(f.onceError)
f.called = true
return f.value = fn.apply(this, arguments)
}
var name = fn.name || 'Function wrapped with `once`'
f.onceError = name + " shouldn't be called more than once"
f.called = false
return f
}

28
node_modules/once/package.json generated vendored
View File

@ -14,16 +14,20 @@
] ]
], ],
"_from": "once@>=1.3.0 <2.0.0", "_from": "once@>=1.3.0 <2.0.0",
"_id": "once@1.3.3", "_id": "once@1.4.0",
"_inCache": true, "_inCache": true,
"_installable": true, "_installable": true,
"_location": "/once", "_location": "/once",
"_nodeVersion": "4.0.0", "_nodeVersion": "6.5.0",
"_npmOperationalInternal": {
"host": "packages-12-west.internal.npmjs.com",
"tmp": "tmp/once-1.4.0.tgz_1473196269128_0.537820661207661"
},
"_npmUser": { "_npmUser": {
"name": "isaacs", "name": "isaacs",
"email": "i@izs.me" "email": "i@izs.me"
}, },
"_npmVersion": "3.3.2", "_npmVersion": "3.10.7",
"_phantomChildren": {}, "_phantomChildren": {},
"_requested": { "_requested": {
"raw": "once@^1.3.0", "raw": "once@^1.3.0",
@ -35,11 +39,13 @@
"type": "range" "type": "range"
}, },
"_requiredBy": [ "_requiredBy": [
"/cli/glob",
"/glob", "/glob",
"/inflight" "/inflight",
"/istanbul"
], ],
"_resolved": "http://registry.npmjs.org/once/-/once-1.3.3.tgz", "_resolved": "http://registry.npmjs.org/once/-/once-1.4.0.tgz",
"_shasum": "b2e261557ce4c314ec8304f3fa82663e4297ca20", "_shasum": "583b1aa775961d4b113ac17d9c50baef9dd76bd1",
"_shrinkwrap": null, "_shrinkwrap": null,
"_spec": "once@^1.3.0", "_spec": "once@^1.3.0",
"_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob", "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
@ -56,19 +62,19 @@
}, },
"description": "Run a function exactly one time", "description": "Run a function exactly one time",
"devDependencies": { "devDependencies": {
"tap": "^1.2.0" "tap": "^7.0.1"
}, },
"directories": { "directories": {
"test": "test" "test": "test"
}, },
"dist": { "dist": {
"shasum": "b2e261557ce4c314ec8304f3fa82663e4297ca20", "shasum": "583b1aa775961d4b113ac17d9c50baef9dd76bd1",
"tarball": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" "tarball": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
}, },
"files": [ "files": [
"once.js" "once.js"
], ],
"gitHead": "2ad558657e17fafd24803217ba854762842e4178", "gitHead": "0e614d9f5a7e6f0305c625f6b581f6d80b33b8a6",
"homepage": "https://github.com/isaacs/once#readme", "homepage": "https://github.com/isaacs/once#readme",
"keywords": [ "keywords": [
"once", "once",
@ -94,5 +100,5 @@
"scripts": { "scripts": {
"test": "tap test/*.js" "test": "tap test/*.js"
}, },
"version": "1.3.3" "version": "1.4.0"
} }

35
node_modules/os-homedir/package.json generated vendored
View File

@ -14,16 +14,20 @@
] ]
], ],
"_from": "os-homedir@>=1.0.0 <2.0.0", "_from": "os-homedir@>=1.0.0 <2.0.0",
"_id": "os-homedir@1.0.1", "_id": "os-homedir@1.0.2",
"_inCache": true, "_inCache": true,
"_installable": true, "_installable": true,
"_location": "/os-homedir", "_location": "/os-homedir",
"_nodeVersion": "0.12.5", "_nodeVersion": "6.6.0",
"_npmOperationalInternal": {
"host": "packages-16-east.internal.npmjs.com",
"tmp": "tmp/os-homedir-1.0.2.tgz_1475211519628_0.7873868853785098"
},
"_npmUser": { "_npmUser": {
"name": "sindresorhus", "name": "sindresorhus",
"email": "sindresorhus@gmail.com" "email": "sindresorhus@gmail.com"
}, },
"_npmVersion": "2.11.2", "_npmVersion": "3.10.3",
"_phantomChildren": {}, "_phantomChildren": {},
"_requested": { "_requested": {
"raw": "os-homedir@^1.0.0", "raw": "os-homedir@^1.0.0",
@ -37,8 +41,8 @@
"_requiredBy": [ "_requiredBy": [
"/osenv" "/osenv"
], ],
"_resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz", "_resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"_shasum": "0d62bdf44b916fd3bbdcf2cab191948fb094f007", "_shasum": "ffbc4988336e0e833de0c168c7ef152121aa7fb3",
"_shrinkwrap": null, "_shrinkwrap": null,
"_spec": "os-homedir@^1.0.0", "_spec": "os-homedir@^1.0.0",
"_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv", "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv",
@ -51,15 +55,16 @@
"url": "https://github.com/sindresorhus/os-homedir/issues" "url": "https://github.com/sindresorhus/os-homedir/issues"
}, },
"dependencies": {}, "dependencies": {},
"description": "io.js 2.3.0 os.homedir() ponyfill", "description": "Node.js 4 `os.homedir()` ponyfill",
"devDependencies": { "devDependencies": {
"ava": "0.0.4", "ava": "*",
"path-exists": "^1.0.0" "path-exists": "^2.0.0",
"xo": "^0.16.0"
}, },
"directories": {}, "directories": {},
"dist": { "dist": {
"shasum": "0d62bdf44b916fd3bbdcf2cab191948fb094f007", "shasum": "ffbc4988336e0e833de0c168c7ef152121aa7fb3",
"tarball": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz" "tarball": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
}, },
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
@ -67,10 +72,10 @@
"files": [ "files": [
"index.js" "index.js"
], ],
"gitHead": "13ff83fbd13ebe286a6092286b2c634ab4534c5f", "gitHead": "b1b0ae70a5965fef7005ff6509a5dd1a78c95e36",
"homepage": "https://github.com/sindresorhus/os-homedir", "homepage": "https://github.com/sindresorhus/os-homedir#readme",
"keywords": [ "keywords": [
"built-in", "builtin",
"core", "core",
"ponyfill", "ponyfill",
"polyfill", "polyfill",
@ -99,7 +104,7 @@
"url": "git+https://github.com/sindresorhus/os-homedir.git" "url": "git+https://github.com/sindresorhus/os-homedir.git"
}, },
"scripts": { "scripts": {
"test": "node test.js" "test": "xo && ava"
}, },
"version": "1.0.1" "version": "1.0.2"
} }

10
node_modules/os-homedir/readme.md generated vendored
View File

@ -1,8 +1,6 @@
# os-homedir [![Build Status](https://travis-ci.org/sindresorhus/os-homedir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-homedir) # os-homedir [![Build Status](https://travis-ci.org/sindresorhus/os-homedir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-homedir)
> io.js 2.3.0 [`os.homedir()`](https://iojs.org/api/os.html#os_os_homedir) ponyfill > Node.js 4 [`os.homedir()`](https://nodejs.org/api/os.html#os_os_homedir) [ponyfill](https://ponyfill.com)
> Ponyfill: A polyfill that doesn't overwrite the native method
## Install ## Install
@ -15,10 +13,10 @@ $ npm install --save os-homedir
## Usage ## Usage
```js ```js
var osHomedir = require('os-homedir'); const osHomedir = require('os-homedir');
console.log(osHomedir()); console.log(osHomedir());
//=> /Users/sindresorhus //=> '/Users/sindresorhus'
``` ```
@ -30,4 +28,4 @@ console.log(osHomedir());
## License ## License
MIT © [Sindre Sorhus](http://sindresorhus.com) MIT © [Sindre Sorhus](https://sindresorhus.com)

2
node_modules/os-tmpdir/index.js generated vendored
View File

@ -2,7 +2,7 @@
var isWindows = process.platform === 'win32'; var isWindows = process.platform === 'win32';
var trailingSlashRe = isWindows ? /[^:]\\$/ : /.\/$/; var trailingSlashRe = isWindows ? /[^:]\\$/ : /.\/$/;
// https://github.com/nodejs/io.js/blob/3e7a14381497a3b73dda68d05b5130563cdab420/lib/os.js#L25-L43 // https://github.com/nodejs/node/blob/3e7a14381497a3b73dda68d05b5130563cdab420/lib/os.js#L25-L43
module.exports = function () { module.exports = function () {
var path; var path;

29
node_modules/os-tmpdir/package.json generated vendored
View File

@ -14,16 +14,20 @@
] ]
], ],
"_from": "os-tmpdir@>=1.0.0 <2.0.0", "_from": "os-tmpdir@>=1.0.0 <2.0.0",
"_id": "os-tmpdir@1.0.1", "_id": "os-tmpdir@1.0.2",
"_inCache": true, "_inCache": true,
"_installable": true, "_installable": true,
"_location": "/os-tmpdir", "_location": "/os-tmpdir",
"_nodeVersion": "0.12.3", "_nodeVersion": "6.6.0",
"_npmOperationalInternal": {
"host": "packages-12-west.internal.npmjs.com",
"tmp": "tmp/os-tmpdir-1.0.2.tgz_1475211274587_0.14931037812493742"
},
"_npmUser": { "_npmUser": {
"name": "sindresorhus", "name": "sindresorhus",
"email": "sindresorhus@gmail.com" "email": "sindresorhus@gmail.com"
}, },
"_npmVersion": "2.9.1", "_npmVersion": "3.10.3",
"_phantomChildren": {}, "_phantomChildren": {},
"_requested": { "_requested": {
"raw": "os-tmpdir@^1.0.0", "raw": "os-tmpdir@^1.0.0",
@ -37,8 +41,8 @@
"_requiredBy": [ "_requiredBy": [
"/osenv" "/osenv"
], ],
"_resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz", "_resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"_shasum": "e9b423a1edaf479882562e92ed71d7743a071b6e", "_shasum": "bbe67406c79aa85c5cfec766fe5734555dfa1274",
"_shrinkwrap": null, "_shrinkwrap": null,
"_spec": "os-tmpdir@^1.0.0", "_spec": "os-tmpdir@^1.0.0",
"_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv", "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv",
@ -53,12 +57,13 @@
"dependencies": {}, "dependencies": {},
"description": "Node.js os.tmpdir() ponyfill", "description": "Node.js os.tmpdir() ponyfill",
"devDependencies": { "devDependencies": {
"ava": "0.0.4" "ava": "*",
"xo": "^0.16.0"
}, },
"directories": {}, "directories": {},
"dist": { "dist": {
"shasum": "e9b423a1edaf479882562e92ed71d7743a071b6e", "shasum": "bbe67406c79aa85c5cfec766fe5734555dfa1274",
"tarball": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" "tarball": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
}, },
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
@ -66,8 +71,8 @@
"files": [ "files": [
"index.js" "index.js"
], ],
"gitHead": "5c5d355f81378980db629d60128ad03e02b1c1e5", "gitHead": "1abf9cf5611b4be7377060ea67054b45cbf6813c",
"homepage": "https://github.com/sindresorhus/os-tmpdir", "homepage": "https://github.com/sindresorhus/os-tmpdir#readme",
"keywords": [ "keywords": [
"built-in", "built-in",
"core", "core",
@ -99,7 +104,7 @@
"url": "git+https://github.com/sindresorhus/os-tmpdir.git" "url": "git+https://github.com/sindresorhus/os-tmpdir.git"
}, },
"scripts": { "scripts": {
"test": "node test.js" "test": "xo && ava"
}, },
"version": "1.0.1" "version": "1.0.2"
} }

14
node_modules/os-tmpdir/readme.md generated vendored
View File

@ -1,12 +1,8 @@
# os-tmpdir [![Build Status](https://travis-ci.org/sindresorhus/os-tmpdir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-tmpdir) # os-tmpdir [![Build Status](https://travis-ci.org/sindresorhus/os-tmpdir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-tmpdir)
> Node.js [`os.tmpdir()`](https://nodejs.org/api/os.html#os_os_tmpdir) ponyfill > Node.js [`os.tmpdir()`](https://nodejs.org/api/os.html#os_os_tmpdir) [ponyfill](https://ponyfill.com)
> Ponyfill: A polyfill that doesn't overwrite the native method Use this instead of `require('os').tmpdir()` to get a consistent behavior on different Node.js versions (even 0.8).
Use this instead of `require('os').tmpdir()` to get a consistent behaviour on different Node.js versions (even 0.8).
*This is actually taken from io.js 2.0.2 as it contains some fixes that haven't bubbled up to Node.js yet.*
## Install ## Install
@ -19,10 +15,10 @@ $ npm install --save os-tmpdir
## Usage ## Usage
```js ```js
var osTmpdir = require('os-tmpdir'); const osTmpdir = require('os-tmpdir');
osTmpdir(); osTmpdir();
//=> /var/folders/m3/5574nnhn0yj488ccryqr7tc80000gn/T //=> '/var/folders/m3/5574nnhn0yj488ccryqr7tc80000gn/T'
``` ```
@ -33,4 +29,4 @@ See the [`os.tmpdir()` docs](https://nodejs.org/api/os.html#os_os_tmpdir).
## License ## License
MIT © [Sindre Sorhus](http://sindresorhus.com) MIT © [Sindre Sorhus](https://sindresorhus.com)

View File

@ -2,18 +2,18 @@
function posix(path) { function posix(path) {
return path.charAt(0) === '/'; return path.charAt(0) === '/';
}; }
function win32(path) { function win32(path) {
// https://github.com/joyent/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56
var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
var result = splitDeviceRe.exec(path); var result = splitDeviceRe.exec(path);
var device = result[1] || ''; var device = result[1] || '';
var isUnc = !!device && device.charAt(1) !== ':'; var isUnc = Boolean(device && device.charAt(1) !== ':');
// UNC paths are always absolute // UNC paths are always absolute
return !!result[2] || isUnc; return Boolean(result[2] || isUnc);
}; }
module.exports = process.platform === 'win32' ? win32 : posix; module.exports = process.platform === 'win32' ? win32 : posix;
module.exports.posix = posix; module.exports.posix = posix;

View File

@ -14,16 +14,20 @@
] ]
], ],
"_from": "path-is-absolute@>=1.0.0 <2.0.0", "_from": "path-is-absolute@>=1.0.0 <2.0.0",
"_id": "path-is-absolute@1.0.0", "_id": "path-is-absolute@1.0.1",
"_inCache": true, "_inCache": true,
"_installable": true, "_installable": true,
"_location": "/path-is-absolute", "_location": "/path-is-absolute",
"_nodeVersion": "0.12.0", "_nodeVersion": "6.6.0",
"_npmOperationalInternal": {
"host": "packages-12-west.internal.npmjs.com",
"tmp": "tmp/path-is-absolute-1.0.1.tgz_1475210523565_0.9876507974695414"
},
"_npmUser": { "_npmUser": {
"name": "sindresorhus", "name": "sindresorhus",
"email": "sindresorhus@gmail.com" "email": "sindresorhus@gmail.com"
}, },
"_npmVersion": "2.5.1", "_npmVersion": "3.10.3",
"_phantomChildren": {}, "_phantomChildren": {},
"_requested": { "_requested": {
"raw": "path-is-absolute@^1.0.0", "raw": "path-is-absolute@^1.0.0",
@ -35,10 +39,11 @@
"type": "range" "type": "range"
}, },
"_requiredBy": [ "_requiredBy": [
"/cli/glob",
"/glob" "/glob"
], ],
"_resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", "_resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"_shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912", "_shasum": "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f",
"_shrinkwrap": null, "_shrinkwrap": null,
"_spec": "path-is-absolute@^1.0.0", "_spec": "path-is-absolute@^1.0.0",
"_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob", "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
@ -52,11 +57,13 @@
}, },
"dependencies": {}, "dependencies": {},
"description": "Node.js 0.12 path.isAbsolute() ponyfill", "description": "Node.js 0.12 path.isAbsolute() ponyfill",
"devDependencies": {}, "devDependencies": {
"xo": "^0.16.0"
},
"directories": {}, "directories": {},
"dist": { "dist": {
"shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912", "shasum": "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f",
"tarball": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" "tarball": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
}, },
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
@ -64,8 +71,8 @@
"files": [ "files": [
"index.js" "index.js"
], ],
"gitHead": "7a76a0c9f2263192beedbe0a820e4d0baee5b7a1", "gitHead": "edc91d348b21dac2ab65ea2fbec2868e2eff5eb6",
"homepage": "https://github.com/sindresorhus/path-is-absolute", "homepage": "https://github.com/sindresorhus/path-is-absolute#readme",
"keywords": [ "keywords": [
"path", "path",
"paths", "paths",
@ -100,7 +107,7 @@
"url": "git+https://github.com/sindresorhus/path-is-absolute.git" "url": "git+https://github.com/sindresorhus/path-is-absolute.git"
}, },
"scripts": { "scripts": {
"test": "node test.js" "test": "xo && node test.js"
}, },
"version": "1.0.0" "version": "1.0.1"
} }

View File

@ -1,8 +1,6 @@
# path-is-absolute [![Build Status](https://travis-ci.org/sindresorhus/path-is-absolute.svg?branch=master)](https://travis-ci.org/sindresorhus/path-is-absolute) # path-is-absolute [![Build Status](https://travis-ci.org/sindresorhus/path-is-absolute.svg?branch=master)](https://travis-ci.org/sindresorhus/path-is-absolute)
> Node.js 0.12 [`path.isAbsolute()`](http://nodejs.org/api/path.html#path_path_isabsolute_path) ponyfill > Node.js 0.12 [`path.isAbsolute()`](http://nodejs.org/api/path.html#path_path_isabsolute_path) [ponyfill](https://ponyfill.com)
> Ponyfill: A polyfill that doesn't overwrite the native method
## Install ## Install
@ -15,19 +13,29 @@ $ npm install --save path-is-absolute
## Usage ## Usage
```js ```js
var pathIsAbsolute = require('path-is-absolute'); const pathIsAbsolute = require('path-is-absolute');
// Linux // Running on Linux
pathIsAbsolute('/home/foo'); pathIsAbsolute('/home/foo');
//=> true //=> true
pathIsAbsolute('C:/Users/foo');
//=> false
// Windows // Running on Windows
pathIsAbsolute('C:/Users/'); pathIsAbsolute('C:/Users/foo');
//=> true //=> true
pathIsAbsolute('/home/foo');
//=> false
// Any OS // Running on any OS
pathIsAbsolute.posix('/home/foo'); pathIsAbsolute.posix('/home/foo');
//=> true //=> true
pathIsAbsolute.posix('C:/Users/foo');
//=> false
pathIsAbsolute.win32('C:/Users/foo');
//=> true
pathIsAbsolute.win32('/home/foo');
//=> false
``` ```
@ -39,13 +47,13 @@ See the [`path.isAbsolute()` docs](http://nodejs.org/api/path.html#path_path_isa
### pathIsAbsolute.posix(path) ### pathIsAbsolute.posix(path)
The Posix specific version. POSIX specific version.
### pathIsAbsolute.win32(path) ### pathIsAbsolute.win32(path)
The Windows specific version. Windows specific version.
## License ## License
MIT © [Sindre Sorhus](http://sindresorhus.com) MIT © [Sindre Sorhus](https://sindresorhus.com)

View File

@ -34,7 +34,8 @@
"type": "range" "type": "range"
}, },
"_requiredBy": [ "_requiredBy": [
"/cordova-common" "/cordova-common",
"/jasmine-node"
], ],
"_resolved": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", "_resolved": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
"_shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", "_shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022",

View File

@ -24,7 +24,7 @@
"author": "Apache Software Foundation", "author": "Apache Software Foundation",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"cordova-common": "^1.4.0", "cordova-common": "^1.5.0",
"elementtree": "^0.1.6", "elementtree": "^0.1.6",
"nopt": "^3.0.1", "nopt": "^3.0.1",
"properties-parser": "^0.2.3", "properties-parser": "^0.2.3",