diff --git a/.gitignore b/.gitignore
index 1abbdcf3..a08d5a56 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,5 +39,4 @@ Desktop.ini
*.iml
.idea
npm-debug.log
-/node_modules
/framework/build
diff --git a/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE b/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE
new file mode 100644
index 00000000..19129e31
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md b/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md
new file mode 100644
index 00000000..98eab252
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md
@@ -0,0 +1,36 @@
+# wrappy
+
+Callback wrapping utility
+
+## USAGE
+
+```javascript
+var wrappy = require("wrappy")
+
+// var wrapper = wrappy(wrapperFunction)
+
+// make sure a cb is called only once
+// See also: http://npm.im/once for this specific use case
+var once = wrappy(function (cb) {
+ var called = false
+ return function () {
+ if (called) return
+ called = true
+ return cb.apply(this, arguments)
+ }
+})
+
+function printBoo () {
+ console.log('boo')
+}
+// has some rando property
+printBoo.iAmBooPrinter = true
+
+var onlyPrintOnce = once(printBoo)
+
+onlyPrintOnce() // prints 'boo'
+onlyPrintOnce() // does nothing
+
+// random property is retained!
+assert.equal(onlyPrintOnce.iAmBooPrinter, true)
+```
diff --git a/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json b/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json
new file mode 100644
index 00000000..2b8e311c
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "wrappy",
+ "version": "1.0.1",
+ "description": "Callback wrapping utility",
+ "main": "wrappy.js",
+ "directories": {
+ "test": "test"
+ },
+ "dependencies": {},
+ "devDependencies": {
+ "tap": "^0.4.12"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/wrappy.git"
+ },
+ "author": {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
+ "url": "http://blog.izs.me/"
+ },
+ "license": "ISC",
+ "bugs": {
+ "url": "https://github.com/npm/wrappy/issues"
+ },
+ "homepage": "https://github.com/npm/wrappy",
+ "readme": "# wrappy\n\nCallback wrapping utility\n\n## USAGE\n\n```javascript\nvar wrappy = require(\"wrappy\")\n\n// var wrapper = wrappy(wrapperFunction)\n\n// make sure a cb is called only once\n// See also: http://npm.im/once for this specific use case\nvar once = wrappy(function (cb) {\n var called = false\n return function () {\n if (called) return\n called = true\n return cb.apply(this, arguments)\n }\n})\n\nfunction printBoo () {\n console.log('boo')\n}\n// has some rando property\nprintBoo.iAmBooPrinter = true\n\nvar onlyPrintOnce = once(printBoo)\n\nonlyPrintOnce() // prints 'boo'\nonlyPrintOnce() // does nothing\n\n// random property is retained!\nassert.equal(onlyPrintOnce.iAmBooPrinter, true)\n```\n",
+ "readmeFilename": "README.md",
+ "_id": "wrappy@1.0.1",
+ "_shasum": "1e65969965ccbc2db4548c6b84a6f2c5aedd4739",
+ "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz",
+ "_from": "wrappy@>=1.0.0 <2.0.0"
+}
diff --git a/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js b/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js
new file mode 100644
index 00000000..5ed0fcdf
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js
@@ -0,0 +1,51 @@
+var test = require('tap').test
+var wrappy = require('../wrappy.js')
+
+test('basic', function (t) {
+ function onceifier (cb) {
+ var called = false
+ return function () {
+ if (called) return
+ called = true
+ return cb.apply(this, arguments)
+ }
+ }
+ onceifier.iAmOnce = {}
+ var once = wrappy(onceifier)
+ t.equal(once.iAmOnce, onceifier.iAmOnce)
+
+ var called = 0
+ function boo () {
+ t.equal(called, 0)
+ called++
+ }
+ // has some rando property
+ boo.iAmBoo = true
+
+ var onlyPrintOnce = once(boo)
+
+ onlyPrintOnce() // prints 'boo'
+ onlyPrintOnce() // does nothing
+ t.equal(called, 1)
+
+ // random property is retained!
+ t.equal(onlyPrintOnce.iAmBoo, true)
+
+ var logs = []
+ var logwrap = wrappy(function (msg, cb) {
+ logs.push(msg + ' wrapping cb')
+ return function () {
+ logs.push(msg + ' before cb')
+ var ret = cb.apply(this, arguments)
+ logs.push(msg + ' after cb')
+ }
+ })
+
+ var c = logwrap('foo', function () {
+ t.same(logs, [ 'foo wrapping cb', 'foo before cb' ])
+ })
+ c()
+ t.same(logs, [ 'foo wrapping cb', 'foo before cb', 'foo after cb' ])
+
+ t.end()
+})
diff --git a/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js b/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js
new file mode 100644
index 00000000..bb7e7d6f
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js
@@ -0,0 +1,33 @@
+// Returns a wrapper function that returns a wrapped callback
+// The wrapper function should do some stuff, and return a
+// presumably different callback function.
+// This makes sure that own properties are retained, so that
+// decorations and such are not lost along the way.
+module.exports = wrappy
+function wrappy (fn, cb) {
+ if (fn && cb) return wrappy(fn)(cb)
+
+ if (typeof fn !== 'function')
+ throw new TypeError('need wrapper function')
+
+ Object.keys(fn).forEach(function (k) {
+ wrapper[k] = fn[k]
+ })
+
+ return wrapper
+
+ function wrapper() {
+ var args = new Array(arguments.length)
+ for (var i = 0; i < args.length; i++) {
+ args[i] = arguments[i]
+ }
+ var ret = fn.apply(this, args)
+ var cb = args[args.length-1]
+ if (typeof ret === 'function' && ret !== cb) {
+ Object.keys(cb).forEach(function (k) {
+ ret[k] = cb[k]
+ })
+ }
+ return ret
+ }
+}
diff --git a/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE b/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE
new file mode 100644
index 00000000..19129e31
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/README.md b/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/README.md
new file mode 100644
index 00000000..98eab252
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/README.md
@@ -0,0 +1,36 @@
+# wrappy
+
+Callback wrapping utility
+
+## USAGE
+
+```javascript
+var wrappy = require("wrappy")
+
+// var wrapper = wrappy(wrapperFunction)
+
+// make sure a cb is called only once
+// See also: http://npm.im/once for this specific use case
+var once = wrappy(function (cb) {
+ var called = false
+ return function () {
+ if (called) return
+ called = true
+ return cb.apply(this, arguments)
+ }
+})
+
+function printBoo () {
+ console.log('boo')
+}
+// has some rando property
+printBoo.iAmBooPrinter = true
+
+var onlyPrintOnce = once(printBoo)
+
+onlyPrintOnce() // prints 'boo'
+onlyPrintOnce() // does nothing
+
+// random property is retained!
+assert.equal(onlyPrintOnce.iAmBooPrinter, true)
+```
diff --git a/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/package.json b/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/package.json
new file mode 100644
index 00000000..2b8e311c
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "wrappy",
+ "version": "1.0.1",
+ "description": "Callback wrapping utility",
+ "main": "wrappy.js",
+ "directories": {
+ "test": "test"
+ },
+ "dependencies": {},
+ "devDependencies": {
+ "tap": "^0.4.12"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/wrappy.git"
+ },
+ "author": {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
+ "url": "http://blog.izs.me/"
+ },
+ "license": "ISC",
+ "bugs": {
+ "url": "https://github.com/npm/wrappy/issues"
+ },
+ "homepage": "https://github.com/npm/wrappy",
+ "readme": "# wrappy\n\nCallback wrapping utility\n\n## USAGE\n\n```javascript\nvar wrappy = require(\"wrappy\")\n\n// var wrapper = wrappy(wrapperFunction)\n\n// make sure a cb is called only once\n// See also: http://npm.im/once for this specific use case\nvar once = wrappy(function (cb) {\n var called = false\n return function () {\n if (called) return\n called = true\n return cb.apply(this, arguments)\n }\n})\n\nfunction printBoo () {\n console.log('boo')\n}\n// has some rando property\nprintBoo.iAmBooPrinter = true\n\nvar onlyPrintOnce = once(printBoo)\n\nonlyPrintOnce() // prints 'boo'\nonlyPrintOnce() // does nothing\n\n// random property is retained!\nassert.equal(onlyPrintOnce.iAmBooPrinter, true)\n```\n",
+ "readmeFilename": "README.md",
+ "_id": "wrappy@1.0.1",
+ "_shasum": "1e65969965ccbc2db4548c6b84a6f2c5aedd4739",
+ "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz",
+ "_from": "wrappy@>=1.0.0 <2.0.0"
+}
diff --git a/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js b/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js
new file mode 100644
index 00000000..5ed0fcdf
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js
@@ -0,0 +1,51 @@
+var test = require('tap').test
+var wrappy = require('../wrappy.js')
+
+test('basic', function (t) {
+ function onceifier (cb) {
+ var called = false
+ return function () {
+ if (called) return
+ called = true
+ return cb.apply(this, arguments)
+ }
+ }
+ onceifier.iAmOnce = {}
+ var once = wrappy(onceifier)
+ t.equal(once.iAmOnce, onceifier.iAmOnce)
+
+ var called = 0
+ function boo () {
+ t.equal(called, 0)
+ called++
+ }
+ // has some rando property
+ boo.iAmBoo = true
+
+ var onlyPrintOnce = once(boo)
+
+ onlyPrintOnce() // prints 'boo'
+ onlyPrintOnce() // does nothing
+ t.equal(called, 1)
+
+ // random property is retained!
+ t.equal(onlyPrintOnce.iAmBoo, true)
+
+ var logs = []
+ var logwrap = wrappy(function (msg, cb) {
+ logs.push(msg + ' wrapping cb')
+ return function () {
+ logs.push(msg + ' before cb')
+ var ret = cb.apply(this, arguments)
+ logs.push(msg + ' after cb')
+ }
+ })
+
+ var c = logwrap('foo', function () {
+ t.same(logs, [ 'foo wrapping cb', 'foo before cb' ])
+ })
+ c()
+ t.same(logs, [ 'foo wrapping cb', 'foo before cb', 'foo after cb' ])
+
+ t.end()
+})
diff --git a/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js b/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js
new file mode 100644
index 00000000..bb7e7d6f
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js
@@ -0,0 +1,33 @@
+// Returns a wrapper function that returns a wrapped callback
+// The wrapper function should do some stuff, and return a
+// presumably different callback function.
+// This makes sure that own properties are retained, so that
+// decorations and such are not lost along the way.
+module.exports = wrappy
+function wrappy (fn, cb) {
+ if (fn && cb) return wrappy(fn)(cb)
+
+ if (typeof fn !== 'function')
+ throw new TypeError('need wrapper function')
+
+ Object.keys(fn).forEach(function (k) {
+ wrapper[k] = fn[k]
+ })
+
+ return wrapper
+
+ function wrapper() {
+ var args = new Array(arguments.length)
+ for (var i = 0; i < args.length; i++) {
+ args[i] = arguments[i]
+ }
+ var ret = fn.apply(this, args)
+ var cb = args[args.length-1]
+ if (typeof ret === 'function' && ret !== cb) {
+ Object.keys(cb).forEach(function (k) {
+ ret[k] = cb[k]
+ })
+ }
+ return ret
+ }
+}
diff --git a/node_modules/elementtree/Makefile b/node_modules/elementtree/Makefile
old mode 100644
new mode 100755
diff --git a/node_modules/elementtree/node_modules/sax/package.json b/node_modules/elementtree/node_modules/sax/package.json
index 52c3b233..74a2664c 100644
--- a/node_modules/elementtree/node_modules/sax/package.json
+++ b/node_modules/elementtree/node_modules/sax/package.json
@@ -79,7 +79,7 @@
],
"directories": {},
"_shasum": "88fcfc1f73c0c8bbd5b7c776b6d3f3501eed073d",
- "_resolved": "https://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
+ "_resolved": "http://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
"_from": "sax@0.3.5",
"bugs": {
"url": "https://github.com/isaacs/sax-js/issues"
diff --git a/node_modules/nopt/node_modules/abbrev/package.json b/node_modules/nopt/node_modules/abbrev/package.json
index c13eef40..1ce79fff 100644
--- a/node_modules/nopt/node_modules/abbrev/package.json
+++ b/node_modules/nopt/node_modules/abbrev/package.json
@@ -18,31 +18,14 @@
"devDependencies": {
"tap": "^1.2.0"
},
- "gitHead": "821d09ce7da33627f91bbd8ed631497ed6f760c2",
+ "readme": "# abbrev-js\n\nJust like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n var abbrev = require(\"abbrev\");\n abbrev(\"foo\", \"fool\", \"folding\", \"flop\");\n \n // returns:\n { fl: 'flop'\n , flo: 'flop'\n , flop: 'flop'\n , fol: 'folding'\n , fold: 'folding'\n , foldi: 'folding'\n , foldin: 'folding'\n , folding: 'folding'\n , foo: 'foo'\n , fool: 'fool'\n }\n\nThis is handy for command-line scripts, or other cases where you want to be able to accept shorthands.\n",
+ "readmeFilename": "README.md",
"bugs": {
"url": "https://github.com/isaacs/abbrev-js/issues"
},
"homepage": "https://github.com/isaacs/abbrev-js#readme",
"_id": "abbrev@1.0.7",
"_shasum": "5b6035b2ee9d4fb5cf859f08a9be81b208491843",
- "_from": "abbrev@>=1.0.0 <2.0.0",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
- "dist": {
- "shasum": "5b6035b2ee9d4fb5cf859f08a9be81b208491843",
- "tarball": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz"
- },
- "maintainers": [
- {
- "name": "isaacs",
- "email": "i@izs.me"
- }
- ],
- "directories": {},
"_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz",
- "readme": "ERROR: No README data found!"
+ "_from": "abbrev@>=1.0.0 <2.0.0"
}
diff --git a/node_modules/nopt/package.json b/node_modules/nopt/package.json
index 81b7eab9..9318890d 100644
--- a/node_modules/nopt/package.json
+++ b/node_modules/nopt/package.json
@@ -54,6 +54,6 @@
}
],
"directories": {},
- "_resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.4.tgz",
+ "_resolved": "http://registry.npmjs.org/nopt/-/nopt-3.0.4.tgz",
"readme": "ERROR: No README data found!"
}
diff --git a/node_modules/properties-parser/package.json b/node_modules/properties-parser/package.json
index c8942a94..467fb133 100644
--- a/node_modules/properties-parser/package.json
+++ b/node_modules/properties-parser/package.json
@@ -12,9 +12,8 @@
],
"maintainers": [
{
- "name": "Xavi",
- "email": "xavi.rmz@gmail.com",
- "url": "http://xavi.co"
+ "name": "xavi",
+ "email": "xavi.rmz@gmail.com"
}
],
"main": "./index.js",
@@ -25,14 +24,23 @@
"engines": {
"node": ">= 0.3.1"
},
- "readme": "# node-properties-parser\n\nA parser for [.properties](http://en.wikipedia.org/wiki/.properties) files written in javascript. Properties files store key-value pairs. They are typically used for configuration and internationalization in Java applications as well as in Actionscript projects. Here's an example of the format:\n\n\t# You are reading the \".properties\" entry.\n\t! The exclamation mark can also mark text as comments.\n\twebsite = http://en.wikipedia.org/\n\tlanguage = English\n\t# The backslash below tells the application to continue reading\n\t# the value onto the next line.\n\tmessage = Welcome to \\\n\t Wikipedia!\n\t# Add spaces to the key\n\tkey\\ with\\ spaces = This is the value that could be looked up with the key \"key with spaces\".\n\t# Unicode\n\ttab : \\u0009\n*(taken from [Wikipedia](http://en.wikipedia.org/wiki/.properties#Format))*\n\nCurrently works with any version of node.js.\n\n## The API\n\n- `parse(text)`: Parses `text` into key-value pairs. Returns an object containing the key-value pairs.\n- `read(path[, callback])`: Opens the file specified by `path` and calls `parse` on its content. If the optional `callback` parameter is provided, the result is then passed to it as the second parameter. If an error occurs, the error object is passed to `callback` as the first parameter. If `callback` is not provided, the file specified by `path` is synchronously read and calls `parse` on its contents. The resulting object is immediately returned.\n- `createEditor([path[, callback]])`: If neither `path` or `callback` are provided an empty editor object is returned synchronously. If only `path` is provided, the file specified by `path` is synchronously read and parsed. An editor object with the results in then immediately returned. If both `path` and `callback` are provided, the file specified by `path` is read and parsed asynchronously. An editor object with the results are then passed to `callback` as the second parameters. If an error occurs, the error object is passed to `callback` as the first parameter.\n- `Editor`: The editor object is returned by `createEditor`. Has the following API:\n\t- `get(key)`: Returns the value currently associated with `key`.\n\t- `set(key, [value[, comment]])`: Associates `key` with `value`. An optional comment can be provided. If `value` is not specified or is `null`, then `key` is unset.\n\t- `unset(key)`: Unsets the specified `key`.\n\t- `save([path][, callback]])`: Writes the current contents of this editor object to a file specified by `path`. If `path` is not provided, then it'll be defaulted to the `path` value passed to `createEditor`. The `callback` parameter is called when the file has been written to disk.\n\t- `addHeadComment`: Added a comment to the head of the file.\n\t- `toString`: Returns the string representation of this properties editor object. This string will be written to a file if `save` is called.\n\n## Getting node-properties-parser\n\nThe easiest way to get node-properties-parser is with [npm](http://npmjs.org/):\n\n\tnpm install properties-parser\n\nAlternatively you can clone this git repository:\n\n\tgit://github.com/xavi-/node-properties-parser.git\n\n## Developed by\n* Xavi Ramirez\n\n## License\nThis project is released under [The MIT License](http://www.opensource.org/licenses/mit-license.php).",
- "readmeFilename": "README.markdown",
"bugs": {
"url": "https://github.com/xavi-/node-properties-parser/issues"
},
- "homepage": "https://github.com/xavi-/node-properties-parser#readme",
+ "homepage": "https://github.com/xavi-/node-properties-parser",
"_id": "properties-parser@0.2.3",
+ "dist": {
+ "shasum": "f7591255f707abbff227c7b56b637dbb0373a10f",
+ "tarball": "http://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz"
+ },
+ "_from": "properties-parser@>=0.2.3 <0.3.0",
+ "_npmVersion": "1.3.23",
+ "_npmUser": {
+ "name": "xavi",
+ "email": "xavi.rmz@gmail.com"
+ },
+ "directories": {},
"_shasum": "f7591255f707abbff227c7b56b637dbb0373a10f",
"_resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz",
- "_from": "properties-parser@0.2.3"
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/q/package.json b/node_modules/q/package.json
index 99fa025a..e48d7578 100644
--- a/node_modules/q/package.json
+++ b/node_modules/q/package.json
@@ -91,30 +91,10 @@
"directories": {
"test": "./spec"
},
- "gitHead": "d373079d3620152e3d60e82f27265a09ee0e81bd",
+ "readme": "[](http://travis-ci.org/kriskowal/q)\n\n\n
\n\n\n*This is Q version 1, from the `v1` branch in Git. This documentation applies to\nthe latest of both the version 1 and version 0.9 release trains. These releases\nare stable. There will be no further releases of 0.9 after 0.9.7 which is nearly\nequivalent to version 1.0.0. All further releases of `q@~1.0` will be backward\ncompatible. The version 2 release train introduces significant and\nbackward-incompatible changes and is experimental at this time.*\n\nIf a function cannot return a value or throw an exception without\nblocking, it can return a promise instead. A promise is an object\nthat represents the return value or the thrown exception that the\nfunction may eventually provide. A promise can also be used as a\nproxy for a [remote object][Q-Connection] to overcome latency.\n\n[Q-Connection]: https://github.com/kriskowal/q-connection\n\nOn the first pass, promises can mitigate the “[Pyramid of\nDoom][POD]”: the situation where code marches to the right faster\nthan it marches forward.\n\n[POD]: http://calculist.org/blog/2011/12/14/why-coroutines-wont-work-on-the-web/\n\n```javascript\nstep1(function (value1) {\n step2(value1, function(value2) {\n step3(value2, function(value3) {\n step4(value3, function(value4) {\n // Do something with value4\n });\n });\n });\n});\n```\n\nWith a promise library, you can flatten the pyramid.\n\n```javascript\nQ.fcall(promisedStep1)\n.then(promisedStep2)\n.then(promisedStep3)\n.then(promisedStep4)\n.then(function (value4) {\n // Do something with value4\n})\n.catch(function (error) {\n // Handle any error from all above steps\n})\n.done();\n```\n\nWith this approach, you also get implicit error propagation, just like `try`,\n`catch`, and `finally`. An error in `promisedStep1` will flow all the way to\nthe `catch` function, where it’s caught and handled. (Here `promisedStepN` is\na version of `stepN` that returns a promise.)\n\nThe callback approach is called an “inversion of control”.\nA function that accepts a callback instead of a return value\nis saying, “Don’t call me, I’ll call you.”. Promises\n[un-invert][IOC] the inversion, cleanly separating the input\narguments from control flow arguments. This simplifies the\nuse and creation of API’s, particularly variadic,\nrest and spread arguments.\n\n[IOC]: http://www.slideshare.net/domenicdenicola/callbacks-promises-and-coroutines-oh-my-the-evolution-of-asynchronicity-in-javascript\n\n\n## Getting Started\n\nThe Q module can be loaded as:\n\n- A ``