diff --git a/bin/templates/cordova/lib/emulator.js b/bin/templates/cordova/lib/emulator.js index 8554fe9b..b9e3d5d1 100644 --- a/bin/templates/cordova/lib/emulator.js +++ b/bin/templates/cordova/lib/emulator.js @@ -27,7 +27,7 @@ var path = require('path'); var Adb = require('./Adb'); var AndroidManifest = require('./AndroidManifest'); var events = require('cordova-common').events; -var spawn = require('cordova-common').superspawn.spawn; +var superspawn = require('cordova-common').superspawn; var CordovaError = require('cordova-common').CordovaError; var shelljs = require('shelljs'); var android_sdk = require('./android_sdk'); @@ -54,7 +54,7 @@ function forgivingWhichSync(cmd) { } module.exports.list_images_using_avdmanager = function () { - return spawn('avdmanager', ['list', 'avd']) + return superspawn.spawn('avdmanager', ['list', 'avd']) .then(function(output) { var response = output.split('\n'); var emulator_list = []; @@ -114,10 +114,55 @@ module.exports.list_images_using_avdmanager = function () { }); }; +module.exports.list_images_using_android = function() { + return superspawn.spawn('android', ['list', 'avds']) + .then(function(output) { + var response = output.split('\n'); + var emulator_list = []; + for (var i = 1; i < response.length; i++) { + // To return more detailed information use img_obj + var img_obj = {}; + if (response[i].match(/Name:\s/)) { + img_obj['name'] = response[i].split('Name: ')[1].replace('\r', ''); + if (response[i + 1].match(/Device:\s/)) { + i++; + img_obj['device'] = response[i].split('Device: ')[1].replace('\r', ''); + } + if (response[i + 1].match(/Path:\s/)) { + i++; + img_obj['path'] = response[i].split('Path: ')[1].replace('\r', ''); + } + if (response[i + 1].match(/\(API\slevel\s/) || (response[i + 2] && response[i + 2].match(/\(API\slevel\s/))) { + i++; + var secondLine = response[i + 1].match(/\(API\slevel\s/) ? response[i + 1] : ''; + img_obj['target'] = (response[i] + secondLine).split('Target: ')[1].replace('\r', ''); + } + if (response[i + 1].match(/ABI:\s/)) { + i++; + img_obj['abi'] = response[i].split('ABI: ')[1].replace('\r', ''); + } + if (response[i + 1].match(/Skin:\s/)) { + i++; + img_obj['skin'] = response[i].split('Skin: ')[1].replace('\r', ''); + } + + emulator_list.push(img_obj); + } + /* To just return a list of names use this + if (response[i].match(/Name:\s/)) { + emulator_list.push(response[i].split('Name: ')[1].replace('\r', ''); + }*/ + + } + return emulator_list; + }); +}; + /** * Returns a Promise for a list of emulator images in the form of objects * { name : , + device : , path : , target : , abi : , @@ -126,47 +171,8 @@ module.exports.list_images_using_avdmanager = function () { */ module.exports.list_images = function() { if (forgivingWhichSync('android')) { - return spawn('android', ['list', 'avds']) - .then(function(output) { - var response = output.split('\n'); - var emulator_list = []; - for (var i = 1; i < response.length; i++) { - // To return more detailed information use img_obj - var img_obj = {}; - if (response[i].match(/Name:\s/)) { - img_obj['name'] = response[i].split('Name: ')[1].replace('\r', ''); - if (response[i + 1].match(/Device:\s/)) { - i++; - img_obj['device'] = response[i].split('Device: ')[1].replace('\r', ''); - } - if (response[i + 1].match(/Path:\s/)) { - i++; - img_obj['path'] = response[i].split('Path: ')[1].replace('\r', ''); - } - if (response[i + 1].match(/\(API\slevel\s/) || (response[i + 2] && response[i + 2].match(/\(API\slevel\s/))) { - i++; - var secondLine = response[i + 1].match(/\(API\slevel\s/) ? response[i + 1] : ''; - img_obj['target'] = (response[i] + secondLine).split('Target: ')[1].replace('\r', ''); - } - if (response[i + 1].match(/ABI:\s/)) { - i++; - img_obj['abi'] = response[i].split('ABI: ')[1].replace('\r', ''); - } - if (response[i + 1].match(/Skin:\s/)) { - i++; - img_obj['skin'] = response[i].split('Skin: ')[1].replace('\r', ''); - } - - emulator_list.push(img_obj); - } - /* To just return a list of names use this - if (response[i].match(/Name:\s/)) { - emulator_list.push(response[i].split('Name: ')[1].replace('\r', ''); - }*/ - - } - return emulator_list; - }).catch(function(err) { + return module.exports.list_images_using_android() + .catch(function(err) { // try to use `avdmanager` in case `android` has problems // this likely means the target machine is using a newer version of // the android sdk, and possibly `avdmanager` is available. @@ -219,7 +225,7 @@ module.exports.list_started = function() { // Returns a promise. module.exports.list_targets = function() { - return spawn('android', ['list', 'targets'], {cwd: os.tmpdir()}) + return superspawn.spawn('android', ['list', 'targets'], {cwd: os.tmpdir()}) .then(function(output) { var target_out = output.split('\n'); var targets = []; @@ -382,7 +388,7 @@ module.exports.wait_for_boot = function(emulator_id, time_remaining) { module.exports.create_image = function(name, target) { console.log('Creating new avd named ' + name); if (target) { - return spawn('android', ['create', 'avd', '--name', name, '--target', target]) + return superspawn.spawn('android', ['create', 'avd', '--name', name, '--target', target]) .then(null, function(error) { console.error('ERROR : Failed to create emulator image : '); console.error(' Do you have the latest android targets including ' + target + '?'); @@ -390,7 +396,7 @@ module.exports.create_image = function(name, target) { }); } else { console.log('WARNING : Project target not found, creating avd with a different target but the project may fail to install.'); - return spawn('android', ['create', 'avd', '--name', name, '--target', this.list_targets()[0]]) + return superspawn.spawn('android', ['create', 'avd', '--name', name, '--target', this.list_targets()[0]]) .then(function() { // TODO: This seems like another error case, even though it always happens. console.error('ERROR : Unable to create an avd emulator, no targets found.'); diff --git a/node_modules/big-integer/.npmignore b/node_modules/big-integer/.npmignore deleted file mode 100644 index 31905cf9..00000000 --- a/node_modules/big-integer/.npmignore +++ /dev/null @@ -1,17 +0,0 @@ -/.travis.yml -/.npmignore -/.gitignore -/spec -/benchmark -/big-integer*.tgz -/my.conf.js -/node_modules -/*.csproj* -/*.sh -/*.suo -/bin -/coverage -/*.bat -/obj -/Properties -/Web.* diff --git a/node_modules/big-integer/BigInteger.js b/node_modules/big-integer/BigInteger.js index b6347bfe..ad29f979 100644 --- a/node_modules/big-integer/BigInteger.js +++ b/node_modules/big-integer/BigInteger.js @@ -833,6 +833,7 @@ var bigInt = (function (undefined) { newT = lastT.subtract(q.multiply(newT)); newR = lastR.subtract(q.multiply(newR)); } + if (!r.equals(1)) throw new Error(this.toString() + " and " + n.toString() + " are not co-prime"); if (t.compare(0) === -1) { t = t.add(n); } diff --git a/node_modules/big-integer/BigInteger.min.js b/node_modules/big-integer/BigInteger.min.js index 222d2c09..908d2423 100644 --- a/node_modules/big-integer/BigInteger.min.js +++ b/node_modules/big-integer/BigInteger.min.js @@ -1 +1 @@ -var bigInt=function(e){"use strict";function o(e,t){return typeof e=="undefined"?o[0]:typeof t!="undefined"?+t===10?Y(e):$(e,t):Y(e)}function u(e,t){this.value=e,this.sign=t,this.isSmall=!1}function a(e){this.value=e,this.sign=e<0,this.isSmall=!0}function f(e){return-r0?Math.floor(e):Math.ceil(e)}function v(e,n){var r=e.length,i=n.length,s=new Array(r),o=0,u=t,a,f;for(f=0;f=u?1:0,s[f]=a-o*u;while(f0&&s.push(o),s}function m(e,t){return e.length>=t.length?v(e,t):v(t,e)}function g(e,n){var r=e.length,i=new Array(r),s=t,o,u;for(u=0;u0)i[u++]=n%s,n=Math.floor(n/s);return i}function y(e,n){var r=e.length,i=n.length,s=new Array(r),o=0,u=t,a,f;for(a=0;a=0?r=y(e,t):(r=y(t,e),n=!n),r=c(r),typeof r=="number"?(n&&(r=-r),new a(r)):new u(r,n)}function w(e,n,r){var i=e.length,s=new Array(i),o=-n,f=t,l,h;for(l=0;l0)i[a++]=o%s,o=Math.floor(o/s);return i}function x(e,t){var n=[];while(t-->0)n.push(0);return n.concat(e)}function T(e,t){var n=Math.max(e.length,t.length);if(n<=30)return E(e,t);n=Math.ceil(n/2);var r=e.slice(n),i=e.slice(0,n),s=t.slice(n),o=t.slice(0,n),u=T(i,o),a=T(r,s),f=T(m(i,r),m(o,s)),l=m(m(u,x(y(y(f,u),a),n)),x(a,2*n));return h(l),l}function N(e,t){return-0.012*e-.012*t+15e-6*e*t>0}function C(e,n,r){return e=0;d--){h=s-1,f[d+i]!==u&&(h=Math.floor((f[d+i]*s+f[d+i-1])/u)),v=0,m=0,y=l.length;for(g=0;gi&&(l=(l+1)*u),a=Math.ceil(l/h);do{p=S(n,a);if(_(p,o)<=0)break;a--}while(a);s.push(a),o=y(o,p)}return s.reverse(),[c(s),c(o)]}function O(e,n){var r=e.length,i=p(r),s=t,o,u,a,f;a=0;for(o=r-1;o>=0;--o)f=a*s+e[o],u=d(f/n),a=f-u*n,i[o]=u|0;return[i,a|0]}function M(e,n){var r,i=Y(n),s=e.value,f=i.value,h;if(f===0)throw new Error("Cannot divide by zero");if(e.isSmall)return i.isSmall?[new a(d(s/f)),new a(s%f)]:[o[0],e];if(i.isSmall){if(f===1)return[e,o[0]];if(f==-1)return[e.negate(),o[0]];var p=Math.abs(f);if(pt.length?1:-1;for(var n=e.length-1;n>=0;n--)if(e[n]!==t[n])return e[n]>t[n]?1:-1;return 0}function D(e){var t=e.abs();if(t.isUnit())return!1;if(t.equals(2)||t.equals(3)||t.equals(5))return!0;if(t.isEven()||t.isDivisibleBy(3)||t.isDivisibleBy(5))return!1;if(t.lesser(25))return!0}function j(e){return(typeof e=="number"||typeof e=="string")&&+Math.abs(e)<=t||e instanceof u&&e.value.length<=1}function F(e,t,n){t=Y(t);var r=e.isNegative(),i=t.isNegative(),s=r?e.not():e,o=i?t.not():t,u=[],a=[],f=!1,l=!1;while(!f||!l)s.isZero()?(f=!0,u.push(r?1:0)):r?u.push(s.isEven()?1:0):u.push(s.isEven()?0:1),o.isZero()?(l=!0,a.push(i?1:0)):i?a.push(o.isEven()?1:0):a.push(o.isEven()?0:1),s=s.over(2),o=o.over(2);var c=[];for(var h=0;h=0;h--){var p=l?s.value[h]:t,v=d(Math.random()*p);f.unshift(v),v"}function K(e,t){t=bigInt(t);if(t.isZero()){if(e.isZero())return"0";throw new Error("Cannot convert nonzero numbers to base 0.")}if(t.equals(-1))return e.isZero()?"0":e.isNegative()?(new Array(1-e)).join("10"):"1"+(new Array(+e)).join("01");var n="";e.isNegative()&&t.isPositive()&&(n="-",e=e.abs());if(t.equals(1))return e.isZero()?"0":n+(new Array(+e+1)).join(1);var r=[],i=e,s;while(i.isNegative()||i.compareAbs(t)>=0){s=i.divmod(t),i=s.quotient;var o=s.remainder;o.isNegative()&&(o=t.minus(o).abs(),i=i.next()),r.push(J(o))}return r.push(J(i)),n+r.reverse().join("")}function Q(e){if(f(+e)){var t=+e;if(t===d(t))return new a(t);throw"Invalid integer: "+e}var r=e[0]==="-";r&&(e=e.slice(1));var i=e.split(/e/i);if(i.length>2)throw new Error("Invalid integer: "+i.join("e"));if(i.length===2){var s=i[1];s[0]==="+"&&(s=s.slice(1)),s=+s;if(s!==d(s)||!f(s))throw new Error("Invalid integer: "+s+" is not a valid exponent.");var o=i[0],l=o.indexOf(".");l>=0&&(s-=o.length-l-1,o=o.slice(0,l)+o.slice(l+1));if(s<0)throw new Error("Cannot include negative exponent part for integers");o+=(new Array(s+1)).join("0"),e=o}var c=/^([0-9][0-9]*)$/.test(e);if(!c)throw new Error("Invalid integer: "+e);var p=[],v=e.length,m=n,g=v-m;while(v>0)p.push(+e.slice(g,v)),g-=m,g<0&&(g=0),v-=m;return h(p),new u(p,r)}function G(e){if(f(e)){if(e!==d(e))throw new Error(e+" is not an integer.");return new a(e)}return Q(e.toString())}function Y(e){return typeof e=="number"?G(e):typeof e=="string"?Q(e):e}var t=1e7,n=7,r=9007199254740992,i=l(r),s=Math.log(r);u.prototype=Object.create(o.prototype),a.prototype=Object.create(o.prototype),u.prototype.add=function(e){var t,n=Y(e);if(this.sign!==n.sign)return this.subtract(n.negate());var r=this.value,i=n.value;return n.isSmall?new u(g(r,Math.abs(i)),this.sign):new u(m(r,i),this.sign)},u.prototype.plus=u.prototype.add,a.prototype.add=function(e){var t=Y(e),n=this.value;if(n<0!==t.sign)return this.subtract(t.negate());var r=t.value;if(t.isSmall){if(f(n+r))return new a(n+r);r=l(Math.abs(r))}return new u(g(r,Math.abs(n)),n<0)},a.prototype.plus=a.prototype.add,u.prototype.subtract=function(e){var t=Y(e);if(this.sign!==t.sign)return this.add(t.negate());var n=this.value,r=t.value;return t.isSmall?w(n,Math.abs(r),this.sign):b(n,r,this.sign)},u.prototype.minus=u.prototype.subtract,a.prototype.subtract=function(e){var t=Y(e),n=this.value;if(n<0!==t.sign)return this.add(t.negate());var r=t.value;return t.isSmall?new a(n-r):w(r,Math.abs(n),n>=0)},a.prototype.minus=a.prototype.subtract,u.prototype.negate=function(){return new u(this.value,!this.sign)},a.prototype.negate=function(){var e=this.sign,t=new a(-this.value);return t.sign=!e,t},u.prototype.abs=function(){return new u(this.value,!1)},a.prototype.abs=function(){return new a(Math.abs(this.value))},u.prototype.multiply=function(e){var n,r=Y(e),i=this.value,s=r.value,a=this.sign!==r.sign,f;if(r.isSmall){if(s===0)return o[0];if(s===1)return this;if(s===-1)return this.negate();f=Math.abs(s);if(fr?1:-1):-1},u.prototype.compare=function(e){if(e===Infinity)return-1;if(e===-Infinity)return 1;var t=Y(e),n=this.value,r=t.value;return this.sign!==t.sign?t.sign?1:-1:t.isSmall?this.sign?-1:1:_(n,r)*(this.sign?-1:1)},u.prototype.compareTo=u.prototype.compare,a.prototype.compare=function(e){if(e===Infinity)return-1;if(e===-Infinity)return 1;var t=Y(e),n=this.value,r=t.value;return t.isSmall?n==r?0:n>r?1:-1:n<0!==t.sign?n<0?-1:1:n<0?1:-1},a.prototype.compareTo=a.prototype.compare,u.prototype.equals=function(e){return this.compare(e)===0},a.prototype.eq=a.prototype.equals=u.prototype.eq=u.prototype.equals,u.prototype.notEquals=function(e){return this.compare(e)!==0},a.prototype.neq=a.prototype.notEquals=u.prototype.neq=u.prototype.notEquals,u.prototype.greater=function(e){return this.compare(e)>0},a.prototype.gt=a.prototype.greater=u.prototype.gt=u.prototype.greater,u.prototype.lesser=function(e){return this.compare(e)<0},a.prototype.lt=a.prototype.lesser=u.prototype.lt=u.prototype.lesser,u.prototype.greaterOrEquals=function(e){return this.compare(e)>=0},a.prototype.geq=a.prototype.greaterOrEquals=u.prototype.geq=u.prototype.greaterOrEquals,u.prototype.lesserOrEquals=function(e){return this.compare(e)<=0},a.prototype.leq=a.prototype.lesserOrEquals=u.prototype.leq=u.prototype.lesserOrEquals,u.prototype.isEven=function(){return(this.value[0]&1)===0},a.prototype.isEven=function(){return(this.value&1)===0},u.prototype.isOdd=function(){return(this.value[0]&1)===1},a.prototype.isOdd=function(){return(this.value&1)===1},u.prototype.isPositive=function(){return!this.sign},a.prototype.isPositive=function(){return this.value>0},u.prototype.isNegative=function(){return this.sign},a.prototype.isNegative=function(){return this.value<0},u.prototype.isUnit=function(){return!1},a.prototype.isUnit=function(){return Math.abs(this.value)===1},u.prototype.isZero=function(){return!1},a.prototype.isZero=function(){return this.value===0},u.prototype.isDivisibleBy=function(e){var t=Y(e),n=t.value;return n===0?!1:n===1?!0:n===2?this.isEven():this.mod(t).equals(o[0])},a.prototype.isDivisibleBy=u.prototype.isDivisibleBy,u.prototype.isPrime=function(){var t=D(this);if(t!==e)return t;var n=this.abs(),r=n.prev(),i=[2,3,5,7,11,13,17,19],s=r,u,a,f,l;while(s.isEven())s=s.divide(2);for(f=0;f-r?new a(e-1):new u(i,!0)};var P=[1];while(P[P.length-1]<=t)P.push(2*P[P.length-1]);var H=P.length,B=P[H-1];u.prototype.shiftLeft=function(e){if(!j(e))throw new Error(String(e)+" is too large for shifting.");e=+e;if(e<0)return this.shiftRight(-e);var t=this;while(e>=H)t=t.multiply(B),e-=H-1;return t.multiply(P[e])},a.prototype.shiftLeft=u.prototype.shiftLeft,u.prototype.shiftRight=function(e){var t;if(!j(e))throw new Error(String(e)+" is too large for shifting.");e=+e;if(e<0)return this.shiftLeft(-e);var n=this;while(e>=H){if(n.isZero())return n;t=M(n,B),n=t[1].isNegative()?t[0].prev():t[0],e-=H-1}return t=M(n,P[e]),t[1].isNegative()?t[0].prev():t[0]},a.prototype.shiftRight=u.prototype.shiftRight,u.prototype.not=function(){return this.negate().prev()},a.prototype.not=u.prototype.not,u.prototype.and=function(e){return F(this,e,function(e,t){return e&t})},a.prototype.and=u.prototype.and,u.prototype.or=function(e){return F(this,e,function(e,t){return e|t})},a.prototype.or=u.prototype.or,u.prototype.xor=function(e){return F(this,e,function(e,t){return e^t})},a.prototype.xor=u.prototype.xor;var I=1<<30,q=(t&-t)*(t&-t)|I,$=function(e,t){var n=o[0],r=o[1],i=e.length;if(2<=t&&t<=36&&i<=s/Math.log(t))return new a(parseInt(e,t));t=Y(t);var u=[],f,l=e[0]==="-";for(f=l?1:0;f");u.push(Y(e.slice(p+1,f)))}}u.reverse();for(f=0;f=0)o=String(n[r]),i+=s.slice(o.length)+o;var u=this.sign?"-":"";return u+i},a.prototype.toString=function(t){return t===e&&(t=10),t!=10?K(this,t):String(this.value)},u.prototype.valueOf=function(){return+this.toString()},u.prototype.toJSNumber=u.prototype.valueOf,a.prototype.valueOf=function(){return this.value},a.prototype.toJSNumber=a.prototype.valueOf;for(var Z=0;Z<1e3;Z++)o[Z]=new a(Z),Z>0&&(o[-Z]=new a(-Z));return o.one=o[1],o.zero=o[0],o.minusOne=o[-1],o.max=U,o.min=z,o.gcd=W,o.lcm=X,o.isInstance=function(e){return e instanceof u||e instanceof a},o.randBetween=V,o}();typeof module!="undefined"&&module.hasOwnProperty("exports")&&(module.exports=bigInt); \ No newline at end of file +var bigInt=function(e){"use strict";function o(e,t){return typeof e=="undefined"?o[0]:typeof t!="undefined"?+t===10?Y(e):$(e,t):Y(e)}function u(e,t){this.value=e,this.sign=t,this.isSmall=!1}function a(e){this.value=e,this.sign=e<0,this.isSmall=!0}function f(e){return-r0?Math.floor(e):Math.ceil(e)}function v(e,n){var r=e.length,i=n.length,s=new Array(r),o=0,u=t,a,f;for(f=0;f=u?1:0,s[f]=a-o*u;while(f0&&s.push(o),s}function m(e,t){return e.length>=t.length?v(e,t):v(t,e)}function g(e,n){var r=e.length,i=new Array(r),s=t,o,u;for(u=0;u0)i[u++]=n%s,n=Math.floor(n/s);return i}function y(e,n){var r=e.length,i=n.length,s=new Array(r),o=0,u=t,a,f;for(a=0;a=0?r=y(e,t):(r=y(t,e),n=!n),r=c(r),typeof r=="number"?(n&&(r=-r),new a(r)):new u(r,n)}function w(e,n,r){var i=e.length,s=new Array(i),o=-n,f=t,l,h;for(l=0;l0)i[a++]=o%s,o=Math.floor(o/s);return i}function x(e,t){var n=[];while(t-->0)n.push(0);return n.concat(e)}function T(e,t){var n=Math.max(e.length,t.length);if(n<=30)return E(e,t);n=Math.ceil(n/2);var r=e.slice(n),i=e.slice(0,n),s=t.slice(n),o=t.slice(0,n),u=T(i,o),a=T(r,s),f=T(m(i,r),m(o,s)),l=m(m(u,x(y(y(f,u),a),n)),x(a,2*n));return h(l),l}function N(e,t){return-0.012*e-.012*t+15e-6*e*t>0}function C(e,n,r){return e=0;d--){h=s-1,f[d+i]!==u&&(h=Math.floor((f[d+i]*s+f[d+i-1])/u)),v=0,m=0,y=l.length;for(g=0;gi&&(l=(l+1)*u),a=Math.ceil(l/h);do{p=S(n,a);if(_(p,o)<=0)break;a--}while(a);s.push(a),o=y(o,p)}return s.reverse(),[c(s),c(o)]}function O(e,n){var r=e.length,i=p(r),s=t,o,u,a,f;a=0;for(o=r-1;o>=0;--o)f=a*s+e[o],u=d(f/n),a=f-u*n,i[o]=u|0;return[i,a|0]}function M(e,n){var r,i=Y(n),s=e.value,f=i.value,h;if(f===0)throw new Error("Cannot divide by zero");if(e.isSmall)return i.isSmall?[new a(d(s/f)),new a(s%f)]:[o[0],e];if(i.isSmall){if(f===1)return[e,o[0]];if(f==-1)return[e.negate(),o[0]];var p=Math.abs(f);if(pt.length?1:-1;for(var n=e.length-1;n>=0;n--)if(e[n]!==t[n])return e[n]>t[n]?1:-1;return 0}function D(e){var t=e.abs();if(t.isUnit())return!1;if(t.equals(2)||t.equals(3)||t.equals(5))return!0;if(t.isEven()||t.isDivisibleBy(3)||t.isDivisibleBy(5))return!1;if(t.lesser(25))return!0}function j(e){return(typeof e=="number"||typeof e=="string")&&+Math.abs(e)<=t||e instanceof u&&e.value.length<=1}function F(e,t,n){t=Y(t);var r=e.isNegative(),i=t.isNegative(),s=r?e.not():e,o=i?t.not():t,u=[],a=[],f=!1,l=!1;while(!f||!l)s.isZero()?(f=!0,u.push(r?1:0)):r?u.push(s.isEven()?1:0):u.push(s.isEven()?0:1),o.isZero()?(l=!0,a.push(i?1:0)):i?a.push(o.isEven()?1:0):a.push(o.isEven()?0:1),s=s.over(2),o=o.over(2);var c=[];for(var h=0;h=0;h--){var p=l?s.value[h]:t,v=d(Math.random()*p);f.unshift(v),v"}function K(e,t){t=bigInt(t);if(t.isZero()){if(e.isZero())return"0";throw new Error("Cannot convert nonzero numbers to base 0.")}if(t.equals(-1))return e.isZero()?"0":e.isNegative()?(new Array(1-e)).join("10"):"1"+(new Array(+e)).join("01");var n="";e.isNegative()&&t.isPositive()&&(n="-",e=e.abs());if(t.equals(1))return e.isZero()?"0":n+(new Array(+e+1)).join(1);var r=[],i=e,s;while(i.isNegative()||i.compareAbs(t)>=0){s=i.divmod(t),i=s.quotient;var o=s.remainder;o.isNegative()&&(o=t.minus(o).abs(),i=i.next()),r.push(J(o))}return r.push(J(i)),n+r.reverse().join("")}function Q(e){if(f(+e)){var t=+e;if(t===d(t))return new a(t);throw"Invalid integer: "+e}var r=e[0]==="-";r&&(e=e.slice(1));var i=e.split(/e/i);if(i.length>2)throw new Error("Invalid integer: "+i.join("e"));if(i.length===2){var s=i[1];s[0]==="+"&&(s=s.slice(1)),s=+s;if(s!==d(s)||!f(s))throw new Error("Invalid integer: "+s+" is not a valid exponent.");var o=i[0],l=o.indexOf(".");l>=0&&(s-=o.length-l-1,o=o.slice(0,l)+o.slice(l+1));if(s<0)throw new Error("Cannot include negative exponent part for integers");o+=(new Array(s+1)).join("0"),e=o}var c=/^([0-9][0-9]*)$/.test(e);if(!c)throw new Error("Invalid integer: "+e);var p=[],v=e.length,m=n,g=v-m;while(v>0)p.push(+e.slice(g,v)),g-=m,g<0&&(g=0),v-=m;return h(p),new u(p,r)}function G(e){if(f(e)){if(e!==d(e))throw new Error(e+" is not an integer.");return new a(e)}return Q(e.toString())}function Y(e){return typeof e=="number"?G(e):typeof e=="string"?Q(e):e}var t=1e7,n=7,r=9007199254740992,i=l(r),s=Math.log(r);u.prototype=Object.create(o.prototype),a.prototype=Object.create(o.prototype),u.prototype.add=function(e){var t,n=Y(e);if(this.sign!==n.sign)return this.subtract(n.negate());var r=this.value,i=n.value;return n.isSmall?new u(g(r,Math.abs(i)),this.sign):new u(m(r,i),this.sign)},u.prototype.plus=u.prototype.add,a.prototype.add=function(e){var t=Y(e),n=this.value;if(n<0!==t.sign)return this.subtract(t.negate());var r=t.value;if(t.isSmall){if(f(n+r))return new a(n+r);r=l(Math.abs(r))}return new u(g(r,Math.abs(n)),n<0)},a.prototype.plus=a.prototype.add,u.prototype.subtract=function(e){var t=Y(e);if(this.sign!==t.sign)return this.add(t.negate());var n=this.value,r=t.value;return t.isSmall?w(n,Math.abs(r),this.sign):b(n,r,this.sign)},u.prototype.minus=u.prototype.subtract,a.prototype.subtract=function(e){var t=Y(e),n=this.value;if(n<0!==t.sign)return this.add(t.negate());var r=t.value;return t.isSmall?new a(n-r):w(r,Math.abs(n),n>=0)},a.prototype.minus=a.prototype.subtract,u.prototype.negate=function(){return new u(this.value,!this.sign)},a.prototype.negate=function(){var e=this.sign,t=new a(-this.value);return t.sign=!e,t},u.prototype.abs=function(){return new u(this.value,!1)},a.prototype.abs=function(){return new a(Math.abs(this.value))},u.prototype.multiply=function(e){var n,r=Y(e),i=this.value,s=r.value,a=this.sign!==r.sign,f;if(r.isSmall){if(s===0)return o[0];if(s===1)return this;if(s===-1)return this.negate();f=Math.abs(s);if(fr?1:-1):-1},u.prototype.compare=function(e){if(e===Infinity)return-1;if(e===-Infinity)return 1;var t=Y(e),n=this.value,r=t.value;return this.sign!==t.sign?t.sign?1:-1:t.isSmall?this.sign?-1:1:_(n,r)*(this.sign?-1:1)},u.prototype.compareTo=u.prototype.compare,a.prototype.compare=function(e){if(e===Infinity)return-1;if(e===-Infinity)return 1;var t=Y(e),n=this.value,r=t.value;return t.isSmall?n==r?0:n>r?1:-1:n<0!==t.sign?n<0?-1:1:n<0?1:-1},a.prototype.compareTo=a.prototype.compare,u.prototype.equals=function(e){return this.compare(e)===0},a.prototype.eq=a.prototype.equals=u.prototype.eq=u.prototype.equals,u.prototype.notEquals=function(e){return this.compare(e)!==0},a.prototype.neq=a.prototype.notEquals=u.prototype.neq=u.prototype.notEquals,u.prototype.greater=function(e){return this.compare(e)>0},a.prototype.gt=a.prototype.greater=u.prototype.gt=u.prototype.greater,u.prototype.lesser=function(e){return this.compare(e)<0},a.prototype.lt=a.prototype.lesser=u.prototype.lt=u.prototype.lesser,u.prototype.greaterOrEquals=function(e){return this.compare(e)>=0},a.prototype.geq=a.prototype.greaterOrEquals=u.prototype.geq=u.prototype.greaterOrEquals,u.prototype.lesserOrEquals=function(e){return this.compare(e)<=0},a.prototype.leq=a.prototype.lesserOrEquals=u.prototype.leq=u.prototype.lesserOrEquals,u.prototype.isEven=function(){return(this.value[0]&1)===0},a.prototype.isEven=function(){return(this.value&1)===0},u.prototype.isOdd=function(){return(this.value[0]&1)===1},a.prototype.isOdd=function(){return(this.value&1)===1},u.prototype.isPositive=function(){return!this.sign},a.prototype.isPositive=function(){return this.value>0},u.prototype.isNegative=function(){return this.sign},a.prototype.isNegative=function(){return this.value<0},u.prototype.isUnit=function(){return!1},a.prototype.isUnit=function(){return Math.abs(this.value)===1},u.prototype.isZero=function(){return!1},a.prototype.isZero=function(){return this.value===0},u.prototype.isDivisibleBy=function(e){var t=Y(e),n=t.value;return n===0?!1:n===1?!0:n===2?this.isEven():this.mod(t).equals(o[0])},a.prototype.isDivisibleBy=u.prototype.isDivisibleBy,u.prototype.isPrime=function(){var t=D(this);if(t!==e)return t;var n=this.abs(),r=n.prev(),i=[2,3,5,7,11,13,17,19],s=r,u,a,f,l;while(s.isEven())s=s.divide(2);for(f=0;f-r?new a(e-1):new u(i,!0)};var P=[1];while(P[P.length-1]<=t)P.push(2*P[P.length-1]);var H=P.length,B=P[H-1];u.prototype.shiftLeft=function(e){if(!j(e))throw new Error(String(e)+" is too large for shifting.");e=+e;if(e<0)return this.shiftRight(-e);var t=this;while(e>=H)t=t.multiply(B),e-=H-1;return t.multiply(P[e])},a.prototype.shiftLeft=u.prototype.shiftLeft,u.prototype.shiftRight=function(e){var t;if(!j(e))throw new Error(String(e)+" is too large for shifting.");e=+e;if(e<0)return this.shiftLeft(-e);var n=this;while(e>=H){if(n.isZero())return n;t=M(n,B),n=t[1].isNegative()?t[0].prev():t[0],e-=H-1}return t=M(n,P[e]),t[1].isNegative()?t[0].prev():t[0]},a.prototype.shiftRight=u.prototype.shiftRight,u.prototype.not=function(){return this.negate().prev()},a.prototype.not=u.prototype.not,u.prototype.and=function(e){return F(this,e,function(e,t){return e&t})},a.prototype.and=u.prototype.and,u.prototype.or=function(e){return F(this,e,function(e,t){return e|t})},a.prototype.or=u.prototype.or,u.prototype.xor=function(e){return F(this,e,function(e,t){return e^t})},a.prototype.xor=u.prototype.xor;var I=1<<30,q=(t&-t)*(t&-t)|I,$=function(e,t){var n=o[0],r=o[1],i=e.length;if(2<=t&&t<=36&&i<=s/Math.log(t))return new a(parseInt(e,t));t=Y(t);var u=[],f,l=e[0]==="-";for(f=l?1:0;f");u.push(Y(e.slice(p+1,f)))}}u.reverse();for(f=0;f=0)o=String(n[r]),i+=s.slice(o.length)+o;var u=this.sign?"-":"";return u+i},a.prototype.toString=function(t){return t===e&&(t=10),t!=10?K(this,t):String(this.value)},u.prototype.valueOf=function(){return+this.toString()},u.prototype.toJSNumber=u.prototype.valueOf,a.prototype.valueOf=function(){return this.value},a.prototype.toJSNumber=a.prototype.valueOf;for(var Z=0;Z<1e3;Z++)o[Z]=new a(Z),Z>0&&(o[-Z]=new a(-Z));return o.one=o[1],o.zero=o[0],o.minusOne=o[-1],o.max=U,o.min=z,o.gcd=W,o.lcm=X,o.isInstance=function(e){return e instanceof u||e instanceof a},o.randBetween=V,o}();typeof module!="undefined"&&module.hasOwnProperty("exports")&&(module.exports=bigInt); \ No newline at end of file diff --git a/node_modules/big-integer/package.json b/node_modules/big-integer/package.json index b604dbe6..2d7ad6fd 100644 --- a/node_modules/big-integer/package.json +++ b/node_modules/big-integer/package.json @@ -10,18 +10,17 @@ "spec": ">=1.6.7 <2.0.0", "type": "range" }, - "/Users/steveng/repo/cordova/cordova-android/node_modules/bplist-parser" + "/Users/maj/src/cordova-android/node_modules/bplist-parser" ] ], "_from": "big-integer@>=1.6.7 <2.0.0", - "_id": "big-integer@1.6.16", + "_id": "big-integer@1.6.17", "_inCache": true, - "_installable": true, "_location": "/big-integer", "_nodeVersion": "4.4.5", "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/big-integer-1.6.16.tgz_1473665148825_0.5824211346916854" + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/big-integer-1.6.17.tgz_1478721202721_0.8068355675786734" }, "_npmUser": { "name": "peterolson", @@ -41,11 +40,11 @@ "_requiredBy": [ "/bplist-parser" ], - "_resolved": "http://registry.npmjs.org/big-integer/-/big-integer-1.6.16.tgz", - "_shasum": "0ca30b58013db46b10084a09242ca1d8954724cc", + "_resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.17.tgz", + "_shasum": "f0dcf5109a949e42a993ee3e8fb2070452817b51", "_shrinkwrap": null, "_spec": "big-integer@^1.6.7", - "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/bplist-parser", + "_where": "/Users/maj/src/cordova-android/node_modules/bplist-parser", "author": { "name": "Peter Olson", "email": "peter.e.c.olson+npm@gmail.com" @@ -68,13 +67,13 @@ }, "directories": {}, "dist": { - "shasum": "0ca30b58013db46b10084a09242ca1d8954724cc", - "tarball": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.16.tgz" + "shasum": "f0dcf5109a949e42a993ee3e8fb2070452817b51", + "tarball": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.17.tgz" }, "engines": { "node": ">=0.6" }, - "gitHead": "09b50ab4e701a2ec4d403fa3ecf12ae327227190", + "gitHead": "d25d0bfcd96f31001ec8572c8d01de4770d99e63", "homepage": "https://github.com/peterolson/BigInteger.js#readme", "keywords": [ "math", @@ -105,5 +104,5 @@ "scripts": { "test": "karma start my.conf.js" }, - "version": "1.6.16" + "version": "1.6.17" } diff --git a/node_modules/cordova-common/.ratignore b/node_modules/cordova-common/.ratignore index 26f72058..d9f5e52e 100644 --- a/node_modules/cordova-common/.ratignore +++ b/node_modules/cordova-common/.ratignore @@ -1,2 +1,3 @@ fixtures coverage +jasmine.json diff --git a/node_modules/cordova-common/RELEASENOTES.md b/node_modules/cordova-common/RELEASENOTES.md index 02dbcee8..83777f5a 100644 --- a/node_modules/cordova-common/RELEASENOTES.md +++ b/node_modules/cordova-common/RELEASENOTES.md @@ -20,6 +20,16 @@ --> # Cordova-common Release Notes +### 2.0.1 (Mar 09, 2017) +* [CB-12557](https://issues.apache.org/jira/browse/CB-12557) add both stdout and stderr properties to the error object passed to superspawn reject handler. + +### 2.0.0 (Jan 17, 2017) +* [CB-8978](https://issues.apache.org/jira/browse/CB-8978) Add `resource-file` parsing to `config.xml` +* [CB-12018](https://issues.apache.org/jira/browse/CB-12018): updated `jshint` and updated tests to work with `jasmine@2` instead of `jasmine-node` +* [CB-12163](https://issues.apache.org/jira/browse/CB-12163) Add reference attrib to `resource-file` for **Windows** +* Move windows-specific logic to `cordova-windows` +* [CB-12189](https://issues.apache.org/jira/browse/CB-12189) Add implementation attribute to framework + ### 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` diff --git a/node_modules/cordova-common/package.json b/node_modules/cordova-common/package.json index e81f4784..388d201a 100644 --- a/node_modules/cordova-common/package.json +++ b/node_modules/cordova-common/package.json @@ -2,50 +2,49 @@ "_args": [ [ { - "raw": "cordova-common@^1.5.0", + "raw": "cordova-common@^2.0.1", "scope": null, "escapedName": "cordova-common", "name": "cordova-common", - "rawSpec": "^1.5.0", - "spec": ">=1.5.0 <2.0.0", + "rawSpec": "^2.0.1", + "spec": ">=2.0.1 <3.0.0", "type": "range" }, - "/Users/steveng/repo/cordova/cordova-android" + "/Users/maj/src/cordova-android" ] ], - "_from": "cordova-common@>=1.5.0 <2.0.0", - "_id": "cordova-common@1.5.1", + "_from": "cordova-common@>=2.0.1 <3.0.0", + "_id": "cordova-common@2.0.1", "_inCache": true, - "_installable": true, "_location": "/cordova-common", - "_nodeVersion": "6.6.0", + "_nodeVersion": "6.9.4", "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/cordova-common-1.5.1.tgz_1476725179180_0.39604957425035536" + "host": "packages-18-east.internal.npmjs.com", + "tmp": "tmp/cordova-common-2.0.1.tgz_1489432932737_0.5238456283695996" }, "_npmUser": { - "name": "stevegill", - "email": "stevengill97@gmail.com" + "name": "filmaj", + "email": "maj.fil@gmail.com" }, - "_npmVersion": "3.10.3", + "_npmVersion": "3.10.10", "_phantomChildren": {}, "_requested": { - "raw": "cordova-common@^1.5.0", + "raw": "cordova-common@^2.0.1", "scope": null, "escapedName": "cordova-common", "name": "cordova-common", - "rawSpec": "^1.5.0", - "spec": ">=1.5.0 <2.0.0", + "rawSpec": "^2.0.1", + "spec": ">=2.0.1 <3.0.0", "type": "range" }, "_requiredBy": [ "/" ], - "_resolved": "file:cordova-dist/tools/cordova-common-1.5.1.tgz", - "_shasum": "6770de0d6200ad6f94a1abe8939b5bd9ece139e3", + "_resolved": "file:tools/cordova-common-2.0.1.tgz", + "_shasum": "99af318d7cb8988047cfe37bb9f25ea881d52815", "_shrinkwrap": null, - "_spec": "cordova-common@^1.5.0", - "_where": "/Users/steveng/repo/cordova/cordova-android", + "_spec": "cordova-common@^2.0.1", + "_where": "/Users/maj/src/cordova-android", "author": { "name": "Apache Software Foundation" }, @@ -71,18 +70,17 @@ }, "description": "Apache Cordova tools and platforms shared routines", "devDependencies": { - "istanbul": "^0.3.17", - "jasmine-node": "^1.14.5", + "istanbul": "^0.4.5", + "jasmine": "^2.5.2", "jshint": "^2.8.0", "promise-matchers": "^0.9.6", "rewire": "^2.5.1" }, "directories": {}, "dist": { - "shasum": "6770de0d6200ad6f94a1abe8939b5bd9ece139e3", - "tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-1.5.1.tgz" + "shasum": "99af318d7cb8988047cfe37bb9f25ea881d52815", + "tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.0.1.tgz" }, - "engineStrict": true, "engines": { "node": ">=0.9.9" }, @@ -93,6 +91,10 @@ "name": "bowserj", "email": "bowserj@apache.org" }, + { + "name": "filmaj", + "email": "maj.fil@gmail.com" + }, { "name": "kotikov.vladimir", "email": "kotikov.vladimir@gmail.com" @@ -122,10 +124,10 @@ "url": "git://git-wip-us.apache.org/repos/asf/cordova-common.git" }, "scripts": { - "cover": "node node_modules/istanbul/lib/cli.js cover --root src --print detail node_modules/jasmine-node/bin/jasmine-node -- spec", - "jasmine": "node node_modules/jasmine-node/bin/jasmine-node --captureExceptions --color spec", - "jshint": "node node_modules/jshint/bin/jshint src && node node_modules/jshint/bin/jshint spec", + "cover": "istanbul cover --root src --print detail jasmine", + "jasmine": "jasmine --captureExceptions --color", + "jshint": "jshint src && jshint spec", "test": "npm run jshint && npm run jasmine" }, - "version": "1.5.1" + "version": "2.0.1" } diff --git a/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js b/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js index 6a80730a..4a58132b 100644 --- a/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js +++ b/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js @@ -1,21 +1,21 @@ -/* - * - * Copyright 2013 Anis Kadri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ +/** + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ /* * This module deals with shared configuration / dependency "stuff". That is: @@ -31,11 +31,8 @@ /* jshint sub:true */ -var fs = require('fs'), - path = require('path'), +var path = require('path'), et = require('elementtree'), - semver = require('semver'), - events = require('../events'), ConfigKeeper = require('./ConfigKeeper'), CordovaLogger = require('../CordovaLogger'); @@ -109,18 +106,6 @@ function remove_plugin_changes(pluginInfo, is_top_level) { var munge = mungeutil.decrement_munge(global_munge, config_munge); for (var file in munge.files) { - // CB-6976 Windows Universal Apps. Compatibility fix for existing plugins. - if (self.platform == 'windows' && file == 'package.appxmanifest' && - !fs.existsSync(path.join(self.project_dir, 'package.appxmanifest'))) { - // New windows template separate manifest files for Windows10, Windows8.1 and WP8.1 - var substs = ['package.phone.appxmanifest', 'package.windows.appxmanifest', 'package.windows10.appxmanifest']; - /* jshint loopfunc:true */ - substs.forEach(function(subst) { - events.emit('verbose', 'Applying munge to ' + subst); - self.apply_file_munge(subst, munge.files[file], true); - }); - /* jshint loopfunc:false */ - } self.apply_file_munge(file, munge.files[file], /* remove = */ true); } @@ -250,18 +235,6 @@ function munge_helper(should_increment, self, platform_config, config_munge) { } for (var file in munge.files) { - // CB-6976 Windows Universal Apps. Compatibility fix for existing plugins. - if (self.platform == 'windows' && file == 'package.appxmanifest' && - !fs.existsSync(path.join(self.project_dir, 'package.appxmanifest'))) { - var substs = ['package.phone.appxmanifest', 'package.windows.appxmanifest', 'package.windows10.appxmanifest']; - /* jshint loopfunc:true */ - substs.forEach(function(subst) { - events.emit('verbose', 'Applying munge to ' + subst); - self.apply_file_munge(subst, munge.files[file]); - }); - /* jshint loopfunc:false */ - } - self.apply_file_munge(file, munge.files[file]); } @@ -333,92 +306,6 @@ function generate_plugin_config_munge(pluginInfo, vars, edit_config_changes) { Array.prototype.push.apply(changes, edit_config_changes); } - // Demux 'package.appxmanifest' into relevant platform-specific appx manifests. - // Only spend the cycles if there are version-specific plugin settings - if (self.platform === 'windows' && - changes.some(function(change) { - return ((typeof change.versions !== 'undefined') || - (typeof change.deviceTarget !== 'undefined')); - })) - { - var manifests = { - 'windows': { - '8.1.0': 'package.windows.appxmanifest', - '10.0.0': 'package.windows10.appxmanifest' - }, - 'phone': { - '8.1.0': 'package.phone.appxmanifest', - '10.0.0': 'package.windows10.appxmanifest' - }, - 'all': { - '8.1.0': ['package.windows.appxmanifest', 'package.phone.appxmanifest'], - '10.0.0': 'package.windows10.appxmanifest' - } - }; - - var oldChanges = changes; - changes = []; - - oldChanges.forEach(function(change, changeIndex) { - // Only support semver/device-target demux for package.appxmanifest - // Pass through in case something downstream wants to use it - if (change.target !== 'package.appxmanifest') { - changes.push(change); - return; - } - - var hasVersion = (typeof change.versions !== 'undefined'); - var hasTargets = (typeof change.deviceTarget !== 'undefined'); - - // No semver/device-target for this config-file, pass it through - if (!(hasVersion || hasTargets)) { - changes.push(change); - return; - } - - var targetDeviceSet = hasTargets ? change.deviceTarget : 'all'; - if (['windows', 'phone', 'all'].indexOf(targetDeviceSet) === -1) { - // target-device couldn't be resolved, fix it up here to a valid value - targetDeviceSet = 'all'; - } - var knownWindowsVersionsForTargetDeviceSet = Object.keys(manifests[targetDeviceSet]); - - // at this point, 'change' targets package.appxmanifest and has a version attribute - knownWindowsVersionsForTargetDeviceSet.forEach(function(winver) { - // This is a local function that creates the new replacement representing the - // mutation. Used to save code further down. - var createReplacement = function(manifestFile, originalChange) { - var replacement = { - target: manifestFile, - parent: originalChange.parent, - after: originalChange.after, - xmls: originalChange.xmls, - versions: originalChange.versions, - deviceTarget: originalChange.deviceTarget - }; - return replacement; - }; - - // version doesn't satisfy, so skip - if (hasVersion && !semver.satisfies(winver, change.versions)) { - return; - } - - var versionSpecificManifests = manifests[targetDeviceSet][winver]; - if (versionSpecificManifests.constructor === Array) { - // e.g. all['8.1.0'] === ['pkg.windows.appxmanifest', 'pkg.phone.appxmanifest'] - versionSpecificManifests.forEach(function(manifestFile) { - changes.push(createReplacement(manifestFile, change)); - }); - } - else { - // versionSpecificManifests is actually a single string - changes.push(createReplacement(versionSpecificManifests, change)); - } - }); - }); - } - changes.forEach(function(change) { change.xmls.forEach(function(xml) { // 1. stringify each xml diff --git a/node_modules/cordova-common/src/ConfigParser/ConfigParser.js b/node_modules/cordova-common/src/ConfigParser/ConfigParser.js index 6e74ce3d..e477a898 100644 --- a/node_modules/cordova-common/src/ConfigParser/ConfigParser.js +++ b/node_modules/cordova-common/src/ConfigParser/ConfigParser.js @@ -256,6 +256,30 @@ ConfigParser.prototype = { return this.getStaticResources(platform, 'splash'); }, + /** + * Returns all resource-files for a specific platform. + * @param {string} platform Platform name + * @return {Resource[]} Array of resource file objects. + */ + getFileResources: function(platform) { + var fileResources = []; + + if (platform) { // platform specific resources + fileResources = this.doc.findall('platform[@name=\'' + platform + '\']/resource-file').map(function(tag) { + return { + platform: platform, + src: tag.attrib.src, + target: tag.attrib.target, + versions: tag.attrib.versions, + deviceTarget: tag.attrib['device-target'], + arch: tag.attrib.arch + }; + }); + } + + return fileResources; + }, + /** * Returns all hook scripts for the hook type specified. * @param {String} hook The hook type. diff --git a/node_modules/cordova-common/src/PluginInfo/PluginInfo.js b/node_modules/cordova-common/src/PluginInfo/PluginInfo.js index 0be0c410..44501fa4 100644 --- a/node_modules/cordova-common/src/PluginInfo/PluginInfo.js +++ b/node_modules/cordova-common/src/PluginInfo/PluginInfo.js @@ -225,7 +225,8 @@ function PluginInfo(dirname) { target: tag.attrib.target, versions: tag.attrib.versions, deviceTarget: tag.attrib['device-target'], - arch: tag.attrib.arch + arch: tag.attrib.arch, + reference: tag.attrib.reference }; }); return resourceFiles; @@ -323,7 +324,8 @@ function PluginInfo(dirname) { versions: el.attrib.versions, targetDir: el.attrib['target-dir'], deviceTarget: el.attrib['device-target'] || el.attrib.target, - arch: el.attrib.arch + arch: el.attrib.arch, + implementation: el.attrib.implementation }; return ret; }); diff --git a/node_modules/cordova-common/src/superspawn.js b/node_modules/cordova-common/src/superspawn.js index a3f1431c..96ec09dc 100644 --- a/node_modules/cordova-common/src/superspawn.js +++ b/node_modules/cordova-common/src/superspawn.js @@ -167,6 +167,12 @@ exports.spawn = function(cmd, args, opts) { errMsg += ' Error output:\n' + capturedErr.trim(); } var err = new Error(errMsg); + if (capturedErr) { + err.stderr = capturedErr; + } + if (capturedOut) { + err.stdout = capturedOut; + } err.code = code; d.reject(err); } diff --git a/node_modules/cordova-common/src/util/plist-helpers.js b/node_modules/cordova-common/src/util/plist-helpers.js index 9dee5c63..38eb31b1 100644 --- a/node_modules/cordova-common/src/util/plist-helpers.js +++ b/node_modules/cordova-common/src/util/plist-helpers.js @@ -1,21 +1,21 @@ -/* - * - * Copyright 2013 Brett Rudd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ +/** + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ // contains PLIST utility functions var __ = require('underscore'); diff --git a/node_modules/cordova-common/src/util/xml-helpers.js b/node_modules/cordova-common/src/util/xml-helpers.js index 9a1e82dd..b4b04906 100644 --- a/node_modules/cordova-common/src/util/xml-helpers.js +++ b/node_modules/cordova-common/src/util/xml-helpers.js @@ -1,21 +1,21 @@ -/* - * - * Copyright 2013 Anis Kadri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ +/** + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ /* jshint sub:true, laxcomma:true */ diff --git a/node_modules/osenv/package.json b/node_modules/osenv/package.json index c83a5f1f..54f88179 100644 --- a/node_modules/osenv/package.json +++ b/node_modules/osenv/package.json @@ -10,20 +10,23 @@ "spec": ">=0.1.3 <0.2.0", "type": "range" }, - "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common" + "/Users/maj/src/cordova-android/node_modules/cordova-common" ] ], "_from": "osenv@>=0.1.3 <0.2.0", - "_id": "osenv@0.1.3", + "_id": "osenv@0.1.4", "_inCache": true, - "_installable": true, "_location": "/osenv", - "_nodeVersion": "2.2.1", + "_nodeVersion": "6.5.0", + "_npmOperationalInternal": { + "host": "packages-18-east.internal.npmjs.com", + "tmp": "tmp/osenv-0.1.4.tgz_1481655889868_0.3980878754518926" + }, "_npmUser": { "name": "isaacs", - "email": "isaacs@npmjs.com" + "email": "i@izs.me" }, - "_npmVersion": "3.0.0", + "_npmVersion": "3.10.9", "_phantomChildren": {}, "_requested": { "raw": "osenv@^0.1.3", @@ -37,11 +40,11 @@ "_requiredBy": [ "/cordova-common" ], - "_resolved": "http://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz", - "_shasum": "83cf05c6d6458fc4d5ac6362ea325d92f2754217", + "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "_shasum": "42fe6d5953df06c8064be6f176c3d05aaaa34644", "_shrinkwrap": null, "_spec": "osenv@^0.1.3", - "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common", + "_where": "/Users/maj/src/cordova-android/node_modules/cordova-common", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", @@ -56,16 +59,16 @@ }, "description": "Look up environment settings specific to different operating systems", "devDependencies": { - "tap": "^1.2.0" + "tap": "^8.0.1" }, "directories": { "test": "test" }, "dist": { - "shasum": "83cf05c6d6458fc4d5ac6362ea325d92f2754217", - "tarball": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz" + "shasum": "42fe6d5953df06c8064be6f176c3d05aaaa34644", + "tarball": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz" }, - "gitHead": "f746b3405d8f9e28054d11b97e1436f6a15016c4", + "gitHead": "ef718f0d20e38d45ec452b7faeefc692d3cd1062", "homepage": "https://github.com/npm/osenv#readme", "keywords": [ "environment", @@ -106,5 +109,5 @@ "scripts": { "test": "tap test/*.js" }, - "version": "0.1.3" + "version": "0.1.4" } diff --git a/node_modules/osenv/test/unix.js b/node_modules/osenv/test/unix.js index f87cbfb3..94d4aaaf 100644 --- a/node_modules/osenv/test/unix.js +++ b/node_modules/osenv/test/unix.js @@ -2,14 +2,14 @@ // 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\n' + - '# Skip unix tests, this is not unix\n') - return -} 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' diff --git a/node_modules/xmldom/dom-parser.js b/node_modules/xmldom/dom-parser.js index 08c2f70e..41d52267 100644 --- a/node_modules/xmldom/dom-parser.js +++ b/node_modules/xmldom/dom-parser.js @@ -2,7 +2,7 @@ function DOMParser(options){ this.options = options ||{locator:{}}; } -DOMParser.prototype.parseFromString = function(source,mimeType){ +DOMParser.prototype.parseFromString = function(source,mimeType){ var options = this.options; var sax = new XMLReader(); var domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler @@ -25,9 +25,9 @@ DOMParser.prototype.parseFromString = function(source,mimeType){ if(source){ sax.parse(source,defaultNSMap,entityMap); }else{ - sax.errorHandler.error("invalid document source"); + sax.errorHandler.error("invalid doc source"); } - return domBuilder.document; + return domBuilder.doc; } function buildErrorHandler(errorImpl,domBuilder,locator){ if(!errorImpl){ @@ -77,13 +77,13 @@ function position(locator,node){ */ DOMHandler.prototype = { startDocument : function() { - this.document = new DOMImplementation().createDocument(null, null, null); + this.doc = new DOMImplementation().createDocument(null, null, null); if (this.locator) { - this.document.documentURI = this.locator.systemId; + this.doc.documentURI = this.locator.systemId; } }, startElement:function(namespaceURI, localName, qName, attrs) { - var doc = this.document; + var doc = this.doc; var el = doc.createElementNS(namespaceURI, qName||localName); var len = attrs.length; appendElement(this, el); @@ -95,24 +95,22 @@ DOMHandler.prototype = { var value = attrs.getValue(i); var qName = attrs.getQName(i); var attr = doc.createAttributeNS(namespaceURI, qName); - if( attr.getOffset){ - position(attr.getOffset(1),attr) - } + this.locator &&position(attrs.getLocator(i),attr); attr.value = attr.nodeValue = value; el.setAttributeNode(attr) } }, endElement:function(namespaceURI, localName, qName) { var current = this.currentElement - var tagName = current.tagName; - this.currentElement = current.parentNode; + var tagName = current.tagName; + this.currentElement = current.parentNode; }, startPrefixMapping:function(prefix, uri) { }, endPrefixMapping:function(prefix) { }, processingInstruction:function(target, data) { - var ins = this.document.createProcessingInstruction(target, data); + var ins = this.doc.createProcessingInstruction(target, data); this.locator && position(this.locator,ins) appendElement(this, ins); }, @@ -121,13 +119,17 @@ DOMHandler.prototype = { characters:function(chars, start, length) { chars = _toString.apply(this,arguments) //console.log(chars) - if(this.currentElement && chars){ + if(chars){ if (this.cdata) { - var charNode = this.document.createCDATASection(chars); - this.currentElement.appendChild(charNode); + var charNode = this.doc.createCDATASection(chars); } else { - var charNode = this.document.createTextNode(chars); + var charNode = this.doc.createTextNode(chars); + } + if(this.currentElement){ this.currentElement.appendChild(charNode); + }else if(/^\s*$/.test(chars)){ + this.doc.appendChild(charNode); + //process xml } this.locator && position(this.locator,charNode) } @@ -135,7 +137,7 @@ DOMHandler.prototype = { skippedEntity:function(name) { }, endDocument:function() { - this.document.normalize(); + this.doc.normalize(); }, setDocumentLocator:function (locator) { if(this.locator = locator){// && !('lineNumber' in locator)){ @@ -145,7 +147,7 @@ DOMHandler.prototype = { //LexicalHandler comment:function(chars, start, length) { chars = _toString.apply(this,arguments) - var comm = this.document.createComment(chars); + var comm = this.doc.createComment(chars); this.locator && position(this.locator,comm) appendElement(this, comm); }, @@ -159,7 +161,7 @@ DOMHandler.prototype = { }, startDTD:function(name, publicId, systemId) { - var impl = this.document.implementation; + var impl = this.doc.implementation; if (impl && impl.createDocumentType) { var dt = impl.createDocumentType(name, publicId, systemId); this.locator && position(this.locator,dt) @@ -235,15 +237,15 @@ function _toString(chars,start,length){ /* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */ function appendElement (hander,node) { if (!hander.currentElement) { - hander.document.appendChild(node); + hander.doc.appendChild(node); } else { hander.currentElement.appendChild(node); } }//appendChild and setAttributeNS are preformance key -if(typeof require == 'function'){ +//if(typeof require == 'function'){ var XMLReader = require('./sax').XMLReader; var DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation; exports.XMLSerializer = require('./dom').XMLSerializer ; exports.DOMParser = DOMParser; -} +//} diff --git a/node_modules/xmldom/dom.js b/node_modules/xmldom/dom.js index 460a1be9..b290df08 100644 --- a/node_modules/xmldom/dom.js +++ b/node_modules/xmldom/dom.js @@ -110,9 +110,9 @@ NodeList.prototype = { item: function(index) { return this[index] || null; }, - toString:function(){ + toString:function(isHTML,nodeFilter){ for(var buf = [], i = 0;i=0){ var lastIndex = list.length-1 @@ -185,7 +186,7 @@ function _removeNamedNode(el,list,attr){ } } }else{ - throw DOMException(NOT_FOUND_ERR,new Error()) + throw DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr)) } } NamedNodeMap.prototype = { @@ -195,9 +196,11 @@ NamedNodeMap.prototype = { // if(key.indexOf(':')>0 || key == 'xmlns'){ // return null; // } + //console.log() var i = this.length; while(i--){ var attr = this[i]; + //console.log(attr.nodeName,key) if(attr.nodeName == key){ return attr; } @@ -379,7 +382,7 @@ Node.prototype = { } } } - el = el.nodeType == 2?el.ownerDocument : el.parentNode; + el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode; } return null; }, @@ -394,7 +397,7 @@ Node.prototype = { return map[prefix] ; } } - el = el.nodeType == 2?el.ownerDocument : el.parentNode; + el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode; } return null; }, @@ -579,7 +582,7 @@ Document.prototype = { } return newChild; } - if(this.documentElement == null && newChild.nodeType == 1){ + if(this.documentElement == null && newChild.nodeType == ELEMENT_NODE){ this.documentElement = newChild; } @@ -599,7 +602,7 @@ Document.prototype = { getElementById : function(id){ var rtv = null; _visitNode(this.documentElement,function(node){ - if(node.nodeType == 1){ + if(node.nodeType == ELEMENT_NODE){ if(node.getAttribute('id') == id){ rtv = node; return true; @@ -748,6 +751,7 @@ Element.prototype = { return this.attributes.setNamedItemNS(newAttr); }, removeAttributeNode : function(oldAttr){ + //console.log(this == oldAttr.ownerElement) return this.attributes.removeNamedItem(oldAttr.nodeName); }, //get real attribute name,and remove it by removeAttributeNode @@ -792,6 +796,7 @@ Element.prototype = { } }); return ls; + }); } }; @@ -823,10 +828,7 @@ CharacterData.prototype = { }, appendChild:function(newChild){ - //if(!(newChild instanceof CharacterData)){ - throw new Error(ExceptionMessage[3]) - //} - return Node.prototype.appendChild.apply(this,arguments) + throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]) }, deleteData: function(offset, count) { this.replaceData(offset,count,""); @@ -908,39 +910,132 @@ function ProcessingInstruction() { ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE; _extends(ProcessingInstruction,Node); function XMLSerializer(){} -XMLSerializer.prototype.serializeToString = function(node,attributeSorter){ - return node.toString(attributeSorter); +XMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){ + return nodeSerializeToString.call(node,isHtml,nodeFilter); } -Node.prototype.toString =function(attributeSorter){ +Node.prototype.toString = nodeSerializeToString; +function nodeSerializeToString(isHtml,nodeFilter){ var buf = []; - serializeToString(this,buf,attributeSorter); + var refNode = this.nodeType == 9?this.documentElement:this; + var prefix = refNode.prefix; + var uri = refNode.namespaceURI; + + if(uri && prefix == null){ + //console.log(prefix) + var prefix = refNode.lookupPrefix(uri); + if(prefix == null){ + //isHTML = true; + var visibleNamespaces=[ + {namespace:uri,prefix:null} + //{namespace:uri,prefix:''} + ] + } + } + serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces); + //console.log('###',this.nodeType,uri,prefix,buf.join('')) return buf.join(''); } -function serializeToString(node,buf,attributeSorter,isHTML){ +function needNamespaceDefine(node,isHTML, visibleNamespaces) { + var prefix = node.prefix||''; + var uri = node.namespaceURI; + if (!prefix && !uri){ + return false; + } + if (prefix === "xml" && uri === "http://www.w3.org/XML/1998/namespace" + || uri == 'http://www.w3.org/2000/xmlns/'){ + return false; + } + + var i = visibleNamespaces.length + //console.log('@@@@',node.tagName,prefix,uri,visibleNamespaces) + while (i--) { + var ns = visibleNamespaces[i]; + // get namespace prefix + //console.log(node.nodeType,node.tagName,ns.prefix,prefix) + if (ns.prefix == prefix){ + return ns.namespace != uri; + } + } + //console.log(isHTML,uri,prefix=='') + //if(isHTML && prefix ==null && uri == 'http://www.w3.org/1999/xhtml'){ + // return false; + //} + //node.flag = '11111' + //console.error(3,true,node.flag,node.prefix,node.namespaceURI) + return true; +} +function serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){ + if(nodeFilter){ + node = nodeFilter(node); + if(node){ + if(typeof node == 'string'){ + buf.push(node); + return; + } + }else{ + return; + } + //buf.sort.apply(attrs, attributeSorter); + } switch(node.nodeType){ case ELEMENT_NODE: + if (!visibleNamespaces) visibleNamespaces = []; + var startVisibleNamespaces = visibleNamespaces.length; var attrs = node.attributes; var len = attrs.length; var child = node.firstChild; var nodeName = node.tagName; + isHTML = (htmlns === node.namespaceURI) ||isHTML buf.push('<',nodeName); - if(attributeSorter){ - buf.sort.apply(attrs, attributeSorter); + + + + for(var i=0;i'); //if is cdata child node if(isHTML && /^script$/i.test(nodeName)){ - if(child){ - buf.push(child.data); - } - }else{ while(child){ - serializeToString(child,buf,attributeSorter,isHTML); + if(child.data){ + buf.push(child.data); + }else{ + serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces); + } + child = child.nextSibling; + } + }else + { + while(child){ + serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces); child = child.nextSibling; } } @@ -948,12 +1043,14 @@ function serializeToString(node,buf,attributeSorter,isHTML){ }else{ buf.push('/>'); } + // remove added visible namespaces + //visibleNamespaces.length = startVisibleNamespaces; return; case DOCUMENT_NODE: case DOCUMENT_FRAGMENT_NODE: var child = node.firstChild; while(child){ - serializeToString(child,buf,attributeSorter,isHTML); + serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces); child = child.nextSibling; } return; @@ -1098,8 +1195,8 @@ try{ }, set:function(data){ switch(this.nodeType){ - case 1: - case 11: + case ELEMENT_NODE: + case DOCUMENT_FRAGMENT_NODE: while(this.firstChild){ this.removeChild(this.firstChild); } @@ -1110,7 +1207,7 @@ try{ default: //TODO: this.data = data; - this.value = value; + this.value = data; this.nodeValue = data; } } @@ -1118,8 +1215,8 @@ try{ function getTextContent(node){ switch(node.nodeType){ - case 1: - case 11: + case ELEMENT_NODE: + case DOCUMENT_FRAGMENT_NODE: var buf = []; node = node.firstChild; while(node){ @@ -1141,7 +1238,7 @@ try{ }catch(e){//ie8 } -if(typeof require == 'function'){ +//if(typeof require == 'function'){ exports.DOMImplementation = DOMImplementation; exports.XMLSerializer = XMLSerializer; -} +//} diff --git a/node_modules/xmldom/package.json b/node_modules/xmldom/package.json index 7d55dd30..3ae6a7df 100644 --- a/node_modules/xmldom/package.json +++ b/node_modules/xmldom/package.json @@ -10,15 +10,18 @@ "spec": ">=0.1.0 <0.2.0", "type": "range" }, - "/Users/steveng/repo/cordova/cordova-android/node_modules/plist" + "/Users/maj/src/cordova-android/node_modules/plist" ] ], "_from": "xmldom@>=0.1.0 <0.2.0", - "_id": "xmldom@0.1.22", + "_id": "xmldom@0.1.27", "_inCache": true, - "_installable": true, "_location": "/xmldom", "_nodeVersion": "5.5.0", + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/xmldom-0.1.27.tgz_1480305406093_0.9070004557725042" + }, "_npmUser": { "name": "jindw", "email": "jindw@xidea.org" @@ -37,11 +40,11 @@ "_requiredBy": [ "/plist" ], - "_resolved": "http://registry.npmjs.org/xmldom/-/xmldom-0.1.22.tgz", - "_shasum": "10de4e5e964981f03c8cc72fadc08d14b6c3aa26", + "_resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "_shasum": "d501f97b3bdb403af8ef9ecc20573187aadac0e9", "_shrinkwrap": null, "_spec": "xmldom@0.1.x", - "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/plist", + "_where": "/Users/maj/src/cordova-android/node_modules/plist", "author": { "name": "jindw", "email": "jindw@xidea.org", @@ -75,13 +78,13 @@ }, "directories": {}, "dist": { - "shasum": "10de4e5e964981f03c8cc72fadc08d14b6c3aa26", - "tarball": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.22.tgz" + "shasum": "d501f97b3bdb403af8ef9ecc20573187aadac0e9", + "tarball": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz" }, "engines": { "node": ">=0.1" }, - "gitHead": "29a83b315aef56c156602286b2d884a3b4c2521f", + "gitHead": "b53aa82a36160d85faab394035dcd1784764537f", "homepage": "https://github.com/jindw/xmldom", "keywords": [ "w3c", @@ -132,5 +135,5 @@ "scripts": { "test": "proof platform win32 && proof test */*/*.t.js || t/test" }, - "version": "0.1.22" + "version": "0.1.27" } diff --git a/node_modules/xmldom/sax.js b/node_modules/xmldom/sax.js index e11bdfbd..b33635f6 100644 --- a/node_modules/xmldom/sax.js +++ b/node_modules/xmldom/sax.js @@ -2,21 +2,21 @@ //[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] //[5] Name ::= NameStartChar (NameChar)* var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]///\u10000-\uEFFFF -var nameChar = new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\u00B7\u0300-\u036F\\u203F-\u2040]"); +var nameChar = new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); var tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\:'+nameStartChar.source+nameChar.source+'*)?$'); //var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/ //var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',') -//S_TAG, S_ATTR, S_EQ, S_V -//S_ATTR_S, S_E, S_S, S_C +//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE +//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE var S_TAG = 0;//tag name offerring var S_ATTR = 1;//attr name offerring -var S_ATTR_S=2;//attr name end and space offer +var S_ATTR_SPACE=2;//attr name end and space offer var S_EQ = 3;//=space? -var S_V = 4;//attr value(no quot value only) -var S_E = 5;//attr value end and no space(quot end) -var S_S = 6;//(attr value end || tag end ) && (space offer) -var S_C = 7;//closed el +var S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only) +var S_ATTR_END = 5;//attr value end and no space(quot end) +var S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer) +var S_TAG_CLOSE = 7;//closed el function XMLReader(){ @@ -33,7 +33,7 @@ XMLReader.prototype = { } } function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ - function fixedFromCharCode(code) { + function fixedFromCharCode(code) { // String.prototype.fromCharCode does not supports // > 2 bytes unicode chars directly if (code > 0xffff) { @@ -76,7 +76,7 @@ function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ } var lineStart = 0; var lineEnd = 0; - var linePattern = /.+(?:\r\n?|\n)|.*$/g + var linePattern = /.*(?:\r\n?|\n)|.*$/g var locator = domBuilder.locator; var parseStack = [{currentNSMap:defaultNSMapCopy}] @@ -87,7 +87,7 @@ function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ var tagStart = source.indexOf('<',start); if(tagStart<0){ if(!source.substr(start).match(/^\s*$/)){ - var doc = domBuilder.document; + var doc = domBuilder.doc; var text = doc.createTextNode(source.substr(start)); doc.appendChild(text); domBuilder.currentElement = text; @@ -102,16 +102,36 @@ function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ var end = source.indexOf('>',tagStart+3); var tagName = source.substring(tagStart+2,end); var config = parseStack.pop(); - var localNSMap = config.localNSMap; - if(config.tagName != tagName){ - errorHandler.fatalError("end tag name: "+tagName+' is not match the current start tagName:'+config.tagName ); - } - domBuilder.endElement(config.uri,config.localName,tagName); - if(localNSMap){ - for(var prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix) ; - } + if(end<0){ + + tagName = source.substring(tagStart+2).replace(/[\s<].*/,''); + //console.error('#@@@@@@'+tagName) + errorHandler.error("end tag name: "+tagName+' is not complete:'+config.tagName); + end = tagStart+1+tagName.length; + }else if(tagName.match(/\sstart){ start = end; @@ -181,7 +210,7 @@ function copyLocator(f,t){ * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack); * @return end of the elementStartPart(end of elementEndPart for selfClosed el) */ -function parseElementStartPart(source,start,el,entityReplacer,errorHandler){ +function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){ var attrName; var value; var p = ++start; @@ -193,7 +222,7 @@ function parseElementStartPart(source,start,el,entityReplacer,errorHandler){ if(s === S_ATTR){//attrName attrName = source.slice(start,p); s = S_EQ; - }else if(s === S_ATTR_S){ + }else if(s === S_ATTR_SPACE){ s = S_EQ; }else{ //fatalError: equal must after attrName or space after attrName @@ -202,25 +231,30 @@ function parseElementStartPart(source,start,el,entityReplacer,errorHandler){ break; case '\'': case '"': - if(s === S_EQ){//equal + if(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE + ){//equal + if(s === S_ATTR){ + errorHandler.warning('attribute value must after "="') + attrName = source.slice(start,p) + } start = p+1; p = source.indexOf(c,start) if(p>0){ value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); el.add(attrName,value,start-1); - s = S_E; + s = S_ATTR_END; }else{ //fatalError: no end quot match throw new Error('attribute value no end \''+c+'\' match'); } - }else if(s == S_V){ + }else if(s == S_ATTR_NOQUOT_VALUE){ value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); //console.log(attrName,value,start,p) el.add(attrName,value,start); //console.dir(el) errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+')!!'); start = p+1; - s = S_E + s = S_ATTR_END }else{ //fatalError: no equal before throw new Error('attribute value must after "="'); @@ -230,14 +264,14 @@ function parseElementStartPart(source,start,el,entityReplacer,errorHandler){ switch(s){ case S_TAG: el.setTagName(source.slice(start,p)); - case S_E: - case S_S: - case S_C: - s = S_C; + case S_ATTR_END: + case S_TAG_SPACE: + case S_TAG_CLOSE: + s =S_TAG_CLOSE; el.closed = true; - case S_V: + case S_ATTR_NOQUOT_VALUE: case S_ATTR: - case S_ATTR_S: + case S_ATTR_SPACE: break; //case S_EQ: default: @@ -247,30 +281,36 @@ function parseElementStartPart(source,start,el,entityReplacer,errorHandler){ case ''://end document //throw new Error('unexpected end of input') errorHandler.error('unexpected end of input'); + if(s == S_TAG){ + el.setTagName(source.slice(start,p)); + } + return p; case '>': switch(s){ case S_TAG: el.setTagName(source.slice(start,p)); - case S_E: - case S_S: - case S_C: + case S_ATTR_END: + case S_TAG_SPACE: + case S_TAG_CLOSE: break;//normal - case S_V://Compatible state + case S_ATTR_NOQUOT_VALUE://Compatible state case S_ATTR: value = source.slice(start,p); if(value.slice(-1) === '/'){ el.closed = true; value = value.slice(0,-1) } - case S_ATTR_S: - if(s === S_ATTR_S){ + case S_ATTR_SPACE: + if(s === S_ATTR_SPACE){ value = attrName; } - if(s == S_V){ + if(s == S_ATTR_NOQUOT_VALUE){ errorHandler.warning('attribute "'+value+'" missed quot(")!!'); el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start) }else{ - errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!') + if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){ + errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!') + } el.add(value,value,start) } break; @@ -287,64 +327,68 @@ function parseElementStartPart(source,start,el,entityReplacer,errorHandler){ switch(s){ case S_TAG: el.setTagName(source.slice(start,p));//tagName - s = S_S; + s = S_TAG_SPACE; break; case S_ATTR: attrName = source.slice(start,p) - s = S_ATTR_S; + s = S_ATTR_SPACE; break; - case S_V: + case S_ATTR_NOQUOT_VALUE: var value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); errorHandler.warning('attribute "'+value+'" missed quot(")!!'); el.add(attrName,value,start) - case S_E: - s = S_S; + case S_ATTR_END: + s = S_TAG_SPACE; break; - //case S_S: + //case S_TAG_SPACE: //case S_EQ: - //case S_ATTR_S: + //case S_ATTR_SPACE: // void();break; - //case S_C: + //case S_TAG_CLOSE: //ignore warning } }else{//not space -//S_TAG, S_ATTR, S_EQ, S_V -//S_ATTR_S, S_E, S_S, S_C +//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE +//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE switch(s){ //case S_TAG:void();break; //case S_ATTR:void();break; - //case S_V:void();break; - case S_ATTR_S: - errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead!!') + //case S_ATTR_NOQUOT_VALUE:void();break; + case S_ATTR_SPACE: + var tagName = el.tagName; + if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){ + errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!') + } el.add(attrName,attrName,start); start = p; s = S_ATTR; break; - case S_E: + case S_ATTR_END: errorHandler.warning('attribute space is required"'+attrName+'"!!') - case S_S: + case S_TAG_SPACE: s = S_ATTR; start = p; break; case S_EQ: - s = S_V; + s = S_ATTR_NOQUOT_VALUE; start = p; break; - case S_C: + case S_TAG_CLOSE: throw new Error("elements closed character '/' and '>' must be connected to"); } } - } + }//end outer switch + //console.log('p++',p) p++; } } /** - * @return end of the elementStartPart(end of elementEndPart for selfClosed el) + * @return true if has new namespace define */ -function appendElement(el,domBuilder,parseStack){ +function appendElement(el,domBuilder,currentNSMap){ var tagName = el.tagName; var localNSMap = null; - var currentNSMap = parseStack[parseStack.length-1].currentNSMap; + //var currentNSMap = parseStack[parseStack.length-1].currentNSMap; var i = el.length; while(i--){ var a = el[i]; @@ -383,7 +427,7 @@ function appendElement(el,domBuilder,parseStack){ if(prefix === 'xml'){ a.uri = 'http://www.w3.org/XML/1998/namespace'; }if(prefix !== 'xmlns'){ - a.uri = currentNSMap[prefix] + a.uri = currentNSMap[prefix || ''] //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} } @@ -412,7 +456,8 @@ function appendElement(el,domBuilder,parseStack){ }else{ el.currentNSMap = currentNSMap; el.localNSMap = localNSMap; - parseStack.push(el); + //parseStack.push(el); + return true; } } function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){ @@ -442,7 +487,11 @@ function fixSelfClosed(source,elStartEnd,tagName,closeMap){ var pos = closeMap[tagName]; if(pos == null){ //console.log(tagName) - pos = closeMap[tagName] = source.lastIndexOf('') + pos = source.lastIndexOf('') + if(pos