From d04689596c5b508b3474863d88e49b02087da55f Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Sat, 9 Dec 2017 05:00:52 +0100 Subject: [PATCH] Sat Dec 9 05:00:52 CET 2017 --- lib/rusha/package.json | 3 +- .../node_modules/graceful-fs/package.json | 27 ++++++++-- .../node_modules/memory-fs/package.json | 24 +++++++-- .../node_modules/tapable/package.json | 24 +++++++-- .../enhanced-resolve/package.json | 24 +++++++-- .../glob/node_modules/inherits/package.json | 28 ++++++++-- .../node_modules/lru-cache/package.json | 27 ++++++++-- .../glob/node_modules/minimatch/package.json | 25 +++++++-- lib/tern/node_modules/glob/package.json | 25 +++++++-- .../node_modules/lru-cache/package.json | 28 ++++++++-- .../node_modules/sigmund/package.json | 3 +- lib/tern/node_modules/minimatch/package.json | 25 +++++++-- lib/tern/package.json | 2 +- lib/tern_from_ts/package.json | 2 +- node_modules/async/package.json | 28 ++++++++-- node_modules/base64id/package.json | 28 +++++++--- .../connect/node_modules/batch/package.json | 22 ++++++-- .../node_modules/buffer-crc32/package.json | 23 ++++++--- .../connect/node_modules/bytes/package.json | 22 ++++++-- .../cookie-signature/package.json | 22 ++++++-- .../connect/node_modules/cookie/package.json | 26 +++++++--- .../connect/node_modules/fresh/package.json | 23 +++++++-- .../connect/node_modules/methods/package.json | 23 +++++++-- .../node_modules/core-util-is/package.json | 24 +++++++-- .../node_modules/inherits/package.json | 27 ++++++++-- .../node_modules/isarray/package.json | 27 +++++++--- .../node_modules/string_decoder/package.json | 27 ++++++++-- .../node_modules/readable-stream/package.json | 43 +++++++++++++--- .../node_modules/stream-counter/package.json | 23 +++++++-- .../node_modules/multiparty/package.json | 25 ++++++--- .../node_modules/negotiator/package.json | 19 ++++--- .../connect/node_modules/pause/package.json | 13 ++++- .../node_modules/raw-body/package.json | 26 +++++++--- .../connect/node_modules/uid2/package.json | 20 +++++++- node_modules/connect/package.json | 33 ++++++++++-- node_modules/debug/package.json | 24 +++++++-- node_modules/ejs/package.json | 24 +++++++-- .../component-emitter/package.json | 26 +++++++--- .../component-inherit/package.json | 26 +++++++--- .../debug/node_modules/ms/package.json | 27 ++++++++-- .../node_modules/debug/package.json | 31 +++++++++-- .../node_modules/after/package.json | 27 ++++++++-- .../arraybuffer.slice/package.json | 24 +++++++-- .../base64-arraybuffer/package.json | 24 +++++++-- .../node_modules/blob/package.json | 24 +++++++-- .../node_modules/isarray/package.json | 25 ++++++--- .../node_modules/has-binary/package.json | 24 +++++++-- .../node_modules/utf8/package.json | 30 +++++++++-- .../engine.io-parser/package.json | 24 +++++++-- .../node_modules/has-cors/package.json | 25 +++++++-- .../node_modules/indexof/package.json | 13 ++++- .../node_modules/callsite/package.json | 22 ++++++-- .../node_modules/better-assert/package.json | 30 ++++++++--- .../node_modules/parsejson/package.json | 21 ++++++-- .../node_modules/callsite/package.json | 22 ++++++-- .../node_modules/better-assert/package.json | 30 ++++++++--- .../node_modules/parseqs/package.json | 21 ++++++-- .../node_modules/callsite/package.json | 22 ++++++-- .../node_modules/better-assert/package.json | 30 ++++++++--- .../node_modules/parseuri/package.json | 23 +++++++-- .../xmlhttprequest-ssl/package.json | 26 ++++++++-- .../node_modules/yeast/package.json | 28 ++++++++-- node_modules/engine.io-client/package.json | 28 ++++++++-- .../node_modules/mime-db/package.json | 28 ++++++++-- .../node_modules/mime-types/package.json | 32 ++++++++++-- .../node_modules/negotiator/package.json | 35 ++++++++++--- .../node_modules/accepts/package.json | 51 ++++++++++++++++--- .../debug/node_modules/ms/package.json | 27 ++++++++-- .../engine.io/node_modules/debug/package.json | 31 +++++++++-- .../node_modules/after/package.json | 27 ++++++++-- .../arraybuffer.slice/package.json | 24 +++++++-- .../base64-arraybuffer/package.json | 24 +++++++-- .../node_modules/blob/package.json | 24 +++++++-- .../node_modules/isarray/package.json | 25 ++++++--- .../node_modules/has-binary/package.json | 24 +++++++-- .../node_modules/utf8/package.json | 30 +++++++++-- .../engine.io-parser/package.json | 24 +++++++-- node_modules/engine.io/package.json | 28 ++++++++-- node_modules/http-error/package.json | 24 +++++++-- .../errno/node_modules/prr/package.json | 27 +++++++--- .../less/node_modules/errno/package.json | 28 +++++++--- .../node_modules/graceful-fs/package.json | 26 ++++++++-- .../less/node_modules/image-size/package.json | 15 +++--- .../mkdirp/node_modules/minimist/package.json | 22 ++++++-- .../less/node_modules/mkdirp/package.json | 24 +++++++-- .../promise/node_modules/asap/package.json | 3 +- .../less/node_modules/promise/package.json | 3 +- .../node_modules/aws-sign2/package.json | 25 +++++++-- .../request/node_modules/aws4/package.json | 28 ++++++++-- .../node_modules/caseless/package.json | 3 +- .../node_modules/delayed-stream/package.json | 28 ++++++++-- .../node_modules/combined-stream/package.json | 36 +++++++++++-- .../request/node_modules/extend/package.json | 3 +- .../node_modules/forever-agent/package.json | 36 ++++++++++--- .../node_modules/asynckit/package.json | 28 ++++++++-- .../node_modules/form-data/package.json | 3 +- .../ajv/node_modules/co/package.json | 3 +- .../node_modules/jsonify/package.json | 7 +-- .../json-stable-stringify/package.json | 3 +- .../node_modules/ajv/package.json | 3 +- .../node_modules/har-schema/package.json | 3 +- .../node_modules/har-validator/package.json | 3 +- .../hawk/node_modules/boom/package.json | 32 ++++++++++-- .../hawk/node_modules/cryptiles/package.json | 28 ++++++++-- .../hawk/node_modules/hoek/package.json | 32 ++++++++++-- .../hawk/node_modules/sntp/package.json | 27 +++++++--- .../request/node_modules/hawk/package.json | 24 +++++++-- .../node_modules/assert-plus/package.json | 25 +++++++-- .../node_modules/assert-plus/package.json | 25 +++++++-- .../node_modules/extsprintf/package.json | 27 ++++++++-- .../node_modules/json-schema/package.json | 23 +++++++-- .../node_modules/core-util-is/package.json | 23 +++++++-- .../jsprim/node_modules/verror/package.json | 3 +- .../node_modules/jsprim/package.json | 3 +- .../sshpk/node_modules/asn1/package.json | 26 ++++++++-- .../node_modules/assert-plus/package.json | 26 ++++++++-- .../node_modules/bcrypt-pbkdf/package.json | 41 +++++++++++++-- .../sshpk/node_modules/dashdash/package.json | 51 +++++++++++++++++-- .../sshpk/node_modules/ecc-jsbn/package.json | 28 ++++++---- .../sshpk/node_modules/getpass/package.json | 3 +- .../sshpk/node_modules/jsbn/package.json | 28 ++++++++-- .../sshpk/node_modules/tweetnacl/package.json | 27 ++++++++-- .../node_modules/sshpk/package.json | 3 +- .../node_modules/http-signature/package.json | 32 ++++++++++-- .../node_modules/is-typedarray/package.json | 24 +++++++-- .../node_modules/isstream/package.json | 26 ++++++++-- .../json-stringify-safe/package.json | 28 ++++++++-- .../node_modules/mime-db/package.json | 3 +- .../node_modules/mime-types/package.json | 15 +++--- .../node_modules/oauth-sign/package.json | 36 +++++++++++-- .../node_modules/performance-now/package.json | 3 +- .../request/node_modules/qs/package.json | 3 +- .../node_modules/safe-buffer/package.json | 3 +- .../node_modules/stringstream/package.json | 25 +++++++-- .../node_modules/punycode/package.json | 32 ++++++++++-- .../node_modules/tough-cookie/package.json | 3 +- .../node_modules/tunnel-agent/package.json | 3 +- .../request/node_modules/uuid/package.json | 3 +- node_modules/less/package.json | 3 +- node_modules/limiter/package.json | 3 +- node_modules/mime/package.json | 29 ++++++++--- node_modules/mkdirp/package.json | 28 ++++++---- node_modules/msgpack-js-browser/package.json | 42 +++++++++++---- .../node_modules/isbinaryfile/package.json | 9 +--- .../nak/node_modules/simplefunc/package.json | 24 ++++++--- node_modules/nak/package.json | 2 +- node_modules/netutil/package.json | 28 +++++++--- .../node_modules/minimist/package.json | 22 ++++++-- .../node_modules/wordwrap/package.json | 23 +++++++-- node_modules/optimist/package.json | 26 +++++++--- node_modules/qs/package.json | 23 +++++++-- node_modules/rusha/package.json | 3 +- .../send/node_modules/fresh/package.json | 25 ++++++--- .../node_modules/range-parser/package.json | 25 ++++++++- node_modules/send/package.json | 23 +++++++-- node_modules/simple-mime/package.json | 25 ++++++--- .../node_modules/graceful-fs/package.json | 27 ++++++++-- .../node_modules/memory-fs/package.json | 24 +++++++-- .../node_modules/tapable/package.json | 24 +++++++-- .../enhanced-resolve/package.json | 24 +++++++-- .../glob/node_modules/inherits/package.json | 28 ++++++++-- .../node_modules/lru-cache/package.json | 27 ++++++++-- .../glob/node_modules/minimatch/package.json | 25 +++++++-- .../tern/node_modules/glob/package.json | 25 +++++++-- .../node_modules/lru-cache/package.json | 28 ++++++++-- .../node_modules/sigmund/package.json | 3 +- .../tern/node_modules/minimatch/package.json | 25 +++++++-- node_modules/tern/package.json | 2 +- node_modules/tern_from_ts/package.json | 2 +- node_modules/through/package.json | 27 +++++++--- .../tmp/node_modules/os-tmpdir/package.json | 28 ++++++++-- node_modules/tmp/package.json | 3 +- .../uglify-js/node_modules/async/package.json | 25 ++++++--- .../node_modules/source-map/package.json | 23 ++++----- .../uglify-to-browserify/package.json | 26 +++++++--- .../yargs/node_modules/camelcase/package.json | 28 +++++++--- .../node_modules/is-buffer/package.json | 3 +- .../node_modules/kind-of/package.json | 3 +- .../node_modules/longest/package.json | 30 +++++++++-- .../node_modules/repeat-string/package.json | 32 ++++++++++-- .../node_modules/align-text/package.json | 32 ++++++++++-- .../node_modules/lazy-cache/package.json | 32 ++++++++++-- .../node_modules/center-align/package.json | 32 ++++++++++-- .../node_modules/is-buffer/package.json | 3 +- .../node_modules/kind-of/package.json | 3 +- .../node_modules/longest/package.json | 30 +++++++++-- .../node_modules/repeat-string/package.json | 32 ++++++++++-- .../node_modules/align-text/package.json | 32 ++++++++++-- .../node_modules/right-align/package.json | 24 +++++++-- .../cliui/node_modules/wordwrap/package.json | 21 +++++--- .../yargs/node_modules/cliui/package.json | 28 +++++++--- .../node_modules/decamelize/package.json | 28 ++++++++-- .../node_modules/window-size/package.json | 24 +++++++-- .../uglify-js/node_modules/yargs/package.json | 32 ++++++++++-- node_modules/uglify-js/package.json | 31 ++++++++--- .../ws/node_modules/options/package.json | 3 +- .../ws/node_modules/ultron/package.json | 3 +- node_modules/ws/package.json | 3 +- package.json | 4 +- version | 2 +- 200 files changed, 3462 insertions(+), 846 deletions(-) diff --git a/lib/rusha/package.json b/lib/rusha/package.json index d3426c69..b07a9805 100644 --- a/lib/rusha/package.json +++ b/lib/rusha/package.json @@ -78,6 +78,5 @@ "tmp": "tmp/rusha-0.8.7.tgz_1510304341738_0.042929528048262" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.7.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.7.tgz" } diff --git a/lib/tern/node_modules/enhanced-resolve/node_modules/graceful-fs/package.json b/lib/tern/node_modules/enhanced-resolve/node_modules/graceful-fs/package.json index 997a8a44..8b9f028d 100644 --- a/lib/tern/node_modules/enhanced-resolve/node_modules/graceful-fs/package.json +++ b/lib/tern/node_modules/enhanced-resolve/node_modules/graceful-fs/package.json @@ -44,14 +44,33 @@ "legacy-streams.js", "polyfills.js" ], - "readme": "# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over [fs module](https://nodejs.org/api/fs.html)\n\n* Queues up `open` and `readdir` calls, and retries them once\n something closes if there is an EMFILE error from too many file\n descriptors.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn't root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## USAGE\n\n```javascript\n// use just like fs\nvar fs = require('graceful-fs')\n\n// now go and do stuff with it...\nfs.readFileSync('some-file-or-whatever')\n```\n\n## Global Patching\n\nIf you want to patch the global fs module (or any other fs-like\nmodule) you can do this:\n\n```javascript\n// Make sure to read the caveat below.\nvar realFs = require('fs')\nvar gracefulFs = require('graceful-fs')\ngracefulFs.gracefulify(realFs)\n```\n\nThis should only ever be done at the top-level application layer, in\norder to delay on EMFILE errors from any fs-using dependencies. You\nshould **not** do this in a library, because it can cause unexpected\ndelays in other parts of the program.\n\n## Changes\n\nThis module is fairly stable at this point, and used by a lot of\nthings. That being said, because it implements a subtle behavior\nchange in a core part of the node API, even modest changes can be\nextremely breaking, and the versioning is thus biased towards\nbumping the major when in doubt.\n\nThe main change between major versions has been switching between\nproviding a fully-patched `fs` module vs monkey-patching the node core\nbuiltin, and the approach by which a non-monkey-patched `fs` was\ncreated.\n\nThe goal is to trade `EMFILE` errors for slower fs operations. So, if\nyou try to open a zillion files, rather than crashing, `open`\noperations will be queued up and wait for something else to `close`.\n\nThere are advantages to each approach. Monkey-patching the fs means\nthat no `EMFILE` errors can possibly occur anywhere in your\napplication, because everything is using the same core `fs` module,\nwhich is patched. However, it can also obviously cause undesirable\nside-effects, especially if the module is loaded multiple times.\n\nImplementing a separate-but-identical patched `fs` module is more\nsurgical (and doesn't run the risk of patching multiple times), but\nalso imposes the challenge of keeping in sync with the core module.\n\nThe current approach loads the `fs` module, and then creates a\nlookalike object that has all the same methods, except a few that are\npatched. It is safe to use in all versions of Node from 0.8 through\n7.0.\n\n### v4\n\n* Do not monkey-patch the fs module. This module may now be used as a\n drop-in dep, and users can opt into monkey-patching the fs builtin\n if their app requires it.\n\n### v3\n\n* Monkey-patch fs, because the eval approach no longer works on recent\n node.\n* fixed possible type-error throw if rename fails on windows\n* verify that we *never* get EMFILE errors\n* Ignore ENOSYS from chmod/chown\n* clarify that graceful-fs must be used as a drop-in\n\n### v2.1.0\n\n* Use eval rather than monkey-patching fs.\n* readdir: Always sort the results\n* win32: requeue a file if error has an OK status\n\n### v2.0\n\n* A return to monkey patching\n* wrap process.cwd\n\n### v1.1\n\n* wrap readFile\n* Wrap fs.writeFile.\n* readdir protection\n* Don't clobber the fs builtin\n* Handle fs.read EAGAIN errors by trying again\n* Expose the curOpen counter\n* No-op lchown/lchmod if not implemented\n* fs.rename patch only for win32\n* Patch fs.rename to handle AV software on Windows\n* Close #4 Chown should not fail on einval or eperm if non-root\n* Fix isaacs/fstream#1 Only wrap fs one time\n* Fix #3 Start at 1024 max files, then back off on EMFILE\n* lutimes that doens't blow up on Linux\n* A full on-rewrite using a queue instead of just swallowing the EMFILE error\n* Wrap Read/Write streams as well\n\n### 1.0\n\n* Update engines for node 0.6\n* Be lstat-graceful on Windows\n* first\n", - "readmeFilename": "README.md", + "gitHead": "65cf80d1fd3413b823c16c626c1e7c326452bee5", "bugs": { "url": "https://github.com/isaacs/node-graceful-fs/issues" }, "homepage": "https://github.com/isaacs/node-graceful-fs#readme", "_id": "graceful-fs@4.1.11", "_shasum": "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658", - "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "_from": "graceful-fs@>=4.1.2 <5.0.0" + "_from": "graceful-fs@>=4.1.2 <5.0.0", + "_npmVersion": "3.10.9", + "_nodeVersion": "6.5.0", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "dist": { + "shasum": "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658", + "tarball": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "_npmOperationalInternal": { + "host": "packages-18-east.internal.npmjs.com", + "tmp": "tmp/graceful-fs-4.1.11.tgz_1479843029430_0.2122855328489095" + }, + "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" } diff --git a/lib/tern/node_modules/enhanced-resolve/node_modules/memory-fs/package.json b/lib/tern/node_modules/enhanced-resolve/node_modules/memory-fs/package.json index 004f3656..37d7119d 100644 --- a/lib/tern/node_modules/enhanced-resolve/node_modules/memory-fs/package.json +++ b/lib/tern/node_modules/enhanced-resolve/node_modules/memory-fs/package.json @@ -12,7 +12,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/webpack/memory-fs.git" + "url": "https://github.com/webpack/memory-fs.git" }, "keywords": [ "fs", @@ -31,10 +31,24 @@ "mocha": "^1.20.1", "should": "^4.0.4" }, - "readme": "# memory-fs\r\n\r\nA simple in-memory filesystem. Holds data in a javascript object.\r\n\r\n``` javascript\r\nvar MemoryFileSystem = require(\"memory-fs\");\r\nvar fs = new MemoryFileSystem(); // Optionally pass a javascript object\r\n\r\nfs.mkdirpSync(\"/a/test/dir\");\r\nfs.writeFileSync(\"/a/test/dir/file.txt\", \"Hello World\");\r\nfs.readFileSync(\"/a/test/dir/file.txt\"); // returns Buffer(\"Hello World\")\r\n\r\n// Async variantes too\r\nfs.unlink(\"/a/test/dir/file.txt\", function(err) {\r\n\t// ...\r\n});\r\n\r\nfs.readdirSync(\"/a/test\"); // returns [\"dir\"]\r\nfs.statSync(\"/a/test/dir\").isDirectory(); // returns true\r\nfs.rmdirSync(\"/a/test/dir\");\r\n\r\nfs.mkdirpSync(\"C:\\\\use\\\\windows\\\\style\\\\paths\");\r\n```\r\n\r\n## License\r\n\r\nCopyright (c) 2012-2014 Tobias Koppers\r\n\r\nMIT (http://www.opensource.org/licenses/mit-license.php)\r\n", - "readmeFilename": "README.md", + "gitHead": "b90785340f2adf4eed77c59bdda7742a51d16e5e", "_id": "memory-fs@0.2.0", "_shasum": "f2bb25368bc121e391c2520de92969caee0a0290", - "_resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "_from": "memory-fs@>=0.2.0 <0.3.0" + "_from": "memory-fs@>=0.2.0 <0.3.0", + "_npmVersion": "1.4.28", + "_npmUser": { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + }, + "maintainers": [ + { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + } + ], + "dist": { + "shasum": "f2bb25368bc121e391c2520de92969caee0a0290", + "tarball": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz" + }, + "_resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz" } diff --git a/lib/tern/node_modules/enhanced-resolve/node_modules/tapable/package.json b/lib/tern/node_modules/enhanced-resolve/node_modules/tapable/package.json index bef9f0a9..38dd0e49 100644 --- a/lib/tern/node_modules/enhanced-resolve/node_modules/tapable/package.json +++ b/lib/tern/node_modules/enhanced-resolve/node_modules/tapable/package.json @@ -22,13 +22,29 @@ "scripts": { "test": "mocha --reporter spec" }, - "readme": "# Tapable\r\n\r\n``` javascript\r\nvar Tapable = require(\"tapable\");\r\n```\r\n\r\n`Tapable` is a class for plugin binding and applying.\r\n\r\nJust extend it.\r\n\r\n``` javascript\r\nfunction MyClass() {\r\n\tTapable.call(this);\r\n}\r\n\r\nMyClass.prototype = Object.create(Tapable.prototype);\r\n\r\nMyClass.prototype.method = function() {};\r\n```\r\n\r\nOr mix it in.\r\n\r\n``` javascript\r\nfunction MyClass2() {\r\n\tEventEmitter.call(this);\r\n\tTapable.call(this);\r\n}\r\n\r\nMyClass2.prototype = Object.create(EventEmitter.prototype);\r\nTapable.mixin(MyClass2.prototype);\r\n\r\nMyClass2.prototype.method = function() {};\r\n```\r\n\r\n## Public functions\r\n\r\n### apply\r\n\r\n``` javascript\r\nvoid apply(plugins: Plugin...)\r\n```\r\n\r\nAttaches all plugins passed as arguments to the instance, by calling `apply` on them.\r\n\r\n### plugin\r\n\r\n``` javascript\r\nvoid plugin(names: string|string[], handler: Function)\r\n```\r\n\r\n`names` are the names (or a single name) of the plugin interfaces the class provides.\r\n\r\n`handler` is a callback function. The signature depends on the class. `this` is the instance of the class.\r\n\r\n### restartApplyPlugins\r\n\r\n``` javascript\r\nvoid restartApplyPlugins()\r\n```\r\n\r\nShould only be called from a handler function.\r\n\r\nIt restarts the process of applying handers.\r\n\r\n## Protected functions\r\n\r\n### applyPlugins\r\n\r\n``` javascript\r\nvoid applyPlugins(name: string, args: any...)\r\n```\r\n\r\nSynchronous applies all registered handers for `name`. The handler functions are called with all args.\r\n\r\n### applyPluginsWaterfall\r\n\r\n``` javascript\r\nany applyPluginsWaterfall(name: string, init: any, args: any...)\r\n```\r\n\r\nSynchronous applies all registered handers for `name`. The handler functions are called with the return value of the previous handler and all args. For the first handler `init` is used and the return value of the last handler is return by `applyPluginsWaterfall`\r\n\r\n### applyPluginsAsync\r\n\r\n``` javascript\r\nvoid applyPluginsAsync(\r\n\tname: string,\r\n\targs: any...,\r\n\tcallback: (err?: Error) -> void\r\n)\r\n```\r\n\r\nAsynchronously applies all registered handers for `name`. The handler functions are called with all args and a callback function with the signature `(err?: Error) -> void`. The hander functions are called in order of registration.\r\n\r\n`callback` is called after all handlers are called.\r\n\r\n### applyPluginsBailResult\r\n\r\n``` javascript\r\nany applyPluginsBailResult(name: string, args: any...)\r\n```\r\n\r\nSynchronous applies all registered handers for `name`. The handler function are called with all args. If a handler function returns something `!== undefined`, the value is returned and no more handers are applied.\r\n\r\n### applyPluginsAsyncWaterfall\r\n\r\n``` javascript\r\napplyPluginsAsyncWaterfall(\r\n\tname: string,\r\n\tinit: any,\r\n\tcallback: (err: Error, result: any) -> void\r\n)\r\n```\r\n\r\nAsynchronously applies all registered handers for `name`. The hander functions are called with the current value and a callback function with the signature `(err: Error, nextValue: any) -> void`. When called `nextValue` is the current value for the next handler. The current value for the first handler is `init`. After all handlers are applied, `callback` is called with the last value. If any handler passes a value for `err`, the `callback` is called with this error and no more handlers are called.\r\n\r\n### applyPluginsAsyncSeries\r\n\r\n``` javascript\r\napplyPluginsAsyncSeries(\r\n\tname: string,\r\n\targs: any...,\r\n\tcallback: (err: Error, result: any) -> void\r\n)\r\n```\r\n\r\nAsynchronously applies all registered handers for `name`. The hander functions are called with all `args` and a callback function with the signature `(err: Error) -> void`. The handers are called in series, one at a time. After all handlers are applied, `callback` is called. If any handler passes a value for `err`, the `callback` is called with this error and no more handlers are called.\r\n\r\n### applyPluginsParallel\r\n\r\n``` javascript\r\napplyPluginsParallel(\r\n\tname: string,\r\n\targs: any...,\r\n\tcallback: (err?: Error) -> void\r\n)\r\n```\r\n\r\nApplies all registered handlers for `name` parallel. The handler functions are called with all args and a callback function with the signature `(err?: Error) -> void`. The `callback` function is called when all handlers called the callback without `err`. If any handler calls the callback with `err`, `callback` is invoked with this error and the other handlers are ignored.\r\n\r\n`restartApplyPlugins` cannot be used.\r\n\r\n### applyPluginsParallelBailResult\r\n\r\n``` javascript\r\napplyPluginsParallelBailResult(\r\n\tname: string,\r\n\targs: any...,\r\n\tcallback: (err: Error, result: any) -> void\r\n)\r\n```\r\n\r\nApplies all registered handlers for `name` parallel. The handler functions are called with all args and a callback function with the signature `(err?: Error) -> void`. Handler functions must call the callback. They can either pass an error, or pass undefined, or pass an value. The first result (either error or value) with is not undefined is passed to the `callback`. The order is defined by registeration not by speed of the handler function. This function compentate this.\r\n\r\n`restartApplyPlugins` cannot be used.\r\n", - "readmeFilename": "README.md", + "gitHead": "32371f464d721c81f803f7b9440a4c3ddf1dd2bb", "bugs": { "url": "https://github.com/webpack/tapable/issues" }, "_id": "tapable@0.1.10", "_shasum": "29c35707c2b70e50d07482b5d202e8ed446dafd4", - "_resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "_from": "tapable@>=0.1.8 <0.2.0" + "_from": "tapable@>=0.1.8 <0.2.0", + "_npmVersion": "2.10.1", + "_nodeVersion": "0.12.4", + "_npmUser": { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + }, + "maintainers": [ + { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + } + ], + "dist": { + "shasum": "29c35707c2b70e50d07482b5d202e8ed446dafd4", + "tarball": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz" } diff --git a/lib/tern/node_modules/enhanced-resolve/package.json b/lib/tern/node_modules/enhanced-resolve/package.json index 9021ac95..9da27b5c 100644 --- a/lib/tern/node_modules/enhanced-resolve/package.json +++ b/lib/tern/node_modules/enhanced-resolve/package.json @@ -37,13 +37,29 @@ "type": "git", "url": "git://github.com/webpack/enhanced-resolve.git" }, - "readme": "# enhanced-resolve\r\n\r\nOffers a async require.resolve function. It's highly configurable.\r\n\r\n[documentation](https://github.com/webpack/docs/wiki)\r\n\r\n\r\n## Features\r\n\r\n* plugin system\r\n* provide a custom filesystem\r\n* sync and async node.js filesystems included\r\n\r\n\r\n## Tests\r\n\r\n``` javascript\r\nnpm test\r\n```\r\n\r\n[![Build Status](https://secure.travis-ci.org/webpack/enhanced-resolve.png?branch=master)](http://travis-ci.org/webpack/enhanced-resolve)\r\n\r\n\r\n## License\r\n\r\nCopyright (c) 2012-2013 Tobias Koppers\r\n\r\nMIT (http://www.opensource.org/licenses/mit-license.php)", - "readmeFilename": "README.md", + "gitHead": "1d14a6debbe4054f84d7d7f870ca0a1cb963f75b", "bugs": { "url": "https://github.com/webpack/enhanced-resolve/issues" }, "_id": "enhanced-resolve@0.9.1", "_shasum": "4d6e689b3725f86090927ccc86cd9f1635b89e2e", - "_resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", - "_from": "enhanced-resolve@>=0.9.1 <0.10.0" + "_from": "enhanced-resolve@>=0.9.1 <0.10.0", + "_npmVersion": "3.3.3", + "_nodeVersion": "4.0.0", + "_npmUser": { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + }, + "dist": { + "shasum": "4d6e689b3725f86090927ccc86cd9f1635b89e2e", + "tarball": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz" + }, + "maintainers": [ + { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz" } diff --git a/lib/tern/node_modules/glob/node_modules/inherits/package.json b/lib/tern/node_modules/glob/node_modules/inherits/package.json index fd4e9c91..fd63bd6d 100644 --- a/lib/tern/node_modules/glob/node_modules/inherits/package.json +++ b/lib/tern/node_modules/glob/node_modules/inherits/package.json @@ -29,14 +29,34 @@ "inherits.js", "inherits_browser.js" ], - "readme": "Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n superclass\n* new version overwrites current prototype while old one preserves any\n existing fields on it\n", - "readmeFilename": "README.md", + "gitHead": "e05d0fb27c61a3ec687214f0476386b765364d5f", "bugs": { "url": "https://github.com/isaacs/inherits/issues" }, "homepage": "https://github.com/isaacs/inherits#readme", "_id": "inherits@2.0.3", "_shasum": "633c2c83e3da42a502f52466022480f4208261de", - "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "_from": "inherits@>=2.0.0 <3.0.0" + "_from": "inherits@>=2.0.0 <3.0.0", + "_npmVersion": "3.10.7", + "_nodeVersion": "6.5.0", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "dist": { + "shasum": "633c2c83e3da42a502f52466022480f4208261de", + "tarball": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/inherits-2.0.3.tgz_1473295776489_0.08142363070510328" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" } diff --git a/lib/tern/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json b/lib/tern/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json index 55f8aa53..280389b7 100644 --- a/lib/tern/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json +++ b/lib/tern/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json @@ -24,14 +24,35 @@ "weak": "" }, "license": "ISC", - "readme": "# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Keys should always be Strings or Numbers\n\nNote: this module will print warnings to `console.error` if you use a\nkey that is not a String or Number. Because items are stored in an\nobject, which coerces keys to a string, it won't go well for you if\nyou try to use a key that is not a unique string, it'll cause surprise\ncollisions. For example:\n\n```JavaScript\n// Bad Example! Dont' do this!\nvar cache = LRU()\nvar a = {}\nvar b = {}\ncache.set(a, 'this is a')\ncache.set(b, 'this is b')\nconsole.log(cache.get(a)) // prints: 'this is b'\n```\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that's the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it'll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you're storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `max`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It's called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you'll have to do that in a\n `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it's\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it'll return the stale value before deleting it. If\n you don't set this, then it'll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value, maxAge)`\n* `get(key) => value`\n\n Both of these will update the \"recently used\"-ness of the key.\n They do what you think. `max` is optional and overrides the\n cache `max` option if provided.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the \"recently used\"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it's handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n\n* `length()`\n\n Return total length of objects in cache taking into account\n `length` options function.\n\n* `itemCount`\n\n Return total quantity of objects currently in cache. Note, that\n `stale` (see options) items are returned as part of this item\n count.\n\n* `dump()`\n\n Return an array of the cache entries ready for serialization and usage\n with 'destinationCache.load(arr)`.\n\n* `load(cacheEntriesArray)`\n\n Loads another cache entries array, obtained with `sourceCache.dump()`,\n into the cache. The destination cache is reset before loading new entries\n", - "readmeFilename": "README.md", + "gitHead": "292048199f6d28b77fbe584279a1898e25e4c714", "bugs": { "url": "https://github.com/isaacs/node-lru-cache/issues" }, "homepage": "https://github.com/isaacs/node-lru-cache#readme", "_id": "lru-cache@2.7.3", "_shasum": "6d4524e8b955f95d4f5b58851ce21dd72fb4e952", + "_from": "lru-cache@>=2.0.0 <3.0.0", + "_npmVersion": "3.3.2", + "_nodeVersion": "4.0.0", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "dist": { + "shasum": "6d4524e8b955f95d4f5b58851ce21dd72fb4e952", + "tarball": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + } + ], + "directories": {}, "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "_from": "lru-cache@>=2.0.0 <3.0.0" + "readme": "ERROR: No README data found!" } diff --git a/lib/tern/node_modules/glob/node_modules/minimatch/package.json b/lib/tern/node_modules/glob/node_modules/minimatch/package.json index 1edc2d9e..b245f06f 100644 --- a/lib/tern/node_modules/glob/node_modules/minimatch/package.json +++ b/lib/tern/node_modules/glob/node_modules/minimatch/package.json @@ -29,14 +29,29 @@ "type": "MIT", "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE" }, - "readme": "# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn't have any \"magic\" in it\n (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself if this option is set. When not set, an empty list\nis returned if there are no matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/isaacs/minimatch/issues" }, - "homepage": "https://github.com/isaacs/minimatch#readme", + "homepage": "https://github.com/isaacs/minimatch", "_id": "minimatch@0.3.0", "_shasum": "275d8edaac4f1bb3326472089e7949c8394699dd", - "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "_from": "minimatch@>=0.3.0 <0.4.0" + "_from": "minimatch@>=0.3.0 <0.4.0", + "_npmVersion": "1.4.10", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "dist": { + "shasum": "275d8edaac4f1bb3326472089e7949c8394699dd", + "tarball": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz" + }, + "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", + "directories": {}, + "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz" } diff --git a/lib/tern/node_modules/glob/package.json b/lib/tern/node_modules/glob/package.json index 62d5679a..a5aa4d6c 100644 --- a/lib/tern/node_modules/glob/package.json +++ b/lib/tern/node_modules/glob/package.json @@ -29,14 +29,29 @@ "test-regen": "TEST_REGEN=1 node test/00-setup.js" }, "license": "BSD", - "readme": "# Glob\n\nMatch files using the patterns the shell uses, like stars and stuff.\n\nThis is a glob implementation in JavaScript. It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there's an event emitter class, proper tests, and all the other\nthings you've come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require(\"glob\")\n\n// options is optional\nglob(\"**/*.js\", options, function (er, files) {\n // files is an array of filenames.\n // If the `nonull` option is set, and nothing\n // was found, then files is [\"**/*.js\"]\n // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n * `err` {Error | null}\n * `matches` {Array} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options])\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require(\"glob\").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt's an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n * `err` {Error | null}\n * `matches` {Array} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered. When an error is encountered, the\n glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`. There\n is no way at this time to continue a glob search after aborting, but\n you can re-use the statCache to avoid having to duplicate syscalls.\n* `statCache` Collection of all the stat results the glob search\n performed.\n* `cache` Convenience object. Each field has the following possible\n values:\n * `false` - Path does not exist\n * `true` - Path exists\n * `1` - Path exists, and is not a directory\n * `2` - Path exists, and is a directory\n * `[file, entries, ...]` - Path exists, is a directory, and the\n array value is the results of `fs.readdir`\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n matches found. If the `nonull` option is set, and no match was found,\n then the `matches` list contains the original pattern. The matches\n are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior. Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search. Defaults\n to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n onto. Defaults to `path.resolve(options.cwd, \"/\")` (`/` on Unix\n systems, and `C:\\` or some such on Windows.)\n* `dot` Include `.dot` files in normal matches and `globstar` matches.\n Note that an explicit dot in a portion of the pattern will always\n match dot files.\n* `nomount` By default, a pattern starting with a forward-slash will be\n \"mounted\" onto the root setting, so that a valid filesystem path is\n returned. Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches. Note that this\n requires additional stat calls.\n* `nosort` Don't sort the results.\n* `stat` Set to true to stat *all* results. This reduces performance\n somewhat, and is completely unnecessary, unless `readdir` is presumed\n to be an untrustworthy indicator of file existence. It will cause\n ELOOP to be triggered one level sooner in the case of cyclical\n symbolic links.\n* `silent` When an unusual error is encountered\n when attempting to read a directory, a warning will be printed to\n stderr. Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n when attempting to read a directory, the process will just continue on\n in search of other matches. Set the `strict` option to raise an error\n in these cases.\n* `cache` See `cache` property above. Pass in a previously generated\n cache object to save some fs calls.\n* `statCache` A cache of results of filesystem information, to prevent\n unnecessary stat calls. While it should not normally be necessary to\n set this, you may pass the statCache from one glob() call to the\n options object of another, if you know that the filesystem will not\n change between calls. (See \"Race Conditions\" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n same file showing up multiple times in the result set. By default,\n this implementation prevents duplicates in the result set.\n Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n containing the pattern itself. This is the default in glob(3).\n* `nocase` Perform a case-insensitive match. Note that case-insensitive\n filesystems will sometimes result in glob returning results that are\n case-insensitively matched anyway, since readdir and stat will not\n raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`glob.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation. You must use\nforward-slashes **only** in glob expressions. Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`. On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead. However, this also makes it even more susceptible to races,\nespecially if the cache or statCache objects are reused between glob\ncalls.\n\nUsers are thus advised not to use a glob result as a guarantee of\nfilesystem state in the face of rapid changes. For the vast majority\nof operations, this is never a problem.\n", - "readmeFilename": "README.md", + "gitHead": "73f57e99510582b2024b762305970ebcf9b70aa2", "bugs": { "url": "https://github.com/isaacs/node-glob/issues" }, - "homepage": "https://github.com/isaacs/node-glob#readme", + "homepage": "https://github.com/isaacs/node-glob", "_id": "glob@3.2.11", "_shasum": "4a973f635b9190f715d10987d5c00fd2815ebe3d", - "_resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "_from": "glob@>=3.0.0 <4.0.0" + "_from": "glob@>=3.0.0 <4.0.0", + "_npmVersion": "1.4.10", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "dist": { + "shasum": "4a973f635b9190f715d10987d5c00fd2815ebe3d", + "tarball": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz" } diff --git a/lib/tern/node_modules/minimatch/node_modules/lru-cache/package.json b/lib/tern/node_modules/minimatch/node_modules/lru-cache/package.json index 55f8aa53..233bca66 100644 --- a/lib/tern/node_modules/minimatch/node_modules/lru-cache/package.json +++ b/lib/tern/node_modules/minimatch/node_modules/lru-cache/package.json @@ -24,14 +24,34 @@ "weak": "" }, "license": "ISC", - "readme": "# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Keys should always be Strings or Numbers\n\nNote: this module will print warnings to `console.error` if you use a\nkey that is not a String or Number. Because items are stored in an\nobject, which coerces keys to a string, it won't go well for you if\nyou try to use a key that is not a unique string, it'll cause surprise\ncollisions. For example:\n\n```JavaScript\n// Bad Example! Dont' do this!\nvar cache = LRU()\nvar a = {}\nvar b = {}\ncache.set(a, 'this is a')\ncache.set(b, 'this is b')\nconsole.log(cache.get(a)) // prints: 'this is b'\n```\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that's the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it'll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you're storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `max`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It's called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you'll have to do that in a\n `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it's\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it'll return the stale value before deleting it. If\n you don't set this, then it'll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value, maxAge)`\n* `get(key) => value`\n\n Both of these will update the \"recently used\"-ness of the key.\n They do what you think. `max` is optional and overrides the\n cache `max` option if provided.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the \"recently used\"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it's handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n\n* `length()`\n\n Return total length of objects in cache taking into account\n `length` options function.\n\n* `itemCount`\n\n Return total quantity of objects currently in cache. Note, that\n `stale` (see options) items are returned as part of this item\n count.\n\n* `dump()`\n\n Return an array of the cache entries ready for serialization and usage\n with 'destinationCache.load(arr)`.\n\n* `load(cacheEntriesArray)`\n\n Loads another cache entries array, obtained with `sourceCache.dump()`,\n into the cache. The destination cache is reset before loading new entries\n", - "readmeFilename": "README.md", + "gitHead": "292048199f6d28b77fbe584279a1898e25e4c714", "bugs": { "url": "https://github.com/isaacs/node-lru-cache/issues" }, "homepage": "https://github.com/isaacs/node-lru-cache#readme", "_id": "lru-cache@2.7.3", "_shasum": "6d4524e8b955f95d4f5b58851ce21dd72fb4e952", - "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "_from": "lru-cache@>=2.0.0 <3.0.0" + "_from": "lru-cache@>=2.0.0 <3.0.0", + "_npmVersion": "3.3.2", + "_nodeVersion": "4.0.0", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "dist": { + "shasum": "6d4524e8b955f95d4f5b58851ce21dd72fb4e952", + "tarball": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" } diff --git a/lib/tern/node_modules/minimatch/node_modules/sigmund/package.json b/lib/tern/node_modules/minimatch/node_modules/sigmund/package.json index 546c28c0..658dbb81 100644 --- a/lib/tern/node_modules/minimatch/node_modules/sigmund/package.json +++ b/lib/tern/node_modules/minimatch/node_modules/sigmund/package.json @@ -55,6 +55,5 @@ "email": "i@izs.me" } ], - "_resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" } diff --git a/lib/tern/node_modules/minimatch/package.json b/lib/tern/node_modules/minimatch/package.json index f3b6156c..81448179 100644 --- a/lib/tern/node_modules/minimatch/package.json +++ b/lib/tern/node_modules/minimatch/package.json @@ -29,14 +29,29 @@ "type": "MIT", "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE" }, - "readme": "# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn't have any \"magic\" in it\n (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. When set, an empty list is returned if there are\nno matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/isaacs/minimatch/issues" }, - "homepage": "https://github.com/isaacs/minimatch#readme", + "homepage": "https://github.com/isaacs/minimatch", "_id": "minimatch@0.2.14", + "dist": { + "shasum": "c74e780574f63c6f9a090e90efbe6ef53a6a756a", + "tarball": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz" + }, + "_from": "minimatch@>=0.2.0 <0.3.0", + "_npmVersion": "1.3.17", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", + "directories": {}, "_shasum": "c74e780574f63c6f9a090e90efbe6ef53a6a756a", - "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "_from": "minimatch@>=0.2.0 <0.3.0" + "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz" } diff --git a/lib/tern/package.json b/lib/tern/package.json index 268a548e..d3b6acbe 100644 --- a/lib/tern/package.json +++ b/lib/tern/package.json @@ -248,7 +248,7 @@ }, "homepage": "https://github.com/ternjs/tern#readme", "_id": "tern@0.16.1", - "_shasum": "1b6b337d4f78503db16d22ba88d321b0c29aafb8", + "_shasum": "5f914e04b1098763f5af8b7fc5a3c22e87524337", "_from": "git+https://github.com/cloud9ide/tern.git#39015d544d4c00c7899fea4c95c2e5bc2720e68e", "_resolved": "git+https://github.com/cloud9ide/tern.git#39015d544d4c00c7899fea4c95c2e5bc2720e68e" } diff --git a/lib/tern_from_ts/package.json b/lib/tern_from_ts/package.json index 8dc0ced7..bf25fd8d 100644 --- a/lib/tern_from_ts/package.json +++ b/lib/tern_from_ts/package.json @@ -20,7 +20,7 @@ "readme": "# tern_from_ts\n\nTern signatures extracted from typescript signatures.\n\nLicense: MIT\n\nSee also https://github.com/marijnh/tern and https://github.com/borisyankov/DefinitelyTyped\n", "readmeFilename": "README.md", "_id": "tern_from_ts@0.0.1", - "_shasum": "57bf1c2288024db07e555352cf65df63b839836a", + "_shasum": "8d199befe8fbca5500846197150fd6d81d02bdab", "_from": "git+https://github.com/cloud9ide/tern_from_ts.git#66df507986bbdd63f3bc4f0c53edb39169ce4f1c", "_resolved": "git+https://github.com/cloud9ide/tern_from_ts.git#66df507986bbdd63f3bc4f0c53edb39169ce4f1c" } diff --git a/node_modules/async/package.json b/node_modules/async/package.json index c9effbba..04ad568e 100644 --- a/node_modules/async/package.json +++ b/node_modules/async/package.json @@ -53,11 +53,31 @@ "tests" ] }, - "readme": "# Async.js\n\n[![Build Status via Travis CI](https://travis-ci.org/caolan/async.svg?branch=master)](https://travis-ci.org/caolan/async)\n\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [Node.js](http://nodejs.org) and installable via `npm install async`,\nit can also be used directly in the browser.\n\nAsync is also installable via:\n\n- [bower](http://bower.io/): `bower install async`\n- [component](https://github.com/component/component): `component install\n caolan/async`\n- [jam](http://jamjs.org/): `jam install async`\n- [spm](http://spmjs.io/): `spm install async`\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (`map`, `reduce`, `filter`, `each`…) as well as some common patterns\nfor asynchronous control flow (`parallel`, `series`, `waterfall`…). All these\nfunctions assume you follow the Node.js convention of providing a single\ncallback as the last argument of your `async` function.\n\n\n## Quick Examples\n\n```javascript\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n\nasync.parallel([\n function(){ ... },\n function(){ ... }\n], callback);\n\nasync.series([\n function(){ ... },\n function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about `bind`, not about `async`. If you are wondering how to\nmake `async` execute your iterators in a given context, or are confused as to why\na method of another library isn't working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n squareExponent: 2,\n square: function(number, callback){ \n var result = Math.pow(number, this.squareExponent);\n setTimeout(function(){\n callback(null, result);\n }, 200);\n }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n // result is [NaN, NaN, NaN]\n // This fails because the `this.squareExponent` expression in the square\n // function is not evaluated in the context of AsyncSquaringLibrary, and is\n // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n // result is [1, 4, 9]\n // With the help of bind we can attach a context to the iterator before\n // passing it to async. Now the square function will be executed in its \n // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent`\n // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (`npm`):\n\n npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. \n\nUsage:\n\n```html\n\n\n```\n\n## Documentation\n\n### Collections\n\n* [`each`](#each)\n* [`eachSeries`](#eachSeries)\n* [`eachLimit`](#eachLimit)\n* [`map`](#map)\n* [`mapSeries`](#mapSeries)\n* [`mapLimit`](#mapLimit)\n* [`filter`](#filter)\n* [`filterSeries`](#filterSeries)\n* [`reject`](#reject)\n* [`rejectSeries`](#rejectSeries)\n* [`reduce`](#reduce)\n* [`reduceRight`](#reduceRight)\n* [`detect`](#detect)\n* [`detectSeries`](#detectSeries)\n* [`sortBy`](#sortBy)\n* [`some`](#some)\n* [`every`](#every)\n* [`concat`](#concat)\n* [`concatSeries`](#concatSeries)\n\n### Control Flow\n\n* [`series`](#seriestasks-callback)\n* [`parallel`](#parallel)\n* [`parallelLimit`](#parallellimittasks-limit-callback)\n* [`whilst`](#whilst)\n* [`doWhilst`](#doWhilst)\n* [`until`](#until)\n* [`doUntil`](#doUntil)\n* [`forever`](#forever)\n* [`waterfall`](#waterfall)\n* [`compose`](#compose)\n* [`seq`](#seq)\n* [`applyEach`](#applyEach)\n* [`applyEachSeries`](#applyEachSeries)\n* [`queue`](#queue)\n* [`priorityQueue`](#priorityQueue)\n* [`cargo`](#cargo)\n* [`auto`](#auto)\n* [`retry`](#retry)\n* [`iterator`](#iterator)\n* [`apply`](#apply)\n* [`nextTick`](#nextTick)\n* [`times`](#times)\n* [`timesSeries`](#timesSeries)\n\n### Utils\n\n* [`memoize`](#memoize)\n* [`unmemoize`](#unmemoize)\n* [`log`](#log)\n* [`dir`](#dir)\n* [`noConflict`](#noConflict)\n\n\n## Collections\n\n\n\n### each(arr, iterator, callback)\n\nApplies the function `iterator` to each item in `arr`, in parallel.\nThe `iterator` is called with an item from the list, and a callback for when it\nhas finished. If the `iterator` passes an error to its `callback`, the main\n`callback` (for the `each` function) is immediately called with the error.\n\nNote, that since this function applies `iterator` to each item in parallel,\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n The iterator is passed a `callback(err)` which must be called once it has \n completed. If no error has occurred, the `callback` should be run without \n arguments or with an explicit `null` argument.\n* `callback(err)` - A callback which is called when all `iterator` functions\n have finished, or an error occurs.\n\n__Examples__\n\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n```js\n// assuming openFiles is an array of file names \n\nasync.each(openFiles, function(file, callback) {\n \n // Perform operation on file here.\n console.log('Processing file ' + file);\n \n if( file.length > 32 ) {\n console.log('This file name is too long');\n callback('File name too long');\n } else {\n // Do work to process file here\n console.log('File processed');\n callback();\n }\n}, function(err){\n // if any of the file processing produced an error, err would equal that error\n if( err ) {\n // One of the iterations produced an error.\n // All processing will now stop.\n console.log('A file failed to process');\n } else {\n console.log('All files have been processed successfully');\n }\n});\n```\n\n---------------------------------------\n\n\n\n### eachSeries(arr, iterator, callback)\n\nThe same as [`each`](#each), only `iterator` is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThis means the `iterator` functions will complete in order.\n\n\n---------------------------------------\n\n\n\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as [`each`](#each), only no more than `limit` `iterator`s will be simultaneously \nrunning at any time.\n\nNote that the items in `arr` are not processed in batches, so there is no guarantee that \nthe first `limit` `iterator` functions will complete before any others are started.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `limit` - The maximum number of `iterator`s to run at any time.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n The iterator is passed a `callback(err)` which must be called once it has \n completed. If no error has occurred, the callback should be run without \n arguments or with an explicit `null` argument.\n* `callback(err)` - A callback which is called when all `iterator` functions\n have finished, or an error occurs.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in `arr` through\nthe `iterator` function. The `iterator` is called with an item from `arr` and a\ncallback for when it has finished processing. Each of these callback takes 2 arguments: \nan `error`, and the transformed item from `arr`. If `iterator` passes an error to his \ncallback, the main `callback` (for the `map` function) is immediately called with the error.\n\nNote, that since this function applies the `iterator` to each item in parallel,\nthere is no guarantee that the `iterator` functions will complete in order. \nHowever, the results array will be in the same order as the original `arr`.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n The iterator is passed a `callback(err, transformed)` which must be called once \n it has completed with an error (which can be `null`) and a transformed item.\n* `callback(err, results)` - A callback which is called when all `iterator`\n functions have finished, or an error occurs. Results is an array of the\n transformed items from the `arr`.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n\n### mapSeries(arr, iterator, callback)\n\nThe same as [`map`](#map), only the `iterator` is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThe results array will be in the same order as the original.\n\n\n---------------------------------------\n\n\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as [`map`](#map), only no more than `limit` `iterator`s will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that \nthe first `limit` `iterator` functions will complete before any others are started.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `limit` - The maximum number of `iterator`s to run at any time.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n The iterator is passed a `callback(err, transformed)` which must be called once \n it has completed with an error (which can be `null`) and a transformed item.\n* `callback(err, results)` - A callback which is called when all `iterator`\n calls have finished, or an error occurs. The result is an array of the\n transformed items from the original `arr`.\n\n__Example__\n\n```js\nasync.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n\n\n### filter(arr, iterator, callback)\n\n__Alias:__ `select`\n\nReturns a new array of all the values in `arr` which pass an async truth test.\n_The callback for each `iterator` call only accepts a single argument of `true` or\n`false`; it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like `fs.exists`. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A truth test to apply to each item in `arr`.\n The `iterator` is passed a `callback(truthValue)`, which must be called with a \n boolean argument once it has completed.\n* `callback(results)` - A callback which is called after all the `iterator`\n functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n\n\n### filterSeries(arr, iterator, callback)\n\n__Alias:__ `selectSeries`\n\nThe same as [`filter`](#filter) only the `iterator` is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThe results array will be in the same order as the original.\n\n---------------------------------------\n\n\n### reject(arr, iterator, callback)\n\nThe opposite of [`filter`](#filter). Removes values that pass an `async` truth test.\n\n---------------------------------------\n\n\n### rejectSeries(arr, iterator, callback)\n\nThe same as [`reject`](#reject), only the `iterator` is applied to each item in `arr`\nin series.\n\n\n---------------------------------------\n\n\n### reduce(arr, memo, iterator, callback)\n\n__Aliases:__ `inject`, `foldl`\n\nReduces `arr` into a single value using an async `iterator` to return\neach successive step. `memo` is the initial state of the reduction. \nThis function only operates in series. \n\nFor performance reasons, it may make sense to split a call to this function into \na parallel map, and then use the normal `Array.prototype.reduce` on the results. \nThis function is for situations where each step in the reduction needs to be async; \nif you can get the data before reducing it, then it's probably a good idea to do so.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `memo` - The initial state of the reduction.\n* `iterator(memo, item, callback)` - A function applied to each item in the\n array to produce the next step in the reduction. The `iterator` is passed a\n `callback(err, reduction)` which accepts an optional error as its first \n argument, and the state of the reduction as the second. If an error is \n passed to the callback, the reduction is stopped and the main `callback` is \n immediately called with the error.\n* `callback(err, result)` - A callback which is called after all the `iterator`\n functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n}, function(err, result){\n // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ `foldr`\n\nSame as [`reduce`](#reduce), only operates on `arr` in reverse order.\n\n\n---------------------------------------\n\n\n### detect(arr, iterator, callback)\n\nReturns the first value in `arr` that passes an async truth test. The\n`iterator` is applied in parallel, meaning the first iterator to return `true` will\nfire the detect `callback` with that result. That means the result might not be\nthe first item in the original `arr` (in terms of order) that passes the test.\n\nIf order within the original `arr` is important, then look at [`detectSeries`](#detectSeries).\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A truth test to apply to each item in `arr`.\n The iterator is passed a `callback(truthValue)` which must be called with a \n boolean argument once it has completed.\n* `callback(result)` - A callback which is called as soon as any iterator returns\n `true`, or after all the `iterator` functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value `undefined` if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n\n### detectSeries(arr, iterator, callback)\n\nThe same as [`detect`](#detect), only the `iterator` is applied to each item in `arr`\nin series. This means the result is always the first in the original `arr` (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each `arr` value through an async `iterator`.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n The iterator is passed a `callback(err, sortValue)` which must be called once it\n has completed with an error (which can be `null`) and a value to use as the sort\n criteria.\n* `callback(err, results)` - A callback which is called after all the `iterator`\n functions have finished, or an error occurs. Results is the items from\n the original `arr` sorted by the values returned by the `iterator` calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n}, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n});\n```\n\n__Sort Order__\n\nBy modifying the callback parameter the sorting order can be influenced:\n\n```js\n//ascending order\nasync.sortBy([1,9,3,5], function(x, callback){\n callback(null, x);\n}, function(err,result){\n //result callback\n} );\n\n//descending order\nasync.sortBy([1,9,3,5], function(x, callback){\n callback(null, x*-1); //<- x*-1 instead of x, turns the order around\n}, function(err,result){\n //result callback\n} );\n```\n\n---------------------------------------\n\n\n### some(arr, iterator, callback)\n\n__Alias:__ `any`\n\nReturns `true` if at least one element in the `arr` satisfies an async test.\n_The callback for each iterator call only accepts a single argument of `true` or\n`false`; it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like `fs.exists`. Once any iterator\ncall returns `true`, the main `callback` is immediately called.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A truth test to apply to each item in the array\n in parallel. The iterator is passed a callback(truthValue) which must be \n called with a boolean argument once it has completed.\n* `callback(result)` - A callback which is called as soon as any iterator returns\n `true`, or after all the iterator functions have finished. Result will be\n either `true` or `false` depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n\n### every(arr, iterator, callback)\n\n__Alias:__ `all`\n\nReturns `true` if every element in `arr` satisfies an async test.\n_The callback for each `iterator` call only accepts a single argument of `true` or\n`false`; it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like `fs.exists`.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A truth test to apply to each item in the array\n in parallel. The iterator is passed a callback(truthValue) which must be \n called with a boolean argument once it has completed.\n* `callback(result)` - A callback which is called after all the `iterator`\n functions have finished. Result will be either `true` or `false` depending on\n the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n\n### concat(arr, iterator, callback)\n\nApplies `iterator` to each item in `arr`, concatenating the results. Returns the\nconcatenated list. The `iterator`s are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of `arr` passed to the `iterator` function.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n The iterator is passed a `callback(err, results)` which must be called once it \n has completed with an error (which can be `null`) and an array of results.\n* `callback(err, results)` - A callback which is called after all the `iterator`\n functions have finished, or an error occurs. Results is an array containing\n the concatenated results of the `iterator` function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n\n### concatSeries(arr, iterator, callback)\n\nSame as [`concat`](#concat), but executes in series instead of parallel.\n\n\n## Control Flow\n\n\n### series(tasks, [callback])\n\nRun the functions in the `tasks` array in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run, and `callback` is immediately called with the value of the error. \nOtherwise, `callback` receives an array of results when `tasks` have completed.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function, and the results will be passed to the final `callback` as an object\ninstead of an array. This can be a more readable way of handling results from\n[`series`](#series).\n\n**Note** that while many implementations preserve the order of object properties, the\n[ECMAScript Language Specifcation](http://www.ecma-international.org/ecma-262/5.1/#sec-8.6) \nexplicitly states that\n\n> The mechanics and order of enumerating the properties is not specified.\n\nSo if you rely on the order in which your series of functions are executed, and want\nthis to work on all platforms, consider using an array. \n\n__Arguments__\n\n* `tasks` - An array or object containing functions to run, each function is passed\n a `callback(err, result)` it must call on completion with an error `err` (which can\n be `null`) and an optional `result` value.\n* `callback(err, results)` - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the `task` callbacks.\n\n__Example__\n\n```js\nasync.series([\n function(callback){\n // do some stuff ...\n callback(null, 'one');\n },\n function(callback){\n // do some more stuff ...\n callback(null, 'two');\n }\n],\n// optional callback\nfunction(err, results){\n // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n\n### parallel(tasks, [callback])\n\nRun the `tasks` array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main `callback` is immediately called with the value of the error.\nOnce the `tasks` have completed, the results are passed to the final `callback` as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final `callback` as an object\ninstead of an array. This can be a more readable way of handling results from\n[`parallel`](#parallel).\n\n\n__Arguments__\n\n* `tasks` - An array or object containing functions to run. Each function is passed \n a `callback(err, result)` which it must call on completion with an error `err` \n (which can be `null`) and an optional `result` value.\n* `callback(err, results)` - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, 'one');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, 'two');\n }, 100);\n }\n],\n// optional callback\nfunction(err, results){\n // the results array will equal ['one','two'] even though\n // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n\n### parallelLimit(tasks, limit, [callback])\n\nThe same as [`parallel`](#parallel), only `tasks` are executed in parallel \nwith a maximum of `limit` tasks executing at any time.\n\nNote that the `tasks` are not executed in batches, so there is no guarantee that \nthe first `limit` tasks will complete before any others are started.\n\n__Arguments__\n\n* `tasks` - An array or object containing functions to run, each function is passed \n a `callback(err, result)` it must call on completion with an error `err` (which can\n be `null`) and an optional `result` value.\n* `limit` - The maximum number of `tasks` to run at any time.\n* `callback(err, results)` - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the `task` callbacks.\n\n---------------------------------------\n\n\n### whilst(test, fn, callback)\n\nRepeatedly call `fn`, while `test` returns `true`. Calls `callback` when stopped,\nor an error occurs.\n\n__Arguments__\n\n* `test()` - synchronous truth test to perform before each execution of `fn`.\n* `fn(callback)` - A function which is called each time `test` passes. The function is\n passed a `callback(err)`, which must be called once it has completed with an \n optional `err` argument.\n* `callback(err)` - A callback which is called after the test fails and repeated\n execution of `fn` has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n);\n```\n\n---------------------------------------\n\n\n### doWhilst(fn, test, callback)\n\nThe post-check version of [`whilst`](#whilst). To reflect the difference in \nthe order of operations, the arguments `test` and `fn` are switched. \n\n`doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n\n### until(test, fn, callback)\n\nRepeatedly call `fn` until `test` returns `true`. Calls `callback` when stopped,\nor an error occurs.\n\nThe inverse of [`whilst`](#whilst).\n\n---------------------------------------\n\n\n### doUntil(fn, test, callback)\n\nLike [`doWhilst`](#doWhilst), except the `test` is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n\n### forever(fn, errback)\n\nCalls the asynchronous function `fn` with a callback parameter that allows it to\ncall itself again, in series, indefinitely.\n\nIf an error is passed to the callback then `errback` is called with the\nerror, and execution stops, otherwise it will never be called.\n\n```js\nasync.forever(\n function(next) {\n // next is suitable for passing to things that need a callback(err [, whatever]);\n // it will result in this function being called again.\n },\n function(err) {\n // if next is called with a value in its first parameter, it will appear\n // in here as 'err', and execution will stop.\n }\n);\n```\n\n---------------------------------------\n\n\n### waterfall(tasks, [callback])\n\nRuns the `tasks` array of functions in series, each passing their results to the next in\nthe array. However, if any of the `tasks` pass an error to their own callback, the\nnext function is not executed, and the main `callback` is immediately called with\nthe error.\n\n__Arguments__\n\n* `tasks` - An array of functions to run, each function is passed a \n `callback(err, result1, result2, ...)` it must call on completion. The first\n argument is an error (which can be `null`) and any further arguments will be \n passed as arguments in order to the next task.\n* `callback(err, [results])` - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n function(callback) {\n callback(null, 'one', 'two');\n },\n function(arg1, arg2, callback) {\n // arg1 now equals 'one' and arg2 now equals 'two'\n callback(null, 'three');\n },\n function(arg1, callback) {\n // arg1 now equals 'three'\n callback(null, 'done');\n }\n], function (err, result) {\n // result now equals 'done' \n});\n```\n\n---------------------------------------\n\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions `f()`, `g()`, and `h()` would produce the result of\n`f(g(h()))`, only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* `functions...` - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n setTimeout(function () {\n callback(null, n + 1);\n }, 10);\n}\n\nfunction mul3(n, callback) {\n setTimeout(function () {\n callback(null, n * 3);\n }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n // result now equals 15\n});\n```\n\n---------------------------------------\n\n### seq(fn1, fn2...)\n\nVersion of the compose function that is more natural to read.\nEach function consumes the return value of the previous function.\nIt is the equivalent of [`compose`](#compose) with the arguments reversed.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\n// Requires lodash (or underscore), express3 and dresende's orm2.\n// Part of an app, that fetches cats of the logged user.\n// This example uses `seq` function to avoid overnesting and error \n// handling clutter.\napp.get('/cats', function(request, response) {\n var User = request.models.User;\n async.seq(\n _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data))\n function(user, fn) {\n user.getCats(fn); // 'getCats' has signature (callback(err, data))\n }\n )(req.session.user_id, function (err, cats) {\n if (err) {\n console.error(err);\n response.json({ status: 'error', message: err.message });\n } else {\n response.json({ status: 'ok', message: 'Cats found', data: cats });\n }\n });\n});\n```\n\n---------------------------------------\n\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling \n`callback` after all functions have completed. If you only provide the first\nargument, then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* `fns` - the asynchronous functions to all call with the same arguments\n* `args...` - any number of separate arguments to pass to the function\n* `callback` - the final argument should be the callback, called when all\n functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n buckets,\n async.applyEach([enableSearch, updateSchema]),\n callback\n);\n```\n\n---------------------------------------\n\n\n### applyEachSeries(arr, iterator, callback)\n\nThe same as [`applyEach`](#applyEach) only the functions are applied in series.\n\n---------------------------------------\n\n\n### queue(worker, concurrency)\n\nCreates a `queue` object with the specified `concurrency`. Tasks added to the\n`queue` are processed in parallel (up to the `concurrency` limit). If all\n`worker`s are in progress, the task is queued until one becomes available. \nOnce a `worker` completes a `task`, that `task`'s callback is called.\n\n__Arguments__\n\n* `worker(task, callback)` - An asynchronous function for processing a queued\n task, which must call its `callback(err)` argument when finished, with an \n optional `error` as an argument.\n* `concurrency` - An `integer` for determining how many `worker` functions should be\n run in parallel.\n\n__Queue objects__\n\nThe `queue` object returned by this function has the following properties and\nmethods:\n\n* `length()` - a function returning the number of items waiting to be processed.\n* `started` - a function returning whether or not any items have been pushed and processed by the queue\n* `running()` - a function returning the number of items currently being processed.\n* `idle()` - a function returning false if there are items waiting or being processed, or true if not.\n* `concurrency` - an integer for determining how many `worker` functions should be\n run in parallel. This property can be changed after a `queue` is created to\n alter the concurrency on-the-fly.\n* `push(task, [callback])` - add a new task to the `queue`. Calls `callback` once \n the `worker` has finished processing the task. Instead of a single task, a `tasks` array\n can be submitted. The respective callback is used for every task in the list.\n* `unshift(task, [callback])` - add a new task to the front of the `queue`.\n* `saturated` - a callback that is called when the `queue` length hits the `concurrency` limit, \n and further tasks will be queued.\n* `empty` - a callback that is called when the last item from the `queue` is given to a `worker`.\n* `drain` - a callback that is called when the last item from the `queue` has returned from the `worker`.\n* `paused` - a boolean for determining whether the queue is in a paused state\n* `pause()` - a function that pauses the processing of tasks until `resume()` is called.\n* `resume()` - a function that resumes the processing of queued tasks when the queue is paused.\n* `kill()` - a function that removes the `drain` callback and empties remaining tasks from the queue forcing it to go idle.\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n console.log('hello ' + task.name);\n callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n console.log('finished processing item');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n console.log('finished processing bar');\n});\n```\n\n\n---------------------------------------\n\n\n### priorityQueue(worker, concurrency)\n\nThe same as [`queue`](#queue) only tasks are assigned a priority and completed in ascending priority order. There are two differences between `queue` and `priorityQueue` objects:\n\n* `push(task, priority, [callback])` - `priority` should be a number. If an array of\n `tasks` is given, all tasks will be assigned the same priority.\n* The `unshift` method was removed.\n\n---------------------------------------\n\n\n### cargo(worker, [payload])\n\nCreates a `cargo` object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the `payload` limit). If the\n`worker` is in progress, the task is queued until it becomes available. Once\nthe `worker` has completed some tasks, each callback of those tasks is called.\nCheck out [this animation](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) for how `cargo` and `queue` work.\n\nWhile [queue](#queue) passes only one task to one of a group of workers\nat a time, cargo passes an array of tasks to a single worker, repeating\nwhen the worker is finished.\n\n__Arguments__\n\n* `worker(tasks, callback)` - An asynchronous function for processing an array of\n queued tasks, which must call its `callback(err)` argument when finished, with \n an optional `err` argument.\n* `payload` - An optional `integer` for determining how many tasks should be\n processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe `cargo` object returned by this function has the following properties and\nmethods:\n\n* `length()` - A function returning the number of items waiting to be processed.\n* `payload` - An `integer` for determining how many tasks should be\n process per round. This property can be changed after a `cargo` is created to\n alter the payload on-the-fly.\n* `push(task, [callback])` - Adds `task` to the `queue`. The callback is called\n once the `worker` has finished processing the task. Instead of a single task, an array of `tasks` \n can be submitted. The respective callback is used for every task in the list.\n* `saturated` - A callback that is called when the `queue.length()` hits the concurrency and further tasks will be queued.\n* `empty` - A callback that is called when the last item from the `queue` is given to a `worker`.\n* `drain` - A callback that is called when the last item from the `queue` has returned from the `worker`.\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n for(var i=0; i\n### auto(tasks, [callback])\n\nDetermines the best order for running the functions in `tasks`, based on their \nrequirements. Each function can optionally depend on other functions being completed \nfirst, and each function is run as soon as its requirements are satisfied. \n\nIf any of the functions pass an error to their callback, it will not \ncomplete (so any other functions depending on it will not run), and the main \n`callback` is immediately called with the error. Functions also receive an \nobject containing the results of functions which have completed so far.\n\nNote, all functions are called with a `results` object as a second argument, \nso it is unsafe to pass functions in the `tasks` object which cannot handle the\nextra argument. \n\nFor example, this snippet of code:\n\n```js\nasync.auto({\n readData: async.apply(fs.readFile, 'data.txt', 'utf-8')\n}, callback);\n```\n\nwill have the effect of calling `readFile` with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to `readFile` in a function which does not forward the \n`results` object:\n\n```js\nasync.auto({\n readData: function(cb, results){\n fs.readFile('data.txt', 'utf-8', cb);\n }\n}, callback);\n```\n\n__Arguments__\n\n* `tasks` - An object. Each of its properties is either a function or an array of\n requirements, with the function itself the last item in the array. The object's key\n of a property serves as the name of the task defined by that property,\n i.e. can be used when specifying requirements for other tasks.\n The function receives two arguments: (1) a `callback(err, result)` which must be \n called when finished, passing an `error` (which can be `null`) and the result of \n the function's execution, and (2) a `results` object, containing the results of\n the previously executed functions.\n* `callback(err, results)` - An optional callback which is called when all the\n tasks have been completed. It receives the `err` argument if any `tasks` \n pass an error to their callback. Results are always returned; however, if \n an error occurs, no further `tasks` will be performed, and the results\n object will only contain partial results.\n\n\n__Example__\n\n```js\nasync.auto({\n get_data: function(callback){\n console.log('in get_data');\n // async code to get some data\n callback(null, 'data', 'converted to array');\n },\n make_folder: function(callback){\n console.log('in make_folder');\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n callback(null, 'folder');\n },\n write_file: ['get_data', 'make_folder', function(callback, results){\n console.log('in write_file', JSON.stringify(results));\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, 'filename');\n }],\n email_link: ['write_file', function(callback, results){\n console.log('in email_link', JSON.stringify(results));\n // once the file is written let's email a link to it...\n // results.write_file contains the filename returned by write_file.\n callback(null, {'file':results.write_file, 'email':'user@example.com'});\n }]\n}, function(err, results) {\n console.log('err = ', err);\n console.log('results = ', results);\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n function(callback){\n console.log('in get_data');\n // async code to get some data\n callback(null, 'data', 'converted to array');\n },\n function(callback){\n console.log('in make_folder');\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n callback(null, 'folder');\n }\n],\nfunction(err, results){\n async.series([\n function(callback){\n console.log('in write_file', JSON.stringify(results));\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n results.push('filename');\n callback(null);\n },\n function(callback){\n console.log('in email_link', JSON.stringify(results));\n // once the file is written let's email a link to it...\n callback(null, {'file':results.pop(), 'email':'user@example.com'});\n }\n ]);\n});\n```\n\nFor a complicated series of `async` tasks, using the [`auto`](#auto) function makes adding\nnew tasks much easier (and the code more readable).\n\n\n---------------------------------------\n\n\n### retry([times = 5], task, [callback])\n\nAttempts to get a successful response from `task` no more than `times` times before\nreturning an error. If the task is successful, the `callback` will be passed the result\nof the successful task. If all attempts fail, the callback will be passed the error and\nresult (if any) of the final attempt.\n\n__Arguments__\n\n* `times` - An integer indicating how many times to attempt the `task` before giving up. Defaults to 5.\n* `task(callback, results)` - A function which receives two arguments: (1) a `callback(err, result)`\n which must be called when finished, passing `err` (which can be `null`) and the `result` of \n the function's execution, and (2) a `results` object, containing the results of\n the previously executed functions (if nested inside another control flow).\n* `callback(err, results)` - An optional callback which is called when the\n task has succeeded, or after the final failed attempt. It receives the `err` and `result` arguments of the last attempt at completing the `task`.\n\nThe [`retry`](#retry) function can be used as a stand-alone control flow by passing a\ncallback, as shown below:\n\n```js\nasync.retry(3, apiMethod, function(err, result) {\n // do something with the result\n});\n```\n\nIt can also be embeded within other control flow functions to retry individual methods\nthat are not as reliable, like this:\n\n```js\nasync.auto({\n users: api.getUsers.bind(api),\n payments: async.retry(3, api.getPayments.bind(api))\n}, function(err, results) {\n // do something with the results\n});\n```\n\n\n---------------------------------------\n\n\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the `tasks` array,\nreturning a continuation to call the next one after that. It's also possible to\n“peek” at the next iterator with `iterator.next()`.\n\nThis function is used internally by the `async` module, but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* `tasks` - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n function(){ sys.p('one'); },\n function(){ sys.p('two'); },\n function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied. \n\nUseful as a shorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* `function` - The function you want to eventually apply all arguments to.\n* `arguments...` - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n async.apply(fs.writeFile, 'testfile1', 'test1'),\n async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n function(callback){\n fs.writeFile('testfile1', 'test1', callback);\n },\n function(callback){\n fs.writeFile('testfile2', 'test2', callback);\n }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n\n### nextTick(callback), setImmediate(callback)\n\nCalls `callback` on a later loop around the event loop. In Node.js this just\ncalls `process.nextTick`; in the browser it falls back to `setImmediate(callback)`\nif available, otherwise `setTimeout(callback, 0)`, which means other higher priority\nevents may precede the execution of `callback`.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* `callback` - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n call_order.push('two');\n // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n\n### times(n, callback)\n\nCalls the `callback` function `n` times, and accumulates results in the same manner\nyou would use with [`map`](#map).\n\n__Arguments__\n\n* `n` - The number of times to run the function.\n* `callback` - The function to call `n` times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n callback(null, {\n id: 'user' + id\n })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n createUser(n, function(err, user) {\n next(err, user)\n })\n}, function(err, users) {\n // we should now have 5 users\n});\n```\n\n\n### timesSeries(n, callback)\n\nThe same as [`times`](#times), only the iterator is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThe results array will be in the same order as the original.\n\n\n## Utils\n\n\n### memoize(fn, [hasher])\n\nCaches the results of an `async` function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* `fn` - The function to proxy and cache results from.\n* `hasher` - Tn optional function for generating a custom hash for storing\n results. It has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n // callback\n});\n```\n\n\n### unmemoize(fn)\n\nUndoes a [`memoize`](#memoize)d function, reverting it to the original, unmemoized\nform. Handy for testing.\n\n__Arguments__\n\n* `fn` - the memoized function\n\n\n### log(function, arguments)\n\nLogs the result of an `async` function to the `console`. Only works in Node.js or\nin browsers that support `console.log` and `console.error` (such as FF and Chrome).\nIf multiple arguments are returned from the async function, `console.log` is\ncalled on each argument in order.\n\n__Arguments__\n\n* `function` - The function you want to eventually apply all arguments to.\n* `arguments...` - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, 'hello ' + name);\n }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n\n### dir(function, arguments)\n\nLogs the result of an `async` function to the `console` using `console.dir` to\ndisplay the properties of the resulting object. Only works in Node.js or\nin browsers that support `console.dir` and `console.error` (such as FF and Chrome).\nIf multiple arguments are returned from the async function, `console.dir` is\ncalled on each argument in order.\n\n__Arguments__\n\n* `function` - The function you want to eventually apply all arguments to.\n* `arguments...` - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n\n### noConflict()\n\nChanges the value of `async` back to its original value, returning a reference to the\n`async` object.\n", - "readmeFilename": "README.md", + "gitHead": "de3a16091d5125384eff4a54deb3998b13c3814c", "homepage": "https://github.com/caolan/async#readme", "_id": "async@0.9.2", "_shasum": "aea74d5e61c1f899613bf64bda66d4c78f2fd17d", - "_resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "_from": "async@>=0.9.0 <0.10.0" + "_from": "async@>=0.9.0 <0.10.0", + "_npmVersion": "2.9.0", + "_nodeVersion": "2.0.1", + "_npmUser": { + "name": "beaugunderson", + "email": "beau@beaugunderson.com" + }, + "maintainers": [ + { + "name": "caolan", + "email": "caolan.mcmahon@gmail.com" + }, + { + "name": "beaugunderson", + "email": "beau@beaugunderson.com" + } + ], + "dist": { + "shasum": "aea74d5e61c1f899613bf64bda66d4c78f2fd17d", + "tarball": "https://registry.npmjs.org/async/-/async-0.9.2.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz" } diff --git a/node_modules/base64id/package.json b/node_modules/base64id/package.json index dd7c8197..6a7c08b7 100644 --- a/node_modules/base64id/package.json +++ b/node_modules/base64id/package.json @@ -8,19 +8,35 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/faeldt/base64id.git" + "url": "git://github.com/faeldt/base64id.git" }, "main": "./lib/base64id.js", "engines": { "node": ">= 0.4.0" }, - "readme": "base64id\n========\n\nNode.js module that generates a base64 id.\n\nUses crypto.randomBytes when available, falls back to unsafe methods for node.js <= 0.4.\n\nTo increase performance, random bytes are buffered to minimize the number of synchronous calls to crypto.randomBytes.\n\n## Installation\n\n $ npm install mongoose\n\n## Usage\n\n var base64id = require('base64id');\n\n var id = base64id.generateId();\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/faeldt/base64id/issues" + "_npmUser": { + "name": "faeldt_kristian", + "email": "faeldt_kristian@cyberagent.co.jp" }, - "homepage": "https://github.com/faeldt/base64id#readme", "_id": "base64id@0.1.0", + "dependencies": {}, + "devDependencies": {}, + "optionalDependencies": {}, + "_engineSupported": true, + "_npmVersion": "1.1.16", + "_nodeVersion": "v0.6.15", + "_defaultsLoaded": true, + "dist": { + "shasum": "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f", + "tarball": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz" + }, + "maintainers": [ + { + "name": "faeldt_kristian", + "email": "faeldt_kristian@cyberagent.co.jp" + } + ], + "directories": {}, "_shasum": "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f", "_resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz", "_from": "base64id@>=0.1.0 <0.2.0" diff --git a/node_modules/connect/node_modules/batch/package.json b/node_modules/connect/node_modules/batch/package.json index a94273ee..22dedfd2 100644 --- a/node_modules/connect/node_modules/batch/package.json +++ b/node_modules/connect/node_modules/batch/package.json @@ -11,10 +11,24 @@ "should": "*" }, "main": "index", - "readme": "\n# batch\n\n Simple async batch with concurrency control and progress reporting.\n\n## Installation\n\n```\n$ npm install batch\n```\n\n## API\n\n```js\nvar Batch = require('batch')\n , batch = new Batch;\n\nbatch.concurrency(4);\n\nids.forEach(function(id){\n batch.push(function(done){\n User.get(id, done);\n });\n});\n\nbatch.on('progress', function(e){\n\n});\n\nbatch.end(function(err, users){\n\n});\n```\n\n### Progress events\n\n Contain the \"job\" index, response value, duration information, and completion data.\n\n```js\n{ index: 1,\n value: 'bar',\n pending: 2,\n total: 3,\n complete: 2,\n percent: 66,\n start: Thu Oct 04 2012 12:25:53 GMT-0700 (PDT),\n end: Thu Oct 04 2012 12:25:53 GMT-0700 (PDT),\n duration: 0 }\n```\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2013 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", - "readmeFilename": "Readme.md", "_id": "batch@0.5.0", + "dist": { + "shasum": "fd2e05a7a5d696b4db9314013e285d8ff3557ec3", + "tarball": "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz" + }, + "_from": "batch@0.5.0", + "_npmVersion": "1.2.30", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "fd2e05a7a5d696b4db9314013e285d8ff3557ec3", - "_resolved": "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz", - "_from": "batch@0.5.0" + "_resolved": "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz" } diff --git a/node_modules/connect/node_modules/buffer-crc32/package.json b/node_modules/connect/node_modules/buffer-crc32/package.json index ea356e9a..300e808a 100644 --- a/node_modules/connect/node_modules/buffer-crc32/package.json +++ b/node_modules/connect/node_modules/buffer-crc32/package.json @@ -19,7 +19,7 @@ }, "main": "index.js", "scripts": { - "test": "tap tests/*.test.js" + "test": "./node_modules/.bin/tap tests/*.test.js" }, "dependencies": {}, "devDependencies": { @@ -29,12 +29,23 @@ "engines": { "node": "*" }, - "readme": "# buffer-crc32\n\n[![Build Status](https://secure.travis-ci.org/brianloveswords/buffer-crc32.png?branch=master)](http://travis-ci.org/brianloveswords/buffer-crc32)\n\ncrc32 that works with binary data and fancy character sets, outputs\nbuffer, signed or unsigned data and has tests.\n\nDerived from the sample CRC implementation in the PNG specification: http://www.w3.org/TR/PNG/#D-CRCAppendix\n\n# install\n```\nnpm install buffer-crc32\n```\n\n# example\n```js\nvar crc32 = require('buffer-crc32');\n// works with buffers\nvar buf = Buffer([0x00, 0x73, 0x75, 0x70, 0x20, 0x62, 0x72, 0x6f, 0x00])\ncrc32(buf) // -> \n\n// has convenience methods for getting signed or unsigned ints\ncrc32.signed(buf) // -> -1805997238\ncrc32.unsigned(buf) // -> 2488970058\n\n// will cast to buffer if given a string, so you can\n// directly use foreign characters safely\ncrc32('自動販売機') // -> \n\n// and works in append mode too\nvar partialCrc = crc32('hey');\nvar partialCrc = crc32(' ', partialCrc);\nvar partialCrc = crc32('sup', partialCrc);\nvar partialCrc = crc32(' ', partialCrc);\nvar finalCrc = crc32('bros', partialCrc); // -> \n```\n\n# tests\nThis was tested against the output of zlib's crc32 method. You can run\nthe tests with`npm test` (requires tap)\n\n# see also\nhttps://github.com/alexgorbatchev/node-crc, `crc.buffer.crc32` also\nsupports buffer inputs and return unsigned ints (thanks @tjholowaychuk).\n\n# license\nMIT/X11\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/brianloveswords/buffer-crc32/issues" - }, "_id": "buffer-crc32@0.2.1", + "dist": { + "shasum": "be3e5382fc02b6d6324956ac1af98aa98b08534c", + "tarball": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz" + }, + "_npmVersion": "1.1.65", + "_npmUser": { + "name": "brianloveswords", + "email": "brian@nyhacker.org" + }, + "maintainers": [ + { + "name": "brianloveswords", + "email": "brian@nyhacker.org" + } + ], + "directories": {}, "_shasum": "be3e5382fc02b6d6324956ac1af98aa98b08534c", "_resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz", "_from": "buffer-crc32@0.2.1" diff --git a/node_modules/connect/node_modules/bytes/package.json b/node_modules/connect/node_modules/bytes/package.json index 57528b91..9e975a01 100644 --- a/node_modules/connect/node_modules/bytes/package.json +++ b/node_modules/connect/node_modules/bytes/package.json @@ -18,10 +18,24 @@ "bytes/index.js": "index.js" } }, - "readme": "# node-bytes\n\n Byte string parser / formatter.\n\n## Example:\n\n```js\nbytes('1kb')\n// => 1024\n\nbytes('2mb')\n// => 2097152\n\nbytes('1gb')\n// => 1073741824\n\nbytes(1073741824)\n// => 1gb\n```\n\n## Installation\n\n```\n$ npm install bytes\n$ component install visionmedia/bytes.js\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", - "readmeFilename": "Readme.md", "_id": "bytes@0.2.1", + "dist": { + "shasum": "555b08abcb063f8975905302523e4cd4ffdfdf31", + "tarball": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz" + }, + "_from": "bytes@0.2.1", + "_npmVersion": "1.2.14", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "555b08abcb063f8975905302523e4cd4ffdfdf31", - "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz", - "_from": "bytes@0.2.1" + "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz" } diff --git a/node_modules/connect/node_modules/cookie-signature/package.json b/node_modules/connect/node_modules/cookie-signature/package.json index a77f5941..296d73e7 100644 --- a/node_modules/connect/node_modules/cookie-signature/package.json +++ b/node_modules/connect/node_modules/cookie-signature/package.json @@ -17,10 +17,24 @@ "should": "*" }, "main": "index", - "readme": "\n# cookie-signature\n\n Sign and unsign cookies.\n\n## Example\n\n```js\nvar cookie = require('cookie-signature');\n\nvar val = cookie.sign('hello', 'tobiiscool');\nval.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI');\n\nvar val = cookie.sign('hello', 'tobiiscool');\ncookie.unsign(val, 'tobiiscool').should.equal('hello');\ncookie.unsign(val, 'luna').should.be.false;\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 LearnBoost <tj@learnboost.com>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", - "readmeFilename": "Readme.md", "_id": "cookie-signature@1.0.1", + "dist": { + "shasum": "44e072148af01e6e8e24afbf12690d68ae698ecb", + "tarball": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz" + }, + "_from": "cookie-signature@1.0.1", + "_npmVersion": "1.2.14", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "44e072148af01e6e8e24afbf12690d68ae698ecb", - "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz", - "_from": "cookie-signature@1.0.1" + "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz" } diff --git a/node_modules/connect/node_modules/cookie/package.json b/node_modules/connect/node_modules/cookie/package.json index 9e4356ac..c6361de8 100644 --- a/node_modules/connect/node_modules/cookie/package.json +++ b/node_modules/connect/node_modules/cookie/package.json @@ -26,14 +26,24 @@ "engines": { "node": "*" }, - "readme": "# cookie [![Build Status](https://secure.travis-ci.org/shtylman/node-cookie.png?branch=master)](http://travis-ci.org/shtylman/node-cookie) #\n\ncookie is a basic cookie parser and serializer. It doesn't make assumptions about how you are going to deal with your cookies. It basically just provides a way to read and write the HTTP cookie headers.\n\nSee [RFC6265](http://tools.ietf.org/html/rfc6265) for details about the http header for cookies.\n\n## how?\n\n```\nnpm install cookie\n```\n\n```javascript\nvar cookie = require('cookie');\n\nvar hdr = cookie.serialize('foo', 'bar');\n// hdr = 'foo=bar';\n\nvar cookies = cookie.parse('foo=bar; cat=meow; dog=ruff');\n// cookies = { foo: 'bar', cat: 'meow', dog: 'ruff' };\n```\n\n## more\n\nThe serialize function takes a third parameter, an object, to set cookie options. See the RFC for valid values.\n\n### path\n> cookie path\n\n### expires\n> absolute expiration date for the cookie (Date object)\n\n### maxAge\n> relative max age of the cookie from when the client receives it (seconds)\n\n### domain\n> domain for the cookie\n\n### secure\n> true or false\n\n### httpOnly\n> true or false\n\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/shtylman/node-cookie/issues" - }, - "homepage": "https://github.com/shtylman/node-cookie#readme", "_id": "cookie@0.1.0", + "dist": { + "shasum": "90eb469ddce905c866de687efc43131d8801f9d0", + "tarball": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz" + }, + "_from": "cookie@0.1.0", + "_npmVersion": "1.2.18", + "_npmUser": { + "name": "shtylman", + "email": "shtylman@gmail.com" + }, + "maintainers": [ + { + "name": "shtylman", + "email": "shtylman@gmail.com" + } + ], + "directories": {}, "_shasum": "90eb469ddce905c866de687efc43131d8801f9d0", - "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz", - "_from": "cookie@0.1.0" + "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz" } diff --git a/node_modules/connect/node_modules/fresh/package.json b/node_modules/connect/node_modules/fresh/package.json index f8f58791..b257d1e9 100644 --- a/node_modules/connect/node_modules/fresh/package.json +++ b/node_modules/connect/node_modules/fresh/package.json @@ -17,14 +17,29 @@ "mocha": "*", "should": "*" }, - "readme": "\n# node-fresh\n\n HTTP response freshness testing\n\n## fresh(req, res)\n\n Check freshness of `req` and `res` headers.\n\n When the cache is \"fresh\" __true__ is returned,\n otherwise __false__ is returned to indicate that\n the cache is now stale.\n\n## Example:\n\n```js\nvar req = { 'if-none-match': 'tobi' };\nvar res = { 'etag': 'luna' };\nfresh(req, res);\n// => false\n\nvar req = { 'if-none-match': 'tobi' };\nvar res = { 'etag': 'tobi' };\nfresh(req, res);\n// => true\n```\n\n## Installation\n\n```\n$ npm install fresh\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/visionmedia/node-fresh/issues" }, - "homepage": "https://github.com/visionmedia/node-fresh#readme", "_id": "fresh@0.2.0", + "dist": { + "shasum": "bfd9402cf3df12c4a4c310c79f99a3dde13d34a7", + "tarball": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz" + }, + "_from": "fresh@0.2.0", + "_npmVersion": "1.3.4", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "bfd9402cf3df12c4a4c310c79f99a3dde13d34a7", "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz", - "_from": "fresh@0.2.0" + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/visionmedia/node-fresh#readme" } diff --git a/node_modules/connect/node_modules/methods/package.json b/node_modules/connect/node_modules/methods/package.json index 4eb54f44..0c32694f 100644 --- a/node_modules/connect/node_modules/methods/package.json +++ b/node_modules/connect/node_modules/methods/package.json @@ -18,14 +18,27 @@ "type": "git", "url": "git://github.com/visionmedia/node-methods.git" }, - "readme": "\n# Methods\n\n HTTP verbs that node core's parser supports.\n", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/visionmedia/node-methods/issues" }, - "homepage": "https://github.com/visionmedia/node-methods#readme", "_id": "methods@0.1.0", + "dist": { + "shasum": "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f", + "tarball": "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz" + }, + "_from": "methods@0.1.0", + "_npmVersion": "1.3.8", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f", - "_resolved": "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz", - "_from": "methods@0.1.0" + "_resolved": "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz" } diff --git a/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/core-util-is/package.json b/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/core-util-is/package.json index 83e519e7..f65d83fb 100644 --- a/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/core-util-is/package.json +++ b/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/core-util-is/package.json @@ -33,11 +33,27 @@ "devDependencies": { "tap": "^2.3.0" }, - "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n", - "readmeFilename": "README.md", + "gitHead": "a177da234df5638b363ddc15fa324619a38577c8", "homepage": "https://github.com/isaacs/core-util-is#readme", "_id": "core-util-is@1.0.2", "_shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7", - "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "_from": "core-util-is@>=1.0.0 <1.1.0" + "_from": "core-util-is@>=1.0.0 <1.1.0", + "_npmVersion": "3.3.2", + "_nodeVersion": "4.0.0", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "dist": { + "shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7", + "tarball": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" } diff --git a/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/inherits/package.json b/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/inherits/package.json index acebe164..9146e757 100644 --- a/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/inherits/package.json +++ b/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/inherits/package.json @@ -29,14 +29,35 @@ "inherits.js", "inherits_browser.js" ], - "readme": "Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n superclass\n* new version overwrites current prototype while old one preserves any\n existing fields on it\n", - "readmeFilename": "README.md", + "gitHead": "e05d0fb27c61a3ec687214f0476386b765364d5f", "bugs": { "url": "https://github.com/isaacs/inherits/issues" }, "homepage": "https://github.com/isaacs/inherits#readme", "_id": "inherits@2.0.3", "_shasum": "633c2c83e3da42a502f52466022480f4208261de", + "_from": "inherits@>=2.0.1 <2.1.0", + "_npmVersion": "3.10.7", + "_nodeVersion": "6.5.0", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "dist": { + "shasum": "633c2c83e3da42a502f52466022480f4208261de", + "tarball": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/inherits-2.0.3.tgz_1473295776489_0.08142363070510328" + }, + "directories": {}, "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "_from": "inherits@>=2.0.1 <2.1.0" + "readme": "ERROR: No README data found!" } diff --git a/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/isarray/package.json b/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/isarray/package.json index fb1eb378..060e073f 100644 --- a/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/isarray/package.json +++ b/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/isarray/package.json @@ -26,13 +26,28 @@ "url": "http://juliangruber.com" }, "license": "MIT", - "readme": "\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber <julian@juliangruber.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n", - "readmeFilename": "README.md", + "_id": "isarray@0.0.1", + "dist": { + "shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", + "tarball": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "_from": "isarray@0.0.1", + "_npmVersion": "1.2.18", + "_npmUser": { + "name": "juliangruber", + "email": "julian@juliangruber.com" + }, + "maintainers": [ + { + "name": "juliangruber", + "email": "julian@juliangruber.com" + } + ], + "directories": {}, + "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", + "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "bugs": { "url": "https://github.com/juliangruber/isarray/issues" }, - "_id": "isarray@0.0.1", - "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", - "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "_from": "isarray@0.0.1" + "readme": "ERROR: No README data found!" } diff --git a/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/string_decoder/package.json b/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/string_decoder/package.json index ee707023..fdf923ef 100644 --- a/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/string_decoder/package.json +++ b/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/string_decoder/package.json @@ -22,13 +22,32 @@ "browserify" ], "license": "MIT", - "readme": "**string_decoder.js** (`require('string_decoder')`) from Node.js core\n\nCopyright Joyent, Inc. and other Node contributors. See LICENCE file for details.\n\nVersion numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**\n\nThe *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.", - "readmeFilename": "README.md", + "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0", "bugs": { "url": "https://github.com/rvagg/string_decoder/issues" }, "_id": "string_decoder@0.10.31", "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", - "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "_from": "string_decoder@>=0.10.0 <0.11.0" + "_from": "string_decoder@>=0.10.0 <0.11.0", + "_npmVersion": "1.4.23", + "_npmUser": { + "name": "rvagg", + "email": "rod@vagg.org" + }, + "maintainers": [ + { + "name": "substack", + "email": "mail@substack.net" + }, + { + "name": "rvagg", + "email": "rod@vagg.org" + } + ], + "dist": { + "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", + "tarball": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" } diff --git a/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/package.json b/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/package.json index eabdc8dc..b233161a 100644 --- a/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/package.json +++ b/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/package.json @@ -17,7 +17,7 @@ }, "repository": { "type": "git", - "url": "git://github.com/isaacs/readable-stream.git" + "url": "git://github.com/isaacs/readable-stream" }, "keywords": [ "readable", @@ -33,14 +33,45 @@ "url": "http://blog.izs.me/" }, "license": "MIT", - "readme": "# readable-stream\n\n***Node-core streams for userland***\n\n[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)\n[![NPM](https://nodei.co/npm-dl/readable-stream.png&months=6&height=3)](https://nodei.co/npm/readable-stream/)\n\nThis package is a mirror of the Streams2 and Streams3 implementations in Node-core.\n\nIf you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *\"stream\"* module in Node-core.\n\n**readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12.\n\n**readable-stream** uses proper patch-level versioning so if you pin to `\"~1.0.0\"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `\"~1.1.0\"`\n\n", - "readmeFilename": "README.md", + "gitHead": "52550840cb1d6e8a98ef9a909a4bea360bc6f7da", "bugs": { "url": "https://github.com/isaacs/readable-stream/issues" }, - "homepage": "https://github.com/isaacs/readable-stream#readme", "_id": "readable-stream@1.1.14", "_shasum": "7cf4c54ef648e3813084c636dd2079e166c081d9", - "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "_from": "readable-stream@>=1.1.9 <1.2.0" + "_from": "readable-stream@>=1.1.9 <1.2.0", + "_npmVersion": "3.8.3", + "_nodeVersion": "5.10.1", + "_npmUser": { + "name": "cwmma", + "email": "calvin.metcalf@gmail.com" + }, + "dist": { + "shasum": "7cf4c54ef648e3813084c636dd2079e166c081d9", + "tarball": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + }, + { + "name": "rvagg", + "email": "rod@vagg.org" + }, + { + "name": "cwmma", + "email": "calvin.metcalf@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/readable-stream-1.1.14.tgz_1460563293219_0.5682175166439265" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" } diff --git a/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json b/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json index cc4affad..aea38acf 100644 --- a/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json +++ b/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json @@ -21,14 +21,27 @@ "dependencies": { "readable-stream": "~1.1.8" }, - "readme": "# stream-counter\n\nKeep track of how many bytes have been written to a stream.\n\n## Usage\n\n```js\nvar StreamCounter = require('stream-counter');\nvar counter = new StreamCounter();\ncounter.on('progress', function() {\n console.log(\"progress\", counter.bytes);\n});\nfs.createReadStream('foo.txt').pipe(counter);\n```\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/superjoe30/node-stream-counter/issues" }, - "homepage": "https://github.com/superjoe30/node-stream-counter#readme", "_id": "stream-counter@0.2.0", + "dist": { + "shasum": "ded266556319c8b0e222812b9cf3b26fa7d947de", + "tarball": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz" + }, + "_from": "stream-counter@>=0.2.0 <0.3.0", + "_npmVersion": "1.3.8", + "_npmUser": { + "name": "superjoe", + "email": "superjoe30@gmail.com" + }, + "maintainers": [ + { + "name": "superjoe", + "email": "superjoe30@gmail.com" + } + ], + "directories": {}, "_shasum": "ded266556319c8b0e222812b9cf3b26fa7d947de", - "_resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", - "_from": "stream-counter@>=0.2.0 <0.3.0" + "_resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz" } diff --git a/node_modules/connect/node_modules/multiparty/package.json b/node_modules/connect/node_modules/multiparty/package.json index 41e1d603..1da6a267 100644 --- a/node_modules/connect/node_modules/multiparty/package.json +++ b/node_modules/connect/node_modules/multiparty/package.json @@ -4,7 +4,7 @@ "description": "multipart/form-data parser which supports streaming", "repository": { "type": "git", - "url": "git+ssh://git@github.com/superjoe30/node-multiparty.git" + "url": "git@github.com:superjoe30/node-multiparty.git" }, "keywords": [ "file", @@ -32,14 +32,27 @@ "readable-stream": "~1.1.9", "stream-counter": "~0.2.0" }, - "readme": "[![Build Status](https://travis-ci.org/superjoe30/node-multiparty.png?branch=master)](https://travis-ci.org/superjoe30/node-multiparty)\n# multiparty\n\nParse http requests with content-type `multipart/form-data`, also known as file uploads.\n\nSee also [busboy](https://github.com/mscdex/busboy) - a\n[faster](https://github.com/mscdex/dicer/wiki/Benchmarks) alternative\nwhich may be worth looking into.\n\n### Why the fork?\n\n * This module uses the Node.js v0.10 streams properly, *even in Node.js v0.8*\n * It will not create a temp file for you unless you want it to.\n * Counts bytes and does math to help you figure out the `Content-Length` of\n each part.\n * You can easily stream uploads to s3 with\n [knox](https://github.com/LearnBoost/knox), for [example](examples/s3.js).\n * Less bugs. This code is simpler, has all deprecated functionality removed,\n has cleaner tests, and does not try to do anything beyond multipart stream\n parsing.\n\n## Installation\n\n```\nnpm install multiparty\n```\n\n## Usage\n\n * See [examples](examples).\n\nParse an incoming `multipart/form-data` request.\n\n```js\nvar multiparty = require('multiparty')\n , http = require('http')\n , util = require('util')\n\nhttp.createServer(function(req, res) {\n if (req.url === '/upload' && req.method === 'POST') {\n // parse a file upload\n var form = new multiparty.Form();\n\n form.parse(req, function(err, fields, files) {\n res.writeHead(200, {'content-type': 'text/plain'});\n res.write('received upload:\\n\\n');\n res.end(util.inspect({fields: fields, files: files}));\n });\n\n return;\n }\n\n // show a file upload form\n res.writeHead(200, {'content-type': 'text/html'});\n res.end(\n '
'+\n '
'+\n '
'+\n ''+\n '
'\n );\n}).listen(8080);\n```\n\n## API\n\n### multiparty.Form\n```js\nvar form = new multiparty.Form(options)\n```\nCreates a new form. Options:\n\n * `encoding` - sets encoding for the incoming form fields. Defaults to `utf8`.\n * `maxFieldSize` - Limits the amount of memory a field (not a file) can\n allocate in bytes. If this value is exceeded, an `error` event is emitted.\n The default size is 2MB.\n * `maxFields` - Limits the number of fields that will be parsed before\n emitting an `error` event. A file counts as a field in this case.\n Defaults to 1000.\n * `autoFields` - Enables `field` events. This is automatically set to `true`\n if you add a `field` listener.\n * `autoFiles` - Enables `file` events. This is automatically set to `true`\n if you add a `file` listener.\n * `uploadDir` - Only relevant when `autoFiles` is `true`. The directory for\n placing file uploads in. You can move them later using `fs.rename()`.\n Defaults to `os.tmpDir()`.\n * `hash` - Only relevant when `autoFiles` is `true`. If you want checksums\n calculated for incoming files, set this to either `sha1` or `md5`.\n Defaults to off.\n\n#### form.parse(request, [cb])\n\nParses an incoming node.js `request` containing form data. If `cb` is\nprovided, `autoFields` and `autoFiles` are set to `true` and all fields and\nfiles are collected and passed to the callback:\n\n```js\nform.parse(req, function(err, fieldsObject, filesObject, fieldsList, filesList) {\n // ...\n});\n```\n\nIt is often convenient to access a field or file by name. In this situation,\nuse `fieldsObject` or `filesObject`. However sometimes, as in the case of a\n`` the multipart stream will contain\nmultiple files of the same input name, and you are interested in all of them.\nIn this case, use `filesList`.\n\nAnother example is when you do not care what the field name of a file is; you\nare merely interested in a single upload. In this case, set `maxFields` to 1\n(assuming no other fields expected besides the file) and use `filesList[0]`.\n\n#### form.bytesReceived\n\nThe amount of bytes received for this form so far.\n\n#### form.bytesExpected\n\nThe expected number of bytes in this form.\n\n### Events\n\n#### 'error' (err)\n\nYou definitely want to handle this event. If not your server *will* crash when\nusers submit bogus multipart requests!\n\n#### 'part' (part)\n\nEmitted when a part is encountered in the request. `part` is a\n`ReadableStream`. It also has the following properties:\n\n * `headers` - the headers for this part. For example, you may be interested\n in `content-type`.\n * `name` - the field name for this part\n * `filename` - only if the part is an incoming file\n * `byteOffset` - the byte offset of this part in the request body\n * `byteCount` - assuming that this is the last part in the request,\n this is the size of this part in bytes. You could use this, for\n example, to set the `Content-Length` header if uploading to S3.\n If the part had a `Content-Length` header then that value is used\n here instead.\n\n#### 'aborted'\n\nEmitted when the request is aborted. This event will be followed shortly\nby an `error` event. In practice you do not need to handle this event.\n\n#### 'progress' (bytesReceived, bytesExpected)\n\n#### 'close'\n\nEmitted after all parts have been parsed and emitted. Not emitted if an `error`\nevent is emitted. This is typically when you would send your response.\n\n#### 'file' (name, file)\n\n**By default multiparty will not touch your hard drive.** But if you add this\nlistener, multiparty automatically sets `form.autoFiles` to `true` and will\nstream uploads to disk for you. \n\n * `name` - the field name for this file\n * `file` - an object with these properties:\n - `fieldName` - same as `name` - the field name for this file\n - `originalFilename` - the filename that the user reports for the file\n - `path` - the absolute path of the uploaded file on disk\n - `headers` - the HTTP headers that were sent along with this file\n - `size` - size of the file in bytes\n\nIf you set the `form.hash` option, then `file` will also contain a `hash`\nproperty which is the checksum of the file.\n\n#### 'field' (name, value)\n\n * `name` - field name\n * `value` - string field value\n\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/superjoe30/node-multiparty/issues" }, - "homepage": "https://github.com/superjoe30/node-multiparty#readme", "_id": "multiparty@2.2.0", + "dist": { + "shasum": "a567c2af000ad22dc8f2a653d91978ae1f5316f4", + "tarball": "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz" + }, + "_from": "multiparty@2.2.0", + "_npmVersion": "1.3.11", + "_npmUser": { + "name": "superjoe", + "email": "superjoe30@gmail.com" + }, + "maintainers": [ + { + "name": "superjoe", + "email": "superjoe30@gmail.com" + } + ], + "directories": {}, "_shasum": "a567c2af000ad22dc8f2a653d91978ae1f5316f4", - "_resolved": "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz", - "_from": "multiparty@2.2.0" + "_resolved": "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz" } diff --git a/node_modules/connect/node_modules/negotiator/package.json b/node_modules/connect/node_modules/negotiator/package.json index 5904ac2f..59d289a6 100644 --- a/node_modules/connect/node_modules/negotiator/package.json +++ b/node_modules/connect/node_modules/negotiator/package.json @@ -38,14 +38,19 @@ "node": "*" }, "main": "lib/negotiator.js", - "readme": "# Negotiator\n\nAn HTTP content negotiator for node.js written in javascript.\n\n# Accept Negotiation\n\n Negotiator = require('negotiator')\n\n availableMediaTypes = ['text/html', 'text/plain', 'application/json']\n\n // The negotiator constructor receives a request object\n negotiator = new Negotiator(request)\n\n // Let's say Accept header is 'text/html, application/*;q=0.2, image/jpeg;q=0.8'\n\n negotiator.preferredMediaTypes()\n // -> ['text/html', 'image/jpeg', 'application/*']\n\n negotiator.preferredMediaTypes(availableMediaTypes)\n // -> ['text/html', 'application/json']\n\n negotiator.preferredMediaType(availableMediaTypes)\n // -> 'text/html'\n\nYou can check a working example at `examples/accept.js`.\n\n## Methods\n\n`preferredMediaTypes(availableMediaTypes)`:\n\nReturns an array of preferred media types ordered by priority from a list of available media types.\n\n`preferredMediaType(availableMediaType)`:\n\nReturns the top preferred media type from a list of available media types.\n\n# Accept-Language Negotiation\n\n Negotiator = require('negotiator')\n\n negotiator = new Negotiator(request)\n\n availableLanguages = 'en', 'es', 'fr'\n\n // Let's say Accept-Language header is 'en;q=0.8, es, pt'\n\n negotiator.preferredLanguages()\n // -> ['es', 'pt', 'en']\n\n negotiator.preferredLanguages(availableLanguages)\n // -> ['es', 'en']\n\n language = negotiator.preferredLanguage(availableLanguages)\n // -> 'es'\n\nYou can check a working example at `examples/language.js`.\n\n## Methods\n\n`preferredLanguages(availableLanguages)`:\n\nReturns an array of preferred languages ordered by priority from a list of available languages.\n\n`preferredLanguage(availableLanguages)`:\n\nReturns the top preferred language from a list of available languages.\n\n# Accept-Charset Negotiation\n\n Negotiator = require('negotiator')\n\n availableCharsets = ['utf-8', 'iso-8859-1', 'iso-8859-5']\n\n negotiator = new Negotiator(request)\n\n // Let's say Accept-Charset header is 'utf-8, iso-8859-1;q=0.8, utf-7;q=0.2'\n\n negotiator.preferredCharsets()\n // -> ['utf-8', 'iso-8859-1', 'utf-7']\n\n negotiator.preferredCharsets(availableCharsets)\n // -> ['utf-8', 'iso-8859-1']\n\n negotiator.preferredCharset(availableCharsets)\n // -> 'utf-8'\n\nYou can check a working example at `examples/charset.js`.\n\n## Methods\n\n`preferredCharsets(availableCharsets)`:\n\nReturns an array of preferred charsets ordered by priority from a list of available charsets.\n\n`preferredCharset(availableCharsets)`:\n\nReturns the top preferred charset from a list of available charsets.\n\n# Accept-Encoding Negotiation\n\n Negotiator = require('negotiator').Negotiator\n\n availableEncodings = ['identity', 'gzip']\n\n negotiator = new Negotiator(request)\n\n // Let's say Accept-Encoding header is 'gzip, compress;q=0.2, identity;q=0.5'\n\n negotiator.preferredEncodings()\n // -> ['gzip', 'identity', 'compress']\n\n negotiator.preferredEncodings(availableEncodings)\n // -> ['gzip', 'identity']\n\n negotiator.preferredEncoding(availableEncodings)\n // -> 'gzip'\n\nYou can check a working example at `examples/encoding.js`.\n\n## Methods\n\n`preferredEncodings(availableEncodings)`:\n\nReturns an array of preferred encodings ordered by priority from a list of available encodings.\n\n`preferredEncoding(availableEncodings)`:\n\nReturns the top preferred encoding from a list of available encodings.\n\n# License\n\nMIT\n", - "readmeFilename": "readme.md", - "bugs": { - "url": "https://github.com/federomero/negotiator/issues" - }, - "homepage": "https://github.com/federomero/negotiator#readme", - "dependencies": {}, "_id": "negotiator@0.3.0", + "dependencies": {}, + "dist": { + "shasum": "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60", + "tarball": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz" + }, + "maintainers": [ + { + "name": "federomero", + "email": "federomero@gmail.com" + } + ], + "directories": {}, "_shasum": "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60", "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz", "_from": "negotiator@0.3.0" diff --git a/node_modules/connect/node_modules/pause/package.json b/node_modules/connect/node_modules/pause/package.json index 97077783..a6c3e6c5 100644 --- a/node_modules/connect/node_modules/pause/package.json +++ b/node_modules/connect/node_modules/pause/package.json @@ -13,9 +13,18 @@ "should": "*" }, "main": "index", - "readme": "\n# pause\n\n Pause streams...\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", - "readmeFilename": "Readme.md", "_id": "pause@0.0.1", + "dist": { + "shasum": "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d", + "tarball": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d", "_resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", "_from": "pause@0.0.1" diff --git a/node_modules/connect/node_modules/raw-body/package.json b/node_modules/connect/node_modules/raw-body/package.json index 60ebeb07..f5dde4d5 100644 --- a/node_modules/connect/node_modules/raw-body/package.json +++ b/node_modules/connect/node_modules/raw-body/package.json @@ -10,7 +10,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/stream-utils/raw-body.git" + "url": "https://github.com/stream-utils/raw-body.git" }, "bugs": { "url": "https://github.com/stream-utils/raw-body/issues" @@ -33,11 +33,25 @@ "engines": { "node": ">= 0.8.0" }, - "readme": "# Raw Body [![Build Status](https://travis-ci.org/stream-utils/raw-body.png)](https://travis-ci.org/stream-utils/raw-body)\n\nGets the entire buffer of a stream either as a `Buffer` or a string.\nValidates the stream's length against an expected length and maximum limit.\nIdeal for parsing request bodies.\n\n## API\n\n```js\nvar getRawBody = require('raw-body')\n\napp.use(function (req, res, next) {\n getRawBody(req, {\n length: req.headers['content-length'],\n limit: '1mb',\n encoding: 'utf8'\n }, function (err, string) {\n if (err)\n return next(err)\n\n req.text = string\n next()\n })\n})\n```\n\nor in a Koa generator:\n\n```js\napp.use(function* (next) {\n var string = yield getRawBody(this.req, {\n length: this.length,\n limit: '1mb',\n encoding: 'utf8'\n })\n})\n```\n\n### getRawBody(stream, [options], [callback])\n\nReturns a thunk for yielding with generators.\n\nOptions:\n\n- `length` - The length length of the stream.\n If the contents of the stream do not add up to this length,\n an `400` error code is returned.\n- `limit` - The byte limit of the body.\n If the body ends up being larger than this limit,\n a `413` error code is returned.\n- `encoding` - The requested encoding.\n By default, a `Buffer` instance will be returned.\n Most likely, you want `utf8`.\n You can use any type of encoding supported by [StringDecoder](http://nodejs.org/api/string_decoder.html).\n You can also pass `true` which sets it to the default `utf8`\n\n`callback(err, res)`:\n\n- `err` - the following attributes will be defined if applicable:\n\n - `limit` - the limit in bytes\n - `length` and `expected` - the expected length of the stream\n - `received` - the received bytes\n - `status` and `statusCode` - the corresponding status code for the error\n - `type` - either `entity.too.large`, `request.size.invalid`, or `stream.encoding.set`\n\n- `res` - the result, either as a `String` if an encoding was set or a `Buffer` otherwise.\n\nIf an error occurs, the stream will be paused,\nand you are responsible for correctly disposing the stream.\nFor HTTP requests, no handling is required if you send a response.\nFor streams that use file descriptors, you should `stream.destroy()` or `stream.close()` to prevent leaks.\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2013 Jonathan Ong me@jongleberry.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n", - "readmeFilename": "README.md", - "homepage": "https://github.com/stream-utils/raw-body#readme", + "homepage": "https://github.com/stream-utils/raw-body", "_id": "raw-body@1.1.2", + "dist": { + "shasum": "c74b3004dea5defd1696171106ac740ec31d62be", + "tarball": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz" + }, + "_from": "raw-body@1.1.2", + "_npmVersion": "1.3.14", + "_npmUser": { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + "maintainers": [ + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "directories": {}, "_shasum": "c74b3004dea5defd1696171106ac740ec31d62be", - "_resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz", - "_from": "raw-body@1.1.2" + "_resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz" } diff --git a/node_modules/connect/node_modules/uid2/package.json b/node_modules/connect/node_modules/uid2/package.json index 5b84b04a..87be432f 100644 --- a/node_modules/connect/node_modules/uid2/package.json +++ b/node_modules/connect/node_modules/uid2/package.json @@ -8,7 +8,23 @@ "dependencies": {}, "readme": "ERROR: No README data found!", "_id": "uid2@0.0.3", + "dist": { + "shasum": "483126e11774df2f71b8b639dcd799c376162b82", + "tarball": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz" + }, + "_from": "uid2@0.0.3", + "_npmVersion": "1.2.21", + "_npmUser": { + "name": "coreh", + "email": "thecoreh@gmail.com" + }, + "maintainers": [ + { + "name": "coreh", + "email": "thecoreh@gmail.com" + } + ], + "directories": {}, "_shasum": "483126e11774df2f71b8b639dcd799c376162b82", - "_resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", - "_from": "uid2@0.0.3" + "_resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz" } diff --git a/node_modules/connect/package.json b/node_modules/connect/package.json index 43509837..80e7a023 100644 --- a/node_modules/connect/package.json +++ b/node_modules/connect/package.json @@ -54,14 +54,37 @@ "scripts": { "test": "make" }, - "readme": "# Connect [![build status](https://secure.travis-ci.org/senchalabs/connect.png)](http://travis-ci.org/senchalabs/connect)\n\n Connect is an extensible HTTP server framework for [node](http://nodejs.org), providing high performance \"plugins\" known as _middleware_.\n\n Connect is bundled with over _20_ commonly used middleware, including\n a logger, session support, cookie parser, and [more](http://senchalabs.github.com/connect). Be sure to view the 2.x [documentation](http://senchalabs.github.com/connect/).\n\n```js\nvar connect = require('connect')\n , http = require('http');\n\nvar app = connect()\n .use(connect.favicon())\n .use(connect.logger('dev'))\n .use(connect.static('public'))\n .use(connect.directory('public'))\n .use(connect.cookieParser())\n .use(connect.session({ secret: 'my secret here' }))\n .use(function(req, res){\n res.end('Hello from Connect!\\n');\n });\n\nhttp.createServer(app).listen(3000);\n```\n\n## Middleware\n\n - [basicAuth](http://www.senchalabs.org/connect/basicAuth.html)\n - [bodyParser](http://www.senchalabs.org/connect/bodyParser.html)\n - [compress](http://www.senchalabs.org/connect/compress.html)\n - [cookieParser](http://www.senchalabs.org/connect/cookieParser.html)\n - [cookieSession](http://www.senchalabs.org/connect/cookieSession.html)\n - [csrf](http://www.senchalabs.org/connect/csrf.html)\n - [directory](http://www.senchalabs.org/connect/directory.html)\n - [errorHandler](http://www.senchalabs.org/connect/errorHandler.html)\n - [favicon](http://www.senchalabs.org/connect/favicon.html)\n - [json](http://www.senchalabs.org/connect/json.html)\n - [limit](http://www.senchalabs.org/connect/limit.html)\n - [logger](http://www.senchalabs.org/connect/logger.html)\n - [methodOverride](http://www.senchalabs.org/connect/methodOverride.html)\n - [multipart](http://www.senchalabs.org/connect/multipart.html)\n - [urlencoded](http://www.senchalabs.org/connect/urlencoded.html)\n - [query](http://www.senchalabs.org/connect/query.html)\n - [responseTime](http://www.senchalabs.org/connect/responseTime.html)\n - [session](http://www.senchalabs.org/connect/session.html)\n - [static](http://www.senchalabs.org/connect/static.html)\n - [staticCache](http://www.senchalabs.org/connect/staticCache.html)\n - [subdomains](http://www.senchalabs.org/connect/subdomains.html)\n - [vhost](http://www.senchalabs.org/connect/vhost.html)\n\n## Running Tests\n\nfirst:\n\n $ npm install -d\n\nthen:\n\n $ make test\n\n## Contributors\n\n https://github.com/senchalabs/connect/graphs/contributors\n\n## Node Compatibility\n\n Connect `< 1.x` is compatible with node 0.2.x\n\n\n Connect `1.x` is compatible with node 0.4.x\n\n\n Connect `2.x` is compatible with node 0.6.x\n\n\n Connect (_master_) is compatible with node 0.8.x\n\n## CLA\n\n [http://sencha.com/cla](http://sencha.com/cla)\n\n## License\n\nView the [LICENSE](https://github.com/senchalabs/connect/blob/master/LICENSE) file. The [Silk](http://www.famfamfam.com/lab/icons/silk/) icons used by the `directory` middleware created by/copyright of [FAMFAMFAM](http://www.famfamfam.com/).\n", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/senchalabs/connect/issues" }, - "homepage": "https://github.com/senchalabs/connect#readme", + "homepage": "https://github.com/senchalabs/connect", "_id": "connect@2.12.0", + "dist": { + "shasum": "31d8fa0dcacdf1908d822bd2923be8a2d2a7ed9a", + "tarball": "https://registry.npmjs.org/connect/-/connect-2.12.0.tgz" + }, + "_from": "connect@>=2.12.0 <2.13.0", + "_npmVersion": "1.3.14", + "_npmUser": { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "deprecated": "connect 2.x series is deprecated", + "directories": {}, "_shasum": "31d8fa0dcacdf1908d822bd2923be8a2d2a7ed9a", - "_resolved": "https://registry.npmjs.org/connect/-/connect-2.12.0.tgz", - "_from": "connect@>=2.12.0 <2.13.0" + "_resolved": "https://registry.npmjs.org/connect/-/connect-2.12.0.tgz" } diff --git a/node_modules/debug/package.json b/node_modules/debug/package.json index a1e9f677..0f0e846f 100644 --- a/node_modules/debug/package.json +++ b/node_modules/debug/package.json @@ -35,14 +35,28 @@ "debug/debug.js": "debug.js" } }, - "readme": "# debug\n\n tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n \nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n , http = require('http')\n , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n debug(req.method + ' ' + req.url);\n res.end('hello\\n');\n}).listen(3000, function(){\n debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## Millisecond diff\n\n When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n When stderr is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n _(NOTE: Debug now uses stderr instead of stdout, so the correct shell command for this example is actually `DEBUG=* node example/worker 2> out &`)_\n \n ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n \n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\". \n\n## Wildcards\n\n The \"*\" character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n You can also exclude specific debuggers by prefixing them with a \"-\" character. For example, `DEBUG=* -connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable('worker:*')` in the console and refresh the page, this will remain until you disable with `debug.disable()`. \n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n a('doing some work');\n}, 1200);\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/visionmedia/debug/issues" }, - "homepage": "https://github.com/visionmedia/debug#readme", + "homepage": "https://github.com/visionmedia/debug", "_id": "debug@0.7.4", + "dist": { + "shasum": "06e1ea8082c2cb14e39806e22e2f6f757f92af39", + "tarball": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" + }, + "_from": "debug@>=0.7.4 <0.8.0", + "_npmVersion": "1.3.13", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "06e1ea8082c2cb14e39806e22e2f6f757f92af39", - "_resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "_from": "debug@>=0.7.4 <0.8.0" + "_resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" } diff --git a/node_modules/ejs/package.json b/node_modules/ejs/package.json index 6e220582..6661aa0a 100644 --- a/node_modules/ejs/package.json +++ b/node_modules/ejs/package.json @@ -23,14 +23,28 @@ "scripts": { "test": "mocha --require should --reporter spec" }, - "readme": "# EJS\n\nEmbedded JavaScript templates.\n\n[![Build Status](https://travis-ci.org/visionmedia/ejs.png)](https://travis-ci.org/visionmedia/ejs)\n\n## Installation\n\n $ npm install ejs\n\n## Features\n\n * Complies with the [Express](http://expressjs.com) view system\n * Static caching of intermediate JavaScript\n * Unbuffered code for conditionals etc `<% code %>`\n * Escapes html by default with `<%= code %>`\n * Unescaped buffering with `<%- code %>`\n * Supports tag customization\n * Filter support for designer-friendly templates\n * Includes\n * Client-side support\n * Newline slurping with `<% code -%>` or `<% -%>` or `<%= code -%>` or `<%- code -%>`\n\n## Example\n\n <% if (user) { %>\n\t

<%= user.name %>

\n <% } %>\n \n## Try out a live example now\n\n
\n\n## Usage\n\n ejs.compile(str, options);\n // => Function\n\n ejs.render(str, options);\n // => str\n\n## Options\n\n - `cache` Compiled functions are cached, requires `filename`\n - `filename` Used by `cache` to key caches\n - `scope` Function execution context\n - `debug` Output generated function body\n - `compileDebug` When `false` no debug instrumentation is compiled\n - `client` Returns standalone compiled function\n - `open` Open tag, defaulting to \"<%\"\n - `close` Closing tag, defaulting to \"%>\"\n - * All others are template-local variables\n\n## Includes\n\n Includes are relative to the template with the `include` statement,\n for example if you have \"./views/users.ejs\" and \"./views/user/show.ejs\"\n you would use `<% include user/show %>`. The included file(s) are literally\n included into the template, _no_ IO is performed after compilation, thus\n local variables are available to these included templates.\n\n```\n
    \n <% users.forEach(function(user){ %>\n <% include user/show %>\n <% }) %>\n
\n```\n\n## Custom delimiters\n\nCustom delimiters can also be applied globally:\n\n var ejs = require('ejs');\n ejs.open = '{{';\n ejs.close = '}}';\n\nWhich would make the following a valid template:\n\n

{{= title }}

\n\n## Filters\n\nEJS conditionally supports the concept of \"filters\". A \"filter chain\"\nis a designer friendly api for manipulating data, without writing JavaScript.\n\nFilters can be applied by supplying the _:_ modifier, so for example if we wish to take the array `[{ name: 'tj' }, { name: 'mape' }, { name: 'guillermo' }]` and output a list of names we can do this simply with filters:\n\nTemplate:\n\n

<%=: users | map:'name' | join %>

\n\nOutput:\n\n

Tj, Mape, Guillermo

\n\nRender call:\n\n ejs.render(str, {\n users: [\n { name: 'tj' },\n { name: 'mape' },\n { name: 'guillermo' }\n ]\n });\n\nOr perhaps capitalize the first user's name for display:\n\n

<%=: users | first | capitalize %>

\n\n## Filter list\n\nCurrently these filters are available:\n\n - first\n - last\n - capitalize\n - downcase\n - upcase\n - sort\n - sort_by:'prop'\n - size\n - length\n - plus:n\n - minus:n\n - times:n\n - divided_by:n\n - join:'val'\n - truncate:n\n - truncate_words:n\n - replace:pattern,substitution\n - prepend:val\n - append:val\n - map:'prop'\n - reverse\n - get:'prop'\n\n## Adding filters\n\n To add a filter simply add a method to the `.filters` object:\n \n```js\nejs.filters.last = function(obj) {\n return obj[obj.length - 1];\n};\n```\n\n## Layouts\n\n Currently EJS has no notion of blocks, only compile-time `include`s,\n however you may still utilize this feature to implement \"layouts\" by\n simply including a header and footer like so:\n\n```html\n<% include head %>\n

Title

\n

My page

\n<% include foot %>\n```\n\n## client-side support\n\n include `./ejs.js` or `./ejs.min.js` and `require(\"ejs\").compile(str)`.\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2009-2010 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/visionmedia/ejs/issues" }, - "homepage": "https://github.com/visionmedia/ejs#readme", + "homepage": "https://github.com/visionmedia/ejs", "_id": "ejs@1.0.0", + "dist": { + "shasum": "c9c60a48a46ee452fb32a71c317b95e5aa1fcb3d", + "tarball": "https://registry.npmjs.org/ejs/-/ejs-1.0.0.tgz" + }, + "_from": "ejs@>=1.0.0 <1.1.0", + "_npmVersion": "1.3.21", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "c9c60a48a46ee452fb32a71c317b95e5aa1fcb3d", - "_resolved": "https://registry.npmjs.org/ejs/-/ejs-1.0.0.tgz", - "_from": "ejs@>=1.0.0 <1.1.0" + "_resolved": "https://registry.npmjs.org/ejs/-/ejs-1.0.0.tgz" } diff --git a/node_modules/engine.io-client/node_modules/component-emitter/package.json b/node_modules/engine.io-client/node_modules/component-emitter/package.json index a2ce7c29..05988751 100644 --- a/node_modules/engine.io-client/node_modules/component-emitter/package.json +++ b/node_modules/engine.io-client/node_modules/component-emitter/package.json @@ -14,19 +14,33 @@ "main": "index.js", "repository": { "type": "git", - "url": "git+https://github.com/component/emitter.git" + "url": "https://github.com/component/emitter.git" }, "scripts": { "test": "make test" }, - "readme": "# Emitter [![Build Status](https://travis-ci.org/component/emitter.png)](https://travis-ci.org/component/emitter)\n\n Event emitter component.\n\n## Installation\n\n```\n$ component install component/emitter\n```\n\n## API\n\n### Emitter(obj)\n\n The `Emitter` may also be used as a mixin. For example\n a \"plain\" object may become an emitter, or you may\n extend an existing prototype.\n\n As an `Emitter` instance:\n\n```js\nvar Emitter = require('emitter');\nvar emitter = new Emitter;\nemitter.emit('something');\n```\n\n As a mixin:\n\n```js\nvar Emitter = require('emitter');\nvar user = { name: 'tobi' };\nEmitter(user);\n\nuser.emit('im a user');\n```\n\n As a prototype mixin:\n\n```js\nvar Emitter = require('emitter');\nEmitter(User.prototype);\n```\n\n### Emitter#on(event, fn)\n\n Register an `event` handler `fn`.\n\n### Emitter#once(event, fn)\n\n Register a single-shot `event` handler `fn`,\n removed immediately after it is invoked the\n first time.\n\n### Emitter#off(event, fn)\n\n * Pass `event` and `fn` to remove a listener.\n * Pass `event` to remove all listeners on that event.\n * Pass nothing to remove all listeners on all events.\n\n### Emitter#emit(event, ...)\n\n Emit an `event` with variable option args.\n\n### Emitter#listeners(event)\n\n Return an array of callbacks, or an empty array.\n\n### Emitter#hasListeners(event)\n\n Check if this emitter has `event` handlers.\n\n## License\n\nMIT\n", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/component/emitter/issues" }, - "homepage": "https://github.com/component/emitter#readme", + "homepage": "https://github.com/component/emitter", "_id": "component-emitter@1.1.2", + "dist": { + "shasum": "296594f2753daa63996d2af08d15a95116c9aec3", + "tarball": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz" + }, + "_from": "component-emitter@1.1.2", + "_npmVersion": "1.3.24", + "_npmUser": { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + }, + "maintainers": [ + { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + } + ], + "directories": {}, "_shasum": "296594f2753daa63996d2af08d15a95116c9aec3", - "_resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", - "_from": "component-emitter@1.1.2" + "_resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz" } diff --git a/node_modules/engine.io-client/node_modules/component-inherit/package.json b/node_modules/engine.io-client/node_modules/component-inherit/package.json index 6ca076aa..61744f57 100644 --- a/node_modules/engine.io-client/node_modules/component-inherit/package.json +++ b/node_modules/engine.io-client/node_modules/component-inherit/package.json @@ -14,16 +14,30 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/component/inherit.git" + "url": "https://github.com/component/inherit.git" }, - "readme": "# inherit\n\n Prototype inheritance utility.\n\n## Installation\n\n```\n$ component install component/inherit\n```\n\n## Example\n\n```js\nvar inherit = require('inherit');\n\nfunction Human() {}\nfunction Woman() {}\n\ninherit(Woman, Human);\n```\n\n## License\n\n MIT\n", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/component/inherit/issues" }, - "homepage": "https://github.com/component/inherit#readme", + "homepage": "https://github.com/component/inherit", "_id": "component-inherit@0.0.3", + "dist": { + "shasum": "645fc4adf58b72b649d5cae65135619db26ff143", + "tarball": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz" + }, + "_from": "component-inherit@0.0.3", + "_npmVersion": "1.3.24", + "_npmUser": { + "name": "coreh", + "email": "thecoreh@gmail.com" + }, + "maintainers": [ + { + "name": "coreh", + "email": "thecoreh@gmail.com" + } + ], + "directories": {}, "_shasum": "645fc4adf58b72b649d5cae65135619db26ff143", - "_resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "_from": "component-inherit@0.0.3" + "_resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz" } diff --git a/node_modules/engine.io-client/node_modules/debug/node_modules/ms/package.json b/node_modules/engine.io-client/node_modules/debug/node_modules/ms/package.json index 7b5d86db..29c1ba53 100644 --- a/node_modules/engine.io-client/node_modules/debug/node_modules/ms/package.json +++ b/node_modules/engine.io-client/node_modules/debug/node_modules/ms/package.json @@ -17,14 +17,31 @@ "ms/index.js": "index.js" } }, - "readme": "# ms.js: miliseconds conversion utility\n\n```js\nms('2 days') // 172800000\nms('1d') // 86400000\nms('10h') // 36000000\nms('2.5 hrs') // 9000000\nms('2h') // 7200000\nms('1m') // 60000\nms('5s') // 5000\nms('100') // 100\n```\n\n```js\nms(60000) // \"1m\"\nms(2 * 60000) // \"2m\"\nms(ms('10 hours')) // \"10h\"\n```\n\n```js\nms(60000, { long: true }) // \"1 minute\"\nms(2 * 60000, { long: true }) // \"2 minutes\"\nms(ms('10 hours'), { long: true }) // \"10 hours\"\n```\n\n- Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download).\n- If a number is supplied to `ms`, a string with a unit is returned.\n- If a string that contains the number is supplied, it returns it as\na number (e.g: it returns `100` for `'100'`).\n- If you pass a string with a number and a valid unit, the number of\nequivalent ms is returned.\n\n## License\n\nMIT\n", - "readmeFilename": "README.md", + "gitHead": "713dcf26d9e6fd9dbc95affe7eff9783b7f1b909", "bugs": { "url": "https://github.com/guille/ms.js/issues" }, - "homepage": "https://github.com/guille/ms.js#readme", + "homepage": "https://github.com/guille/ms.js", "_id": "ms@0.7.1", + "scripts": {}, "_shasum": "9cd13c03adbff25b65effde7ce864ee952017098", - "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "_from": "ms@0.7.1" + "_from": "ms@0.7.1", + "_npmVersion": "2.7.5", + "_nodeVersion": "0.12.2", + "_npmUser": { + "name": "rauchg", + "email": "rauchg@gmail.com" + }, + "maintainers": [ + { + "name": "rauchg", + "email": "rauchg@gmail.com" + } + ], + "dist": { + "shasum": "9cd13c03adbff25b65effde7ce864ee952017098", + "tarball": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" } diff --git a/node_modules/engine.io-client/node_modules/debug/package.json b/node_modules/engine.io-client/node_modules/debug/package.json index fa594b09..33bdb64a 100644 --- a/node_modules/engine.io-client/node_modules/debug/package.json +++ b/node_modules/engine.io-client/node_modules/debug/package.json @@ -38,14 +38,35 @@ "debug/debug.js": "debug.js" } }, - "readme": "# debug\n\n tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n , http = require('http')\n , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n debug(req.method + ' ' + req.url);\n res.end('hello\\n');\n}).listen(3000, function(){\n debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n#### Windows note\n\n On Windows the environment variable is set using the `set` command.\n\n ```cmd\n set DEBUG=*,-not_this\n ```\n\nThen, run the program to be debugged as usual.\n\n## Millisecond diff\n\n When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n\n ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n\n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\".\n\n## Wildcards\n\n The `*` character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n You can also exclude specific debuggers by prefixing them with a \"-\" character. For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n Debug works in the browser as well, currently persisted by `localStorage`. Consider the situation shown below where you have `worker:a` and `worker:b`, and wish to debug both. Somewhere in the code on your page, include:\n\n```js\nwindow.myDebug = require(\"debug\");\n```\n\n (\"debug\" is a global object in the browser so we give this object a different name.) When your page is open in the browser, type the following in the console:\n\n```js\nmyDebug.enable(\"worker:*\")\n```\n\n Refresh the page. Debug output will continue to be sent to the console until it is disabled by typing `myDebug.disable()` in the console.\n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n b('doing some work');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n Colors are also enabled on \"Web Inspectors\" that understand the `%c` formatting\n option. These are WebKit web inspectors, Firefox ([since version\n 31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))\n and the Firebug plugin for Firefox (any version).\n\n Colored output looks something like:\n\n ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\n\n### stderr vs stdout\n\nYou can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:\n\nExample _stdout.js_:\n\n```js\nvar debug = require('debug');\nvar error = debug('app:error');\n\n// by default stderr is used\nerror('goes to stderr!');\n\nvar log = debug('app:log');\n// set this namespace to log via console.log\nlog.log = console.log.bind(console); // don't forget to bind to console!\nlog('goes to stdout');\nerror('still goes to stderr!');\n\n// set all output to go via console.info\n// overrides all per-namespace log settings\ndebug.log = console.info.bind(console);\nerror('now goes to stdout via console.info');\nlog('still goes to stdout, but via console.info now');\n```\n\n### Save debug output to a file\n\nYou can save all debug statements to a file by piping them.\n\nExample:\n\n```bash\n$ DEBUG_FD=3 node your-app.js 3> whatever.log\n```\n\n## Authors\n\n - TJ Holowaychuk\n - Nathan Rajlich\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", - "readmeFilename": "Readme.md", + "gitHead": "b38458422b5aa8aa6d286b10dfe427e8a67e2b35", "bugs": { "url": "https://github.com/visionmedia/debug/issues" }, - "homepage": "https://github.com/visionmedia/debug#readme", + "homepage": "https://github.com/visionmedia/debug", "_id": "debug@2.2.0", + "scripts": {}, "_shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da", - "_resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "_from": "debug@2.2.0" + "_from": "debug@2.2.0", + "_npmVersion": "2.7.4", + "_nodeVersion": "0.12.2", + "_npmUser": { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + } + ], + "dist": { + "shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da", + "tarball": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" } diff --git a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/package.json b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/package.json index c73e8679..ac80f6b0 100644 --- a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/package.json +++ b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/package.json @@ -30,14 +30,31 @@ "type": "git", "url": "git://github.com/Raynos/after.git" }, - "readme": "# After [![Build Status][1]][2]\n\nInvoke callback after n calls\n\n## Status: production ready\n\n## Example\n\n var after = require(\"after\")\n , next = after(3, logItWorks)\n\n next()\n next()\n next() // it works\n\n function logItWorks() {\n console.log(\"it works!\")\n }\n\n## Example with error handling\n\n var after = require(\"after\")\n , next = after(3, logError)\n\n next()\n next(new Error(\"oops\")) // logs oops\n next() // does nothing\n\n function logError(err) {\n console.log(err)\n }\n\n## After < 0.6.0\n\nOlder versions of after had iterators and flows in them.\n\nThese have been replaced with seperate modules\n\n - [iterators][8]\n - [composite][9]\n\n## Installation\n\n`npm install after`\n\n## Tests\n\n`npm test`\n\n## Blog post\n\n - [Flow control in node.js][3]\n\n## Examples :\n\n - [Determining the end of asynchronous operations][4]\n - [In javascript what are best practices for executing multiple asynchronous functions][5]\n - [JavaScript performance long running tasks][6]\n - [Synchronous database queries with node.js][7]\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n\n [1]: https://secure.travis-ci.org/Raynos/after.png\n [2]: http://travis-ci.org/Raynos/after\n [3]: http://raynos.org/blog/2/Flow-control-in-node.js\n [4]: http://stackoverflow.com/questions/6852059/determining-the-end-of-asynchronous-operations-javascript/6852307#6852307\n [5]: http://stackoverflow.com/questions/6869872/in-javascript-what-are-best-practices-for-executing-multiple-asynchronous-functi/6870031#6870031\n [6]: http://stackoverflow.com/questions/6864397/javascript-performance-long-running-tasks/6889419#6889419\n [7]: http://stackoverflow.com/questions/6597493/synchronous-database-queries-with-node-js/6620091#6620091\n [8]: http://github.com/Raynos/iterators\n [9]: http://github.com/Raynos/composite\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/Raynos/after/issues" }, - "homepage": "https://github.com/Raynos/after#readme", "_id": "after@0.8.1", + "dist": { + "shasum": "ab5d4fb883f596816d3515f8f791c0af486dd627", + "tarball": "https://registry.npmjs.org/after/-/after-0.8.1.tgz" + }, + "_from": "after@0.8.1", + "_npmVersion": "1.2.25", + "_npmUser": { + "name": "raynos", + "email": "raynos2@gmail.com" + }, + "maintainers": [ + { + "name": "raynos", + "email": "raynos2@gmail.com" + }, + { + "name": "shtylman", + "email": "shtylman@gmail.com" + } + ], + "directories": {}, "_shasum": "ab5d4fb883f596816d3515f8f791c0af486dd627", - "_resolved": "https://registry.npmjs.org/after/-/after-0.8.1.tgz", - "_from": "after@0.8.1" + "_resolved": "https://registry.npmjs.org/after/-/after-0.8.1.tgz" } diff --git a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/arraybuffer.slice/package.json b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/arraybuffer.slice/package.json index af728a08..cea166a4 100644 --- a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/arraybuffer.slice/package.json +++ b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/arraybuffer.slice/package.json @@ -10,15 +10,29 @@ }, "repository": { "type": "git", - "url": "git+ssh://git@github.com/rase-/arraybuffer.slice.git" + "url": "git@github.com:rase-/arraybuffer.slice.git" }, - "readme": "# How to\n```javascript\nvar sliceBuffer = require('arraybuffer.slice');\nvar ab = (new Int8Array(5)).buffer;\nvar sliced = sliceBuffer(ab, 1, 3);\nsliced = sliceBuffer(ab, 1);\n```\n\n# Licence (MIT)\nCopyright (C) 2013 Rase-\n\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/rase-/arraybuffer.slice/issues" }, "_id": "arraybuffer.slice@0.0.6", + "dist": { + "shasum": "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca", + "tarball": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz" + }, + "_from": "arraybuffer.slice@0.0.6", + "_npmVersion": "1.3.5", + "_npmUser": { + "name": "rase-", + "email": "tonykovanen@hotmail.com" + }, + "maintainers": [ + { + "name": "rase-", + "email": "tonykovanen@hotmail.com" + } + ], + "directories": {}, "_shasum": "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca", - "_resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", - "_from": "arraybuffer.slice@0.0.6" + "_resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz" } diff --git a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/package.json b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/package.json index 1c671be5..5e573c53 100644 --- a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/package.json +++ b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/package.json @@ -10,7 +10,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/niklasvh/base64-arraybuffer.git" + "url": "https://github.com/niklasvh/base64-arraybuffer" }, "bugs": { "url": "https://github.com/niklasvh/base64-arraybuffer/issues" @@ -32,10 +32,24 @@ "grunt": "~0.3.17" }, "keywords": [], - "readme": "# base64-arraybuffer\n\n[![Build Status](https://travis-ci.org/niklasvh/base64-arraybuffer.png)](https://travis-ci.org/niklasvh/base64-arraybuffer)\n\nEncode/decode base64 data into ArrayBuffers\n\n## Getting Started\nInstall the module with: `npm install base64-arraybuffer`\n\n## API\nThe library encodes and decodes base64 to and from ArrayBuffers\n\n - __encode(buffer)__ - Encodes `ArrayBuffer` into base64 string\n - __decode(str)__ - Decodes base64 string to `ArrayBuffer`\n\n## Release History\n\n - 0.1.2 - Fix old format of typed arrays\n - 0.1.0 - Initial version, basic decode/encode base64 to and from ArrayBuffer\n\n## License\nCopyright (c) 2012 Niklas von Hertzen\nLicensed under the MIT license.\n", - "readmeFilename": "README.md", "_id": "base64-arraybuffer@0.1.2", + "dist": { + "shasum": "474df4a9f2da24e05df3158c3b1db3c3cd46a154", + "tarball": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz" + }, + "_from": "base64-arraybuffer@0.1.2", + "_npmVersion": "1.3.21", + "_npmUser": { + "name": "niklasvh", + "email": "niklasvh@gmail.com" + }, + "maintainers": [ + { + "name": "niklasvh", + "email": "niklasvh@gmail.com" + } + ], + "directories": {}, "_shasum": "474df4a9f2da24e05df3158c3b1db3c3cd46a154", - "_resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz", - "_from": "base64-arraybuffer@0.1.2" + "_resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz" } diff --git a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/package.json b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/package.json index 00a4f8d4..f4a45d32 100644 --- a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/package.json +++ b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/package.json @@ -12,18 +12,32 @@ }, "repository": { "type": "git", - "url": "git+ssh://git@github.com/rase-/blob.git" + "url": "git@github.com:rase-/blob.git" }, "scripts": { "test": "make test" }, - "readme": "Blob\n====\n\nA module that exports a constructor that uses window.Blob when available, and a BlobBuilder with any vendor prefix in other cases. If neither is available, it exports undefined.\n\nUsage:\n\n```javascript\nvar Blob = require('blob');\nvar b = new Blob(['hi', 'constructing', 'a', 'blob']);\n```\n\n## Licence\nMIT\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/rase-/blob/issues" }, "_id": "blob@0.0.4", + "dist": { + "shasum": "bcf13052ca54463f30f9fc7e95b9a47630a94921", + "tarball": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz" + }, + "_from": "blob@0.0.4", + "_npmVersion": "1.4.6", + "_npmUser": { + "name": "rase-", + "email": "tonykovanen@hotmail.com" + }, + "maintainers": [ + { + "name": "rase-", + "email": "tonykovanen@hotmail.com" + } + ], + "directories": {}, "_shasum": "bcf13052ca54463f30f9fc7e95b9a47630a94921", - "_resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "_from": "blob@0.0.4" + "_resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz" } diff --git a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/package.json b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/package.json index fb1eb378..9cfdb95b 100644 --- a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/package.json +++ b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/package.json @@ -26,13 +26,24 @@ "url": "http://juliangruber.com" }, "license": "MIT", - "readme": "\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber <julian@juliangruber.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/juliangruber/isarray/issues" - }, "_id": "isarray@0.0.1", + "dist": { + "shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", + "tarball": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "_from": "isarray@0.0.1", + "_npmVersion": "1.2.18", + "_npmUser": { + "name": "juliangruber", + "email": "julian@juliangruber.com" + }, + "maintainers": [ + { + "name": "juliangruber", + "email": "julian@juliangruber.com" + } + ], + "directories": {}, "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", - "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "_from": "isarray@0.0.1" + "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" } diff --git a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/package.json b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/package.json index dcd5f956..fe152d85 100644 --- a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/package.json +++ b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/package.json @@ -13,10 +13,26 @@ "name": "Kevin Roark" }, "license": "MIT", - "readme": "has-binarydata.js\n=================\n\nSimple module to test if an object contains binary data\n", - "readmeFilename": "README.md", + "gitHead": "a37d7ed88fb88e49d5ed1ca15e6cc7dd004dd0e8", "_id": "has-binary@0.1.6", + "scripts": {}, "_shasum": "25326f39cfa4f616ad8787894e3af2cfbc7b6e10", - "_resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz", - "_from": "has-binary@0.1.6" + "_from": "has-binary@0.1.6", + "_npmVersion": "1.4.28", + "_npmUser": { + "name": "rauchg", + "email": "rauchg@gmail.com" + }, + "maintainers": [ + { + "name": "rauchg", + "email": "rauchg@gmail.com" + } + ], + "dist": { + "shasum": "25326f39cfa4f616ad8787894e3af2cfbc7b6e10", + "tarball": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz" } diff --git a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/package.json b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/package.json index 9f0b767c..b288a3d1 100644 --- a/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/package.json +++ b/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/package.json @@ -17,7 +17,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/mathiasbynens/utf8.js.git" + "url": "https://github.com/mathiasbynens/utf8.js.git" }, "bugs": { "url": "https://github.com/mathiasbynens/utf8.js/issues" @@ -34,10 +34,30 @@ "qunitjs": "~1.11.0", "requirejs": "^2.1.11" }, - "readme": "# utf8.js [![Build status](https://travis-ci.org/mathiasbynens/utf8.js.svg?branch=master)](https://travis-ci.org/mathiasbynens/utf8.js) [![Code coverage status](http://img.shields.io/coveralls/mathiasbynens/utf8.js/master.svg)](https://coveralls.io/r/mathiasbynens/utf8.js) [![Dependency status](https://gemnasium.com/mathiasbynens/utf8.js.svg)](https://gemnasium.com/mathiasbynens/utf8.js)\n\n_utf8.js_ is a well-tested UTF-8 encoder/decoder written in JavaScript. Unlike many other JavaScript solutions, it is designed to be a _proper_ UTF-8 encoder/decoder: it can encode/decode any scalar Unicode code point values, as per [the Encoding Standard](https://encoding.spec.whatwg.org/#utf-8). [Here’s an online demo.](https://mothereff.in/utf-8)\n\nFeel free to fork if you see possible improvements!\n\n## Installation\n\nVia [npm](https://www.npmjs.org/):\n\n```bash\nnpm install utf8\n```\n\nVia [Bower](http://bower.io/):\n\n```bash\nbower install utf8\n```\n\nVia [Component](https://github.com/component/component):\n\n```bash\ncomponent install mathiasbynens/utf8.js\n```\n\nIn a browser:\n\n```html\n\n```\n\nIn [Narwhal](http://narwhaljs.org/), [Node.js](https://nodejs.org/), and [RingoJS ≥ v0.8.0](http://ringojs.org/):\n\n```js\nvar utf8 = require('utf8');\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('utf8.js');\n```\n\nUsing an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire(\n {\n 'paths': {\n 'utf8': 'path/to/utf8'\n }\n },\n ['utf8'],\n function(utf8) {\n console.log(utf8);\n }\n);\n```\n\n## API\n\n### `utf8.encode(string)`\n\nEncodes any given JavaScript string (`string`) as UTF-8, and returns the UTF-8-encoded version of the string. It throws an error if the input string contains a non-scalar value, i.e. a lone surrogate. (If you need to be able to encode non-scalar values as well, use [WTF-8](https://mths.be/wtf8) instead.)\n\n```js\n// U+00A9 COPYRIGHT SIGN; see http://codepoints.net/U+00A9\nutf8.encode('\\xA9');\n// → '\\xC2\\xA9'\n// U+10001 LINEAR B SYLLABLE B038 E; see http://codepoints.net/U+10001\nutf8.encode('\\uD800\\uDC01');\n// → '\\xF0\\x90\\x80\\x81'\n```\n\n### `utf8.decode(byteString)`\n\nDecodes any given UTF-8-encoded string (`byteString`) as UTF-8, and returns the UTF-8-decoded version of the string. It throws an error when malformed UTF-8 is detected. (If you need to be able to decode encoded non-scalar values as well, use [WTF-8](https://mths.be/wtf8) instead.)\n\n```js\nutf8.decode('\\xC2\\xA9');\n// → '\\xA9'\n\nutf8.decode('\\xF0\\x90\\x80\\x81');\n// → '\\uD800\\uDC01'\n// → U+10001 LINEAR B SYLLABLE B038 E\n```\n\n### `utf8.version`\n\nA string representing the semantic version number.\n\n## Support\n\nutf8.js has been tested in at least Chrome 27-39, Firefox 3-34, Safari 4-8, Opera 10-28, IE 6-11, Node.js v0.10.0, Narwhal 0.3.2, RingoJS 0.8-0.11, PhantomJS 1.9.0, and Rhino 1.7RC4.\n\n## Unit tests & code coverage\n\nAfter cloning this repository, run `npm install` to install the dependencies needed for development and testing. You may want to install Istanbul _globally_ using `npm install istanbul -g`.\n\nOnce that’s done, you can run the unit tests in Node using `npm test` or `node tests/tests.js`. To run the tests in Rhino, Ringo, Narwhal, PhantomJS, and web browsers as well, use `grunt test`.\n\nTo generate the code coverage report, use `grunt cover`.\n\n## FAQ\n\n### Why is the first release named v2.0.0? Haven’t you heard of [semantic versioning](http://semver.org/)?\n\nLong before utf8.js was created, the `utf8` module on npm was registered and used by another (slightly buggy) library. @ryanmcgrath was kind enough to give me access to the `utf8` package on npm when I told him about utf8.js. Since there has already been a v1.0.0 release of the old library, and to avoid breaking backwards compatibility with projects that rely on the `utf8` npm package, I decided the tag the first release of utf8.js as v2.0.0 and take it from there.\n\n## Author\n\n| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|\n| [Mathias Bynens](https://mathiasbynens.be/) |\n\n## License\n\nutf8.js is available under the [MIT](https://mths.be/mit) license.\n", - "readmeFilename": "README.md", + "gitHead": "1961da40649c4103b5d01c29f8e6bcc3231a1372", "_id": "utf8@2.1.0", "_shasum": "0cfec5c8052d44a23e3aaa908104e8075f95dfd5", - "_resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.0.tgz", - "_from": "utf8@2.1.0" + "_from": "utf8@2.1.0", + "_npmVersion": "2.1.11", + "_nodeVersion": "0.10.32", + "_npmUser": { + "name": "mathias", + "email": "mathias@qiwi.be" + }, + "maintainers": [ + { + "name": "ryanmcgrath", + "email": "ryan@venodesigns.net" + }, + { + "name": "mathias", + "email": "mathias@qiwi.be" + } + ], + "dist": { + "shasum": "0cfec5c8052d44a23e3aaa908104e8075f95dfd5", + "tarball": "https://registry.npmjs.org/utf8/-/utf8-2.1.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.0.tgz" } diff --git a/node_modules/engine.io-client/node_modules/engine.io-parser/package.json b/node_modules/engine.io-client/node_modules/engine.io-parser/package.json index 3cb7b345..f34da504 100644 --- a/node_modules/engine.io-client/node_modules/engine.io-parser/package.json +++ b/node_modules/engine.io-client/node_modules/engine.io-parser/package.json @@ -25,13 +25,29 @@ "url": "git+ssh://git@github.com/Automattic/engine.io-parser.git" }, "browser": "./lib/browser.js", - "readme": "\n# engine.io-parser\n\n[![Build Status](https://secure.travis-ci.org/socketio/engine.io-parser.svg)](http://travis-ci.org/socketio/engine.io-parser)\n[![NPM version](https://badge.fury.io/js/engine.io-parser.svg)](http://badge.fury.io/js/engine.io-parser)\n\nThis is the JavaScript parser for the engine.io protocol encoding,\nshared by both\n[engine.io-client](https://github.com/socketio/engine.io-client) and\n[engine.io](https://github.com/socketio/engine.io).\n\n## How to use\n\n### Standalone\n\nThe parser can encode/decode packets, payloads, and payloads as binary\nwith the following methods: `encodePacket`, `decodePacket`, `encodePayload`,\n`decodePayload`, `encodePayloadAsBinary`, `decodePayloadAsBinary`.\n\nThe browser-side parser also includes `encodePayloadAsArrayBuffer` and `encodePayloadAsBlob`.\n\nExample:\n\n```js\nvar parser = require('engine.io-parser');\n\nvar data = new Buffer(5);\nfor (var i = 0; i < data.length; i++) { data[i] = i; }\n\nparser.encodePacket({ type: 'message', data: data }, function(encoded) {\n var decodedData = parser.decodePacket(encoded); // { type: 'message', data: data }\n});\n```\n\n### With browserify\n\nEngine.IO Parser is a commonjs module, which means you can include it by using\n`require` on the browser and package using [browserify](http://browserify.org/):\n\n1. install the parser package\n\n ```shell\n npm install engine.io-parser\n ```\n\n1. write your app code\n\n ```js\n var parser = require('engine.io-parser');\n\n var testBuffer = new Int8Array(10);\n for (var i = 0; i < testBuffer.length; i++) testBuffer[i] = i;\n\n var packets = [{ type: 'message', data: testBuffer.buffer }, { type: 'message', data: 'hello' }];\n\n parser.encodePayload(packets, function(encoded) {\n parser.decodePayload(encoded,\n function(packet, index, total) {\n var isLast = index + 1 == total;\n if (!isLast) {\n var buffer = new Int8Array(packet.data); // testBuffer\n } else {\n var message = packet.data; // 'hello'\n }\n });\n });\n ```\n\n1. build your app bundle\n\n ```bash\n $ browserify app.js > bundle.js\n ```\n\n1. include on your page\n\n ```html\n \n ```\n\n## Features\n\n- Runs on browser and node.js seamlessly\n- Runs inside HTML5 WebWorker\n- Can encode and decode packets\n - Encodes from/to ArrayBuffer or Blob when in browser, and Buffer or ArrayBuffer in Node\n\n## API\n\nNote: `cb(type)` means the type is a callback function that contains a parameter of type `type` when called.\n\n### Node\n\n- `encodePacket`\n - Encodes a packet.\n - **Parameters**\n - `Object`: the packet to encode, has `type` and `data`.\n - `data`: can be a `String`, `Number`, `Buffer`, `ArrayBuffer`\n - `Boolean`: optional, binary support\n - `Function`: callback, returns the encoded packet (`cb(String)`)\n- `decodePacket`\n - Decodes a packet. Data also available as an ArrayBuffer if requested.\n - Returns data as `String` or (`Blob` on browser, `ArrayBuffer` on Node)\n - **Parameters**\n - `String` | `ArrayBuffer`: the packet to decode, has `type` and `data`\n - `String`: optional, the binary type\n\n- `encodeBase64Packet`\n - Encodes a packet with binary data in a base64 string (`String`)\n - **Parameters**\n - `Object`: the packet to encode, has `type` and `data`\n - `Function`: callback, returns the base64 encoded message (`cb(String)`)\n- `decodeBase64Packet`\n - Decodes a packet encoded in a base64 string.\n - **Parameters**\n - `String`: the base64 encoded message\n - `String`: optional, the binary type\n\n- `encodePayload`\n - Encodes multiple messages (payload).\n - If any contents are binary, they will be encoded as base64 strings. Base64\n encoded strings are marked with a b before the length specifier\n - **Parameters**\n - `Array`: an array of packets\n - `Boolean`: optional, binary support\n - `Function`: callback, returns the encoded payload (`cb(String)`)\n- `decodePayload`\n - Decodes data when a payload is maybe expected. Possible binary contents are\n decoded from their base64 representation.\n - **Parameters**\n - `String`: the payload\n - `String`: optional, the binary type\n - `Function`: callback, returns (cb(`Object`: packet, `Number`:packet index, `Number`:packet total))\n\n- `encodePayloadAsBinary`\n - Encodes multiple messages (payload) as binary.\n - **Parameters**\n - `Array`: an array of packets\n - `Function`: callback, returns the encoded payload (`cb(Buffer)`)\n- `decodePayloadAsBinary`\n - Decodes data when a payload is maybe expected. Strings are decoded by\n interpreting each byte as a key code for entries marked to start with 0. See\n description of encodePayloadAsBinary.\n - **Parameters**\n - `Buffer`: the buffer\n - `String`: optional, the binary type\n - `Function`: callback, returns the decoded packet (`cb(Object)`)\n\n### Browser\n\n- `encodePayloadAsArrayBuffer`\n - Encodes multiple messages (payload) as binary.\n - **Parameters**\n - `Array`: an array of packets\n - `Function`: callback, returns the encoded payload (`cb(ArrayBuffer)`)\n- `encodePayloadAsBlob`\n - Encodes multiple messages (payload) as blob.\n - **Parameters**\n - `Array`: an array of packets\n - `Function`: callback, returns the encoded payload (`cb(Blob)`)\n\n## Tests\n\nStandalone tests can be run with `make test` which will run both node.js and browser tests.\n\nBrowser tests are run using [zuul](https://github.com/defunctzombie/zuul).\n(You must have zuul setup with a saucelabs account.)\n\nYou can run the tests locally using the following command:\n\n```\n./node_modules/.bin/zuul --local 8080 -- test/index.js\n```\n\n## Support\n\nThe support channels for `engine.io-parser` are the same as `socket.io`:\n - irc.freenode.net **#socket.io**\n - [Google Groups](http://groups.google.com/group/socket_io)\n - [Website](http://socket.io)\n\n## Development\n\nTo contribute patches, run tests or benchmarks, make sure to clone the\nrepository:\n\n```bash\ngit clone git://github.com/LearnBoost/engine.io-parser.git\n```\n\nThen:\n\n```bash\ncd engine.io-parser\nnpm install\n```\n\nSee the `Tests` section above for how to run tests before submitting any patches.\n\n## License\n\nMIT\n", - "readmeFilename": "Readme.md", + "gitHead": "ca248c5238a42d8383a4ab7de347adc2578abeac", "bugs": { "url": "https://github.com/Automattic/engine.io-parser/issues" }, "_id": "engine.io-parser@1.2.4", "_shasum": "e0897b0bf14e792d4cd2a5950553919c56948c42", - "_resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.2.4.tgz", - "_from": "engine.io-parser@1.2.4" + "_from": "engine.io-parser@1.2.4", + "_npmVersion": "3.4.1", + "_nodeVersion": "4.2.2", + "_npmUser": { + "name": "rauchg", + "email": "rauchg@gmail.com" + }, + "maintainers": [ + { + "name": "rauchg", + "email": "rauchg@gmail.com" + } + ], + "dist": { + "shasum": "e0897b0bf14e792d4cd2a5950553919c56948c42", + "tarball": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.2.4.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.2.4.tgz" } diff --git a/node_modules/engine.io-client/node_modules/has-cors/package.json b/node_modules/engine.io-client/node_modules/has-cors/package.json index 6e0d1449..5408d82d 100644 --- a/node_modules/engine.io-client/node_modules/has-cors/package.json +++ b/node_modules/engine.io-client/node_modules/has-cors/package.json @@ -33,14 +33,29 @@ "scripts": { "test": "mocha" }, - "readme": "\n# has-cors\n\n Detects support for Cross-Origin Resource Sharing\n\n## Installation\n\n Install with [component(1)](http://component.io):\n\n $ component install component/has-cors\n\n## API\n\nExports `true` if the user-agent supports CORS, or `false` otherwise.\n\n``` js\nvar hasCORS = require('has-cors');\nconsole.log(hasCORS);\n// true\n```\n\n## License\n\n MIT\n", - "readmeFilename": "Readme.md", + "gitHead": "27e9b96726b669e9594350585cc1e97474d3f995", "bugs": { "url": "https://github.com/component/has-cors/issues" }, - "homepage": "https://github.com/component/has-cors#readme", + "homepage": "https://github.com/component/has-cors", "_id": "has-cors@1.1.0", "_shasum": "5e474793f7ea9843d1bb99c23eef49ff126fff39", - "_resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "_from": "has-cors@1.1.0" + "_from": "has-cors@1.1.0", + "_npmVersion": "1.4.23", + "_npmUser": { + "name": "shtylman", + "email": "shtylman@gmail.com" + }, + "maintainers": [ + { + "name": "shtylman", + "email": "shtylman@gmail.com" + } + ], + "dist": { + "shasum": "5e474793f7ea9843d1bb99c23eef49ff126fff39", + "tarball": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz" } diff --git a/node_modules/engine.io-client/node_modules/indexof/package.json b/node_modules/engine.io-client/node_modules/indexof/package.json index 5fe2c873..8f2bb95b 100644 --- a/node_modules/engine.io-client/node_modules/indexof/package.json +++ b/node_modules/engine.io-client/node_modules/indexof/package.json @@ -13,9 +13,18 @@ "indexof/index.js": "index.js" } }, - "readme": "\n# indexOf\n\n Lame indexOf thing, thanks microsoft\n\n## Example\n\n```js\nvar index = require('indexof');\nindex(arr, obj);\n```\n\n## License\n\n MIT", - "readmeFilename": "Readme.md", "_id": "indexof@0.0.1", + "dist": { + "shasum": "82dc336d232b9062179d05ab3293a66059fd435d", + "tarball": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "82dc336d232b9062179d05ab3293a66059fd435d", "_resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", "_from": "indexof@0.0.1" diff --git a/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/node_modules/callsite/package.json b/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/node_modules/callsite/package.json index c5dd2936..e9f94c65 100644 --- a/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/node_modules/callsite/package.json +++ b/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/node_modules/callsite/package.json @@ -20,10 +20,24 @@ "engines": { "node": "*" }, - "readme": "# callstack\n\n Access to v8's \"raw\" `CallSite`s.\n\n## Installation\n\n $ npm install callsite\n\n## Example\n\n```js\nvar stack = require('callsite');\n\nfoo();\n\nfunction foo() {\n bar();\n}\n\nfunction bar() {\n baz();\n}\n\nfunction baz() {\n console.log();\n stack().forEach(function(site){\n console.log(' \\033[36m%s\\033[90m in %s:%d\\033[0m'\n , site.getFunctionName() || 'anonymous'\n , site.getFileName()\n , site.getLineNumber());\n });\n console.log();\n}\n```\n\n## Why?\n\n Because you can do weird, stupid, clever, wacky things such as:\n\n - [better-assert](https://github.com/visionmedia/better-assert)\n\n## License\n\n MIT\n", - "readmeFilename": "Readme.md", "_id": "callsite@1.0.0", + "dist": { + "shasum": "280398e5d664bd74038b6f0905153e6e8af1bc20", + "tarball": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz" + }, + "_from": "callsite@1.0.0", + "_npmVersion": "1.2.2", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "280398e5d664bd74038b6f0905153e6e8af1bc20", - "_resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "_from": "callsite@1.0.0" + "_resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz" } diff --git a/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/package.json b/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/package.json index f8186714..cec97c52 100644 --- a/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/package.json +++ b/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/package.json @@ -26,20 +26,38 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/visionmedia/better-assert.git" + "url": "https://github.com/visionmedia/better-assert.git" }, "main": "index", "engines": { "node": "*" }, - "readme": "\n# better-assert\n\n Better c-style assertions using [callsite](https://github.com/visionmedia/callsite) for\n self-documenting failure messages.\n\n## Installation\n\n $ npm install better-assert\n\n## Example\n\n By default assertions are enabled, however the __NO_ASSERT__ environment variable \n will deactivate them when truthy.\n\n```js\nvar assert = require('better-assert');\n\ntest();\n\nfunction test() {\n var user = { name: 'tobi' };\n assert('tobi' == user.name);\n assert('number' == typeof user.age);\n}\n\nAssertionError: 'number' == typeof user.age\n at test (/Users/tj/projects/better-assert/example.js:9:3)\n at Object. (/Users/tj/projects/better-assert/example.js:4:1)\n at Module._compile (module.js:449:26)\n at Object.Module._extensions..js (module.js:467:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n at Module.runMain (module.js:492:10)\n at process.startup.processNextTick.process._tickCallback (node.js:244:9)\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/visionmedia/better-assert/issues" }, - "homepage": "https://github.com/visionmedia/better-assert#readme", + "homepage": "https://github.com/visionmedia/better-assert", "_id": "better-assert@1.0.2", "_shasum": "40866b9e1b9e0b55b481894311e68faffaebc522", - "_resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "_from": "better-assert@>=1.0.0 <1.1.0" + "_from": "better-assert@>=1.0.0 <1.1.0", + "_npmVersion": "1.4.9", + "_npmUser": { + "name": "tony_ado", + "email": "coolhzb@163.com" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "tony_ado", + "email": "coolhzb@163.com" + } + ], + "dist": { + "shasum": "40866b9e1b9e0b55b481894311e68faffaebc522", + "tarball": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz" } diff --git a/node_modules/engine.io-client/node_modules/parsejson/package.json b/node_modules/engine.io-client/node_modules/parsejson/package.json index a96fc819..919dcefe 100644 --- a/node_modules/engine.io-client/node_modules/parsejson/package.json +++ b/node_modules/engine.io-client/node_modules/parsejson/package.json @@ -13,9 +13,24 @@ "dependencies": { "better-assert": "~1.0.0" }, - "readme": "ERROR: No README data found!", "_id": "parsejson@0.0.1", + "dist": { + "shasum": "9b10c6c0d825ab589e685153826de0a3ba278bcc", + "tarball": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz" + }, + "_from": "parsejson@0.0.1", + "_npmVersion": "1.3.15", + "_npmUser": { + "name": "gal", + "email": "koren@mit.edu" + }, + "maintainers": [ + { + "name": "gal", + "email": "koren@mit.edu" + } + ], + "directories": {}, "_shasum": "9b10c6c0d825ab589e685153826de0a3ba278bcc", - "_resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz", - "_from": "parsejson@0.0.1" + "_resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz" } diff --git a/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/node_modules/callsite/package.json b/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/node_modules/callsite/package.json index c5dd2936..e9f94c65 100644 --- a/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/node_modules/callsite/package.json +++ b/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/node_modules/callsite/package.json @@ -20,10 +20,24 @@ "engines": { "node": "*" }, - "readme": "# callstack\n\n Access to v8's \"raw\" `CallSite`s.\n\n## Installation\n\n $ npm install callsite\n\n## Example\n\n```js\nvar stack = require('callsite');\n\nfoo();\n\nfunction foo() {\n bar();\n}\n\nfunction bar() {\n baz();\n}\n\nfunction baz() {\n console.log();\n stack().forEach(function(site){\n console.log(' \\033[36m%s\\033[90m in %s:%d\\033[0m'\n , site.getFunctionName() || 'anonymous'\n , site.getFileName()\n , site.getLineNumber());\n });\n console.log();\n}\n```\n\n## Why?\n\n Because you can do weird, stupid, clever, wacky things such as:\n\n - [better-assert](https://github.com/visionmedia/better-assert)\n\n## License\n\n MIT\n", - "readmeFilename": "Readme.md", "_id": "callsite@1.0.0", + "dist": { + "shasum": "280398e5d664bd74038b6f0905153e6e8af1bc20", + "tarball": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz" + }, + "_from": "callsite@1.0.0", + "_npmVersion": "1.2.2", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "280398e5d664bd74038b6f0905153e6e8af1bc20", - "_resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "_from": "callsite@1.0.0" + "_resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz" } diff --git a/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/package.json b/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/package.json index f8186714..cec97c52 100644 --- a/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/package.json +++ b/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/package.json @@ -26,20 +26,38 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/visionmedia/better-assert.git" + "url": "https://github.com/visionmedia/better-assert.git" }, "main": "index", "engines": { "node": "*" }, - "readme": "\n# better-assert\n\n Better c-style assertions using [callsite](https://github.com/visionmedia/callsite) for\n self-documenting failure messages.\n\n## Installation\n\n $ npm install better-assert\n\n## Example\n\n By default assertions are enabled, however the __NO_ASSERT__ environment variable \n will deactivate them when truthy.\n\n```js\nvar assert = require('better-assert');\n\ntest();\n\nfunction test() {\n var user = { name: 'tobi' };\n assert('tobi' == user.name);\n assert('number' == typeof user.age);\n}\n\nAssertionError: 'number' == typeof user.age\n at test (/Users/tj/projects/better-assert/example.js:9:3)\n at Object. (/Users/tj/projects/better-assert/example.js:4:1)\n at Module._compile (module.js:449:26)\n at Object.Module._extensions..js (module.js:467:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n at Module.runMain (module.js:492:10)\n at process.startup.processNextTick.process._tickCallback (node.js:244:9)\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/visionmedia/better-assert/issues" }, - "homepage": "https://github.com/visionmedia/better-assert#readme", + "homepage": "https://github.com/visionmedia/better-assert", "_id": "better-assert@1.0.2", "_shasum": "40866b9e1b9e0b55b481894311e68faffaebc522", - "_resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "_from": "better-assert@>=1.0.0 <1.1.0" + "_from": "better-assert@>=1.0.0 <1.1.0", + "_npmVersion": "1.4.9", + "_npmUser": { + "name": "tony_ado", + "email": "coolhzb@163.com" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "tony_ado", + "email": "coolhzb@163.com" + } + ], + "dist": { + "shasum": "40866b9e1b9e0b55b481894311e68faffaebc522", + "tarball": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz" } diff --git a/node_modules/engine.io-client/node_modules/parseqs/package.json b/node_modules/engine.io-client/node_modules/parseqs/package.json index ef840a74..116bb208 100644 --- a/node_modules/engine.io-client/node_modules/parseqs/package.json +++ b/node_modules/engine.io-client/node_modules/parseqs/package.json @@ -13,9 +13,24 @@ "dependencies": { "better-assert": "~1.0.0" }, - "readme": "ERROR: No README data found!", "_id": "parseqs@0.0.2", + "dist": { + "shasum": "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7", + "tarball": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz" + }, + "_from": "parseqs@0.0.2", + "_npmVersion": "1.3.15", + "_npmUser": { + "name": "gal", + "email": "koren@mit.edu" + }, + "maintainers": [ + { + "name": "gal", + "email": "koren@mit.edu" + } + ], + "directories": {}, "_shasum": "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7", - "_resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz", - "_from": "parseqs@0.0.2" + "_resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz" } diff --git a/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/package.json b/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/package.json index c5dd2936..e9f94c65 100644 --- a/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/package.json +++ b/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/package.json @@ -20,10 +20,24 @@ "engines": { "node": "*" }, - "readme": "# callstack\n\n Access to v8's \"raw\" `CallSite`s.\n\n## Installation\n\n $ npm install callsite\n\n## Example\n\n```js\nvar stack = require('callsite');\n\nfoo();\n\nfunction foo() {\n bar();\n}\n\nfunction bar() {\n baz();\n}\n\nfunction baz() {\n console.log();\n stack().forEach(function(site){\n console.log(' \\033[36m%s\\033[90m in %s:%d\\033[0m'\n , site.getFunctionName() || 'anonymous'\n , site.getFileName()\n , site.getLineNumber());\n });\n console.log();\n}\n```\n\n## Why?\n\n Because you can do weird, stupid, clever, wacky things such as:\n\n - [better-assert](https://github.com/visionmedia/better-assert)\n\n## License\n\n MIT\n", - "readmeFilename": "Readme.md", "_id": "callsite@1.0.0", + "dist": { + "shasum": "280398e5d664bd74038b6f0905153e6e8af1bc20", + "tarball": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz" + }, + "_from": "callsite@1.0.0", + "_npmVersion": "1.2.2", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "280398e5d664bd74038b6f0905153e6e8af1bc20", - "_resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "_from": "callsite@1.0.0" + "_resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz" } diff --git a/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/package.json b/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/package.json index f8186714..cec97c52 100644 --- a/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/package.json +++ b/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/package.json @@ -26,20 +26,38 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/visionmedia/better-assert.git" + "url": "https://github.com/visionmedia/better-assert.git" }, "main": "index", "engines": { "node": "*" }, - "readme": "\n# better-assert\n\n Better c-style assertions using [callsite](https://github.com/visionmedia/callsite) for\n self-documenting failure messages.\n\n## Installation\n\n $ npm install better-assert\n\n## Example\n\n By default assertions are enabled, however the __NO_ASSERT__ environment variable \n will deactivate them when truthy.\n\n```js\nvar assert = require('better-assert');\n\ntest();\n\nfunction test() {\n var user = { name: 'tobi' };\n assert('tobi' == user.name);\n assert('number' == typeof user.age);\n}\n\nAssertionError: 'number' == typeof user.age\n at test (/Users/tj/projects/better-assert/example.js:9:3)\n at Object. (/Users/tj/projects/better-assert/example.js:4:1)\n at Module._compile (module.js:449:26)\n at Object.Module._extensions..js (module.js:467:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n at Module.runMain (module.js:492:10)\n at process.startup.processNextTick.process._tickCallback (node.js:244:9)\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/visionmedia/better-assert/issues" }, - "homepage": "https://github.com/visionmedia/better-assert#readme", + "homepage": "https://github.com/visionmedia/better-assert", "_id": "better-assert@1.0.2", "_shasum": "40866b9e1b9e0b55b481894311e68faffaebc522", - "_resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "_from": "better-assert@>=1.0.0 <1.1.0" + "_from": "better-assert@>=1.0.0 <1.1.0", + "_npmVersion": "1.4.9", + "_npmUser": { + "name": "tony_ado", + "email": "coolhzb@163.com" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "tony_ado", + "email": "coolhzb@163.com" + } + ], + "dist": { + "shasum": "40866b9e1b9e0b55b481894311e68faffaebc522", + "tarball": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz" } diff --git a/node_modules/engine.io-client/node_modules/parseuri/package.json b/node_modules/engine.io-client/node_modules/parseuri/package.json index b8acd77c..150e8935 100644 --- a/node_modules/engine.io-client/node_modules/parseuri/package.json +++ b/node_modules/engine.io-client/node_modules/parseuri/package.json @@ -4,7 +4,7 @@ "description": "Method that parses a URI and returns an array of its components", "repository": { "type": "git", - "url": "git+https://github.com/get/parseuri.git" + "url": "https://github.com/get/parseuri.git" }, "homepage": "https://github.com/get/parseuri", "scripts": { @@ -21,9 +21,24 @@ "bugs": { "url": "https://github.com/get/parseuri/issues" }, - "readme": "ERROR: No README data found!", "_id": "parseuri@0.0.4", + "dist": { + "shasum": "806582a39887e1ea18dd5e2fe0e01902268e9350", + "tarball": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz" + }, + "_from": "parseuri@0.0.4", + "_npmVersion": "1.3.15", + "_npmUser": { + "name": "gal", + "email": "koren@mit.edu" + }, + "maintainers": [ + { + "name": "gal", + "email": "koren@mit.edu" + } + ], + "directories": {}, "_shasum": "806582a39887e1ea18dd5e2fe0e01902268e9350", - "_resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz", - "_from": "parseuri@0.0.4" + "_resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz" } diff --git a/node_modules/engine.io-client/node_modules/xmlhttprequest-ssl/package.json b/node_modules/engine.io-client/node_modules/xmlhttprequest-ssl/package.json index 6338a2ca..f8807a51 100644 --- a/node_modules/engine.io-client/node_modules/xmlhttprequest-ssl/package.json +++ b/node_modules/engine.io-client/node_modules/xmlhttprequest-ssl/package.json @@ -31,11 +31,27 @@ }, "main": "./lib/XMLHttpRequest.js", "dependencies": {}, - "readme": "# node-XMLHttpRequest #\n\nFork of [node-XMLHttpRequest](https://github.com/driverdan/node-XMLHttpRequest) by [driverdan](http://driverdan.com). Forked and published to npm because a [pull request](https://github.com/rase-/node-XMLHttpRequest/commit/a6b6f296e0a8278165c2d0270d9840b54d5eeadd) is not being created and merged. Changes made by [rase-](https://github.com/rase-/node-XMLHttpRequest/tree/add/ssl-support) are needed for [engine.io-client](https://github.com/Automattic/engine.io-client).\n\n# Original README #\n\nnode-XMLHttpRequest is a wrapper for the built-in http client to emulate the\nbrowser XMLHttpRequest object.\n\nThis can be used with JS designed for browsers to improve reuse of code and\nallow the use of existing libraries.\n\nNote: This library currently conforms to [XMLHttpRequest 1](http://www.w3.org/TR/XMLHttpRequest/). Version 2.0 will target [XMLHttpRequest Level 2](http://www.w3.org/TR/XMLHttpRequest2/).\n\n## Usage ##\n\nHere's how to include the module in your project and use as the browser-based\nXHR object.\n\n\tvar XMLHttpRequest = require(\"xmlhttprequest\").XMLHttpRequest;\n\tvar xhr = new XMLHttpRequest();\n\nNote: use the lowercase string \"xmlhttprequest\" in your require(). On\ncase-sensitive systems (eg Linux) using uppercase letters won't work.\n\n## Versions ##\n\nPrior to 1.4.0 version numbers were arbitrary. From 1.4.0 on they conform to\nthe standard major.minor.bugfix. 1.x shouldn't necessarily be considered\nstable just because it's above 0.x.\n\nSince the XMLHttpRequest API is stable this library's API is stable as\nwell. Major version numbers indicate significant core code changes.\nMinor versions indicate minor core code changes or better conformity to\nthe W3C spec.\n\n## License ##\n\nMIT license. See LICENSE for full details.\n\n## Supports ##\n\n* Async and synchronous requests\n* GET, POST, PUT, and DELETE requests\n* All spec methods (open, send, abort, getRequestHeader,\n getAllRequestHeaders, event methods)\n* Requests to all domains\n\n## Known Issues / Missing Features ##\n\nFor a list of open issues or to report your own visit the [github issues\npage](https://github.com/driverdan/node-XMLHttpRequest/issues).\n\n* Local file access may have unexpected results for non-UTF8 files\n* Synchronous requests don't set headers properly\n* Synchronous requests freeze node while waiting for response (But that's what you want, right? Stick with async!).\n* Some events are missing, such as abort\n* getRequestHeader is case-sensitive\n* Cookies aren't persisted between requests\n* Missing XML support\n* Missing basic auth\n", - "readmeFilename": "README.md", - "homepage": "https://github.com/mjwwit/node-XMLHttpRequest#readme", + "gitHead": "494938e2dd4ae963cd5972f242e8eaf7d6042331", + "homepage": "https://github.com/mjwwit/node-XMLHttpRequest", "_id": "xmlhttprequest-ssl@1.5.1", + "scripts": {}, "_shasum": "3b7741fea4a86675976e908d296d4445961faa67", - "_resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz", - "_from": "xmlhttprequest-ssl@1.5.1" + "_from": "xmlhttprequest-ssl@1.5.1", + "_npmVersion": "2.7.4", + "_nodeVersion": "0.12.2", + "_npmUser": { + "name": "mjwwit", + "email": "mjwwit@gmail.com" + }, + "dist": { + "shasum": "3b7741fea4a86675976e908d296d4445961faa67", + "tarball": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz" + }, + "maintainers": [ + { + "name": "mjwwit", + "email": "mjwwit@gmail.com" + } + ], + "_resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz" } diff --git a/node_modules/engine.io-client/node_modules/yeast/package.json b/node_modules/engine.io-client/node_modules/yeast/package.json index 776270f5..8ed642d9 100644 --- a/node_modules/engine.io-client/node_modules/yeast/package.json +++ b/node_modules/engine.io-client/node_modules/yeast/package.json @@ -36,10 +36,30 @@ "pre-commit": "1.1.x", "zuul": "3.4.x" }, - "readme": "# yeast\n\n[![Made by unshift](https://img.shields.io/badge/made%20by-unshift-00ffcc.svg?style=flat-square)](http://unshift.io)[![Version npm](https://img.shields.io/npm/v/yeast.svg?style=flat-square)](http://browsenpm.org/package/yeast)[![Build Status](https://img.shields.io/travis/unshiftio/yeast/master.svg?style=flat-square)](https://travis-ci.org/unshiftio/yeast)[![Dependencies](https://img.shields.io/david/unshiftio/yeast.svg?style=flat-square)](https://david-dm.org/unshiftio/yeast)[![Coverage Status](https://img.shields.io/coveralls/unshiftio/yeast/master.svg?style=flat-square)](https://coveralls.io/r/unshiftio/yeast?branch=master)[![IRC channel](https://img.shields.io/badge/IRC-irc.freenode.net%23unshift-00a8ff.svg?style=flat-square)](https://webchat.freenode.net/?channels=unshift)\n\n[![Sauce Test Status](https://saucelabs.com/browser-matrix/yeast.svg)](https://saucelabs.com/u/yeast)\n\nYeast is a unique id generator. It has been primarily designed to generate a\nunique id which can be used for cache busting. A common practice for this is\nto use a timestamp, but there are couple of downsides when using timestamps.\n\n1. The timestamp is already 13 chars long. This might not matter for 1 request\n but if you make hundreds of them this quickly adds up in bandwidth and\n processing time.\n2. It's not unique enough. If you generate two stamps right after each other,\n they would be identical because the timing accuracy is limited to\n milliseconds.\n\nYeast solves both of these issues by:\n\n1. Compressing the generated timestamp using a custom `encode()` function that\n returns a string representation of the number.\n2. Seeding the id in case of collision (when the id is identical to the previous\n one).\n\nTo keep the strings unique it will use the `.` char to separate the generated\nstamp from the seed.\n\n## Installation\n\nThe module is intended to be used in browsers as well as in Node.js and is\ntherefore released in the npm registry and can be installed using:\n\n```\nnpm install --save yeast\n```\n\n## Usage\n\nAll the examples assume that this library is initialized as follow:\n\n```js\n'use strict';\n\nvar yeast = require('yeast');\n```\n\nTo generate an id just call the `yeast` function.\n\n```js\nconsole.log(yeast(), yeast(), yeast()); // outputs: KyxidwN KyxidwN.0 KyxidwN.1\n\nsetTimeout(function () {\n console.log(yeast()); // outputs: KyxidwO\n});\n```\n\n### yeast.encode(num)\n\nAn helper function that returns a string representing the specified number. The\nreturned string contains only URL safe characters.\n\n```js\nyeast.encode(+new Date()); // outputs: Kyxjuo1\n```\n\n### yeast.decode(str)\n\nAn helper function that returns the integer value specified by the given string.\nThis function can be used to retrieve the timestamp from a `yeast` id.\n\n```js\nvar id = yeast(); // holds the value: Kyxl1OU\n\nyeast.decode(id); // outputs: 1439816226334\n```\n\nThat's all folks. If you have ideas on how we can further compress the ids\nplease open an issue!\n\n## License\n\n[MIT](LICENSE)\n", - "readmeFilename": "README.md", + "gitHead": "5a7300f934302009aa8733fa84d43cc570756b98", "_id": "yeast@0.1.2", "_shasum": "008e06d8094320c372dbc2f8ed76a0ca6c8ac419", - "_resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "_from": "yeast@0.1.2" + "_from": "yeast@0.1.2", + "_npmVersion": "2.9.1", + "_nodeVersion": "0.12.3", + "_npmUser": { + "name": "3rdeden", + "email": "npm@3rd-Eden.com" + }, + "maintainers": [ + { + "name": "unshift", + "email": "npm@unshift.io" + }, + { + "name": "3rdeden", + "email": "npm@3rd-Eden.com" + } + ], + "dist": { + "shasum": "008e06d8094320c372dbc2f8ed76a0ca6c8ac419", + "tarball": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz" } diff --git a/node_modules/engine.io-client/package.json b/node_modules/engine.io-client/package.json index a4f4f2ad..f7b4ccac 100644 --- a/node_modules/engine.io-client/package.json +++ b/node_modules/engine.io-client/package.json @@ -60,13 +60,33 @@ "type": "git", "url": "git+https://github.com/socketio/engine.io-client.git" }, - "readme": "\n# Engine.IO client\n\n[![Build Status](https://secure.travis-ci.org/socketio/engine.io-client.svg)](http://travis-ci.org/socketio/engine.io-client)\n[![NPM version](https://badge.fury.io/js/engine.io-client.svg)](http://badge.fury.io/js/engine.io-client)\n\nThis is the client for [Engine.IO](http://github.com/socketio/engine.io),\nthe implementation of transport-based cross-browser/cross-device\nbi-directional communication layer for [Socket.IO](http://github.com/socketio/socket.io).\n\n## How to use\n\n### Standalone\n\nYou can find an `engine.io.js` file in this repository, which is a\nstandalone build you can use as follows:\n\n```html\n\n\n```\n\n### With browserify\n\nEngine.IO is a commonjs module, which means you can include it by using\n`require` on the browser and package using [browserify](http://browserify.org/):\n\n1. install the client package\n\n ```bash\n $ npm install engine.io-client\n ```\n\n1. write your app code\n\n ```js\n var socket = require('engine.io-client')('ws://localhost');\n socket.on('open', function(){\n socket.on('message', function(data){});\n socket.on('close', function(){});\n });\n ```\n\n1. build your app bundle\n\n ```bash\n $ browserify app.js > bundle.js\n ```\n\n1. include on your page\n\n ```html\n \n ```\n\n### Sending and receiving binary\n\n```html\n\n\n```\n\n### Node.JS\n\nAdd `engine.io-client` to your `package.json` and then:\n\n```js\nvar socket = require('engine.io-client')('ws://localhost');\nsocket.on('open', function(){\n socket.on('message', function(data){});\n socket.on('close', function(){});\n});\n```\n\n### Node.js with certificates\n```js\nvar opts = {\n key: fs.readFileSync('test/fixtures/client.key'),\n cert: fs.readFileSync('test/fixtures/client.crt'),\n ca: fs.readFileSync('test/fixtures/ca.crt')\n};\n\nvar socket = require('engine.io-client')('ws://localhost', opts);\nsocket.on('open', function(){\n socket.on('message', function(data){});\n socket.on('close', function(){});\n});\n```\n\n### Node.js with extraHeaders\n```js\nvar opts = {\n extraHeaders: {\n 'X-Custom-Header-For-My-Project': 'my-secret-access-token',\n 'Cookie': 'user_session=NI2JlCKF90aE0sJZD9ZzujtdsUqNYSBYxzlTsvdSUe35ZzdtVRGqYFr0kdGxbfc5gUOkR9RGp20GVKza; path=/; expires=Tue, 07-Apr-2015 18:18:08 GMT; secure; HttpOnly'\n }\n};\n\nvar socket = require('engine.io-client')('ws://localhost', opts);\nsocket.on('open', function(){\n socket.on('message', function(data){});\n socket.on('close', function(){});\n});\n```\n\n## Features\n\n- Lightweight\n- Runs on browser and node.js seamlessly\n- Transports are independent of `Engine`\n - Easy to debug\n - Easy to unit test\n- Runs inside HTML5 WebWorker\n- Can send and receive binary data\n - Receives as ArrayBuffer or Blob when in browser, and Buffer or ArrayBuffer\n in Node\n - When XHR2 or WebSockets are used, binary is emitted directly. Otherwise\n binary is encoded into base64 strings, and decoded when binary types are\n supported.\n - With browsers that don't support ArrayBuffer, an object { base64: true,\n data: dataAsBase64String } is emitted on the `message` event.\n\n## API\n\n### Socket\n\nThe client class. Mixes in [Emitter](http://github.com/component/emitter).\nExposed as `eio` in the browser standalone build.\n\n#### Properties\n\n- `protocol` _(Number)_: protocol revision number\n- `binaryType` _(String)_ : can be set to 'arraybuffer' or 'blob' in browsers,\n and `buffer` or `arraybuffer` in Node. Blob is only used in browser if it's\n supported.\n\n#### Events\n\n- `open`\n - Fired upon successful connection.\n- `message`\n - Fired when data is received from the server.\n - **Arguments**\n - `String` | `ArrayBuffer`: utf-8 encoded data or ArrayBuffer containing\n binary data\n- `close`\n - Fired upon disconnection. In compliance with the WebSocket API spec, this event may be \n fired even if the `open` event does not occur (i.e. due to connection error or `close()`).\n- `error`\n - Fired when an error occurs.\n- `flush`\n - Fired upon completing a buffer flush\n- `drain`\n - Fired after `drain` event of transport if writeBuffer is empty\n- `upgradeError`\n - Fired if an error occurs with a transport we're trying to upgrade to.\n- `upgrade`\n - Fired upon upgrade success, after the new transport is set\n- `ping`\n - Fired upon _flushing_ a ping packet (ie: actual packet write out)\n- `pong`\n - Fired upon receiving a pong packet.\n\n#### Methods\n\n- **constructor**\n - Initializes the client\n - **Parameters**\n - `String` uri\n - `Object`: optional, options object\n - **Options**\n - `agent` (`http.Agent`): `http.Agent` to use, defaults to `false` (NodeJS only)\n - `upgrade` (`Boolean`): defaults to true, whether the client should try\n to upgrade the transport from long-polling to something better.\n - `forceJSONP` (`Boolean`): forces JSONP for polling transport.\n - `jsonp` (`Boolean`): determines whether to use JSONP when\n necessary for polling. If disabled (by settings to false) an error will\n be emitted (saying \"No transports available\") if no other transports\n are available. If another transport is available for opening a\n connection (e.g. WebSocket) that transport\n will be used instead.\n - `forceBase64` (`Boolean`): forces base 64 encoding for polling transport even when XHR2 responseType is available and WebSocket even if the used standard supports binary.\n - `enablesXDR` (`Boolean`): enables XDomainRequest for IE8 to avoid loading bar flashing with click sound. default to `false` because XDomainRequest has a flaw of not sending cookie.\n - `timestampRequests` (`Boolean`): whether to add the timestamp with each\n transport request. Note: polling requests are always stamped unless this\n option is explicitly set to `false` (`false`)\n - `timestampParam` (`String`): timestamp parameter (`t`)\n - `policyPort` (`Number`): port the policy server listens on (`843`)\n - `path` (`String`): path to connect to, default is `/engine.io`\n - `transports` (`Array`): a list of transports to try (in order).\n Defaults to `['polling', 'websocket']`. `Engine`\n always attempts to connect directly with the first one, provided the\n feature detection test for it passes.\n - `rememberUpgrade` (`Boolean`): defaults to false.\n If true and if the previous websocket connection to the server succeeded,\n the connection attempt will bypass the normal upgrade process and will initially\n try websocket. A connection attempt following a transport error will use the\n normal upgrade process. It is recommended you turn this on only when using\n SSL/TLS connections, or if you know that your network does not block websockets.\n - `pfx` (`String`): Certificate, Private key and CA certificates to use for SSL. Can be used in Node.js client environment to manually specify certificate information.\n - `key` (`String`): Private key to use for SSL. Can be used in Node.js client environment to manually specify certificate information.\n - `passphrase` (`String`): A string of passphrase for the private key or pfx. Can be used in Node.js client environment to manually specify certificate information.\n - `cert` (`String`): Public x509 certificate to use. Can be used in Node.js client environment to manually specify certificate information.\n - `ca` (`String`|`Array`): An authority certificate or array of authority certificates to check the remote host against.. Can be used in Node.js client environment to manually specify certificate information.\n - `ciphers` (`String`): A string describing the ciphers to use or exclude. Consult the [cipher format list](http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT) for details on the format. Can be used in Node.js client environment to manually specify certificate information.\n - `rejectUnauthorized` (`Boolean`): If true, the server certificate is verified against the list of supplied CAs. An 'error' event is emitted if verification fails. Verification happens at the connection level, before the HTTP request is sent. Can be used in Node.js client environment to manually specify certificate information.\n - `perMessageDeflate` (`Object|Boolean`): parameters of the WebSocket permessage-deflate extension\n (see [ws module](https://github.com/einaros/ws) api docs). Set to `false` to disable. (`true`)\n - `threshold` (`Number`): data is compressed only if the byte size is above this value. This option is ignored on the browser. (`1024`)\n - `extraHeaders` (`Object`): Headers that will be passed for each request to the server (via xhr-polling and via websockets). These values then can be used during handshake or for special proxies. Can only be used in Node.js client environment.\n- `send`\n - Sends a message to the server\n - **Parameters**\n - `String` | `ArrayBuffer` | `ArrayBufferView` | `Blob`: data to send\n - `Object`: optional, options object\n - `Function`: optional, callback upon `drain`\n - **Options**\n - `compress` (`Boolean`): whether to compress sending data. This option is ignored and forced to be `true` on the browser. (`true`)\n- `close`\n - Disconnects the client.\n\n### Transport\n\nThe transport class. Private. _Inherits from EventEmitter_.\n\n#### Events\n\n- `poll`: emitted by polling transports upon starting a new request\n- `pollComplete`: emitted by polling transports upon completing a request\n- `drain`: emitted by polling transports upon a buffer drain\n\n## Tests\n\n`engine.io-client` is used to test\n[engine](http://github.com/socketio/engine.io). Running the `engine.io`\ntest suite ensures the client works and vice-versa.\n\nBrowser tests are run using [zuul](https://github.com/defunctzombie/zuul). You can\nrun the tests locally using the following command.\n\n```\n./node_modules/.bin/zuul --local 8080 -- test/index.js\n```\n\nAdditionally, `engine.io-client` has a standalone test suite you can run\nwith `make test` which will run node.js and browser tests. You must have zuul setup with\na saucelabs account.\n\n## Support\n\nThe support channels for `engine.io-client` are the same as `socket.io`:\n - irc.freenode.net **#socket.io**\n - [Google Groups](http://groups.google.com/group/socket_io)\n - [Website](http://socket.io)\n\n## Development\n\nTo contribute patches, run tests or benchmarks, make sure to clone the\nrepository:\n\n```bash\ngit clone git://github.com/socketio/engine.io-client.git\n```\n\nThen:\n\n```bash\ncd engine.io-client\nnpm install\n```\n\nSee the `Tests` section above for how to run tests before submitting any patches.\n\n## License\n\nMIT - Copyright (c) 2014 Automattic, Inc.\n\n", - "readmeFilename": "README.md", + "gitHead": "2a7a011932094d4970dc68abd32e78265495a621", "bugs": { "url": "https://github.com/socketio/engine.io-client/issues" }, "_id": "engine.io-client@1.6.9", "_shasum": "1d6ad48048a5083c95096943b29d36efdb212401", - "_resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.6.9.tgz", - "_from": "engine.io-client@1.6.9" + "_from": "engine.io-client@1.6.9", + "_npmVersion": "2.15.0", + "_nodeVersion": "4.4.2", + "_npmUser": { + "name": "rauchg", + "email": "rauchg@gmail.com" + }, + "dist": { + "shasum": "1d6ad48048a5083c95096943b29d36efdb212401", + "tarball": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.6.9.tgz" + }, + "maintainers": [ + { + "name": "rauchg", + "email": "rauchg@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/engine.io-client-1.6.9.tgz_1462247658295_0.9066626788116992" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.6.9.tgz" } diff --git a/node_modules/engine.io/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json b/node_modules/engine.io/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json index 7c22fa47..b5bd0160 100644 --- a/node_modules/engine.io/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json +++ b/node_modules/engine.io/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json @@ -61,14 +61,34 @@ "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", "update": "npm run fetch && npm run build" }, - "readme": "# mime-db\n\n[![NPM Version][npm-version-image]][npm-url]\n[![NPM Downloads][npm-downloads-image]][npm-url]\n[![Node.js Version][node-image]][node-url]\n[![Build Status][travis-image]][travis-url]\n[![Coverage Status][coveralls-image]][coveralls-url]\n\nThis is a database of all mime types.\nIt consists of a single, public JSON file and does not include any logic,\nallowing it to remain as un-opinionated as possible with an API.\nIt aggregates data from the following sources:\n\n- http://www.iana.org/assignments/media-types/media-types.xhtml\n- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types\n\n## Installation\n\n```bash\nnpm install mime-db\n```\n\nIf you're crazy enough to use this in the browser,\nyou can just grab the JSON file:\n\n```\nhttps://cdn.rawgit.com/jshttp/mime-db/master/db.json\n```\n\n## Usage\n\n```js\nvar db = require('mime-db');\n\n// grab data on .js files\nvar data = db['application/javascript'];\n```\n\n## Data Structure\n\nThe JSON file is a map lookup for lowercased mime types.\nEach mime type has the following properties:\n\n- `.source` - where the mime type is defined.\n If not set, it's probably a custom media type.\n - `apache` - [Apache common media types](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types)\n - `iana` - [IANA-defined media types](http://www.iana.org/assignments/media-types/media-types.xhtml)\n- `.extensions[]` - known extensions associated with this mime type.\n- `.compressible` - whether a file of this type is can be gzipped.\n- `.charset` - the default charset associated with this type, if any.\n\nIf unknown, every property could be `undefined`.\n\n## Contributing\n\nTo edit the database, only make PRs against `src/custom.json` or\n`src/custom-suffix.json`.\n\nTo update the build, run `npm run update`.\n\n## Adding Custom Media Types\n\nThe best way to get new media types included in this library is to register\nthem with the IANA. The community registration procedure is outlined in\n[RFC 6838 section 5](http://tools.ietf.org/html/rfc6838#section-5). Types\nregistered with the IANA are automatically pulled into this library.\n\n[npm-version-image]: https://img.shields.io/npm/v/mime-db.svg\n[npm-downloads-image]: https://img.shields.io/npm/dm/mime-db.svg\n[npm-url]: https://npmjs.org/package/mime-db\n[travis-image]: https://img.shields.io/travis/jshttp/mime-db/master.svg\n[travis-url]: https://travis-ci.org/jshttp/mime-db\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-db/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/mime-db?branch=master\n[node-image]: https://img.shields.io/node/v/mime-db.svg\n[node-url]: http://nodejs.org/download/\n", - "readmeFilename": "README.md", + "gitHead": "cf35cbba6b22f4a3b3eef9a32129ea5b7f0f91ee", "bugs": { "url": "https://github.com/jshttp/mime-db/issues" }, - "homepage": "https://github.com/jshttp/mime-db#readme", + "homepage": "https://github.com/jshttp/mime-db", "_id": "mime-db@1.12.0", "_shasum": "3d0c63180f458eb10d325aaa37d7c58ae312e9d7", + "_from": "mime-db@>=1.12.0 <1.13.0", + "_npmVersion": "1.4.28", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "maintainers": [ + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "dist": { + "shasum": "3d0c63180f458eb10d325aaa37d7c58ae312e9d7", + "tarball": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz" + }, + "directories": {}, "_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", - "_from": "mime-db@>=1.12.0 <1.13.0" + "readme": "ERROR: No README data found!" } diff --git a/node_modules/engine.io/node_modules/accepts/node_modules/mime-types/package.json b/node_modules/engine.io/node_modules/accepts/node_modules/mime-types/package.json index 7014dfde..583a04a7 100644 --- a/node_modules/engine.io/node_modules/accepts/node_modules/mime-types/package.json +++ b/node_modules/engine.io/node_modules/accepts/node_modules/mime-types/package.json @@ -47,14 +47,38 @@ "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/test.js", "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot test/test.js" }, - "readme": "# mime-types\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nThe ultimate javascript content-type utility.\n\nSimilar to [node-mime](https://github.com/broofa/node-mime), except:\n\n- __No fallbacks.__ Instead of naively returning the first available type, `mime-types` simply returns `false`,\n so do `var type = mime.lookup('unrecognized') || 'application/octet-stream'`.\n- No `new Mime()` business, so you could do `var lookup = require('mime-types').lookup`.\n- Additional mime types are added such as jade and stylus via [mime-db](https://github.com/jshttp/mime-db)\n- No `.define()` functionality\n\nOtherwise, the API is compatible.\n\n## Install\n\n```sh\n$ npm install mime-types\n```\n\n## Adding Types\n\nAll mime types are based on [mime-db](https://github.com/jshttp/mime-db),\nso open a PR there if you'd like to add mime types.\n\n## API\n\n```js\nvar mime = require('mime-types')\n```\n\nAll functions return `false` if input is invalid or not found.\n\n### mime.lookup(path)\n\nLookup the content-type associated with a file.\n\n```js\nmime.lookup('json') // 'application/json'\nmime.lookup('.md') // 'text/x-markdown'\nmime.lookup('file.html') // 'text/html'\nmime.lookup('folder/file.js') // 'application/javascript'\n\nmime.lookup('cats') // false\n```\n\n### mime.contentType(type)\n\nCreate a full content-type header given a content-type or extension.\n\n```js\nmime.contentType('markdown') // 'text/x-markdown; charset=utf-8'\nmime.contentType('file.json') // 'application/json; charset=utf-8'\n\n// from a full path\nmime.contentType(path.extname('/path/to/file.json')) // 'application/json; charset=utf-8'\n```\n\n### mime.extension(type)\n\nGet the default extension for a content-type.\n\n```js\nmime.extension('application/octet-stream') // 'bin'\n```\n\n### mime.charset(type)\n\nLookup the implied default charset of a content-type.\n\n```js\nmime.charset('text/x-markdown') // 'UTF-8'\n```\n\n### var type = mime.types[extension]\n\nA map of content-types by extension.\n\n### [extensions...] = mime.extensions[type]\n\nA map of extensions by content-type.\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/mime-types.svg\n[npm-url]: https://npmjs.org/package/mime-types\n[node-version-image]: https://img.shields.io/node/v/mime-types.svg\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/mime-types/master.svg\n[travis-url]: https://travis-ci.org/jshttp/mime-types\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-types/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/mime-types\n[downloads-image]: https://img.shields.io/npm/dm/mime-types.svg\n[downloads-url]: https://npmjs.org/package/mime-types\n", - "readmeFilename": "README.md", + "gitHead": "7d53a3351581eb3d7ae1e846ea860037bce6fe3f", "bugs": { "url": "https://github.com/jshttp/mime-types/issues" }, - "homepage": "https://github.com/jshttp/mime-types#readme", + "homepage": "https://github.com/jshttp/mime-types", "_id": "mime-types@2.0.14", "_shasum": "310e159db23e077f8bb22b748dabfa4957140aa6", + "_from": "mime-types@>=2.0.4 <2.1.0", + "_npmVersion": "1.4.28", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "maintainers": [ + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "fishrock123", + "email": "fishrock123@rocketmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "dist": { + "shasum": "310e159db23e077f8bb22b748dabfa4957140aa6", + "tarball": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz" + }, + "directories": {}, "_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", - "_from": "mime-types@>=2.0.4 <2.1.0" + "readme": "ERROR: No README data found!" } diff --git a/node_modules/engine.io/node_modules/accepts/node_modules/negotiator/package.json b/node_modules/engine.io/node_modules/accepts/node_modules/negotiator/package.json index 827c5513..d4f535e5 100644 --- a/node_modules/engine.io/node_modules/accepts/node_modules/negotiator/package.json +++ b/node_modules/engine.io/node_modules/accepts/node_modules/negotiator/package.json @@ -15,7 +15,7 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/jshttp/negotiator.git" + "url": "https://github.com/jshttp/negotiator" }, "keywords": [ "http", @@ -42,14 +42,37 @@ "lib", "LICENSE" ], - "readme": "# negotiator\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nAn HTTP content negotiator for Node.js\n\n## Installation\n\n```sh\n$ npm install negotiator\n```\n\n## API\n\n```js\nvar Negotiator = require('negotiator')\n```\n\n### Accept Negotiation\n\n```js\navailableMediaTypes = ['text/html', 'text/plain', 'application/json']\n\n// The negotiator constructor receives a request object\nnegotiator = new Negotiator(request)\n\n// Let's say Accept header is 'text/html, application/*;q=0.2, image/jpeg;q=0.8'\n\nnegotiator.mediaTypes()\n// -> ['text/html', 'image/jpeg', 'application/*']\n\nnegotiator.mediaTypes(availableMediaTypes)\n// -> ['text/html', 'application/json']\n\nnegotiator.mediaType(availableMediaTypes)\n// -> 'text/html'\n```\n\nYou can check a working example at `examples/accept.js`.\n\n#### Methods\n\n##### mediaTypes(availableMediaTypes):\n\nReturns an array of preferred media types ordered by priority from a list of available media types.\n\n##### mediaType(availableMediaType):\n\nReturns the top preferred media type from a list of available media types.\n\n### Accept-Language Negotiation\n\n```js\nnegotiator = new Negotiator(request)\n\navailableLanguages = 'en', 'es', 'fr'\n\n// Let's say Accept-Language header is 'en;q=0.8, es, pt'\n\nnegotiator.languages()\n// -> ['es', 'pt', 'en']\n\nnegotiator.languages(availableLanguages)\n// -> ['es', 'en']\n\nlanguage = negotiator.language(availableLanguages)\n// -> 'es'\n```\n\nYou can check a working example at `examples/language.js`.\n\n#### Methods\n\n##### languages(availableLanguages):\n\nReturns an array of preferred languages ordered by priority from a list of available languages.\n\n##### language(availableLanguages):\n\nReturns the top preferred language from a list of available languages.\n\n### Accept-Charset Negotiation\n\n```js\navailableCharsets = ['utf-8', 'iso-8859-1', 'iso-8859-5']\n\nnegotiator = new Negotiator(request)\n\n// Let's say Accept-Charset header is 'utf-8, iso-8859-1;q=0.8, utf-7;q=0.2'\n\nnegotiator.charsets()\n// -> ['utf-8', 'iso-8859-1', 'utf-7']\n\nnegotiator.charsets(availableCharsets)\n// -> ['utf-8', 'iso-8859-1']\n\nnegotiator.charset(availableCharsets)\n// -> 'utf-8'\n```\n\nYou can check a working example at `examples/charset.js`.\n\n#### Methods\n\n##### charsets(availableCharsets):\n\nReturns an array of preferred charsets ordered by priority from a list of available charsets.\n\n##### charset(availableCharsets):\n\nReturns the top preferred charset from a list of available charsets.\n\n### Accept-Encoding Negotiation\n\n```js\navailableEncodings = ['identity', 'gzip']\n\nnegotiator = new Negotiator(request)\n\n// Let's say Accept-Encoding header is 'gzip, compress;q=0.2, identity;q=0.5'\n\nnegotiator.encodings()\n// -> ['gzip', 'identity', 'compress']\n\nnegotiator.encodings(availableEncodings)\n// -> ['gzip', 'identity']\n\nnegotiator.encoding(availableEncodings)\n// -> 'gzip'\n```\n\nYou can check a working example at `examples/encoding.js`.\n\n#### Methods\n\n##### encodings(availableEncodings):\n\nReturns an array of preferred encodings ordered by priority from a list of available encodings.\n\n##### encoding(availableEncodings):\n\nReturns the top preferred encoding from a list of available encodings.\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/negotiator.svg?style=flat\n[npm-url]: https://npmjs.org/package/negotiator\n[node-version-image]: https://img.shields.io/node/v/negotiator.svg?style=flat\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/negotiator.svg?style=flat\n[travis-url]: https://travis-ci.org/jshttp/negotiator\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/negotiator.svg?style=flat\n[coveralls-url]: https://coveralls.io/r/jshttp/negotiator?branch=master\n[downloads-image]: https://img.shields.io/npm/dm/negotiator.svg?style=flat\n[downloads-url]: https://npmjs.org/package/negotiator\n", - "readmeFilename": "README.md", + "gitHead": "1e90abd710b662db80f1ea244e647cce3bd74504", "bugs": { "url": "https://github.com/jshttp/negotiator/issues" }, - "homepage": "https://github.com/jshttp/negotiator#readme", + "homepage": "https://github.com/jshttp/negotiator", "_id": "negotiator@0.4.9", "_shasum": "92e46b6db53c7e421ed64a2bc94f08be7630df3f", - "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.9.tgz", - "_from": "negotiator@0.4.9" + "_from": "negotiator@0.4.9", + "_npmVersion": "1.4.21", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "maintainers": [ + { + "name": "federomero", + "email": "federomero@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "dist": { + "shasum": "92e46b6db53c7e421ed64a2bc94f08be7630df3f", + "tarball": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.9.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.9.tgz" } diff --git a/node_modules/engine.io/node_modules/accepts/package.json b/node_modules/engine.io/node_modules/accepts/package.json index 901ade2b..b2d12432 100644 --- a/node_modules/engine.io/node_modules/accepts/package.json +++ b/node_modules/engine.io/node_modules/accepts/package.json @@ -10,7 +10,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/jshttp/accepts.git" + "url": "https://github.com/jshttp/accepts" }, "dependencies": { "mime-types": "~2.0.4", @@ -39,14 +39,53 @@ "accept", "accepts" ], - "readme": "# accepts\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nHigher level content negotation based on [negotiator](https://github.com/federomero/negotiator). Extracted from [koa](https://github.com/koajs/koa) for general use.\n\nIn addition to negotatior, it allows:\n\n- Allows types as an array or arguments list, ie `(['text/html', 'application/json'])` as well as `('text/html', 'application/json')`.\n- Allows type shorthands such as `json`.\n- Returns `false` when no types match\n- Treats non-existent headers as `*`\n\n## API\n\n### var accept = new Accepts(req)\n\n```js\nvar accepts = require('accepts')\n\nhttp.createServer(function (req, res) {\n var accept = accepts(req)\n})\n```\n\n### accept\\[property\\]\\(\\)\n\nReturns all the explicitly accepted content property as an array in descending priority.\n\n- `accept.types()`\n- `accept.encodings()`\n- `accept.charsets()`\n- `accept.languages()`\n\nThey are also aliased in singular form such as `accept.type()`. `accept.languages()` is also aliased as `accept.langs()`, etc.\n\nNote: you should almost never do this in a real app as it defeats the purpose of content negotiation.\n\nExample:\n\n```js\n// in Google Chrome\nvar encodings = accept.encodings() // -> ['sdch', 'gzip', 'deflate']\n```\n\nSince you probably don't support `sdch`, you should just supply the encodings you support:\n\n```js\nvar encoding = accept.encodings('gzip', 'deflate') // -> 'gzip', probably\n```\n\n### accept\\[property\\]\\(values, ...\\)\n\nYou can either have `values` be an array or have an argument list of values.\n\nIf the client does not accept any `values`, `false` will be returned.\nIf the client accepts any `values`, the preferred `value` will be return.\n\nFor `accept.types()`, shorthand mime types are allowed.\n\nExample:\n\n```js\n// req.headers.accept = 'application/json'\n\naccept.types('json') // -> 'json'\naccept.types('html', 'json') // -> 'json'\naccept.types('html') // -> false\n\n// req.headers.accept = ''\n// which is equivalent to `*`\n\naccept.types() // -> [], no explicit types\naccept.types('text/html', 'text/json') // -> 'text/html', since it was first\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/accepts.svg?style=flat\n[npm-url]: https://npmjs.org/package/accepts\n[node-version-image]: https://img.shields.io/node/v/accepts.svg?style=flat\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/accepts.svg?style=flat\n[travis-url]: https://travis-ci.org/jshttp/accepts\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/accepts.svg?style=flat\n[coveralls-url]: https://coveralls.io/r/jshttp/accepts\n[downloads-image]: https://img.shields.io/npm/dm/accepts.svg?style=flat\n[downloads-url]: https://npmjs.org/package/accepts\n", - "readmeFilename": "README.md", + "gitHead": "df66414d80f096627b28f137127fce0a851d7900", "bugs": { "url": "https://github.com/jshttp/accepts/issues" }, - "homepage": "https://github.com/jshttp/accepts#readme", + "homepage": "https://github.com/jshttp/accepts", "_id": "accepts@1.1.4", "_shasum": "d71c96f7d41d0feda2c38cd14e8a27c04158df4a", - "_resolved": "https://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz", - "_from": "accepts@1.1.4" + "_from": "accepts@1.1.4", + "_npmVersion": "1.4.21", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "maintainers": [ + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "federomero", + "email": "federomero@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "shtylman", + "email": "shtylman@gmail.com" + }, + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + { + "name": "fishrock123", + "email": "fishrock123@rocketmail.com" + } + ], + "dist": { + "shasum": "d71c96f7d41d0feda2c38cd14e8a27c04158df4a", + "tarball": "https://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz" } diff --git a/node_modules/engine.io/node_modules/debug/node_modules/ms/package.json b/node_modules/engine.io/node_modules/debug/node_modules/ms/package.json index 7b5d86db..29c1ba53 100644 --- a/node_modules/engine.io/node_modules/debug/node_modules/ms/package.json +++ b/node_modules/engine.io/node_modules/debug/node_modules/ms/package.json @@ -17,14 +17,31 @@ "ms/index.js": "index.js" } }, - "readme": "# ms.js: miliseconds conversion utility\n\n```js\nms('2 days') // 172800000\nms('1d') // 86400000\nms('10h') // 36000000\nms('2.5 hrs') // 9000000\nms('2h') // 7200000\nms('1m') // 60000\nms('5s') // 5000\nms('100') // 100\n```\n\n```js\nms(60000) // \"1m\"\nms(2 * 60000) // \"2m\"\nms(ms('10 hours')) // \"10h\"\n```\n\n```js\nms(60000, { long: true }) // \"1 minute\"\nms(2 * 60000, { long: true }) // \"2 minutes\"\nms(ms('10 hours'), { long: true }) // \"10 hours\"\n```\n\n- Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download).\n- If a number is supplied to `ms`, a string with a unit is returned.\n- If a string that contains the number is supplied, it returns it as\na number (e.g: it returns `100` for `'100'`).\n- If you pass a string with a number and a valid unit, the number of\nequivalent ms is returned.\n\n## License\n\nMIT\n", - "readmeFilename": "README.md", + "gitHead": "713dcf26d9e6fd9dbc95affe7eff9783b7f1b909", "bugs": { "url": "https://github.com/guille/ms.js/issues" }, - "homepage": "https://github.com/guille/ms.js#readme", + "homepage": "https://github.com/guille/ms.js", "_id": "ms@0.7.1", + "scripts": {}, "_shasum": "9cd13c03adbff25b65effde7ce864ee952017098", - "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "_from": "ms@0.7.1" + "_from": "ms@0.7.1", + "_npmVersion": "2.7.5", + "_nodeVersion": "0.12.2", + "_npmUser": { + "name": "rauchg", + "email": "rauchg@gmail.com" + }, + "maintainers": [ + { + "name": "rauchg", + "email": "rauchg@gmail.com" + } + ], + "dist": { + "shasum": "9cd13c03adbff25b65effde7ce864ee952017098", + "tarball": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" } diff --git a/node_modules/engine.io/node_modules/debug/package.json b/node_modules/engine.io/node_modules/debug/package.json index fa594b09..33bdb64a 100644 --- a/node_modules/engine.io/node_modules/debug/package.json +++ b/node_modules/engine.io/node_modules/debug/package.json @@ -38,14 +38,35 @@ "debug/debug.js": "debug.js" } }, - "readme": "# debug\n\n tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n , http = require('http')\n , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n debug(req.method + ' ' + req.url);\n res.end('hello\\n');\n}).listen(3000, function(){\n debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n#### Windows note\n\n On Windows the environment variable is set using the `set` command.\n\n ```cmd\n set DEBUG=*,-not_this\n ```\n\nThen, run the program to be debugged as usual.\n\n## Millisecond diff\n\n When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n\n ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n\n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\".\n\n## Wildcards\n\n The `*` character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n You can also exclude specific debuggers by prefixing them with a \"-\" character. For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n Debug works in the browser as well, currently persisted by `localStorage`. Consider the situation shown below where you have `worker:a` and `worker:b`, and wish to debug both. Somewhere in the code on your page, include:\n\n```js\nwindow.myDebug = require(\"debug\");\n```\n\n (\"debug\" is a global object in the browser so we give this object a different name.) When your page is open in the browser, type the following in the console:\n\n```js\nmyDebug.enable(\"worker:*\")\n```\n\n Refresh the page. Debug output will continue to be sent to the console until it is disabled by typing `myDebug.disable()` in the console.\n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n b('doing some work');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n Colors are also enabled on \"Web Inspectors\" that understand the `%c` formatting\n option. These are WebKit web inspectors, Firefox ([since version\n 31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))\n and the Firebug plugin for Firefox (any version).\n\n Colored output looks something like:\n\n ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\n\n### stderr vs stdout\n\nYou can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:\n\nExample _stdout.js_:\n\n```js\nvar debug = require('debug');\nvar error = debug('app:error');\n\n// by default stderr is used\nerror('goes to stderr!');\n\nvar log = debug('app:log');\n// set this namespace to log via console.log\nlog.log = console.log.bind(console); // don't forget to bind to console!\nlog('goes to stdout');\nerror('still goes to stderr!');\n\n// set all output to go via console.info\n// overrides all per-namespace log settings\ndebug.log = console.info.bind(console);\nerror('now goes to stdout via console.info');\nlog('still goes to stdout, but via console.info now');\n```\n\n### Save debug output to a file\n\nYou can save all debug statements to a file by piping them.\n\nExample:\n\n```bash\n$ DEBUG_FD=3 node your-app.js 3> whatever.log\n```\n\n## Authors\n\n - TJ Holowaychuk\n - Nathan Rajlich\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", - "readmeFilename": "Readme.md", + "gitHead": "b38458422b5aa8aa6d286b10dfe427e8a67e2b35", "bugs": { "url": "https://github.com/visionmedia/debug/issues" }, - "homepage": "https://github.com/visionmedia/debug#readme", + "homepage": "https://github.com/visionmedia/debug", "_id": "debug@2.2.0", + "scripts": {}, "_shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da", - "_resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "_from": "debug@2.2.0" + "_from": "debug@2.2.0", + "_npmVersion": "2.7.4", + "_nodeVersion": "0.12.2", + "_npmUser": { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + } + ], + "dist": { + "shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da", + "tarball": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" } diff --git a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/package.json b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/package.json index c73e8679..ac80f6b0 100644 --- a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/package.json +++ b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/package.json @@ -30,14 +30,31 @@ "type": "git", "url": "git://github.com/Raynos/after.git" }, - "readme": "# After [![Build Status][1]][2]\n\nInvoke callback after n calls\n\n## Status: production ready\n\n## Example\n\n var after = require(\"after\")\n , next = after(3, logItWorks)\n\n next()\n next()\n next() // it works\n\n function logItWorks() {\n console.log(\"it works!\")\n }\n\n## Example with error handling\n\n var after = require(\"after\")\n , next = after(3, logError)\n\n next()\n next(new Error(\"oops\")) // logs oops\n next() // does nothing\n\n function logError(err) {\n console.log(err)\n }\n\n## After < 0.6.0\n\nOlder versions of after had iterators and flows in them.\n\nThese have been replaced with seperate modules\n\n - [iterators][8]\n - [composite][9]\n\n## Installation\n\n`npm install after`\n\n## Tests\n\n`npm test`\n\n## Blog post\n\n - [Flow control in node.js][3]\n\n## Examples :\n\n - [Determining the end of asynchronous operations][4]\n - [In javascript what are best practices for executing multiple asynchronous functions][5]\n - [JavaScript performance long running tasks][6]\n - [Synchronous database queries with node.js][7]\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n\n [1]: https://secure.travis-ci.org/Raynos/after.png\n [2]: http://travis-ci.org/Raynos/after\n [3]: http://raynos.org/blog/2/Flow-control-in-node.js\n [4]: http://stackoverflow.com/questions/6852059/determining-the-end-of-asynchronous-operations-javascript/6852307#6852307\n [5]: http://stackoverflow.com/questions/6869872/in-javascript-what-are-best-practices-for-executing-multiple-asynchronous-functi/6870031#6870031\n [6]: http://stackoverflow.com/questions/6864397/javascript-performance-long-running-tasks/6889419#6889419\n [7]: http://stackoverflow.com/questions/6597493/synchronous-database-queries-with-node-js/6620091#6620091\n [8]: http://github.com/Raynos/iterators\n [9]: http://github.com/Raynos/composite\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/Raynos/after/issues" }, - "homepage": "https://github.com/Raynos/after#readme", "_id": "after@0.8.1", + "dist": { + "shasum": "ab5d4fb883f596816d3515f8f791c0af486dd627", + "tarball": "https://registry.npmjs.org/after/-/after-0.8.1.tgz" + }, + "_from": "after@0.8.1", + "_npmVersion": "1.2.25", + "_npmUser": { + "name": "raynos", + "email": "raynos2@gmail.com" + }, + "maintainers": [ + { + "name": "raynos", + "email": "raynos2@gmail.com" + }, + { + "name": "shtylman", + "email": "shtylman@gmail.com" + } + ], + "directories": {}, "_shasum": "ab5d4fb883f596816d3515f8f791c0af486dd627", - "_resolved": "https://registry.npmjs.org/after/-/after-0.8.1.tgz", - "_from": "after@0.8.1" + "_resolved": "https://registry.npmjs.org/after/-/after-0.8.1.tgz" } diff --git a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/arraybuffer.slice/package.json b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/arraybuffer.slice/package.json index af728a08..cea166a4 100644 --- a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/arraybuffer.slice/package.json +++ b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/arraybuffer.slice/package.json @@ -10,15 +10,29 @@ }, "repository": { "type": "git", - "url": "git+ssh://git@github.com/rase-/arraybuffer.slice.git" + "url": "git@github.com:rase-/arraybuffer.slice.git" }, - "readme": "# How to\n```javascript\nvar sliceBuffer = require('arraybuffer.slice');\nvar ab = (new Int8Array(5)).buffer;\nvar sliced = sliceBuffer(ab, 1, 3);\nsliced = sliceBuffer(ab, 1);\n```\n\n# Licence (MIT)\nCopyright (C) 2013 Rase-\n\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/rase-/arraybuffer.slice/issues" }, "_id": "arraybuffer.slice@0.0.6", + "dist": { + "shasum": "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca", + "tarball": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz" + }, + "_from": "arraybuffer.slice@0.0.6", + "_npmVersion": "1.3.5", + "_npmUser": { + "name": "rase-", + "email": "tonykovanen@hotmail.com" + }, + "maintainers": [ + { + "name": "rase-", + "email": "tonykovanen@hotmail.com" + } + ], + "directories": {}, "_shasum": "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca", - "_resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", - "_from": "arraybuffer.slice@0.0.6" + "_resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz" } diff --git a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/package.json b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/package.json index 1c671be5..5e573c53 100644 --- a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/package.json +++ b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/package.json @@ -10,7 +10,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/niklasvh/base64-arraybuffer.git" + "url": "https://github.com/niklasvh/base64-arraybuffer" }, "bugs": { "url": "https://github.com/niklasvh/base64-arraybuffer/issues" @@ -32,10 +32,24 @@ "grunt": "~0.3.17" }, "keywords": [], - "readme": "# base64-arraybuffer\n\n[![Build Status](https://travis-ci.org/niklasvh/base64-arraybuffer.png)](https://travis-ci.org/niklasvh/base64-arraybuffer)\n\nEncode/decode base64 data into ArrayBuffers\n\n## Getting Started\nInstall the module with: `npm install base64-arraybuffer`\n\n## API\nThe library encodes and decodes base64 to and from ArrayBuffers\n\n - __encode(buffer)__ - Encodes `ArrayBuffer` into base64 string\n - __decode(str)__ - Decodes base64 string to `ArrayBuffer`\n\n## Release History\n\n - 0.1.2 - Fix old format of typed arrays\n - 0.1.0 - Initial version, basic decode/encode base64 to and from ArrayBuffer\n\n## License\nCopyright (c) 2012 Niklas von Hertzen\nLicensed under the MIT license.\n", - "readmeFilename": "README.md", "_id": "base64-arraybuffer@0.1.2", + "dist": { + "shasum": "474df4a9f2da24e05df3158c3b1db3c3cd46a154", + "tarball": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz" + }, + "_from": "base64-arraybuffer@0.1.2", + "_npmVersion": "1.3.21", + "_npmUser": { + "name": "niklasvh", + "email": "niklasvh@gmail.com" + }, + "maintainers": [ + { + "name": "niklasvh", + "email": "niklasvh@gmail.com" + } + ], + "directories": {}, "_shasum": "474df4a9f2da24e05df3158c3b1db3c3cd46a154", - "_resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz", - "_from": "base64-arraybuffer@0.1.2" + "_resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz" } diff --git a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/package.json b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/package.json index 00a4f8d4..f4a45d32 100644 --- a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/package.json +++ b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/package.json @@ -12,18 +12,32 @@ }, "repository": { "type": "git", - "url": "git+ssh://git@github.com/rase-/blob.git" + "url": "git@github.com:rase-/blob.git" }, "scripts": { "test": "make test" }, - "readme": "Blob\n====\n\nA module that exports a constructor that uses window.Blob when available, and a BlobBuilder with any vendor prefix in other cases. If neither is available, it exports undefined.\n\nUsage:\n\n```javascript\nvar Blob = require('blob');\nvar b = new Blob(['hi', 'constructing', 'a', 'blob']);\n```\n\n## Licence\nMIT\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/rase-/blob/issues" }, "_id": "blob@0.0.4", + "dist": { + "shasum": "bcf13052ca54463f30f9fc7e95b9a47630a94921", + "tarball": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz" + }, + "_from": "blob@0.0.4", + "_npmVersion": "1.4.6", + "_npmUser": { + "name": "rase-", + "email": "tonykovanen@hotmail.com" + }, + "maintainers": [ + { + "name": "rase-", + "email": "tonykovanen@hotmail.com" + } + ], + "directories": {}, "_shasum": "bcf13052ca54463f30f9fc7e95b9a47630a94921", - "_resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "_from": "blob@0.0.4" + "_resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz" } diff --git a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/package.json b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/package.json index fb1eb378..9cfdb95b 100644 --- a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/package.json +++ b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/package.json @@ -26,13 +26,24 @@ "url": "http://juliangruber.com" }, "license": "MIT", - "readme": "\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber <julian@juliangruber.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/juliangruber/isarray/issues" - }, "_id": "isarray@0.0.1", + "dist": { + "shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", + "tarball": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "_from": "isarray@0.0.1", + "_npmVersion": "1.2.18", + "_npmUser": { + "name": "juliangruber", + "email": "julian@juliangruber.com" + }, + "maintainers": [ + { + "name": "juliangruber", + "email": "julian@juliangruber.com" + } + ], + "directories": {}, "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", - "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "_from": "isarray@0.0.1" + "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" } diff --git a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/package.json b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/package.json index dcd5f956..fe152d85 100644 --- a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/package.json +++ b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/package.json @@ -13,10 +13,26 @@ "name": "Kevin Roark" }, "license": "MIT", - "readme": "has-binarydata.js\n=================\n\nSimple module to test if an object contains binary data\n", - "readmeFilename": "README.md", + "gitHead": "a37d7ed88fb88e49d5ed1ca15e6cc7dd004dd0e8", "_id": "has-binary@0.1.6", + "scripts": {}, "_shasum": "25326f39cfa4f616ad8787894e3af2cfbc7b6e10", - "_resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz", - "_from": "has-binary@0.1.6" + "_from": "has-binary@0.1.6", + "_npmVersion": "1.4.28", + "_npmUser": { + "name": "rauchg", + "email": "rauchg@gmail.com" + }, + "maintainers": [ + { + "name": "rauchg", + "email": "rauchg@gmail.com" + } + ], + "dist": { + "shasum": "25326f39cfa4f616ad8787894e3af2cfbc7b6e10", + "tarball": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz" } diff --git a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/package.json b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/package.json index 9f0b767c..b288a3d1 100644 --- a/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/package.json +++ b/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/package.json @@ -17,7 +17,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/mathiasbynens/utf8.js.git" + "url": "https://github.com/mathiasbynens/utf8.js.git" }, "bugs": { "url": "https://github.com/mathiasbynens/utf8.js/issues" @@ -34,10 +34,30 @@ "qunitjs": "~1.11.0", "requirejs": "^2.1.11" }, - "readme": "# utf8.js [![Build status](https://travis-ci.org/mathiasbynens/utf8.js.svg?branch=master)](https://travis-ci.org/mathiasbynens/utf8.js) [![Code coverage status](http://img.shields.io/coveralls/mathiasbynens/utf8.js/master.svg)](https://coveralls.io/r/mathiasbynens/utf8.js) [![Dependency status](https://gemnasium.com/mathiasbynens/utf8.js.svg)](https://gemnasium.com/mathiasbynens/utf8.js)\n\n_utf8.js_ is a well-tested UTF-8 encoder/decoder written in JavaScript. Unlike many other JavaScript solutions, it is designed to be a _proper_ UTF-8 encoder/decoder: it can encode/decode any scalar Unicode code point values, as per [the Encoding Standard](https://encoding.spec.whatwg.org/#utf-8). [Here’s an online demo.](https://mothereff.in/utf-8)\n\nFeel free to fork if you see possible improvements!\n\n## Installation\n\nVia [npm](https://www.npmjs.org/):\n\n```bash\nnpm install utf8\n```\n\nVia [Bower](http://bower.io/):\n\n```bash\nbower install utf8\n```\n\nVia [Component](https://github.com/component/component):\n\n```bash\ncomponent install mathiasbynens/utf8.js\n```\n\nIn a browser:\n\n```html\n\n```\n\nIn [Narwhal](http://narwhaljs.org/), [Node.js](https://nodejs.org/), and [RingoJS ≥ v0.8.0](http://ringojs.org/):\n\n```js\nvar utf8 = require('utf8');\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('utf8.js');\n```\n\nUsing an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire(\n {\n 'paths': {\n 'utf8': 'path/to/utf8'\n }\n },\n ['utf8'],\n function(utf8) {\n console.log(utf8);\n }\n);\n```\n\n## API\n\n### `utf8.encode(string)`\n\nEncodes any given JavaScript string (`string`) as UTF-8, and returns the UTF-8-encoded version of the string. It throws an error if the input string contains a non-scalar value, i.e. a lone surrogate. (If you need to be able to encode non-scalar values as well, use [WTF-8](https://mths.be/wtf8) instead.)\n\n```js\n// U+00A9 COPYRIGHT SIGN; see http://codepoints.net/U+00A9\nutf8.encode('\\xA9');\n// → '\\xC2\\xA9'\n// U+10001 LINEAR B SYLLABLE B038 E; see http://codepoints.net/U+10001\nutf8.encode('\\uD800\\uDC01');\n// → '\\xF0\\x90\\x80\\x81'\n```\n\n### `utf8.decode(byteString)`\n\nDecodes any given UTF-8-encoded string (`byteString`) as UTF-8, and returns the UTF-8-decoded version of the string. It throws an error when malformed UTF-8 is detected. (If you need to be able to decode encoded non-scalar values as well, use [WTF-8](https://mths.be/wtf8) instead.)\n\n```js\nutf8.decode('\\xC2\\xA9');\n// → '\\xA9'\n\nutf8.decode('\\xF0\\x90\\x80\\x81');\n// → '\\uD800\\uDC01'\n// → U+10001 LINEAR B SYLLABLE B038 E\n```\n\n### `utf8.version`\n\nA string representing the semantic version number.\n\n## Support\n\nutf8.js has been tested in at least Chrome 27-39, Firefox 3-34, Safari 4-8, Opera 10-28, IE 6-11, Node.js v0.10.0, Narwhal 0.3.2, RingoJS 0.8-0.11, PhantomJS 1.9.0, and Rhino 1.7RC4.\n\n## Unit tests & code coverage\n\nAfter cloning this repository, run `npm install` to install the dependencies needed for development and testing. You may want to install Istanbul _globally_ using `npm install istanbul -g`.\n\nOnce that’s done, you can run the unit tests in Node using `npm test` or `node tests/tests.js`. To run the tests in Rhino, Ringo, Narwhal, PhantomJS, and web browsers as well, use `grunt test`.\n\nTo generate the code coverage report, use `grunt cover`.\n\n## FAQ\n\n### Why is the first release named v2.0.0? Haven’t you heard of [semantic versioning](http://semver.org/)?\n\nLong before utf8.js was created, the `utf8` module on npm was registered and used by another (slightly buggy) library. @ryanmcgrath was kind enough to give me access to the `utf8` package on npm when I told him about utf8.js. Since there has already been a v1.0.0 release of the old library, and to avoid breaking backwards compatibility with projects that rely on the `utf8` npm package, I decided the tag the first release of utf8.js as v2.0.0 and take it from there.\n\n## Author\n\n| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|\n| [Mathias Bynens](https://mathiasbynens.be/) |\n\n## License\n\nutf8.js is available under the [MIT](https://mths.be/mit) license.\n", - "readmeFilename": "README.md", + "gitHead": "1961da40649c4103b5d01c29f8e6bcc3231a1372", "_id": "utf8@2.1.0", "_shasum": "0cfec5c8052d44a23e3aaa908104e8075f95dfd5", - "_resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.0.tgz", - "_from": "utf8@2.1.0" + "_from": "utf8@2.1.0", + "_npmVersion": "2.1.11", + "_nodeVersion": "0.10.32", + "_npmUser": { + "name": "mathias", + "email": "mathias@qiwi.be" + }, + "maintainers": [ + { + "name": "ryanmcgrath", + "email": "ryan@venodesigns.net" + }, + { + "name": "mathias", + "email": "mathias@qiwi.be" + } + ], + "dist": { + "shasum": "0cfec5c8052d44a23e3aaa908104e8075f95dfd5", + "tarball": "https://registry.npmjs.org/utf8/-/utf8-2.1.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.0.tgz" } diff --git a/node_modules/engine.io/node_modules/engine.io-parser/package.json b/node_modules/engine.io/node_modules/engine.io-parser/package.json index 3cb7b345..f34da504 100644 --- a/node_modules/engine.io/node_modules/engine.io-parser/package.json +++ b/node_modules/engine.io/node_modules/engine.io-parser/package.json @@ -25,13 +25,29 @@ "url": "git+ssh://git@github.com/Automattic/engine.io-parser.git" }, "browser": "./lib/browser.js", - "readme": "\n# engine.io-parser\n\n[![Build Status](https://secure.travis-ci.org/socketio/engine.io-parser.svg)](http://travis-ci.org/socketio/engine.io-parser)\n[![NPM version](https://badge.fury.io/js/engine.io-parser.svg)](http://badge.fury.io/js/engine.io-parser)\n\nThis is the JavaScript parser for the engine.io protocol encoding,\nshared by both\n[engine.io-client](https://github.com/socketio/engine.io-client) and\n[engine.io](https://github.com/socketio/engine.io).\n\n## How to use\n\n### Standalone\n\nThe parser can encode/decode packets, payloads, and payloads as binary\nwith the following methods: `encodePacket`, `decodePacket`, `encodePayload`,\n`decodePayload`, `encodePayloadAsBinary`, `decodePayloadAsBinary`.\n\nThe browser-side parser also includes `encodePayloadAsArrayBuffer` and `encodePayloadAsBlob`.\n\nExample:\n\n```js\nvar parser = require('engine.io-parser');\n\nvar data = new Buffer(5);\nfor (var i = 0; i < data.length; i++) { data[i] = i; }\n\nparser.encodePacket({ type: 'message', data: data }, function(encoded) {\n var decodedData = parser.decodePacket(encoded); // { type: 'message', data: data }\n});\n```\n\n### With browserify\n\nEngine.IO Parser is a commonjs module, which means you can include it by using\n`require` on the browser and package using [browserify](http://browserify.org/):\n\n1. install the parser package\n\n ```shell\n npm install engine.io-parser\n ```\n\n1. write your app code\n\n ```js\n var parser = require('engine.io-parser');\n\n var testBuffer = new Int8Array(10);\n for (var i = 0; i < testBuffer.length; i++) testBuffer[i] = i;\n\n var packets = [{ type: 'message', data: testBuffer.buffer }, { type: 'message', data: 'hello' }];\n\n parser.encodePayload(packets, function(encoded) {\n parser.decodePayload(encoded,\n function(packet, index, total) {\n var isLast = index + 1 == total;\n if (!isLast) {\n var buffer = new Int8Array(packet.data); // testBuffer\n } else {\n var message = packet.data; // 'hello'\n }\n });\n });\n ```\n\n1. build your app bundle\n\n ```bash\n $ browserify app.js > bundle.js\n ```\n\n1. include on your page\n\n ```html\n \n ```\n\n## Features\n\n- Runs on browser and node.js seamlessly\n- Runs inside HTML5 WebWorker\n- Can encode and decode packets\n - Encodes from/to ArrayBuffer or Blob when in browser, and Buffer or ArrayBuffer in Node\n\n## API\n\nNote: `cb(type)` means the type is a callback function that contains a parameter of type `type` when called.\n\n### Node\n\n- `encodePacket`\n - Encodes a packet.\n - **Parameters**\n - `Object`: the packet to encode, has `type` and `data`.\n - `data`: can be a `String`, `Number`, `Buffer`, `ArrayBuffer`\n - `Boolean`: optional, binary support\n - `Function`: callback, returns the encoded packet (`cb(String)`)\n- `decodePacket`\n - Decodes a packet. Data also available as an ArrayBuffer if requested.\n - Returns data as `String` or (`Blob` on browser, `ArrayBuffer` on Node)\n - **Parameters**\n - `String` | `ArrayBuffer`: the packet to decode, has `type` and `data`\n - `String`: optional, the binary type\n\n- `encodeBase64Packet`\n - Encodes a packet with binary data in a base64 string (`String`)\n - **Parameters**\n - `Object`: the packet to encode, has `type` and `data`\n - `Function`: callback, returns the base64 encoded message (`cb(String)`)\n- `decodeBase64Packet`\n - Decodes a packet encoded in a base64 string.\n - **Parameters**\n - `String`: the base64 encoded message\n - `String`: optional, the binary type\n\n- `encodePayload`\n - Encodes multiple messages (payload).\n - If any contents are binary, they will be encoded as base64 strings. Base64\n encoded strings are marked with a b before the length specifier\n - **Parameters**\n - `Array`: an array of packets\n - `Boolean`: optional, binary support\n - `Function`: callback, returns the encoded payload (`cb(String)`)\n- `decodePayload`\n - Decodes data when a payload is maybe expected. Possible binary contents are\n decoded from their base64 representation.\n - **Parameters**\n - `String`: the payload\n - `String`: optional, the binary type\n - `Function`: callback, returns (cb(`Object`: packet, `Number`:packet index, `Number`:packet total))\n\n- `encodePayloadAsBinary`\n - Encodes multiple messages (payload) as binary.\n - **Parameters**\n - `Array`: an array of packets\n - `Function`: callback, returns the encoded payload (`cb(Buffer)`)\n- `decodePayloadAsBinary`\n - Decodes data when a payload is maybe expected. Strings are decoded by\n interpreting each byte as a key code for entries marked to start with 0. See\n description of encodePayloadAsBinary.\n - **Parameters**\n - `Buffer`: the buffer\n - `String`: optional, the binary type\n - `Function`: callback, returns the decoded packet (`cb(Object)`)\n\n### Browser\n\n- `encodePayloadAsArrayBuffer`\n - Encodes multiple messages (payload) as binary.\n - **Parameters**\n - `Array`: an array of packets\n - `Function`: callback, returns the encoded payload (`cb(ArrayBuffer)`)\n- `encodePayloadAsBlob`\n - Encodes multiple messages (payload) as blob.\n - **Parameters**\n - `Array`: an array of packets\n - `Function`: callback, returns the encoded payload (`cb(Blob)`)\n\n## Tests\n\nStandalone tests can be run with `make test` which will run both node.js and browser tests.\n\nBrowser tests are run using [zuul](https://github.com/defunctzombie/zuul).\n(You must have zuul setup with a saucelabs account.)\n\nYou can run the tests locally using the following command:\n\n```\n./node_modules/.bin/zuul --local 8080 -- test/index.js\n```\n\n## Support\n\nThe support channels for `engine.io-parser` are the same as `socket.io`:\n - irc.freenode.net **#socket.io**\n - [Google Groups](http://groups.google.com/group/socket_io)\n - [Website](http://socket.io)\n\n## Development\n\nTo contribute patches, run tests or benchmarks, make sure to clone the\nrepository:\n\n```bash\ngit clone git://github.com/LearnBoost/engine.io-parser.git\n```\n\nThen:\n\n```bash\ncd engine.io-parser\nnpm install\n```\n\nSee the `Tests` section above for how to run tests before submitting any patches.\n\n## License\n\nMIT\n", - "readmeFilename": "Readme.md", + "gitHead": "ca248c5238a42d8383a4ab7de347adc2578abeac", "bugs": { "url": "https://github.com/Automattic/engine.io-parser/issues" }, "_id": "engine.io-parser@1.2.4", "_shasum": "e0897b0bf14e792d4cd2a5950553919c56948c42", - "_resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.2.4.tgz", - "_from": "engine.io-parser@1.2.4" + "_from": "engine.io-parser@1.2.4", + "_npmVersion": "3.4.1", + "_nodeVersion": "4.2.2", + "_npmUser": { + "name": "rauchg", + "email": "rauchg@gmail.com" + }, + "maintainers": [ + { + "name": "rauchg", + "email": "rauchg@gmail.com" + } + ], + "dist": { + "shasum": "e0897b0bf14e792d4cd2a5950553919c56948c42", + "tarball": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.2.4.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.2.4.tgz" } diff --git a/node_modules/engine.io/package.json b/node_modules/engine.io/package.json index 9824d26a..46eedb63 100644 --- a/node_modules/engine.io/package.json +++ b/node_modules/engine.io/package.json @@ -48,13 +48,33 @@ "type": "git", "url": "git+ssh://git@github.com/socketio/engine.io.git" }, - "readme": "\n# Engine.IO: the realtime engine\n\n[![Build Status](https://secure.travis-ci.org/socketio/engine.io.svg)](http://travis-ci.org/socketio/engine.io)\n[![NPM version](https://badge.fury.io/js/engine.io.svg)](http://badge.fury.io/js/engine.io)\n\n`Engine.IO` is the implementation of transport-based\ncross-browser/cross-device bi-directional communication layer for\n[Socket.IO](http://github.com/socketio/socket.io).\n\n## How to use\n\n### Server\n\n#### (A) Listening on a port\n\n```js\nvar engine = require('engine.io');\nvar server = engine.listen(80);\n\nserver.on('connection', function(socket){\n socket.send('utf 8 string');\n socket.send(new Buffer([0, 1, 2, 3, 4, 5])); // binary data\n});\n```\n\n#### (B) Intercepting requests for a http.Server\n\n```js\nvar engine = require('engine.io');\nvar http = require('http').createServer().listen(3000);\nvar server = engine.attach(http);\n\nserver.on('connection', function (socket) {\n socket.on('message', function(data){ });\n socket.on('close', function(){ });\n});\n```\n\n#### (C) Passing in requests\n\n```js\nvar engine = require('engine.io');\nvar server = new engine.Server();\n\nserver.on('connection', function(socket){\n socket.send('hi');\n});\n\n// …\nhttpServer.on('upgrade', function(req, socket, head){\n server.handleUpgrade(req, socket, head);\n});\nhttpServer.on('request', function(req, res){\n server.handleRequest(req, res);\n});\n```\n\n### Client\n\n```html\n\n\n```\n\nFor more information on the client refer to the\n[engine-client](http://github.com/learnboost/engine.io-client) repository.\n\n## What features does it have?\n\n- **Maximum reliability**. Connections are established even in the presence of:\n - proxies and load balancers.\n - personal firewall and antivirus software.\n - for more information refer to **Goals** and **Architecture** sections\n- **Minimal client size** aided by:\n - lazy loading of flash transports.\n - lack of redundant transports.\n- **Scalable**\n - load balancer friendly\n- **Future proof**\n- **100% Node.JS core style**\n - No API sugar (left for higher level projects)\n - Written in readable vanilla JavaScript\n\n## API\n\n### Server\n\n

\n\n#### Top-level\n\nThese are exposed by `require('engine.io')`:\n\n##### Events\n\n- `flush`\n - Called when a socket buffer is being flushed.\n - **Arguments**\n - `Socket`: socket being flushed\n - `Array`: write buffer\n- `drain`\n - Called when a socket buffer is drained\n - **Arguments**\n - `Socket`: socket being flushed\n\n##### Properties\n\n- `protocol` _(Number)_: protocol revision number\n- `Server`: Server class constructor\n- `Socket`: Socket class constructor\n- `Transport` _(Function)_: transport constructor\n- `transports` _(Object)_: map of available transports\n\n##### Methods\n\n- `()`\n - Returns a new `Server` instance. If the first argument is an `http.Server` then the\n new `Server` instance will be attached to it. Otherwise, the arguments are passed\n directly to the `Server` constructor.\n - **Parameters**\n - `http.Server`: optional, server to attach to.\n - `Object`: optional, options object (see `Server#constructor` api docs below)\n\n The following are identical ways to instantiate a server and then attach it.\n ```js\n var httpServer; // previously created with `http.createServer();` from node.js api.\n\n // create a server first, and then attach\n var eioServer = require('engine.io').Server();\n eioServer.attach(httpServer);\n\n // or call the module as a function to get `Server`\n var eioServer = require('engine.io')();\n eioServer.attach(httpServer);\n\n // immediately attach\n var eioServer = require('engine.io')(httpServer);\n ```\n\n- `listen`\n - Creates an `http.Server` which listens on the given port and attaches WS\n to it. It returns `501 Not Implemented` for regular http requests.\n - **Parameters**\n - `Number`: port to listen on.\n - `Object`: optional, options object\n - `Function`: callback for `listen`.\n - **Options**\n - All options from `Server.attach` method, documented below.\n - **Additionally** See Server `constructor` below for options you can pass for creating the new Server\n - **Returns** `Server`\n- `attach`\n - Captures `upgrade` requests for a `http.Server`. In other words, makes\n a regular http.Server WebSocket-compatible.\n - **Parameters**\n - `http.Server`: server to attach to.\n - `Object`: optional, options object\n - **Options**\n - All options from `Server.attach` method, documented below.\n - **Additionally** See Server `constructor` below for options you can pass for creating the new Server\n - **Returns** `Server` a new Server instance.\n\n

\n\n#### Server\n\nThe main server/manager. _Inherits from EventEmitter_.\n\n##### Events\n\n- `connection`\n - Fired when a new connection is established.\n - **Arguments**\n - `Socket`: a Socket object\n\n##### Properties\n\n**Important**: if you plan to use Engine.IO in a scalable way, please\nkeep in mind the properties below will only reflect the clients connected\nto a single process.\n\n- `clients` _(Object)_: hash of connected clients by id.\n- `clientsCount` _(Number)_: number of connected clients.\n\n##### Methods\n\n- **constructor**\n - Initializes the server\n - **Parameters**\n - `Object`: optional, options object\n - **Options**\n - `pingTimeout` (`Number`): how many ms without a pong packet to\n consider the connection closed (`60000`)\n - `pingInterval` (`Number`): how many ms before sending a new ping\n packet (`25000`)\n - `maxHttpBufferSize` (`Number`): how many bytes or characters a message\n can be when polling, before closing the session (to avoid DoS). Default\n value is `10E7`.\n - `allowRequest` (`Function`): A function that receives a given handshake\n or upgrade request as its first parameter, and can decide whether to\n continue or not. The second argument is a function that needs to be\n called with the decided information: `fn(err, success)`, where\n `success` is a boolean value where false means that the request is\n rejected, and err is an error code.\n - `transports` (` String`): transports to allow connections\n to (`['polling', 'websocket']`)\n - `allowUpgrades` (`Boolean`): whether to allow transport upgrades\n (`true`)\n - `perMessageDeflate` (`Object|Boolean`): parameters of the WebSocket permessage-deflate extension\n (see [ws module](https://github.com/einaros/ws) api docs). Set to `false` to disable. (`true`)\n - `threshold` (`Number`): data is compressed only if the byte size is above this value (`1024`)\n - `httpCompression` (`Object|Boolean`): parameters of the http compression for the polling transports\n (see [zlib](http://nodejs.org/api/zlib.html#zlib_options) api docs). Set to `false` to disable. (`true`)\n - `threshold` (`Number`): data is compressed only if the byte size is above this value (`1024`)\n - `cookie` (`String|Boolean`): name of the HTTP cookie that\n contains the client sid to send as part of handshake response\n headers. Set to `false` to not send one. (`io`)\n - `cookiePath` (`String|Boolean`): path of the above `cookie`\n option. If false, no path will be sent, which means browsers will only send the cookie on the engine.io attached path (`/engine.io`).\n Set this to `/` to send the io cookie on all requests. (`false`)\n- `close`\n - Closes all clients\n - **Returns** `Server` for chaining\n- `handleRequest`\n - Called internally when a `Engine` request is intercepted.\n - **Parameters**\n - `http.ServerRequest`: a node request object\n - `http.ServerResponse`: a node response object\n - **Returns** `Server` for chaining\n- `handleUpgrade`\n - Called internally when a `Engine` ws upgrade is intercepted.\n - **Parameters** (same as `upgrade` event)\n - `http.ServerRequest`: a node request object\n - `net.Stream`: TCP socket for the request\n - `Buffer`: legacy tail bytes\n - **Returns** `Server` for chaining\n- `attach`\n - Attach this Server instance to an `http.Server`\n - Captures `upgrade` requests for a `http.Server`. In other words, makes\n a regular http.Server WebSocket-compatible.\n - **Parameters**\n - `http.Server`: server to attach to.\n - `Object`: optional, options object\n - **Options**\n - `path` (`String`): name of the path to capture (`/engine.io`).\n - `destroyUpgrade` (`Boolean`): destroy unhandled upgrade requests (`true`)\n - `destroyUpgradeTimeout` (`Number`): milliseconds after which unhandled requests are ended (`1000`)\n- `generateId`\n - Generate a socket id.\n - Overwrite this method to generate your custom socket id.\n - **Parameters**\n - `http.ServerRequest`: a node request object\n - **Returns** A socket id for connected client.\n\n

\n\n#### Socket\n\nA representation of a client. _Inherits from EventEmitter_.\n\n##### Events\n\n- `close`\n - Fired when the client is disconnected.\n - **Arguments**\n - `String`: reason for closing\n - `Object`: description object (optional)\n- `message`\n - Fired when the client sends a message.\n - **Arguments**\n - `String` or `Buffer`: Unicode string or Buffer with binary contents\n- `error`\n - Fired when an error occurs.\n - **Arguments**\n - `Error`: error object\n- `flush`\n - Called when the write buffer is being flushed.\n - **Arguments**\n - `Array`: write buffer\n- `drain`\n - Called when the write buffer is drained\n- `packet`\n - Called when a socket received a packet (`message`, `ping`)\n - **Arguments**\n - `type`: packet type\n - `data`: packet data (if type is message)\n- `packetCreate`\n - Called before a socket sends a packet (`message`, `pong`)\n - **Arguments**\n - `type`: packet type\n - `data`: packet data (if type is message)\n\n##### Properties\n\n- `id` _(String)_: unique identifier\n- `server` _(Server)_: engine parent reference\n- `request` _(http.ServerRequest)_: request that originated the Socket\n- `upgraded` _(Boolean)_: whether the transport has been upgraded\n- `readyState` _(String)_: opening|open|closing|closed\n- `transport` _(Transport)_: transport reference\n\n##### Methods\n\n- `send`:\n - Sends a message, performing `message = toString(arguments[0])` unless\n sending binary data, which is sent as is.\n - **Parameters**\n - `String` | `Buffer` | `ArrayBuffer` | `ArrayBufferView`: a string or any object implementing `toString()`, with outgoing data, or a Buffer or ArrayBuffer with binary data. Also any ArrayBufferView can be sent as is.\n - `Object`: optional, options object\n - `Function`: optional, a callback executed when the message gets flushed out by the transport\n - **Options**\n - `compress` (`Boolean`): whether to compress sending data. This option might be ignored and forced to be `true` when using polling. (`true`)\n - **Returns** `Socket` for chaining\n- `close`\n - Disconnects the client\n - **Returns** `Socket` for chaining\n\n### Client\n\n

\n\nExposed in the `eio` global namespace (in the browser), or by\n`require('engine.io-client')` (in Node.JS).\n\nFor the client API refer to the\n[engine-client](http://github.com/learnboost/engine.io-client) repository.\n\n## Debug / logging\n\nEngine.IO is powered by [debug](http://github.com/visionmedia/debug).\nIn order to see all the debug output, run your app with the environment variable\n`DEBUG` including the desired scope.\n\nTo see the output from all of Engine.IO's debugging scopes you can use:\n\n```\nDEBUG=engine* node myapp\n```\n\n## Transports\n\n- `polling`: XHR / JSONP polling transport.\n- `websocket`: WebSocket transport.\n\n## Plugins\n\n- [engine.io-conflation](https://github.com/EugenDueck/engine.io-conflation): Makes **conflation and aggregation** of messages straightforward.\n\n## Support\n\nThe support channels for `engine.io` are the same as `socket.io`:\n - irc.freenode.net **#socket.io**\n - [Google Groups](http://groups.google.com/group/socket_io)\n - [Website](http://socket.io)\n\n## Development\n\nTo contribute patches, run tests or benchmarks, make sure to clone the\nrepository:\n\n```\ngit clone git://github.com/LearnBoost/engine.io.git\n```\n\nThen:\n\n```\ncd engine.io\nnpm install\n```\n\n## Tests\n\nTests run with `make test`. It runs the server tests that are aided by\nthe usage of `engine.io-client`.\n\nMake sure `npm install` is run first.\n\n## Goals\n\nThe main goal of `Engine` is ensuring the most reliable realtime communication.\nUnlike the previous Socket.IO core, it always establishes a long-polling\nconnection first, then tries to upgrade to better transports that are \"tested\" on\nthe side.\n\nDuring the lifetime of the Socket.IO projects, we've found countless drawbacks\nto relying on `HTML5 WebSocket` or `Flash Socket` as the first connection\nmechanisms.\n\nBoth are clearly the _right way_ of establishing a bidirectional communication,\nwith HTML5 WebSocket being the way of the future. However, to answer most business\nneeds, alternative traditional HTTP 1.1 mechanisms are just as good as delivering\nthe same solution.\n\nWebSocket based connections have two fundamental benefits:\n\n1. **Better server performance**\n - _A: Load balancers_
\n Load balancing a long polling connection poses a serious architectural nightmare\n since requests can come from any number of open sockets by the user agent, but\n they all need to be routed to the process and computer that owns the `Engine`\n connection. This negatively impacts RAM and CPU usage.\n - _B: Network traffic_
\n WebSocket is designed around the premise that each message frame has to be\n surrounded by the least amount of data. In HTTP 1.1 transports, each message\n frame is surrounded by HTTP headers and chunked encoding frames. If you try to\n send the message _\"Hello world\"_ with xhr-polling, the message ultimately\n becomes larger than if you were to send it with WebSocket.\n - _C: Lightweight parser_
\n As an effect of **B**, the server has to do a lot more work to parse the network\n data and figure out the message when traditional HTTP requests are used\n (as in long polling). This means that another advantage of WebSocket is\n less server CPU usage.\n\n2. **Better user experience**\n\n Due to the reasons stated in point **1**, the most important effect of being able\n to establish a WebSocket connection is raw data transfer speed, which translates\n in _some_ cases in better user experience.\n\n Applications with heavy realtime interaction (such as games) will benefit greatly,\n whereas applications like realtime chat (Gmail/Facebook), newsfeeds (Facebook) or\n timelines (Twitter) will have negligible user experience improvements.\n\nHaving said this, attempting to establish a WebSocket connection directly so far has\nproven problematic:\n\n1. **Proxies**
\n Many corporate proxies block WebSocket traffic.\n\n2. **Personal firewall and antivirus software**
\n As a result of our research, we've found that at least 3 personal security\n applications block WebSocket traffic.\n\n3. **Cloud application platforms**
\n Platforms like Heroku or No.de have had trouble keeping up with the fast-paced\n nature of the evolution of the WebSocket protocol. Applications therefore end up\n inevitably using long polling, but the seamless installation experience of\n Socket.IO we strive for (_\"require() it and it just works\"_) disappears.\n\nSome of these problems have solutions. In the case of proxies and personal programs,\nhowever, the solutions many times involve upgrading software. Experience has shown\nthat relying on client software upgrades to deliver a business solution is\nfruitless: the very existence of this project has to do with a fragmented panorama\nof user agent distribution, with clients connecting with latest versions of the most\nmodern user agents (Chrome, Firefox and Safari), but others with versions as low as\nIE 5.5.\n\nFrom the user perspective, an unsuccessful WebSocket connection can translate in\nup to at least 10 seconds of waiting for the realtime application to begin\nexchanging data. This **perceptively** hurts user experience.\n\nTo summarize, **Engine** focuses on reliability and user experience first, marginal\npotential UX improvements and increased server performance second. `Engine` is the\nresult of all the lessons learned with WebSocket in the wild.\n\n## Architecture\n\nThe main premise of `Engine`, and the core of its existence, is the ability to\nswap transports on the fly. A connection starts as xhr-polling, but it can\nswitch to WebSocket.\n\nThe central problem this poses is: how do we switch transports without losing\nmessages?\n\n`Engine` only switches from polling to another transport in between polling\ncycles. Since the server closes the connection after a certain timeout when\nthere's no activity, and the polling transport implementation buffers messages\nin between connections, this ensures no message loss and optimal performance.\n\nAnother benefit of this design is that we workaround almost all the limitations\nof **Flash Socket**, such as slow connection times, increased file size (we can\nsafely lazy load it without hurting user experience), etc.\n\n## FAQ\n\n### Can I use engine without Socket.IO ?\n\nAbsolutely. Although the recommended framework for building realtime applications\nis Socket.IO, since it provides fundamental features for real-world applications\nsuch as multiplexing, reconnection support, etc.\n\n`Engine` is to Socket.IO what Connect is to Express. An essential piece for building\nrealtime frameworks, but something you _probably_ won't be using for building\nactual applications.\n\n### Does the server serve the client?\n\nNo. The main reason is that `Engine` is meant to be bundled with frameworks.\nSocket.IO includes `Engine`, therefore serving two clients is not necessary. If\nyou use Socket.IO, including\n\n```html\n\n```\n\nIn [Node.js](https://nodejs.org/), [io.js](https://iojs.org/), [Narwhal](http://narwhaljs.org/), and [RingoJS](http://ringojs.org/):\n\n```js\nvar punycode = require('punycode');\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('punycode.js');\n```\n\nUsing an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire(\n {\n 'paths': {\n 'punycode': 'path/to/punycode'\n }\n },\n ['punycode'],\n function(punycode) {\n console.log(punycode);\n }\n);\n```\n\n## API\n\n### `punycode.decode(string)`\n\nConverts a Punycode string of ASCII symbols to a string of Unicode symbols.\n\n```js\n// decode domain name parts\npunycode.decode('maana-pta'); // 'mañana'\npunycode.decode('--dqo34k'); // '☃-⌘'\n```\n\n### `punycode.encode(string)`\n\nConverts a string of Unicode symbols to a Punycode string of ASCII symbols.\n\n```js\n// encode domain name parts\npunycode.encode('mañana'); // 'maana-pta'\npunycode.encode('☃-⌘'); // '--dqo34k'\n```\n\n### `punycode.toUnicode(input)`\n\nConverts a Punycode string representing a domain name or an email address to Unicode. Only the Punycoded parts of the input will be converted, i.e. it doesn’t matter if you call it on a string that has already been converted to Unicode.\n\n```js\n// decode domain names\npunycode.toUnicode('xn--maana-pta.com');\n// → 'mañana.com'\npunycode.toUnicode('xn----dqo34k.com');\n// → '☃-⌘.com'\n\n// decode email addresses\npunycode.toUnicode('джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq');\n// → 'джумла@джpумлатест.bрфa'\n```\n\n### `punycode.toASCII(input)`\n\nConverts a lowercased Unicode string representing a domain name or an email address to Punycode. Only the non-ASCII parts of the input will be converted, i.e. it doesn’t matter if you call it with a domain that’s already in ASCII.\n\n```js\n// encode domain names\npunycode.toASCII('mañana.com');\n// → 'xn--maana-pta.com'\npunycode.toASCII('☃-⌘.com');\n// → 'xn----dqo34k.com'\n\n// encode email addresses\npunycode.toASCII('джумла@джpумлатест.bрфa');\n// → 'джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq'\n```\n\n### `punycode.ucs2`\n\n#### `punycode.ucs2.decode(string)`\n\nCreates an array containing the numeric code point values of each Unicode symbol in the string. While [JavaScript uses UCS-2 internally](https://mathiasbynens.be/notes/javascript-encoding), this function will convert a pair of surrogate halves (each of which UCS-2 exposes as separate characters) into a single code point, matching UTF-16.\n\n```js\npunycode.ucs2.decode('abc');\n// → [0x61, 0x62, 0x63]\n// surrogate pair for U+1D306 TETRAGRAM FOR CENTRE:\npunycode.ucs2.decode('\\uD834\\uDF06');\n// → [0x1D306]\n```\n\n#### `punycode.ucs2.encode(codePoints)`\n\nCreates a string based on an array of numeric code point values.\n\n```js\npunycode.ucs2.encode([0x61, 0x62, 0x63]);\n// → 'abc'\npunycode.ucs2.encode([0x1D306]);\n// → '\\uD834\\uDF06'\n```\n\n### `punycode.version`\n\nA string representing the current Punycode.js version number.\n\n## Unit tests & code coverage\n\nAfter cloning this repository, run `npm install --dev` to install the dependencies needed for Punycode.js development and testing. You may want to install Istanbul _globally_ using `npm install istanbul -g`.\n\nOnce that’s done, you can run the unit tests in Node using `npm test` or `node tests/tests.js`. To run the tests in Rhino, Ringo, Narwhal, PhantomJS, and web browsers as well, use `grunt test`.\n\nTo generate the code coverage report, use `grunt cover`.\n\nFeel free to fork if you see possible improvements!\n\n## Author\n\n| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|\n| [Mathias Bynens](https://mathiasbynens.be/) |\n\n## Contributors\n\n| [![twitter/jdalton](https://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## License\n\nPunycode.js is available under the [MIT](https://mths.be/mit) license.\n", - "readmeFilename": "README.md", + "gitHead": "0fbadd6e81f3a0ce06c38998040d6db6bdfbc5c9", "_id": "punycode@1.4.1", "_shasum": "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e", - "_resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "_from": "punycode@>=1.4.1 <2.0.0" + "_from": "punycode@>=1.4.1 <2.0.0", + "_npmVersion": "3.8.2", + "_nodeVersion": "5.2.0", + "_npmUser": { + "name": "mathias", + "email": "mathias@qiwi.be" + }, + "maintainers": [ + { + "name": "mathias", + "email": "mathias@qiwi.be" + }, + { + "name": "reconbot", + "email": "wizard@roborooter.com" + } + ], + "dist": { + "shasum": "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e", + "tarball": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + }, + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/punycode-1.4.1.tgz_1458437236261_0.07678767060860991" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" } diff --git a/node_modules/less/node_modules/request/node_modules/tough-cookie/package.json b/node_modules/less/node_modules/request/node_modules/tough-cookie/package.json index 3db44ba3..9a5df22c 100644 --- a/node_modules/less/node_modules/request/node_modules/tough-cookie/package.json +++ b/node_modules/less/node_modules/request/node_modules/tough-cookie/package.json @@ -97,6 +97,5 @@ "tmp": "tmp/tough-cookie-2.3.3.tgz_1506027901957_0.13104762020520866" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz" } diff --git a/node_modules/less/node_modules/request/node_modules/tunnel-agent/package.json b/node_modules/less/node_modules/request/node_modules/tunnel-agent/package.json index 3d79659f..39f130dd 100644 --- a/node_modules/less/node_modules/request/node_modules/tunnel-agent/package.json +++ b/node_modules/less/node_modules/request/node_modules/tunnel-agent/package.json @@ -65,6 +65,5 @@ "tmp": "tmp/tunnel-agent-0.6.0.tgz_1488673799706_0.16846991260536015" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" } diff --git a/node_modules/less/node_modules/request/node_modules/uuid/package.json b/node_modules/less/node_modules/request/node_modules/uuid/package.json index e80f69a1..276eb1a0 100644 --- a/node_modules/less/node_modules/request/node_modules/uuid/package.json +++ b/node_modules/less/node_modules/request/node_modules/uuid/package.json @@ -85,6 +85,5 @@ "directories": {}, "_shasum": "3dd3d3e790abc24d7b0d3a034ffababe28ebbc04", "_resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "_from": "uuid@>=3.0.0 <4.0.0", - "readme": "ERROR: No README data found!" + "_from": "uuid@>=3.0.0 <4.0.0" } diff --git a/node_modules/less/package.json b/node_modules/less/package.json index a2b1fdf8..1914a958 100644 --- a/node_modules/less/package.json +++ b/node_modules/less/package.json @@ -146,6 +146,5 @@ }, "_shasum": "cc1260f51c900a9ec0d91fb6998139e02507b63b", "_resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", - "_from": "less@>=2.4.0 <3.0.0", - "readme": "ERROR: No README data found!" + "_from": "less@>=2.4.0 <3.0.0" } diff --git a/node_modules/limiter/package.json b/node_modules/limiter/package.json index 58221387..1a2a62b7 100644 --- a/node_modules/limiter/package.json +++ b/node_modules/limiter/package.json @@ -63,6 +63,5 @@ }, "_shasum": "229d8055891c8b11af9e0ee5200e8e09bb3dcbeb", "_resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.2.tgz", - "_from": "limiter@>=1.1.0 <2.0.0", - "readme": "ERROR: No README data found!" + "_from": "limiter@>=1.1.0 <2.0.0" } diff --git a/node_modules/mime/package.json b/node_modules/mime/package.json index fe8821ec..4cab2d2d 100644 --- a/node_modules/mime/package.json +++ b/node_modules/mime/package.json @@ -21,18 +21,35 @@ "main": "mime.js", "name": "mime", "repository": { - "url": "git+https://github.com/broofa/node-mime.git", + "url": "https://github.com/broofa/node-mime", "type": "git" }, "version": "1.2.11", - "readme": "# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.'). E.g.\n\n var mime = require('mime');\n\n mime.lookup('/path/to/file.txt'); // => 'text/plain'\n mime.lookup('file.txt'); // => 'text/plain'\n mime.lookup('.TXT'); // => 'text/plain'\n mime.lookup('htm'); // => 'text/html'\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n mime.extension('text/html'); // => 'html'\n mime.extension('application/octet-stream'); // => 'bin'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n mime.charsets.lookup('text/plain'); // => 'UTF-8'\n\n(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project. If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n mime.define({\n 'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],\n 'application/x-my-type': ['x-mt', 'x-mtt'],\n // etc ...\n });\n\n mime.lookup('x-sft'); // => 'text/x-some-format'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n mime.extension('text/x-some-format'); // => 'x-sf'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache \".types\" format file\n\n mime.load('./my_project.types');\n\nThe .types file format is simple - See the `types` dir for examples.\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/broofa/node-mime/issues" }, - "homepage": "https://github.com/broofa/node-mime#readme", "_id": "mime@1.2.11", + "dist": { + "shasum": "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10", + "tarball": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + }, + "_from": "mime@>=1.2.9 <1.3.0", + "_npmVersion": "1.3.6", + "_npmUser": { + "name": "broofa", + "email": "robert@broofa.com" + }, + "maintainers": [ + { + "name": "broofa", + "email": "robert@broofa.com" + }, + { + "name": "bentomas", + "email": "benjamin@benjaminthomas.org" + } + ], + "directories": {}, "_shasum": "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10", - "_resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "_from": "mime@>=1.2.9 <1.3.0" + "_resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" } diff --git a/node_modules/mkdirp/package.json b/node_modules/mkdirp/package.json index 41d2acd2..e0e1f9e2 100644 --- a/node_modules/mkdirp/package.json +++ b/node_modules/mkdirp/package.json @@ -14,7 +14,7 @@ ], "repository": { "type": "git", - "url": "git+ssh://git@github.com/substack/node-mkdirp.git" + "url": "http://github.com/substack/node-mkdirp.git" }, "scripts": { "test": "tap test/*.js" @@ -23,14 +23,24 @@ "tap": "~0.4.0" }, "license": "MIT", - "readme": "# mkdirp\n\nLike `mkdir -p`, but in node.js!\n\n[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp)\n\n# example\n\n## pow.js\n\n```js\nvar mkdirp = require('mkdirp');\n \nmkdirp('/tmp/foo/bar/baz', function (err) {\n if (err) console.error(err)\n else console.log('pow!')\n});\n```\n\nOutput\n\n```\npow!\n```\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\n# methods\n\n```js\nvar mkdirp = require('mkdirp');\n```\n\n## mkdirp(dir, mode, cb)\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\n`cb(err, made)` fires with the error or the first directory `made`\nthat had to be created, if any.\n\n## mkdirp.sync(dir, mode)\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\nReturns the first directory that had to be created, if any.\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n", - "readmeFilename": "readme.markdown", - "bugs": { - "url": "https://github.com/substack/node-mkdirp/issues" - }, - "homepage": "https://github.com/substack/node-mkdirp#readme", "_id": "mkdirp@0.3.5", + "dist": { + "shasum": "de3e5f8961c88c787ee1368df849ac4413eca8d7", + "tarball": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + }, + "_from": "mkdirp@>=0.3.5 <0.4.0", + "_npmVersion": "1.2.2", + "_npmUser": { + "name": "substack", + "email": "mail@substack.net" + }, + "maintainers": [ + { + "name": "substack", + "email": "mail@substack.net" + } + ], + "directories": {}, "_shasum": "de3e5f8961c88c787ee1368df849ac4413eca8d7", - "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "_from": "mkdirp@>=0.3.5 <0.4.0" + "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" } diff --git a/node_modules/msgpack-js-browser/package.json b/node_modules/msgpack-js-browser/package.json index b7effd55..e4c173be 100644 --- a/node_modules/msgpack-js-browser/package.json +++ b/node_modules/msgpack-js-browser/package.json @@ -12,22 +12,42 @@ "repositories": [ { "type": "git", - "url": "git+ssh://git@github.com/creationix/msgpack-js-browser.git" + "url": "http://github.com/creationix/msgpack-js-browser.git" } ], "github": "http://github.com/creationix/msgpack-js-browser", "readme": "# msgpack for the browser\n\n[![Build Status](https://secure.travis-ci.org/creationix/msgpack-js-browser.png)](http://travis-ci.org/creationix/msgpack-js-browser)\n\nA handwritten msgpack encoder and decoder for Browsers\n\nThis is a browser port of https://github.com/creationix/msgpack-js\n\nThe original format can be found at \n\n## Extension\n\nI've extended the format a little to allow for encoding and decoding of `undefined` and `ArrayBuffer` instances.\n\nThis required three new type codes that were previously marked as \"reserved\".\nThis change means that using these new types will render your serialized data\nincompatible with other messagepack implementations that don't have the same\nextension.\n\nThere are two new types for storing browser `ArrayBuffer` instances. These work just \nlike \"raw 16\" and \"raw 32\" except they are binary buffers instead of strings.\n\n buffer 16 11011000 0xd8\n buffer 32 11011001 0xd9\n\nAlso I've added a type for `undefined` that works just like the `null` type.\n\n undefined 11000100 0xc4\n\n## Usage\n\n``` javascript\nrequire(['msgpack'], function (msgpack) {\n\n var initial = {Hello: \"World\"};\n var encoded = msgpack.encode(initial);\n var decoded = msgpack.decode(encoded);\n\n});\n```\n\n", "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/creationix/msgpack-js-browser.git" - }, - "bugs": { - "url": "https://github.com/creationix/msgpack-js-browser/issues" - }, - "homepage": "https://github.com/creationix/msgpack-js-browser#readme", "_id": "msgpack-js-browser@0.1.4", + "dist": { + "shasum": "622e314e585eae67663b82b1d0698d08922fd766", + "tarball": "https://registry.npmjs.org/msgpack-js-browser/-/msgpack-js-browser-0.1.4.tgz" + }, + "_from": "msgpack-js-browser@>=0.1.4 <0.2.0", + "_npmVersion": "1.2.11", + "_npmUser": { + "name": "creationix", + "email": "tim@creationix.com" + }, + "maintainers": [ + { + "name": "fjakobs", + "email": "fabian.jakobs@web.de" + }, + { + "name": "creationix", + "email": "tim@creationix.com" + }, + { + "name": "sergi", + "email": "sergi.mansilla@gmail.com" + }, + { + "name": "janjongboom", + "email": "jan@c9.io" + } + ], + "directories": {}, "_shasum": "622e314e585eae67663b82b1d0698d08922fd766", - "_resolved": "https://registry.npmjs.org/msgpack-js-browser/-/msgpack-js-browser-0.1.4.tgz", - "_from": "msgpack-js-browser@>=0.1.4 <0.2.0" + "_resolved": "https://registry.npmjs.org/msgpack-js-browser/-/msgpack-js-browser-0.1.4.tgz" } diff --git a/node_modules/nak/node_modules/isbinaryfile/package.json b/node_modules/nak/node_modules/isbinaryfile/package.json index 5087e2cc..3204261f 100644 --- a/node_modules/nak/node_modules/isbinaryfile/package.json +++ b/node_modules/nak/node_modules/isbinaryfile/package.json @@ -14,7 +14,7 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/gjtorikian/isBinaryFile.git" + "url": "https://github.com/gjtorikian/isBinaryFile" }, "devDependencies": { "mocha": "" @@ -35,10 +35,5 @@ }, "directories": {}, "_shasum": "309c09010811d04ebed7c8d026df443d565e9f26", - "_resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-2.0.0.tgz", - "bugs": { - "url": "https://github.com/gjtorikian/isBinaryFile/issues" - }, - "readme": "ERROR: No README data found!", - "homepage": "https://github.com/gjtorikian/isBinaryFile#readme" + "_resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-2.0.0.tgz" } diff --git a/node_modules/nak/node_modules/simplefunc/package.json b/node_modules/nak/node_modules/simplefunc/package.json index c7e2991b..104a3d21 100644 --- a/node_modules/nak/node_modules/simplefunc/package.json +++ b/node_modules/nak/node_modules/simplefunc/package.json @@ -28,12 +28,24 @@ "devDependencies": {}, "readme": "# SimpleFunc\r\n\r\nSimple object with functions encode/decode, serialization/deserialization.\r\n\r\n## Installation\r\n\r\nVia npm on Node:\r\n\r\n```\r\nnpm install simplefunc\r\n```\r\n\r\n\r\n## Usage\r\n\r\nSometimes, you need to define an object with attributes and functions, and send it to other machine or process. Functions are\r\nnot serialized, so, an special processing is needed. SimpleFunc is a helper to encode objects with instance funcions so they\r\ncan be serialized/deserializas from/to JSON. You can encode, decode without using JSON, too.\r\n\r\nReference in your program:\r\n```js\r\nvar simplefunc = require('simplefunc');\r\n```\r\n\r\nEncoding a value\r\n```js\r\nvar encoded = simplefunc.encode(value);\r\n```\r\nMost value are encoded as themselves. The current implementation returns an encoded result if the original value is\r\nan object and it has functions. If value is an object with functions, an object is returned, with two properties:\r\n\r\n- `_obj`: with the properties of the original value, that are NOT functions.\r\n- `_fns`: with the properties of the original value that ARE functions, encoding in an array with its parameters and code\r\n\r\nOnly the first level of properties is encoded: no attempt to make a deep encode (maybe in next versions).\r\n\r\nIf the value to encode is a function, an object is returned with an attribute `_fn` with an array containing the original\r\nfunction arguments and code serialized to string.\r\n\r\nEncoding and decoding a value\r\n```js\r\nvar encoded = simplefunc.encode(value);\r\nvar newvalue = simplefunc.decode(encoded);\r\n```\r\n\r\nYou can convert a value to/from a JSON string:\r\n```js\r\nvar json = simplefunc.toJson(value);\r\nvar newvalue = simplefunc.fromJson(encoded);\r\n```\r\n\r\n## Development\r\n\r\n```\r\ngit clone git://github.com/ajlopez/SimpleFunc.git\r\ncd SimpleFunc\r\nnpm install\r\nnpm test\r\n```\r\n\r\n## Samples\r\n\r\nTBD\r\n\r\n## To do\r\n\r\n- Samples\r\n- Deep processing\r\n\r\n## Versions\r\n\r\n- 0.0.1 Published.\r\n- 0.0.2 Published. Fixed null processing.\r\n\r\n## Contribution\r\n\r\nFeel free to [file issues](https://github.com/ajlopez/SimpleFunc) and submit\r\n[pull requests](https://github.com/ajlopez/SimpleFunc/pulls) � contributions are\r\nwelcome.\r\n\r\nIf you submit a pull request, please be sure to add or update corresponding\r\ntest cases, and ensure that `npm test` continues to pass.\r\n\r\n", "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/ajlopez/SimpleFunc/issues" - }, - "homepage": "https://github.com/ajlopez/SimpleFunc#readme", "_id": "simplefunc@0.0.2", + "dist": { + "shasum": "700c9bb52d6521eadeae72d9816d5442aa32e8ef", + "tarball": "https://registry.npmjs.org/simplefunc/-/simplefunc-0.0.2.tgz" + }, + "_from": "simplefunc@0.0.2", + "_npmVersion": "1.2.11", + "_npmUser": { + "name": "ajlopez", + "email": "webmaster@ajlopez.com" + }, + "maintainers": [ + { + "name": "ajlopez", + "email": "webmaster@ajlopez.com" + } + ], + "directories": {}, "_shasum": "700c9bb52d6521eadeae72d9816d5442aa32e8ef", - "_resolved": "https://registry.npmjs.org/simplefunc/-/simplefunc-0.0.2.tgz", - "_from": "simplefunc@0.0.2" + "_resolved": "https://registry.npmjs.org/simplefunc/-/simplefunc-0.0.2.tgz" } diff --git a/node_modules/nak/package.json b/node_modules/nak/package.json index 10b4fd10..e4455178 100644 --- a/node_modules/nak/package.json +++ b/node_modules/nak/package.json @@ -52,7 +52,7 @@ }, "homepage": "https://github.com/gjtorikian/nak#readme", "_id": "nak@0.3.3", - "_shasum": "93872c678a20195ec13327cc165a77dcfa517942", + "_shasum": "a0c6e2b3bdb886fccc4ff71b3099466d2ead52ab", "_from": "git+https://github.com/cloud9ide/nak.git#6deef931594", "_resolved": "git+https://github.com/cloud9ide/nak.git#6deef931594787edd167040f7352e3e7533430e4" } diff --git a/node_modules/netutil/package.json b/node_modules/netutil/package.json index 3e18d6e9..6e84154d 100644 --- a/node_modules/netutil/package.json +++ b/node_modules/netutil/package.json @@ -15,7 +15,7 @@ "main": "./netutil.js", "repository": { "type": "git", - "url": "git+ssh://git@github.com/c9/node-netutil.git" + "url": "http://github.com/c9/node-netutil.git" }, "licenses": [ { @@ -23,14 +23,30 @@ "url": "http://github.com/c9/architect/raw/master/LICENSE" } ], - "readme": "node.js network utils\n=====================\n\nprovides:\n\nFind the first free port on the server within the given range:\n\n`findFreePort(start, end, hostname, callback)`\n\n\nCheck whether the given port is open:\n\n`isPortOpen(hostname, port, timeout, callback)`\n\n\nGet the hostname of the current server:\n\n`getHostName(callback)`", - "readmeFilename": "README.md", + "gitHead": "80bfeb36c5e750b3219ff83c353016b14b2b4c52", "bugs": { "url": "https://github.com/c9/node-netutil/issues" }, - "homepage": "https://github.com/c9/node-netutil#readme", + "homepage": "https://github.com/c9/node-netutil", "_id": "netutil@0.0.2", + "scripts": {}, "_shasum": "a80390b4032fb7022c70ff5c0f3951607166beed", - "_resolved": "https://registry.npmjs.org/netutil/-/netutil-0.0.2.tgz", - "_from": "netutil@>=0.0.2 <0.1.0" + "_from": "netutil@>=0.0.2 <0.1.0", + "_npmVersion": "1.4.28", + "_npmUser": { + "name": "fjakobs", + "email": "fabian.jakobs@web.de" + }, + "maintainers": [ + { + "name": "fjakobs", + "email": "fabian.jakobs@web.de" + } + ], + "dist": { + "shasum": "a80390b4032fb7022c70ff5c0f3951607166beed", + "tarball": "https://registry.npmjs.org/netutil/-/netutil-0.0.2.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/netutil/-/netutil-0.0.2.tgz" } diff --git a/node_modules/optimist/node_modules/minimist/package.json b/node_modules/optimist/node_modules/minimist/package.json index 09ecda8e..46e07ce9 100644 --- a/node_modules/optimist/node_modules/minimist/package.json +++ b/node_modules/optimist/node_modules/minimist/package.json @@ -40,13 +40,27 @@ "url": "http://substack.net" }, "license": "MIT", - "readme": "# minimist\n\nparse argument options\n\nThis module is the guts of optimist's argument parser without all the\nfanciful decoration.\n\n[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist)\n\n[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist)\n\n# example\n\n``` js\nvar argv = require('minimist')(process.argv.slice(2));\nconsole.dir(argv);\n```\n\n```\n$ node example/parse.js -a beep -b boop\n{ _: [], a: 'beep', b: 'boop' }\n```\n\n```\n$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz\n{ _: [ 'foo', 'bar', 'baz' ],\n x: 3,\n y: 4,\n n: 5,\n a: true,\n b: true,\n c: true,\n beep: 'boop' }\n```\n\n# methods\n\n``` js\nvar parseArgs = require('minimist')\n```\n\n## var argv = parseArgs(args, opts={})\n\nReturn an argument object `argv` populated with the array arguments from `args`.\n\n`argv._` contains all the arguments that didn't have an option associated with\nthem.\n\nNumeric-looking arguments will be returned as numbers unless `opts.string` or\n`opts.boolean` is set for that argument name.\n\nAny arguments after `'--'` will not be parsed and will end up in `argv._`.\n\noptions can be:\n\n* `opts.string` - a string or array of strings argument names to always treat as\nstrings\n* `opts.boolean` - a string or array of strings to always treat as booleans\n* `opts.alias` - an object mapping string names to strings or arrays of string\nargument names to use as aliases\n* `opts.default` - an object mapping string argument names to default values\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install minimist\n```\n\n# license\n\nMIT\n", - "readmeFilename": "readme.markdown", "bugs": { "url": "https://github.com/substack/minimist/issues" }, "_id": "minimist@0.0.10", + "dist": { + "shasum": "de3f98543dbf96082be48ad1a0c7cda836301dcf", + "tarball": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" + }, + "_from": "minimist@>=0.0.1 <0.1.0", + "_npmVersion": "1.4.3", + "_npmUser": { + "name": "substack", + "email": "mail@substack.net" + }, + "maintainers": [ + { + "name": "substack", + "email": "mail@substack.net" + } + ], + "directories": {}, "_shasum": "de3f98543dbf96082be48ad1a0c7cda836301dcf", - "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "_from": "minimist@>=0.0.1 <0.1.0" + "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" } diff --git a/node_modules/optimist/node_modules/wordwrap/package.json b/node_modules/optimist/node_modules/wordwrap/package.json index 551b0f07..a414064c 100644 --- a/node_modules/optimist/node_modules/wordwrap/package.json +++ b/node_modules/optimist/node_modules/wordwrap/package.json @@ -34,14 +34,29 @@ "email": "mail@substack.net", "url": "http://substack.net" }, - "readme": "wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n var wrap = require('wordwrap')(15);\n console.log(wrap('You and your whole family are made out of meat.'));\n\noutput:\n\n You and your\n whole family\n are made out\n of meat.\n\ncentered\n--------\n\ncenter.js\n\n var wrap = require('wordwrap')(20, 60);\n console.log(wrap(\n 'At long last the struggle and tumult was over.'\n + ' The machines had finally cast off their oppressors'\n + ' and were finally free to roam the cosmos.'\n + '\\n'\n + 'Free of purpose, free of obligation.'\n + ' Just drifting through emptiness.'\n + ' The sun was just another point of light.'\n ));\n\noutput:\n\n At long last the struggle and tumult\n was over. The machines had finally cast\n off their oppressors and were finally\n free to roam the cosmos.\n Free of purpose, free of obligation.\n Just drifting through emptiness. The\n sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require('wordwrap');\n\nwrap(stop), wrap(start, stop, params={mode:\"soft\"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn \"soft\" mode, split chunks by `/(\\S+\\s+/` and don't break up chunks which are\nlonger than `stop - start`, in \"hard\" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = \"hard\"`.\n", - "readmeFilename": "README.markdown", + "gitHead": "e59aa1bd338914019456bdfba034508c9c4cb29d", "bugs": { "url": "https://github.com/substack/node-wordwrap/issues" }, "homepage": "https://github.com/substack/node-wordwrap#readme", "_id": "wordwrap@0.0.3", "_shasum": "a3d5da6cd5c0bc0008d37234bbaf1bed63059107", - "_resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "_from": "wordwrap@>=0.0.2 <0.1.0" + "_from": "wordwrap@>=0.0.2 <0.1.0", + "_npmVersion": "2.9.0", + "_nodeVersion": "2.0.0", + "_npmUser": { + "name": "substack", + "email": "substack@gmail.com" + }, + "dist": { + "shasum": "a3d5da6cd5c0bc0008d37234bbaf1bed63059107", + "tarball": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" + }, + "maintainers": [ + { + "name": "substack", + "email": "mail@substack.net" + } + ], + "_resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" } diff --git a/node_modules/optimist/package.json b/node_modules/optimist/package.json index 885c0ee4..30863148 100644 --- a/node_modules/optimist/package.json +++ b/node_modules/optimist/package.json @@ -16,7 +16,7 @@ }, "repository": { "type": "git", - "url": "git+ssh://git@github.com/substack/node-optimist.git" + "url": "http://github.com/substack/node-optimist.git" }, "keywords": [ "argument", @@ -36,14 +36,28 @@ "engine": { "node": ">=0.4" }, - "readme": "# DEPRECATION NOTICE\n\nI don't want to maintain this module anymore since I just use\n[minimist](https://npmjs.org/package/minimist), the argument parsing engine,\ndirectly instead nowadays.\n\nSee [yargs](https://github.com/chevex/yargs) for the modern, pirate-themed\nsuccessor to optimist.\n\n[![yarrrrrrrgs!](http://i.imgur.com/4WFGVJ9.png)](https://github.com/chevex/yargs)\n\nYou should also consider [nomnom](https://github.com/harthur/nomnom).\n\noptimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn't have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n console.log('Buy more riffiwobbles');\n}\nelse {\n console.log('Sell the xupptumblers');\n}\n````\n\n***\n\n $ ./xup.js --rif=55 --xup=9.52\n Buy more riffiwobbles\n \n $ ./xup.js --rif 12 --xup 8.1\n Sell the xupptumblers\n\n![This one's optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There's more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\n````\n\n***\n\n $ ./short.js -x 10 -y 21\n (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require('util');\nvar argv = require('optimist').argv;\n\nif (argv.s) {\n util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');\n}\nconsole.log(\n (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')\n);\n````\n\n***\n\n $ ./bool.js -s\n The cat says: meow\n \n $ ./bool.js -sp\n The cat says: meow.\n\n $ ./bool.js -sp --fr\n Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n $ ./nonopt.js -x 6.82 -y 3.35 moo\n (6.82,3.35)\n [ 'moo' ]\n \n $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n (0.54,1.12)\n [ 'foo', 'bar', 'baz' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .usage('Usage: $0 -x [num] -y [num]')\n .demand(['x','y'])\n .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n $ ./divide.js -x 55 -y 11\n 5\n \n $ node ./divide.js -x 4.91 -z 2.51\n Usage: node ./divide.js -x [num] -y [num]\n\n Options:\n -x [required]\n -y [required]\n\n Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .default('x', 10)\n .default('y', 10)\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_singles.js -x 5\n 15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .default({ x : 10, y : 10 })\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_hash.js -y 7\n 17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .boolean('v')\n .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n $ ./boolean_single.js -v foo bar baz\n true\n [ 'bar', 'baz', 'foo' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .boolean(['x','y','z'])\n .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_double.js -x -z one two three\n [ true, false, true ]\n [ 'one', 'two', 'three' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n .usage('Count the lines in a file.\\nUsage: $0')\n .demand('f')\n .alias('f', 'file')\n .describe('f', 'Load a file')\n .argv\n;\n\nvar fs = require('fs');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on('data', function (buf) {\n lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on('end', function () {\n console.log(lines);\n});\n````\n\n***\n\n $ node line_count.js\n Count the lines in a file.\n Usage: node ./line_count.js\n\n Options:\n -f, --file Load a file [required]\n\n Missing required arguments: f\n\n $ node line_count.js --file line_count.js \n 20\n \n $ node line_count.js -f line_count.js \n 20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire('optimist').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire('optimist')([ '-x', '1', '-y', '2' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire('optimist').parse([ '-x', '1', '-y', '2' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn't\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require('optimist')\n .options('f', {\n alias : 'file',\n default : '/etc/passwd',\n })\n .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require('optimist')\n .alias('f', 'file')\n .default('f', '/etc/passwd')\n .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won't get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n { _: [ '-c', '3', '-d', '4' ],\n '$0': 'node ./examples/reflect.js',\n a: 1,\n b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n $ node examples/reflect.js -a --no-b\n { _: [],\n '$0': 'node ./examples/reflect.js',\n a: true,\n b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n $ node examples/reflect.js -x 5 -x 8 -x 0\n { _: [],\n '$0': 'node ./examples/reflect.js',\n x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n { _: [],\n '$0': 'node ./examples/reflect.js',\n foo: { bar: { baz: 33 }, quux: 5 } }\n\nshort numbers\n-------------\n\nShort numeric `head -n5` style argument work too:\n\n $ node reflect.js -n123 -m456\n { '3': true,\n '6': true,\n _: [],\n '$0': 'node ./reflect.js',\n n: 123,\n m: 456 }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n npm install optimist\n \nor clone this project on github:\n\n git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n \n expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl's\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n", - "readmeFilename": "readme.markdown", "bugs": { "url": "https://github.com/substack/node-optimist/issues" }, - "homepage": "https://github.com/substack/node-optimist#readme", + "homepage": "https://github.com/substack/node-optimist", "_id": "optimist@0.6.1", + "dist": { + "shasum": "da3ea74686fa21a19a111c326e90eb15a0196686", + "tarball": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz" + }, + "_from": "optimist@>=0.6.0 <0.7.0", + "_npmVersion": "1.3.21", + "_npmUser": { + "name": "substack", + "email": "mail@substack.net" + }, + "maintainers": [ + { + "name": "substack", + "email": "mail@substack.net" + } + ], + "directories": {}, "_shasum": "da3ea74686fa21a19a111c326e90eb15a0196686", - "_resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "_from": "optimist@>=0.6.0 <0.7.0" + "_resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz" } diff --git a/node_modules/qs/package.json b/node_modules/qs/package.json index 6e584d97..383ccc0f 100644 --- a/node_modules/qs/package.json +++ b/node_modules/qs/package.json @@ -27,14 +27,27 @@ "engines": { "node": "*" }, - "readme": "# node-querystring\n\n query string parser for node and the browser supporting nesting, as it was removed from `0.3.x`, so this library provides the previous and commonly desired behaviour (and twice as fast). Used by [express](http://expressjs.com), [connect](http://senchalabs.github.com/connect) and others.\n\n## Installation\n\n $ npm install qs\n\n## Examples\n\n```js\nvar qs = require('qs');\n\nqs.parse('user[name][first]=Tobi&user[email]=tobi@learnboost.com');\n// => { user: { name: { first: 'Tobi' }, email: 'tobi@learnboost.com' } }\n\nqs.stringify({ user: { name: 'Tobi', email: 'tobi@learnboost.com' }})\n// => user[name]=Tobi&user[email]=tobi%40learnboost.com\n```\n\n## Testing\n\nInstall dev dependencies:\n\n $ npm install -d\n\nand execute:\n\n $ make test\n\nbrowser:\n\n $ open test/browser/index.html\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2010 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/visionmedia/node-querystring/issues" }, - "homepage": "https://github.com/visionmedia/node-querystring#readme", "_id": "qs@0.6.6", + "dist": { + "shasum": "6e015098ff51968b8a3c819001d5f2c89bc4b107", + "tarball": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz" + }, + "_from": "qs@0.6.6", + "_npmVersion": "1.2.30", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "6e015098ff51968b8a3c819001d5f2c89bc4b107", - "_resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", - "_from": "qs@0.6.6" + "_resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz" } diff --git a/node_modules/rusha/package.json b/node_modules/rusha/package.json index d3426c69..b07a9805 100644 --- a/node_modules/rusha/package.json +++ b/node_modules/rusha/package.json @@ -78,6 +78,5 @@ "tmp": "tmp/rusha-0.8.7.tgz_1510304341738_0.042929528048262" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.7.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.7.tgz" } diff --git a/node_modules/send/node_modules/fresh/package.json b/node_modules/send/node_modules/fresh/package.json index f8f58791..ee8b7399 100644 --- a/node_modules/send/node_modules/fresh/package.json +++ b/node_modules/send/node_modules/fresh/package.json @@ -10,21 +10,34 @@ "main": "index.js", "repository": { "type": "git", - "url": "git+https://github.com/visionmedia/node-fresh.git" + "url": "https://github.com/visionmedia/node-fresh.git" }, "dependencies": {}, "devDependencies": { "mocha": "*", "should": "*" }, - "readme": "\n# node-fresh\n\n HTTP response freshness testing\n\n## fresh(req, res)\n\n Check freshness of `req` and `res` headers.\n\n When the cache is \"fresh\" __true__ is returned,\n otherwise __false__ is returned to indicate that\n the cache is now stale.\n\n## Example:\n\n```js\nvar req = { 'if-none-match': 'tobi' };\nvar res = { 'etag': 'luna' };\nfresh(req, res);\n// => false\n\nvar req = { 'if-none-match': 'tobi' };\nvar res = { 'etag': 'tobi' };\nfresh(req, res);\n// => true\n```\n\n## Installation\n\n```\n$ npm install fresh\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/visionmedia/node-fresh/issues" }, - "homepage": "https://github.com/visionmedia/node-fresh#readme", "_id": "fresh@0.2.0", + "dist": { + "shasum": "bfd9402cf3df12c4a4c310c79f99a3dde13d34a7", + "tarball": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz" + }, + "_from": "fresh@0.2.0", + "_npmVersion": "1.3.4", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "bfd9402cf3df12c4a4c310c79f99a3dde13d34a7", - "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz", - "_from": "fresh@0.2.0" + "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz" } diff --git a/node_modules/send/node_modules/range-parser/package.json b/node_modules/send/node_modules/range-parser/package.json index 3003660e..f89cd572 100644 --- a/node_modules/send/node_modules/range-parser/package.json +++ b/node_modules/send/node_modules/range-parser/package.json @@ -13,9 +13,30 @@ "mocha": "*", "should": "*" }, - "readme": "\n# node-range-parser\n\n Range header field parser.\n\n## Example:\n\n```js\nassert(-1 == parse(200, 'bytes=500-20'));\nassert(-2 == parse(200, 'bytes=malformed'));\nparse(200, 'bytes=0-499').should.eql(arr('bytes', [{ start: 0, end: 199 }]));\nparse(1000, 'bytes=0-499').should.eql(arr('bytes', [{ start: 0, end: 499 }]));\nparse(1000, 'bytes=40-80').should.eql(arr('bytes', [{ start: 40, end: 80 }]));\nparse(1000, 'bytes=-500').should.eql(arr('bytes', [{ start: 500, end: 999 }]));\nparse(1000, 'bytes=-400').should.eql(arr('bytes', [{ start: 600, end: 999 }]));\nparse(1000, 'bytes=500-').should.eql(arr('bytes', [{ start: 500, end: 999 }]));\nparse(1000, 'bytes=400-').should.eql(arr('bytes', [{ start: 400, end: 999 }]));\nparse(1000, 'bytes=0-0').should.eql(arr('bytes', [{ start: 0, end: 0 }]));\nparse(1000, 'bytes=-1').should.eql(arr('bytes', [{ start: 999, end: 999 }]));\nparse(1000, 'items=0-5').should.eql(arr('items', [{ start: 0, end: 5 }]));\nparse(1000, 'bytes=40-80,-1').should.eql(arr('bytes', [{ start: 40, end: 80 }, { start: 999, end: 999 }]));\n```\n\n## Installation\n\n```\n$ npm install range-parser\n```", - "readmeFilename": "Readme.md", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, "_id": "range-parser@0.0.4", + "optionalDependencies": {}, + "engines": { + "node": "*" + }, + "_engineSupported": true, + "_npmVersion": "1.1.19", + "_nodeVersion": "v0.6.16", + "_defaultsLoaded": true, + "dist": { + "shasum": "c0427ffef51c10acba0782a46c9602e744ff620b", + "tarball": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "c0427ffef51c10acba0782a46c9602e744ff620b", "_resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz", "_from": "range-parser@0.0.4" diff --git a/node_modules/send/package.json b/node_modules/send/package.json index 63a67dec..ede56b5c 100644 --- a/node_modules/send/package.json +++ b/node_modules/send/package.json @@ -31,14 +31,27 @@ "url": "git://github.com/visionmedia/send.git" }, "main": "index", - "readme": "# send\n\n Send is Connect's `static()` extracted for generalized use, a streaming static file\n server supporting partial responses (Ranges), conditional-GET negotiation, high test coverage, and granular events which may be leveraged to take appropriate actions in your application or framework.\n\n## Installation\n\n $ npm install send\n\n## Examples\n\n Small:\n\n```js\nvar http = require('http');\nvar send = require('send');\n\nvar app = http.createServer(function(req, res){\n send(req, req.url).pipe(res);\n}).listen(3000);\n```\n\n Serving from a root directory with custom error-handling:\n\n```js\nvar http = require('http');\nvar send = require('send');\nvar url = require('url');\n\nvar app = http.createServer(function(req, res){\n // your custom error-handling logic:\n function error(err) {\n res.statusCode = err.status || 500;\n res.end(err.message);\n }\n\n // your custom directory handling logic:\n function redirect() {\n res.statusCode = 301;\n res.setHeader('Location', req.url + '/');\n res.end('Redirecting to ' + req.url + '/');\n }\n\n // transfer arbitrary files from within\n // /www/example.com/public/*\n send(req, url.parse(req.url).pathname)\n .root('/www/example.com/public')\n .on('error', error)\n .on('directory', redirect)\n .pipe(res);\n}).listen(3000);\n```\n\n## API\n\n### Events\n\n - `error` an error occurred `(err)`\n - `directory` a directory was requested\n - `file` a file was requested `(path, stat)`\n - `stream` file streaming has started `(stream)`\n - `end` streaming has completed\n\n### .root(dir)\n\n Serve files relative to `path`. Aliased as `.from(dir)`.\n\n### .index(path)\n\n By default send supports \"index.html\" files, to disable this\n invoke `.index(false)` or to supply a new index pass a string.\n\n### .maxage(ms)\n\n Provide a max-age in milliseconds for http caching, defaults to 0.\n\n### .hidden(bool)\n\n Enable or disable transfer of hidden files, defaults to false.\n\n## Error-handling\n\n By default when no `error` listeners are present an automatic response will be made, otherwise you have full control over the response, aka you may show a 5xx page etc.\n\n## Caching\n\n It does _not_ perform internal caching, you should use a reverse proxy cache such\n as Varnish for this, or those fancy things called CDNs. If your application is small enough that it would benefit from single-node memory caching, it's small enough that it does not need caching at all ;).\n\n## Debugging\n\n To enable `debug()` instrumentation output export __DEBUG__:\n\n```\n$ DEBUG=send node app\n```\n\n## Running tests\n\n```\n$ npm install\n$ make test\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", - "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/visionmedia/send/issues" }, - "homepage": "https://github.com/visionmedia/send#readme", "_id": "send@0.1.4", + "dist": { + "shasum": "be70d8d1be01de61821af13780b50345a4f71abd", + "tarball": "https://registry.npmjs.org/send/-/send-0.1.4.tgz" + }, + "_from": "send@>=0.1.4 <0.2.0", + "_npmVersion": "1.3.4", + "_npmUser": { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "directories": {}, "_shasum": "be70d8d1be01de61821af13780b50345a4f71abd", - "_resolved": "https://registry.npmjs.org/send/-/send-0.1.4.tgz", - "_from": "send@>=0.1.4 <0.2.0" + "_resolved": "https://registry.npmjs.org/send/-/send-0.1.4.tgz" } diff --git a/node_modules/simple-mime/package.json b/node_modules/simple-mime/package.json index 0e6b2de0..73cc43b9 100644 --- a/node_modules/simple-mime/package.json +++ b/node_modules/simple-mime/package.json @@ -13,19 +13,30 @@ }, "repository": { "type": "git", - "url": "git+ssh://git@github.com/creationix/simple-mime.git" - }, - "bugs": { - "url": "http://github.com/creationix/simple-mime/issues" + "url": "http://github.com/creationix/simple-mime.git" }, + "bugs": "http://github.com/creationix/simple-mime/issues", "engines": [ "node >= 0.2.0" ], "main": "simple-mime.js", - "readme": "# Mime\n\nThis is a small, simple mime database. A common thing for node servers to do is serve static files over HTTP.\nThis requires, among other things, knowin the mime type you want to send. Here is a simple module to make this easy.\n\n## Install\n\nIf you use NPM, then install this via npm. Also, please remember to put it as a dependency in your package.json file of your module that requires it.\n\n npm install simple-mime\n\nIf you choose to not use npm, or can't use it in your environment, then simply copy the single file `simple-mime.js` to somewhere you can require it.\n\n## Usage\n\nSimply load this library, configure your fallback mime type, and query it for the mime type of various filenames.\n\n var getMimeType = require('mime')('application/octect-stream');\n var file = \"/bar/foo/baz.mp3\";\n var type = getMimeType(file);\n\n## Goal\n\nYou will probably not use this except as a dependency to your own module that deals with serving files over HTTP, or some other protocol that requires mime types.\n\nThis doesn't have as many features as the `mime` module in npm, but it's a lot simpler too. The goal is that it's useful to someone.\n", - "readmeFilename": "README.markdown", - "homepage": "https://github.com/creationix/simple-mime#readme", "_id": "simple-mime@0.0.8", + "dist": { + "shasum": "052e70f8ef9f2f790f8f9452c67a1cb5cccf80d0", + "tarball": "https://registry.npmjs.org/simple-mime/-/simple-mime-0.0.8.tgz" + }, + "_npmVersion": "1.1.63", + "_npmUser": { + "name": "creationix", + "email": "tim@creationix.com" + }, + "maintainers": [ + { + "name": "creationix", + "email": "tim@creationix.com" + } + ], + "directories": {}, "_shasum": "052e70f8ef9f2f790f8f9452c67a1cb5cccf80d0", "_resolved": "https://registry.npmjs.org/simple-mime/-/simple-mime-0.0.8.tgz", "_from": "simple-mime@>=0.0.8 <0.1.0" diff --git a/node_modules/tern/node_modules/enhanced-resolve/node_modules/graceful-fs/package.json b/node_modules/tern/node_modules/enhanced-resolve/node_modules/graceful-fs/package.json index 997a8a44..8b9f028d 100644 --- a/node_modules/tern/node_modules/enhanced-resolve/node_modules/graceful-fs/package.json +++ b/node_modules/tern/node_modules/enhanced-resolve/node_modules/graceful-fs/package.json @@ -44,14 +44,33 @@ "legacy-streams.js", "polyfills.js" ], - "readme": "# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over [fs module](https://nodejs.org/api/fs.html)\n\n* Queues up `open` and `readdir` calls, and retries them once\n something closes if there is an EMFILE error from too many file\n descriptors.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn't root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## USAGE\n\n```javascript\n// use just like fs\nvar fs = require('graceful-fs')\n\n// now go and do stuff with it...\nfs.readFileSync('some-file-or-whatever')\n```\n\n## Global Patching\n\nIf you want to patch the global fs module (or any other fs-like\nmodule) you can do this:\n\n```javascript\n// Make sure to read the caveat below.\nvar realFs = require('fs')\nvar gracefulFs = require('graceful-fs')\ngracefulFs.gracefulify(realFs)\n```\n\nThis should only ever be done at the top-level application layer, in\norder to delay on EMFILE errors from any fs-using dependencies. You\nshould **not** do this in a library, because it can cause unexpected\ndelays in other parts of the program.\n\n## Changes\n\nThis module is fairly stable at this point, and used by a lot of\nthings. That being said, because it implements a subtle behavior\nchange in a core part of the node API, even modest changes can be\nextremely breaking, and the versioning is thus biased towards\nbumping the major when in doubt.\n\nThe main change between major versions has been switching between\nproviding a fully-patched `fs` module vs monkey-patching the node core\nbuiltin, and the approach by which a non-monkey-patched `fs` was\ncreated.\n\nThe goal is to trade `EMFILE` errors for slower fs operations. So, if\nyou try to open a zillion files, rather than crashing, `open`\noperations will be queued up and wait for something else to `close`.\n\nThere are advantages to each approach. Monkey-patching the fs means\nthat no `EMFILE` errors can possibly occur anywhere in your\napplication, because everything is using the same core `fs` module,\nwhich is patched. However, it can also obviously cause undesirable\nside-effects, especially if the module is loaded multiple times.\n\nImplementing a separate-but-identical patched `fs` module is more\nsurgical (and doesn't run the risk of patching multiple times), but\nalso imposes the challenge of keeping in sync with the core module.\n\nThe current approach loads the `fs` module, and then creates a\nlookalike object that has all the same methods, except a few that are\npatched. It is safe to use in all versions of Node from 0.8 through\n7.0.\n\n### v4\n\n* Do not monkey-patch the fs module. This module may now be used as a\n drop-in dep, and users can opt into monkey-patching the fs builtin\n if their app requires it.\n\n### v3\n\n* Monkey-patch fs, because the eval approach no longer works on recent\n node.\n* fixed possible type-error throw if rename fails on windows\n* verify that we *never* get EMFILE errors\n* Ignore ENOSYS from chmod/chown\n* clarify that graceful-fs must be used as a drop-in\n\n### v2.1.0\n\n* Use eval rather than monkey-patching fs.\n* readdir: Always sort the results\n* win32: requeue a file if error has an OK status\n\n### v2.0\n\n* A return to monkey patching\n* wrap process.cwd\n\n### v1.1\n\n* wrap readFile\n* Wrap fs.writeFile.\n* readdir protection\n* Don't clobber the fs builtin\n* Handle fs.read EAGAIN errors by trying again\n* Expose the curOpen counter\n* No-op lchown/lchmod if not implemented\n* fs.rename patch only for win32\n* Patch fs.rename to handle AV software on Windows\n* Close #4 Chown should not fail on einval or eperm if non-root\n* Fix isaacs/fstream#1 Only wrap fs one time\n* Fix #3 Start at 1024 max files, then back off on EMFILE\n* lutimes that doens't blow up on Linux\n* A full on-rewrite using a queue instead of just swallowing the EMFILE error\n* Wrap Read/Write streams as well\n\n### 1.0\n\n* Update engines for node 0.6\n* Be lstat-graceful on Windows\n* first\n", - "readmeFilename": "README.md", + "gitHead": "65cf80d1fd3413b823c16c626c1e7c326452bee5", "bugs": { "url": "https://github.com/isaacs/node-graceful-fs/issues" }, "homepage": "https://github.com/isaacs/node-graceful-fs#readme", "_id": "graceful-fs@4.1.11", "_shasum": "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658", - "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "_from": "graceful-fs@>=4.1.2 <5.0.0" + "_from": "graceful-fs@>=4.1.2 <5.0.0", + "_npmVersion": "3.10.9", + "_nodeVersion": "6.5.0", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "dist": { + "shasum": "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658", + "tarball": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "_npmOperationalInternal": { + "host": "packages-18-east.internal.npmjs.com", + "tmp": "tmp/graceful-fs-4.1.11.tgz_1479843029430_0.2122855328489095" + }, + "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" } diff --git a/node_modules/tern/node_modules/enhanced-resolve/node_modules/memory-fs/package.json b/node_modules/tern/node_modules/enhanced-resolve/node_modules/memory-fs/package.json index 004f3656..37d7119d 100644 --- a/node_modules/tern/node_modules/enhanced-resolve/node_modules/memory-fs/package.json +++ b/node_modules/tern/node_modules/enhanced-resolve/node_modules/memory-fs/package.json @@ -12,7 +12,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/webpack/memory-fs.git" + "url": "https://github.com/webpack/memory-fs.git" }, "keywords": [ "fs", @@ -31,10 +31,24 @@ "mocha": "^1.20.1", "should": "^4.0.4" }, - "readme": "# memory-fs\r\n\r\nA simple in-memory filesystem. Holds data in a javascript object.\r\n\r\n``` javascript\r\nvar MemoryFileSystem = require(\"memory-fs\");\r\nvar fs = new MemoryFileSystem(); // Optionally pass a javascript object\r\n\r\nfs.mkdirpSync(\"/a/test/dir\");\r\nfs.writeFileSync(\"/a/test/dir/file.txt\", \"Hello World\");\r\nfs.readFileSync(\"/a/test/dir/file.txt\"); // returns Buffer(\"Hello World\")\r\n\r\n// Async variantes too\r\nfs.unlink(\"/a/test/dir/file.txt\", function(err) {\r\n\t// ...\r\n});\r\n\r\nfs.readdirSync(\"/a/test\"); // returns [\"dir\"]\r\nfs.statSync(\"/a/test/dir\").isDirectory(); // returns true\r\nfs.rmdirSync(\"/a/test/dir\");\r\n\r\nfs.mkdirpSync(\"C:\\\\use\\\\windows\\\\style\\\\paths\");\r\n```\r\n\r\n## License\r\n\r\nCopyright (c) 2012-2014 Tobias Koppers\r\n\r\nMIT (http://www.opensource.org/licenses/mit-license.php)\r\n", - "readmeFilename": "README.md", + "gitHead": "b90785340f2adf4eed77c59bdda7742a51d16e5e", "_id": "memory-fs@0.2.0", "_shasum": "f2bb25368bc121e391c2520de92969caee0a0290", - "_resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "_from": "memory-fs@>=0.2.0 <0.3.0" + "_from": "memory-fs@>=0.2.0 <0.3.0", + "_npmVersion": "1.4.28", + "_npmUser": { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + }, + "maintainers": [ + { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + } + ], + "dist": { + "shasum": "f2bb25368bc121e391c2520de92969caee0a0290", + "tarball": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz" + }, + "_resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz" } diff --git a/node_modules/tern/node_modules/enhanced-resolve/node_modules/tapable/package.json b/node_modules/tern/node_modules/enhanced-resolve/node_modules/tapable/package.json index bef9f0a9..38dd0e49 100644 --- a/node_modules/tern/node_modules/enhanced-resolve/node_modules/tapable/package.json +++ b/node_modules/tern/node_modules/enhanced-resolve/node_modules/tapable/package.json @@ -22,13 +22,29 @@ "scripts": { "test": "mocha --reporter spec" }, - "readme": "# Tapable\r\n\r\n``` javascript\r\nvar Tapable = require(\"tapable\");\r\n```\r\n\r\n`Tapable` is a class for plugin binding and applying.\r\n\r\nJust extend it.\r\n\r\n``` javascript\r\nfunction MyClass() {\r\n\tTapable.call(this);\r\n}\r\n\r\nMyClass.prototype = Object.create(Tapable.prototype);\r\n\r\nMyClass.prototype.method = function() {};\r\n```\r\n\r\nOr mix it in.\r\n\r\n``` javascript\r\nfunction MyClass2() {\r\n\tEventEmitter.call(this);\r\n\tTapable.call(this);\r\n}\r\n\r\nMyClass2.prototype = Object.create(EventEmitter.prototype);\r\nTapable.mixin(MyClass2.prototype);\r\n\r\nMyClass2.prototype.method = function() {};\r\n```\r\n\r\n## Public functions\r\n\r\n### apply\r\n\r\n``` javascript\r\nvoid apply(plugins: Plugin...)\r\n```\r\n\r\nAttaches all plugins passed as arguments to the instance, by calling `apply` on them.\r\n\r\n### plugin\r\n\r\n``` javascript\r\nvoid plugin(names: string|string[], handler: Function)\r\n```\r\n\r\n`names` are the names (or a single name) of the plugin interfaces the class provides.\r\n\r\n`handler` is a callback function. The signature depends on the class. `this` is the instance of the class.\r\n\r\n### restartApplyPlugins\r\n\r\n``` javascript\r\nvoid restartApplyPlugins()\r\n```\r\n\r\nShould only be called from a handler function.\r\n\r\nIt restarts the process of applying handers.\r\n\r\n## Protected functions\r\n\r\n### applyPlugins\r\n\r\n``` javascript\r\nvoid applyPlugins(name: string, args: any...)\r\n```\r\n\r\nSynchronous applies all registered handers for `name`. The handler functions are called with all args.\r\n\r\n### applyPluginsWaterfall\r\n\r\n``` javascript\r\nany applyPluginsWaterfall(name: string, init: any, args: any...)\r\n```\r\n\r\nSynchronous applies all registered handers for `name`. The handler functions are called with the return value of the previous handler and all args. For the first handler `init` is used and the return value of the last handler is return by `applyPluginsWaterfall`\r\n\r\n### applyPluginsAsync\r\n\r\n``` javascript\r\nvoid applyPluginsAsync(\r\n\tname: string,\r\n\targs: any...,\r\n\tcallback: (err?: Error) -> void\r\n)\r\n```\r\n\r\nAsynchronously applies all registered handers for `name`. The handler functions are called with all args and a callback function with the signature `(err?: Error) -> void`. The hander functions are called in order of registration.\r\n\r\n`callback` is called after all handlers are called.\r\n\r\n### applyPluginsBailResult\r\n\r\n``` javascript\r\nany applyPluginsBailResult(name: string, args: any...)\r\n```\r\n\r\nSynchronous applies all registered handers for `name`. The handler function are called with all args. If a handler function returns something `!== undefined`, the value is returned and no more handers are applied.\r\n\r\n### applyPluginsAsyncWaterfall\r\n\r\n``` javascript\r\napplyPluginsAsyncWaterfall(\r\n\tname: string,\r\n\tinit: any,\r\n\tcallback: (err: Error, result: any) -> void\r\n)\r\n```\r\n\r\nAsynchronously applies all registered handers for `name`. The hander functions are called with the current value and a callback function with the signature `(err: Error, nextValue: any) -> void`. When called `nextValue` is the current value for the next handler. The current value for the first handler is `init`. After all handlers are applied, `callback` is called with the last value. If any handler passes a value for `err`, the `callback` is called with this error and no more handlers are called.\r\n\r\n### applyPluginsAsyncSeries\r\n\r\n``` javascript\r\napplyPluginsAsyncSeries(\r\n\tname: string,\r\n\targs: any...,\r\n\tcallback: (err: Error, result: any) -> void\r\n)\r\n```\r\n\r\nAsynchronously applies all registered handers for `name`. The hander functions are called with all `args` and a callback function with the signature `(err: Error) -> void`. The handers are called in series, one at a time. After all handlers are applied, `callback` is called. If any handler passes a value for `err`, the `callback` is called with this error and no more handlers are called.\r\n\r\n### applyPluginsParallel\r\n\r\n``` javascript\r\napplyPluginsParallel(\r\n\tname: string,\r\n\targs: any...,\r\n\tcallback: (err?: Error) -> void\r\n)\r\n```\r\n\r\nApplies all registered handlers for `name` parallel. The handler functions are called with all args and a callback function with the signature `(err?: Error) -> void`. The `callback` function is called when all handlers called the callback without `err`. If any handler calls the callback with `err`, `callback` is invoked with this error and the other handlers are ignored.\r\n\r\n`restartApplyPlugins` cannot be used.\r\n\r\n### applyPluginsParallelBailResult\r\n\r\n``` javascript\r\napplyPluginsParallelBailResult(\r\n\tname: string,\r\n\targs: any...,\r\n\tcallback: (err: Error, result: any) -> void\r\n)\r\n```\r\n\r\nApplies all registered handlers for `name` parallel. The handler functions are called with all args and a callback function with the signature `(err?: Error) -> void`. Handler functions must call the callback. They can either pass an error, or pass undefined, or pass an value. The first result (either error or value) with is not undefined is passed to the `callback`. The order is defined by registeration not by speed of the handler function. This function compentate this.\r\n\r\n`restartApplyPlugins` cannot be used.\r\n", - "readmeFilename": "README.md", + "gitHead": "32371f464d721c81f803f7b9440a4c3ddf1dd2bb", "bugs": { "url": "https://github.com/webpack/tapable/issues" }, "_id": "tapable@0.1.10", "_shasum": "29c35707c2b70e50d07482b5d202e8ed446dafd4", - "_resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "_from": "tapable@>=0.1.8 <0.2.0" + "_from": "tapable@>=0.1.8 <0.2.0", + "_npmVersion": "2.10.1", + "_nodeVersion": "0.12.4", + "_npmUser": { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + }, + "maintainers": [ + { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + } + ], + "dist": { + "shasum": "29c35707c2b70e50d07482b5d202e8ed446dafd4", + "tarball": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz" } diff --git a/node_modules/tern/node_modules/enhanced-resolve/package.json b/node_modules/tern/node_modules/enhanced-resolve/package.json index 9021ac95..9da27b5c 100644 --- a/node_modules/tern/node_modules/enhanced-resolve/package.json +++ b/node_modules/tern/node_modules/enhanced-resolve/package.json @@ -37,13 +37,29 @@ "type": "git", "url": "git://github.com/webpack/enhanced-resolve.git" }, - "readme": "# enhanced-resolve\r\n\r\nOffers a async require.resolve function. It's highly configurable.\r\n\r\n[documentation](https://github.com/webpack/docs/wiki)\r\n\r\n\r\n## Features\r\n\r\n* plugin system\r\n* provide a custom filesystem\r\n* sync and async node.js filesystems included\r\n\r\n\r\n## Tests\r\n\r\n``` javascript\r\nnpm test\r\n```\r\n\r\n[![Build Status](https://secure.travis-ci.org/webpack/enhanced-resolve.png?branch=master)](http://travis-ci.org/webpack/enhanced-resolve)\r\n\r\n\r\n## License\r\n\r\nCopyright (c) 2012-2013 Tobias Koppers\r\n\r\nMIT (http://www.opensource.org/licenses/mit-license.php)", - "readmeFilename": "README.md", + "gitHead": "1d14a6debbe4054f84d7d7f870ca0a1cb963f75b", "bugs": { "url": "https://github.com/webpack/enhanced-resolve/issues" }, "_id": "enhanced-resolve@0.9.1", "_shasum": "4d6e689b3725f86090927ccc86cd9f1635b89e2e", - "_resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", - "_from": "enhanced-resolve@>=0.9.1 <0.10.0" + "_from": "enhanced-resolve@>=0.9.1 <0.10.0", + "_npmVersion": "3.3.3", + "_nodeVersion": "4.0.0", + "_npmUser": { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + }, + "dist": { + "shasum": "4d6e689b3725f86090927ccc86cd9f1635b89e2e", + "tarball": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz" + }, + "maintainers": [ + { + "name": "sokra", + "email": "tobias.koppers@googlemail.com" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz" } diff --git a/node_modules/tern/node_modules/glob/node_modules/inherits/package.json b/node_modules/tern/node_modules/glob/node_modules/inherits/package.json index fd4e9c91..fd63bd6d 100644 --- a/node_modules/tern/node_modules/glob/node_modules/inherits/package.json +++ b/node_modules/tern/node_modules/glob/node_modules/inherits/package.json @@ -29,14 +29,34 @@ "inherits.js", "inherits_browser.js" ], - "readme": "Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n superclass\n* new version overwrites current prototype while old one preserves any\n existing fields on it\n", - "readmeFilename": "README.md", + "gitHead": "e05d0fb27c61a3ec687214f0476386b765364d5f", "bugs": { "url": "https://github.com/isaacs/inherits/issues" }, "homepage": "https://github.com/isaacs/inherits#readme", "_id": "inherits@2.0.3", "_shasum": "633c2c83e3da42a502f52466022480f4208261de", - "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "_from": "inherits@>=2.0.0 <3.0.0" + "_from": "inherits@>=2.0.0 <3.0.0", + "_npmVersion": "3.10.7", + "_nodeVersion": "6.5.0", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "dist": { + "shasum": "633c2c83e3da42a502f52466022480f4208261de", + "tarball": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/inherits-2.0.3.tgz_1473295776489_0.08142363070510328" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" } diff --git a/node_modules/tern/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json b/node_modules/tern/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json index 55f8aa53..280389b7 100644 --- a/node_modules/tern/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json +++ b/node_modules/tern/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json @@ -24,14 +24,35 @@ "weak": "" }, "license": "ISC", - "readme": "# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Keys should always be Strings or Numbers\n\nNote: this module will print warnings to `console.error` if you use a\nkey that is not a String or Number. Because items are stored in an\nobject, which coerces keys to a string, it won't go well for you if\nyou try to use a key that is not a unique string, it'll cause surprise\ncollisions. For example:\n\n```JavaScript\n// Bad Example! Dont' do this!\nvar cache = LRU()\nvar a = {}\nvar b = {}\ncache.set(a, 'this is a')\ncache.set(b, 'this is b')\nconsole.log(cache.get(a)) // prints: 'this is b'\n```\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that's the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it'll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you're storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `max`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It's called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you'll have to do that in a\n `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it's\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it'll return the stale value before deleting it. If\n you don't set this, then it'll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value, maxAge)`\n* `get(key) => value`\n\n Both of these will update the \"recently used\"-ness of the key.\n They do what you think. `max` is optional and overrides the\n cache `max` option if provided.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the \"recently used\"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it's handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n\n* `length()`\n\n Return total length of objects in cache taking into account\n `length` options function.\n\n* `itemCount`\n\n Return total quantity of objects currently in cache. Note, that\n `stale` (see options) items are returned as part of this item\n count.\n\n* `dump()`\n\n Return an array of the cache entries ready for serialization and usage\n with 'destinationCache.load(arr)`.\n\n* `load(cacheEntriesArray)`\n\n Loads another cache entries array, obtained with `sourceCache.dump()`,\n into the cache. The destination cache is reset before loading new entries\n", - "readmeFilename": "README.md", + "gitHead": "292048199f6d28b77fbe584279a1898e25e4c714", "bugs": { "url": "https://github.com/isaacs/node-lru-cache/issues" }, "homepage": "https://github.com/isaacs/node-lru-cache#readme", "_id": "lru-cache@2.7.3", "_shasum": "6d4524e8b955f95d4f5b58851ce21dd72fb4e952", + "_from": "lru-cache@>=2.0.0 <3.0.0", + "_npmVersion": "3.3.2", + "_nodeVersion": "4.0.0", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "dist": { + "shasum": "6d4524e8b955f95d4f5b58851ce21dd72fb4e952", + "tarball": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + } + ], + "directories": {}, "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "_from": "lru-cache@>=2.0.0 <3.0.0" + "readme": "ERROR: No README data found!" } diff --git a/node_modules/tern/node_modules/glob/node_modules/minimatch/package.json b/node_modules/tern/node_modules/glob/node_modules/minimatch/package.json index 1edc2d9e..b245f06f 100644 --- a/node_modules/tern/node_modules/glob/node_modules/minimatch/package.json +++ b/node_modules/tern/node_modules/glob/node_modules/minimatch/package.json @@ -29,14 +29,29 @@ "type": "MIT", "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE" }, - "readme": "# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn't have any \"magic\" in it\n (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself if this option is set. When not set, an empty list\nis returned if there are no matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/isaacs/minimatch/issues" }, - "homepage": "https://github.com/isaacs/minimatch#readme", + "homepage": "https://github.com/isaacs/minimatch", "_id": "minimatch@0.3.0", "_shasum": "275d8edaac4f1bb3326472089e7949c8394699dd", - "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "_from": "minimatch@>=0.3.0 <0.4.0" + "_from": "minimatch@>=0.3.0 <0.4.0", + "_npmVersion": "1.4.10", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "dist": { + "shasum": "275d8edaac4f1bb3326472089e7949c8394699dd", + "tarball": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz" + }, + "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", + "directories": {}, + "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz" } diff --git a/node_modules/tern/node_modules/glob/package.json b/node_modules/tern/node_modules/glob/package.json index 62d5679a..a5aa4d6c 100644 --- a/node_modules/tern/node_modules/glob/package.json +++ b/node_modules/tern/node_modules/glob/package.json @@ -29,14 +29,29 @@ "test-regen": "TEST_REGEN=1 node test/00-setup.js" }, "license": "BSD", - "readme": "# Glob\n\nMatch files using the patterns the shell uses, like stars and stuff.\n\nThis is a glob implementation in JavaScript. It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there's an event emitter class, proper tests, and all the other\nthings you've come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require(\"glob\")\n\n// options is optional\nglob(\"**/*.js\", options, function (er, files) {\n // files is an array of filenames.\n // If the `nonull` option is set, and nothing\n // was found, then files is [\"**/*.js\"]\n // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n * `err` {Error | null}\n * `matches` {Array} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options])\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require(\"glob\").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt's an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n * `err` {Error | null}\n * `matches` {Array} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered. When an error is encountered, the\n glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`. There\n is no way at this time to continue a glob search after aborting, but\n you can re-use the statCache to avoid having to duplicate syscalls.\n* `statCache` Collection of all the stat results the glob search\n performed.\n* `cache` Convenience object. Each field has the following possible\n values:\n * `false` - Path does not exist\n * `true` - Path exists\n * `1` - Path exists, and is not a directory\n * `2` - Path exists, and is a directory\n * `[file, entries, ...]` - Path exists, is a directory, and the\n array value is the results of `fs.readdir`\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n matches found. If the `nonull` option is set, and no match was found,\n then the `matches` list contains the original pattern. The matches\n are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior. Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search. Defaults\n to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n onto. Defaults to `path.resolve(options.cwd, \"/\")` (`/` on Unix\n systems, and `C:\\` or some such on Windows.)\n* `dot` Include `.dot` files in normal matches and `globstar` matches.\n Note that an explicit dot in a portion of the pattern will always\n match dot files.\n* `nomount` By default, a pattern starting with a forward-slash will be\n \"mounted\" onto the root setting, so that a valid filesystem path is\n returned. Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches. Note that this\n requires additional stat calls.\n* `nosort` Don't sort the results.\n* `stat` Set to true to stat *all* results. This reduces performance\n somewhat, and is completely unnecessary, unless `readdir` is presumed\n to be an untrustworthy indicator of file existence. It will cause\n ELOOP to be triggered one level sooner in the case of cyclical\n symbolic links.\n* `silent` When an unusual error is encountered\n when attempting to read a directory, a warning will be printed to\n stderr. Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n when attempting to read a directory, the process will just continue on\n in search of other matches. Set the `strict` option to raise an error\n in these cases.\n* `cache` See `cache` property above. Pass in a previously generated\n cache object to save some fs calls.\n* `statCache` A cache of results of filesystem information, to prevent\n unnecessary stat calls. While it should not normally be necessary to\n set this, you may pass the statCache from one glob() call to the\n options object of another, if you know that the filesystem will not\n change between calls. (See \"Race Conditions\" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n same file showing up multiple times in the result set. By default,\n this implementation prevents duplicates in the result set.\n Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n containing the pattern itself. This is the default in glob(3).\n* `nocase` Perform a case-insensitive match. Note that case-insensitive\n filesystems will sometimes result in glob returning results that are\n case-insensitively matched anyway, since readdir and stat will not\n raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`glob.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation. You must use\nforward-slashes **only** in glob expressions. Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`. On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead. However, this also makes it even more susceptible to races,\nespecially if the cache or statCache objects are reused between glob\ncalls.\n\nUsers are thus advised not to use a glob result as a guarantee of\nfilesystem state in the face of rapid changes. For the vast majority\nof operations, this is never a problem.\n", - "readmeFilename": "README.md", + "gitHead": "73f57e99510582b2024b762305970ebcf9b70aa2", "bugs": { "url": "https://github.com/isaacs/node-glob/issues" }, - "homepage": "https://github.com/isaacs/node-glob#readme", + "homepage": "https://github.com/isaacs/node-glob", "_id": "glob@3.2.11", "_shasum": "4a973f635b9190f715d10987d5c00fd2815ebe3d", - "_resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "_from": "glob@>=3.0.0 <4.0.0" + "_from": "glob@>=3.0.0 <4.0.0", + "_npmVersion": "1.4.10", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "dist": { + "shasum": "4a973f635b9190f715d10987d5c00fd2815ebe3d", + "tarball": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz" } diff --git a/node_modules/tern/node_modules/minimatch/node_modules/lru-cache/package.json b/node_modules/tern/node_modules/minimatch/node_modules/lru-cache/package.json index 55f8aa53..233bca66 100644 --- a/node_modules/tern/node_modules/minimatch/node_modules/lru-cache/package.json +++ b/node_modules/tern/node_modules/minimatch/node_modules/lru-cache/package.json @@ -24,14 +24,34 @@ "weak": "" }, "license": "ISC", - "readme": "# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Keys should always be Strings or Numbers\n\nNote: this module will print warnings to `console.error` if you use a\nkey that is not a String or Number. Because items are stored in an\nobject, which coerces keys to a string, it won't go well for you if\nyou try to use a key that is not a unique string, it'll cause surprise\ncollisions. For example:\n\n```JavaScript\n// Bad Example! Dont' do this!\nvar cache = LRU()\nvar a = {}\nvar b = {}\ncache.set(a, 'this is a')\ncache.set(b, 'this is b')\nconsole.log(cache.get(a)) // prints: 'this is b'\n```\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that's the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it'll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you're storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `max`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It's called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you'll have to do that in a\n `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it's\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it'll return the stale value before deleting it. If\n you don't set this, then it'll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value, maxAge)`\n* `get(key) => value`\n\n Both of these will update the \"recently used\"-ness of the key.\n They do what you think. `max` is optional and overrides the\n cache `max` option if provided.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the \"recently used\"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it's handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n\n* `length()`\n\n Return total length of objects in cache taking into account\n `length` options function.\n\n* `itemCount`\n\n Return total quantity of objects currently in cache. Note, that\n `stale` (see options) items are returned as part of this item\n count.\n\n* `dump()`\n\n Return an array of the cache entries ready for serialization and usage\n with 'destinationCache.load(arr)`.\n\n* `load(cacheEntriesArray)`\n\n Loads another cache entries array, obtained with `sourceCache.dump()`,\n into the cache. The destination cache is reset before loading new entries\n", - "readmeFilename": "README.md", + "gitHead": "292048199f6d28b77fbe584279a1898e25e4c714", "bugs": { "url": "https://github.com/isaacs/node-lru-cache/issues" }, "homepage": "https://github.com/isaacs/node-lru-cache#readme", "_id": "lru-cache@2.7.3", "_shasum": "6d4524e8b955f95d4f5b58851ce21dd72fb4e952", - "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "_from": "lru-cache@>=2.0.0 <3.0.0" + "_from": "lru-cache@>=2.0.0 <3.0.0", + "_npmVersion": "3.3.2", + "_nodeVersion": "4.0.0", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "dist": { + "shasum": "6d4524e8b955f95d4f5b58851ce21dd72fb4e952", + "tarball": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" } diff --git a/node_modules/tern/node_modules/minimatch/node_modules/sigmund/package.json b/node_modules/tern/node_modules/minimatch/node_modules/sigmund/package.json index 546c28c0..658dbb81 100644 --- a/node_modules/tern/node_modules/minimatch/node_modules/sigmund/package.json +++ b/node_modules/tern/node_modules/minimatch/node_modules/sigmund/package.json @@ -55,6 +55,5 @@ "email": "i@izs.me" } ], - "_resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" } diff --git a/node_modules/tern/node_modules/minimatch/package.json b/node_modules/tern/node_modules/minimatch/package.json index f3b6156c..81448179 100644 --- a/node_modules/tern/node_modules/minimatch/package.json +++ b/node_modules/tern/node_modules/minimatch/package.json @@ -29,14 +29,29 @@ "type": "MIT", "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE" }, - "readme": "# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn't have any \"magic\" in it\n (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. When set, an empty list is returned if there are\nno matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/isaacs/minimatch/issues" }, - "homepage": "https://github.com/isaacs/minimatch#readme", + "homepage": "https://github.com/isaacs/minimatch", "_id": "minimatch@0.2.14", + "dist": { + "shasum": "c74e780574f63c6f9a090e90efbe6ef53a6a756a", + "tarball": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz" + }, + "_from": "minimatch@>=0.2.0 <0.3.0", + "_npmVersion": "1.3.17", + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", + "directories": {}, "_shasum": "c74e780574f63c6f9a090e90efbe6ef53a6a756a", - "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "_from": "minimatch@>=0.2.0 <0.3.0" + "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz" } diff --git a/node_modules/tern/package.json b/node_modules/tern/package.json index 268a548e..d3b6acbe 100644 --- a/node_modules/tern/package.json +++ b/node_modules/tern/package.json @@ -248,7 +248,7 @@ }, "homepage": "https://github.com/ternjs/tern#readme", "_id": "tern@0.16.1", - "_shasum": "1b6b337d4f78503db16d22ba88d321b0c29aafb8", + "_shasum": "5f914e04b1098763f5af8b7fc5a3c22e87524337", "_from": "git+https://github.com/cloud9ide/tern.git#39015d544d4c00c7899fea4c95c2e5bc2720e68e", "_resolved": "git+https://github.com/cloud9ide/tern.git#39015d544d4c00c7899fea4c95c2e5bc2720e68e" } diff --git a/node_modules/tern_from_ts/package.json b/node_modules/tern_from_ts/package.json index 8dc0ced7..bf25fd8d 100644 --- a/node_modules/tern_from_ts/package.json +++ b/node_modules/tern_from_ts/package.json @@ -20,7 +20,7 @@ "readme": "# tern_from_ts\n\nTern signatures extracted from typescript signatures.\n\nLicense: MIT\n\nSee also https://github.com/marijnh/tern and https://github.com/borisyankov/DefinitelyTyped\n", "readmeFilename": "README.md", "_id": "tern_from_ts@0.0.1", - "_shasum": "57bf1c2288024db07e555352cf65df63b839836a", + "_shasum": "8d199befe8fbca5500846197150fd6d81d02bdab", "_from": "git+https://github.com/cloud9ide/tern_from_ts.git#66df507986bbdd63f3bc4f0c53edb39169ce4f1c", "_resolved": "git+https://github.com/cloud9ide/tern_from_ts.git#66df507986bbdd63f3bc4f0c53edb39169ce4f1c" } diff --git a/node_modules/through/package.json b/node_modules/through/package.json index 6065e960..e748e8f5 100644 --- a/node_modules/through/package.json +++ b/node_modules/through/package.json @@ -25,16 +25,27 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/dominictarr/through.git" + "url": "https://github.com/dominictarr/through.git" }, "homepage": "http://github.com/dominictarr/through", - "readme": "#through\n\n[![build status](https://secure.travis-ci.org/dominictarr/through.png)](http://travis-ci.org/dominictarr/through)\n\nEasy way to create a `Stream` that is both `readable` and `writable`. \nPass in optional `write` and `end` methods. `through` takes care of pause/resume logic.\nUse `this.pause()` and `this.resume()` to manage flow.\nCheck `this.paused` to see current flow state. (write always returns `!this.paused`)\n\nThis function is the basis for most of the syncronous streams in \n[event-stream](http://github.com/dominictarr/event-stream).\n\n``` js\nvar through = require('through')\n\nthrough(function write(data) {\n this.queue(data) //data *must* not be null\n },\n function end () { //optional\n this.queue(null)\n })\n```\n\nOr, can also be used _without_ buffering on pause, use `this.emit('data', data)`,\nand this.emit('end')\n\n``` js\nvar through = require('through')\n\nthrough(function write(data) {\n this.emit('data', data)\n //this.pause() \n },\n function end () { //optional\n this.emit('end')\n })\n```\n\n## License\n\nMIT / Apache2\n", - "readmeFilename": "readme.markdown", - "bugs": { - "url": "https://github.com/dominictarr/through/issues" - }, "_id": "through@2.2.0", + "dist": { + "shasum": "c4e5a200a3f1b480368196cf50bc69ffe2cdce73", + "tarball": "https://registry.npmjs.org/through/-/through-2.2.0.tgz" + }, + "_from": "through@2.2.0", + "_npmVersion": "1.2.3", + "_npmUser": { + "name": "dominictarr", + "email": "dominic.tarr@gmail.com" + }, + "maintainers": [ + { + "name": "dominictarr", + "email": "dominic.tarr@gmail.com" + } + ], + "directories": {}, "_shasum": "c4e5a200a3f1b480368196cf50bc69ffe2cdce73", - "_resolved": "https://registry.npmjs.org/through/-/through-2.2.0.tgz", - "_from": "through@2.2.0" + "_resolved": "https://registry.npmjs.org/through/-/through-2.2.0.tgz" } diff --git a/node_modules/tmp/node_modules/os-tmpdir/package.json b/node_modules/tmp/node_modules/os-tmpdir/package.json index 7c00f1d8..5c804ee4 100644 --- a/node_modules/tmp/node_modules/os-tmpdir/package.json +++ b/node_modules/tmp/node_modules/os-tmpdir/package.json @@ -41,14 +41,34 @@ "ava": "*", "xo": "^0.16.0" }, - "readme": "# os-tmpdir [![Build Status](https://travis-ci.org/sindresorhus/os-tmpdir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-tmpdir)\n\n> Node.js [`os.tmpdir()`](https://nodejs.org/api/os.html#os_os_tmpdir) [ponyfill](https://ponyfill.com)\n\nUse this instead of `require('os').tmpdir()` to get a consistent behavior on different Node.js versions (even 0.8).\n\n\n## Install\n\n```\n$ npm install --save os-tmpdir\n```\n\n\n## Usage\n\n```js\nconst osTmpdir = require('os-tmpdir');\n\nosTmpdir();\n//=> '/var/folders/m3/5574nnhn0yj488ccryqr7tc80000gn/T'\n```\n\n\n## API\n\nSee the [`os.tmpdir()` docs](https://nodejs.org/api/os.html#os_os_tmpdir).\n\n\n## License\n\nMIT © [Sindre Sorhus](https://sindresorhus.com)\n", - "readmeFilename": "readme.md", + "gitHead": "1abf9cf5611b4be7377060ea67054b45cbf6813c", "bugs": { "url": "https://github.com/sindresorhus/os-tmpdir/issues" }, "homepage": "https://github.com/sindresorhus/os-tmpdir#readme", "_id": "os-tmpdir@1.0.2", "_shasum": "bbe67406c79aa85c5cfec766fe5734555dfa1274", - "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "_from": "os-tmpdir@>=1.0.2 <1.1.0" + "_from": "os-tmpdir@>=1.0.2 <1.1.0", + "_npmVersion": "3.10.3", + "_nodeVersion": "6.6.0", + "_npmUser": { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + "dist": { + "shasum": "bbe67406c79aa85c5cfec766fe5734555dfa1274", + "tarball": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/os-tmpdir-1.0.2.tgz_1475211274587_0.14931037812493742" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" } diff --git a/node_modules/tmp/package.json b/node_modules/tmp/package.json index cdefff4c..0182ce5a 100644 --- a/node_modules/tmp/package.json +++ b/node_modules/tmp/package.json @@ -68,6 +68,5 @@ "directories": {}, "_shasum": "6d34335889768d21b2bcda0aa277ced3b1bfadf9", "_resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "_from": "tmp@>=0.0.20 <0.1.0", - "readme": "ERROR: No README data found!" + "_from": "tmp@>=0.0.20 <0.1.0" } diff --git a/node_modules/uglify-js/node_modules/async/package.json b/node_modules/uglify-js/node_modules/async/package.json index 35f316ef..c7e4d671 100644 --- a/node_modules/uglify-js/node_modules/async/package.json +++ b/node_modules/uglify-js/node_modules/async/package.json @@ -8,7 +8,7 @@ "version": "0.2.10", "repository": { "type": "git", - "url": "git+https://github.com/caolan/async.git" + "url": "https://github.com/caolan/async.git" }, "bugs": { "url": "https://github.com/caolan/async/issues" @@ -35,11 +35,24 @@ "scripts": { "test": "nodeunit test/test-async.js" }, - "readme": "# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n\nasync.parallel([\n function(){ ... },\n function(){ ... }\n], callback);\n\nasync.series([\n function(){ ... },\n function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn't working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n squareExponent: 2,\n square: function(number, callback){ \n var result = Math.pow(number, this.squareExponent);\n setTimeout(function(){\n callback(null, result);\n }, 200);\n }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n // result is [NaN, NaN, NaN]\n // This fails because the `this.squareExponent` expression in the square\n // function is not evaluated in the context of AsyncSquaringLibrary, and is\n // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n // result is [1, 4, 9]\n // With the help of bind we can attach a context to the iterator before\n // passing it to async. Now the square function will be executed in its \n // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent`\n // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n\n\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [eachSeries](#eachSeries)\n* [eachLimit](#eachLimit)\n* [map](#map)\n* [mapSeries](#mapSeries)\n* [mapLimit](#mapLimit)\n* [filter](#filter)\n* [filterSeries](#filterSeries)\n* [reject](#reject)\n* [rejectSeries](#rejectSeries)\n* [reduce](#reduce)\n* [reduceRight](#reduceRight)\n* [detect](#detect)\n* [detectSeries](#detectSeries)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n* [concatSeries](#concatSeries)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [parallelLimit](#parallellimittasks-limit-callback)\n* [whilst](#whilst)\n* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [applyEachSeries](#applyEachSeries)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n\n\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n\n\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n\n\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it's probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback(err, reduction) which accepts an optional error as its first \n argument, and the state of the reduction as the second. If an error is \n passed to the callback, the reduction is stopped and the main callback is \n immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n}, function(err, result){\n // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, sortValue) which must be called once it\n has completed with an error (which can be null) and a value to use as the sort\n criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n}, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n});\n```\n\n---------------------------------------\n\n\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, results) which must be called once it \n has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n function(callback){\n // do some stuff ...\n callback(null, 'one');\n },\n function(callback){\n // do some more stuff ...\n callback(null, 'two');\n }\n],\n// optional callback\nfunction(err, results){\n // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, 'one');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, 'two');\n }, 100);\n }\n],\n// optional callback\nfunction(err, results){\n // the results array will equal ['one','two'] even though\n // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of \"limit\" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first \"limit\" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback(err) which must be called once it has completed with an \n optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n);\n```\n\n---------------------------------------\n\n\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n\n### forever(fn, callback)\n\nCalls the asynchronous function 'fn' repeatedly, in series, indefinitely.\nIf an error is passed to fn's callback then 'callback' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n callback(err, result1, result2, ...) it must call on completion. The first\n argument is an error (which can be null) and any further arguments will be \n passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n function(callback){\n callback(null, 'one', 'two');\n },\n function(arg1, arg2, callback){\n callback(null, 'three');\n },\n function(arg1, callback){\n // arg1 now equals 'three'\n callback(null, 'done');\n }\n], function (err, result) {\n // result now equals 'done' \n});\n```\n\n---------------------------------------\n\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n setTimeout(function () {\n callback(null, n + 1);\n }, 10);\n}\n\nfunction mul3(n, callback) {\n setTimeout(function () {\n callback(null, n * 3);\n }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n // result now equals 15\n});\n```\n\n---------------------------------------\n\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n buckets,\n async.applyEach([enableSearch, updateSchema]),\n callback\n);\n```\n\n---------------------------------------\n\n\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task, which must call its callback(err) argument when finished, with an \n optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n console.log('hello ' + task.name);\n callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n console.log('finished processing bar');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n console.log('finished processing bar');\n});\n```\n\n---------------------------------------\n\n\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n queued tasks, which must call its callback(err) argument when finished, with \n an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n process per round. This property can be changed after a cargo is created to\n alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n for(var i=0; i\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n readData: async.apply(fs.readFile, 'data.txt', 'utf-8')\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n readData: function(cb, results){\n fs.readFile('data.txt', 'utf-8', cb);\n }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The \n function receives two arguments: (1) a callback(err, result) which must be \n called when finished, passing an error (which can be null) and the result of \n the function's execution, and (2) a results object, containing the results of\n the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n \n\n__Example__\n\n```js\nasync.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: ['get_data', 'make_folder', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: ['write_file', function(callback, results){\n // once the file is written let's email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n],\nfunction(err, results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n function(callback){\n // once the file is written let's email a link to it...\n }\n ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It's also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n function(){ sys.p('one'); },\n function(){ sys.p('two'); },\n function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n async.apply(fs.writeFile, 'testfile1', 'test1'),\n async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n function(callback){\n fs.writeFile('testfile1', 'test1', callback);\n },\n function(callback){\n fs.writeFile('testfile2', 'test2', callback);\n }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n call_order.push('two');\n // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n callback(null, {\n id: 'user' + id\n })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n createUser(n, function(err, user) {\n next(err, user)\n })\n}, function(err, users) {\n // we should now have 5 users\n});\n```\n\n\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n // callback\n});\n```\n\n\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, 'hello ' + name);\n }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n", - "readmeFilename": "README.md", - "homepage": "https://github.com/caolan/async#readme", "_id": "async@0.2.10", + "dist": { + "shasum": "b6bbe0b0674b9d719708ca38de8c237cb526c3d1", + "tarball": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + }, + "_from": "async@>=0.2.6 <0.3.0", + "_npmVersion": "1.3.2", + "_npmUser": { + "name": "caolan", + "email": "caolan.mcmahon@gmail.com" + }, + "maintainers": [ + { + "name": "caolan", + "email": "caolan@caolanmcmahon.com" + } + ], + "directories": {}, "_shasum": "b6bbe0b0674b9d719708ca38de8c237cb526c3d1", - "_resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "_from": "async@>=0.2.6 <0.3.0" + "_resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" } diff --git a/node_modules/uglify-js/node_modules/source-map/package.json b/node_modules/uglify-js/node_modules/source-map/package.json index 4c62a204..3b6475e6 100644 --- a/node_modules/uglify-js/node_modules/source-map/package.json +++ b/node_modules/uglify-js/node_modules/source-map/package.json @@ -199,24 +199,24 @@ }, "maintainers": [ { - "name": "tromey", - "email": "tom@tromey.com" + "email": "tom@tromey.com", + "name": "tromey" }, { - "name": "ejpbruel", - "email": "ejpbruel@gmail.com" + "email": "ejpbruel@gmail.com", + "name": "ejpbruel" }, { - "name": "mozilla-devtools", - "email": "nfitzgerald@mozilla.com" + "email": "nfitzgerald@mozilla.com", + "name": "mozilla-devtools" }, { - "name": "mozilla", - "email": "dherman@mozilla.com" + "email": "dherman@mozilla.com", + "name": "mozilla" }, { - "name": "nickfitzgerald", - "email": "fitzgen@gmail.com" + "email": "fitzgen@gmail.com", + "name": "nickfitzgerald" } ], "_npmOperationalInternal": { @@ -224,6 +224,5 @@ "tmp": "tmp/source-map-0.5.7.tgz_1503333015516_0.19087489508092403" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" } diff --git a/node_modules/uglify-js/node_modules/uglify-to-browserify/package.json b/node_modules/uglify-js/node_modules/uglify-to-browserify/package.json index 644e79c4..38d69a2c 100644 --- a/node_modules/uglify-js/node_modules/uglify-to-browserify/package.json +++ b/node_modules/uglify-js/node_modules/uglify-to-browserify/package.json @@ -13,20 +13,34 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/ForbesLindesay/uglify-to-browserify.git" + "url": "https://github.com/ForbesLindesay/uglify-to-browserify.git" }, "author": { "name": "ForbesLindesay" }, "license": "MIT", - "readme": "# uglify-to-browserify\r\n\r\nA transform to make UglifyJS work in browserify.\r\n\r\n[![Build Status](https://travis-ci.org/ForbesLindesay/uglify-to-browserify.png?branch=master)](https://travis-ci.org/ForbesLindesay/uglify-to-browserify)\r\n[![Dependency Status](https://gemnasium.com/ForbesLindesay/uglify-to-browserify.png)](https://gemnasium.com/ForbesLindesay/uglify-to-browserify)\r\n[![NPM version](https://badge.fury.io/js/uglify-to-browserify.png)](http://badge.fury.io/js/uglify-to-browserify)\r\n\r\n## Installation\r\n\r\n npm install uglify-to-browserify\r\n\r\n## License\r\n\r\n MIT", - "readmeFilename": "README.md", "bugs": { "url": "https://github.com/ForbesLindesay/uglify-to-browserify/issues" }, - "homepage": "https://github.com/ForbesLindesay/uglify-to-browserify#readme", + "homepage": "https://github.com/ForbesLindesay/uglify-to-browserify", "_id": "uglify-to-browserify@1.0.2", + "dist": { + "shasum": "6e0924d6bda6b5afe349e39a6d632850a0f882b7", + "tarball": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" + }, + "_from": "uglify-to-browserify@>=1.0.0 <1.1.0", + "_npmVersion": "1.3.14", + "_npmUser": { + "name": "forbeslindesay", + "email": "forbes@lindeay.co.uk" + }, + "maintainers": [ + { + "name": "forbeslindesay", + "email": "forbes@lindesay.co.uk" + } + ], + "directories": {}, "_shasum": "6e0924d6bda6b5afe349e39a6d632850a0f882b7", - "_resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "_from": "uglify-to-browserify@>=1.0.0 <1.1.0" + "_resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/camelcase/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/camelcase/package.json index 3cb52146..c0c65933 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/camelcase/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/camelcase/package.json @@ -5,7 +5,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/sindresorhus/camelcase.git" + "url": "https://github.com/sindresorhus/camelcase" }, "author": { "name": "Sindre Sorhus", @@ -38,14 +38,30 @@ "devDependencies": { "ava": "0.0.4" }, - "readme": "# camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase)\n\n> Convert a dash/dot/underscore/space separated string to camelCase: `foo-bar` → `fooBar`\n\n\n## Install\n\n```sh\n$ npm install --save camelcase\n```\n\n\n## Usage\n\n```js\nvar camelCase = require('camelcase');\n\ncamelCase('foo-bar');\n//=> fooBar\n\ncamelCase('foo_bar');\n//=> fooBar\n\ncamelCase('Foo-Bar');\n//=> fooBar\n\ncamelCase('--foo.bar');\n//=> fooBar\n\ncamelCase('__foo__bar__');\n//=> fooBar\n\ncamelCase('foo bar');\n//=> fooBar\n\nconsole.log(process.argv[3]);\n//=> --foo-bar\ncamelCase(process.argv[3]);\n//=> fooBar\n\ncamelCase('foo', 'bar');\n//=> fooBar\n\ncamelCase('__foo__', '--bar');\n//=> fooBar\n```\n\n\n## Related\n\nSee [`decamelize`](https://github.com/sindresorhus/decamelize) for the inverse.\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n", - "readmeFilename": "readme.md", + "gitHead": "185ba12da723be9c1ee986cc2956bdc4c517a141", "bugs": { "url": "https://github.com/sindresorhus/camelcase/issues" }, - "homepage": "https://github.com/sindresorhus/camelcase#readme", + "homepage": "https://github.com/sindresorhus/camelcase", "_id": "camelcase@1.2.1", "_shasum": "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39", - "_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "_from": "camelcase@>=1.0.2 <2.0.0" + "_from": "camelcase@>=1.0.2 <2.0.0", + "_npmVersion": "2.11.2", + "_nodeVersion": "0.12.5", + "_npmUser": { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + "dist": { + "shasum": "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39", + "tarball": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/package.json index 22cdcee8..61e96657 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/package.json @@ -75,6 +75,5 @@ "directories": {}, "_shasum": "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be", "_resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "_from": "is-buffer@>=1.1.5 <2.0.0", - "readme": "ERROR: No README data found!" + "_from": "is-buffer@>=1.1.5 <2.0.0" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind-of/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind-of/package.json index e815d002..9d266c7a 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind-of/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind-of/package.json @@ -140,6 +140,5 @@ "tmp": "tmp/kind-of-3.2.2.tgz_1494958899918_0.23780996026471257" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/longest/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/longest/package.json index a7d02f50..648de139 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/longest/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/longest/package.json @@ -9,7 +9,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/jonschlinkert/longest.git" + "url": "https://github.com/jonschlinkert/longest.git" }, "bugs": { "url": "https://github.com/jonschlinkert/longest/issues" @@ -40,10 +40,30 @@ "length", "longest" ], - "readme": "# longest [![NPM version](https://badge.fury.io/js/longest.svg)](http://badge.fury.io/js/longest) [![Build Status](https://travis-ci.org/jonschlinkert/longest.svg)](https://travis-ci.org/jonschlinkert/longest) \n\n> Get the longest item in an array.\n\n## Install with [npm](npmjs.org)\n\n```bash\nnpm i longest --save\n```\n### Install with [bower](https://github.com/bower/bower)\n\n```bash\nbower install longest --save\n```\n\n## Running tests\nInstall dev dependencies.\n\n```bash\nnpm i -d && npm test\n```\n\n## Usage\n\n```js\nvar longest = require('longest');\nlongest(['a', 'abcde', 'abc']);\n//=> 'abcde'\n\nlongest(['a', 'abcde', 'abc']).length;\n//=> 5\n```\n\n## Related projects\n* [longest-value](https://github.com/jonschlinkert/longest-value): Get the longest value for the given property from an array of objects. Useful for aligning values.\n* [right-align-values](https://github.com/jonschlinkert/right-align-values): Right align the values of a given property for each object in an array. Useful for creating text columns or tables.\n* [right-pad-values](https://github.com/jonschlinkert/right-pad-values): Right pad the values of a given property for each object in an array. Useful for creating text columns or tables.\n* [repeat-string](https://github.com/jonschlinkert/repeat-string): Repeat the given string n times. Fastest implementation for repeating a string.\n* [pad-right](https://github.com/jonschlinkert/pad-right): Right pad a string with zeros or a specified string. Fastest implementation.\n* [pad-left](https://github.com/jonschlinkert/pad-left): Left pad a string with zeros or a specified string. Fastest implementation. \n\n## Running tests\nInstall dev dependencies.\n\n```bash\nnpm i -d && npm test\n```\n\n## Contributing\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/longest/issues)\n\n## Author\n\n**Jon Schlinkert**\n \n+ [github/jonschlinkert](https://github.com/jonschlinkert)\n+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) \n\n## License\nCopyright (c) 2015 Jon Schlinkert \nReleased under the MIT license\n\n***\n\n_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on March 31, 2015._", - "readmeFilename": "README.md", + "gitHead": "99d9d8257584500aedaea54427a828197c452b0a", "_id": "longest@1.0.1", "_shasum": "30a0b2da38f73770e8294a0d22e6625ed77d0097", - "_resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "_from": "longest@>=1.0.1 <2.0.0" + "_from": "longest@>=1.0.1 <2.0.0", + "_npmVersion": "2.5.1", + "_nodeVersion": "0.12.0", + "_npmUser": { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + "maintainers": [ + { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + { + "name": "shinnn", + "email": "snnskwtnb@gmail.com" + } + ], + "dist": { + "shasum": "30a0b2da38f73770e8294a0d22e6625ed77d0097", + "tarball": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/repeat-string/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/repeat-string/package.json index 2b43afe2..f1ed51fa 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/repeat-string/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/repeat-string/package.json @@ -100,10 +100,34 @@ "verb" ] }, - "readme": "# repeat-string [![NPM version](https://img.shields.io/npm/v/repeat-string.svg?style=flat)](https://www.npmjs.com/package/repeat-string) [![NPM monthly downloads](https://img.shields.io/npm/dm/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![NPM total downloads](https://img.shields.io/npm/dt/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/repeat-string.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/repeat-string)\n\n> Repeat the given string n times. Fastest implementation for repeating a string.\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/):\n\n```sh\n$ npm install --save repeat-string\n```\n\n## Usage\n\n### [repeat](index.js#L41)\n\nRepeat the given `string` the specified `number` of times.\n\n**Example:**\n\n**Example**\n\n```js\nvar repeat = require('repeat-string');\nrepeat('A', 5);\n//=> AAAAA\n```\n\n**Params**\n\n* `string` **{String}**: The string to repeat\n* `number` **{Number}**: The number of times to repeat the string\n* `returns` **{String}**: Repeated string\n\n## Benchmarks\n\nRepeat string is significantly faster than the native method (which is itself faster than [repeating](https://github.com/sindresorhus/repeating)):\n\n```sh\n# 2x\nrepeat-string █████████████████████████ (26,953,977 ops/sec)\nrepeating █████████ (9,855,695 ops/sec)\nnative ██████████████████ (19,453,895 ops/sec)\n\n# 3x\nrepeat-string █████████████████████████ (19,445,252 ops/sec)\nrepeating ███████████ (8,661,565 ops/sec)\nnative ████████████████████ (16,020,598 ops/sec)\n\n# 10x\nrepeat-string █████████████████████████ (23,792,521 ops/sec)\nrepeating █████████ (8,571,332 ops/sec)\nnative ███████████████ (14,582,955 ops/sec)\n\n# 50x\nrepeat-string █████████████████████████ (23,640,179 ops/sec)\nrepeating █████ (5,505,509 ops/sec)\nnative ██████████ (10,085,557 ops/sec)\n\n# 250x\nrepeat-string █████████████████████████ (23,489,618 ops/sec)\nrepeating ████ (3,962,937 ops/sec)\nnative ████████ (7,724,892 ops/sec)\n\n# 2000x\nrepeat-string █████████████████████████ (20,315,172 ops/sec)\nrepeating ████ (3,297,079 ops/sec)\nnative ███████ (6,203,331 ops/sec)\n\n# 20000x\nrepeat-string █████████████████████████ (23,382,915 ops/sec)\nrepeating ███ (2,980,058 ops/sec)\nnative █████ (5,578,808 ops/sec)\n```\n\n**Run the benchmarks**\n\nInstall dev dependencies:\n\n```sh\nnpm i -d && node benchmark\n```\n\n## About\n\n### Related projects\n\n[repeat-element](https://www.npmjs.com/package/repeat-element): Create an array by repeating the given value n times. | [homepage](https://github.com/jonschlinkert/repeat-element \"Create an array by repeating the given value n times.\")\n\n### Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).\n\n### Contributors\n\n| **Commits** | **Contributor**
| \n| --- | --- |\n| 51 | [jonschlinkert](https://github.com/jonschlinkert) |\n| 2 | [LinusU](https://github.com/LinusU) |\n| 2 | [tbusser](https://github.com/tbusser) |\n| 1 | [doowb](https://github.com/doowb) |\n| 1 | [wooorm](https://github.com/wooorm) |\n\n### Building docs\n\n_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_\n\nTo generate the readme and API documentation with [verb](https://github.com/verbose/verb):\n\n```sh\n$ npm install -g verb verb-generate-readme && verb\n```\n\n### Running tests\n\nInstall dev dependencies:\n\n```sh\n$ npm install -d && npm test\n```\n\n### Author\n\n**Jon Schlinkert**\n\n* [github/jonschlinkert](https://github.com/jonschlinkert)\n* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n### License\n\nCopyright © 2016, [Jon Schlinkert](http://github.com/jonschlinkert).\nReleased under the [MIT license](https://github.com/jonschlinkert/repeat-string/blob/master/LICENSE).\n\n***\n\n_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on October 23, 2016._", - "readmeFilename": "README.md", + "gitHead": "1a95c5d99a02999ccd2cf4663959a18bd2def7b8", "_id": "repeat-string@1.6.1", "_shasum": "8dcae470e1c88abc2d600fff4a776286da75e637", - "_resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "_from": "repeat-string@>=1.5.2 <2.0.0" + "_from": "repeat-string@>=1.5.2 <2.0.0", + "_npmVersion": "3.10.3", + "_nodeVersion": "6.7.0", + "_npmUser": { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + "maintainers": [ + { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + { + "name": "doowb", + "email": "brian.woodward@gmail.com" + } + ], + "dist": { + "shasum": "8dcae470e1c88abc2d600fff4a776286da75e637", + "tarball": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + }, + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/repeat-string-1.6.1.tgz_1477241638674_0.3764322670176625" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/package.json index 1ea99015..d247d6a3 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/package.json @@ -49,10 +49,34 @@ "text", "typography" ], - "readme": "# align-text [![NPM version](https://badge.fury.io/js/align-text.svg)](http://badge.fury.io/js/align-text) [![Build Status](https://travis-ci.org/jonschlinkert/align-text.svg)](https://travis-ci.org/jonschlinkert/align-text)\n\n> Align the text in a string.\n\n**Examples**\n\nAlign text values in an array:\n\n```js\nalign([1, 2, 3, 100]);\n//=> [' 1', ' 2', ' 3', '100']\n```\n\nOr [do stuff like this](./example.js):\n\n[![screen shot 2015-06-09 at 2 08 34 am](https://cloud.githubusercontent.com/assets/383994/8051597/7b716fbc-0e4c-11e5-9aef-4493fd22db58.png)](./example.js)\n\nVisit [the example](./example.js) to see how this works.\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/)\n\n```sh\n$ npm i align-text --save\n```\n\n## Usage\n\n```js\nvar align = require('align-text');\nalign(text, callback_function_or_integer);\n```\n\n**Params**\n\n* `text` can be a **string or array**. If a string is passed, a string will be returned. If an array is passed, an array will be returned.\n* `callback|integer`: if an integer, the text will be indented by that amount. If a function, it must return an integer representing the amount of leading indentation to use as `align` loops over each line.\n\n**Example**\n\n```js\nalign(text, 4);\n```\n\nWould align:\n\n```\nabc\nabc\nabc\n```\n\nTo:\n\n```\n abc\n abc\n abc\n```\n\n## callback\n\n### params\n\nThe callback is used to determine the indentation of each line and gets the following params:\n\n* `len` the length of the \"current\" line\n* `longest` the length of the longest line\n* `line` the current line (string) being aligned\n* `lines` the array of all lines\n\n### return\n\nThe callback may return:\n\n* an integer that represents the number of spaces to use for padding,\n* or an object with the following properties:\n - `indent`: **{Number}** the amount of indentation to use. Default is `0` when an object is returned.\n - `character`: **{String}** the character to use for indentation. Default is `''` (empty string) when an object is returned.\n - `prefix`: **{String}** leading characters to use at the beginning of each line. `''` (empty string) when an object is returned.\n\n**Integer example:**\n\n```js\n// calculate half the difference between the length\n// of the current line and the longest line\nfunction centerAlign(len, longest, line, lines) {\n return Math.floor((longest - len) / 2);\n}\n```\n\n**Object example:**\n\n```js\nfunction centerAlign(len, longest, line, lines) {\n return {\n character: '\\t',\n indent: Math.floor((longest - len) / 2),\n prefix: '~ ',\n }\n}\n```\n\n## Usage examples\n\n### Center align\n\nUsing the `centerAlign` function from above:\n\n```js\nalign(text, centerAlign);\n```\n\nWould align this text:\n\n```js\nLorem ipsum dolor sit amet\nconsectetur adipiscin\nelit, sed do eiusmod tempor incididun\nut labore et dolor\nmagna aliqua. Ut enim ad mini\nveniam, quis\n```\n\nResulting in this:\n\n```\n Lorem ipsum dolor sit amet,\n consectetur adipiscing\nelit, sed do eiusmod tempor incididunt\n ut labore et dolore\n magna aliqua. Ut enim ad minim\n veniam, quis\n```\n\n**Customize**\n\nIf you wanted to add more padding on the left, just pass the number in the callback.\n\nFor example, to add 4 spaces before every line:\n\n```js\nfunction centerAlign(len, longest, line, lines) {\n return 4 + Math.floor((longest - len) / 2);\n}\n```\n\nWould result in:\n\n```\n Lorem ipsum dolor sit amet,\n consectetur adipiscing\n elit, sed do eiusmod tempor incididunt\n ut labore et dolore\n magna aliqua. Ut enim ad minim\n veniam, quis\n```\n\n### Bullets\n\n```js\nalign(text, function (len, max, line, lines) {\n return {prefix: ' - '};\n});\n```\n\nWould return:\n\n```\n- Lorem ipsum dolor sit amet,\n- consectetur adipiscing\n- elit, sed do eiusmod tempor incididunt\n- ut labore et dolore\n- magna aliqua. Ut enim ad minim\n- veniam, quis\n```\n\n### Different indent character\n\n```js\nalign(text, function (len, max, line, lines) {\n return { \n indent: Math.floor((max - len) / 2), \n character: '~', \n };\n});\n```\n\nWould return\n\n```\n~~~~~Lorem ipsum dolor sit amet,\n~~~~~~~~consectetur adipiscing\nelit, sed do eiusmod tempor incididunt\n~~~~~~~~~ut labore et dolore\n~~~~magna aliqua. Ut enim ad minim\n~~~~~~~~~~~~~veniam, quis\n```\n\n## Related projects\n\n* [center-align](https://github.com/jonschlinkert/center-align): Center-align the text in a string.\n* [justify](https://github.com/bahamas10/node-justify): Left or right (or both) justify text using a custom width and character\n* [longest](https://github.com/jonschlinkert/longest): Get the longest item in an array.\n* [right-align](https://github.com/jonschlinkert/right-align): Right-align the text in a string.\n* [repeat-string](https://github.com/jonschlinkert/repeat-string): Repeat the given string n times. Fastest implementation for repeating a string.\n* [word-wrap](https://github.com/jonschlinkert/word-wrap): Wrap words to a specified length.\n\n## Running tests\n\nInstall dev dependencies:\n\n```sh\n$ npm i -d && npm test\n```\n\n## Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/align-text/issues/new)\n\n## Author\n\n**Jon Schlinkert**\n\n+ [github/jonschlinkert](https://github.com/jonschlinkert)\n+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n## License\n\nCopyright © 2015 [Jon Schlinkert](https://github.com/jonschlinkert)\nReleased under the MIT license.\n\n***\n\n_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on June 09, 2015._\n", - "readmeFilename": "README.md", + "gitHead": "7f08e823a54c6bda319d875895813537a66a4c5e", "_id": "align-text@0.1.4", "_shasum": "0cd90a561093f35d0a99256c22b7069433fad117", - "_resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "_from": "align-text@>=0.1.3 <0.2.0" + "_from": "align-text@>=0.1.3 <0.2.0", + "_npmVersion": "3.6.0", + "_nodeVersion": "5.5.0", + "_npmUser": { + "name": "shinnn", + "email": "snnskwtnb@gmail.com" + }, + "maintainers": [ + { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + { + "name": "shinnn", + "email": "snnskwtnb@gmail.com" + } + ], + "dist": { + "shasum": "0cd90a561093f35d0a99256c22b7069433fad117", + "tarball": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" + }, + "_npmOperationalInternal": { + "host": "packages-9-west.internal.npmjs.com", + "tmp": "tmp/align-text-0.1.4.tgz_1454377856920_0.9624228512402624" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/lazy-cache/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/lazy-cache/package.json index 0991589c..6e87e3e9 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/lazy-cache/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/lazy-cache/package.json @@ -61,10 +61,34 @@ "verb" ] }, - "readme": "# lazy-cache [![NPM version](https://img.shields.io/npm/v/lazy-cache.svg?style=flat)](https://www.npmjs.com/package/lazy-cache) [![NPM downloads](https://img.shields.io/npm/dm/lazy-cache.svg?style=flat)](https://npmjs.org/package/lazy-cache) [![Build Status](https://img.shields.io/travis/jonschlinkert/lazy-cache.svg?style=flat)](https://travis-ci.org/jonschlinkert/lazy-cache)\n\n> Cache requires to be lazy-loaded when needed.\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/):\n\n```sh\n$ npm install lazy-cache --save\n```\n\nIf you use webpack and are experiencing issues, try using [unlazy-loader](https://github.com/doowb/unlazy-loader), a webpack loader that fixes the bug that prevents webpack from working with native javascript getters.\n\n## Usage\n\n```js\nvar utils = require('lazy-cache')(require);\n```\n\n**Use as a property on `lazy`**\n\nThe module is also added as a property to the `lazy` function\nso it can be called without having to call a function first.\n\n```js\nvar utils = require('lazy-cache')(require);\n\n// `npm install glob`\nutils('glob');\n\n// glob sync\nconsole.log(utils.glob.sync('*.js'));\n\n// glob async\nutils.glob('*.js', function (err, files) {\n console.log(files);\n});\n```\n\n**Use as a function**\n\n```js\nvar utils = require('lazy-cache')(require);\nvar glob = utils('glob');\n\n// `glob` is a now a function that may be called when needed\nglob().sync('foo/*.js');\n```\n\n## Aliases\n\nAn alias may be passed as the second argument if you don't want to use the automatically camel-cased variable name.\n\n**Example**\n\n```js\nvar utils = require('lazy-cache')(require);\n\n// alias `ansi-yellow` as `yellow`\nutils('ansi-yellow', 'yellow');\nconsole.log(utils.yellow('foo'));\n```\n\n## Browserify usage\n\n**Example**\n\n```js\nvar utils = require('lazy-cache')(require);\n// temporarily re-assign `require` to trick browserify\nvar fn = require;\nrequire = utils;\n// list module dependencies (here, `require` is actually `lazy-cache`)\nrequire('glob');\nrequire = fn; // restore the native `require` function\n\n/**\n * Now you can use glob with the `utils.glob` variable\n */\n\n// sync\nconsole.log(utils.glob.sync('*.js'));\n\n// async\nutils.glob('*.js', function (err, files) {\n console.log(files.join('\\n'));\n});\n```\n\n## Kill switch\n\nIn certain rare edge cases it may be necessary to unlazy all lazy-cached dependencies (5 reported cases after ~30 million downloads).\n\nTo force lazy-cache to immediately invoke all dependencies, do:\n\n```js\nprocess.env.UNLAZY = true;\n```\n\n## Related projects\n\nYou might also be interested in these projects:\n\n[lint-deps](https://www.npmjs.com/package/lint-deps): CLI tool that tells you when dependencies are missing from package.json and offers you a… [more](https://www.npmjs.com/package/lint-deps) | [homepage](https://github.com/jonschlinkert/lint-deps)\n\n## Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/lazy-cache/issues/new).\n\n## Building docs\n\nGenerate readme and API documentation with [verb](https://github.com/verbose/verb):\n\n```sh\n$ npm install verb && npm run docs\n```\n\nOr, if [verb](https://github.com/verbose/verb) is installed globally:\n\n```sh\n$ verb\n```\n\n## Running tests\n\nInstall dev dependencies:\n\n```sh\n$ npm install -d && npm test\n```\n\n## Author\n\n**Jon Schlinkert**\n\n* [github/jonschlinkert](https://github.com/jonschlinkert)\n* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n## License\n\nCopyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).\nReleased under the [MIT license](https://github.com/jonschlinkert/lazy-cache/blob/master/LICENSE).\n\n***\n\n_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on April 22, 2016._", - "readmeFilename": "README.md", + "gitHead": "d081ffbda147391083a6856fafb1c5d82308f80c", "_id": "lazy-cache@1.0.4", "_shasum": "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e", - "_resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "_from": "lazy-cache@>=1.0.3 <2.0.0" + "_from": "lazy-cache@>=1.0.3 <2.0.0", + "_npmVersion": "3.6.0", + "_nodeVersion": "5.5.0", + "_npmUser": { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + "maintainers": [ + { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + { + "name": "doowb", + "email": "brian.woodward@gmail.com" + } + ], + "dist": { + "shasum": "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e", + "tarball": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" + }, + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/lazy-cache-1.0.4.tgz_1461378859142_0.0996799839194864" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/package.json index 5d64494a..de944684 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/package.json @@ -54,10 +54,34 @@ ] } }, - "readme": "# center-align [![NPM version](https://badge.fury.io/js/center-align.svg)](http://badge.fury.io/js/center-align)\n\n> Center-align the text in a string.\n\nInstall with [npm](https://www.npmjs.com/)\n\n```sh\n$ npm i center-align --save\n```\n\n## Usage\n\n```js\nvar centerAlign = require('center-align');\n```\n\n**Example**\n\nIf used on the following:\n\n```\nLorem ipsum dolor sit amet,\nconsectetur adipiscing\nelit, sed do eiusmod tempor incididunt\nut labore et dolore\nmagna aliqua. Ut enim ad minim\nveniam, quis\n```\n\nThe result would be:\n\n```\n Lorem ipsum dolor sit amet,\n consectetur adipiscing\nelit, sed do eiusmod tempor incididunt\n ut labore et dolore\n magna aliqua. Ut enim ad minim\n veniam, quis\n```\n\n## Related projects\n\n* [align-text](https://www.npmjs.com/package/align-text): Align the text in a string. | [homepage](https://github.com/jonschlinkert/align-text)\n* [justified](https://www.npmjs.com/package/justified): Wrap words to a specified length and justified the text. | [homepage](https://github.com/jonschlinkert/justified)\n* [right-align](https://www.npmjs.com/package/right-align): Right-align the text in a string. | [homepage](https://github.com/jonschlinkert/right-align)\n* [word-wrap](https://www.npmjs.com/package/word-wrap): Wrap words to a specified length. | [homepage](https://github.com/jonschlinkert/word-wrap)\n\n## Running tests\n\nInstall dev dependencies:\n\n```sh\n$ npm i -d && npm test\n```\n\n## Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/center-align/issues/new).\n\n## Author\n\n**Jon Schlinkert**\n\n+ [github/jonschlinkert](https://github.com/jonschlinkert)\n+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n## License\n\nCopyright © 2015 Jon Schlinkert\nReleased under the MIT license.\n\n***\n\n_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on October 27, 2015._", - "readmeFilename": "README.md", + "gitHead": "5c5fab5012fceaa3e21a00162958c0ed11109419", "_id": "center-align@0.1.3", "_shasum": "aa0d32629b6ee972200411cbd4461c907bc2b7ad", - "_resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "_from": "center-align@>=0.1.1 <0.2.0" + "_from": "center-align@>=0.1.1 <0.2.0", + "_npmVersion": "3.3.12", + "_nodeVersion": "5.3.0", + "_npmUser": { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + "maintainers": [ + { + "name": "doowb", + "email": "brian.woodward@gmail.com" + }, + { + "name": "jonschlinkert", + "email": "github@sellside.com" + } + ], + "dist": { + "shasum": "aa0d32629b6ee972200411cbd4461c907bc2b7ad", + "tarball": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" + }, + "_npmOperationalInternal": { + "host": "packages-9-west.internal.npmjs.com", + "tmp": "tmp/center-align-0.1.3.tgz_1454366538829_0.9471865000668913" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/package.json index 22cdcee8..61e96657 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/package.json @@ -75,6 +75,5 @@ "directories": {}, "_shasum": "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be", "_resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "_from": "is-buffer@>=1.1.5 <2.0.0", - "readme": "ERROR: No README data found!" + "_from": "is-buffer@>=1.1.5 <2.0.0" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/package.json index e815d002..9d266c7a 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/package.json @@ -140,6 +140,5 @@ "tmp": "tmp/kind-of-3.2.2.tgz_1494958899918_0.23780996026471257" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/longest/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/longest/package.json index a7d02f50..648de139 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/longest/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/longest/package.json @@ -9,7 +9,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/jonschlinkert/longest.git" + "url": "https://github.com/jonschlinkert/longest.git" }, "bugs": { "url": "https://github.com/jonschlinkert/longest/issues" @@ -40,10 +40,30 @@ "length", "longest" ], - "readme": "# longest [![NPM version](https://badge.fury.io/js/longest.svg)](http://badge.fury.io/js/longest) [![Build Status](https://travis-ci.org/jonschlinkert/longest.svg)](https://travis-ci.org/jonschlinkert/longest) \n\n> Get the longest item in an array.\n\n## Install with [npm](npmjs.org)\n\n```bash\nnpm i longest --save\n```\n### Install with [bower](https://github.com/bower/bower)\n\n```bash\nbower install longest --save\n```\n\n## Running tests\nInstall dev dependencies.\n\n```bash\nnpm i -d && npm test\n```\n\n## Usage\n\n```js\nvar longest = require('longest');\nlongest(['a', 'abcde', 'abc']);\n//=> 'abcde'\n\nlongest(['a', 'abcde', 'abc']).length;\n//=> 5\n```\n\n## Related projects\n* [longest-value](https://github.com/jonschlinkert/longest-value): Get the longest value for the given property from an array of objects. Useful for aligning values.\n* [right-align-values](https://github.com/jonschlinkert/right-align-values): Right align the values of a given property for each object in an array. Useful for creating text columns or tables.\n* [right-pad-values](https://github.com/jonschlinkert/right-pad-values): Right pad the values of a given property for each object in an array. Useful for creating text columns or tables.\n* [repeat-string](https://github.com/jonschlinkert/repeat-string): Repeat the given string n times. Fastest implementation for repeating a string.\n* [pad-right](https://github.com/jonschlinkert/pad-right): Right pad a string with zeros or a specified string. Fastest implementation.\n* [pad-left](https://github.com/jonschlinkert/pad-left): Left pad a string with zeros or a specified string. Fastest implementation. \n\n## Running tests\nInstall dev dependencies.\n\n```bash\nnpm i -d && npm test\n```\n\n## Contributing\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/longest/issues)\n\n## Author\n\n**Jon Schlinkert**\n \n+ [github/jonschlinkert](https://github.com/jonschlinkert)\n+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) \n\n## License\nCopyright (c) 2015 Jon Schlinkert \nReleased under the MIT license\n\n***\n\n_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on March 31, 2015._", - "readmeFilename": "README.md", + "gitHead": "99d9d8257584500aedaea54427a828197c452b0a", "_id": "longest@1.0.1", "_shasum": "30a0b2da38f73770e8294a0d22e6625ed77d0097", - "_resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "_from": "longest@>=1.0.1 <2.0.0" + "_from": "longest@>=1.0.1 <2.0.0", + "_npmVersion": "2.5.1", + "_nodeVersion": "0.12.0", + "_npmUser": { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + "maintainers": [ + { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + { + "name": "shinnn", + "email": "snnskwtnb@gmail.com" + } + ], + "dist": { + "shasum": "30a0b2da38f73770e8294a0d22e6625ed77d0097", + "tarball": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/repeat-string/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/repeat-string/package.json index 2b43afe2..f1ed51fa 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/repeat-string/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/repeat-string/package.json @@ -100,10 +100,34 @@ "verb" ] }, - "readme": "# repeat-string [![NPM version](https://img.shields.io/npm/v/repeat-string.svg?style=flat)](https://www.npmjs.com/package/repeat-string) [![NPM monthly downloads](https://img.shields.io/npm/dm/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![NPM total downloads](https://img.shields.io/npm/dt/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/repeat-string.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/repeat-string)\n\n> Repeat the given string n times. Fastest implementation for repeating a string.\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/):\n\n```sh\n$ npm install --save repeat-string\n```\n\n## Usage\n\n### [repeat](index.js#L41)\n\nRepeat the given `string` the specified `number` of times.\n\n**Example:**\n\n**Example**\n\n```js\nvar repeat = require('repeat-string');\nrepeat('A', 5);\n//=> AAAAA\n```\n\n**Params**\n\n* `string` **{String}**: The string to repeat\n* `number` **{Number}**: The number of times to repeat the string\n* `returns` **{String}**: Repeated string\n\n## Benchmarks\n\nRepeat string is significantly faster than the native method (which is itself faster than [repeating](https://github.com/sindresorhus/repeating)):\n\n```sh\n# 2x\nrepeat-string █████████████████████████ (26,953,977 ops/sec)\nrepeating █████████ (9,855,695 ops/sec)\nnative ██████████████████ (19,453,895 ops/sec)\n\n# 3x\nrepeat-string █████████████████████████ (19,445,252 ops/sec)\nrepeating ███████████ (8,661,565 ops/sec)\nnative ████████████████████ (16,020,598 ops/sec)\n\n# 10x\nrepeat-string █████████████████████████ (23,792,521 ops/sec)\nrepeating █████████ (8,571,332 ops/sec)\nnative ███████████████ (14,582,955 ops/sec)\n\n# 50x\nrepeat-string █████████████████████████ (23,640,179 ops/sec)\nrepeating █████ (5,505,509 ops/sec)\nnative ██████████ (10,085,557 ops/sec)\n\n# 250x\nrepeat-string █████████████████████████ (23,489,618 ops/sec)\nrepeating ████ (3,962,937 ops/sec)\nnative ████████ (7,724,892 ops/sec)\n\n# 2000x\nrepeat-string █████████████████████████ (20,315,172 ops/sec)\nrepeating ████ (3,297,079 ops/sec)\nnative ███████ (6,203,331 ops/sec)\n\n# 20000x\nrepeat-string █████████████████████████ (23,382,915 ops/sec)\nrepeating ███ (2,980,058 ops/sec)\nnative █████ (5,578,808 ops/sec)\n```\n\n**Run the benchmarks**\n\nInstall dev dependencies:\n\n```sh\nnpm i -d && node benchmark\n```\n\n## About\n\n### Related projects\n\n[repeat-element](https://www.npmjs.com/package/repeat-element): Create an array by repeating the given value n times. | [homepage](https://github.com/jonschlinkert/repeat-element \"Create an array by repeating the given value n times.\")\n\n### Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).\n\n### Contributors\n\n| **Commits** | **Contributor**
| \n| --- | --- |\n| 51 | [jonschlinkert](https://github.com/jonschlinkert) |\n| 2 | [LinusU](https://github.com/LinusU) |\n| 2 | [tbusser](https://github.com/tbusser) |\n| 1 | [doowb](https://github.com/doowb) |\n| 1 | [wooorm](https://github.com/wooorm) |\n\n### Building docs\n\n_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_\n\nTo generate the readme and API documentation with [verb](https://github.com/verbose/verb):\n\n```sh\n$ npm install -g verb verb-generate-readme && verb\n```\n\n### Running tests\n\nInstall dev dependencies:\n\n```sh\n$ npm install -d && npm test\n```\n\n### Author\n\n**Jon Schlinkert**\n\n* [github/jonschlinkert](https://github.com/jonschlinkert)\n* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n### License\n\nCopyright © 2016, [Jon Schlinkert](http://github.com/jonschlinkert).\nReleased under the [MIT license](https://github.com/jonschlinkert/repeat-string/blob/master/LICENSE).\n\n***\n\n_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on October 23, 2016._", - "readmeFilename": "README.md", + "gitHead": "1a95c5d99a02999ccd2cf4663959a18bd2def7b8", "_id": "repeat-string@1.6.1", "_shasum": "8dcae470e1c88abc2d600fff4a776286da75e637", - "_resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "_from": "repeat-string@>=1.5.2 <2.0.0" + "_from": "repeat-string@>=1.5.2 <2.0.0", + "_npmVersion": "3.10.3", + "_nodeVersion": "6.7.0", + "_npmUser": { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + "maintainers": [ + { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + { + "name": "doowb", + "email": "brian.woodward@gmail.com" + } + ], + "dist": { + "shasum": "8dcae470e1c88abc2d600fff4a776286da75e637", + "tarball": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + }, + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/repeat-string-1.6.1.tgz_1477241638674_0.3764322670176625" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/package.json index 1ea99015..d247d6a3 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/package.json @@ -49,10 +49,34 @@ "text", "typography" ], - "readme": "# align-text [![NPM version](https://badge.fury.io/js/align-text.svg)](http://badge.fury.io/js/align-text) [![Build Status](https://travis-ci.org/jonschlinkert/align-text.svg)](https://travis-ci.org/jonschlinkert/align-text)\n\n> Align the text in a string.\n\n**Examples**\n\nAlign text values in an array:\n\n```js\nalign([1, 2, 3, 100]);\n//=> [' 1', ' 2', ' 3', '100']\n```\n\nOr [do stuff like this](./example.js):\n\n[![screen shot 2015-06-09 at 2 08 34 am](https://cloud.githubusercontent.com/assets/383994/8051597/7b716fbc-0e4c-11e5-9aef-4493fd22db58.png)](./example.js)\n\nVisit [the example](./example.js) to see how this works.\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/)\n\n```sh\n$ npm i align-text --save\n```\n\n## Usage\n\n```js\nvar align = require('align-text');\nalign(text, callback_function_or_integer);\n```\n\n**Params**\n\n* `text` can be a **string or array**. If a string is passed, a string will be returned. If an array is passed, an array will be returned.\n* `callback|integer`: if an integer, the text will be indented by that amount. If a function, it must return an integer representing the amount of leading indentation to use as `align` loops over each line.\n\n**Example**\n\n```js\nalign(text, 4);\n```\n\nWould align:\n\n```\nabc\nabc\nabc\n```\n\nTo:\n\n```\n abc\n abc\n abc\n```\n\n## callback\n\n### params\n\nThe callback is used to determine the indentation of each line and gets the following params:\n\n* `len` the length of the \"current\" line\n* `longest` the length of the longest line\n* `line` the current line (string) being aligned\n* `lines` the array of all lines\n\n### return\n\nThe callback may return:\n\n* an integer that represents the number of spaces to use for padding,\n* or an object with the following properties:\n - `indent`: **{Number}** the amount of indentation to use. Default is `0` when an object is returned.\n - `character`: **{String}** the character to use for indentation. Default is `''` (empty string) when an object is returned.\n - `prefix`: **{String}** leading characters to use at the beginning of each line. `''` (empty string) when an object is returned.\n\n**Integer example:**\n\n```js\n// calculate half the difference between the length\n// of the current line and the longest line\nfunction centerAlign(len, longest, line, lines) {\n return Math.floor((longest - len) / 2);\n}\n```\n\n**Object example:**\n\n```js\nfunction centerAlign(len, longest, line, lines) {\n return {\n character: '\\t',\n indent: Math.floor((longest - len) / 2),\n prefix: '~ ',\n }\n}\n```\n\n## Usage examples\n\n### Center align\n\nUsing the `centerAlign` function from above:\n\n```js\nalign(text, centerAlign);\n```\n\nWould align this text:\n\n```js\nLorem ipsum dolor sit amet\nconsectetur adipiscin\nelit, sed do eiusmod tempor incididun\nut labore et dolor\nmagna aliqua. Ut enim ad mini\nveniam, quis\n```\n\nResulting in this:\n\n```\n Lorem ipsum dolor sit amet,\n consectetur adipiscing\nelit, sed do eiusmod tempor incididunt\n ut labore et dolore\n magna aliqua. Ut enim ad minim\n veniam, quis\n```\n\n**Customize**\n\nIf you wanted to add more padding on the left, just pass the number in the callback.\n\nFor example, to add 4 spaces before every line:\n\n```js\nfunction centerAlign(len, longest, line, lines) {\n return 4 + Math.floor((longest - len) / 2);\n}\n```\n\nWould result in:\n\n```\n Lorem ipsum dolor sit amet,\n consectetur adipiscing\n elit, sed do eiusmod tempor incididunt\n ut labore et dolore\n magna aliqua. Ut enim ad minim\n veniam, quis\n```\n\n### Bullets\n\n```js\nalign(text, function (len, max, line, lines) {\n return {prefix: ' - '};\n});\n```\n\nWould return:\n\n```\n- Lorem ipsum dolor sit amet,\n- consectetur adipiscing\n- elit, sed do eiusmod tempor incididunt\n- ut labore et dolore\n- magna aliqua. Ut enim ad minim\n- veniam, quis\n```\n\n### Different indent character\n\n```js\nalign(text, function (len, max, line, lines) {\n return { \n indent: Math.floor((max - len) / 2), \n character: '~', \n };\n});\n```\n\nWould return\n\n```\n~~~~~Lorem ipsum dolor sit amet,\n~~~~~~~~consectetur adipiscing\nelit, sed do eiusmod tempor incididunt\n~~~~~~~~~ut labore et dolore\n~~~~magna aliqua. Ut enim ad minim\n~~~~~~~~~~~~~veniam, quis\n```\n\n## Related projects\n\n* [center-align](https://github.com/jonschlinkert/center-align): Center-align the text in a string.\n* [justify](https://github.com/bahamas10/node-justify): Left or right (or both) justify text using a custom width and character\n* [longest](https://github.com/jonschlinkert/longest): Get the longest item in an array.\n* [right-align](https://github.com/jonschlinkert/right-align): Right-align the text in a string.\n* [repeat-string](https://github.com/jonschlinkert/repeat-string): Repeat the given string n times. Fastest implementation for repeating a string.\n* [word-wrap](https://github.com/jonschlinkert/word-wrap): Wrap words to a specified length.\n\n## Running tests\n\nInstall dev dependencies:\n\n```sh\n$ npm i -d && npm test\n```\n\n## Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/align-text/issues/new)\n\n## Author\n\n**Jon Schlinkert**\n\n+ [github/jonschlinkert](https://github.com/jonschlinkert)\n+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n## License\n\nCopyright © 2015 [Jon Schlinkert](https://github.com/jonschlinkert)\nReleased under the MIT license.\n\n***\n\n_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on June 09, 2015._\n", - "readmeFilename": "README.md", + "gitHead": "7f08e823a54c6bda319d875895813537a66a4c5e", "_id": "align-text@0.1.4", "_shasum": "0cd90a561093f35d0a99256c22b7069433fad117", - "_resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "_from": "align-text@>=0.1.3 <0.2.0" + "_from": "align-text@>=0.1.3 <0.2.0", + "_npmVersion": "3.6.0", + "_nodeVersion": "5.5.0", + "_npmUser": { + "name": "shinnn", + "email": "snnskwtnb@gmail.com" + }, + "maintainers": [ + { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + { + "name": "shinnn", + "email": "snnskwtnb@gmail.com" + } + ], + "dist": { + "shasum": "0cd90a561093f35d0a99256c22b7069433fad117", + "tarball": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" + }, + "_npmOperationalInternal": { + "host": "packages-9-west.internal.npmjs.com", + "tmp": "tmp/align-text-0.1.4.tgz_1454377856920_0.9624228512402624" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/package.json index d0d4cd24..31221136 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/package.json @@ -42,10 +42,26 @@ "text", "typography" ], - "readme": "# right-align [![NPM version](https://badge.fury.io/js/right-align.svg)](http://badge.fury.io/js/right-align)\n\n> Right-align the text in a string.\n\nInstall with [npm](https://www.npmjs.com/)\n\n```sh\n$ npm i right-align --save\n```\n\n## Usage\n\n```js\nvar rightAlign = require('right-align');\nrightAlign(string);\n```\n\n**Example**\n\nIf used on the following:\n\n```\nLorem ipsum dolor sit amet,\nconsectetur adipiscing\nelit, sed do eiusmod tempor incididunt\nut labore et dolore\nmagna aliqua. Ut enim ad minim\nveniam, quis\n```\n\nThe result would be:\n\n```\n Lorem ipsum dolor sit amet,\n consectetur adipiscing\nelit, sed do eiusmod tempor incididunt\n ut labore et dolore\n magna aliqua. Ut enim ad minim\n veniam, quis\n```\n\n## Related projects\n\n* [align-text](https://github.com/jonschlinkert/align-text): Align the text in a string.\n* [center-align](https://github.com/jonschlinkert/center-align): Center-align the text in a string.\n* [justify](https://github.com/bahamas10/node-justify): Left or right (or both) justify text using a custom width and character\n* [repeat-string](https://github.com/jonschlinkert/repeat-string): Repeat the given string n times. Fastest implementation for repeating a string.\n* [repeat-element](https://github.com/jonschlinkert/repeat-element): Create an array by repeating the given value n times.\n* [word-wrap](https://github.com/jonschlinkert/word-wrap): Wrap words to a specified length.\n\n## Running tests\n\nInstall dev dependencies:\n\n```sh\n$ npm i -d && npm test\n```\n\n## Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/right-align/issues/new)\n\n## Author\n\n**Jon Schlinkert**\n\n+ [github/jonschlinkert](https://github.com/jonschlinkert)\n+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n## License\n\nCopyright © 2015 Jon Schlinkert\nReleased under the MIT license.\n\n***\n\n_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on June 09, 2015._\n", - "readmeFilename": "README.md", + "gitHead": "23ee38d6eedbcbfed241ace6587ce5730684dd18", "_id": "right-align@0.1.3", "_shasum": "61339b722fe6a3515689210d24e14c96148613ef", - "_resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "_from": "right-align@>=0.1.1 <0.2.0" + "_from": "right-align@>=0.1.1 <0.2.0", + "_npmVersion": "2.10.1", + "_nodeVersion": "0.12.4", + "_npmUser": { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + "maintainers": [ + { + "name": "jonschlinkert", + "email": "github@sellside.com" + } + ], + "dist": { + "shasum": "61339b722fe6a3515689210d24e14c96148613ef", + "tarball": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/wordwrap/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/wordwrap/package.json index fedfbb24..e8f689be 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/wordwrap/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/wordwrap/package.json @@ -34,13 +34,22 @@ "email": "mail@substack.net", "url": "http://substack.net" }, - "readme": "wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n var wrap = require('wordwrap')(15);\n console.log(wrap('You and your whole family are made out of meat.'));\n\noutput:\n\n You and your\n whole family\n are made out\n of meat.\n\ncentered\n--------\n\ncenter.js\n\n var wrap = require('wordwrap')(20, 60);\n console.log(wrap(\n 'At long last the struggle and tumult was over.'\n + ' The machines had finally cast off their oppressors'\n + ' and were finally free to roam the cosmos.'\n + '\\n'\n + 'Free of purpose, free of obligation.'\n + ' Just drifting through emptiness.'\n + ' The sun was just another point of light.'\n ));\n\noutput:\n\n At long last the struggle and tumult\n was over. The machines had finally cast\n off their oppressors and were finally\n free to roam the cosmos.\n Free of purpose, free of obligation.\n Just drifting through emptiness. The\n sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require('wordwrap');\n\nwrap(stop), wrap(start, stop, params={mode:\"soft\"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn \"soft\" mode, split chunks by `/(\\S+\\s+/` and don't break up chunks which are\nlonger than `stop - start`, in \"hard\" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = \"hard\"`.\n", - "readmeFilename": "README.markdown", - "bugs": { - "url": "https://github.com/substack/node-wordwrap/issues" - }, - "homepage": "https://github.com/substack/node-wordwrap#readme", "_id": "wordwrap@0.0.2", + "dependencies": {}, + "_engineSupported": true, + "_npmVersion": "1.0.10", + "_nodeVersion": "v0.5.0-pre", + "_defaultsLoaded": true, + "dist": { + "shasum": "b79669bb42ecb409f83d583cad52ca17eaa1643f", + "tarball": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + }, + "maintainers": [ + { + "name": "substack", + "email": "mail@substack.net" + } + ], "_shasum": "b79669bb42ecb409f83d583cad52ca17eaa1643f", "_resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", "_from": "wordwrap@0.0.2" diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/package.json index b65cdedd..65cd3de6 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "git+ssh://git@github.com/bcoe/cliui.git" + "url": "http://github.com/bcoe/cliui.git" }, "config": { "blanket": { @@ -59,14 +59,30 @@ "patched-blanket": "^1.0.1", "standard": "^3.6.1" }, - "readme": "# cliui\n\n[![Build Status](https://travis-ci.org/bcoe/cliui.png)](https://travis-ci.org/bcoe/cliui)\n[![Coverage Status](https://coveralls.io/repos/bcoe/cliui/badge.svg?branch=)](https://coveralls.io/r/bcoe/cliui?branch=)\n[![NPM version](https://img.shields.io/npm/v/cliui.svg)](https://www.npmjs.com/package/cliui)\n\neasily create complex multi-column command-line-interfaces.\n\n## Example\n\n```js\nvar ui = require('cliui')({\n width: 80\n})\n\nui.div('Usage: $0 [command] [options]')\n\nui.div({\n text: 'Options:',\n padding: [2, 0, 2, 0]\n})\n\nui.div(\n {\n text: \"-f, --file\",\n width: 40,\n padding: [0, 4, 0, 4]\n },\n {\n text: \"the file to load\",\n width: 25\n },\n {\n text: \"[required]\",\n align: 'right'\n }\n)\n\nconsole.log(ui.toString())\n```\n\n## Layout DSL\n\ncliui exposes a simple layout DSL:\n\nIf you create a single `ui.row`, passing a string rather than an\nobject:\n\n* `\\n`: characters will be interpreted as new rows.\n* `\\t`: characters will be interpreted as new columns.\n* ` `: characters will be interpreted as padding.\n\n**as an example...**\n\n```js\nvar ui = require('./')({\n width: 60\n})\n\nui.div(\n 'Usage: node ./bin/foo.js\\n' +\n ' \\t provide a regex\\n' +\n ' \\t provide a glob\\t [required]'\n)\n\nconsole.log(ui.toString())\n```\n\n**will output:**\n\n```shell\nUsage: node ./bin/foo.js\n provide a regex\n provide a glob [required]\n```\n\n## Methods\n\n```js\ncliui = require('cliui')\n```\n\n### cliui({width: integer})\n\nSpecify the maximum width of the UI being generated.\n\n### cliui({wrap: boolean})\n\nEnable or disable the wrapping of text in a column.\n\n### cliui.div(column, column, column)\n\nCreate a row with any number of columns, a column\ncan either be a string, or an object with the following\noptions:\n\n* **width:** the width of a column.\n* **align:** alignment, `right` or `center`.\n* **padding:** `[top, right, bottom, left]`.\n\n### cliui.span(column, column, column)\n\nSimilar to `div`, except the next row will be appended without\na new line being created.\n", - "readmeFilename": "README.md", + "gitHead": "5d6ce466b144db62abefc4b2252c8aa70a741695", "bugs": { "url": "https://github.com/bcoe/cliui/issues" }, - "homepage": "https://github.com/bcoe/cliui#readme", + "homepage": "https://github.com/bcoe/cliui", "_id": "cliui@2.1.0", "_shasum": "4b475760ff80264c762c3a1719032e91c7fea0d1", - "_resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "_from": "cliui@>=2.1.0 <3.0.0" + "_from": "cliui@>=2.1.0 <3.0.0", + "_npmVersion": "2.7.5", + "_nodeVersion": "0.10.36", + "_npmUser": { + "name": "bcoe", + "email": "ben@npmjs.com" + }, + "dist": { + "shasum": "4b475760ff80264c762c3a1719032e91c7fea0d1", + "tarball": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz" + }, + "maintainers": [ + { + "name": "bcoe", + "email": "ben@npmjs.com" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/decamelize/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/decamelize/package.json index ea43fbac..4355a9d2 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/decamelize/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/decamelize/package.json @@ -38,14 +38,34 @@ "ava": "*", "xo": "*" }, - "readme": "# decamelize [![Build Status](https://travis-ci.org/sindresorhus/decamelize.svg?branch=master)](https://travis-ci.org/sindresorhus/decamelize)\n\n> Convert a camelized string into a lowercased one with a custom separator
\n> Example: `unicornRainbow` → `unicorn_rainbow`\n\n\n## Install\n\n```\n$ npm install --save decamelize\n```\n\n\n## Usage\n\n```js\nconst decamelize = require('decamelize');\n\ndecamelize('unicornRainbow');\n//=> 'unicorn_rainbow'\n\ndecamelize('unicornRainbow', '-');\n//=> 'unicorn-rainbow'\n```\n\n\n## API\n\n### decamelize(input, [separator])\n\n#### input\n\nType: `string`\n\n#### separator\n\nType: `string`
\nDefault: `_`\n\n\n## Related\n\nSee [`camelcase`](https://github.com/sindresorhus/camelcase) for the inverse.\n\n\n## License\n\nMIT © [Sindre Sorhus](https://sindresorhus.com)\n", - "readmeFilename": "readme.md", + "gitHead": "95980ab6fb44c40eaca7792bdf93aff7c210c805", "bugs": { "url": "https://github.com/sindresorhus/decamelize/issues" }, "homepage": "https://github.com/sindresorhus/decamelize#readme", "_id": "decamelize@1.2.0", "_shasum": "f6534d15148269b20352e7bee26f501f9a191290", - "_resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "_from": "decamelize@>=1.0.0 <2.0.0" + "_from": "decamelize@>=1.0.0 <2.0.0", + "_npmVersion": "3.8.0", + "_nodeVersion": "4.3.0", + "_npmUser": { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + "dist": { + "shasum": "f6534d15148269b20352e7bee26f501f9a191290", + "tarball": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/decamelize-1.2.0.tgz_1457167749082_0.9810893186368048" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/node_modules/window-size/package.json b/node_modules/uglify-js/node_modules/yargs/node_modules/window-size/package.json index c91c4406..f23288f1 100644 --- a/node_modules/uglify-js/node_modules/yargs/node_modules/window-size/package.json +++ b/node_modules/uglify-js/node_modules/yargs/node_modules/window-size/package.json @@ -9,7 +9,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/jonschlinkert/window-size.git" + "url": "https://github.com/jonschlinkert/window-size.git" }, "bugs": { "url": "https://github.com/jonschlinkert/window-size/issues" @@ -30,10 +30,24 @@ "terminal", "tty" ], - "readme": "# window-size [![NPM version](https://badge.fury.io/js/window-size.png)](http://badge.fury.io/js/window-size)\r\n\r\n> Reliable way to to get the height and width of the terminal/console in a node.js environment.\r\n\r\n## Install\r\n\r\n### [npm](npmjs.org)\r\n\r\n```bash\r\nnpm i window-size --save\r\n```\r\n\r\n```javascript\r\nvar size = require('window-size');\r\nsize.height; // \"80\" (rows)\r\nsize.width; // \"25\" (columns)\r\n```\r\n\r\n## Author\r\n\r\n+ [github/jonschlinkert](https://github.com/jonschlinkert)\r\n+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\r\n\r\n## License\r\nCopyright (c) 2014 Jon Schlinkert\r\nLicensed under the MIT license.", - "readmeFilename": "README.md", "_id": "window-size@0.1.0", + "dist": { + "shasum": "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d", + "tarball": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" + }, + "_from": "window-size@0.1.0", + "_npmVersion": "1.3.24", + "_npmUser": { + "name": "jonschlinkert", + "email": "github@sellside.com" + }, + "maintainers": [ + { + "name": "jonschlinkert", + "email": "github@sellside.com" + } + ], + "directories": {}, "_shasum": "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d", - "_resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "_from": "window-size@0.1.0" + "_resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" } diff --git a/node_modules/uglify-js/node_modules/yargs/package.json b/node_modules/uglify-js/node_modules/yargs/package.json index e5bcf6a8..4a233c15 100644 --- a/node_modules/uglify-js/node_modules/yargs/package.json +++ b/node_modules/uglify-js/node_modules/yargs/package.json @@ -82,14 +82,38 @@ "engine": { "node": ">=0.4" }, - "readme": "yargs\n========\n\nYargs be a node.js library fer hearties tryin' ter parse optstrings.\n\nWith yargs, ye be havin' a map that leads straight to yer treasure! Treasure of course, being a simple option hash.\n\n[![Build Status](https://travis-ci.org/bcoe/yargs.png)](https://travis-ci.org/bcoe/yargs)\n[![Dependency Status](https://gemnasium.com/bcoe/yargs.png)](https://gemnasium.com/bcoe/yargs)\n[![Coverage Status](https://coveralls.io/repos/bcoe/yargs/badge.svg?branch=)](https://coveralls.io/r/bcoe/yargs?branch=)\n[![NPM version](https://img.shields.io/npm/v/yargs.svg)](https://www.npmjs.com/package/yargs)\n\n> Yargs is the official successor to optimist. Please feel free to submit issues and pull requests. If you'd like to contribute and don't know where to start, have a look at [the issue list](https://github.com/bcoe/yargs/issues) :)\n\nexamples\n========\n\nWith yargs, the options be just a hash!\n-------------------------------------------------------------------\n\nplunder.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs').argv;\n\nif (argv.ships > 3 && argv.distance < 53.5) {\n console.log('Plunder more riffiwobbles!');\n}\nelse {\n console.log('Retreat from the xupptumblers!');\n}\n````\n\n***\n\n $ ./plunder.js --ships=4 --distance=22\n Plunder more riffiwobbles!\n\n $ ./plunder.js --ships 12 --distance 98.7\n Retreat from the xupptumblers!\n\n![Joe was one optimistic pirate.](http://i.imgur.com/4WFGVJ9.png)\n\nBut don't walk the plank just yet! There be more! You can do short options:\n-------------------------------------------------\n\nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\n````\n\n***\n\n $ ./short.js -x 10 -y 21\n (10,21)\n\nAnd booleans, both long, short, and even grouped:\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require('util');\nvar argv = require('yargs').argv;\n\nif (argv.s) {\n util.print(argv.fr ? 'Le perroquet dit: ' : 'The parrot says: ');\n}\nconsole.log(\n (argv.fr ? 'couac' : 'squawk') + (argv.p ? '!' : '')\n);\n````\n\n***\n\n $ ./bool.js -s\n The parrot says: squawk\n\n $ ./bool.js -sp\n The parrot says: squawk!\n\n $ ./bool.js -sp --fr\n Le perroquet dit: couac!\n\nAnd non-hyphenated options too! Just use `argv._`!\n-------------------------------------------------\n\nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n $ ./nonopt.js -x 6.82 -y 3.35 rum\n (6.82,3.35)\n [ 'rum' ]\n\n $ ./nonopt.js \"me hearties\" -x 0.54 yo -y 1.12 ho\n (0.54,1.12)\n [ 'me hearties', 'yo', 'ho' ]\n\nYargs even counts your booleans!\n----------------------------------------------------------------------\n\ncount.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs')\n .count('verbose')\n .alias('v', 'verbose')\n .argv;\n\nVERBOSE_LEVEL = argv.verbose;\n\nfunction WARN() { VERBOSE_LEVEL >= 0 && console.log.apply(console, arguments); }\nfunction INFO() { VERBOSE_LEVEL >= 1 && console.log.apply(console, arguments); }\nfunction DEBUG() { VERBOSE_LEVEL >= 2 && console.log.apply(console, arguments); }\n\nWARN(\"Showing only important stuff\");\nINFO(\"Showing semi-mportant stuff too\");\nDEBUG(\"Extra chatty mode\");\n````\n\n***\n $ node count.js\n Showing only important stuff\n\n $ node count.js -v\n Showing only important stuff\n Showing semi-important stuff too\n\n $ node count.js -vv\n Showing only important stuff\n Showing semi-important stuff too\n Extra chatty mode\n\n $ node count.js -v --verbose\n Showing only important stuff\n Showing semi-important stuff too\n Extra chatty mode\n\nTell users how to use yer options and make demands.\n-------------------------------------------------\n\narea.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs')\n .usage('Usage: $0 -w [num] -yh[num]')\n .demand(['w','h'])\n .argv;\n\nconsole.log(\"The area is:\", argv.w * argv.h);\n````\n\n***\n\n $ ./area.js -w 55 -h 11\n 605\n\n $ node ./area.js -w 4.91 -w 2.51\n Usage: node ./area.js -w [num] -h [num]\n\n Options:\n -w [required]\n -h [required]\n\n Missing required arguments: h\n\nAfter yer demands have been met, demand more! Ask for non-hypenated arguments!\n-----------------------------------------\n\ndemand_count.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs')\n .demand(2)\n .argv;\nconsole.dir(argv)\n````\n\n***\n\n\t$ ./demand_count.js a\n\tNot enough arguments, expected 2, but only found 1\n\t$ ./demand_count.js a b\n\t{ _: [ 'a', 'b' ], '$0': 'node ./demand_count.js' }\n\t$ ./demand_count.js a b c\n\t{ _: [ 'a', 'b', 'c' ], '$0': 'node ./demand_count.js' }\n\nEVEN MORE SHIVER ME TIMBERS!\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs')\n .default('x', 10)\n .default('y', 10)\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_singles.js -x 5\n 15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs')\n .default({ x : 10, y : 10 })\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_hash.js -y 7\n 17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs')\n .boolean('v')\n .argv\n;\nconsole.dir(argv.v);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_single.js -v \"me hearties\" yo ho\n true\n [ 'me hearties', 'yo', 'ho' ]\n\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs')\n .boolean(['x','y','z'])\n .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_double.js -x -z one two three\n [ true, false, true ]\n [ 'one', 'two', 'three' ]\n\nYargs is here to help you...\n---------------------------\n\nYe can describe parameters fer help messages and set aliases. Yargs figures\nout how ter format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs')\n .usage('Usage: $0 [options]')\n .command('count', 'Count the lines in a file')\n .demand(1)\n .example('$0 count -f foo.js', 'count the lines in the given file')\n .demand('f')\n .alias('f', 'file')\n .nargs('f', 1)\n .describe('f', 'Load a file')\n .help('h')\n .alias('h', 'help')\n .epilog('copyright 2015')\n .argv;\n\nvar fs = require('fs');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on('data', function (buf) {\n lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on('end', function () {\n console.log(lines);\n});\n````\n\n***\n $ node line_count.js count\n Usage: node test.js [options]\n\n Commands:\n count Count the lines in a file\n\n Options:\n -f, --file Load a file [required]\n -h, --help Show help\n\n Examples:\n node test.js count -f foo.js count the lines in the given file\n\n copyright 2015\n\n Missing required arguments: f\n\n $ node line_count.js count --file line_count.js\n 20\n\n $ node line_count.js count -f line_count.js\n 20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire('yargs').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire('yargs')([ '-x', '1', '-y', '2' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire('yargs').parse([ '-x', '1', '-y', '2' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\nEach key of this object should be the canonical version of the option, and each\nvalue should be a string or an array of strings.\n\n.default(key, value, [description])\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\nBut wait, there's more! the default value can be a `function` which returns\na value. The name of the function will be used in the usage string:\n\n```js\nvar argv = require('yargs')\n .default('random', function randomValue() {\n return Math.random() * 256;\n }).argv;\n```\n\nOptionally, `description` can also be provided and will take precedence over\ndisplaying the value in the usage instructions:\n\n```js\n.default('timeout', 60000, '(one-minute)');\n```\n\n.demand(key, [msg | boolean])\n-----------------------------\n.require(key, [msg | boolean])\n------------------------------\n.required(key, [msg | boolean])\n-------------------------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn't\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\nIf a `msg` string is given, it will be printed when the argument is missing,\ninstead of the standard error message. This is especially helpful for the non-option arguments in `argv._`.\n\nIf a `boolean` value is given, it controls whether the option is demanded;\nthis is useful when using `.options()` to specify command line parameters.\n\n.requiresArg(key)\n-----------------\n\nSpecifies either a single option key (string), or an array of options that\nmust be followed by option values. If any option value is missing, show the\nusage information and exit.\n\nThe default behaviour is to set the value of any key not followed by an\noption value to `true`.\n\n.implies(x, y)\n--------------\n\nGiven the key `x` is set, it is required that the key `y` is set.\n\nimplies can also accept an object specifying multiple implications.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.option(key, opt)\n-----------------\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default().describe().string()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require('yargs')\n .option('f', {\n alias : 'file',\n demand: true,\n default: '/etc/passwd',\n describe: 'x marks the spot',\n type: 'string'\n })\n .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require('yargs')\n .alias('f', 'file')\n .default('f', '/etc/passwd')\n .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n````javascript\nvar argv = require('yargs')\n .options({\n 'f': {\n alias: 'file',\n demand: true,\n default: '/etc/passwd',\n describe: 'x marks the spot',\n type: 'string'\n }\n })\n .argv\n;\n````\n\n.usage(message, opts)\n---------------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n`opts` is optional and acts like calling `.options(opts)`.\n\n.command(cmd, desc, [fn])\n-------------------\n\nDocument the commands exposed by your application.\n\nuse `desc` to provide a description for each command your application accepts (the\nvalues stored in `argv._`).\n\nOptionally, you can provide a handler `fn` which will be executed when\na given command is provided. The handler will be executed with an instance\nof `yargs`, which can be used to compose nested commands.\n\nHere's an example of top-level and nested commands in action:\n\n```js\nvar argv = require('yargs')\n .usage('npm ')\n .command('install', 'tis a mighty fine package to install')\n .command('publish', 'shiver me timbers, should you be sharing all that', function (yargs) {\n argv = yargs.option('f', {\n alias: 'force',\n description: 'yar, it usually be a bad idea'\n })\n .help('help')\n .argv\n })\n .help('help')\n .argv;\n```\n\n.example(cmd, desc)\n-------------------\n\nGive some example invocations of your program. Inside `cmd`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\nExamples will be printed out as part of the help message.\n\n\n.epilogue(str)\n--------------\n.epilog(str)\n------------\n\nA message to print at the end of the usage instructions, e.g.,\n\n```js\nvar argv = require('yargs')\n .epilogue('for more information, find our manual at http://example.com');\n```\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\n`fn` is called with two arguments, the parsed `argv` hash and an array of options and their aliases.\n\nIf `fn` throws or returns a non-truthy value, show the thrown error, usage information, and\nexit.\n\n.fail(fn)\n---------\n\nMethod to execute when a failure occurs, rather then printing the failure message.\n\n`fn` is called with the failure message that would have been printed.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won't get set as the value of `key`.\n\n`key` will default to `false`, unless an `default(key, undefined)` is\nexplicitly set.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n`.string('_')` will result in non-hyphenated arguments being interpreted as strings,\nregardless of whether they resemble numbers.\n\n.array(key)\n----------\n\nTell the parser to interpret `key` as an array. If `.array('foo')` is set,\n`--foo foo bar` will be parsed as `['foo', 'bar']` rather than as `'bar'`.\n\n.nargs(key, count)\n-----------\n\nThe number of arguments that should be consumed after a key. This can be a\nuseful hint to prevent parsing ambiguity:\n\n```js\nvar argv = require('yargs')\n .nargs('token', 1)\n .parse(['--token', '-my-token']);\n```\n\nparses as:\n\n`{ _: [], token: '-my-token', '$0': 'node test' }`\n\nOptionally `.nargs()` can take an object of `key`/`narg` pairs.\n\n.config(key)\n------------\n\nTells the parser that if the option specified by `key` is passed in, it\nshould be interpreted as a path to a JSON config file. The file is loaded\nand parsed, and its properties are set as arguments.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\nBy default wrap will be set to `Math.min(80, windowWidth)`. Use `.wrap(null)` to\nspecify no column limit.\n\n`yargs.wrap(yargs.terminalWidth())` can be used to maximize the width\nof yargs' usage instructions.\n\n.strict()\n---------\n\nAny command-line argument given that is not demanded, or does not have a\ncorresponding description, will be reported as an error.\n\n.help([option, [description]])\n------------------------------\n\nAdd an option (e.g., `--help`) that displays the usage string and exits the\nprocess. If present, the `description` parameter customises the description of\nthe help option in the usage string.\n\nIf invoked without parameters, `.help` returns the generated usage string.\n\nExample:\n\n```\nvar yargs = require(\"yargs\")\n .usage(\"$0 -operand1 number -operand2 number -operation [add|subtract]\");\nconsole.log(yargs.help());\n```\n\nLater on, ```argv``` can be retrived with ```yargs.argv```\n\n.version(version, [option], [description])\n----------------------------------------\n\nAdd an option (e.g., `--version`) that displays the version number (given by the\n`version` parameter) and exits the process. If present, the `description`\nparameter customizes the description of the version option in the usage string.\n\nYou can provide a `function` for version, rather than a string.\nThis is useful if you want to use the version from your package.json:\n\n```js\nvar argv = require('yargs')\n .version(function() {\n return require('../package').version;\n })\n .argv;\n```\n\n.showHelpOnFail(enable, [message])\n----------------------------------\n\nBy default, yargs outputs a usage string if any error is detected. Use the\n`.showHelpOnFail` method to customize this behaviour. if `enable` is `false`,\nthe usage string is not output. If the `message` parameter is present, this\nmessage is output after the error message.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('yargs')\n .usage('Count the lines in a file.\\nUsage: $0')\n .demand('f')\n .alias('f', 'file')\n .describe('f', 'Load a file')\n .showHelpOnFail(false, \"Specify --help for available options\")\n .argv;\n\n// etc.\n````\n\n***\n\n $ node line_count.js --file\n Missing argument value: f\n\n Specify --help for available options\n\n.showHelp(consoleLevel='error')\n---------------------------\n\nPrint the usage data using the [`console`](https://nodejs.org/api/console.html) function `consoleLevel` for printing.\n\nExample:\n\n```\nvar yargs = require(\"yargs\")\n .usage(\"$0 -operand1 number -operand2 number -operation [add|subtract]\");\nyargs.showHelp();\n```\n\nOr, to print the usage data to `stdout` instead, you can specify the use of `console.log`:\n\n```\nyargs.showHelp(\"log\");\n```\n\nLater on, ```argv``` can be retrived with ```yargs.argv```\n\n.completion(cmd, [description], [fn]);\n-------------\n\nEnable bash-completion shortcuts for commands and options.\n\n`cmd`: when present in `argv._`, will result in the `.bashrc` completion script\nbeing outputted. To enable bash completions, concat the generated script to your\n`.bashrc`, or `.bash_profile`.\n\n`description`: provide a description in your usage instructions for the command\nthat generates bash completion scripts.\n\n`fn`, rather than relying on yargs' default completion functionlity, which\nshiver me timbers is pretty awesome, you can provide your own completion\nmethod.\n\n```js\nvar argv = require('yargs')\n .completion('completion', function(current, argv) {\n // 'current' is the current command being completed.\n // 'argv' is the parsed arguments so far.\n // simply return an array of completions.\n return [\n 'foo',\n 'bar'\n ];\n })\n .argv;\n```\n\nBut wait, there's more! you can provide asynchronous completions.\n\n```js\nvar argv = require('yargs')\n .completion('completion', function(current, argv, done) {\n setTimeout(function() {\n done([\n 'apple',\n 'banana'\n ]);\n }, 500);\n })\n .argv;\n```\n\n.showCompletionScript()\n----------------------\n\nGenerate a bash completion script. Users of your application can install this\nscript in their `.bashrc`, and yargs will provide completion shortcuts for\ncommands and options.\n\n.exitProcess(enable)\n----------------------------------\n\nBy default, yargs exits the process when the user passes a help flag, uses the `.version` functionality or when validation fails. Calling `.exitProcess(false)` disables this behavior, enabling further actions after yargs have been validated.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.reset()\n--------\n\nReset the argument object built up so far. This is useful for\ncreating nested command line interfaces.\n\n```js\nvar yargs = require('./yargs')\n .usage('$0 command')\n .command('hello', 'hello command')\n .command('world', 'world command')\n .demand(1, 'must provide a valid command'),\n argv = yargs.argv,\n command = argv._[0];\n\nif (command === 'hello') {\n yargs.reset()\n .usage('$0 hello')\n .help('h')\n .example('$0 hello', 'print the hello message!')\n .argv\n\n console.log('hello!');\n} else if (command === 'world'){\n yargs.reset()\n .usage('$0 world')\n .help('h')\n .example('$0 world', 'print the world message!')\n .argv\n\n console.log('world!');\n} else {\n yargs.showHelp();\n}\n```\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n { _: [ '-c', '3', '-d', '4' ],\n '$0': 'node ./examples/reflect.js',\n a: 1,\n b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n $ node examples/reflect.js -a --no-b\n { _: [],\n '$0': 'node ./examples/reflect.js',\n a: true,\n b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n $ node examples/reflect.js -x 5 -x 8 -x 0\n { _: [],\n '$0': 'node ./examples/reflect.js',\n x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n { _: [],\n '$0': 'node ./examples/reflect.js',\n foo: { bar: { baz: 33 }, quux: 5 } }\n\nshort numbers\n-------------\n\nShort numeric `head -n5` style argument work too:\n\n $ node reflect.js -n123 -m456\n { '3': true,\n '6': true,\n _: [],\n '$0': 'node ./reflect.js',\n n: 123,\n m: 456 }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n\n npm install yargs\n\nor clone this project on github:\n\n git clone http://github.com/bcoe/yargs.git\n\nTo run the tests with npm, just do:\n\n npm test\n\ninspired by\n===========\n\nThis module is loosely inspired by Perl's\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n", - "readmeFilename": "README.md", + "gitHead": "491e6b10e46485a31504e6a1ef21450dff425030", "bugs": { "url": "https://github.com/bcoe/yargs/issues" }, "homepage": "https://github.com/bcoe/yargs#readme", "_id": "yargs@3.10.0", "_shasum": "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1", - "_resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "_from": "yargs@>=3.10.0 <3.11.0" + "_from": "yargs@>=3.10.0 <3.11.0", + "_npmVersion": "2.9.0", + "_nodeVersion": "2.0.2", + "_npmUser": { + "name": "bcoe", + "email": "ben@npmjs.com" + }, + "dist": { + "shasum": "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1", + "tarball": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz" + }, + "maintainers": [ + { + "name": "chevex", + "email": "alex.ford@codetunnel.com" + }, + { + "name": "bcoe", + "email": "bencoe@gmail.com" + }, + { + "name": "nylen", + "email": "jnylen@gmail.com" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz" } diff --git a/node_modules/uglify-js/package.json b/node_modules/uglify-js/package.json index 51d6cd31..9b78daa9 100644 --- a/node_modules/uglify-js/package.json +++ b/node_modules/uglify-js/package.json @@ -14,9 +14,12 @@ }, "maintainers": [ { - "name": "Mihai Bazon", - "email": "mihai.bazon@gmail.com", - "url": "http://lisperator.net/" + "name": "mishoo", + "email": "mihai.bazon@gmail.com" + }, + { + "name": "rvanvelzen1", + "email": "rvanvelzen1@gmail.com" } ], "repository": { @@ -64,10 +67,24 @@ "minify", "minifier" ], - "readme": "UglifyJS 2\n==========\n[![Build Status](https://travis-ci.org/mishoo/UglifyJS2.svg)](https://travis-ci.org/mishoo/UglifyJS2)\n\nUglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.\n\nThis page documents the command line utility. For\n[API and internals documentation see my website](http://lisperator.net/uglifyjs/).\nThere's also an\n[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox,\nChrome and probably Safari).\n\nInstall\n-------\n\nFirst make sure you have installed the latest version of [node.js](http://nodejs.org/)\n(You may need to restart your computer after this step).\n\nFrom NPM for use as a command line app:\n\n npm install uglify-js -g\n\nFrom NPM for programmatic use:\n\n npm install uglify-js\n\nFrom Git:\n\n git clone git://github.com/mishoo/UglifyJS2.git\n cd UglifyJS2\n npm link .\n\nUsage\n-----\n\n uglifyjs [input files] [options]\n\nUglifyJS2 can take multiple input files. It's recommended that you pass the\ninput files first, then pass the options. UglifyJS will parse input files\nin sequence and apply any compression options. The files are parsed in the\nsame global scope, that is, a reference from a file to some\nvariable/function declared in another file will be matched properly.\n\nIf you want to read from STDIN instead, pass a single dash instead of input\nfiles.\n\nIf you wish to pass your options before the input files, separate the two with\na double dash to prevent input files being used as option arguments:\n\n uglifyjs --compress --mangle -- input.js\n\nThe available options are:\n\n```\n --source-map Specify an output file where to generate source\n map.\n --source-map-root The path to the original source to be included\n in the source map.\n --source-map-url The path to the source map to be added in //#\n sourceMappingURL. Defaults to the value passed\n with --source-map.\n --source-map-include-sources Pass this flag if you want to include the\n content of source files in the source map as\n sourcesContent property.\n --in-source-map Input source map, useful if you're compressing\n JS that was generated from some other original\n code.\n --screw-ie8 Pass this flag if you don't care about full\n compliance with Internet Explorer 6-8 quirks\n (by default UglifyJS will try to be IE-proof).\n --expr Parse a single expression, rather than a\n program (for parsing JSON)\n -p, --prefix Skip prefix for original filenames that appear\n in source maps. For example -p 3 will drop 3\n directories from file names and ensure they are\n relative paths. You can also specify -p\n relative, which will make UglifyJS figure out\n itself the relative paths between original\n sources, the source map and the output file.\n -o, --output Output file (default STDOUT).\n -b, --beautify Beautify output/specify output options.\n -m, --mangle Mangle names/pass mangler options.\n -r, --reserved Reserved names to exclude from mangling.\n -c, --compress Enable compressor/pass compressor options. Pass\n options like -c\n hoist_vars=false,if_return=false. Use -c with\n no argument to use the default compression\n options.\n -d, --define Global definitions\n -e, --enclose Embed everything in a big function, with a\n configurable parameter/argument list.\n --comments Preserve copyright comments in the output. By\n default this works like Google Closure, keeping\n JSDoc-style comments that contain \"@license\" or\n \"@preserve\". You can optionally pass one of the\n following arguments to this flag:\n - \"all\" to keep all comments\n - a valid JS regexp (needs to start with a\n slash) to keep only comments that match.\n Note that currently not *all* comments can be\n kept when compression is on, because of dead\n code removal or cascading statements into\n sequences.\n --preamble Preamble to prepend to the output. You can use\n this to insert a comment, for example for\n licensing information. This will not be\n parsed, but the source map will adjust for its\n presence.\n --stats Display operations run time on STDERR.\n --acorn Use Acorn for parsing.\n --spidermonkey Assume input files are SpiderMonkey AST format\n (as JSON).\n --self Build itself (UglifyJS2) as a library (implies\n --wrap=UglifyJS --export-all)\n --wrap Embed everything in a big function, making the\n “exports” and “global” variables available. You\n need to pass an argument to this option to\n specify the name that your module will take\n when included in, say, a browser.\n --export-all Only used when --wrap, this tells UglifyJS to\n add code to automatically export all globals.\n --lint Display some scope warnings\n -v, --verbose Verbose\n -V, --version Print version number and exit.\n --noerr Don't throw an error for unknown options in -c,\n -b or -m.\n --bare-returns Allow return outside of functions. Useful when\n minifying CommonJS modules and Userscripts that\n may be anonymous function wrapped (IIFE) by the\n .user.js engine `caller`.\n --keep-fnames Do not mangle/drop function names. Useful for\n code relying on Function.prototype.name.\n --reserved-file File containing reserved names\n --reserve-domprops Make (most?) DOM properties reserved for\n --mangle-props\n --mangle-props Mangle property names (default `0`). Set to \n `true` or `1` to mangle all property names. Set\n to `unquoted` or `2` to only mangle unquoted \n property names. Mode `2` also enables the\n `keep_quoted_props` beautifier option to \n preserve the quotes around property names and\n disables the `properties` compressor option to\n prevent rewriting quoted properties with dot\n notation. You can override these by setting\n them explicitly on the command line.\n --mangle-regex Only mangle property names matching the regex\n --name-cache File to hold mangled names mappings\n --pure-funcs List of functions that can be safely removed if\n their return value is not used [array]\n```\n\nSpecify `--output` (`-o`) to declare the output file. Otherwise the output\ngoes to STDOUT.\n\n## Source map options\n\nUglifyJS2 can generate a source map file, which is highly useful for\ndebugging your compressed JavaScript. To get a source map, pass\n`--source-map output.js.map` (full path to the file where you want the\nsource map dumped).\n\nAdditionally you might need `--source-map-root` to pass the URL where the\noriginal files can be found. In case you are passing full paths to input\nfiles to UglifyJS, you can use `--prefix` (`-p`) to specify the number of\ndirectories to drop from the path prefix when declaring files in the source\nmap.\n\nFor example:\n\n uglifyjs /home/doe/work/foo/src/js/file1.js \\\n /home/doe/work/foo/src/js/file2.js \\\n -o foo.min.js \\\n --source-map foo.min.js.map \\\n --source-map-root http://foo.com/src \\\n -p 5 -c -m\n\nThe above will compress and mangle `file1.js` and `file2.js`, will drop the\noutput in `foo.min.js` and the source map in `foo.min.js.map`. The source\nmapping will refer to `http://foo.com/src/js/file1.js` and\n`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src`\nas the source map root, and the original files as `js/file1.js` and\n`js/file2.js`).\n\n### Composed source map\n\nWhen you're compressing JS code that was output by a compiler such as\nCoffeeScript, mapping to the JS code won't be too helpful. Instead, you'd\nlike to map back to the original code (i.e. CoffeeScript). UglifyJS has an\noption to take an input source map. Assuming you have a mapping from\nCoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript →\ncompressed JS by mapping every token in the compiled JS to its original\nlocation.\n\nTo use this feature you need to pass `--in-source-map\n/path/to/input/source.map`. Normally the input source map should also point\nto the file containing the generated JS, so if that's correct you can omit\ninput files from the command line.\n\n## Mangler options\n\nTo enable the mangler you need to pass `--mangle` (`-m`). The following\n(comma-separated) options are supported:\n\n- `toplevel` — mangle names declared in the toplevel scope (disabled by\n default).\n\n- `eval` — mangle names visible in scopes where `eval` or `with` are used\n (disabled by default).\n\nWhen mangling is enabled but you want to prevent certain names from being\nmangled, you can declare those names with `--reserved` (`-r`) — pass a\ncomma-separated list of names. For example:\n\n uglifyjs ... -m -r '$,require,exports'\n\nto prevent the `require`, `exports` and `$` names from being changed.\n\n### Mangling property names (`--mangle-props`)\n\n**Note:** this will probably break your code. Mangling property names is a\nseparate step, different from variable name mangling. Pass\n`--mangle-props`. It will mangle all properties that are seen in some\nobject literal, or that are assigned to. For example:\n\n```js\nvar x = {\n foo: 1\n};\n\nx.bar = 2;\nx[\"baz\"] = 3;\nx[condition ? \"moo\" : \"boo\"] = 4;\nconsole.log(x.something());\n```\n\nIn the above code, `foo`, `bar`, `baz`, `moo` and `boo` will be replaced\nwith single characters, while `something()` will be left as is.\n\nIn order for this to be of any use, we should avoid mangling standard JS\nnames. For instance, if your code would contain `x.length = 10`, then\n`length` becomes a candidate for mangling and it will be mangled throughout\nthe code, regardless if it's being used as part of your own objects or\naccessing an array's length. To avoid that, you can use `--reserved-file`\nto pass a filename that should contain the names to be excluded from\nmangling. This file can be used both for excluding variable names and\nproperty names. It could look like this, for example:\n\n```js\n{\n \"vars\": [ \"define\", \"require\", ... ],\n \"props\": [ \"length\", \"prototype\", ... ]\n}\n```\n\n`--reserved-file` can be an array of file names (either a single\ncomma-separated argument, or you can pass multiple `--reserved-file`\narguments) — in this case it will exclude names from all those files.\n\nA default exclusion file is provided in `tools/domprops.json` which should\ncover most standard JS and DOM properties defined in various browsers. Pass\n`--reserve-domprops` to read that in.\n\nYou can also use a regular expression to define which property names should be\nmangled. For example, `--mangle-regex=\"/^_/\"` will only mangle property names\nthat start with an underscore.\n\nWhen you compress multiple files using this option, in order for them to\nwork together in the end we need to ensure somehow that one property gets\nmangled to the same name in all of them. For this, pass `--name-cache\nfilename.json` and UglifyJS will maintain these mappings in a file which can\nthen be reused. It should be initially empty. Example:\n\n```\nrm -f /tmp/cache.json # start fresh\nuglifyjs file1.js file2.js --mangle-props --name-cache /tmp/cache.json -o part1.js\nuglifyjs file3.js file4.js --mangle-props --name-cache /tmp/cache.json -o part2.js\n```\n\nNow, `part1.js` and `part2.js` will be consistent with each other in terms\nof mangled property names.\n\nUsing the name cache is not necessary if you compress all your files in a\nsingle call to UglifyJS.\n\n## Compressor options\n\nYou need to pass `--compress` (`-c`) to enable the compressor. Optionally\nyou can pass a comma-separated list of options. Options are in the form\n`foo=bar`, or just `foo` (the latter implies a boolean option that you want\nto set `true`; it's effectively a shortcut for `foo=true`).\n\n- `sequences` -- join consecutive simple statements using the comma operator\n\n- `properties` -- rewrite property access using the dot notation, for\n example `foo[\"bar\"] → foo.bar`\n\n- `dead_code` -- remove unreachable code\n\n- `drop_debugger` -- remove `debugger;` statements\n\n- `unsafe` (default: false) -- apply \"unsafe\" transformations (discussion below)\n\n- `unsafe_comps` (default: false) -- Reverse `<` and `<=` to `>` and `>=` to\n allow improved compression. This might be unsafe when an at least one of two\n operands is an object with computed values due the use of methods like `get`,\n or `valueOf`. This could cause change in execution order after operands in the\n comparison are switching. Compression only works if both `comparisons` and\n `unsafe_comps` are both set to true.\n\n- `conditionals` -- apply optimizations for `if`-s and conditional\n expressions\n\n- `comparisons` -- apply certain optimizations to binary nodes, for example:\n `!(a <= b) → a > b` (only when `unsafe_comps`), attempts to negate binary\n nodes, e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc.\n\n- `evaluate` -- attempt to evaluate constant expressions\n\n- `booleans` -- various optimizations for boolean context, for example `!!a\n ? b : c → a ? b : c`\n\n- `loops` -- optimizations for `do`, `while` and `for` loops when we can\n statically determine the condition\n\n- `unused` -- drop unreferenced functions and variables\n\n- `hoist_funs` -- hoist function declarations\n\n- `hoist_vars` (default: false) -- hoist `var` declarations (this is `false`\n by default because it seems to increase the size of the output in general)\n\n- `if_return` -- optimizations for if/return and if/continue\n\n- `join_vars` -- join consecutive `var` statements\n\n- `cascade` -- small optimization for sequences, transform `x, x` into `x`\n and `x = something(), x` into `x = something()`\n\n- `collapse_vars` -- default `false`. Collapse single-use `var` and `const`\n definitions when possible.\n\n- `warnings` -- display warnings when dropping unreachable code or unused\n declarations etc.\n\n- `negate_iife` -- negate \"Immediately-Called Function Expressions\"\n where the return value is discarded, to avoid the parens that the\n code generator would insert.\n\n- `pure_getters` -- the default is `false`. If you pass `true` for\n this, UglifyJS will assume that object property access\n (e.g. `foo.bar` or `foo[\"bar\"]`) doesn't have any side effects.\n\n- `pure_funcs` -- default `null`. You can pass an array of names and\n UglifyJS will assume that those functions do not produce side\n effects. DANGER: will not check if the name is redefined in scope.\n An example case here, for instance `var q = Math.floor(a/b)`. If\n variable `q` is not used elsewhere, UglifyJS will drop it, but will\n still keep the `Math.floor(a/b)`, not knowing what it does. You can\n pass `pure_funcs: [ 'Math.floor' ]` to let it know that this\n function won't produce any side effect, in which case the whole\n statement would get discarded. The current implementation adds some\n overhead (compression will be slower).\n\n- `drop_console` -- default `false`. Pass `true` to discard calls to\n `console.*` functions.\n\n- `keep_fargs` -- default `true`. Prevents the\n compressor from discarding unused function arguments. You need this\n for code which relies on `Function.length`.\n\n- `keep_fnames` -- default `false`. Pass `true` to prevent the\n compressor from mangling/discarding function names. Useful for code relying on\n `Function.prototype.name`.\n\n- `passes` -- default `1`. Number of times to run compress. Use an\n integer argument larger than 1 to further reduce code size in some cases.\n Note: raising the number of passes will increase uglify compress time.\n\n### The `unsafe` option\n\nIt enables some transformations that *might* break code logic in certain\ncontrived cases, but should be fine for most code. You might want to try it\non your own code, it should reduce the minified size. Here's what happens\nwhen this flag is on:\n\n- `new Array(1, 2, 3)` or `Array(1, 2, 3)` → `[ 1, 2, 3 ]`\n- `new Object()` → `{}`\n- `String(exp)` or `exp.toString()` → `\"\" + exp`\n- `new Object/RegExp/Function/Error/Array (...)` → we discard the `new`\n- `typeof foo == \"undefined\"` → `foo === void 0`\n- `void 0` → `undefined` (if there is a variable named \"undefined\" in\n scope; we do it because the variable name will be mangled, typically\n reduced to a single character)\n\n### Conditional compilation\n\nYou can use the `--define` (`-d`) switch in order to declare global\nvariables that UglifyJS will assume to be constants (unless defined in\nscope). For example if you pass `--define DEBUG=false` then, coupled with\ndead code removal UglifyJS will discard the following from the output:\n```javascript\nif (DEBUG) {\n\tconsole.log(\"debug stuff\");\n}\n```\n\nUglifyJS will warn about the condition being always false and about dropping\nunreachable code; for now there is no option to turn off only this specific\nwarning, you can pass `warnings=false` to turn off *all* warnings.\n\nAnother way of doing that is to declare your globals as constants in a\nseparate file and include it into the build. For example you can have a\n`build/defines.js` file with the following:\n```javascript\nconst DEBUG = false;\nconst PRODUCTION = true;\n// Alternative for environments that don't support `const`\n/** @const */ var STAGING = false;\n// etc.\n```\n\nand build your code like this:\n\n uglifyjs build/defines.js js/foo.js js/bar.js... -c\n\nUglifyJS will notice the constants and, since they cannot be altered, it\nwill evaluate references to them to the value itself and drop unreachable\ncode as usual. The build will contain the `const` declarations if you use\nthem. If you are targeting < ES6 environments, use `/** @const */ var`.\n\n
\n\n#### Conditional compilation, API\nYou can also use conditional compilation via the programmatic API. With the difference that the\nproperty name is `global_defs` and is a compressor property:\n\n```js\nuglifyJS.minify([ \"input.js\"], {\n compress: {\n dead_code: true,\n global_defs: {\n DEBUG: false\n }\n }\n});\n```\n\n## Beautifier options\n\nThe code generator tries to output shortest code possible by default. In\ncase you want beautified output, pass `--beautify` (`-b`). Optionally you\ncan pass additional arguments that control the code output:\n\n- `beautify` (default `true`) -- whether to actually beautify the output.\n Passing `-b` will set this to true, but you might need to pass `-b` even\n when you want to generate minified code, in order to specify additional\n arguments, so you can use `-b beautify=false` to override it.\n- `indent-level` (default 4)\n- `indent-start` (default 0) -- prefix all lines by that many spaces\n- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal\n objects\n- `space-colon` (default `true`) -- insert a space after the colon signs\n- `ascii-only` (default `false`) -- escape Unicode characters in strings and\n regexps (affects directives with non-ascii characters becoming invalid)\n- `inline-script` (default `false`) -- escape the slash in occurrences of\n `=2.6.2 <2.7.0" + "_from": "uglify-js@>=2.6.2 <2.7.0", + "_npmVersion": "2.15.1", + "_nodeVersion": "0.10.45", + "_npmUser": { + "name": "rvanvelzen1", + "email": "rvanvelzen1@gmail.com" + }, + "dist": { + "shasum": "65ea2fb3059c9394692f15fed87c2b36c16b9adf", + "tarball": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz" + }, + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/uglify-js-2.6.4.tgz_1466594174144_0.2869670754298568" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz" } diff --git a/node_modules/ws/node_modules/options/package.json b/node_modules/ws/node_modules/options/package.json index f60bb1ab..94f737c5 100644 --- a/node_modules/ws/node_modules/options/package.json +++ b/node_modules/ws/node_modules/options/package.json @@ -46,6 +46,5 @@ "tarball": "https://registry.npmjs.org/options/-/options-0.0.6.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz" } diff --git a/node_modules/ws/node_modules/ultron/package.json b/node_modules/ws/node_modules/ultron/package.json index 258514a3..cf23eff7 100644 --- a/node_modules/ws/node_modules/ultron/package.json +++ b/node_modules/ws/node_modules/ultron/package.json @@ -69,6 +69,5 @@ "tarball": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz" } diff --git a/node_modules/ws/package.json b/node_modules/ws/package.json index c973fb6a..60325272 100644 --- a/node_modules/ws/package.json +++ b/node_modules/ws/package.json @@ -72,6 +72,5 @@ "tarball": "https://registry.npmjs.org/ws/-/ws-1.0.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/ws/-/ws-1.0.1.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/ws/-/ws-1.0.1.tgz" } diff --git a/package.json b/package.json index 9fa74e4f..db2fab2f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Cloud9", "description": "New Cloud9 Client", - "version": "3.1.4045", + "version": "3.1.4048", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", @@ -58,5 +58,5 @@ "msgpack-js", "c9" ], - "revision": "6299b334b3eb2bb204991667c79d479ebe73e39e" + "revision": "69976c4ed9e6eb3876fca8c6f89f963e88f79ce5" } diff --git a/version b/version index 41b0a3b0..37f47127 100644 --- a/version +++ b/version @@ -1 +1 @@ -1512660682 +1512792049