Skip to content

Instantly share code, notes, and snippets.

@3rd-Eden
Created May 9, 2014 10:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 3rd-Eden/c8a59666a29571c34f72 to your computer and use it in GitHub Desktop.
Save 3rd-Eden/c8a59666a29571c34f72 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
18009 info retry fetch attempt 1 at 11:49:51
18010 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991362-0.5015599667094648/tmp.tgz
18011 silly gunzTarPerm extractEntry .travis.yml
18012 silly gunzTarPerm extractEntry test/parse.js
18013 http GET https://registry.npmjs.org/sanitizer/-/sanitizer-0.1.1.tgz
18014 silly gunzTarPerm extractEntry tests/crc.test.js
18015 silly gunzTarPerm extractEntry licenses/licenses/zlib.txt
18016 silly gunzTarPerm extractEntry debug/package.json
18017 silly lockFile 665c423a-s-shrinkwrap-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing
18018 silly lockFile 665c423a-s-shrinkwrap-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing
18019 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
18020 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
18021 silly gunzTarPerm extractEntry test/all.json
18022 silly gunzTarPerm extractEntry test/emitter.test.js
18023 silly gunzTarPerm extractEntry test/mocha.opts
18024 info preinstall fusing@0.2.1
18025 silly gunzTarPerm extractEntry test/serialize.js
18026 silly gunzTarPerm extractEntry test/mocha.opts
18027 silly gunzTarPerm extractEntry debug/debug.js
18028 silly gunzTarPerm extractEntry debug/Readme.md
18029 http 200 https://registry.npmjs.org/range-parser
18030 silly registry.get cb [ 200,
18030 silly registry.get { date: 'Fri, 09 May 2014 09:49:52 GMT',
18030 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
18030 silly registry.get etag: '"48VVAUZPLJATBB5APR0BZRVWI"',
18030 silly registry.get 'content-type': 'application/json',
18030 silly registry.get via: '1.1 varnish',
18030 silly registry.get 'cache-control': 'max-age=1',
18030 silly registry.get 'content-length': '7876',
18030 silly registry.get 'accept-ranges': 'bytes',
18030 silly registry.get age: '93',
18030 silly registry.get 'x-served-by': 'cache-v37-ASH, cache-am69-AMS',
18030 silly registry.get 'x-cache': 'HIT, HIT',
18030 silly registry.get 'x-cache-hits': '2, 1',
18030 silly registry.get 'x-timer': 'S1399575569.091987848,VS0,VS44,VE44,VE53422910',
18030 silly registry.get vary: 'Accept',
18030 silly registry.get 'keep-alive': 'timeout=10, max=50',
18030 silly registry.get connection: 'Keep-Alive' } ]
18031 verbose readDependencies using package.json deps
18032 verbose readDependencies using package.json deps
18033 silly lockFile 01b9cd16-s-compression-node-modules-bytes tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/bytes
18034 silly lockFile 01b9cd16-s-compression-node-modules-bytes tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/bytes
18035 silly lockFile 075242a8-s-V1-npm-bytes-0-2-1-package-tgz tar:///Users/V1/.npm/bytes/0.2.1/package.tgz
18036 silly lockFile 075242a8-s-V1-npm-bytes-0-2-1-package-tgz tar:///Users/V1/.npm/bytes/0.2.1/package.tgz
18037 silly lockFile ec85aa6a-xpress-session-node-modules-uid2 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/uid2
18038 silly lockFile ec85aa6a-xpress-session-node-modules-uid2 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/uid2
18039 verbose cache add [ 'predefine@0.1.x', null ]
18040 verbose cache add name=undefined spec="predefine@0.1.x" args=["predefine@0.1.x",null]
18041 verbose parsed url { protocol: null,
18041 verbose parsed url slashes: null,
18041 verbose parsed url auth: null,
18041 verbose parsed url host: null,
18041 verbose parsed url port: null,
18041 verbose parsed url hostname: null,
18041 verbose parsed url hash: null,
18041 verbose parsed url search: null,
18041 verbose parsed url query: null,
18041 verbose parsed url pathname: 'predefine@0.1.x',
18041 verbose parsed url path: 'predefine@0.1.x',
18041 verbose parsed url href: 'predefine@0.1.x' }
18042 verbose cache add name="predefine" spec="0.1.x" args=["predefine","0.1.x"]
18043 verbose parsed url { protocol: null,
18043 verbose parsed url slashes: null,
18043 verbose parsed url auth: null,
18043 verbose parsed url host: null,
18043 verbose parsed url port: null,
18043 verbose parsed url hostname: null,
18043 verbose parsed url hash: null,
18043 verbose parsed url search: null,
18043 verbose parsed url query: null,
18043 verbose parsed url pathname: '0.1.x',
18043 verbose parsed url path: '0.1.x',
18043 verbose parsed url href: '0.1.x' }
18044 verbose addNamed [ 'predefine', '0.1.x' ]
18045 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
18046 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
18047 verbose lock predefine@0.1.x /Users/V1/.npm/74815840-predefine-0-1-x.lock
18048 silly lockFile bc3d4a67-rs-V1-npm-uid2-0-0-3-package-tgz tar:///Users/V1/.npm/uid2/0.0.3/package.tgz
18049 silly lockFile bc3d4a67-rs-V1-npm-uid2-0-0-3-package-tgz tar:///Users/V1/.npm/uid2/0.0.3/package.tgz
18050 silly addNameRange { name: 'predefine',
18050 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
18050 silly addNameRange hasData: false }
18051 silly gunzTarPerm modes [ '755', '644' ]
18052 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/lib/browser.js
18053 info preinstall bytes@0.2.1
18054 silly gunzTarPerm extractEntry debug/lib/debug.js
18055 silly gunzTarPerm extractEntry npm-registry/package.json
18056 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/lib/client.js
18057 info preinstall uid2@0.0.3
18058 silly addNameRange number 2 { name: 'range-parser',
18058 silly addNameRange range: '>=1.0.0-0 <1.1.0-0',
18058 silly addNameRange hasData: true }
18059 silly addNameRange versions [ 'range-parser',
18059 silly addNameRange [ '0.0.1', '0.0.2', '0.0.3', '0.0.4', '1.0.0' ] ]
18060 verbose addNamed [ 'range-parser', '1.0.0' ]
18061 verbose addNamed [ '1.0.0', '1.0.0' ]
18062 silly lockFile ed7aad53-range-parser-1-0-0 range-parser@1.0.0
18063 verbose lock range-parser@1.0.0 /Users/V1/.npm/ed7aad53-range-parser-1-0-0.lock
18064 verbose readDependencies using package.json deps
18065 verbose registry.get predefine not expired, no request
18066 silly addNameRange number 2 { name: 'predefine', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
18067 silly addNameRange versions [ 'predefine',
18067 silly addNameRange [ '0.0.0',
18067 silly addNameRange '0.0.1',
18067 silly addNameRange '0.0.2',
18067 silly addNameRange '0.0.3',
18067 silly addNameRange '0.0.5',
18067 silly addNameRange '0.0.6',
18067 silly addNameRange '0.1.0',
18067 silly addNameRange '0.1.1' ] ]
18068 verbose addNamed [ 'predefine', '0.1.1' ]
18069 verbose addNamed [ '0.1.1', '0.1.1' ]
18070 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
18071 verbose lock predefine@0.1.1 /Users/V1/.npm/8b2cde2e-predefine-0-1-1.lock
18072 verbose readDependencies using package.json deps
18073 silly resolved []
18074 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/bytes
18075 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/bytes
18076 verbose linkStuff [ false,
18076 verbose linkStuff false,
18076 verbose linkStuff false,
18076 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules' ]
18077 info linkStuff bytes@0.2.1
18078 verbose linkBins bytes@0.2.1
18079 verbose linkMans bytes@0.2.1
18080 verbose rebuildBundles bytes@0.2.1
18081 verbose readDependencies using package.json deps
18082 silly lockFile 73c89b68-ge-parser-range-parser-1-0-0-tgz https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz
18083 verbose lock https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz /Users/V1/.npm/73c89b68-ge-parser-range-parser-1-0-0-tgz.lock
18084 info install bytes@0.2.1
18085 verbose readDependencies using package.json deps
18086 silly resolved []
18087 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/uid2
18088 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/uid2
18089 verbose linkStuff [ false,
18089 verbose linkStuff false,
18089 verbose linkStuff false,
18089 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules' ]
18090 info linkStuff uid2@0.0.3
18091 verbose linkBins uid2@0.0.3
18092 verbose linkMans uid2@0.0.3
18093 verbose rebuildBundles uid2@0.0.3
18094 silly gunzTarPerm extractEntry package.json
18095 info install uid2@0.0.3
18096 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
18097 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
18098 verbose addRemoteTarball [ 'https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz',
18098 verbose addRemoteTarball 'a4b264cfe0be5ce36abe3765ac9c2a248746dbc0' ]
18099 info postinstall bytes@0.2.1
18100 http 200 https://registry.npmjs.org/debug/-/debug-0.8.0.tgz
18101 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
18102 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
18103 info retry fetch attempt 1 at 11:49:51
18104 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991498-0.25312376162037253/tmp.tgz
18105 info postinstall uid2@0.0.3
18106 silly gunzTarPerm extractEntry .npmignore
18107 silly gunzTarPerm extractEntry README.md
18108 http GET https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz
18109 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991322-0.8296202013734728/tmp.tgz
18110 silly lockFile 5b880293-Users-V1-npm-debug-0-8-0-package tar:///Users/V1/.npm/debug/0.8.0/package
18111 verbose lock tar:///Users/V1/.npm/debug/0.8.0/package /Users/V1/.npm/5b880293-Users-V1-npm-debug-0-8-0-package.lock
18112 silly lockFile abde88b0-91322-0-8296202013734728-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991322-0.8296202013734728/tmp.tgz
18113 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991322-0.8296202013734728/tmp.tgz /Users/V1/.npm/abde88b0-91322-0-8296202013734728-tmp-tgz.lock
18114 silly gunzTarPerm extractEntry npm-registry/.npmignore
18115 silly gunzTarPerm extractEntry npm-registry/README.md
18116 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/lib/crypto.js
18117 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/lib/index.js
18118 silly resolved [ { name: 'predefine',
18118 silly resolved version: '0.1.1',
18118 silly resolved description: 'Predefine your Object.defineProperties to create a more human readable API.',
18118 silly resolved main: 'index.js',
18118 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
18118 silly resolved repository: { type: 'git', url: 'git://github.com/bigpipe/predefine.git' },
18118 silly resolved keywords:
18118 silly resolved [ 'predefine',
18118 silly resolved 'define',
18118 silly resolved 'object',
18118 silly resolved 'defineProperties',
18118 silly resolved 'defineProperties',
18118 silly resolved 'configurable',
18118 silly resolved 'writable',
18118 silly resolved 'get',
18118 silly resolved 'set',
18118 silly resolved 'getters',
18118 silly resolved 'setters',
18118 silly resolved 'inherit' ],
18118 silly resolved author: { name: 'Arnout Kazemier' },
18118 silly resolved license: 'MIT',
18118 silly resolved dependencies: { extendable: '0.0.x' },
18118 silly resolved devDependencies: { 'pre-commit': '0.0.x', mocha: '1.16.x', chai: '1.8.x' },
18118 silly resolved readme: '# predefine\n\n[![Build Status](https://travis-ci.org/bigpipe/predefine.png)](https://travis-ci.org/bigpipe/predefine)\n\nWhen creating objects or prototypes using `Object.defineProperties` or\n`Object.defineProperty` it make your code look really verbose by all the\nproperty descriptions that it needs. Most of the time, they are the same. They\neither make your properties writable, readable or prevents them from being\nenumerable. So basically:\n\nPredefine makes `Object.defineProperties` your human readable and manageable.\n\n## Installation\n\n```\nnpm install --save predefine\n```\n\n## Getting started\n\nLet\'s start with a basic example of predefine usage:\n\n```\nvar predefine = require(\'predefine\');\n\nfunction Base() {\n var readable = predefine(this, { configurable: false, enumerable: false })\n , writable = predefine(this, predefine.WRITABLE);\n\n readable(\'prop\', \'value\');\n writable(\'data\', []);\n}\n\nBase.writable = predefine(Base.prototype, predefine.WRITABLE);\n\nBase.writable(\'foo\', \'bar\');\n```\n\nAs you can see from the snippet above, it\'s really easy to see which properties\nare made readable and which one\'s are writable.\n\n### Predefine.extend\n\nThis allows you to add `Backbone` inspired `.extend` functionality to your\nconstructors. This makes inheriting a lot easier and readable. See the\n`extendable` module in npm for information.\n\n```js\nfunction Foo() {}\nFoo.extend = predefine.extend;\n\nvar Bar = Foo.extend({\n method: function () {}\n});\n```\n\n### Predefine.descriptor\n\nTest if a given object is a valid `Object` description to it can be used with\n`Object.defineProperty`, `Object.defineProperties` and `Object.create`.\n\n```js\npredefine.descriptor({ foo: \'bar\' }); // false\npredefine.descriptor({ value: \'bar\' }); // true\npredefine.descriptor({ value: \'bar\', enumerable: false }); // true\npredefine.descriptor({ value: \'bar\', foo: \'bar\' }); // false\n```\n\n### Predefine.create\n\nThis is a simple helper function to create descriptions that can be used within\n`Object.create` and `Object.defineProperties`.\n\n```js\nvar data = Object.create(null, predefine.create(\'foo\', { \n value: \'bar\' \n}));\n\nvar data = Object.create(null, predefine.create(\'foo\', {\n value: \'bar\'\n}, predefine.READABLE));\n\nvar data = Object.create(null, predefine.create(\'foo\', \'bar\', predefine.READABLE));\n```\n\n### Predefine.remove\n\nRemoves all enumerable properties from a given object, with the ability to keep\nwhite listed properties.\n\n```js\nvar data = { foo: \'bar\', bar: \'foo\' };\n\npredefine.remove(data); // The data variable is now an empty object.\npredefine.remove(data, [\'foo\']); // The foo property is kept.\n\nvar readable(data);\nreadable(\'baz\', \'baz\');\n\npredefine.remove(data); // Only `baz` is left.\n```\n\n### Predefine.merge\n\nMerge two objects in to one single object. This supports deep merging.\n\n```js\nvar result = predefine.merge({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n### Predefine.mixin\n\nMixin two Objects, which also transfers properties that are set using\nObject.defineProperty.\n\n```js\nvar result = predefine.mixin({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n## License\n\nMIT\n',
18118 silly resolved readmeFilename: 'README.md',
18118 silly resolved bugs: { url: 'https://github.com/bigpipe/predefine/issues' },
18118 silly resolved homepage: 'https://github.com/bigpipe/predefine',
18118 silly resolved _id: 'predefine@0.1.1',
18118 silly resolved _shasum: 'bdea730b530a5400a28e050fb192443c9f82da75',
18118 silly resolved _from: 'predefine@0.1.x',
18118 silly resolved _resolved: 'https://registry.npmjs.org/predefine/-/predefine-0.1.1.tgz' } ]
18119 info install predefine@0.1.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing
18120 info installOne predefine@0.1.1
18121 silly gunzTarPerm modes [ '755', '644' ]
18122 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine unbuild
18123 silly gunzTarPerm extractEntry index.js
18124 silly gunzTarPerm extractEntry .travis.yml
18125 verbose tar unpack /Users/V1/.npm/predefine/0.1.1/package.tgz
18126 silly lockFile f9fdaa97-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine
18127 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine /Users/V1/.npm/f9fdaa97-es-fusing-node-modules-predefine.lock
18128 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
18129 verbose lock tar:///Users/V1/.npm/predefine/0.1.1/package.tgz /Users/V1/.npm/e18f5090--npm-predefine-0-1-1-package-tgz.lock
18130 silly lockFile 9a912d43-session-node-modules-utils-merge tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/utils-merge
18131 silly lockFile 9a912d43-session-node-modules-utils-merge tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/utils-merge
18132 silly gunzTarPerm extractEntry test/mocha.opts
18133 silly lockFile 9ea5450f-pm-utils-merge-1-0-0-package-tgz tar:///Users/V1/.npm/utils-merge/1.0.0/package.tgz
18134 silly lockFile 9ea5450f-pm-utils-merge-1-0-0-package-tgz tar:///Users/V1/.npm/utils-merge/1.0.0/package.tgz
18135 silly gunzTarPerm extractEntry package.json
18136 silly gunzTarPerm modes [ '755', '644' ]
18137 silly gunzTarPerm extractEntry npm-registry/index.js
18138 silly gunzTarPerm extractEntry npm-registry/semver.js
18139 info preinstall utils-merge@1.0.0
18140 silly gunzTarPerm extractEntry debug.js
18141 silly gunzTarPerm extractEntry Readme.md
18142 silly gunzTarPerm extractEntry test/fuse.test.js
18143 silly gunzTarPerm extractEntry test/mocha.opts
18144 silly gunzTarPerm extractEntry package.json
18145 verbose readDependencies using package.json deps
18146 verbose readDependencies using package.json deps
18147 silly resolved []
18148 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/utils-merge
18149 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/utils-merge
18150 verbose linkStuff [ false,
18150 verbose linkStuff false,
18150 verbose linkStuff false,
18150 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules' ]
18151 info linkStuff utils-merge@1.0.0
18152 verbose linkBins utils-merge@1.0.0
18153 verbose linkMans utils-merge@1.0.0
18154 verbose rebuildBundles utils-merge@1.0.0
18155 info install utils-merge@1.0.0
18156 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/lib/server.js
18157 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/lib/utils.js
18158 silly gunzTarPerm extractEntry .npmignore
18159 silly gunzTarPerm extractEntry README.md
18160 info postinstall utils-merge@1.0.0
18161 silly lockFile e6af026d-press-session-node-modules-debug tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/debug
18162 silly lockFile e6af026d-press-session-node-modules-debug tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/debug
18163 silly gunzTarPerm extractEntry lib/debug.js
18164 silly gunzTarPerm extractEntry licenses/MIROS.txt
18165 silly gunzTarPerm extractEntry licenses/AAL.txt
18166 silly gunzTarPerm extractEntry npm-registry/endpoints/packages.js
18167 silly gunzTarPerm extractEntry npm-registry/endpoints/users.js
18168 silly lockFile 8602137e-s-V1-npm-debug-0-7-4-package-tgz tar:///Users/V1/.npm/debug/0.7.4/package.tgz
18169 silly lockFile 8602137e-s-V1-npm-debug-0-7-4-package-tgz tar:///Users/V1/.npm/debug/0.7.4/package.tgz
18170 http 304 https://registry.npmjs.org/mime
18171 silly registry.get cb [ 304,
18171 silly registry.get { date: 'Fri, 09 May 2014 09:49:52 GMT',
18171 silly registry.get server: 'Apache',
18171 silly registry.get via: '1.1 varnish',
18171 silly registry.get 'last-modified': 'Fri, 09 May 2014 09:49:52 GMT',
18171 silly registry.get 'cache-control': 'max-age=1',
18171 silly registry.get etag: '"BW42WR7DBSFJC1G7HI18DWH2U"',
18171 silly registry.get 'x-served-by': 'cache-am69-AMS',
18171 silly registry.get 'x-cache': 'HIT',
18171 silly registry.get 'x-cache-hits': '1',
18171 silly registry.get 'x-timer': 'S1399628992.023358583,VS0,VE89',
18171 silly registry.get vary: 'Accept',
18171 silly registry.get 'content-length': '0',
18171 silly registry.get 'keep-alive': 'timeout=10, max=50',
18171 silly registry.get connection: 'Keep-Alive' } ]
18172 verbose etag mime from cache
18173 silly lockFile 8df9c81c-ession-node-modules-buffer-crc32 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/buffer-crc32
18174 silly lockFile 8df9c81c-ession-node-modules-buffer-crc32 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/buffer-crc32
18175 info preinstall debug@0.7.4
18176 silly lockFile ec28e072-m-buffer-crc32-0-2-1-package-tgz tar:///Users/V1/.npm/buffer-crc32/0.2.1/package.tgz
18177 silly lockFile ec28e072-m-buffer-crc32-0-2-1-package-tgz tar:///Users/V1/.npm/buffer-crc32/0.2.1/package.tgz
18178 silly gunzTarPerm extractEntry index.js
18179 silly gunzTarPerm extractEntry .travis.yml
18180 verbose readDependencies using package.json deps
18181 silly lockFile cfaa2c3d-ession-node-modules-compressible tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/compressible
18182 silly lockFile cfaa2c3d-ession-node-modules-compressible tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/compressible
18183 verbose readDependencies using package.json deps
18184 silly resolved []
18185 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/debug
18186 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/debug
18187 verbose linkStuff [ false,
18187 verbose linkStuff false,
18187 verbose linkStuff false,
18187 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules' ]
18188 info linkStuff debug@0.7.4
18189 verbose linkBins debug@0.7.4
18190 verbose linkMans debug@0.7.4
18191 verbose rebuildBundles debug@0.7.4
18192 silly lockFile 9d5c9241-m-compressible-1-0-0-package-tgz tar:///Users/V1/.npm/compressible/1.0.0/package.tgz
18193 silly lockFile 9d5c9241-m-compressible-1-0-0-package-tgz tar:///Users/V1/.npm/compressible/1.0.0/package.tgz
18194 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
18195 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
18196 info preinstall buffer-crc32@0.2.1
18197 silly gunzTarPerm extractEntry npm-registry/normalize/index.js
18198 silly gunzTarPerm extractEntry npm-registry/normalize/packages.js
18199 info install debug@0.7.4
18200 info postinstall debug@0.7.4
18201 verbose readDependencies using package.json deps
18202 info preinstall compressible@1.0.0
18203 verbose readDependencies using package.json deps
18204 silly resolved []
18205 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/buffer-crc32
18206 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/buffer-crc32
18207 verbose linkStuff [ false,
18207 verbose linkStuff false,
18207 verbose linkStuff false,
18207 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules' ]
18208 info linkStuff buffer-crc32@0.2.1
18209 verbose linkBins buffer-crc32@0.2.1
18210 verbose linkMans buffer-crc32@0.2.1
18211 verbose rebuildBundles buffer-crc32@0.2.1
18212 info install buffer-crc32@0.2.1
18213 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/test/browser.js
18214 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/test/client.js
18215 silly gunzTarPerm extractEntry test/index.js
18216 verbose readDependencies using package.json deps
18217 silly gunzTarPerm extractEntry bower.json
18218 info postinstall buffer-crc32@0.2.1
18219 verbose readDependencies using package.json deps
18220 silly resolved []
18221 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/compressible
18222 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/compressible
18223 verbose linkStuff [ false,
18223 verbose linkStuff false,
18223 verbose linkStuff false,
18223 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules' ]
18224 info linkStuff compressible@1.0.0
18225 verbose linkBins compressible@1.0.0
18226 verbose linkMans compressible@1.0.0
18227 verbose rebuildBundles compressible@1.0.0
18228 info install compressible@1.0.0
18229 info postinstall compressible@1.0.0
18230 silly gunzTarPerm extractEntry licenses/AFL3.0.txt
18231 silly gunzTarPerm extractEntry licenses/AGPL3.0.txt
18232 http 200 https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz
18233 silly gunzTarPerm extractEntry npm-registry/normalize/to.js
18234 silly gunzTarPerm extractEntry npm-registry/normalize/users.js
18235 silly lockFile 3fdf9225-ress-session-node-modules-cookie tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/cookie
18236 silly lockFile 3fdf9225-ress-session-node-modules-cookie tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/cookie
18237 silly lockFile 83029bea--V1-npm-cookie-0-1-0-package-tgz tar:///Users/V1/.npm/cookie/0.1.0/package.tgz
18238 silly lockFile 83029bea--V1-npm-cookie-0-1-0-package-tgz tar:///Users/V1/.npm/cookie/0.1.0/package.tgz
18239 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991498-0.25312376162037253/tmp.tgz
18240 silly lockFile 997ef0fd-1-npm-range-parser-1-0-0-package tar:///Users/V1/.npm/range-parser/1.0.0/package
18241 verbose lock tar:///Users/V1/.npm/range-parser/1.0.0/package /Users/V1/.npm/997ef0fd-1-npm-range-parser-1-0-0-package.lock
18242 silly lockFile d1ca9f4a-1498-0-25312376162037253-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991498-0.25312376162037253/tmp.tgz
18243 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991498-0.25312376162037253/tmp.tgz /Users/V1/.npm/d1ca9f4a-1498-0-25312376162037253-tmp-tgz.lock
18244 silly gunzTarPerm extractEntry test/mocha.opts
18245 silly gunzTarPerm modes [ '755', '644' ]
18246 info preinstall cookie@0.1.0
18247 verbose readDependencies using package.json deps
18248 silly gunzTarPerm extractEntry licenses/APL-1.0.txt
18249 verbose readDependencies using package.json deps
18250 silly resolved []
18251 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/cookie
18252 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules/cookie
18253 verbose linkStuff [ false,
18253 verbose linkStuff false,
18253 verbose linkStuff false,
18253 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session/node_modules' ]
18254 info linkStuff cookie@0.1.0
18255 verbose linkBins cookie@0.1.0
18256 verbose linkMans cookie@0.1.0
18257 verbose rebuildBundles cookie@0.1.0
18258 silly gunzTarPerm extractEntry async/package.json
18259 silly gunzTarPerm extractEntry async/README.md
18260 silly gunzTarPerm extractEntry package.json
18261 info install cookie@0.1.0
18262 info postinstall cookie@0.1.0
18263 silly gunzTarPerm extractEntry .npmignore
18264 silly gunzTarPerm extractEntry index.js
18265 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session
18266 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/express-session
18267 verbose linkStuff [ false,
18267 verbose linkStuff false,
18267 verbose linkStuff false,
18267 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules' ]
18268 info linkStuff express-session@1.0.2
18269 verbose linkBins express-session@1.0.2
18270 verbose linkMans express-session@1.0.2
18271 verbose rebuildBundles express-session@1.0.2
18272 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/test/crypto.js
18273 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/test/index.js
18274 verbose rebuildBundles [ 'buffer-crc32', 'cookie', 'debug', 'uid2', 'utils-merge' ]
18275 info install express-session@1.0.2
18276 silly gunzTarPerm extractEntry licenses/APSL-2.0.txt
18277 silly gunzTarPerm extractEntry licenses/Apache1.0.txt
18278 info postinstall express-session@1.0.2
18279 silly gunzTarPerm extractEntry async/LICENSE
18280 silly gunzTarPerm extractEntry async/component.json
18281 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/test/message.js
18282 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/test/readme.js
18283 silly gunzTarPerm extractEntry History.md
18284 silly gunzTarPerm extractEntry Makefile
18285 silly lockFile 5b880293-Users-V1-npm-debug-0-8-0-package tar:///Users/V1/.npm/debug/0.8.0/package
18286 silly lockFile 5b880293-Users-V1-npm-debug-0-8-0-package tar:///Users/V1/.npm/debug/0.8.0/package
18287 silly lockFile abde88b0-91322-0-8296202013734728-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991322-0.8296202013734728/tmp.tgz
18288 silly lockFile abde88b0-91322-0-8296202013734728-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991322-0.8296202013734728/tmp.tgz
18289 silly gunzTarPerm extractEntry licenses/Apache2.0.txt
18290 silly gunzTarPerm extractEntry licenses/Artistic2.0.txt
18291 silly lockFile 1133d5c3--npmjs-org-debug-debug-0-8-0-tgz https://registry.npmjs.org/debug/-/debug-0.8.0.tgz
18292 silly lockFile 1133d5c3--npmjs-org-debug-debug-0-8-0-tgz https://registry.npmjs.org/debug/-/debug-0.8.0.tgz
18293 silly gunzTarPerm extractEntry Readme.md
18294 silly lockFile 3647f48c-debug-0-8-0 debug@0.8.0
18295 silly lockFile 3647f48c-debug-0-8-0 debug@0.8.0
18296 http 200 https://registry.npmjs.org/dot-component/-/dot-component-0.1.1.tgz
18297 silly gunzTarPerm extractEntry async/lib/async.js
18298 silly gunzTarPerm extractEntry pagelet.fragment
18299 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/test/server.js
18300 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/test/uri.js
18301 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991302-0.0604613081086427/tmp.tgz
18302 silly lockFile 09366516--npm-dot-component-0-1-1-package tar:///Users/V1/.npm/dot-component/0.1.1/package
18303 verbose lock tar:///Users/V1/.npm/dot-component/0.1.1/package /Users/V1/.npm/09366516--npm-dot-component-0-1-1-package.lock
18304 silly lockFile 3f0e52a5-91302-0-0604613081086427-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991302-0.0604613081086427/tmp.tgz
18305 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991302-0.0604613081086427/tmp.tgz /Users/V1/.npm/3f0e52a5-91302-0-0604613081086427-tmp-tgz.lock
18306 silly gunzTarPerm modes [ '755', '644' ]
18307 silly lockFile 2a5e7e62-les-licenses-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing
18308 silly lockFile 2a5e7e62-les-licenses-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing
18309 silly gunzTarPerm extractEntry renderme/package.json
18310 silly gunzTarPerm extractEntry renderme/.npmignore
18311 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
18312 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
18313 silly gunzTarPerm extractEntry licenses/BSD-2-Clause.txt
18314 silly gunzTarPerm extractEntry licenses/BSD-3-Clause.txt
18315 silly gunzTarPerm extractEntry package.json
18316 info preinstall fusing@0.2.1
18317 silly gunzTarPerm extractEntry .npmignore
18318 silly gunzTarPerm extractEntry index.js
18319 verbose readDependencies using package.json deps
18320 verbose readDependencies using package.json deps
18321 silly gunzTarPerm extractEntry renderme/README.md
18322 silly gunzTarPerm extractEntry renderme/index.js
18323 verbose cache add [ 'predefine@0.1.x', null ]
18324 verbose cache add name=undefined spec="predefine@0.1.x" args=["predefine@0.1.x",null]
18325 verbose parsed url { protocol: null,
18325 verbose parsed url slashes: null,
18325 verbose parsed url auth: null,
18325 verbose parsed url host: null,
18325 verbose parsed url port: null,
18325 verbose parsed url hostname: null,
18325 verbose parsed url hash: null,
18325 verbose parsed url search: null,
18325 verbose parsed url query: null,
18325 verbose parsed url pathname: 'predefine@0.1.x',
18325 verbose parsed url path: 'predefine@0.1.x',
18325 verbose parsed url href: 'predefine@0.1.x' }
18326 verbose cache add name="predefine" spec="0.1.x" args=["predefine","0.1.x"]
18327 verbose parsed url { protocol: null,
18327 verbose parsed url slashes: null,
18327 verbose parsed url auth: null,
18327 verbose parsed url host: null,
18327 verbose parsed url port: null,
18327 verbose parsed url hostname: null,
18327 verbose parsed url hash: null,
18327 verbose parsed url search: null,
18327 verbose parsed url query: null,
18327 verbose parsed url pathname: '0.1.x',
18327 verbose parsed url path: '0.1.x',
18327 verbose parsed url href: '0.1.x' }
18328 verbose addNamed [ 'predefine', '0.1.x' ]
18329 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
18330 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
18331 verbose lock predefine@0.1.x /Users/V1/.npm/74815840-predefine-0-1-x.lock
18332 silly addNameRange { name: 'predefine',
18332 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
18332 silly addNameRange hasData: false }
18333 silly lockFile 985220a2-pression-node-modules-negotiator tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/negotiator
18334 silly lockFile 985220a2-pression-node-modules-negotiator tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/negotiator
18335 silly lockFile b8241c7e-npm-negotiator-0-3-0-package-tgz tar:///Users/V1/.npm/negotiator/0.3.0/package.tgz
18336 silly lockFile b8241c7e-npm-negotiator-0-3-0-package-tgz tar:///Users/V1/.npm/negotiator/0.3.0/package.tgz
18337 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/test/utils.js
18338 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/images/hawk.png
18339 silly gunzTarPerm extractEntry History.md
18340 silly gunzTarPerm extractEntry Makefile
18341 silly lockFile 72ba66c8-ules-licenses-node-modules-async tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/async
18342 silly lockFile 72ba66c8-ules-licenses-node-modules-async tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/async
18343 silly lockFile feee9c65-s-V1-npm-async-0-6-2-package-tgz tar:///Users/V1/.npm/async/0.6.2/package.tgz
18344 silly lockFile feee9c65-s-V1-npm-async-0-6-2-package-tgz tar:///Users/V1/.npm/async/0.6.2/package.tgz
18345 silly gunzTarPerm extractEntry renderme/.travis.yml
18346 silly gunzTarPerm extractEntry renderme/test/integration.test.js
18347 verbose registry.get predefine not expired, no request
18348 silly addNameRange number 2 { name: 'predefine', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
18349 silly addNameRange versions [ 'predefine',
18349 silly addNameRange [ '0.0.0',
18349 silly addNameRange '0.0.1',
18349 silly addNameRange '0.0.2',
18349 silly addNameRange '0.0.3',
18349 silly addNameRange '0.0.5',
18349 silly addNameRange '0.0.6',
18349 silly addNameRange '0.1.0',
18349 silly addNameRange '0.1.1' ] ]
18350 verbose addNamed [ 'predefine', '0.1.1' ]
18351 verbose addNamed [ '0.1.1', '0.1.1' ]
18352 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
18353 verbose lock predefine@0.1.1 /Users/V1/.npm/8b2cde2e-predefine-0-1-1.lock
18354 silly lockFile 2c50dfc7-kwrap-node-modules-eventemitter3 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/eventemitter3
18355 silly lockFile 2c50dfc7-kwrap-node-modules-eventemitter3 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/eventemitter3
18356 info preinstall negotiator@0.3.0
18357 silly gunzTarPerm extractEntry licenses/BSD.txt
18358 silly gunzTarPerm extractEntry licenses/BSL1.0.txt
18359 silly lockFile 70e5a727--eventemitter3-0-1-2-package-tgz tar:///Users/V1/.npm/eventemitter3/0.1.2/package.tgz
18360 silly lockFile 70e5a727--eventemitter3-0-1-2-package-tgz tar:///Users/V1/.npm/eventemitter3/0.1.2/package.tgz
18361 info preinstall async@0.6.2
18362 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
18363 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
18364 verbose readDependencies using package.json deps
18365 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
18366 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
18367 verbose readDependencies using package.json deps
18368 silly resolved []
18369 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/negotiator
18370 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules/negotiator
18371 verbose linkStuff [ false,
18371 verbose linkStuff false,
18371 verbose linkStuff false,
18371 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression/node_modules' ]
18372 info linkStuff negotiator@0.3.0
18373 verbose linkBins negotiator@0.3.0
18374 verbose linkMans negotiator@0.3.0
18375 verbose rebuildBundles negotiator@0.3.0
18376 silly gunzTarPerm extractEntry Readme.md
18377 silly gunzTarPerm extractEntry component.json
18378 info preinstall eventemitter3@0.1.2
18379 info install negotiator@0.3.0
18380 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/images/logo.png
18381 verbose readDependencies using package.json deps
18382 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/boom/package.json
18383 verbose readDependencies using package.json deps
18384 silly resolved []
18385 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/async
18386 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/async
18387 verbose linkStuff [ false,
18387 verbose linkStuff false,
18387 verbose linkStuff false,
18387 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules' ]
18388 info linkStuff async@0.6.2
18389 verbose linkBins async@0.6.2
18390 verbose linkMans async@0.6.2
18391 verbose rebuildBundles async@0.6.2
18392 info postinstall negotiator@0.3.0
18393 info install async@0.6.2
18394 verbose readDependencies using package.json deps
18395 silly lockFile f9fdaa97-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine
18396 silly lockFile f9fdaa97-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine
18397 silly gunzTarPerm extractEntry renderme/test/renderme.test.js
18398 silly gunzTarPerm extractEntry renderme/test/uri.js
18399 verbose readDependencies using package.json deps
18400 silly resolved []
18401 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/eventemitter3
18402 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/eventemitter3
18403 verbose linkStuff [ false,
18403 verbose linkStuff false,
18403 verbose linkStuff false,
18403 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules' ]
18404 info linkStuff eventemitter3@0.1.2
18405 verbose linkBins eventemitter3@0.1.2
18406 verbose linkMans eventemitter3@0.1.2
18407 verbose rebuildBundles eventemitter3@0.1.2
18408 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression
18409 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/compression
18410 verbose linkStuff [ false,
18410 verbose linkStuff false,
18410 verbose linkStuff false,
18410 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules' ]
18411 info linkStuff compression@1.0.0
18412 verbose linkBins compression@1.0.0
18413 verbose linkMans compression@1.0.0
18414 verbose rebuildBundles compression@1.0.0
18415 info postinstall async@0.6.2
18416 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
18417 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
18418 info install eventemitter3@0.1.2
18419 verbose rebuildBundles [ 'bytes', 'compressible', 'negotiator' ]
18420 info install compression@1.0.0
18421 silly resolved [ { name: 'predefine',
18421 silly resolved version: '0.1.1',
18421 silly resolved description: 'Predefine your Object.defineProperties to create a more human readable API.',
18421 silly resolved main: 'index.js',
18421 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
18421 silly resolved repository: { type: 'git', url: 'git://github.com/bigpipe/predefine.git' },
18421 silly resolved keywords:
18421 silly resolved [ 'predefine',
18421 silly resolved 'define',
18421 silly resolved 'object',
18421 silly resolved 'defineProperties',
18421 silly resolved 'defineProperties',
18421 silly resolved 'configurable',
18421 silly resolved 'writable',
18421 silly resolved 'get',
18421 silly resolved 'set',
18421 silly resolved 'getters',
18421 silly resolved 'setters',
18421 silly resolved 'inherit' ],
18421 silly resolved author: { name: 'Arnout Kazemier' },
18421 silly resolved license: 'MIT',
18421 silly resolved dependencies: { extendable: '0.0.x' },
18421 silly resolved devDependencies: { 'pre-commit': '0.0.x', mocha: '1.16.x', chai: '1.8.x' },
18421 silly resolved readme: '# predefine\n\n[![Build Status](https://travis-ci.org/bigpipe/predefine.png)](https://travis-ci.org/bigpipe/predefine)\n\nWhen creating objects or prototypes using `Object.defineProperties` or\n`Object.defineProperty` it make your code look really verbose by all the\nproperty descriptions that it needs. Most of the time, they are the same. They\neither make your properties writable, readable or prevents them from being\nenumerable. So basically:\n\nPredefine makes `Object.defineProperties` your human readable and manageable.\n\n## Installation\n\n```\nnpm install --save predefine\n```\n\n## Getting started\n\nLet\'s start with a basic example of predefine usage:\n\n```\nvar predefine = require(\'predefine\');\n\nfunction Base() {\n var readable = predefine(this, { configurable: false, enumerable: false })\n , writable = predefine(this, predefine.WRITABLE);\n\n readable(\'prop\', \'value\');\n writable(\'data\', []);\n}\n\nBase.writable = predefine(Base.prototype, predefine.WRITABLE);\n\nBase.writable(\'foo\', \'bar\');\n```\n\nAs you can see from the snippet above, it\'s really easy to see which properties\nare made readable and which one\'s are writable.\n\n### Predefine.extend\n\nThis allows you to add `Backbone` inspired `.extend` functionality to your\nconstructors. This makes inheriting a lot easier and readable. See the\n`extendable` module in npm for information.\n\n```js\nfunction Foo() {}\nFoo.extend = predefine.extend;\n\nvar Bar = Foo.extend({\n method: function () {}\n});\n```\n\n### Predefine.descriptor\n\nTest if a given object is a valid `Object` description to it can be used with\n`Object.defineProperty`, `Object.defineProperties` and `Object.create`.\n\n```js\npredefine.descriptor({ foo: \'bar\' }); // false\npredefine.descriptor({ value: \'bar\' }); // true\npredefine.descriptor({ value: \'bar\', enumerable: false }); // true\npredefine.descriptor({ value: \'bar\', foo: \'bar\' }); // false\n```\n\n### Predefine.create\n\nThis is a simple helper function to create descriptions that can be used within\n`Object.create` and `Object.defineProperties`.\n\n```js\nvar data = Object.create(null, predefine.create(\'foo\', { \n value: \'bar\' \n}));\n\nvar data = Object.create(null, predefine.create(\'foo\', {\n value: \'bar\'\n}, predefine.READABLE));\n\nvar data = Object.create(null, predefine.create(\'foo\', \'bar\', predefine.READABLE));\n```\n\n### Predefine.remove\n\nRemoves all enumerable properties from a given object, with the ability to keep\nwhite listed properties.\n\n```js\nvar data = { foo: \'bar\', bar: \'foo\' };\n\npredefine.remove(data); // The data variable is now an empty object.\npredefine.remove(data, [\'foo\']); // The foo property is kept.\n\nvar readable(data);\nreadable(\'baz\', \'baz\');\n\npredefine.remove(data); // Only `baz` is left.\n```\n\n### Predefine.merge\n\nMerge two objects in to one single object. This supports deep merging.\n\n```js\nvar result = predefine.merge({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n### Predefine.mixin\n\nMixin two Objects, which also transfers properties that are set using\nObject.defineProperty.\n\n```js\nvar result = predefine.mixin({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n## License\n\nMIT\n',
18421 silly resolved readmeFilename: 'README.md',
18421 silly resolved bugs: { url: 'https://github.com/bigpipe/predefine/issues' },
18421 silly resolved homepage: 'https://github.com/bigpipe/predefine',
18421 silly resolved _id: 'predefine@0.1.1',
18421 silly resolved _shasum: 'bdea730b530a5400a28e050fb192443c9f82da75',
18421 silly resolved _from: 'predefine@0.1.x',
18421 silly resolved _resolved: 'https://registry.npmjs.org/predefine/-/predefine-0.1.1.tgz' } ]
18422 info install predefine@0.1.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing
18423 info installOne predefine@0.1.1
18424 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine unbuild
18425 info postinstall eventemitter3@0.1.2
18426 info postinstall compression@1.0.0
18427 info preinstall predefine@0.1.1
18428 verbose tar unpack /Users/V1/.npm/predefine/0.1.1/package.tgz
18429 silly lockFile 54ba4014-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine
18430 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine /Users/V1/.npm/54ba4014-es-fusing-node-modules-predefine.lock
18431 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
18432 verbose lock tar:///Users/V1/.npm/predefine/0.1.1/package.tgz /Users/V1/.npm/e18f5090--npm-predefine-0-1-1-package-tgz.lock
18433 silly gunzTarPerm extractEntry test/dot.js
18434 silly lockFile 997ef0fd-1-npm-range-parser-1-0-0-package tar:///Users/V1/.npm/range-parser/1.0.0/package
18435 silly lockFile 997ef0fd-1-npm-range-parser-1-0-0-package tar:///Users/V1/.npm/range-parser/1.0.0/package
18436 verbose readDependencies using package.json deps
18437 silly lockFile d1ca9f4a-1498-0-25312376162037253-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991498-0.25312376162037253/tmp.tgz
18438 silly lockFile d1ca9f4a-1498-0-25312376162037253-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991498-0.25312376162037253/tmp.tgz
18439 silly gunzTarPerm extractEntry renderme/test/mocha.opts
18440 silly gunzTarPerm extractEntry shrinkwrap/package.json
18441 verbose readDependencies using package.json deps
18442 silly gunzTarPerm modes [ '755', '644' ]
18443 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/boom/.npmignore
18444 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/boom/README.md
18445 verbose cache add [ 'extendable@0.0.x', null ]
18446 verbose cache add name=undefined spec="extendable@0.0.x" args=["extendable@0.0.x",null]
18447 verbose parsed url { protocol: null,
18447 verbose parsed url slashes: null,
18447 verbose parsed url auth: null,
18447 verbose parsed url host: null,
18447 verbose parsed url port: null,
18447 verbose parsed url hostname: null,
18447 verbose parsed url hash: null,
18447 verbose parsed url search: null,
18447 verbose parsed url query: null,
18447 verbose parsed url pathname: 'extendable@0.0.x',
18447 verbose parsed url path: 'extendable@0.0.x',
18447 verbose parsed url href: 'extendable@0.0.x' }
18448 verbose cache add name="extendable" spec="0.0.x" args=["extendable","0.0.x"]
18449 verbose parsed url { protocol: null,
18449 verbose parsed url slashes: null,
18449 verbose parsed url auth: null,
18449 verbose parsed url host: null,
18449 verbose parsed url port: null,
18449 verbose parsed url hostname: null,
18449 verbose parsed url hash: null,
18449 verbose parsed url search: null,
18449 verbose parsed url query: null,
18449 verbose parsed url pathname: '0.0.x',
18449 verbose parsed url path: '0.0.x',
18449 verbose parsed url href: '0.0.x' }
18450 verbose addNamed [ 'extendable', '0.0.x' ]
18451 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
18452 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
18453 verbose lock extendable@0.0.x /Users/V1/.npm/9b413a1a-extendable-0-0-x.lock
18454 silly lockFile 73c89b68-ge-parser-range-parser-1-0-0-tgz https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz
18455 silly lockFile 73c89b68-ge-parser-range-parser-1-0-0-tgz https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz
18456 silly addNameRange { name: 'extendable',
18456 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
18456 silly addNameRange hasData: false }
18457 silly lockFile ed7aad53-range-parser-1-0-0 range-parser@1.0.0
18458 silly lockFile ed7aad53-range-parser-1-0-0 range-parser@1.0.0
18459 silly gunzTarPerm extractEntry package.json
18460 silly lockFile c9cbe72c-range-parser-1-0-0 range-parser@~1.0.0
18461 silly lockFile c9cbe72c-range-parser-1-0-0 range-parser@~1.0.0
18462 silly gunzTarPerm extractEntry shrinkwrap/.npmignore
18463 silly gunzTarPerm extractEntry shrinkwrap/README.md
18464 verbose registry.get extendable not expired, no request
18465 silly addNameRange number 2 { name: 'extendable',
18465 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
18465 silly addNameRange hasData: true }
18466 silly addNameRange versions [ 'extendable',
18466 silly addNameRange [ '0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6' ] ]
18467 verbose addNamed [ 'extendable', '0.0.6' ]
18468 verbose addNamed [ '0.0.6', '0.0.6' ]
18469 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
18470 verbose lock extendable@0.0.6 /Users/V1/.npm/84399eb0-extendable-0-0-6.lock
18471 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/boom/LICENSE
18472 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/boom/index.js
18473 silly gunzTarPerm extractEntry .npmignore
18474 silly gunzTarPerm extractEntry README.md
18475 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
18476 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
18477 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
18478 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
18479 silly resolved [ { author:
18479 silly resolved { name: 'Brian J. Brennan',
18479 silly resolved email: 'brianloveswords@gmail.com',
18479 silly resolved url: 'http://bjb.io' },
18479 silly resolved name: 'buffer-crc32',
18479 silly resolved description: 'A pure javascript CRC32 algorithm that plays nice with binary data',
18479 silly resolved version: '0.2.1',
18479 silly resolved contributors: [ [Object] ],
18479 silly resolved homepage: 'https://github.com/brianloveswords/buffer-crc32',
18479 silly resolved repository:
18479 silly resolved { type: 'git',
18479 silly resolved url: 'git://github.com/brianloveswords/buffer-crc32.git' },
18479 silly resolved main: 'index.js',
18479 silly resolved scripts: { test: 'tap tests/*.test.js' },
18479 silly resolved dependencies: {},
18479 silly resolved devDependencies: { tap: '~0.2.5' },
18479 silly resolved optionalDependencies: {},
18479 silly resolved engines: { node: '*' },
18479 silly resolved 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) // -> <Buffer 94 5a ab 4a>\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(\'自動販売機\') // -> <Buffer cb 03 1a c5>\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); // -> <Buffer 47 fa 55 70>\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',
18479 silly resolved readmeFilename: 'README.md',
18479 silly resolved bugs: { url: 'https://github.com/brianloveswords/buffer-crc32/issues' },
18479 silly resolved _id: 'buffer-crc32@0.2.1',
18479 silly resolved _shasum: 'be3e5382fc02b6d6324956ac1af98aa98b08534c',
18479 silly resolved _from: 'buffer-crc32@0.2.1',
18479 silly resolved _resolved: 'https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz' },
18479 silly resolved { author:
18479 silly resolved { name: 'Robert Kieffer',
18479 silly resolved email: 'robert@broofa.com',
18479 silly resolved url: 'http://github.com/broofa' },
18479 silly resolved contributors: [ [Object] ],
18479 silly resolved dependencies: {},
18479 silly resolved description: 'A comprehensive library for mime-type mapping',
18479 silly resolved devDependencies: {},
18479 silly resolved keywords: [ 'util', 'mime' ],
18479 silly resolved main: 'mime.js',
18479 silly resolved name: 'mime',
18479 silly resolved repository: { url: 'https://github.com/broofa/node-mime', type: 'git' },
18479 silly resolved version: '1.2.11',
18479 silly resolved 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',
18479 silly resolved readmeFilename: 'README.md',
18479 silly resolved bugs: { url: 'https://github.com/broofa/node-mime/issues' },
18479 silly resolved homepage: 'https://github.com/broofa/node-mime',
18479 silly resolved _id: 'mime@1.2.11',
18479 silly resolved _shasum: '58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10',
18479 silly resolved _from: 'mime@1.2.11',
18479 silly resolved _resolved: 'https://registry.npmjs.org/mime/-/mime-1.2.11.tgz',
18479 silly resolved scripts: {} },
18479 silly resolved { name: 'debug',
18479 silly resolved version: '0.8.0',
18479 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/debug.git' },
18479 silly resolved description: 'small debugging utility',
18479 silly resolved keywords: [ 'debug', 'log', 'debugger' ],
18479 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
18479 silly resolved dependencies: {},
18479 silly resolved devDependencies: { mocha: '*' },
18479 silly resolved main: 'lib/debug.js',
18479 silly resolved browser: './debug.js',
18479 silly resolved engines: { node: '*' },
18479 silly resolved files: [ 'lib/debug.js', 'debug.js' ],
18479 silly resolved 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 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`. 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 &lt;tj@vision-media.ca&gt;\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',
18479 silly resolved readmeFilename: 'Readme.md',
18479 silly resolved bugs: { url: 'https://github.com/visionmedia/debug/issues' },
18479 silly resolved homepage: 'https://github.com/visionmedia/debug',
18479 silly resolved _id: 'debug@0.8.0',
18479 silly resolved _shasum: '0541ea91f0e503fdf0c5eed418a32550234967f0',
18479 silly resolved _from: 'debug@0.8.0',
18479 silly resolved _resolved: 'https://registry.npmjs.org/debug/-/debug-0.8.0.tgz' },
18479 silly resolved { name: 'range-parser',
18479 silly resolved author:
18479 silly resolved { name: 'TJ Holowaychuk',
18479 silly resolved email: 'tj@vision-media.ca',
18479 silly resolved url: 'http://tjholowaychuk.com' },
18479 silly resolved description: 'Range header field string parser',
18479 silly resolved version: '1.0.0',
18479 silly resolved repository:
18479 silly resolved { type: 'git',
18479 silly resolved url: 'https://github.com/visionmedia/node-range-parser.git' },
18479 silly resolved main: 'index.js',
18479 silly resolved dependencies: {},
18479 silly resolved devDependencies: { mocha: '*', should: '*' },
18479 silly resolved licenses: [ [Object] ],
18479 silly resolved 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```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\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.',
18479 silly resolved readmeFilename: 'Readme.md',
18479 silly resolved bugs: { url: 'https://github.com/visionmedia/node-range-parser/issues' },
18479 silly resolved homepage: 'https://github.com/visionmedia/node-range-parser',
18479 silly resolved _id: 'range-parser@1.0.0',
18479 silly resolved _shasum: 'a4b264cfe0be5ce36abe3765ac9c2a248746dbc0',
18479 silly resolved _from: 'range-parser@~1.0.0',
18479 silly resolved _resolved: 'https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz' } ]
18480 info install buffer-crc32@0.2.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send
18481 info install mime@1.2.11 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send
18482 info install debug@0.8.0 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send
18483 info install range-parser@1.0.0 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send
18484 info installOne buffer-crc32@0.2.1
18485 info installOne mime@1.2.11
18486 info installOne debug@0.8.0
18487 info installOne range-parser@1.0.0
18488 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/buffer-crc32 unbuild
18489 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/mime unbuild
18490 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/debug unbuild
18491 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/range-parser unbuild
18492 silly gunzTarPerm extractEntry shrinkwrap/LICENSE
18493 silly gunzTarPerm extractEntry shrinkwrap/index.js
18494 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/boom/.travis.yml
18495 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/boom/Makefile
18496 verbose tar unpack /Users/V1/.npm/buffer-crc32/0.2.1/package.tgz
18497 silly lockFile 2f90e8e4-s-send-node-modules-buffer-crc32 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/buffer-crc32
18498 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/buffer-crc32 /Users/V1/.npm/2f90e8e4-s-send-node-modules-buffer-crc32.lock
18499 silly lockFile ec28e072-m-buffer-crc32-0-2-1-package-tgz tar:///Users/V1/.npm/buffer-crc32/0.2.1/package.tgz
18500 verbose lock tar:///Users/V1/.npm/buffer-crc32/0.2.1/package.tgz /Users/V1/.npm/ec28e072-m-buffer-crc32-0-2-1-package-tgz.lock
18501 verbose tar unpack /Users/V1/.npm/mime/1.2.11/package.tgz
18502 silly lockFile 745a10ce-e-modules-send-node-modules-mime tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/mime
18503 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/mime /Users/V1/.npm/745a10ce-e-modules-send-node-modules-mime.lock
18504 silly lockFile 90b62cfb-s-V1-npm-mime-1-2-11-package-tgz tar:///Users/V1/.npm/mime/1.2.11/package.tgz
18505 verbose lock tar:///Users/V1/.npm/mime/1.2.11/package.tgz /Users/V1/.npm/90b62cfb-s-V1-npm-mime-1-2-11-package-tgz.lock
18506 verbose tar unpack /Users/V1/.npm/debug/0.8.0/package.tgz
18507 silly lockFile 7ff67418--modules-send-node-modules-debug tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/debug
18508 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/debug /Users/V1/.npm/7ff67418--modules-send-node-modules-debug.lock
18509 silly lockFile 78b071bb-s-V1-npm-debug-0-8-0-package-tgz tar:///Users/V1/.npm/debug/0.8.0/package.tgz
18510 verbose lock tar:///Users/V1/.npm/debug/0.8.0/package.tgz /Users/V1/.npm/78b071bb-s-V1-npm-debug-0-8-0-package-tgz.lock
18511 verbose tar unpack /Users/V1/.npm/range-parser/1.0.0/package.tgz
18512 silly lockFile 8fd33631-s-send-node-modules-range-parser tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/range-parser
18513 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/range-parser /Users/V1/.npm/8fd33631-s-send-node-modules-range-parser.lock
18514 silly lockFile a373d5a1-m-range-parser-1-0-0-package-tgz tar:///Users/V1/.npm/range-parser/1.0.0/package.tgz
18515 verbose lock tar:///Users/V1/.npm/range-parser/1.0.0/package.tgz /Users/V1/.npm/a373d5a1-m-range-parser-1-0-0-package-tgz.lock
18516 silly gunzTarPerm extractEntry index.js
18517 silly gunzTarPerm extractEntry .travis.yml
18518 silly resolved [ { name: 'extendable',
18518 silly resolved version: '0.0.6',
18518 silly resolved description: 'Extend constructors using backbone\'s .extend signature',
18518 silly resolved keywords:
18518 silly resolved [ 'backbone',
18518 silly resolved 'underscore',
18518 silly resolved 'lodash',
18518 silly resolved 'extend',
18518 silly resolved 'inherit',
18518 silly resolved 'inherits' ],
18518 silly resolved main: 'index.js',
18518 silly resolved scripts: { test: 'node test.js' },
18518 silly resolved repository: { type: 'git', url: 'git://github.com/3rd-Eden/extendable.git' },
18518 silly resolved author: { name: 'Arnout Kazemier' },
18518 silly resolved license: 'MIT',
18518 silly resolved dependencies: {},
18518 silly resolved devDependencies: {},
18518 silly resolved readme: '# Extend your JavaScript constructors in the same as you are used to in backbone.js\n\n[![Build Status](https://travis-ci.org/3rd-Eden/extendable.png)](https://travis-ci.org/3rd-Eden/extendable)\n\n```js\nvar extend = require(\'extendable\')\n , EventEmitter = require(\'events\').EventEmitter;\n\nfunction Awesomeness() {\n var self = this;\n\n setTimeout(function () {\n self.render(self.data);\n }, 100);\n\n EventEmitter.call(this);\n}\n\nAwesomeness.prototype = new EventEmitter;\nAwesomeness.prototype.constructor = Awesomeness;\n\nAwesomeness.prototype.data = \'bar\';\nAwesomeness.prototype.render = function render() {\n // does nothing\n};\n\nAwesomeness.extend = extend;\n```\n\nAnd you can now use it\n\n```js\nvar SuperAwesome = Awesomeness.extend({\n data: \'trololol\'\n\n , render: function render(data) {\n console.log(data);\n }\n});\n\nnew SuperAwesome();\n// outputs "trololo" after 100 ms\n```\n\n### License\n\nMIT\n',
18518 silly resolved readmeFilename: 'README.md',
18518 silly resolved bugs: { url: 'https://github.com/3rd-Eden/extendable/issues' },
18518 silly resolved homepage: 'https://github.com/3rd-Eden/extendable',
18518 silly resolved _id: 'extendable@0.0.6',
18518 silly resolved _shasum: 'b85c6a081630b2c9d83588239c20cb3be4776fe6',
18518 silly resolved _from: 'extendable@0.0.x',
18518 silly resolved _resolved: 'https://registry.npmjs.org/extendable/-/extendable-0.0.6.tgz' } ]
18519 info install extendable@0.0.6 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine
18520 info installOne extendable@0.0.6
18521 silly gunzTarPerm modes [ '755', '644' ]
18522 silly gunzTarPerm modes [ '755', '644' ]
18523 silly gunzTarPerm modes [ '755', '644' ]
18524 silly gunzTarPerm modes [ '755', '644' ]
18525 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine/node_modules/extendable unbuild
18526 verbose tar unpack /Users/V1/.npm/extendable/0.0.6/package.tgz
18527 silly lockFile 47a2db32-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine/node_modules/extendable
18528 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine/node_modules/extendable /Users/V1/.npm/47a2db32-redefine-node-modules-extendable.lock
18529 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
18530 verbose lock tar:///Users/V1/.npm/extendable/0.0.6/package.tgz /Users/V1/.npm/680edfbb-npm-extendable-0-0-6-package-tgz.lock
18531 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/boom/images/boom.png
18532 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js
18533 silly gunzTarPerm extractEntry package.json
18534 silly gunzTarPerm extractEntry shrinkwrap/module.js
18535 silly gunzTarPerm extractEntry test/index.js
18536 silly gunzTarPerm extractEntry package.json
18537 silly gunzTarPerm extractEntry package.json
18538 silly gunzTarPerm extractEntry package.json
18539 silly gunzTarPerm modes [ '755', '644' ]
18540 silly gunzTarPerm extractEntry .npmignore
18541 silly gunzTarPerm extractEntry README.md
18542 silly gunzTarPerm extractEntry README.md
18543 silly gunzTarPerm extractEntry LICENSE
18544 silly gunzTarPerm extractEntry debug.js
18545 silly gunzTarPerm extractEntry Readme.md
18546 silly gunzTarPerm extractEntry .npmignore
18547 silly gunzTarPerm extractEntry index.js
18548 silly gunzTarPerm extractEntry package.json
18549 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/boom/test/index.js
18550 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json
18551 silly gunzTarPerm extractEntry shrinkwrap/test.js
18552 silly gunzTarPerm extractEntry shrinkwrap/version.js
18553 silly gunzTarPerm extractEntry .npmignore
18554 silly gunzTarPerm extractEntry README.md
18555 silly gunzTarPerm extractEntry index.js
18556 silly gunzTarPerm extractEntry .travis.yml
18557 silly gunzTarPerm extractEntry lib/debug.js
18558 silly gunzTarPerm extractEntry mime.js
18559 silly gunzTarPerm extractEntry test.js
18560 silly gunzTarPerm extractEntry types/mime.types
18561 silly gunzTarPerm extractEntry types/node.types
18562 silly gunzTarPerm extractEntry History.md
18563 silly gunzTarPerm extractEntry Makefile
18564 silly gunzTarPerm extractEntry test/mocha.opts
18565 silly gunzTarPerm extractEntry test/pagelet.test.js
18566 silly gunzTarPerm extractEntry test/mocha.opts
18567 silly gunzTarPerm extractEntry index.js
18568 silly gunzTarPerm extractEntry test.js
18569 silly gunzTarPerm extractEntry tests/crc.test.js
18570 silly gunzTarPerm extractEntry Readme.md
18571 silly lockFile 09366516--npm-dot-component-0-1-1-package tar:///Users/V1/.npm/dot-component/0.1.1/package
18572 silly lockFile 09366516--npm-dot-component-0-1-1-package tar:///Users/V1/.npm/dot-component/0.1.1/package
18573 silly lockFile 3f0e52a5-91302-0-0604613081086427-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991302-0.0604613081086427/tmp.tgz
18574 silly lockFile 3f0e52a5-91302-0-0604613081086427-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991302-0.0604613081086427/tmp.tgz
18575 silly gunzTarPerm extractEntry .travis.yml
18576 silly gunzTarPerm extractEntry example/index.js
18577 silly lockFile 5e4cd15f-omponent-dot-component-0-1-1-tgz https://registry.npmjs.org/dot-component/-/dot-component-0.1.1.tgz
18578 silly lockFile 5e4cd15f-omponent-dot-component-0-1-1-tgz https://registry.npmjs.org/dot-component/-/dot-component-0.1.1.tgz
18579 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore
18580 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/cryptiles/README.md
18581 silly lockFile a2d7ccd4-dot-component-0-1-1 dot-component@0.1.1
18582 silly lockFile a2d7ccd4-dot-component-0-1-1 dot-component@0.1.1
18583 silly lockFile 59765ed7-dot-component-0-1-x dot-component@0.1.x
18584 silly lockFile 59765ed7-dot-component-0-1-x dot-component@0.1.x
18585 silly resolved [ { name: 'json-stringify-safe',
18585 silly resolved version: '5.0.0',
18585 silly resolved description: 'Like JSON.stringify, but doesn\'t blow up on circular refs',
18585 silly resolved main: 'stringify.js',
18585 silly resolved scripts: { test: 'node test.js' },
18585 silly resolved repository:
18585 silly resolved { type: 'git',
18585 silly resolved url: 'git://github.com/isaacs/json-stringify-safe' },
18585 silly resolved keywords: [ 'json', 'stringify', 'circular', 'safe' ],
18585 silly resolved author:
18585 silly resolved { name: 'Isaac Z. Schlueter',
18585 silly resolved email: 'i@izs.me',
18585 silly resolved url: 'http://blog.izs.me' },
18585 silly resolved license: 'BSD',
18585 silly resolved readmeFilename: 'README.md',
18585 silly resolved readme: '# json-stringify-safe\n\nLike JSON.stringify, but doesn\'t throw on circular references.\n\n## Usage\n\nTakes the same arguments as `JSON.stringify`.\n\n```javascript\nvar stringify = require(\'json-stringify-safe\');\nvar circularObj = {};\ncircularObj.circularRef = circularObj;\ncircularObj.list = [ circularObj, circularObj ];\nconsole.log(stringify(circularObj, null, 2));\n```\n\nOutput:\n\n```json\n{\n "circularRef": "[Circular]",\n "list": [\n "[Circular]",\n "[Circular]"\n ]\n}\n```\n\n## Details\n\n```\nstringify(obj, serializer, indent, decycler)\n```\n\nThe first three arguments are the same as to JSON.stringify. The last\nis an argument that\'s only used when the object has been seen already.\n\nThe default `decycler` function returns the string `\'[Circular]\'`.\nIf, for example, you pass in `function(k,v){}` (return nothing) then it\nwill prune cycles. If you pass in `function(k,v){ return {foo: \'bar\'}}`,\nthen cyclical objects will always be represented as `{"foo":"bar"}` in\nthe result.\n\n```\nstringify.getSerialize(serializer, decycler)\n```\n\nReturns a serializer that can be used elsewhere. This is the actual\nfunction that\'s passed to JSON.stringify.\n',
18585 silly resolved bugs: { url: 'https://github.com/isaacs/json-stringify-safe/issues' },
18585 silly resolved homepage: 'https://github.com/isaacs/json-stringify-safe',
18585 silly resolved _id: 'json-stringify-safe@5.0.0',
18585 silly resolved _shasum: '4c1f228b5050837eba9d21f50c2e6e320624566e',
18585 silly resolved _from: 'json-stringify-safe@5.0.x',
18585 silly resolved _resolved: 'https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz' },
18585 silly resolved { name: 'temper',
18585 silly resolved version: '0.1.9',
18585 silly resolved description: 'Temper compiles template for client and server side usage.',
18585 silly resolved main: 'index.js',
18585 silly resolved scripts: { test: 'NODE_ENV=testing ./node_modules/.bin/mocha $(find test -name \'*.test.js\')' },
18585 silly resolved repository: { type: 'git', url: 'git://github.com/bigpipe/temper.git' },
18585 silly resolved keywords:
18585 silly resolved [ 'temper',
18585 silly resolved 'templating',
18585 silly resolved 'browser',
18585 silly resolved 'compile',
18585 silly resolved 'jade',
18585 silly resolved 'html',
18585 silly resolved 'hogan.js',
18585 silly resolved 'handlebars',
18585 silly resolved 'ejs' ],
18585 silly resolved author: { name: 'Arnout Kazemier' },
18585 silly resolved license: 'MIT',
18585 silly resolved devDependencies:
18585 silly resolved { chai: '1.9.x',
18585 silly resolved mocha: '1.18.x',
18585 silly resolved jade: '*',
18585 silly resolved 'hogan.js': '*',
18585 silly resolved handlebars: '*',
18585 silly resolved ejs: '*',
18585 silly resolved 'pre-commit': '0.0.x' },
18585 silly resolved readme: '# Temper\n\n[![Build Status](https://travis-ci.org/bigpipe/temper.png?branch=master)](https://travis-ci.org/bigpipe/temper)\n\nTemper is a small module that compiles your templates for server-side usage and\nclient-side usage through one single interface. This makes it easy to create\nisomorphic JavaScript applications, which is awesome.\n\nThe following template engines are supported:\n\n- **jade**, automatically discovered by using the `.jade` extension.\n- **ejs**, automatically discovered by using the `.ejs` extension.\n- **hogan.js**, automatically discovered by using the `.mustache` extension.\n- **mustache**, automatically discovered by using the `.mustache` extension.\n- **handlebars**, automatically discovered by using the `.mustache` extension.\n- **html**, automatically discovered by using the `.html` extension.\n\nAs you can see from the list above, we support multiple version engines for the\n`mustache` extension. You can supply your preference through the API. If no\npreference is given it will iterate over the template engines and the one that\nis successfully required will be used automatically.\n\n### Installation\n\nTemper is distributed through npm:\n\n```\nnpm install --save temper\n```\n\n### Usage\n\nTemper doesn\'t depend on any template engines so you need to install these your\nself. For these examples I\'m going to assume that you have `jade` installed as\ntemplate engine. Run `npm install --save jade` if this is not the case.\n\nInitialising temper is quite simple:\n\n```js\n\'use strict\';\n\nvar Temper = require(\'temper\')\n , temper = new Temper();\n```\n\nThe `Temper` constructor allows the following options:\n\n- `cache` should we cache the compiled template, this defaults to `true` if\n `NODE_ENV` is set to `production`. You usually want to have this disabled during\n development so you can see the changes in your template without having to\n restart your node process.\n\nThe following methods can be used to interact with `temper`:\n\n##### temper.prefetch(file, [engine])\n\nThe `temper.prefetch` method allows you to pre-compile your template file. This\nis advised as requiring modules and reading files is done synchronous. Simply\ncall this method with a file location and an option engine argument.\n\nTemper will try it\'s best to automatically discover template engines based on\nfile extensions, but sometimes this is impossible. There are tons of `mustache`\ncompatible template engines and we cannot figure out which one you want based on\nthe extension. But for template languages such as `jade` it\'s quite simple.\n\n```js\ntemper.prefetch(\'/file/path/to/template.jade\');\ntemper.prefetch(\'/file/path/to/template.mustache\', \'hogan.js\');\n```\n\n##### temper.fetch(file, [engine])\n\nThe `temper.fetch` method returns the `prefetched` template or it will compile\nit on the fly.\n\n```js\nvar data = temper.fetch(\'/file/path/to/template.jade\');\nvar data = temper.fetch(\'/file/path/to/template.mustache\', \'hogan.js\');\n```\n\n### Data structure\n\nThe fetch method returns an JavaScript object that contains the following\nproperties:\n\n<dl>\n <dt>library</dt>\n <dd>\n This is an optional property. Some of the supported engines require a helper\n library to be included at the client-side. If this property is not empty you\n should include this string together with your client side template on your\n page.\n </dd>\n\n <dt>client</dt>\n <dd>\n The client-side compatible version of your given template. This is already\n converted to a string for your convenience.\n </dd>\n \n <dt>server</dt>\n <dd>\n The server-side compatible version of your given template. It\'s a function\n that\'s ready to be used.\n </dd>\n \n <dt>engine</dt>\n <dd>\n The name of the template engine that was used to compile your template.\n </dd>\n</dl>\n\n### The interface\n\nThe resulting compiled template have a uniform interface. It\'s a function that\naccepts the template data as first argument and returns the generated template.\n\n```js\nvar template = temper.fetch(\'/file/path/to/template.jade\')\n , html = template({ foo: \'bar\' });\n\nconsole.log(html);\n```\n\n## License\n\nMIT\n',
18585 silly resolved readmeFilename: 'README.md',
18585 silly resolved bugs: { url: 'https://github.com/bigpipe/temper/issues' },
18585 silly resolved homepage: 'https://github.com/bigpipe/temper',
18585 silly resolved _id: 'temper@0.1.9',
18585 silly resolved _shasum: 'bec36027884fd125e6db71b59f68ff7f0c0f7d9e',
18585 silly resolved _from: 'temper@0.1.x',
18585 silly resolved _resolved: 'https://registry.npmjs.org/temper/-/temper-0.1.9.tgz' },
18585 silly resolved { name: 'fusing',
18585 silly resolved version: '0.2.1',
18585 silly resolved description: 'Prototype fusion',
18585 silly resolved main: 'index.js',
18585 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
18585 silly resolved repository: { type: 'git', url: 'https://github.com/bigpipe/fusing' },
18585 silly resolved keywords:
18585 silly resolved [ 'fusing',
18585 silly resolved 'fusion',
18585 silly resolved 'bigpipe',
18585 silly resolved 'constructor',
18585 silly resolved 'prototype',
18585 silly resolved 'merge',
18585 silly resolved 'inherit',
18585 silly resolved 'base',
18585 silly resolved 'class' ],
18585 silly resolved author: { name: 'Arnout Kazemier' },
18585 silly resolved license: 'MIT',
18585 silly resolved bugs: { url: 'https://github.com/bigpipe/fusing/issues' },
18585 silly resolved homepage: 'https://github.com/bigpipe/fusing',
18585 silly resolved dependencies: { predefine: '0.1.x' },
18585 silly resolved devDependencies: { chai: '1.9.x', mocha: '1.18.x', 'pre-commit': '0.0.x' },
18585 silly resolved readme: '# fusing\n\n[![Build Status](https://travis-ci.org/bigpipe/fusing.png?branch=master)](https://travis-ci.org/bigpipe/fusing)\n\nFusing is a small library that creates the base class that is used in all of\n[bigpipe]\'s components. It takes care of:\n\n- Prototypical inheritance.\n- An API for adding `readable` and `writable` properties to these classes.\n- Adding default methods which are commonly used.\n- A `Backbone.extend` based extending of the prototypes.\n\n## Installation\n\nThe stable versions of this module are released in the npm registry and can be\ninstalled using:\n\n```\nnpm install --save fusing\n```\n\nThe `--save` tells `npm` to automatically save this dependency in your\n`package.json`.\n\n## Getting Started\n\nThe module is required just like any other module you use. It exposes a single\nfunction that takes care of all the merging.\n\n```js\n\'use strict\';\n\nvar fuse = require(\'fusing\');\n```\n\nAnd that is all we need to start with inheritance. When you want to have a class\ninherit from the `EventEmitter` you only need to pass in the class references:\n\n```js\nfunction Example() {\n\n}\n\nfuse(Example, require(\'events\').EventEmitter);\n```\n\nThis will tell `fuse` to use the `.prototype` of the `EventEmitter` for your\n`Example` class. In addition to that it has added a couple of function to your\nclass which makes it easier to setup the prototypes and extend Example again.\n\n### Example.readable\n\nOne of the functions that are added to your class is `readable` this allows you\nto easily specify which properties or methods on the `Example.prototype` are\n`read-only` and should never be overridden by other code. This is ideal for\nprotecting your private methods.\n\n```js\nExample.readable(\'config\', { foo: \'bar\' });\n```\n\nThe example above added the property `config` to the prototype with the foo/bar\nobject as value. If you wonder how this magic works, take a look a our\n[predefine] project for more details.\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n### Example.writable\n\nThis is the writable equivalent of the function above. This allows you to\nspecify properties on the prototype that are writable. The added benefit of this\nfunction is that your methods will not be enumerable (which is also true for all\nproperties/methods added using the `readable` function).\n\n```js\nExample.writable(\'property\', \'foo\');\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## Example.extend\n\nThis allows you to use the same `extend` functionality that you might be\naccustomed to with `Backbone` in your own classes:\n\n```js\nvar MyExample = Example.extend({\n method: function method() {\n console.log(\'my custom method\');\n },\n\n prop: 132\n});\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## Example.predefine\n\nAs it\'s sometimes useful to also create readable and writable properties when\nyour class is constructed, we decided to expose the `predefine` module on your\nclass. Which allows you use the same readable pattern again:\n\n```js\nfunction Example() {\n var writable = Example.predefine(this, Example.predefine.WRITABLE)\n , readable = Example.predefine(this);\n\n readable(\'private\', 134);\n readable(\'evn\', process.ENV.NODE_ENV || \'development\');\n writable(\'value\', 100);\n}\n\nfuse(Example, require(\'eventemitter3\'));\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## License\n\nMIT\n\n[bigpipe]: https://github.com/bigpipe/bigpipe\n[predefine]: https://github.com/bigpipe/predefine\n',
18585 silly resolved readmeFilename: 'README.md',
18585 silly resolved _id: 'fusing@0.2.1',
18585 silly resolved _shasum: '9033bb3ce72b488a95678755181726014b3233dc',
18585 silly resolved _from: 'fusing@0.2.x',
18585 silly resolved _resolved: 'https://registry.npmjs.org/fusing/-/fusing-0.2.1.tgz' },
18585 silly resolved { name: 'dot-component',
18585 silly resolved version: '0.1.1',
18585 silly resolved keywords: [ 'dot' ],
18585 silly resolved dependencies: { 'type-component': '*' },
18585 silly resolved component: { scripts: [Object] },
18585 silly resolved devDependencies: { mocha: '*', 'expect.js': '*' },
18585 silly resolved readme: '\n# dot\n\n MongoDB-style "dot notation" querying for JavaScript.\n\n## Installation\n\n```\n$ component install component/dot\n```\n\n## Example\n\n```js\nvar dot = require(\'dot\');\nvar obj = {\n name: {\n first: "tobi"\n },\n pets: [\n { id: 1, name: \'loki\' },\n { id: 2, name: \'jane\' }\n ]\n};\n\ndot.get(obj, \'name.first\'); // tobi\ndot.get(obj, \'name.1.id\'); // 2\ndot.parent(obj, \'name.first\'); // obj.name\ndot.set(obj, \'name.1.name\', \'Jane\');\n```\n\n## API\n\n### get(obj, path)\n\n Queries the given `path` in `obj`.\n\n### set(obj, path, val, init)\n\n Sets the given `path` to `val` in obj.\n If `init` is false it won\'t initialize the path if it doesn\'t exit.\n\n### parent(obj, path, init)\n\n Returns the parent object/array that contains `path` within `obj`.\n Could be `obj` itself. If `init` is true it initializes the path.\n\n## License \n\n MIT\n',
18585 silly resolved readmeFilename: 'Readme.md',
18585 silly resolved description: 'MongoDB-style "dot notation" querying for JavaScript.',
18585 silly resolved _id: 'dot-component@0.1.1',
18585 silly resolved _shasum: 'd8208ce6b3a132f2a27f0dc9435597ee6fa7b7aa',
18585 silly resolved _from: 'dot-component@0.1.x',
18585 silly resolved _resolved: 'https://registry.npmjs.org/dot-component/-/dot-component-0.1.1.tgz' } ]
18586 info install json-stringify-safe@5.0.0 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet
18587 info install temper@0.1.9 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet
18588 info install fusing@0.2.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet
18589 info install dot-component@0.1.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet
18590 info installOne json-stringify-safe@5.0.0
18591 info installOne temper@0.1.9
18592 info installOne fusing@0.2.1
18593 info installOne dot-component@0.1.1
18594 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/json-stringify-safe unbuild
18595 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/temper unbuild
18596 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing unbuild
18597 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component unbuild
18598 verbose tar unpack /Users/V1/.npm/json-stringify-safe/5.0.0/package.tgz
18599 silly lockFile bdadee38-node-modules-json-stringify-safe tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/json-stringify-safe
18600 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/json-stringify-safe /Users/V1/.npm/bdadee38-node-modules-json-stringify-safe.lock
18601 silly lockFile ca625bfd-stringify-safe-5-0-0-package-tgz tar:///Users/V1/.npm/json-stringify-safe/5.0.0/package.tgz
18602 verbose lock tar:///Users/V1/.npm/json-stringify-safe/5.0.0/package.tgz /Users/V1/.npm/ca625bfd-stringify-safe-5-0-0-package-tgz.lock
18603 verbose tar unpack /Users/V1/.npm/temper/0.1.9/package.tgz
18604 silly lockFile 8990360e-ules-pagelet-node-modules-temper tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/temper
18605 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/temper /Users/V1/.npm/8990360e-ules-pagelet-node-modules-temper.lock
18606 silly lockFile 620cf8eb--V1-npm-temper-0-1-9-package-tgz tar:///Users/V1/.npm/temper/0.1.9/package.tgz
18607 verbose lock tar:///Users/V1/.npm/temper/0.1.9/package.tgz /Users/V1/.npm/620cf8eb--V1-npm-temper-0-1-9-package-tgz.lock
18608 verbose tar unpack /Users/V1/.npm/fusing/0.2.1/package.tgz
18609 silly lockFile 363b7aa1-ules-pagelet-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing
18610 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing /Users/V1/.npm/363b7aa1-ules-pagelet-node-modules-fusing.lock
18611 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
18612 verbose lock tar:///Users/V1/.npm/fusing/0.2.1/package.tgz /Users/V1/.npm/17ccbade--V1-npm-fusing-0-2-1-package-tgz.lock
18613 verbose tar unpack /Users/V1/.npm/dot-component/0.1.1/package.tgz
18614 silly lockFile 39dce9aa-gelet-node-modules-dot-component tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component
18615 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component /Users/V1/.npm/39dce9aa-gelet-node-modules-dot-component.lock
18616 silly lockFile f79d4866--dot-component-0-1-1-package-tgz tar:///Users/V1/.npm/dot-component/0.1.1/package.tgz
18617 verbose lock tar:///Users/V1/.npm/dot-component/0.1.1/package.tgz /Users/V1/.npm/f79d4866--dot-component-0-1-1-package-tgz.lock
18618 silly gunzTarPerm modes [ '755', '644' ]
18619 silly gunzTarPerm modes [ '755', '644' ]
18620 silly gunzTarPerm modes [ '755', '644' ]
18621 silly gunzTarPerm modes [ '755', '644' ]
18622 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE
18623 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/cryptiles/index.js
18624 silly gunzTarPerm extractEntry package.json
18625 silly gunzTarPerm extractEntry package.json
18626 silly gunzTarPerm extractEntry package.json
18627 silly gunzTarPerm extractEntry package.json
18628 silly gunzTarPerm extractEntry README.md
18629 silly gunzTarPerm extractEntry LICENSE
18630 silly gunzTarPerm extractEntry .npmignore
18631 silly gunzTarPerm extractEntry README.md
18632 silly gunzTarPerm extractEntry .npmignore
18633 silly gunzTarPerm extractEntry index.js
18634 silly gunzTarPerm extractEntry .npmignore
18635 silly gunzTarPerm extractEntry README.md
18636 silly lockFile 7ff67418--modules-send-node-modules-debug tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/debug
18637 silly lockFile 7ff67418--modules-send-node-modules-debug tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/debug
18638 silly lockFile 78b071bb-s-V1-npm-debug-0-8-0-package-tgz tar:///Users/V1/.npm/debug/0.8.0/package.tgz
18639 silly lockFile 78b071bb-s-V1-npm-debug-0-8-0-package-tgz tar:///Users/V1/.npm/debug/0.8.0/package.tgz
18640 silly gunzTarPerm extractEntry stringify.js
18641 silly gunzTarPerm extractEntry test.js
18642 silly gunzTarPerm extractEntry History.md
18643 silly gunzTarPerm extractEntry Makefile
18644 silly lockFile 8fd33631-s-send-node-modules-range-parser tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/range-parser
18645 silly lockFile 8fd33631-s-send-node-modules-range-parser tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/range-parser
18646 silly gunzTarPerm extractEntry index.js
18647 silly gunzTarPerm extractEntry .travis.yml
18648 silly gunzTarPerm extractEntry CHANGELOG.md
18649 silly gunzTarPerm extractEntry test/temper.test.js
18650 silly gunzTarPerm extractEntry test/fixtures/template.jade
18651 silly gunzTarPerm extractEntry test/mocha.opts
18652 silly lockFile a373d5a1-m-range-parser-1-0-0-package-tgz tar:///Users/V1/.npm/range-parser/1.0.0/package.tgz
18653 silly lockFile a373d5a1-m-range-parser-1-0-0-package-tgz tar:///Users/V1/.npm/range-parser/1.0.0/package.tgz
18654 silly gunzTarPerm extractEntry index.js
18655 silly gunzTarPerm extractEntry .travis.yml
18656 info preinstall debug@0.8.0
18657 verbose readDependencies using package.json deps
18658 info preinstall range-parser@1.0.0
18659 verbose readDependencies using package.json deps
18660 silly resolved []
18661 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/debug
18662 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/debug
18663 verbose linkStuff [ false,
18663 verbose linkStuff false,
18663 verbose linkStuff false,
18663 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules' ]
18664 info linkStuff debug@0.8.0
18665 verbose linkBins debug@0.8.0
18666 verbose linkMans debug@0.8.0
18667 verbose rebuildBundles debug@0.8.0
18668 info install debug@0.8.0
18669 silly gunzTarPerm extractEntry Readme.md
18670 silly gunzTarPerm extractEntry component.json
18671 verbose readDependencies using package.json deps
18672 info postinstall debug@0.8.0
18673 verbose readDependencies using package.json deps
18674 silly resolved []
18675 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/range-parser
18676 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/range-parser
18677 verbose linkStuff [ false,
18677 verbose linkStuff false,
18677 verbose linkStuff false,
18677 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules' ]
18678 info linkStuff range-parser@1.0.0
18679 verbose linkBins range-parser@1.0.0
18680 verbose linkMans range-parser@1.0.0
18681 verbose rebuildBundles range-parser@1.0.0
18682 silly gunzTarPerm extractEntry test/fuse.test.js
18683 silly gunzTarPerm extractEntry test/mocha.opts
18684 silly lockFile 2f90e8e4-s-send-node-modules-buffer-crc32 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/buffer-crc32
18685 silly lockFile 2f90e8e4-s-send-node-modules-buffer-crc32 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/buffer-crc32
18686 info install range-parser@1.0.0
18687 silly lockFile ec28e072-m-buffer-crc32-0-2-1-package-tgz tar:///Users/V1/.npm/buffer-crc32/0.2.1/package.tgz
18688 silly lockFile ec28e072-m-buffer-crc32-0-2-1-package-tgz tar:///Users/V1/.npm/buffer-crc32/0.2.1/package.tgz
18689 info postinstall range-parser@1.0.0
18690 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml
18691 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/cryptiles/Makefile
18692 silly lockFile 54ba4014-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine
18693 silly lockFile 54ba4014-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine
18694 info preinstall buffer-crc32@0.2.1
18695 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
18696 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
18697 silly lockFile 47a2db32-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine/node_modules/extendable
18698 silly lockFile 47a2db32-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine/node_modules/extendable
18699 verbose readDependencies using package.json deps
18700 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
18701 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
18702 verbose readDependencies using package.json deps
18703 silly resolved []
18704 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/buffer-crc32
18705 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/buffer-crc32
18706 verbose linkStuff [ false,
18706 verbose linkStuff false,
18706 verbose linkStuff false,
18706 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules' ]
18707 info linkStuff buffer-crc32@0.2.1
18708 verbose linkBins buffer-crc32@0.2.1
18709 verbose linkMans buffer-crc32@0.2.1
18710 verbose rebuildBundles buffer-crc32@0.2.1
18711 silly gunzTarPerm extractEntry test/dot.js
18712 info preinstall predefine@0.1.1
18713 info install buffer-crc32@0.2.1
18714 info postinstall buffer-crc32@0.2.1
18715 info preinstall extendable@0.0.6
18716 verbose readDependencies using package.json deps
18717 verbose readDependencies using package.json deps
18718 verbose cache add [ 'extendable@0.0.x', null ]
18719 verbose cache add name=undefined spec="extendable@0.0.x" args=["extendable@0.0.x",null]
18720 verbose parsed url { protocol: null,
18720 verbose parsed url slashes: null,
18720 verbose parsed url auth: null,
18720 verbose parsed url host: null,
18720 verbose parsed url port: null,
18720 verbose parsed url hostname: null,
18720 verbose parsed url hash: null,
18720 verbose parsed url search: null,
18720 verbose parsed url query: null,
18720 verbose parsed url pathname: 'extendable@0.0.x',
18720 verbose parsed url path: 'extendable@0.0.x',
18720 verbose parsed url href: 'extendable@0.0.x' }
18721 verbose cache add name="extendable" spec="0.0.x" args=["extendable","0.0.x"]
18722 verbose parsed url { protocol: null,
18722 verbose parsed url slashes: null,
18722 verbose parsed url auth: null,
18722 verbose parsed url host: null,
18722 verbose parsed url port: null,
18722 verbose parsed url hostname: null,
18722 verbose parsed url hash: null,
18722 verbose parsed url search: null,
18722 verbose parsed url query: null,
18722 verbose parsed url pathname: '0.0.x',
18722 verbose parsed url path: '0.0.x',
18722 verbose parsed url href: '0.0.x' }
18723 verbose addNamed [ 'extendable', '0.0.x' ]
18724 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
18725 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
18726 verbose lock extendable@0.0.x /Users/V1/.npm/9b413a1a-extendable-0-0-x.lock
18727 verbose readDependencies using package.json deps
18728 verbose readDependencies using package.json deps
18729 silly resolved []
18730 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine/node_modules/extendable
18731 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine/node_modules/extendable
18732 verbose linkStuff [ false,
18732 verbose linkStuff false,
18732 verbose linkStuff false,
18732 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine/node_modules' ]
18733 info linkStuff extendable@0.0.6
18734 verbose linkBins extendable@0.0.6
18735 verbose linkMans extendable@0.0.6
18736 verbose rebuildBundles extendable@0.0.6
18737 silly addNameRange { name: 'extendable',
18737 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
18737 silly addNameRange hasData: false }
18738 info install extendable@0.0.6
18739 info postinstall extendable@0.0.6
18740 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine
18741 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules/predefine
18742 verbose linkStuff [ false,
18742 verbose linkStuff false,
18742 verbose linkStuff false,
18742 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing/node_modules' ]
18743 info linkStuff predefine@0.1.1
18744 verbose linkBins predefine@0.1.1
18745 verbose linkMans predefine@0.1.1
18746 verbose rebuildBundles predefine@0.1.1
18747 verbose registry.get extendable not expired, no request
18748 silly addNameRange number 2 { name: 'extendable',
18748 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
18748 silly addNameRange hasData: true }
18749 silly addNameRange versions [ 'extendable',
18749 silly addNameRange [ '0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6' ] ]
18750 verbose addNamed [ 'extendable', '0.0.6' ]
18751 verbose addNamed [ '0.0.6', '0.0.6' ]
18752 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
18753 verbose lock extendable@0.0.6 /Users/V1/.npm/84399eb0-extendable-0-0-6.lock
18754 verbose rebuildBundles [ 'extendable' ]
18755 info install predefine@0.1.1
18756 info postinstall predefine@0.1.1
18757 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
18758 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
18759 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing
18760 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules/fusing
18761 verbose linkStuff [ false,
18761 verbose linkStuff false,
18761 verbose linkStuff false,
18761 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap/node_modules' ]
18762 info linkStuff fusing@0.2.1
18763 verbose linkBins fusing@0.2.1
18764 verbose linkMans fusing@0.2.1
18765 verbose rebuildBundles fusing@0.2.1
18766 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
18767 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
18768 verbose rebuildBundles [ 'predefine' ]
18769 info install fusing@0.2.1
18770 info postinstall fusing@0.2.1
18771 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap
18772 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/shrinkwrap
18773 verbose linkStuff [ false,
18773 verbose linkStuff false,
18773 verbose linkStuff false,
18773 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules' ]
18774 info linkStuff shrinkwrap@0.4.0
18775 verbose linkBins shrinkwrap@0.4.0
18776 verbose linkMans shrinkwrap@0.4.0
18777 verbose rebuildBundles shrinkwrap@0.4.0
18778 verbose rebuildBundles [ 'eventemitter3', 'fusing' ]
18779 info install shrinkwrap@0.4.0
18780 silly resolved [ { name: 'extendable',
18780 silly resolved version: '0.0.6',
18780 silly resolved description: 'Extend constructors using backbone\'s .extend signature',
18780 silly resolved keywords:
18780 silly resolved [ 'backbone',
18780 silly resolved 'underscore',
18780 silly resolved 'lodash',
18780 silly resolved 'extend',
18780 silly resolved 'inherit',
18780 silly resolved 'inherits' ],
18780 silly resolved main: 'index.js',
18780 silly resolved scripts: { test: 'node test.js' },
18780 silly resolved repository: { type: 'git', url: 'git://github.com/3rd-Eden/extendable.git' },
18780 silly resolved author: { name: 'Arnout Kazemier' },
18780 silly resolved license: 'MIT',
18780 silly resolved dependencies: {},
18780 silly resolved devDependencies: {},
18780 silly resolved readme: '# Extend your JavaScript constructors in the same as you are used to in backbone.js\n\n[![Build Status](https://travis-ci.org/3rd-Eden/extendable.png)](https://travis-ci.org/3rd-Eden/extendable)\n\n```js\nvar extend = require(\'extendable\')\n , EventEmitter = require(\'events\').EventEmitter;\n\nfunction Awesomeness() {\n var self = this;\n\n setTimeout(function () {\n self.render(self.data);\n }, 100);\n\n EventEmitter.call(this);\n}\n\nAwesomeness.prototype = new EventEmitter;\nAwesomeness.prototype.constructor = Awesomeness;\n\nAwesomeness.prototype.data = \'bar\';\nAwesomeness.prototype.render = function render() {\n // does nothing\n};\n\nAwesomeness.extend = extend;\n```\n\nAnd you can now use it\n\n```js\nvar SuperAwesome = Awesomeness.extend({\n data: \'trololol\'\n\n , render: function render(data) {\n console.log(data);\n }\n});\n\nnew SuperAwesome();\n// outputs "trololo" after 100 ms\n```\n\n### License\n\nMIT\n',
18780 silly resolved readmeFilename: 'README.md',
18780 silly resolved bugs: { url: 'https://github.com/3rd-Eden/extendable/issues' },
18780 silly resolved homepage: 'https://github.com/3rd-Eden/extendable',
18780 silly resolved _id: 'extendable@0.0.6',
18780 silly resolved _shasum: 'b85c6a081630b2c9d83588239c20cb3be4776fe6',
18780 silly resolved _from: 'extendable@0.0.x',
18780 silly resolved _resolved: 'https://registry.npmjs.org/extendable/-/extendable-0.0.6.tgz' } ]
18781 info install extendable@0.0.6 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine
18782 info installOne extendable@0.0.6
18783 info postinstall shrinkwrap@0.4.0
18784 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable unbuild
18785 silly lockFile bdadee38-node-modules-json-stringify-safe tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/json-stringify-safe
18786 silly lockFile bdadee38-node-modules-json-stringify-safe tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/json-stringify-safe
18787 verbose tar unpack /Users/V1/.npm/extendable/0.0.6/package.tgz
18788 silly lockFile 8e0256e0-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable
18789 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable /Users/V1/.npm/8e0256e0-redefine-node-modules-extendable.lock
18790 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
18791 verbose lock tar:///Users/V1/.npm/extendable/0.0.6/package.tgz /Users/V1/.npm/680edfbb-npm-extendable-0-0-6-package-tgz.lock
18792 silly lockFile ca625bfd-stringify-safe-5-0-0-package-tgz tar:///Users/V1/.npm/json-stringify-safe/5.0.0/package.tgz
18793 silly lockFile ca625bfd-stringify-safe-5-0-0-package-tgz tar:///Users/V1/.npm/json-stringify-safe/5.0.0/package.tgz
18794 http 200 https://registry.npmjs.org/sanitizer/-/sanitizer-0.1.1.tgz
18795 silly gunzTarPerm modes [ '755', '644' ]
18796 info preinstall json-stringify-safe@5.0.0
18797 verbose readDependencies using package.json deps
18798 silly gunzTarPerm extractEntry package.json
18799 verbose readDependencies using package.json deps
18800 silly resolved []
18801 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/json-stringify-safe
18802 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/json-stringify-safe
18803 verbose linkStuff [ false,
18803 verbose linkStuff false,
18803 verbose linkStuff false,
18803 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules' ]
18804 info linkStuff json-stringify-safe@5.0.0
18805 verbose linkBins json-stringify-safe@5.0.0
18806 verbose linkMans json-stringify-safe@5.0.0
18807 verbose rebuildBundles json-stringify-safe@5.0.0
18808 info install json-stringify-safe@5.0.0
18809 info postinstall json-stringify-safe@5.0.0
18810 silly gunzTarPerm extractEntry .npmignore
18811 silly gunzTarPerm extractEntry README.md
18812 silly gunzTarPerm extractEntry index.js
18813 silly gunzTarPerm extractEntry test.js
18814 silly lockFile 39dce9aa-gelet-node-modules-dot-component tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component
18815 silly lockFile 39dce9aa-gelet-node-modules-dot-component tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component
18816 silly lockFile f79d4866--dot-component-0-1-1-package-tgz tar:///Users/V1/.npm/dot-component/0.1.1/package.tgz
18817 silly lockFile f79d4866--dot-component-0-1-1-package-tgz tar:///Users/V1/.npm/dot-component/0.1.1/package.tgz
18818 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991362-0.5015599667094648/tmp.tgz
18819 silly lockFile 80982b4c-s-V1-npm-sanitizer-0-1-1-package tar:///Users/V1/.npm/sanitizer/0.1.1/package
18820 verbose lock tar:///Users/V1/.npm/sanitizer/0.1.1/package /Users/V1/.npm/80982b4c-s-V1-npm-sanitizer-0-1-1-package.lock
18821 silly lockFile b6f1b9c9-91362-0-5015599667094648-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991362-0.5015599667094648/tmp.tgz
18822 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991362-0.5015599667094648/tmp.tgz /Users/V1/.npm/b6f1b9c9-91362-0-5015599667094648-tmp-tgz.lock
18823 silly gunzTarPerm modes [ '755', '644' ]
18824 silly gunzTarPerm extractEntry .travis.yml
18825 silly gunzTarPerm extractEntry example/index.js
18826 info preinstall dot-component@0.1.1
18827 verbose readDependencies using package.json deps
18828 verbose readDependencies using package.json deps
18829 silly gunzTarPerm extractEntry package.json
18830 verbose cache add [ 'type-component@*', null ]
18831 verbose cache add name=undefined spec="type-component@*" args=["type-component@*",null]
18832 verbose parsed url { protocol: null,
18832 verbose parsed url slashes: null,
18832 verbose parsed url auth: null,
18832 verbose parsed url host: null,
18832 verbose parsed url port: null,
18832 verbose parsed url hostname: null,
18832 verbose parsed url hash: null,
18832 verbose parsed url search: null,
18832 verbose parsed url query: null,
18832 verbose parsed url pathname: 'type-component@*',
18832 verbose parsed url path: 'type-component@*',
18832 verbose parsed url href: 'type-component@*' }
18833 verbose cache add name="type-component" spec="*" args=["type-component","*"]
18834 verbose parsed url { protocol: null,
18834 verbose parsed url slashes: null,
18834 verbose parsed url auth: null,
18834 verbose parsed url host: null,
18834 verbose parsed url port: null,
18834 verbose parsed url hostname: null,
18834 verbose parsed url hash: null,
18834 verbose parsed url search: null,
18834 verbose parsed url query: null,
18834 verbose parsed url pathname: '*',
18834 verbose parsed url path: '*',
18834 verbose parsed url href: '*' }
18835 verbose addNamed [ 'type-component', '*' ]
18836 verbose addNamed [ null, '*' ]
18837 silly lockFile 1bfacb1a-type-component type-component@*
18838 verbose lock type-component@* /Users/V1/.npm/1bfacb1a-type-component.lock
18839 silly lockFile 363b7aa1-ules-pagelet-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing
18840 silly lockFile 363b7aa1-ules-pagelet-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing
18841 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
18842 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
18843 silly addNameRange { name: 'type-component', range: '*', hasData: false }
18844 verbose url raw type-component
18845 verbose url resolving [ 'https://registry.npmjs.org/', './type-component' ]
18846 verbose url resolved https://registry.npmjs.org/type-component
18847 info trying registry request attempt 1 at 11:49:51
18848 http GET https://registry.npmjs.org/type-component
18849 silly gunzTarPerm extractEntry .npmignore
18850 silly gunzTarPerm extractEntry sanitizer.js
18851 info preinstall fusing@0.2.1
18852 verbose readDependencies using package.json deps
18853 verbose readDependencies using package.json deps
18854 verbose cache add [ 'predefine@0.1.x', null ]
18855 verbose cache add name=undefined spec="predefine@0.1.x" args=["predefine@0.1.x",null]
18856 verbose parsed url { protocol: null,
18856 verbose parsed url slashes: null,
18856 verbose parsed url auth: null,
18856 verbose parsed url host: null,
18856 verbose parsed url port: null,
18856 verbose parsed url hostname: null,
18856 verbose parsed url hash: null,
18856 verbose parsed url search: null,
18856 verbose parsed url query: null,
18856 verbose parsed url pathname: 'predefine@0.1.x',
18856 verbose parsed url path: 'predefine@0.1.x',
18856 verbose parsed url href: 'predefine@0.1.x' }
18857 verbose cache add name="predefine" spec="0.1.x" args=["predefine","0.1.x"]
18858 verbose parsed url { protocol: null,
18858 verbose parsed url slashes: null,
18858 verbose parsed url auth: null,
18858 verbose parsed url host: null,
18858 verbose parsed url port: null,
18858 verbose parsed url hostname: null,
18858 verbose parsed url hash: null,
18858 verbose parsed url search: null,
18858 verbose parsed url query: null,
18858 verbose parsed url pathname: '0.1.x',
18858 verbose parsed url path: '0.1.x',
18858 verbose parsed url href: '0.1.x' }
18859 verbose addNamed [ 'predefine', '0.1.x' ]
18860 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
18861 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
18862 verbose lock predefine@0.1.x /Users/V1/.npm/74815840-predefine-0-1-x.lock
18863 silly gunzTarPerm extractEntry README.rdoc
18864 silly addNameRange { name: 'predefine',
18864 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
18864 silly addNameRange hasData: false }
18865 verbose registry.get predefine not expired, no request
18866 silly addNameRange number 2 { name: 'predefine', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
18867 silly addNameRange versions [ 'predefine',
18867 silly addNameRange [ '0.0.0',
18867 silly addNameRange '0.0.1',
18867 silly addNameRange '0.0.2',
18867 silly addNameRange '0.0.3',
18867 silly addNameRange '0.0.5',
18867 silly addNameRange '0.0.6',
18867 silly addNameRange '0.1.0',
18867 silly addNameRange '0.1.1' ] ]
18868 verbose addNamed [ 'predefine', '0.1.1' ]
18869 verbose addNamed [ '0.1.1', '0.1.1' ]
18870 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
18871 verbose lock predefine@0.1.1 /Users/V1/.npm/8b2cde2e-predefine-0-1-1.lock
18872 silly gunzTarPerm extractEntry lib/html4.js
18873 silly gunzTarPerm extractEntry lib/uri.js
18874 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
18875 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
18876 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
18877 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
18878 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js
18879 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/cryptiles/test/index.js
18880 silly lockFile 8990360e-ules-pagelet-node-modules-temper tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/temper
18881 silly lockFile 8990360e-ules-pagelet-node-modules-temper tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/temper
18882 silly lockFile 620cf8eb--V1-npm-temper-0-1-9-package-tgz tar:///Users/V1/.npm/temper/0.1.9/package.tgz
18883 silly lockFile 620cf8eb--V1-npm-temper-0-1-9-package-tgz tar:///Users/V1/.npm/temper/0.1.9/package.tgz
18884 silly resolved [ { name: 'predefine',
18884 silly resolved version: '0.1.1',
18884 silly resolved description: 'Predefine your Object.defineProperties to create a more human readable API.',
18884 silly resolved main: 'index.js',
18884 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
18884 silly resolved repository: { type: 'git', url: 'git://github.com/bigpipe/predefine.git' },
18884 silly resolved keywords:
18884 silly resolved [ 'predefine',
18884 silly resolved 'define',
18884 silly resolved 'object',
18884 silly resolved 'defineProperties',
18884 silly resolved 'defineProperties',
18884 silly resolved 'configurable',
18884 silly resolved 'writable',
18884 silly resolved 'get',
18884 silly resolved 'set',
18884 silly resolved 'getters',
18884 silly resolved 'setters',
18884 silly resolved 'inherit' ],
18884 silly resolved author: { name: 'Arnout Kazemier' },
18884 silly resolved license: 'MIT',
18884 silly resolved dependencies: { extendable: '0.0.x' },
18884 silly resolved devDependencies: { 'pre-commit': '0.0.x', mocha: '1.16.x', chai: '1.8.x' },
18884 silly resolved readme: '# predefine\n\n[![Build Status](https://travis-ci.org/bigpipe/predefine.png)](https://travis-ci.org/bigpipe/predefine)\n\nWhen creating objects or prototypes using `Object.defineProperties` or\n`Object.defineProperty` it make your code look really verbose by all the\nproperty descriptions that it needs. Most of the time, they are the same. They\neither make your properties writable, readable or prevents them from being\nenumerable. So basically:\n\nPredefine makes `Object.defineProperties` your human readable and manageable.\n\n## Installation\n\n```\nnpm install --save predefine\n```\n\n## Getting started\n\nLet\'s start with a basic example of predefine usage:\n\n```\nvar predefine = require(\'predefine\');\n\nfunction Base() {\n var readable = predefine(this, { configurable: false, enumerable: false })\n , writable = predefine(this, predefine.WRITABLE);\n\n readable(\'prop\', \'value\');\n writable(\'data\', []);\n}\n\nBase.writable = predefine(Base.prototype, predefine.WRITABLE);\n\nBase.writable(\'foo\', \'bar\');\n```\n\nAs you can see from the snippet above, it\'s really easy to see which properties\nare made readable and which one\'s are writable.\n\n### Predefine.extend\n\nThis allows you to add `Backbone` inspired `.extend` functionality to your\nconstructors. This makes inheriting a lot easier and readable. See the\n`extendable` module in npm for information.\n\n```js\nfunction Foo() {}\nFoo.extend = predefine.extend;\n\nvar Bar = Foo.extend({\n method: function () {}\n});\n```\n\n### Predefine.descriptor\n\nTest if a given object is a valid `Object` description to it can be used with\n`Object.defineProperty`, `Object.defineProperties` and `Object.create`.\n\n```js\npredefine.descriptor({ foo: \'bar\' }); // false\npredefine.descriptor({ value: \'bar\' }); // true\npredefine.descriptor({ value: \'bar\', enumerable: false }); // true\npredefine.descriptor({ value: \'bar\', foo: \'bar\' }); // false\n```\n\n### Predefine.create\n\nThis is a simple helper function to create descriptions that can be used within\n`Object.create` and `Object.defineProperties`.\n\n```js\nvar data = Object.create(null, predefine.create(\'foo\', { \n value: \'bar\' \n}));\n\nvar data = Object.create(null, predefine.create(\'foo\', {\n value: \'bar\'\n}, predefine.READABLE));\n\nvar data = Object.create(null, predefine.create(\'foo\', \'bar\', predefine.READABLE));\n```\n\n### Predefine.remove\n\nRemoves all enumerable properties from a given object, with the ability to keep\nwhite listed properties.\n\n```js\nvar data = { foo: \'bar\', bar: \'foo\' };\n\npredefine.remove(data); // The data variable is now an empty object.\npredefine.remove(data, [\'foo\']); // The foo property is kept.\n\nvar readable(data);\nreadable(\'baz\', \'baz\');\n\npredefine.remove(data); // Only `baz` is left.\n```\n\n### Predefine.merge\n\nMerge two objects in to one single object. This supports deep merging.\n\n```js\nvar result = predefine.merge({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n### Predefine.mixin\n\nMixin two Objects, which also transfers properties that are set using\nObject.defineProperty.\n\n```js\nvar result = predefine.mixin({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n## License\n\nMIT\n',
18884 silly resolved readmeFilename: 'README.md',
18884 silly resolved bugs: { url: 'https://github.com/bigpipe/predefine/issues' },
18884 silly resolved homepage: 'https://github.com/bigpipe/predefine',
18884 silly resolved _id: 'predefine@0.1.1',
18884 silly resolved _shasum: 'bdea730b530a5400a28e050fb192443c9f82da75',
18884 silly resolved _from: 'predefine@0.1.x',
18884 silly resolved _resolved: 'https://registry.npmjs.org/predefine/-/predefine-0.1.1.tgz' } ]
18885 info install predefine@0.1.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing
18886 info installOne predefine@0.1.1
18887 info preinstall temper@0.1.9
18888 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine unbuild
18889 verbose readDependencies using package.json deps
18890 verbose tar unpack /Users/V1/.npm/predefine/0.1.1/package.tgz
18891 silly lockFile 614d9570-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine
18892 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine /Users/V1/.npm/614d9570-es-fusing-node-modules-predefine.lock
18893 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
18894 verbose lock tar:///Users/V1/.npm/predefine/0.1.1/package.tgz /Users/V1/.npm/e18f5090--npm-predefine-0-1-1-package-tgz.lock
18895 verbose readDependencies using package.json deps
18896 silly resolved []
18897 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/temper
18898 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/temper
18899 verbose linkStuff [ false,
18899 verbose linkStuff false,
18899 verbose linkStuff false,
18899 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules' ]
18900 info linkStuff temper@0.1.9
18901 verbose linkBins temper@0.1.9
18902 verbose linkMans temper@0.1.9
18903 verbose rebuildBundles temper@0.1.9
18904 info install temper@0.1.9
18905 silly gunzTarPerm modes [ '755', '644' ]
18906 info postinstall temper@0.1.9
18907 silly gunzTarPerm extractEntry package.json
18908 silly lockFile 745a10ce-e-modules-send-node-modules-mime tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/mime
18909 silly lockFile 745a10ce-e-modules-send-node-modules-mime tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/mime
18910 silly lockFile 90b62cfb-s-V1-npm-mime-1-2-11-package-tgz tar:///Users/V1/.npm/mime/1.2.11/package.tgz
18911 silly lockFile 90b62cfb-s-V1-npm-mime-1-2-11-package-tgz tar:///Users/V1/.npm/mime/1.2.11/package.tgz
18912 silly gunzTarPerm extractEntry .npmignore
18913 silly gunzTarPerm extractEntry README.md
18914 info preinstall mime@1.2.11
18915 verbose readDependencies using package.json deps
18916 silly lockFile 8e0256e0-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable
18917 silly lockFile 8e0256e0-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable
18918 verbose readDependencies using package.json deps
18919 silly resolved []
18920 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/mime
18921 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules/mime
18922 verbose linkStuff [ false,
18922 verbose linkStuff false,
18922 verbose linkStuff false,
18922 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send/node_modules' ]
18923 info linkStuff mime@1.2.11
18924 verbose linkBins mime@1.2.11
18925 verbose linkMans mime@1.2.11
18926 verbose rebuildBundles mime@1.2.11
18927 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
18928 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
18929 info install mime@1.2.11
18930 info postinstall mime@1.2.11
18931 silly gunzTarPerm extractEntry index.js
18932 silly gunzTarPerm extractEntry .travis.yml
18933 info preinstall extendable@0.0.6
18934 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send
18935 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules/send
18936 verbose linkStuff [ false,
18936 verbose linkStuff false,
18936 verbose linkStuff false,
18936 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static/node_modules' ]
18937 info linkStuff send@0.3.0
18938 verbose linkBins send@0.3.0
18939 verbose linkMans send@0.3.0
18940 verbose rebuildBundles send@0.3.0
18941 verbose rebuildBundles [ 'buffer-crc32', 'debug', 'mime', 'range-parser' ]
18942 info install send@0.3.0
18943 verbose readDependencies using package.json deps
18944 info postinstall send@0.3.0
18945 verbose readDependencies using package.json deps
18946 silly resolved []
18947 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable
18948 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable
18949 verbose linkStuff [ false,
18949 verbose linkStuff false,
18949 verbose linkStuff false,
18949 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules' ]
18950 info linkStuff extendable@0.0.6
18951 verbose linkBins extendable@0.0.6
18952 verbose linkMans extendable@0.0.6
18953 verbose rebuildBundles extendable@0.0.6
18954 info install extendable@0.0.6
18955 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static
18956 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-static
18957 verbose linkStuff [ false,
18957 verbose linkStuff false,
18957 verbose linkStuff false,
18957 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules' ]
18958 info linkStuff serve-static@1.1.0
18959 verbose linkBins serve-static@1.1.0
18960 verbose linkMans serve-static@1.1.0
18961 verbose rebuildBundles serve-static@1.1.0
18962 verbose rebuildBundles [ 'parseurl', 'send' ]
18963 info install serve-static@1.1.0
18964 silly gunzTarPerm extractEntry test/index.js
18965 info postinstall extendable@0.0.6
18966 info postinstall serve-static@1.1.0
18967 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine
18968 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules/predefine
18969 verbose linkStuff [ false,
18969 verbose linkStuff false,
18969 verbose linkStuff false,
18969 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing/node_modules' ]
18970 info linkStuff predefine@0.1.1
18971 verbose linkBins predefine@0.1.1
18972 verbose linkMans predefine@0.1.1
18973 verbose rebuildBundles predefine@0.1.1
18974 verbose rebuildBundles [ 'extendable' ]
18975 info install predefine@0.1.1
18976 info postinstall predefine@0.1.1
18977 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing
18978 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules/fusing
18979 verbose linkStuff [ false,
18979 verbose linkStuff false,
18979 verbose linkStuff false,
18979 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses/node_modules' ]
18980 info linkStuff fusing@0.2.1
18981 verbose linkBins fusing@0.2.1
18982 verbose linkMans fusing@0.2.1
18983 verbose rebuildBundles fusing@0.2.1
18984 verbose rebuildBundles [ 'predefine' ]
18985 info install fusing@0.2.1
18986 info postinstall fusing@0.2.1
18987 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses
18988 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules/licenses
18989 verbose linkStuff [ false,
18989 verbose linkStuff false,
18989 verbose linkStuff false,
18989 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry/node_modules' ]
18990 info linkStuff licenses@0.0.19
18991 verbose linkBins licenses@0.0.19
18992 verbose linkMans licenses@0.0.19
18993 verbose rebuildBundles licenses@0.0.19
18994 verbose rebuildBundles [ 'async', 'fusing' ]
18995 info install licenses@0.0.19
18996 silly gunzTarPerm extractEntry test/mocha.opts
18997 info postinstall licenses@0.0.19
18998 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry
18999 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/npm-registry
19000 verbose linkStuff [ false,
19000 verbose linkStuff false,
19000 verbose linkStuff false,
19000 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules' ]
19001 info linkStuff npm-registry@0.1.8
19002 verbose linkBins npm-registry@0.1.8
19003 verbose linkMans npm-registry@0.1.8
19004 verbose rebuildBundles npm-registry@0.1.8
19005 verbose rebuildBundles [ '.bin', 'extract-github', 'licenses', 'mana', 'semver' ]
19006 info install npm-registry@0.1.8
19007 info postinstall npm-registry@0.1.8
19008 silly lockFile e461129b-connect-node-modules-serve-index tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index
19009 silly lockFile e461129b-connect-node-modules-serve-index tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index
19010 silly gunzTarPerm extractEntry composer.json
19011 silly gunzTarPerm extractEntry .sauce-labs.creds
19012 silly lockFile 32c8b61d-pm-serve-index-1-0-1-package-tgz tar:///Users/V1/.npm/serve-index/1.0.1/package.tgz
19013 silly lockFile 32c8b61d-pm-serve-index-1-0-1-package-tgz tar:///Users/V1/.npm/serve-index/1.0.1/package.tgz
19014 info preinstall serve-index@1.0.1
19015 verbose readDependencies using package.json deps
19016 verbose readDependencies using package.json deps
19017 verbose cache add [ 'batch@0.5.0', null ]
19018 verbose cache add name=undefined spec="batch@0.5.0" args=["batch@0.5.0",null]
19019 verbose parsed url { protocol: null,
19019 verbose parsed url slashes: null,
19019 verbose parsed url auth: null,
19019 verbose parsed url host: null,
19019 verbose parsed url port: null,
19019 verbose parsed url hostname: null,
19019 verbose parsed url hash: null,
19019 verbose parsed url search: null,
19019 verbose parsed url query: null,
19019 verbose parsed url pathname: 'batch@0.5.0',
19019 verbose parsed url path: 'batch@0.5.0',
19019 verbose parsed url href: 'batch@0.5.0' }
19020 verbose cache add name="batch" spec="0.5.0" args=["batch","0.5.0"]
19021 verbose parsed url { protocol: null,
19021 verbose parsed url slashes: null,
19021 verbose parsed url auth: null,
19021 verbose parsed url host: null,
19021 verbose parsed url port: null,
19021 verbose parsed url hostname: null,
19021 verbose parsed url hash: null,
19021 verbose parsed url search: null,
19021 verbose parsed url query: null,
19021 verbose parsed url pathname: '0.5.0',
19021 verbose parsed url path: '0.5.0',
19021 verbose parsed url href: '0.5.0' }
19022 verbose addNamed [ 'batch', '0.5.0' ]
19023 verbose addNamed [ '0.5.0', '0.5.0' ]
19024 silly lockFile 73862984-batch-0-5-0 batch@0.5.0
19025 verbose lock batch@0.5.0 /Users/V1/.npm/73862984-batch-0-5-0.lock
19026 verbose cache add [ 'negotiator@0.4.2', null ]
19027 verbose cache add name=undefined spec="negotiator@0.4.2" args=["negotiator@0.4.2",null]
19028 verbose parsed url { protocol: null,
19028 verbose parsed url slashes: null,
19028 verbose parsed url auth: null,
19028 verbose parsed url host: null,
19028 verbose parsed url port: null,
19028 verbose parsed url hostname: null,
19028 verbose parsed url hash: null,
19028 verbose parsed url search: null,
19028 verbose parsed url query: null,
19028 verbose parsed url pathname: 'negotiator@0.4.2',
19028 verbose parsed url path: 'negotiator@0.4.2',
19028 verbose parsed url href: 'negotiator@0.4.2' }
19029 verbose cache add name="negotiator" spec="0.4.2" args=["negotiator","0.4.2"]
19030 verbose parsed url { protocol: null,
19030 verbose parsed url slashes: null,
19030 verbose parsed url auth: null,
19030 verbose parsed url host: null,
19030 verbose parsed url port: null,
19030 verbose parsed url hostname: null,
19030 verbose parsed url hash: null,
19030 verbose parsed url search: null,
19030 verbose parsed url query: null,
19030 verbose parsed url pathname: '0.4.2',
19030 verbose parsed url path: '0.4.2',
19030 verbose parsed url href: '0.4.2' }
19031 verbose addNamed [ 'negotiator', '0.4.2' ]
19032 verbose addNamed [ '0.4.2', '0.4.2' ]
19033 silly lockFile fc368cc9-negotiator-0-4-2 negotiator@0.4.2
19034 verbose lock negotiator@0.4.2 /Users/V1/.npm/fc368cc9-negotiator-0-4-2.lock
19035 verbose url raw batch
19036 verbose url resolving [ 'https://registry.npmjs.org/', './batch' ]
19037 verbose url resolved https://registry.npmjs.org/batch
19038 info trying registry request attempt 1 at 11:49:51
19039 http GET https://registry.npmjs.org/batch
19040 verbose registry.get negotiator not expired, no request
19041 silly lockFile 9ffd2458--negotiator-negotiator-0-4-2-tgz https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz
19042 verbose lock https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz /Users/V1/.npm/9ffd2458--negotiator-negotiator-0-4-2-tgz.lock
19043 verbose addRemoteTarball [ 'https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz',
19043 verbose addRemoteTarball '8c43ea7e4c40ddfe40c3c0234c4ef77500b8fd37' ]
19044 info retry fetch attempt 1 at 11:49:51
19045 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991950-0.8108163210563362/tmp.tgz
19046 http GET https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz
19047 silly lockFile 614d9570-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine
19048 silly lockFile 614d9570-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine
19049 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
19050 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
19051 info preinstall predefine@0.1.1
19052 verbose readDependencies using package.json deps
19053 verbose readDependencies using package.json deps
19054 verbose cache add [ 'extendable@0.0.x', null ]
19055 verbose cache add name=undefined spec="extendable@0.0.x" args=["extendable@0.0.x",null]
19056 verbose parsed url { protocol: null,
19056 verbose parsed url slashes: null,
19056 verbose parsed url auth: null,
19056 verbose parsed url host: null,
19056 verbose parsed url port: null,
19056 verbose parsed url hostname: null,
19056 verbose parsed url hash: null,
19056 verbose parsed url search: null,
19056 verbose parsed url query: null,
19056 verbose parsed url pathname: 'extendable@0.0.x',
19056 verbose parsed url path: 'extendable@0.0.x',
19056 verbose parsed url href: 'extendable@0.0.x' }
19057 verbose cache add name="extendable" spec="0.0.x" args=["extendable","0.0.x"]
19058 verbose parsed url { protocol: null,
19058 verbose parsed url slashes: null,
19058 verbose parsed url auth: null,
19058 verbose parsed url host: null,
19058 verbose parsed url port: null,
19058 verbose parsed url hostname: null,
19058 verbose parsed url hash: null,
19058 verbose parsed url search: null,
19058 verbose parsed url query: null,
19058 verbose parsed url pathname: '0.0.x',
19058 verbose parsed url path: '0.0.x',
19058 verbose parsed url href: '0.0.x' }
19059 verbose addNamed [ 'extendable', '0.0.x' ]
19060 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
19061 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
19062 verbose lock extendable@0.0.x /Users/V1/.npm/9b413a1a-extendable-0-0-x.lock
19063 silly addNameRange { name: 'extendable',
19063 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
19063 silly addNameRange hasData: false }
19064 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/package.json
19065 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/.npmignore
19066 verbose registry.get extendable not expired, no request
19067 silly addNameRange number 2 { name: 'extendable',
19067 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
19067 silly addNameRange hasData: true }
19068 silly addNameRange versions [ 'extendable',
19068 silly addNameRange [ '0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6' ] ]
19069 verbose addNamed [ 'extendable', '0.0.6' ]
19070 verbose addNamed [ '0.0.6', '0.0.6' ]
19071 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
19072 verbose lock extendable@0.0.6 /Users/V1/.npm/84399eb0-extendable-0-0-6.lock
19073 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
19074 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
19075 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
19076 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
19077 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/README.md
19078 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE
19079 silly resolved [ { name: 'extendable',
19079 silly resolved version: '0.0.6',
19079 silly resolved description: 'Extend constructors using backbone\'s .extend signature',
19079 silly resolved keywords:
19079 silly resolved [ 'backbone',
19079 silly resolved 'underscore',
19079 silly resolved 'lodash',
19079 silly resolved 'extend',
19079 silly resolved 'inherit',
19079 silly resolved 'inherits' ],
19079 silly resolved main: 'index.js',
19079 silly resolved scripts: { test: 'node test.js' },
19079 silly resolved repository: { type: 'git', url: 'git://github.com/3rd-Eden/extendable.git' },
19079 silly resolved author: { name: 'Arnout Kazemier' },
19079 silly resolved license: 'MIT',
19079 silly resolved dependencies: {},
19079 silly resolved devDependencies: {},
19079 silly resolved readme: '# Extend your JavaScript constructors in the same as you are used to in backbone.js\n\n[![Build Status](https://travis-ci.org/3rd-Eden/extendable.png)](https://travis-ci.org/3rd-Eden/extendable)\n\n```js\nvar extend = require(\'extendable\')\n , EventEmitter = require(\'events\').EventEmitter;\n\nfunction Awesomeness() {\n var self = this;\n\n setTimeout(function () {\n self.render(self.data);\n }, 100);\n\n EventEmitter.call(this);\n}\n\nAwesomeness.prototype = new EventEmitter;\nAwesomeness.prototype.constructor = Awesomeness;\n\nAwesomeness.prototype.data = \'bar\';\nAwesomeness.prototype.render = function render() {\n // does nothing\n};\n\nAwesomeness.extend = extend;\n```\n\nAnd you can now use it\n\n```js\nvar SuperAwesome = Awesomeness.extend({\n data: \'trololol\'\n\n , render: function render(data) {\n console.log(data);\n }\n});\n\nnew SuperAwesome();\n// outputs "trololo" after 100 ms\n```\n\n### License\n\nMIT\n',
19079 silly resolved readmeFilename: 'README.md',
19079 silly resolved bugs: { url: 'https://github.com/3rd-Eden/extendable/issues' },
19079 silly resolved homepage: 'https://github.com/3rd-Eden/extendable',
19079 silly resolved _id: 'extendable@0.0.6',
19079 silly resolved _shasum: 'b85c6a081630b2c9d83588239c20cb3be4776fe6',
19079 silly resolved _from: 'extendable@0.0.x',
19079 silly resolved _resolved: 'https://registry.npmjs.org/extendable/-/extendable-0.0.6.tgz' } ]
19080 info install extendable@0.0.6 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine
19081 info installOne extendable@0.0.6
19082 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine/node_modules/extendable unbuild
19083 verbose tar unpack /Users/V1/.npm/extendable/0.0.6/package.tgz
19084 silly lockFile 95106a86-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine/node_modules/extendable
19085 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine/node_modules/extendable /Users/V1/.npm/95106a86-redefine-node-modules-extendable.lock
19086 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
19087 verbose lock tar:///Users/V1/.npm/extendable/0.0.6/package.tgz /Users/V1/.npm/680edfbb-npm-extendable-0-0-6-package-tgz.lock
19088 silly gunzTarPerm modes [ '755', '644' ]
19089 silly gunzTarPerm extractEntry package.json
19090 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/index.js
19091 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml
19092 silly gunzTarPerm extractEntry .npmignore
19093 silly gunzTarPerm extractEntry README.md
19094 silly gunzTarPerm extractEntry index.js
19095 silly gunzTarPerm extractEntry test.js
19096 silly gunzTarPerm extractEntry .travis.yml
19097 silly gunzTarPerm extractEntry example/index.js
19098 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/Makefile
19099 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/images/hoek.png
19100 silly lockFile 80982b4c-s-V1-npm-sanitizer-0-1-1-package tar:///Users/V1/.npm/sanitizer/0.1.1/package
19101 silly lockFile 80982b4c-s-V1-npm-sanitizer-0-1-1-package tar:///Users/V1/.npm/sanitizer/0.1.1/package
19102 silly lockFile b6f1b9c9-91362-0-5015599667094648-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991362-0.5015599667094648/tmp.tgz
19103 silly lockFile b6f1b9c9-91362-0-5015599667094648-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991362-0.5015599667094648/tmp.tgz
19104 silly lockFile 47948ef5-rg-sanitizer-sanitizer-0-1-1-tgz https://registry.npmjs.org/sanitizer/-/sanitizer-0.1.1.tgz
19105 silly lockFile 47948ef5-rg-sanitizer-sanitizer-0-1-1-tgz https://registry.npmjs.org/sanitizer/-/sanitizer-0.1.1.tgz
19106 silly lockFile cc864a8f-sanitizer-0-1-1 sanitizer@0.1.1
19107 silly lockFile cc864a8f-sanitizer-0-1-1 sanitizer@0.1.1
19108 silly lockFile 7400cfa7-sanitizer-0-1-x sanitizer@0.1.x
19109 silly lockFile 7400cfa7-sanitizer-0-1-x sanitizer@0.1.x
19110 http 200 https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz
19111 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991950-0.8108163210563362/tmp.tgz
19112 silly lockFile cd8e13d1--V1-npm-negotiator-0-4-2-package tar:///Users/V1/.npm/negotiator/0.4.2/package
19113 verbose lock tar:///Users/V1/.npm/negotiator/0.4.2/package /Users/V1/.npm/cd8e13d1--V1-npm-negotiator-0-4-2-package.lock
19114 silly lockFile d564ec7b-91950-0-8108163210563362-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991950-0.8108163210563362/tmp.tgz
19115 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991950-0.8108163210563362/tmp.tgz /Users/V1/.npm/d564ec7b-91950-0-8108163210563362-tmp-tgz.lock
19116 silly gunzTarPerm modes [ '755', '644' ]
19117 silly gunzTarPerm extractEntry package.json
19118 silly gunzTarPerm extractEntry LICENSE
19119 silly gunzTarPerm extractEntry .travis.yml
19120 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/lib/escape.js
19121 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/lib/index.js
19122 silly gunzTarPerm extractEntry examples/accept.js
19123 silly gunzTarPerm extractEntry examples/charset.js
19124 silly lockFile 95106a86-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine/node_modules/extendable
19125 silly lockFile 95106a86-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine/node_modules/extendable
19126 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
19127 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
19128 silly gunzTarPerm extractEntry examples/encoding.js
19129 silly gunzTarPerm extractEntry examples/language.js
19130 info preinstall extendable@0.0.6
19131 verbose readDependencies using package.json deps
19132 verbose readDependencies using package.json deps
19133 silly resolved []
19134 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine/node_modules/extendable
19135 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine/node_modules/extendable
19136 verbose linkStuff [ false,
19136 verbose linkStuff false,
19136 verbose linkStuff false,
19136 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine/node_modules' ]
19137 info linkStuff extendable@0.0.6
19138 verbose linkBins extendable@0.0.6
19139 verbose linkMans extendable@0.0.6
19140 verbose rebuildBundles extendable@0.0.6
19141 info install extendable@0.0.6
19142 silly gunzTarPerm extractEntry lib/charset.js
19143 silly gunzTarPerm extractEntry lib/encoding.js
19144 info postinstall extendable@0.0.6
19145 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine
19146 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules/predefine
19147 verbose linkStuff [ false,
19147 verbose linkStuff false,
19147 verbose linkStuff false,
19147 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing/node_modules' ]
19148 info linkStuff predefine@0.1.1
19149 verbose linkBins predefine@0.1.1
19150 verbose linkMans predefine@0.1.1
19151 verbose rebuildBundles predefine@0.1.1
19152 verbose rebuildBundles [ 'extendable' ]
19153 info install predefine@0.1.1
19154 info postinstall predefine@0.1.1
19155 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing
19156 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/fusing
19157 verbose linkStuff [ false,
19157 verbose linkStuff false,
19157 verbose linkStuff false,
19157 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules' ]
19158 info linkStuff fusing@0.2.1
19159 verbose linkBins fusing@0.2.1
19160 verbose linkMans fusing@0.2.1
19161 verbose rebuildBundles fusing@0.2.1
19162 verbose rebuildBundles [ 'predefine' ]
19163 info install fusing@0.2.1
19164 info postinstall fusing@0.2.1
19165 silly gunzTarPerm extractEntry lib/language.js
19166 silly gunzTarPerm extractEntry lib/mediaType.js
19167 silly gunzTarPerm extractEntry lib/negotiator.js
19168 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/test/escaper.js
19169 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/test/index.js
19170 silly gunzTarPerm extractEntry readme.md
19171 silly gunzTarPerm extractEntry test/charset.js
19172 silly gunzTarPerm extractEntry f.coffee
19173 silly gunzTarPerm extractEntry foo.coffee
19174 silly gunzTarPerm extractEntry test/encoding.js
19175 silly gunzTarPerm extractEntry test/language.js
19176 silly gunzTarPerm extractEntry test/mediaType.js
19177 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test1.js
19178 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test2.js
19179 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test3.js
19180 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/package.json
19181 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/.npmignore
19182 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/README.md
19183 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE
19184 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/index.js
19185 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/.travis.yml
19186 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/Makefile
19187 silly lockFile cd8e13d1--V1-npm-negotiator-0-4-2-package tar:///Users/V1/.npm/negotiator/0.4.2/package
19188 silly lockFile cd8e13d1--V1-npm-negotiator-0-4-2-package tar:///Users/V1/.npm/negotiator/0.4.2/package
19189 silly lockFile d564ec7b-91950-0-8108163210563362-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991950-0.8108163210563362/tmp.tgz
19190 silly lockFile d564ec7b-91950-0-8108163210563362-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628991950-0.8108163210563362/tmp.tgz
19191 silly lockFile 9ffd2458--negotiator-negotiator-0-4-2-tgz https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz
19192 silly lockFile 9ffd2458--negotiator-negotiator-0-4-2-tgz https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz
19193 silly lockFile fc368cc9-negotiator-0-4-2 negotiator@0.4.2
19194 silly lockFile fc368cc9-negotiator-0-4-2 negotiator@0.4.2
19195 http 200 https://registry.npmjs.org/type-component
19196 silly registry.get cb [ 200,
19196 silly registry.get { date: 'Fri, 09 May 2014 09:49:52 GMT',
19196 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
19196 silly registry.get etag: '"5PA0HCKIFJVHPM1ZN50EYQ1G1"',
19196 silly registry.get 'content-type': 'application/json',
19196 silly registry.get via: '1.1 varnish',
19196 silly registry.get 'cache-control': 'max-age=1',
19196 silly registry.get 'content-length': '1663',
19196 silly registry.get 'accept-ranges': 'bytes',
19196 silly registry.get age: '758',
19196 silly registry.get 'x-served-by': 'cache-v37-ASH, cache-am76-AMS',
19196 silly registry.get 'x-cache': 'MISS, HIT',
19196 silly registry.get 'x-cache-hits': '0, 1',
19196 silly registry.get 'x-timer': 'S1399628234.098857880,VS0,VS45,VE139,VE758613',
19196 silly registry.get vary: 'Accept',
19196 silly registry.get 'keep-alive': 'timeout=10, max=50',
19196 silly registry.get connection: 'Keep-Alive' } ]
19197 silly addNameRange number 2 { name: 'type-component', range: '*', hasData: true }
19198 silly addNameRange versions [ 'type-component', [ '0.0.1' ] ]
19199 verbose addNamed [ 'type-component', '0.0.1' ]
19200 verbose addNamed [ '0.0.1', '0.0.1' ]
19201 silly lockFile 92cc6d12-type-component-0-0-1 type-component@0.0.1
19202 verbose lock type-component@0.0.1 /Users/V1/.npm/92cc6d12-type-component-0-0-1.lock
19203 silly lockFile d4c83749-mponent-type-component-0-0-1-tgz https://registry.npmjs.org/type-component/-/type-component-0.0.1.tgz
19204 verbose lock https://registry.npmjs.org/type-component/-/type-component-0.0.1.tgz /Users/V1/.npm/d4c83749-mponent-type-component-0-0-1-tgz.lock
19205 verbose addRemoteTarball [ 'https://registry.npmjs.org/type-component/-/type-component-0.0.1.tgz',
19205 verbose addRemoteTarball '952a6c81c21efd24d13d811d0c8498cb860e1956' ]
19206 info retry fetch attempt 1 at 11:49:52
19207 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992152-0.8351181836333126/tmp.tgz
19208 http GET https://registry.npmjs.org/type-component/-/type-component-0.0.1.tgz
19209 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/examples/offset.js
19210 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/examples/time.js
19211 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js
19212 silly gunzTarPerm extractEntry node_modules/request/node_modules/hawk/node_modules/sntp/test/index.js
19213 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/package.json
19214 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/.npmignore
19215 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/README.md
19216 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/LICENSE
19217 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/.dir-locals.el
19218 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/http_signing.md
19219 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/lib/index.js
19220 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/lib/parser.js
19221 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/lib/signer.js
19222 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/lib/util.js
19223 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/lib/verify.js
19224 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/package.json
19225 silly gunzTarPerm extractEntry lang/ar-ma.js
19226 silly gunzTarPerm extractEntry lang/is.js
19227 silly gunzTarPerm extractEntry test/fixture/http/no-filename/filename-name.http
19228 silly gunzTarPerm extractEntry test/fixture/http/no-filename/generic.http
19229 silly gunzTarPerm extractEntry test/fixture/http/preamble/crlf.http
19230 silly gunzTarPerm extractEntry test/fixture/http/preamble/preamble.http
19231 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/info.md
19232 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/osx-chrome-13.http
19233 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/osx-firefox-3.6.http
19234 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/osx-safari-5.http
19235 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/xp-chrome-12.http
19236 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/xp-ie-7.http
19237 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/xp-ie-8.http
19238 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/xp-safari-5.http
19239 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/.npmignore
19240 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/README.md
19241 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/LICENSE
19242 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/lib/index.js
19243 silly gunzTarPerm extractEntry lang/it.js
19244 silly gunzTarPerm extractEntry lang/ja.js
19245 silly gunzTarPerm extractEntry lang/ka.js
19246 http 200 https://registry.npmjs.org/batch
19247 silly registry.get cb [ 200,
19247 silly registry.get { date: 'Fri, 09 May 2014 09:49:52 GMT',
19247 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
19247 silly registry.get etag: '"B5OZ6BTLXJ41XVQ2Z7X21258U"',
19247 silly registry.get 'content-type': 'application/json',
19247 silly registry.get via: '1.1 varnish',
19247 silly registry.get 'cache-control': 'max-age=1',
19247 silly registry.get 'content-length': '24135',
19247 silly registry.get 'accept-ranges': 'bytes',
19247 silly registry.get age: '63',
19247 silly registry.get 'x-served-by': 'cache-v37-ASH, cache-am69-AMS',
19247 silly registry.get 'x-cache': 'HIT, HIT',
19247 silly registry.get 'x-cache-hits': '1, 1',
19247 silly registry.get 'x-timer': 'S1399626020.311115742,VS0,VS42,VE131,VE2972492',
19247 silly registry.get vary: 'Accept',
19247 silly registry.get 'keep-alive': 'timeout=10, max=50',
19247 silly registry.get connection: 'Keep-Alive' } ]
19248 silly lockFile d75fcd9d--npmjs-org-batch-batch-0-5-0-tgz https://registry.npmjs.org/batch/-/batch-0.5.0.tgz
19249 verbose lock https://registry.npmjs.org/batch/-/batch-0.5.0.tgz /Users/V1/.npm/d75fcd9d--npmjs-org-batch-batch-0-5-0-tgz.lock
19250 verbose addRemoteTarball [ 'https://registry.npmjs.org/batch/-/batch-0.5.0.tgz',
19250 verbose addRemoteTarball 'fd2e05a7a5d696b4db9314013e285d8ff3557ec3' ]
19251 info retry fetch attempt 1 at 11:49:52
19252 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992277-0.9478777097538114/tmp.tgz
19253 http GET https://registry.npmjs.org/batch/-/batch-0.5.0.tgz
19254 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/errors.js
19255 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/index.js
19256 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/reader.js
19257 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/types.js
19258 silly gunzTarPerm extractEntry licenses/CATOSL1.1.txt
19259 silly gunzTarPerm extractEntry licenses/CECILL-2.1.txt
19260 silly gunzTarPerm extractEntry licenses/CNRI.txt
19261 silly gunzTarPerm extractEntry licenses/CPAL1.0.txt
19262 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/writer.js
19263 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/reader.test.js
19264 silly gunzTarPerm extractEntry licenses/CUAOPL1.0.txt
19265 silly gunzTarPerm extractEntry licenses/ECL2.0.txt
19266 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/writer.test.js
19267 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json
19268 silly gunzTarPerm extractEntry licenses/EFL2.0.txt
19269 silly gunzTarPerm extractEntry licenses/ENTESSA.txt
19270 silly gunzTarPerm extractEntry licenses/EPL-1.0.txt
19271 silly gunzTarPerm extractEntry licenses/EUDATAGRID.txt
19272 silly gunzTarPerm extractEntry licenses/EUPL1.1.txt
19273 silly gunzTarPerm extractEntry licenses/FAIR.txt
19274 silly gunzTarPerm extractEntry licenses/Frameworx1.0.txt
19275 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/assert-plus/README.md
19276 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js
19277 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/package.json
19278 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/README
19279 silly gunzTarPerm extractEntry licenses/GPL-2.0.txt
19280 silly gunzTarPerm extractEntry licenses/GPL-3.0.txt
19281 silly gunzTarPerm extractEntry licenses/GPL.txt
19282 silly gunzTarPerm extractEntry licenses/HPND.txt
19283 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/LICENSE
19284 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/ctio.js
19285 silly gunzTarPerm extractEntry licenses/IPA.txt
19286 silly gunzTarPerm extractEntry licenses/IPL-1.0.txt
19287 http 200 https://registry.npmjs.org/batch/-/batch-0.5.0.tgz
19288 silly gunzTarPerm extractEntry licenses/ISC.txt
19289 silly gunzTarPerm extractEntry licenses/JSON.txt
19290 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992277-0.9478777097538114/tmp.tgz
19291 silly lockFile 23d5a698-Users-V1-npm-batch-0-5-0-package tar:///Users/V1/.npm/batch/0.5.0/package
19292 verbose lock tar:///Users/V1/.npm/batch/0.5.0/package /Users/V1/.npm/23d5a698-Users-V1-npm-batch-0-5-0-package.lock
19293 silly lockFile 867bd1fd-92277-0-9478777097538114-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992277-0.9478777097538114/tmp.tgz
19294 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992277-0.9478777097538114/tmp.tgz /Users/V1/.npm/867bd1fd-92277-0-9478777097538114-tmp-tgz.lock
19295 silly gunzTarPerm modes [ '755', '644' ]
19296 silly gunzTarPerm extractEntry licenses/LGPL-2.1.txt
19297 silly gunzTarPerm extractEntry licenses/LGPL-3.0.txt
19298 silly gunzTarPerm extractEntry package.json
19299 silly gunzTarPerm extractEntry .npmignore
19300 silly gunzTarPerm extractEntry index.js
19301 silly gunzTarPerm extractEntry licenses/LGPL.txt
19302 silly gunzTarPerm extractEntry licenses/LPL-1.02.txt
19303 silly gunzTarPerm extractEntry component.json
19304 silly gunzTarPerm extractEntry History.md
19305 silly gunzTarPerm extractEntry licenses/LPPL-1.3.txt
19306 silly gunzTarPerm extractEntry licenses/AFL2.1.txt
19307 silly gunzTarPerm extractEntry Makefile
19308 silly gunzTarPerm extractEntry Readme.md
19309 silly gunzTarPerm extractEntry licenses/MIT.txt
19310 silly gunzTarPerm extractEntry licenses/MOTOSOTO.txt
19311 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/ctf.js
19312 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/ctype.js
19313 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/CHANGELOG
19314 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/man/man3ctype/ctio.3ctype
19315 silly gunzTarPerm extractEntry licenses/MPL-1.0.txt
19316 silly lockFile 23d5a698-Users-V1-npm-batch-0-5-0-package tar:///Users/V1/.npm/batch/0.5.0/package
19317 silly lockFile 23d5a698-Users-V1-npm-batch-0-5-0-package tar:///Users/V1/.npm/batch/0.5.0/package
19318 silly lockFile 867bd1fd-92277-0-9478777097538114-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992277-0.9478777097538114/tmp.tgz
19319 silly lockFile 867bd1fd-92277-0-9478777097538114-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992277-0.9478777097538114/tmp.tgz
19320 silly lockFile d75fcd9d--npmjs-org-batch-batch-0-5-0-tgz https://registry.npmjs.org/batch/-/batch-0.5.0.tgz
19321 silly lockFile d75fcd9d--npmjs-org-batch-batch-0-5-0-tgz https://registry.npmjs.org/batch/-/batch-0.5.0.tgz
19322 silly lockFile 73862984-batch-0-5-0 batch@0.5.0
19323 silly lockFile 73862984-batch-0-5-0 batch@0.5.0
19324 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/README.old
19325 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsl.conf
19326 silly resolved [ { name: 'negotiator',
19326 silly resolved description: 'HTTP content negotiation',
19326 silly resolved version: '0.4.2',
19326 silly resolved author:
19326 silly resolved { name: 'Federico Romero',
19326 silly resolved email: 'federico.romero@outboxlabs.com' },
19326 silly resolved contributors: [ [Object] ],
19326 silly resolved repository:
19326 silly resolved { type: 'git',
19326 silly resolved url: 'git://github.com/federomero/negotiator.git' },
19326 silly resolved keywords:
19326 silly resolved [ 'http',
19326 silly resolved 'content negotiation',
19326 silly resolved 'accept',
19326 silly resolved 'accept-language',
19326 silly resolved 'accept-encoding',
19326 silly resolved 'accept-charset' ],
19326 silly resolved engine: 'node >= 0.6',
19326 silly resolved license: 'MIT',
19326 silly resolved devDependencies: { nodeunit: '0.8.x' },
19326 silly resolved scripts: { test: 'nodeunit test' },
19326 silly resolved optionalDependencies: {},
19326 silly resolved engines: { node: '*' },
19326 silly resolved main: 'lib/negotiator.js',
19326 silly resolved readme: '# Negotiator [![Build Status](https://travis-ci.org/federomero/negotiator.png)](https://travis-ci.org/federomero/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.mediaTypes()\n // -> [\'text/html\', \'image/jpeg\', \'application/*\']\n\n negotiator.mediaTypes(availableMediaTypes)\n // -> [\'text/html\', \'application/json\']\n\n negotiator.mediaType(availableMediaTypes)\n // -> \'text/html\'\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 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.languages()\n // -> [\'es\', \'pt\', \'en\']\n\n negotiator.languages(availableLanguages)\n // -> [\'es\', \'en\']\n\n language = negotiator.language(availableLanguages)\n // -> \'es\'\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 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.charsets()\n // -> [\'utf-8\', \'iso-8859-1\', \'utf-7\']\n\n negotiator.charsets(availableCharsets)\n // -> [\'utf-8\', \'iso-8859-1\']\n\n negotiator.charset(availableCharsets)\n // -> \'utf-8\'\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 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.encodings()\n // -> [\'gzip\', \'identity\', \'compress\']\n\n negotiator.encodings(availableEncodings)\n // -> [\'gzip\', \'identity\']\n\n negotiator.encoding(availableEncodings)\n // -> \'gzip\'\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\nMIT\n',
19326 silly resolved readmeFilename: 'readme.md',
19326 silly resolved bugs: { url: 'https://github.com/federomero/negotiator/issues' },
19326 silly resolved homepage: 'https://github.com/federomero/negotiator',
19326 silly resolved dependencies: {},
19326 silly resolved _id: 'negotiator@0.4.2',
19326 silly resolved _shasum: '8c43ea7e4c40ddfe40c3c0234c4ef77500b8fd37',
19326 silly resolved _from: 'negotiator@0.4.2',
19326 silly resolved _resolved: 'https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz' },
19326 silly resolved { name: 'batch',
19326 silly resolved version: '0.5.0',
19326 silly resolved description: 'Simple async batch',
19326 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
19326 silly resolved devDependencies: { mocha: '*', should: '*' },
19326 silly resolved main: 'index',
19326 silly resolved 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 &lt;tj@vision-media.ca&gt;\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',
19326 silly resolved readmeFilename: 'Readme.md',
19326 silly resolved _id: 'batch@0.5.0',
19326 silly resolved _shasum: 'fd2e05a7a5d696b4db9314013e285d8ff3557ec3',
19326 silly resolved _from: 'batch@0.5.0',
19326 silly resolved _resolved: 'https://registry.npmjs.org/batch/-/batch-0.5.0.tgz' } ]
19327 info install negotiator@0.4.2 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index
19328 info install batch@0.5.0 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index
19329 info installOne negotiator@0.4.2
19330 info installOne batch@0.5.0
19331 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/negotiator unbuild
19332 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/batch unbuild
19333 verbose tar unpack /Users/V1/.npm/negotiator/0.4.2/package.tgz
19334 silly lockFile 9a5acc18-ve-index-node-modules-negotiator tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/negotiator
19335 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/negotiator /Users/V1/.npm/9a5acc18-ve-index-node-modules-negotiator.lock
19336 silly lockFile 87d0f3ac-npm-negotiator-0-4-2-package-tgz tar:///Users/V1/.npm/negotiator/0.4.2/package.tgz
19337 verbose lock tar:///Users/V1/.npm/negotiator/0.4.2/package.tgz /Users/V1/.npm/87d0f3ac-npm-negotiator-0-4-2-package-tgz.lock
19338 verbose tar unpack /Users/V1/.npm/batch/0.5.0/package.tgz
19339 silly lockFile 91dd67af-s-serve-index-node-modules-batch tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/batch
19340 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/batch /Users/V1/.npm/91dd67af-s-serve-index-node-modules-batch.lock
19341 silly lockFile 6c17f20b-s-V1-npm-batch-0-5-0-package-tgz tar:///Users/V1/.npm/batch/0.5.0/package.tgz
19342 verbose lock tar:///Users/V1/.npm/batch/0.5.0/package.tgz /Users/V1/.npm/6c17f20b-s-V1-npm-batch-0-5-0-package-tgz.lock
19343 silly gunzTarPerm modes [ '755', '644' ]
19344 silly gunzTarPerm modes [ '755', '644' ]
19345 silly gunzTarPerm extractEntry package.json
19346 silly gunzTarPerm extractEntry package.json
19347 http 200 https://registry.npmjs.org/type-component/-/type-component-0.0.1.tgz
19348 silly gunzTarPerm extractEntry LICENSE
19349 silly gunzTarPerm extractEntry .travis.yml
19350 silly gunzTarPerm extractEntry .npmignore
19351 silly gunzTarPerm extractEntry index.js
19352 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992152-0.8351181836333126/tmp.tgz
19353 silly lockFile 8f89da0e-npm-type-component-0-0-1-package tar:///Users/V1/.npm/type-component/0.0.1/package
19354 verbose lock tar:///Users/V1/.npm/type-component/0.0.1/package /Users/V1/.npm/8f89da0e-npm-type-component-0-0-1-package.lock
19355 silly lockFile 9b4c2e1e-92152-0-8351181836333126-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992152-0.8351181836333126/tmp.tgz
19356 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992152-0.8351181836333126/tmp.tgz /Users/V1/.npm/9b4c2e1e-92152-0-8351181836333126-tmp-tgz.lock
19357 silly gunzTarPerm modes [ '755', '644' ]
19358 silly gunzTarPerm extractEntry component.json
19359 silly gunzTarPerm extractEntry History.md
19360 silly gunzTarPerm extractEntry examples/accept.js
19361 silly gunzTarPerm extractEntry examples/charset.js
19362 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsstyle
19363 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.float.js
19364 silly gunzTarPerm extractEntry licenses/MPL-2.0.txt
19365 silly gunzTarPerm extractEntry licenses/MS-PL.txt
19366 silly gunzTarPerm extractEntry package.json
19367 silly gunzTarPerm extractEntry .npmignore
19368 silly gunzTarPerm extractEntry index.js
19369 silly gunzTarPerm extractEntry Makefile
19370 silly gunzTarPerm extractEntry Readme.md
19371 silly gunzTarPerm extractEntry examples/encoding.js
19372 silly gunzTarPerm extractEntry examples/language.js
19373 silly gunzTarPerm extractEntry component.json
19374 silly gunzTarPerm extractEntry Makefile
19375 silly gunzTarPerm extractEntry lib/charset.js
19376 silly gunzTarPerm extractEntry lib/encoding.js
19377 silly gunzTarPerm extractEntry licenses/MS-RL.txt
19378 silly gunzTarPerm extractEntry licenses/MULTICS.txt
19379 silly gunzTarPerm extractEntry Readme.md
19380 silly gunzTarPerm extractEntry test/type.js
19381 silly gunzTarPerm extractEntry lib/language.js
19382 silly gunzTarPerm extractEntry lib/mediaType.js
19383 silly gunzTarPerm extractEntry lib/negotiator.js
19384 silly gunzTarPerm extractEntry readme.md
19385 silly gunzTarPerm extractEntry test/charset.js
19386 silly gunzTarPerm extractEntry test/encoding.js
19387 silly gunzTarPerm extractEntry test/language.js
19388 silly lockFile 91dd67af-s-serve-index-node-modules-batch tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/batch
19389 silly lockFile 91dd67af-s-serve-index-node-modules-batch tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/batch
19390 silly lockFile 6c17f20b-s-V1-npm-batch-0-5-0-package-tgz tar:///Users/V1/.npm/batch/0.5.0/package.tgz
19391 silly lockFile 6c17f20b-s-V1-npm-batch-0-5-0-package-tgz tar:///Users/V1/.npm/batch/0.5.0/package.tgz
19392 silly gunzTarPerm extractEntry test/mediaType.js
19393 info preinstall batch@0.5.0
19394 verbose readDependencies using package.json deps
19395 silly lockFile 8f89da0e-npm-type-component-0-0-1-package tar:///Users/V1/.npm/type-component/0.0.1/package
19396 silly lockFile 8f89da0e-npm-type-component-0-0-1-package tar:///Users/V1/.npm/type-component/0.0.1/package
19397 verbose readDependencies using package.json deps
19398 silly resolved []
19399 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/batch
19400 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/batch
19401 verbose linkStuff [ false,
19401 verbose linkStuff false,
19401 verbose linkStuff false,
19401 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules' ]
19402 info linkStuff batch@0.5.0
19403 verbose linkBins batch@0.5.0
19404 verbose linkMans batch@0.5.0
19405 verbose rebuildBundles batch@0.5.0
19406 silly lockFile 9b4c2e1e-92152-0-8351181836333126-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992152-0.8351181836333126/tmp.tgz
19407 silly lockFile 9b4c2e1e-92152-0-8351181836333126-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992152-0.8351181836333126/tmp.tgz
19408 info install batch@0.5.0
19409 silly gunzTarPerm extractEntry licenses/NAUMEN.txt
19410 silly gunzTarPerm extractEntry licenses/NCSA.txt
19411 info postinstall batch@0.5.0
19412 silly lockFile d4c83749-mponent-type-component-0-0-1-tgz https://registry.npmjs.org/type-component/-/type-component-0.0.1.tgz
19413 silly lockFile d4c83749-mponent-type-component-0-0-1-tgz https://registry.npmjs.org/type-component/-/type-component-0.0.1.tgz
19414 silly lockFile 92cc6d12-type-component-0-0-1 type-component@0.0.1
19415 silly lockFile 92cc6d12-type-component-0-0-1 type-component@0.0.1
19416 silly lockFile 1bfacb1a-type-component type-component@*
19417 silly lockFile 1bfacb1a-type-component type-component@*
19418 silly resolved [ { name: 'type-component',
19418 silly resolved description: 'Cross-browser type assertions (less broken typeof)',
19418 silly resolved version: '0.0.1',
19418 silly resolved keywords: [ 'typeof', 'type', 'utility' ],
19418 silly resolved dependencies: {},
19418 silly resolved component: { scripts: [Object] },
19418 silly resolved readme: '\n# type\n\n Type assertions aka less-broken `typeof`.\n\n## Example\n\n```js\nvar type = require(\'type\');\n\nvar obj = new Date;\nif (type(obj) == \'date\') ...\n```\n\n## API\n\n```js\ntype(new Date) == \'date\'\ntype({}) == \'object\'\ntype(null) == \'null\'\ntype(undefined) == \'undefined\'\ntype("hey") == \'string\'\ntype(true) == \'boolean\'\ntype(false) == \'boolean\'\ntype(12) == \'number\'\ntype(type) == \'function\'\ntype(/asdf/) == \'regexp\'\ntype((function(){ return arguments })()) == \'arguments\'\ntype([]) == \'array\'\n```\n\n## License\n\n MIT',
19418 silly resolved readmeFilename: 'Readme.md',
19418 silly resolved _id: 'type-component@0.0.1',
19418 silly resolved _shasum: '952a6c81c21efd24d13d811d0c8498cb860e1956',
19418 silly resolved _from: 'type-component@*',
19418 silly resolved _resolved: 'https://registry.npmjs.org/type-component/-/type-component-0.0.1.tgz' } ]
19419 info install type-component@0.0.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component
19420 info installOne type-component@0.0.1
19421 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component/node_modules/type-component unbuild
19422 verbose tar unpack /Users/V1/.npm/type-component/0.0.1/package.tgz
19423 silly lockFile 73deea90-nent-node-modules-type-component tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component/node_modules/type-component
19424 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component/node_modules/type-component /Users/V1/.npm/73deea90-nent-node-modules-type-component.lock
19425 silly lockFile d413d7dd-type-component-0-0-1-package-tgz tar:///Users/V1/.npm/type-component/0.0.1/package.tgz
19426 verbose lock tar:///Users/V1/.npm/type-component/0.0.1/package.tgz /Users/V1/.npm/d413d7dd-type-component-0-0-1-package-tgz.lock
19427 silly gunzTarPerm modes [ '755', '644' ]
19428 silly gunzTarPerm extractEntry package.json
19429 silly gunzTarPerm extractEntry .npmignore
19430 silly gunzTarPerm extractEntry index.js
19431 silly gunzTarPerm extractEntry component.json
19432 silly gunzTarPerm extractEntry Makefile
19433 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.fail.js
19434 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.int.js
19435 silly gunzTarPerm extractEntry Readme.md
19436 silly gunzTarPerm extractEntry test/type.js
19437 silly gunzTarPerm extractEntry licenses/NGPL.txt
19438 silly gunzTarPerm extractEntry licenses/NPOSL-3.0.txt
19439 silly gunzTarPerm extractEntry licenses/NTP.txt
19440 silly gunzTarPerm extractEntry licenses/Nokia.txt
19441 silly gunzTarPerm extractEntry licenses/OCLC-2.0.txt
19442 silly gunzTarPerm extractEntry licenses/OFL-1.1.txt
19443 silly lockFile 73deea90-nent-node-modules-type-component tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component/node_modules/type-component
19444 silly lockFile 73deea90-nent-node-modules-type-component tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component/node_modules/type-component
19445 silly lockFile d413d7dd-type-component-0-0-1-package-tgz tar:///Users/V1/.npm/type-component/0.0.1/package.tgz
19446 silly lockFile d413d7dd-type-component-0-0-1-package-tgz tar:///Users/V1/.npm/type-component/0.0.1/package.tgz
19447 silly gunzTarPerm extractEntry licenses/OSL-3.0.txt
19448 silly gunzTarPerm extractEntry licenses/PHP-3.0.txt
19449 info preinstall type-component@0.0.1
19450 verbose readDependencies using package.json deps
19451 verbose readDependencies using package.json deps
19452 silly resolved []
19453 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component/node_modules/type-component
19454 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component/node_modules/type-component
19455 verbose linkStuff [ false,
19455 verbose linkStuff false,
19455 verbose linkStuff false,
19455 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component/node_modules' ]
19456 info linkStuff type-component@0.0.1
19457 verbose linkBins type-component@0.0.1
19458 verbose linkMans type-component@0.0.1
19459 verbose rebuildBundles type-component@0.0.1
19460 info install type-component@0.0.1
19461 info postinstall type-component@0.0.1
19462 silly lockFile 9a5acc18-ve-index-node-modules-negotiator tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/negotiator
19463 silly lockFile 9a5acc18-ve-index-node-modules-negotiator tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/negotiator
19464 silly lockFile 87d0f3ac-npm-negotiator-0-4-2-package-tgz tar:///Users/V1/.npm/negotiator/0.4.2/package.tgz
19465 silly lockFile 87d0f3ac-npm-negotiator-0-4-2-package-tgz tar:///Users/V1/.npm/negotiator/0.4.2/package.tgz
19466 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component
19467 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules/dot-component
19468 verbose linkStuff [ false,
19468 verbose linkStuff false,
19468 verbose linkStuff false,
19468 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet/node_modules' ]
19469 info linkStuff dot-component@0.1.1
19470 verbose linkBins dot-component@0.1.1
19471 verbose linkMans dot-component@0.1.1
19472 verbose rebuildBundles dot-component@0.1.1
19473 verbose rebuildBundles [ 'type-component' ]
19474 info install dot-component@0.1.1
19475 info postinstall dot-component@0.1.1
19476 info preinstall negotiator@0.4.2
19477 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet
19478 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/pagelet
19479 verbose linkStuff [ false,
19479 verbose linkStuff false,
19479 verbose linkStuff false,
19479 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules' ]
19480 info linkStuff pagelet@0.5.0
19481 verbose linkBins pagelet@0.5.0
19482 verbose linkMans pagelet@0.5.0
19483 verbose rebuildBundles pagelet@0.5.0
19484 verbose rebuildBundles [ 'dot-component', 'fusing', 'json-stringify-safe', 'temper' ]
19485 info install pagelet@0.5.0
19486 verbose readDependencies using package.json deps
19487 info postinstall pagelet@0.5.0
19488 verbose readDependencies using package.json deps
19489 silly resolved []
19490 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/negotiator
19491 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules/negotiator
19492 verbose linkStuff [ false,
19492 verbose linkStuff false,
19492 verbose linkStuff false,
19492 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index/node_modules' ]
19493 info linkStuff negotiator@0.4.2
19494 verbose linkBins negotiator@0.4.2
19495 verbose linkMans negotiator@0.4.2
19496 verbose rebuildBundles negotiator@0.4.2
19497 info install negotiator@0.4.2
19498 info postinstall negotiator@0.4.2
19499 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index
19500 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/serve-index
19501 verbose linkStuff [ false,
19501 verbose linkStuff false,
19501 verbose linkStuff false,
19501 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules' ]
19502 info linkStuff serve-index@1.0.1
19503 verbose linkBins serve-index@1.0.1
19504 verbose linkMans serve-index@1.0.1
19505 verbose rebuildBundles serve-index@1.0.1
19506 verbose rebuildBundles [ 'batch', 'negotiator' ]
19507 info install serve-index@1.0.1
19508 silly gunzTarPerm extractEntry licenses/PostgreSQL.txt
19509 silly gunzTarPerm extractEntry licenses/Python2.txt
19510 info postinstall serve-index@1.0.1
19511 silly gunzTarPerm extractEntry licenses/QPL-1.0.txt
19512 silly gunzTarPerm extractEntry licenses/RPL-1.5.txt
19513 silly gunzTarPerm extractEntry licenses/RPSL.txt
19514 silly gunzTarPerm extractEntry licenses/RSCPL.txt
19515 silly gunzTarPerm extractEntry licenses/SIMPL-2.0.txt
19516 silly gunzTarPerm extractEntry licenses/SLEEPYCAT.txt
19517 silly gunzTarPerm extractEntry licenses/SPL-1.0.txt
19518 silly gunzTarPerm extractEntry licenses/UNLICENSE.txt
19519 silly gunzTarPerm extractEntry licenses/VSL-1.0.txt
19520 silly gunzTarPerm extractEntry licenses/W3C.txt
19521 silly gunzTarPerm extractEntry licenses/WTFPL.txt
19522 silly gunzTarPerm extractEntry licenses/WXwindows.txt
19523 silly gunzTarPerm extractEntry licenses/Watcom-1.0.txt
19524 silly gunzTarPerm extractEntry licenses/XNet.txt
19525 silly gunzTarPerm extractEntry licenses/ZPL-2.0.txt
19526 silly gunzTarPerm extractEntry licenses/beerware.txt
19527 silly gunzTarPerm extractEntry licenses/cddl1.txt
19528 silly gunzTarPerm extractEntry licenses/nasa.txt
19529 silly gunzTarPerm extractEntry licenses/zlib.txt
19530 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.psinfo.js
19531 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.struct.js
19532 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.typedef.js
19533 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/psinfo.json
19534 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/struct.json
19535 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/float.json
19536 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/int.json
19537 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/typedef.json
19538 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/float/tst.rfloat.js
19539 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/float/tst.wfloat.js
19540 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.64.js
19541 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.rint.js
19542 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.wbounds.js
19543 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.wint.js
19544 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.64.js
19545 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.roundtrip.js
19546 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.ruint.js
19547 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.wuint.js
19548 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.basicr.js
19549 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.basicw.js
19550 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.char.js
19551 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.endian.js
19552 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.oldwrite.js
19553 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.readSize.js
19554 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.structw.js
19555 silly gunzTarPerm extractEntry node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.writeStruct.js
19556 silly gunzTarPerm extractEntry node_modules/request/node_modules/json-stringify-safe/package.json
19557 silly gunzTarPerm extractEntry test/fixture/http/workarounds/missing-hyphens1.http
19558 silly gunzTarPerm extractEntry test/fixture/http/workarounds/missing-hyphens2.http
19559 silly gunzTarPerm extractEntry node_modules/request/node_modules/json-stringify-safe/README.md
19560 silly gunzTarPerm extractEntry node_modules/request/node_modules/json-stringify-safe/LICENSE
19561 silly gunzTarPerm extractEntry test/fixture/js/encoding.js
19562 silly gunzTarPerm extractEntry test/fixture/js/no-filename.js
19563 silly gunzTarPerm extractEntry node_modules/request/node_modules/json-stringify-safe/stringify.js
19564 silly gunzTarPerm extractEntry node_modules/request/node_modules/json-stringify-safe/test.js
19565 silly gunzTarPerm extractEntry test/fixture/js/preamble.js
19566 silly gunzTarPerm extractEntry node_modules/request/node_modules/forever-agent/package.json
19567 silly gunzTarPerm extractEntry node_modules/request/node_modules/forever-agent/README.md
19568 silly gunzTarPerm extractEntry test/fixture/js/special-chars-in-filename.js
19569 silly gunzTarPerm extractEntry test/fixture/js/workarounds.js
19570 silly gunzTarPerm extractEntry node_modules/request/node_modules/forever-agent/LICENSE
19571 silly gunzTarPerm extractEntry node_modules/request/node_modules/forever-agent/index.js
19572 silly gunzTarPerm extractEntry test/fixture/multi_video.upload
19573 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/package.json
19574 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/.npmignore
19575 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/README.md
19576 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/uuid.js
19577 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/LICENSE.md
19578 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/benchmark/README.md
19579 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/benchmark/benchmark.js
19580 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/benchmark/bench.gnu
19581 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/benchmark/bench.sh
19582 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/benchmark/benchmark-native.c
19583 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/component.json
19584 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/test/compare_v1.js
19585 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/test/test.js
19586 silly gunzTarPerm extractEntry node_modules/request/node_modules/node-uuid/test/test.html
19587 silly gunzTarPerm extractEntry node_modules/request/node_modules/oauth-sign/package.json
19588 silly gunzTarPerm extractEntry node_modules/request/node_modules/oauth-sign/README.md
19589 silly gunzTarPerm extractEntry node_modules/request/node_modules/oauth-sign/LICENSE
19590 silly gunzTarPerm extractEntry node_modules/request/node_modules/oauth-sign/index.js
19591 silly gunzTarPerm extractEntry node_modules/request/node_modules/oauth-sign/test.js
19592 silly gunzTarPerm extractEntry node_modules/request/node_modules/qs/package.json
19593 silly gunzTarPerm extractEntry node_modules/request/node_modules/qs/.npmignore
19594 silly gunzTarPerm extractEntry node_modules/request/node_modules/qs/index.js
19595 silly gunzTarPerm extractEntry node_modules/request/node_modules/qs/.gitmodules
19596 silly gunzTarPerm extractEntry node_modules/request/node_modules/qs/Readme.md
19597 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/package.json
19598 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/.npmignore
19599 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/README.md
19600 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/LICENSE
19601 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/generate-pubsuffix.js
19602 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/test.js
19603 silly gunzTarPerm extractEntry test/standalone/test-connection-aborted.js
19604 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/.jshintrc
19605 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/lib/cookie.js
19606 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/lib/memstore.js
19607 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/lib/pubsuffix.js
19608 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/public-suffix.txt
19609 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/package.json
19610 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/punycode.js
19611 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/punycode.min.js
19612 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/LICENSE-GPL.txt
19613 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/LICENSE-MIT.txt
19614 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/README.md
19615 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/LICENSE.txt
19616 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/doc/README.md
19617 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/doc/parse.php
19618 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/docdown.php
19619 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/src/DocDown/Alias.php
19620 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/src/DocDown/Entry.php
19621 silly gunzTarPerm extractEntry node_modules/request/node_modules/tough-cookie/node_modules/punycode/vendor/docdown/src/DocDown/Generator.php
19622 silly gunzTarPerm extractEntry node_modules/request/node_modules/tunnel-agent/package.json
19623 silly gunzTarPerm extractEntry node_modules/request/node_modules/tunnel-agent/README.md
19624 silly gunzTarPerm extractEntry node_modules/request/node_modules/tunnel-agent/LICENSE
19625 verbose git fetch -a origin (git://github.com/npm/npm)
19626 silly gunzTarPerm extractEntry node_modules/request/node_modules/tunnel-agent/index.js
19627 verbose git rev-list -n1 master 86f5496fc9d0f88ae3b9ebfe5eb0bc686b0384b6
19628 verbose resolved git url git://github.com/npm/npm#86f5496fc9d0f88ae3b9ebfe5eb0bc686b0384b6
19629 silly gunzTarPerm extractEntry node_modules/retry/package.json
19630 silly gunzTarPerm extractEntry node_modules/retry/.npmignore
19631 silly gunzTarPerm extractEntry node_modules/retry/index.js
19632 silly gunzTarPerm extractEntry node_modules/retry/License
19633 silly gunzTarPerm extractEntry node_modules/retry/Makefile
19634 silly gunzTarPerm extractEntry node_modules/retry/Readme.md
19635 silly gunzTarPerm extractEntry node_modules/retry/equation.gif
19636 silly gunzTarPerm extractEntry node_modules/retry/example/dns.js
19637 silly gunzTarPerm extractEntry node_modules/retry/lib/retry.js
19638 silly gunzTarPerm extractEntry node_modules/retry/lib/retry_operation.js
19639 silly gunzTarPerm extractEntry node_modules/retry/test/common.js
19640 silly gunzTarPerm extractEntry node_modules/retry/test/runner.js
19641 silly gunzTarPerm extractEntry node_modules/retry/test/integration/test-retry-operation.js
19642 silly gunzTarPerm extractEntry node_modules/retry/test/integration/test-timeouts.js
19643 silly gunzTarPerm extractEntry node_modules/rimraf/package.json
19644 silly gunzTarPerm extractEntry node_modules/rimraf/README.md
19645 silly gunzTarPerm extractEntry node_modules/rimraf/LICENSE
19646 silly gunzTarPerm extractEntry node_modules/rimraf/bin.js
19647 silly gunzTarPerm extractEntry node_modules/rimraf/rimraf.js
19648 silly gunzTarPerm extractEntry node_modules/rimraf/AUTHORS
19649 silly gunzTarPerm extractEntry node_modules/rimraf/test/test-async.js
19650 silly gunzTarPerm extractEntry node_modules/rimraf/test/test-sync.js
19651 silly gunzTarPerm extractEntry node_modules/rimraf/test/run.sh
19652 silly gunzTarPerm extractEntry node_modules/rimraf/test/setup.sh
19653 silly gunzTarPerm extractEntry node_modules/semver/package.json
19654 silly gunzTarPerm extractEntry node_modules/semver/.npmignore
19655 silly gunzTarPerm extractEntry node_modules/semver/README.md
19656 silly gunzTarPerm extractEntry node_modules/semver/LICENSE
19657 silly gunzTarPerm extractEntry node_modules/semver/semver.browser.js
19658 silly gunzTarPerm extractEntry node_modules/semver/foot.js
19659 silly gunzTarPerm extractEntry node_modules/semver/head.js
19660 silly gunzTarPerm extractEntry node_modules/semver/semver.js
19661 silly gunzTarPerm extractEntry node_modules/semver/semver.min.js
19662 silly gunzTarPerm extractEntry node_modules/semver/semver.browser.js.gz
19663 silly gunzTarPerm extractEntry node_modules/semver/Makefile
19664 silly gunzTarPerm extractEntry node_modules/semver/bin/semver
19665 silly gunzTarPerm extractEntry node_modules/semver/semver.min.js.gz
19666 silly gunzTarPerm extractEntry node_modules/semver/test/amd.js
19667 silly gunzTarPerm extractEntry node_modules/semver/test/gtr.js
19668 silly gunzTarPerm extractEntry node_modules/semver/test/index.js
19669 silly gunzTarPerm extractEntry node_modules/semver/test/ltr.js
19670 silly gunzTarPerm extractEntry node_modules/semver/test/no-module.js
19671 silly gunzTarPerm extractEntry node_modules/sha/package.json
19672 silly gunzTarPerm extractEntry node_modules/sha/.npmignore
19673 silly gunzTarPerm extractEntry node_modules/sha/README.md
19674 silly gunzTarPerm extractEntry node_modules/sha/LICENSE
19675 silly gunzTarPerm extractEntry node_modules/sha/index.js
19676 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/package.json
19677 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/.npmignore
19678 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/README.md
19679 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/LICENSE
19680 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/duplex.js
19681 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/transform.js
19682 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/passthrough.js
19683 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/readable.js
19684 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/writable.js
19685 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/float.patch
19686 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/lib/_stream_duplex.js
19687 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/lib/_stream_passthrough.js
19688 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/lib/_stream_readable.js
19689 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/lib/_stream_transform.js
19690 silly gunzTarPerm extractEntry node_modules/sha/node_modules/readable-stream/lib/_stream_writable.js
19691 silly gunzTarPerm extractEntry node_modules/slide/package.json
19692 silly gunzTarPerm extractEntry node_modules/slide/README.md
19693 silly gunzTarPerm extractEntry node_modules/slide/LICENSE
19694 silly gunzTarPerm extractEntry node_modules/slide/index.js
19695 silly gunzTarPerm extractEntry node_modules/slide/lib/async-map-ordered.js
19696 silly gunzTarPerm extractEntry node_modules/slide/lib/async-map.js
19697 silly gunzTarPerm extractEntry node_modules/slide/lib/bind-actor.js
19698 silly gunzTarPerm extractEntry node_modules/slide/lib/chain.js
19699 silly gunzTarPerm extractEntry node_modules/slide/lib/slide.js
19700 silly gunzTarPerm extractEntry node_modules/sorted-object/package.json
19701 silly gunzTarPerm extractEntry node_modules/sorted-object/README.md
19702 silly gunzTarPerm extractEntry node_modules/sorted-object/LICENSE.txt
19703 silly gunzTarPerm extractEntry node_modules/sorted-object/lib/sorted-object.js
19704 silly gunzTarPerm extractEntry node_modules/tar/package.json
19705 silly gunzTarPerm extractEntry node_modules/tar/.npmignore
19706 silly gunzTarPerm extractEntry node_modules/tar/README.md
19707 silly gunzTarPerm extractEntry node_modules/tar/LICENCE
19708 silly gunzTarPerm extractEntry node_modules/tar/tar.js
19709 silly gunzTarPerm extractEntry node_modules/tar/.travis.yml
19710 silly gunzTarPerm extractEntry node_modules/tar/examples/extracter.js
19711 silly gunzTarPerm extractEntry node_modules/tar/examples/reader.js
19712 silly gunzTarPerm extractEntry node_modules/tar/lib/buffer-entry.js
19713 silly gunzTarPerm extractEntry node_modules/tar/lib/entry-writer.js
19714 silly gunzTarPerm extractEntry node_modules/tar/lib/entry.js
19715 silly gunzTarPerm extractEntry node_modules/tar/lib/extended-header-writer.js
19716 silly gunzTarPerm extractEntry node_modules/tar/lib/extended-header.js
19717 silly gunzTarPerm extractEntry node_modules/tar/lib/extract.js
19718 silly gunzTarPerm extractEntry node_modules/tar/lib/global-header-writer.js
19719 silly gunzTarPerm extractEntry node_modules/tar/lib/header.js
19720 silly gunzTarPerm extractEntry node_modules/tar/lib/pack.js
19721 silly gunzTarPerm extractEntry node_modules/tar/lib/parse.js
19722 silly gunzTarPerm extractEntry node_modules/tar/test/00-setup-fixtures.js
19723 silly gunzTarPerm extractEntry node_modules/tar/test/extract.js
19724 silly gunzTarPerm extractEntry node_modules/tar/test/header.js
19725 silly gunzTarPerm extractEntry node_modules/tar/test/pack-no-proprietary.js
19726 silly gunzTarPerm extractEntry node_modules/tar/test/pack.js
19727 silly gunzTarPerm extractEntry node_modules/tar/test/parse.js
19728 silly gunzTarPerm extractEntry node_modules/tar/test/zz-cleanup.js
19729 silly gunzTarPerm extractEntry node_modules/tar/test/fixtures.tgz
19730 silly gunzTarPerm extractEntry node_modules/text-table/package.json
19731 silly gunzTarPerm extractEntry node_modules/text-table/LICENSE
19732 silly gunzTarPerm extractEntry node_modules/text-table/index.js
19733 silly gunzTarPerm extractEntry node_modules/text-table/.travis.yml
19734 silly gunzTarPerm extractEntry node_modules/text-table/example/align.js
19735 silly gunzTarPerm extractEntry node_modules/text-table/example/center.js
19736 silly gunzTarPerm extractEntry node_modules/text-table/example/dotalign.js
19737 silly gunzTarPerm extractEntry node_modules/text-table/example/doubledot.js
19738 silly gunzTarPerm extractEntry node_modules/text-table/example/table.js
19739 silly gunzTarPerm extractEntry node_modules/text-table/readme.markdown
19740 silly gunzTarPerm extractEntry node_modules/text-table/test/align.js
19741 silly gunzTarPerm extractEntry node_modules/text-table/test/ansi-colors.js
19742 silly gunzTarPerm extractEntry node_modules/text-table/test/center.js
19743 silly gunzTarPerm extractEntry node_modules/text-table/test/dotalign.js
19744 silly gunzTarPerm extractEntry node_modules/text-table/test/doubledot.js
19745 silly gunzTarPerm extractEntry node_modules/text-table/test/table.js
19746 silly gunzTarPerm extractEntry node_modules/uid-number/package.json
19747 silly gunzTarPerm extractEntry node_modules/uid-number/README.md
19748 silly gunzTarPerm extractEntry node_modules/uid-number/LICENCE
19749 silly gunzTarPerm extractEntry node_modules/uid-number/LICENSE
19750 silly gunzTarPerm extractEntry node_modules/uid-number/get-uid-gid.js
19751 silly gunzTarPerm extractEntry node_modules/uid-number/uid-number.js
19752 silly gunzTarPerm extractEntry node_modules/which/package.json
19753 silly gunzTarPerm extractEntry node_modules/which/README.md
19754 silly gunzTarPerm extractEntry node_modules/which/LICENSE
19755 silly gunzTarPerm extractEntry node_modules/which/which.js
19756 silly gunzTarPerm extractEntry node_modules/which/bin/which
19757 silly lockFile 120cbf05-es-pagelet-node-modules-licenses tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses
19758 silly lockFile 120cbf05-es-pagelet-node-modules-licenses tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses
19759 silly lockFile acbb38fc--npm-licenses-0-0-19-package-tgz tar:///Users/V1/.npm/licenses/0.0.19/package.tgz
19760 silly lockFile acbb38fc--npm-licenses-0-0-19-package-tgz tar:///Users/V1/.npm/licenses/0.0.19/package.tgz
19761 info preinstall licenses@0.0.19
19762 verbose readDependencies using package.json deps
19763 verbose readDependencies using package.json deps
19764 verbose cache add [ 'async@0.6.x', null ]
19765 verbose cache add name=undefined spec="async@0.6.x" args=["async@0.6.x",null]
19766 verbose parsed url { protocol: null,
19766 verbose parsed url slashes: null,
19766 verbose parsed url auth: null,
19766 verbose parsed url host: null,
19766 verbose parsed url port: null,
19766 verbose parsed url hostname: null,
19766 verbose parsed url hash: null,
19766 verbose parsed url search: null,
19766 verbose parsed url query: null,
19766 verbose parsed url pathname: 'async@0.6.x',
19766 verbose parsed url path: 'async@0.6.x',
19766 verbose parsed url href: 'async@0.6.x' }
19767 verbose cache add name="async" spec="0.6.x" args=["async","0.6.x"]
19768 verbose parsed url { protocol: null,
19768 verbose parsed url slashes: null,
19768 verbose parsed url auth: null,
19768 verbose parsed url host: null,
19768 verbose parsed url port: null,
19768 verbose parsed url hostname: null,
19768 verbose parsed url hash: null,
19768 verbose parsed url search: null,
19768 verbose parsed url query: null,
19768 verbose parsed url pathname: '0.6.x',
19768 verbose parsed url path: '0.6.x',
19768 verbose parsed url href: '0.6.x' }
19769 verbose addNamed [ 'async', '0.6.x' ]
19770 verbose addNamed [ null, '>=0.6.0-0 <0.7.0-0' ]
19771 silly lockFile c244fe57-async-0-6-x async@0.6.x
19772 verbose lock async@0.6.x /Users/V1/.npm/c244fe57-async-0-6-x.lock
19773 verbose cache add [ 'fusing@0.2.x', null ]
19774 verbose cache add name=undefined spec="fusing@0.2.x" args=["fusing@0.2.x",null]
19775 verbose parsed url { protocol: null,
19775 verbose parsed url slashes: null,
19775 verbose parsed url auth: null,
19775 verbose parsed url host: null,
19775 verbose parsed url port: null,
19775 verbose parsed url hostname: null,
19775 verbose parsed url hash: null,
19775 verbose parsed url search: null,
19775 verbose parsed url query: null,
19775 verbose parsed url pathname: 'fusing@0.2.x',
19775 verbose parsed url path: 'fusing@0.2.x',
19775 verbose parsed url href: 'fusing@0.2.x' }
19776 verbose cache add name="fusing" spec="0.2.x" args=["fusing","0.2.x"]
19777 verbose parsed url { protocol: null,
19777 verbose parsed url slashes: null,
19777 verbose parsed url auth: null,
19777 verbose parsed url host: null,
19777 verbose parsed url port: null,
19777 verbose parsed url hostname: null,
19777 verbose parsed url hash: null,
19777 verbose parsed url search: null,
19777 verbose parsed url query: null,
19777 verbose parsed url pathname: '0.2.x',
19777 verbose parsed url path: '0.2.x',
19777 verbose parsed url href: '0.2.x' }
19778 verbose addNamed [ 'fusing', '0.2.x' ]
19779 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
19780 silly lockFile fbad7462-fusing-0-2-x fusing@0.2.x
19781 verbose lock fusing@0.2.x /Users/V1/.npm/fbad7462-fusing-0-2-x.lock
19782 silly addNameRange { name: 'async', range: '>=0.6.0-0 <0.7.0-0', hasData: false }
19783 silly addNameRange { name: 'fusing', range: '>=0.2.0-0 <0.3.0-0', hasData: false }
19784 verbose url raw fusing
19785 verbose url resolving [ 'https://registry.npmjs.org/', './fusing' ]
19786 verbose url resolved https://registry.npmjs.org/fusing
19787 info trying registry request attempt 1 at 11:49:53
19788 verbose etag "5GOHEU0ZVRAD7R2XYOLFZIVAI"
19789 http GET https://registry.npmjs.org/fusing
19790 verbose registry.get async not expired, no request
19791 silly addNameRange number 2 { name: 'async', range: '>=0.6.0-0 <0.7.0-0', hasData: true }
19792 silly addNameRange versions [ 'async',
19792 silly addNameRange [ '0.1.0',
19792 silly addNameRange '0.1.1',
19792 silly addNameRange '0.1.2',
19792 silly addNameRange '0.1.3',
19792 silly addNameRange '0.1.4',
19792 silly addNameRange '0.1.5',
19792 silly addNameRange '0.1.6',
19792 silly addNameRange '0.1.7',
19792 silly addNameRange '0.1.8',
19792 silly addNameRange '0.1.9',
19792 silly addNameRange '0.1.10',
19792 silly addNameRange '0.1.11',
19792 silly addNameRange '0.1.12',
19792 silly addNameRange '0.1.13',
19792 silly addNameRange '0.1.14',
19792 silly addNameRange '0.1.15',
19792 silly addNameRange '0.1.16',
19792 silly addNameRange '0.1.17',
19792 silly addNameRange '0.1.18',
19792 silly addNameRange '0.1.19',
19792 silly addNameRange '0.1.20',
19792 silly addNameRange '0.1.21',
19792 silly addNameRange '0.1.22',
19792 silly addNameRange '0.2.0',
19792 silly addNameRange '0.2.1',
19792 silly addNameRange '0.2.2',
19792 silly addNameRange '0.2.3',
19792 silly addNameRange '0.2.4',
19792 silly addNameRange '0.2.5',
19792 silly addNameRange '0.2.6',
19792 silly addNameRange '0.2.7',
19792 silly addNameRange '0.2.8',
19792 silly addNameRange '0.2.9',
19792 silly addNameRange '0.2.10',
19792 silly addNameRange '0.3.0',
19792 silly addNameRange '0.4.0',
19792 silly addNameRange '0.4.1',
19792 silly addNameRange '0.5.0',
19792 silly addNameRange '0.6.0',
19792 silly addNameRange '0.6.1',
19792 silly addNameRange '0.6.2',
19792 silly addNameRange '0.7.0',
19792 silly addNameRange '0.8.0' ] ]
19793 verbose addNamed [ 'async', '0.6.2' ]
19794 verbose addNamed [ '0.6.2', '0.6.2' ]
19795 silly lockFile 54760cf8-async-0-6-2 async@0.6.2
19796 verbose lock async@0.6.2 /Users/V1/.npm/54760cf8-async-0-6-2.lock
19797 silly lockFile 54760cf8-async-0-6-2 async@0.6.2
19798 silly lockFile 54760cf8-async-0-6-2 async@0.6.2
19799 silly lockFile c244fe57-async-0-6-x async@0.6.x
19800 silly lockFile c244fe57-async-0-6-x async@0.6.x
19801 silly gunzTarPerm extractEntry lang/id.js
19802 silly gunzTarPerm extractEntry lang/ko.js
19803 silly gunzTarPerm extractEntry lang/lb.js
19804 silly gunzTarPerm extractEntry lang/lt.js
19805 silly gunzTarPerm extractEntry lang/lv.js
19806 silly gunzTarPerm extractEntry lang/mk.js
19807 silly gunzTarPerm extractEntry lang/hy-am.js
19808 silly gunzTarPerm extractEntry lang/ml.js
19809 silly gunzTarPerm extractEntry lang/hu.js
19810 silly gunzTarPerm extractEntry lang/mr.js
19811 silly gunzTarPerm extractEntry lang/hr.js
19812 silly gunzTarPerm extractEntry lang/ms-my.js
19813 silly gunzTarPerm extractEntry lang/hi.js
19814 silly gunzTarPerm extractEntry lang/nb.js
19815 silly gunzTarPerm extractEntry lang/he.js
19816 silly gunzTarPerm extractEntry lang/ne.js
19817 silly gunzTarPerm extractEntry lang/gl.js
19818 silly gunzTarPerm extractEntry lang/nl.js
19819 silly gunzTarPerm extractEntry lang/fr.js
19820 silly gunzTarPerm extractEntry lang/nn.js
19821 silly gunzTarPerm extractEntry lang/fr-ca.js
19822 silly gunzTarPerm extractEntry lang/pl.js
19823 silly gunzTarPerm extractEntry lang/fo.js
19824 silly gunzTarPerm extractEntry lang/pt-br.js
19825 silly gunzTarPerm extractEntry lang/fi.js
19826 silly gunzTarPerm extractEntry lang/pt.js
19827 silly gunzTarPerm extractEntry lang/fa.js
19828 silly gunzTarPerm extractEntry lang/ro.js
19829 silly gunzTarPerm extractEntry lang/eu.js
19830 silly gunzTarPerm extractEntry lang/ru.js
19831 silly gunzTarPerm extractEntry lang/et.js
19832 silly gunzTarPerm extractEntry lang/sk.js
19833 silly gunzTarPerm extractEntry lang/es.js
19834 silly gunzTarPerm extractEntry lang/sl.js
19835 silly gunzTarPerm extractEntry lang/eo.js
19836 silly gunzTarPerm extractEntry lang/sq.js
19837 silly gunzTarPerm extractEntry lang/en-gb.js
19838 silly gunzTarPerm extractEntry lang/sr-cyr.js
19839 silly lockFile ea400d94-9d64a2b41tmp-ce46d04d44cbpackage tar:///Users/V1/.npm/tmp_70f9d64a2b41tmp_ce46d04d44cbpackage
19840 silly lockFile ea400d94-9d64a2b41tmp-ce46d04d44cbpackage tar:///Users/V1/.npm/tmp_70f9d64a2b41tmp_ce46d04d44cbpackage
19841 silly lockFile 9eb12e60-87492-0-9492662299890071-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628987492-0.9492662299890071/tmp.tgz
19842 silly lockFile 9eb12e60-87492-0-9492662299890071-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628987492-0.9492662299890071/tmp.tgz
19843 silly gunzTarPerm extractEntry lang/en-ca.js
19844 silly gunzTarPerm extractEntry lang/sr.js
19845 silly gunzTarPerm extractEntry lang/en-au.js
19846 silly gunzTarPerm extractEntry lang/sv.js
19847 silly gunzTarPerm extractEntry lang/el.js
19848 silly gunzTarPerm extractEntry lang/ta.js
19849 silly gunzTarPerm extractEntry lang/de.js
19850 silly gunzTarPerm extractEntry lang/th.js
19851 silly gunzTarPerm extractEntry lang/da.js
19852 silly gunzTarPerm extractEntry lang/tl-ph.js
19853 silly lockFile 0c859dbc-it-github-com-nodejitsu-handbook git://github.com/nodejitsu/handbook
19854 silly lockFile 0c859dbc-it-github-com-nodejitsu-handbook git://github.com/nodejitsu/handbook
19855 silly gunzTarPerm extractEntry lang/cy.js
19856 silly gunzTarPerm extractEntry lang/tr.js
19857 silly gunzTarPerm extractEntry lang/cv.js
19858 silly gunzTarPerm extractEntry lang/tzm-la.js
19859 silly gunzTarPerm extractEntry lang/cs.js
19860 silly gunzTarPerm extractEntry lang/tzm.js
19861 silly gunzTarPerm extractEntry lang/ca.js
19862 silly gunzTarPerm extractEntry lang/uk.js
19863 http 304 https://registry.npmjs.org/fusing
19864 silly registry.get cb [ 304,
19864 silly registry.get { date: 'Fri, 09 May 2014 09:49:53 GMT',
19864 silly registry.get server: 'Apache',
19864 silly registry.get via: '1.1 varnish',
19864 silly registry.get 'last-modified': 'Fri, 09 May 2014 09:49:53 GMT',
19864 silly registry.get 'cache-control': 'max-age=1',
19864 silly registry.get etag: '"5GOHEU0ZVRAD7R2XYOLFZIVAI"',
19864 silly registry.get 'x-served-by': 'cache-am76-AMS',
19864 silly registry.get 'x-cache': 'HIT',
19864 silly registry.get 'x-cache-hits': '1',
19864 silly registry.get 'x-timer': 'S1399628993.725805521,VS0,VE179',
19864 silly registry.get vary: 'Accept',
19864 silly registry.get 'content-length': '0',
19864 silly registry.get 'keep-alive': 'timeout=10, max=50',
19864 silly registry.get connection: 'Keep-Alive' } ]
19865 verbose etag fusing from cache
19866 silly gunzTarPerm extractEntry lang/bs.js
19867 silly gunzTarPerm extractEntry lang/uz.js
19868 silly addNameRange number 2 { name: 'fusing', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
19869 silly addNameRange versions [ 'fusing',
19869 silly addNameRange [ '0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.1.0', '0.2.0', '0.2.1' ] ]
19870 verbose addNamed [ 'fusing', '0.2.1' ]
19871 verbose addNamed [ '0.2.1', '0.2.1' ]
19872 silly lockFile 3a7aa843-fusing-0-2-1 fusing@0.2.1
19873 verbose lock fusing@0.2.1 /Users/V1/.npm/3a7aa843-fusing-0-2-1.lock
19874 silly lockFile 3a7aa843-fusing-0-2-1 fusing@0.2.1
19875 silly lockFile 3a7aa843-fusing-0-2-1 fusing@0.2.1
19876 silly lockFile fbad7462-fusing-0-2-x fusing@0.2.x
19877 silly lockFile fbad7462-fusing-0-2-x fusing@0.2.x
19878 silly gunzTarPerm extractEntry lang/br.js
19879 silly gunzTarPerm extractEntry lang/vi.js
19880 silly resolved [ { name: 'async',
19880 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
19880 silly resolved main: './lib/async',
19880 silly resolved author: { name: 'Caolan McMahon' },
19880 silly resolved version: '0.6.2',
19880 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
19880 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
19880 silly resolved licenses: [ [Object] ],
19880 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
19880 silly resolved jam: { main: 'lib/async.js', include: [Object] },
19880 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
19880 silly resolved readme: '# Async.js\n\n[![Build Status via Travis CI](https://travis-ci.org/caolan/async.png?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), 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. \n\nUsage:\n\n```html\n<script type="text/javascript" src="async.js"></script>\n<script type="text/javascript">\n\n async.map(data, asyncProcess, function(err, results){\n alert(results);\n });\n\n</script>\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* [`seq`](#seq)\n* [`applyEach`](#applyEach)\n* [`applyEachSeries`](#applyEachSeries)\n* [`queue`](#queue)\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<a name="forEach" />\n<a name="each" />\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 occured, 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 and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, function( file, callback) {\n \n // Perform operation on file here.\n console.log(\'Processing file \' + file);\n callback();\n\n if( file.length > 32 ) {\n console.log(\'This file name is too long\');\n callback(\'File name too long\');\n\n return;\n } else {\n console.log(\'File saved\');\n callback();\n }\n}, function(err){\n // if any of the saves 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<a name="forEachSeries" />\n<a name="eachSeries" />\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<a name="forEachLimit" />\n<a name="eachLimit" />\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 occured, 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<a name="map" />\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 this \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<a name="mapSeries" />\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<a name="mapLimit" />\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<a name="select" />\n<a name="filter" />\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<a name="selectSeries" />\n<a name="filterSeries" />\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<a name="reject" />\n### reject(arr, iterator, callback)\n\nThe opposite of [`filter`](#filter). Removes values that pass an `async` truth test.\n\n---------------------------------------\n\n<a name="rejectSeries" />\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<a name="reduce" />\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<a name="reduceRight" />\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<a name="detect" />\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<a name="detectSeries" />\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<a name="sortBy" />\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 //ascending order\n async.sortBy([1,9,3,5], function(x, callback){\n callback(err, x);\n }, function(err,result){\n //result callback\n } );\n\n //descending order\n async.sortBy([1,9,3,5], function(x, callback){\n callback(err, x*-1); //<- x*-1 instead of x, turns the order around\n }, function(err,result){\n //result callback\n } );\n\n\n---------------------------------------\n\n<a name="some" />\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<a name="every" />\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<a name="concat" />\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<a name="concatSeries" />\n### concatSeries(arr, iterator, callback)\n\nSame as [`concat`](#concat), but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name="series" />\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<a name="parallel" />\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<a name="parallelLimit" />\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<a name="whilst" />\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<a name="doWhilst" />\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<a name="until" />\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<a name="doUntil" />\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<a name="forever" />\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<a name="waterfall" />\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 \t// 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<a name="compose" />\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<a name="seq" />\n### seq(fn1, fn2...)\n\nVersion of the compose function that is more natural to read.\nEach following function consumes the return value of the latter function. \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 function handleError(err, data, callback) {\n if (err) {\n console.error(err);\n response.json({ status: \'error\', message: err.message });\n }\n else {\n callback(data);\n }\n }\n var User = request.models.User;\n asyc.seq(\n _.bind(User.get, User), // \'User.get\' has signature (id, callback(err, data))\n handleError,\n function(user, fn) {\n user.getCats(fn); // \'getCats\' has signature (callback(err, data))\n },\n handleError,\n function(cats) {\n response.json({ status: \'ok\', message: \'Cats found\', data: cats });\n }\n )(req.session.user_id);\n }\n});\n```\n\n---------------------------------------\n<a name="applyEach" />\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<a name="applyEachSeries" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as [`applyEach`](#applyEach) only the functions are applied in series.\n\n---------------------------------------\n\n<a name="queue" />\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* `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\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<a name="cargo" />\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<tasks.length; i++){\n console.log(\'hello \' + tasks[i].name);\n }\n callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\ncargo.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\ncargo.push({name: \'baz\'}, function (err) {\n console.log(\'finished processing baz\');\n});\n```\n\n---------------------------------------\n\n<a name="auto" />\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<a name="retry" />\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 successfull task. If all attemps fail, the callback will be passed the error and\nresult (if any) of the final attempt.\n\n__Arguments__\n\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<a name="iterator" />\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<a name="apply" />\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<a name="nextTick" />\n### nextTick(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<a name="times" />\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<a name="timesSeries" />\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<a name="memoize" />\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<a name="unmemoize" />\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<a name="log" />\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<a name="dir" />\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<a name="noConflict" />\n### noConflict()\n\nChanges the value of `async` back to its original value, returning a reference to the\n`async` object.\n',
19880 silly resolved readmeFilename: 'README.md',
19880 silly resolved homepage: 'https://github.com/caolan/async',
19880 silly resolved _id: 'async@0.6.2',
19880 silly resolved _shasum: '41fd038a3812c0a8bc1842ecf08ba63eb0392bef',
19880 silly resolved _from: 'async@0.6.x',
19880 silly resolved _resolved: 'https://registry.npmjs.org/async/-/async-0.6.2.tgz' },
19880 silly resolved { name: 'fusing',
19880 silly resolved version: '0.2.1',
19880 silly resolved description: 'Prototype fusion',
19880 silly resolved main: 'index.js',
19880 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
19880 silly resolved repository: { type: 'git', url: 'https://github.com/bigpipe/fusing' },
19880 silly resolved keywords:
19880 silly resolved [ 'fusing',
19880 silly resolved 'fusion',
19880 silly resolved 'bigpipe',
19880 silly resolved 'constructor',
19880 silly resolved 'prototype',
19880 silly resolved 'merge',
19880 silly resolved 'inherit',
19880 silly resolved 'base',
19880 silly resolved 'class' ],
19880 silly resolved author: { name: 'Arnout Kazemier' },
19880 silly resolved license: 'MIT',
19880 silly resolved bugs: { url: 'https://github.com/bigpipe/fusing/issues' },
19880 silly resolved homepage: 'https://github.com/bigpipe/fusing',
19880 silly resolved dependencies: { predefine: '0.1.x' },
19880 silly resolved devDependencies: { chai: '1.9.x', mocha: '1.18.x', 'pre-commit': '0.0.x' },
19880 silly resolved readme: '# fusing\n\n[![Build Status](https://travis-ci.org/bigpipe/fusing.png?branch=master)](https://travis-ci.org/bigpipe/fusing)\n\nFusing is a small library that creates the base class that is used in all of\n[bigpipe]\'s components. It takes care of:\n\n- Prototypical inheritance.\n- An API for adding `readable` and `writable` properties to these classes.\n- Adding default methods which are commonly used.\n- A `Backbone.extend` based extending of the prototypes.\n\n## Installation\n\nThe stable versions of this module are released in the npm registry and can be\ninstalled using:\n\n```\nnpm install --save fusing\n```\n\nThe `--save` tells `npm` to automatically save this dependency in your\n`package.json`.\n\n## Getting Started\n\nThe module is required just like any other module you use. It exposes a single\nfunction that takes care of all the merging.\n\n```js\n\'use strict\';\n\nvar fuse = require(\'fusing\');\n```\n\nAnd that is all we need to start with inheritance. When you want to have a class\ninherit from the `EventEmitter` you only need to pass in the class references:\n\n```js\nfunction Example() {\n\n}\n\nfuse(Example, require(\'events\').EventEmitter);\n```\n\nThis will tell `fuse` to use the `.prototype` of the `EventEmitter` for your\n`Example` class. In addition to that it has added a couple of function to your\nclass which makes it easier to setup the prototypes and extend Example again.\n\n### Example.readable\n\nOne of the functions that are added to your class is `readable` this allows you\nto easily specify which properties or methods on the `Example.prototype` are\n`read-only` and should never be overridden by other code. This is ideal for\nprotecting your private methods.\n\n```js\nExample.readable(\'config\', { foo: \'bar\' });\n```\n\nThe example above added the property `config` to the prototype with the foo/bar\nobject as value. If you wonder how this magic works, take a look a our\n[predefine] project for more details.\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n### Example.writable\n\nThis is the writable equivalent of the function above. This allows you to\nspecify properties on the prototype that are writable. The added benefit of this\nfunction is that your methods will not be enumerable (which is also true for all\nproperties/methods added using the `readable` function).\n\n```js\nExample.writable(\'property\', \'foo\');\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## Example.extend\n\nThis allows you to use the same `extend` functionality that you might be\naccustomed to with `Backbone` in your own classes:\n\n```js\nvar MyExample = Example.extend({\n method: function method() {\n console.log(\'my custom method\');\n },\n\n prop: 132\n});\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## Example.predefine\n\nAs it\'s sometimes useful to also create readable and writable properties when\nyour class is constructed, we decided to expose the `predefine` module on your\nclass. Which allows you use the same readable pattern again:\n\n```js\nfunction Example() {\n var writable = Example.predefine(this, Example.predefine.WRITABLE)\n , readable = Example.predefine(this);\n\n readable(\'private\', 134);\n readable(\'evn\', process.ENV.NODE_ENV || \'development\');\n writable(\'value\', 100);\n}\n\nfuse(Example, require(\'eventemitter3\'));\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## License\n\nMIT\n\n[bigpipe]: https://github.com/bigpipe/bigpipe\n[predefine]: https://github.com/bigpipe/predefine\n',
19880 silly resolved readmeFilename: 'README.md',
19880 silly resolved _id: 'fusing@0.2.1',
19880 silly resolved _shasum: '9033bb3ce72b488a95678755181726014b3233dc',
19880 silly resolved _from: 'fusing@0.2.x',
19880 silly resolved _resolved: 'https://registry.npmjs.org/fusing/-/fusing-0.2.1.tgz' } ]
19881 info install async@0.6.2 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses
19882 info install fusing@0.2.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses
19883 info installOne async@0.6.2
19884 info installOne fusing@0.2.1
19885 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/async unbuild
19886 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing unbuild
19887 verbose tar unpack /Users/V1/.npm/async/0.6.2/package.tgz
19888 silly lockFile 2d523a09-ules-licenses-node-modules-async tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/async
19889 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/async /Users/V1/.npm/2d523a09-ules-licenses-node-modules-async.lock
19890 silly lockFile feee9c65-s-V1-npm-async-0-6-2-package-tgz tar:///Users/V1/.npm/async/0.6.2/package.tgz
19891 verbose lock tar:///Users/V1/.npm/async/0.6.2/package.tgz /Users/V1/.npm/feee9c65-s-V1-npm-async-0-6-2-package-tgz.lock
19892 verbose tar unpack /Users/V1/.npm/fusing/0.2.1/package.tgz
19893 silly lockFile b2b16941-les-licenses-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing
19894 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing /Users/V1/.npm/b2b16941-les-licenses-node-modules-fusing.lock
19895 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
19896 verbose lock tar:///Users/V1/.npm/fusing/0.2.1/package.tgz /Users/V1/.npm/17ccbade--V1-npm-fusing-0-2-1-package-tgz.lock
19897 silly gunzTarPerm modes [ '755', '644' ]
19898 silly gunzTarPerm extractEntry lang/bg.js
19899 silly gunzTarPerm extractEntry lang/zh-cn.js
19900 silly gunzTarPerm modes [ '755', '644' ]
19901 silly gunzTarPerm extractEntry package.json
19902 silly gunzTarPerm extractEntry package.json
19903 silly gunzTarPerm extractEntry README.md
19904 silly gunzTarPerm extractEntry LICENSE
19905 silly gunzTarPerm extractEntry .travis.yml
19906 silly gunzTarPerm extractEntry component.json
19907 silly gunzTarPerm extractEntry lib/async.js
19908 silly gunzTarPerm extractEntry .npmignore
19909 silly gunzTarPerm extractEntry README.md
19910 silly gunzTarPerm extractEntry lang/ar.js
19911 silly gunzTarPerm extractEntry lang/zh-tw.js
19912 silly gunzTarPerm extractEntry index.js
19913 silly gunzTarPerm extractEntry .travis.yml
19914 silly gunzTarPerm extractEntry lang/km.js
19915 silly gunzTarPerm extractEntry component.json
19916 silly gunzTarPerm extractEntry test/fuse.test.js
19917 silly gunzTarPerm extractEntry test/mocha.opts
19918 silly gunzTarPerm extractEntry CONTRIBUTING.md
19919 silly gunzTarPerm extractEntry .vimrc-local
19920 silly gunzTarPerm extractEntry .travis.yml
19921 silly gunzTarPerm extractEntry readme.md
19922 silly gunzTarPerm extractEntry sauce_connect.log
19923 silly gunzTarPerm extractEntry tasks/check_sauce_creds.js
19924 silly gunzTarPerm extractEntry tasks/component.js
19925 silly gunzTarPerm extractEntry tasks/embed_languages.js
19926 silly gunzTarPerm extractEntry tasks/history.js
19927 silly gunzTarPerm extractEntry tasks/size.js
19928 silly lockFile b2b16941-les-licenses-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing
19929 silly lockFile b2b16941-les-licenses-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing
19930 silly gunzTarPerm extractEntry tasks/zones.js
19931 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
19932 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
19933 info preinstall fusing@0.2.1
19934 verbose readDependencies using package.json deps
19935 verbose readDependencies using package.json deps
19936 verbose cache add [ 'predefine@0.1.x', null ]
19937 verbose cache add name=undefined spec="predefine@0.1.x" args=["predefine@0.1.x",null]
19938 verbose parsed url { protocol: null,
19938 verbose parsed url slashes: null,
19938 verbose parsed url auth: null,
19938 verbose parsed url host: null,
19938 verbose parsed url port: null,
19938 verbose parsed url hostname: null,
19938 verbose parsed url hash: null,
19938 verbose parsed url search: null,
19938 verbose parsed url query: null,
19938 verbose parsed url pathname: 'predefine@0.1.x',
19938 verbose parsed url path: 'predefine@0.1.x',
19938 verbose parsed url href: 'predefine@0.1.x' }
19939 verbose cache add name="predefine" spec="0.1.x" args=["predefine","0.1.x"]
19940 verbose parsed url { protocol: null,
19940 verbose parsed url slashes: null,
19940 verbose parsed url auth: null,
19940 verbose parsed url host: null,
19940 verbose parsed url port: null,
19940 verbose parsed url hostname: null,
19940 verbose parsed url hash: null,
19940 verbose parsed url search: null,
19940 verbose parsed url query: null,
19940 verbose parsed url pathname: '0.1.x',
19940 verbose parsed url path: '0.1.x',
19940 verbose parsed url href: '0.1.x' }
19941 verbose addNamed [ 'predefine', '0.1.x' ]
19942 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
19943 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
19944 verbose lock predefine@0.1.x /Users/V1/.npm/74815840-predefine-0-1-x.lock
19945 silly addNameRange { name: 'predefine',
19945 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
19945 silly addNameRange hasData: false }
19946 verbose url raw predefine
19947 verbose url resolving [ 'https://registry.npmjs.org/', './predefine' ]
19948 verbose url resolved https://registry.npmjs.org/predefine
19949 info trying registry request attempt 1 at 11:49:53
19950 verbose etag "1L9C1WWHBWYD42BH7XV3IVGEM"
19951 http GET https://registry.npmjs.org/predefine
19952 silly lockFile 2d523a09-ules-licenses-node-modules-async tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/async
19953 silly lockFile 2d523a09-ules-licenses-node-modules-async tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/async
19954 silly lockFile feee9c65-s-V1-npm-async-0-6-2-package-tgz tar:///Users/V1/.npm/async/0.6.2/package.tgz
19955 silly lockFile feee9c65-s-V1-npm-async-0-6-2-package-tgz tar:///Users/V1/.npm/async/0.6.2/package.tgz
19956 info preinstall async@0.6.2
19957 verbose readDependencies using package.json deps
19958 verbose readDependencies using package.json deps
19959 silly resolved []
19960 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/async
19961 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/async
19962 verbose linkStuff [ false,
19962 verbose linkStuff false,
19962 verbose linkStuff false,
19962 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules' ]
19963 info linkStuff async@0.6.2
19964 verbose linkBins async@0.6.2
19965 verbose linkMans async@0.6.2
19966 verbose rebuildBundles async@0.6.2
19967 info install async@0.6.2
19968 info postinstall async@0.6.2
19969 silly lockFile 31da8957-ers-V1-npm-pagelet-0-3-3-package tar:///Users/V1/.npm/pagelet/0.3.3/package
19970 silly lockFile 31da8957-ers-V1-npm-pagelet-0-3-3-package tar:///Users/V1/.npm/pagelet/0.3.3/package
19971 silly lockFile b3272d85-81855-0-5620355028659105-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628981855-0.5620355028659105/tmp.tgz
19972 silly lockFile b3272d85-81855-0-5620355028659105-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628981855-0.5620355028659105/tmp.tgz
19973 silly lockFile 768c06d0-js-org-pagelet-pagelet-0-3-3-tgz https://registry.npmjs.org/pagelet/-/pagelet-0.3.3.tgz
19974 silly lockFile 768c06d0-js-org-pagelet-pagelet-0-3-3-tgz https://registry.npmjs.org/pagelet/-/pagelet-0.3.3.tgz
19975 silly lockFile cec7fb83-pagelet-0-3-3 pagelet@0.3.3
19976 silly lockFile cec7fb83-pagelet-0-3-3 pagelet@0.3.3
19977 silly lockFile bc581232-pagelet-0-3-x pagelet@0.3.x
19978 silly lockFile bc581232-pagelet-0-3-x pagelet@0.3.x
19979 silly lockFile c76b2928-pagelet-0-3-3 pagelet@~0.3.3
19980 silly lockFile c76b2928-pagelet-0-3-3 pagelet@~0.3.3
19981 silly lockFile a03f4def-pagelet-0-3-0 pagelet@~0.3.0
19982 silly lockFile a03f4def-pagelet-0-3-0 pagelet@~0.3.0
19983 silly resolved [ { name: 'eventemitter3',
19983 silly resolved version: '0.1.2',
19983 silly resolved description: 'EventEmitter3 focuses on performance while maintaining a Node.js AND browser compatible interface. This the source of the same EventEmitter that is used in Primus.',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts: { test: 'NODE_ENV=testing ./node_modules/.bin/mocha $(find test -name \'*.test.js\')' },
19983 silly resolved repository:
19983 silly resolved { type: 'git',
19983 silly resolved url: 'git://github.com/3rd-Eden/EventEmitter3.git' },
19983 silly resolved keywords:
19983 silly resolved [ 'EventEmitter',
19983 silly resolved 'EventEmitter2',
19983 silly resolved 'EventEmitter3',
19983 silly resolved 'Events',
19983 silly resolved 'reactor',
19983 silly resolved 'pub/sub',
19983 silly resolved 'publish',
19983 silly resolved 'subscribe',
19983 silly resolved 'event',
19983 silly resolved 'emitter',
19983 silly resolved 'addListener',
19983 silly resolved 'addEventListener' ],
19983 silly resolved author: { name: 'Arnout Kazemier' },
19983 silly resolved license: 'MIT',
19983 silly resolved bugs: { url: 'https://github.com/3rd-Eden/EventEmitter3/issues' },
19983 silly resolved devDependencies: { mocha: '1.18.x', 'pre-commit': '0.0.x', chai: '1.9.x' },
19983 silly resolved readme: '# EventEmitter3\n\nEventEmitter3 is a faster alternative to EventEmitter2 and the build-in\nEventEmitter that ships within Node.js. It removes some features that you might\nnot need:\n\n- Domain support.\n- Thrown errors when there are no error listeners specified.\n- That a `newListener` event is emitted when an event is emitted.\n- No silly `setMaxListeners`.\n- No silly `listenerCount` function.. Just do `EventEmitter.listeners(event).length`\n\nAnd adds some features you want:\n\n- Emit events with a custom context without binding: `EE.on(event, fn, context)`\n which also works with once `EE.once(event, fn, context)`\n\nIt\'s a drop in replacement of your existing EventEmitters, but just faster. Free\nperformance, who wouldn\'t want that.\n\nThe source of the EventEmitter is compatible for browser usage, no fancy pancy\n`Array.isArray` stuff is used, it\'s just plain ol JavaScript that should even\nwork IE5 if you want to. This module currently serves it\'s use in\n[Primus](http://github.com/primus/primus)\'s client file.\n\n## Installation\n\n```bash\n$ npm install --save eventemitter3\n```\nor as a [component](http://component.io)\n\n```bash\n$ component install eventemitter3\n```\n\nthen\n\n```js\nvar EventEmitter = require(\'eventemitter3\');\n\n// or\n\nvar EventEmitter = require(\'eventemitter3\').EventEmitter;\n```\n\nFor API methods see the official Node.js documentation: \n\nhttp://nodejs.org/api/events.html\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved homepage: 'https://github.com/3rd-Eden/EventEmitter3',
19983 silly resolved _id: 'eventemitter3@0.1.2',
19983 silly resolved _shasum: '4ede96d72b971a217987df4f1d4ca54dd8d20b79',
19983 silly resolved _from: 'eventemitter3@0.1.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.2.tgz' },
19983 silly resolved { name: 'fusing',
19983 silly resolved version: '0.2.1',
19983 silly resolved description: 'Prototype fusion',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
19983 silly resolved repository: { type: 'git', url: 'https://github.com/bigpipe/fusing' },
19983 silly resolved keywords:
19983 silly resolved [ 'fusing',
19983 silly resolved 'fusion',
19983 silly resolved 'bigpipe',
19983 silly resolved 'constructor',
19983 silly resolved 'prototype',
19983 silly resolved 'merge',
19983 silly resolved 'inherit',
19983 silly resolved 'base',
19983 silly resolved 'class' ],
19983 silly resolved author: { name: 'Arnout Kazemier' },
19983 silly resolved license: 'MIT',
19983 silly resolved bugs: { url: 'https://github.com/bigpipe/fusing/issues' },
19983 silly resolved homepage: 'https://github.com/bigpipe/fusing',
19983 silly resolved dependencies: { predefine: '0.1.x' },
19983 silly resolved devDependencies: { chai: '1.9.x', mocha: '1.18.x', 'pre-commit': '0.0.x' },
19983 silly resolved readme: '# fusing\n\n[![Build Status](https://travis-ci.org/bigpipe/fusing.png?branch=master)](https://travis-ci.org/bigpipe/fusing)\n\nFusing is a small library that creates the base class that is used in all of\n[bigpipe]\'s components. It takes care of:\n\n- Prototypical inheritance.\n- An API for adding `readable` and `writable` properties to these classes.\n- Adding default methods which are commonly used.\n- A `Backbone.extend` based extending of the prototypes.\n\n## Installation\n\nThe stable versions of this module are released in the npm registry and can be\ninstalled using:\n\n```\nnpm install --save fusing\n```\n\nThe `--save` tells `npm` to automatically save this dependency in your\n`package.json`.\n\n## Getting Started\n\nThe module is required just like any other module you use. It exposes a single\nfunction that takes care of all the merging.\n\n```js\n\'use strict\';\n\nvar fuse = require(\'fusing\');\n```\n\nAnd that is all we need to start with inheritance. When you want to have a class\ninherit from the `EventEmitter` you only need to pass in the class references:\n\n```js\nfunction Example() {\n\n}\n\nfuse(Example, require(\'events\').EventEmitter);\n```\n\nThis will tell `fuse` to use the `.prototype` of the `EventEmitter` for your\n`Example` class. In addition to that it has added a couple of function to your\nclass which makes it easier to setup the prototypes and extend Example again.\n\n### Example.readable\n\nOne of the functions that are added to your class is `readable` this allows you\nto easily specify which properties or methods on the `Example.prototype` are\n`read-only` and should never be overridden by other code. This is ideal for\nprotecting your private methods.\n\n```js\nExample.readable(\'config\', { foo: \'bar\' });\n```\n\nThe example above added the property `config` to the prototype with the foo/bar\nobject as value. If you wonder how this magic works, take a look a our\n[predefine] project for more details.\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n### Example.writable\n\nThis is the writable equivalent of the function above. This allows you to\nspecify properties on the prototype that are writable. The added benefit of this\nfunction is that your methods will not be enumerable (which is also true for all\nproperties/methods added using the `readable` function).\n\n```js\nExample.writable(\'property\', \'foo\');\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## Example.extend\n\nThis allows you to use the same `extend` functionality that you might be\naccustomed to with `Backbone` in your own classes:\n\n```js\nvar MyExample = Example.extend({\n method: function method() {\n console.log(\'my custom method\');\n },\n\n prop: 132\n});\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## Example.predefine\n\nAs it\'s sometimes useful to also create readable and writable properties when\nyour class is constructed, we decided to expose the `predefine` module on your\nclass. Which allows you use the same readable pattern again:\n\n```js\nfunction Example() {\n var writable = Example.predefine(this, Example.predefine.WRITABLE)\n , readable = Example.predefine(this);\n\n readable(\'private\', 134);\n readable(\'evn\', process.ENV.NODE_ENV || \'development\');\n writable(\'value\', 100);\n}\n\nfuse(Example, require(\'eventemitter3\'));\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## License\n\nMIT\n\n[bigpipe]: https://github.com/bigpipe/bigpipe\n[predefine]: https://github.com/bigpipe/predefine\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved _id: 'fusing@0.2.1',
19983 silly resolved _shasum: '9033bb3ce72b488a95678755181726014b3233dc',
19983 silly resolved _from: 'fusing@0.2.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/fusing/-/fusing-0.2.1.tgz' },
19983 silly resolved { name: 'mkdirp',
19983 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
19983 silly resolved version: '0.4.2',
19983 silly resolved author:
19983 silly resolved { name: 'James Halliday',
19983 silly resolved email: 'mail@substack.net',
19983 silly resolved url: 'http://substack.net' },
19983 silly resolved main: './index',
19983 silly resolved keywords: [ 'mkdir', 'directory' ],
19983 silly resolved repository:
19983 silly resolved { type: 'git',
19983 silly resolved url: 'https://github.com/substack/node-mkdirp.git' },
19983 silly resolved scripts: { test: 'tap test/*.js' },
19983 silly resolved dependencies: { minimist: '0.0.8' },
19983 silly resolved devDependencies: { tap: '~0.4.0' },
19983 silly resolved bin: { mkdirp: 'bin/cmd.js' },
19983 silly resolved license: 'MIT',
19983 silly resolved 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# usage\n\nThis package also ships with a `mkdirp` command.\n\n```\nusage: mkdirp [DIR1,DIR2..] {OPTIONS}\n\n Create each supplied directory including any necessary parent directories that\n don\'t yet exist.\n \n If the directory already exists, do nothing.\n\nOPTIONS are:\n\n -m, --mode If a directory needs to be created, set the mode as an octal\n permission string.\n\n```\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\nto get the library, or\n\n```\nnpm install -g mkdirp\n```\n\nto get the command.\n\n# license\n\nMIT\n',
19983 silly resolved readmeFilename: 'readme.markdown',
19983 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
19983 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
19983 silly resolved _id: 'mkdirp@0.4.2',
19983 silly resolved _shasum: '427c8c18ece398b932f6f666f4e1e5b7740e78c8',
19983 silly resolved _from: 'mkdirp@0.4.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.4.2.tgz' },
19983 silly resolved { name: 'routable',
19983 silly resolved version: '0.0.2',
19983 silly resolved description: 'Route matching and testing, nothing more than that. As simple as it could be.',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts: { test: 'make test' },
19983 silly resolved repository: '',
19983 silly resolved keywords: [ 'route', 'router', 'routing', 'routable', 'routed' ],
19983 silly resolved author: { name: 'Arnout Kazemier' },
19983 silly resolved license: 'MIT',
19983 silly resolved dependencies: { extendable: '0.0.x', xregexp: '2.0.x' },
19983 silly resolved devDependencies:
19983 silly resolved { mocha: '1.12.x',
19983 silly resolved chai: '1.7.x',
19983 silly resolved dox: '0.4.x',
19983 silly resolved ejs: '0.8.x',
19983 silly resolved 'pre-commit': '0.0.x' },
19983 silly resolved readme: '# Routable\n\n[![Build Status](https://travis-ci.org/3rd-Eden/routable.png)](https://travis-ci.org/3rd-Eden/routable)\n\nRoutable is a lightweight route parser for Node.js. It\'s primary focus is to\nparse routes, and that\'s it. It\'s modeled against the RegExp instance so it\'s\nusage feels really natural to developers.\n\n### Installation\n\nInstallation is done through `npm`:\n\n```\nnpm instal --save routable\n```\n\n### Getting Started\n\nInclude module in your application:\n\n```js\nvar Route = require(\'routable\');\n```\n\nCreate a new `Route` instance with an URL we need to match against:\n\n```js\nvar route = new Route(\'/foo\');\n```\n\nTo learn more about the API, please visit the API documentation:\n\n- https://github.com/3rd-Eden/routable/blob/master/docs/README.md\n\n## License\n\nMIT\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved _id: 'routable@0.0.2',
19983 silly resolved _shasum: 'c6f2bd408cec246d740d066579b764627588b5cb',
19983 silly resolved _from: 'routable@0.0.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/routable/-/routable-0.0.2.tgz' },
19983 silly resolved { name: 'trailers',
19983 silly resolved version: '0.0.1',
19983 silly resolved description: 'Automatically defer all written headers to Trailing headers after the headers have been writen.',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
19983 silly resolved keywords: [ 'headers', 'trailing', 'trailer' ],
19983 silly resolved repository: { type: 'git', url: 'git://github.com/3rd-Eden/trailers.git' },
19983 silly resolved author: { name: 'Arnout Kazemier' },
19983 silly resolved license: 'MIT',
19983 silly resolved devDependencies:
19983 silly resolved { 'pre-commit': '0.0.x',
19983 silly resolved mocha: '1.17.x',
19983 silly resolved chai: '1.8.x',
19983 silly resolved request: '~2.31.0' },
19983 silly resolved readme: '# Trailers\n\n[![Build Status](https://travis-ci.org/3rd-Eden/trailers.png?branch=master)](https://travis-ci.org/3rd-Eden/trailers)\n\nHTTP is amazing, it has amazing features that most of us aren\'t using. One of\nthese features are trailing headers. These are headers that can be send after\nyou\'ve already written your initial HTTP headers. The only caveat is that they\nonly work with `transfer-encoding: chunked`, luckly, this is enabled by default\nin Nodejs.\n\n## Installation\n\nThe module can be downloaded from the npm registry:\n\n```\nnpm install --save trailers\n```\n\nThe `--save` tells `npm` to automatically add the installed version to your\n`package.json`\n\n## Usage\n\nWhen using this module, nothing changes how you and program your Node.js\napplications. The only difference is that you can write headers AFTER you\'ve\nwritten the headers of your response. You can still use `res.setHeaders` just\nlike you would normally do.\n\nTo run this module simply include it in your application:\n\n```js\nrequire(\'trailers\');\n```\n\nThat\'s it. Everything is magically fixed.\n\n## The magic\n\nThe module overrides the prototypes of the `OutgoingMessage` class in Node.js\nwhich is what you get a `Response` object in a HTTP server. The `setHeader`\nmethod is overridden method to check if the headers are already flushed to the\nclient and queues the headers in a new `trailers` object when they are already\nwritten. We override the `end` method so we can flush these headers using the\n`addTrailers` method.\n\n## License\n\nMIT\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved bugs: { url: 'https://github.com/3rd-Eden/trailers/issues' },
19983 silly resolved homepage: 'https://github.com/3rd-Eden/trailers',
19983 silly resolved _id: 'trailers@0.0.1',
19983 silly resolved _shasum: '368cbcc2929f9ddfbd22e583fae85525e8b92ccb',
19983 silly resolved _from: 'trailers@0.0.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/trailers/-/trailers-0.0.1.tgz' },
19983 silly resolved { name: 'substream',
19983 silly resolved version: '0.0.2',
19983 silly resolved description: 'Volatile namespaces for Primus',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts: { test: 'NODE_ENV=testing ./node_modules/.bin/mocha $(find test -name \'*.test.js\')' },
19983 silly resolved keywords: [ 'primus', 'multiplex', 'channel', 'namespace' ],
19983 silly resolved author: { name: 'Arnout Kazemier' },
19983 silly resolved license: 'MIT',
19983 silly resolved dependencies: { load: '1.0.x' },
19983 silly resolved repository: { type: 'git', url: 'git://github.com/primus/substream.git' },
19983 silly resolved devDependencies:
19983 silly resolved { primus: 'git://github.com/primus/primus.git#master',
19983 silly resolved 'pre-commit': '0.0.x',
19983 silly resolved mocha: '1.13.x',
19983 silly resolved chai: '1.8.x',
19983 silly resolved ws: '0.4.x' },
19983 silly resolved readme: '# SubStream\n\n[![Build Status](https://travis-ci.org/primus/substream.png)](https://travis-ci.org/primus/substream)\n[![NPM version](https://badge.fury.io/js/substream.png)](http://badge.fury.io/js/substream)\n\nSubStream is a simple stream multiplexer for [Primus]. It allows you to create\nsimple message channels which only receive the information you send to it. These\nchannels are in fact, streams, which is why this module is called `SubStreams`\nbecause it adds small streams on top of the main stream and intercepts them.\n\n## Installation\n\n```bash\nnpm install --save substream\n```\n\nThe module can only be used in conjunction with [Primus] so make sure that your\napplication is using that as real-time backend.\n\n## Getting started\n\nIn all the code examples we assume that the following code is present:\n\n```js\n\'use strict\';\n\nvar Primus = require(\'primus\')\n , http = require(\'http\');\n\nvar server = http.createServer()\n , primus = new Primus(server);\n\n//\n// Custom code here, just above the listen call.\n//\n\nserver.listen(8080);\n```\n\nWhich is the most minimal bootstrapping code required to create a [Primus]\npowered server. Once you\'ve setup the server you need to add `SubStream` as\na plugin in to [Primus]:\n\n```js\n//\n// The `primus.use` method adds the plugin to primus. It requires a name in\n// order to easily retrieve it again, it needs to be unique but for the sake of\n// clairity, we\'re using to use substream as a name.\n//\nprimus.use(\'substream\', require(\'substream\'));\n```\n\nAfter you\'ve added plugins, you might want to re-compile the client library that\n[Primus] serves as it automatically the client-side plugin to the framework as\nwell as the custom `substream.js` library to create the actual name spaces. To\nsave the client just run:\n\n```js\nprimus.save(__dirname +\'/primus.js\');\n```\n\nBut this is only needed if you serve the file manually and not through the\nautomatically generated `/primus/primus.js` path. Now that we\'ve set everything\nup correctly we can start creating some substreams.\n\n### The client\n\nTo create or access a `substream` in the [Primus] client start off with making\na connection:\n\n```js\nvar primus = new Primus(\'http://<your url here:whateverportnumber>\');\n\nvar foo = primus.substream(\'foo\');\n```\n\nThe `substream` method automatically creates a namespaced stream if you didn\'t\ncreate it before. Or it will return your previously created stream when you call\nit again. So now we have a `foo` stream we can just write to it:\n\n```js\nfoo.write(\'data\');\n```\n\nAwesome, all works as intended. But this was just one single substream, we can\nadd more:\n\n```js\nvar bar = primus.substream(\'bar\')\n , baz = primus.substream(\'baz\');\n```\n\nYou can create an infinite amount substreams on top of one single base stream.\nThe data is not leaked between streams. It\'s all "sandboxed".\n\nAs the returned substreams are `streams` or `eventemitters` we can just listen\nto `data`, `end` or `close` events. But it also proxies all the other events\nthat [Primus] emits such as the `reconnect`, `offline` events etc. (The full\nlist is in the Primus README.md). So for receiving and writing data you can just\ndo:\n\n```js\nbar.on(\'data\', function () {\n\n});\n\nbar.write(\'hello from bar\');\n\nfoo.on(\'data\', function (data) {\n console.log(\'recieved data\', data);\n}).on(\'end\', function () {\n console.log(\'connection has closed or substream was closed\');\n});\n```\n\n### The server\n\nThe server portion of this module isn\'t that different than the client portion.\nIt follows the same API stream/eventemitter API:\n\n```js\nprimus.on(\'connection\', function (spark) {\n var foo = spark.substream(\'foo\')\n , bar = spark.substream(\'bar\')\n , baz = spark.substream(\'baz\');\n\n foo.on(\'data\', function (data) {\n console.log(\'foo received:\', data);\n });\n\n //\n // You can even pipe data\n //\n fs.createReadSteam(__dirname +/\'example.js\').pipe(bar, {\n end: false\n });\n\n //\n // To stop receiving data, simply end the substream:\n //\n baz.end();\n})\n```\n\n## License\n\nMIT\n\n[Primus]: http://github.com/primus/primus\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved bugs: { url: 'https://github.com/primus/substream/issues' },
19983 silly resolved homepage: 'https://github.com/primus/substream',
19983 silly resolved _id: 'substream@0.0.2',
19983 silly resolved _shasum: '358209864e6851939c5e0ee1f97692bc2e9684da',
19983 silly resolved _from: 'substream@0.0.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/substream/-/substream-0.0.2.tgz' },
19983 silly resolved { name: 'expirable',
19983 silly resolved version: '0.1.0',
19983 silly resolved description: 'Expirable cache',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts: { test: 'make test' },
19983 silly resolved repository: '',
19983 silly resolved keywords:
19983 silly resolved [ 'cache',
19983 silly resolved 'expire',
19983 silly resolved 'expires',
19983 silly resolved 'expirable',
19983 silly resolved 'store',
19983 silly resolved 'storage',
19983 silly resolved 'cows',
19983 silly resolved 'moo',
19983 silly resolved 'nodejs',
19983 silly resolved 'cached',
19983 silly resolved 'cacher',
19983 silly resolved 'caching',
19983 silly resolved 'expiring',
19983 silly resolved 'expiree' ],
19983 silly resolved author: { name: 'Arnout Kazemier' },
19983 silly resolved license: 'MIT',
19983 silly resolved devDependencies: { mocha: '1.4.x', chai: '1.2.x' },
19983 silly resolved readme: '# Expirable\n\nAutomatic expiring "cache" for Node.js. There must be tons of modules like\nthese, but I couldn\'t find anyone that suites my needs. Just something simple\nbut useful enought to transformed in to a module. Oh and the syntax is pretty as\nwell <3\n\n## API\n\n```js\nvar Expirable = require(\'expirable\');\n\n// all the keys you stuff in to the cache are saved for 5 minutes.\nvar cache = new Expirable(\'5 minutes\');\n\n// add a new item to the cache, expires in 5 minutes, as that is what we\n// configured above.\ncache.set(\'key\', value);\n\n// add item to the cache, but for 10 minutes.\ncache.set(\'key\', value, \'10 minutes\');\n\n// get item from the cache, this will automatically update the internal last\n// used value, so it will be expired after 5 minutes, without any interaction\nvalue = cache.get(\'key\');\n\n// same as above, except it will not touch the internal last used value and it\n// will expire 5 minutes after you have set it\nvalue = cache.get(\'key\', true);\n\n// check if a value exists\ncache.has(\'key\') ? \'yes\' : \'no\';\n\n// remove a key from the cache.\ncache.remove(\'key\');\n\n// when a key is removed from the cache it will emit an event for it. This is\n// useful when you want to re-cache an item again when it expires.\ncache.on(\'key:removed\', function (expired) {\n // The expired boolean tells you if the key was removed because it was expired\n // or if it was a manual removal\n});\n\n// update the expiree of a key\ncache.expire(\'key\', \'10 seconds\');\ncache.expire(\'kex\'); // alias for cache.remove, as it expired directly\n\n// stop the interal setinterval that scan for out of date keys\ncache.stop();\n\n// start it again.\ncache.start();\n\n// kill everything, nuke that motherfucker.\ncache.destroy();\n\n// Oh! so you want to store the output of a Stream? sure!\nvar stream = cache.stream(\'key\', fs.createReadStream(..), \'10 seconds\');\n\n// stream is the result of fs.createReadStream\n// once the stream fires it\'s `done` event, we will store the data.\n\n// iterate over the cache\ncache.forEach(function (key, value) {\n console.log(key, value);\n});\n```\n\n## License\n\nMIT\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved _id: 'expirable@0.1.0',
19983 silly resolved _shasum: '1645f898d9a3ce7b87aa0b033da624eaec5c2b51',
19983 silly resolved _from: 'expirable@0.1.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/expirable/-/expirable-0.1.0.tgz' },
19983 silly resolved { name: 'temper',
19983 silly resolved version: '0.1.9',
19983 silly resolved description: 'Temper compiles template for client and server side usage.',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts: { test: 'NODE_ENV=testing ./node_modules/.bin/mocha $(find test -name \'*.test.js\')' },
19983 silly resolved repository: { type: 'git', url: 'git://github.com/bigpipe/temper.git' },
19983 silly resolved keywords:
19983 silly resolved [ 'temper',
19983 silly resolved 'templating',
19983 silly resolved 'browser',
19983 silly resolved 'compile',
19983 silly resolved 'jade',
19983 silly resolved 'html',
19983 silly resolved 'hogan.js',
19983 silly resolved 'handlebars',
19983 silly resolved 'ejs' ],
19983 silly resolved author: { name: 'Arnout Kazemier' },
19983 silly resolved license: 'MIT',
19983 silly resolved devDependencies:
19983 silly resolved { chai: '1.9.x',
19983 silly resolved mocha: '1.18.x',
19983 silly resolved jade: '*',
19983 silly resolved 'hogan.js': '*',
19983 silly resolved handlebars: '*',
19983 silly resolved ejs: '*',
19983 silly resolved 'pre-commit': '0.0.x' },
19983 silly resolved readme: '# Temper\n\n[![Build Status](https://travis-ci.org/bigpipe/temper.png?branch=master)](https://travis-ci.org/bigpipe/temper)\n\nTemper is a small module that compiles your templates for server-side usage and\nclient-side usage through one single interface. This makes it easy to create\nisomorphic JavaScript applications, which is awesome.\n\nThe following template engines are supported:\n\n- **jade**, automatically discovered by using the `.jade` extension.\n- **ejs**, automatically discovered by using the `.ejs` extension.\n- **hogan.js**, automatically discovered by using the `.mustache` extension.\n- **mustache**, automatically discovered by using the `.mustache` extension.\n- **handlebars**, automatically discovered by using the `.mustache` extension.\n- **html**, automatically discovered by using the `.html` extension.\n\nAs you can see from the list above, we support multiple version engines for the\n`mustache` extension. You can supply your preference through the API. If no\npreference is given it will iterate over the template engines and the one that\nis successfully required will be used automatically.\n\n### Installation\n\nTemper is distributed through npm:\n\n```\nnpm install --save temper\n```\n\n### Usage\n\nTemper doesn\'t depend on any template engines so you need to install these your\nself. For these examples I\'m going to assume that you have `jade` installed as\ntemplate engine. Run `npm install --save jade` if this is not the case.\n\nInitialising temper is quite simple:\n\n```js\n\'use strict\';\n\nvar Temper = require(\'temper\')\n , temper = new Temper();\n```\n\nThe `Temper` constructor allows the following options:\n\n- `cache` should we cache the compiled template, this defaults to `true` if\n `NODE_ENV` is set to `production`. You usually want to have this disabled during\n development so you can see the changes in your template without having to\n restart your node process.\n\nThe following methods can be used to interact with `temper`:\n\n##### temper.prefetch(file, [engine])\n\nThe `temper.prefetch` method allows you to pre-compile your template file. This\nis advised as requiring modules and reading files is done synchronous. Simply\ncall this method with a file location and an option engine argument.\n\nTemper will try it\'s best to automatically discover template engines based on\nfile extensions, but sometimes this is impossible. There are tons of `mustache`\ncompatible template engines and we cannot figure out which one you want based on\nthe extension. But for template languages such as `jade` it\'s quite simple.\n\n```js\ntemper.prefetch(\'/file/path/to/template.jade\');\ntemper.prefetch(\'/file/path/to/template.mustache\', \'hogan.js\');\n```\n\n##### temper.fetch(file, [engine])\n\nThe `temper.fetch` method returns the `prefetched` template or it will compile\nit on the fly.\n\n```js\nvar data = temper.fetch(\'/file/path/to/template.jade\');\nvar data = temper.fetch(\'/file/path/to/template.mustache\', \'hogan.js\');\n```\n\n### Data structure\n\nThe fetch method returns an JavaScript object that contains the following\nproperties:\n\n<dl>\n <dt>library</dt>\n <dd>\n This is an optional property. Some of the supported engines require a helper\n library to be included at the client-side. If this property is not empty you\n should include this string together with your client side template on your\n page.\n </dd>\n\n <dt>client</dt>\n <dd>\n The client-side compatible version of your given template. This is already\n converted to a string for your convenience.\n </dd>\n \n <dt>server</dt>\n <dd>\n The server-side compatible version of your given template. It\'s a function\n that\'s ready to be used.\n </dd>\n \n <dt>engine</dt>\n <dd>\n The name of the template engine that was used to compile your template.\n </dd>\n</dl>\n\n### The interface\n\nThe resulting compiled template have a uniform interface. It\'s a function that\naccepts the template data as first argument and returns the generated template.\n\n```js\nvar template = temper.fetch(\'/file/path/to/template.jade\')\n , html = template({ foo: \'bar\' });\n\nconsole.log(html);\n```\n\n## License\n\nMIT\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved bugs: { url: 'https://github.com/bigpipe/temper/issues' },
19983 silly resolved homepage: 'https://github.com/bigpipe/temper',
19983 silly resolved _id: 'temper@0.1.9',
19983 silly resolved _shasum: 'bec36027884fd125e6db71b59f68ff7f0c0f7d9e',
19983 silly resolved _from: 'temper@0.1.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/temper/-/temper-0.1.9.tgz' },
19983 silly resolved { name: 'pipe.js',
19983 silly resolved version: '0.2.4',
19983 silly resolved description: 'The client-side library which is used in BigPipe to orchestrate the pagelets.',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts:
19983 silly resolved { build: 'npm run-script compile',
19983 silly resolved compile: 'browserify index.js -o dist/pipe.js --standalone BigPipe',
19983 silly resolved prepublish: 'npm run-script compile',
19983 silly resolved local: 'zuul --local 1337 -- test/pipe.test.js',
19983 silly resolved watch: 'watchify pipe/index.js -o dist/pipe.js --standalone BigPipe -v' },
19983 silly resolved repository: { type: 'git', url: 'git://github.com/bigpipe/pipe.js.git' },
19983 silly resolved keywords: [ 'BigPipe', 'pipe', 'pagelet', 'orchestrate', 'browserify' ],
19983 silly resolved dependencies: { eventemitter3: '0.1.x', fortress: '0.0.x', parsifal: '0.0.0' },
19983 silly resolved 'pre-commit': [ 'compile' ],
19983 silly resolved devDependencies:
19983 silly resolved { browserify: '3.0.x',
19983 silly resolved mocha: '1.14.x',
19983 silly resolved 'mocha-phantomjs': '3.2.x',
19983 silly resolved 'pre-commit': '0.0.x',
19983 silly resolved watchify: '0.5.x',
19983 silly resolved zuul: '1.0.x' },
19983 silly resolved author: { name: 'Arnout Kazemier' },
19983 silly resolved license: 'MIT',
19983 silly resolved bugs: { url: 'https://github.com/bigpipe/pipe.js/issues' },
19983 silly resolved homepage: 'http://bigpipe.io',
19983 silly resolved readme: '# Pipe\n\n`Pipe` is the client side component for the [BigPipe] framework. It orchestrates\nthe arrival of [pagelet]\'s on the page, loads all assets and setup the real-time\nconnections. It\'s the glue between the server and your own client code. While\nthis library is highly opinionated and developed against the features that are\nprovided in [BigPipe] we made sure that every piece of code is re-usable by the\ncommunity. We\'ve extracted various of components out of this library and\nreleased them as separate projects:\n\n- **[frames]**: A small function for creating and managing iframes in the DOM.\n- **[containerization]**: Containerization for front-end code.\n- **[alcatraz]**: Wraps and prepares front-end code for containerization.\n- **[fortress]**: The Docker of front-end applications. It provides a\n docker like API for controlling the containerization process of multiple\n snippets of code.\n\n## Installation\n\nThe code is released through npm, but it doesn\'t work in Node.js. We merely use\nit for dependency management.\n\n```\nnpm install --save pipe.js\n```\n\nWe assume that this code is loaded in an environment that has [primus] and it\'s\n[substream] plugin loaded.\n\n## Table of Contents\n\n**BigPipe instance**\n- [Configuration](#bigpipe-configuration)\n- [Events](#bigpipe-events)\n- [BigPipe.arrive()](#bigpipearrive)\n- [BigPipe.has()](#bigpipehas)\n- [BigPipe.remove()](#bigpiperemove)\n- [BigPipe.broadcast()](#bigpipebroadcast)\n\n**Pagelet instance**\n- [Configuration](#pagelet-configuration)\n- [Events](#pagelet-events)\n- [Pagelet.name](#pageletname)\n- [Pagelet.id](#pageletid)\n- [Pagelet.placeholders](#pageletplaceholders)\n- [Pagelet.destroy()](#pageletdestroy)\n- [Pagelet.submit()](#pageletsubmit)\n- [Pagelet.get()](#pageletget)\n- [Pagelet.broadcast()](#pageletbroadcast)\n- [Pagelet.$()](#pagelet)\n- [Pagelet.render()](#pageletrender)\n- [Pagelet.parse()](#pageletparse)\n- [Pagelet.listen()](#pageletlisten)\n- [Pagelet.processor()](#pageletprocessor)\n\n### BigPipe: Configuration\n\nThe code introduced to the page as an **`BigPipe`** global. The `BigPipe`\nconstructor accepts 2 arguments:\n\n1. Location of your BigPipe server. If nothing is provided it assumes that you\n want to connect to the current domain.\n2. Configuration or options of the BigPipe instance.\n\nThe following options are accepted:\n\n- **limit**: The amount of Pagelets instances we can re-use to reduce garbage\n collections. Defaults to `20`\n- **pagelets**: The amount of Pagelets we expect to be loaded on the page. This\n is used to determine the loading/progress of the page.\n- **id**: The `id` of the Page that we\'re loading.\n\nIn addition to the options listed above, all options that can be used to\nconfigure [primus] are also supported as this options object is directly passed\nto the Primus constructor. The only Primus option that is forced by us is the\n**manual** option. As we need to be in control of the opening of the real-time\nconnection.\n\n```js\nvar bigpipe = new BigPipe(undefined, { \n pagelets: 20,\n id: \'ADFASDF0E-2FADAF-24\'\n});\n```\n\nWhen a new BigPipe instance has been created it will automatically check the\n`documentElement` or `<html>` element for the presence of a `no_js` class. When\nthis class is found it will be automatically removed as JavaScript is obviously\nactive and working as intended. In addition to that we also append the class\n`pagelets-loading` to the element.\n\n### BigPipe: Events\n\nThe created `bigpipe` instance is an [EventEmitter3]. Events that are prefixed\nwith `<name>` indicates that the `<name>` is the name of the Pagelet that emits\nthis message.\n\nEvent | Receives | Description\n----------------------|----------------------------|--------------------------------\n`progress` | percentage, index, Pagelet | A new Pagelet has been loaded.\n`loaded` | | All Pagelets have been loaded.\n`create` | Pagelet | A new Pagelet has been created.\n`remove` | Pagelet | A pagelet has been removed.\n`<name>::error` | Pagelet, Error | We\'ve failed to load the Pagelet.\n`<name>::loaded` | Pagelet | All assets have been loaded.\n`<name>::configure` | Pagelet, Data object | Pagelet has been configured.\n`<name>::initialise` | Pagelet | Pagelet has been initialised.\n`<name>::render` | Pagelet, html | Rendered the HTML.\n`<name>::destroy` | Pagelet | Pagelet has been destroyed.\n\n### BigPipe#arrive\n\n**public**, _returns BigPipe_.\n\n```js\nbigpipe.arrive(\'pagelet name\', { data object });\n```\n\nWhen a new Pagelet has been pushed from the server to the client it should be\nannounced using this method. If we don\'t have a Pagelet for this name yet we\nwill automatically create a new Pagelet instance and assign it this name. After\nthe creation of this Pagelet we emit the `progress` event as new Pagelet has\nbeen loaded.\n\n```js\nbigpipe.on(\'progress\', function progress(percentage, index, pagelet) {\n console.log(\'loaded %s of %s pagelets. We are %s% loaded\', this.expected, index, percentage);\n});\n```\n\nBut also an `create` event:\n\n```js\nbigpipe.on(\'create\', function create(pagelet) {\n console.log(\'A new pagelet has been created\', pagelet.name);\n});\n```\n\nIf this was the last Pagelet that needed to be loaded we will also emit the\n`loaded` event:\n\n```js\nbigpipe.on(\'loaded\', function loaded() {\n console.log(\'All pagelets have been loaded.\');\n});\n```\n\nBut just because they have been loaded it doesn\'t mean that they all have been\nrendered as well as assets still need to be loaded.\n\nThe options that are provided will be passed in the Pagelet\'s configuration\nmethod so it can start fetching and rendering the newly received Pagelet. There\nis one property that is **required** to be present on the data object:\n\n- **processed**: A number that indicates how many pagelets the server has\n processed. This is used to determine if all Pagelets have been flushed from\n the server.\n\nPlease note that in the case of BigPipe this method call is automatically added\nat the bottom of the server response. So you don\'t need to manually invoke this.\n\n```js\nbigpipe.arrive("packages", {\n "id": "G1M3RAKQK4V7K3XR-SB00M199BR8DUNMI-9EJZKHLWHE5C23XR-LHXF7DD4SHHQ6W29",\n "css": ["/4200c15db55f69d6038332b69a9099b3d178242f.css"],\n "js": ["/97bdbe337bf705ff46b4476ed8a5b65b551106dd.js"],\n "rpc": ["autocomplete"],\n "authorized": true,\n "streaming": true,\n "remove": false,\n "processed": 1,\n "data": {}\n});\n```\n\n### BigPipe#has\n\n**public**, _returns boolean_.\n\n```js\nbigpipe.has(\'pagelet name\');\n```\n\nCheck if a Pagelet has already been loaded/received on the page.\n\n### BigPipe#remove\n\n**public**, _returns BigPipe_\n\n```js\nbigpipe.remove(\'pagelet name\');\n```\n\nRemoves a pagelet from our internal Pagelet object. The `remove` event is\nemitted before we actually destroy the pagelet that gets removed so you could do\nsome additional cleanup if needed. After the event is emitted we call the\n[Pagelet#destroy](#pageletdestroy) method and remove it from our internal\nreference.\n\n```js\nbigpipe.on(\'remove\', function (pagelet) {\n console.log(\'removed\', pagelet);\n});\n\nbigpipe.remove(\'pagelet name\');\n```\n\n### BigPipe#broadcast\n\n**public**, __returns BigPipe__\n\n```js\nbigpipe.broadcast(event, [args]);\n```\n\nBroadcast will emit the given event on every single added Pagelet instance.\n\n```js\nbigpipe.broadcast(\'hello\', \'world\');\nbigpipe.broadcast(\'foo bar\', \'multiple\', 1, \'args\', { no: \'problem\' });\n```\n### Pagelet: Configuration\n\nUnlike the `BigPipe` class you do not need to create instances of the Pagelet\nyour self. This is all orchestrated by the [BigPipe.arrive] method. The reason\nfor this is that it needs to have a reference to the BigPipe instance as well as\none to the created [Primus] connection so we can create a dedicated [substream]\nfor each pagelet.\n\n```js\nvar pagelet = new Pagelet(bigpipe);\n```\n\nThe Pagelet instances are simply allocated and returned to a pool so they can be\nre-used and improve garbage collection. The options it receives are applied\nevery time the `Pagelet.configuration` is called which again is done in the\nBigPipe.arrive method.\n\n```js\npagelet.configure(\'pagelet name\', { received data/options });\n```\n\nThe following options are accepted:\n\n- **id**: The `id` of the Pagelet that we\'re loading.\n- **remove**: Do we need to remove the placeholder from the DOM? You usually\n want to do this with optional pagelets that require authorization.\n- **css**: An array of CSS files that need to be loaded before we can display\n the Pagelet\'s HTML.\n- **js**: Array of JS files that need to be loaded before we can display the\n Pagelet\'s HTML.\n- **data**: Addition data that should be made available on the client. This is\n data that you\'ve selected using the\n [Pagelet.query](https://github.com/bigpipe/pagelet#pagelet-query) on the server.\n- **rpc**: An array of method names on the server which should be introduced on\n this Pagelet which will do RPC calls.\n- **timeout**: The maximum amount of milliseconds we should wait for all the\n Pagelets resources to be loaded. If it takes longer than this we assume a load\n failure.\n- **streaming**: Should we stream form submits to the server using our real-time\n connection.\n\nWhen the pagelet is configured it:\n\n01. Finds all placeholders for the given name based on the `data-pagelet=""`\n attribute on HTML elements.\n02. Stores the name as `.name` and `data.id` as `.id`.\n03. If `remove` as option is set. It will call `Pagelet.destroy(true)` so it\n removes the placeholder elements.\n04. It attaches `<form>` submit listeners so we re-route those requests over our\n real-time connection.\n05. Creates a [substream] with the Pagelet\'s name so we can multiplex multiple\n Pagelets over one single real-time connection.\n06. Stores some of the data properties.\n07. Generates methods from the given `rpc` array.\n08. Broadcasts the `configured` event.\n09. It loads all `css` and `js` files.\n10. When all assets have been loaded it will emit `loaded`\n11. We\'ll find the HTML that needs to be rendered using the `Pagelet.parse` and\n render it in the placeholders using `Pagelet.render(html)`\n12. The render method emits `render`.\n13. Finally everything is done and emit the `initialise` event.\n\nCongratulations you\'ve read through the whole configuration process of a\npagelet. Hopefully this makes everything a bit more clear on how they work.\n\n### Pagelet: Events\n\nThe created `Pagelet` instance is an [EventEmitter3]. The following events are\nemitted by the Pagelet:\n\nEvent | Receives | Description\n----------------------|----------------------------|--------------------------------\n`error` | Error | We\'ve failed to load the Pagelet.\n`loaded` | | All assets have been loaded.\n`configure` | Data object | Pagelet has been configured.\n`initialise` | | Pagelet has been initialised.\n`render` | html | Rendered the HTML.\n`destroy` | | Pagelet is about to be destroyed.\n\n### Pagelet.name\n\n**public**, __String__\n\nThe name of the Pagelet.\n\n### Pagelet.id\n\n**public**, __String__\n\nThe unique id of the Pagelet.\n\n### Pagelet.placeholders\n\n**public**, __Array__\n\nArray of placeholders HTML elements that had `data-pagelet` set to the Pagelet\'s\nname. When the pagelet is rendering all of these pagelets will have their HTML\nupdated.\n\n### Pagelet#destroy\n\n**public**, __returns Pagelet__.\n\n```js\npagelet.destroy(boolean);\n```\n\nDestroy the created Pagelet. If `true` as argument is given it will also remove\nthe placeholders the Pagelet was running in. Before we start with the\ndestruction process we emit an `destroy` event. This allows you clean up the\npagelet if needed.\n\n```js\npagelet.on(\'destroy\', function () {\n console.log(\'Pagelet\', this.name, \'has been destroyed\');\n});\n```\n\nAfter the event is emitted we:\n\n- Remove all the elements from the Pagelet placeholder.\n- If the `remove` boolean is given, the placeholder is also removed.\n- If `rpc` methods were added to the Pagelet, they are deleted.\n- Possible JavaScript sandboxes are cleared.\n- The pagelet is freed and returned to the Pagelet pool.\n\n### Pagelet#submit\n\n**public**, __returns Object__.\n\n```js\npagelet.submit(document.forms[0]);\n```\n\nSubmit the contents of the given form to Pagelet on the server using the\nreal-time connection. We extract the input/select/textarea/button elements from\nthe form and transform it an object. If you have selected a button/input we will\nfilter out elements with same name so it doesn\'t get overridden.\n\nWhen invoking this method we return the created object which was sent to the\nserver.\n\n```html\n<form id="foo" action="/foo", method="POST">\n <input name="foo" value="bar">\n</form>\n```\n\n```js\nvar data = pagelet.submit(document.getElementById(\'foo\'));\n\nconsole.log(data.foo) // "bar"\n```\n\n### Pagelet#get\n\n**public**, __returns Pagelet__.\n\n```js\npagelet.get();\n```\n\nRe-render the HTML which is retrieved from the server.\n\n### Pagelet#broadcast\n\n**public**, __returns Pagelet__.\n\n```js\npagelet.broadcast(\'eventname\', [ optional arguments ]);\n```\n\nBroadcast an event to this Pagelet instance as well as the BigPipe instance\nthat created the Pagelet. Before emitting the event on the BigPipe instance it\nprefixes the event with the name of the Pagelet and `::`. If the name of your\nPagelet is `foo` and you emit event `bar` the BigPipe instance will emit\n`foo::bar` as event.\n\n```js\npagelet.broadcast(\'foo\', \'bar\');\n```\n\n### Pagelet#$\n\n**public**, __returns Array__.\n\n```js\npagelet.$(\'data-pagelet\', \'foo\');\n```\n\nFind elements in the DOM based on the attribute name and it\'s value. If\n`querySelectorAll` is not supported in the browser we will fall back to a full\nDOM scan in order to get the correct elements. All items are added to an array.\nIf no matching elements are found the Array will be empty.\n\n### Pagelet#render\n\n**public**, __returns Boolean__.\n\n```js\npagelet.render(\'<strong>bigpipe ftw</strong>\');\n```\n\nInsert the given HTML in the placeholders. If there are elements in the\nplaceholder they will be removed first as it might be a good idea to display a\nloading message while we are still rendering or loading the resource from the\nserver. Once all HTML has been added to the placeholders we emit the `render`\nevent.\n\n```js\npagelet.render(\'foo\'); // true\npagelet.placeholders.length = 0;\npagelet.render(\'foo\'); // false\n```\n\n### Pagelet#parse\n\n**private**, __returns String__.\n\n```js\nvar prerendered = pagelet.parse();\n```\n\nParse the pre-rendered HTML template from the comment node that got injected in\nto our Page when the fragment was written. It\'s wrapped in a HTML comment so the\nbrowser doesn\'t spend any time parsing the contents of it. It searches for the\ncomment node based on the `name` property and searches for an element with an\n`data-pagelet-fragment` attribute.\n\n### Pagelet#listen\n\n**private**, __returns Pagelet__.\n\n```js\npagelet.listen();\n```\n\nThis **private** method attaches an `submit` listener to the placeholder so it\ncan intercept the POST/PUT/GET requests from a `<form>` and re-route them over the\nreal-time connection. If a `data-pagelet-async="false"` property is set on the\nform it will simply append `_pagelet=<name>` to the action as query string so the\nserver knows which pagelet has submitted this form.\n\nWhen the Pagelet emits `destroy` we will automatically remove the attached event\nlistener.\n\n### Pagelet#processor\n\n**private**, __returns Pagelet__.\n\n```js\npagelet.processor({ packet object });\n```\n\nThis **private** method processes the incoming messages from our [substream]. It\nhandles all the RPC calls, Event Emitting, HTML rendering and much more. There\nare many different types of packets that it can process. There a couple\nrequirements in order for us to process the data.\n\n- The received packets are objects.\n- Each packet contains a `type` property that indicates the type of package.\n\n```js\npagelet.processor({ type: \'event\', args: [\'eventname\', \'arg\', \'arg\' ]});\n```\n\n## License\n\nMIT\n\n[BigPipe]: https://bigpipe.io\n[pagelet]: https://github.com/bigpipe/pagelet\n[primus]: https://github.com/primus/primus\n[substream]: https://github.com/primus/substream\n[frames]: https://github.com/bigpipe/frames\n[containerization]: https://github.com/bigpipe/containerization\n[alcatraz]: https://github.com/bigpipe/alcatraz\n[fortress]: https://github.com/bigpipe/fortress\n[EventEmitter3]: https://github.com/3rd-Eden/EventEmitter3\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved _id: 'pipe.js@0.2.4',
19983 silly resolved _shasum: 'b550e23ce7180de4e3b654c30a390059f3dc055f',
19983 silly resolved _from: 'pipe.js@0.2.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/pipe.js/-/pipe.js-0.2.4.tgz' },
19983 silly resolved { name: 'smithy',
19983 silly resolved version: '0.5.0',
19983 silly resolved description: 'Preprocessing of CSS/JS meta-languages made easy through a singular API.',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts: { test: 'NODE_ENV=testing ./node_modules/.bin/mocha $(find test -name \'*.test.js\')' },
19983 silly resolved dependencies: { canihaz: '1.0.x' },
19983 silly resolved devDependencies: { chai: '1.9.x', mocha: '1.18.x', 'pre-commit': '0.0.x' },
19983 silly resolved canihaz:
19983 silly resolved { 'coffee-script': '1.7.x',
19983 silly resolved less: '1.7.x',
19983 silly resolved nib: '1.0.x',
19983 silly resolved 'node-sass': '0.8.x',
19983 silly resolved stylus: '0.42.x',
19983 silly resolved rework: '0.20.2' },
19983 silly resolved repository: { type: 'git', url: 'git://github.com/observing/smithy.git' },
19983 silly resolved keywords:
19983 silly resolved [ 'Preprocessing',
19983 silly resolved 'sass',
19983 silly resolved 'less',
19983 silly resolved 'stylus',
19983 silly resolved 'rework',
19983 silly resolved 'coffeescript',
19983 silly resolved 'CSS',
19983 silly resolved 'JS',
19983 silly resolved 'javascript' ],
19983 silly resolved author: { name: 'Martijn Swaagman' },
19983 silly resolved license: 'MIT',
19983 silly resolved bugs: { url: 'https://github.com/observing/smithy/issues' },
19983 silly resolved readme: '# Smithy\n\n[![Build\nStatus](https://travis-ci.org/observing/smithy.png)](https://travis-ci.org/observing/smithy)\n[![NPM\nversion](https://badge.fury.io/js/smithy.png)](http://badge.fury.io/js/smithy)\n\nPreprocessing of CSS/JS meta-languages made easy through a singular API. Smithy\nwill not install preprocessing libraries until required. This is done to keep\nthe module as lightweight as possible.\n\n## Advantages\n\n- Liberal use of different meta languages, smithy allows preprocessing each language\n through a singular API.\n- Quickly switch between available preprocessors, like node-sass vs. sass to\n accommodate your needs.\n\n## Installation\n\nSmithy is released in npm and can be installed using:\n\n```\nnpm install smithy --save\n```\n\n## License\n\nMIT\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved homepage: 'https://github.com/observing/smithy',
19983 silly resolved _id: 'smithy@0.5.0',
19983 silly resolved _shasum: '0c86326ed58fc9a3af78b7ed2303ceb60785ec0f',
19983 silly resolved _from: 'smithy@0.5.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/smithy/-/smithy-0.5.0.tgz' },
19983 silly resolved { name: 'formidable',
19983 silly resolved description: 'A node.js module for parsing form data, especially file uploads.',
19983 silly resolved homepage: 'https://github.com/felixge/node-formidable',
19983 silly resolved version: '1.0.14',
19983 silly resolved devDependencies:
19983 silly resolved { gently: '0.8.0',
19983 silly resolved findit: '0.1.1',
19983 silly resolved hashish: '0.0.4',
19983 silly resolved urun: '~0.0.6',
19983 silly resolved utest: '0.0.3',
19983 silly resolved request: '~2.11.4' },
19983 silly resolved directories: { lib: './lib' },
19983 silly resolved main: './lib/index',
19983 silly resolved scripts: { test: 'node test/run.js', clean: 'rm test/tmp/*' },
19983 silly resolved engines: { node: '>=0.8.0' },
19983 silly resolved repository:
19983 silly resolved { type: 'git',
19983 silly resolved url: 'git://github.com/felixge/node-formidable.git' },
19983 silly resolved bugs: { url: 'http://github.com/felixge/node-formidable/issues' },
19983 silly resolved optionalDependencies: {},
19983 silly resolved readme: '# Formidable\n\n[![Build Status](https://secure.travis-ci.org/felixge/node-formidable.png?branch=master)](http://travis-ci.org/felixge/node-formidable)\n\n## Purpose\n\nA node.js module for parsing form data, especially file uploads.\n\n## Current status\n\nThis module was developed for [Transloadit](http://transloadit.com/), a service focused on uploading\nand encoding images and videos. It has been battle-tested against hundreds of GB of file uploads from\na large variety of clients and is considered production-ready.\n\n## Features\n\n* Fast (~500mb/sec), non-buffering multipart parser\n* Automatically writing file uploads to disk\n* Low memory footprint\n* Graceful error handling\n* Very high test coverage\n\n## Installation\n\nVia [npm](http://github.com/isaacs/npm):\n```\nnpm install formidable@latest\n```\nManually:\n```\ngit clone git://github.com/felixge/node-formidable.git formidable\nvim my.js\n# var formidable = require(\'./formidable\');\n```\n\nNote: Formidable requires [gently](http://github.com/felixge/node-gently) to run the unit tests, but you won\'t need it for just using the library.\n\n## Example\n\nParse an incoming file upload.\n```javascript\nvar formidable = require(\'formidable\'),\n http = require(\'http\'),\n util = require(\'util\');\n\nhttp.createServer(function(req, res) {\n if (req.url == \'/upload\' && req.method.toLowerCase() == \'post\') {\n // parse a file upload\n var form = new formidable.IncomingForm();\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 \'<form action="/upload" enctype="multipart/form-data" method="post">\'+\n \'<input type="text" name="title"><br>\'+\n \'<input type="file" name="upload" multiple="multiple"><br>\'+\n \'<input type="submit" value="Upload">\'+\n \'</form>\'\n );\n}).listen(8080);\n```\n## API\n\n### Formidable.IncomingForm\n```javascript\nvar form = new formidable.IncomingForm()\n```\nCreates a new incoming form.\n\n```javascript\nform.encoding = \'utf-8\';\n```\nSets encoding for incoming form fields.\n\n```javascript\nform.uploadDir = process.env.TMP || process.env.TMPDIR || process.env.TEMP || \'/tmp\' || process.cwd();\n```\nThe directory for placing file uploads in. You can move them later on using\n`fs.rename()`. The default directory is picked at module load time depending on\nthe first existing directory from those listed above.\n\n```javascript\nform.keepExtensions = false;\n```\nIf you want the files written to `form.uploadDir` to include the extensions of the original files, set this property to `true`.\n\n```javascript\nform.type\n```\nEither \'multipart\' or \'urlencoded\' depending on the incoming request.\n\n```javascript\nform.maxFieldsSize = 2 * 1024 * 1024;\n```\nLimits the amount of memory a field (not file) can allocate in bytes.\nIf this value is exceeded, an `\'error\'` event is emitted. The default\nsize is 2MB.\n\n```javascript\nform.maxFields = 0;\n```\nLimits the number of fields that the querystring parser will decode. Defaults\nto 0 (unlimited).\n\n```javascript\nform.hash = false;\n```\nIf you want checksums calculated for incoming files, set this to either `\'sha1\'` or `\'md5\'`.\n\n```javascript\nform.bytesReceived\n```\nThe amount of bytes received for this form so far.\n\n```javascript\nform.bytesExpected\n```\nThe expected number of bytes in this form.\n\n```javascript\nform.parse(request, [cb]);\n```\nParses an incoming node.js `request` containing form data. If `cb` is provided, all fields an files are collected and passed to the callback:\n\n\n```javascript\nform.parse(req, function(err, fields, files) {\n // ...\n});\n\nform.onPart(part);\n```\nYou may overwrite this method if you are interested in directly accessing the multipart stream. Doing so will disable any `\'field\'` / `\'file\'` events processing which would occur otherwise, making you fully responsible for handling the processing.\n\n```javascript\nform.onPart = function(part) {\n part.addListener(\'data\', function() {\n // ...\n });\n}\n```\nIf you want to use formidable to only handle certain parts for you, you can do so:\n```javascript\nform.onPart = function(part) {\n if (!part.filename) {\n // let formidable handle all non-file parts\n form.handlePart(part);\n }\n}\n```\nCheck the code in this method for further inspiration.\n\n\n### Formidable.File\n```javascript\nfile.size = 0\n```\nThe size of the uploaded file in bytes. If the file is still being uploaded (see `\'fileBegin\'` event), this property says how many bytes of the file have been written to disk yet.\n```javascript\nfile.path = null\n```\nThe path this file is being written to. You can modify this in the `\'fileBegin\'` event in\ncase you are unhappy with the way formidable generates a temporary path for your files.\n```javascript\nfile.name = null\n```\nThe name this file had according to the uploading client.\n```javascript\nfile.type = null\n```\nThe mime type of this file, according to the uploading client.\n```javascript\nfile.lastModifiedDate = null\n```\nA date object (or `null`) containing the time this file was last written to. Mostly\nhere for compatibility with the [W3C File API Draft](http://dev.w3.org/2006/webapi/FileAPI/).\n```javascript\nfile.hash = null\n```\nIf hash calculation was set, you can read the hex digest out of this var.\n\n#### Formidable.File#toJSON()\n\n This method returns a JSON-representation of the file, allowing you to\n `JSON.stringify()` the file which is useful for logging and responding\n to requests.\n\n### Events\n\n\n#### \'progress\'\n```javascript\nform.on(\'progress\', function(bytesReceived, bytesExpected) {\n});\n```\nEmitted after each incoming chunk of data that has been parsed. Can be used to roll your own progress bar.\n\n\n\n#### \'field\'\n```javascript\nform.on(\'field\', function(name, value) {\n});\n```\n\n#### \'fileBegin\'\n\nEmitted whenever a field / value pair has been received.\n```javascript\nform.on(\'fileBegin\', function(name, file) {\n});\n```\n\n#### \'file\'\n\nEmitted whenever a new file is detected in the upload stream. Use this even if\nyou want to stream the file to somewhere else while buffering the upload on\nthe file system.\n\nEmitted whenever a field / file pair has been received. `file` is an instance of `File`.\n```javascript\nform.on(\'file\', function(name, file) {\n});\n```\n\n#### \'error\'\n\nEmitted when there is an error processing the incoming form. A request that experiences an error is automatically paused, you will have to manually call `request.resume()` if you want the request to continue firing `\'data\'` events.\n```javascript\nform.on(\'error\', function(err) {\n});\n```\n\n#### \'aborted\'\n\n\nEmitted when the request was aborted by the user. Right now this can be due to a \'timeout\' or \'close\' event on the socket. In the future there will be a separate \'timeout\' event (needs a change in the node core).\n```javascript\nform.on(\'aborted\', function() {\n});\n```\n\n##### \'end\'\n```javascript\nform.on(\'end\', function() {\n});\n```\nEmitted when the entire request has been received, and all contained files have finished flushing to disk. This is a great place for you to send your response.\n\n\n\n## Changelog\n\n### v1.0.14\n\n* Add failing hash tests. (Ben Trask)\n* Enable hash calculation again (Eugene Girshov)\n* Test for immediate data events (Tim Smart)\n* Re-arrange IncomingForm#parse (Tim Smart)\n\n### v1.0.13\n\n* Only update hash if update method exists (Sven Lito)\n* According to travis v0.10 needs to go quoted (Sven Lito)\n* Bumping build node versions (Sven Lito)\n* Additional fix for empty requests (Eugene Girshov)\n* Change the default to 1000, to match the new Node behaviour. (OrangeDog)\n* Add ability to control maxKeys in the querystring parser. (OrangeDog)\n* Adjust test case to work with node 0.9.x (Eugene Girshov)\n* Update package.json (Sven Lito)\n* Path adjustment according to eb4468b (Markus Ast)\n\n### v1.0.12\n\n* Emit error on aborted connections (Eugene Girshov)\n* Add support for empty requests (Eugene Girshov)\n* Fix name/filename handling in Content-Disposition (jesperp)\n* Tolerate malformed closing boundary in multipart (Eugene Girshov)\n* Ignore preamble in multipart messages (Eugene Girshov)\n* Add support for application/json (Mike Frey, Carlos Rodriguez)\n* Add support for Base64 encoding (Elmer Bulthuis)\n* Add File#toJSON (TJ Holowaychuk)\n* Remove support for Node.js 0.4 & 0.6 (Andrew Kelley)\n* Documentation improvements (Sven Lito, Andre Azevedo)\n* Add support for application/octet-stream (Ion Lupascu, Chris Scribner)\n* Use os.tmpDir() to get tmp directory (Andrew Kelley)\n* Improve package.json (Andrew Kelley, Sven Lito)\n* Fix benchmark script (Andrew Kelley)\n* Fix scope issue in incoming_forms (Sven Lito)\n* Fix file handle leak on error (OrangeDog)\n\n### v1.0.11\n\n* Calculate checksums for incoming files (sreuter)\n* Add definition parameters to "IncomingForm" as an argument (Math-)\n\n### v1.0.10\n\n* Make parts to be proper Streams (Matt Robenolt)\n\n### v1.0.9\n\n* Emit progress when content length header parsed (Tim Koschützki)\n* Fix Readme syntax due to GitHub changes (goob)\n* Replace references to old \'sys\' module in Readme with \'util\' (Peter Sugihara)\n\n### v1.0.8\n\n* Strip potentially unsafe characters when using `keepExtensions: true`.\n* Switch to utest / urun for testing\n* Add travis build\n\n### v1.0.7\n\n* Remove file from package that was causing problems when installing on windows. (#102)\n* Fix typos in Readme (Jason Davies).\n\n### v1.0.6\n\n* Do not default to the default to the field name for file uploads where\n filename="".\n\n### v1.0.5\n\n* Support filename="" in multipart parts\n* Explain unexpected end() errors in parser better\n\n**Note:** Starting with this version, formidable emits \'file\' events for empty\nfile input fields. Previously those were incorrectly emitted as regular file\ninput fields with value = "".\n\n### v1.0.4\n\n* Detect a good default tmp directory regardless of platform. (#88)\n\n### v1.0.3\n\n* Fix problems with utf8 characters (#84) / semicolons in filenames (#58)\n* Small performance improvements\n* New test suite and fixture system\n\n### v1.0.2\n\n* Exclude node\\_modules folder from git\n* Implement new `\'aborted\'` event\n* Fix files in example folder to work with recent node versions\n* Make gently a devDependency\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v1.0.1...v1.0.2)\n\n### v1.0.1\n\n* Fix package.json to refer to proper main directory. (#68, Dean Landolt)\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v1.0.0...v1.0.1)\n\n### v1.0.0\n\n* Add support for multipart boundaries that are quoted strings. (Jeff Craig)\n\nThis marks the beginning of development on version 2.0 which will include\nseveral architectural improvements.\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v0.9.11...v1.0.0)\n\n### v0.9.11\n\n* Emit `\'progress\'` event when receiving data, regardless of parsing it. (Tim Koschützki)\n* Use [W3C FileAPI Draft](http://dev.w3.org/2006/webapi/FileAPI/) properties for File class\n\n**Important:** The old property names of the File class will be removed in a\nfuture release.\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v0.9.10...v0.9.11)\n\n### Older releases\n\nThese releases were done before starting to maintain the above Changelog:\n\n* [v0.9.10](https://github.com/felixge/node-formidable/compare/v0.9.9...v0.9.10)\n* [v0.9.9](https://github.com/felixge/node-formidable/compare/v0.9.8...v0.9.9)\n* [v0.9.8](https://github.com/felixge/node-formidable/compare/v0.9.7...v0.9.8)\n* [v0.9.7](https://github.com/felixge/node-formidable/compare/v0.9.6...v0.9.7)\n* [v0.9.6](https://github.com/felixge/node-formidable/compare/v0.9.5...v0.9.6)\n* [v0.9.5](https://github.com/felixge/node-formidable/compare/v0.9.4...v0.9.5)\n* [v0.9.4](https://github.com/felixge/node-formidable/compare/v0.9.3...v0.9.4)\n* [v0.9.3](https://github.com/felixge/node-formidable/compare/v0.9.2...v0.9.3)\n* [v0.9.2](https://github.com/felixge/node-formidable/compare/v0.9.1...v0.9.2)\n* [v0.9.1](https://github.com/felixge/node-formidable/compare/v0.9.0...v0.9.1)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.1.0](https://github.com/felixge/node-formidable/commits/v0.1.0)\n\n## License\n\nFormidable is licensed under the MIT license.\n\n## Ports\n\n* [multipart-parser](http://github.com/FooBarWidget/multipart-parser): a C++ parser based on formidable\n\n## Credits\n\n* [Ryan Dahl](http://twitter.com/ryah) for his work on [http-parser](http://github.com/ry/http-parser) which heavily inspired multipart_parser.js\n',
19983 silly resolved readmeFilename: 'Readme.md',
19983 silly resolved dependencies: {},
19983 silly resolved _id: 'formidable@1.0.14',
19983 silly resolved _shasum: '2b3f4c411cbb5fdd695c44843e2a23514a43231a',
19983 silly resolved _from: 'formidable@1.0.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz' },
19983 silly resolved { author:
19983 silly resolved { name: 'Einar Otto Stangvik',
19983 silly resolved email: 'einaros@gmail.com',
19983 silly resolved url: 'http://2x.io' },
19983 silly resolved name: 'ws',
19983 silly resolved description: 'simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js, up-to-date against RFC-6455',
19983 silly resolved version: '0.4.31',
19983 silly resolved keywords:
19983 silly resolved [ 'Hixie',
19983 silly resolved 'HyBi',
19983 silly resolved 'Push',
19983 silly resolved 'RFC-6455',
19983 silly resolved 'WebSocket',
19983 silly resolved 'WebSockets',
19983 silly resolved 'real-time' ],
19983 silly resolved repository: { type: 'git', url: 'git://github.com/einaros/ws.git' },
19983 silly resolved bin: { wscat: './bin/wscat' },
19983 silly resolved scripts:
19983 silly resolved { test: 'make test',
19983 silly resolved install: '(node-gyp rebuild 2> builderror.log) || (exit 0)' },
19983 silly resolved engines: { node: '>=0.4.0' },
19983 silly resolved dependencies:
19983 silly resolved { commander: '~0.6.1',
19983 silly resolved nan: '~0.3.0',
19983 silly resolved tinycolor: '0.x',
19983 silly resolved options: '>=0.0.5' },
19983 silly resolved devDependencies:
19983 silly resolved { mocha: '1.12.0',
19983 silly resolved should: '1.2.x',
19983 silly resolved 'expect.js': '0.2.x',
19983 silly resolved benchmark: '0.3.x',
19983 silly resolved ansi: 'latest' },
19983 silly resolved browser: './lib/browser.js',
19983 silly resolved component: { scripts: [Object] },
19983 silly resolved gypfile: true,
19983 silly resolved readme: '[![Build Status](https://secure.travis-ci.org/einaros/ws.png)](http://travis-ci.org/einaros/ws)\n\n# ws: a node.js websocket library #\n\n`ws` is a simple to use websocket implementation, up-to-date against RFC-6455, and [probably the fastest WebSocket library for node.js](http://web.archive.org/web/20130314230536/http://hobbycoding.posterous.com/the-fastest-websocket-module-for-nodejs).\n\nPasses the quite extensive Autobahn test suite. See http://einaros.github.com/ws for the full reports.\n\nComes with a command line utility, `wscat`, which can either act as a server (--listen), or client (--connect); Use it to debug simple websocket services.\n\n## Protocol support ##\n\n* **Hixie draft 76** (Old and deprecated, but still in use by Safari and Opera. Added to ws version 0.4.2, but server only. Can be disabled by setting the `disableHixie` option to true.)\n* **HyBi drafts 07-12** (Use the option `protocolVersion: 8`, or argument `-p 8` for wscat)\n* **HyBi drafts 13-17** (Current default, alternatively option `protocolVersion: 13`, or argument `-p 13` for wscat)\n\n_See the echo.websocket.org example below for how to use the `protocolVersion` option._\n\n## Usage ##\n\n### Installing ###\n\n`npm install ws`\n\n### Sending and receiving text data ###\n\n```js\nvar WebSocket = require(\'ws\');\nvar ws = new WebSocket(\'ws://www.host.com/path\');\nws.on(\'open\', function() {\n ws.send(\'something\');\n});\nws.on(\'message\', function(data, flags) {\n // flags.binary will be set if a binary data is received\n // flags.masked will be set if the data was masked\n});\n```\n\n### Sending binary data ###\n\n```js\nvar WebSocket = require(\'ws\');\nvar ws = new WebSocket(\'ws://www.host.com/path\');\nws.on(\'open\', function() {\n var array = new Float32Array(5);\n for (var i = 0; i < array.length; ++i) array[i] = i / 2;\n ws.send(array, {binary: true, mask: true});\n});\n```\n\nSetting `mask`, as done for the send options above, will cause the data to be masked according to the websocket protocol. The same option applies for text data.\n\n### Server example ###\n\n```js\nvar WebSocketServer = require(\'ws\').Server\n , wss = new WebSocketServer({port: 8080});\nwss.on(\'connection\', function(ws) {\n ws.on(\'message\', function(message) {\n console.log(\'received: %s\', message);\n });\n ws.send(\'something\');\n});\n```\n\n### Server sending broadcast data ###\n\n```js\nvar WebSocketServer = require(\'ws\').Server\n , wss = new WebSocketServer({port: 8080});\n \nwss.broadcast = function(data) {\n\tfor(var i in this.clients)\n\t\tthis.clients[i].send(data);\n};\n```\n\n### Error handling best practices ###\n\n```js\n// If the WebSocket is closed before the following send is attempted\nws.send(\'something\');\n\n// Errors (both immediate and async write errors) can be detected in an optional callback.\n// The callback is also the only way of being notified that data has actually been sent.\nws.send(\'something\', function(error) {\n // if error is null, the send has been completed,\n // otherwise the error object will indicate what failed.\n});\n\n// Immediate errors can also be handled with try/catch-blocks, but **note**\n// that since sends are inherently asynchronous, socket write failures will *not*\n// be captured when this technique is used.\ntry {\n ws.send(\'something\');\n}\ncatch (e) {\n // handle error\n}\n```\n\n### echo.websocket.org demo ###\n\n```js\nvar WebSocket = require(\'ws\');\nvar ws = new WebSocket(\'ws://echo.websocket.org/\', {protocolVersion: 8, origin: \'http://websocket.org\'});\nws.on(\'open\', function() {\n console.log(\'connected\');\n ws.send(Date.now().toString(), {mask: true});\n});\nws.on(\'close\', function() {\n console.log(\'disconnected\');\n});\nws.on(\'message\', function(data, flags) {\n console.log(\'Roundtrip time: \' + (Date.now() - parseInt(data)) + \'ms\', flags);\n setTimeout(function() {\n ws.send(Date.now().toString(), {mask: true});\n }, 500);\n});\n```\n\n### wscat against echo.websocket.org ###\n\n $ npm install -g ws\n $ wscat -c ws://echo.websocket.org -p 8\n connected (press CTRL+C to quit)\n > hi there\n < hi there\n > are you a happy parrot?\n < are you a happy parrot?\n\n### Other examples ###\n\nFor a full example with a browser client communicating with a ws server, see the examples folder.\n\nNote that the usage together with Express 3.0 is quite different from Express 2.x. The difference is expressed in the two different serverstats-examples.\n\nOtherwise, see the test cases.\n\n### Running the tests ###\n\n`make test`\n\n## API Docs ##\n\nSee the doc/ directory for Node.js-like docs for the ws classes.\n\n## License ##\n\n(The MIT License)\n\nCopyright (c) 2011 Einar Otto Stangvik &lt;einaros@gmail.com&gt;\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',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved bugs: { url: 'https://github.com/einaros/ws/issues' },
19983 silly resolved homepage: 'https://github.com/einaros/ws',
19983 silly resolved _id: 'ws@0.4.31',
19983 silly resolved _shasum: '5a4849e7a9ccd1ed5a81aeb4847c9fedf3122927',
19983 silly resolved _from: 'ws@0.4.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/ws/-/ws-0.4.31.tgz' },
19983 silly resolved { name: 'primus',
19983 silly resolved version: '2.2.1',
19983 silly resolved description: 'Primus is a simple abstraction around real-time frameworks. It allows you to easily switch between different frameworks without any code changes.',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts:
19983 silly resolved { browserify: 'browserify example/primus.js -o example/primus.browserify.js --standalone Primus',
19983 silly resolved integration: 'NODE_ENV=testing ./node_modules/.bin/mocha $(find test -name \'*.integration.js\')',
19983 silly resolved test: 'NODE_ENV=testing ./node_modules/.bin/mocha $(find test -name \'*.test.js\')',
19983 silly resolved update: 'find transformers -name update.sh -exec bash {} \\;' },
19983 silly resolved homepage: 'http://primus.io',
19983 silly resolved repository: { type: 'git', url: 'git://github.com/primus/primus.git' },
19983 silly resolved keywords:
19983 silly resolved [ 'primus',
19983 silly resolved 'real-time',
19983 silly resolved 'realtime',
19983 silly resolved 'websocket',
19983 silly resolved 'ws',
19983 silly resolved 'engine.io',
19983 silly resolved 'socket.io',
19983 silly resolved 'transformer' ],
19983 silly resolved author: { name: 'Arnout Kazemier' },
19983 silly resolved license: 'MIT',
19983 silly resolved dependencies:
19983 silly resolved { 'access-control': '0.0.x',
19983 silly resolved eventemitter3: '0.1.x',
19983 silly resolved 'forwarded-for': '0.0.x',
19983 silly resolved fusing: '0.2.x',
19983 silly resolved load: '1.0.x',
19983 silly resolved setheader: '0.0.x' },
19983 silly resolved devDependencies:
19983 silly resolved { 'binary-pack': '0.0.x',
19983 silly resolved browserchannel: '1.2.x',
19983 silly resolved chai: '1.9.x',
19983 silly resolved 'e-json': '0.0.x',
19983 silly resolved 'engine.io': '1.1.x',
19983 silly resolved 'engine.io-client': '1.1.x',
19983 silly resolved 'global-wrap': '1.4.x',
19983 silly resolved jsonh: '0.0.x',
19983 silly resolved mocha: '1.18.x',
19983 silly resolved 'pre-commit': '0.0.x',
19983 silly resolved request: '2.34.x',
19983 silly resolved 'socket.io': '0.9.x',
19983 silly resolved 'socket.io-client': '0.9.x',
19983 silly resolved sockjs: '0.3.x',
19983 silly resolved 'sockjs-client-node': '0.1.x',
19983 silly resolved ws: '0.4.x' },
19983 silly resolved readme: '# Primus\n\n[![Build Status](https://travis-ci.org/primus/primus.svg?branch=master)](https://travis-ci.org/primus/primus)\n[![NPM version](https://badge.fury.io/js/primus.svg)](http://badge.fury.io/js/primus)\n\nPrimus, the creator god of transformers but now also known as universal wrapper\nfor real-time frameworks. There are a lot of real-time frameworks available for\nNode.js and they all have different opinions on how real-time should be done.\nPrimus provides a common low level interface to communicate in real-time using\nvarious of real-time frameworks.\n\n### Advantages\n\n1. Effortless switching between real-time frameworks by changing one single line\n of code. No more API rewrites needed when your project requirements change,\n the framework get abandoned or simply breaks down.\n2. Built-in reconnect, it just works. The reconnect is controlled by a\n randomised exponential back-off algorithm to reduce server stress.\n3. Offline detection, Primus is smart enough to detect when users drop their\n internet connection (switching WIFI points/cell towers for example) and\n reconnects when they are back online.\n4. Automatically encodes and decodes messages using custom parsers. Can be\n easily switched for binary encoding for example.\n5. A clean and stream compatible interface for the client and server. You can\n just `stream#pipe` data around. In addition to that, the client works on\n Node.js as well, write once, run it everywhere.\n6. Fixes various of bugs in the supported frameworks and additions stability\n patches to improve real-time communication.\n8. Comes with an amazing plugin interface to keep the core library as fast and\n lean as possible while still allowing the server and the client to be\n extended.\n9. Last but not least, Primus is build with love, passion and dedication to the\n real-time web.\n\n```\nIf you have questions or need help with primus, come chat in our IRC room:\n\n server: irc.freenode.net\n room: #primus\n```\n\n### Installation\n\nPrimus is released in `npm` and can be installed using:\n\n```\nnpm install primus --save\n```\n\n### Before Starting\n\nIf you deploy your application behind a reverse proxy (Nginx, HAProxy, etc.) you\nmight need to add WebSocket specific settings to it\'s configuration files. If\nyou intent to use WebSockets please ensure that these settings have been added.\nThere are some example configuration files available in the\n[observing/balancerbattle](https://github.com/observing/balancerbattle)\nrepository.\n\n### Table of Contents\n\n- [Introduction](#primus)\n - [Advantages](#advantages)\n- [Installation](#installation)\n- [Getting Started](#getting-started)\n - [Client library](#client-library)\n- [Connecting from the browser](#connecting-from-the-browser)\n- [Connecting from the server](#connecting-from-the-server)\n- [Authorization](#authorization)\n- [Broadcasting](#broadcasting)\n- [Destruction](#destruction)\n- [Events](#events)\n- [Heartbeats and latency](#heartbeats-and-latency)\n- [Supported real-time frameworks](#supported-real-time-frameworks)\n - [Engine.IO](#engineio)\n - [WebSockets](#websockets)\n - [BrowserChannel](#browserchannel)\n - [SockJS](#sockjs)\n - [Socket.IO](#socketio)\n- [Transformer Inconsistencies](#transformer-inconsistencies)\n- [Middleware](#middleware)\n- [Plugins](#plugins)\n - [Extending the Spark / Socket](#extending-the-spark--socket)\n - [Transforming and intercepting messages](#transforming-and-intercepting-messages)\n - [Community Plugins](#community-plugins)\n- [Example](#example)\n - [Community](#community)\n- [FAQ](#FAQ)\n - [Scaling](#what-is-the-best-way-to-scale-primus)\n - [Express](#how-do-i-use-primus-with-express-3)\n - [RequireJS](#is-requirejs-supported)\n - [Custom headers](#can-i-send-custom-headers-to-the-server)\n- [Versioning](#versioning)\n - [History](#history)\n - [Convention](#convention)\n - [Release cycle](#release-cycle)\n- [Other languages](#other-languages)\n- [License](#license)\n\n### Getting Started\n\nPrimus doesn\'t ship with real-time frameworks as dependencies, it assumes that\nyou as user add them yourself as a dependency. This is done to keep the module\nas lightweight as possible. This works because `require` in will walk through\nyour directories searching for `node_module` folders that have these matching\ndependencies.\n\nPrimus needs to be "attached" to a HTTP compatible server. These includes the\nbuilt-in `http` and `https` servers but also the `spdy` module as it has the\nsame API as node servers. Creating a new Primus instance is relatively\nstraightforward:\n\n```js\n\'use strict\';\n\nvar Primus = require(\'primus\')\n , http = require(\'http\');\n\nvar server = http.createServer(/* request handler */)\n , primus = new Primus(server, {/* options */});\n```\nThe following options can be provided:\n\nName | Description | Default \n--------------------|-------------------------------------------|---------------\nauthorization | Authorization handler | `null`\npathname | The URL namespace that Primus can own | `/primus`\nparser | Message encoder for all communication | `JSON`\ntransformer | The transformer we should use internally | `websockets`\nplugin | The plugins that should be applied | `{}`\ntimeout | The heartbeat timeout | `35000`\norigins | **cors** List of origins | `*`\nmethods | **cors** List of accepted HTTP methods | `GET,HEAD,PUT,POST,DELETE,OPTIONS`\ncredentials | **cors** Allow sending of credentials | `true`\nmaxAge | **cors** Cache duration of cors preflight | `30 days`\nheaders | **cors** Allowed headers | `false`\nexposed | **cors** Headers exposed to the client | `false`\n\nThe options that are prefixed with **cors** are supplied to our\n[access-control](http://github.com/primus/access-control) module which handles\nHTTP Access Control (CORS), so for a more detailed explanation of these options\ncheck it out.\n\nThe heartbeat timeout is used to forcefully disconnect a spark if no data is\nreceived from the client within the specified amount of time. It is possible\nto completely disable the heartbeat timeout by setting the value of the\n`timeout` option to `false`.\n\nIn addition to support different frameworks we\'ve also made it possible to use\ncustom encoding and decoding libraries. We\'re using `JSON` by default but you\ncould also use `msgpack` or `JSONH` for example (but these parsers need to be\nsupported by Primus, so check out the parser folder for examples). To set parser\nyou can supply a `parser` configuration option:\n\n```js\nvar primus = new Primus(server, { parser: \'JSON\' });\n```\n\nAll parsers have an `async` interface for error handling. If you don\'t have a\npre-existing server where you want or can attach your Primus server to you can\nalso use the `Primus.createServer` convenience method. The `createServer method\nwill automatically:\n\n- Setup a HTTP, HTTPS or SPDY server for you on the given port number.\n- Setup your Primus server with the given configuration.\n- Listen on the HTTP, HTTPS, SPDY server.\n- Attach a `primus.on(\'connection\')` listener.\n- Return the created Primus instance.\n\n```js\nPrimus.createServer(function connection(spark) {\n\n}, { port: 8080, transformer: \'websockets\' });\n```\n\nIn the above example we automatically create a HTTP server which will listen\non port 8080, a primus instance with the `websockets` transformer and start\nlistening for incoming connections. The supplied function in the\n`Primus.createServer` method is optional. You can just listen for incoming\nconnectios your self using the returned Primus instance. If you want to listen to\na HTTPS or SPDY server, which is recommended, you can directly pass the SPDY and\nHTTPS certs/keys/pfx files in the options object:\n\n```js\nvar primus = Primus.createServer({\n port: 443,\n root: \'/folder/with/https/cert/files\',\n cert: \'myfilename.cert\',\n key: \'myfilename.cert\',\n ca: \'myfilename.ca\',\n pfx: \'filename.pfx\',\n passphrase: \'my super sweet password\'\n});\n\nprimus.on(\'connection\', function (spark) {\n spark.write(\'hello connnection\');\n});\n```\n\n`Primus.createServer` returns a warning when it starts a HTTP server. The\nwarning advises you to use a HTTPS server and can be disabled setting the\noption `iknowhttpsisbetter` to `true`.\n\n#### Client library\n\nAs most libraries come with their own client-side framework for making the\nconnection we\'ve also created a small wrapper for this. The library can be\nretrieved using:\n\n```js\nprimus.library();\n```\n\nWhich returns the client-side library as a string (which can then be minified or\neven have more code added to it). It does not come pre-minified as that is out\nof the scope of this project. You can store this on a CDN or on your static server.\nDo whatever you want with it, but remember to regenerate it every time you change\nPrimus server options. This is important because some properties of the client\nare set using the server configuration. For example if you change the\n`pathname`, the client should be regenerated to reflect that change and work\ncorrectly. We advise you to regenerate the library every time you redeploy so\nyou always have a client compatible with your back-end. To save the file you\ncan use:\n\n```js\nprimus.save(__dirname +\'/primus.js\');\n```\n\nThis will store the compiled library in your current directory. If you want to\nsave it asynchronously, you can supply the method with a callback method:\n\n```js\nprimus.save(__dirname +\'/primus.js\', function save(err) {\n\n});\n```\n\nBut to make it easier for you during development we\'ve automatically added an\nextra route to the supplied HTTP server, this will serve the library for you so\nyou don\'t have to save it. Please note, that this route isn\'t optimised for\nserving static assets and should only be used during development. In your HTML\npage add:\n\n```html\n<script src="/primus/primus.js"></script>\n```\n\nAs you can see, it will use the `/primus` pathname by default. Primus needs to\nown the whole path/namespace in order to function properly as it will forward\nall other requests directly in to the transformers so they can work their magic.\nIf you already have a static folder with the name `primus` you can change the\npathname to something different and still make this work. But you would of\ncourse need to update the `src` attribute of the script tag to set the correct\nlocation. It\'s always available at:\n\n```\n<protocol>://<server location>/<pathname>/primus.js\n```\n\nHere `<pathname>` is the `pathname` set in server options above. The client\nis cross domain compatible so you don\'t have to serve it from the\nsame domain you\'re running Primus on. But please note, that the real-time\nframework you\'re using might be tied to same domain restrictions.\n\nOnce you\'re all set up you can start listening for connections. These\nconnections are announced through the `connection` event.\n\n```js\nprimus.on(\'connection\', function (spark) {\n // spark is the new connection.\n});\n```\n\nDisconnects are announced using a `disconnection` event:\n\n```js\nprimus.on(\'disconnection\', function (spark) {\n// the spark that disconnected\n});\n```\n\nThe `spark` argument is the actual real-time socket/connection. Sparks have a really low\nlevel interface and only expose a couple properties that are cross engine\nsupported. The interface is modeled towards a Node.js stream compatible\ninterface. So this will include all methods that are available on the \n[stream interface](http://nodejs.org/api/stream.html) including `Spark#pipe`.\n\n#### spark.headers\n\nThe `spark.headers` property contains the headers of either the request\nthat started a handshake with the server or the headers of the actual real-time\nconnection. This depends on the module you are using.\n\n*Please note that sending custom headers from the client to the server is\nimpossible as not all transports that these transformers support can add custom\nheaders to a request (JSONP for example). If you need to send custom data, use a\nquery string when connecting*\n\n#### spark.address\n\nThe `spark.address` property contains the `ip` and `port` of the\nconnection. If you\'re running your server behind a reverse proxy it will\nautomatically use the `x-forwarded-for` header. This way you will always have\nthe address of the connecting client and not the IP address of your proxy.\n\n*Please note that the `port` is probably out of date by the time you\'re going\nto read it as it\'s retrieved from an old request, not the request that is\nactive at the time you access this property.*\n\n#### spark.query\n\nThe `spark.query` contains the query string you used to connect to server. It\'s\nparsed to an object. Please note that this is not available for all supported\ntransformers, but it\'s proven to be to useful to not implement it because one\nsilly transformer refuses to support it. Yes, I\'m looking at you SockJS.\n\n#### spark.id\n\nThis is a unique id that we use to identify this single connection with. Normally\nthe frameworks refer to this as a `sessionid`, which is confusing as it\'s only\nused for the duration of one single connection. You should not see this as a\n"session id", and rather expect it to change between disconnects and reconnects.\n\n#### spark.request\n\nThe `spark.request` gives you access to the HTTP request that was used to\ninitiate the real-time connection with the server. Please note that this request\nis already answered and closed (in most cases) so do not attempt to write or\nanswer it in anyway. But it might be useful to access methods that get added by\nmiddleware layers, etc.\n\n#### spark.write(data)\n\nYou can use the `spark.write` method to send data over the socket. The data is\nautomatically encoded for you using the `parser` that you\'ve set while creating\nthe Primus server instance. This method always returns `true` so back pressure\nisn\'t handled.\n\n```js\nspark.write({ foo: \'bar\' });\n```\n\n#### spark.end(data, options)\n\nYou can use `spark.end` to close the connection. This method takes two optional\narguments. The first, if provided, is the `data` to send to the client before\nclosing the connection. The second is an options object used to customize the\nbehavior of the method. By default the `spark.end` method closes the connection\nin a such way that the client knows it was intentional and it doesn\'t attempt a\nreconnection.\n\n```js\nspark.end(); // the client doesn\'t reconnect automatically\n```\n\nYou can change this behavior and trigger a client-side reconnection using the\n`reconnect` option.\n\n```js\nspark.end(null, { reconnect: true }); // trigger a client-side reconnection\n```\n\n#### spark.emits(event, parser)\n\nThis method is mostly used internally. It returns a function that emits assigned\n`event` every time it\'s called. It only emits the first received argument or the\nresult of the optional `parser` call. The `parser` function receives all\narguments and can parse it down to a single value or just extracts the useful\ninformation from the data. Please note that the data that is received here isn\'t\ndecoded yet.\n\n```js\nspark.emits(\'event\', function parser(structure) {\n return structure.data;\n});\n```\n\n#### spark.on(\'data\')\n\nThe `data` event is emitted when a message is received from the client. It\'s\nautomatically decoded by the specified decoder.\n\n```js\nspark.on(\'data\', function message(data) {\n // the message we\'ve received.\n});\n```\n\n#### spark.on(\'end\')\n\nThe `end` event is emitted when the client has disconnected.\n\n```js\nprimus.on(\'connection\', function (spark) {\n console.log(\'connection has the following headers\', spark.headers);\n console.log(\'connection was made from\', spark.address);\n console.log(\'connection id\', spark.id);\n\n spark.on(\'data\', function (data) {\n console.log(\'received data from the client\', data);\n\n //\n // Always close the connection if we didn\'t receive our secret imaginary\n // handshake.\n //\n if (\'foo\' !== data.secrethandshake) spark.end();\n spark.write({ foo: \'bar\' });\n spark.write(\'banana\');\n });\n\n spark.write(\'Hello world\');\n})\n```\n\n### Connecting from the Browser\n\nPrimus comes with its client framework which can be compiled using\n`primus.library()` as mentioned above. To create a connection you can simply\ncreate a new Primus instance:\n\n```js\nvar primus = new Primus(url, { options });\n\n//\n// But it can be easier, with some syntax sugar.\n//\nvar primus = Primus.connect(url, { options });\n```\n\nThe URL should confirm the following conditions:\n\n- It should include the protocol it needs to connect with. This can either be\n `http` or `https`. We recommend that you\'re using HTTPS for all your\n connections as this prevents connection blocking by firewalls and anti-virus\n programs.\n- The URL should not include a pathname. The pathname is configured by the\n server (See: [getting-started](#getting-started)) and needs to be configured\n there as it will be compiled in to the `primus.js` client file.\n\nIf no `url` argument is passed, it will default to the current URL.\n\nThe following options can be provided:\n\nName | Description | Default \n--------------------|-----------------------------------------|---------------\n[reconnect] | Configures the exponential back off | `{}`\ntimeout | Connect time out | `10000` ms\nping | Ping interval to test connection | `25000` ms\npong | Time the server has to respond to ping | `10000` ms\n[strategy] | Our reconnect strategies | `"disconnect,online,timeout"`\nmanual | Manually open the connection | `false`\nwebsockets | Should we use WebSockets | Boolean, is detected\nnetwork | Use native `online`/`offline` detection | Boolean, is feature detected\ntransport | Transport specific configuration | `{}`\nqueueSize | Number of messages that can be queued | `Infinity`\n\nThere are 2 important options that we\'re going to look a bit closer at.\n\n##### Reconnect\n\nWhen the connection goes down unexpectedly a automatic reconnect process is\nstarted. It\'s using a randomised exponential back-off algorithm to prevent\nclients from DDoSing your server when you reboot as they will all be re-connecting at\ndifferent times. The reconnection can be configured using the `options` argument\nin `Primus` and you should add these options to the `reconnect` property:\n\nName | Description | Default \n--------------------|-----------------------------------------|---------------\nmaxDelay | The maximum delay of a reconnect | `Infinity`\nminDelay | The minium delay of the reconnect | `500`\nretries | Amount of allowed reconnects. | 10\n\n```js\nprimus = Primus.connect(url, {\n reconnect: {\n maxDelay: Infinity // Number: The max delay for a reconnect retry.\n , minDelay: 500 // Number: The minimum delay before we reconnect.\n , retries: 10 // Number: How many times should we attempt to reconnect.\n }\n});\n```\n\nWhen you\'re going to customize `minDelay` please note that it will grow\nexponentially e.g. `500 -> 1000 -> 2000 -> 4000 -> 8000` and is randomized\nso expect to have the slightly higher or lower values.\n\nPlease note that when we reconnect, we will receive a new `connection` event on\nthe server and a new `open` event on the client, as the previous connection was\ncompletely dead and should therefore be considered as new connection.\n\nIf you are interested in learning more about the backoff algorithm you might\nwant to read http://dthain.blogspot.nl/2009/02/exponential-backoff-in-distributed.html\n\n##### Strategy\n\nThe strategy allows you to configure when you want a `reconnect` operation to\nkick in. We\'re providing some **sane** defaults for this but we still want to\nprovide users with highest level of customization:\n\n<dl>\n <dt>disconnect</dt>\n <dd>\n Reconnect when we detect an unintential disconnect in the connection.\n </dd>\n <dt>online</dt>\n <dd>\n Reconnect when the browser went from an offline event to an online event.\n </dd>\n <dt>timeout</dt>\n <dd>\n Reconnect when we failed to establish our initial connection. This can\n happen because we took to long to connect or because there was an error\n while we tried to connect (which happens when you connect to a dead server)\n </dd>\n</dl>\n\nYou can supply these options as a comma separated `String`:\n\n```js\nvar primus = new Primus(url, { strategy: \'online, timeout, disconnect\' })\n```\n\nOr as an `Array`:\n\n```js\nvar primus = new Primus(url, { strategy: [ \'online\', \'timeout\', \'disconnect\' ]});\n```\n\nWe\'ll try to normalize everything as much as possible, we `toLowerCase` everything\nand join it back to a readable string so if you wrote `dIsconNect` it will get\nnormalized to `disconnect`.\n\n**If you are using authentication you should disable the `timeout` strategy as\nthere is no way of detecting the difference between a failed authorization and a\nfailed connect. If you leave this enabled with authorization every unauthorized\naccess will try to reconect again**.\n\nWe automatically disable this for you when you\'ve set the authorization before\nyou save the library.\n\nBut there are always use cases where reconnection is not advised for your\napplication. In these cases we\'ve provided a way to completely disable the\nreconnection, this is done by setting the `strategy` to `false`:\n\n```js\nvar primus = new Primus(url, { strategy: false });\n```\nIf you want to manually control the reconnection you can call `primus.end()`\nto close the connection and `primus.open()` to enstablish a new one. **Be sure\nto use `primus.open()` correctly, see below for details.**\n\n[reconnect]: #reconnect\n[strategy]: #strategy\n\n##### transport\n\nThe transport object allows you to add a transport specific configuration.\nWe only recommend using this if you understand and accept the following\nconsequences:\n\n- Primus will try to override configuration properties that are needed to\n ensure a correct functioning.\n- We might start using options without any announcement or major version bump.\n- Expect your client and it\'s connection to malfunction once you switch between\n different transports, as these configurations are specific to the bundled\n transformer library/client.\n- Bugs and bug reports caused by using this functionality are closed\n immediately.\n\nHaving that said, this gives you total freedom while still getting the benefits\nof Primus.\n\n#### primus.open()\n\nThis method opens a connection with the server. By default it is called\nautomatically when the Primus instance is created, but there are cases where\nis desiderable to open the connection manually. To do this set the `manual`\noption to `true` and when you have the Primus instance call the method:\n\n```js\nprimus.open();\n```\n\n**When you call `primus.open()` you should make sure that the connection is\ntotally dead (e.g. after an `end` event) and primus isn\'t already trying or\nplanning to reconnect**.\n\n#### primus.write(message)\n\nOnce you\'ve created your Primus instance you\'re ready to go. When you want to\nwrite data to your server you can just call the `.write` method:\n\n```js\nprimus.write(\'message\');\n```\n\nIt automatically encodes your messages using the parser that you\'ve specified on\nthe server. So sending objects back and forth between the server is nothing\ndifferent then just writing:\n\n```js\nprimus.write({ foo: \'bar\' });\n```\n\nWhen you are sending messages to the server, you don\'t have to wait for the\n`open` event to happen, the client will automatically buffer all the data you\'ve\nsend and automatically write it to the server once it\'s connected. The client\nsupports a couple of different events.\n\n#### primus.on(\'data\')\n\nThe `data` event is the most important event of the whole library. It\'s emitted\nwhen we receive data from the server. The data that is received is already\ndecoded by the specified parser.\n\n```js\nprimus.on(\'data\', function message(data) {\n console.log(\'Received a new message from the server\', data);\n});\n```\n\n#### primus.on(\'open\')\n\nThe `open` event is emitted when we\'ve successfully created a connection with\nthe server. It will also be emitted when we\'ve successfully reconnected when the\nconnection goes down unintentionally.\n\n```js\nprimus.on(\'open\', function open() {\n console.log(\'Connection is alive and kicking\');\n});\n```\n\n#### primus.on(\'error\')\n\nThe `error` event is emitted when something breaks that is out of our control.\nUnlike Node.js, we do not throw an error if no error event listener is\nspecified. The cause of an error could be that we\'ve failed to encode or decode\na message or we failed to create a connection.\n\n```js\nprimus.on(\'error\', function error(err) {\n console.error(\'Something horrible has happened\', err, err.message);\n});\n```\n\n#### primus.on(\'reconnect\')\n\nThe `reconnect` event is emitted when we\'re attempting to reconnect to the\nserver. This all happens transparently and it\'s just a way for you to know when\nthese reconnects are actually happening.\n\n```js\nprimus.on(\'reconnect\', function () {\n console.log(\'Reconnect attempt started\');\n});\n```\n\n#### primus.on(\'reconnecting\')\n\nLooks a lot like the `reconnect` event mentioned above, but it\'s emitted when\nwe\'ve detected that connection went/is down and we\'re going to start a reconnect\noperation. This event would be ideal to update your application\'s UI when the\nconnection is down and you are trying to reconnect in x seconds.\n\n```js\nprimus.on(\'reconnecting\', function (opts) {\n console.log(\'Reconnecting in %d ms\', opts.timeout);\n console.log(\'This is attempt %d out of %d\', opts.attempt, opts.retries);\n});\n```\n\n#### primus.on(\'end\')\n\nThe `end` event is emitted when we\'ve closed the connection. When this event is\nemitted you should consider your connection to be fully dead with no way of\nreconnecting. But it\'s also emitted when the server closes the connection.\n\n```js\nprimus.on(\'end\', function () {\n console.log(\'Connection closed\');\n});\n```\n\n#### primus.end()\n\nWhen you want to close the connection you can call the `primus.end()` method.\nAfter this the connection should be considered dead and a new connection needs\nto be made using `Primus.connect(url)` or `primus = new Primus(url)` if you want\nto talk with the server again.\n\n```js\nprimus.end();\n```\n\n### Connecting from the server\n\nThe client-side library has been made compatible with Node.js so the same code\nbase can be re-used for server side connections. There are two ways of creating\na server side client.\n\n1. When you\'ve created your `primus` instance you can access the `Socket`\n property on it. This `Socket` is automatically configured to connect to the\n correct pathname, using the same `transformer` and `parser` that you\'ve\n specified when you created your `primus` instance.\n\n ```js\n var primus = new Primus(server, { transformer: transformer, parser: parser })\n , Socket = primus.Socket;\n\n var client = new Socket(\'http://localhost:8080\');\n //\n // It has the same interface as the client, so you can just socket.write or\n // listen for the `open` events etc.\n //\n ```\n2. You might need to connect from a different node process where you don\'t have\n access to your `primus` instance and the compatible `Socket` instance. For\n these cases there a special `createSocket` method where you can specify the\n `transformer`, `parser`, `plugin` that you are using on your server to create\n another compatible socket.\n\n ```js\n var Socket = Primus.createSocket({ transformer: transformer, parser: parser })\n , client = new Socket(\'http://localhost:8080\');\n ```\n\nWhen you are using plugins with Primus make sure you add them **before** you\nreference the `primus.Socket` or it will compile a client without your plugins.\nIf you\'re using the `primus.createSocket` api you can directly supply the\nplugins as part of the options as it supports `plugin` object:\n\n```js\nvar Socket = Primus.createSocket({ \n transformer: transformer,\n parser: parser,\n plugin: {\n \'my-emitter\': require(\'my-emitter\'),\n \'substream\': require(\'substream\')\n }\n});\n```\n\nIf you do not know which transformer and parser are used on the server, we\nexpose a small JSON "spec" file that exposes this information. The specification\ncan be reached on the `/<pathname>/spec` and will output the following JSON\ndocument:\n\n ```json\n {\n "version":"2.1.2",\n "pathname":"/primus",\n "parser":"json",\n "transformer":"websockets"\n }\n ```\n\n### Authorization\n\n#### Server\n\nPrimus has a built in auth hook that allows you to leverage the basic auth\nheader to validate the connection. To setup the optional auth hook, use the\n`Primus#authorize` method:\n\n```js\nvar authParser = require(\'basic-auth-parser\');\n\n//\n// Add hook on server\n//\nprimus.authorize(function (req, done) {\n var auth;\n\n try { auth = authParser(req.headers[\'authorization\']) }\n catch (ex) { return done(ex) }\n\n //\n // Do some async auth check\n //\n authCheck(auth, done);\n});\n\nprimus.on(\'connection\', function (spark) {\n //\n // You only get here if you make it through the auth hook!\n //\n});\n```\n\nIn this particular case, if an error is passed to `done` by `authCheck` or\nthe exception handler then the connection attempt will never make it to the\n`primus.on(\'connection\')` handler.\n\nThe error you pass can either be a string or an object. If an object, it can\nhave the following properties which affect the response sent to the client:\n\n- `statusCode`: The HTTP status code returned to the client. Defaults to 401.\n- `authenticate`: If set and `statusCode` is 401 then a `WWW-Authenticate`\n header is added to the response, with a value equal to the `authenticate`\n property\'s value.\n- `message`: The error message returned to the client. The response body will be\n `{error: message}`, JSON-encoded.\n\nIf the error you pass is a string then a 401 response is sent to the client\nwith no `WWW-Authenticate` header and the string as the error message.\n\nFor example to send 500 when an exception is caught, 403 for forbidden users\nand details of the basic auth scheme being used when authentication fails:\n\n```js\nprimus.authorize(function (req, done) {\n var auth;\n\n if (req.headers.authorization) {\n try { auth = authParser(req.headers.authorization) }\n catch (ex) { \n ex.statusCode = 500;\n return done(ex);\n }\n\n if ((auth.scheme === \'myscheme\') &&\n checkCredentials(auth.username, auth.password)) {\n if (userAllowed(auth.username)) {\n return done();\n } else {\n return done({ statusCode: 403, message: \'Go away!\' });\n }\n }\n }\n\n done({\n message: \'Authentication required\',\n authenticate: \'Basic realm="myscheme"\'\n });\n});\n```\n\n#### Client\n\nUnfortunately, the amount of detail you get in your client when authorization\nfails depends on the transformer in use. Most real-time frameworks supported\nby Primus don\'t expose the status code, headers or response body.\n\nThe WebSocket transformer\'s underlying transport socket will fire an\n`unexpected-response` event with the HTTP request and response:\n\n```js\nclient.on(\'outgoing::open\', function ()\n{\n client.socket.on(\'unexpected-response\', function (req, res)\n {\n console.error(res.statusCode);\n console.error(res.headers[\'www-authenticate\']);\n\n // it\'s up to us to close the request (although it will time out)\n req.abort();\n\n // it\'s also up to us to emit an error so primus can clean up\n socket.socket.emit(\'error\', \'authorization failed: \' + res.statusCode);\n });\n});\n```\n\nIf you want to read the response body then you can do something like this:\n\n```js\nclient.on(\'outgoing::open\', function ()\n{\n client.socket.on(\'unexpected-response\', function (req, res)\n {\n console.error(res.statusCode);\n console.error(res.headers[\'www-authenticate\']);\n\n var data = \'\';\n\n res.on(\'data\', function (v) {\n data += v;\n });\n\n res.on(\'end\', function () {\n // remember error message is in the \'error\' property\n socket.socket.emit(\'error\', new Error(obj.error));\n });\n });\n});\n```\n\nIf `unexpected-response` isn\'t caught (because the WebSocket transformer isn\'t\nbeing used or you don\'t listen for it) then you\'ll get an `error` event:\n\n```js\nprimus.on(\'error\', function error(err) {\n console.error(\'Something horrible has happened\', err, err.message);\n});\n```\n\nAs noted above, `err` won\'t contain any details about the authorization failure\nso you won\'t be able to distinguish it from other errors.\n\n### Broadcasting\n\nBroadcasting allows you to write a message to every connected `Spark` on your server.\nThere are 2 different ways of doing broadcasting in Primus. The easiest way is to\nuse the `Primus#write` method which will write a message to every connected user:\n\n```js\nprimus.write(message);\n```\n\nThere are cases where you only want to broadcast a message to a smaller group of\nusers. To make it easier to do this, we\'ve added a `Primus#forEach` method which\nallows you to iterate over all active connections.\n\n```js\nprimus.forEach(function (spark, id, connections) {\n if (spark.query.foo !== \'bar\') return;\n\n spark.write(\'message\');\n});\n```\n\nThe method can be also used asynchronously. To enable the asynchronous iteration\nyou have to call `Primus#forEach` with two arguments. The first is the iterator\nfunction that is called on every step. The iterator is called with a connection\nfrom the list and a callback for when it has finished. The second argument is\nthe main callback and is called when the iteration has finished.\n\n```js\nprimus.forEach(function (spark, next) {\n //\n // Do something and call next when done\n //\n next();\n}, function (err) {\n console.log(\'We are done\');\n});\n```\n\n### Destruction\n\nIn rare cases you might need to destroy the Primus instance you\'ve created. You\ncan use the `primus.destroy()` or `primus.end()` method for this. This method\naccepts an Object which allows you to configure how you want the connections to\nbe destroyed:\n\n- `close` Close the HTTP server that Primus received. Defaults to `true`.\n- `end` End all active connections. Defaults to `true`.\n- `timeout` Clean up the server and optionally, it\'s active connections after\n the specified amount of timeout. Defaults to `0`.\n\nThe timeout is especially useful if you want gracefully shutdown your server but\nreally don\'t want to wait an infinite amount of time.\n\n```js\nprimus.destroy({ timeout: 10000 });\n```\n\n### Events\n\nPrimus is build upon the Stream and EventEmitter interfaces. This is a summary\nof the events emitted by Primus.\n\nEvent | Usage | Location | Description\n----------------------|-------------|---------------|----------------------------------------\n`outgoing::reconnect` | private | client | Transformer should reconnect.\n`reconnecting` | **public** | client | We\'re scheduling a reconnect.\n`reconnect` | **public** | client | Reconnect attempt is about to be made.\n`timeout` | **public** | client | Failed to connect to server.\n`outgoing::open` | private | client/spark | Transformer should connect.\n`incoming::open` | private | client/spark | Transformer has connected.\n`open` | **public** | client | Connection is open.\n`incoming::error` | private | client | Transformer received error.\n`error` | **public** | client/spark | An error happened.\n`incoming::data` | private | client/server | Transformer received data.\n`outgoing::data` | private | client/spark | Transformer should write data.\n`data` | **public** | client/spark | We received data.\n`incoming::end` | private | client/spark | Transformer closed the connection.\n`outgoing::end` | private | client/spark | Transformer should close connection.\n`end` | **public** | client/spark | The connection has ended\n`close` | **public** | client/server | The connection is closed by transformer, we might retry. And the server has shutdown.\n`connection` | **public** | server | We received a new connection.\n`disconnection` | **public** | server | A connection closed.\n`initialised` | **public** | server | The server is initialised.\n`close` | **public** | server | The server has been destroyed.\n`incoming::pong` | private | client | We received a pong message.\n`outgoing::ping` | private | client | We\'re sending a ping message.\n`online` | **public** | client | We\'ve regained a network connection\n`offline` | **public** | client | We\'ve lost our internet connection\n`log` | **public** | server | Log messages.\n`readyStateChange` | **public** | client/spark | The readyState has changed.\n`outgoing::url` | private | client | The options used to construct the URL.\n\nAs a rule of thumb assume that every event that is prefixed with `incoming::` or\n`outgoing::` is reserved for internal use only and that emitting such events your\nself will most likely result in c̮̫̞͚͉̮̙͕̳̲͉̤̗̹̮̦̪̖̱h̛͍͙̖̟͕̹͕̙̦̣̲̠̪̯̳͖̝̩a̴̝̦͇̥̠̟͚̳̤̹̗̻̭͍͖͕͓̻o̥̹̮̙͔̗͍͚͓̗̦̹͈͙͕̘̮͖̝ș̗̲̤̗̮͈̙͈̹̼̣̹̖̱̤̼̺̤ ̻͙̗̥̠̱͇̱̝̟̺͍̺̼͆̅̓̓̇a̜̖͈͇͎͙̲̙̗͇̫̘̖̹͖͓͔̺̱n̹͓̮͇̯̜̤̗͍̯̰̫̫̖̰ͬ͌ͬͫd͚̪͚̭͚̥̰̤̟͎̝̲̯̭̹̭̙̼̤ ͖̞̙̹͈͚̥̦͚͉͖̼̬͓͚̳͉͙͎d̴͚̱̮̗͍̩̻̰̣̫͉͈̞̲͉̫̞͔ẻͩͦ̃͌̿̐ͪͩ̌̇͂̆̑͐ͣ ҉̲͉͔͎̤̼̘͇̮̥̻̜̹̥͚̲̻̖s̶̗̻̫̼̠̳̗̺̤̗̳͈̪̮̗̝͇͈t̙͇͕̺̱̼̤̗̰̬̣͌ͬͧ͊́ͧͩ͌r͌̐̓̃ͥ̄ͤ͑̈ͬ͆ͬ͂̇̿̅ ҉̙̼̳̭̙͍̻̱̠͈̮̺̣̝̱̙̺͉ư̳͎̻͔̯̪̝͕͚̣̜̼̞͇̠̘̠̪c̨̫͙͙̬̰̰̫̐͋͊͑̌̾̉͆t͚̗͕̝̤̗͕̲̮̝̼̺͙͚̟͓̣̥͍ĭ͙̘̩̖͇͎̆̍̿̾ͤ̔̉̈̂̾̈ͭo̬̠̝͈̺̙̮̬̗̪̤͕͇͕̰̮͖͉̬n̙̪̤̝̹͖͖̻̬̹͙̞̗͓̞̭̜̠̟.\n\nTo make it easier for developers to emit events on primus it self we\'ve added an\nsmall helper function that checks if the event you want to emit is reserved for\nPrimus only. This would be all `incoming::` and `outgoing::` prefixed events and\nthe events listed above. This method is called `<class>.reserved()` and it\'s\nimplemented on the `Spark`:\n\n```js\nprimus.on(\'connection\', function connection(spark) {\n spark.on(\'data\', function (data) {\n //\n // Just imagine that we receive an array of arguments from the client which\n // first argument is the name of the event that we need to emit and the\n // second argument are the arguments for function.\n //\n if (spark.reserved(data.args[0])) return;\n\n spark.emit.apply(spark, data.args[0]);\n });\n});\n```\n\nBut also the client:\n\n```js\nvar primus = new Primus(\'http://example.bar\');\n\nprimus.on(\'data\', function (data) {\n if (primus.reserved(data.args[0])) return;\n\n primus.emit.apply(primus, data.args);\n});\n```\n\nAnd of course the `Primus` instance as well.\n\n### Heartbeats and latency\n\nHeartbeats are used in Primus to figure out if we still have an active, working\nand reliable connection with the server. These heartbeats are send from the\n**client** to the server.\n\nthe heartbeats will only be send when there is an idle connection, so there is\nvery little to no overhead at all. The main reason for this is that we already\nknow that the connection is alive when we receive data from the server.\n\nThe heartbeat package that we send over the connection is\n`primus::ping::<timestamp>`. The server will echo back the exact same package.\nThis allows Primus to also calculate the latency between messages by simply\ngetting the `<timestamp>` from echo and comparing it with the local time. This\nheartbeat is then stored in a `primus.latency` properly. The initial value of\nthe `primus.latency` is to the time it took to send an `open` package and to\nactually receive a confirmation that the connection has been opened.\n\n### Supported Real-time Frameworks\n\nThe following transformers/transports are supported in Primus:\n\n#### Engine.IO\n\nEngine.IO is the low level transport functionality of Socket.IO 1.0. It supports\nmultiple transports for creating a real-time connection. It uses transport\nupgrading instead of downgrading which makes it more resilient to blocking\nproxies and firewalls. To enable `engine.io` you need to install the `engine.io`\nmodule:\n\n```\nnpm install engine.io --save\n```\n\nAnd tell `Primus` that you want to use `engine.io` as transformer:\n\n```js\nvar primus = new Primus(server, { transformer: \'engine.io\' });\n```\n\nIf you want to use the client interface inside of Node.js you also need to\ninstall the `engine.io-client`:\n\n```\nnpm install engine.io-client --save\n```\n\nAnd then you can access it from your server instance:\n\n```js\nvar Socket = primus.Socket\n , socket = new Socket(\'url\');\n```\n\n#### WebSockets\n\nIf you are targeting a high end audience or maybe just something for internal\nuses you can use a pure WebSocket server. This uses the `ws` WebSocket module\nwhich is known to be one of, if not the fastest, WebSocket servers available in\nNode.js and supports all protocol specifications. To use pure WebSockets you\nneed to install the `ws` module:\n\n```\nnpm install ws --save\n```\n\nAnd tell `Primus` that you want to use `WebSockets` as transformer:\n\n```js\nvar primus = new Primus(server, { transformer: \'websockets\' });\n```\n\nThe `WebSockets` transformer comes with built-in client support and can be\naccessed using:\n\n```js\nvar Socket = primus.Socket\n , socket = new Socket(\'url\');\n```\n\n#### BrowserChannel\n\nBrowserChannel was the original technology that GMail used for their real-time\ncommunication. It\'s designed for same domain communication and does not use\nWebSockets. To use BrowserChannel you need to install the `browserchannel`\nmodule:\n\n```\nnpm install browserchannel --save\n```\n\nAnd tell `Primus` that you want to use `browserchannel` as transformer:\n\n```js\nvar primus = new Primus(server, { transformer: \'browserchannel\' });\n```\n\nThe `browserchannel` transformer comes with built-in node client support and can be\naccessed using:\n\n```js\nvar Socket = primus.Socket\n , socket = new Socket(\'url\');\n```\n\nPlease note that you should use at least version `1.0.6` which contains support\nfor query strings.\n\n#### SockJS\n\nSockJS is a real-time server that focuses on cross-domain connections and does\nthis by using multiple transports. To use SockJS you need to install the\n`sockjs` module:\n\n```\nnpm install sockjs --save\n```\n\nAnd tell `Primus` that you want to use `sockjs` as transformer:\n\n```js\nvar primus = new Primus(server, { transformer: \'sockjs\' });\n```\n\nIf you want to use the client interface inside of Node.js you also need to\ninstall the `sockjs-client-node` module:\n\n```\nnpm install sockjs-client-node --save\n```\n\nAnd then you can access it from your server instance:\n\n```js\nvar Socket = primus.Socket\n , socket = new Socket(\'url\');\n```\n\n#### Socket.IO\n\nThe Socket.IO transport was written against Socket.IO 0.9.x. It was one of the\nfirst real-time servers written on Node.js and is one of the most used modules\nin Node.js. It uses multiple transports to connect the server. To use Socket.IO\nyou need to install the `socket.io` module:\n\n```\nnpm install socket.io --save\n```\n\nAnd tell `Primus` that you want to use `socket.io` as transformer:\n\n```js\nvar primus = new Primus(server, { transformer: \'socket.io\' });\n```\n\nIf you want to use the client interface inside of Node.js you also need to\ninstall the `socket.io-client`:\n\n```\nnpm install socket.io-client --save\n```\n\nAnd then you can access it from your server instance:\n\n```js\nvar Socket = primus.Socket\n , socket = new Socket(\'url\');\n```\n\n**Note: Primus will never support Socket.IO 1.0. As it\'s just an abstraction build\nupon Engine.IO so it makes more sense to use Engine.IO in Primus directly.\nSocket.IO 0.9.x will be supported as it uses a completely different transport\nsystem.**\n\nAs you can see from the examples above, it doesn\'t matter how you write the name\nof the transformer, we just `toLowerCase()` everything.\n\n### Transformer Inconsistencies\n\n- BrowserChannel does not give you access to the `remotePort` of the incoming\n connection. So when you access `spark.address` the `port` property will be set\n to `1337` by default.\n- SockJS does not support connections with query strings. You can still supply a\n query string in the `new Primus(\'http://localhost:80?q=s\')` but it will not be\n accessible in the `spark.query` property as it will be an empty object.\n- BrowserChannel is the only transformer that does not support cross domain\n connections.\n- SockJS and BrowserChannel are originally written in CoffeeScript which can\n make it harder to debug when their internals are failing.\n- Engine.IO and SockJS do not ship their client-side library with their server\n side component. We\'re bundling a snapshot of these libraries inside of Primus.\n We will always be targeting the latest version of these transformers when we\n bundle the library.\n- There are small bugs in Engine.IO that are causing our tests to fail. I\'ve\n submitted patches for these bugs, but they have been rejected for silly reasons.\n The bug causes closed connections to say open. If you\'re experiencing this you\n can apply this [patch](http://github.com/3rd-Eden/engine.io/commit/0cf81270e9d5700).\n\n### Middleware\n\nPrimus has two ways of extending the functionality. We have [plugins](#plugins)\nbut also support middleware. And there is an important difference between these.\nThe middleware layers allows you to modify the incoming requests **before** they\nare passed in to the transformers. The middleware layer is only ran for the\nrequests that are handled by Primus. \n\nWe support 2 kind of middleware, **async** and **sync** middleware. The main\ndifference between these kinds is that sync middleware doesn\'t require a\ncallback, it is completely optional. In Primus, we eat our own dog food. Various\nof components in Primus are implemented through middleware layers:\n\n- `cors`: Adds the Access Control headers.\n- `primus.js`: It serves our `primus.js` client file.\n- `spec`: It outputs the server specification.\n- `authorization` Our authorization handler.\n\n#### Primus.before(name, fn, options, index)\n\nThe `primus.before` method is how you add middleware layers to your system. All\nmiddleware layers need to be named. This allows you to also enable, disable and\nremove middleware layers. The supplied function can either be a pre-configured\nfunction that is ready to answer request/response or an unconfigured\nmiddleware. An unconfigured middleware is a function with less then 2 arguments.\nWe execute this function automatically with `Primus` as context of the function\nand optionally, the options that got provided:\n\n```js\nprimus.before(\'name\', function () {\n var primus = this;\n\n return function (req, res) {\n res.end(\'foo\');\n }\n}, { foo: \'bar\' });\n```\n\nAs you can see in the example above, we assume that you return the actual\nmiddleware layer. If you don\'t need any pre-configuration you can just supply\nthe function directly:\n\n```js\n// sync middleware\nprimus.before(\'name\', function (req, res) {\n\n});\n\n// async middleware\nprimus.before(\'name\', function (req, res, next) {\n doStuff();\n});\n```\n\nYou need to be aware that these middleware layers are running for HTTP requests\nbut also for upgrade requests. Certain middleware layers should only run for\nHTTP or Upgrade requests. To make it possible you can add a `http` or `upgrade`\nproperty to the middleware function and set it to `false` if you don\'t want it\nto be triggered.\n\n```js\nprimus.before(\'name\', function () {\n function middleware(req, res, next) {\n \n }\n\n middleware.upgrade = false; // Don\'t run this middleware for upgrades\n\n return middleware;\n});\n```\n\nBy default a new middleware layer is added after the previous one, but there\nare cases where you need to add a middleware at a specified index in\nthe stack. To accomplish this you can use the optional 0 based `index`\nargument.\n\n```js\n// add a middleware after the first two in the stack\nprimus.before(\'name\', function (req, res) {\n\n}, 2);\n```\n\n#### Primus.remove(name)\n\nThis method allows you to remove middleware\'s that are configured. This works\nfor the middleware layers that you added but also the middleware layers that we\nadd by default. If you want to use a different way to serve the `primus.js`\nfile you can simply:\n\n```js\nprimus.remove(\'primus.js\');\n```\n\nAnd add your own middleware instead.\n\n#### Primus.disable(name)\n\nIn addition to removing middleware layers, it\'s also possible to disable them so\nthey are skipped when we iterate over the middleware layers. It might be useful\nto just disable certain middleware layers in production.\n\n```js\nprimus.disable(\'name\');\n```\n\n#### Primus.enable(name)\n\nOf course, when you can disable middleware there also needs to be way to enable\nthem again. This is exactly what this method does. Re-enable a disabled\nmiddleware layer.\n\n```js\nprimus.enable(\'name\');\n```\n\n### Plugins\n\nPrimus was built as a low level interface where you can build your applications\nupon. At it\'s core, it\'s nothing more than something that passes messages back\nand forth between the client and server. To make it easier for developers to\nswitch to Primus we\'ve developed a simple but effective plugin system that\nallows you to extend Primus\'s functionality.\n\nPlugins are added on the server side in the form of an `Object`:\n\n```js\nprimus.use(\'name\', {\n server: function (primus, options) {},\n client: function (primus, options) {},\n library: \'client side library\'\n});\n```\n\nOr you can pass the plugin `Object` directly into the constructor:\n\n```js\nvar primus = new Primus(server, { plugin: {\n name: {\n server: function (primus, options) {},\n client: function (primus, options) {},\n library: \'client side library\'\n }\n}})\n```\n\nThe server function is only executed on the server side and receives 2\narguments:\n\n1. A reference to the initialised Primus server.\n2. The options that were passed in the `new Primus(server, { options })`\n constructor. So the plugin can be configured through the same interface.\n\nThe client receives the same arguments:\n\n1. A reference to the initialised Primus client.\n2. The options that were passed in the `new Primus(url, { options })`\n constructor. So the plugin can be configured through the same interface.\n\nThe only thing you need to remember is that the client is stored in the library\nusing `toString()` so it cannot have any references outside the client\'s\nclosure. But luckily, there\'s a `library` property that will also be included on\nthe client side when it\'s specified. The `library` property should be an\nabsolute path to the library file.\n\n#### Extending the Spark / Socket\n\nThe server has a `.Spark` property that can be extended. This allows you to\neasily add new functionality to the socket. For example adding join room\nfunction would be as easy as:\n\n```js\nprimus.use(\'rooms\', {\n server: function (primus) {\n var Spark = primus.Spark;\n\n Spark.prototype.join = function () {\n // implement room functionality.\n };\n }\n});\n```\n\n#### Transforming and intercepting messages\n\nIntercepting and transforming messages is something that a lot of plugins\nrequire. When your building an `EventEmitter` plugin or something else you\nprobably don\'t want the default `data` event to be emitted but your custom\nevent. There are 2 different types of messages that can be transformed:\n\n1. `incoming` These messages are being received by the server.\n2. `outgoing` These messages are being sent to the client.\n\nThe transformer is available on both the client and the server and share, like\nyou would have expected the same identical API. Adding a new transformer is\nrelatively straightforward:\n\n```js\nprimus.transform(\'incoming\', function (packet) {\n //\n // The packet.data contains the actual message that either received or\n // transformed.\n //\n\n // This would transform all incoming messages to foo;\n packet.data = \'foo\';\n\n // If you are handling the message and want to prevent the `data` event from\n // happening, simply `return false` at the end of your function. No new\n // transformers will be called, and the event won\'t be emitted.\n});\n```\n\nThese transformations can easily be done in the plugins:\n\n```js\nprimus.use(\'name\', {\n server: function (primus) {\n primus.transform(\'outgoing\', function (packet) {\n packet.data = \'foo\';\n });\n\n primus.transform(\'incoming\', function (packet) {\n if (packet.data === \'foo\') packet.data = \'bar\';\n });\n },\n\n client: function (primus) {\n primus.transform(\'outgoing\', function (packet) {\n packet.data = \'foo\';\n });\n\n primus.transform(\'incoming\', function (packet) {\n if (packet.data === \'foo\') packet.data = \'bar\';\n });\n }\n});\n```\n\n#### Community Plugins\n\nThese are plugins created by our amazing community. Do you have a module that\nyou want to have listed here? Make sure it has test suite and runs on [Travis CI].\nAfter that open a pull request where you added your module to this README.md and\nsee it be merged automatically.\n\n<dl>\n <dt><a href="http://github.com/cayasso/primus-rooms">primus-rooms</a></dt>\n <dd>\n A module that adds rooms capabilities to Primus. It\'s based on the rooms\n implementation of Socket.IO.\n </dd>\n <dd>\n <a href="https://travis-ci.org/cayasso/primus-rooms">\n <img src="https://travis-ci.org/cayasso/primus-rooms.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-rooms">\n <img src="https://badge.fury.io/js/primus-rooms.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="http://github.com/cayasso/primus-multiplex">primus-multiplex</a></dt>\n <dd>\n A module that adds multiplexing capabilities to Primus.\n </dd>\n <dd>\n <a href="https://travis-ci.org/cayasso/primus-multiplex">\n <img src="https://travis-ci.org/cayasso/primus-multiplex.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-multiplex">\n <img src="https://badge.fury.io/js/primus-multiplex.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="http://github.com/cayasso/primus-emitter">primus-emitter</a></dt>\n <dd>\n A module that adds emitter capabilities to Primus.\n </dd>\n <dd>\n <a href="https://travis-ci.org/cayasso/primus-emitter">\n <img src="https://travis-ci.org/cayasso/primus-emitter.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-emitter">\n <img src="https://badge.fury.io/js/primus-emitter.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="http://github.com/neoziro/primus-cluster">primus-cluster</a></dt>\n <dd>\n Scale Primus across multiple servers or with node cluster.\n </dd>\n <dd>\n <a href="https://travis-ci.org/neoziro/primus-cluster">\n <img src="https://travis-ci.org/neoziro/primus-cluster.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-cluster">\n <img src="https://badge.fury.io/js/primus-cluster.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="http://github.com/swissmanu/primus-responder">primus-responder</a></dt>\n <dd>\n Client and server plugin that adds a request/response cycle to Primus.\n </dd>\n <dd>\n <a href="https://travis-ci.org/swissmanu/primus-responder">\n <img src="https://travis-ci.org/swissmanu/primus-responder.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-responder">\n <img src="https://badge.fury.io/js/primus-responder.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="http://github.com/mmalecki/primus-redis">primus-redis</a></dt>\n <dd>\n primus-redis is a Redis store for Primus. It takes care of distributing \n messages to other instances using Redis Pub/Sub.\n </dd>\n <dd>\n <a href="https://travis-ci.org/mmalecki/primus-redis">\n <img src="https://travis-ci.org/mmalecki/primus-redis.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-redis">\n <img src="https://badge.fury.io/js/primus-redis.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="http://github.com/mmalecki/primus-redis-rooms">primus-redis-rooms</a></dt>\n <dd>\n primus-redis-rooms is a Redis store for Primus and primus-rooms.\n </dd>\n <dd>\n <a href="https://travis-ci.org/mmalecki/primus-redis-rooms">\n <img src="https://travis-ci.org/mmalecki/primus-redis-rooms.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-redis-rooms">\n <img src="https://badge.fury.io/js/primus-redis-rooms.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="http://github.com/cayasso/primus-resource">primus-resource</a></dt>\n <dd>\n Define resources with auto-binded methods that can be called remotely on top of Primus. \n </dd>\n <dd>\n <a href="https://travis-ci.org/cayasso/primus-resource">\n <img src="https://travis-ci.org/cayasso/primus-resource.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-resource">\n <img src="https://badge.fury.io/js/primus-resource.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt>\n <a href="https://github.com/latentflip/hapi_primus_sessions">\n hapi_primus_sessions\n </a>\n </dt>\n <dd>\n A hapi and primus plugin which extends primus\' spark with a `getSession(cb)`\n method which returns the current hapi session object.\n </dd>\n <dd>\n <a href="http://badge.fury.io/js/hapi_primus_sessions">\n <img src="https://badge.fury.io/js/hapi_primus_sessions.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="https://github.com/zeMirco/primus-express-session">primus-express-session</a></dt>\n <dd>\n Share a user session between Express and Primus.\n </dd>\n <dd>\n <a href="https://travis-ci.org/zeMirco/primus-express-session">\n <img src="https://travis-ci.org/zeMirco/primus-express-session.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-express-session">\n <img src="https://badge.fury.io/js/primus-express-session.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="https://github.com/Shopetti/backbone.primus/">backbone.primus</a></dt>\n <dd>\n Bind primus.io events to backbone models and collections.\n </dd>\n <dd>\n <a href="https://travis-ci.org/Shopetti/backbone.primus">\n <img src="https://travis-ci.org/Shopetti/backbone.primus.svg?branch=master" alt="Build Status" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="https://github.com/fishrock123/primus-spark-latency/">primus-spark-latency</a></dt>\n <dd>\n Adds a latency property to primus sparks server-side.\n </dd>\n <dd>\n <a href="https://travis-ci.org/Fishrock123/primus-spark-latency">\n <img src="https://travis-ci.org/Fishrock123/primus-spark-latency.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-spark-latency">\n <img src="https://badge.fury.io/js/primus-spark-latency.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n\n**In addition to these community provided plugins, the Primus project also\nprovides the following plugins:**\n\n\n<dl>\n <dt><a href="http://github.com/primus/substream">substream</a></dt>\n <dd>\n Substream is an opinionated but stream compatible connection multiplexer on\n top of the Primus connections. These streams can be created without\n pre-defining them on the server or client.\n </dd>\n <dd>\n <a href="https://travis-ci.org/primus/substream">\n <img src="https://travis-ci.org/primus/substream.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/substream">\n <img src="https://badge.fury.io/js/substream.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n<dl>\n <dt><a href="http://github.com/primus/emit">primus-emit</a></dt>\n <dd>\n The emit module adds client -> server and server -> client event emitting to Primus.\n </dd>\n <dd>\n <a href="https://travis-ci.org/primus/emit">\n <img src="https://travis-ci.org/primus/emit.svg?branch=master" alt="Build Status" />\n </a>\n <a href="http://badge.fury.io/js/primus-emit">\n <img src="https://badge.fury.io/js/primus-emit.svg" alt="NPM version" />\n </a>\n </dd>\n</dl>\n\n[Travis CI]: https://travis-ci.org/\n\n### Example\n\nThere is a small example folder included in this repository which allows to\neasily play with the real-time connection. The code in the example is heavily\ncommented for your reading pleasure. The example requires some extra\ndependencies so don\'t forget to run `npm install .` in the folder. The example\ncan be run using `npm start` or if you want to customize the\nparsers/transformers you can use:\n\n```\nnode index.js --transformer <name> --parser <name> --port <number>\n```\n\nThe example is also hosted on [Nodejitsu] an can be accessed at:\n\nhttp://primus-example.nodejitsu.com/\n\nPlease note that the site can be down from time to time as it supports killing\nthe server to trigger reconnects. So you can see what happens when you restart\nyour server/application.\n\n[Nodejitsu]: https://www.nodejitsu.com/\n\n#### Community\n\nUsing Primus in production or created an awesome demo using the technology?\nWe\'ve set up a special [wiki] page for it where you can show your awesome\ncreations or learn from demo and example applications how to use Primus.\nCheckout the wiki page out at:\n\nhttps://github.com/primus/primus/wiki/Production\n\n[wiki]: https://github.com/primus/primus/wiki\n\n### FAQ\n\n#### What is the best way to scale Primus\n\nScaling Primus is as simple as sticking it behind a load balancer that supports\n[sticky sessions](https://github.com/primus/primus/issues/147) and run multiple\nversions of your application. This is a vital feature that your load balancer\nneeds to support. This ensures that the incoming requests always go back to the\nsame server. If your load balancer does not support sticky sessions, get another\none. I highly recommend [HAProxy](http://haproxy.1wt.eu/). According to my own\ntesting it the fastest and best proxy available that supports WebSockets. See\nhttps://github.com/observing/balancerbattle for more detailed information.\n\n#### How do I use Primus with Express 3\n\nExpress 3\'s `express()` instance isn\'t a valid HTTP server. In order to make it\nwork with `Primus` and other real-time transformers you need to feed the instance\nto a real `http` server and supply this server. See example below:\n\n```js\n\'use strict\';\n\nvar express = require(\'express\')\n , Primus = require(\'primus\')\n , app = express();\n\n//\n// Do your express magic.\n//\n\nvar server = require(\'http\').createServer(app)\n , primus = new Primus(server, { options });\n\nserver.listen(port);\n```\n\n#### Is require.js supported\n\nRequire.js is supported to a certain degree. The `primus.js` core file should be\ncompatible with require.js but it could be that the transformer of your choosing\nisn\'t compatible with require.js. For example `engine.io` uses `component` which\nintroduces it\'s own `require` function that causes issues. In addition to that,\nthere are plugins which might use these modules that break require.js. The\ngeneral advice for this is to drop require.js in favour of plain script loading\nor use of browserify where possible. If you feel strong about require.js we accept\npull requests that improve this behaviour or helps us save guard against these\nissues.\n\n#### Can I send custom headers to the server\n\nIt is not possible to send custom headers from the client to the server. This is\nbecause these headers need to be set by the actual transports that the\ntransformers are using. The only transport that would support this would be AJAX\npolling. To send custom data to the server use a query string in your connection\nURL, as this is something that all transports support. The only noticeable\nexception for this case is SockJS as it doesn\'t allow query strings in the\nconnection URL.\n\n```js\nvar primus = new Primus(\'http://localhost:8080/?token=1&name=foo\');\n```\n\n### Versioning\n\n#### History\n\nYou can discover the version history and change logs on the\n[Releases](https://github.com/primus/primus/releases) page\n\n#### Convention\n\nAll `0.x.x` releases should be considered unstable and not ready for production.\nThe version number is laid out as: `major.minor.patch` and tries to follow\nsemver as closely as possible but this is how we use our version numbering:\n\n<dl>\n <dt>major</dt>\n <dd>\n <p>\n A major and possible breaking change has been made in the primus core.\n These changes are not backwards compatible with older versions.\n </p>\n </dd>\n <dt>minor</dt>\n <dd>\n <p>\n New features are added or a big change has happened with one of the\n real-time libraries that we\'re supporting.\n </p>\n </dd>\n <dt>patch</dt>\n <dd>\n <p>\n A bug has been fixed, without any major internal and breaking changes.\n </p>\n </dd>\n</dl>\n\n#### Release cycle\n\nThere isn\'t a steady or monthly release cycle. We usually release a new \nversion when:\n\n1. A critical bug is discovered.\n2. There have been a lot of minor changes.\n3. A framework did an incompatible update.\n4. A new framework is added.\n5. People ask for it.\n\n### Other languages\n\nThese projects are maintained by our valuable community and allow you to use\nprimus in a different language than JavaScript:\n\n<dl>\n <dt><a href="https://github.com/seegno/primus-objc">primus-objc</a></dt>\n <dd>\n <a href="https://travis-ci.org/seegno/primus-objc">\n <img src="https://travis-ci.org/seegno/primus-objc.svg" alt="Build Status" />\n </a>\n </dd>\n <dd>\n A client written in Objective-C for the Primus real-time framework with\n initial support for web sockets (via SocketRocket) and socket.io (via\n socket.IO-objc). Easily switch between different real-time Objective-C\n frameworks without any code changes.\n </dd>\n</dl>\n\nWant to have your project listed here? Add it using a pull-request!\n\n### License\n\nMIT\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved bugs: { url: 'https://github.com/primus/primus/issues' },
19983 silly resolved _id: 'primus@2.2.1',
19983 silly resolved _shasum: '63213f86867cba18589e30d58c1e3e9170c7a6a2',
19983 silly resolved _from: 'primus@2.2.x',
19983 silly resolved _resolved: 'https://registry.npmjs.org/primus/-/primus-2.2.1.tgz' },
19983 silly resolved { name: 'pagelet',
19983 silly resolved version: '0.3.3',
19983 silly resolved description: 'pagelet',
19983 silly resolved main: 'index.js',
19983 silly resolved scripts:
19983 silly resolved { test: 'NODE_ENV=test ./node_modules/.bin/mocha $(find test -name \'*.test.js\')',
19983 silly resolved coverage: 'NODE_ENV=test ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha $(find test -name \'*.test.js\') --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js || true && rm -rf ./coverage' },
19983 silly resolved repository: { type: 'git', url: 'https://github.com/bigpipe/pagelet' },
19983 silly resolved keywords: [ 'pagelet', 'bigpipe' ],
19983 silly resolved author: { name: 'Arnout Kazemier' },
19983 silly resolved license: 'MIT',
19983 silly resolved bugs: { url: 'https://github.com/bigpipe/pagelet/issues' },
19983 silly resolved homepage: 'http://bigpipe.io',
19983 silly resolved dependencies:
19983 silly resolved { debug: '0.8.x',
19983 silly resolved 'dot-component': '0.1.x',
19983 silly resolved fusing: '0.2.x',
19983 silly resolved 'json-stringify-safe': '5.0.x',
19983 silly resolved temper: '0.1.x' },
19983 silly resolved devDependencies:
19983 silly resolved { chai: '1.9.x',
19983 silly resolved coveralls: '2.8.x',
19983 silly resolved istanbul: '0.2.x',
19983 silly resolved mocha: '1.18.x',
19983 silly resolved 'mocha-lcov-reporter': '0.0.x',
19983 silly resolved 'pre-commit': '0.0.x' },
19983 silly resolved readme: '# Pagelet [![Build Status][status]](https://travis-ci.org/bigpipe/pagelet) [![NPM version][npmimgurl]](http://badge.fury.io/js/pagelet) [![Coverage Status][coverage]](http://coveralls.io/r/bigpipe/pagelet?branch=master)\n\n[status]: https://travis-ci.org/bigpipe/pagelet.png\n[npmimgurl]: https://badge.fury.io/js/pagelet.png\n[coverage]: http://coveralls.io/repos/bigpipe/pagelet/badge.png?branch=master\n\n## Installation\n\nIn all of the following code examples we assume that the `Pagelet` variable is\neither exposed as:\n\n```js\nvar Pagelet = require(\'pagelet\');\n```\n\nOr using the BigPipe framework:\n\n```js\nvar Pagelet = require(\'bigpipe\').Pagelet;\n```\n\n## Table of Contents\n\n**Pagelet function**\n- [Pagelet.extend](#pageletextend)\n- [Pagelet.on](#pageleton)\n\n**Pagelet instance**\n- [Pagelet.name](#pageletname)\n- [Pagelet.RPC](#pageletrpc)\n- [Pagelet.fragment](#pageletfragment)\n- [Pagelet.remove](#pageletremove)\n- [Pagelet.view](#pageletview)\n- [Pagelet.error](#pageleterror)\n- [Pagelet.engine](#pageletengine)\n- [Pagelet.query](#pageletquery)\n- [Pagelet.css](#pageletcss)\n- [Pagelet.js](#pageletjs)\n- [Pagelet.dependencies](#pageletdependencies)\n- [Pagelet.get()](#pageletget)\n- [Pagelet.authorize()](#pageletauthorize)\n- [Pagelet.initialize()](#pageletinitialize)\n- [Pagelet.id](#pageletid)\n- [Pagelet.substream](#pageletsubstream)\n\n### Pagelet.extend\n\nThe `.extend` method is used for creating a new Pagelet constructor. It\nsubclasses the `Pagelet` constructor just like you\'re used to when using\n[Backbone]. It accepts an object which will be automatically applied as part of\nthe prototype:\n\n```js\nPagelet.extend({\n js: \'client.js\',\n css: \'sidebar.styl\',\n view: \'templ.jade\',\n\n get: function get() {\n // do stuff when GET is called via render\n }\n});\n```\n\n### Pagelet.on\n\nIn [BigPipe] we need to know where the Pagelet is required from so we figure out\nhow to correctly resolve the relative paths of the `css`, `js` and `view`\nproperties.\n\nSo a full constructed Pagelet instance looks like:\n\n```js\nPagelet.extend({\n my: \'prop\',\n and: function () {}\n}).on(module);\n```\n\nThis has the added benefit of no longer needing to do `module.exports = ..` in\nyour code as the `Pagelet.on` method automatically does this for you.\n\n### Pagelet.name\n\n_required:_ **writable, string**\n\nEvery pagelet should have a name, it\'s one of the ways that [BigPipe] uses to\nidentify which pagelet and where it should be loaded on the page. The name\nshould be an unique but human readable string as this will be used as value for\nthe `data-pagelet=""` attributes on your [Page], but this name is also when you\nwant to check if a `Pagelet` is available.\n\n```js\nPagelet.extend({\n name: \'sidebar\'\n}).on(module);\n```\n\nIf no `name` property has been set on the Pagelet it will take the `key` that\nwas used when you specified the pagelets for the [Page]:\n\n```js\nvar Page = require(\'bigpipe\').Page;\n\nPage.extend({\n pagelets: {\n sidebar: \'../yourpagelet.js\',\n another: require(\'../yourpagelet.js\')\n }\n}).on(module);\n```\n\n### Pagelet.streaming\n\n_optional:_ **writable, boolean**\n\nWhen enabled we will stream the submit of each form that is within a Pagelet to\nthe server instead of using the default full page refreshes. After sending the\ndata the resulting HTML will be used to only update the contents of the pagelet.\n\nIf you want to opt-out of this with one form you can add a\n`data-pagelet-async="false"` attribute to the form element.\n\n```js\nPagelet.extend({\n streaming: true\n});\n```\n\n### Pagelet.RPC\n\n_optional:_ **writable, array**\n\nThe `RPC` array specifies the methods that can be remotely called from the\nclient/browser. Please note that they are not actually send to the client as\nthese functions will execute on the server and transfer the result back to the\nclient.\n\nThe first argument that these functions receive is an error first style callback\nwhich is used to transfer the response back to the client. All other arguments\nwill be the arguments that were used to call the method on the client.\n\n ```js\nPagelet.extend({\n RPC: [ \'methodname\' ],\n\n methodname: function methodname(reply, arg1, arg2) {\n\n }\n}).on(module);\n```\n\n### Pagelet.fragment\n\n_optional:_ **writable, string**\n\nA default fragment is provided via `Pagelet.fragment`, however it is\npossible to overwrite this default fragment with a custom fragment. This fragment\nis used by render to generate content with appropriate data to work with [BigPipe].\nChange `Pagelet.fragment` if you\'d like to invoke render and generate custom output.\n\n**Default value**: see [pagelet.fragment][frag]\n\n```js\nPagelet.extend({\n fragment: \'<div>pagelet::template</div>\',\n}).on(module);\n```\n\n### Pagelet.remove\n\n_optional:_ **writable, boolean**\n\nThis instructs our render engine to remove the pagelet placeholders from the DOM\nstructure if we\'re unauthorized. This makes it easier to create conditional\nlayouts without having to worry about DOM elements that are left behind.\n\n**Default value**: `true`\n\n```js\nPagelet.extend({\n authorize: auth,\n remove: false\n}).on(module);\n```\n\n### Pagelet.view\n\n_required:_ **writable, string**\n\nThe view is a reference to the template that we render inside the\n`data-pagelet="<name>"` placeholders. Please make sure that your template can be\nrendered on both the client and server side. Take a look at our [temper] project\nfor template engines that we support.\n\n### Pagelet.error\n\n_optional:_ **writable, string**\n\nJust like the `Pagelet.view` this is a reference to a template that we will\nrender in your `data-pagelet="<name>"` placeholders but this template is only\nrendered when:\n\n1. We receive an `Error` argument in our callback that we supply to the\n `Pagelet#get` method.\n2. Your `Pagelet.view` throws an error when we\'re rendering the template.\n\nIf this property is not set we will default to a template that ships with this\nPagelet by default. This template includes a small HTML fragment that states the\nerror.\n\n### Pagelet.engine\n\n_optional:_ **writable, string**\n\nWe attempt to detect the correct template engine based on filename as well as\nthe template engine\'s that we can require. It is possible that we make the wrong\nassumption and you wanted to use `handlebars` for your `.mustache` based\ntemplates but it choose to use `hogan.js` instead.\n\n```js\nPagelet.extend({\n view: \'sidebar.mustache\',\n engine: \'handlebars\'\n}).on(module);\n```\n\n**Please note that the engine needs to be compatible with the [temper] module\nthat we use to compile the templates**\n\n### Pagelet.query\n\n_optional:_ **writable, array**\n\nFor optimal performance the data that is send to the client will be minimal\nand dependant on they query that is provided. Data can be supplied to the client\nby listing the keys (nested paths in dot notation) of which the data should be\nsend to the client. In the example only the content of `mydata` and `nested.is`\nwill be send.\n\n```js\nPagelet.extend({\n query: [ \'mydata\', \'nested.is\' ],\n get: function get(done) {\n done(null, {\n mydata: \'test\',\n nested: { is: \'allowed\', left: \'alone\' },\n more: \'data\'\n });\n }\n}).on(module);\n```\n\n### Pagelet.css\n\n_optional:_ **writable, string**\n\nThe location of the styling for **only this** pagelet. You should assume that\nyou bundle all the CSS that is required to fully render this pagelet. By\neliminating inherited CSS it will be easier for you to re-use this pagelet on\nother pages as well as in other projects.\n\n```js\nPagelet.extend({\n css: \'./my-little-pony.styl\'\n}).on(module);\n```\n\n**Please note that this doesn\'t have to be a `.css` file as we will\ntransparently pre-process these files for you. See the [smithy] project for the\ncompatible pre-processors.**\n\n### Pagelet.js\n\n_optional:_ **writable, string**\n\nAs you might have guessed, this is the location of the JavaScript that you want\nto have loaded for your pagelet. We use [fortress] to sandbox this JavaScript in\na dedicated `iframe` so the code you write is not affected and will not affect\nother pagelets on the same page. This also makes it relatively save to extend\nthe build-in primitives of JavaScript (adding new properties to Array etc).\n\nUnlike the `view` and `css` we do not pre-process the JavaScript. But this does\nnot mean you cannot use CoffeeScript or other pre-processed languages inside a\nPagelet. It just means that you have to compile your files to a proper\nJavaScript file and point to that location instead.\n\n```js\nPagelet.extend({\n js: \'./library.js\'\n}).on(module);\n```\n\n**Please note that the sandboxing is not there as a security feature, it was\nonly designed to prevent code from different pagelets clashing with each other**\n\n### Pagelet.dependencies\n\n_optional:_ **writable, array**\n\nAn array of dependencies that your pagelet depends on which should be loaded in\nadvance and available on the page before any CSS or JavaScript is executed. The\nfiles listed in this array can either a be CSS or JavaScript resource.\n\n```js\npagelet.extend({\n dependencies: [\n \'https://google.com/ga.js\'\n ]\n}).on(module);\n```\n\n### Pagelet.get()\n\n_required:_ **writable, function**\n\nGet provides the data that is used for rendering the output of the Pagelet.\n\nThe `get` method receives one argument:\n\n- done: A completion callback which accepts two arguments. This callback should be\ncalled when your custom implementation has finished gathering data from all sources.\nCalling `done(error, data)` will allow the `render` method to complete its work.\nThe data provided to the callback will be used to render the actual Pagelet.\n\n```js\nPagelet.extend({\n get: function get(done) {\n var data = { provide: \'data-async\' };\n done(error, data);\n },\n}).on(module);\n```\n\n### Pagelet.authorize()\n\n_optional:_ **writable, function**\n\nThere is the possibility to create private pagelets. These pagelets could require\nspecial permissions in your application in order to be used. An example of this\nwould a special administrator UI element. When a pagelet is unauthorized it can\nbe removed from DOM structure of the page. See [Pagelet: remove] for changing\nthis behaviour.\n\nThe authorize method receives 2 arguments:\n\n- req: The incoming HTTP requirement.\n- done: A completion callback which only accepts one argument, a boolean. If\n this boolean has been set to `true` the pagelet is authorized on the page and\n will be rendered as expected. When the argument evaluates as `false` (so also\n null, undefined, 0 etc) we assume that it\'s disallowed and should not be\n rendered.\n\n```js\nPagelet.extend({\n authorize: function authorize(req, done) {\n done(true); // True indicates that the request is authorized for access.\n }\n}).on(module);\n```\n\n### Pagelet.initialize()\n\n_optional:_ **writable, function**\n\nThe pagelet has been initialised. If you have an authorization function this\nfunction will only be called **after** a successful authorization. If no\nauthorization hook is provided it should be called instantly.\n\n```js\nPagelet.extend({\n initialize: function () {\n this.once(\'event\', function () {\n doStuff();\n });\n }\n});\n```\n\n### Pagelet.id\n\n**read only**\n\nThe unique id of a given pagelet instance. Please note that this is not a\npersistent id and will differ between every single initialised instance.\n\n### Pagelet.substream\n\n**read only**\n\nThe pagelet can also be initialised through [Primus] so it can be used for\nreal-time communication (and make things like [RPC](#pagelet-rpc) work). The\ncommunication is done over a [substream] which allows Primus multiplex the\nconnection between various of endpoints.\n\n## License\n\nMIT\n\n[Backbone]: http://backbonejs.com\n[BigPipe]: http://bigpipe.io\n[Page]: http://bigpipe.io#page\n[temper]: http://github.com/bigpipe/temper\n[smithy]: http://github.com/observing/smithy\n[fortress]: http://github.com/bigpipe/fortress\n[frag]: https://github.com/bigpipe/pagelet/blob/master/pagelet.fragment\n[Primus]: https://github.com/primus/primus\n[substream]: https://github.com/primus/substream\n',
19983 silly resolved readmeFilename: 'README.md',
19983 silly resolved _id: 'pagelet@0.3.3',
19983 silly resolved _shasum: '5e0dc98616fa7d4265b9e14a5c04fbebcf7f6881',
19983 silly resolved _from: 'pagelet@~0.3.0',
19983 silly resolved _resolved: 'https://registry.npmjs.org/pagelet/-/pagelet-0.3.3.tgz' } ]
19984 info install eventemitter3@0.1.2 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19985 info install fusing@0.2.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19986 info install mkdirp@0.4.2 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19987 info install routable@0.0.2 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19988 info install trailers@0.0.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19989 info install substream@0.0.2 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19990 info install expirable@0.1.0 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19991 info install temper@0.1.9 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19992 info install pipe.js@0.2.4 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19993 info install smithy@0.5.0 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19994 info install formidable@1.0.14 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19995 info install ws@0.4.31 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19996 info install primus@2.2.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19997 info install pagelet@0.3.3 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe
19998 info installOne eventemitter3@0.1.2
19999 info installOne fusing@0.2.1
20000 info installOne mkdirp@0.4.2
20001 info installOne routable@0.0.2
20002 info installOne trailers@0.0.1
20003 info installOne substream@0.0.2
20004 info installOne expirable@0.1.0
20005 info installOne temper@0.1.9
20006 info installOne pipe.js@0.2.4
20007 info installOne smithy@0.5.0
20008 info installOne formidable@1.0.14
20009 info installOne ws@0.4.31
20010 info installOne primus@2.2.1
20011 info installOne pagelet@0.3.3
20012 silly resolved [ { name: 'pagelet',
20012 silly resolved version: '0.3.3',
20012 silly resolved description: 'pagelet',
20012 silly resolved main: 'index.js',
20012 silly resolved scripts:
20012 silly resolved { test: 'NODE_ENV=test ./node_modules/.bin/mocha $(find test -name \'*.test.js\')',
20012 silly resolved coverage: 'NODE_ENV=test ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha $(find test -name \'*.test.js\') --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js || true && rm -rf ./coverage' },
20012 silly resolved repository: { type: 'git', url: 'https://github.com/bigpipe/pagelet' },
20012 silly resolved keywords: [ 'pagelet', 'bigpipe' ],
20012 silly resolved author: { name: 'Arnout Kazemier' },
20012 silly resolved license: 'MIT',
20012 silly resolved bugs: { url: 'https://github.com/bigpipe/pagelet/issues' },
20012 silly resolved homepage: 'http://bigpipe.io',
20012 silly resolved dependencies:
20012 silly resolved { debug: '0.8.x',
20012 silly resolved 'dot-component': '0.1.x',
20012 silly resolved fusing: '0.2.x',
20012 silly resolved 'json-stringify-safe': '5.0.x',
20012 silly resolved temper: '0.1.x' },
20012 silly resolved devDependencies:
20012 silly resolved { chai: '1.9.x',
20012 silly resolved coveralls: '2.8.x',
20012 silly resolved istanbul: '0.2.x',
20012 silly resolved mocha: '1.18.x',
20012 silly resolved 'mocha-lcov-reporter': '0.0.x',
20012 silly resolved 'pre-commit': '0.0.x' },
20012 silly resolved readme: '# Pagelet [![Build Status][status]](https://travis-ci.org/bigpipe/pagelet) [![NPM version][npmimgurl]](http://badge.fury.io/js/pagelet) [![Coverage Status][coverage]](http://coveralls.io/r/bigpipe/pagelet?branch=master)\n\n[status]: https://travis-ci.org/bigpipe/pagelet.png\n[npmimgurl]: https://badge.fury.io/js/pagelet.png\n[coverage]: http://coveralls.io/repos/bigpipe/pagelet/badge.png?branch=master\n\n## Installation\n\nIn all of the following code examples we assume that the `Pagelet` variable is\neither exposed as:\n\n```js\nvar Pagelet = require(\'pagelet\');\n```\n\nOr using the BigPipe framework:\n\n```js\nvar Pagelet = require(\'bigpipe\').Pagelet;\n```\n\n## Table of Contents\n\n**Pagelet function**\n- [Pagelet.extend](#pageletextend)\n- [Pagelet.on](#pageleton)\n\n**Pagelet instance**\n- [Pagelet.name](#pageletname)\n- [Pagelet.RPC](#pageletrpc)\n- [Pagelet.fragment](#pageletfragment)\n- [Pagelet.remove](#pageletremove)\n- [Pagelet.view](#pageletview)\n- [Pagelet.error](#pageleterror)\n- [Pagelet.engine](#pageletengine)\n- [Pagelet.query](#pageletquery)\n- [Pagelet.css](#pageletcss)\n- [Pagelet.js](#pageletjs)\n- [Pagelet.dependencies](#pageletdependencies)\n- [Pagelet.get()](#pageletget)\n- [Pagelet.authorize()](#pageletauthorize)\n- [Pagelet.initialize()](#pageletinitialize)\n- [Pagelet.id](#pageletid)\n- [Pagelet.substream](#pageletsubstream)\n\n### Pagelet.extend\n\nThe `.extend` method is used for creating a new Pagelet constructor. It\nsubclasses the `Pagelet` constructor just like you\'re used to when using\n[Backbone]. It accepts an object which will be automatically applied as part of\nthe prototype:\n\n```js\nPagelet.extend({\n js: \'client.js\',\n css: \'sidebar.styl\',\n view: \'templ.jade\',\n\n get: function get() {\n // do stuff when GET is called via render\n }\n});\n```\n\n### Pagelet.on\n\nIn [BigPipe] we need to know where the Pagelet is required from so we figure out\nhow to correctly resolve the relative paths of the `css`, `js` and `view`\nproperties.\n\nSo a full constructed Pagelet instance looks like:\n\n```js\nPagelet.extend({\n my: \'prop\',\n and: function () {}\n}).on(module);\n```\n\nThis has the added benefit of no longer needing to do `module.exports = ..` in\nyour code as the `Pagelet.on` method automatically does this for you.\n\n### Pagelet.name\n\n_required:_ **writable, string**\n\nEvery pagelet should have a name, it\'s one of the ways that [BigPipe] uses to\nidentify which pagelet and where it should be loaded on the page. The name\nshould be an unique but human readable string as this will be used as value for\nthe `data-pagelet=""` attributes on your [Page], but this name is also when you\nwant to check if a `Pagelet` is available.\n\n```js\nPagelet.extend({\n name: \'sidebar\'\n}).on(module);\n```\n\nIf no `name` property has been set on the Pagelet it will take the `key` that\nwas used when you specified the pagelets for the [Page]:\n\n```js\nvar Page = require(\'bigpipe\').Page;\n\nPage.extend({\n pagelets: {\n sidebar: \'../yourpagelet.js\',\n another: require(\'../yourpagelet.js\')\n }\n}).on(module);\n```\n\n### Pagelet.streaming\n\n_optional:_ **writable, boolean**\n\nWhen enabled we will stream the submit of each form that is within a Pagelet to\nthe server instead of using the default full page refreshes. After sending the\ndata the resulting HTML will be used to only update the contents of the pagelet.\n\nIf you want to opt-out of this with one form you can add a\n`data-pagelet-async="false"` attribute to the form element.\n\n```js\nPagelet.extend({\n streaming: true\n});\n```\n\n### Pagelet.RPC\n\n_optional:_ **writable, array**\n\nThe `RPC` array specifies the methods that can be remotely called from the\nclient/browser. Please note that they are not actually send to the client as\nthese functions will execute on the server and transfer the result back to the\nclient.\n\nThe first argument that these functions receive is an error first style callback\nwhich is used to transfer the response back to the client. All other arguments\nwill be the arguments that were used to call the method on the client.\n\n ```js\nPagelet.extend({\n RPC: [ \'methodname\' ],\n\n methodname: function methodname(reply, arg1, arg2) {\n\n }\n}).on(module);\n```\n\n### Pagelet.fragment\n\n_optional:_ **writable, string**\n\nA default fragment is provided via `Pagelet.fragment`, however it is\npossible to overwrite this default fragment with a custom fragment. This fragment\nis used by render to generate content with appropriate data to work with [BigPipe].\nChange `Pagelet.fragment` if you\'d like to invoke render and generate custom output.\n\n**Default value**: see [pagelet.fragment][frag]\n\n```js\nPagelet.extend({\n fragment: \'<div>pagelet::template</div>\',\n}).on(module);\n```\n\n### Pagelet.remove\n\n_optional:_ **writable, boolean**\n\nThis instructs our render engine to remove the pagelet placeholders from the DOM\nstructure if we\'re unauthorized. This makes it easier to create conditional\nlayouts without having to worry about DOM elements that are left behind.\n\n**Default value**: `true`\n\n```js\nPagelet.extend({\n authorize: auth,\n remove: false\n}).on(module);\n```\n\n### Pagelet.view\n\n_required:_ **writable, string**\n\nThe view is a reference to the template that we render inside the\n`data-pagelet="<name>"` placeholders. Please make sure that your template can be\nrendered on both the client and server side. Take a look at our [temper] project\nfor template engines that we support.\n\n### Pagelet.error\n\n_optional:_ **writable, string**\n\nJust like the `Pagelet.view` this is a reference to a template that we will\nrender in your `data-pagelet="<name>"` placeholders but this template is only\nrendered when:\n\n1. We receive an `Error` argument in our callback that we supply to the\n `Pagelet#get` method.\n2. Your `Pagelet.view` throws an error when we\'re rendering the template.\n\nIf this property is not set we will default to a template that ships with this\nPagelet by default. This template includes a small HTML fragment that states the\nerror.\n\n### Pagelet.engine\n\n_optional:_ **writable, string**\n\nWe attempt to detect the correct template engine based on filename as well as\nthe template engine\'s that we can require. It is possible that we make the wrong\nassumption and you wanted to use `handlebars` for your `.mustache` based\ntemplates but it choose to use `hogan.js` instead.\n\n```js\nPagelet.extend({\n view: \'sidebar.mustache\',\n engine: \'handlebars\'\n}).on(module);\n```\n\n**Please note that the engine needs to be compatible with the [temper] module\nthat we use to compile the templates**\n\n### Pagelet.query\n\n_optional:_ **writable, array**\n\nFor optimal performance the data that is send to the client will be minimal\nand dependant on they query that is provided. Data can be supplied to the client\nby listing the keys (nested paths in dot notation) of which the data should be\nsend to the client. In the example only the content of `mydata` and `nested.is`\nwill be send.\n\n```js\nPagelet.extend({\n query: [ \'mydata\', \'nested.is\' ],\n get: function get(done) {\n done(null, {\n mydata: \'test\',\n nested: { is: \'allowed\', left: \'alone\' },\n more: \'data\'\n });\n }\n}).on(module);\n```\n\n### Pagelet.css\n\n_optional:_ **writable, string**\n\nThe location of the styling for **only this** pagelet. You should assume that\nyou bundle all the CSS that is required to fully render this pagelet. By\neliminating inherited CSS it will be easier for you to re-use this pagelet on\nother pages as well as in other projects.\n\n```js\nPagelet.extend({\n css: \'./my-little-pony.styl\'\n}).on(module);\n```\n\n**Please note that this doesn\'t have to be a `.css` file as we will\ntransparently pre-process these files for you. See the [smithy] project for the\ncompatible pre-processors.**\n\n### Pagelet.js\n\n_optional:_ **writable, string**\n\nAs you might have guessed, this is the location of the JavaScript that you want\nto have loaded for your pagelet. We use [fortress] to sandbox this JavaScript in\na dedicated `iframe` so the code you write is not affected and will not affect\nother pagelets on the same page. This also makes it relatively save to extend\nthe build-in primitives of JavaScript (adding new properties to Array etc).\n\nUnlike the `view` and `css` we do not pre-process the JavaScript. But this does\nnot mean you cannot use CoffeeScript or other pre-processed languages inside a\nPagelet. It just means that you have to compile your files to a proper\nJavaScript file and point to that location instead.\n\n```js\nPagelet.extend({\n js: \'./library.js\'\n}).on(module);\n```\n\n**Please note that the sandboxing is not there as a security feature, it was\nonly designed to prevent code from different pagelets clashing with each other**\n\n### Pagelet.dependencies\n\n_optional:_ **writable, array**\n\nAn array of dependencies that your pagelet depends on which should be loaded in\nadvance and available on the page before any CSS or JavaScript is executed. The\nfiles listed in this array can either a be CSS or JavaScript resource.\n\n```js\npagelet.extend({\n dependencies: [\n \'https://google.com/ga.js\'\n ]\n}).on(module);\n```\n\n### Pagelet.get()\n\n_required:_ **writable, function**\n\nGet provides the data that is used for rendering the output of the Pagelet.\n\nThe `get` method receives one argument:\n\n- done: A completion callback which accepts two arguments. This callback should be\ncalled when your custom implementation has finished gathering data from all sources.\nCalling `done(error, data)` will allow the `render` method to complete its work.\nThe data provided to the callback will be used to render the actual Pagelet.\n\n```js\nPagelet.extend({\n get: function get(done) {\n var data = { provide: \'data-async\' };\n done(error, data);\n },\n}).on(module);\n```\n\n### Pagelet.authorize()\n\n_optional:_ **writable, function**\n\nThere is the possibility to create private pagelets. These pagelets could require\nspecial permissions in your application in order to be used. An example of this\nwould a special administrator UI element. When a pagelet is unauthorized it can\nbe removed from DOM structure of the page. See [Pagelet: remove] for changing\nthis behaviour.\n\nThe authorize method receives 2 arguments:\n\n- req: The incoming HTTP requirement.\n- done: A completion callback which only accepts one argument, a boolean. If\n this boolean has been set to `true` the pagelet is authorized on the page and\n will be rendered as expected. When the argument evaluates as `false` (so also\n null, undefined, 0 etc) we assume that it\'s disallowed and should not be\n rendered.\n\n```js\nPagelet.extend({\n authorize: function authorize(req, done) {\n done(true); // True indicates that the request is authorized for access.\n }\n}).on(module);\n```\n\n### Pagelet.initialize()\n\n_optional:_ **writable, function**\n\nThe pagelet has been initialised. If you have an authorization function this\nfunction will only be called **after** a successful authorization. If no\nauthorization hook is provided it should be called instantly.\n\n```js\nPagelet.extend({\n initialize: function () {\n this.once(\'event\', function () {\n doStuff();\n });\n }\n});\n```\n\n### Pagelet.id\n\n**read only**\n\nThe unique id of a given pagelet instance. Please note that this is not a\npersistent id and will differ between every single initialised instance.\n\n### Pagelet.substream\n\n**read only**\n\nThe pagelet can also be initialised through [Primus] so it can be used for\nreal-time communication (and make things like [RPC](#pagelet-rpc) work). The\ncommunication is done over a [substream] which allows Primus multiplex the\nconnection between various of endpoints.\n\n## License\n\nMIT\n\n[Backbone]: http://backbonejs.com\n[BigPipe]: http://bigpipe.io\n[Page]: http://bigpipe.io#page\n[temper]: http://github.com/bigpipe/temper\n[smithy]: http://github.com/observing/smithy\n[fortress]: http://github.com/bigpipe/fortress\n[frag]: https://github.com/bigpipe/pagelet/blob/master/pagelet.fragment\n[Primus]: https://github.com/primus/primus\n[substream]: https://github.com/primus/substream\n',
20012 silly resolved readmeFilename: 'README.md',
20012 silly resolved _id: 'pagelet@0.3.3',
20012 silly resolved _shasum: '5e0dc98616fa7d4265b9e14a5c04fbebcf7f6881',
20012 silly resolved _from: 'pagelet@~0.3.0',
20012 silly resolved _resolved: 'https://registry.npmjs.org/pagelet/-/pagelet-0.3.3.tgz' } ]
20013 info install pagelet@0.3.3 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/registry-status-pagelet
20014 info installOne pagelet@0.3.3
20015 silly resolved [ { name: 'async',
20015 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
20015 silly resolved main: './lib/async',
20015 silly resolved author: { name: 'Caolan McMahon' },
20015 silly resolved version: '0.2.10',
20015 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
20015 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
20015 silly resolved licenses: [ [Object] ],
20015 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
20015 silly resolved jam: { main: 'lib/async.js', include: [Object] },
20015 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
20015 silly resolved 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<script type="text/javascript" src="async.js"></script>\n<script type="text/javascript">\n\n async.map(data, asyncProcess, function(err, results){\n alert(results);\n });\n\n</script>\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<a name="forEach" />\n<a name="each" />\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<a name="forEachSeries" />\n<a name="eachSeries" />\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<a name="forEachLimit" />\n<a name="eachLimit" />\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<a name="map" />\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<a name="mapSeries" />\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<a name="mapLimit" />\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<a name="filter" />\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<a name="filterSeries" />\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<a name="reject" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name="rejectSeries" />\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<a name="reduce" />\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<a name="reduceRight" />\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<a name="detect" />\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<a name="detectSeries" />\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<a name="sortBy" />\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<a name="some" />\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<a name="every" />\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<a name="concat" />\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<a name="concatSeries" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name="series" />\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<a name="parallel" />\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<a name="parallel" />\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<a name="whilst" />\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<a name="doWhilst" />\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<a name="until" />\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<a name="doUntil" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name="forever" />\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<a name="waterfall" />\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<a name="compose" />\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<a name="applyEach" />\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<a name="applyEachSeries" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name="queue" />\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<a name="cargo" />\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<tasks.length; i++){\n console.log(\'hello \' + tasks[i].name);\n }\n callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\ncargo.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\ncargo.push({name: \'baz\'}, function (err) {\n console.log(\'finished processing baz\');\n});\n```\n\n---------------------------------------\n\n<a name="auto" />\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<a name="iterator" />\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<a name="apply" />\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<a name="nextTick" />\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<a name="times" />\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<a name="timesSeries" />\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<a name="memoize" />\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<a name="unmemoize" />\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<a name="log" />\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<a name="dir" />\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<a name="noConflict" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n',
20015 silly resolved readmeFilename: 'README.md',
20015 silly resolved homepage: 'https://github.com/caolan/async',
20015 silly resolved _id: 'async@0.2.10',
20015 silly resolved _shasum: 'b6bbe0b0674b9d719708ca38de8c237cb526c3d1',
20015 silly resolved _from: 'async@~0.2.9',
20015 silly resolved _resolved: 'https://registry.npmjs.org/async/-/async-0.2.10.tgz' },
20015 silly resolved { name: 'predefine',
20015 silly resolved version: '0.0.6',
20015 silly resolved description: 'Predefine your Object.defineProperties to create a more human readable API.',
20015 silly resolved main: 'index.js',
20015 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
20015 silly resolved repository: { type: 'git', url: 'git://github.com/bigpipe/predefine.git' },
20015 silly resolved keywords:
20015 silly resolved [ 'predefine',
20015 silly resolved 'define',
20015 silly resolved 'object',
20015 silly resolved 'defineProperties',
20015 silly resolved 'defineProperties',
20015 silly resolved 'configurable',
20015 silly resolved 'writable',
20015 silly resolved 'get',
20015 silly resolved 'set',
20015 silly resolved 'getters',
20015 silly resolved 'setters',
20015 silly resolved 'inherit' ],
20015 silly resolved author: { name: 'Arnout Kazemier' },
20015 silly resolved license: 'MIT',
20015 silly resolved dependencies: { extendable: '0.0.x' },
20015 silly resolved devDependencies: { 'pre-commit': '0.0.x', mocha: '1.16.x', chai: '1.8.x' },
20015 silly resolved readme: '# predefine\n\n[![Build Status](https://travis-ci.org/bigpipe/predefine.png)](https://travis-ci.org/bigpipe/predefine)\n\nWhen creating objects or prototypes using `Object.defineProperties` or\n`Object.defineProperty` it make your code look really verbose by all the\nproperty descriptions that it needs. Most of the time, they are the same. They\neither make your properties writable, readable or prevents them from being\nenumerable. So basically:\n\nPredefine makes `Object.defineProperties` your human readable and manageable.\n\n## Installation\n\n```\nnpm install --save predefine\n```\n\n## Getting started\n\nLet\'s start with a basic example of predefine usage:\n\n```\nvar predefine = require(\'predefine\');\n\nfunction Base() {\n var readable = predefine(this, { configurable: false, enumerable: false })\n , writable = predefine(this, predefine.WRITABLE);\n\n readable(\'prop\', \'value\');\n writable(\'data\', []);\n}\n\nBase.writable = predefine(Base.prototype, predefine.WRITABLE);\n\nBase.writable(\'foo\', \'bar\');\n```\n\nAs you can see from the snippet above, it\'s really easy to see which properties\nare made readable and which one\'s are writable.\n\n### Predefine.extend\n\nThis allows you to add `Backbone` inspired `.extend` functionality to your\nconstructors. This makes inheriting a lot easier and readable. See the\n`extendable` module in npm for information.\n\n```js\nfunction Foo() {}\nFoo.extend = predefine.extend;\n\nvar Bar = Foo.extend({\n method: function () {}\n});\n```\n\n### Predefine.descriptor\n\nTest if a given object is a valid `Object` description to it can be used with\n`Object.defineProperty`, `Object.defineProperties` and `Object.create`.\n\n```js\npredefine.descriptor({ foo: \'bar\' }); // false\npredefine.descriptor({ value: \'bar\' }); // true\npredefine.descriptor({ value: \'bar\', enumerable: false }); // true\npredefine.descriptor({ value: \'bar\', foo: \'bar\' }); // false\n```\n\n### Predefine.create\n\nThis is a simple helper function to create descriptions that can be used within\n`Object.create` and `Object.defineProperties`.\n\n```js\nvar data = Object.create(null, predefine.create(\'foo\', { \n value: \'bar\' \n}));\n\nvar data = Object.create(null, predefine.create(\'foo\', {\n value: \'bar\'\n}, predefine.READABLE));\n\nvar data = Object.create(null, predefine.create(\'foo\', \'bar\', predefine.READABLE));\n```\n\n### Predefine.remove\n\nRemoves all enumerable properties from a given object, with the ability to keep\nwhite listed properties.\n\n```js\nvar data = { foo: \'bar\', bar: \'foo\' };\n\npredefine.remove(data); // The data variable is now an empty object.\npredefine.remove(data, [\'foo\']); // The foo property is kept.\n\nvar readable(data);\nreadable(\'baz\', \'baz\');\n\npredefine.remove(data); // Only `baz` is left.\n```\n\n### Predefine.merge\n\nMerge two objects in to one single object. This supports deep merging.\n\n```js\nvar result = predefine.merge({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n### Predefine.mixin\n\nMixin two Objects, which also transfers properties that are set using\nObject.defineProperty.\n\n```js\nvar result = predefine.mixin({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n## License\n\nMIT\n',
20015 silly resolved readmeFilename: 'README.md',
20015 silly resolved bugs: { url: 'https://github.com/bigpipe/predefine/issues' },
20015 silly resolved homepage: 'https://github.com/bigpipe/predefine',
20015 silly resolved _id: 'predefine@0.0.6',
20015 silly resolved _shasum: 'b057cc5874bca8c91611d86a3d368c1d1d9822d4',
20015 silly resolved _from: 'predefine@0.0.x',
20015 silly resolved _resolved: 'https://registry.npmjs.org/predefine/-/predefine-0.0.6.tgz' },
20015 silly resolved { name: 'fusing',
20015 silly resolved version: '0.0.3',
20015 silly resolved description: 'Prototype fusion',
20015 silly resolved main: 'index.js',
20015 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
20015 silly resolved repository: { type: 'git', url: 'https://github.com/bigpipe/fusing' },
20015 silly resolved keywords:
20015 silly resolved [ 'fusing',
20015 silly resolved 'fusion',
20015 silly resolved 'bigpipe',
20015 silly resolved 'constructor',
20015 silly resolved 'prototype',
20015 silly resolved 'merge',
20015 silly resolved 'inherit',
20015 silly resolved 'base',
20015 silly resolved 'class' ],
20015 silly resolved author: { name: 'Arnout Kazemier' },
20015 silly resolved license: 'MIT',
20015 silly resolved bugs: { url: 'https://github.com/bigpipe/fusing/issues' },
20015 silly resolved homepage: 'https://github.com/bigpipe/fusing',
20015 silly resolved dependencies: { predefine: '0.0.x' },
20015 silly resolved devDependencies: { chai: '1.8.x', mocha: '1.13.x', 'pre-commit': '0.0.x' },
20015 silly resolved readme: '# fusing\n\n[![Build Status](https://travis-ci.org/bigpipe/fusing.png?branch=master)](https://travis-ci.org/bigpipe/fusing)\n\nFusing is a small library that creates the base class that is used in all of\n[bigpipe]\'s components. It takes care of:\n\n- Prototypical inheritance.\n- An API for adding `readable` and `writable` properties to these classes.\n- Adding default methods which are commonly used.\n- A `Backbone.extend` based extending of the prototypes.\n\n## Installation\n\nThe stable versions of this module are released in the npm registry and can be\ninstalled using:\n\n```\nnpm install --save fusing\n```\n\nThe `--save` tells `npm` to automatically save this dependency in your\n`package.json`.\n\n## Getting Started\n\nThe module is required just like any other module you use. It exposes a single\nfunction that takes care of all the merging.\n\n```js\n\'use strict\';\n\nvar fuse = require(\'fusing\');\n```\n\nAnd that is all we need to start with inheritance. When you want to have a class\ninherit from the `EventEmitter` you only need to pass in the class references:\n\n```js\nfunction Example() {\n\n}\n\nfuse(Example, require(\'events\').EventEmitter);\n```\n\nThis will tell `fuse` to use the `.prototype` of the `EventEmitter` for your\n`Example` class. In addition to that it has added a couple of function to your\nclass which makes it easier to setup the prototypes and extend Example again.\n\n### Example.readable\n\nOne of the functions that are added to your class is `readable` this allows you\nto easily specify which properties or methods on the `Example.prototype` are\n`read-only` and should never be overridden by other code. This is ideal for\nprotecting your private methods.\n\n```js\nExample.readable(\'config\', { foo: \'bar\' });\n```\n\nThe example above added the property `config` to the prototype with the foo/bar\nobject as value. If you wonder how this magic works, take a look a our\n[predefine] project for more details.\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n### Example.writable\n\nThis is the writable equivalent of the function above. This allows you to\nspecify properties on the prototype that are writable. The added benefit of this\nfunction is that your methods will not be enumerable (which is also true for all\nproperties/methods added using the `readable` function).\n\n```js\nExample.writable(\'property\', \'foo\');\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## Example.extend\n\nThis allows you to use the same `extend` functionality that you might be\naccustomed to with `Backbone` in your own classes:\n\n```js\nvar MyExample = Example.extend({\n method: function method() {\n console.log(\'my custom method\');\n },\n\n prop: 132\n});\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## Example.predefine\n\nAs it\'s sometimes useful to also create readable and writable properties when\nyour class is constructed, we decided to expose the `predefine` module on your\nclass. Which allows you use the same readable pattern again:\n\n```js\nfunction Example() {\n var writable = Example.predefine(this, Example.predefine.WRITABLE)\n , readable = Example.predefine(this);\n\n readable(\'private\', 134);\n readable(\'evn\', process.ENV.NODE_ENV || \'development\');\n writable(\'value\', 100);\n}\n\nfuse(Example, require(\'eventemitter3\'));\n```\n\n**Please note that this function is added on the `Example` function not on the\n`Example.prototype`.**\n\n## License\n\nMIT\n\n[bigpipe]: https://github.com/bigpipe/bigpipe\n[predefine]: https://github.com/bigpipe/predefine\n',
20015 silly resolved readmeFilename: 'README.md',
20015 silly resolved _id: 'fusing@0.0.3',
20015 silly resolved _shasum: 'cc19c33343bc5c191550dda9a46df43ef11c9700',
20015 silly resolved _from: 'fusing@0.0.x',
20015 silly resolved _resolved: 'https://registry.npmjs.org/fusing/-/fusing-0.0.3.tgz' },
20015 silly resolved { name: 'creditcard',
20015 silly resolved version: '0.1.1',
20015 silly resolved description: 'Creditcard number parsing, validation and information extraction',
20015 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
20015 silly resolved repository: { type: 'git', url: 'git@github.com:observing/creditcard.git' },
20015 silly resolved keywords:
20015 silly resolved [ 'IEC',
20015 silly resolved 'ISO/IEC 7812',
20015 silly resolved 'bic',
20015 silly resolved 'card',
20015 silly resolved 'credit',
20015 silly resolved 'credit-card',
20015 silly resolved 'creditcard',
20015 silly resolved 'extraction',
20015 silly resolved 'iin',
20015 silly resolved 'iso',
20015 silly resolved 'mii',
20015 silly resolved 'parsing',
20015 silly resolved 'validation' ],
20015 silly resolved devDependencies:
20015 silly resolved { chai: '1.4.x',
20015 silly resolved mocha: '1.7.x',
20015 silly resolved dox: '0.4.x',
20015 silly resolved ejs: '0.8.x',
20015 silly resolved 'pre-commit': '0.0.x' },
20015 silly resolved author: { name: 'Arnout Kazemier', email: 'opensource@observe.it' },
20015 silly resolved license: 'MIT',
20015 silly resolved readme: '# Creditcard [![Build Status](https://secure.travis-ci.org/observing/creditcard.png?branch=master)](https://travis-ci.org/observing/creditcard)\n\nCreditcard number parsing, validation and information extraction. The source\ncode has been commented using JSDoc and converted to documentation which can be\nfound in the `docs` folder.\n\n## Installation\n\nThe module is available in the NPM registery. It can be installed using the\n`npm` commandline utlity.\n\n```\nnpm install creditcard\n```\n\nOnce you have installed the module you can simply require inside of your Node.js\napplication and use it\'s exported methods.\n\n```js\nvar creditcard = require(\'creditcard\');\n\ncreditcard.validate(4111111111111);\n```\n\n## Documentation\n\nThe documentation of this module has been automatically generated from the\nJSDocs that is used to comment the source code. It should give a clear\nunderstanding of the methods that are available in this module and how it should\nbe used. The documentation can be found in the [**docs\nfolder**](https://github.com/observing/creditcard/tree/master/docs)\n\n### License (MIT)\n\nCopyright (c) 2013 Observe.it (http://observe.it) <opensource@observe.it>\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\nfurnished to do so, 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',
20015 silly resolved readmeFilename: 'README.md',
20015 silly resolved bugs: { url: 'https://github.com/observing/creditcard/issues' },
20015 silly resolved homepage: 'https://github.com/observing/creditcard',
20015 silly resolved _id: 'creditcard@0.1.1',
20015 silly resolved _shasum: 'f4eab9fdc2669e87f595950528cd7a73bb744551',
20015 silly resolved _from: 'creditcard@~0.1.1',
20015 silly resolved _resolved: 'https://registry.npmjs.org/creditcard/-/creditcard-0.1.1.tgz' },
20015 silly resolved { name: 'marked',
20015 silly resolved description: 'A markdown parser built for speed',
20015 silly resolved author: { name: 'Christopher Jeffrey' },
20015 silly resolved version: '0.3.2',
20015 silly resolved main: './lib/marked.js',
20015 silly resolved bin: { marked: './bin/marked' },
20015 silly resolved man: [ './man/marked.1' ],
20015 silly resolved preferGlobal: true,
20015 silly resolved repository: { type: 'git', url: 'git://github.com/chjj/marked.git' },
20015 silly resolved homepage: 'https://github.com/chjj/marked',
20015 silly resolved bugs: { url: 'http://github.com/chjj/marked/issues' },
20015 silly resolved license: 'MIT',
20015 silly resolved keywords: [ 'markdown', 'markup', 'html' ],
20015 silly resolved tags: [ 'markdown', 'markup', 'html' ],
20015 silly resolved devDependencies: { markdown: '*', showdown: '*', robotskirt: '*' },
20015 silly resolved scripts: { test: 'node test', bench: 'node test --bench' },
20015 silly resolved readme: '# marked\n\n> A full-featured markdown parser and compiler, written in JavaScript. Built\n> for speed.\n\n[![NPM version](https://badge.fury.io/js/marked.png)][badge]\n\n## Install\n\n``` bash\nnpm install marked --save\n```\n\n## Usage\n\nMinimal usage:\n\n```js\nvar marked = require(\'marked\');\nconsole.log(marked(\'I am using __markdown__.\'));\n// Outputs: <p>I am using <strong>markdown</strong>.</p>\n```\n\nExample setting options with default values:\n\n```js\nvar marked = require(\'marked\');\nmarked.setOptions({\n renderer: new marked.Renderer(),\n gfm: true,\n tables: true,\n breaks: false,\n pedantic: false,\n sanitize: true,\n smartLists: true,\n smartypants: false\n});\n\nconsole.log(marked(\'I am using __markdown__.\'));\n```\n\n## marked(markdownString [,options] [,callback])\n\n### markdownString\n\nType: `string`\n\nString of markdown source to be compiled.\n\n### options\n\nType: `object`\n\nHash of options. Can also be set using the `marked.setOptions` method as seen\nabove.\n\n### callback\n\nType: `function`\n\nFunction called when the `markdownString` has been fully parsed when using\nasync highlighting. If the `options` argument is omitted, this can be used as\nthe second argument.\n\n## Options\n\n### highlight\n\nType: `function`\n\nA function to highlight code blocks. The first example below uses async highlighting with\n[node-pygmentize-bundled][pygmentize], and the second is a synchronous example using\n[highlight.js][highlight]:\n\n```js\nvar marked = require(\'marked\');\n\nvar markdownString = \'```js\\n console.log("hello"); \\n```\';\n\n// Async highlighting with pygmentize-bundled\nmarked.setOptions({\n highlight: function (code, lang, callback) {\n require(\'pygmentize-bundled\')({ lang: lang, format: \'html\' }, code, function (err, result) {\n callback(err, result.toString());\n });\n }\n});\n\n// Using async version of marked\nmarked(markdownString, function (err, content) {\n if (err) throw err;\n console.log(content);\n});\n\n// Synchronous highlighting with highlight.js\nmarked.setOptions({\n highlight: function (code) {\n return require(\'highlight.js\').highlightAuto(code).value;\n }\n});\n\nconsole.log(marked(markdownString));\n```\n\n#### highlight arguments\n\n`code`\n\nType: `string`\n\nThe section of code to pass to the highlighter.\n\n`lang`\n\nType: `string`\n\nThe programming language specified in the code block.\n\n`callback`\n\nType: `function`\n\nThe callback function to call when using an async highlighter.\n\n### renderer\n\nType: `object`\nDefault: `new Renderer()`\n\nAn object containing functions to render tokens to HTML.\n\n#### Overriding renderer methods\n\nThe renderer option allows you to render tokens in a custom manor. Here is an\nexample of overriding the default heading token rendering by adding an embedded anchor tag like on GitHub:\n\n```javascript\nvar marked = require(\'marked\');\nvar renderer = new marked.Renderer();\n\nrenderer.heading = function (text, level) {\n var escapedText = text.toLowerCase().replace(/[^\\w]+/g, \'-\');\n\n return \'<h\' + level + \'><a name="\' +\n escapedText +\n \'" class="anchor" href="#\' +\n escapedText +\n \'"><span class="header-link"></span></a>\' +\n text + \'</h\' + level + \'>\';\n},\n\nconsole.log(marked(\'# heading+\', { renderer: renderer }));\n```\nThis code will output the following HTML:\n```html\n<h1>\n <a name="heading-" class="anchor" href="#heading-">\n <span class="header-link"></span>\n </a>\n heading+\n</h1>\n```\n\n#### Block level renderer methods\n\n- code(*string* code, *string* language)\n- blockquote(*string* quote)\n- html(*string* html)\n- heading(*string* text, *number* level)\n- hr()\n- list(*string* body, *boolean* ordered)\n- listitem(*string* text)\n- paragraph(*string* text)\n- table(*string* header, *string* body)\n- tablerow(*string* content)\n- tablecell(*string* content, *object* flags)\n\n`flags` has the following properties:\n\n```js\n{\n header: true || false,\n align: \'center\' || \'left\' || \'right\'\n}\n```\n\n#### Inline level renderer methods\n\n- strong(*string* text)\n- em(*string* text)\n- codespan(*string* code)\n- br()\n- del(*string* text)\n- link(*string* href, *string* title, *string* text)\n- image(*string* href, *string* title, *string* text)\n\n### gfm\n\nType: `boolean`\nDefault: `true`\n\nEnable [GitHub flavored markdown][gfm].\n\n### tables\n\nType: `boolean`\nDefault: `true`\n\nEnable GFM [tables][tables].\nThis option requires the `gfm` option to be true.\n\n### breaks\n\nType: `boolean`\nDefault: `false`\n\nEnable GFM [line breaks][breaks].\nThis option requires the `gfm` option to be true.\n\n### pedantic\n\nType: `boolean`\nDefault: `false`\n\nConform to obscure parts of `markdown.pl` as much as possible. Don\'t fix any of\nthe original markdown bugs or poor behavior.\n\n### sanitize\n\nType: `boolean`\nDefault: `false`\n\nSanitize the output. Ignore any HTML that has been input.\n\n### smartLists\n\nType: `boolean`\nDefault: `true`\n\nUse smarter list behavior than the original markdown. May eventually be\ndefault with the old behavior moved into `pedantic`.\n\n### smartypants\n\nType: `boolean`\nDefault: `false`\n\nUse "smart" typograhic punctuation for things like quotes and dashes.\n\n## Access to lexer and parser\n\nYou also have direct access to the lexer and parser if you so desire.\n\n``` js\nvar tokens = marked.lexer(text, options);\nconsole.log(marked.parser(tokens));\n```\n\n``` js\nvar lexer = new marked.Lexer(options);\nvar tokens = lexer.lex(text);\nconsole.log(tokens);\nconsole.log(lexer.rules);\n```\n\n## CLI\n\n``` bash\n$ marked -o hello.html\nhello world\n^D\n$ cat hello.html\n<p>hello world</p>\n```\n\n## Philosophy behind marked\n\nThe point of marked was to create a markdown compiler where it was possible to\nfrequently parse huge chunks of markdown without having to worry about\ncaching the compiled output somehow...or blocking for an unnecesarily long time.\n\nmarked is very concise and still implements all markdown features. It is also\nnow fully compatible with the client-side.\n\nmarked more or less passes the official markdown test suite in its\nentirety. This is important because a surprising number of markdown compilers\ncannot pass more than a few tests. It was very difficult to get marked as\ncompliant as it is. It could have cut corners in several areas for the sake\nof performance, but did not in order to be exactly what you expect in terms\nof a markdown rendering. In fact, this is why marked could be considered at a\ndisadvantage in the benchmarks above.\n\nAlong with implementing every markdown feature, marked also implements [GFM\nfeatures][gfmf].\n\n## Benchmarks\n\nnode v0.8.x\n\n``` bash\n$ node test --bench\nmarked completed in 3411ms.\nmarked (gfm) completed in 3727ms.\nmarked (pedantic) completed in 3201ms.\nrobotskirt completed in 808ms.\nshowdown (reuse converter) completed in 11954ms.\nshowdown (new converter) completed in 17774ms.\nmarkdown-js completed in 17191ms.\n```\n\n__Marked is now faster than Discount, which is written in C.__\n\nFor those feeling skeptical: These benchmarks run the entire markdown test suite 1000 times. The test suite tests every feature. It doesn\'t cater to specific aspects.\n\n### Pro level\n\nYou also have direct access to the lexer and parser if you so desire.\n\n``` js\nvar tokens = marked.lexer(text, options);\nconsole.log(marked.parser(tokens));\n```\n\n``` js\nvar lexer = new marked.Lexer(options);\nvar tokens = lexer.lex(text);\nconsole.log(tokens);\nconsole.log(lexer.rules);\n```\n\n``` bash\n$ node\n> require(\'marked\').lexer(\'> i am using marked.\')\n[ { type: \'blockquote_start\' },\n { type: \'paragraph\',\n text: \'i am using marked.\' },\n { type: \'blockquote_end\' },\n links: {} ]\n```\n\n## Running Tests & Contributing\n\nIf you want to submit a pull request, make sure your changes pass the test\nsuite. If you\'re adding a new feature, be sure to add your own test.\n\nThe marked test suite is set up slightly strangely: `test/new` is for all tests\nthat are not part of the original markdown.pl test suite (this is where your\ntest should go if you make one). `test/original` is only for the original\nmarkdown.pl tests. `test/tests` houses both types of tests after they have been\ncombined and moved/generated by running `node test --fix` or `marked --test\n--fix`.\n\nIn other words, if you have a test to add, add it to `test/new/` and then\nregenerate the tests with `node test --fix`. Commit the result. If your test\nuses a certain feature, for example, maybe it assumes GFM is *not* enabled, you\ncan add `.nogfm` to the filename. So, `my-test.text` becomes\n`my-test.nogfm.text`. You can do this with any marked option. Say you want\nline breaks and smartypants enabled, your filename should be:\n`my-test.breaks.smartypants.text`.\n\nTo run the tests:\n\n``` bash\ncd marked/\nnode test\n```\n\n### Contribution and License Agreement\n\nIf you contribute code to this project, you are implicitly allowing your code\nto be distributed under the MIT license. You are also implicitly verifying that\nall code is your original work. `</legalese>`\n\n## License\n\nCopyright (c) 2011-2014, Christopher Jeffrey. (MIT License)\n\nSee LICENSE for more info.\n\n[gfm]: https://help.github.com/articles/github-flavored-markdown\n[gfmf]: http://github.github.com/github-flavored-markdown/\n[pygmentize]: https://github.com/rvagg/node-pygmentize-bundled\n[highlight]: https://github.com/isagalaev/highlight.js\n[badge]: http://badge.fury.io/js/marked\n[tables]: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#wiki-tables\n[breaks]: https://help.github.com/articles/github-flavored-markdown#newlines\n',
20015 silly resolved readmeFilename: 'README.md',
20015 silly resolved _id: 'marked@0.3.2',
20015 silly resolved _shasum: '015db158864438f24a64bdd61a0428b418706d09',
20015 silly resolved _from: 'marked@0.3.x',
20015 silly resolved _resolved: 'https://registry.npmjs.org/marked/-/marked-0.3.2.tgz' },
20015 silly resolved { name: 'utile',
20015 silly resolved description: 'A drop-in replacement for `util` with some additional advantageous functions',
20015 silly resolved version: '0.2.1',
20015 silly resolved author: { name: 'Nodejitsu Inc.', email: 'info@nodejitsu.com' },
20015 silly resolved maintainers: [ [Object] ],
20015 silly resolved repository: { type: 'git', url: 'http://github.com/flatiron/utile.git' },
20015 silly resolved dependencies:
20015 silly resolved { async: '~0.2.9',
20015 silly resolved 'deep-equal': '*',
20015 silly resolved i: '0.3.x',
20015 silly resolved mkdirp: '0.x.x',
20015 silly resolved ncp: '0.4.x',
20015 silly resolved rimraf: '2.x.x' },
20015 silly resolved devDependencies: { vows: '0.7.x' },
20015 silly resolved scripts: { test: 'vows --spec' },
20015 silly resolved main: './lib/index',
20015 silly resolved engines: { node: '>= 0.6.4' },
20015 silly resolved readme: '# utile [![Build Status](https://secure.travis-ci.org/flatiron/utile.png)](http://travis-ci.org/flatiron/utile)\n\nA drop-in replacement for `util` with some additional advantageous functions\n\n## Motivation\nJavascript is definitely a "batteries not included language" when compared to languages like Ruby or Python. Node.js has a simple utility library which exposes some basic (but important) functionality:\n\n```\n$ node\n> var util = require(\'util\');\n> util.\n(...)\n\nutil.debug util.error util.exec util.inherits util.inspect\nutil.log util.p util.print util.pump util.puts\n```\n\nWhen one considers their own utility library, why ever bother requiring `util` again? That is the approach taken by this module. To compare:\n\n```\n$ node\n> var utile = require(\'./lib\')\n> utile.\n(...)\n\nutile.async utile.capitalize utile.clone utile.cpr utile.createPath utile.debug\nutile.each utile.error utile.exec utile.file utile.filter utile.find\nutile.inherits utile.log utile.mixin utile.mkdirp utile.p utile.path\nutile.print utile.pump utile.puts utile.randomString utile.requireDir uile.requireDirLazy\nutile.rimraf\n```\n\nAs you can see all of the original methods from `util` are there, but there are several new methods specific to `utile`. A note about implementation: _no node.js native modules are modified by utile, it simply copies those methods._\n\n## Methods\nThe `utile` modules exposes some simple utility methods:\n\n* `.each(obj, iterator)`: Iterate over the keys of an object.\n* `.mixin(target [source0, source1, ...])`: Copies enumerable properties from `source0 ... sourceN` onto `target` and returns the resulting object.\n* `.clone(obj)`: Shallow clones the specified object.\n* `.capitalize(str)`: Capitalizes the specified `str`.\n* `.randomString(length)`: randomString returns a pseudo-random ASCII string (subset) the return value is a string of length ⌈bits/6⌉ of characters from the base64 alphabet.\n* `.filter(obj, test)`: return an object with the properties that `test` returns true on.\n* `.args(arguments)`: Converts function arguments into actual array with special `callback`, `cb`, `array`, and `last` properties. Also supports *optional* argument contracts. See [the example](https://github.com/flatiron/utile/blob/master/examples/utile-args.js) for more details.\n* `.requireDir(directory)`: Requires all files and directories from `directory`, returning an object with keys being filenames (without trailing `.js`) and respective values being return values of `require(filename)`.\n* `.requireDirLazy(directory)`: Lazily requires all files and directories from `directory`, returning an object with keys being filenames (without trailing `.js`) and respective values (getters) being return values of `require(filename)`.\n* `.format([string] text, [array] formats, [array] replacements)`: Replace `formats` in `text` with `replacements`. This will fall back to the original `util.format` command if it is called improperly.\n\n## Packaged Dependencies\nIn addition to the methods that are built-in, utile includes a number of commonly used dependencies to reduce the number of includes in your package.json. These modules _are not eagerly loaded to be respectful of startup time,_ but instead are lazy-loaded getters on the `utile` object\n\n* `.async`: [Async utilities for node and the browser][0]\n* `.inflect`: [Customizable inflections for node.js][6]\n* `.mkdirp`: [Recursively mkdir, like mkdir -p, but in node.js][1]\n* `.rimraf`: [A rm -rf util for nodejs][2]\n* `.cpr`: [Asynchronous recursive file copying with Node.js][3]\n\n## Installation\n\n### Installing npm (node package manager)\n```\n curl http://npmjs.org/install.sh | sh\n```\n\n### Installing utile\n```\n [sudo] npm install utile\n```\n\n## Tests\nAll tests are written with [vows][4] and should be run with [npm][5]:\n\n``` bash\n $ npm test\n```\n\n#### Author: [Nodejitsu Inc.](http://www.nodejitsu.com)\n#### Contributors: [Charlie Robbins](http://github.com/indexzero), [Dominic Tarr](http://github.com/dominictarr)\n#### License: MIT\n\n[0]: https://github.com/caolan/async\n[1]: https://github.com/substack/node-mkdirp\n[2]: https://github.com/isaacs/rimraf\n[3]: https://github.com/avianflu/ncp\n[4]: https://vowsjs.org\n[5]: https://npmjs.org\n[6]: https://github.com/pksunkara/inflect\n',
20015 silly resolved readmeFilename: 'README.md',
20015 silly resolved bugs: { url: 'https://github.com/flatiron/utile/issues' },
20015 silly resolved homepage: 'https://github.com/flatiron/utile',
20015 silly resolved _id: 'utile@0.2.1',
20015 silly resolved _shasum: '930c88e99098d6220834c356cbd9a770522d90d7',
20015 silly resolved _from: 'utile@~0.2.1',
20015 silly resolved _resolved: 'https://registry.npmjs.org/utile/-/utile-0.2.1.tgz' },
20015 silly resolved { author:
20015 silly resolved { name: 'Matt Mueller',
20015 silly resolved email: 'mattmuelle@gmail.com',
20015 silly resolved url: 'mattmueller.me' },
20015 silly resolved name: 'cheerio',
20015 silly resolved description: 'Tiny, fast, and elegant implementation of core jQuery designed specifically for the server',
20015 silly resolved keywords: [ 'htmlparser', 'jquery', 'selector', 'scraper' ],
20015 silly resolved version: '0.13.1',
20015 silly resolved repository:
20015 silly resolved { type: 'git',
20015 silly resolved url: 'git://github.com/MatthewMueller/cheerio.git' },
20015 silly resolved main: './index.js',
20015 silly resolved engines: { node: '>= 0.6' },
20015 silly resolved dependencies:
20015 silly resolved { htmlparser2: '~3.4.0',
20015 silly resolved underscore: '~1.5',
20015 silly resolved entities: '0.x',
20015 silly resolved CSSselect: '~0.4.0' },
20015 silly resolved devDependencies:
20015 silly resolved { mocha: '*',
20015 silly resolved 'expect.js': '*',
20015 silly resolved jshint: '~2.3.0',
20015 silly resolved benchmark: '~1.0.0',
20015 silly resolved jsdom: '~0.8.9' },
20015 silly resolved scripts: { test: 'make test' },
20015 silly resolved readme: '# cheerio [![Build Status](https://secure.travis-ci.org/MatthewMueller/cheerio.png?branch=master)](http://travis-ci.org/MatthewMueller/cheerio)\n\nFast, flexible, and lean implementation of core jQuery designed specifically for the server.\n\n## Introduction\nTeach your server HTML.\n\n```js\nvar cheerio = require(\'cheerio\'),\n $ = cheerio.load(\'<h2 class="title">Hello world</h2>\');\n\n$(\'h2.title\').text(\'Hello there!\');\n$(\'h2\').addClass(\'welcome\');\n\n$.html();\n//=> <h2 class="title welcome">Hello there!</h2>\n```\n\n## Installation\n`npm install cheerio`\n\n## Features\n__&#10084; Familiar syntax:__\nCheerio implements a subset of core jQuery. Cheerio removes all the DOM inconsistencies and browser cruft from the jQuery library, revealing its truly gorgeous API.\n\n__&#991; Blazingly fast:__\nCheerio works with a very simple, consistent DOM model. As a result parsing, manipulating, and rendering are incredibly efficient. Preliminary end-to-end benchmarks suggest that cheerio is about __8x__ faster than JSDOM.\n\n__&#10049; Insanely flexible:__\nCheerio wraps around @FB55\'s forgiving htmlparser. Cheerio can parse nearly any HTML or XML document.\n\n## What about JSDOM?\nI wrote cheerio because I found myself increasingly frustrated with JSDOM. For me, there were three main sticking points that I kept running into again and again:\n\n__&#8226; JSDOM\'s built-in parser is too strict:__\n JSDOM\'s bundled HTML parser cannot handle many popular sites out there today.\n\n__&#8226; JSDOM is too slow:__\nParsing big websites with JSDOM has a noticeable delay.\n\n__&#8226; JSDOM feels too heavy:__\nThe goal of JSDOM is to provide an identical DOM environment as what we see in the browser. I never really needed all this, I just wanted a simple, familiar way to do HTML manipulation.\n\n## When I would use JSDOM\n\nCheerio will not solve all your problems. I would still use JSDOM if I needed to work in a browser-like environment on the server, particularly if I wanted to automate functional tests.\n\n## API\n\n### Markup example we\'ll be using:\n\n```html\n<ul id="fruits">\n <li class="apple">Apple</li>\n <li class="orange">Orange</li>\n <li class="pear">Pear</li>\n</ul>\n```\n\nThis is the HTML markup we will be using in all of the API examples.\n\n### Loading\nFirst you need to load in the HTML. This step in jQuery is implicit, since jQuery operates on the one, baked-in DOM. With Cheerio, we need to pass in the HTML document.\n\nThis is the _preferred_ method:\n\n```js\nvar cheerio = require(\'cheerio\'),\n $ = cheerio.load(\'<ul id="fruits">...</ul>\');\n```\n\nOptionally, you can also load in the HTML by passing the string as the context:\n\n```js\n$ = require(\'cheerio\');\n$(\'ul\', \'<ul id="fruits">...</ul>\');\n```\n\nOr as the root:\n\n```js\n$ = require(\'cheerio\');\n$(\'li\', \'ul\', \'<ul id="fruits">...</ul>\');\n```\n\nYou can also pass an extra object to `.load()` if you need to modify any\nof the default parsing options:\n\n```js\n$ = cheerio.load(\'<ul id="fruits">...</ul>\', {\n normalizeWhitespace: true,\n xmlMode: true\n});\n```\n\nThese parsing options are taken directly from htmlparser, therefore any options that can be used in htmlparser\nare valid in cheerio as well. The default options are:\n\n```js\n{\n normalizeWhitespace: false,\n xmlMode: false,\n lowerCaseTags: false\n}\n```\n\nFor a list of options and their effects, see [this](https://github.com/fb55/DomHandler) and\n[this](https://github.com/fb55/htmlparser2/wiki/Parser-options).\n\n### Selectors\n\nCheerio\'s selector implementation is nearly identical to jQuery\'s, so the API is very similar.\n\n#### $( selector, [context], [root] )\n`selector` searches within the `context` scope which searches within the `root` scope. `selector` and `context` can be an string expression, DOM Element, array of DOM elements, or cheerio object. `root` is typically the HTML document string.\n\nThis selector method is the starting point for traversing and manipulating the document. Like jQuery, it\'s the primary method for selecting elements in the document, but unlike jQuery it\'s built on top of the CSSSelect library, which implements most of the Sizzle selectors.\n\n```js\n$(\'.apple\', \'#fruits\').text()\n//=> Apple\n\n$(\'ul .pear\').attr(\'class\')\n//=> pear\n\n$(\'li[class=orange]\').html()\n//=> <li class="orange">Orange</li>\n```\n\n### Attributes\nMethods for getting and modifying attributes.\n\n#### .attr( name, value )\nMethod for getting and setting attributes. Gets the attribute value for only the first element in the matched set. If you set an attribute\'s value to `null`, you remove that attribute. You may also pass a `map` and `function` like jQuery.\n\n```js\n$(\'ul\').attr(\'id\')\n//=> fruits\n\n$(\'.apple\').attr(\'id\', \'favorite\').html()\n//=> <li class="apple" id="favorite">Apple</li>\n```\n\n> See http://api.jquery.com/attr/ for more information\n\n#### .data( name, value )\nMethod for getting and setting data attributes. Gets or sets the data attribute value for only the first element in the matched set.\n\n```js\n$(\'<div data-apple-color="red"></div>\').data()\n//=> { appleColor: \'red\' }\n\n$(\'<div data-apple-color="red"></div>\').data(\'data-apple-color\')\n//=> \'red\'\n\nvar apple = $(\'.apple\').data(\'kind\', \'mac\')\napple.data(\'kind\')\n//=> \'mac\'\n```\n\n> See http://api.jquery.com/data/ for more information\n\n#### .val( [value] )\nMethod for getting and setting the value of input, select, and textarea. Note: Support for `map`, and `function` has not been added yet.\n\n $(\'input[type="text"]\').val()\n => input_text\n\n $(\'input[type="text"]\').val(\'test\').html()\n => <input type="text" value="test"/>\n\n\n#### .removeAttr( name )\nMethod for removing attributes by `name`.\n\n```js\n$(\'.pear\').removeAttr(\'class\').html()\n//=> <li>Pear</li>\n```\n\n#### .hasClass( className )\nCheck to see if *any* of the matched elements have the given `className`.\n\n```js\n$(\'.pear\').hasClass(\'pear\')\n//=> true\n\n$(\'apple\').hasClass(\'fruit\')\n//=> false\n\n$(\'li\').hasClass(\'pear\')\n//=> true\n```\n\n#### .addClass( className )\nAdds class(es) to all of the matched elements. Also accepts a `function` like jQuery.\n\n```js\n$(\'.pear\').addClass(\'fruit\').html()\n//=> <li class="pear fruit">Pear</li>\n\n$(\'.apple\').addClass(\'fruit red\').html()\n//=> <li class="apple fruit red">Apple</li>\n```\n\n> See http://api.jquery.com/addClass/ for more information.\n\n#### .removeClass( [className] )\nRemoves one or more space-separated classes from the selected elements. If no `className` is defined, all classes will be removed. Also accepts a `function` like jQuery.\n\n```js\n$(\'.pear\').removeClass(\'pear\').html()\n//=> <li class="">Pear</li>\n\n$(\'.apple\').addClass(\'red\').removeClass().html()\n//=> <li class="">Apple</li>\n```\n\n> See http://api.jquery.com/removeClass/ for more information.\n\n#### .toggleClass( className, [switch] )\nAdd or remove class(es) from the matched elements, depending on either the class\'s presence or the value of the switch argument. Also accepts a `function` like jQuery.\n\n```js\n$(\'.apple.green\').toggleClass(\'fruit green red\').html()\n//=> <li class="apple fruit red">Apple</li>\n\n$(\'.apple.green\').toggleClass(\'fruit green red\', true).html()\n//=> <li class="apple green fruit red">Apple</li>\n```\n\n> See http://api.jquery.com/toggleClass/ for more information.\n\n#### .is( selector )\n#### .is( element )\n#### .is( selection )\n#### .is( function(index) )\nChecks the current list of elements and returns `true` if _any_ of the elements match the selector. If using an element or Cheerio selection, returns `true` if _any_ of the elements match. If using a predicate function, the function is executed in the context of the selected element, so `this` refers to the current element.\n\n\n### Traversing\n\n#### .find(selector)\nGet a set of descendants filtered by `selector` of each element in the current set of matched elements.\n\n```js\n$(\'#fruits\').find(\'li\').length\n//=> 3\n```\n\n#### .parent([selector])\nGet the parent of each element in the current set of matched elements, optionally filtered by a selector.\n\n```js\n$(\'.pear\').parent().attr(\'id\')\n//=> fruits\n```\n\n#### .parents([selector])\nGet a set of parents filtered by `selector` of each element in the current set of match elements.\n```js\n$(\'.orange\').parents().length\n// => 2\n$(\'.orange\').parents(\'#fruits\').length\n// => 1\n```\n\n#### .closest(selector)\nFor each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n\n```js\n$(\'.orange\').closest()\n// => []\n$(\'.orange\').closest(\'.apple\')\n// => []\n$(\'.orange\').closest(\'li\')\n// => [<li class="orange">Orange</li>]\n$(\'.orange\').closest(\'#fruits\')\n// => [<ul id="fruits"> ... </ul>]\n```\n\n#### .next()\nGets the next sibling of the first selected element.\n\n```js\n$(\'.apple\').next().hasClass(\'orange\')\n//=> true\n```\n\n#### .nextAll()\nGets all the following siblings of the first selected element.\n\n```js\n$(\'.apple\').nextAll()\n//=> [<li class="orange">Orange</li>, <li class="pear">Pear</li>]\n```\n\n#### .nextUntil()\nGets all the following siblings up to but not including the element matched by the selector.\n\n```js\n$(\'.apple\').nextUntil(\'.pear\')\n//=> [<li class="orange">Orange</li>]\n```\n\n#### .prev()\nGets the previous sibling of the first selected element.\n\n```js\n$(\'.orange\').prev().hasClass(\'apple\')\n//=> true\n```\n\n#### .prevAll()\nGets all the preceding siblings of the first selected element.\n\n```js\n$(\'.pear\').prevAll()\n//=> [<li class="orange">Orange</li>, <li class="apple">Apple</li>]\n```\n\n#### .prevUntil()\nGets all the preceding siblings up to but not including the element matched by the selector.\n\n```js\n$(\'.pear\').prevUntil(\'.apple\')\n//=> [<li class="orange">Orange</li>]\n```\n\n#### .slice( start, [end] )\nGets the elements matching the specified range\n\n```js\n$(\'li\').slice(1).eq(0).text()\n//=> \'Orange\'\n\n$(\'li\').slice(1, 2).length\n//=> 1\n```\n\n#### .siblings( selector )\nGets the first selected element\'s siblings, excluding itself.\n\n```js\n$(\'.pear\').siblings().length\n//=> 2\n\n$(\'.pear\').siblings(\'.orange\').length\n//=> 1\n\n```\n\n#### .children( selector )\nGets the children of the first selected element.\n\n```js\n$(\'#fruits\').children().length\n//=> 3\n\n$(\'#fruits\').children(\'.pear\').text()\n//=> Pear\n```\n\n#### .contents()\nGets the children of each element in the set of matched elements, including text and comment nodes.\n\n```js\n$(\'#fruits\').contents().length\n//=> 3\n```\n\n#### .each( function(index, element) )\nIterates over a cheerio object, executing a function for each matched element. When the callback is fired, the function is fired in the context of the DOM element, so `this` refers to the current element, which is equivalent to the function parameter `element`. To break out of the `each` loop early, return with `false`.\n\n```js\nvar fruits = [];\n\n$(\'li\').each(function(i, elem) {\n fruits[i] = $(this).text();\n});\n\nfruits.join(\', \');\n//=> Apple, Orange, Pear\n```\n\n#### .map( function(index, element) )\nPass each element in the current matched set through a function, producing a new Cheerio object containing the return values. The function can return an individual data item or an array of data items to be inserted into the resulting set. If an array is returned, the elements inside the array are inserted into the set. If the function returns null or undefined, no element will be inserted.\n\n```js\n$(\'li\').map(function(i, el) {\n // this === el\n return $(\'<div>\').text($(this).text());\n}).html();\n//=> <div>apple</div><div>orange</div><div>pear</div>\n```\n\n#### .filter( selector ) <br /> .filter( selection ) <br /> .filter( element ) <br /> .filter( function(index) )\n\nIterates over a cheerio object, reducing the set of selector elements to those that match the selector or pass the function\'s test. When a Cheerio selection is specified, return only the elements contained in that selection. When an element is specified, return only that element (if it is contained in the original selection). If using the function method, the function is executed in the context of the selected element, so `this` refers to the current element.\n\nSelector:\n\n```js\n$(\'li\').filter(\'.orange\').attr(\'class\');\n//=> orange\n```\n\nFunction:\n\n```js\n$(\'li\').filter(function(i, el) {\n // this === el\n return $(this).attr(\'class\') === \'orange\';\n}).attr(\'class\')\n//=> orange\n```\n\n#### .first()\nWill select the first element of a cheerio object\n\n```js\n$(\'#fruits\').children().first().text()\n//=> Apple\n```\n\n#### .last()\nWill select the last element of a cheerio object\n\n```js\n$(\'#fruits\').children().last().text()\n//=> Pear\n```\n\n#### .eq( i )\nReduce the set of matched elements to the one at the specified index. Use `.eq(-i)` to count backwards from the last selected element.\n\n```js\n$(\'li\').eq(0).text()\n//=> Apple\n\n$(\'li\').eq(-1).text()\n//=> Pear\n```\n\n#### .end()\nEnd the most recent filtering operation in the current chain and return the set of matched elements to its previous state.\n\n```js\n$(\'li\').eq(0).end().length\n//=> 3\n```\n\n### Manipulation\nMethods for modifying the DOM structure.\n\n#### .append( content, [content, ...] )\nInserts content as the *last* child of each of the selected elements.\n\n```js\n$(\'ul\').append(\'<li class="plum">Plum</li>\')\n$.html()\n//=> <ul id="fruits">\n// <li class="apple">Apple</li>\n// <li class="orange">Orange</li>\n// <li class="pear">Pear</li>\n// <li class="plum">Plum</li>\n// </ul>\n```\n\n#### .prepend( content, [content, ...] )\nInserts content as the *first* child of each of the selected elements.\n\n```js\n$(\'ul\').prepend(\'<li class="plum">Plum</li>\')\n$.html()\n//=> <ul id="fruits">\n// <li class="plum">Plum</li>\n// <li class="apple">Apple</li>\n// <li class="orange">Orange</li>\n// <li class="pear">Pear</li>\n// </ul>\n```\n\n#### .after( content, [content, ...] )\nInsert content next to each element in the set of matched elements.\n\n```js\n$(\'.apple\').after(\'<li class="plum">Plum</li>\')\n$.html()\n//=> <ul id="fruits">\n// <li class="apple">Apple</li>\n// <li class="plum">Plum</li>\n// <li class="orange">Orange</li>\n// <li class="pear">Pear</li>\n// </ul>\n```\n\n#### .before( content, [content, ...] )\nInsert content previous to each element in the set of matched elements.\n\n```js\n$(\'.apple\').before(\'<li class="plum">Plum</li>\')\n$.html()\n//=> <ul id="fruits">\n// <li class="plum">Plum</li>\n// <li class="apple">Apple</li>\n// <li class="orange">Orange</li>\n// <li class="pear">Pear</li>\n// </ul>\n```\n\n#### .remove( [selector] )\nRemoves the set of matched elements from the DOM and all their children. `selector` filters the set of matched elements to be removed.\n\n```js\n$(\'.pear\').remove()\n$.html()\n//=> <ul id="fruits">\n// <li class="apple">Apple</li>\n// <li class="orange">Orange</li>\n// </ul>\n```\n\n#### .replaceWith( content )\nReplaces matched elements with `content`.\n\n```js\nvar plum = $(\'<li class="plum">Plum</li>\')\n$(\'.pear\').replaceWith(plum)\n$.html()\n//=> <ul id="fruits">\n// <li class="apple">Apple</li>\n// <li class="orange">Orange</li>\n// <li class="plum">Plum</li>\n// </ul>\n```\n\n#### .empty()\nEmpties an element, removing all it\'s children.\n\n```js\n$(\'ul\').empty()\n$.html()\n//=> <ul id="fruits"></ul>\n```\n\n#### .html( [htmlString] )\nGets an html content string from the first selected element. If `htmlString` is specified, each selected element\'s content is replaced by the new content.\n\n```js\n$(\'.orange\').html()\n//=> Orange\n\n$(\'#fruits\').html(\'<li class="mango">Mango</li>\').html()\n//=> <li class="mango">Mango</li>\n```\n\n#### .text( [textString] )\nGet the combined text contents of each element in the set of matched elements, including their descendants.. If `textString` is specified, each selected element\'s content is replaced by the new text content.\n\n```js\n$(\'.orange\').text()\n//=> Orange\n\n$(\'ul\').text()\n//=> Apple\n// Orange\n// Pear\n```\n\n#### .css( [propertName] ) <br /> .css( [ propertyNames] ) <br /> .css( [propertyName], [value] ) <br /> .css( [propertName], [function] ) <br /> .css( [properties] )\n\nGet the value of a style property for the first element in the set of matched elements or set one or more CSS properties for every matched element.\n\n### Rendering\nWhen you\'re ready to render the document, you can use the `html` utility function:\n\n```js\n$.html()\n//=> <ul id="fruits">\n// <li class="apple">Apple</li>\n// <li class="orange">Orange</li>\n// <li class="pear">Pear</li>\n// </ul>\n```\n\nIf you want to return the outerHTML you can use `$.html(selector)`:\n\n```js\n$.html(\'.pear\')\n//=> <li class="pear">Pear</li>\n```\n\nBy default, `html` will leave some tags open. Sometimes you may instead want to render a valid XML document. For example, you might parse the following XML snippet:\n\n```xml\n$ = cheerio.load(\'<media:thumbnail url="http://www.foo.com/keyframe.jpg" width="75" height="50" time="12:05:01.123"/>\');\n```\n\n... and later want to render to XML. To do this, you can use the \'xml\' utility function:\n\n```js\n$.xml()\n//=> <media:thumbnail url="http://www.foo.com/keyframe.jpg" width="75" height="50" time="12:05:01.123"/>\n```\n\n\n### Miscellaneous\nDOM element methods that don\'t fit anywhere else\n\n#### .toArray()\nRetrieve all the DOM elements contained in the jQuery set, as an array.\n\n```js\n$(\'li\').toArray()\n//=> [ {...}, {...}, {...} ]\n```\n\n#### .clone() ####\nClone the cheerio object.\n\n```js\nvar moreFruit = $(\'#fruits\').clone()\n```\n\n### Utilities\n\n#### $.root\n\nSometimes you need to work with the top-level root element. To query it, you can use `$.root()`.\n\n```js\n$.root().append(\'<ul id="vegetables"></ul>\').html();\n//=> <ul id="fruits">...</ul><ul id="vegetables"></ul>\n```\n\n#### $.contains( container, contained )\nChecks to see if the `contained` DOM element is a descendent of the `container` DOM element.\n\n#### $.parseHTML( data [, context ] [, keepScripts ] )\nParses a string into an array of DOM nodes. The `context` argument has no meaning for Cheerio, but it is maintained for API compatability.\n\n## Screencasts\n\nhttp://vimeo.com/31950192\n\n> This video tutorial is a follow-up to Nettut\'s "How to Scrape Web Pages with Node.js and jQuery", using cheerio instead of JSDOM + jQuery. This video shows how easy it is to use cheerio and how much faster cheerio is than JSDOM + jQuery.\n\n## Test Coverage\n\nCheerio has high-test coverage, you can view the report [here](https://s3.amazonaws.com/MattMueller/Coverage/cheerio.html).\n\n## Testing\n\nTo run the test suite, download the repository, then within the cheerio directory, run:\n\n```shell\nmake setup\nmake test\n```\n\nThis will download the development packages and run the test suite.\n\n## Contributors\n\nThese are some of the contributors that have made cheerio possible:\n\n```\nproject : cheerio\nrepo age : 2 years, 1 month\nactive : 196 days\ncommits : 591\nfiles : 32\nauthors :\n 293 Matt Mueller 49.6%\n 102 Matthew Mueller 17.3%\n 52 Mike Pennisi 8.8%\n 47 David Chambers 8.0%\n 15 Siddharth Mahendraker 2.5%\n 11 Adam Bretz 1.9%\n 7 ironchefpython 1.2%\n 6 Jarno Leppänen 1.0%\n 5 Ben Sheldon 0.8%\n 5 Ryan Schmukler 0.8%\n 5 Jos Shepherd 0.8%\n 4 Maciej Adwent 0.7%\n 4 Amir Abu Shareb 0.7%\n 3 Felix Böhm 0.5%\n 3 jeremy.dentel@brandingbrand.com 0.5%\n 3 Andi Neck 0.5%\n 2 alexbardas 0.3%\n 2 Ali Farhadi 0.3%\n 2 Thomas Heymann 0.3%\n 2 Wayne Larsen 0.3%\n 2 Rob Ashton 0.3%\n 2 Chris Khoo 0.3%\n 1 xiaohwan 0.2%\n 1 Chris O\'Hara 0.2%\n 1 Felix Böhm 0.2%\n 1 Jeremy Hubble 0.2%\n 1 Manuel Alabor 0.2%\n 1 Matt Liegey 0.2%\n 1 Ben Atkin 0.2%\n 1 Rich Trott 0.2%\n 1 Rob "Hurricane" Ashton 0.2%\n 1 Simon Boudrias 0.2%\n 1 Sindre Sorhus 0.2%\n 1 Timm Preetz 0.2%\n 1 mattym 0.2%\n 1 nevermind 0.2%\n```\n\n## Special Thanks\n\nThis library stands on the shoulders of some incredible developers. A special thanks to:\n\n__&#8226; @FB55 for node-htmlparser2 & CSSSelect:__\nFelix has a knack for writing speedy parsing engines. He completely re-wrote both @tautologistic\'s `node-htmlparser` and @harry\'s `node-soupselect` from the ground up, making both of them much faster and more flexible. Cheerio would not be possible without his foundational work\n\n__&#8226; @jQuery team for jQuery:__\nThe core API is the best of it\'s class and despite dealing with all the browser inconsistencies the code base is extremely clean and easy to follow. Much of cheerio\'s implementation and documentation is from jQuery. Thanks guys.\n\n__&#8226; @visionmedia:__\nThe style, the structure, the open-source"-ness" of this library comes from studying TJ\'s style and using many of his libraries. This dude consistently pumps out high-quality libraries and has always been more than willing to help or answer questions. You rock TJ.\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2012 Matt Mueller &lt;mattmuelle@gmail.com&gt;\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',
20015 silly resolved readmeFilename: 'Readme.md',
20015 silly resolved bugs: { url: 'https://github.com/MatthewMueller/cheerio/issues' },
20015 silly resolved homepage: 'https://github.com/MatthewMueller/cheerio',
20015 silly resolved _id: 'cheerio@0.13.1',
20015 silly resolved _shasum: '48af1134561b3527f83d9156c4f9a8ebd82b06ec',
20015 silly resolved _from: 'cheerio@~0.13.1',
20015 silly resolved _resolved: 'https://registry.npmjs.org/cheerio/-/cheerio-0.13.1.tgz' },
20015 silly resolved { name: 'pagelet',
20015 silly resolved version: '0.3.3',
20015 silly resolved description: 'pagelet',
20015 silly resolved main: 'index.js',
20015 silly resolved scripts:
20015 silly resolved { test: 'NODE_ENV=test ./node_modules/.bin/mocha $(find test -name \'*.test.js\')',
20015 silly resolved coverage: 'NODE_ENV=test ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha $(find test -name \'*.test.js\') --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js || true && rm -rf ./coverage' },
20015 silly resolved repository: { type: 'git', url: 'https://github.com/bigpipe/pagelet' },
20015 silly resolved keywords: [ 'pagelet', 'bigpipe' ],
20015 silly resolved author: { name: 'Arnout Kazemier' },
20015 silly resolved license: 'MIT',
20015 silly resolved bugs: { url: 'https://github.com/bigpipe/pagelet/issues' },
20015 silly resolved homepage: 'http://bigpipe.io',
20015 silly resolved dependencies:
20015 silly resolved { debug: '0.8.x',
20015 silly resolved 'dot-component': '0.1.x',
20015 silly resolved fusing: '0.2.x',
20015 silly resolved 'json-stringify-safe': '5.0.x',
20015 silly resolved temper: '0.1.x' },
20015 silly resolved devDependencies:
20015 silly resolved { chai: '1.9.x',
20015 silly resolved coveralls: '2.8.x',
20015 silly resolved istanbul: '0.2.x',
20015 silly resolved mocha: '1.18.x',
20015 silly resolved 'mocha-lcov-reporter': '0.0.x',
20015 silly resolved 'pre-commit': '0.0.x' },
20015 silly resolved readme: '# Pagelet [![Build Status][status]](https://travis-ci.org/bigpipe/pagelet) [![NPM version][npmimgurl]](http://badge.fury.io/js/pagelet) [![Coverage Status][coverage]](http://coveralls.io/r/bigpipe/pagelet?branch=master)\n\n[status]: https://travis-ci.org/bigpipe/pagelet.png\n[npmimgurl]: https://badge.fury.io/js/pagelet.png\n[coverage]: http://coveralls.io/repos/bigpipe/pagelet/badge.png?branch=master\n\n## Installation\n\nIn all of the following code examples we assume that the `Pagelet` variable is\neither exposed as:\n\n```js\nvar Pagelet = require(\'pagelet\');\n```\n\nOr using the BigPipe framework:\n\n```js\nvar Pagelet = require(\'bigpipe\').Pagelet;\n```\n\n## Table of Contents\n\n**Pagelet function**\n- [Pagelet.extend](#pageletextend)\n- [Pagelet.on](#pageleton)\n\n**Pagelet instance**\n- [Pagelet.name](#pageletname)\n- [Pagelet.RPC](#pageletrpc)\n- [Pagelet.fragment](#pageletfragment)\n- [Pagelet.remove](#pageletremove)\n- [Pagelet.view](#pageletview)\n- [Pagelet.error](#pageleterror)\n- [Pagelet.engine](#pageletengine)\n- [Pagelet.query](#pageletquery)\n- [Pagelet.css](#pageletcss)\n- [Pagelet.js](#pageletjs)\n- [Pagelet.dependencies](#pageletdependencies)\n- [Pagelet.get()](#pageletget)\n- [Pagelet.authorize()](#pageletauthorize)\n- [Pagelet.initialize()](#pageletinitialize)\n- [Pagelet.id](#pageletid)\n- [Pagelet.substream](#pageletsubstream)\n\n### Pagelet.extend\n\nThe `.extend` method is used for creating a new Pagelet constructor. It\nsubclasses the `Pagelet` constructor just like you\'re used to when using\n[Backbone]. It accepts an object which will be automatically applied as part of\nthe prototype:\n\n```js\nPagelet.extend({\n js: \'client.js\',\n css: \'sidebar.styl\',\n view: \'templ.jade\',\n\n get: function get() {\n // do stuff when GET is called via render\n }\n});\n```\n\n### Pagelet.on\n\nIn [BigPipe] we need to know where the Pagelet is required from so we figure out\nhow to correctly resolve the relative paths of the `css`, `js` and `view`\nproperties.\n\nSo a full constructed Pagelet instance looks like:\n\n```js\nPagelet.extend({\n my: \'prop\',\n and: function () {}\n}).on(module);\n```\n\nThis has the added benefit of no longer needing to do `module.exports = ..` in\nyour code as the `Pagelet.on` method automatically does this for you.\n\n### Pagelet.name\n\n_required:_ **writable, string**\n\nEvery pagelet should have a name, it\'s one of the ways that [BigPipe] uses to\nidentify which pagelet and where it should be loaded on the page. The name\nshould be an unique but human readable string as this will be used as value for\nthe `data-pagelet=""` attributes on your [Page], but this name is also when you\nwant to check if a `Pagelet` is available.\n\n```js\nPagelet.extend({\n name: \'sidebar\'\n}).on(module);\n```\n\nIf no `name` property has been set on the Pagelet it will take the `key` that\nwas used when you specified the pagelets for the [Page]:\n\n```js\nvar Page = require(\'bigpipe\').Page;\n\nPage.extend({\n pagelets: {\n sidebar: \'../yourpagelet.js\',\n another: require(\'../yourpagelet.js\')\n }\n}).on(module);\n```\n\n### Pagelet.streaming\n\n_optional:_ **writable, boolean**\n\nWhen enabled we will stream the submit of each form that is within a Pagelet to\nthe server instead of using the default full page refreshes. After sending the\ndata the resulting HTML will be used to only update the contents of the pagelet.\n\nIf you want to opt-out of this with one form you can add a\n`data-pagelet-async="false"` attribute to the form element.\n\n```js\nPagelet.extend({\n streaming: true\n});\n```\n\n### Pagelet.RPC\n\n_optional:_ **writable, array**\n\nThe `RPC` array specifies the methods that can be remotely called from the\nclient/browser. Please note that they are not actually send to the client as\nthese functions will execute on the server and transfer the result back to the\nclient.\n\nThe first argument that these functions receive is an error first style callback\nwhich is used to transfer the response back to the client. All other arguments\nwill be the arguments that were used to call the method on the client.\n\n ```js\nPagelet.extend({\n RPC: [ \'methodname\' ],\n\n methodname: function methodname(reply, arg1, arg2) {\n\n }\n}).on(module);\n```\n\n### Pagelet.fragment\n\n_optional:_ **writable, string**\n\nA default fragment is provided via `Pagelet.fragment`, however it is\npossible to overwrite this default fragment with a custom fragment. This fragment\nis used by render to generate content with appropriate data to work with [BigPipe].\nChange `Pagelet.fragment` if you\'d like to invoke render and generate custom output.\n\n**Default value**: see [pagelet.fragment][frag]\n\n```js\nPagelet.extend({\n fragment: \'<div>pagelet::template</div>\',\n}).on(module);\n```\n\n### Pagelet.remove\n\n_optional:_ **writable, boolean**\n\nThis instructs our render engine to remove the pagelet placeholders from the DOM\nstructure if we\'re unauthorized. This makes it easier to create conditional\nlayouts without having to worry about DOM elements that are left behind.\n\n**Default value**: `true`\n\n```js\nPagelet.extend({\n authorize: auth,\n remove: false\n}).on(module);\n```\n\n### Pagelet.view\n\n_required:_ **writable, string**\n\nThe view is a reference to the template that we render inside the\n`data-pagelet="<name>"` placeholders. Please make sure that your template can be\nrendered on both the client and server side. Take a look at our [temper] project\nfor template engines that we support.\n\n### Pagelet.error\n\n_optional:_ **writable, string**\n\nJust like the `Pagelet.view` this is a reference to a template that we will\nrender in your `data-pagelet="<name>"` placeholders but this template is only\nrendered when:\n\n1. We receive an `Error` argument in our callback that we supply to the\n `Pagelet#get` method.\n2. Your `Pagelet.view` throws an error when we\'re rendering the template.\n\nIf this property is not set we will default to a template that ships with this\nPagelet by default. This template includes a small HTML fragment that states the\nerror.\n\n### Pagelet.engine\n\n_optional:_ **writable, string**\n\nWe attempt to detect the correct template engine based on filename as well as\nthe template engine\'s that we can require. It is possible that we make the wrong\nassumption and you wanted to use `handlebars` for your `.mustache` based\ntemplates but it choose to use `hogan.js` instead.\n\n```js\nPagelet.extend({\n view: \'sidebar.mustache\',\n engine: \'handlebars\'\n}).on(module);\n```\n\n**Please note that the engine needs to be compatible with the [temper] module\nthat we use to compile the templates**\n\n### Pagelet.query\n\n_optional:_ **writable, array**\n\nFor optimal performance the data that is send to the client will be minimal\nand dependant on they query that is provided. Data can be supplied to the client\nby listing the keys (nested paths in dot notation) of which the data should be\nsend to the client. In the example only the content of `mydata` and `nested.is`\nwill be send.\n\n```js\nPagelet.extend({\n query: [ \'mydata\', \'nested.is\' ],\n get: function get(done) {\n done(null, {\n mydata: \'test\',\n nested: { is: \'allowed\', left: \'alone\' },\n more: \'data\'\n });\n }\n}).on(module);\n```\n\n### Pagelet.css\n\n_optional:_ **writable, string**\n\nThe location of the styling for **only this** pagelet. You should assume that\nyou bundle all the CSS that is required to fully render this pagelet. By\neliminating inherited CSS it will be easier for you to re-use this pagelet on\nother pages as well as in other projects.\n\n```js\nPagelet.extend({\n css: \'./my-little-pony.styl\'\n}).on(module);\n```\n\n**Please note that this doesn\'t have to be a `.css` file as we will\ntransparently pre-process these files for you. See the [smithy] project for the\ncompatible pre-processors.**\n\n### Pagelet.js\n\n_optional:_ **writable, string**\n\nAs you might have guessed, this is the location of the JavaScript that you want\nto have loaded for your pagelet. We use [fortress] to sandbox this JavaScript in\na dedicated `iframe` so the code you write is not affected and will not affect\nother pagelets on the same page. This also makes it relatively save to extend\nthe build-in primitives of JavaScript (adding new properties to Array etc).\n\nUnlike the `view` and `css` we do not pre-process the JavaScript. But this does\nnot mean you cannot use CoffeeScript or other pre-processed languages inside a\nPagelet. It just means that you have to compile your files to a proper\nJavaScript file and point to that location instead.\n\n```js\nPagelet.extend({\n js: \'./library.js\'\n}).on(module);\n```\n\n**Please note that the sandboxing is not there as a security feature, it was\nonly designed to prevent code from different pagelets clashing with each other**\n\n### Pagelet.dependencies\n\n_optional:_ **writable, array**\n\nAn array of dependencies that your pagelet depends on which should be loaded in\nadvance and available on the page before any CSS or JavaScript is executed. The\nfiles listed in this array can either a be CSS or JavaScript resource.\n\n```js\npagelet.extend({\n dependencies: [\n \'https://google.com/ga.js\'\n ]\n}).on(module);\n```\n\n### Pagelet.get()\n\n_required:_ **writable, function**\n\nGet provides the data that is used for rendering the output of the Pagelet.\n\nThe `get` method receives one argument:\n\n- done: A completion callback which accepts two arguments. This callback should be\ncalled when your custom implementation has finished gathering data from all sources.\nCalling `done(error, data)` will allow the `render` method to complete its work.\nThe data provided to the callback will be used to render the actual Pagelet.\n\n```js\nPagelet.extend({\n get: function get(done) {\n var data = { provide: \'data-async\' };\n done(error, data);\n },\n}).on(module);\n```\n\n### Pagelet.authorize()\n\n_optional:_ **writable, function**\n\nThere is the possibility to create private pagelets. These pagelets could require\nspecial permissions in your application in order to be used. An example of this\nwould a special administrator UI element. When a pagelet is unauthorized it can\nbe removed from DOM structure of the page. See [Pagelet: remove] for changing\nthis behaviour.\n\nThe authorize method receives 2 arguments:\n\n- req: The incoming HTTP requirement.\n- done: A completion callback which only accepts one argument, a boolean. If\n this boolean has been set to `true` the pagelet is authorized on the page and\n will be rendered as expected. When the argument evaluates as `false` (so also\n null, undefined, 0 etc) we assume that it\'s disallowed and should not be\n rendered.\n\n```js\nPagelet.extend({\n authorize: function authorize(req, done) {\n done(true); // True indicates that the request is authorized for access.\n }\n}).on(module);\n```\n\n### Pagelet.initialize()\n\n_optional:_ **writable, function**\n\nThe pagelet has been initialised. If you have an authorization function this\nfunction will only be called **after** a successful authorization. If no\nauthorization hook is provided it should be called instantly.\n\n```js\nPagelet.extend({\n initialize: function () {\n this.once(\'event\', function () {\n doStuff();\n });\n }\n});\n```\n\n### Pagelet.id\n\n**read only**\n\nThe unique id of a given pagelet instance. Please note that this is not a\npersistent id and will differ between every single initialised instance.\n\n### Pagelet.substream\n\n**read only**\n\nThe pagelet can also be initialised through [Primus] so it can be used for\nreal-time communication (and make things like [RPC](#pagelet-rpc) work). The\ncommunication is done over a [substream] which allows Primus multiplex the\nconnection between various of endpoints.\n\n## License\n\nMIT\n\n[Backbone]: http://backbonejs.com\n[BigPipe]: http://bigpipe.io\n[Page]: http://bigpipe.io#page\n[temper]: http://github.com/bigpipe/temper\n[smithy]: http://github.com/observing/smithy\n[fortress]: http://github.com/bigpipe/fortress\n[frag]: https://github.com/bigpipe/pagelet/blob/master/pagelet.fragment\n[Primus]: https://github.com/primus/primus\n[substream]: https://github.com/primus/substream\n',
20015 silly resolved readmeFilename: 'README.md',
20015 silly resolved _id: 'pagelet@0.3.3',
20015 silly resolved _shasum: '5e0dc98616fa7d4265b9e14a5c04fbebcf7f6881',
20015 silly resolved _from: 'pagelet@~0.3.0',
20015 silly resolved _resolved: 'https://registry.npmjs.org/pagelet/-/pagelet-0.3.3.tgz' } ]
20016 info install async@0.2.10 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour
20017 info install predefine@0.0.6 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour
20018 info install fusing@0.0.3 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour
20019 info install creditcard@0.1.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour
20020 info install marked@0.3.2 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour
20021 info install utile@0.2.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour
20022 info install cheerio@0.13.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour
20023 info install pagelet@0.3.3 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour
20024 info installOne async@0.2.10
20025 info installOne predefine@0.0.6
20026 info installOne fusing@0.0.3
20027 info installOne creditcard@0.1.1
20028 info installOne marked@0.3.2
20029 info installOne utile@0.2.1
20030 info installOne cheerio@0.13.1
20031 info installOne pagelet@0.3.3
20032 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/eventemitter3 unbuild
20033 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing unbuild
20034 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp unbuild
20035 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable unbuild
20036 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/trailers unbuild
20037 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream unbuild
20038 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/expirable unbuild
20039 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/temper unbuild
20040 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/pipe.js unbuild
20041 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy unbuild
20042 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/formidable unbuild
20043 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/ws unbuild
20044 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/primus unbuild
20045 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/pagelet unbuild
20046 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/registry-status-pagelet/node_modules/pagelet unbuild
20047 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/async unbuild
20048 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine unbuild
20049 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/fusing unbuild
20050 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/creditcard unbuild
20051 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/marked unbuild
20052 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile unbuild
20053 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/cheerio unbuild
20054 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/pagelet unbuild
20055 verbose tar unpack /Users/V1/.npm/eventemitter3/0.1.2/package.tgz
20056 silly lockFile 484b1326-gpipe-node-modules-eventemitter3 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/eventemitter3
20057 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/eventemitter3 /Users/V1/.npm/484b1326-gpipe-node-modules-eventemitter3.lock
20058 silly lockFile 70e5a727--eventemitter3-0-1-2-package-tgz tar:///Users/V1/.npm/eventemitter3/0.1.2/package.tgz
20059 verbose lock tar:///Users/V1/.npm/eventemitter3/0.1.2/package.tgz /Users/V1/.npm/70e5a727--eventemitter3-0-1-2-package-tgz.lock
20060 verbose tar unpack /Users/V1/.npm/fusing/0.2.1/package.tgz
20061 silly lockFile fe9a6b69-ules-bigpipe-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing
20062 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing /Users/V1/.npm/fe9a6b69-ules-bigpipe-node-modules-fusing.lock
20063 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
20064 verbose lock tar:///Users/V1/.npm/fusing/0.2.1/package.tgz /Users/V1/.npm/17ccbade--V1-npm-fusing-0-2-1-package-tgz.lock
20065 verbose tar unpack /Users/V1/.npm/mkdirp/0.4.2/package.tgz
20066 silly lockFile 16abbed7-ules-bigpipe-node-modules-mkdirp tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp
20067 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp /Users/V1/.npm/16abbed7-ules-bigpipe-node-modules-mkdirp.lock
20068 silly lockFile 0715e829--V1-npm-mkdirp-0-4-2-package-tgz tar:///Users/V1/.npm/mkdirp/0.4.2/package.tgz
20069 verbose lock tar:///Users/V1/.npm/mkdirp/0.4.2/package.tgz /Users/V1/.npm/0715e829--V1-npm-mkdirp-0-4-2-package-tgz.lock
20070 verbose tar unpack /Users/V1/.npm/routable/0.0.2/package.tgz
20071 silly lockFile f54097bb-es-bigpipe-node-modules-routable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable
20072 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable /Users/V1/.npm/f54097bb-es-bigpipe-node-modules-routable.lock
20073 silly lockFile ae8ff804-1-npm-routable-0-0-2-package-tgz tar:///Users/V1/.npm/routable/0.0.2/package.tgz
20074 verbose lock tar:///Users/V1/.npm/routable/0.0.2/package.tgz /Users/V1/.npm/ae8ff804-1-npm-routable-0-0-2-package-tgz.lock
20075 verbose tar unpack /Users/V1/.npm/trailers/0.0.1/package.tgz
20076 silly lockFile bac3c0a9-es-bigpipe-node-modules-trailers tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/trailers
20077 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/trailers /Users/V1/.npm/bac3c0a9-es-bigpipe-node-modules-trailers.lock
20078 silly lockFile c13bd97d-1-npm-trailers-0-0-1-package-tgz tar:///Users/V1/.npm/trailers/0.0.1/package.tgz
20079 verbose lock tar:///Users/V1/.npm/trailers/0.0.1/package.tgz /Users/V1/.npm/c13bd97d-1-npm-trailers-0-0-1-package-tgz.lock
20080 verbose tar unpack /Users/V1/.npm/substream/0.0.2/package.tgz
20081 silly lockFile 4c5fe36f-s-bigpipe-node-modules-substream tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream
20082 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream /Users/V1/.npm/4c5fe36f-s-bigpipe-node-modules-substream.lock
20083 silly lockFile 3e838669--npm-substream-0-0-2-package-tgz tar:///Users/V1/.npm/substream/0.0.2/package.tgz
20084 verbose lock tar:///Users/V1/.npm/substream/0.0.2/package.tgz /Users/V1/.npm/3e838669--npm-substream-0-0-2-package-tgz.lock
20085 verbose tar unpack /Users/V1/.npm/expirable/0.1.0/package.tgz
20086 silly lockFile 299b346f-s-bigpipe-node-modules-expirable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/expirable
20087 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/expirable /Users/V1/.npm/299b346f-s-bigpipe-node-modules-expirable.lock
20088 silly lockFile a47c5a64--npm-expirable-0-1-0-package-tgz tar:///Users/V1/.npm/expirable/0.1.0/package.tgz
20089 verbose lock tar:///Users/V1/.npm/expirable/0.1.0/package.tgz /Users/V1/.npm/a47c5a64--npm-expirable-0-1-0-package-tgz.lock
20090 verbose tar unpack /Users/V1/.npm/temper/0.1.9/package.tgz
20091 silly lockFile 5093d4ed-ules-bigpipe-node-modules-temper tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/temper
20092 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/temper /Users/V1/.npm/5093d4ed-ules-bigpipe-node-modules-temper.lock
20093 silly lockFile 620cf8eb--V1-npm-temper-0-1-9-package-tgz tar:///Users/V1/.npm/temper/0.1.9/package.tgz
20094 verbose lock tar:///Users/V1/.npm/temper/0.1.9/package.tgz /Users/V1/.npm/620cf8eb--V1-npm-temper-0-1-9-package-tgz.lock
20095 verbose tar unpack /Users/V1/.npm/pipe.js/0.2.4/package.tgz
20096 silly lockFile 7c7e43dc-les-bigpipe-node-modules-pipe-js tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/pipe.js
20097 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/pipe.js /Users/V1/.npm/7c7e43dc-les-bigpipe-node-modules-pipe-js.lock
20098 silly lockFile c1778beb-V1-npm-pipe-js-0-2-4-package-tgz tar:///Users/V1/.npm/pipe.js/0.2.4/package.tgz
20099 verbose lock tar:///Users/V1/.npm/pipe.js/0.2.4/package.tgz /Users/V1/.npm/c1778beb-V1-npm-pipe-js-0-2-4-package-tgz.lock
20100 verbose tar unpack /Users/V1/.npm/smithy/0.5.0/package.tgz
20101 silly lockFile f8fa133d-ules-bigpipe-node-modules-smithy tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy
20102 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy /Users/V1/.npm/f8fa133d-ules-bigpipe-node-modules-smithy.lock
20103 silly lockFile a45c8b2e--V1-npm-smithy-0-5-0-package-tgz tar:///Users/V1/.npm/smithy/0.5.0/package.tgz
20104 verbose lock tar:///Users/V1/.npm/smithy/0.5.0/package.tgz /Users/V1/.npm/a45c8b2e--V1-npm-smithy-0-5-0-package-tgz.lock
20105 verbose tar unpack /Users/V1/.npm/formidable/1.0.14/package.tgz
20106 silly lockFile 59f5c8d8--bigpipe-node-modules-formidable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/formidable
20107 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/formidable /Users/V1/.npm/59f5c8d8--bigpipe-node-modules-formidable.lock
20108 silly lockFile 464d5b5d-pm-formidable-1-0-14-package-tgz tar:///Users/V1/.npm/formidable/1.0.14/package.tgz
20109 verbose lock tar:///Users/V1/.npm/formidable/1.0.14/package.tgz /Users/V1/.npm/464d5b5d-pm-formidable-1-0-14-package-tgz.lock
20110 verbose tar unpack /Users/V1/.npm/ws/0.4.31/package.tgz
20111 silly lockFile 94f4f159--modules-bigpipe-node-modules-ws tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/ws
20112 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/ws /Users/V1/.npm/94f4f159--modules-bigpipe-node-modules-ws.lock
20113 silly lockFile 1e40b4ad-ers-V1-npm-ws-0-4-31-package-tgz tar:///Users/V1/.npm/ws/0.4.31/package.tgz
20114 verbose lock tar:///Users/V1/.npm/ws/0.4.31/package.tgz /Users/V1/.npm/1e40b4ad-ers-V1-npm-ws-0-4-31-package-tgz.lock
20115 verbose tar unpack /Users/V1/.npm/primus/2.2.1/package.tgz
20116 silly lockFile 8201363b-ules-bigpipe-node-modules-primus tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/primus
20117 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/primus /Users/V1/.npm/8201363b-ules-bigpipe-node-modules-primus.lock
20118 silly lockFile 32554762--V1-npm-primus-2-2-1-package-tgz tar:///Users/V1/.npm/primus/2.2.1/package.tgz
20119 verbose lock tar:///Users/V1/.npm/primus/2.2.1/package.tgz /Users/V1/.npm/32554762--V1-npm-primus-2-2-1-package-tgz.lock
20120 verbose tar unpack /Users/V1/.npm/pagelet/0.3.3/package.tgz
20121 silly lockFile 0113deb0-les-bigpipe-node-modules-pagelet tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/pagelet
20122 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/pagelet /Users/V1/.npm/0113deb0-les-bigpipe-node-modules-pagelet.lock
20123 silly lockFile e63449fa-V1-npm-pagelet-0-3-3-package-tgz tar:///Users/V1/.npm/pagelet/0.3.3/package.tgz
20124 verbose lock tar:///Users/V1/.npm/pagelet/0.3.3/package.tgz /Users/V1/.npm/e63449fa-V1-npm-pagelet-0-3-3-package-tgz.lock
20125 verbose tar unpack /Users/V1/.npm/pagelet/0.3.3/package.tgz
20126 silly lockFile 713d34b4-tus-pagelet-node-modules-pagelet tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/registry-status-pagelet/node_modules/pagelet
20127 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/registry-status-pagelet/node_modules/pagelet /Users/V1/.npm/713d34b4-tus-pagelet-node-modules-pagelet.lock
20128 silly lockFile e63449fa-V1-npm-pagelet-0-3-3-package-tgz tar:///Users/V1/.npm/pagelet/0.3.3/package.tgz
20129 verbose lock tar:///Users/V1/.npm/pagelet/0.3.3/package.tgz /Users/V1/.npm/e63449fa-V1-npm-pagelet-0-3-3-package-tgz.lock
20130 verbose tar unpack /Users/V1/.npm/async/0.2.10/package.tgz
20131 silly lockFile f0d9c9ac-dules-contour-node-modules-async tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/async
20132 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/async /Users/V1/.npm/f0d9c9ac-dules-contour-node-modules-async.lock
20133 silly lockFile f1a4aa88--V1-npm-async-0-2-10-package-tgz tar:///Users/V1/.npm/async/0.2.10/package.tgz
20134 verbose lock tar:///Users/V1/.npm/async/0.2.10/package.tgz /Users/V1/.npm/f1a4aa88--V1-npm-async-0-2-10-package-tgz.lock
20135 verbose tar unpack /Users/V1/.npm/predefine/0.0.6/package.tgz
20136 silly lockFile 376949d5-s-contour-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine
20137 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine /Users/V1/.npm/376949d5-s-contour-node-modules-predefine.lock
20138 silly lockFile 85c46b0d--npm-predefine-0-0-6-package-tgz tar:///Users/V1/.npm/predefine/0.0.6/package.tgz
20139 verbose lock tar:///Users/V1/.npm/predefine/0.0.6/package.tgz /Users/V1/.npm/85c46b0d--npm-predefine-0-0-6-package-tgz.lock
20140 verbose tar unpack /Users/V1/.npm/creditcard/0.1.1/package.tgz
20141 silly lockFile ec260d6e--contour-node-modules-creditcard tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/creditcard
20142 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/creditcard /Users/V1/.npm/ec260d6e--contour-node-modules-creditcard.lock
20143 silly lockFile 352cd860-npm-creditcard-0-1-1-package-tgz tar:///Users/V1/.npm/creditcard/0.1.1/package.tgz
20144 verbose lock tar:///Users/V1/.npm/creditcard/0.1.1/package.tgz /Users/V1/.npm/352cd860-npm-creditcard-0-1-1-package-tgz.lock
20145 verbose tar unpack /Users/V1/.npm/fusing/0.0.3/package.tgz
20146 silly lockFile ac9488f1-ules-contour-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/fusing
20147 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/fusing /Users/V1/.npm/ac9488f1-ules-contour-node-modules-fusing.lock
20148 silly lockFile 401e4d46--V1-npm-fusing-0-0-3-package-tgz tar:///Users/V1/.npm/fusing/0.0.3/package.tgz
20149 verbose lock tar:///Users/V1/.npm/fusing/0.0.3/package.tgz /Users/V1/.npm/401e4d46--V1-npm-fusing-0-0-3-package-tgz.lock
20150 verbose tar unpack /Users/V1/.npm/marked/0.3.2/package.tgz
20151 silly lockFile 3c3f1afa-ules-contour-node-modules-marked tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/marked
20152 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/marked /Users/V1/.npm/3c3f1afa-ules-contour-node-modules-marked.lock
20153 silly lockFile 5cc7954b--V1-npm-marked-0-3-2-package-tgz tar:///Users/V1/.npm/marked/0.3.2/package.tgz
20154 verbose lock tar:///Users/V1/.npm/marked/0.3.2/package.tgz /Users/V1/.npm/5cc7954b--V1-npm-marked-0-3-2-package-tgz.lock
20155 verbose tar unpack /Users/V1/.npm/utile/0.2.1/package.tgz
20156 silly lockFile 86a3b4bb-dules-contour-node-modules-utile tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile
20157 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile /Users/V1/.npm/86a3b4bb-dules-contour-node-modules-utile.lock
20158 silly lockFile 7020cf76-s-V1-npm-utile-0-2-1-package-tgz tar:///Users/V1/.npm/utile/0.2.1/package.tgz
20159 verbose lock tar:///Users/V1/.npm/utile/0.2.1/package.tgz /Users/V1/.npm/7020cf76-s-V1-npm-utile-0-2-1-package-tgz.lock
20160 verbose tar unpack /Users/V1/.npm/cheerio/0.13.1/package.tgz
20161 silly lockFile d0a49c27-les-contour-node-modules-cheerio tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/cheerio
20162 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/cheerio /Users/V1/.npm/d0a49c27-les-contour-node-modules-cheerio.lock
20163 silly lockFile 02858acb-1-npm-cheerio-0-13-1-package-tgz tar:///Users/V1/.npm/cheerio/0.13.1/package.tgz
20164 verbose lock tar:///Users/V1/.npm/cheerio/0.13.1/package.tgz /Users/V1/.npm/02858acb-1-npm-cheerio-0-13-1-package-tgz.lock
20165 verbose tar unpack /Users/V1/.npm/pagelet/0.3.3/package.tgz
20166 silly lockFile 011d4cc4-les-contour-node-modules-pagelet tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/pagelet
20167 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/pagelet /Users/V1/.npm/011d4cc4-les-contour-node-modules-pagelet.lock
20168 silly lockFile e63449fa-V1-npm-pagelet-0-3-3-package-tgz tar:///Users/V1/.npm/pagelet/0.3.3/package.tgz
20169 verbose lock tar:///Users/V1/.npm/pagelet/0.3.3/package.tgz /Users/V1/.npm/e63449fa-V1-npm-pagelet-0-3-3-package-tgz.lock
20170 silly gunzTarPerm modes [ '755', '644' ]
20171 silly gunzTarPerm modes [ '755', '644' ]
20172 silly gunzTarPerm modes [ '755', '644' ]
20173 silly gunzTarPerm modes [ '755', '644' ]
20174 silly gunzTarPerm modes [ '755', '644' ]
20175 silly gunzTarPerm modes [ '755', '644' ]
20176 silly gunzTarPerm modes [ '755', '644' ]
20177 silly gunzTarPerm modes [ '755', '644' ]
20178 silly gunzTarPerm modes [ '755', '644' ]
20179 silly gunzTarPerm modes [ '755', '644' ]
20180 silly gunzTarPerm modes [ '755', '644' ]
20181 silly gunzTarPerm modes [ '755', '644' ]
20182 silly gunzTarPerm modes [ '755', '644' ]
20183 silly gunzTarPerm modes [ '755', '644' ]
20184 silly gunzTarPerm modes [ '755', '644' ]
20185 silly gunzTarPerm modes [ '755', '644' ]
20186 silly gunzTarPerm modes [ '755', '644' ]
20187 silly gunzTarPerm modes [ '755', '644' ]
20188 silly gunzTarPerm modes [ '755', '644' ]
20189 silly gunzTarPerm modes [ '755', '644' ]
20190 silly gunzTarPerm modes [ '755', '644' ]
20191 http 304 https://registry.npmjs.org/predefine
20192 silly registry.get cb [ 304,
20192 silly registry.get { date: 'Fri, 09 May 2014 09:49:54 GMT',
20192 silly registry.get server: 'Apache',
20192 silly registry.get via: '1.1 varnish',
20192 silly registry.get 'last-modified': 'Fri, 09 May 2014 09:49:54 GMT',
20192 silly registry.get 'cache-control': 'max-age=1',
20192 silly registry.get etag: '"1L9C1WWHBWYD42BH7XV3IVGEM"',
20192 silly registry.get 'x-served-by': 'cache-am70-AMS',
20192 silly registry.get 'x-cache': 'MISS',
20192 silly registry.get 'x-cache-hits': '0',
20192 silly registry.get 'x-timer': 'S1399628994.051687002,VS0,VE95',
20192 silly registry.get vary: 'Accept',
20192 silly registry.get 'content-length': '0',
20192 silly registry.get 'keep-alive': 'timeout=10, max=50',
20192 silly registry.get connection: 'Keep-Alive' } ]
20193 verbose etag predefine from cache
20194 silly gunzTarPerm extractEntry package.json
20195 silly gunzTarPerm extractEntry package.json
20196 silly gunzTarPerm extractEntry package.json
20197 silly gunzTarPerm extractEntry package.json
20198 silly gunzTarPerm extractEntry package.json
20199 silly gunzTarPerm extractEntry package.json
20200 silly gunzTarPerm extractEntry package.json
20201 silly gunzTarPerm extractEntry package.json
20202 silly gunzTarPerm extractEntry package.json
20203 silly gunzTarPerm extractEntry package.json
20204 silly gunzTarPerm extractEntry package.json
20205 silly gunzTarPerm extractEntry package.json
20206 silly gunzTarPerm extractEntry package.json
20207 silly gunzTarPerm extractEntry package.json
20208 silly gunzTarPerm extractEntry package.json
20209 silly gunzTarPerm extractEntry package.json
20210 silly gunzTarPerm extractEntry package.json
20211 silly gunzTarPerm extractEntry package.json
20212 silly gunzTarPerm extractEntry package.json
20213 silly gunzTarPerm extractEntry package.json
20214 silly gunzTarPerm extractEntry package.json
20215 silly addNameRange number 2 { name: 'predefine', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
20216 silly addNameRange versions [ 'predefine',
20216 silly addNameRange [ '0.0.0',
20216 silly addNameRange '0.0.1',
20216 silly addNameRange '0.0.2',
20216 silly addNameRange '0.0.3',
20216 silly addNameRange '0.0.5',
20216 silly addNameRange '0.0.6',
20216 silly addNameRange '0.1.0',
20216 silly addNameRange '0.1.1' ] ]
20217 verbose addNamed [ 'predefine', '0.1.1' ]
20218 verbose addNamed [ '0.1.1', '0.1.1' ]
20219 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
20220 verbose lock predefine@0.1.1 /Users/V1/.npm/8b2cde2e-predefine-0-1-1.lock
20221 silly gunzTarPerm extractEntry .npmignore
20222 silly gunzTarPerm extractEntry README.md
20223 silly gunzTarPerm extractEntry README.md
20224 silly gunzTarPerm extractEntry LICENSE
20225 silly gunzTarPerm extractEntry component.json
20226 silly gunzTarPerm extractEntry lib/async.js
20227 silly gunzTarPerm extractEntry .npmignore
20228 silly gunzTarPerm extractEntry README.md
20229 silly gunzTarPerm extractEntry .npmignore
20230 silly gunzTarPerm extractEntry LICENSE
20231 silly gunzTarPerm extractEntry .npmignore
20232 silly gunzTarPerm extractEntry README.md
20233 silly gunzTarPerm extractEntry .npmignore
20234 silly gunzTarPerm extractEntry README.md
20235 silly gunzTarPerm extractEntry .npmignore
20236 silly gunzTarPerm extractEntry README.md
20237 silly gunzTarPerm extractEntry .npmignore
20238 silly gunzTarPerm extractEntry README.md
20239 silly gunzTarPerm extractEntry .npmignore
20240 silly gunzTarPerm extractEntry README.md
20241 silly gunzTarPerm extractEntry .npmignore
20242 silly gunzTarPerm extractEntry README.md
20243 silly gunzTarPerm extractEntry .npmignore
20244 silly gunzTarPerm extractEntry README.md
20245 silly gunzTarPerm extractEntry .npmignore
20246 silly gunzTarPerm extractEntry LICENSE
20247 silly gunzTarPerm extractEntry .npmignore
20248 silly gunzTarPerm extractEntry README.md
20249 silly gunzTarPerm extractEntry .npmignore
20250 silly gunzTarPerm extractEntry README.md
20251 silly gunzTarPerm extractEntry .npmignore
20252 silly gunzTarPerm extractEntry README.md
20253 silly gunzTarPerm extractEntry .npmignore
20254 silly gunzTarPerm extractEntry README.md
20255 silly gunzTarPerm extractEntry .npmignore
20256 silly gunzTarPerm extractEntry README.md
20257 silly gunzTarPerm extractEntry .npmignore
20258 silly gunzTarPerm extractEntry README.md
20259 silly gunzTarPerm extractEntry .npmignore
20260 silly gunzTarPerm extractEntry README.md
20261 silly gunzTarPerm extractEntry .npmignore
20262 silly gunzTarPerm extractEntry README.md
20263 silly gunzTarPerm extractEntry .npmignore
20264 silly gunzTarPerm extractEntry index.js
20265 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
20266 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
20267 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
20268 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
20269 silly gunzTarPerm extractEntry index.js
20270 silly gunzTarPerm extractEntry benchmarks/package.json
20271 silly gunzTarPerm extractEntry index.js
20272 silly gunzTarPerm extractEntry .travis.yml
20273 silly gunzTarPerm extractEntry index.js
20274 silly gunzTarPerm extractEntry .travis.yml
20275 silly gunzTarPerm extractEntry index.js
20276 silly gunzTarPerm extractEntry .travis.yml
20277 silly gunzTarPerm extractEntry index.js
20278 silly gunzTarPerm extractEntry .travis.yml
20279 silly gunzTarPerm extractEntry index.js
20280 silly gunzTarPerm extractEntry .travis.yml
20281 silly gunzTarPerm extractEntry index.js
20282 silly gunzTarPerm extractEntry substream.js
20283 silly gunzTarPerm extractEntry index.js
20284 silly gunzTarPerm extractEntry .travis.yml
20285 silly gunzTarPerm extractEntry CHANGELOG.md
20286 silly gunzTarPerm extractEntry test/temper.test.js
20287 silly gunzTarPerm extractEntry test/fixtures/template.jade
20288 silly gunzTarPerm extractEntry test/mocha.opts
20289 silly gunzTarPerm extractEntry index.js
20290 silly gunzTarPerm extractEntry benchmark/bench-multipart-parser.js
20291 silly gunzTarPerm extractEntry LICENSE
20292 silly gunzTarPerm extractEntry import.js
20293 silly resolved [ { name: 'predefine',
20293 silly resolved version: '0.1.1',
20293 silly resolved description: 'Predefine your Object.defineProperties to create a more human readable API.',
20293 silly resolved main: 'index.js',
20293 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
20293 silly resolved repository: { type: 'git', url: 'git://github.com/bigpipe/predefine.git' },
20293 silly resolved keywords:
20293 silly resolved [ 'predefine',
20293 silly resolved 'define',
20293 silly resolved 'object',
20293 silly resolved 'defineProperties',
20293 silly resolved 'defineProperties',
20293 silly resolved 'configurable',
20293 silly resolved 'writable',
20293 silly resolved 'get',
20293 silly resolved 'set',
20293 silly resolved 'getters',
20293 silly resolved 'setters',
20293 silly resolved 'inherit' ],
20293 silly resolved author: { name: 'Arnout Kazemier' },
20293 silly resolved license: 'MIT',
20293 silly resolved dependencies: { extendable: '0.0.x' },
20293 silly resolved devDependencies: { 'pre-commit': '0.0.x', mocha: '1.16.x', chai: '1.8.x' },
20293 silly resolved readme: '# predefine\n\n[![Build Status](https://travis-ci.org/bigpipe/predefine.png)](https://travis-ci.org/bigpipe/predefine)\n\nWhen creating objects or prototypes using `Object.defineProperties` or\n`Object.defineProperty` it make your code look really verbose by all the\nproperty descriptions that it needs. Most of the time, they are the same. They\neither make your properties writable, readable or prevents them from being\nenumerable. So basically:\n\nPredefine makes `Object.defineProperties` your human readable and manageable.\n\n## Installation\n\n```\nnpm install --save predefine\n```\n\n## Getting started\n\nLet\'s start with a basic example of predefine usage:\n\n```\nvar predefine = require(\'predefine\');\n\nfunction Base() {\n var readable = predefine(this, { configurable: false, enumerable: false })\n , writable = predefine(this, predefine.WRITABLE);\n\n readable(\'prop\', \'value\');\n writable(\'data\', []);\n}\n\nBase.writable = predefine(Base.prototype, predefine.WRITABLE);\n\nBase.writable(\'foo\', \'bar\');\n```\n\nAs you can see from the snippet above, it\'s really easy to see which properties\nare made readable and which one\'s are writable.\n\n### Predefine.extend\n\nThis allows you to add `Backbone` inspired `.extend` functionality to your\nconstructors. This makes inheriting a lot easier and readable. See the\n`extendable` module in npm for information.\n\n```js\nfunction Foo() {}\nFoo.extend = predefine.extend;\n\nvar Bar = Foo.extend({\n method: function () {}\n});\n```\n\n### Predefine.descriptor\n\nTest if a given object is a valid `Object` description to it can be used with\n`Object.defineProperty`, `Object.defineProperties` and `Object.create`.\n\n```js\npredefine.descriptor({ foo: \'bar\' }); // false\npredefine.descriptor({ value: \'bar\' }); // true\npredefine.descriptor({ value: \'bar\', enumerable: false }); // true\npredefine.descriptor({ value: \'bar\', foo: \'bar\' }); // false\n```\n\n### Predefine.create\n\nThis is a simple helper function to create descriptions that can be used within\n`Object.create` and `Object.defineProperties`.\n\n```js\nvar data = Object.create(null, predefine.create(\'foo\', { \n value: \'bar\' \n}));\n\nvar data = Object.create(null, predefine.create(\'foo\', {\n value: \'bar\'\n}, predefine.READABLE));\n\nvar data = Object.create(null, predefine.create(\'foo\', \'bar\', predefine.READABLE));\n```\n\n### Predefine.remove\n\nRemoves all enumerable properties from a given object, with the ability to keep\nwhite listed properties.\n\n```js\nvar data = { foo: \'bar\', bar: \'foo\' };\n\npredefine.remove(data); // The data variable is now an empty object.\npredefine.remove(data, [\'foo\']); // The foo property is kept.\n\nvar readable(data);\nreadable(\'baz\', \'baz\');\n\npredefine.remove(data); // Only `baz` is left.\n```\n\n### Predefine.merge\n\nMerge two objects in to one single object. This supports deep merging.\n\n```js\nvar result = predefine.merge({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n### Predefine.mixin\n\nMixin two Objects, which also transfers properties that are set using\nObject.defineProperty.\n\n```js\nvar result = predefine.mixin({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n## License\n\nMIT\n',
20293 silly resolved readmeFilename: 'README.md',
20293 silly resolved bugs: { url: 'https://github.com/bigpipe/predefine/issues' },
20293 silly resolved homepage: 'https://github.com/bigpipe/predefine',
20293 silly resolved _id: 'predefine@0.1.1',
20293 silly resolved _shasum: 'bdea730b530a5400a28e050fb192443c9f82da75',
20293 silly resolved _from: 'predefine@0.1.x',
20293 silly resolved _resolved: 'https://registry.npmjs.org/predefine/-/predefine-0.1.1.tgz' } ]
20294 info install predefine@0.1.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing
20295 info installOne predefine@0.1.1
20296 silly gunzTarPerm extractEntry index.js
20297 silly gunzTarPerm extractEntry .travis.yml
20298 silly gunzTarPerm extractEntry index.js
20299 silly gunzTarPerm extractEntry .travis.yml
20300 silly gunzTarPerm extractEntry LICENSE
20301 silly gunzTarPerm extractEntry index.js
20302 silly gunzTarPerm extractEntry index.js
20303 silly gunzTarPerm extractEntry .travis.yml
20304 silly gunzTarPerm extractEntry LICENSE
20305 silly gunzTarPerm extractEntry .travis.yml
20306 silly gunzTarPerm extractEntry Readme.md
20307 silly gunzTarPerm extractEntry LICENSE
20308 silly gunzTarPerm extractEntry index.js
20309 silly gunzTarPerm extractEntry index.js
20310 silly gunzTarPerm extractEntry test/BufferPool.test.js
20311 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine unbuild
20312 silly gunzTarPerm extractEntry History.md
20313 silly gunzTarPerm extractEntry moment/package.json
20314 silly gunzTarPerm extractEntry errors.js
20315 verbose tar unpack /Users/V1/.npm/predefine/0.1.1/package.tgz
20316 silly lockFile 4009fd61-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine
20317 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine /Users/V1/.npm/4009fd61-es-fusing-node-modules-predefine.lock
20318 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
20319 verbose lock tar:///Users/V1/.npm/predefine/0.1.1/package.tgz /Users/V1/.npm/e18f5090--npm-predefine-0-1-1-package-tgz.lock
20320 silly gunzTarPerm extractEntry benchmarks/README.md
20321 silly gunzTarPerm extractEntry benchmarks/bench.js
20322 silly gunzTarPerm extractEntry Makefile
20323 silly gunzTarPerm extractEntry tests/expirable.test.js
20324 silly gunzTarPerm modes [ '755', '644' ]
20325 silly gunzTarPerm extractEntry bin/cmd.js
20326 silly gunzTarPerm extractEntry bin/usage.txt
20327 silly gunzTarPerm extractEntry test/fuse.test.js
20328 silly gunzTarPerm extractEntry test/mocha.opts
20329 silly gunzTarPerm extractEntry test/trailers.test.js
20330 silly gunzTarPerm extractEntry test/mocha.opts
20331 silly gunzTarPerm extractEntry docs/README.md
20332 silly gunzTarPerm extractEntry docs/generate.js
20333 silly gunzTarPerm extractEntry docs/api.ejs
20334 silly gunzTarPerm extractEntry docs/api.json
20335 silly gunzTarPerm extractEntry docs/Makefile
20336 silly gunzTarPerm extractEntry Makefile
20337 silly gunzTarPerm extractEntry tests/routable.test.js
20338 silly gunzTarPerm extractEntry tests/routes.test.js
20339 silly gunzTarPerm extractEntry .travis.yml
20340 silly gunzTarPerm extractEntry example/package.json
20341 silly gunzTarPerm extractEntry .travis.yml
20342 silly gunzTarPerm extractEntry tool/record.js
20343 silly gunzTarPerm extractEntry index.js
20344 silly gunzTarPerm extractEntry .travis.yml
20345 silly gunzTarPerm extractEntry test/index.js
20346 silly gunzTarPerm extractEntry test/mocha.opts
20347 silly gunzTarPerm extractEntry Makefile
20348 silly gunzTarPerm extractEntry bin/marked
20349 silly gunzTarPerm extractEntry .travis.yml
20350 silly gunzTarPerm extractEntry doc/broken.md
20351 silly gunzTarPerm extractEntry doc/todo.md
20352 silly gunzTarPerm extractEntry lib/marked.js
20353 silly gunzTarPerm extractEntry man/marked.1
20354 silly gunzTarPerm extractEntry component.json
20355 silly gunzTarPerm extractEntry test/fuse.test.js
20356 silly gunzTarPerm extractEntry test/mocha.opts
20357 silly gunzTarPerm extractEntry CHANGELOG.md
20358 silly gunzTarPerm extractEntry lib/args.js
20359 silly gunzTarPerm extractEntry docs/README.md
20360 silly gunzTarPerm extractEntry docs/generate.js
20361 silly gunzTarPerm extractEntry docs/api.json
20362 silly gunzTarPerm extractEntry docs/api.ejs
20363 silly gunzTarPerm extractEntry docs/Makefile
20364 silly gunzTarPerm extractEntry test/creditcard.test.js
20365 silly gunzTarPerm extractEntry test/mocha.opts
20366 silly gunzTarPerm extractEntry Makefile
20367 silly gunzTarPerm extractEntry .jshintrc
20368 silly gunzTarPerm extractEntry pagelet.js
20369 silly gunzTarPerm extractEntry assetstream.js
20370 silly gunzTarPerm extractEntry moment/.npmignore
20371 silly gunzTarPerm extractEntry moment/LICENSE
20372 silly gunzTarPerm extractEntry test/Sender.hixie.test.js
20373 silly gunzTarPerm extractEntry test/Sender.test.js
20374 silly gunzTarPerm extractEntry test/Validation.test.js
20375 silly gunzTarPerm extractEntry test/Receiver.test.js
20376 silly gunzTarPerm extractEntry test/Receiver.hixie.test.js
20377 silly gunzTarPerm extractEntry test/WebSocketServer.test.js
20378 silly gunzTarPerm extractEntry test/autobahn-server.js
20379 silly gunzTarPerm extractEntry test/autobahn.js
20380 silly gunzTarPerm extractEntry test/hybi-common.js
20381 silly gunzTarPerm extractEntry test/WebSocket.integration.js
20382 silly gunzTarPerm extractEntry test/testserver.js
20383 silly gunzTarPerm extractEntry test/WebSocket.test.js
20384 silly gunzTarPerm extractEntry test/fixtures/agent1-cert.pem
20385 silly gunzTarPerm extractEntry test/fixtures/agent1-key.pem
20386 silly gunzTarPerm extractEntry test/fixtures/ca1-cert.pem
20387 silly gunzTarPerm extractEntry test/fixtures/ca1-key.pem
20388 silly gunzTarPerm extractEntry test/fixtures/certificate.pem
20389 silly gunzTarPerm extractEntry test/fixtures/key.pem
20390 silly gunzTarPerm extractEntry test/fixtures/request.pem
20391 silly gunzTarPerm extractEntry test/fixtures/textfile
20392 silly gunzTarPerm extractEntry bench/parser.benchmark.js
20393 silly gunzTarPerm extractEntry bench/sender.benchmark.js
20394 silly gunzTarPerm extractEntry bench/speed.js
20395 silly gunzTarPerm extractEntry bench/util.js
20396 silly gunzTarPerm extractEntry bin/wscat
20397 silly gunzTarPerm extractEntry .travis.yml
20398 silly gunzTarPerm extractEntry doc/ws.md
20399 silly gunzTarPerm extractEntry examples/ssl.js
20400 silly gunzTarPerm extractEntry examples/fileapi/package.json
20401 silly gunzTarPerm extractEntry examples/fileapi/.npmignore
20402 silly gunzTarPerm extractEntry examples/fileapi/server.js
20403 silly gunzTarPerm extractEntry examples/fileapi/public/app.js
20404 silly gunzTarPerm extractEntry examples/fileapi/public/uploader.js
20405 silly gunzTarPerm extractEntry examples/fileapi/public/index.html
20406 silly gunzTarPerm extractEntry examples/serverstats/package.json
20407 silly gunzTarPerm extractEntry examples/serverstats/server.js
20408 silly gunzTarPerm extractEntry examples/serverstats/public/index.html
20409 silly gunzTarPerm extractEntry examples/serverstats-express_3/package.json
20410 silly gunzTarPerm extractEntry examples/serverstats-express_3/server.js
20411 silly gunzTarPerm extractEntry examples/serverstats-express_3/public/index.html
20412 silly gunzTarPerm extractEntry History.md
20413 silly gunzTarPerm extractEntry lib/BufferPool.js
20414 silly gunzTarPerm extractEntry lib/ErrorCodes.js
20415 silly gunzTarPerm extractEntry lib/Receiver.hixie.js
20416 silly gunzTarPerm extractEntry lib/Receiver.js
20417 silly gunzTarPerm extractEntry lib/BufferUtil.js
20418 silly gunzTarPerm extractEntry lib/Sender.js
20419 silly gunzTarPerm extractEntry lib/Validation.fallback.js
20420 silly gunzTarPerm extractEntry lib/Validation.js
20421 silly gunzTarPerm extractEntry lib/WebSocket.js
20422 silly gunzTarPerm extractEntry lib/WebSocketServer.js
20423 silly gunzTarPerm extractEntry lib/BufferUtil.fallback.js
20424 silly gunzTarPerm extractEntry lib/browser.js
20425 silly gunzTarPerm extractEntry lib/Sender.hixie.js
20426 silly gunzTarPerm extractEntry Makefile
20427 silly gunzTarPerm extractEntry src/bufferutil.cc
20428 silly gunzTarPerm extractEntry src/validation.cc
20429 silly gunzTarPerm extractEntry binding.gyp
20430 silly gunzTarPerm extractEntry index.js
20431 silly gunzTarPerm extractEntry primus.js
20432 silly gunzTarPerm extractEntry package.json
20433 silly gunzTarPerm extractEntry .npmignore
20434 silly gunzTarPerm extractEntry README.md
20435 silly gunzTarPerm extractEntry benchmark/benchmark.js
20436 silly gunzTarPerm extractEntry benchmark/jquery-2.0.3.js
20437 silly gunzTarPerm extractEntry benchmarks/template.js
20438 silly gunzTarPerm extractEntry lib/coffeescript.js
20439 silly gunzTarPerm extractEntry lib/less.js
20440 silly gunzTarPerm extractEntry examples/pow.js
20441 silly gunzTarPerm extractEntry readme.markdown
20442 silly gunzTarPerm extractEntry lib/file.js
20443 silly gunzTarPerm extractEntry lib/incoming_form.js
20444 silly gunzTarPerm extractEntry example/index.js
20445 silly gunzTarPerm extractEntry lib/index.js
20446 silly gunzTarPerm extractEntry lib/base64.js
20447 silly gunzTarPerm extractEntry lib/file.js
20448 silly gunzTarPerm extractEntry index.js
20449 silly gunzTarPerm extractEntry .travis.yml
20450 silly gunzTarPerm extractEntry lib/rework.js
20451 silly gunzTarPerm extractEntry lib/sass.js
20452 silly gunzTarPerm extractEntry lib/stylus.js
20453 silly gunzTarPerm extractEntry plugins/rework.js
20454 silly gunzTarPerm extractEntry test/common.js
20455 silly gunzTarPerm extractEntry test/import.test.js
20456 silly gunzTarPerm extractEntry test/index.test.js
20457 silly gunzTarPerm extractEntry test/fixtures/coffeescript.coffee
20458 silly gunzTarPerm extractEntry test/fixtures/imports/less.less
20459 silly gunzTarPerm extractEntry test/fixtures/imports/sass.sass
20460 silly gunzTarPerm extractEntry test/fixtures/imports/stylus.styl
20461 silly gunzTarPerm extractEntry test/fixtures/less.less
20462 silly gunzTarPerm extractEntry test/fixtures/rework.css
20463 silly gunzTarPerm extractEntry test/fixtures/reworkfont.css
20464 silly gunzTarPerm extractEntry test/fixtures/reworkmedia.css
20465 silly gunzTarPerm extractEntry test/fixtures/sass.sass
20466 silly gunzTarPerm extractEntry test/fixtures/stylus.styl
20467 silly gunzTarPerm extractEntry test/mocha.opts
20468 silly gunzTarPerm extractEntry test/chmod.js
20469 silly gunzTarPerm extractEntry test/perm.js
20470 silly gunzTarPerm extractEntry test/perm_sync.js
20471 silly gunzTarPerm extractEntry test/race.js
20472 silly gunzTarPerm extractEntry test/mkdirp.js
20473 silly gunzTarPerm extractEntry test/return.js
20474 silly gunzTarPerm extractEntry test/return_sync.js
20475 silly gunzTarPerm extractEntry test/root.js
20476 silly gunzTarPerm extractEntry test/sync.js
20477 silly gunzTarPerm extractEntry test/umask.js
20478 silly gunzTarPerm extractEntry test/clobber.js
20479 silly gunzTarPerm extractEntry test/umask_sync.js
20480 silly gunzTarPerm extractEntry test/rel.js
20481 silly gunzTarPerm extractEntry benchmarks/run/context.js
20482 silly gunzTarPerm extractEntry benchmarks/run/emit.js
20483 silly gunzTarPerm extractEntry test/index.js
20484 silly gunzTarPerm extractEntry example/primus.js
20485 silly gunzTarPerm extractEntry example/index.html
20486 silly gunzTarPerm extractEntry lib/format.js
20487 silly gunzTarPerm extractEntry lib/json_parser.js
20488 silly gunzTarPerm extractEntry lib/multipart_parser.js
20489 silly gunzTarPerm extractEntry moment/Gruntfile.js
20490 silly gunzTarPerm extractEntry moment/ender.js
20491 silly gunzTarPerm extractEntry benchmarks/run/hundereds.js
20492 silly gunzTarPerm extractEntry benchmarks/run/init.js
20493 silly gunzTarPerm extractEntry lib/index.js
20494 silly gunzTarPerm extractEntry test/file-test.js
20495 silly gunzTarPerm extractEntry lib/octet_parser.js
20496 silly gunzTarPerm extractEntry lib/querystring_parser.js
20497 silly gunzTarPerm extractEntry test/mocha.opts
20498 silly gunzTarPerm extractEntry async.js
20499 silly gunzTarPerm extractEntry loader.js
20500 silly gunzTarPerm extractEntry test/substream.test.js
20501 silly gunzTarPerm extractEntry test/mocha.opts
20502 silly gunzTarPerm extractEntry test/format-test.js
20503 silly gunzTarPerm extractEntry test/function-args-test.js
20504 silly gunzTarPerm extractEntry Readme.md
20505 silly gunzTarPerm extractEntry test/common.js
20506 silly gunzTarPerm extractEntry benchmarks/run/listeners.js
20507 silly gunzTarPerm extractEntry benchmarks/run/listening.js
20508 silly gunzTarPerm extractEntry index.js
20509 silly gunzTarPerm extractEntry collection.js
20510 silly lockFile bac3c0a9-es-bigpipe-node-modules-trailers tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/trailers
20511 silly lockFile bac3c0a9-es-bigpipe-node-modules-trailers tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/trailers
20512 silly gunzTarPerm extractEntry test/random-string-test.js
20513 silly gunzTarPerm extractEntry test/require-directory-test.js
20514 silly lockFile c13bd97d-1-npm-trailers-0-0-1-package-tgz tar:///Users/V1/.npm/trailers/0.0.1/package.tgz
20515 silly lockFile c13bd97d-1-npm-trailers-0-0-1-package-tgz tar:///Users/V1/.npm/trailers/0.0.1/package.tgz
20516 silly gunzTarPerm extractEntry benchmarks/run/multiple-emitters.js
20517 silly gunzTarPerm extractEntry benchmarks/run/once.js
20518 info preinstall trailers@0.0.1
20519 silly gunzTarPerm extractEntry benchmark/suite.js
20520 silly gunzTarPerm extractEntry test/run.js
20521 silly gunzTarPerm extractEntry test/fixture/multipart.js
20522 verbose readDependencies using package.json deps
20523 verbose readDependencies using package.json deps
20524 silly resolved []
20525 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/trailers
20526 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/trailers
20527 verbose linkStuff [ false,
20527 verbose linkStuff false,
20527 verbose linkStuff false,
20527 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules' ]
20528 info linkStuff trailers@0.0.1
20529 verbose linkBins trailers@0.0.1
20530 verbose linkMans trailers@0.0.1
20531 verbose rebuildBundles trailers@0.0.1
20532 silly gunzTarPerm extractEntry test/utile-test.js
20533 silly gunzTarPerm extractEntry test/fixtures/read-json-file/config.json
20534 info install trailers@0.0.1
20535 info postinstall trailers@0.0.1
20536 silly gunzTarPerm extractEntry benchmarks/start
20537 silly gunzTarPerm extractEntry component.json
20538 silly lockFile ac9488f1-ules-contour-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/fusing
20539 silly lockFile ac9488f1-ules-contour-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/fusing
20540 silly lockFile 401e4d46--V1-npm-fusing-0-0-3-package-tgz tar:///Users/V1/.npm/fusing/0.0.3/package.tgz
20541 silly lockFile 401e4d46--V1-npm-fusing-0-0-3-package-tgz tar:///Users/V1/.npm/fusing/0.0.3/package.tgz
20542 silly lockFile 299b346f-s-bigpipe-node-modules-expirable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/expirable
20543 silly lockFile 299b346f-s-bigpipe-node-modules-expirable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/expirable
20544 silly gunzTarPerm extractEntry test/fixtures/require-directory/helloWorld.js
20545 silly gunzTarPerm extractEntry test/fixtures/require-directory/directory/index.js
20546 silly lockFile fe9a6b69-ules-bigpipe-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing
20547 silly lockFile fe9a6b69-ules-bigpipe-node-modules-fusing tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing
20548 silly lockFile a47c5a64--npm-expirable-0-1-0-package-tgz tar:///Users/V1/.npm/expirable/0.1.0/package.tgz
20549 silly lockFile a47c5a64--npm-expirable-0-1-0-package-tgz tar:///Users/V1/.npm/expirable/0.1.0/package.tgz
20550 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
20551 silly lockFile 17ccbade--V1-npm-fusing-0-2-1-package-tgz tar:///Users/V1/.npm/fusing/0.2.1/package.tgz
20552 info preinstall fusing@0.0.3
20553 silly lockFile 376949d5-s-contour-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine
20554 silly lockFile 376949d5-s-contour-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine
20555 silly gunzTarPerm extractEntry moment/moment.js
20556 silly gunzTarPerm extractEntry moment/package.js
20557 silly lockFile 85c46b0d--npm-predefine-0-0-6-package-tgz tar:///Users/V1/.npm/predefine/0.0.6/package.tgz
20558 silly lockFile 85c46b0d--npm-predefine-0-0-6-package-tgz tar:///Users/V1/.npm/predefine/0.0.6/package.tgz
20559 info preinstall expirable@0.1.0
20560 verbose readDependencies using package.json deps
20561 info preinstall fusing@0.2.1
20562 verbose readDependencies using package.json deps
20563 silly resolved []
20564 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/fusing
20565 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/fusing
20566 verbose linkStuff [ false,
20566 verbose linkStuff false,
20566 verbose linkStuff false,
20566 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules' ]
20567 info linkStuff fusing@0.0.3
20568 verbose linkBins fusing@0.0.3
20569 verbose linkMans fusing@0.0.3
20570 verbose rebuildBundles fusing@0.0.3
20571 silly gunzTarPerm extractEntry test/emitter.test.js
20572 silly gunzTarPerm extractEntry test/mocha.opts
20573 info install fusing@0.0.3
20574 verbose readDependencies using package.json deps
20575 info preinstall predefine@0.0.6
20576 verbose readDependencies using package.json deps
20577 verbose readDependencies using package.json deps
20578 silly resolved []
20579 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/expirable
20580 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/expirable
20581 verbose linkStuff [ false,
20581 verbose linkStuff false,
20581 verbose linkStuff false,
20581 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules' ]
20582 info linkStuff expirable@0.1.0
20583 verbose linkBins expirable@0.1.0
20584 verbose linkMans expirable@0.1.0
20585 verbose rebuildBundles expirable@0.1.0
20586 silly gunzTarPerm extractEntry test/helpers/macros.js
20587 info postinstall fusing@0.0.3
20588 verbose readDependencies using package.json deps
20589 info install expirable@0.1.0
20590 verbose cache add [ 'predefine@0.1.x', null ]
20591 verbose cache add name=undefined spec="predefine@0.1.x" args=["predefine@0.1.x",null]
20592 verbose parsed url { protocol: null,
20592 verbose parsed url slashes: null,
20592 verbose parsed url auth: null,
20592 verbose parsed url host: null,
20592 verbose parsed url port: null,
20592 verbose parsed url hostname: null,
20592 verbose parsed url hash: null,
20592 verbose parsed url search: null,
20592 verbose parsed url query: null,
20592 verbose parsed url pathname: 'predefine@0.1.x',
20592 verbose parsed url path: 'predefine@0.1.x',
20592 verbose parsed url href: 'predefine@0.1.x' }
20593 verbose cache add name="predefine" spec="0.1.x" args=["predefine","0.1.x"]
20594 verbose parsed url { protocol: null,
20594 verbose parsed url slashes: null,
20594 verbose parsed url auth: null,
20594 verbose parsed url host: null,
20594 verbose parsed url port: null,
20594 verbose parsed url hostname: null,
20594 verbose parsed url hash: null,
20594 verbose parsed url search: null,
20594 verbose parsed url query: null,
20594 verbose parsed url pathname: '0.1.x',
20594 verbose parsed url path: '0.1.x',
20594 verbose parsed url href: '0.1.x' }
20595 verbose addNamed [ 'predefine', '0.1.x' ]
20596 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
20597 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
20598 verbose lock predefine@0.1.x /Users/V1/.npm/74815840-predefine-0-1-x.lock
20599 verbose readDependencies using package.json deps
20600 info postinstall expirable@0.1.0
20601 verbose readDependencies using package.json deps
20602 silly gunzTarPerm extractEntry dist/pipe.js
20603 silly gunzTarPerm extractEntry .travis.yml
20604 silly addNameRange { name: 'predefine',
20604 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
20604 silly addNameRange hasData: false }
20605 verbose cache add [ 'extendable@0.0.x', null ]
20606 verbose cache add name=undefined spec="extendable@0.0.x" args=["extendable@0.0.x",null]
20607 verbose parsed url { protocol: null,
20607 verbose parsed url slashes: null,
20607 verbose parsed url auth: null,
20607 verbose parsed url host: null,
20607 verbose parsed url port: null,
20607 verbose parsed url hostname: null,
20607 verbose parsed url hash: null,
20607 verbose parsed url search: null,
20607 verbose parsed url query: null,
20607 verbose parsed url pathname: 'extendable@0.0.x',
20607 verbose parsed url path: 'extendable@0.0.x',
20607 verbose parsed url href: 'extendable@0.0.x' }
20608 verbose cache add name="extendable" spec="0.0.x" args=["extendable","0.0.x"]
20609 verbose parsed url { protocol: null,
20609 verbose parsed url slashes: null,
20609 verbose parsed url auth: null,
20609 verbose parsed url host: null,
20609 verbose parsed url port: null,
20609 verbose parsed url hostname: null,
20609 verbose parsed url hash: null,
20609 verbose parsed url search: null,
20609 verbose parsed url query: null,
20609 verbose parsed url pathname: '0.0.x',
20609 verbose parsed url path: '0.0.x',
20609 verbose parsed url href: '0.0.x' }
20610 verbose addNamed [ 'extendable', '0.0.x' ]
20611 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
20612 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
20613 verbose lock extendable@0.0.x /Users/V1/.npm/9b413a1a-extendable-0-0-x.lock
20614 silly gunzTarPerm extractEntry benchmark/.gitattributes
20615 silly gunzTarPerm extractEntry benchmark/documents/jquery.html
20616 silly addNameRange { name: 'extendable',
20616 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
20616 silly addNameRange hasData: false }
20617 verbose registry.get predefine not expired, no request
20618 silly addNameRange number 2 { name: 'predefine', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
20619 silly addNameRange versions [ 'predefine',
20619 silly addNameRange [ '0.0.0',
20619 silly addNameRange '0.0.1',
20619 silly addNameRange '0.0.2',
20619 silly addNameRange '0.0.3',
20619 silly addNameRange '0.0.5',
20619 silly addNameRange '0.0.6',
20619 silly addNameRange '0.1.0',
20619 silly addNameRange '0.1.1' ] ]
20620 verbose addNamed [ 'predefine', '0.1.1' ]
20621 verbose addNamed [ '0.1.1', '0.1.1' ]
20622 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
20623 verbose lock predefine@0.1.1 /Users/V1/.npm/8b2cde2e-predefine-0-1-1.lock
20624 silly gunzTarPerm extractEntry test/fixture/file/beta-sticker-1.png
20625 silly gunzTarPerm extractEntry test/fixture/file/binaryfile.tar.gz
20626 verbose registry.get extendable not expired, no request
20627 silly addNameRange number 2 { name: 'extendable',
20627 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
20627 silly addNameRange hasData: true }
20628 silly addNameRange versions [ 'extendable',
20628 silly addNameRange [ '0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6' ] ]
20629 verbose addNamed [ 'extendable', '0.0.6' ]
20630 verbose addNamed [ '0.0.6', '0.0.6' ]
20631 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
20632 verbose lock extendable@0.0.6 /Users/V1/.npm/84399eb0-extendable-0-0-6.lock
20633 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
20634 silly lockFile 8b2cde2e-predefine-0-1-1 predefine@0.1.1
20635 silly gunzTarPerm extractEntry .zuul.yml
20636 silly gunzTarPerm extractEntry test/pipe.test.js
20637 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
20638 silly lockFile 74815840-predefine-0-1-x predefine@0.1.x
20639 silly gunzTarPerm extractEntry .travis.yml
20640 silly gunzTarPerm extractEntry lib/cheerio.js
20641 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
20642 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
20643 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
20644 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
20645 silly lockFile 5093d4ed-ules-bigpipe-node-modules-temper tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/temper
20646 silly lockFile 5093d4ed-ules-bigpipe-node-modules-temper tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/temper
20647 silly lockFile 620cf8eb--V1-npm-temper-0-1-9-package-tgz tar:///Users/V1/.npm/temper/0.1.9/package.tgz
20648 silly lockFile 620cf8eb--V1-npm-temper-0-1-9-package-tgz tar:///Users/V1/.npm/temper/0.1.9/package.tgz
20649 silly gunzTarPerm extractEntry test/fixture/file/blank.gif
20650 silly gunzTarPerm extractEntry test/fixture/file/funkyfilename.txt
20651 silly resolved [ { name: 'predefine',
20651 silly resolved version: '0.1.1',
20651 silly resolved description: 'Predefine your Object.defineProperties to create a more human readable API.',
20651 silly resolved main: 'index.js',
20651 silly resolved scripts: { test: 'mocha $(find test -name \'*.test.js\')' },
20651 silly resolved repository: { type: 'git', url: 'git://github.com/bigpipe/predefine.git' },
20651 silly resolved keywords:
20651 silly resolved [ 'predefine',
20651 silly resolved 'define',
20651 silly resolved 'object',
20651 silly resolved 'defineProperties',
20651 silly resolved 'defineProperties',
20651 silly resolved 'configurable',
20651 silly resolved 'writable',
20651 silly resolved 'get',
20651 silly resolved 'set',
20651 silly resolved 'getters',
20651 silly resolved 'setters',
20651 silly resolved 'inherit' ],
20651 silly resolved author: { name: 'Arnout Kazemier' },
20651 silly resolved license: 'MIT',
20651 silly resolved dependencies: { extendable: '0.0.x' },
20651 silly resolved devDependencies: { 'pre-commit': '0.0.x', mocha: '1.16.x', chai: '1.8.x' },
20651 silly resolved readme: '# predefine\n\n[![Build Status](https://travis-ci.org/bigpipe/predefine.png)](https://travis-ci.org/bigpipe/predefine)\n\nWhen creating objects or prototypes using `Object.defineProperties` or\n`Object.defineProperty` it make your code look really verbose by all the\nproperty descriptions that it needs. Most of the time, they are the same. They\neither make your properties writable, readable or prevents them from being\nenumerable. So basically:\n\nPredefine makes `Object.defineProperties` your human readable and manageable.\n\n## Installation\n\n```\nnpm install --save predefine\n```\n\n## Getting started\n\nLet\'s start with a basic example of predefine usage:\n\n```\nvar predefine = require(\'predefine\');\n\nfunction Base() {\n var readable = predefine(this, { configurable: false, enumerable: false })\n , writable = predefine(this, predefine.WRITABLE);\n\n readable(\'prop\', \'value\');\n writable(\'data\', []);\n}\n\nBase.writable = predefine(Base.prototype, predefine.WRITABLE);\n\nBase.writable(\'foo\', \'bar\');\n```\n\nAs you can see from the snippet above, it\'s really easy to see which properties\nare made readable and which one\'s are writable.\n\n### Predefine.extend\n\nThis allows you to add `Backbone` inspired `.extend` functionality to your\nconstructors. This makes inheriting a lot easier and readable. See the\n`extendable` module in npm for information.\n\n```js\nfunction Foo() {}\nFoo.extend = predefine.extend;\n\nvar Bar = Foo.extend({\n method: function () {}\n});\n```\n\n### Predefine.descriptor\n\nTest if a given object is a valid `Object` description to it can be used with\n`Object.defineProperty`, `Object.defineProperties` and `Object.create`.\n\n```js\npredefine.descriptor({ foo: \'bar\' }); // false\npredefine.descriptor({ value: \'bar\' }); // true\npredefine.descriptor({ value: \'bar\', enumerable: false }); // true\npredefine.descriptor({ value: \'bar\', foo: \'bar\' }); // false\n```\n\n### Predefine.create\n\nThis is a simple helper function to create descriptions that can be used within\n`Object.create` and `Object.defineProperties`.\n\n```js\nvar data = Object.create(null, predefine.create(\'foo\', { \n value: \'bar\' \n}));\n\nvar data = Object.create(null, predefine.create(\'foo\', {\n value: \'bar\'\n}, predefine.READABLE));\n\nvar data = Object.create(null, predefine.create(\'foo\', \'bar\', predefine.READABLE));\n```\n\n### Predefine.remove\n\nRemoves all enumerable properties from a given object, with the ability to keep\nwhite listed properties.\n\n```js\nvar data = { foo: \'bar\', bar: \'foo\' };\n\npredefine.remove(data); // The data variable is now an empty object.\npredefine.remove(data, [\'foo\']); // The foo property is kept.\n\nvar readable(data);\nreadable(\'baz\', \'baz\');\n\npredefine.remove(data); // Only `baz` is left.\n```\n\n### Predefine.merge\n\nMerge two objects in to one single object. This supports deep merging.\n\n```js\nvar result = predefine.merge({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n### Predefine.mixin\n\nMixin two Objects, which also transfers properties that are set using\nObject.defineProperty.\n\n```js\nvar result = predefine.mixin({ foo: \'bar\' }, { bar: \'foo\' });\n```\n\n## License\n\nMIT\n',
20651 silly resolved readmeFilename: 'README.md',
20651 silly resolved bugs: { url: 'https://github.com/bigpipe/predefine/issues' },
20651 silly resolved homepage: 'https://github.com/bigpipe/predefine',
20651 silly resolved _id: 'predefine@0.1.1',
20651 silly resolved _shasum: 'bdea730b530a5400a28e050fb192443c9f82da75',
20651 silly resolved _from: 'predefine@0.1.x',
20651 silly resolved _resolved: 'https://registry.npmjs.org/predefine/-/predefine-0.1.1.tgz' } ]
20652 info install predefine@0.1.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing
20653 info installOne predefine@0.1.1
20654 silly gunzTarPerm extractEntry lib/parse.js
20655 silly gunzTarPerm extractEntry lib/render.js
20656 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine unbuild
20657 info preinstall temper@0.1.9
20658 silly resolved [ { name: 'extendable',
20658 silly resolved version: '0.0.6',
20658 silly resolved description: 'Extend constructors using backbone\'s .extend signature',
20658 silly resolved keywords:
20658 silly resolved [ 'backbone',
20658 silly resolved 'underscore',
20658 silly resolved 'lodash',
20658 silly resolved 'extend',
20658 silly resolved 'inherit',
20658 silly resolved 'inherits' ],
20658 silly resolved main: 'index.js',
20658 silly resolved scripts: { test: 'node test.js' },
20658 silly resolved repository: { type: 'git', url: 'git://github.com/3rd-Eden/extendable.git' },
20658 silly resolved author: { name: 'Arnout Kazemier' },
20658 silly resolved license: 'MIT',
20658 silly resolved dependencies: {},
20658 silly resolved devDependencies: {},
20658 silly resolved readme: '# Extend your JavaScript constructors in the same as you are used to in backbone.js\n\n[![Build Status](https://travis-ci.org/3rd-Eden/extendable.png)](https://travis-ci.org/3rd-Eden/extendable)\n\n```js\nvar extend = require(\'extendable\')\n , EventEmitter = require(\'events\').EventEmitter;\n\nfunction Awesomeness() {\n var self = this;\n\n setTimeout(function () {\n self.render(self.data);\n }, 100);\n\n EventEmitter.call(this);\n}\n\nAwesomeness.prototype = new EventEmitter;\nAwesomeness.prototype.constructor = Awesomeness;\n\nAwesomeness.prototype.data = \'bar\';\nAwesomeness.prototype.render = function render() {\n // does nothing\n};\n\nAwesomeness.extend = extend;\n```\n\nAnd you can now use it\n\n```js\nvar SuperAwesome = Awesomeness.extend({\n data: \'trololol\'\n\n , render: function render(data) {\n console.log(data);\n }\n});\n\nnew SuperAwesome();\n// outputs "trololo" after 100 ms\n```\n\n### License\n\nMIT\n',
20658 silly resolved readmeFilename: 'README.md',
20658 silly resolved bugs: { url: 'https://github.com/3rd-Eden/extendable/issues' },
20658 silly resolved homepage: 'https://github.com/3rd-Eden/extendable',
20658 silly resolved _id: 'extendable@0.0.6',
20658 silly resolved _shasum: 'b85c6a081630b2c9d83588239c20cb3be4776fe6',
20658 silly resolved _from: 'extendable@0.0.x',
20658 silly resolved _resolved: 'https://registry.npmjs.org/extendable/-/extendable-0.0.6.tgz' } ]
20659 info install extendable@0.0.6 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine
20660 info installOne extendable@0.0.6
20661 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine/node_modules/extendable unbuild
20662 verbose tar unpack /Users/V1/.npm/predefine/0.1.1/package.tgz
20663 silly lockFile fe819ff8-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine
20664 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine /Users/V1/.npm/fe819ff8-es-fusing-node-modules-predefine.lock
20665 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
20666 verbose lock tar:///Users/V1/.npm/predefine/0.1.1/package.tgz /Users/V1/.npm/e18f5090--npm-predefine-0-1-1-package-tgz.lock
20667 silly lockFile 4009fd61-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine
20668 silly lockFile 4009fd61-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine
20669 verbose readDependencies using package.json deps
20670 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
20671 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
20672 verbose readDependencies using package.json deps
20673 silly resolved []
20674 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/temper
20675 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/temper
20676 verbose linkStuff [ false,
20676 verbose linkStuff false,
20676 verbose linkStuff false,
20676 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules' ]
20677 info linkStuff temper@0.1.9
20678 verbose linkBins temper@0.1.9
20679 verbose linkMans temper@0.1.9
20680 verbose rebuildBundles temper@0.1.9
20681 info install temper@0.1.9
20682 verbose tar unpack /Users/V1/.npm/extendable/0.0.6/package.tgz
20683 silly lockFile 5fcc5940-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine/node_modules/extendable
20684 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine/node_modules/extendable /Users/V1/.npm/5fcc5940-redefine-node-modules-extendable.lock
20685 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
20686 verbose lock tar:///Users/V1/.npm/extendable/0.0.6/package.tgz /Users/V1/.npm/680edfbb-npm-extendable-0-0-6-package-tgz.lock
20687 silly gunzTarPerm extractEntry test/fixture/file/menu_separator.png
20688 silly gunzTarPerm extractEntry test/fixture/file/plain.txt
20689 info postinstall temper@0.1.9
20690 info preinstall predefine@0.1.1
20691 silly gunzTarPerm modes [ '755', '644' ]
20692 silly gunzTarPerm extractEntry lib/static.js
20693 silly gunzTarPerm extractEntry lib/utils.js
20694 silly gunzTarPerm extractEntry moment/bower.json
20695 silly gunzTarPerm extractEntry moment/component.json
20696 verbose readDependencies using package.json deps
20697 verbose readDependencies using package.json deps
20698 verbose cache add [ 'extendable@0.0.x', null ]
20699 verbose cache add name=undefined spec="extendable@0.0.x" args=["extendable@0.0.x",null]
20700 verbose parsed url { protocol: null,
20700 verbose parsed url slashes: null,
20700 verbose parsed url auth: null,
20700 verbose parsed url host: null,
20700 verbose parsed url port: null,
20700 verbose parsed url hostname: null,
20700 verbose parsed url hash: null,
20700 verbose parsed url search: null,
20700 verbose parsed url query: null,
20700 verbose parsed url pathname: 'extendable@0.0.x',
20700 verbose parsed url path: 'extendable@0.0.x',
20700 verbose parsed url href: 'extendable@0.0.x' }
20701 verbose cache add name="extendable" spec="0.0.x" args=["extendable","0.0.x"]
20702 verbose parsed url { protocol: null,
20702 verbose parsed url slashes: null,
20702 verbose parsed url auth: null,
20702 verbose parsed url host: null,
20702 verbose parsed url port: null,
20702 verbose parsed url hostname: null,
20702 verbose parsed url hash: null,
20702 verbose parsed url search: null,
20702 verbose parsed url query: null,
20702 verbose parsed url pathname: '0.0.x',
20702 verbose parsed url path: '0.0.x',
20702 verbose parsed url href: '0.0.x' }
20703 verbose addNamed [ 'extendable', '0.0.x' ]
20704 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
20705 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
20706 verbose lock extendable@0.0.x /Users/V1/.npm/9b413a1a-extendable-0-0-x.lock
20707 silly gunzTarPerm extractEntry package.json
20708 silly addNameRange { name: 'extendable',
20708 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
20708 silly addNameRange hasData: false }
20709 silly gunzTarPerm extractEntry .npmignore
20710 silly gunzTarPerm extractEntry README.md
20711 silly gunzTarPerm extractEntry moment/.sauce-labs.creds
20712 silly gunzTarPerm extractEntry moment/.vimrc-local
20713 verbose registry.get extendable not expired, no request
20714 silly addNameRange number 2 { name: 'extendable',
20714 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
20714 silly addNameRange hasData: true }
20715 silly addNameRange versions [ 'extendable',
20715 silly addNameRange [ '0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6' ] ]
20716 verbose addNamed [ 'extendable', '0.0.6' ]
20717 verbose addNamed [ '0.0.6', '0.0.6' ]
20718 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
20719 verbose lock extendable@0.0.6 /Users/V1/.npm/84399eb0-extendable-0-0-6.lock
20720 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
20721 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
20722 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
20723 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
20724 silly gunzTarPerm extractEntry index.js
20725 silly gunzTarPerm extractEntry test.js
20726 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/info.md
20727 silly gunzTarPerm extractEntry test/fixture/js/encoding.js
20728 silly gunzTarPerm extractEntry moment/foo.coffee
20729 silly gunzTarPerm extractEntry moment/lang/ar-ma.js
20730 silly resolved [ { name: 'extendable',
20730 silly resolved version: '0.0.6',
20730 silly resolved description: 'Extend constructors using backbone\'s .extend signature',
20730 silly resolved keywords:
20730 silly resolved [ 'backbone',
20730 silly resolved 'underscore',
20730 silly resolved 'lodash',
20730 silly resolved 'extend',
20730 silly resolved 'inherit',
20730 silly resolved 'inherits' ],
20730 silly resolved main: 'index.js',
20730 silly resolved scripts: { test: 'node test.js' },
20730 silly resolved repository: { type: 'git', url: 'git://github.com/3rd-Eden/extendable.git' },
20730 silly resolved author: { name: 'Arnout Kazemier' },
20730 silly resolved license: 'MIT',
20730 silly resolved dependencies: {},
20730 silly resolved devDependencies: {},
20730 silly resolved readme: '# Extend your JavaScript constructors in the same as you are used to in backbone.js\n\n[![Build Status](https://travis-ci.org/3rd-Eden/extendable.png)](https://travis-ci.org/3rd-Eden/extendable)\n\n```js\nvar extend = require(\'extendable\')\n , EventEmitter = require(\'events\').EventEmitter;\n\nfunction Awesomeness() {\n var self = this;\n\n setTimeout(function () {\n self.render(self.data);\n }, 100);\n\n EventEmitter.call(this);\n}\n\nAwesomeness.prototype = new EventEmitter;\nAwesomeness.prototype.constructor = Awesomeness;\n\nAwesomeness.prototype.data = \'bar\';\nAwesomeness.prototype.render = function render() {\n // does nothing\n};\n\nAwesomeness.extend = extend;\n```\n\nAnd you can now use it\n\n```js\nvar SuperAwesome = Awesomeness.extend({\n data: \'trololol\'\n\n , render: function render(data) {\n console.log(data);\n }\n});\n\nnew SuperAwesome();\n// outputs "trololo" after 100 ms\n```\n\n### License\n\nMIT\n',
20730 silly resolved readmeFilename: 'README.md',
20730 silly resolved bugs: { url: 'https://github.com/3rd-Eden/extendable/issues' },
20730 silly resolved homepage: 'https://github.com/3rd-Eden/extendable',
20730 silly resolved _id: 'extendable@0.0.6',
20730 silly resolved _shasum: 'b85c6a081630b2c9d83588239c20cb3be4776fe6',
20730 silly resolved _from: 'extendable@0.0.x',
20730 silly resolved _resolved: 'https://registry.npmjs.org/extendable/-/extendable-0.0.6.tgz' } ]
20731 info install extendable@0.0.6 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine
20732 info installOne extendable@0.0.6
20733 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable unbuild
20734 silly gunzTarPerm extractEntry .travis.yml
20735 silly gunzTarPerm extractEntry example/index.js
20736 silly gunzTarPerm extractEntry spark.js
20737 silly gunzTarPerm extractEntry transformer.js
20738 verbose tar unpack /Users/V1/.npm/extendable/0.0.6/package.tgz
20739 silly lockFile 53f3de33-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable
20740 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable /Users/V1/.npm/53f3de33-redefine-node-modules-extendable.lock
20741 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
20742 verbose lock tar:///Users/V1/.npm/extendable/0.0.6/package.tgz /Users/V1/.npm/680edfbb-npm-extendable-0-0-6-package-tgz.lock
20743 silly gunzTarPerm extractEntry test/fixture/js/misc.js
20744 silly gunzTarPerm extractEntry test/fixture/js/no-filename.js
20745 silly lockFile f54097bb-es-bigpipe-node-modules-routable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable
20746 silly lockFile f54097bb-es-bigpipe-node-modules-routable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable
20747 silly lockFile ae8ff804-1-npm-routable-0-0-2-package-tgz tar:///Users/V1/.npm/routable/0.0.2/package.tgz
20748 silly lockFile ae8ff804-1-npm-routable-0-0-2-package-tgz tar:///Users/V1/.npm/routable/0.0.2/package.tgz
20749 info preinstall routable@0.0.2
20750 silly lockFile ec260d6e--contour-node-modules-creditcard tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/creditcard
20751 silly lockFile ec260d6e--contour-node-modules-creditcard tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/creditcard
20752 silly gunzTarPerm extractEntry parsers.json
20753 silly gunzTarPerm extractEntry middleware/access-control.js
20754 silly gunzTarPerm extractEntry test/fixture/js/preamble.js
20755 silly gunzTarPerm extractEntry test/fixture/js/special-chars-in-filename.js
20756 silly lockFile 352cd860-npm-creditcard-0-1-1-package-tgz tar:///Users/V1/.npm/creditcard/0.1.1/package.tgz
20757 silly lockFile 352cd860-npm-creditcard-0-1-1-package-tgz tar:///Users/V1/.npm/creditcard/0.1.1/package.tgz
20758 verbose readDependencies using package.json deps
20759 verbose readDependencies using package.json deps
20760 silly gunzTarPerm extractEntry moment/lang/id.js
20761 silly gunzTarPerm extractEntry moment/lang/is.js
20762 verbose cache add [ 'extendable@0.0.x', null ]
20763 verbose cache add name=undefined spec="extendable@0.0.x" args=["extendable@0.0.x",null]
20764 verbose parsed url { protocol: null,
20764 verbose parsed url slashes: null,
20764 verbose parsed url auth: null,
20764 verbose parsed url host: null,
20764 verbose parsed url port: null,
20764 verbose parsed url hostname: null,
20764 verbose parsed url hash: null,
20764 verbose parsed url search: null,
20764 verbose parsed url query: null,
20764 verbose parsed url pathname: 'extendable@0.0.x',
20764 verbose parsed url path: 'extendable@0.0.x',
20764 verbose parsed url href: 'extendable@0.0.x' }
20765 verbose cache add name="extendable" spec="0.0.x" args=["extendable","0.0.x"]
20766 verbose parsed url { protocol: null,
20766 verbose parsed url slashes: null,
20766 verbose parsed url auth: null,
20766 verbose parsed url host: null,
20766 verbose parsed url port: null,
20766 verbose parsed url hostname: null,
20766 verbose parsed url hash: null,
20766 verbose parsed url search: null,
20766 verbose parsed url query: null,
20766 verbose parsed url pathname: '0.0.x',
20766 verbose parsed url path: '0.0.x',
20766 verbose parsed url href: '0.0.x' }
20767 verbose addNamed [ 'extendable', '0.0.x' ]
20768 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
20769 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
20770 verbose lock extendable@0.0.x /Users/V1/.npm/9b413a1a-extendable-0-0-x.lock
20771 verbose cache add [ 'xregexp@2.0.x', null ]
20772 verbose cache add name=undefined spec="xregexp@2.0.x" args=["xregexp@2.0.x",null]
20773 verbose parsed url { protocol: null,
20773 verbose parsed url slashes: null,
20773 verbose parsed url auth: null,
20773 verbose parsed url host: null,
20773 verbose parsed url port: null,
20773 verbose parsed url hostname: null,
20773 verbose parsed url hash: null,
20773 verbose parsed url search: null,
20773 verbose parsed url query: null,
20773 verbose parsed url pathname: 'xregexp@2.0.x',
20773 verbose parsed url path: 'xregexp@2.0.x',
20773 verbose parsed url href: 'xregexp@2.0.x' }
20774 verbose cache add name="xregexp" spec="2.0.x" args=["xregexp","2.0.x"]
20775 verbose parsed url { protocol: null,
20775 verbose parsed url slashes: null,
20775 verbose parsed url auth: null,
20775 verbose parsed url host: null,
20775 verbose parsed url port: null,
20775 verbose parsed url hostname: null,
20775 verbose parsed url hash: null,
20775 verbose parsed url search: null,
20775 verbose parsed url query: null,
20775 verbose parsed url pathname: '2.0.x',
20775 verbose parsed url path: '2.0.x',
20775 verbose parsed url href: '2.0.x' }
20776 verbose addNamed [ 'xregexp', '2.0.x' ]
20777 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ]
20778 silly lockFile 93ebd1b9-xregexp-2-0-x xregexp@2.0.x
20779 verbose lock xregexp@2.0.x /Users/V1/.npm/93ebd1b9-xregexp-2-0-x.lock
20780 info preinstall creditcard@0.1.1
20781 silly addNameRange { name: 'extendable',
20781 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
20781 silly addNameRange hasData: false }
20782 silly addNameRange { name: 'xregexp', range: '>=2.0.0-0 <2.1.0-0', hasData: false }
20783 verbose url raw xregexp
20784 verbose url resolving [ 'https://registry.npmjs.org/', './xregexp' ]
20785 verbose url resolved https://registry.npmjs.org/xregexp
20786 info trying registry request attempt 1 at 11:49:54
20787 http GET https://registry.npmjs.org/xregexp
20788 verbose readDependencies using package.json deps
20789 silly gunzTarPerm modes [ '755', '644' ]
20790 verbose readDependencies using package.json deps
20791 silly resolved []
20792 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/creditcard
20793 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/creditcard
20794 verbose linkStuff [ false,
20794 verbose linkStuff false,
20794 verbose linkStuff false,
20794 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules' ]
20795 info linkStuff creditcard@0.1.1
20796 verbose linkBins creditcard@0.1.1
20797 verbose linkMans creditcard@0.1.1
20798 verbose rebuildBundles creditcard@0.1.1
20799 info install creditcard@0.1.1
20800 verbose url raw extendable
20801 verbose url resolving [ 'https://registry.npmjs.org/', './extendable' ]
20802 verbose url resolved https://registry.npmjs.org/extendable
20803 info trying registry request attempt 1 at 11:49:54
20804 verbose etag "4OM6WXKY0T6TX3MABM3RODWVV"
20805 http GET https://registry.npmjs.org/extendable
20806 info postinstall creditcard@0.1.1
20807 silly gunzTarPerm extractEntry moment/lang/it.js
20808 silly gunzTarPerm extractEntry moment/lang/ja.js
20809 silly gunzTarPerm extractEntry package.json
20810 silly gunzTarPerm extractEntry .npmignore
20811 silly gunzTarPerm extractEntry README.md
20812 silly lockFile f0d9c9ac-dules-contour-node-modules-async tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/async
20813 silly lockFile f0d9c9ac-dules-contour-node-modules-async tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/async
20814 silly gunzTarPerm extractEntry index.js
20815 silly gunzTarPerm extractEntry .travis.yml
20816 silly lockFile f1a4aa88--V1-npm-async-0-2-10-package-tgz tar:///Users/V1/.npm/async/0.2.10/package.tgz
20817 silly lockFile f1a4aa88--V1-npm-async-0-2-10-package-tgz tar:///Users/V1/.npm/async/0.2.10/package.tgz
20818 info preinstall async@0.2.10
20819 silly gunzTarPerm extractEntry test/fixture/js/workarounds.js
20820 silly gunzTarPerm extractEntry test/integration/test-fixtures.js
20821 verbose readDependencies using package.json deps
20822 silly gunzTarPerm extractEntry test/index.js
20823 verbose readDependencies using package.json deps
20824 silly resolved []
20825 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/async
20826 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/async
20827 verbose linkStuff [ false,
20827 verbose linkStuff false,
20827 verbose linkStuff false,
20827 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules' ]
20828 info linkStuff async@0.2.10
20829 verbose linkBins async@0.2.10
20830 verbose linkMans async@0.2.10
20831 verbose rebuildBundles async@0.2.10
20832 info install async@0.2.10
20833 info postinstall async@0.2.10
20834 silly lockFile 3c3f1afa-ules-contour-node-modules-marked tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/marked
20835 silly lockFile 3c3f1afa-ules-contour-node-modules-marked tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/marked
20836 silly gunzTarPerm extractEntry test/integration/test-json.js
20837 silly gunzTarPerm extractEntry test/integration/test-octet-stream.js
20838 silly lockFile 5cc7954b--V1-npm-marked-0-3-2-package-tgz tar:///Users/V1/.npm/marked/0.3.2/package.tgz
20839 silly lockFile 5cc7954b--V1-npm-marked-0-3-2-package-tgz tar:///Users/V1/.npm/marked/0.3.2/package.tgz
20840 silly lockFile 5fcc5940-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine/node_modules/extendable
20841 silly lockFile 5fcc5940-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine/node_modules/extendable
20842 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
20843 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
20844 info preinstall marked@0.3.2
20845 silly lockFile 16abbed7-ules-bigpipe-node-modules-mkdirp tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp
20846 silly lockFile 16abbed7-ules-bigpipe-node-modules-mkdirp tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp
20847 silly lockFile 0715e829--V1-npm-mkdirp-0-4-2-package-tgz tar:///Users/V1/.npm/mkdirp/0.4.2/package.tgz
20848 silly lockFile 0715e829--V1-npm-mkdirp-0-4-2-package-tgz tar:///Users/V1/.npm/mkdirp/0.4.2/package.tgz
20849 silly gunzTarPerm extractEntry test/legacy/common.js
20850 silly gunzTarPerm extractEntry test/legacy/integration/test-multipart-parser.js
20851 silly gunzTarPerm extractEntry test/mocha.opts
20852 verbose readDependencies using package.json deps
20853 info preinstall extendable@0.0.6
20854 verbose readDependencies using package.json deps
20855 silly resolved []
20856 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/marked
20857 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/marked
20858 verbose linkStuff [ false,
20858 verbose linkStuff false,
20858 verbose linkStuff false,
20858 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules' ]
20859 info linkStuff marked@0.3.2
20860 verbose linkBins marked@0.3.2
20861 verbose link bins [ { marked: './bin/marked' },
20861 verbose link bins '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/.bin',
20861 verbose link bins false ]
20862 verbose linkMans marked@0.3.2
20863 verbose rebuildBundles marked@0.3.2
20864 info preinstall mkdirp@0.4.2
20865 verbose readDependencies using package.json deps
20866 verbose readDependencies using package.json deps
20867 silly resolved []
20868 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine/node_modules/extendable
20869 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine/node_modules/extendable
20870 verbose linkStuff [ false,
20870 verbose linkStuff false,
20870 verbose linkStuff false,
20870 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine/node_modules' ]
20871 info linkStuff extendable@0.0.6
20872 verbose linkBins extendable@0.0.6
20873 verbose linkMans extendable@0.0.6
20874 verbose rebuildBundles extendable@0.0.6
20875 silly gunzTarPerm modes [ '755', '644' ]
20876 info install extendable@0.0.6
20877 verbose readDependencies using package.json deps
20878 info install marked@0.3.2
20879 verbose readDependencies using package.json deps
20880 info postinstall extendable@0.0.6
20881 verbose cache add [ 'minimist@0.0.8', null ]
20882 verbose cache add name=undefined spec="minimist@0.0.8" args=["minimist@0.0.8",null]
20883 verbose parsed url { protocol: null,
20883 verbose parsed url slashes: null,
20883 verbose parsed url auth: null,
20883 verbose parsed url host: null,
20883 verbose parsed url port: null,
20883 verbose parsed url hostname: null,
20883 verbose parsed url hash: null,
20883 verbose parsed url search: null,
20883 verbose parsed url query: null,
20883 verbose parsed url pathname: 'minimist@0.0.8',
20883 verbose parsed url path: 'minimist@0.0.8',
20883 verbose parsed url href: 'minimist@0.0.8' }
20884 verbose cache add name="minimist" spec="0.0.8" args=["minimist","0.0.8"]
20885 verbose parsed url { protocol: null,
20885 verbose parsed url slashes: null,
20885 verbose parsed url auth: null,
20885 verbose parsed url host: null,
20885 verbose parsed url port: null,
20885 verbose parsed url hostname: null,
20885 verbose parsed url hash: null,
20885 verbose parsed url search: null,
20885 verbose parsed url query: null,
20885 verbose parsed url pathname: '0.0.8',
20885 verbose parsed url path: '0.0.8',
20885 verbose parsed url href: '0.0.8' }
20886 verbose addNamed [ 'minimist', '0.0.8' ]
20887 verbose addNamed [ '0.0.8', '0.0.8' ]
20888 silly lockFile 22c6b485-minimist-0-0-8 minimist@0.0.8
20889 verbose lock minimist@0.0.8 /Users/V1/.npm/22c6b485-minimist-0-0-8.lock
20890 info postinstall marked@0.3.2
20891 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine
20892 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/predefine
20893 verbose linkStuff [ false,
20893 verbose linkStuff false,
20893 verbose linkStuff false,
20893 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules' ]
20894 info linkStuff predefine@0.0.6
20895 verbose linkBins predefine@0.0.6
20896 verbose linkMans predefine@0.0.6
20897 verbose rebuildBundles predefine@0.0.6
20898 silly lockFile 484b1326-gpipe-node-modules-eventemitter3 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/eventemitter3
20899 silly lockFile 484b1326-gpipe-node-modules-eventemitter3 tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/eventemitter3
20900 silly gunzTarPerm extractEntry middleware/authorization.js
20901 silly gunzTarPerm extractEntry middleware/error.js
20902 silly gunzTarPerm extractEntry package.json
20903 verbose rebuildBundles [ 'extendable' ]
20904 info install predefine@0.0.6
20905 silly lockFile 70e5a727--eventemitter3-0-1-2-package-tgz tar:///Users/V1/.npm/eventemitter3/0.1.2/package.tgz
20906 silly lockFile 70e5a727--eventemitter3-0-1-2-package-tgz tar:///Users/V1/.npm/eventemitter3/0.1.2/package.tgz
20907 info postinstall predefine@0.0.6
20908 silly gunzTarPerm extractEntry test/legacy/simple/test-file.js
20909 silly gunzTarPerm extractEntry test/legacy/simple/test-incoming-form.js
20910 silly gunzTarPerm extractEntry .npmignore
20911 silly gunzTarPerm extractEntry README.md
20912 info preinstall eventemitter3@0.1.2
20913 verbose registry.get minimist not expired, no request
20914 silly lockFile f7b98dc7--org-minimist-minimist-0-0-8-tgz https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
20915 verbose lock https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz /Users/V1/.npm/f7b98dc7--org-minimist-minimist-0-0-8-tgz.lock
20916 verbose readDependencies using package.json deps
20917 verbose addRemoteTarball [ 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz',
20917 verbose addRemoteTarball '857fcabfc3397d2625b8228262e86aa7a011b05d' ]
20918 verbose readDependencies using package.json deps
20919 silly resolved []
20920 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/eventemitter3
20921 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/eventemitter3
20922 verbose linkStuff [ false,
20922 verbose linkStuff false,
20922 verbose linkStuff false,
20922 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules' ]
20923 info linkStuff eventemitter3@0.1.2
20924 verbose linkBins eventemitter3@0.1.2
20925 verbose linkMans eventemitter3@0.1.2
20926 verbose rebuildBundles eventemitter3@0.1.2
20927 info retry fetch attempt 1 at 11:49:54
20928 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994127-0.5849956644233316/tmp.tgz
20929 info install eventemitter3@0.1.2
20930 http GET https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
20931 info postinstall eventemitter3@0.1.2
20932 silly gunzTarPerm extractEntry index.js
20933 silly gunzTarPerm extractEntry test.js
20934 silly lockFile 86a3b4bb-dules-contour-node-modules-utile tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile
20935 silly lockFile 86a3b4bb-dules-contour-node-modules-utile tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile
20936 silly gunzTarPerm extractEntry test/legacy/simple/test-multipart-parser.js
20937 silly gunzTarPerm extractEntry test/legacy/simple/test-querystring-parser.js
20938 silly lockFile 7020cf76-s-V1-npm-utile-0-2-1-package-tgz tar:///Users/V1/.npm/utile/0.2.1/package.tgz
20939 silly lockFile 7020cf76-s-V1-npm-utile-0-2-1-package-tgz tar:///Users/V1/.npm/utile/0.2.1/package.tgz
20940 silly gunzTarPerm extractEntry .travis.yml
20941 silly gunzTarPerm extractEntry example/index.js
20942 info preinstall utile@0.2.1
20943 verbose readDependencies using package.json deps
20944 silly gunzTarPerm extractEntry test/legacy/system/test-multi-video-upload.js
20945 silly gunzTarPerm extractEntry test/standalone/test-connection-aborted.js
20946 verbose readDependencies using package.json deps
20947 verbose cache add [ 'deep-equal@*', null ]
20948 verbose cache add name=undefined spec="deep-equal@*" args=["deep-equal@*",null]
20949 verbose parsed url { protocol: null,
20949 verbose parsed url slashes: null,
20949 verbose parsed url auth: null,
20949 verbose parsed url host: null,
20949 verbose parsed url port: null,
20949 verbose parsed url hostname: null,
20949 verbose parsed url hash: null,
20949 verbose parsed url search: null,
20949 verbose parsed url query: null,
20949 verbose parsed url pathname: 'deep-equal@*',
20949 verbose parsed url path: 'deep-equal@*',
20949 verbose parsed url href: 'deep-equal@*' }
20950 verbose cache add name="deep-equal" spec="*" args=["deep-equal","*"]
20951 verbose parsed url { protocol: null,
20951 verbose parsed url slashes: null,
20951 verbose parsed url auth: null,
20951 verbose parsed url host: null,
20951 verbose parsed url port: null,
20951 verbose parsed url hostname: null,
20951 verbose parsed url hash: null,
20951 verbose parsed url search: null,
20951 verbose parsed url query: null,
20951 verbose parsed url pathname: '*',
20951 verbose parsed url path: '*',
20951 verbose parsed url href: '*' }
20952 verbose addNamed [ 'deep-equal', '*' ]
20953 verbose addNamed [ null, '*' ]
20954 silly lockFile 2aa4e33c-deep-equal deep-equal@*
20955 verbose lock deep-equal@* /Users/V1/.npm/2aa4e33c-deep-equal.lock
20956 verbose cache add [ 'i@0.3.x', null ]
20957 verbose cache add name=undefined spec="i@0.3.x" args=["i@0.3.x",null]
20958 verbose parsed url { protocol: null,
20958 verbose parsed url slashes: null,
20958 verbose parsed url auth: null,
20958 verbose parsed url host: null,
20958 verbose parsed url port: null,
20958 verbose parsed url hostname: null,
20958 verbose parsed url hash: null,
20958 verbose parsed url search: null,
20958 verbose parsed url query: null,
20958 verbose parsed url pathname: 'i@0.3.x',
20958 verbose parsed url path: 'i@0.3.x',
20958 verbose parsed url href: 'i@0.3.x' }
20959 verbose cache add name="i" spec="0.3.x" args=["i","0.3.x"]
20960 verbose parsed url { protocol: null,
20960 verbose parsed url slashes: null,
20960 verbose parsed url auth: null,
20960 verbose parsed url host: null,
20960 verbose parsed url port: null,
20960 verbose parsed url hostname: null,
20960 verbose parsed url hash: null,
20960 verbose parsed url search: null,
20960 verbose parsed url query: null,
20960 verbose parsed url pathname: '0.3.x',
20960 verbose parsed url path: '0.3.x',
20960 verbose parsed url href: '0.3.x' }
20961 verbose addNamed [ 'i', '0.3.x' ]
20962 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
20963 silly lockFile 2b556e57-i-0-3-x i@0.3.x
20964 verbose lock i@0.3.x /Users/V1/.npm/2b556e57-i-0-3-x.lock
20965 verbose cache add [ 'mkdirp@0.x.x', null ]
20966 verbose cache add name=undefined spec="mkdirp@0.x.x" args=["mkdirp@0.x.x",null]
20967 verbose parsed url { protocol: null,
20967 verbose parsed url slashes: null,
20967 verbose parsed url auth: null,
20967 verbose parsed url host: null,
20967 verbose parsed url port: null,
20967 verbose parsed url hostname: null,
20967 verbose parsed url hash: null,
20967 verbose parsed url search: null,
20967 verbose parsed url query: null,
20967 verbose parsed url pathname: 'mkdirp@0.x.x',
20967 verbose parsed url path: 'mkdirp@0.x.x',
20967 verbose parsed url href: 'mkdirp@0.x.x' }
20968 verbose cache add name="mkdirp" spec="0.x.x" args=["mkdirp","0.x.x"]
20969 verbose parsed url { protocol: null,
20969 verbose parsed url slashes: null,
20969 verbose parsed url auth: null,
20969 verbose parsed url host: null,
20969 verbose parsed url port: null,
20969 verbose parsed url hostname: null,
20969 verbose parsed url hash: null,
20969 verbose parsed url search: null,
20969 verbose parsed url query: null,
20969 verbose parsed url pathname: '0.x.x',
20969 verbose parsed url path: '0.x.x',
20969 verbose parsed url href: '0.x.x' }
20970 verbose addNamed [ 'mkdirp', '0.x.x' ]
20971 verbose addNamed [ null, '>=0.0.0-0 <1.0.0-0' ]
20972 silly lockFile 0cdf6d66-mkdirp-0-x-x mkdirp@0.x.x
20973 verbose lock mkdirp@0.x.x /Users/V1/.npm/0cdf6d66-mkdirp-0-x-x.lock
20974 silly addNameRange { name: 'deep-equal', range: '*', hasData: false }
20975 verbose cache add [ 'ncp@0.4.x', null ]
20976 verbose cache add name=undefined spec="ncp@0.4.x" args=["ncp@0.4.x",null]
20977 verbose parsed url { protocol: null,
20977 verbose parsed url slashes: null,
20977 verbose parsed url auth: null,
20977 verbose parsed url host: null,
20977 verbose parsed url port: null,
20977 verbose parsed url hostname: null,
20977 verbose parsed url hash: null,
20977 verbose parsed url search: null,
20977 verbose parsed url query: null,
20977 verbose parsed url pathname: 'ncp@0.4.x',
20977 verbose parsed url path: 'ncp@0.4.x',
20977 verbose parsed url href: 'ncp@0.4.x' }
20978 verbose cache add name="ncp" spec="0.4.x" args=["ncp","0.4.x"]
20979 verbose parsed url { protocol: null,
20979 verbose parsed url slashes: null,
20979 verbose parsed url auth: null,
20979 verbose parsed url host: null,
20979 verbose parsed url port: null,
20979 verbose parsed url hostname: null,
20979 verbose parsed url hash: null,
20979 verbose parsed url search: null,
20979 verbose parsed url query: null,
20979 verbose parsed url pathname: '0.4.x',
20979 verbose parsed url path: '0.4.x',
20979 verbose parsed url href: '0.4.x' }
20980 verbose addNamed [ 'ncp', '0.4.x' ]
20981 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
20982 silly lockFile b48a70bb-ncp-0-4-x ncp@0.4.x
20983 verbose lock ncp@0.4.x /Users/V1/.npm/b48a70bb-ncp-0-4-x.lock
20984 verbose cache add [ 'rimraf@2.x.x', null ]
20985 verbose cache add name=undefined spec="rimraf@2.x.x" args=["rimraf@2.x.x",null]
20986 verbose parsed url { protocol: null,
20986 verbose parsed url slashes: null,
20986 verbose parsed url auth: null,
20986 verbose parsed url host: null,
20986 verbose parsed url port: null,
20986 verbose parsed url hostname: null,
20986 verbose parsed url hash: null,
20986 verbose parsed url search: null,
20986 verbose parsed url query: null,
20986 verbose parsed url pathname: 'rimraf@2.x.x',
20986 verbose parsed url path: 'rimraf@2.x.x',
20986 verbose parsed url href: 'rimraf@2.x.x' }
20987 verbose cache add name="rimraf" spec="2.x.x" args=["rimraf","2.x.x"]
20988 verbose parsed url { protocol: null,
20988 verbose parsed url slashes: null,
20988 verbose parsed url auth: null,
20988 verbose parsed url host: null,
20988 verbose parsed url port: null,
20988 verbose parsed url hostname: null,
20988 verbose parsed url hash: null,
20988 verbose parsed url search: null,
20988 verbose parsed url query: null,
20988 verbose parsed url pathname: '2.x.x',
20988 verbose parsed url path: '2.x.x',
20988 verbose parsed url href: '2.x.x' }
20989 verbose addNamed [ 'rimraf', '2.x.x' ]
20990 verbose addNamed [ null, '>=2.0.0-0 <3.0.0-0' ]
20991 silly lockFile 7220c273-rimraf-2-x-x rimraf@2.x.x
20992 verbose lock rimraf@2.x.x /Users/V1/.npm/7220c273-rimraf-2-x-x.lock
20993 silly addNameRange { name: 'i', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
20994 verbose url raw deep-equal
20995 verbose url resolving [ 'https://registry.npmjs.org/', './deep-equal' ]
20996 verbose url resolved https://registry.npmjs.org/deep-equal
20997 info trying registry request attempt 1 at 11:49:54
20998 http GET https://registry.npmjs.org/deep-equal
20999 silly addNameRange { name: 'mkdirp', range: '>=0.0.0-0 <1.0.0-0', hasData: false }
21000 verbose url raw i
21001 verbose url resolving [ 'https://registry.npmjs.org/', './i' ]
21002 verbose url resolved https://registry.npmjs.org/i
21003 info trying registry request attempt 1 at 11:49:54
21004 http GET https://registry.npmjs.org/i
21005 silly addNameRange { name: 'ncp', range: '>=0.4.0-0 <0.5.0-0', hasData: false }
21006 silly addNameRange { name: 'rimraf', range: '>=2.0.0-0 <3.0.0-0', hasData: false }
21007 silly gunzTarPerm extractEntry test/standalone/test-content-transfer-encoding.js
21008 silly gunzTarPerm extractEntry test/standalone/test-issue-46.js
21009 verbose url raw ncp
21010 verbose url resolving [ 'https://registry.npmjs.org/', './ncp' ]
21011 verbose url resolved https://registry.npmjs.org/ncp
21012 info trying registry request attempt 1 at 11:49:54
21013 http GET https://registry.npmjs.org/ncp
21014 verbose url raw rimraf
21015 verbose url resolving [ 'https://registry.npmjs.org/', './rimraf' ]
21016 verbose url resolved https://registry.npmjs.org/rimraf
21017 info trying registry request attempt 1 at 11:49:54
21018 http GET https://registry.npmjs.org/rimraf
21019 verbose url raw mkdirp
21020 verbose url resolving [ 'https://registry.npmjs.org/', './mkdirp' ]
21021 verbose url resolved https://registry.npmjs.org/mkdirp
21022 info trying registry request attempt 1 at 11:49:54
21023 verbose etag "C2LF59U2KDIZSCIZO6OPIDT9F"
21024 http GET https://registry.npmjs.org/mkdirp
21025 silly gunzTarPerm extractEntry test/tools/base64.html
21026 silly gunzTarPerm extractEntry test/unit/test-file.js
21027 silly lockFile f8fa133d-ules-bigpipe-node-modules-smithy tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy
21028 silly lockFile f8fa133d-ules-bigpipe-node-modules-smithy tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy
21029 silly lockFile a45c8b2e--V1-npm-smithy-0-5-0-package-tgz tar:///Users/V1/.npm/smithy/0.5.0/package.tgz
21030 silly lockFile a45c8b2e--V1-npm-smithy-0-5-0-package-tgz tar:///Users/V1/.npm/smithy/0.5.0/package.tgz
21031 silly gunzTarPerm extractEntry test/unit/test-incoming-form.js
21032 silly gunzTarPerm extractEntry example/json.js
21033 info preinstall smithy@0.5.0
21034 verbose readDependencies using package.json deps
21035 verbose readDependencies using package.json deps
21036 silly lockFile fe819ff8-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine
21037 silly lockFile fe819ff8-es-fusing-node-modules-predefine tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine
21038 http 200 https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
21039 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
21040 silly lockFile e18f5090--npm-predefine-0-1-1-package-tgz tar:///Users/V1/.npm/predefine/0.1.1/package.tgz
21041 silly gunzTarPerm extractEntry example/post.js
21042 silly gunzTarPerm extractEntry example/upload.js
21043 verbose cache add [ 'canihaz@1.0.x', null ]
21044 verbose cache add name=undefined spec="canihaz@1.0.x" args=["canihaz@1.0.x",null]
21045 verbose parsed url { protocol: null,
21045 verbose parsed url slashes: null,
21045 verbose parsed url auth: null,
21045 verbose parsed url host: null,
21045 verbose parsed url port: null,
21045 verbose parsed url hostname: null,
21045 verbose parsed url hash: null,
21045 verbose parsed url search: null,
21045 verbose parsed url query: null,
21045 verbose parsed url pathname: 'canihaz@1.0.x',
21045 verbose parsed url path: 'canihaz@1.0.x',
21045 verbose parsed url href: 'canihaz@1.0.x' }
21046 verbose cache add name="canihaz" spec="1.0.x" args=["canihaz","1.0.x"]
21047 verbose parsed url { protocol: null,
21047 verbose parsed url slashes: null,
21047 verbose parsed url auth: null,
21047 verbose parsed url host: null,
21047 verbose parsed url port: null,
21047 verbose parsed url hostname: null,
21047 verbose parsed url hash: null,
21047 verbose parsed url search: null,
21047 verbose parsed url query: null,
21047 verbose parsed url pathname: '1.0.x',
21047 verbose parsed url path: '1.0.x',
21047 verbose parsed url href: '1.0.x' }
21048 verbose addNamed [ 'canihaz', '1.0.x' ]
21049 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
21050 silly lockFile d054414d-canihaz-1-0-x canihaz@1.0.x
21051 verbose lock canihaz@1.0.x /Users/V1/.npm/d054414d-canihaz-1-0-x.lock
21052 silly addNameRange { name: 'canihaz', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
21053 info preinstall predefine@0.1.1
21054 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994127-0.5849956644233316/tmp.tgz
21055 silly lockFile f9f82307-rs-V1-npm-minimist-0-0-8-package tar:///Users/V1/.npm/minimist/0.0.8/package
21056 verbose lock tar:///Users/V1/.npm/minimist/0.0.8/package /Users/V1/.npm/f9f82307-rs-V1-npm-minimist-0-0-8-package.lock
21057 silly lockFile 821ba83f-94127-0-5849956644233316-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994127-0.5849956644233316/tmp.tgz
21058 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994127-0.5849956644233316/tmp.tgz /Users/V1/.npm/821ba83f-94127-0-5849956644233316-tmp-tgz.lock
21059 verbose url raw canihaz
21060 verbose url resolving [ 'https://registry.npmjs.org/', './canihaz' ]
21061 verbose url resolved https://registry.npmjs.org/canihaz
21062 info trying registry request attempt 1 at 11:49:54
21063 http GET https://registry.npmjs.org/canihaz
21064 verbose readDependencies using package.json deps
21065 silly gunzTarPerm modes [ '755', '644' ]
21066 verbose readDependencies using package.json deps
21067 verbose cache add [ 'extendable@0.0.x', null ]
21068 verbose cache add name=undefined spec="extendable@0.0.x" args=["extendable@0.0.x",null]
21069 verbose parsed url { protocol: null,
21069 verbose parsed url slashes: null,
21069 verbose parsed url auth: null,
21069 verbose parsed url host: null,
21069 verbose parsed url port: null,
21069 verbose parsed url hostname: null,
21069 verbose parsed url hash: null,
21069 verbose parsed url search: null,
21069 verbose parsed url query: null,
21069 verbose parsed url pathname: 'extendable@0.0.x',
21069 verbose parsed url path: 'extendable@0.0.x',
21069 verbose parsed url href: 'extendable@0.0.x' }
21070 verbose cache add name="extendable" spec="0.0.x" args=["extendable","0.0.x"]
21071 verbose parsed url { protocol: null,
21071 verbose parsed url slashes: null,
21071 verbose parsed url auth: null,
21071 verbose parsed url host: null,
21071 verbose parsed url port: null,
21071 verbose parsed url hostname: null,
21071 verbose parsed url hash: null,
21071 verbose parsed url search: null,
21071 verbose parsed url query: null,
21071 verbose parsed url pathname: '0.0.x',
21071 verbose parsed url path: '0.0.x',
21071 verbose parsed url href: '0.0.x' }
21072 verbose addNamed [ 'extendable', '0.0.x' ]
21073 silly gunzTarPerm extractEntry package.json
21074 silly gunzTarPerm extractEntry LICENSE
21075 silly gunzTarPerm extractEntry index.js
21076 silly lockFile 53f3de33-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable
21077 silly lockFile 53f3de33-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable
21078 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
21079 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
21080 info preinstall extendable@0.0.6
21081 silly gunzTarPerm extractEntry .travis.yml
21082 silly gunzTarPerm extractEntry example/parse.js
21083 verbose readDependencies using package.json deps
21084 verbose readDependencies using package.json deps
21085 silly resolved []
21086 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable
21087 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules/extendable
21088 verbose linkStuff [ false,
21088 verbose linkStuff false,
21088 verbose linkStuff false,
21088 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine/node_modules' ]
21089 info linkStuff extendable@0.0.6
21090 verbose linkBins extendable@0.0.6
21091 verbose linkMans extendable@0.0.6
21092 verbose rebuildBundles extendable@0.0.6
21093 info install extendable@0.0.6
21094 info postinstall extendable@0.0.6
21095 silly gunzTarPerm extractEntry middleware/no-cache.js
21096 silly gunzTarPerm extractEntry middleware/primus.js
21097 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine
21098 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules/predefine
21099 verbose linkStuff [ false,
21099 verbose linkStuff false,
21099 verbose linkStuff false,
21099 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing/node_modules' ]
21100 info linkStuff predefine@0.1.1
21101 verbose linkBins predefine@0.1.1
21102 verbose linkMans predefine@0.1.1
21103 verbose rebuildBundles predefine@0.1.1
21104 verbose rebuildBundles [ 'extendable' ]
21105 info install predefine@0.1.1
21106 silly gunzTarPerm extractEntry readme.markdown
21107 silly gunzTarPerm extractEntry test/dash.js
21108 info postinstall predefine@0.1.1
21109 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing
21110 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules/fusing
21111 verbose linkStuff [ false,
21111 verbose linkStuff false,
21111 verbose linkStuff false,
21111 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses/node_modules' ]
21112 info linkStuff fusing@0.2.1
21113 verbose linkBins fusing@0.2.1
21114 verbose linkMans fusing@0.2.1
21115 verbose rebuildBundles fusing@0.2.1
21116 verbose rebuildBundles [ 'predefine' ]
21117 info install fusing@0.2.1
21118 info postinstall fusing@0.2.1
21119 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses
21120 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules/licenses
21121 verbose linkStuff [ false,
21121 verbose linkStuff false,
21121 verbose linkStuff false,
21121 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/packages-pagelet/node_modules' ]
21122 info linkStuff licenses@0.0.19
21123 verbose linkBins licenses@0.0.19
21124 verbose linkMans licenses@0.0.19
21125 verbose rebuildBundles licenses@0.0.19
21126 verbose rebuildBundles [ 'async', 'fusing' ]
21127 info install licenses@0.0.19
21128 http 200 https://registry.npmjs.org/ncp
21129 silly registry.get cb [ 200,
21129 silly registry.get { date: 'Fri, 09 May 2014 09:49:54 GMT',
21129 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21129 silly registry.get etag: '"171HC9EJ4VCYOVVYJCC6KQNW5"',
21129 silly registry.get 'content-type': 'application/json',
21129 silly registry.get via: '1.1 varnish',
21129 silly registry.get 'cache-control': 'max-age=1',
21129 silly registry.get 'content-length': '21546',
21129 silly registry.get 'accept-ranges': 'bytes',
21129 silly registry.get age: '9',
21129 silly registry.get 'x-served-by': 'cache-v44-ASH, cache-am76-AMS',
21129 silly registry.get 'x-cache': 'HIT, HIT',
21129 silly registry.get 'x-cache-hits': '1, 2',
21129 silly registry.get 'x-timer': 'S1399628994.825955629,VS0,VE0',
21129 silly registry.get vary: 'Accept',
21129 silly registry.get 'keep-alive': 'timeout=10, max=50',
21129 silly registry.get connection: 'Keep-Alive' } ]
21130 info postinstall licenses@0.0.19
21131 silly lockFile 4c5fe36f-s-bigpipe-node-modules-substream tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream
21132 silly lockFile 4c5fe36f-s-bigpipe-node-modules-substream tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream
21133 silly lockFile 3e838669--npm-substream-0-0-2-package-tgz tar:///Users/V1/.npm/substream/0.0.2/package.tgz
21134 silly lockFile 3e838669--npm-substream-0-0-2-package-tgz tar:///Users/V1/.npm/substream/0.0.2/package.tgz
21135 info preinstall substream@0.0.2
21136 silly addNameRange number 2 { name: 'ncp', range: '>=0.4.0-0 <0.5.0-0', hasData: true }
21137 silly addNameRange versions [ 'ncp',
21137 silly addNameRange [ '0.0.0',
21137 silly addNameRange '0.0.1',
21137 silly addNameRange '0.0.2',
21137 silly addNameRange '0.1.0',
21137 silly addNameRange '0.1.1',
21137 silly addNameRange '0.1.2',
21137 silly addNameRange '0.2.0',
21137 silly addNameRange '0.2.1',
21137 silly addNameRange '0.2.2',
21137 silly addNameRange '0.2.3',
21137 silly addNameRange '0.2.4',
21137 silly addNameRange '0.2.5',
21137 silly addNameRange '0.2.6',
21137 silly addNameRange '0.3.0',
21137 silly addNameRange '0.4.0',
21137 silly addNameRange '0.2.7',
21137 silly addNameRange '0.4.1',
21137 silly addNameRange '0.4.2',
21137 silly addNameRange '0.5.0',
21137 silly addNameRange '0.5.1' ] ]
21138 verbose addNamed [ 'ncp', '0.4.2' ]
21139 verbose addNamed [ '0.4.2', '0.4.2' ]
21140 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
21141 verbose lock ncp@0.4.2 /Users/V1/.npm/e43cb36a-ncp-0-4-2.lock
21142 http 304 https://registry.npmjs.org/extendable
21143 silly registry.get cb [ 304,
21143 silly registry.get { date: 'Fri, 09 May 2014 09:49:54 GMT',
21143 silly registry.get server: 'Apache',
21143 silly registry.get via: '1.1 varnish',
21143 silly registry.get 'last-modified': 'Fri, 09 May 2014 09:49:54 GMT',
21143 silly registry.get 'cache-control': 'max-age=1',
21143 silly registry.get etag: '"4OM6WXKY0T6TX3MABM3RODWVV"',
21143 silly registry.get 'x-served-by': 'cache-am70-AMS',
21143 silly registry.get 'x-cache': 'MISS',
21143 silly registry.get 'x-cache-hits': '0',
21143 silly registry.get 'x-timer': 'S1399628994.697672129,VS0,VE157',
21143 silly registry.get vary: 'Accept',
21143 silly registry.get 'content-length': '0',
21143 silly registry.get 'keep-alive': 'timeout=10, max=50',
21143 silly registry.get connection: 'Keep-Alive' } ]
21144 verbose etag extendable from cache
21145 silly gunzTarPerm extractEntry test/default_bool.js
21146 silly gunzTarPerm extractEntry test/dotted.js
21147 silly gunzTarPerm extractEntry test/long.js
21148 silly gunzTarPerm extractEntry test/parse.js
21149 silly gunzTarPerm extractEntry test/parse_modified.js
21150 silly gunzTarPerm extractEntry test/short.js
21151 silly gunzTarPerm extractEntry test/whitespace.js
21152 silly gunzTarPerm extractEntry moment/lang/hy-am.js
21153 silly gunzTarPerm extractEntry moment/lang/ko.js
21154 verbose readDependencies using package.json deps
21155 silly lockFile b3172d45-stry-npmjs-org-ncp-ncp-0-4-2-tgz https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz
21156 verbose lock https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz /Users/V1/.npm/b3172d45-stry-npmjs-org-ncp-ncp-0-4-2-tgz.lock
21157 verbose readDependencies using package.json deps
21158 verbose addRemoteTarball [ 'https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz',
21158 verbose addRemoteTarball 'abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574' ]
21159 verbose cache add [ 'load@1.0.x', null ]
21160 verbose cache add name=undefined spec="load@1.0.x" args=["load@1.0.x",null]
21161 verbose parsed url { protocol: null,
21161 verbose parsed url slashes: null,
21161 verbose parsed url auth: null,
21161 verbose parsed url host: null,
21161 verbose parsed url port: null,
21161 verbose parsed url hostname: null,
21161 verbose parsed url hash: null,
21161 verbose parsed url search: null,
21161 verbose parsed url query: null,
21161 verbose parsed url pathname: 'load@1.0.x',
21161 verbose parsed url path: 'load@1.0.x',
21161 verbose parsed url href: 'load@1.0.x' }
21162 verbose cache add name="load" spec="1.0.x" args=["load","1.0.x"]
21163 verbose parsed url { protocol: null,
21163 verbose parsed url slashes: null,
21163 verbose parsed url auth: null,
21163 verbose parsed url host: null,
21163 verbose parsed url port: null,
21163 verbose parsed url hostname: null,
21163 verbose parsed url hash: null,
21163 verbose parsed url search: null,
21163 verbose parsed url query: null,
21163 verbose parsed url pathname: '1.0.x',
21163 verbose parsed url path: '1.0.x',
21163 verbose parsed url href: '1.0.x' }
21164 verbose addNamed [ 'load', '1.0.x' ]
21165 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
21166 silly lockFile 8f7127d2-load-1-0-x load@1.0.x
21167 verbose lock load@1.0.x /Users/V1/.npm/8f7127d2-load-1-0-x.lock
21168 info retry fetch attempt 1 at 11:49:54
21169 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994294-0.0271371693816036/tmp.tgz
21170 silly addNameRange { name: 'load', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
21171 http GET https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz
21172 verbose url raw load
21173 verbose url resolving [ 'https://registry.npmjs.org/', './load' ]
21174 verbose url resolved https://registry.npmjs.org/load
21175 info trying registry request attempt 1 at 11:49:54
21176 http GET https://registry.npmjs.org/load
21177 silly addNameRange number 2 { name: 'extendable',
21177 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
21177 silly addNameRange hasData: true }
21178 silly addNameRange versions [ 'extendable',
21178 silly addNameRange [ '0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6' ] ]
21179 verbose addNamed [ 'extendable', '0.0.6' ]
21180 verbose addNamed [ '0.0.6', '0.0.6' ]
21181 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
21182 verbose lock extendable@0.0.6 /Users/V1/.npm/84399eb0-extendable-0-0-6.lock
21183 silly gunzTarPerm extractEntry moment/lang/lb.js
21184 silly gunzTarPerm extractEntry moment/lang/lt.js
21185 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
21186 silly lockFile 84399eb0-extendable-0-0-6 extendable@0.0.6
21187 silly gunzTarPerm extractEntry middleware/spec.js
21188 silly gunzTarPerm extractEntry transformers.json
21189 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
21190 silly lockFile 9b413a1a-extendable-0-0-x extendable@0.0.x
21191 http 304 https://registry.npmjs.org/mkdirp
21192 silly registry.get cb [ 304,
21192 silly registry.get { date: 'Fri, 09 May 2014 09:49:54 GMT',
21192 silly registry.get server: 'Apache',
21192 silly registry.get via: '1.1 varnish',
21192 silly registry.get 'last-modified': 'Fri, 09 May 2014 09:49:54 GMT',
21192 silly registry.get 'cache-control': 'max-age=1',
21192 silly registry.get etag: '"C2LF59U2KDIZSCIZO6OPIDT9F"',
21192 silly registry.get 'x-served-by': 'cache-am70-AMS',
21192 silly registry.get 'x-cache': 'HIT',
21192 silly registry.get 'x-cache-hits': '1',
21192 silly registry.get 'x-timer': 'S1399628994.872262478,VS0,VE0',
21192 silly registry.get vary: 'Accept',
21192 silly registry.get 'content-length': '0',
21192 silly registry.get 'keep-alive': 'timeout=10, max=49',
21192 silly registry.get connection: 'Keep-Alive' } ]
21193 verbose etag mkdirp from cache
21194 silly gunzTarPerm extractEntry moment/lang/lv.js
21195 silly gunzTarPerm extractEntry moment/lang/mk.js
21196 silly resolved [ { name: 'extendable',
21196 silly resolved version: '0.0.6',
21196 silly resolved description: 'Extend constructors using backbone\'s .extend signature',
21196 silly resolved keywords:
21196 silly resolved [ 'backbone',
21196 silly resolved 'underscore',
21196 silly resolved 'lodash',
21196 silly resolved 'extend',
21196 silly resolved 'inherit',
21196 silly resolved 'inherits' ],
21196 silly resolved main: 'index.js',
21196 silly resolved scripts: { test: 'node test.js' },
21196 silly resolved repository: { type: 'git', url: 'git://github.com/3rd-Eden/extendable.git' },
21196 silly resolved author: { name: 'Arnout Kazemier' },
21196 silly resolved license: 'MIT',
21196 silly resolved dependencies: {},
21196 silly resolved devDependencies: {},
21196 silly resolved readme: '# Extend your JavaScript constructors in the same as you are used to in backbone.js\n\n[![Build Status](https://travis-ci.org/3rd-Eden/extendable.png)](https://travis-ci.org/3rd-Eden/extendable)\n\n```js\nvar extend = require(\'extendable\')\n , EventEmitter = require(\'events\').EventEmitter;\n\nfunction Awesomeness() {\n var self = this;\n\n setTimeout(function () {\n self.render(self.data);\n }, 100);\n\n EventEmitter.call(this);\n}\n\nAwesomeness.prototype = new EventEmitter;\nAwesomeness.prototype.constructor = Awesomeness;\n\nAwesomeness.prototype.data = \'bar\';\nAwesomeness.prototype.render = function render() {\n // does nothing\n};\n\nAwesomeness.extend = extend;\n```\n\nAnd you can now use it\n\n```js\nvar SuperAwesome = Awesomeness.extend({\n data: \'trololol\'\n\n , render: function render(data) {\n console.log(data);\n }\n});\n\nnew SuperAwesome();\n// outputs "trololo" after 100 ms\n```\n\n### License\n\nMIT\n',
21196 silly resolved readmeFilename: 'README.md',
21196 silly resolved bugs: { url: 'https://github.com/3rd-Eden/extendable/issues' },
21196 silly resolved homepage: 'https://github.com/3rd-Eden/extendable',
21196 silly resolved _id: 'extendable@0.0.6',
21196 silly resolved _shasum: 'b85c6a081630b2c9d83588239c20cb3be4776fe6',
21196 silly resolved _from: 'extendable@0.0.x',
21196 silly resolved _resolved: 'https://registry.npmjs.org/extendable/-/extendable-0.0.6.tgz' } ]
21197 info install extendable@0.0.6 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine
21198 info installOne extendable@0.0.6
21199 silly addNameRange number 2 { name: 'mkdirp', range: '>=0.0.0-0 <1.0.0-0', hasData: true }
21200 silly addNameRange versions [ 'mkdirp',
21200 silly addNameRange [ '0.0.1',
21200 silly addNameRange '0.0.2',
21200 silly addNameRange '0.0.3',
21200 silly addNameRange '0.0.4',
21200 silly addNameRange '0.0.5',
21200 silly addNameRange '0.0.6',
21200 silly addNameRange '0.0.7',
21200 silly addNameRange '0.1.0',
21200 silly addNameRange '0.2.0',
21200 silly addNameRange '0.2.1',
21200 silly addNameRange '0.2.2',
21200 silly addNameRange '0.3.0',
21200 silly addNameRange '0.3.1',
21200 silly addNameRange '0.3.2',
21200 silly addNameRange '0.3.3',
21200 silly addNameRange '0.3.4',
21200 silly addNameRange '0.3.5',
21200 silly addNameRange '0.4.0',
21200 silly addNameRange '0.4.1',
21200 silly addNameRange '0.4.2',
21200 silly addNameRange '0.5.0' ] ]
21201 verbose addNamed [ 'mkdirp', '0.5.0' ]
21202 verbose addNamed [ '0.5.0', '0.5.0' ]
21203 silly lockFile bf9ae38d-mkdirp-0-5-0 mkdirp@0.5.0
21204 verbose lock mkdirp@0.5.0 /Users/V1/.npm/bf9ae38d-mkdirp-0-5-0.lock
21205 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine/node_modules/extendable unbuild
21206 silly lockFile f26a2ada-pmjs-org-mkdirp-mkdirp-0-5-0-tgz https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz
21207 verbose lock https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz /Users/V1/.npm/f26a2ada-pmjs-org-mkdirp-mkdirp-0-5-0-tgz.lock
21208 verbose tar unpack /Users/V1/.npm/extendable/0.0.6/package.tgz
21209 silly lockFile 0a8dcebe-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine/node_modules/extendable
21210 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine/node_modules/extendable /Users/V1/.npm/0a8dcebe-redefine-node-modules-extendable.lock
21211 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
21212 verbose lock tar:///Users/V1/.npm/extendable/0.0.6/package.tgz /Users/V1/.npm/680edfbb-npm-extendable-0-0-6-package-tgz.lock
21213 http 200 https://registry.npmjs.org/xregexp
21214 silly registry.get cb [ 200,
21214 silly registry.get { date: 'Fri, 09 May 2014 09:49:54 GMT',
21214 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21214 silly registry.get etag: '"60LJWMQYP1YU5LB4801V3FQ6L"',
21214 silly registry.get 'content-type': 'application/json',
21214 silly registry.get via: '1.1 varnish',
21214 silly registry.get 'cache-control': 'max-age=1',
21214 silly registry.get 'content-length': '18783',
21214 silly registry.get 'accept-ranges': 'bytes',
21214 silly registry.get age: '1144',
21214 silly registry.get 'x-served-by': 'cache-v37-ASH, cache-am72-AMS',
21214 silly registry.get 'x-cache': 'MISS, MISS',
21214 silly registry.get 'x-cache-hits': '0, 0',
21214 silly registry.get 'x-timer': 'S1399627850.454936981,VS0,VS47,VE139,VE1144412',
21214 silly registry.get vary: 'Accept',
21214 silly registry.get 'keep-alive': 'timeout=10, max=50',
21214 silly registry.get connection: 'Keep-Alive' } ]
21215 verbose addRemoteTarball [ 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz',
21215 verbose addRemoteTarball '1d73076a6df986cd9344e15e71fcc05a4c9abf12' ]
21216 info retry fetch attempt 1 at 11:49:54
21217 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994320-0.5633956156671047/tmp.tgz
21218 silly gunzTarPerm modes [ '755', '644' ]
21219 silly gunzTarPerm extractEntry moment/lang/hu.js
21220 silly gunzTarPerm extractEntry moment/lang/ml.js
21221 http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz
21222 silly lockFile 7c7e43dc-les-bigpipe-node-modules-pipe-js tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/pipe.js
21223 silly lockFile 7c7e43dc-les-bigpipe-node-modules-pipe-js tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/pipe.js
21224 silly gunzTarPerm extractEntry package.json
21225 silly lockFile c1778beb-V1-npm-pipe-js-0-2-4-package-tgz tar:///Users/V1/.npm/pipe.js/0.2.4/package.tgz
21226 silly lockFile c1778beb-V1-npm-pipe-js-0-2-4-package-tgz tar:///Users/V1/.npm/pipe.js/0.2.4/package.tgz
21227 silly gunzTarPerm extractEntry .travis.yml
21228 silly gunzTarPerm extractEntry transformers/browserchannel/client.js
21229 silly addNameRange number 2 { name: 'xregexp', range: '>=2.0.0-0 <2.1.0-0', hasData: true }
21230 silly addNameRange versions [ 'xregexp', [ '1.5.0', '1.5.1', '1.5.2', '1.5.3', '2.0.0' ] ]
21231 verbose addNamed [ 'xregexp', '2.0.0' ]
21232 verbose addNamed [ '2.0.0', '2.0.0' ]
21233 silly lockFile 1c10f859-xregexp-2-0-0 xregexp@2.0.0
21234 verbose lock xregexp@2.0.0 /Users/V1/.npm/1c10f859-xregexp-2-0-0.lock
21235 silly lockFile 18fdc1dc-js-org-xregexp-xregexp-2-0-0-tgz https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz
21236 verbose lock https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz /Users/V1/.npm/18fdc1dc-js-org-xregexp-xregexp-2-0-0-tgz.lock
21237 silly gunzTarPerm extractEntry moment/lang/hr.js
21238 silly gunzTarPerm extractEntry moment/lang/mr.js
21239 silly gunzTarPerm extractEntry .npmignore
21240 silly gunzTarPerm extractEntry README.md
21241 info preinstall pipe.js@0.2.4
21242 verbose addRemoteTarball [ 'https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz',
21242 verbose addRemoteTarball '52a63e56ca0b84a7f3a5f3d61872f126ad7a5943' ]
21243 info retry fetch attempt 1 at 11:49:54
21244 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994333-0.31157839205116034/tmp.tgz
21245 verbose readDependencies using package.json deps
21246 verbose readDependencies using package.json deps
21247 silly gunzTarPerm extractEntry transformers/browserchannel/index.js
21248 silly gunzTarPerm extractEntry transformers/browserchannel/server.js
21249 http GET https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz
21250 verbose cache add [ 'fortress@0.0.x', null ]
21251 verbose cache add name=undefined spec="fortress@0.0.x" args=["fortress@0.0.x",null]
21252 verbose parsed url { protocol: null,
21252 verbose parsed url slashes: null,
21252 verbose parsed url auth: null,
21252 verbose parsed url host: null,
21252 verbose parsed url port: null,
21252 verbose parsed url hostname: null,
21252 verbose parsed url hash: null,
21252 verbose parsed url search: null,
21252 verbose parsed url query: null,
21252 verbose parsed url pathname: 'fortress@0.0.x',
21252 verbose parsed url path: 'fortress@0.0.x',
21252 verbose parsed url href: 'fortress@0.0.x' }
21253 verbose cache add name="fortress" spec="0.0.x" args=["fortress","0.0.x"]
21254 verbose parsed url { protocol: null,
21254 verbose parsed url slashes: null,
21254 verbose parsed url auth: null,
21254 verbose parsed url host: null,
21254 verbose parsed url port: null,
21254 verbose parsed url hostname: null,
21254 verbose parsed url hash: null,
21254 verbose parsed url search: null,
21254 verbose parsed url query: null,
21254 verbose parsed url pathname: '0.0.x',
21254 verbose parsed url path: '0.0.x',
21254 verbose parsed url href: '0.0.x' }
21255 verbose addNamed [ 'fortress', '0.0.x' ]
21256 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
21257 silly lockFile c27b4730-fortress-0-0-x fortress@0.0.x
21258 verbose lock fortress@0.0.x /Users/V1/.npm/c27b4730-fortress-0-0-x.lock
21259 verbose cache add [ 'parsifal@0.0.0', null ]
21260 verbose cache add name=undefined spec="parsifal@0.0.0" args=["parsifal@0.0.0",null]
21261 verbose parsed url { protocol: null,
21261 verbose parsed url slashes: null,
21261 verbose parsed url auth: null,
21261 verbose parsed url host: null,
21261 verbose parsed url port: null,
21261 verbose parsed url hostname: null,
21261 verbose parsed url hash: null,
21261 verbose parsed url search: null,
21261 verbose parsed url query: null,
21261 verbose parsed url pathname: 'parsifal@0.0.0',
21261 verbose parsed url path: 'parsifal@0.0.0',
21261 verbose parsed url href: 'parsifal@0.0.0' }
21262 verbose cache add name="parsifal" spec="0.0.0" args=["parsifal","0.0.0"]
21263 verbose parsed url { protocol: null,
21263 verbose parsed url slashes: null,
21263 verbose parsed url auth: null,
21263 verbose parsed url host: null,
21263 verbose parsed url port: null,
21263 verbose parsed url hostname: null,
21263 verbose parsed url hash: null,
21263 verbose parsed url search: null,
21263 verbose parsed url query: null,
21263 verbose parsed url pathname: '0.0.0',
21263 verbose parsed url path: '0.0.0',
21263 verbose parsed url href: '0.0.0' }
21264 verbose addNamed [ 'parsifal', '0.0.0' ]
21265 verbose addNamed [ '0.0.0', '0.0.0' ]
21266 silly lockFile 042110fa-parsifal-0-0-0 parsifal@0.0.0
21267 verbose lock parsifal@0.0.0 /Users/V1/.npm/042110fa-parsifal-0-0-0.lock
21268 silly addNameRange { name: 'fortress', range: '>=0.0.0-0 <0.1.0-0', hasData: false }
21269 silly gunzTarPerm extractEntry moment/lang/hi.js
21270 silly gunzTarPerm extractEntry moment/lang/ms-my.js
21271 silly gunzTarPerm extractEntry index.js
21272 silly gunzTarPerm extractEntry test.js
21273 verbose url raw fortress
21274 verbose url resolving [ 'https://registry.npmjs.org/', './fortress' ]
21275 verbose url resolved https://registry.npmjs.org/fortress
21276 info trying registry request attempt 1 at 11:49:54
21277 http GET https://registry.npmjs.org/fortress
21278 verbose url raw parsifal
21279 verbose url resolving [ 'https://registry.npmjs.org/', './parsifal' ]
21280 verbose url resolved https://registry.npmjs.org/parsifal
21281 info trying registry request attempt 1 at 11:49:54
21282 http GET https://registry.npmjs.org/parsifal
21283 silly gunzTarPerm extractEntry transformers/engine.io/README.md
21284 silly gunzTarPerm extractEntry transformers/engine.io/client.js
21285 silly gunzTarPerm extractEntry moment/lang/he.js
21286 silly gunzTarPerm extractEntry moment/lang/nb.js
21287 silly gunzTarPerm extractEntry .travis.yml
21288 silly gunzTarPerm extractEntry example/index.js
21289 silly gunzTarPerm extractEntry transformers/engine.io/index.js
21290 silly gunzTarPerm extractEntry transformers/engine.io/library.js
21291 silly gunzTarPerm extractEntry moment/lang/gl.js
21292 silly gunzTarPerm extractEntry moment/lang/ne.js
21293 silly gunzTarPerm extractEntry transformers/engine.io/server.js
21294 silly gunzTarPerm extractEntry moment/lang/fr.js
21295 silly gunzTarPerm extractEntry moment/lang/nl.js
21296 silly gunzTarPerm extractEntry transformers/engine.io/globalify.sh
21297 silly gunzTarPerm extractEntry transformers/engine.io/patches/.keep
21298 silly gunzTarPerm extractEntry transformers/engine.io/update.sh
21299 silly gunzTarPerm extractEntry transformers/faye/client.js
21300 silly gunzTarPerm extractEntry moment/lang/fr-ca.js
21301 silly gunzTarPerm extractEntry moment/lang/nn.js
21302 silly gunzTarPerm extractEntry transformers/faye/index.js
21303 silly gunzTarPerm extractEntry transformers/faye/server.js
21304 http 200 https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz
21305 silly gunzTarPerm extractEntry moment/lang/fo.js
21306 silly gunzTarPerm extractEntry moment/lang/pl.js
21307 silly gunzTarPerm extractEntry transformers/socket.io/client.js
21308 silly gunzTarPerm extractEntry transformers/socket.io/index.js
21309 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994294-0.0271371693816036/tmp.tgz
21310 silly lockFile a73cb52a-r-Users-V1-npm-ncp-0-4-2-package tar:///Users/V1/.npm/ncp/0.4.2/package
21311 verbose lock tar:///Users/V1/.npm/ncp/0.4.2/package /Users/V1/.npm/a73cb52a-r-Users-V1-npm-ncp-0-4-2-package.lock
21312 silly lockFile 242a4f9b-94294-0-0271371693816036-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994294-0.0271371693816036/tmp.tgz
21313 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994294-0.0271371693816036/tmp.tgz /Users/V1/.npm/242a4f9b-94294-0-0271371693816036-tmp-tgz.lock
21314 silly lockFile 0a8dcebe-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine/node_modules/extendable
21315 silly lockFile 0a8dcebe-redefine-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine/node_modules/extendable
21316 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
21317 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
21318 silly gunzTarPerm modes [ '755', '644' ]
21319 info preinstall extendable@0.0.6
21320 silly gunzTarPerm extractEntry package.json
21321 silly gunzTarPerm extractEntry transformers/socket.io/server.js
21322 silly gunzTarPerm extractEntry transformers/sockjs/README.md
21323 silly gunzTarPerm extractEntry moment/lang/fi.js
21324 silly gunzTarPerm extractEntry moment/lang/pt-br.js
21325 verbose readDependencies using package.json deps
21326 verbose readDependencies using package.json deps
21327 silly resolved []
21328 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine/node_modules/extendable
21329 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine/node_modules/extendable
21330 verbose linkStuff [ false,
21330 verbose linkStuff false,
21330 verbose linkStuff false,
21330 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine/node_modules' ]
21331 info linkStuff extendable@0.0.6
21332 verbose linkBins extendable@0.0.6
21333 verbose linkMans extendable@0.0.6
21334 verbose rebuildBundles extendable@0.0.6
21335 silly gunzTarPerm extractEntry .npmignore
21336 silly gunzTarPerm extractEntry README.md
21337 info install extendable@0.0.6
21338 info postinstall extendable@0.0.6
21339 http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz
21340 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine
21341 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules/predefine
21342 verbose linkStuff [ false,
21342 verbose linkStuff false,
21342 verbose linkStuff false,
21342 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing/node_modules' ]
21343 info linkStuff predefine@0.1.1
21344 verbose linkBins predefine@0.1.1
21345 verbose linkMans predefine@0.1.1
21346 verbose rebuildBundles predefine@0.1.1
21347 silly lockFile f9f82307-rs-V1-npm-minimist-0-0-8-package tar:///Users/V1/.npm/minimist/0.0.8/package
21348 silly lockFile f9f82307-rs-V1-npm-minimist-0-0-8-package tar:///Users/V1/.npm/minimist/0.0.8/package
21349 verbose rebuildBundles [ 'extendable' ]
21350 info install predefine@0.1.1
21351 silly lockFile 821ba83f-94127-0-5849956644233316-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994127-0.5849956644233316/tmp.tgz
21352 silly lockFile 821ba83f-94127-0-5849956644233316-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994127-0.5849956644233316/tmp.tgz
21353 info postinstall predefine@0.1.1
21354 silly gunzTarPerm extractEntry .travis.yml
21355 silly gunzTarPerm extractEntry bin/ncp
21356 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing
21357 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/fusing
21358 verbose linkStuff [ false,
21358 verbose linkStuff false,
21358 verbose linkStuff false,
21358 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules' ]
21359 info linkStuff fusing@0.2.1
21360 verbose linkBins fusing@0.2.1
21361 verbose linkMans fusing@0.2.1
21362 verbose rebuildBundles fusing@0.2.1
21363 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994320-0.5633956156671047/tmp.tgz
21364 silly lockFile 3e30a905-sers-V1-npm-mkdirp-0-5-0-package tar:///Users/V1/.npm/mkdirp/0.5.0/package
21365 verbose lock tar:///Users/V1/.npm/mkdirp/0.5.0/package /Users/V1/.npm/3e30a905-sers-V1-npm-mkdirp-0-5-0-package.lock
21366 silly lockFile a98a602e-94320-0-5633956156671047-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994320-0.5633956156671047/tmp.tgz
21367 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994320-0.5633956156671047/tmp.tgz /Users/V1/.npm/a98a602e-94320-0-5633956156671047-tmp-tgz.lock
21368 verbose rebuildBundles [ 'predefine' ]
21369 info install fusing@0.2.1
21370 silly lockFile f7b98dc7--org-minimist-minimist-0-0-8-tgz https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
21371 silly lockFile f7b98dc7--org-minimist-minimist-0-0-8-tgz https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
21372 silly lockFile 22c6b485-minimist-0-0-8 minimist@0.0.8
21373 silly lockFile 22c6b485-minimist-0-0-8 minimist@0.0.8
21374 silly gunzTarPerm extractEntry moment/lang/fa.js
21375 silly gunzTarPerm extractEntry moment/lang/pt.js
21376 info postinstall fusing@0.2.1
21377 silly gunzTarPerm extractEntry transformers/sockjs/client.js
21378 silly gunzTarPerm extractEntry transformers/sockjs/index.js
21379 silly gunzTarPerm modes [ '755', '644' ]
21380 http 200 https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz
21381 silly gunzTarPerm extractEntry lib/ncp.js
21382 silly gunzTarPerm extractEntry LICENSE.md
21383 http 200 https://registry.npmjs.org/i
21384 silly registry.get cb [ 200,
21384 silly registry.get { date: 'Fri, 09 May 2014 09:49:54 GMT',
21384 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21384 silly registry.get etag: '"4FX3YLSF0R6SMURZDLZFLV057"',
21384 silly registry.get 'content-type': 'application/json',
21384 silly registry.get via: '1.1 varnish',
21384 silly registry.get 'cache-control': 'max-age=1',
21384 silly registry.get 'content-length': '18697',
21384 silly registry.get 'accept-ranges': 'bytes',
21384 silly registry.get age: '74',
21384 silly registry.get 'x-served-by': 'cache-v37-ASH, cache-am70-AMS',
21384 silly registry.get 'x-cache': 'HIT, HIT',
21384 silly registry.get 'x-cache-hits': '1, 1',
21384 silly registry.get 'x-timer': 'S1399576315.357752562,VS0,VS46,VE46,VE52679631',
21384 silly registry.get vary: 'Accept',
21384 silly registry.get 'keep-alive': 'timeout=10, max=50',
21384 silly registry.get connection: 'Keep-Alive' } ]
21385 silly gunzTarPerm extractEntry package.json
21386 silly resolved [ { name: 'minimist',
21386 silly resolved version: '0.0.8',
21386 silly resolved description: 'parse argument options',
21386 silly resolved main: 'index.js',
21386 silly resolved devDependencies: { tape: '~1.0.4', tap: '~0.4.0' },
21386 silly resolved scripts: { test: 'tap test/*.js' },
21386 silly resolved testling: { files: 'test/*.js', browsers: [Object] },
21386 silly resolved repository: { type: 'git', url: 'git://github.com/substack/minimist.git' },
21386 silly resolved homepage: 'https://github.com/substack/minimist',
21386 silly resolved keywords: [ 'argv', 'getopt', 'parser', 'optimist' ],
21386 silly resolved author:
21386 silly resolved { name: 'James Halliday',
21386 silly resolved email: 'mail@substack.net',
21386 silly resolved url: 'http://substack.net' },
21386 silly resolved license: 'MIT',
21386 silly resolved 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',
21386 silly resolved readmeFilename: 'readme.markdown',
21386 silly resolved bugs: { url: 'https://github.com/substack/minimist/issues' },
21386 silly resolved _id: 'minimist@0.0.8',
21386 silly resolved _shasum: '857fcabfc3397d2625b8228262e86aa7a011b05d',
21386 silly resolved _from: 'minimist@0.0.8',
21386 silly resolved _resolved: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz' } ]
21387 info install minimist@0.0.8 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp
21388 info installOne minimist@0.0.8
21389 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp/node_modules/minimist unbuild
21390 http 200 https://registry.npmjs.org/deep-equal
21391 silly registry.get cb [ 200,
21391 silly registry.get { date: 'Fri, 09 May 2014 09:49:55 GMT',
21391 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21391 silly registry.get etag: '"CLQXNVKPJANHXV9ADRG6XGRLX"',
21391 silly registry.get 'content-type': 'application/json',
21391 silly registry.get via: '1.1 varnish',
21391 silly registry.get 'cache-control': 'max-age=1',
21391 silly registry.get 'content-length': '8505',
21391 silly registry.get 'accept-ranges': 'bytes',
21391 silly registry.get age: '7',
21391 silly registry.get 'x-served-by': 'cache-v42-ASH, cache-am76-AMS',
21391 silly registry.get 'x-cache': 'HIT, HIT',
21391 silly registry.get 'x-cache-hits': '2, 1',
21391 silly registry.get 'x-timer': 'S1399576689.693133831,VS0,VS43,VE43,VE52305315',
21391 silly registry.get vary: 'Accept',
21391 silly registry.get 'keep-alive': 'timeout=10, max=50',
21391 silly registry.get connection: 'Keep-Alive' } ]
21392 silly gunzTarPerm extractEntry transformers/sockjs/library.js
21393 silly gunzTarPerm extractEntry transformers/sockjs/server.js
21394 silly gunzTarPerm extractEntry .npmignore
21395 silly gunzTarPerm extractEntry LICENSE
21396 verbose tar unpack /Users/V1/.npm/minimist/0.0.8/package.tgz
21397 silly lockFile 3e2170b3-les-mkdirp-node-modules-minimist tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp/node_modules/minimist
21398 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp/node_modules/minimist /Users/V1/.npm/3e2170b3-les-mkdirp-node-modules-minimist.lock
21399 silly lockFile 9d3ab218-1-npm-minimist-0-0-8-package-tgz tar:///Users/V1/.npm/minimist/0.0.8/package.tgz
21400 verbose lock tar:///Users/V1/.npm/minimist/0.0.8/package.tgz /Users/V1/.npm/9d3ab218-1-npm-minimist-0-0-8-package-tgz.lock
21401 silly gunzTarPerm extractEntry moment/lang/eu.js
21402 silly gunzTarPerm extractEntry moment/lang/ro.js
21403 silly gunzTarPerm modes [ '755', '644' ]
21404 silly addNameRange number 2 { name: 'i', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
21405 silly addNameRange versions [ 'i', [ '0.2.0', '0.3.0', '0.3.1', '0.3.2' ] ]
21406 verbose addNamed [ 'i', '0.3.2' ]
21407 verbose addNamed [ '0.3.2', '0.3.2' ]
21408 silly lockFile 80e1c2cf-i-0-3-2 i@0.3.2
21409 verbose lock i@0.3.2 /Users/V1/.npm/80e1c2cf-i-0-3-2.lock
21410 silly addNameRange number 2 { name: 'deep-equal', range: '*', hasData: true }
21411 silly addNameRange versions [ 'deep-equal',
21411 silly addNameRange [ '0.0.0', '0.1.0', '0.1.1', '0.1.2', '0.2.0', '0.2.1' ] ]
21412 verbose addNamed [ 'deep-equal', '0.2.1' ]
21413 verbose addNamed [ '0.2.1', '0.2.1' ]
21414 silly lockFile 7f4f9825-deep-equal-0-2-1 deep-equal@0.2.1
21415 verbose lock deep-equal@0.2.1 /Users/V1/.npm/7f4f9825-deep-equal-0-2-1.lock
21416 silly gunzTarPerm extractEntry test/ncp-test.js
21417 silly gunzTarPerm extractEntry test/fixtures/src/a
21418 silly gunzTarPerm extractEntry test/fixtures/src/b
21419 silly gunzTarPerm extractEntry test/fixtures/src/c
21420 silly gunzTarPerm extractEntry test/fixtures/src/d
21421 silly gunzTarPerm extractEntry test/fixtures/src/e
21422 silly gunzTarPerm extractEntry test/fixtures/src/f
21423 silly gunzTarPerm extractEntry test/fixtures/src/sub/a
21424 silly gunzTarPerm extractEntry test/fixtures/src/sub/b
21425 silly lockFile 5ca230cd-registry-npmjs-org-i-i-0-3-2-tgz https://registry.npmjs.org/i/-/i-0.3.2.tgz
21426 verbose lock https://registry.npmjs.org/i/-/i-0.3.2.tgz /Users/V1/.npm/5ca230cd-registry-npmjs-org-i-i-0-3-2-tgz.lock
21427 silly gunzTarPerm extractEntry package.json
21428 silly lockFile 8ba70364--deep-equal-deep-equal-0-2-1-tgz https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz
21429 verbose lock https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz /Users/V1/.npm/8ba70364--deep-equal-deep-equal-0-2-1-tgz.lock
21430 silly gunzTarPerm extractEntry index.js
21431 silly gunzTarPerm extractEntry .travis.yml
21432 verbose addRemoteTarball [ 'https://registry.npmjs.org/i/-/i-0.3.2.tgz',
21432 verbose addRemoteTarball 'b2e2d6ef47900bd924e281231ff4c5cc798d9ea8' ]
21433 silly gunzTarPerm extractEntry transformers/sockjs/patches/rto.patch
21434 silly gunzTarPerm extractEntry transformers/sockjs/patches/withcredentials.patch
21435 info retry fetch attempt 1 at 11:49:54
21436 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994465-0.7234406846109778/tmp.tgz
21437 verbose addRemoteTarball [ 'https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz',
21437 verbose addRemoteTarball 'fad7a793224cbf0c3c7786f92ef780e4fc8cc878' ]
21438 http GET https://registry.npmjs.org/i/-/i-0.3.2.tgz
21439 info retry fetch attempt 1 at 11:49:54
21440 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994467-0.9983895421028137/tmp.tgz
21441 silly gunzTarPerm extractEntry LICENSE
21442 silly gunzTarPerm extractEntry index.js
21443 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994333-0.31157839205116034/tmp.tgz
21444 silly lockFile 4dbc370f-ers-V1-npm-xregexp-2-0-0-package tar:///Users/V1/.npm/xregexp/2.0.0/package
21445 verbose lock tar:///Users/V1/.npm/xregexp/2.0.0/package /Users/V1/.npm/4dbc370f-ers-V1-npm-xregexp-2-0-0-package.lock
21446 silly lockFile 2815409a-4333-0-31157839205116034-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994333-0.31157839205116034/tmp.tgz
21447 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994333-0.31157839205116034/tmp.tgz /Users/V1/.npm/2815409a-4333-0-31157839205116034-tmp-tgz.lock
21448 http GET https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz
21449 silly gunzTarPerm modes [ '755', '644' ]
21450 silly gunzTarPerm extractEntry bin/cmd.js
21451 silly gunzTarPerm extractEntry bin/usage.txt
21452 silly gunzTarPerm extractEntry moment/lang/et.js
21453 silly gunzTarPerm extractEntry moment/lang/rs.js
21454 silly gunzTarPerm extractEntry transformers/sockjs/patches/wsonerror.patch
21455 silly gunzTarPerm extractEntry transformers/sockjs/update.sh
21456 silly gunzTarPerm extractEntry package.json
21457 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
21458 silly gunzTarPerm extractEntry .travis.yml
21459 silly gunzTarPerm extractEntry example/parse.js
21460 silly gunzTarPerm extractEntry .npmignore
21461 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
21462 silly gunzTarPerm extractEntry README.md
21463 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
21464 silly gunzTarPerm extractEntry examples/pow.js
21465 silly gunzTarPerm extractEntry readme.markdown
21466 silly gunzTarPerm extractEntry readme.markdown
21467 silly gunzTarPerm extractEntry test/dash.js
21468 silly gunzTarPerm extractEntry transformers/websockets/client.js
21469 silly gunzTarPerm extractEntry transformers/websockets/index.js
21470 silly gunzTarPerm extractEntry xregexp-all.js
21471 silly gunzTarPerm modified mode [ 'xregexp-all.js', 438, 420 ]
21472 silly gunzTarPerm extractEntry MIT-LICENSE.txt
21473 silly gunzTarPerm modified mode [ 'MIT-LICENSE.txt', 438, 420 ]
21474 silly gunzTarPerm extractEntry tests/node-qunit.js
21475 silly gunzTarPerm modified mode [ 'tests/node-qunit.js', 438, 420 ]
21476 silly gunzTarPerm extractEntry tests/tests.js
21477 silly gunzTarPerm modified mode [ 'tests/tests.js', 438, 420 ]
21478 http 200 https://registry.npmjs.org/rimraf
21479 silly registry.get cb [ 200,
21479 silly registry.get { date: 'Fri, 09 May 2014 09:49:55 GMT',
21479 silly registry.get server: 'CouchDB/1.6.0+build.fauxton-91-g5a2864b (Erlang OTP/R14B04)',
21479 silly registry.get etag: '"5W3WXV577LVH5XUHYL029X5R9"',
21479 silly registry.get 'content-type': 'application/json',
21479 silly registry.get via: '1.1 varnish',
21479 silly registry.get 'cache-control': 'max-age=1',
21479 silly registry.get 'content-length': '32294',
21479 silly registry.get 'accept-ranges': 'bytes',
21479 silly registry.get age: '20',
21479 silly registry.get 'x-served-by': 'cache-v42-ASH, cache-am76-AMS',
21479 silly registry.get 'x-cache': 'HIT, HIT',
21479 silly registry.get 'x-cache-hits': '1, 1',
21479 silly registry.get 'x-timer': 'S1399576463.126964808,VS0,VS45,VE135,VE52531919',
21479 silly registry.get vary: 'Accept',
21479 silly registry.get 'keep-alive': 'timeout=10, max=49',
21479 silly registry.get connection: 'Keep-Alive' } ]
21480 silly gunzTarPerm extractEntry moment/lang/es.js
21481 silly gunzTarPerm extractEntry moment/lang/ru.js
21482 silly gunzTarPerm extractEntry test/chmod.js
21483 silly gunzTarPerm extractEntry test/opts_fs_sync.js
21484 silly gunzTarPerm extractEntry test/perm.js
21485 silly gunzTarPerm extractEntry test/perm_sync.js
21486 silly gunzTarPerm extractEntry test/opts_fs.js
21487 silly gunzTarPerm extractEntry test/rel.js
21488 silly gunzTarPerm extractEntry test/return.js
21489 silly gunzTarPerm extractEntry test/return_sync.js
21490 silly gunzTarPerm extractEntry test/root.js
21491 silly gunzTarPerm extractEntry test/sync.js
21492 silly gunzTarPerm extractEntry test/mkdirp.js
21493 silly gunzTarPerm extractEntry test/umask.js
21494 silly gunzTarPerm extractEntry test/clobber.js
21495 silly gunzTarPerm extractEntry test/umask_sync.js
21496 silly gunzTarPerm extractEntry test/race.js
21497 silly gunzTarPerm extractEntry transformers/websockets/server.js
21498 silly gunzTarPerm extractEntry parsers/binary.js
21499 silly addNameRange number 2 { name: 'rimraf', range: '>=2.0.0-0 <3.0.0-0', hasData: true }
21500 silly addNameRange versions [ 'rimraf',
21500 silly addNameRange [ '1.0.0',
21500 silly addNameRange '1.0.1',
21500 silly addNameRange '1.0.2',
21500 silly addNameRange '1.0.4',
21500 silly addNameRange '1.0.5',
21500 silly addNameRange '1.0.6',
21500 silly addNameRange '1.0.7',
21500 silly addNameRange '1.0.8',
21500 silly addNameRange '1.0.9',
21500 silly addNameRange '2.0.0',
21500 silly addNameRange '2.0.1',
21500 silly addNameRange '2.0.2',
21500 silly addNameRange '2.0.3',
21500 silly addNameRange '2.1.0',
21500 silly addNameRange '2.1.1',
21500 silly addNameRange '2.1.2',
21500 silly addNameRange '2.1.3',
21500 silly addNameRange '2.1.4',
21500 silly addNameRange '2.2.0',
21500 silly addNameRange '2.2.1',
21500 silly addNameRange '2.2.2',
21500 silly addNameRange '2.2.3',
21500 silly addNameRange '2.2.4',
21500 silly addNameRange '2.2.5',
21500 silly addNameRange '2.2.6',
21500 silly addNameRange '2.2.8' ] ]
21501 verbose addNamed [ 'rimraf', '2.2.8' ]
21502 verbose addNamed [ '2.2.8', '2.2.8' ]
21503 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
21504 verbose lock rimraf@2.2.8 /Users/V1/.npm/b87241a4-rimraf-2-2-8.lock
21505 silly lockFile c887906a-pmjs-org-rimraf-rimraf-2-2-8-tgz https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz
21506 verbose lock https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz /Users/V1/.npm/c887906a-pmjs-org-rimraf-rimraf-2-2-8-tgz.lock
21507 silly gunzTarPerm extractEntry moment/lang/eo.js
21508 silly gunzTarPerm extractEntry moment/lang/sk.js
21509 verbose addRemoteTarball [ 'https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz',
21509 verbose addRemoteTarball 'e439be2aaee327321952730f99a8929e4fc50582' ]
21510 silly gunzTarPerm extractEntry test/default_bool.js
21511 silly gunzTarPerm extractEntry test/dotted.js
21512 silly gunzTarPerm extractEntry test/long.js
21513 silly gunzTarPerm extractEntry test/parse.js
21514 silly gunzTarPerm extractEntry test/parse_modified.js
21515 silly gunzTarPerm extractEntry test/short.js
21516 silly gunzTarPerm extractEntry test/whitespace.js
21517 info retry fetch attempt 1 at 11:49:54
21518 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994512-0.3387293827254325/tmp.tgz
21519 http 200 https://registry.npmjs.org/load
21520 silly registry.get cb [ 200,
21520 silly registry.get { date: 'Fri, 09 May 2014 09:49:55 GMT',
21520 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21520 silly registry.get etag: '"AHBL665UTMCNDZBJN4HAREEA0"',
21520 silly registry.get 'content-type': 'application/json',
21520 silly registry.get via: '1.1 varnish',
21520 silly registry.get 'cache-control': 'max-age=1',
21520 silly registry.get 'content-length': '10755',
21520 silly registry.get 'accept-ranges': 'bytes',
21520 silly registry.get age: '3603',
21520 silly registry.get 'x-served-by': 'cache-v44-ASH, cache-am72-AMS',
21520 silly registry.get 'x-cache': 'MISS, MISS',
21520 silly registry.get 'x-cache-hits': '0, 0',
21520 silly registry.get 'x-timer': 'S1399625392.246133089,VS0,VS43,VE137,VE3602836',
21520 silly registry.get vary: 'Accept',
21520 silly registry.get 'keep-alive': 'timeout=10, max=49',
21520 silly registry.get connection: 'Keep-Alive' } ]
21521 http GET https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz
21522 silly addNameRange number 2 { name: 'load', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
21523 silly addNameRange versions [ 'load',
21523 silly addNameRange [ '0.0.0',
21523 silly addNameRange '0.0.1',
21523 silly addNameRange '0.0.2',
21523 silly addNameRange '0.0.3',
21523 silly addNameRange '0.1.0',
21523 silly addNameRange '0.1.1',
21523 silly addNameRange '0.1.2',
21523 silly addNameRange '0.1.3',
21523 silly addNameRange '0.1.4',
21523 silly addNameRange '1.0.0',
21523 silly addNameRange '1.0.1' ] ]
21524 verbose addNamed [ 'load', '1.0.1' ]
21525 verbose addNamed [ '1.0.1', '1.0.1' ]
21526 silly lockFile fb72a732-load-1-0-1 load@1.0.1
21527 verbose lock load@1.0.1 /Users/V1/.npm/fb72a732-load-1-0-1.lock
21528 silly lockFile 0f121b0b-ry-npmjs-org-load-load-1-0-1-tgz https://registry.npmjs.org/load/-/load-1.0.1.tgz
21529 verbose lock https://registry.npmjs.org/load/-/load-1.0.1.tgz /Users/V1/.npm/0f121b0b-ry-npmjs-org-load-load-1-0-1-tgz.lock
21530 silly gunzTarPerm extractEntry moment/lang/en-gb.js
21531 silly gunzTarPerm extractEntry moment/lang/sl.js
21532 verbose addRemoteTarball [ 'https://registry.npmjs.org/load/-/load-1.0.1.tgz',
21532 verbose addRemoteTarball '3d7f17573a096a41405761121e53bd2d1fea8b89' ]
21533 info retry fetch attempt 1 at 11:49:54
21534 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994536-0.22087599360384047/tmp.tgz
21535 http GET https://registry.npmjs.org/load/-/load-1.0.1.tgz
21536 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992716-0.6720922822132707/tmp.tgz
21537 silly lockFile bddf8541-a9818a98ctmp-3e57133de2b9package tar:///Users/V1/.npm/tmp_b35a9818a98ctmp_3e57133de2b9package
21538 verbose lock tar:///Users/V1/.npm/tmp_b35a9818a98ctmp_3e57133de2b9package /Users/V1/.npm/bddf8541-a9818a98ctmp-3e57133de2b9package.lock
21539 silly lockFile 4d0ce453-92716-0-6720922822132707-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992716-0.6720922822132707/tmp.tgz
21540 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628992716-0.6720922822132707/tmp.tgz /Users/V1/.npm/4d0ce453-92716-0-6720922822132707-tmp-tgz.lock
21541 silly gunzTarPerm modes [ '755', '644' ]
21542 silly gunzTarPerm extractEntry moment/lang/en-ca.js
21543 silly gunzTarPerm extractEntry
21544 silly gunzTarPerm modified mode [ '', 509, 493 ]
21545 silly gunzTarPerm extractEntry moment/lang/sq.js
21546 http 200 https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz
21547 silly gunzTarPerm extractEntry .gitignore
21548 silly gunzTarPerm modified mode [ '.gitignore', 436, 420 ]
21549 silly gunzTarPerm extractEntry .npmignore
21550 silly gunzTarPerm modified mode [ '.npmignore', 436, 420 ]
21551 silly gunzTarPerm extractEntry .travis.yml
21552 silly gunzTarPerm modified mode [ '.travis.yml', 436, 420 ]
21553 http 200 https://registry.npmjs.org/i/-/i-0.3.2.tgz
21554 http 200 https://registry.npmjs.org/canihaz
21555 silly registry.get cb [ 200,
21555 silly registry.get { date: 'Fri, 09 May 2014 09:49:55 GMT',
21555 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21555 silly registry.get etag: '"28JIQYO35DIBJYQDFD6JR0G89"',
21555 silly registry.get 'content-type': 'application/json',
21555 silly registry.get via: '1.1 varnish',
21555 silly registry.get 'cache-control': 'max-age=1',
21555 silly registry.get 'content-length': '44553',
21555 silly registry.get 'accept-ranges': 'bytes',
21555 silly registry.get age: '0',
21555 silly registry.get 'x-served-by': 'cache-v44-ASH, cache-am70-AMS',
21555 silly registry.get 'x-cache': 'MISS, MISS',
21555 silly registry.get 'x-cache-hits': '0, 0',
21555 silly registry.get 'x-timer': 'S1399628994.891663790,VS0,VS44,VE144,VE186',
21555 silly registry.get vary: 'Accept',
21555 silly registry.get 'keep-alive': 'timeout=10, max=48',
21555 silly registry.get connection: 'Keep-Alive' } ]
21556 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994467-0.9983895421028137/tmp.tgz
21557 silly lockFile 84731018--V1-npm-deep-equal-0-2-1-package tar:///Users/V1/.npm/deep-equal/0.2.1/package
21558 verbose lock tar:///Users/V1/.npm/deep-equal/0.2.1/package /Users/V1/.npm/84731018--V1-npm-deep-equal-0-2-1-package.lock
21559 silly lockFile 1b433465-94467-0-9983895421028137-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994467-0.9983895421028137/tmp.tgz
21560 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994467-0.9983895421028137/tmp.tgz /Users/V1/.npm/1b433465-94467-0-9983895421028137-tmp-tgz.lock
21561 silly gunzTarPerm extractEntry AUTHORS
21562 silly gunzTarPerm modified mode [ 'AUTHORS', 436, 420 ]
21563 silly gunzTarPerm extractEntry CONTRIBUTING.md
21564 silly gunzTarPerm modified mode [ 'CONTRIBUTING.md', 436, 420 ]
21565 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994465-0.7234406846109778/tmp.tgz
21566 silly lockFile fec7c4fd-tar-Users-V1-npm-i-0-3-2-package tar:///Users/V1/.npm/i/0.3.2/package
21567 verbose lock tar:///Users/V1/.npm/i/0.3.2/package /Users/V1/.npm/fec7c4fd-tar-Users-V1-npm-i-0-3-2-package.lock
21568 silly lockFile 96a33d36-94465-0-7234406846109778-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994465-0.7234406846109778/tmp.tgz
21569 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994465-0.7234406846109778/tmp.tgz /Users/V1/.npm/96a33d36-94465-0-7234406846109778-tmp-tgz.lock
21570 silly gunzTarPerm modes [ '755', '644' ]
21571 silly gunzTarPerm extractEntry moment/lang/en-au.js
21572 silly gunzTarPerm extractEntry moment/lang/sv.js
21573 silly gunzTarPerm modes [ '755', '644' ]
21574 silly addNameRange number 2 { name: 'canihaz', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
21575 silly addNameRange versions [ 'canihaz',
21575 silly addNameRange [ '0.0.0',
21575 silly addNameRange '0.0.1',
21575 silly addNameRange '0.0.2',
21575 silly addNameRange '0.0.3',
21575 silly addNameRange '0.0.4',
21575 silly addNameRange '0.0.5',
21575 silly addNameRange '0.0.6',
21575 silly addNameRange '1.0.0',
21575 silly addNameRange '1.0.1' ] ]
21576 verbose addNamed [ 'canihaz', '1.0.1' ]
21577 verbose addNamed [ '1.0.1', '1.0.1' ]
21578 silly lockFile 79790dc5-canihaz-1-0-1 canihaz@1.0.1
21579 verbose lock canihaz@1.0.1 /Users/V1/.npm/79790dc5-canihaz-1-0-1.lock
21580 silly gunzTarPerm extractEntry package.json
21581 silly gunzTarPerm extractEntry LICENSE
21582 silly gunzTarPerm modified mode [ 'LICENSE', 436, 420 ]
21583 silly gunzTarPerm extractEntry Makefile
21584 silly gunzTarPerm modified mode [ 'Makefile', 436, 420 ]
21585 silly lockFile 2637a108-js-org-canihaz-canihaz-1-0-1-tgz https://registry.npmjs.org/canihaz/-/canihaz-1.0.1.tgz
21586 verbose lock https://registry.npmjs.org/canihaz/-/canihaz-1.0.1.tgz /Users/V1/.npm/2637a108-js-org-canihaz-canihaz-1-0-1-tgz.lock
21587 silly gunzTarPerm extractEntry package.json
21588 silly gunzTarPerm extractEntry LICENSE
21589 silly gunzTarPerm extractEntry index.js
21590 verbose addRemoteTarball [ 'https://registry.npmjs.org/canihaz/-/canihaz-1.0.1.tgz',
21590 verbose addRemoteTarball '3fe7c42b5d7f90934c7be34287ef8ca1f166eca3' ]
21591 info retry fetch attempt 1 at 11:49:54
21592 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994583-0.302940753987059/tmp.tgz
21593 silly gunzTarPerm extractEntry .npmignore
21594 silly gunzTarPerm extractEntry README.md
21595 http GET https://registry.npmjs.org/canihaz/-/canihaz-1.0.1.tgz
21596 silly gunzTarPerm extractEntry README.md
21597 silly gunzTarPerm modified mode [ 'README.md', 436, 420 ]
21598 silly gunzTarPerm extractEntry bin/
21599 silly gunzTarPerm modified mode [ 'bin/', 509, 493 ]
21600 silly gunzTarPerm extractEntry moment/lang/el.js
21601 silly gunzTarPerm extractEntry moment/lang/ta.js
21602 silly gunzTarPerm extractEntry .travis.yml
21603 silly gunzTarPerm extractEntry example/cmp.js
21604 silly gunzTarPerm extractEntry LICENSE
21605 silly gunzTarPerm extractEntry .travis.yml
21606 silly gunzTarPerm extractEntry bin/node-gyp-bin/
21607 silly gunzTarPerm modified mode [ 'bin/node-gyp-bin/', 509, 493 ]
21608 silly gunzTarPerm extractEntry bin/node-gyp-bin/node-gyp
21609 silly gunzTarPerm modified mode [ 'bin/node-gyp-bin/node-gyp', 509, 493 ]
21610 silly gunzTarPerm extractEntry lib/is_arguments.js
21611 silly gunzTarPerm extractEntry lib/keys.js
21612 silly gunzTarPerm extractEntry lib/defaults.js
21613 silly gunzTarPerm extractEntry lib/inflect.js
21614 silly gunzTarPerm extractEntry moment/lang/de.js
21615 silly gunzTarPerm extractEntry moment/lang/th.js
21616 silly lockFile 59f5c8d8--bigpipe-node-modules-formidable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/formidable
21617 silly lockFile 59f5c8d8--bigpipe-node-modules-formidable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/formidable
21618 silly lockFile 464d5b5d-pm-formidable-1-0-14-package-tgz tar:///Users/V1/.npm/formidable/1.0.14/package.tgz
21619 silly lockFile 464d5b5d-pm-formidable-1-0-14-package-tgz tar:///Users/V1/.npm/formidable/1.0.14/package.tgz
21620 http 200 https://registry.npmjs.org/fortress
21621 silly registry.get cb [ 200,
21621 silly registry.get { date: 'Fri, 09 May 2014 09:49:55 GMT',
21621 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21621 silly registry.get etag: '"5ZUS4QE97UBIFXRFEA1JF2R0X"',
21621 silly registry.get 'content-type': 'application/json',
21621 silly registry.get via: '1.1 varnish',
21621 silly registry.get 'cache-control': 'max-age=1',
21621 silly registry.get 'content-length': '6192',
21621 silly registry.get 'accept-ranges': 'bytes',
21621 silly registry.get age: '832',
21621 silly registry.get 'x-served-by': 'cache-v44-ASH, cache-am70-AMS',
21621 silly registry.get 'x-cache': 'MISS, MISS',
21621 silly registry.get 'x-cache-hits': '0, 0',
21621 silly registry.get 'x-timer': 'S1399628995.023908138,VS0,VS44,VE118,VE159',
21621 silly registry.get vary: 'Accept',
21621 silly registry.get 'keep-alive': 'timeout=10, max=49',
21621 silly registry.get connection: 'Keep-Alive' } ]
21622 http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz
21623 info preinstall formidable@1.0.14
21624 silly gunzTarPerm extractEntry bin/node-gyp-bin/node-gyp.cmd
21625 silly gunzTarPerm modified mode [ 'bin/node-gyp-bin/node-gyp.cmd', 509, 493 ]
21626 silly gunzTarPerm extractEntry bin/npm
21627 silly gunzTarPerm modified mode [ 'bin/npm', 509, 493 ]
21628 silly gunzTarPerm extractEntry readme.markdown
21629 silly gunzTarPerm extractEntry test/cmp.js
21630 silly gunzTarPerm extractEntry lib/api/attributes.js
21631 silly gunzTarPerm extractEntry lib/api/css.js
21632 http 200 https://registry.npmjs.org/parsifal
21633 silly registry.get cb [ 200,
21633 silly registry.get { date: 'Fri, 09 May 2014 09:49:55 GMT',
21633 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21633 silly registry.get etag: '"E6OW17J7MXQBIGV9IFCGQF89V"',
21633 silly registry.get 'content-type': 'application/json',
21633 silly registry.get via: '1.1 varnish',
21633 silly registry.get 'cache-control': 'max-age=1',
21633 silly registry.get 'content-length': '3934',
21633 silly registry.get 'accept-ranges': 'bytes',
21633 silly registry.get age: '0',
21633 silly registry.get 'x-served-by': 'cache-v44-ASH, cache-am76-AMS',
21633 silly registry.get 'x-cache': 'MISS, MISS',
21633 silly registry.get 'x-cache-hits': '0, 0',
21633 silly registry.get 'x-timer': 'S1399628995.028029203,VS0,VS43,VE129,VE171',
21633 silly registry.get vary: 'Accept',
21633 silly registry.get 'keep-alive': 'timeout=10, max=49',
21633 silly registry.get connection: 'Keep-Alive' } ]
21634 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994512-0.3387293827254325/tmp.tgz
21635 silly lockFile 9034584d-sers-V1-npm-rimraf-2-2-8-package tar:///Users/V1/.npm/rimraf/2.2.8/package
21636 verbose lock tar:///Users/V1/.npm/rimraf/2.2.8/package /Users/V1/.npm/9034584d-sers-V1-npm-rimraf-2-2-8-package.lock
21637 silly lockFile 5b409ca9-94512-0-3387293827254325-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994512-0.3387293827254325/tmp.tgz
21638 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994512-0.3387293827254325/tmp.tgz /Users/V1/.npm/5b409ca9-94512-0-3387293827254325-tmp-tgz.lock
21639 verbose readDependencies using package.json deps
21640 verbose readDependencies using package.json deps
21641 silly resolved []
21642 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/formidable
21643 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/formidable
21644 verbose linkStuff [ false,
21644 verbose linkStuff false,
21644 verbose linkStuff false,
21644 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules' ]
21645 info linkStuff formidable@1.0.14
21646 verbose linkBins formidable@1.0.14
21647 verbose linkMans formidable@1.0.14
21648 verbose rebuildBundles formidable@1.0.14
21649 silly gunzTarPerm extractEntry lib/inflections.js
21650 silly gunzTarPerm extractEntry lib/methods.js
21651 silly gunzTarPerm extractEntry lib/native.js
21652 silly gunzTarPerm extractEntry lib/util.js
21653 silly gunzTarPerm extractEntry test/inflector/cases.js
21654 silly gunzTarPerm extractEntry test/inflector/inflections-test.js
21655 silly gunzTarPerm extractEntry test/inflector/methods-test.js
21656 silly gunzTarPerm extractEntry test/utils/array-test.js
21657 silly gunzTarPerm extractEntry test/utils/string-test.js
21658 silly addNameRange number 2 { name: 'fortress', range: '>=0.0.0-0 <0.1.0-0', hasData: true }
21659 silly addNameRange versions [ 'fortress', [ '0.0.0', '0.0.1' ] ]
21660 verbose addNamed [ 'fortress', '0.0.1' ]
21661 verbose addNamed [ '0.0.1', '0.0.1' ]
21662 silly lockFile 6be2d107-fortress-0-0-1 fortress@0.0.1
21663 verbose lock fortress@0.0.1 /Users/V1/.npm/6be2d107-fortress-0-0-1.lock
21664 info install formidable@1.0.14
21665 silly gunzTarPerm modes [ '755', '644' ]
21666 http 200 https://registry.npmjs.org/load/-/load-1.0.1.tgz
21667 silly gunzTarPerm extractEntry moment/lang/da.js
21668 silly gunzTarPerm extractEntry moment/lang/tl-ph.js
21669 info postinstall formidable@1.0.14
21670 silly lockFile 594ec10c--org-fortress-fortress-0-0-1-tgz https://registry.npmjs.org/fortress/-/fortress-0.0.1.tgz
21671 verbose lock https://registry.npmjs.org/fortress/-/fortress-0.0.1.tgz /Users/V1/.npm/594ec10c--org-fortress-fortress-0-0-1-tgz.lock
21672 silly gunzTarPerm extractEntry bin/npm-cli.js
21673 silly gunzTarPerm modified mode [ 'bin/npm-cli.js', 509, 493 ]
21674 silly gunzTarPerm extractEntry bin/npm.cmd
21675 silly gunzTarPerm modified mode [ 'bin/npm.cmd', 436, 420 ]
21676 verbose addRemoteTarball [ 'https://registry.npmjs.org/fortress/-/fortress-0.0.1.tgz',
21676 verbose addRemoteTarball '7e7969caa98a9cda6486cc1bf9bac125f769ef46' ]
21677 info retry fetch attempt 1 at 11:49:54
21678 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994678-0.4409607972484082/tmp.tgz
21679 silly lockFile df1281e5--org-parsifal-parsifal-0-0-0-tgz https://registry.npmjs.org/parsifal/-/parsifal-0.0.0.tgz
21680 verbose lock https://registry.npmjs.org/parsifal/-/parsifal-0.0.0.tgz /Users/V1/.npm/df1281e5--org-parsifal-parsifal-0-0-0-tgz.lock
21681 silly gunzTarPerm extractEntry package.json
21682 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994536-0.22087599360384047/tmp.tgz
21683 silly lockFile afa3e518--Users-V1-npm-load-1-0-1-package tar:///Users/V1/.npm/load/1.0.1/package
21684 verbose lock tar:///Users/V1/.npm/load/1.0.1/package /Users/V1/.npm/afa3e518--Users-V1-npm-load-1-0-1-package.lock
21685 silly lockFile f951f9f0-4536-0-22087599360384047-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994536-0.22087599360384047/tmp.tgz
21686 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994536-0.22087599360384047/tmp.tgz /Users/V1/.npm/f951f9f0-4536-0-22087599360384047-tmp-tgz.lock
21687 silly lockFile a73cb52a-r-Users-V1-npm-ncp-0-4-2-package tar:///Users/V1/.npm/ncp/0.4.2/package
21688 silly lockFile a73cb52a-r-Users-V1-npm-ncp-0-4-2-package tar:///Users/V1/.npm/ncp/0.4.2/package
21689 http GET https://registry.npmjs.org/fortress/-/fortress-0.0.1.tgz
21690 verbose addRemoteTarball [ 'https://registry.npmjs.org/parsifal/-/parsifal-0.0.0.tgz',
21690 verbose addRemoteTarball '852218c18bfe94a3725ff219e6dacb8c8923202f' ]
21691 silly lockFile 242a4f9b-94294-0-0271371693816036-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994294-0.0271371693816036/tmp.tgz
21692 silly lockFile 242a4f9b-94294-0-0271371693816036-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994294-0.0271371693816036/tmp.tgz
21693 info retry fetch attempt 1 at 11:49:54
21694 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994690-0.8679224646184593/tmp.tgz
21695 silly gunzTarPerm extractEntry lib/api/manipulation.js
21696 silly gunzTarPerm extractEntry lib/api/traversing.js
21697 silly gunzTarPerm modes [ '755', '644' ]
21698 silly gunzTarPerm extractEntry README.md
21699 silly gunzTarPerm extractEntry LICENSE
21700 http GET https://registry.npmjs.org/parsifal/-/parsifal-0.0.0.tgz
21701 silly lockFile b3172d45-stry-npmjs-org-ncp-ncp-0-4-2-tgz https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz
21702 silly lockFile b3172d45-stry-npmjs-org-ncp-ncp-0-4-2-tgz https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz
21703 silly gunzTarPerm extractEntry moment/lang/cy.js
21704 silly gunzTarPerm extractEntry moment/lang/tr.js
21705 silly gunzTarPerm extractEntry package.json
21706 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
21707 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
21708 silly lockFile b48a70bb-ncp-0-4-x ncp@0.4.x
21709 silly lockFile b48a70bb-ncp-0-4-x ncp@0.4.x
21710 silly gunzTarPerm extractEntry CONTRIBUTING.md
21711 silly gunzTarPerm extractEntry test/api.attributes.js
21712 silly gunzTarPerm extractEntry bin.js
21713 silly gunzTarPerm extractEntry rimraf.js
21714 silly gunzTarPerm extractEntry .npmignore
21715 silly gunzTarPerm extractEntry README.md
21716 silly gunzTarPerm extractEntry moment/lang/cv.js
21717 silly gunzTarPerm extractEntry moment/lang/tzm-la.js
21718 silly gunzTarPerm extractEntry AUTHORS
21719 silly gunzTarPerm extractEntry test/test-async.js
21720 silly gunzTarPerm extractEntry index.js
21721 silly gunzTarPerm extractEntry test.js
21722 silly gunzTarPerm extractEntry bin/read-package-json.js
21723 silly gunzTarPerm modified mode [ 'bin/read-package-json.js', 509, 493 ]
21724 silly gunzTarPerm extractEntry cli.js
21725 silly gunzTarPerm modified mode [ 'cli.js', 509, 493 ]
21726 silly lockFile 3e2170b3-les-mkdirp-node-modules-minimist tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp/node_modules/minimist
21727 silly lockFile 3e2170b3-les-mkdirp-node-modules-minimist tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp/node_modules/minimist
21728 silly gunzTarPerm extractEntry .travis.yml
21729 silly gunzTarPerm extractEntry CHANGELOG.md
21730 silly lockFile 9d3ab218-1-npm-minimist-0-0-8-package-tgz tar:///Users/V1/.npm/minimist/0.0.8/package.tgz
21731 silly lockFile 9d3ab218-1-npm-minimist-0-0-8-package-tgz tar:///Users/V1/.npm/minimist/0.0.8/package.tgz
21732 silly gunzTarPerm extractEntry test/test-sync.js
21733 silly gunzTarPerm extractEntry test/run.sh
21734 silly gunzTarPerm extractEntry moment/lang/cs.js
21735 silly gunzTarPerm extractEntry moment/lang/tzm.js
21736 info preinstall minimist@0.0.8
21737 verbose readDependencies using package.json deps
21738 verbose readDependencies using package.json deps
21739 silly resolved []
21740 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp/node_modules/minimist
21741 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp/node_modules/minimist
21742 verbose linkStuff [ false,
21742 verbose linkStuff false,
21742 verbose linkStuff false,
21742 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp/node_modules' ]
21743 info linkStuff minimist@0.0.8
21744 verbose linkBins minimist@0.0.8
21745 verbose linkMans minimist@0.0.8
21746 verbose rebuildBundles minimist@0.0.8
21747 silly gunzTarPerm extractEntry test/index.js
21748 silly gunzTarPerm extractEntry test/fixtures/file.js
21749 info install minimist@0.0.8
21750 silly gunzTarPerm extractEntry test/setup.sh
21751 info postinstall minimist@0.0.8
21752 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp
21753 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/mkdirp
21754 verbose linkStuff [ false,
21754 verbose linkStuff false,
21754 verbose linkStuff false,
21754 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules' ]
21755 info linkStuff mkdirp@0.4.2
21756 verbose linkBins mkdirp@0.4.2
21757 verbose link bins [ { mkdirp: 'bin/cmd.js' },
21757 verbose link bins '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/.bin',
21757 verbose link bins false ]
21758 verbose linkMans mkdirp@0.4.2
21759 verbose rebuildBundles mkdirp@0.4.2
21760 silly gunzTarPerm extractEntry configure
21761 silly gunzTarPerm modified mode [ 'configure', 509, 493 ]
21762 silly gunzTarPerm extractEntry doc/
21763 silly gunzTarPerm modified mode [ 'doc/', 509, 493 ]
21764 verbose rebuildBundles [ 'minimist' ]
21765 silly gunzTarPerm extractEntry moment/lang/ca.js
21766 silly gunzTarPerm extractEntry moment/lang/uk.js
21767 info install mkdirp@0.4.2
21768 silly gunzTarPerm extractEntry test/fixtures/file2.js
21769 silly gunzTarPerm extractEntry test/fixtures/file3.js
21770 info postinstall mkdirp@0.4.2
21771 silly gunzTarPerm extractEntry parsers/ejson.js
21772 silly gunzTarPerm extractEntry parsers/json.js
21773 silly lockFile 84731018--V1-npm-deep-equal-0-2-1-package tar:///Users/V1/.npm/deep-equal/0.2.1/package
21774 silly lockFile 84731018--V1-npm-deep-equal-0-2-1-package tar:///Users/V1/.npm/deep-equal/0.2.1/package
21775 silly lockFile 1b433465-94467-0-9983895421028137-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994467-0.9983895421028137/tmp.tgz
21776 silly lockFile 1b433465-94467-0-9983895421028137-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994467-0.9983895421028137/tmp.tgz
21777 silly gunzTarPerm extractEntry test/fixtures/globals.js
21778 silly gunzTarPerm extractEntry moment/lang/bs.js
21779 silly gunzTarPerm extractEntry moment/lang/uz.js
21780 silly lockFile 8ba70364--deep-equal-deep-equal-0-2-1-tgz https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz
21781 silly lockFile 8ba70364--deep-equal-deep-equal-0-2-1-tgz https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz
21782 silly lockFile 7f4f9825-deep-equal-0-2-1 deep-equal@0.2.1
21783 silly lockFile 7f4f9825-deep-equal-0-2-1 deep-equal@0.2.1
21784 silly lockFile 2aa4e33c-deep-equal deep-equal@*
21785 silly lockFile 2aa4e33c-deep-equal deep-equal@*
21786 silly gunzTarPerm extractEntry parsers/jsonh.js
21787 silly gunzTarPerm extractEntry doc/api/
21788 silly gunzTarPerm modified mode [ 'doc/api/', 509, 493 ]
21789 silly gunzTarPerm extractEntry doc/api/npm-bin.md
21790 silly gunzTarPerm modified mode [ 'doc/api/npm-bin.md', 436, 420 ]
21791 silly gunzTarPerm extractEntry doc/api/npm-bugs.md
21792 silly gunzTarPerm modified mode [ 'doc/api/npm-bugs.md', 436, 420 ]
21793 silly gunzTarPerm extractEntry moment/lang/br.js
21794 silly gunzTarPerm extractEntry moment/lang/vn.js
21795 silly gunzTarPerm extractEntry doc/api/npm-commands.md
21796 silly gunzTarPerm modified mode [ 'doc/api/npm-commands.md', 436, 420 ]
21797 silly gunzTarPerm extractEntry doc/api/npm-config.md
21798 silly gunzTarPerm modified mode [ 'doc/api/npm-config.md', 436, 420 ]
21799 silly gunzTarPerm extractEntry doc/api/npm-deprecate.md
21800 silly gunzTarPerm modified mode [ 'doc/api/npm-deprecate.md', 436, 420 ]
21801 silly gunzTarPerm extractEntry doc/api/npm-docs.md
21802 silly gunzTarPerm modified mode [ 'doc/api/npm-docs.md', 436, 420 ]
21803 silly gunzTarPerm extractEntry doc/api/npm-edit.md
21804 silly gunzTarPerm modified mode [ 'doc/api/npm-edit.md', 436, 420 ]
21805 silly gunzTarPerm extractEntry moment/lang/bg.js
21806 silly gunzTarPerm extractEntry moment/lang/zh-cn.js
21807 silly gunzTarPerm extractEntry doc/api/npm-explore.md
21808 silly gunzTarPerm modified mode [ 'doc/api/npm-explore.md', 436, 420 ]
21809 silly gunzTarPerm extractEntry doc/api/npm-help-search.md
21810 silly gunzTarPerm modified mode [ 'doc/api/npm-help-search.md', 436, 420 ]
21811 http 200 https://registry.npmjs.org/canihaz/-/canihaz-1.0.1.tgz
21812 silly lockFile 3e30a905-sers-V1-npm-mkdirp-0-5-0-package tar:///Users/V1/.npm/mkdirp/0.5.0/package
21813 silly lockFile 3e30a905-sers-V1-npm-mkdirp-0-5-0-package tar:///Users/V1/.npm/mkdirp/0.5.0/package
21814 silly gunzTarPerm extractEntry moment/lang/ar.js
21815 silly gunzTarPerm extractEntry moment/lang/zh-tw.js
21816 silly gunzTarPerm extractEntry doc/api/npm-init.md
21817 silly gunzTarPerm modified mode [ 'doc/api/npm-init.md', 436, 420 ]
21818 silly gunzTarPerm extractEntry doc/api/npm-install.md
21819 silly gunzTarPerm modified mode [ 'doc/api/npm-install.md', 436, 420 ]
21820 silly lockFile a98a602e-94320-0-5633956156671047-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994320-0.5633956156671047/tmp.tgz
21821 silly lockFile a98a602e-94320-0-5633956156671047-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994320-0.5633956156671047/tmp.tgz
21822 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994583-0.302940753987059/tmp.tgz
21823 silly lockFile 66f2a68b-ers-V1-npm-canihaz-1-0-1-package tar:///Users/V1/.npm/canihaz/1.0.1/package
21824 verbose lock tar:///Users/V1/.npm/canihaz/1.0.1/package /Users/V1/.npm/66f2a68b-ers-V1-npm-canihaz-1-0-1-package.lock
21825 silly lockFile 86c58065-994583-0-302940753987059-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994583-0.302940753987059/tmp.tgz
21826 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994583-0.302940753987059/tmp.tgz /Users/V1/.npm/86c58065-994583-0-302940753987059-tmp-tgz.lock
21827 silly lockFile f26a2ada-pmjs-org-mkdirp-mkdirp-0-5-0-tgz https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz
21828 silly lockFile f26a2ada-pmjs-org-mkdirp-mkdirp-0-5-0-tgz https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz
21829 silly lockFile bf9ae38d-mkdirp-0-5-0 mkdirp@0.5.0
21830 silly lockFile bf9ae38d-mkdirp-0-5-0 mkdirp@0.5.0
21831 silly gunzTarPerm modes [ '755', '644' ]
21832 silly lockFile 0cdf6d66-mkdirp-0-x-x mkdirp@0.x.x
21833 silly lockFile 0cdf6d66-mkdirp-0-x-x mkdirp@0.x.x
21834 silly gunzTarPerm extractEntry doc/api/npm-link.md
21835 silly gunzTarPerm modified mode [ 'doc/api/npm-link.md', 436, 420 ]
21836 silly gunzTarPerm extractEntry doc/api/npm-load.md
21837 silly gunzTarPerm modified mode [ 'doc/api/npm-load.md', 436, 420 ]
21838 silly gunzTarPerm extractEntry moment/lang/ka.js
21839 silly gunzTarPerm extractEntry moment/min/langs.js
21840 silly gunzTarPerm extractEntry package.json
21841 silly lockFile 9034584d-sers-V1-npm-rimraf-2-2-8-package tar:///Users/V1/.npm/rimraf/2.2.8/package
21842 silly lockFile 9034584d-sers-V1-npm-rimraf-2-2-8-package tar:///Users/V1/.npm/rimraf/2.2.8/package
21843 silly lockFile 5b409ca9-94512-0-3387293827254325-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994512-0.3387293827254325/tmp.tgz
21844 silly lockFile 5b409ca9-94512-0-3387293827254325-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994512-0.3387293827254325/tmp.tgz
21845 silly gunzTarPerm extractEntry .npmignore
21846 silly gunzTarPerm extractEntry README.md
21847 silly lockFile c887906a-pmjs-org-rimraf-rimraf-2-2-8-tgz https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz
21848 silly lockFile c887906a-pmjs-org-rimraf-rimraf-2-2-8-tgz https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz
21849 silly gunzTarPerm extractEntry doc/api/npm-ls.md
21850 silly gunzTarPerm modified mode [ 'doc/api/npm-ls.md', 436, 420 ]
21851 silly gunzTarPerm extractEntry doc/api/npm-outdated.md
21852 silly gunzTarPerm modified mode [ 'doc/api/npm-outdated.md', 436, 420 ]
21853 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
21854 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
21855 silly lockFile 7220c273-rimraf-2-x-x rimraf@2.x.x
21856 silly lockFile 7220c273-rimraf-2-x-x rimraf@2.x.x
21857 silly gunzTarPerm extractEntry moment/min/langs.min.js
21858 silly gunzTarPerm extractEntry moment/min/moment-with-langs.js
21859 silly gunzTarPerm extractEntry index.js
21860 silly gunzTarPerm extractEntry .travis.yml
21861 silly gunzTarPerm extractEntry Makefile
21862 silly gunzTarPerm extractEntry test/package.json
21863 silly gunzTarPerm extractEntry test/canihaz.test.js
21864 silly gunzTarPerm extractEntry test/mocha.opts
21865 silly gunzTarPerm extractEntry doc/api/npm-owner.md
21866 silly gunzTarPerm modified mode [ 'doc/api/npm-owner.md', 436, 420 ]
21867 silly gunzTarPerm extractEntry doc/api/npm-pack.md
21868 silly gunzTarPerm modified mode [ 'doc/api/npm-pack.md', 436, 420 ]
21869 silly lockFile afa3e518--Users-V1-npm-load-1-0-1-package tar:///Users/V1/.npm/load/1.0.1/package
21870 silly lockFile afa3e518--Users-V1-npm-load-1-0-1-package tar:///Users/V1/.npm/load/1.0.1/package
21871 silly lockFile f951f9f0-4536-0-22087599360384047-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994536-0.22087599360384047/tmp.tgz
21872 silly lockFile f951f9f0-4536-0-22087599360384047-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994536-0.22087599360384047/tmp.tgz
21873 silly gunzTarPerm extractEntry moment/min/moment-with-langs.min.js
21874 silly gunzTarPerm extractEntry doc/api/npm-prefix.md
21875 silly gunzTarPerm modified mode [ 'doc/api/npm-prefix.md', 436, 420 ]
21876 silly gunzTarPerm extractEntry doc/api/npm-prune.md
21877 silly gunzTarPerm modified mode [ 'doc/api/npm-prune.md', 436, 420 ]
21878 silly lockFile 0f121b0b-ry-npmjs-org-load-load-1-0-1-tgz https://registry.npmjs.org/load/-/load-1.0.1.tgz
21879 silly lockFile 0f121b0b-ry-npmjs-org-load-load-1-0-1-tgz https://registry.npmjs.org/load/-/load-1.0.1.tgz
21880 silly lockFile fb72a732-load-1-0-1 load@1.0.1
21881 silly lockFile fb72a732-load-1-0-1 load@1.0.1
21882 silly lockFile 8f7127d2-load-1-0-x load@1.0.x
21883 silly lockFile 8f7127d2-load-1-0-x load@1.0.x
21884 silly gunzTarPerm extractEntry doc/api/npm-publish.md
21885 silly gunzTarPerm modified mode [ 'doc/api/npm-publish.md', 436, 420 ]
21886 silly gunzTarPerm extractEntry doc/api/npm-rebuild.md
21887 silly gunzTarPerm modified mode [ 'doc/api/npm-rebuild.md', 436, 420 ]
21888 silly resolved [ { name: 'load',
21888 silly resolved version: '1.0.1',
21888 silly resolved description: 'Load plain JavaScript files that don\'t use module patterns directly in node.',
21888 silly resolved main: 'index.js',
21888 silly resolved scripts: { test: 'node test/index.js' },
21888 silly resolved repository: { type: 'git', url: 'git://github.com/3rd-Eden/load.git' },
21888 silly resolved keywords:
21888 silly resolved [ 'load',
21888 silly resolved 'require',
21888 silly resolved 'module',
21888 silly resolved 'import',
21888 silly resolved 'export',
21888 silly resolved 'amd',
21888 silly resolved 'browser',
21888 silly resolved 'exports' ],
21888 silly resolved author: { name: 'Arnout Kazemier' },
21888 silly resolved license: 'MIT',
21888 silly resolved devDependencies: { 'pre-commit': '0.0.x' },
21888 silly resolved readme: '# load\n\n[![Build Status](https://travis-ci.org/3rd-Eden/load.png)](https://travis-ci.org/3rd-Eden/load)\n[![NPM version](https://badge.fury.io/js/load.png)](http://badge.fury.io/js/load)\n\nBecause fuck dedicated module patterns, module loaders, compilers and other kind\nof pointless code bloat that requires me to wrap my client-side JavaScript for\nserver usage.\n\nPeople need to understand that the Node.js module system is nothing more then a\n`vm` that reads our a pre-defined `module` variable. We don\'t need to be stuck\nin this pattern, we can just get all the globals that are introduced while we\nload the script and tada, we\'re running the snippet on the server.\n\n## Installation\n\nLoad is available in `npm` so you can install it by running:\n\n```\nnpm --save load\n```\n\n## API\n\n```js\nvar load = require(\'load\');\n\n// file.js contents:\n//\n// function test() { return \'test\' };\n//\n\n// load returns all the introduced globals as an object, so specify the name of\n// function you need in order to call it.\nvar test = load(\'file.js\').test;\n\n// file2.js contents:\n//\n// function test() {}\n// function test1() {}\n//\n\nvar library = load(\'file2\');\nconsole.log(library.test);\nconsole.log(library.test1);\n\nvar moo = load.compiler(\'function cow() { console.log("moo") }\', \'moo.js\');\nmoo(); // console.log(\'moo\');\n\n// And that it.\n```\n\n## License\n\nMIT\n',
21888 silly resolved readmeFilename: 'README.md',
21888 silly resolved bugs: { url: 'https://github.com/3rd-Eden/load/issues' },
21888 silly resolved homepage: 'https://github.com/3rd-Eden/load',
21888 silly resolved _id: 'load@1.0.1',
21888 silly resolved _shasum: '3d7f17573a096a41405761121e53bd2d1fea8b89',
21888 silly resolved _from: 'load@1.0.x',
21888 silly resolved _resolved: 'https://registry.npmjs.org/load/-/load-1.0.1.tgz' } ]
21889 info install load@1.0.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream
21890 info installOne load@1.0.1
21891 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream/node_modules/load unbuild
21892 silly gunzTarPerm extractEntry moment/min/moment.min.js
21893 verbose tar unpack /Users/V1/.npm/load/1.0.1/package.tgz
21894 silly lockFile bfbc8c22-ules-substream-node-modules-load tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream/node_modules/load
21895 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream/node_modules/load /Users/V1/.npm/bfbc8c22-ules-substream-node-modules-load.lock
21896 silly lockFile a398342c-rs-V1-npm-load-1-0-1-package-tgz tar:///Users/V1/.npm/load/1.0.1/package.tgz
21897 verbose lock tar:///Users/V1/.npm/load/1.0.1/package.tgz /Users/V1/.npm/a398342c-rs-V1-npm-load-1-0-1-package-tgz.lock
21898 silly gunzTarPerm extractEntry doc/api/npm-repo.md
21899 silly gunzTarPerm modified mode [ 'doc/api/npm-repo.md', 436, 420 ]
21900 silly gunzTarPerm extractEntry doc/api/npm-restart.md
21901 silly gunzTarPerm modified mode [ 'doc/api/npm-restart.md', 436, 420 ]
21902 silly gunzTarPerm extractEntry doc/api/npm-root.md
21903 silly gunzTarPerm modified mode [ 'doc/api/npm-root.md', 436, 420 ]
21904 silly gunzTarPerm modes [ '755', '644' ]
21905 silly gunzTarPerm extractEntry doc/api/npm-run-script.md
21906 silly gunzTarPerm modified mode [ 'doc/api/npm-run-script.md', 436, 420 ]
21907 silly gunzTarPerm extractEntry doc/api/npm-search.md
21908 silly gunzTarPerm modified mode [ 'doc/api/npm-search.md', 436, 420 ]
21909 silly gunzTarPerm extractEntry doc/api/npm-shrinkwrap.md
21910 silly gunzTarPerm modified mode [ 'doc/api/npm-shrinkwrap.md', 436, 420 ]
21911 silly gunzTarPerm extractEntry package.json
21912 silly gunzTarPerm extractEntry moment/min/tests.js
21913 silly gunzTarPerm extractEntry .npmignore
21914 silly gunzTarPerm extractEntry README.md
21915 silly gunzTarPerm extractEntry doc/api/npm-start.md
21916 silly gunzTarPerm modified mode [ 'doc/api/npm-start.md', 436, 420 ]
21917 silly gunzTarPerm extractEntry doc/api/npm-stop.md
21918 silly gunzTarPerm modified mode [ 'doc/api/npm-stop.md', 436, 420 ]
21919 silly gunzTarPerm extractEntry test/api.manipulation.js
21920 silly gunzTarPerm extractEntry test/api.traversing.js
21921 silly gunzTarPerm extractEntry doc/api/npm-submodule.md
21922 silly gunzTarPerm modified mode [ 'doc/api/npm-submodule.md', 436, 420 ]
21923 silly gunzTarPerm extractEntry doc/api/npm-tag.md
21924 silly gunzTarPerm modified mode [ 'doc/api/npm-tag.md', 436, 420 ]
21925 silly gunzTarPerm extractEntry index.js
21926 silly gunzTarPerm extractEntry test.js
21927 silly gunzTarPerm extractEntry test/api.utils.js
21928 silly gunzTarPerm extractEntry test/cheerio.js
21929 silly gunzTarPerm extractEntry .travis.yml
21930 silly gunzTarPerm extractEntry CHANGELOG.md
21931 silly gunzTarPerm extractEntry doc/api/npm-test.md
21932 silly gunzTarPerm modified mode [ 'doc/api/npm-test.md', 436, 420 ]
21933 silly gunzTarPerm extractEntry doc/api/npm-uninstall.md
21934 silly gunzTarPerm modified mode [ 'doc/api/npm-uninstall.md', 436, 420 ]
21935 silly gunzTarPerm extractEntry doc/api/npm-unpublish.md
21936 silly gunzTarPerm modified mode [ 'doc/api/npm-unpublish.md', 436, 420 ]
21937 silly gunzTarPerm extractEntry doc/api/npm-update.md
21938 silly gunzTarPerm modified mode [ 'doc/api/npm-update.md', 436, 420 ]
21939 silly gunzTarPerm extractEntry test/index.js
21940 silly gunzTarPerm extractEntry test/fixtures/file.js
21941 http 200 https://registry.npmjs.org/parsifal/-/parsifal-0.0.0.tgz
21942 silly gunzTarPerm extractEntry test/api.css.js
21943 silly gunzTarPerm extractEntry test/utilities.js
21944 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994690-0.8679224646184593/tmp.tgz
21945 silly lockFile 1a85f348-rs-V1-npm-parsifal-0-0-0-package tar:///Users/V1/.npm/parsifal/0.0.0/package
21946 verbose lock tar:///Users/V1/.npm/parsifal/0.0.0/package /Users/V1/.npm/1a85f348-rs-V1-npm-parsifal-0-0-0-package.lock
21947 silly lockFile 88a4870a-94690-0-8679224646184593-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994690-0.8679224646184593/tmp.tgz
21948 verbose lock tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994690-0.8679224646184593/tmp.tgz /Users/V1/.npm/88a4870a-94690-0-8679224646184593-tmp-tgz.lock
21949 silly gunzTarPerm modes [ '755', '644' ]
21950 silly gunzTarPerm extractEntry doc/api/npm-version.md
21951 silly gunzTarPerm modified mode [ 'doc/api/npm-version.md', 436, 420 ]
21952 silly gunzTarPerm extractEntry doc/api/npm-view.md
21953 silly gunzTarPerm modified mode [ 'doc/api/npm-view.md', 436, 420 ]
21954 silly gunzTarPerm extractEntry test/fixtures/file2.js
21955 silly gunzTarPerm extractEntry test/fixtures/file3.js
21956 silly gunzTarPerm extractEntry package.json
21957 silly gunzTarPerm extractEntry test/parse.js
21958 silly gunzTarPerm extractEntry test/render.js
21959 silly lockFile fec7c4fd-tar-Users-V1-npm-i-0-3-2-package tar:///Users/V1/.npm/i/0.3.2/package
21960 silly lockFile fec7c4fd-tar-Users-V1-npm-i-0-3-2-package tar:///Users/V1/.npm/i/0.3.2/package
21961 silly lockFile 96a33d36-94465-0-7234406846109778-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994465-0.7234406846109778/tmp.tgz
21962 silly lockFile 96a33d36-94465-0-7234406846109778-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994465-0.7234406846109778/tmp.tgz
21963 silly gunzTarPerm extractEntry README.md
21964 silly gunzTarPerm extractEntry index.js
21965 silly gunzTarPerm extractEntry doc/api/npm-whoami.md
21966 silly gunzTarPerm modified mode [ 'doc/api/npm-whoami.md', 436, 420 ]
21967 silly gunzTarPerm extractEntry doc/api/npm.md
21968 silly gunzTarPerm modified mode [ 'doc/api/npm.md', 436, 420 ]
21969 silly lockFile 5ca230cd-registry-npmjs-org-i-i-0-3-2-tgz https://registry.npmjs.org/i/-/i-0.3.2.tgz
21970 silly lockFile 5ca230cd-registry-npmjs-org-i-i-0-3-2-tgz https://registry.npmjs.org/i/-/i-0.3.2.tgz
21971 silly gunzTarPerm extractEntry test/fixtures/globals.js
21972 silly lockFile 80e1c2cf-i-0-3-2 i@0.3.2
21973 silly lockFile 80e1c2cf-i-0-3-2 i@0.3.2
21974 silly lockFile 2b556e57-i-0-3-x i@0.3.x
21975 silly lockFile 2b556e57-i-0-3-x i@0.3.x
21976 silly gunzTarPerm extractEntry test/xml.js
21977 silly gunzTarPerm extractEntry test/fixtures.js
21978 silly gunzTarPerm extractEntry doc/cli/
21979 silly gunzTarPerm modified mode [ 'doc/cli/', 509, 493 ]
21980 silly gunzTarPerm extractEntry doc/cli/npm-adduser.md
21981 silly gunzTarPerm modified mode [ 'doc/cli/npm-adduser.md', 436, 420 ]
21982 silly resolved [ { name: 'ncp',
21982 silly resolved version: '0.4.2',
21982 silly resolved author: { name: 'AvianFlu', email: 'charlie@charlieistheman.com' },
21982 silly resolved description: 'Asynchronous recursive file copy utility.',
21982 silly resolved bin: { ncp: './bin/ncp' },
21982 silly resolved devDependencies: { vows: '0.6.x', rimraf: '1.0.x', 'read-dir-files': '0.0.x' },
21982 silly resolved main: './lib/ncp.js',
21982 silly resolved repository: { type: 'git', url: 'https://github.com/AvianFlu/ncp.git' },
21982 silly resolved keywords: [ 'cli', 'copy' ],
21982 silly resolved license: 'MIT',
21982 silly resolved engine: { node: '>=0.4' },
21982 silly resolved scripts: { test: 'vows --isolate --spec' },
21982 silly resolved readme: '# ncp - Asynchronous recursive file & directory copying\n\n[![Build Status](https://secure.travis-ci.org/AvianFlu/ncp.png)](http://travis-ci.org/AvianFlu/ncp)\n\nThink `cp -r`, but pure node, and asynchronous. `ncp` can be used both as a CLI tool and programmatically.\n\n## Command Line usage\n\nUsage is simple: `ncp [source] [dest] [--limit=concurrency limit]\n[--filter=filter] --stopOnErr`\n\nThe \'filter\' is a Regular Expression - matched files will be copied.\n\nThe \'concurrency limit\' is an integer that represents how many pending file system requests `ncp` has at a time.\n\n\'stopOnErr\' is a boolean flag that will tell `ncp` to stop immediately if any\nerrors arise, rather than attempting to continue while logging errors.\n\nIf there are no errors, `ncp` will output `done.` when complete. If there are errors, the error messages will be logged to `stdout` and to `./ncp-debug.log`, and the copy operation will attempt to continue.\n\n## Programmatic usage\n\nProgrammatic usage of `ncp` is just as simple. The only argument to the completion callback is a possible error. \n\n```javascript\nvar ncp = require(\'ncp\').ncp;\n\nncp.limit = 16;\n\nncp(source, destination, function (err) {\n if (err) {\n return console.error(err);\n }\n console.log(\'done!\');\n});\n```\n\nYou can also call ncp like `ncp(source, destination, options, callback)`. \n`options` should be a dictionary. Currently, such options are available:\n\n * `options.filter` - a `RegExp` instance, against which each file name is\n tested to determine whether to copy it or not, or a function taking single\n parameter: copied file name, returning `true` or `false`, determining\n whether to copy file or not.\n\n * `options.transform` - a function: `function (read, write) { read.pipe(write) }`\n used to apply streaming transforms while copying.\n\n * `options.clobber` - boolean=true. if set to false, `ncp` will not overwrite \n destination files that already exist.\n\nPlease open an issue if any bugs arise. As always, I accept (working) pull requests, and refunds are available at `/dev/null`.\n',
21982 silly resolved readmeFilename: 'README.md',
21982 silly resolved bugs: { url: 'https://github.com/AvianFlu/ncp/issues' },
21982 silly resolved homepage: 'https://github.com/AvianFlu/ncp',
21982 silly resolved _id: 'ncp@0.4.2',
21982 silly resolved _shasum: 'abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574',
21982 silly resolved _from: 'ncp@0.4.x',
21982 silly resolved _resolved: 'https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz' },
21982 silly resolved { name: 'deep-equal',
21982 silly resolved version: '0.2.1',
21982 silly resolved description: 'node\'s assert.deepEqual algorithm',
21982 silly resolved main: 'index.js',
21982 silly resolved directories: { lib: '.', example: 'example', test: 'test' },
21982 silly resolved scripts: { test: 'tape test/*.js' },
21982 silly resolved devDependencies: { tape: '~2.3.2' },
21982 silly resolved repository:
21982 silly resolved { type: 'git',
21982 silly resolved url: 'http://github.com/substack/node-deep-equal.git' },
21982 silly resolved keywords: [ 'equality', 'equal', 'compare' ],
21982 silly resolved author:
21982 silly resolved { name: 'James Halliday',
21982 silly resolved email: 'mail@substack.net',
21982 silly resolved url: 'http://substack.net' },
21982 silly resolved license: 'MIT',
21982 silly resolved testling: { files: 'test/*.js', browsers: [Object] },
21982 silly resolved readme: '# deep-equal\n\nNode\'s `assert.deepEqual() algorithm` as a standalone module.\n\nThis module is around [5 times faster](https://gist.github.com/2790507)\nthan wrapping `assert.deepEqual()` in a `try/catch`.\n\n[![browser support](https://ci.testling.com/substack/node-deep-equal.png)](https://ci.testling.com/substack/node-deep-equal)\n\n[![build status](https://secure.travis-ci.org/substack/node-deep-equal.png)](https://travis-ci.org/substack/node-deep-equal)\n\n# example\n\n``` js\nvar equal = require(\'deep-equal\');\nconsole.dir([\n equal(\n { a : [ 2, 3 ], b : [ 4 ] },\n { a : [ 2, 3 ], b : [ 4 ] }\n ),\n equal(\n { x : 5, y : [6] },\n { x : 5, y : 6 }\n )\n]);\n```\n\n# methods\n\n``` js\nvar deepEqual = require(\'deep-equal\')\n```\n\n## deepEqual(a, b, opts)\n\nCompare objects `a` and `b`, returning whether they are equal according to a\nrecursive equality algorithm.\n\nIf `opts.strict` is `true`, use strict equality (`===`) to compare leaf nodes.\nThe default is to use coercive equality (`==`) because that\'s how\n`assert.deepEqual()` works by default.\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install deep-equal\n```\n\n# test\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm test\n```\n\n# license\n\nMIT. Derived largely from node\'s assert module.\n',
21982 silly resolved readmeFilename: 'readme.markdown',
21982 silly resolved bugs: { url: 'https://github.com/substack/node-deep-equal/issues' },
21982 silly resolved homepage: 'https://github.com/substack/node-deep-equal',
21982 silly resolved _id: 'deep-equal@0.2.1',
21982 silly resolved _shasum: 'fad7a793224cbf0c3c7786f92ef780e4fc8cc878',
21982 silly resolved _from: 'deep-equal@*',
21982 silly resolved _resolved: 'https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz' },
21982 silly resolved { name: 'mkdirp',
21982 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
21982 silly resolved version: '0.5.0',
21982 silly resolved author:
21982 silly resolved { name: 'James Halliday',
21982 silly resolved email: 'mail@substack.net',
21982 silly resolved url: 'http://substack.net' },
21982 silly resolved main: './index',
21982 silly resolved keywords: [ 'mkdir', 'directory' ],
21982 silly resolved repository:
21982 silly resolved { type: 'git',
21982 silly resolved url: 'https://github.com/substack/node-mkdirp.git' },
21982 silly resolved scripts: { test: 'tap test/*.js' },
21982 silly resolved dependencies: { minimist: '0.0.8' },
21982 silly resolved devDependencies: { tap: '~0.4.0', 'mock-fs': '~2.2.0' },
21982 silly resolved bin: { mkdirp: 'bin/cmd.js' },
21982 silly resolved license: 'MIT',
21982 silly resolved 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, opts, cb)\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `opts.mode`. If `opts` is a non-object, it will be treated as\nthe `opts.mode`.\n\nIf `opts.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\nYou can optionally pass in an alternate `fs` implementation by passing in\n`opts.fs`. Your implementation should have `opts.fs.mkdir(path, mode, cb)` and\n`opts.fs.stat(path, cb)`.\n\n## mkdirp.sync(dir, opts)\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `opts.mode`. If `opts` is a non-object, it will be\ntreated as the `opts.mode`.\n\nIf `opts.mode` isn\'t specified, it defaults to `0777 & (~process.umask())`.\n\nReturns the first directory that had to be created, if any.\n\nYou can optionally pass in an alternate `fs` implementation by passing in\n`opts.fs`. Your implementation should have `opts.fs.mkdirSync(path, mode)` and\n`opts.fs.statSync(path)`.\n\n# usage\n\nThis package also ships with a `mkdirp` command.\n\n```\nusage: mkdirp [DIR1,DIR2..] {OPTIONS}\n\n Create each supplied directory including any necessary parent directories that\n don\'t yet exist.\n \n If the directory already exists, do nothing.\n\nOPTIONS are:\n\n -m, --mode If a directory needs to be created, set the mode as an octal\n permission string.\n\n```\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\nto get the library, or\n\n```\nnpm install -g mkdirp\n```\n\nto get the command.\n\n# license\n\nMIT\n',
21982 silly resolved readmeFilename: 'readme.markdown',
21982 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
21982 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
21982 silly resolved _id: 'mkdirp@0.5.0',
21982 silly resolved _shasum: '1d73076a6df986cd9344e15e71fcc05a4c9abf12',
21982 silly resolved _from: 'mkdirp@0.x.x',
21982 silly resolved _resolved: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz' },
21982 silly resolved { name: 'rimraf',
21982 silly resolved version: '2.2.8',
21982 silly resolved main: 'rimraf.js',
21982 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
21982 silly resolved author:
21982 silly resolved { name: 'Isaac Z. Schlueter',
21982 silly resolved email: 'i@izs.me',
21982 silly resolved url: 'http://blog.izs.me/' },
21982 silly resolved license:
21982 silly resolved { type: 'MIT',
21982 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
21982 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
21982 silly resolved scripts: { test: 'cd test && bash run.sh' },
21982 silly resolved bin: { rimraf: './bin.js' },
21982 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
21982 silly resolved readme: '`rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of\n `opts.maxBusyTries` times before giving up.\n* `ENOENT` - If the file doesn\'t exist, rimraf will return\n successfully, since your desired outcome is already the case.\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that\'s not so good. Use\nthe async API. It\'s better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf <path>` which is useful for cross platform support.\n\n## mkdirp\n\nIf you need to create a directory recursively, check out\n[mkdirp](https://github.com/substack/node-mkdirp).\n',
21982 silly resolved readmeFilename: 'README.md',
21982 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
21982 silly resolved homepage: 'https://github.com/isaacs/rimraf',
21982 silly resolved _id: 'rimraf@2.2.8',
21982 silly resolved _shasum: 'e439be2aaee327321952730f99a8929e4fc50582',
21982 silly resolved _from: 'rimraf@2.x.x',
21982 silly resolved _resolved: 'https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz' },
21982 silly resolved { name: 'i',
21982 silly resolved version: '0.3.2',
21982 silly resolved author:
21982 silly resolved { name: 'Pavan Kumar Sunkara',
21982 silly resolved email: 'pavan.sss1991@gmail.com',
21982 silly resolved url: 'pksunkara.github.com' },
21982 silly resolved description: 'custom inflections for nodejs',
21982 silly resolved main: './lib/inflect',
21982 silly resolved repository: { type: 'git', url: 'git://github.com/pksunkara/inflect.git' },
21982 silly resolved keywords:
21982 silly resolved [ 'singular',
21982 silly resolved 'plural',
21982 silly resolved 'camelize',
21982 silly resolved 'underscore',
21982 silly resolved 'dasherize',
21982 silly resolved 'demodulize',
21982 silly resolved 'ordinalize',
21982 silly resolved 'uncountable',
21982 silly resolved 'pluralize',
21982 silly resolved 'singularize',
21982 silly resolved 'titleize',
21982 silly resolved 'tableize',
21982 silly resolved 'classify',
21982 silly resolved 'foreign_key' ],
21982 silly resolved homepage: 'http://pksunkara.github.com/inflect',
21982 silly resolved scripts: { test: 'vows --spec $(find test -name \'*-test.js\')' },
21982 silly resolved contributors: [ [Object] ],
21982 silly resolved dependencies: {},
21982 silly resolved devDependencies: { vows: '~0.6.1' },
21982 silly resolved engines: { node: '>=0.4' },
21982 silly resolved bugs: { url: 'https://github.com/pksunkara/inflect/issues' },
21982 silly resolved licenses: [ [Object] ],
21982 silly resolved readme: '# inflect\n\ncustomizable inflections for nodejs\n\n## Installation\n\n```bash\nnpm install i\n```\n\n## Usage\n\nRequire the module before using\n\n```js\nvar inflect = require(\'i\')();\n```\n\nAll the below api functions can be called directly on a string\n\n```js\ninflect.titleize(\'messages to store\') // === \'Messages To Store\'\n\'messages to store\'.titleize // === \'Messages To Store\'\n```\n\nonly if `true` is passed while initiating\n\n```js\nvar inflect = require(\'i\')(true);\n```\n\n### Pluralize\n\n```js\ninflect.pluralize(\'person\'); // === \'people\'\ninflect.pluralize(\'octopus\'); // === \'octopi\'\ninflect.pluralize(\'Hat\'); // === \'Hats\'\n```\n\n### Singularize\n\n```js\ninflect.singularize(\'people\'); // === \'person\'\ninflect.singularize(\'octopi\'); // === \'octopus\'\ninflect.singularize(\'Hats\'); // === \'Hat\'\n```\n\n### Camelize\n\n```js\ninflect.camelize(\'message_properties\'); // === \'MessageProperties\'\ninflect.camelize(\'message_properties\', false); // === \'messageProperties\'\n```\n\n### Underscore\n\n```js\ninflect.underscore(\'MessageProperties\'); // === \'message_properties\'\ninflect.underscore(\'messageProperties\'); // === \'message_properties\'\n```\n\n### Humanize\n\n```js\ninflect.humanize(\'message_id\'); // === \'Message\'\n```\n\n### Dasherize\n\n```js\ninflect.dasherize(\'message_properties\'); // === \'message-properties\'\ninflect.dasherize(\'Message Properties\'); // === \'Message Properties\'\n```\n\n### Titleize\n\n```js\ninflect.titleize(\'message_properties\'); // === \'Message Properties\'\ninflect.titleize(\'message properties to keep\'); // === \'Message Properties to Keep\'\n```\n\n### Demodulize\n\n```js\ninflect.demodulize(\'Message.Bus.Properties\'); // === \'Properties\'\n```\n\n### Tableize\n\n```js\ninflect.tableize(\'MessageBusProperty\'); // === \'message_bus_properties\'\n```\n\n### Classify\n\n```js\ninflect.classify(\'message_bus_properties\'); // === \'MessageBusProperty\'\n```\n\n### Foreign key\n\n```js\ninflect.foreign_key(\'MessageBusProperty\'); // === \'message_bus_property_id\'\ninflect.foreign_key(\'MessageBusProperty\', false); // === \'message_bus_propertyid\'\n```\n\n### Ordinalize\n\n```js\ninflect.ordinalize( \'1\' ); // === \'1st\'\n```\n\n## Custom rules for inflection\n\n### Custom plural\n\nWe can use regexp in any of these custom rules\n\n```js\ninflect.inflections.plural(\'person\', \'guys\');\ninflect.pluralize(\'person\'); // === \'guys\'\ninflect.singularize(\'guys\'); // === \'guy\'\n```\n\n### Custom singular\n\n```js\ninflect.inflections.singular(\'guys\', \'person\')\ninflect.singularize(\'guys\'); // === \'person\'\ninflect.pluralize(\'person\'); // === \'people\'\n```\n\n### Custom irregular\n\n```js\ninflect.inflections.irregular(\'person\', \'guys\')\ninflect.pluralize(\'person\'); // === \'guys\'\ninflect.singularize(\'guys\'); // === \'person\'\n```\n\n### Custom human\n\n```js\ninflect.inflections.human(/^(.*)_cnt$/i, \'$1_count\');\ninflect.inflections.humanize(\'jargon_cnt\'); // === \'Jargon count\'\n```\n\n### Custom uncountable\n\n```js\ninflect.inflections.uncountable(\'oil\')\ninflect.pluralize(\'oil\'); // === \'oil\'\ninflect.singularize(\'oil\'); // === \'oil\'\n```\n\n## Contributors\nHere is a list of [Contributors](http://github.com/pksunkara/inflect/contributors)\n\n### TODO\n\n- More obscure test cases\n\n__I accept pull requests and guarantee a reply back within a day__\n\n## License\nMIT/X11\n\n## Bug Reports\nReport [here](http://github.com/pksunkara/inflect/issues). __Guaranteed reply within a day__.\n\n## Contact\nPavan Kumar Sunkara (pavan.sss1991@gmail.com)\n\nFollow me on [github](https://github.com/users/follow?target=pksunkara), [twitter](http://twitter.com/pksunkara)\n',
21982 silly resolved readmeFilename: 'README.md',
21982 silly resolved _id: 'i@0.3.2',
21982 silly resolved _shasum: 'b2e2d6ef47900bd924e281231ff4c5cc798d9ea8',
21982 silly resolved _from: 'i@0.3.x',
21982 silly resolved _resolved: 'https://registry.npmjs.org/i/-/i-0.3.2.tgz' } ]
21983 info install ncp@0.4.2 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile
21984 info install deep-equal@0.2.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile
21985 info install mkdirp@0.5.0 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile
21986 info install rimraf@2.2.8 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile
21987 info install i@0.3.2 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile
21988 info installOne ncp@0.4.2
21989 info installOne deep-equal@0.2.1
21990 info installOne mkdirp@0.5.0
21991 info installOne rimraf@2.2.8
21992 info installOne i@0.3.2
21993 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/ncp unbuild
21994 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/deep-equal unbuild
21995 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/mkdirp unbuild
21996 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/rimraf unbuild
21997 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/i unbuild
21998 verbose tar unpack /Users/V1/.npm/ncp/0.4.2/package.tgz
21999 silly lockFile 3e47f4a8-e-modules-utile-node-modules-ncp tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/ncp
22000 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/ncp /Users/V1/.npm/3e47f4a8-e-modules-utile-node-modules-ncp.lock
22001 silly lockFile d4cf20a1-ers-V1-npm-ncp-0-4-2-package-tgz tar:///Users/V1/.npm/ncp/0.4.2/package.tgz
22002 verbose lock tar:///Users/V1/.npm/ncp/0.4.2/package.tgz /Users/V1/.npm/d4cf20a1-ers-V1-npm-ncp-0-4-2-package-tgz.lock
22003 verbose tar unpack /Users/V1/.npm/deep-equal/0.2.1/package.tgz
22004 silly lockFile 9a5342a5-es-utile-node-modules-deep-equal tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/deep-equal
22005 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/deep-equal /Users/V1/.npm/9a5342a5-es-utile-node-modules-deep-equal.lock
22006 silly lockFile 2aa92aa2-npm-deep-equal-0-2-1-package-tgz tar:///Users/V1/.npm/deep-equal/0.2.1/package.tgz
22007 verbose lock tar:///Users/V1/.npm/deep-equal/0.2.1/package.tgz /Users/V1/.npm/2aa92aa2-npm-deep-equal-0-2-1-package-tgz.lock
22008 verbose tar unpack /Users/V1/.npm/mkdirp/0.5.0/package.tgz
22009 silly lockFile 58d6c468-odules-utile-node-modules-mkdirp tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/mkdirp
22010 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/mkdirp /Users/V1/.npm/58d6c468-odules-utile-node-modules-mkdirp.lock
22011 silly lockFile cdab583b--V1-npm-mkdirp-0-5-0-package-tgz tar:///Users/V1/.npm/mkdirp/0.5.0/package.tgz
22012 verbose lock tar:///Users/V1/.npm/mkdirp/0.5.0/package.tgz /Users/V1/.npm/cdab583b--V1-npm-mkdirp-0-5-0-package-tgz.lock
22013 verbose tar unpack /Users/V1/.npm/rimraf/2.2.8/package.tgz
22014 silly lockFile 6d83d89f-odules-utile-node-modules-rimraf tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/rimraf
22015 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/rimraf /Users/V1/.npm/6d83d89f-odules-utile-node-modules-rimraf.lock
22016 silly lockFile b4f5dcef--V1-npm-rimraf-2-2-8-package-tgz tar:///Users/V1/.npm/rimraf/2.2.8/package.tgz
22017 verbose lock tar:///Users/V1/.npm/rimraf/2.2.8/package.tgz /Users/V1/.npm/b4f5dcef--V1-npm-rimraf-2-2-8-package-tgz.lock
22018 verbose tar unpack /Users/V1/.npm/i/0.3.2/package.tgz
22019 silly lockFile bcef1dd0-ode-modules-utile-node-modules-i tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/i
22020 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/i /Users/V1/.npm/bcef1dd0-ode-modules-utile-node-modules-i.lock
22021 silly lockFile 98a3cc67-Users-V1-npm-i-0-3-2-package-tgz tar:///Users/V1/.npm/i/0.3.2/package.tgz
22022 verbose lock tar:///Users/V1/.npm/i/0.3.2/package.tgz /Users/V1/.npm/98a3cc67-Users-V1-npm-i-0-3-2-package-tgz.lock
22023 silly gunzTarPerm modes [ '755', '644' ]
22024 silly gunzTarPerm modes [ '755', '644' ]
22025 silly gunzTarPerm modes [ '755', '644' ]
22026 silly gunzTarPerm modes [ '755', '644' ]
22027 silly gunzTarPerm modes [ '755', '644' ]
22028 silly gunzTarPerm extractEntry doc/cli/npm-bin.md
22029 silly gunzTarPerm modified mode [ 'doc/cli/npm-bin.md', 436, 420 ]
22030 silly gunzTarPerm extractEntry doc/cli/npm-bugs.md
22031 silly gunzTarPerm modified mode [ 'doc/cli/npm-bugs.md', 436, 420 ]
22032 silly gunzTarPerm extractEntry test/mocha.opts
22033 silly gunzTarPerm extractEntry package.json
22034 silly gunzTarPerm extractEntry package.json
22035 silly gunzTarPerm extractEntry package.json
22036 silly gunzTarPerm extractEntry package.json
22037 silly gunzTarPerm extractEntry package.json
22038 silly gunzTarPerm extractEntry .npmignore
22039 silly gunzTarPerm extractEntry README.md
22040 silly gunzTarPerm extractEntry doc/cli/npm-build.md
22041 silly gunzTarPerm modified mode [ 'doc/cli/npm-build.md', 436, 420 ]
22042 silly gunzTarPerm extractEntry doc/cli/npm-bundle.md
22043 silly gunzTarPerm modified mode [ 'doc/cli/npm-bundle.md', 436, 420 ]
22044 silly gunzTarPerm extractEntry LICENSE
22045 silly gunzTarPerm extractEntry index.js
22046 silly gunzTarPerm extractEntry .npmignore
22047 silly gunzTarPerm extractEntry LICENSE
22048 silly gunzTarPerm extractEntry .npmignore
22049 silly gunzTarPerm extractEntry README.md
22050 silly gunzTarPerm extractEntry README.md
22051 silly gunzTarPerm extractEntry LICENSE
22052 silly gunzTarPerm extractEntry .travis.yml
22053 silly gunzTarPerm extractEntry bin/ncp
22054 silly gunzTarPerm extractEntry bin.js
22055 silly gunzTarPerm extractEntry rimraf.js
22056 silly lockFile 66f2a68b-ers-V1-npm-canihaz-1-0-1-package tar:///Users/V1/.npm/canihaz/1.0.1/package
22057 silly lockFile 66f2a68b-ers-V1-npm-canihaz-1-0-1-package tar:///Users/V1/.npm/canihaz/1.0.1/package
22058 silly gunzTarPerm extractEntry doc/cli/npm-cache.md
22059 silly gunzTarPerm modified mode [ 'doc/cli/npm-cache.md', 436, 420 ]
22060 silly gunzTarPerm extractEntry doc/cli/npm-completion.md
22061 silly gunzTarPerm modified mode [ 'doc/cli/npm-completion.md', 436, 420 ]
22062 silly gunzTarPerm extractEntry index.js
22063 silly gunzTarPerm extractEntry .travis.yml
22064 silly gunzTarPerm extractEntry .travis.yml
22065 silly gunzTarPerm extractEntry example/cmp.js
22066 silly lockFile 86c58065-994583-0-302940753987059-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994583-0.302940753987059/tmp.tgz
22067 silly lockFile 86c58065-994583-0-302940753987059-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994583-0.302940753987059/tmp.tgz
22068 silly gunzTarPerm extractEntry LICENSE
22069 silly gunzTarPerm extractEntry .travis.yml
22070 silly gunzTarPerm extractEntry moment/CONTRIBUTING.md
22071 silly lockFile 2637a108-js-org-canihaz-canihaz-1-0-1-tgz https://registry.npmjs.org/canihaz/-/canihaz-1.0.1.tgz
22072 silly lockFile 2637a108-js-org-canihaz-canihaz-1-0-1-tgz https://registry.npmjs.org/canihaz/-/canihaz-1.0.1.tgz
22073 silly lockFile 79790dc5-canihaz-1-0-1 canihaz@1.0.1
22074 silly lockFile 79790dc5-canihaz-1-0-1 canihaz@1.0.1
22075 silly gunzTarPerm extractEntry lib/ncp.js
22076 silly gunzTarPerm extractEntry LICENSE.md
22077 silly gunzTarPerm extractEntry moment/tasks/check_sauce_creds.js
22078 silly gunzTarPerm extractEntry moment/tasks/component.js
22079 silly lockFile d054414d-canihaz-1-0-x canihaz@1.0.x
22080 silly lockFile d054414d-canihaz-1-0-x canihaz@1.0.x
22081 silly gunzTarPerm extractEntry bin/cmd.js
22082 silly gunzTarPerm extractEntry bin/usage.txt
22083 silly lockFile 1a85f348-rs-V1-npm-parsifal-0-0-0-package tar:///Users/V1/.npm/parsifal/0.0.0/package
22084 silly lockFile 1a85f348-rs-V1-npm-parsifal-0-0-0-package tar:///Users/V1/.npm/parsifal/0.0.0/package
22085 silly gunzTarPerm extractEntry AUTHORS
22086 silly gunzTarPerm extractEntry test/test-async.js
22087 silly gunzTarPerm extractEntry doc/cli/npm-config.md
22088 silly gunzTarPerm modified mode [ 'doc/cli/npm-config.md', 436, 420 ]
22089 silly gunzTarPerm extractEntry doc/cli/npm-dedupe.md
22090 silly gunzTarPerm modified mode [ 'doc/cli/npm-dedupe.md', 436, 420 ]
22091 silly gunzTarPerm extractEntry lib/defaults.js
22092 silly gunzTarPerm extractEntry lib/inflect.js
22093 silly lockFile 88a4870a-94690-0-8679224646184593-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994690-0.8679224646184593/tmp.tgz
22094 silly lockFile 88a4870a-94690-0-8679224646184593-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994690-0.8679224646184593/tmp.tgz
22095 silly gunzTarPerm extractEntry lib/is_arguments.js
22096 silly gunzTarPerm extractEntry lib/keys.js
22097 silly resolved [ { author:
22097 silly resolved { name: 'Arnout Kazemier',
22097 silly resolved email: 'info@3rd-Eden.com',
22097 silly resolved url: '3rd-Eden.com' },
22097 silly resolved name: 'canihaz',
22097 silly resolved description: 'canihaz allows you to lazy install npm modules because not every dependency is needed.',
22097 silly resolved keywords:
22097 silly resolved [ 'npm',
22097 silly resolved 'install',
22097 silly resolved 'module',
22097 silly resolved 'lazy',
22097 silly resolved 'require',
22097 silly resolved 'dependencies',
22097 silly resolved 'optionalDepdencies' ],
22097 silly resolved version: '1.0.1',
22097 silly resolved scripts: { test: 'make test' },
22097 silly resolved homepage: 'https://github.com/3rd-Eden/canihaz',
22097 silly resolved repository: { type: 'git', url: 'git://github.com/3rd-Eden/canihaz.git' },
22097 silly resolved main: 'index.js',
22097 silly resolved dependencies: { which: '1.0.x', semver: '1.1.x', mkdirp: '0.3.x' },
22097 silly resolved devDependencies: { mocha: '1.7.x', chai: '1.4.x', rimraf: '2.1.x' },
22097 silly resolved canihaz:
22097 silly resolved { request: '2.12.x',
22097 silly resolved routable: 'git://github.com/3rd-Eden/routable.git#master',
22097 silly resolved useragent: '*' },
22097 silly resolved fooBar: { request: '*' },
22097 silly resolved existingDependencies: { semver: '1.1.x' },
22097 silly resolved readme: '# canihaz - supercharged dependency loading and installation\n[![build status](https://secure.travis-ci.org/3rd-Eden/canihaz.png)](http://travis-ci.org/3rd-Eden/canihaz)\n\nCanihaz is a module that allows you to lazily install and require NPM modules\nthat might not be required for the core functionality of your library. This\nincludes, but is not limited to:\n\n- Optional dependencies\n- Dependencies that are only used for your optional CLI interface\n- Dependencies that are sparsely used in the application\n\nMy use case for this library is a front-end build system that I have been\ndeveloping. It\'s called [square][square] and uses a plugin based system to\nprocess your front-end code such as CSS, JavaScript and all possible\npre-processors. If I wanted to support every CSS pre-processor I would have had\nto specify: sass, less and stylus in the dependencies, but nobody is ever going\nto use all of them, so 90% of these modules would have been pointless bloat. And\nI, personally hate code bloat. It\'s a disease that spreads exponentially with\nevery module that is released and dependent upon. So to combat this bloat\nI wanted to have a way to lazy load and (silently) install the modules when they\nare needed.\n\n[square]: /observing/square\n\n---\n\n## Table of Contents\n\n- [Installation][0]\n- [How does it work][1]\n- [API][2]\n - [package.json example][2.1]\n - [Configuration][2.2]\n - [Configured dependencies][2.3]\n - [Un-configured dependencies][2.4]\n - [Multiple dependencies][2.5]\n- [Changelog][3]\n- [License][4]\n\n[0]: #installation "Install all the things"\n[1]: #how-does-it-work "it\'s like magic, unicorns and narwals combined in to awesomness"\n[2]: #api "The bits that you can use and configure"\n[2.1]: #packagejson-example\n[2.2]: #configuration\n[2.3]: #installingrequiring-a-configured-dependency\n[2.4]: #installingrequiring-a-un-configured-dependency\n[2.5]: #installingrequiring-multiple-dependencies\n[3]: #changelog "Changelog"\n[4]: #license-mit "Stuff"\n\n---\n\n## Installation\n\nThis module should be installed using NPM:\n\n```bash\nnpm install canihaz --save\n```\n\nThe `--save` parameter tells NPM that it should add it to your package.json, so\nless editing for you.\n\nIf you do not install it using NPM, make sure that install it in\na `node_modules` folder and do not symlink it.. Unless you don\'t want to use the\nautomatic dependency resolution.\n\n---\n\n## How does it work\n\nI always tell people that you should understand how a module works before you\nuse it, checkout out the source or at least read the damned documentation.\n\nWhen you initialize the module after you required it it will go up 2 directories\nto go out of the `node_modules` folder and attempt to read out the\n`package.json` file of the module that depends on canihaz. It requires the\npackage.json and search for the dependencies, it searches for `canihaz` key by\ndefault but it can be configured. When it found the dependencies, it attaches\nthe names to the returned object and creates a really simple usable interface\nfor it:\n\n```js\nvar canihaz = require(\'canihaz\')(.. config ..);\n\ncanihaz.dep(function requireallthethings(err, dep) {\n .. dep is installed if it\'s not installed before or just required\n});\n```\n\nIt automatically knows which version it should install for you as you specified\nthat in the object. Installing a dependency that isn\'t pre-defined in your\n`package.json` you could do something similar:\n\n```js\nvar canihaz = require(\'canihaz\')();\n\ncanihaz(dep, version, function lazyloading(err, dep) {\n .. dep is installed with the specified version\n});\n```\n\nBut before it tries to install the module it checks it it\'s perhaps globally\ninstalled (with the correct version) or if it\'s already installed before in the\nspecified location. When all these checks fail, we continue with the\ninstallation. In older version of canihaz we called the NPM api programatically\nbut there were a couple of issues with this, like install race conditions and it\ndidn\'t use the users set configurations. That\'s why we are currently spawning an\nNPM child process. So you need to have NPM installed globally and set in your\npath. The added benefit of this is that the installation becomes completely\nsilent as NPM is usually really chatty and last but not least, it already works\nas this module is installed through NPM.\n\nOnce it\'s finally installed it attempts to require it again, if it succeeds it\nwill call your callback without any error arguments and provide the library in\nthe callback. If the installation failed or it failed to require you\'re\nbasically fucked.\n\n## API\n\n#### package.json example\n\nIn the example below, we install canihaz as dependency, and have all our\noptional dependencies in the property `canihaz` which will be read out by\nmodule.\n\n```js\n{\n "name": "example"\n , "description": "example description"\n , "version": "0.0.0"\n , "dependencies": {\n "canihaz": "0.0.x"\n }\n , "canihaz": {\n "coffee-script": "1.3.3"\n , "csslint": "0.9.8"\n , "jshint": "0.7.1"\n , "socket.io": "0.9.6"\n , "stylus": "0.27.2"\n , "watch": "0.5.1"\n }\n}\n```\n\n#### configuration\n\n- dot: Should we create a special dot folder for storage? This is saved in\n the home directory of the user. Should be a string.\n- home: The location of the home folders, as this is operating system\n specific or you might want to override this if you want to store the dot\n folder in a different location. Should be string.\n- location: The location of the package.json that we need to parse and read out\n the possible dependencies for lazy installation.\n- key: Which property should we scan for the optional dependencies? This\n allows you to also lazy install optionalDependencies for example.\n- installation: The installation location, this is where the dependencies will\n be installed. It defaults to the `package.json` folder.\n\nExample:\n\n```js\nvar canihaz = require(\'canihaz\')({\n key: \'cliDependencies\' // read out `cliDependencies` instead of `canihaz`\n});\n```\n\n#### installing/requiring a configured dependency\n\nThe dependencies that you specify in the `package.json` are automatically\nintroduced to the returned export. It assumes that it\'s loaded by the package\nthat we specified above.\n\n```js\nvar canihaz = require(\'canihaz\')();\n\ncanihaz.jshint(function loading(err, jshint) {\n // jshint is now loaded, unless we got an error\n});\n```\n\n#### installing/requiring a un-configured dependency\n\nInstalling or requiring a dependency that isn\'t in the `package.json` require\ndirect usage of the API:\n\n```js\nvar canihaz = require(\'canihaz\')();\n\ncanihaz(\'jshint\', \'0.7.x\', function lazyloading(err, jsint) {\n // jsint is installed with the specified version\n});\n```\n\n#### installing/requiring multiple dependencies\n\nSometimes you just need a load of modules. There are 2 different ways this is\ndone, if the modules are defined in the `package.json` it will automatically use\ntheir specified function and doesn\'t require you to specify the version numbers:\n\n```js\nvar canihaz = require(\'canihaz\')();\n\ncanihaz(\n \'jshint\', \'stylus\', \'express\'\n , function lazyloading(err, jsint, stylus, express) {\n // the modules are loaded or installed in the same order as the arguments\n }\n);\n```\n\nIf you need to a bunch of modules that are not specified in the package. \n\n```js\ncanihaz(\n { name: \'jshint\', version: \'0.7.x\' }\n , { name: \'stylus\', version: \'\' }\n , { name: \'express\', version: \'3.0.x\' }\n , function lazyloading(err, jsint, stylus, express) {\n // the modules are loaded or installed in the same order as the arguments\n }\n);\n```\n\n---\n\n## Changelog\n\n__1.0.0__ Rewritten to use the `npm` binary for all installations because the\nprogramatically API causes to much issues and edge cases. 1.0.0 also features a\nfull test suite and a reworked more powerful API.\n\n_all other version were crap anyways_\n\n---\n\n## License (MIT)\n\nCopyright (c) 2013 Arnout Kazemier, 3rd-Eden.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',
22097 silly resolved readmeFilename: 'README.md',
22097 silly resolved bugs: { url: 'https://github.com/3rd-Eden/canihaz/issues' },
22097 silly resolved _id: 'canihaz@1.0.1',
22097 silly resolved _shasum: '3fe7c42b5d7f90934c7be34287ef8ca1f166eca3',
22097 silly resolved _from: 'canihaz@1.0.x',
22097 silly resolved _resolved: 'https://registry.npmjs.org/canihaz/-/canihaz-1.0.1.tgz' } ]
22098 info install canihaz@1.0.1 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy
22099 info installOne canihaz@1.0.1
22100 silly lockFile df1281e5--org-parsifal-parsifal-0-0-0-tgz https://registry.npmjs.org/parsifal/-/parsifal-0.0.0.tgz
22101 silly lockFile df1281e5--org-parsifal-parsifal-0-0-0-tgz https://registry.npmjs.org/parsifal/-/parsifal-0.0.0.tgz
22102 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy/node_modules/canihaz unbuild
22103 silly lockFile 042110fa-parsifal-0-0-0 parsifal@0.0.0
22104 silly lockFile 042110fa-parsifal-0-0-0 parsifal@0.0.0
22105 silly gunzTarPerm extractEntry doc/cli/npm-deprecate.md
22106 silly gunzTarPerm modified mode [ 'doc/cli/npm-deprecate.md', 436, 420 ]
22107 silly gunzTarPerm extractEntry doc/cli/npm-docs.md
22108 silly gunzTarPerm modified mode [ 'doc/cli/npm-docs.md', 436, 420 ]
22109 silly gunzTarPerm extractEntry examples/pow.js
22110 silly gunzTarPerm extractEntry readme.markdown
22111 silly gunzTarPerm extractEntry test/ncp-test.js
22112 silly gunzTarPerm extractEntry test/fixtures/src/a
22113 silly gunzTarPerm extractEntry test/fixtures/src/b
22114 silly gunzTarPerm extractEntry test/fixtures/src/c
22115 silly gunzTarPerm extractEntry test/fixtures/src/d
22116 silly gunzTarPerm extractEntry test/fixtures/src/e
22117 silly gunzTarPerm extractEntry test/fixtures/src/f
22118 silly gunzTarPerm extractEntry test/fixtures/src/sub/a
22119 silly gunzTarPerm extractEntry test/fixtures/src/sub/b
22120 silly gunzTarPerm extractEntry test/test-sync.js
22121 silly gunzTarPerm extractEntry test/run.sh
22122 verbose tar unpack /Users/V1/.npm/canihaz/1.0.1/package.tgz
22123 silly lockFile 5e5e1e39-ules-smithy-node-modules-canihaz tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy/node_modules/canihaz
22124 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy/node_modules/canihaz /Users/V1/.npm/5e5e1e39-ules-smithy-node-modules-canihaz.lock
22125 silly lockFile 16a60fac-V1-npm-canihaz-1-0-1-package-tgz tar:///Users/V1/.npm/canihaz/1.0.1/package.tgz
22126 verbose lock tar:///Users/V1/.npm/canihaz/1.0.1/package.tgz /Users/V1/.npm/16a60fac-V1-npm-canihaz-1-0-1-package-tgz.lock
22127 silly gunzTarPerm modes [ '755', '644' ]
22128 silly gunzTarPerm extractEntry readme.markdown
22129 silly gunzTarPerm extractEntry test/cmp.js
22130 silly gunzTarPerm extractEntry lib/inflections.js
22131 silly gunzTarPerm extractEntry lib/methods.js
22132 silly gunzTarPerm extractEntry lib/native.js
22133 silly gunzTarPerm extractEntry lib/util.js
22134 silly gunzTarPerm extractEntry test/inflector/cases.js
22135 silly gunzTarPerm extractEntry test/inflector/inflections-test.js
22136 silly gunzTarPerm extractEntry test/inflector/methods-test.js
22137 silly gunzTarPerm extractEntry test/utils/array-test.js
22138 silly gunzTarPerm extractEntry test/utils/string-test.js
22139 silly gunzTarPerm extractEntry moment/tasks/embed_languages.js
22140 silly gunzTarPerm extractEntry moment/tasks/history.js
22141 silly gunzTarPerm extractEntry package.json
22142 silly gunzTarPerm extractEntry doc/cli/npm-edit.md
22143 silly gunzTarPerm modified mode [ 'doc/cli/npm-edit.md', 436, 420 ]
22144 silly gunzTarPerm extractEntry doc/cli/npm-explore.md
22145 silly gunzTarPerm modified mode [ 'doc/cli/npm-explore.md', 436, 420 ]
22146 silly gunzTarPerm extractEntry test/setup.sh
22147 silly gunzTarPerm extractEntry test/chmod.js
22148 silly gunzTarPerm extractEntry test/opts_fs_sync.js
22149 silly gunzTarPerm extractEntry test/perm.js
22150 silly gunzTarPerm extractEntry test/perm_sync.js
22151 silly gunzTarPerm extractEntry test/opts_fs.js
22152 silly gunzTarPerm extractEntry test/rel.js
22153 silly gunzTarPerm extractEntry test/return.js
22154 silly gunzTarPerm extractEntry test/return_sync.js
22155 silly gunzTarPerm extractEntry test/root.js
22156 silly gunzTarPerm extractEntry test/sync.js
22157 silly gunzTarPerm extractEntry test/mkdirp.js
22158 silly gunzTarPerm extractEntry test/umask.js
22159 silly gunzTarPerm extractEntry test/clobber.js
22160 silly gunzTarPerm extractEntry test/umask_sync.js
22161 silly gunzTarPerm extractEntry test/race.js
22162 silly gunzTarPerm extractEntry .npmignore
22163 silly gunzTarPerm extractEntry README.md
22164 silly lockFile bfbc8c22-ules-substream-node-modules-load tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream/node_modules/load
22165 silly lockFile bfbc8c22-ules-substream-node-modules-load tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream/node_modules/load
22166 silly lockFile a398342c-rs-V1-npm-load-1-0-1-package-tgz tar:///Users/V1/.npm/load/1.0.1/package.tgz
22167 silly lockFile a398342c-rs-V1-npm-load-1-0-1-package-tgz tar:///Users/V1/.npm/load/1.0.1/package.tgz
22168 silly gunzTarPerm extractEntry doc/cli/npm-help-search.md
22169 silly gunzTarPerm modified mode [ 'doc/cli/npm-help-search.md', 436, 420 ]
22170 silly gunzTarPerm extractEntry doc/cli/npm-help.md
22171 silly gunzTarPerm modified mode [ 'doc/cli/npm-help.md', 436, 420 ]
22172 silly gunzTarPerm extractEntry moment/tasks/size.js
22173 silly gunzTarPerm extractEntry moment/tasks/zones.js
22174 info preinstall load@1.0.1
22175 silly gunzTarPerm extractEntry index.js
22176 silly gunzTarPerm extractEntry .travis.yml
22177 silly gunzTarPerm extractEntry Makefile
22178 silly gunzTarPerm extractEntry test/package.json
22179 silly gunzTarPerm extractEntry test/canihaz.test.js
22180 silly gunzTarPerm extractEntry test/mocha.opts
22181 verbose readDependencies using package.json deps
22182 verbose readDependencies using package.json deps
22183 silly resolved []
22184 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream/node_modules/load
22185 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream/node_modules/load
22186 verbose linkStuff [ false,
22186 verbose linkStuff false,
22186 verbose linkStuff false,
22186 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream/node_modules' ]
22187 info linkStuff load@1.0.1
22188 verbose linkBins load@1.0.1
22189 verbose linkMans load@1.0.1
22190 verbose rebuildBundles load@1.0.1
22191 info install load@1.0.1
22192 info postinstall load@1.0.1
22193 silly gunzTarPerm extractEntry doc/cli/npm-init.md
22194 silly gunzTarPerm modified mode [ 'doc/cli/npm-init.md', 436, 420 ]
22195 silly gunzTarPerm extractEntry doc/cli/npm-install.md
22196 silly gunzTarPerm modified mode [ 'doc/cli/npm-install.md', 436, 420 ]
22197 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream
22198 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/substream
22199 verbose linkStuff [ false,
22199 verbose linkStuff false,
22199 verbose linkStuff false,
22199 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules' ]
22200 info linkStuff substream@0.0.2
22201 verbose linkBins substream@0.0.2
22202 verbose linkMans substream@0.0.2
22203 verbose rebuildBundles substream@0.0.2
22204 verbose rebuildBundles [ 'load' ]
22205 info install substream@0.0.2
22206 info postinstall substream@0.0.2
22207 silly gunzTarPerm extractEntry doc/cli/npm-link.md
22208 silly gunzTarPerm modified mode [ 'doc/cli/npm-link.md', 436, 420 ]
22209 silly gunzTarPerm extractEntry doc/cli/npm-ls.md
22210 silly gunzTarPerm modified mode [ 'doc/cli/npm-ls.md', 436, 420 ]
22211 silly gunzTarPerm extractEntry moment/.travis.yml
22212 silly gunzTarPerm extractEntry moment/readme.md
22213 silly gunzTarPerm extractEntry doc/cli/npm-outdated.md
22214 silly gunzTarPerm modified mode [ 'doc/cli/npm-outdated.md', 436, 420 ]
22215 silly gunzTarPerm extractEntry doc/cli/npm-owner.md
22216 silly gunzTarPerm modified mode [ 'doc/cli/npm-owner.md', 436, 420 ]
22217 silly lockFile 4dbc370f-ers-V1-npm-xregexp-2-0-0-package tar:///Users/V1/.npm/xregexp/2.0.0/package
22218 silly lockFile 4dbc370f-ers-V1-npm-xregexp-2-0-0-package tar:///Users/V1/.npm/xregexp/2.0.0/package
22219 silly gunzTarPerm extractEntry moment/composer.json
22220 silly lockFile 2815409a-4333-0-31157839205116034-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994333-0.31157839205116034/tmp.tgz
22221 silly lockFile 2815409a-4333-0-31157839205116034-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628994333-0.31157839205116034/tmp.tgz
22222 silly gunzTarPerm extractEntry doc/cli/npm-pack.md
22223 silly gunzTarPerm modified mode [ 'doc/cli/npm-pack.md', 436, 420 ]
22224 silly gunzTarPerm extractEntry doc/cli/npm-prefix.md
22225 silly gunzTarPerm modified mode [ 'doc/cli/npm-prefix.md', 436, 420 ]
22226 silly lockFile 18fdc1dc-js-org-xregexp-xregexp-2-0-0-tgz https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz
22227 silly lockFile 18fdc1dc-js-org-xregexp-xregexp-2-0-0-tgz https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz
22228 silly lockFile 1c10f859-xregexp-2-0-0 xregexp@2.0.0
22229 silly lockFile 1c10f859-xregexp-2-0-0 xregexp@2.0.0
22230 silly lockFile 93ebd1b9-xregexp-2-0-x xregexp@2.0.x
22231 silly lockFile 93ebd1b9-xregexp-2-0-x xregexp@2.0.x
22232 silly gunzTarPerm extractEntry doc/cli/npm-prune.md
22233 silly gunzTarPerm modified mode [ 'doc/cli/npm-prune.md', 436, 420 ]
22234 silly gunzTarPerm extractEntry doc/cli/npm-publish.md
22235 silly gunzTarPerm modified mode [ 'doc/cli/npm-publish.md', 436, 420 ]
22236 silly resolved [ { name: 'extendable',
22236 silly resolved version: '0.0.6',
22236 silly resolved description: 'Extend constructors using backbone\'s .extend signature',
22236 silly resolved keywords:
22236 silly resolved [ 'backbone',
22236 silly resolved 'underscore',
22236 silly resolved 'lodash',
22236 silly resolved 'extend',
22236 silly resolved 'inherit',
22236 silly resolved 'inherits' ],
22236 silly resolved main: 'index.js',
22236 silly resolved scripts: { test: 'node test.js' },
22236 silly resolved repository: { type: 'git', url: 'git://github.com/3rd-Eden/extendable.git' },
22236 silly resolved author: { name: 'Arnout Kazemier' },
22236 silly resolved license: 'MIT',
22236 silly resolved dependencies: {},
22236 silly resolved devDependencies: {},
22236 silly resolved readme: '# Extend your JavaScript constructors in the same as you are used to in backbone.js\n\n[![Build Status](https://travis-ci.org/3rd-Eden/extendable.png)](https://travis-ci.org/3rd-Eden/extendable)\n\n```js\nvar extend = require(\'extendable\')\n , EventEmitter = require(\'events\').EventEmitter;\n\nfunction Awesomeness() {\n var self = this;\n\n setTimeout(function () {\n self.render(self.data);\n }, 100);\n\n EventEmitter.call(this);\n}\n\nAwesomeness.prototype = new EventEmitter;\nAwesomeness.prototype.constructor = Awesomeness;\n\nAwesomeness.prototype.data = \'bar\';\nAwesomeness.prototype.render = function render() {\n // does nothing\n};\n\nAwesomeness.extend = extend;\n```\n\nAnd you can now use it\n\n```js\nvar SuperAwesome = Awesomeness.extend({\n data: \'trololol\'\n\n , render: function render(data) {\n console.log(data);\n }\n});\n\nnew SuperAwesome();\n// outputs "trololo" after 100 ms\n```\n\n### License\n\nMIT\n',
22236 silly resolved readmeFilename: 'README.md',
22236 silly resolved bugs: { url: 'https://github.com/3rd-Eden/extendable/issues' },
22236 silly resolved homepage: 'https://github.com/3rd-Eden/extendable',
22236 silly resolved _id: 'extendable@0.0.6',
22236 silly resolved _shasum: 'b85c6a081630b2c9d83588239c20cb3be4776fe6',
22236 silly resolved _from: 'extendable@0.0.x',
22236 silly resolved _resolved: 'https://registry.npmjs.org/extendable/-/extendable-0.0.6.tgz' },
22236 silly resolved { name: 'xregexp',
22236 silly resolved version: '2.0.0',
22236 silly resolved homepage: 'http://xregexp.com/',
22236 silly resolved author: { name: 'Steven Levithan', email: 'steves_list@hotmail.com' },
22236 silly resolved license: 'MIT',
22236 silly resolved repository: { type: 'git', url: 'https://github.com/slevithan/XRegExp.git' },
22236 silly resolved description: 'Extended JavaScript regular expressions',
22236 silly resolved keywords: [ 'regex', 'regexp' ],
22236 silly resolved main: './xregexp-all.js',
22236 silly resolved scripts: { test: 'node tests/node-qunit.js' },
22236 silly resolved devDependencies: { qunit: '>= 0.2.x' },
22236 silly resolved readme: '[XRegExp](http://xregexp.com/)\r\n==============================\r\n\r\nXRegExp provides augmented, extensible, cross-browser JavaScript regular expressions. You get new syntax and flags beyond what browsers support natively, along with a collection of utils to make your client-side grepping and parsing easier. XRegExp also frees you from worrying about pesky inconsistencies in cross-browser regex handling and the dubious `lastIndex` property.\r\n\r\nXRegExp supports all native ES5 regular expression syntax. It\'s about 3.5 KB when minified and gzipped. It works with Internet Explorer 5.5+, Firefox 1.5+, Chrome, Safari 3+, and Opera 9.5+.\r\n\r\n\r\n## Performance\r\n\r\nXRegExp regular expressions compile to native RegExp objects, thus there is no performance difference when using XRegExp objects with native methods. There is a small performance cost when *compiling* XRegExps. If you want, however, you can use `XRegExp.cache` to avoid ever incurring the compilation cost for a given pattern more than once. Doing so can even lead to XRegExp being faster than native regexes in synthetic tests that repeatedly compile the same regex.\r\n\r\n\r\n## Usage examples\r\n\r\n~~~ js\r\n// Using named capture and flag x (free-spacing and line comments)\r\nvar date = XRegExp(\'(?<year> [0-9]{4}) -? # year \\n\\\r\n (?<month> [0-9]{2}) -? # month \\n\\\r\n (?<day> [0-9]{2}) # day \', \'x\');\r\n\r\n// XRegExp.exec gives you named backreferences on the match result\r\nvar match = XRegExp.exec(\'2012-02-22\', date);\r\nmatch.day; // -> \'22\'\r\n\r\n// It also includes optional pos and sticky arguments\r\nvar pos = 3, result = [];\r\nwhile (match = XRegExp.exec(\'<1><2><3><4>5<6>\', /<(\\d+)>/, pos, \'sticky\')) {\r\n result.push(match[1]);\r\n pos = match.index + match[0].length;\r\n} // result -> [\'2\', \'3\', \'4\']\r\n\r\n// XRegExp.replace allows named backreferences in replacements\r\nXRegExp.replace(\'2012-02-22\', date, \'${month}/${day}/${year}\'); // -> \'02/22/2012\'\r\nXRegExp.replace(\'2012-02-22\', date, function (match) {\r\n return match.month + \'/\' + match.day + \'/\' + match.year;\r\n}); // -> \'02/22/2012\'\r\n\r\n// In fact, all XRegExps are RegExps and work perfectly with native methods\r\ndate.test(\'2012-02-22\'); // -> true\r\n\r\n// The *only* caveat is that named captures must be referred to using numbered backreferences\r\n\'2012-02-22\'.replace(date, \'$2/$3/$1\'); // -> \'02/22/2012\'\r\n\r\n// If you want, you can extend native methods so you don\'t have to worry about this\r\n// Doing so also fixes numerous browser bugs in the native methods\r\nXRegExp.install(\'natives\');\r\n\'2012-02-22\'.replace(date, \'${month}/${day}/${year}\'); // -> \'02/22/2012\'\r\n\'2012-02-22\'.replace(date, function (match) {\r\n return match.month + \'/\' + match.day + \'/\' + match.year;\r\n}); // -> \'02/22/2012\'\r\ndate.exec(\'2012-02-22\').day; // -> \'22\'\r\n\r\n// Extract every other digit from a string using XRegExp.forEach\r\nXRegExp.forEach(\'1a2345\', /\\d/, function (match, i) {\r\n if (i % 2) this.push(+match[0]);\r\n}, []); // -> [2, 4]\r\n\r\n// Get numbers within <b> tags using XRegExp.matchChain\r\nXRegExp.matchChain(\'1 <b>2</b> 3 <b>4 a 56</b>\', [\r\n XRegExp(\'(?is)<b>.*?</b>\'),\r\n /\\d+/\r\n]); // -> [\'2\', \'4\', \'56\']\r\n\r\n// You can also pass forward and return specific backreferences\r\nvar html = \'<a href="http://xregexp.com/">XRegExp</a>\\\r\n <a href="http://www.google.com/">Google</a>\';\r\nXRegExp.matchChain(html, [\r\n {regex: /<a href="([^"]+)">/i, backref: 1},\r\n {regex: XRegExp(\'(?i)^https?://(?<domain>[^/?#]+)\'), backref: \'domain\'}\r\n]); // -> [\'xregexp.com\', \'www.google.com\']\r\n\r\n// XRegExp.union safely merges strings and regexes into a single pattern\r\nXRegExp.union([\'a+b*c\', /(dogs)\\1/, /(cats)\\1/], \'i\');\r\n// -> /a\\+b\\*c|(dogs)\\1|(cats)\\2/i\r\n~~~\r\n\r\nThese examples should give you the flavor of what\'s possible, but XRegExp has more syntax, flags, utils, options, and browser fixes that aren\'t shown here. You can even augment XRegExp\'s regular expression syntax with addons (see below) or write your own. See [xregexp.com](http://xregexp.com/) for more details.\r\n\r\n\r\n## Addons\r\n\r\nIn browsers, you can either load addons individually, or bundle all addons together with XRegExp by loading `xregexp-all.js`. XRegExp\'s [npm](http://npmjs.org/) package uses `xregexp-all.js`, which means that the addons are always available when XRegExp is installed on the server using npm.\r\n\r\n\r\n### XRegExp Unicode Base\r\n\r\nIn browsers, first include the Unicode Base script:\r\n\r\n~~~ html\r\n<script src="xregexp.js"></script>\r\n<script src="addons/unicode/unicode-base.js"></script>\r\n~~~\r\n\r\nThen you can do this:\r\n\r\n~~~ js\r\nvar unicodeWord = XRegExp(\'^\\\\p{L}+$\');\r\nunicodeWord.test(\'Русский\'); // -> true\r\nunicodeWord.test(\'日本語\'); // -> true\r\nunicodeWord.test(\'العربية\'); // -> true\r\n~~~\r\n\r\nThe base script adds `\\p{Letter}` and its alias `\\p{L}`, but other Unicode categories, scripts, blocks, and properties require addon packages. Try these next examples after additionally including `unicode-scripts.js`:\r\n\r\n~~~ js\r\nXRegExp(\'^\\\\p{Hiragana}+$\').test(\'ひらがな\'); // -> true\r\nXRegExp(\'^[\\\\p{Latin}\\\\p{Common}]+$\').test(\'Über Café.\'); // -> true\r\n~~~\r\n\r\nXRegExp uses the Unicode 6.1 Basic Multilingual Plane.\r\n\r\n\r\n### XRegExp.build\r\n\r\nIn browsers, first include the script:\r\n\r\n~~~ html\r\n<script src="xregexp.js"></script>\r\n<script src="addons/build.js"></script>\r\n~~~\r\n\r\nYou can then build regular expressions using named subpatterns, for readability and pattern reuse:\r\n\r\n~~~ js\r\nvar time = XRegExp.build(\'(?x)^ {{hours}} ({{minutes}}) $\', {\r\n hours: XRegExp.build(\'{{h12}} : | {{h24}}\', {\r\n h12: /1[0-2]|0?[1-9]/,\r\n h24: /2[0-3]|[01][0-9]/\r\n }, \'x\'),\r\n minutes: /^[0-5][0-9]$/\r\n});\r\n\r\ntime.test(\'10:59\'); // -> true\r\nXRegExp.exec(\'10:59\', time).minutes; // -> \'59\'\r\n~~~\r\n\r\nNamed subpatterns can be provided as strings or regex objects. A leading `^` and trailing unescaped `$` are stripped from subpatterns if both are present, which allows embedding independently useful anchored patterns. `{{…}}` tokens can be quantified as a single unit. Backreferences in the outer pattern and provided subpatterns are automatically renumbered to work correctly within the larger combined pattern. The syntax `({{name}})` works as shorthand for named capture via `(?<name>{{name}})`. Named subpatterns cannot be embedded within character classes.\r\n\r\nSee also: *[Creating Grammatical Regexes Using XRegExp.build](http://blog.stevenlevithan.com/archives/grammatical-patterns-xregexp-build)*.\r\n\r\n\r\n### XRegExp.matchRecursive\r\n\r\nIn browsers, first include the script:\r\n\r\n~~~ html\r\n<script src="xregexp.js"></script>\r\n<script src="addons/matchrecursive.js"></script>\r\n~~~\r\n\r\nYou can then match recursive constructs using XRegExp pattern strings as left and right delimiters:\r\n\r\n~~~ js\r\nvar str = \'(t((e))s)t()(ing)\';\r\nXRegExp.matchRecursive(str, \'\\\\(\', \'\\\\)\', \'g\');\r\n// -> [\'t((e))s\', \'\', \'ing\']\r\n\r\n// Extended information mode with valueNames\r\nstr = \'Here is <div> <div>an</div></div> example\';\r\nXRegExp.matchRecursive(str, \'<div\\\\s*>\', \'</div>\', \'gi\', {\r\n valueNames: [\'between\', \'left\', \'match\', \'right\']\r\n});\r\n/* -> [\r\n{name: \'between\', value: \'Here is \', start: 0, end: 8},\r\n{name: \'left\', value: \'<div>\', start: 8, end: 13},\r\n{name: \'match\', value: \' <div>an</div>\', start: 13, end: 27},\r\n{name: \'right\', value: \'</div>\', start: 27, end: 33},\r\n{name: \'between\', value: \' example\', start: 33, end: 41}\r\n] */\r\n\r\n// Omitting unneeded parts with null valueNames, and using escapeChar\r\nstr = \'...{1}\\\\{{function(x,y){return y+x;}}\';\r\nXRegExp.matchRecursive(str, \'{\', \'}\', \'g\', {\r\n valueNames: [\'literal\', null, \'value\', null],\r\n escapeChar: \'\\\\\'\r\n});\r\n/* -> [\r\n{name: \'literal\', value: \'...\', start: 0, end: 3},\r\n{name: \'value\', value: \'1\', start: 4, end: 5},\r\n{name: \'literal\', value: \'\\\\{\', start: 6, end: 8},\r\n{name: \'value\', value: \'function(x,y){return y+x;}\', start: 9, end: 35}\r\n] */\r\n\r\n// Sticky mode via flag y\r\nstr = \'<1><<<2>>><3>4<5>\';\r\nXRegExp.matchRecursive(str, \'<\', \'>\', \'gy\');\r\n// -> [\'1\', \'<<2>>\', \'3\']\r\n~~~\r\n\r\n`XRegExp.matchRecursive` throws an error if it sees an unbalanced delimiter in the target string.\r\n\r\n\r\n### XRegExp Prototype Methods\r\n\r\nIn browsers, first include the script:\r\n\r\n~~~ html\r\n<script src="xregexp.js"></script>\r\n<script src="addons/prototypes.js"></script>\r\n~~~\r\n\r\nNew XRegExp regexes then gain a collection of useful methods: `apply`, `call`, `forEach`, `globalize`, `xexec`, and `xtest`.\r\n\r\n~~~ js\r\n// To demonstrate the call method, let\'s first create the function we\'ll be using...\r\nfunction filter(array, fn) {\r\n var res = [];\r\n array.forEach(function (el) {if (fn.call(null, el)) res.push(el);});\r\n return res;\r\n}\r\n// Now we can filter arrays using functions and regexes\r\nfilter([\'a\', \'ba\', \'ab\', \'b\'], XRegExp(\'^a\')); // -> [\'a\', \'ab\']\r\n~~~\r\n\r\nNative `RegExp` objects copied by `XRegExp` are augmented with any `XRegExp.prototype` methods. The following lines therefore work equivalently:\r\n\r\n~~~ js\r\nXRegExp(\'[a-z]\', \'ig\').xexec(\'abc\');\r\nXRegExp(/[a-z]/ig).xexec(\'abc\');\r\nXRegExp.globalize(/[a-z]/i).xexec(\'abc\');\r\n~~~\r\n\r\n\r\n## Installation and usage\r\n\r\nIn browsers:\r\n\r\n~~~ html\r\n<script src="xregexp-min.js"></script>\r\n~~~\r\n\r\nOr, to bundle XRegExp with all of its addons:\r\n\r\n~~~ html\r\n<script src="xregexp-all-min.js"></script>\r\n~~~\r\n\r\nUsing [npm](http://npmjs.org/):\r\n\r\n~~~ bash\r\nnpm install xregexp\r\n~~~\r\n\r\nIn [Node.js](http://nodejs.org/) and [CommonJS module](http://wiki.commonjs.org/wiki/Modules) loaders:\r\n\r\n~~~ js\r\nvar XRegExp = require(\'xregexp\').XRegExp;\r\n~~~\r\n\r\n\r\n### Running tests on the server with npm\r\n\r\n~~~ bash\r\nnpm install -g qunit # needed to run the tests\r\nnpm test # in the xregexp root\r\n~~~\r\n\r\nIf XRegExp was not installed using npm, just open `tests/index.html` in your browser.\r\n\r\n\r\n## &c\r\n\r\n**Lookbehind:** A [collection of short functions](https://gist.github.com/2387872) is available that makes it easy to simulate infinite-length leading lookbehind.\r\n\r\n\r\n## Changelog\r\n\r\n* Releases: [Version history](http://xregexp.com/history/).\r\n* Upcoming: [Milestones](https://github.com/slevithan/XRegExp/issues/milestones), [Roadmap](https://github.com/slevithan/XRegExp/wiki/Roadmap).\r\n\r\n\r\n## About\r\n\r\nXRegExp and addons copyright 2007-2012 by [Steven Levithan](http://stevenlevithan.com/).\r\n\r\nTools: Unicode range generators by [Mathias Bynens](http://mathiasbynens.be/). Source file concatenator by [Bjarke Walling](http://twitter.com/walling).\r\n\r\nPrior art: `XRegExp.build` inspired by [Lea Verou](http://lea.verou.me/)\'s [RegExp.create](http://lea.verou.me/2011/03/create-complex-regexps-more-easily/). `XRegExp.union` inspired by [Ruby](http://www.ruby-lang.org/). XRegExp\'s syntax extensions come from Perl, .NET, etc.\r\n\r\nAll code released under the [MIT License](http://mit-license.org/).\r\n\r\nFork me to show support, fix, and extend.\r\n\r\n',
22236 silly resolved readmeFilename: 'README.md',
22236 silly resolved bugs: { url: 'https://github.com/slevithan/XRegExp/issues' },
22236 silly resolved _id: 'xregexp@2.0.0',
22236 silly resolved _shasum: '52a63e56ca0b84a7f3a5f3d61872f126ad7a5943',
22236 silly resolved _from: 'xregexp@2.0.x',
22236 silly resolved _resolved: 'https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz' } ]
22237 info install extendable@0.0.6 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable
22238 info install xregexp@2.0.0 into /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable
22239 info installOne extendable@0.0.6
22240 info installOne xregexp@2.0.0
22241 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules/extendable unbuild
22242 info /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules/xregexp unbuild
22243 silly gunzTarPerm extractEntry contour/package.json
22244 silly gunzTarPerm extractEntry contour/.npmignore
22245 silly lockFile 9a5342a5-es-utile-node-modules-deep-equal tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/deep-equal
22246 silly lockFile 9a5342a5-es-utile-node-modules-deep-equal tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/deep-equal
22247 verbose tar unpack /Users/V1/.npm/extendable/0.0.6/package.tgz
22248 silly lockFile 7554c40d-routable-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules/extendable
22249 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules/extendable /Users/V1/.npm/7554c40d-routable-node-modules-extendable.lock
22250 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
22251 verbose lock tar:///Users/V1/.npm/extendable/0.0.6/package.tgz /Users/V1/.npm/680edfbb-npm-extendable-0-0-6-package-tgz.lock
22252 verbose tar unpack /Users/V1/.npm/xregexp/2.0.0/package.tgz
22253 silly lockFile 3c161593-es-routable-node-modules-xregexp tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules/xregexp
22254 verbose lock tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules/xregexp /Users/V1/.npm/3c161593-es-routable-node-modules-xregexp.lock
22255 silly lockFile 4921f5ed-V1-npm-xregexp-2-0-0-package-tgz tar:///Users/V1/.npm/xregexp/2.0.0/package.tgz
22256 verbose lock tar:///Users/V1/.npm/xregexp/2.0.0/package.tgz /Users/V1/.npm/4921f5ed-V1-npm-xregexp-2-0-0-package-tgz.lock
22257 silly lockFile 2aa92aa2-npm-deep-equal-0-2-1-package-tgz tar:///Users/V1/.npm/deep-equal/0.2.1/package.tgz
22258 silly lockFile 2aa92aa2-npm-deep-equal-0-2-1-package-tgz tar:///Users/V1/.npm/deep-equal/0.2.1/package.tgz
22259 silly gunzTarPerm extractEntry doc/cli/npm-rebuild.md
22260 silly gunzTarPerm modified mode [ 'doc/cli/npm-rebuild.md', 436, 420 ]
22261 silly gunzTarPerm extractEntry doc/cli/npm-repo.md
22262 silly gunzTarPerm modified mode [ 'doc/cli/npm-repo.md', 436, 420 ]
22263 http 200 https://registry.npmjs.org/pygmentize-bundled/-/pygmentize-bundled-2.1.1.tgz
22264 silly gunzTarPerm modes [ '755', '644' ]
22265 silly gunzTarPerm modes [ '755', '644' ]
22266 info preinstall deep-equal@0.2.1
22267 silly lockFile 6d83d89f-odules-utile-node-modules-rimraf tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/rimraf
22268 silly lockFile 6d83d89f-odules-utile-node-modules-rimraf tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/rimraf
22269 verbose readDependencies using package.json deps
22270 silly gunzTarPerm extractEntry package.json
22271 silly lockFile b4f5dcef--V1-npm-rimraf-2-2-8-package-tgz tar:///Users/V1/.npm/rimraf/2.2.8/package.tgz
22272 silly lockFile b4f5dcef--V1-npm-rimraf-2-2-8-package-tgz tar:///Users/V1/.npm/rimraf/2.2.8/package.tgz
22273 verbose readDependencies using package.json deps
22274 silly resolved []
22275 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/deep-equal
22276 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/deep-equal
22277 verbose linkStuff [ false,
22277 verbose linkStuff false,
22277 verbose linkStuff false,
22277 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules' ]
22278 info linkStuff deep-equal@0.2.1
22279 verbose linkBins deep-equal@0.2.1
22280 verbose linkMans deep-equal@0.2.1
22281 verbose rebuildBundles deep-equal@0.2.1
22282 silly gunzTarPerm extractEntry package.json
22283 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
22284 silly gunzTarPerm extractEntry contour/README.md
22285 silly gunzTarPerm extractEntry contour/LICENSE
22286 info install deep-equal@0.2.1
22287 silly gunzTarPerm extractEntry doc/cli/npm-restart.md
22288 silly gunzTarPerm modified mode [ 'doc/cli/npm-restart.md', 436, 420 ]
22289 silly gunzTarPerm extractEntry doc/cli/npm-rm.md
22290 silly gunzTarPerm modified mode [ 'doc/cli/npm-rm.md', 436, 420 ]
22291 info postinstall deep-equal@0.2.1
22292 silly gunzTarPerm extractEntry .npmignore
22293 silly gunzTarPerm extractEntry README.md
22294 info preinstall rimraf@2.2.8
22295 silly gunzTarPerm extractEntry .npmignore
22296 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
22297 silly gunzTarPerm extractEntry README.md
22298 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
22299 verbose readDependencies using package.json deps
22300 verbose readDependencies using package.json deps
22301 silly resolved []
22302 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/rimraf
22303 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/rimraf
22304 verbose linkStuff [ false,
22304 verbose linkStuff false,
22304 verbose linkStuff false,
22304 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules' ]
22305 info linkStuff rimraf@2.2.8
22306 verbose linkBins rimraf@2.2.8
22307 verbose link bins [ { rimraf: './bin.js' },
22307 verbose link bins '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/.bin',
22307 verbose link bins false ]
22308 verbose linkMans rimraf@2.2.8
22309 verbose rebuildBundles rimraf@2.2.8
22310 silly gunzTarPerm extractEntry doc/cli/npm-root.md
22311 silly gunzTarPerm modified mode [ 'doc/cli/npm-root.md', 436, 420 ]
22312 silly gunzTarPerm extractEntry doc/cli/npm-run-script.md
22313 silly gunzTarPerm modified mode [ 'doc/cli/npm-run-script.md', 436, 420 ]
22314 silly gunzTarPerm extractEntry index.js
22315 silly gunzTarPerm extractEntry test.js
22316 silly gunzTarPerm extractEntry contour/assets.js
22317 silly gunzTarPerm extractEntry contour/defaults.js
22318 silly gunzTarPerm extractEntry xregexp-all.js
22319 silly gunzTarPerm modified mode [ 'xregexp-all.js', 438, 420 ]
22320 silly gunzTarPerm extractEntry MIT-LICENSE.txt
22321 silly gunzTarPerm modified mode [ 'MIT-LICENSE.txt', 438, 420 ]
22322 silly gunzTarPerm extractEntry tests/node-qunit.js
22323 silly gunzTarPerm modified mode [ 'tests/node-qunit.js', 438, 420 ]
22324 silly gunzTarPerm extractEntry tests/tests.js
22325 silly gunzTarPerm modified mode [ 'tests/tests.js', 438, 420 ]
22326 info install rimraf@2.2.8
22327 info postinstall rimraf@2.2.8
22328 silly gunzTarPerm extractEntry doc/cli/npm-search.md
22329 silly gunzTarPerm modified mode [ 'doc/cli/npm-search.md', 436, 420 ]
22330 silly gunzTarPerm extractEntry doc/cli/npm-shrinkwrap.md
22331 silly gunzTarPerm modified mode [ 'doc/cli/npm-shrinkwrap.md', 436, 420 ]
22332 silly gunzTarPerm extractEntry .travis.yml
22333 silly gunzTarPerm extractEntry example/index.js
22334 silly gunzTarPerm extractEntry contour/index.js
22335 silly gunzTarPerm extractEntry contour/queue.js
22336 silly gunzTarPerm extractEntry doc/cli/npm-star.md
22337 silly gunzTarPerm modified mode [ 'doc/cli/npm-star.md', 436, 420 ]
22338 silly gunzTarPerm extractEntry doc/cli/npm-stars.md
22339 silly gunzTarPerm modified mode [ 'doc/cli/npm-stars.md', 436, 420 ]
22340 silly gunzTarPerm extractEntry doc/cli/npm-start.md
22341 silly gunzTarPerm modified mode [ 'doc/cli/npm-start.md', 436, 420 ]
22342 silly gunzTarPerm extractEntry doc/cli/npm-stop.md
22343 silly gunzTarPerm modified mode [ 'doc/cli/npm-stop.md', 436, 420 ]
22344 silly gunzTarPerm extractEntry contour/test/client.js
22345 silly gunzTarPerm extractEntry contour/test/common.js
22346 silly gunzTarPerm extractEntry doc/cli/npm-submodule.md
22347 silly gunzTarPerm modified mode [ 'doc/cli/npm-submodule.md', 436, 420 ]
22348 silly gunzTarPerm extractEntry doc/cli/npm-tag.md
22349 silly gunzTarPerm modified mode [ 'doc/cli/npm-tag.md', 436, 420 ]
22350 silly gunzTarPerm extractEntry contour/test/index.test.js
22351 silly gunzTarPerm extractEntry contour/test/assets/alert.test.js
22352 silly lockFile 94f4f159--modules-bigpipe-node-modules-ws tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/ws
22353 silly lockFile 94f4f159--modules-bigpipe-node-modules-ws tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/ws
22354 silly gunzTarPerm extractEntry doc/cli/npm-test.md
22355 silly gunzTarPerm modified mode [ 'doc/cli/npm-test.md', 436, 420 ]
22356 silly gunzTarPerm extractEntry doc/cli/npm-uninstall.md
22357 silly gunzTarPerm modified mode [ 'doc/cli/npm-uninstall.md', 436, 420 ]
22358 silly lockFile 1e40b4ad-ers-V1-npm-ws-0-4-31-package-tgz tar:///Users/V1/.npm/ws/0.4.31/package.tgz
22359 silly lockFile 1e40b4ad-ers-V1-npm-ws-0-4-31-package-tgz tar:///Users/V1/.npm/ws/0.4.31/package.tgz
22360 silly lockFile 3e47f4a8-e-modules-utile-node-modules-ncp tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/ncp
22361 silly lockFile 3e47f4a8-e-modules-utile-node-modules-ncp tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/ncp
22362 silly lockFile d4cf20a1-ers-V1-npm-ncp-0-4-2-package-tgz tar:///Users/V1/.npm/ncp/0.4.2/package.tgz
22363 silly lockFile d4cf20a1-ers-V1-npm-ncp-0-4-2-package-tgz tar:///Users/V1/.npm/ncp/0.4.2/package.tgz
22364 info preinstall ws@0.4.31
22365 info preinstall ncp@0.4.2
22366 verbose readDependencies using package.json deps
22367 verbose readDependencies using package.json deps
22368 silly gunzTarPerm extractEntry doc/cli/npm-unpublish.md
22369 silly gunzTarPerm modified mode [ 'doc/cli/npm-unpublish.md', 436, 420 ]
22370 silly gunzTarPerm extractEntry doc/cli/npm-update.md
22371 silly gunzTarPerm modified mode [ 'doc/cli/npm-update.md', 436, 420 ]
22372 verbose cache add [ 'nan@~0.3.0', null ]
22373 verbose cache add name=undefined spec="nan@~0.3.0" args=["nan@~0.3.0",null]
22374 verbose parsed url { protocol: null,
22374 verbose parsed url slashes: null,
22374 verbose parsed url auth: null,
22374 verbose parsed url host: null,
22374 verbose parsed url port: null,
22374 verbose parsed url hostname: null,
22374 verbose parsed url hash: null,
22374 verbose parsed url search: null,
22374 verbose parsed url query: null,
22374 verbose parsed url pathname: 'nan@~0.3.0',
22374 verbose parsed url path: 'nan@~0.3.0',
22374 verbose parsed url href: 'nan@~0.3.0' }
22375 verbose cache add name="nan" spec="~0.3.0" args=["nan","~0.3.0"]
22376 verbose parsed url { protocol: null,
22376 verbose parsed url slashes: null,
22376 verbose parsed url auth: null,
22376 verbose parsed url host: null,
22376 verbose parsed url port: null,
22376 verbose parsed url hostname: null,
22376 verbose parsed url hash: null,
22376 verbose parsed url search: null,
22376 verbose parsed url query: null,
22376 verbose parsed url pathname: '~0.3.0',
22376 verbose parsed url path: '~0.3.0',
22376 verbose parsed url href: '~0.3.0' }
22377 verbose addNamed [ 'nan', '~0.3.0' ]
22378 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
22379 silly lockFile 7bcce2a2-nan-0-3-0 nan@~0.3.0
22380 verbose lock nan@~0.3.0 /Users/V1/.npm/7bcce2a2-nan-0-3-0.lock
22381 verbose cache add [ 'tinycolor@0.x', null ]
22382 verbose cache add name=undefined spec="tinycolor@0.x" args=["tinycolor@0.x",null]
22383 verbose parsed url { protocol: null,
22383 verbose parsed url slashes: null,
22383 verbose parsed url auth: null,
22383 verbose parsed url host: null,
22383 verbose parsed url port: null,
22383 verbose parsed url hostname: null,
22383 verbose parsed url hash: null,
22383 verbose parsed url search: null,
22383 verbose parsed url query: null,
22383 verbose parsed url pathname: 'tinycolor@0.x',
22383 verbose parsed url path: 'tinycolor@0.x',
22383 verbose parsed url href: 'tinycolor@0.x' }
22384 verbose cache add name="tinycolor" spec="0.x" args=["tinycolor","0.x"]
22385 verbose parsed url { protocol: null,
22385 verbose parsed url slashes: null,
22385 verbose parsed url auth: null,
22385 verbose parsed url host: null,
22385 verbose parsed url port: null,
22385 verbose parsed url hostname: null,
22385 verbose parsed url hash: null,
22385 verbose parsed url search: null,
22385 verbose parsed url query: null,
22385 verbose parsed url pathname: '0.x',
22385 verbose parsed url path: '0.x',
22385 verbose parsed url href: '0.x' }
22386 verbose addNamed [ 'tinycolor', '0.x' ]
22387 verbose addNamed [ null, '>=0.0.0-0 <1.0.0-0' ]
22388 silly lockFile 8f23180d-tinycolor-0-x tinycolor@0.x
22389 verbose lock tinycolor@0.x /Users/V1/.npm/8f23180d-tinycolor-0-x.lock
22390 verbose readDependencies using package.json deps
22391 verbose cache add [ 'options@>=0.0.5', null ]
22392 verbose cache add name=undefined spec="options@>=0.0.5" args=["options@>=0.0.5",null]
22393 verbose parsed url { protocol: null,
22393 verbose parsed url slashes: null,
22393 verbose parsed url auth: null,
22393 verbose parsed url host: null,
22393 verbose parsed url port: null,
22393 verbose parsed url hostname: null,
22393 verbose parsed url hash: null,
22393 verbose parsed url search: null,
22393 verbose parsed url query: null,
22393 verbose parsed url pathname: 'options@%3E=0.0.5',
22393 verbose parsed url path: 'options@%3E=0.0.5',
22393 verbose parsed url href: 'options@%3E=0.0.5' }
22394 verbose cache add name="options" spec=">=0.0.5" args=["options",">=0.0.5"]
22395 verbose parsed url { protocol: null,
22395 verbose parsed url slashes: null,
22395 verbose parsed url auth: null,
22395 verbose parsed url host: null,
22395 verbose parsed url port: null,
22395 verbose parsed url hostname: null,
22395 verbose parsed url hash: null,
22395 verbose parsed url search: null,
22395 verbose parsed url query: null,
22395 verbose parsed url pathname: '%3E=0.0.5',
22395 verbose parsed url path: '%3E=0.0.5',
22395 verbose parsed url href: '%3E=0.0.5' }
22396 verbose addNamed [ 'options', '>=0.0.5' ]
22397 verbose addNamed [ null, '>=0.0.5' ]
22398 silly lockFile 073a6bb3-options-0-0-5 options@>=0.0.5
22399 verbose lock options@>=0.0.5 /Users/V1/.npm/073a6bb3-options-0-0-5.lock
22400 verbose cache add [ 'commander@~0.6.1', null ]
22401 verbose cache add name=undefined spec="commander@~0.6.1" args=["commander@~0.6.1",null]
22402 verbose parsed url { protocol: null,
22402 verbose parsed url slashes: null,
22402 verbose parsed url auth: null,
22402 verbose parsed url host: null,
22402 verbose parsed url port: null,
22402 verbose parsed url hostname: null,
22402 verbose parsed url hash: null,
22402 verbose parsed url search: null,
22402 verbose parsed url query: null,
22402 verbose parsed url pathname: 'commander@~0.6.1',
22402 verbose parsed url path: 'commander@~0.6.1',
22402 verbose parsed url href: 'commander@~0.6.1' }
22403 verbose cache add name="commander" spec="~0.6.1" args=["commander","~0.6.1"]
22404 verbose parsed url { protocol: null,
22404 verbose parsed url slashes: null,
22404 verbose parsed url auth: null,
22404 verbose parsed url host: null,
22404 verbose parsed url port: null,
22404 verbose parsed url hostname: null,
22404 verbose parsed url hash: null,
22404 verbose parsed url search: null,
22404 verbose parsed url query: null,
22404 verbose parsed url pathname: '~0.6.1',
22404 verbose parsed url path: '~0.6.1',
22404 verbose parsed url href: '~0.6.1' }
22405 verbose addNamed [ 'commander', '~0.6.1' ]
22406 verbose addNamed [ null, '>=0.6.1-0 <0.7.0-0' ]
22407 silly lockFile 5c53196d-commander-0-6-1 commander@~0.6.1
22408 verbose lock commander@~0.6.1 /Users/V1/.npm/5c53196d-commander-0-6-1.lock
22409 verbose readDependencies using package.json deps
22410 silly resolved []
22411 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/ncp
22412 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/ncp
22413 verbose linkStuff [ false,
22413 verbose linkStuff false,
22413 verbose linkStuff false,
22413 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules' ]
22414 info linkStuff ncp@0.4.2
22415 verbose linkBins ncp@0.4.2
22416 verbose link bins [ { ncp: './bin/ncp' },
22416 verbose link bins '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/.bin',
22416 verbose link bins false ]
22417 verbose linkMans ncp@0.4.2
22418 verbose rebuildBundles ncp@0.4.2
22419 silly addNameRange { name: 'nan', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
22420 silly addNameRange { name: 'tinycolor',
22420 silly addNameRange range: '>=0.0.0-0 <1.0.0-0',
22420 silly addNameRange hasData: false }
22421 silly lockFile 5e5e1e39-ules-smithy-node-modules-canihaz tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy/node_modules/canihaz
22422 silly lockFile 5e5e1e39-ules-smithy-node-modules-canihaz tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/smithy/node_modules/canihaz
22423 verbose url raw nan
22424 verbose url resolving [ 'https://registry.npmjs.org/', './nan' ]
22425 verbose url resolved https://registry.npmjs.org/nan
22426 info trying registry request attempt 1 at 11:49:55
22427 http GET https://registry.npmjs.org/nan
22428 silly addNameRange { name: 'options', range: '>=0.0.5', hasData: false }
22429 silly addNameRange { name: 'commander',
22429 silly addNameRange range: '>=0.6.1-0 <0.7.0-0',
22429 silly addNameRange hasData: false }
22430 verbose url raw tinycolor
22431 verbose url resolving [ 'https://registry.npmjs.org/', './tinycolor' ]
22432 verbose url resolved https://registry.npmjs.org/tinycolor
22433 info trying registry request attempt 1 at 11:49:55
22434 http GET https://registry.npmjs.org/tinycolor
22435 silly gunzTarPerm extractEntry contour/test/fixtures/assets/alert.html
22436 silly gunzTarPerm extractEntry contour/test/fixtures/import.json
22437 silly lockFile 16a60fac-V1-npm-canihaz-1-0-1-package-tgz tar:///Users/V1/.npm/canihaz/1.0.1/package.tgz
22438 silly lockFile 16a60fac-V1-npm-canihaz-1-0-1-package-tgz tar:///Users/V1/.npm/canihaz/1.0.1/package.tgz
22439 verbose url raw options
22440 verbose url resolving [ 'https://registry.npmjs.org/', './options' ]
22441 verbose url resolved https://registry.npmjs.org/options
22442 info trying registry request attempt 1 at 11:49:55
22443 http GET https://registry.npmjs.org/options
22444 verbose url raw commander
22445 verbose url resolving [ 'https://registry.npmjs.org/', './commander' ]
22446 verbose url resolved https://registry.npmjs.org/commander
22447 info trying registry request attempt 1 at 11:49:55
22448 http GET https://registry.npmjs.org/commander
22449 info preinstall canihaz@1.0.1
22450 silly gunzTarPerm extractEntry doc/cli/npm-version.md
22451 silly gunzTarPerm modified mode [ 'doc/cli/npm-version.md', 436, 420 ]
22452 silly gunzTarPerm extractEntry doc/cli/npm-view.md
22453 silly gunzTarPerm modified mode [ 'doc/cli/npm-view.md', 436, 420 ]
22454 info install ncp@0.4.2
22455 silly gunzTarPerm extractEntry test/standalone/test-content-transfer-encoding.js
22456 silly gunzTarPerm extractEntry test/standalone/test-invalid.js
22457 verbose readDependencies using package.json deps
22458 info postinstall ncp@0.4.2
22459 verbose readDependencies using package.json deps
22460 silly lockFile 7554c40d-routable-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules/extendable
22461 silly lockFile 7554c40d-routable-node-modules-extendable tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules/extendable
22462 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
22463 silly lockFile 680edfbb-npm-extendable-0-0-6-package-tgz tar:///Users/V1/.npm/extendable/0.0.6/package.tgz
22464 verbose cache add [ 'which@1.0.x', null ]
22465 verbose cache add name=undefined spec="which@1.0.x" args=["which@1.0.x",null]
22466 verbose parsed url { protocol: null,
22466 verbose parsed url slashes: null,
22466 verbose parsed url auth: null,
22466 verbose parsed url host: null,
22466 verbose parsed url port: null,
22466 verbose parsed url hostname: null,
22466 verbose parsed url hash: null,
22466 verbose parsed url search: null,
22466 verbose parsed url query: null,
22466 verbose parsed url pathname: 'which@1.0.x',
22466 verbose parsed url path: 'which@1.0.x',
22466 verbose parsed url href: 'which@1.0.x' }
22467 verbose cache add name="which" spec="1.0.x" args=["which","1.0.x"]
22468 verbose parsed url { protocol: null,
22468 verbose parsed url slashes: null,
22468 verbose parsed url auth: null,
22468 verbose parsed url host: null,
22468 verbose parsed url port: null,
22468 verbose parsed url hostname: null,
22468 verbose parsed url hash: null,
22468 verbose parsed url search: null,
22468 verbose parsed url query: null,
22468 verbose parsed url pathname: '1.0.x',
22468 verbose parsed url path: '1.0.x',
22468 verbose parsed url href: '1.0.x' }
22469 verbose addNamed [ 'which', '1.0.x' ]
22470 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
22471 silly lockFile 2f036e04-which-1-0-x which@1.0.x
22472 verbose lock which@1.0.x /Users/V1/.npm/2f036e04-which-1-0-x.lock
22473 verbose cache add [ 'semver@1.1.x', null ]
22474 verbose cache add name=undefined spec="semver@1.1.x" args=["semver@1.1.x",null]
22475 verbose parsed url { protocol: null,
22475 verbose parsed url slashes: null,
22475 verbose parsed url auth: null,
22475 verbose parsed url host: null,
22475 verbose parsed url port: null,
22475 verbose parsed url hostname: null,
22475 verbose parsed url hash: null,
22475 verbose parsed url search: null,
22475 verbose parsed url query: null,
22475 verbose parsed url pathname: 'semver@1.1.x',
22475 verbose parsed url path: 'semver@1.1.x',
22475 verbose parsed url href: 'semver@1.1.x' }
22476 verbose cache add name="semver" spec="1.1.x" args=["semver","1.1.x"]
22477 verbose parsed url { protocol: null,
22477 verbose parsed url slashes: null,
22477 verbose parsed url auth: null,
22477 verbose parsed url host: null,
22477 verbose parsed url port: null,
22477 verbose parsed url hostname: null,
22477 verbose parsed url hash: null,
22477 verbose parsed url search: null,
22477 verbose parsed url query: null,
22477 verbose parsed url pathname: '1.1.x',
22477 verbose parsed url path: '1.1.x',
22477 verbose parsed url href: '1.1.x' }
22478 verbose addNamed [ 'semver', '1.1.x' ]
22479 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
22480 silly lockFile 674d9f7e-semver-1-1-x semver@1.1.x
22481 verbose lock semver@1.1.x /Users/V1/.npm/674d9f7e-semver-1-1-x.lock
22482 verbose cache add [ 'mkdirp@0.3.x', null ]
22483 verbose cache add name=undefined spec="mkdirp@0.3.x" args=["mkdirp@0.3.x",null]
22484 verbose parsed url { protocol: null,
22484 verbose parsed url slashes: null,
22484 verbose parsed url auth: null,
22484 verbose parsed url host: null,
22484 verbose parsed url port: null,
22484 verbose parsed url hostname: null,
22484 verbose parsed url hash: null,
22484 verbose parsed url search: null,
22484 verbose parsed url query: null,
22484 verbose parsed url pathname: 'mkdirp@0.3.x',
22484 verbose parsed url path: 'mkdirp@0.3.x',
22484 verbose parsed url href: 'mkdirp@0.3.x' }
22485 verbose cache add name="mkdirp" spec="0.3.x" args=["mkdirp","0.3.x"]
22486 verbose parsed url { protocol: null,
22486 verbose parsed url slashes: null,
22486 verbose parsed url auth: null,
22486 verbose parsed url host: null,
22486 verbose parsed url port: null,
22486 verbose parsed url hostname: null,
22486 verbose parsed url hash: null,
22486 verbose parsed url search: null,
22486 verbose parsed url query: null,
22486 verbose parsed url pathname: '0.3.x',
22486 verbose parsed url path: '0.3.x',
22486 verbose parsed url href: '0.3.x' }
22487 verbose addNamed [ 'mkdirp', '0.3.x' ]
22488 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
22489 silly lockFile 6d3723ce-mkdirp-0-3-x mkdirp@0.3.x
22490 verbose lock mkdirp@0.3.x /Users/V1/.npm/6d3723ce-mkdirp-0-3-x.lock
22491 silly addNameRange { name: 'which', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
22492 silly addNameRange { name: 'semver', range: '>=1.1.0-0 <1.2.0-0', hasData: false }
22493 silly gunzTarPerm extractEntry doc/cli/npm-whoami.md
22494 silly gunzTarPerm modified mode [ 'doc/cli/npm-whoami.md', 436, 420 ]
22495 silly gunzTarPerm extractEntry doc/cli/npm.md
22496 silly gunzTarPerm modified mode [ 'doc/cli/npm.md', 436, 420 ]
22497 silly gunzTarPerm extractEntry contour/test/fixtures/scaffold/addFile.ejs
22498 silly gunzTarPerm extractEntry contour/test/fixtures/scaffold/addFile.html
22499 verbose url raw which
22500 verbose url resolving [ 'https://registry.npmjs.org/', './which' ]
22501 verbose url resolved https://registry.npmjs.org/which
22502 info trying registry request attempt 1 at 11:49:55
22503 http GET https://registry.npmjs.org/which
22504 silly addNameRange { name: 'mkdirp', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
22505 info preinstall extendable@0.0.6
22506 verbose readDependencies using package.json deps
22507 verbose url raw semver
22508 verbose url resolving [ 'https://registry.npmjs.org/', './semver' ]
22509 verbose url resolved https://registry.npmjs.org/semver
22510 info trying registry request attempt 1 at 11:49:55
22511 verbose etag "T4NBD4IYGN8BIC090V2SICIE"
22512 http GET https://registry.npmjs.org/semver
22513 verbose readDependencies using package.json deps
22514 silly resolved []
22515 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules/extendable
22516 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules/extendable
22517 verbose linkStuff [ false,
22517 verbose linkStuff false,
22517 verbose linkStuff false,
22517 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/routable/node_modules' ]
22518 info linkStuff extendable@0.0.6
22519 verbose linkBins extendable@0.0.6
22520 verbose linkMans extendable@0.0.6
22521 verbose rebuildBundles extendable@0.0.6
22522 silly gunzTarPerm extractEntry test/standalone/test-issue-15.js
22523 silly gunzTarPerm extractEntry test/standalone/test-issue-19.js
22524 verbose registry.get mkdirp not expired, no request
22525 silly addNameRange number 2 { name: 'mkdirp', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
22526 silly addNameRange versions [ 'mkdirp',
22526 silly addNameRange [ '0.0.1',
22526 silly addNameRange '0.0.2',
22526 silly addNameRange '0.0.3',
22526 silly addNameRange '0.0.4',
22526 silly addNameRange '0.0.5',
22526 silly addNameRange '0.0.6',
22526 silly addNameRange '0.0.7',
22526 silly addNameRange '0.1.0',
22526 silly addNameRange '0.2.0',
22526 silly addNameRange '0.2.1',
22526 silly addNameRange '0.2.2',
22526 silly addNameRange '0.3.0',
22526 silly addNameRange '0.3.1',
22526 silly addNameRange '0.3.2',
22526 silly addNameRange '0.3.3',
22526 silly addNameRange '0.3.4',
22526 silly addNameRange '0.3.5',
22526 silly addNameRange '0.4.0',
22526 silly addNameRange '0.4.1',
22526 silly addNameRange '0.4.2',
22526 silly addNameRange '0.5.0' ] ]
22527 verbose addNamed [ 'mkdirp', '0.3.5' ]
22528 verbose addNamed [ '0.3.5', '0.3.5' ]
22529 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
22530 verbose lock mkdirp@0.3.5 /Users/V1/.npm/67d2df2a-mkdirp-0-3-5.lock
22531 info install extendable@0.0.6
22532 info postinstall extendable@0.0.6
22533 silly lockFile 7b2ebe55-pmjs-org-mkdirp-mkdirp-0-3-5-tgz https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
22534 verbose lock https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz /Users/V1/.npm/7b2ebe55-pmjs-org-mkdirp-mkdirp-0-3-5-tgz.lock
22535 silly gunzTarPerm extractEntry doc/files/
22536 silly gunzTarPerm modified mode [ 'doc/files/', 509, 493 ]
22537 silly gunzTarPerm extractEntry doc/files/npm-folders.md
22538 silly gunzTarPerm modified mode [ 'doc/files/npm-folders.md', 436, 420 ]
22539 verbose addRemoteTarball [ 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz',
22539 verbose addRemoteTarball 'de3e5f8961c88c787ee1368df849ac4413eca8d7' ]
22540 info retry fetch attempt 1 at 11:49:55
22541 verbose fetch to= /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628995222-0.8039755534846336/tmp.tgz
22542 silly gunzTarPerm extractEntry contour/test/fixtures/scaffold/chainclude.ejs
22543 silly gunzTarPerm extractEntry contour/test/fixtures/scaffold/main.ejs
22544 http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
22545 silly gunzTarPerm extractEntry test/standalone/test-issue-21.js
22546 silly gunzTarPerm extractEntry test/standalone/test-issue-4.js
22547 silly gunzTarPerm extractEntry doc/files/npmrc.md
22548 silly gunzTarPerm modified mode [ 'doc/files/npmrc.md', 436, 420 ]
22549 silly gunzTarPerm extractEntry doc/files/package.json.md
22550 silly gunzTarPerm modified mode [ 'doc/files/package.json.md', 436, 420 ]
22551 silly gunzTarPerm extractEntry test/standalone/test-issue-46.js
22552 silly gunzTarPerm extractEntry test/standalone/test-issue-5.js
22553 silly gunzTarPerm extractEntry contour/test/fixtures/scaffold/markdown.md
22554 silly gunzTarPerm extractEntry contour/test/mocha.opts
22555 silly gunzTarPerm extractEntry doc/misc/
22556 silly gunzTarPerm modified mode [ 'doc/misc/', 509, 493 ]
22557 silly gunzTarPerm extractEntry doc/misc/npm-coding-style.md
22558 silly gunzTarPerm modified mode [ 'doc/misc/npm-coding-style.md', 436, 420 ]
22559 silly gunzTarPerm extractEntry doc/misc/npm-config.md
22560 silly gunzTarPerm modified mode [ 'doc/misc/npm-config.md', 436, 420 ]
22561 silly gunzTarPerm extractEntry doc/misc/npm-developers.md
22562 silly gunzTarPerm modified mode [ 'doc/misc/npm-developers.md', 436, 420 ]
22563 silly gunzTarPerm extractEntry contour/assets/alert.js
22564 silly gunzTarPerm extractEntry contour/assets/button.js
22565 silly gunzTarPerm extractEntry doc/misc/npm-disputes.md
22566 silly gunzTarPerm modified mode [ 'doc/misc/npm-disputes.md', 436, 420 ]
22567 silly gunzTarPerm extractEntry doc/misc/npm-faq.md
22568 silly gunzTarPerm modified mode [ 'doc/misc/npm-faq.md', 436, 420 ]
22569 silly lockFile 58d6c468-odules-utile-node-modules-mkdirp tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/mkdirp
22570 silly lockFile 58d6c468-odules-utile-node-modules-mkdirp tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/mkdirp
22571 silly lockFile cdab583b--V1-npm-mkdirp-0-5-0-package-tgz tar:///Users/V1/.npm/mkdirp/0.5.0/package.tgz
22572 silly lockFile cdab583b--V1-npm-mkdirp-0-5-0-package-tgz tar:///Users/V1/.npm/mkdirp/0.5.0/package.tgz
22573 silly gunzTarPerm extractEntry contour/assets/pagelet.js
22574 silly gunzTarPerm extractEntry contour/assets/footer.js
22575 silly lockFile bcef1dd0-ode-modules-utile-node-modules-i tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/i
22576 silly lockFile bcef1dd0-ode-modules-utile-node-modules-i tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/i
22577 info preinstall mkdirp@0.5.0
22578 silly lockFile 98a3cc67-Users-V1-npm-i-0-3-2-package-tgz tar:///Users/V1/.npm/i/0.3.2/package.tgz
22579 silly lockFile 98a3cc67-Users-V1-npm-i-0-3-2-package-tgz tar:///Users/V1/.npm/i/0.3.2/package.tgz
22580 silly gunzTarPerm extractEntry doc/misc/npm-registry.md
22581 silly gunzTarPerm modified mode [ 'doc/misc/npm-registry.md', 436, 420 ]
22582 silly gunzTarPerm extractEntry doc/misc/npm-scripts.md
22583 silly gunzTarPerm modified mode [ 'doc/misc/npm-scripts.md', 436, 420 ]
22584 verbose readDependencies using package.json deps
22585 silly lockFile 8201363b-ules-bigpipe-node-modules-primus tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/primus
22586 silly lockFile 8201363b-ules-bigpipe-node-modules-primus tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/bigpipe/node_modules/primus
22587 verbose readDependencies using package.json deps
22588 silly lockFile 32554762--V1-npm-primus-2-2-1-package-tgz tar:///Users/V1/.npm/primus/2.2.1/package.tgz
22589 silly lockFile 32554762--V1-npm-primus-2-2-1-package-tgz tar:///Users/V1/.npm/primus/2.2.1/package.tgz
22590 info preinstall i@0.3.2
22591 verbose cache add [ 'minimist@0.0.8', null ]
22592 verbose cache add name=undefined spec="minimist@0.0.8" args=["minimist@0.0.8",null]
22593 verbose parsed url { protocol: null,
22593 verbose parsed url slashes: null,
22593 verbose parsed url auth: null,
22593 verbose parsed url host: null,
22593 verbose parsed url port: null,
22593 verbose parsed url hostname: null,
22593 verbose parsed url hash: null,
22593 verbose parsed url search: null,
22593 verbose parsed url query: null,
22593 verbose parsed url pathname: 'minimist@0.0.8',
22593 verbose parsed url path: 'minimist@0.0.8',
22593 verbose parsed url href: 'minimist@0.0.8' }
22594 verbose cache add name="minimist" spec="0.0.8" args=["minimist","0.0.8"]
22595 verbose parsed url { protocol: null,
22595 verbose parsed url slashes: null,
22595 verbose parsed url auth: null,
22595 verbose parsed url host: null,
22595 verbose parsed url port: null,
22595 verbose parsed url hostname: null,
22595 verbose parsed url hash: null,
22595 verbose parsed url search: null,
22595 verbose parsed url query: null,
22595 verbose parsed url pathname: '0.0.8',
22595 verbose parsed url path: '0.0.8',
22595 verbose parsed url href: '0.0.8' }
22596 verbose addNamed [ 'minimist', '0.0.8' ]
22597 verbose addNamed [ '0.0.8', '0.0.8' ]
22598 silly lockFile 22c6b485-minimist-0-0-8 minimist@0.0.8
22599 verbose lock minimist@0.0.8 /Users/V1/.npm/22c6b485-minimist-0-0-8.lock
22600 verbose readDependencies using package.json deps
22601 info preinstall primus@2.2.1
22602 verbose readDependencies using package.json deps
22603 silly resolved []
22604 verbose about to build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/i
22605 info build /Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules/i
22606 verbose linkStuff [ false,
22606 verbose linkStuff false,
22606 verbose linkStuff false,
22606 verbose linkStuff '/Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/contour/node_modules/utile/node_modules' ]
22607 info linkStuff i@0.3.2
22608 verbose linkBins i@0.3.2
22609 verbose linkMans i@0.3.2
22610 verbose rebuildBundles i@0.3.2
22611 info install i@0.3.2
22612 silly gunzTarPerm extractEntry doc/misc/removing-npm.md
22613 silly gunzTarPerm modified mode [ 'doc/misc/removing-npm.md', 436, 420 ]
22614 silly gunzTarPerm extractEntry contour/assets/navigation.js
22615 silly gunzTarPerm extractEntry contour/assets/login.js
22616 verbose readDependencies using package.json deps
22617 info postinstall i@0.3.2
22618 verbose url raw minimist
22619 verbose url resolving [ 'https://registry.npmjs.org/', './minimist' ]
22620 verbose url resolved https://registry.npmjs.org/minimist
22621 info trying registry request attempt 1 at 11:49:55
22622 verbose etag "1G7BHTDXZK01U4K3DM3Q4FNBJ"
22623 http GET https://registry.npmjs.org/minimist
22624 verbose readDependencies using package.json deps
22625 verbose cache add [ 'load@1.0.x', null ]
22626 verbose cache add name=undefined spec="load@1.0.x" args=["load@1.0.x",null]
22627 verbose parsed url { protocol: null,
22627 verbose parsed url slashes: null,
22627 verbose parsed url auth: null,
22627 verbose parsed url host: null,
22627 verbose parsed url port: null,
22627 verbose parsed url hostname: null,
22627 verbose parsed url hash: null,
22627 verbose parsed url search: null,
22627 verbose parsed url query: null,
22627 verbose parsed url pathname: 'load@1.0.x',
22627 verbose parsed url path: 'load@1.0.x',
22627 verbose parsed url href: 'load@1.0.x' }
22628 verbose cache add name="load" spec="1.0.x" args=["load","1.0.x"]
22629 verbose parsed url { protocol: null,
22629 verbose parsed url slashes: null,
22629 verbose parsed url auth: null,
22629 verbose parsed url host: null,
22629 verbose parsed url port: null,
22629 verbose parsed url hostname: null,
22629 verbose parsed url hash: null,
22629 verbose parsed url search: null,
22629 verbose parsed url query: null,
22629 verbose parsed url pathname: '1.0.x',
22629 verbose parsed url path: '1.0.x',
22629 verbose parsed url href: '1.0.x' }
22630 verbose addNamed [ 'load', '1.0.x' ]
22631 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
22632 silly lockFile 8f7127d2-load-1-0-x load@1.0.x
22633 verbose lock load@1.0.x /Users/V1/.npm/8f7127d2-load-1-0-x.lock
22634 silly addNameRange { name: 'load', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
22635 verbose cache add [ 'setheader@0.0.x', null ]
22636 verbose cache add name=undefined spec="setheader@0.0.x" args=["setheader@0.0.x",null]
22637 verbose parsed url { protocol: null,
22637 verbose parsed url slashes: null,
22637 verbose parsed url auth: null,
22637 verbose parsed url host: null,
22637 verbose parsed url port: null,
22637 verbose parsed url hostname: null,
22637 verbose parsed url hash: null,
22637 verbose parsed url search: null,
22637 verbose parsed url query: null,
22637 verbose parsed url pathname: 'setheader@0.0.x',
22637 verbose parsed url path: 'setheader@0.0.x',
22637 verbose parsed url href: 'setheader@0.0.x' }
22638 verbose cache add name="setheader" spec="0.0.x" args=["setheader","0.0.x"]
22639 verbose parsed url { protocol: null,
22639 verbose parsed url slashes: null,
22639 verbose parsed url auth: null,
22639 verbose parsed url host: null,
22639 verbose parsed url port: null,
22639 verbose parsed url hostname: null,
22639 verbose parsed url hash: null,
22639 verbose parsed url search: null,
22639 verbose parsed url query: null,
22639 verbose parsed url pathname: '0.0.x',
22639 verbose parsed url path: '0.0.x',
22639 verbose parsed url href: '0.0.x' }
22640 verbose addNamed [ 'setheader', '0.0.x' ]
22641 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
22642 silly lockFile 2c50cb75-setheader-0-0-x setheader@0.0.x
22643 verbose lock setheader@0.0.x /Users/V1/.npm/2c50cb75-setheader-0-0-x.lock
22644 silly addNameRange { name: 'setheader',
22644 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
22644 silly addNameRange hasData: false }
22645 verbose url raw setheader
22646 verbose url resolving [ 'https://registry.npmjs.org/', './setheader' ]
22647 verbose url resolved https://registry.npmjs.org/setheader
22648 info trying registry request attempt 1 at 11:49:55
22649 http GET https://registry.npmjs.org/setheader
22650 verbose registry.get load not expired, no request
22651 silly addNameRange number 2 { name: 'load', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
22652 silly addNameRange versions [ 'load',
22652 silly addNameRange [ '0.0.0',
22652 silly addNameRange '0.0.1',
22652 silly addNameRange '0.0.2',
22652 silly addNameRange '0.0.3',
22652 silly addNameRange '0.1.0',
22652 silly addNameRange '0.1.1',
22652 silly addNameRange '0.1.2',
22652 silly addNameRange '0.1.3',
22652 silly addNameRange '0.1.4',
22652 silly addNameRange '1.0.0',
22652 silly addNameRange '1.0.1' ] ]
22653 verbose addNamed [ 'load', '1.0.1' ]
22654 verbose addNamed [ '1.0.1', '1.0.1' ]
22655 silly lockFile fb72a732-load-1-0-1 load@1.0.1
22656 verbose lock load@1.0.1 /Users/V1/.npm/fb72a732-load-1-0-1.lock
22657 verbose cache add [ 'forwarded-for@0.0.x', null ]
22658 verbose cache add name=undefined spec="forwarded-for@0.0.x" args=["forwarded-for@0.0.x",null]
22659 verbose parsed url { protocol: null,
22659 verbose parsed url slashes: null,
22659 verbose parsed url auth: null,
22659 verbose parsed url host: null,
22659 verbose parsed url port: null,
22659 verbose parsed url hostname: null,
22659 verbose parsed url hash: null,
22659 verbose parsed url search: null,
22659 verbose parsed url query: null,
22659 verbose parsed url pathname: 'forwarded-for@0.0.x',
22659 verbose parsed url path: 'forwarded-for@0.0.x',
22659 verbose parsed url href: 'forwarded-for@0.0.x' }
22660 verbose cache add name="forwarded-for" spec="0.0.x" args=["forwarded-for","0.0.x"]
22661 verbose parsed url { protocol: null,
22661 verbose parsed url slashes: null,
22661 verbose parsed url auth: null,
22661 verbose parsed url host: null,
22661 verbose parsed url port: null,
22661 verbose parsed url hostname: null,
22661 verbose parsed url hash: null,
22661 verbose parsed url search: null,
22661 verbose parsed url query: null,
22661 verbose parsed url pathname: '0.0.x',
22661 verbose parsed url path: '0.0.x',
22661 verbose parsed url href: '0.0.x' }
22662 verbose addNamed [ 'forwarded-for', '0.0.x' ]
22663 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
22664 silly lockFile 22cbb348-forwarded-for-0-0-x forwarded-for@0.0.x
22665 verbose lock forwarded-for@0.0.x /Users/V1/.npm/22cbb348-forwarded-for-0-0-x.lock
22666 verbose cache add [ 'access-control@0.0.x', null ]
22667 verbose cache add name=undefined spec="access-control@0.0.x" args=["access-control@0.0.x",null]
22668 verbose parsed url { protocol: null,
22668 verbose parsed url slashes: null,
22668 verbose parsed url auth: null,
22668 verbose parsed url host: null,
22668 verbose parsed url port: null,
22668 verbose parsed url hostname: null,
22668 verbose parsed url hash: null,
22668 verbose parsed url search: null,
22668 verbose parsed url query: null,
22668 verbose parsed url pathname: 'access-control@0.0.x',
22668 verbose parsed url path: 'access-control@0.0.x',
22668 verbose parsed url href: 'access-control@0.0.x' }
22669 verbose cache add name="access-control" spec="0.0.x" args=["access-control","0.0.x"]
22670 verbose parsed url { protocol: null,
22670 verbose parsed url slashes: null,
22670 verbose parsed url auth: null,
22670 verbose parsed url host: null,
22670 verbose parsed url port: null,
22670 verbose parsed url hostname: null,
22670 verbose parsed url hash: null,
22670 verbose parsed url search: null,
22670 verbose parsed url query: null,
22670 verbose parsed url pathname: '0.0.x',
22670 verbose parsed url path: '0.0.x',
22670 verbose parsed url href: '0.0.x' }
22671 verbose addNamed [ 'access-control', '0.0.x' ]
22672 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
22673 silly lockFile 388308a9-access-control-0-0-x access-control@0.0.x
22674 verbose lock access-control@0.0.x /Users/V1/.npm/388308a9-access-control-0-0-x.lock
22675 silly gunzTarPerm extractEntry doc/misc/semver.md
22676 silly gunzTarPerm modified mode [ 'doc/misc/semver.md', 436, 420 ]
22677 silly gunzTarPerm extractEntry html/
22678 silly gunzTarPerm modified mode [ 'html/', 509, 493 ]
22679 silly gunzTarPerm extractEntry contour/assets/base/labels.styl
22680 silly gunzTarPerm extractEntry contour/assets/base/breadcrumb.styl
22681 silly addNameRange { name: 'forwarded-for',
22681 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
22681 silly addNameRange hasData: false }
22682 silly addNameRange { name: 'access-control',
22682 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
22682 silly addNameRange hasData: false }
22683 silly lockFile fb72a732-load-1-0-1 load@1.0.1
22684 silly lockFile fb72a732-load-1-0-1 load@1.0.1
22685 verbose url raw forwarded-for
22686 verbose url resolving [ 'https://registry.npmjs.org/', './forwarded-for' ]
22687 verbose url resolved https://registry.npmjs.org/forwarded-for
22688 info trying registry request attempt 1 at 11:49:55
22689 http GET https://registry.npmjs.org/forwarded-for
22690 verbose url raw access-control
22691 verbose url resolving [ 'https://registry.npmjs.org/', './access-control' ]
22692 verbose url resolved https://registry.npmjs.org/access-control
22693 info trying registry request attempt 1 at 11:49:55
22694 http GET https://registry.npmjs.org/access-control
22695 silly lockFile 8f7127d2-load-1-0-x load@1.0.x
22696 silly lockFile 8f7127d2-load-1-0-x load@1.0.x
22697 silly gunzTarPerm extractEntry html/docfoot.html
22698 silly gunzTarPerm modified mode [ 'html/docfoot.html', 436, 420 ]
22699 silly gunzTarPerm extractEntry html/dochead.html
22700 silly gunzTarPerm modified mode [ 'html/dochead.html', 436, 420 ]
22701 silly gunzTarPerm extractEntry contour/assets/base/creditcard.styl
22702 silly gunzTarPerm extractEntry contour/assets/base/defaults.styl
22703 silly lockFile 04a019ef--connect-node-modules-multiparty tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/multiparty
22704 silly lockFile 04a019ef--connect-node-modules-multiparty tar:///Users/V1/Projects/nodejitsu/browsenpm.org/node_modules/connect/node_modules/multiparty
22705 silly gunzTarPerm extractEntry html/favicon.ico
22706 silly gunzTarPerm modified mode [ 'html/favicon.ico', 436, 420 ]
22707 silly gunzTarPerm extractEntry html/index.html
22708 silly gunzTarPerm modified mode [ 'html/index.html', 436, 420 ]
22709 silly gunzTarPerm extractEntry html/n-64.png
22710 silly gunzTarPerm modified mode [ 'html/n-64.png', 436, 420 ]
22711 silly lockFile 9252d8d0-npm-multiparty-2-2-0-package-tgz tar:///Users/V1/.npm/multiparty/2.2.0/package.tgz
22712 silly lockFile 9252d8d0-npm-multiparty-2-2-0-package-tgz tar:///Users/V1/.npm/multiparty/2.2.0/package.tgz
22713 info preinstall multiparty@2.2.0
22714 silly gunzTarPerm extractEntry html/n-large.png
22715 silly gunzTarPerm modified mode [ 'html/n-large.png', 436, 420 ]
22716 silly gunzTarPerm extractEntry html/npm-16.png
22717 silly gunzTarPerm modified mode [ 'html/npm-16.png', 436, 420 ]
22718 verbose readDependencies using package.json deps
22719 silly gunzTarPerm extractEntry contour/assets/base/faux-columns.styl
22720 silly gunzTarPerm extractEntry contour/assets/base/form.styl
22721 verbose readDependencies using package.json deps
22722 verbose cache add [ 'readable-stream@~1.1.9', null ]
22723 verbose cache add name=undefined spec="readable-stream@~1.1.9" args=["readable-stream@~1.1.9",null]
22724 verbose parsed url { protocol: null,
22724 verbose parsed url slashes: null,
22724 verbose parsed url auth: null,
22724 verbose parsed url host: null,
22724 verbose parsed url port: null,
22724 verbose parsed url hostname: null,
22724 verbose parsed url hash: null,
22724 verbose parsed url search: null,
22724 verbose parsed url query: null,
22724 verbose parsed url pathname: 'readable-stream@~1.1.9',
22724 verbose parsed url path: 'readable-stream@~1.1.9',
22724 verbose parsed url href: 'readable-stream@~1.1.9' }
22725 verbose cache add name="readable-stream" spec="~1.1.9" args=["readable-stream","~1.1.9"]
22726 verbose parsed url { protocol: null,
22726 verbose parsed url slashes: null,
22726 verbose parsed url auth: null,
22726 verbose parsed url host: null,
22726 verbose parsed url port: null,
22726 verbose parsed url hostname: null,
22726 verbose parsed url hash: null,
22726 verbose parsed url search: null,
22726 verbose parsed url query: null,
22726 verbose parsed url pathname: '~1.1.9',
22726 verbose parsed url path: '~1.1.9',
22726 verbose parsed url href: '~1.1.9' }
22727 verbose addNamed [ 'readable-stream', '~1.1.9' ]
22728 verbose addNamed [ null, '>=1.1.9-0 <1.2.0-0' ]
22729 silly lockFile f517707b-readable-stream-1-1-9 readable-stream@~1.1.9
22730 verbose lock readable-stream@~1.1.9 /Users/V1/.npm/f517707b-readable-stream-1-1-9.lock
22731 verbose cache add [ 'stream-counter@~0.2.0', null ]
22732 verbose cache add name=undefined spec="stream-counter@~0.2.0" args=["stream-counter@~0.2.0",null]
22733 verbose parsed url { protocol: null,
22733 verbose parsed url slashes: null,
22733 verbose parsed url auth: null,
22733 verbose parsed url host: null,
22733 verbose parsed url port: null,
22733 verbose parsed url hostname: null,
22733 verbose parsed url hash: null,
22733 verbose parsed url search: null,
22733 verbose parsed url query: null,
22733 verbose parsed url pathname: 'stream-counter@~0.2.0',
22733 verbose parsed url path: 'stream-counter@~0.2.0',
22733 verbose parsed url href: 'stream-counter@~0.2.0' }
22734 verbose cache add name="stream-counter" spec="~0.2.0" args=["stream-counter","~0.2.0"]
22735 verbose parsed url { protocol: null,
22735 verbose parsed url slashes: null,
22735 verbose parsed url auth: null,
22735 verbose parsed url host: null,
22735 verbose parsed url port: null,
22735 verbose parsed url hostname: null,
22735 verbose parsed url hash: null,
22735 verbose parsed url search: null,
22735 verbose parsed url query: null,
22735 verbose parsed url pathname: '~0.2.0',
22735 verbose parsed url path: '~0.2.0',
22735 verbose parsed url href: '~0.2.0' }
22736 verbose addNamed [ 'stream-counter', '~0.2.0' ]
22737 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
22738 silly lockFile 564556da-stream-counter-0-2-0 stream-counter@~0.2.0
22739 verbose lock stream-counter@~0.2.0 /Users/V1/.npm/564556da-stream-counter-0-2-0.lock
22740 silly addNameRange { name: 'readable-stream',
22740 silly addNameRange range: '>=1.1.9-0 <1.2.0-0',
22740 silly addNameRange hasData: false }
22741 silly addNameRange { name: 'stream-counter',
22741 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
22741 silly addNameRange hasData: false }
22742 silly gunzTarPerm extractEntry html/npm-256-square.png
22743 silly gunzTarPerm modified mode [ 'html/npm-256-square.png', 436, 420 ]
22744 silly gunzTarPerm extractEntry html/npm-256w.png
22745 silly gunzTarPerm modified mode [ 'html/npm-256w.png', 436, 420 ]
22746 verbose url raw stream-counter
22747 verbose url resolving [ 'https://registry.npmjs.org/', './stream-counter' ]
22748 verbose url resolved https://registry.npmjs.org/stream-counter
22749 info trying registry request attempt 1 at 11:49:55
22750 http GET https://registry.npmjs.org/stream-counter
22751 silly gunzTarPerm extractEntry contour/assets/base/foss.styl
22752 silly gunzTarPerm extractEntry contour/assets/base/global.styl
22753 verbose url raw readable-stream
22754 verbose url resolving [ 'https://registry.npmjs.org/', './readable-stream' ]
22755 verbose url resolved https://registry.npmjs.org/readable-stream
22756 info trying registry request attempt 1 at 11:49:55
22757 verbose etag "2YPH2YGN6X4831E5F7LDS3QPK"
22758 http GET https://registry.npmjs.org/readable-stream
22759 silly gunzTarPerm extractEntry html/npm-64-square.png
22760 silly gunzTarPerm modified mode [ 'html/npm-64-square.png', 436, 420 ]
22761 silly gunzTarPerm extractEntry html/npm-fin.png
22762 silly gunzTarPerm modified mode [ 'html/npm-fin.png', 436, 420 ]
22763 silly gunzTarPerm extractEntry contour/assets/base/grid.styl
22764 silly gunzTarPerm extractEntry contour/assets/base/buttons.styl
22765 silly gunzTarPerm extractEntry html/npm-large-trans.png
22766 silly gunzTarPerm modified mode [ 'html/npm-large-trans.png', 436, 420 ]
22767 silly gunzTarPerm extractEntry html/npm-large.png
22768 silly gunzTarPerm modified mode [ 'html/npm-large.png', 436, 420 ]
22769 silly gunzTarPerm extractEntry contour/assets/base/leader.styl
22770 silly gunzTarPerm extractEntry contour/assets/base/mixins/arrow.styl
22771 http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
22772 verbose tar unpack /var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628995222-0.8039755534846336/tmp.tgz
22773 silly lockFile 8a76572c-sers-V1-npm-mkdirp-0-3-5-package tar:///Users/V1/.npm/mkdirp/0.3.5/package
22774 verbose lock tar:///Users/V1/.npm/mkdirp/0.3.5/package /Users/V1/.npm/8a76572c-sers-V1-npm-mkdirp-0-3-5-package.lock
22775 silly lockFile fcd930d6-95222-0-8039755534846336-tmp-tgz tar:///var/folders/jw/3kbgnvwn607glnpd78gpz8_m0000gn/T/npm-15699-ApHjv9je/1399628995222-0.8039755534846336/tmp.tgz
22776 verbose lock tar:///var/fol
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment