Skip to content

Instantly share code, notes, and snippets.

@gdborton
Created June 6, 2014 18:06
Show Gist options
  • Save gdborton/8fa3c2839db8e335072c to your computer and use it in GitHub Desktop.
Save gdborton/8fa3c2839db8e335072c to your computer and use it in GitHub Desktop.
6/6/2014 npm issues
This file has been truncated, but you can view the full file.
18009 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077803309-0.7796542856376618/tmp.tgz
18010 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803161-0.9443518701009452/tmp.tgz
18011 silly lockFile dee40462-home-gary-npm-uuid-1-4-1-package tar:///home/gary/.npm/uuid/1.4.1/package
18012 verbose lock tar:///home/gary/.npm/uuid/1.4.1/package /home/gary/.npm/dee40462-home-gary-npm-uuid-1-4-1-package.lock
18013 silly lockFile 54bdd8a1-03161-0-9443518701009452-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803161-0.9443518701009452/tmp.tgz
18014 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803161-0.9443518701009452/tmp.tgz /home/gary/.npm/54bdd8a1-03161-0-9443518701009452-tmp-tgz.lock
18015 verbose addRemoteTarball [ 'https://registry.npmjs.org/decompress/-/decompress-0.2.4.tgz',
18015 verbose addRemoteTarball '33d08cc3678d3f84cb0c7606242b4ff1faf8d45a' ]
18016 silly gunzTarPerm extractEntry lib/nodes/text.js
18017 silly gunzTarPerm extractEntry lib/nodes/each.js
18018 http GET https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz
18019 http GET https://registry.npmjs.org/get-urls/-/get-urls-0.1.2.tgz
18020 info retry fetch attempt 1 at 14:03:23
18021 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077803323-0.001838895957916975/tmp.tgz
18022 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803176-0.4093853305093944/tmp.tgz
18023 silly lockFile f98fb2fc-home-gary-npm-nopt-2-2-1-package tar:///home/gary/.npm/nopt/2.2.1/package
18024 verbose lock tar:///home/gary/.npm/nopt/2.2.1/package /home/gary/.npm/f98fb2fc-home-gary-npm-nopt-2-2-1-package.lock
18025 silly lockFile a62a2bef-03176-0-4093853305093944-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803176-0.4093853305093944/tmp.tgz
18026 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803176-0.4093853305093944/tmp.tgz /home/gary/.npm/a62a2bef-03176-0-4093853305093944-tmp-tgz.lock
18027 silly gunzTarPerm modes [ '755', '644' ]
18028 http GET https://registry.npmjs.org/decompress/-/decompress-0.2.4.tgz
18029 silly lockFile b017fb04-e-gary-npm-js-yaml-2-0-5-package tar:///home/gary/.npm/js-yaml/2.0.5/package
18030 silly lockFile b017fb04-e-gary-npm-js-yaml-2-0-5-package tar:///home/gary/.npm/js-yaml/2.0.5/package
18031 silly gunzTarPerm extractEntry README.markdown
18032 silly gunzTarPerm extractEntry release-notes.md
18033 silly lockFile 97914404-98222-0-5270023720804602-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077798222-0.5270023720804602/tmp.tgz
18034 silly lockFile 97914404-98222-0-5270023720804602-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077798222-0.5270023720804602/tmp.tgz
18035 silly gunzTarPerm modes [ '755', '644' ]
18036 silly addNameRange number 2 { name: 'each-async',
18036 silly addNameRange range: '>=0.1.1-0 <0.2.0-0',
18036 silly addNameRange hasData: true }
18037 silly addNameRange versions [ 'each-async', [ '0.1.0', '0.1.1', '0.1.2', '0.1.3' ] ]
18038 verbose addNamed [ 'each-async', '0.1.3' ]
18039 verbose addNamed [ '0.1.3', '0.1.3' ]
18040 silly lockFile b71a3e6d-each-async-0-1-3 each-async@0.1.3
18041 verbose lock each-async@0.1.3 /home/gary/.npm/b71a3e6d-each-async-0-1-3.lock
18042 silly resolved [ { name: 'forEachAsync',
18042 silly resolved version: '2.2.1',
18042 silly resolved description: 'The forEachAsync module of FuturesJS (Ender.JS and Node.JS)',
18042 silly resolved homepage: 'https://github.com/coolaj86/futures',
18042 silly resolved keywords:
18042 silly resolved [ 'flow-control',
18042 silly resolved 'async',
18042 silly resolved 'asynchronous',
18042 silly resolved 'futures',
18042 silly resolved 'forEachAsync',
18042 silly resolved 'chain',
18042 silly resolved 'step',
18042 silly resolved 'util',
18042 silly resolved 'browser' ],
18042 silly resolved repository: { type: 'git', url: 'git://github.com/coolaj86/futures.git' },
18042 silly resolved author:
18042 silly resolved { name: 'AJ ONeal',
18042 silly resolved email: 'coolaj86@gmail.com',
18042 silly resolved url: 'http://coolaj86.info' },
18042 silly resolved main: 'forEachAsync.js',
18042 silly resolved directories: { lib: '.' },
18042 silly resolved dependencies: { sequence: '2.x' },
18042 silly resolved engines: { node: '*', ender: '>= 0.5.0' },
18042 silly resolved readme: 'forEachAsync v3.x\n===\n\n**New Version** in a [new repo - FuturesJS/forEachAsync](https://github.com/FuturesJS/forEachAsync)\n\nv3.x (aka \'Diet Cola") has all of the awesomeness of forEachAsync v2.x, but trims the fat and comes browser-ready!\n\nArray.forEachAsync()\n----\n\nAnother reincarnation of `sequence` that makes sense for the use case of arrays.\n\n**Example:**\n\n var forEachAsync = require(\'forEachAsync\')\n , count = 0\n , timers = [\n 101,\n 502,\n 203,\n 604,\n 105\n ];\n\n function hello(next, time) {\n this[count] = time;\n\n if (count >= 4) {\n next(forEachAsync.BREAK);\n }\n\n console.log(count += 1, time);\n\n setTimeout(next, time);\n }\n\n function goodbye() {\n console.log("All Done", this);\n }\n\n forEachAsync(timers, hello, {}).then(goodbye);\n\nAPI\n---\n\n * forEachAsync(array, callback*[, thisArg]*)\n * forEachAsync#then(finalCallback)\n * forEachAsync#BREAK\n\n**Warning:** [Poorly written code](https://gist.github.com/941362) may have really strange errors when `Array.prototype` is extended.\nIf you run into such problems please contact the author of the code (I\'m also willing to help if they are unavailable).\nLibraries such as `jQuery` or `MooTools` will accept bug reports for such failures.\n\n',
18042 silly resolved readmeFilename: 'README.md',
18042 silly resolved bugs: { url: 'https://github.com/coolaj86/futures/issues' },
18042 silly resolved _id: 'forEachAsync@2.2.1',
18042 silly resolved _shasum: 'e3723f00903910e1eb4b1db3ad51b5c64a319fec',
18042 silly resolved _from: 'https://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.1.tgz',
18042 silly resolved _resolved: 'https://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.1.tgz' } ]
18043 info install forEachAsync@2.2.1 into /home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk
18044 info installOne forEachAsync@2.2.1
18045 silly gunzTarPerm extractEntry dist/less-1.4.1.min.js
18046 silly gunzTarPerm modified mode [ 'dist/less-1.4.1.min.js', 438, 420 ]
18047 silly gunzTarPerm extractEntry array/forEach.js
18048 silly gunzTarPerm extractEntry array/remove.js
18049 silly gunzTarPerm extractEntry lib/public/icons/page_red.png
18050 silly gunzTarPerm extractEntry lib/public/icons/page_refresh.png
18051 silly gunzTarPerm extractEntry dist/lodash.legacy.min.js
18052 http 200 https://registry.npmjs.org/through2
18053 silly registry.get cb [ 200,
18053 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:23 GMT',
18053 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
18053 silly registry.get etag: '"55CG0LY2R51WH9PNVK66QW17S"',
18053 silly registry.get 'content-type': 'application/json',
18053 silly registry.get via: '1.1 varnish',
18053 silly registry.get 'cache-control': 'max-age=1',
18053 silly registry.get 'content-length': '25326',
18053 silly registry.get 'accept-ranges': 'bytes',
18053 silly registry.get age: '219',
18053 silly registry.get 'x-served-by': 'cache-sv62-SJC3, cache-ord1735-ORD',
18053 silly registry.get 'x-cache': 'HIT, HIT',
18053 silly registry.get 'x-cache-hits': '2, 1',
18053 silly registry.get 'x-timer': 'S1402077803.179421,VS0,VE130',
18053 silly registry.get vary: 'Accept',
18053 silly registry.get 'keep-alive': 'timeout=10, max=50',
18053 silly registry.get connection: 'Keep-Alive' } ]
18054 silly gunzTarPerm extractEntry dist/less-1.4.2.js
18055 silly gunzTarPerm modified mode [ 'dist/less-1.4.2.js', 438, 420 ]
18056 silly gunzTarPerm extractEntry package.json
18057 silly lockFile e3496c73--each-async-each-async-0-1-3-tgz https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz
18058 verbose lock https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz /home/gary/.npm/e3496c73--each-async-each-async-0-1-3-tgz.lock
18059 silly lockFile 7f572bce-es-bin-build-node-modules-rimraf tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/rimraf
18060 silly lockFile 7f572bce-es-bin-build-node-modules-rimraf tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/rimraf
18061 silly lockFile 5d8081f6-ary-npm-rimraf-2-2-8-package-tgz tar:///home/gary/.npm/rimraf/2.2.8/package.tgz
18062 silly lockFile 5d8081f6-ary-npm-rimraf-2-2-8-package-tgz tar:///home/gary/.npm/rimraf/2.2.8/package.tgz
18063 silly lockFile eadff921-js-org-js-yaml-js-yaml-2-0-5-tgz https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
18064 silly lockFile eadff921-js-org-js-yaml-js-yaml-2-0-5-tgz https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
18065 silly gunzTarPerm extractEntry package.json
18066 verbose addRemoteTarball [ 'https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz',
18066 verbose addRemoteTarball 'b436025b08da2f86608025519e3096763dedfca3' ]
18067 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
18068 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
18069 info retry fetch attempt 1 at 14:03:23
18070 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077803397-0.18832291732542217/tmp.tgz
18071 info /home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync unbuild
18072 silly lockFile f87c51d5-js-yaml-2-0-5 js-yaml@~2.0.5
18073 silly lockFile f87c51d5-js-yaml-2-0-5 js-yaml@~2.0.5
18074 silly gunzTarPerm extractEntry .npmignore
18075 silly gunzTarPerm extractEntry README.md
18076 silly gunzTarPerm extractEntry lib/handlebars.runtime.js
18077 silly gunzTarPerm extractEntry lib/index.js
18078 silly lockFile 99efde85-pm-mkdirptmp-d65466c39073package tar:///home/gary/.npm/mkdirptmp_d65466c39073package
18079 silly lockFile 99efde85-pm-mkdirptmp-d65466c39073package tar:///home/gary/.npm/mkdirptmp_d65466c39073package
18080 http GET https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz
18081 silly gunzTarPerm extractEntry test/run.js
18082 silly gunzTarPerm extractEntry test/fixture/file1.txt
18083 silly gunzTarPerm extractEntry test/fixture/file2.txt
18084 silly gunzTarPerm extractEntry test/integration/test-callback-streams.js
18085 silly gunzTarPerm extractEntry test/integration/test-data-size.js
18086 silly gunzTarPerm extractEntry test/integration/test-delayed-streams-and-buffers-and-strings.js
18087 silly gunzTarPerm extractEntry test/integration/test-delayed-streams.js
18088 silly gunzTarPerm extractEntry test/integration/test-empty-string.js
18089 silly gunzTarPerm extractEntry test/integration/test-is-stream-like.js
18090 silly gunzTarPerm extractEntry test/integration/test-max-data-size.js
18091 silly gunzTarPerm extractEntry test/integration/test-unpaused-streams.js
18092 info preinstall rimraf@2.2.8
18093 silly lockFile 8688b690-1415-0-07368798996321857-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077801415-0.07368798996321857/tmp.tgz
18094 silly lockFile 8688b690-1415-0-07368798996321857-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077801415-0.07368798996321857/tmp.tgz
18095 silly gunzTarPerm extractEntry .npmignore
18096 silly gunzTarPerm extractEntry README.md
18097 verbose tar unpack /home/gary/.npm/forEachAsync/2.2.1/package.tgz
18098 silly lockFile 701efd5b-s-walk-node-modules-forEachAsync tar:///home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync
18099 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync /home/gary/.npm/701efd5b-s-walk-node-modules-forEachAsync.lock
18100 silly lockFile 13cf5c5e-m-forEachAsync-2-2-1-package-tgz tar:///home/gary/.npm/forEachAsync/2.2.1/package.tgz
18101 verbose lock tar:///home/gary/.npm/forEachAsync/2.2.1/package.tgz /home/gary/.npm/13cf5c5e-m-forEachAsync-2-2-1-package-tgz.lock
18102 silly gunzTarPerm extractEntry array/flatten.js
18103 silly gunzTarPerm extractEntry array/removeAll.js
18104 silly addNameRange number 2 { name: 'through2', range: '>=0.4.0-0 <0.5.0-0', hasData: true }
18105 silly addNameRange versions [ 'through2',
18105 silly addNameRange [ '0.0.0',
18105 silly addNameRange '0.0.1',
18105 silly addNameRange '0.0.2',
18105 silly addNameRange '0.0.3',
18105 silly addNameRange '0.0.4',
18105 silly addNameRange '0.0.5',
18105 silly addNameRange '0.1.0',
18105 silly addNameRange '0.2.0',
18105 silly addNameRange '0.2.1',
18105 silly addNameRange '0.2.2',
18105 silly addNameRange '0.2.3',
18105 silly addNameRange '0.3.0',
18105 silly addNameRange '0.4.0',
18105 silly addNameRange '0.4.1',
18105 silly addNameRange '1.0.0',
18105 silly addNameRange '0.4.2',
18105 silly addNameRange '0.5.0',
18105 silly addNameRange '0.5.1' ] ]
18106 verbose addNamed [ 'through2', '0.4.2' ]
18107 verbose addNamed [ '0.4.2', '0.4.2' ]
18108 silly lockFile 7aac1e8e-through2-0-4-2 through2@0.4.2
18109 verbose lock through2@0.4.2 /home/gary/.npm/7aac1e8e-through2-0-4-2.lock
18110 http 200 https://registry.npmjs.org/get-urls/-/get-urls-0.1.2.tgz
18111 http 200 https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz
18112 silly gunzTarPerm extractEntry handlebars-source.gemspec
18113 http 200 https://registry.npmjs.org/decompress/-/decompress-0.2.4.tgz
18114 verbose readDependencies using package.json deps
18115 silly gunzTarPerm modes [ '755', '644' ]
18116 silly gunzTarPerm extractEntry dist/less-1.4.1.min.js
18117 silly gunzTarPerm modified mode [ 'dist/less-1.4.1.min.js', 438, 420 ]
18118 verbose readDependencies using package.json deps
18119 silly resolved []
18120 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/rimraf
18121 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/rimraf
18122 verbose linkStuff [ false,
18122 verbose linkStuff false,
18122 verbose linkStuff false,
18122 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules' ]
18123 info linkStuff rimraf@2.2.8
18124 verbose linkBins rimraf@2.2.8
18125 verbose link bins [ { rimraf: './bin.js' },
18125 verbose link bins '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/.bin',
18125 verbose link bins false ]
18126 verbose linkMans rimraf@2.2.8
18127 verbose rebuildBundles rimraf@2.2.8
18128 silly lockFile 9f8e2a34--org-through2-through2-0-4-2-tgz https://registry.npmjs.org/through2/-/through2-0.4.2.tgz
18129 verbose lock https://registry.npmjs.org/through2/-/through2-0.4.2.tgz /home/gary/.npm/9f8e2a34--org-through2-through2-0-4-2-tgz.lock
18130 silly lockFile e496eada-e-gary-npm-adm-zip-0-2-1-package tar:///home/gary/.npm/adm-zip/0.2.1/package
18131 silly lockFile e496eada-e-gary-npm-adm-zip-0-2-1-package tar:///home/gary/.npm/adm-zip/0.2.1/package
18132 verbose addRemoteTarball [ 'https://registry.npmjs.org/through2/-/through2-0.4.2.tgz',
18132 verbose addRemoteTarball 'dbf5866031151ec8352bb6c4db64a2292a840b9b' ]
18133 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803309-0.7796542856376618/tmp.tgz
18134 silly lockFile 29b9c0df--gary-npm-get-urls-0-1-2-package tar:///home/gary/.npm/get-urls/0.1.2/package
18135 verbose lock tar:///home/gary/.npm/get-urls/0.1.2/package /home/gary/.npm/29b9c0df--gary-npm-get-urls-0-1-2-package.lock
18136 silly lockFile f426b7c8-03309-0-7796542856376618-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803309-0.7796542856376618/tmp.tgz
18137 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803309-0.7796542856376618/tmp.tgz /home/gary/.npm/f426b7c8-03309-0-7796542856376618-tmp-tgz.lock
18138 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803308-0.299640457611531/tmp.tgz
18139 silly lockFile 15f13833-gary-npm-get-stdin-0-1-0-package tar:///home/gary/.npm/get-stdin/0.1.0/package
18140 verbose lock tar:///home/gary/.npm/get-stdin/0.1.0/package /home/gary/.npm/15f13833-gary-npm-get-stdin-0-1-0-package.lock
18141 silly lockFile a9cca08e-803308-0-299640457611531-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803308-0.299640457611531/tmp.tgz
18142 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803308-0.299640457611531/tmp.tgz /home/gary/.npm/a9cca08e-803308-0-299640457611531-tmp-tgz.lock
18143 silly gunzTarPerm extractEntry lib/handlebars/base.js
18144 silly gunzTarPerm extractEntry lib/handlebars/exception.js
18145 silly lockFile 22ec7767-00472-0-6245552322361618-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077800472-0.6245552322361618/tmp.tgz
18146 silly lockFile 22ec7767-00472-0-6245552322361618-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077800472-0.6245552322361618/tmp.tgz
18147 silly gunzTarPerm extractEntry rng-browser.js
18148 silly gunzTarPerm extractEntry rng.js
18149 silly lockFile 6851eb2a--wordwraptmp-4344806e3422package tar:///home/gary/.npm/wordwraptmp_4344806e3422package
18150 silly lockFile 6851eb2a--wordwraptmp-4344806e3422package tar:///home/gary/.npm/wordwraptmp_4344806e3422package
18151 info retry fetch attempt 1 at 14:03:23
18152 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077803482-0.6869003586471081/tmp.tgz
18153 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803323-0.001838895957916975/tmp.tgz
18154 silly lockFile fd14b997-ary-npm-decompress-0-2-4-package tar:///home/gary/.npm/decompress/0.2.4/package
18155 verbose lock tar:///home/gary/.npm/decompress/0.2.4/package /home/gary/.npm/fd14b997-ary-npm-decompress-0-2-4-package.lock
18156 silly lockFile 1fd6d9f8-323-0-001838895957916975-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803323-0.001838895957916975/tmp.tgz
18157 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803323-0.001838895957916975/tmp.tgz /home/gary/.npm/1fd6d9f8-323-0-001838895957916975-tmp-tgz.lock
18158 silly lockFile 0338ffb0-02058-0-7143645433243364-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077802058-0.7143645433243364/tmp.tgz
18159 silly lockFile 0338ffb0-02058-0-7143645433243364-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077802058-0.7143645433243364/tmp.tgz
18160 silly gunzTarPerm extractEntry package.json
18161 silly gunzTarPerm extractEntry lib/public/icons/page_save.png
18162 silly gunzTarPerm extractEntry lib/public/icons/page_white.png
18163 silly lockFile f26a2ada-pmjs-org-mkdirp-mkdirp-0-5-0-tgz https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz
18164 silly lockFile f26a2ada-pmjs-org-mkdirp-mkdirp-0-5-0-tgz https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz
18165 silly gunzTarPerm extractEntry LICENSE
18166 silly gunzTarPerm extractEntry bin/nopt.js
18167 http GET https://registry.npmjs.org/through2/-/through2-0.4.2.tgz
18168 silly gunzTarPerm modes [ '755', '644' ]
18169 silly gunzTarPerm modes [ '755', '644' ]
18170 info install rimraf@2.2.8
18171 silly lockFile 11543a99-ary-npm-itmp-61c79877719epackage tar:///home/gary/.npm/itmp_61c79877719epackage
18172 silly lockFile 11543a99-ary-npm-itmp-61c79877719epackage tar:///home/gary/.npm/itmp_61c79877719epackage
18173 silly gunzTarPerm modes [ '755', '644' ]
18174 silly lockFile f64f1947-01415-0-1603251772467047-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077801415-0.1603251772467047/tmp.tgz
18175 silly lockFile f64f1947-01415-0-1603251772467047-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077801415-0.1603251772467047/tmp.tgz
18176 http 200 https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz
18177 silly lockFile 4638a7dc-js-org-adm-zip-adm-zip-0-2-1-tgz https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz
18178 silly lockFile 4638a7dc-js-org-adm-zip-adm-zip-0-2-1-tgz https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz
18179 info postinstall rimraf@2.2.8
18180 silly lockFile 3d0951ad-uest-node-modules-http-signature tar:///home/gary/code/email-transactional-app/node_modules/request/node_modules/http-signature
18181 silly lockFile 3d0951ad-uest-node-modules-http-signature tar:///home/gary/code/email-transactional-app/node_modules/request/node_modules/http-signature
18182 silly lockFile 56d2b9bc-adm-zip-0-2-1 adm-zip@0.2.1
18183 silly lockFile 56d2b9bc-adm-zip-0-2-1 adm-zip@0.2.1
18184 silly gunzTarPerm extractEntry vendor/
18185 silly gunzTarPerm extractEntry vendor/sinon/
18186 silly gunzTarPerm extractEntry README.md
18187 silly gunzTarPerm extractEntry forEachAsync.js
18188 silly lockFile 8a5694f8-ttp-signature-0-10-0-package-tgz tar:///home/gary/.npm/http-signature/0.10.0/package.tgz
18189 silly lockFile 8a5694f8-ttp-signature-0-10-0-package-tgz tar:///home/gary/.npm/http-signature/0.10.0/package.tgz
18190 silly gunzTarPerm extractEntry array/findLastIndex.js
18191 silly gunzTarPerm extractEntry array/shuffle.js
18192 silly gunzTarPerm extractEntry package.json
18193 silly gunzTarPerm extractEntry package.json
18194 silly gunzTarPerm extractEntry uuid.js
18195 silly gunzTarPerm extractEntry benchmark/README.md
18196 silly gunzTarPerm extractEntry benchmark/benchmark.js
18197 silly gunzTarPerm extractEntry benchmark/bench.gnu
18198 silly gunzTarPerm extractEntry benchmark/bench.sh
18199 silly gunzTarPerm extractEntry benchmark/benchmark-native.c
18200 silly gunzTarPerm extractEntry LICENSE.md
18201 silly gunzTarPerm extractEntry misc/compare.js
18202 silly gunzTarPerm extractEntry misc/perf.js
18203 silly gunzTarPerm extractEntry .travis.yml
18204 silly gunzTarPerm extractEntry test/test.js
18205 silly gunzTarPerm extractEntry test/mocha.opts
18206 silly gunzTarPerm extractEntry package.json
18207 silly lockFile 8deef63b-in-check-node-modules-executable tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/bin-check/node_modules/executable
18208 silly lockFile 8deef63b-in-check-node-modules-executable tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/bin-check/node_modules/executable
18209 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803397-0.18832291732542217/tmp.tgz
18210 silly lockFile 6b32e6be-ary-npm-each-async-0-1-3-package tar:///home/gary/.npm/each-async/0.1.3/package
18211 verbose lock tar:///home/gary/.npm/each-async/0.1.3/package /home/gary/.npm/6b32e6be-ary-npm-each-async-0-1-3-package.lock
18212 silly lockFile 6aa2d7b1-3397-0-18832291732542217-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803397-0.18832291732542217/tmp.tgz
18213 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803397-0.18832291732542217/tmp.tgz /home/gary/.npm/6aa2d7b1-3397-0-18832291732542217-tmp-tgz.lock
18214 silly lockFile 60ace650-npm-executable-0-1-2-package-tgz tar:///home/gary/.npm/executable/0.1.2/package.tgz
18215 silly lockFile 60ace650-npm-executable-0-1-2-package-tgz tar:///home/gary/.npm/executable/0.1.2/package.tgz
18216 info preinstall http-signature@0.10.0
18217 silly gunzTarPerm extractEntry examples/my-program.js
18218 silly gunzTarPerm extractEntry lib/nopt.js
18219 silly gunzTarPerm extractEntry test/basic.js
18220 silly gunzTarPerm extractEntry test/instrumentation/test-switch.js
18221 silly gunzTarPerm extractEntry test/instrumentation/test-while.js
18222 silly gunzTarPerm extractEntry cli.js
18223 silly gunzTarPerm extractEntry get-urls.js
18224 silly gunzTarPerm extractEntry index.js
18225 silly gunzTarPerm extractEntry readme.md
18226 verbose readDependencies: using existing wrap [ '/home/gary/code/email-transactional-app/node_modules/request/node_modules/http-signature',
18226 verbose readDependencies: using existing wrap { 'assert-plus':
18226 verbose readDependencies: using existing wrap { version: '0.1.2',
18226 verbose readDependencies: using existing wrap from: 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz',
18226 verbose readDependencies: using existing wrap resolved: 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz' },
18226 verbose readDependencies: using existing wrap asn1:
18226 verbose readDependencies: using existing wrap { version: '0.1.11',
18226 verbose readDependencies: using existing wrap from: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz',
18226 verbose readDependencies: using existing wrap resolved: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz' },
18226 verbose readDependencies: using existing wrap ctype:
18226 verbose readDependencies: using existing wrap { version: '0.5.2',
18226 verbose readDependencies: using existing wrap from: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz',
18226 verbose readDependencies: using existing wrap resolved: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz' } } ]
18227 verbose from wrap [ 'assert-plus',
18227 verbose from wrap { version: '0.1.2',
18227 verbose from wrap from: 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz',
18227 verbose from wrap resolved: 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz' } ]
18228 verbose from wrap [ 'asn1',
18228 verbose from wrap { version: '0.1.11',
18228 verbose from wrap from: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz',
18228 verbose from wrap resolved: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz' } ]
18229 verbose from wrap [ 'ctype',
18229 verbose from wrap { version: '0.5.2',
18229 verbose from wrap from: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz',
18229 verbose from wrap resolved: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz' } ]
18230 verbose readDependencies returned deps { 'assert-plus': 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz',
18230 verbose readDependencies returned deps asn1: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz',
18230 verbose readDependencies returned deps ctype: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz' }
18231 verbose readDependencies: using existing wrap [ '/home/gary/code/email-transactional-app/node_modules/request/node_modules/http-signature',
18231 verbose readDependencies: using existing wrap { 'assert-plus':
18231 verbose readDependencies: using existing wrap { version: '0.1.2',
18231 verbose readDependencies: using existing wrap from: 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz',
18231 verbose readDependencies: using existing wrap resolved: 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz' },
18231 verbose readDependencies: using existing wrap asn1:
18231 verbose readDependencies: using existing wrap { version: '0.1.11',
18231 verbose readDependencies: using existing wrap from: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz',
18231 verbose readDependencies: using existing wrap resolved: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz' },
18231 verbose readDependencies: using existing wrap ctype:
18231 verbose readDependencies: using existing wrap { version: '0.5.2',
18231 verbose readDependencies: using existing wrap from: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz',
18231 verbose readDependencies: using existing wrap resolved: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz' } } ]
18232 verbose from wrap [ 'assert-plus',
18232 verbose from wrap { version: '0.1.2',
18232 verbose from wrap from: 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz',
18232 verbose from wrap resolved: 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz' } ]
18233 verbose from wrap [ 'asn1',
18233 verbose from wrap { version: '0.1.11',
18233 verbose from wrap from: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz',
18233 verbose from wrap resolved: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz' } ]
18234 verbose from wrap [ 'ctype',
18234 verbose from wrap { version: '0.5.2',
18234 verbose from wrap from: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz',
18234 verbose from wrap resolved: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz' } ]
18235 verbose readDependencies returned deps { 'assert-plus': 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz',
18235 verbose readDependencies returned deps asn1: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz',
18235 verbose readDependencies returned deps ctype: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz' }
18236 silly gunzTarPerm extractEntry lib/public/icons/page_white_acrobat.png
18237 silly gunzTarPerm extractEntry lib/public/icons/page_white_actionscript.png
18238 silly lockFile 5fd8587b--org-wordwrap-wordwrap-0-0-2-tgz https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
18239 silly lockFile 5fd8587b--org-wordwrap-wordwrap-0-0-2-tgz https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
18240 silly gunzTarPerm modes [ '755', '644' ]
18241 silly gunzTarPerm extractEntry README.md
18242 silly gunzTarPerm extractEntry cli.js
18243 silly resolved [ { name: 'rimraf',
18243 silly resolved version: '2.2.8',
18243 silly resolved main: 'rimraf.js',
18243 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
18243 silly resolved author:
18243 silly resolved { name: 'Isaac Z. Schlueter',
18243 silly resolved email: 'i@izs.me',
18243 silly resolved url: 'http://blog.izs.me/' },
18243 silly resolved license:
18243 silly resolved { type: 'MIT',
18243 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
18243 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
18243 silly resolved scripts: { test: 'cd test && bash run.sh' },
18243 silly resolved bin: { rimraf: './bin.js' },
18243 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
18243 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',
18243 silly resolved readmeFilename: 'README.md',
18243 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
18243 silly resolved homepage: 'https://github.com/isaacs/rimraf',
18243 silly resolved _id: 'rimraf@2.2.8',
18243 silly resolved _shasum: 'e439be2aaee327321952730f99a8929e4fc50582',
18243 silly resolved _from: 'rimraf@^2.2.6',
18243 silly resolved _resolved: 'https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz' },
18243 silly resolved { author:
18243 silly resolved { name: 'Isaac Z. Schlueter',
18243 silly resolved email: 'i@izs.me',
18243 silly resolved url: 'http://blog.izs.me' },
18243 silly resolved name: 'which',
18243 silly resolved description: 'Like which(1) unix command. Find the first instance of an executable in the PATH.',
18243 silly resolved version: '1.0.5',
18243 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-which.git' },
18243 silly resolved main: 'which.js',
18243 silly resolved bin: { which: './bin/which' },
18243 silly resolved engines: { node: '*' },
18243 silly resolved dependencies: {},
18243 silly resolved devDependencies: {},
18243 silly resolved readme: 'The "which" util from npm\'s guts.\n\nFinds the first instance of a specified executable in the PATH\nenvironment variable. Does not cache the results, so `hash -r` is not\nneeded when the PATH changes.\n',
18243 silly resolved readmeFilename: 'README.md',
18243 silly resolved bugs: { url: 'https://github.com/isaacs/node-which/issues' },
18243 silly resolved homepage: 'https://github.com/isaacs/node-which',
18243 silly resolved _id: 'which@1.0.5',
18243 silly resolved _shasum: '5630d6819dda692f1464462e7956cb42c0842739',
18243 silly resolved _from: 'which@~1.0.5',
18243 silly resolved _resolved: 'https://registry.npmjs.org/which/-/which-1.0.5.tgz' },
18243 silly resolved { name: 'mkdirp',
18243 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
18243 silly resolved version: '0.3.5',
18243 silly resolved author:
18243 silly resolved { name: 'James Halliday',
18243 silly resolved email: 'mail@substack.net',
18243 silly resolved url: 'http://substack.net' },
18243 silly resolved main: './index',
18243 silly resolved keywords: [ 'mkdir', 'directory' ],
18243 silly resolved repository:
18243 silly resolved { type: 'git',
18243 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
18243 silly resolved scripts: { test: 'tap test/*.js' },
18243 silly resolved devDependencies: { tap: '~0.4.0' },
18243 silly resolved license: 'MIT',
18243 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# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n',
18243 silly resolved readmeFilename: 'readme.markdown',
18243 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
18243 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
18243 silly resolved _id: 'mkdirp@0.3.5',
18243 silly resolved _shasum: 'de3e5f8961c88c787ee1368df849ac4413eca8d7',
18243 silly resolved _from: 'mkdirp@^0.3.5',
18243 silly resolved _resolved: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz' },
18243 silly resolved { name: 'kew',
18243 silly resolved description: 'a lightweight promise library for node',
18243 silly resolved version: '0.1.7',
18243 silly resolved homepage: 'https://github.com/Obvious/kew',
18243 silly resolved authors: [ 'Jeremy Stanley <github@azulus.com> (https://github.com/azulus)' ],
18243 silly resolved contributors: [],
18243 silly resolved keywords: [ 'kew', 'promises' ],
18243 silly resolved main: './kew.js',
18243 silly resolved repository: { type: 'git', url: 'https://github.com/Obvious/kew.git' },
18243 silly resolved dependencies: {},
18243 silly resolved devDependencies: { nodeunit: '0.7.4' },
18243 silly resolved scripts: { test: './node_modules/nodeunit/bin/nodeunit test' },
18243 silly resolved readme: 'kew: a lightweight (and super fast) promise/deferred framework for node.js\n==================================\n\n**kew** is a lightweight promise framework with an aim of providing a base set of functionality similar to that provided by the [Q library](https://github.com/kriskowal/q "Q").\n\nA few answers (for a few questions)\n-------\n\n*Why\'d we write it?*\n\nDuring our initial usage of **Q** we found that it was consuming 80% of the cpu under load (primarily in chained database callbacks). We spent some time looking at patching **Q** and ultimately found that creating our own lightweight library for server-usage would suit our needs better than figuring out how to make a large cross-platform library more performant on one very specific platform.\n\n*So this does everything Q does?*\n\nNope! **Q** is still an awesome library and does *way* more than **kew**. We support a tiny subset of the **Q** functionality (the subset that we happen to use in our actual use cases).\n\nWhat are Promises?\n-------\n\nAt its core, a *Promise* is a promise to return a value at some point in the future. A *Promise* represents a value that will be (or may return an error if something goes wrong). *Promises* heavily reduce the complexity of asynchronous coding in node.js-like environments. Example:\n\n```javascript\n// assuming the getUrlContent() function exists and retrieves the content of a url\nvar htmlPromise = getUrlContent(myUrl)\n\n// we can then filter that through an http parser (our imaginary parseHtml() function) asynchronously (or maybe synchronously, who knows)\nvar tagsPromise = htmlPromise.then(parseHtml)\n\n// and then filter it through another function (getLinks()) which retrieves only the link tags\nvar linksPromise = tagsPromise.then(getLinks)\n\n// and then parses the actual urls from the links (using parseUrlsFromLinks())\nvar urlsPromise = linksPromise.then(linksPromise)\n\n// finally, we have a promise that should only provide us with the urls and will run once all the previous steps have ran\nurlsPromise.then(function (urls) {\n // do something with the urls\n})\n```\n\nHow do I use **kew**?\n-------\n\nAs a precursor to all the examples, the following code must be at the top of your page:\n\n```javascript\nvar Q = require(\'kew\')\n```\n\n### Convert a literal into a promise\n\nThe easiest way to start a promise chain is by creating a new promise with a specified literal using Q.resolve() or Q.reject()\n\n```javascript\n// create a promise which passes a value to the next then() call\nvar successPromise = Q.resolve(val)\n\n// create a promise which throws an error to be caught by the next fail() call\nvar failPromise = Q.reject(err)\n```\n\nIn addition, you can create deferreds which can be used if you need to create a promise but resolve it later:\n\n```javascript\n// create the deferreds\nvar successDefer = Q.defer()\nvar failDefer = Q.defer()\n\n// resolve or reject the defers in 1 second\nsetTimeout(function () {\n successDefer.resolve("ok")\n failDefer.reject(new Error("this failed"))\n}, 1000)\n\n// extract promises from the deferreds\nvar successPromise = successDefer.promise\nvar failPromise = failDefer.promise\n```\n\nIf you have a node-style callback (taking an **Error** as the first parameter and a response as the second), you can call the magic `makeNodeResolver()` function on a defer to allow the defer to handle the callbacks:\n\n```javascript\n// create the deferred\nvar defer = Q.defer()\n\n// some node-style function\ngetObjectFromDatabase(myObjectId, defer.makeNodeResolver())\n\n// grab the output\ndefer.promise\n .then(function (obj) {\n // successfully retrieved the object\n })\n .fail(function (e) {\n // failed retrieving the object\n })\n```\n\n### Handling successful results with `.then()`\n\nWhen a promise is resolved, you may call the `.then()` method to retrieve the value of the promise:\n\n```javascript\npromise.then(function (result) {\n // do something with the result here\n})\n```\n\n`.then()` will in turn return a promise which will return the results of whatever it returns (asynchronously or not), allowing it to be chained indefinitely:\n\n```javascript\nQ.resolve(\'a\')\n .then(function (result) {\n return result + \'b\'\n })\n .then(function (result) {\n return result + \'c\'\n })\n .then(function (result) {\n // result should be \'abc\'\n })\n```\n\nIn addition, `.then()` calls may return promises themselves, allowing for complex nesting of asynchronous calls in a flat manner:\n\n```javascript\nvar htmlPromise = getUrlContent(myUrl)\n\nvar tagsPromise = htmlPromise.then(function (html) {\n if (!validHtml(html)) throw new Error("Invalid HTML")\n\n // pretend that parseHtml() returns a promise and is asynchronous\n return parseHtml(html)\n})\n```\n\n### Handling errors with `.fail()`\n\nIf a promise is rejected for some reason, you may handle the failure case with the `.fail()` function:\n\n```javascript\ngetObjectPromise\n .fail(function (e) {\n console.error("Failed to retrieve object", e)\n })\n```\n\nLike `.then()`, `.fail()` also returns a promise. If the `.fail()` call does not throw an error, it will pass the return value of the `.fail()` handler to any `.then()` calls chained to it:\n\n```javascript\ngetObjectPromise\n .fail(function (e) {\n return retryGetObject(objId)\n })\n .then(function (obj) {\n // yay, we received an object\n })\n .fail(function (e) {\n // the retry failed :(\n console.error("Retrieving the object \'" + objId + "\' failed")\n })\n})\n```\n\nIf you\'ve reached the end of your promise chain, you may call `.end()` which signifies that the promise chain is ended and any errors should be thrown in whatever scope the code is currently in:\n\n```javascript\ngetObjectPromise\n // this will throw an error to the uncaught exception handler if the getObjectPromise call is asynchronous\n .end()\n```\n\n### `.fin()` when things are finished\n\nYou may attach a handler to a promise which will be ran regardless of whether the promise was resolved or rejected (but will only run upon completion). This is useful in the cases where you may have set up resources to run a request and wish to tear them down afterwards. `.fin()` will return the promise it is called upon:\n\n```javascript\nvar connection = db.connect()\n\nvar itemPromise = db.getItem(itemId)\n .fin(function () {\n db.close()\n })\n```\n\nOther utility methods\n-------\n\nThere\'s only one utility method as of now:\n\n### `.all()` for many things\n\nIf you\'re waiting for multiple promises to return, you may pass them (mixed in with literals if you desire) into `.all()` which will create a promise that resolves successfully with an array of the results of the promises:\n\n```javascript\nvar promises = []\npromises.push(getUrlContent(url1))\npromises.push(getUrlContent(url2))\npromises.push(getUrlContent(url3))\n\nQ.all(promises)\n .then(function (content) {\n // content[0] === content for url 1\n // content[1] === content for url 2\n // content[2] === content for url 3\n })\n```\n\nIf any of the promises fail, Q.all will fail as well (so make sure to guard your promises with a `.fail()` call beforehand if you don\'t care whether they succeed or not):\n\n```javascript\nvar promises = []\npromises.push(getUrlContent(url1))\npromises.push(getUrlContent(url2))\npromises.push(getUrlContent(url3))\n\nQ.all(promises)\n .fail(function (e) {\n console.log("Failed retrieving a url", e)\n })\n```\n\nContributing\n------------\n\nQuestions, comments, bug reports, and pull requests are all welcome.\nSubmit them at [the project on GitHub](https://github.com/Obvious/kew/).\n\nBug reports that include steps-to-reproduce (including code) are the\nbest. Even better, make them in the form of pull requests that update\nthe test suite. Thanks!\n\n\nAuthor\n------\n\n[Jeremy Stanley](https://github.com/azulus)\nsupported by\n[The Obvious Corporation](http://obvious.com/).\n\n\nLicense\n-------\n\nCopyright 2013 [The Obvious Corporation](http://obvious.com/).\n\nLicensed under the Apache License, Version 2.0.\nSee the top-level file `LICENSE.TXT` and\n(http://www.apache.org/licenses/LICENSE-2.0).\n',
18243 silly resolved readmeFilename: 'README.md',
18243 silly resolved bugs: { url: 'https://github.com/Obvious/kew/issues' },
18243 silly resolved _id: 'kew@0.1.7',
18243 silly resolved _shasum: '0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72',
18243 silly resolved _from: 'kew@~0.1.7',
18243 silly resolved _resolved: 'https://registry.npmjs.org/kew/-/kew-0.1.7.tgz' },
18243 silly resolved { name: 'ncp',
18243 silly resolved version: '0.4.2',
18243 silly resolved author: { name: 'AvianFlu', email: 'charlie@charlieistheman.com' },
18243 silly resolved description: 'Asynchronous recursive file copy utility.',
18243 silly resolved bin: { ncp: './bin/ncp' },
18243 silly resolved devDependencies: { vows: '0.6.x', rimraf: '1.0.x', 'read-dir-files': '0.0.x' },
18243 silly resolved main: './lib/ncp.js',
18243 silly resolved repository: { type: 'git', url: 'https://github.com/AvianFlu/ncp.git' },
18243 silly resolved keywords: [ 'cli', 'copy' ],
18243 silly resolved license: 'MIT',
18243 silly resolved engine: { node: '>=0.4' },
18243 silly resolved scripts: { test: 'vows --isolate --spec' },
18243 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',
18243 silly resolved readmeFilename: 'README.md',
18243 silly resolved bugs: { url: 'https://github.com/AvianFlu/ncp/issues' },
18243 silly resolved homepage: 'https://github.com/AvianFlu/ncp',
18243 silly resolved _id: 'ncp@0.4.2',
18243 silly resolved _shasum: 'abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574',
18243 silly resolved _from: 'ncp@0.4.2',
18243 silly resolved _resolved: 'https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz' },
18243 silly resolved { name: 'npmconf',
18243 silly resolved version: '0.0.24',
18243 silly resolved description: 'The config thing npm uses',
18243 silly resolved main: 'npmconf.js',
18243 silly resolved directories: { test: 'test' },
18243 silly resolved dependencies:
18243 silly resolved { 'config-chain': '~1.1.1',
18243 silly resolved inherits: '~1.0.0',
18243 silly resolved once: '~1.1.1',
18243 silly resolved mkdirp: '~0.3.3',
18243 silly resolved osenv: '0.0.3',
18243 silly resolved nopt: '2',
18243 silly resolved semver: '~1.1.0',
18243 silly resolved ini: '~1.1.0' },
18243 silly resolved devDependencies: {},
18243 silly resolved scripts: { test: 'tap test/*.js' },
18243 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/npmconf' },
18243 silly resolved keywords: [ 'npm', 'config', 'config-chain', 'conf', 'ini' ],
18243 silly resolved author:
18243 silly resolved { name: 'Isaac Z. Schlueter',
18243 silly resolved email: 'i@izs.me',
18243 silly resolved url: 'http://blog.izs.me' },
18243 silly resolved license: 'BSD',
18243 silly resolved readme: '# npmconf\n\nThe config thing npm uses\n\nIf you are interested in interacting with the config settings that npm\nuses, then use this module.\n\nHowever, if you are writing a new Node.js program, and want\nconfiguration functionality similar to what npm has, but for your\nown thing, then I\'d recommend using [rc](https://github.com/dominictarr/rc),\nwhich is probably what you want.\n\nIf I were to do it all over again, that\'s what I\'d do for npm. But,\nalas, there are many systems depending on many of the particulars of\nnpm\'s configuration setup, so it\'s not worth the cost of changing.\n\n## USAGE\n\n```javascript\nvar npmconf = require(\'npmconf\')\n\n// pass in the cli options that you read from the cli\n// or whatever top-level configs you want npm to use for now.\nnpmconf.load({some:\'configs\'}, function (er, conf) {\n // do stuff with conf\n conf.get(\'some\', \'cli\') // \'configs\'\n conf.get(\'username\') // \'joebobwhatevers\'\n conf.set(\'foo\', \'bar\', \'user\')\n conf.save(\'user\', function (er) {\n // foo = bar is now saved to ~/.npmrc or wherever\n })\n})\n```\n',
18243 silly resolved readmeFilename: 'README.md',
18243 silly resolved bugs: { url: 'https://github.com/isaacs/npmconf/issues' },
18243 silly resolved homepage: 'https://github.com/isaacs/npmconf',
18243 silly resolved _id: 'npmconf@0.0.24',
18243 silly resolved _shasum: 'b78875b088ccc3c0afa3eceb3ce3244b1b52390c',
18243 silly resolved _from: 'npmconf@0.0.24',
18243 silly resolved _resolved: 'https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz' },
18243 silly resolved { name: 'request',
18243 silly resolved description: 'Simplified HTTP request client.',
18243 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
18243 silly resolved version: '2.36.0',
18243 silly resolved author: { name: 'Mikeal Rogers', email: 'mikeal.rogers@gmail.com' },
18243 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
18243 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
18243 silly resolved license: 'Apache, Version 2.0',
18243 silly resolved engines: [ 'node >= 0.8.0' ],
18243 silly resolved main: 'index.js',
18243 silly resolved dependencies:
18243 silly resolved { qs: '~0.6.0',
18243 silly resolved 'json-stringify-safe': '~5.0.0',
18243 silly resolved mime: '~1.2.9',
18243 silly resolved 'forever-agent': '~0.5.0',
18243 silly resolved 'node-uuid': '~1.4.0',
18243 silly resolved 'tough-cookie': '>=0.12.0',
18243 silly resolved 'form-data': '~0.1.0',
18243 silly resolved 'tunnel-agent': '~0.4.0',
18243 silly resolved 'http-signature': '~0.10.0',
18243 silly resolved 'oauth-sign': '~0.3.0',
18243 silly resolved hawk: '~1.0.0',
18243 silly resolved 'aws-sign2': '~0.5.0' },
18243 silly resolved optionalDependencies:
18243 silly resolved { 'tough-cookie': '>=0.12.0',
18243 silly resolved 'form-data': '~0.1.0',
18243 silly resolved 'tunnel-agent': '~0.4.0',
18243 silly resolved 'http-signature': '~0.10.0',
18243 silly resolved 'oauth-sign': '~0.3.0',
18243 silly resolved hawk: '~1.0.0',
18243 silly resolved 'aws-sign2': '~0.5.0' },
18243 silly resolved scripts: { test: 'node tests/run.js' },
18243 silly resolved readme: '# Request -- Simplified HTTP client\n\n[![NPM](https://nodei.co/npm/request.png)](https://nodei.co/npm/request/)\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require(\'request\');\nrequest(\'http://www.google.com\', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest(\'http://google.com/doodle.png\').pipe(fs.createWriteStream(\'doodle.png\'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types (in this case `application/json`) and use the proper `content-type` in the PUT request (if the headers don’t already provide one).\n\n```javascript\nfs.createReadStream(\'file.json\').pipe(request.put(\'http://mysite.com/obj.json\'))\n```\n\nRequest can also `pipe` to itself. When doing so, `content-type` and `content-length` are preserved in the PUT headers.\n\n```javascript\nrequest.get(\'http://google.com/img.png\').pipe(request.put(\'http://mysite.com/img.png\'))\n```\n\nNow let’s get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n if (req.method === \'PUT\') {\n req.pipe(request.put(\'http://mysite.com/doodle.png\'))\n } else if (req.method === \'GET\' || req.method === \'HEAD\') {\n request.get(\'http://mysite.com/doodle.png\').pipe(resp)\n }\n }\n})\n```\n\nYou can also `pipe()` from `http.ServerRequest` instances, as well as to `http.ServerResponse` instances. The HTTP method, headers, and entity-body data will be sent. Which means that, if you don\'t really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n var x = request(\'http://mysite.com/doodle.png\')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since `pipe()` returns the destination stream in ≥ Node 0.5.x you can do one line proxying. :)\n\n```javascript\nreq.pipe(request(\'http://mysite.com/doodle.png\')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({\'proxy\':\'http://localproxy.com\'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n r.get(\'http://google.com/doodle.png\').pipe(resp)\n }\n})\n```\n\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## UNIX Socket \n\n`request` supports the `unix://` protocol for all requests. The path is assumed to be absolute to the root of the host file system. \n\nHTTP paths are extracted from the supplied URL by testing each level of the full URL against net.connect for a socket response.\n\nThus the following request will GET `/httppath` from the HTTP server listening on `/tmp/unix.socket`\n\n```javascript\nrequest.get(\'unix://tmp/unix.socket/httppath\')\n```\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nURL-encoded forms are simple.\n\n```javascript\nrequest.post(\'http://service.com/upload\', {form:{key:\'value\'}})\n// or\nrequest.post(\'http://service.com/upload\').form({key:\'value\'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don’t need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post(\'http://service.com/upload\', function optionalCallback (err, httpResponse, body) {\n if (err) {\n return console.error(\'upload failed:\', err);\n }\n console.log(\'Upload successful! Server responded with:\', body);\n})\nvar form = r.form()\nform.append(\'my_field\', \'my_value\')\nform.append(\'my_buffer\', new Buffer([1, 2, 3]))\nform.append(\'my_file\', fs.createReadStream(path.join(__dirname, \'doodle.png\')))\nform.append(\'remote_file\', request(\'http://google.com/doodle.png\'))\n\n// Just like always, `r` is a writable stream, and can be used as such (you have until nextTick to pipe it, etc.)\n// Alternatively, you can provide a callback (that\'s what this example does-- see `optionalCallback` above).\n```\n\n## HTTP Authentication\n\n```javascript\nrequest.get(\'http://some.server.com/\').auth(\'username\', \'password\', false);\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'user\': \'username\',\n \'pass\': \'password\',\n \'sendImmediately\': false\n }\n});\n// or\nrequest.get(\'http://some.server.com/\').auth(null, null, true, \'bearerToken\');\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'bearer\': \'bearerToken\'\n }\n});\n```\n\nIf passed as an option, `auth` should be a hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). The method form takes parameters `auth(username, password, sendImmediately)`.\n\n`sendImmediately` defaults to `true`, which causes a basic authentication header to be sent. If `sendImmediately` is `false`, then `request` will retry with a proper authentication header after receiving a `401` response from the server (which must contain a `WWW-Authenticate` header indicating the required authentication method).\n\nDigest authentication is supported, but it only works with `sendImmediately` set to `false`; otherwise `request` will send basic authentication on the initial request, which will probably cause the request to fail.\n\nBearer authentication is supported, and is activated when the `bearer` value is available. The value may be either a `String` or a `Function` returning a `String`. Using a function to supply the bearer token is particularly useful if used in conjuction with `defaults` to allow a single function to supply the last known token at the time or sending a request or to compute one on the fly.\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require(\'querystring\')\n , oauth =\n { callback: \'http://mysite.com/callback/\'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = \'https://api.twitter.com/oauth/request_token\'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Ideally, you would take the body in the response\n // and construct a URL that a user clicks on (like a sign in button).\n // The verifier is only available in the response after a user has\n // verified with twitter that they are authorizing your app.\n var access_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: access_token.oauth_verifier\n }\n , url = \'https://api.twitter.com/oauth/access_token\'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/1.1/users/show.json?\'\n , params =\n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n### Custom HTTP Headers\n\nHTTP Headers, such as `User-Agent`, can be set in the `options` object.\nIn the example below, we call the github API to find out the number\nof stars and forks for the request repository. This requires a\ncustom `User-Agent` header as well as https.\n\n```javascript\nvar request = require(\'request\');\n\nvar options = {\n\turl: \'https://api.github.com/repos/mikeal/request\',\n\theaders: {\n\t\t\'User-Agent\': \'request\'\n\t}\n};\n\nfunction callback(error, response, body) {\n\tif (!error && response.statusCode == 200) {\n\t\tvar info = JSON.parse(body);\n\t\tconsole.log(info.stargazers_count + " Stars");\n\t\tconsole.log(info.forks_count + " Forks");\n\t}\n}\n\nrequest(options, callback);\n```\n\n### request(options, callback)\n\nThe first argument can be either a `url` or an `options` object. The only required option is `uri`; all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from `url.parse()`\n* `qs` - object containing querystring values to be appended to the `uri`\n* `method` - http method (default: `"GET"`)\n* `headers` - http headers (default: `{}`)\n* `body` - entity body for PATCH, POST and PUT requests. Must be a `Buffer` or `String`.\n* `form` - when passed an object, this sets `body` to a querystring representation of value, and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no options, a `FormData` instance is returned (and is piped to request).\n* `auth` - A hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). See documentation above.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as JSON.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects (default: `true`)\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects (default: `false`)\n* `maxRedirects` - the maximum number of redirects to follow (default: `10`)\n* `encoding` - Encoding to be used on `setEncoding` of response data. If `null`, the `body` is returned as a `Buffer`.\n* `pool` - A hash object containing the agents for these requests. If omitted, the request will use the global pool (which is set to node\'s default `maxSockets`)\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\n* `proxy` - An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the `url` parameter (by embedding the auth info in the `uri`)\n* `oauth` - Options for OAuth HMAC-SHA1 signing. See documentation above.\n* `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).\n* `strictSSL` - If `true`, requires SSL certificates be valid. **Note:** to use your own certificate authority, you need to specify an agent that was created with that CA as an option.\n* `jar` - If `true`, remember cookies for future use (or define your custom cookie jar; see examples section)\n* `aws` - `object` containing AWS signing information. Should have the properties `key`, `secret`. Also requires the property `bucket`, unless you’re specifying your `bucket` as part of the path, or the request doesn’t use a bucket (i.e. GET Services)\n* `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent\'s library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.\n* `localAddress` - Local interface to bind for network connections.\n\n\nThe callback argument gets 3 arguments: \n\n1. An `error` when applicable (usually from [`http.ClientRequest`](http://nodejs.org/api/http.html#http_class_http_clientrequest) object)\n2. An [`http.IncomingMessage`](http://nodejs.org/api/http.html#http_http_incomingmessage) object\n3. The third is the `response` body (`String` or `Buffer`, or JSON object if the `json` option is supplied)\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options)\n\nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as `request()`, but defaults to `method: "PUT"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.patch\n\nSame as `request()`, but defaults to `method: "PATCH"`.\n\n```javascript\nrequest.patch(url)\n```\n\n### request.post\n\nSame as `request()`, but defaults to `method: "POST"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: "HEAD"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as `request()`, but defaults to `method: "DELETE"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nSame as `request()` (for uniformity).\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie(\'cookie_string_here\')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require(\'request\')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: \'PUT\'\n , uri: \'http://mikeal.iriscouch.com/testjs/\' + rand\n , multipart:\n [ { \'content-type\': \'application/json\'\n , body: JSON.stringify({foo: \'bar\', _attachments: {\'message.txt\': {follows: true, length: 18, \'content_type\': \'text/plain\' }}})\n }\n , { body: \'I am an attachment\' }\n ]\n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log(\'document saved as: http://mikeal.iriscouch.com/testjs/\'+ rand)\n } else {\n console.log(\'error: \'+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\n\nCookies are disabled by default (else, they would be used in subsequent requests). To enable cookies, set `jar` to `true` (either in `defaults` or `options`).\n\n```javascript\nvar request = request.defaults({jar: true})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nTo use a custom cookie jar (instead of `request`’s global cookie jar), set `jar` to an instance of `request.jar()` (either in `defaults` or `options`)\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie(\'your_cookie_here\')\nj.setCookie(cookie, uri);\nrequest({url: \'http://www.google.com\', jar: j}, function () {\n request(\'http://images.google.com\')\n})\n```\n',
18243 silly resolved readmeFilename: 'README.md',
18243 silly resolved homepage: 'https://github.com/mikeal/request',
18243 silly resolved _id: 'request@2.36.0',
18243 silly resolved _shasum: '28c6c04262c7b9ffdd21b9255374517ee6d943f5',
18243 silly resolved _from: 'request@^2.34.0',
18243 silly resolved _resolved: 'https://registry.npmjs.org/request/-/request-2.36.0.tgz' },
18243 silly resolved { name: 'adm-zip',
18243 silly resolved version: '0.2.1',
18243 silly resolved description: 'A Javascript implementation of zip for nodejs. Allows user to create or extract zip files both in memory or to/from disk',
18243 silly resolved keywords: [ 'zip', 'methods', 'archive', 'unzip' ],
18243 silly resolved homepage: 'http://github.com/cthackers/adm-zip',
18243 silly resolved author:
18243 silly resolved { name: 'Nasca Iacob',
18243 silly resolved email: 'sy@another-d-mention.ro',
18243 silly resolved url: 'https://github.com/cthackers' },
18243 silly resolved bugs:
18243 silly resolved { url: 'https://github.com/cthackers/adm-zip/issues',
18243 silly resolved email: 'sy@another-d-mention.ro' },
18243 silly resolved licenses: [ [Object] ],
18243 silly resolved main: 'adm-zip.js',
18243 silly resolved repository:
18243 silly resolved { type: 'git',
18243 silly resolved url: 'git://github.com/git@github.com:cthackers/adm-zip.git' },
18243 silly resolved engines: { node: '>=0.3.0' },
18243 silly resolved readme: '# ADM-ZIP for NodeJS\r\n\r\nADM-ZIP is a pure JavaScript implementation for zip data compression for [NodeJS](http://nodejs.org/). \r\n\r\n# Installation\r\n\r\nWith [npm](http://npmjs.org) do:\r\n\r\n $ npm install adm-zip\r\n\t\r\n## What is it good for?\r\nThe library allows you to:\r\n\r\n* decompress zip files directly to disk or in memory buffers\r\n* compress files and store them to disk in .zip format or in compressed buffers\r\n* update content of/add new/delete files from an existing .zip\r\n\r\n# Dependencies\r\nThere are no other nodeJS libraries that ADM-ZIP is dependent of\r\n\r\n# Examples\r\n\r\n## Basic usage\r\n```javascript\r\n\r\n\tvar AdmZip = require(\'adm-zip\');\r\n\r\n\t// reading archives\r\n\tvar zip = new AdmZip("./my_file.zip");\r\n\tvar zipEntries = zip.getEntries(); // an array of ZipEntry records\r\n\r\n\tzipEntries.forEach(function(zipEntry) {\r\n\t console.log(zipEntry.toString()); // outputs zip entries information\r\n\t\tif (zipEntry.entryName == "my_file.txt") {\r\n\t\t console.log(zipEntry.data.toString(\'utf8\')); \r\n\t\t}\r\n\t});\r\n\t// outputs the content of some_folder/my_file.txt\r\n\tconsole.log(zip.readAsText("some_folder/my_file.txt")); \r\n\t// extracts the specified file to the specified location\r\n\tzip.extractEntryTo(/*entry name*/"some_folder/my_file.txt", /*target path*/"/home/me/tempfolder", /*overwrite*/true)\r\n\t// extracts everything\r\n\tzip.extractAllTo(/*target path*/"/home/me/zipcontent/", /*overwrite*/true);\r\n\t\r\n\t\r\n\t// creating archives\r\n\tvar zip = new AdmZip();\r\n\t\r\n\t// add file directly\r\n\tzip.addFile("test.txt", new Buffer("inner content of the file"), "entry comment goes here");\r\n\t// add local file\r\n\tzip.addLocalFile("/home/me/some_picture.png");\r\n\t// get everything as a buffer\r\n\tvar willSendthis = zip.toBuffer();\r\n\t// or write everything to disk\r\n\tzip.writeZip(/*target file name*/"/home/me/files.zip");\r\n\t\r\n\t\r\n\t// ... more examples in the wiki\r\n```\r\n\r\nFor more detailed information please check out the [wiki](https://github.com/cthackers/adm-zip/wiki).\n\n[![build status](https://secure.travis-ci.org/cthackers/adm-zip.png)](http://travis-ci.org/cthackers/adm-zip)',
18243 silly resolved readmeFilename: 'README.md',
18243 silly resolved _id: 'adm-zip@0.2.1',
18243 silly resolved _shasum: 'e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf',
18243 silly resolved _from: 'adm-zip@0.2.1',
18243 silly resolved _resolved: 'https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz' } ]
18244 info install rimraf@2.2.8 into /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
18245 info install which@1.0.5 into /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
18246 info install mkdirp@0.3.5 into /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
18247 info install kew@0.1.7 into /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
18248 info install ncp@0.4.2 into /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
18249 info install npmconf@0.0.24 into /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
18250 info install request@2.36.0 into /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
18251 info install adm-zip@0.2.1 into /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
18252 info installOne rimraf@2.2.8
18253 info installOne which@1.0.5
18254 info installOne mkdirp@0.3.5
18255 info installOne kew@0.1.7
18256 info installOne ncp@0.4.2
18257 info installOne npmconf@0.0.24
18258 info installOne request@2.36.0
18259 info installOne adm-zip@0.2.1
18260 verbose cache add [ 'assert-plus@https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz',
18260 verbose cache add null ]
18261 verbose cache add name=undefined spec="assert-plus@https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz" args=["assert-plus@https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz",null]
18262 verbose parsed url { protocol: null,
18262 verbose parsed url slashes: null,
18262 verbose parsed url auth: null,
18262 verbose parsed url host: null,
18262 verbose parsed url port: null,
18262 verbose parsed url hostname: null,
18262 verbose parsed url hash: null,
18262 verbose parsed url search: null,
18262 verbose parsed url query: null,
18262 verbose parsed url pathname: 'assert-plus@https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz',
18262 verbose parsed url path: 'assert-plus@https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz',
18262 verbose parsed url href: 'assert-plus@https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz' }
18263 verbose cache add [ 'asn1@https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz',
18263 verbose cache add null ]
18264 verbose cache add name=undefined spec="asn1@https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz" args=["asn1@https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",null]
18265 verbose parsed url { protocol: null,
18265 verbose parsed url slashes: null,
18265 verbose parsed url auth: null,
18265 verbose parsed url host: null,
18265 verbose parsed url port: null,
18265 verbose parsed url hostname: null,
18265 verbose parsed url hash: null,
18265 verbose parsed url search: null,
18265 verbose parsed url query: null,
18265 verbose parsed url pathname: 'asn1@https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz',
18265 verbose parsed url path: 'asn1@https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz',
18265 verbose parsed url href: 'asn1@https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz' }
18266 verbose cache add [ 'ctype@https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz',
18266 verbose cache add null ]
18267 verbose cache add name=undefined spec="ctype@https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz" args=["ctype@https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz",null]
18268 verbose parsed url { protocol: null,
18268 verbose parsed url slashes: null,
18268 verbose parsed url auth: null,
18268 verbose parsed url host: null,
18268 verbose parsed url port: null,
18268 verbose parsed url hostname: null,
18268 verbose parsed url hash: null,
18268 verbose parsed url search: null,
18268 verbose parsed url query: null,
18268 verbose parsed url pathname: 'ctype@https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz',
18268 verbose parsed url path: 'ctype@https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz',
18268 verbose parsed url href: 'ctype@https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz' }
18269 info preinstall executable@0.1.2
18270 info /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf unbuild
18271 info /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which unbuild
18272 info /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp unbuild
18273 info /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew unbuild
18274 info /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp unbuild
18275 info /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf unbuild
18276 info /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request unbuild
18277 info /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip unbuild
18278 verbose cache add name="assert-plus" spec="https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz" args=["assert-plus","https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz"]
18279 verbose parsed url { protocol: 'https:',
18279 verbose parsed url slashes: true,
18279 verbose parsed url auth: null,
18279 verbose parsed url host: 'registry.npmjs.org',
18279 verbose parsed url port: null,
18279 verbose parsed url hostname: 'registry.npmjs.org',
18279 verbose parsed url hash: null,
18279 verbose parsed url search: null,
18279 verbose parsed url query: null,
18279 verbose parsed url pathname: '/assert-plus/-/assert-plus-0.1.2.tgz',
18279 verbose parsed url path: '/assert-plus/-/assert-plus-0.1.2.tgz',
18279 verbose parsed url href: 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz' }
18280 silly lockFile 4359eee0-ssert-plus-assert-plus-0-1-2-tgz https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz
18281 verbose lock https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz /home/gary/.npm/4359eee0-ssert-plus-assert-plus-0-1-2-tgz.lock
18282 verbose cache add name="asn1" spec="https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz" args=["asn1","https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"]
18283 verbose parsed url { protocol: 'https:',
18283 verbose parsed url slashes: true,
18283 verbose parsed url auth: null,
18283 verbose parsed url host: 'registry.npmjs.org',
18283 verbose parsed url port: null,
18283 verbose parsed url hostname: 'registry.npmjs.org',
18283 verbose parsed url hash: null,
18283 verbose parsed url search: null,
18283 verbose parsed url query: null,
18283 verbose parsed url pathname: '/asn1/-/asn1-0.1.11.tgz',
18283 verbose parsed url path: '/asn1/-/asn1-0.1.11.tgz',
18283 verbose parsed url href: 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz' }
18284 silly lockFile 1acbaaf5-y-npmjs-org-asn1-asn1-0-1-11-tgz https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
18285 verbose lock https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz /home/gary/.npm/1acbaaf5-y-npmjs-org-asn1-asn1-0-1-11-tgz.lock
18286 verbose cache add name="ctype" spec="https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz" args=["ctype","https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz"]
18287 verbose parsed url { protocol: 'https:',
18287 verbose parsed url slashes: true,
18287 verbose parsed url auth: null,
18287 verbose parsed url host: 'registry.npmjs.org',
18287 verbose parsed url port: null,
18287 verbose parsed url hostname: 'registry.npmjs.org',
18287 verbose parsed url hash: null,
18287 verbose parsed url search: null,
18287 verbose parsed url query: null,
18287 verbose parsed url pathname: '/ctype/-/ctype-0.5.2.tgz',
18287 verbose parsed url path: '/ctype/-/ctype-0.5.2.tgz',
18287 verbose parsed url href: 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz' }
18288 silly lockFile 5a238869--npmjs-org-ctype-ctype-0-5-2-tgz https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz
18289 verbose lock https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz /home/gary/.npm/5a238869--npmjs-org-ctype-ctype-0-5-2-tgz.lock
18290 silly lockFile 5ca230cd-registry-npmjs-org-i-i-0-3-2-tgz https://registry.npmjs.org/i/-/i-0.3.2.tgz
18291 silly lockFile 5ca230cd-registry-npmjs-org-i-i-0-3-2-tgz https://registry.npmjs.org/i/-/i-0.3.2.tgz
18292 verbose addRemoteTarball [ 'https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz',
18292 verbose addRemoteTarball null ]
18293 verbose addRemoteTarball [ 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz', null ]
18294 verbose addRemoteTarball [ 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz', null ]
18295 verbose readDependencies using package.json deps
18296 verbose tar unpack /home/gary/.npm/rimraf/2.2.8/package.tgz
18297 silly lockFile 60f0d087-es-phantomjs-node-modules-rimraf tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf
18298 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf /home/gary/.npm/60f0d087-es-phantomjs-node-modules-rimraf.lock
18299 silly lockFile 5d8081f6-ary-npm-rimraf-2-2-8-package-tgz tar:///home/gary/.npm/rimraf/2.2.8/package.tgz
18300 verbose lock tar:///home/gary/.npm/rimraf/2.2.8/package.tgz /home/gary/.npm/5d8081f6-ary-npm-rimraf-2-2-8-package-tgz.lock
18301 verbose tar unpack /home/gary/.npm/which/1.0.5/package.tgz
18302 silly lockFile 7729c366-les-phantomjs-node-modules-which tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which
18303 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which /home/gary/.npm/7729c366-les-phantomjs-node-modules-which.lock
18304 silly lockFile b037aa6f-gary-npm-which-1-0-5-package-tgz tar:///home/gary/.npm/which/1.0.5/package.tgz
18305 verbose lock tar:///home/gary/.npm/which/1.0.5/package.tgz /home/gary/.npm/b037aa6f-gary-npm-which-1-0-5-package-tgz.lock
18306 verbose tar unpack /home/gary/.npm/mkdirp/0.3.5/package.tgz
18307 silly lockFile b2f84437-es-phantomjs-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp
18308 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp /home/gary/.npm/b2f84437-es-phantomjs-node-modules-mkdirp.lock
18309 silly lockFile 2417206b-ary-npm-mkdirp-0-3-5-package-tgz tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz
18310 verbose lock tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz /home/gary/.npm/2417206b-ary-npm-mkdirp-0-3-5-package-tgz.lock
18311 verbose tar unpack /home/gary/.npm/kew/0.1.7/package.tgz
18312 silly lockFile 19c52105-dules-phantomjs-node-modules-kew tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew
18313 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew /home/gary/.npm/19c52105-dules-phantomjs-node-modules-kew.lock
18314 silly lockFile 46177261-e-gary-npm-kew-0-1-7-package-tgz tar:///home/gary/.npm/kew/0.1.7/package.tgz
18315 verbose lock tar:///home/gary/.npm/kew/0.1.7/package.tgz /home/gary/.npm/46177261-e-gary-npm-kew-0-1-7-package-tgz.lock
18316 verbose tar unpack /home/gary/.npm/ncp/0.4.2/package.tgz
18317 silly lockFile bec504ef-dules-phantomjs-node-modules-ncp tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp
18318 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp /home/gary/.npm/bec504ef-dules-phantomjs-node-modules-ncp.lock
18319 silly lockFile 89bce3d1-e-gary-npm-ncp-0-4-2-package-tgz tar:///home/gary/.npm/ncp/0.4.2/package.tgz
18320 verbose lock tar:///home/gary/.npm/ncp/0.4.2/package.tgz /home/gary/.npm/89bce3d1-e-gary-npm-ncp-0-4-2-package-tgz.lock
18321 verbose tar unpack /home/gary/.npm/npmconf/0.0.24/package.tgz
18322 silly lockFile 9d28fec3-s-phantomjs-node-modules-npmconf tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
18323 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf /home/gary/.npm/9d28fec3-s-phantomjs-node-modules-npmconf.lock
18324 silly lockFile 65c33f48-y-npm-npmconf-0-0-24-package-tgz tar:///home/gary/.npm/npmconf/0.0.24/package.tgz
18325 verbose lock tar:///home/gary/.npm/npmconf/0.0.24/package.tgz /home/gary/.npm/65c33f48-y-npm-npmconf-0-0-24-package-tgz.lock
18326 verbose tar unpack /home/gary/.npm/request/2.36.0/package.tgz
18327 silly lockFile dd24d53c-s-phantomjs-node-modules-request tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
18328 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request /home/gary/.npm/dd24d53c-s-phantomjs-node-modules-request.lock
18329 silly lockFile f01eab1b-y-npm-request-2-36-0-package-tgz tar:///home/gary/.npm/request/2.36.0/package.tgz
18330 verbose lock tar:///home/gary/.npm/request/2.36.0/package.tgz /home/gary/.npm/f01eab1b-y-npm-request-2-36-0-package-tgz.lock
18331 verbose tar unpack /home/gary/.npm/adm-zip/0.2.1/package.tgz
18332 silly lockFile 7d6b65e9-s-phantomjs-node-modules-adm-zip tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip
18333 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip /home/gary/.npm/7d6b65e9-s-phantomjs-node-modules-adm-zip.lock
18334 silly lockFile 2a421214-ry-npm-adm-zip-0-2-1-package-tgz tar:///home/gary/.npm/adm-zip/0.2.1/package.tgz
18335 verbose lock tar:///home/gary/.npm/adm-zip/0.2.1/package.tgz /home/gary/.npm/2a421214-ry-npm-adm-zip-0-2-1-package-tgz.lock
18336 silly lockFile 59ebcb6b--minimisttmp-cfda6974fec6package tar:///home/gary/.npm/minimisttmp_cfda6974fec6package
18337 silly lockFile 59ebcb6b--minimisttmp-cfda6974fec6package tar:///home/gary/.npm/minimisttmp_cfda6974fec6package
18338 silly gunzTarPerm extractEntry array/findLast.js
18339 silly gunzTarPerm extractEntry array/slice.js
18340 info retry fetch attempt 1 at 14:03:23
18341 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077803614-0.25059089600108564/tmp.tgz
18342 info retry fetch attempt 1 at 14:03:23
18343 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077803615-0.5080063519999385/tmp.tgz
18344 info retry fetch attempt 1 at 14:03:23
18345 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077803615-0.03419993259012699/tmp.tgz
18346 silly gunzTarPerm extractEntry package.json
18347 verbose readDependencies using package.json deps
18348 silly resolved []
18349 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/bin-check/node_modules/executable
18350 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/bin-check/node_modules/executable
18351 verbose linkStuff [ false,
18351 verbose linkStuff false,
18351 verbose linkStuff false,
18351 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/bin-check/node_modules' ]
18352 info linkStuff executable@0.1.2
18353 verbose linkBins executable@0.1.2
18354 verbose link bins [ { executable: 'cli.js' },
18354 verbose link bins '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/bin-check/node_modules/.bin',
18354 verbose link bins false ]
18355 verbose linkMans executable@0.1.2
18356 verbose rebuildBundles executable@0.1.2
18357 silly lockFile 4b947fb8-02059-0-5465322893578559-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077802059-0.5465322893578559/tmp.tgz
18358 silly lockFile 4b947fb8-02059-0-5465322893578559-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077802059-0.5465322893578559/tmp.tgz
18359 http 200 https://registry.npmjs.org/through2/-/through2-0.4.2.tgz
18360 silly gunzTarPerm extractEntry test/instrumentation/test-if.js
18361 silly gunzTarPerm extractEntry test/other/test-summarizer.js
18362 http GET https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz
18363 http GET https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
18364 http GET https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz
18365 silly gunzTarPerm modes [ '755', '644' ]
18366 silly gunzTarPerm modes [ '755', '644' ]
18367 silly gunzTarPerm modes [ '755', '644' ]
18368 silly gunzTarPerm modes [ '755', '644' ]
18369 silly gunzTarPerm modes [ '755', '644' ]
18370 silly gunzTarPerm modes [ '755', '644' ]
18371 silly gunzTarPerm modes [ '755', '644' ]
18372 silly gunzTarPerm modes [ '755', '644' ]
18373 silly lockFile df7143d5--bin-build-node-modules-download tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download
18374 silly lockFile df7143d5--bin-build-node-modules-download tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download
18375 silly gunzTarPerm extractEntry readme.md
18376 silly lockFile 1722097c--npm-download-0-1-17-package-tgz tar:///home/gary/.npm/download/0.1.17/package.tgz
18377 silly lockFile 1722097c--npm-download-0-1-17-package-tgz tar:///home/gary/.npm/download/0.1.17/package.tgz
18378 silly gunzTarPerm extractEntry each-async.js
18379 silly gunzTarPerm extractEntry readme.md
18380 silly gunzTarPerm extractEntry index.js
18381 silly gunzTarPerm extractEntry lib/public/icons/page_white_add.png
18382 silly gunzTarPerm extractEntry lib/public/icons/page_white_c.png
18383 silly resolved [ { name: 'ncp',
18383 silly resolved version: '0.4.2',
18383 silly resolved author: { name: 'AvianFlu', email: 'charlie@charlieistheman.com' },
18383 silly resolved description: 'Asynchronous recursive file copy utility.',
18383 silly resolved bin: { ncp: './bin/ncp' },
18383 silly resolved devDependencies: { vows: '0.6.x', rimraf: '1.0.x', 'read-dir-files': '0.0.x' },
18383 silly resolved main: './lib/ncp.js',
18383 silly resolved repository: { type: 'git', url: 'https://github.com/AvianFlu/ncp.git' },
18383 silly resolved keywords: [ 'cli', 'copy' ],
18383 silly resolved license: 'MIT',
18383 silly resolved engine: { node: '>=0.4' },
18383 silly resolved scripts: { test: 'vows --isolate --spec' },
18383 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',
18383 silly resolved readmeFilename: 'README.md',
18383 silly resolved bugs: { url: 'https://github.com/AvianFlu/ncp/issues' },
18383 silly resolved homepage: 'https://github.com/AvianFlu/ncp',
18383 silly resolved _id: 'ncp@0.4.2',
18383 silly resolved _shasum: 'abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574',
18383 silly resolved _from: 'ncp@0.4.2',
18383 silly resolved _resolved: 'https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz' },
18383 silly resolved { name: 'deep-equal',
18383 silly resolved version: '0.2.1',
18383 silly resolved description: 'node\'s assert.deepEqual algorithm',
18383 silly resolved main: 'index.js',
18383 silly resolved directories: { lib: '.', example: 'example', test: 'test' },
18383 silly resolved scripts: { test: 'tape test/*.js' },
18383 silly resolved devDependencies: { tape: '~2.3.2' },
18383 silly resolved repository:
18383 silly resolved { type: 'git',
18383 silly resolved url: 'http://github.com/substack/node-deep-equal.git' },
18383 silly resolved keywords: [ 'equality', 'equal', 'compare' ],
18383 silly resolved author:
18383 silly resolved { name: 'James Halliday',
18383 silly resolved email: 'mail@substack.net',
18383 silly resolved url: 'http://substack.net' },
18383 silly resolved license: 'MIT',
18383 silly resolved testling: { files: 'test/*.js', browsers: [Object] },
18383 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',
18383 silly resolved readmeFilename: 'readme.markdown',
18383 silly resolved bugs: { url: 'https://github.com/substack/node-deep-equal/issues' },
18383 silly resolved homepage: 'https://github.com/substack/node-deep-equal',
18383 silly resolved _id: 'deep-equal@0.2.1',
18383 silly resolved _shasum: 'fad7a793224cbf0c3c7786f92ef780e4fc8cc878',
18383 silly resolved _from: 'https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz',
18383 silly resolved _resolved: 'https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz' },
18383 silly resolved { name: 'rimraf',
18383 silly resolved version: '2.2.8',
18383 silly resolved main: 'rimraf.js',
18383 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
18383 silly resolved author:
18383 silly resolved { name: 'Isaac Z. Schlueter',
18383 silly resolved email: 'i@izs.me',
18383 silly resolved url: 'http://blog.izs.me/' },
18383 silly resolved license:
18383 silly resolved { type: 'MIT',
18383 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
18383 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
18383 silly resolved scripts: { test: 'cd test && bash run.sh' },
18383 silly resolved bin: { rimraf: './bin.js' },
18383 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
18383 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',
18383 silly resolved readmeFilename: 'README.md',
18383 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
18383 silly resolved homepage: 'https://github.com/isaacs/rimraf',
18383 silly resolved _id: 'rimraf@2.2.8',
18383 silly resolved _shasum: 'e439be2aaee327321952730f99a8929e4fc50582',
18383 silly resolved _from: 'https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz',
18383 silly resolved _resolved: 'https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz' },
18383 silly resolved { name: 'async',
18383 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
18383 silly resolved main: './lib/async',
18383 silly resolved author: { name: 'Caolan McMahon' },
18383 silly resolved version: '0.2.10',
18383 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
18383 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
18383 silly resolved licenses: [ [Object] ],
18383 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
18383 silly resolved jam: { main: 'lib/async.js', include: [Object] },
18383 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
18383 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',
18383 silly resolved readmeFilename: 'README.md',
18383 silly resolved homepage: 'https://github.com/caolan/async',
18383 silly resolved _id: 'async@0.2.10',
18383 silly resolved _shasum: 'b6bbe0b0674b9d719708ca38de8c237cb526c3d1',
18383 silly resolved _from: 'https://registry.npmjs.org/async/-/async-0.2.10.tgz',
18383 silly resolved _resolved: 'https://registry.npmjs.org/async/-/async-0.2.10.tgz' },
18383 silly resolved { name: 'mkdirp',
18383 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
18383 silly resolved version: '0.5.0',
18383 silly resolved author:
18383 silly resolved { name: 'James Halliday',
18383 silly resolved email: 'mail@substack.net',
18383 silly resolved url: 'http://substack.net' },
18383 silly resolved main: './index',
18383 silly resolved keywords: [ 'mkdir', 'directory' ],
18383 silly resolved repository:
18383 silly resolved { type: 'git',
18383 silly resolved url: 'https://github.com/substack/node-mkdirp.git' },
18383 silly resolved scripts: { test: 'tap test/*.js' },
18383 silly resolved dependencies: { minimist: '0.0.8' },
18383 silly resolved devDependencies: { tap: '~0.4.0', 'mock-fs': '~2.2.0' },
18383 silly resolved bin: { mkdirp: 'bin/cmd.js' },
18383 silly resolved license: 'MIT',
18383 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',
18383 silly resolved readmeFilename: 'readme.markdown',
18383 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
18383 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
18383 silly resolved _id: 'mkdirp@0.5.0',
18383 silly resolved _shasum: '1d73076a6df986cd9344e15e71fcc05a4c9abf12',
18383 silly resolved _from: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz',
18383 silly resolved _resolved: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz' },
18383 silly resolved { name: 'i',
18383 silly resolved version: '0.3.2',
18383 silly resolved author:
18383 silly resolved { name: 'Pavan Kumar Sunkara',
18383 silly resolved email: 'pavan.sss1991@gmail.com',
18383 silly resolved url: 'pksunkara.github.com' },
18383 silly resolved description: 'custom inflections for nodejs',
18383 silly resolved main: './lib/inflect',
18383 silly resolved repository: { type: 'git', url: 'git://github.com/pksunkara/inflect.git' },
18383 silly resolved keywords:
18383 silly resolved [ 'singular',
18383 silly resolved 'plural',
18383 silly resolved 'camelize',
18383 silly resolved 'underscore',
18383 silly resolved 'dasherize',
18383 silly resolved 'demodulize',
18383 silly resolved 'ordinalize',
18383 silly resolved 'uncountable',
18383 silly resolved 'pluralize',
18383 silly resolved 'singularize',
18383 silly resolved 'titleize',
18383 silly resolved 'tableize',
18383 silly resolved 'classify',
18383 silly resolved 'foreign_key' ],
18383 silly resolved homepage: 'http://pksunkara.github.com/inflect',
18383 silly resolved scripts: { test: 'vows --spec $(find test -name \'*-test.js\')' },
18383 silly resolved contributors: [ [Object] ],
18383 silly resolved dependencies: {},
18383 silly resolved devDependencies: { vows: '~0.6.1' },
18383 silly resolved engines: { node: '>=0.4' },
18383 silly resolved bugs: { url: 'https://github.com/pksunkara/inflect/issues' },
18383 silly resolved licenses: [ [Object] ],
18383 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',
18383 silly resolved readmeFilename: 'README.md',
18383 silly resolved _id: 'i@0.3.2',
18383 silly resolved _shasum: 'b2e2d6ef47900bd924e281231ff4c5cc798d9ea8',
18383 silly resolved _from: 'https://registry.npmjs.org/i/-/i-0.3.2.tgz',
18383 silly resolved _resolved: 'https://registry.npmjs.org/i/-/i-0.3.2.tgz' } ]
18384 info install ncp@0.4.2 into /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile
18385 info install deep-equal@0.2.1 into /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile
18386 info install rimraf@2.2.8 into /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile
18387 info install async@0.2.10 into /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile
18388 info install mkdirp@0.5.0 into /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile
18389 info install i@0.3.2 into /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile
18390 info installOne ncp@0.4.2
18391 info installOne deep-equal@0.2.1
18392 info installOne rimraf@2.2.8
18393 info installOne async@0.2.10
18394 info installOne mkdirp@0.5.0
18395 info installOne i@0.3.2
18396 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803482-0.6869003586471081/tmp.tgz
18397 silly lockFile dad61395--gary-npm-through2-0-4-2-package tar:///home/gary/.npm/through2/0.4.2/package
18398 verbose lock tar:///home/gary/.npm/through2/0.4.2/package /home/gary/.npm/dad61395--gary-npm-through2-0-4-2-package.lock
18399 silly lockFile 919e66b6-03482-0-6869003586471081-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803482-0.6869003586471081/tmp.tgz
18400 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803482-0.6869003586471081/tmp.tgz /home/gary/.npm/919e66b6-03482-0-6869003586471081-tmp-tgz.lock
18401 info /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/ncp unbuild
18402 info /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/rimraf unbuild
18403 info /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/async unbuild
18404 info install executable@0.1.2
18405 silly gunzTarPerm extractEntry package.json
18406 silly gunzTarPerm extractEntry array/findIndex.js
18407 silly gunzTarPerm extractEntry array/some.js
18408 info preinstall download@0.1.17
18409 info postinstall executable@0.1.2
18410 silly gunzTarPerm extractEntry bin/
18411 silly gunzTarPerm extractEntry package.json
18412 silly gunzTarPerm extractEntry package.json
18413 silly gunzTarPerm extractEntry package.json
18414 silly gunzTarPerm extractEntry package.json
18415 silly gunzTarPerm extractEntry package.json
18416 silly gunzTarPerm extractEntry package.json
18417 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
18418 silly lockFile 49d15de6-s-request-node-modules-node-uuid tar:///home/gary/code/email-transactional-app/node_modules/request/node_modules/node-uuid
18419 silly lockFile 49d15de6-s-request-node-modules-node-uuid tar:///home/gary/code/email-transactional-app/node_modules/request/node_modules/node-uuid
18420 silly gunzTarPerm modes [ '755', '644' ]
18421 verbose tar unpack /home/gary/.npm/ncp/0.4.2/package.tgz
18422 silly lockFile c807a95e-e-modules-utile-node-modules-ncp tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/ncp
18423 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/ncp /home/gary/.npm/c807a95e-e-modules-utile-node-modules-ncp.lock
18424 silly lockFile 89bce3d1-e-gary-npm-ncp-0-4-2-package-tgz tar:///home/gary/.npm/ncp/0.4.2/package.tgz
18425 verbose lock tar:///home/gary/.npm/ncp/0.4.2/package.tgz /home/gary/.npm/89bce3d1-e-gary-npm-ncp-0-4-2-package-tgz.lock
18426 verbose tar unpack /home/gary/.npm/rimraf/2.2.8/package.tgz
18427 silly lockFile cef39aaa-odules-utile-node-modules-rimraf tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/rimraf
18428 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/rimraf /home/gary/.npm/cef39aaa-odules-utile-node-modules-rimraf.lock
18429 silly lockFile 5d8081f6-ary-npm-rimraf-2-2-8-package-tgz tar:///home/gary/.npm/rimraf/2.2.8/package.tgz
18430 verbose lock tar:///home/gary/.npm/rimraf/2.2.8/package.tgz /home/gary/.npm/5d8081f6-ary-npm-rimraf-2-2-8-package-tgz.lock
18431 verbose tar unpack /home/gary/.npm/async/0.2.10/package.tgz
18432 silly lockFile 1bd9833a-modules-utile-node-modules-async tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/async
18433 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/async /home/gary/.npm/1bd9833a-modules-utile-node-modules-async.lock
18434 silly lockFile 4d9ac80c-ary-npm-async-0-2-10-package-tgz tar:///home/gary/.npm/async/0.2.10/package.tgz
18435 verbose lock tar:///home/gary/.npm/async/0.2.10/package.tgz /home/gary/.npm/4d9ac80c-ary-npm-async-0-2-10-package-tgz.lock
18436 silly lockFile 5eaf1015-me-gary-npm-lodash-0-9-2-package tar:///home/gary/.npm/lodash/0.9.2/package
18437 silly lockFile 5eaf1015-me-gary-npm-lodash-0-9-2-package tar:///home/gary/.npm/lodash/0.9.2/package
18438 silly lockFile 6c9ad977--npm-node-uuid-1-4-1-package-tgz tar:///home/gary/.npm/node-uuid/1.4.1/package.tgz
18439 silly lockFile 6c9ad977--npm-node-uuid-1-4-1-package-tgz tar:///home/gary/.npm/node-uuid/1.4.1/package.tgz
18440 silly lockFile 3e126cd5-odules-request-node-modules-mime tar:///home/gary/code/email-transactional-app/node_modules/request/node_modules/mime
18441 silly lockFile 3e126cd5-odules-request-node-modules-mime tar:///home/gary/code/email-transactional-app/node_modules/request/node_modules/mime
18442 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/bin-check
18443 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/bin-check
18444 verbose linkStuff [ false,
18444 verbose linkStuff false,
18444 verbose linkStuff false,
18444 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules' ]
18445 info linkStuff bin-check@0.1.5
18446 verbose linkBins bin-check@0.1.5
18447 verbose linkMans bin-check@0.1.5
18448 verbose rebuildBundles bin-check@0.1.5
18449 silly lockFile 5f16cadc-98054-0-6412348002195358-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077798054-0.6412348002195358/tmp.tgz
18450 silly lockFile 5f16cadc-98054-0-6412348002195358-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077798054-0.6412348002195358/tmp.tgz
18451 silly lockFile e654c4f9-gary-npm-mime-1-2-11-package-tgz tar:///home/gary/.npm/mime/1.2.11/package.tgz
18452 silly lockFile e654c4f9-gary-npm-mime-1-2-11-package-tgz tar:///home/gary/.npm/mime/1.2.11/package.tgz
18453 info /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/deep-equal unbuild
18454 info /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/mkdirp unbuild
18455 info /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/i unbuild
18456 verbose readDependencies using package.json deps
18457 verbose rebuildBundles [ '.bin', 'executable' ]
18458 info install bin-check@0.1.5
18459 silly gunzTarPerm extractEntry README.md
18460 silly gunzTarPerm extractEntry LICENSE
18461 silly lockFile 91a6db70-org-minimist-minimist-0-0-10-tgz https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz
18462 silly lockFile 91a6db70-org-minimist-minimist-0-0-10-tgz https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz
18463 silly gunzTarPerm modes [ '755', '644' ]
18464 verbose readDependencies using package.json deps
18465 silly gunzTarPerm extractEntry bin/which
18466 silly gunzTarPerm extractEntry LICENSE
18467 silly gunzTarPerm extractEntry package.json
18468 silly gunzTarPerm extractEntry .npmignore
18469 silly gunzTarPerm extractEntry LICENSE
18470 silly gunzTarPerm extractEntry .npmignore
18471 silly gunzTarPerm extractEntry README.md
18472 silly gunzTarPerm extractEntry .npmignore
18473 silly gunzTarPerm extractEntry README.md
18474 silly gunzTarPerm extractEntry .npmignore
18475 silly gunzTarPerm extractEntry README.md
18476 silly gunzTarPerm extractEntry .npmignore
18477 silly gunzTarPerm extractEntry README.md
18478 silly gunzTarPerm extractEntry README.md
18479 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
18480 silly gunzTarPerm extractEntry zipEntry.js
18481 silly gunzTarPerm modified mode [ 'zipEntry.js', 438, 420 ]
18482 info postinstall bin-check@0.1.5
18483 verbose cache add [ 'through2@^0.4.0', null ]
18484 verbose cache add name=undefined spec="through2@^0.4.0" args=["through2@^0.4.0",null]
18485 verbose parsed url { protocol: null,
18485 verbose parsed url slashes: null,
18485 verbose parsed url auth: null,
18485 verbose parsed url host: null,
18485 verbose parsed url port: null,
18485 verbose parsed url hostname: null,
18485 verbose parsed url hash: null,
18485 verbose parsed url search: null,
18485 verbose parsed url query: null,
18485 verbose parsed url pathname: 'through2@^0.4.0',
18485 verbose parsed url path: 'through2@^0.4.0',
18485 verbose parsed url href: 'through2@^0.4.0' }
18486 verbose cache add name="through2" spec="^0.4.0" args=["through2","^0.4.0"]
18487 verbose parsed url { protocol: null,
18487 verbose parsed url slashes: null,
18487 verbose parsed url auth: null,
18487 verbose parsed url host: null,
18487 verbose parsed url port: null,
18487 verbose parsed url hostname: null,
18487 verbose parsed url hash: null,
18487 verbose parsed url search: null,
18487 verbose parsed url query: null,
18487 verbose parsed url pathname: '^0.4.0',
18487 verbose parsed url path: '^0.4.0',
18487 verbose parsed url href: '^0.4.0' }
18488 verbose addNamed [ 'through2', '^0.4.0' ]
18489 info preinstall node-uuid@1.4.1
18490 silly gunzTarPerm extractEntry package.json
18491 verbose tar unpack /home/gary/.npm/deep-equal/0.2.1/package.tgz
18492 silly lockFile ee48a4d4-es-utile-node-modules-deep-equal tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/deep-equal
18493 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/deep-equal /home/gary/.npm/ee48a4d4-es-utile-node-modules-deep-equal.lock
18494 silly lockFile e54a2f36-npm-deep-equal-0-2-1-package-tgz tar:///home/gary/.npm/deep-equal/0.2.1/package.tgz
18495 verbose lock tar:///home/gary/.npm/deep-equal/0.2.1/package.tgz /home/gary/.npm/e54a2f36-npm-deep-equal-0-2-1-package-tgz.lock
18496 verbose tar unpack /home/gary/.npm/mkdirp/0.5.0/package.tgz
18497 silly lockFile 7518622f-odules-utile-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/mkdirp
18498 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/mkdirp /home/gary/.npm/7518622f-odules-utile-node-modules-mkdirp.lock
18499 silly lockFile 5e53057c-ary-npm-mkdirp-0-5-0-package-tgz tar:///home/gary/.npm/mkdirp/0.5.0/package.tgz
18500 verbose lock tar:///home/gary/.npm/mkdirp/0.5.0/package.tgz /home/gary/.npm/5e53057c-ary-npm-mkdirp-0-5-0-package-tgz.lock
18501 verbose tar unpack /home/gary/.npm/i/0.3.2/package.tgz
18502 silly lockFile afba7c26-ode-modules-utile-node-modules-i tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/i
18503 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/i /home/gary/.npm/afba7c26-ode-modules-utile-node-modules-i.lock
18504 silly lockFile 6d2c2122-ome-gary-npm-i-0-3-2-package-tgz tar:///home/gary/.npm/i/0.3.2/package.tgz
18505 verbose lock tar:///home/gary/.npm/i/0.3.2/package.tgz /home/gary/.npm/6d2c2122-ome-gary-npm-i-0-3-2-package-tgz.lock
18506 verbose cache add [ 'decompress@^0.2.0', null ]
18507 verbose cache add name=undefined spec="decompress@^0.2.0" args=["decompress@^0.2.0",null]
18508 verbose parsed url { protocol: null,
18508 verbose parsed url slashes: null,
18508 verbose parsed url auth: null,
18508 verbose parsed url host: null,
18508 verbose parsed url port: null,
18508 verbose parsed url hostname: null,
18508 verbose parsed url hash: null,
18508 verbose parsed url search: null,
18508 verbose parsed url query: null,
18508 verbose parsed url pathname: 'decompress@^0.2.0',
18508 verbose parsed url path: 'decompress@^0.2.0',
18508 verbose parsed url href: 'decompress@^0.2.0' }
18509 verbose cache add name="decompress" spec="^0.2.0" args=["decompress","^0.2.0"]
18510 verbose parsed url { protocol: null,
18510 verbose parsed url slashes: null,
18510 verbose parsed url auth: null,
18510 verbose parsed url host: null,
18510 verbose parsed url port: null,
18510 verbose parsed url hostname: null,
18510 verbose parsed url hash: null,
18510 verbose parsed url search: null,
18510 verbose parsed url query: null,
18510 verbose parsed url pathname: '^0.2.0',
18510 verbose parsed url path: '^0.2.0',
18510 verbose parsed url href: '^0.2.0' }
18511 verbose addNamed [ 'decompress', '^0.2.0' ]
18512 verbose cache add [ 'each-async@^0.1.1', null ]
18513 verbose cache add name=undefined spec="each-async@^0.1.1" args=["each-async@^0.1.1",null]
18514 verbose parsed url { protocol: null,
18514 verbose parsed url slashes: null,
18514 verbose parsed url auth: null,
18514 verbose parsed url host: null,
18514 verbose parsed url port: null,
18514 verbose parsed url hostname: null,
18514 verbose parsed url hash: null,
18514 verbose parsed url search: null,
18514 verbose parsed url query: null,
18514 verbose parsed url pathname: 'each-async@^0.1.1',
18514 verbose parsed url path: 'each-async@^0.1.1',
18514 verbose parsed url href: 'each-async@^0.1.1' }
18515 verbose cache add name="each-async" spec="^0.1.1" args=["each-async","^0.1.1"]
18516 verbose parsed url { protocol: null,
18516 verbose parsed url slashes: null,
18516 verbose parsed url auth: null,
18516 verbose parsed url host: null,
18516 verbose parsed url port: null,
18516 verbose parsed url hostname: null,
18516 verbose parsed url hash: null,
18516 verbose parsed url search: null,
18516 verbose parsed url query: null,
18516 verbose parsed url pathname: '^0.1.1',
18516 verbose parsed url path: '^0.1.1',
18516 verbose parsed url href: '^0.1.1' }
18517 verbose addNamed [ 'each-async', '^0.1.1' ]
18518 verbose cache add [ 'get-stdin@^0.1.0', null ]
18519 verbose cache add name=undefined spec="get-stdin@^0.1.0" args=["get-stdin@^0.1.0",null]
18520 verbose parsed url { protocol: null,
18520 verbose parsed url slashes: null,
18520 verbose parsed url auth: null,
18520 verbose parsed url host: null,
18520 verbose parsed url port: null,
18520 verbose parsed url hostname: null,
18520 verbose parsed url hash: null,
18520 verbose parsed url search: null,
18520 verbose parsed url query: null,
18520 verbose parsed url pathname: 'get-stdin@^0.1.0',
18520 verbose parsed url path: 'get-stdin@^0.1.0',
18520 verbose parsed url href: 'get-stdin@^0.1.0' }
18521 verbose cache add name="get-stdin" spec="^0.1.0" args=["get-stdin","^0.1.0"]
18522 verbose parsed url { protocol: null,
18522 verbose parsed url slashes: null,
18522 verbose parsed url auth: null,
18522 verbose parsed url host: null,
18522 verbose parsed url port: null,
18522 verbose parsed url hostname: null,
18522 verbose parsed url hash: null,
18522 verbose parsed url search: null,
18522 verbose parsed url query: null,
18522 verbose parsed url pathname: '^0.1.0',
18522 verbose parsed url path: '^0.1.0',
18522 verbose parsed url href: '^0.1.0' }
18523 verbose addNamed [ 'get-stdin', '^0.1.0' ]
18524 info preinstall mime@1.2.11
18525 silly gunzTarPerm extractEntry lib/public/icons/page_white_camera.png
18526 silly gunzTarPerm extractEntry lib/public/icons/page_white_cd.png
18527 silly gunzTarPerm extractEntry examples/multi.js
18528 silly gunzTarPerm extractEntry examples/file.js
18529 silly gunzTarPerm extractEntry array/find.js
18530 silly gunzTarPerm extractEntry array/sort.js
18531 http 200 https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
18532 verbose cache add [ 'get-urls@^0.1.1', null ]
18533 verbose cache add name=undefined spec="get-urls@^0.1.1" args=["get-urls@^0.1.1",null]
18534 verbose parsed url { protocol: null,
18534 verbose parsed url slashes: null,
18534 verbose parsed url auth: null,
18534 verbose parsed url host: null,
18534 verbose parsed url port: null,
18534 verbose parsed url hostname: null,
18534 verbose parsed url hash: null,
18534 verbose parsed url search: null,
18534 verbose parsed url query: null,
18534 verbose parsed url pathname: 'get-urls@^0.1.1',
18534 verbose parsed url path: 'get-urls@^0.1.1',
18534 verbose parsed url href: 'get-urls@^0.1.1' }
18535 verbose cache add name="get-urls" spec="^0.1.1" args=["get-urls","^0.1.1"]
18536 verbose parsed url { protocol: null,
18536 verbose parsed url slashes: null,
18536 verbose parsed url auth: null,
18536 verbose parsed url host: null,
18536 verbose parsed url port: null,
18536 verbose parsed url hostname: null,
18536 verbose parsed url hash: null,
18536 verbose parsed url search: null,
18536 verbose parsed url query: null,
18536 verbose parsed url pathname: '^0.1.1',
18536 verbose parsed url path: '^0.1.1',
18536 verbose parsed url href: '^0.1.1' }
18537 verbose addNamed [ 'get-urls', '^0.1.1' ]
18538 verbose cache add [ 'mkdirp@^0.3.5', null ]
18539 verbose cache add name=undefined spec="mkdirp@^0.3.5" args=["mkdirp@^0.3.5",null]
18540 verbose parsed url { protocol: null,
18540 verbose parsed url slashes: null,
18540 verbose parsed url auth: null,
18540 verbose parsed url host: null,
18540 verbose parsed url port: null,
18540 verbose parsed url hostname: null,
18540 verbose parsed url hash: null,
18540 verbose parsed url search: null,
18540 verbose parsed url query: null,
18540 verbose parsed url pathname: 'mkdirp@^0.3.5',
18540 verbose parsed url path: 'mkdirp@^0.3.5',
18540 verbose parsed url href: 'mkdirp@^0.3.5' }
18541 verbose cache add name="mkdirp" spec="^0.3.5" args=["mkdirp","^0.3.5"]
18542 verbose parsed url { protocol: null,
18542 verbose parsed url slashes: null,
18542 verbose parsed url auth: null,
18542 verbose parsed url host: null,
18542 verbose parsed url port: null,
18542 verbose parsed url hostname: null,
18542 verbose parsed url hash: null,
18542 verbose parsed url search: null,
18542 verbose parsed url query: null,
18542 verbose parsed url pathname: '^0.3.5',
18542 verbose parsed url path: '^0.3.5',
18542 verbose parsed url href: '^0.3.5' }
18543 verbose addNamed [ 'mkdirp', '^0.3.5' ]
18544 verbose addNamed [ null, '>=0.3.5-0 <0.4.0-0' ]
18545 silly lockFile 421b7bdc-mkdirp-0-3-5 mkdirp@^0.3.5
18546 verbose lock mkdirp@^0.3.5 /home/gary/.npm/421b7bdc-mkdirp-0-3-5.lock
18547 verbose cache add [ 'nopt@^2.2.0', null ]
18548 verbose cache add name=undefined spec="nopt@^2.2.0" args=["nopt@^2.2.0",null]
18549 verbose parsed url { protocol: null,
18549 verbose parsed url slashes: null,
18549 verbose parsed url auth: null,
18549 verbose parsed url host: null,
18549 verbose parsed url port: null,
18549 verbose parsed url hostname: null,
18549 verbose parsed url hash: null,
18549 verbose parsed url search: null,
18549 verbose parsed url query: null,
18549 verbose parsed url pathname: 'nopt@^2.2.0',
18549 verbose parsed url path: 'nopt@^2.2.0',
18549 verbose parsed url href: 'nopt@^2.2.0' }
18550 verbose cache add name="nopt" spec="^2.2.0" args=["nopt","^2.2.0"]
18551 verbose parsed url { protocol: null,
18551 verbose parsed url slashes: null,
18551 verbose parsed url auth: null,
18551 verbose parsed url host: null,
18551 verbose parsed url port: null,
18551 verbose parsed url hostname: null,
18551 verbose parsed url hash: null,
18551 verbose parsed url search: null,
18551 verbose parsed url query: null,
18551 verbose parsed url pathname: '^2.2.0',
18551 verbose parsed url path: '^2.2.0',
18551 verbose parsed url href: '^2.2.0' }
18552 verbose addNamed [ 'nopt', '^2.2.0' ]
18553 verbose cache add [ 'request@^2.34.0', null ]
18554 verbose cache add name=undefined spec="request@^2.34.0" args=["request@^2.34.0",null]
18555 verbose parsed url { protocol: null,
18555 verbose parsed url slashes: null,
18555 verbose parsed url auth: null,
18555 verbose parsed url host: null,
18555 verbose parsed url port: null,
18555 verbose parsed url hostname: null,
18555 verbose parsed url hash: null,
18555 verbose parsed url search: null,
18555 verbose parsed url query: null,
18555 verbose parsed url pathname: 'request@^2.34.0',
18555 verbose parsed url path: 'request@^2.34.0',
18555 verbose parsed url href: 'request@^2.34.0' }
18556 verbose cache add name="request" spec="^2.34.0" args=["request","^2.34.0"]
18557 verbose parsed url { protocol: null,
18557 verbose parsed url slashes: null,
18557 verbose parsed url auth: null,
18557 verbose parsed url host: null,
18557 verbose parsed url port: null,
18557 verbose parsed url hostname: null,
18557 verbose parsed url hash: null,
18557 verbose parsed url search: null,
18557 verbose parsed url query: null,
18557 verbose parsed url pathname: '^2.34.0',
18557 verbose parsed url path: '^2.34.0',
18557 verbose parsed url href: '^2.34.0' }
18558 verbose addNamed [ 'request', '^2.34.0' ]
18559 verbose addNamed [ null, '>=2.34.0-0 <3.0.0-0' ]
18560 silly lockFile 811ff320-request-2-34-0 request@^2.34.0
18561 verbose lock request@^2.34.0 /home/gary/.npm/811ff320-request-2-34-0.lock
18562 silly gunzTarPerm extractEntry lib/handlebars/runtime.js
18563 silly gunzTarPerm extractEntry lib/handlebars/safe-string.js
18564 silly gunzTarPerm extractEntry lib/handlebars/utils.js
18565 silly gunzTarPerm extractEntry lib/handlebars/compiler/ast.js
18566 silly gunzTarPerm extractEntry lib/handlebars/compiler/base.js
18567 silly gunzTarPerm extractEntry lib/handlebars/compiler/compiler.js
18568 silly gunzTarPerm extractEntry lib/handlebars/compiler/javascript-compiler.js
18569 silly gunzTarPerm extractEntry lib/handlebars/compiler/parser.js
18570 silly gunzTarPerm extractEntry lib/handlebars/compiler/printer.js
18571 silly gunzTarPerm extractEntry lib/handlebars/compiler/visitor.js
18572 silly gunzTarPerm extractEntry release-notes.md
18573 silly lockFile 26543735-pmjs-org-lodash-lodash-0-9-2-tgz https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
18574 silly lockFile 26543735-pmjs-org-lodash-lodash-0-9-2-tgz https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
18575 http 200 https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz
18576 http 200 https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz
18577 verbose readDependencies using package.json deps
18578 silly gunzTarPerm modes [ '755', '644' ]
18579 silly gunzTarPerm extractEntry package.json
18580 silly gunzTarPerm modes [ '755', '644' ]
18581 silly gunzTarPerm modes [ '755', '644' ]
18582 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
18583 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
18584 silly addNameRange { name: 'mkdirp', range: '>=0.3.5-0 <0.4.0-0', hasData: false }
18585 silly addNameRange { name: 'request', range: '>=2.34.0-0 <3.0.0-0', hasData: false }
18586 verbose readDependencies using package.json deps
18587 silly resolved []
18588 verbose about to build /home/gary/code/email-transactional-app/node_modules/request/node_modules/node-uuid
18589 info build /home/gary/code/email-transactional-app/node_modules/request/node_modules/node-uuid
18590 verbose linkStuff [ false,
18590 verbose linkStuff false,
18590 verbose linkStuff false,
18590 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/request/node_modules' ]
18591 info linkStuff node-uuid@1.4.1
18592 verbose linkBins node-uuid@1.4.1
18593 verbose linkMans node-uuid@1.4.1
18594 verbose rebuildBundles node-uuid@1.4.1
18595 verbose readDependencies using package.json deps
18596 silly gunzTarPerm extractEntry .npmignore
18597 silly gunzTarPerm extractEntry README.md
18598 silly gunzTarPerm extractEntry README.md
18599 silly gunzTarPerm extractEntry which.js
18600 silly resolved [ { name: 'wordwrap',
18600 silly resolved description: 'Wrap those words. Show them at what columns to start and stop.',
18600 silly resolved version: '0.0.2',
18600 silly resolved repository:
18600 silly resolved { type: 'git',
18600 silly resolved url: 'git://github.com/substack/node-wordwrap.git' },
18600 silly resolved main: './index.js',
18600 silly resolved keywords: [ 'word', 'wrap', 'rule', 'format', 'column' ],
18600 silly resolved directories: { lib: '.', example: 'example', test: 'test' },
18600 silly resolved scripts: { test: 'expresso' },
18600 silly resolved devDependencies: { expresso: '=0.7.x' },
18600 silly resolved engines: { node: '>=0.4.0' },
18600 silly resolved license: 'MIT/X11',
18600 silly resolved author:
18600 silly resolved { name: 'James Halliday',
18600 silly resolved email: 'mail@substack.net',
18600 silly resolved url: 'http://substack.net' },
18600 silly resolved readme: 'wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n var wrap = require(\'wordwrap\')(15);\n console.log(wrap(\'You and your whole family are made out of meat.\'));\n\noutput:\n\n You and your\n whole family\n are made out\n of meat.\n\ncentered\n--------\n\ncenter.js\n\n var wrap = require(\'wordwrap\')(20, 60);\n console.log(wrap(\n \'At long last the struggle and tumult was over.\'\n + \' The machines had finally cast off their oppressors\'\n + \' and were finally free to roam the cosmos.\'\n + \'\\n\'\n + \'Free of purpose, free of obligation.\'\n + \' Just drifting through emptiness.\'\n + \' The sun was just another point of light.\'\n ));\n\noutput:\n\n At long last the struggle and tumult\n was over. The machines had finally cast\n off their oppressors and were finally\n free to roam the cosmos.\n Free of purpose, free of obligation.\n Just drifting through emptiness. The\n sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require(\'wordwrap\');\n\nwrap(stop), wrap(start, stop, params={mode:"soft"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn "soft" mode, split chunks by `/(\\S+\\s+/` and don\'t break up chunks which are\nlonger than `stop - start`, in "hard" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = "hard"`.\n',
18600 silly resolved readmeFilename: 'README.markdown',
18600 silly resolved bugs: { url: 'https://github.com/substack/node-wordwrap/issues' },
18600 silly resolved homepage: 'https://github.com/substack/node-wordwrap',
18600 silly resolved _id: 'wordwrap@0.0.2',
18600 silly resolved _shasum: 'b79669bb42ecb409f83d583cad52ca17eaa1643f',
18600 silly resolved _from: 'https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz',
18600 silly resolved _resolved: 'https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz' },
18600 silly resolved { name: 'minimist',
18600 silly resolved version: '0.0.10',
18600 silly resolved description: 'parse argument options',
18600 silly resolved main: 'index.js',
18600 silly resolved devDependencies: { tape: '~1.0.4', tap: '~0.4.0' },
18600 silly resolved scripts: { test: 'tap test/*.js' },
18600 silly resolved testling: { files: 'test/*.js', browsers: [Object] },
18600 silly resolved repository: { type: 'git', url: 'git://github.com/substack/minimist.git' },
18600 silly resolved homepage: 'https://github.com/substack/minimist',
18600 silly resolved keywords: [ 'argv', 'getopt', 'parser', 'optimist' ],
18600 silly resolved author:
18600 silly resolved { name: 'James Halliday',
18600 silly resolved email: 'mail@substack.net',
18600 silly resolved url: 'http://substack.net' },
18600 silly resolved license: 'MIT',
18600 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',
18600 silly resolved readmeFilename: 'readme.markdown',
18600 silly resolved bugs: { url: 'https://github.com/substack/minimist/issues' },
18600 silly resolved _id: 'minimist@0.0.10',
18600 silly resolved _shasum: 'de3f98543dbf96082be48ad1a0c7cda836301dcf',
18600 silly resolved _from: 'https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz',
18600 silly resolved _resolved: 'https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz' } ]
18601 info install wordwrap@0.0.2 into /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist
18602 info install minimist@0.0.10 into /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist
18603 info installOne wordwrap@0.0.2
18604 info installOne minimist@0.0.10
18605 silly lockFile 1fff9bf4-lodash-0-9-2 lodash@~0.9.2
18606 silly lockFile 1fff9bf4-lodash-0-9-2 lodash@~0.9.2
18607 info install node-uuid@1.4.1
18608 verbose readDependencies using package.json deps
18609 silly resolved []
18610 verbose about to build /home/gary/code/email-transactional-app/node_modules/request/node_modules/mime
18611 info build /home/gary/code/email-transactional-app/node_modules/request/node_modules/mime
18612 verbose linkStuff [ false,
18612 verbose linkStuff false,
18612 verbose linkStuff false,
18612 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/request/node_modules' ]
18613 info linkStuff mime@1.2.11
18614 verbose linkBins mime@1.2.11
18615 verbose linkMans mime@1.2.11
18616 verbose rebuildBundles mime@1.2.11
18617 silly gunzTarPerm extractEntry bin.js
18618 silly gunzTarPerm extractEntry rimraf.js
18619 info install mime@1.2.11
18620 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803615-0.5080063519999385/tmp.tgz
18621 silly lockFile 20220fc7--npm-asn1tmp-d669481d9b59package tar:///home/gary/.npm/asn1tmp_d669481d9b59package
18622 verbose lock tar:///home/gary/.npm/asn1tmp_d669481d9b59package /home/gary/.npm/20220fc7--npm-asn1tmp-d669481d9b59package.lock
18623 silly lockFile 6c6015eb-03615-0-5080063519999385-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803615-0.5080063519999385/tmp.tgz
18624 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803615-0.5080063519999385/tmp.tgz /home/gary/.npm/6c6015eb-03615-0-5080063519999385-tmp-tgz.lock
18625 info postinstall node-uuid@1.4.1
18626 silly gunzTarPerm extractEntry dist/lodash.min.js
18627 silly gunzTarPerm extractEntry dist/lodash.mobile.js
18628 silly gunzTarPerm extractEntry README.md
18629 silly gunzTarPerm extractEntry LICENSE
18630 silly gunzTarPerm extractEntry component.json
18631 silly gunzTarPerm extractEntry lib/async.js
18632 silly gunzTarPerm extractEntry index.js
18633 silly gunzTarPerm extractEntry examples/pow.js
18634 silly gunzTarPerm extractEntry kew.js
18635 silly gunzTarPerm extractEntry LICENSE.TXT
18636 silly gunzTarPerm extractEntry test/chain.js
18637 silly gunzTarPerm extractEntry test/context.js
18638 silly gunzTarPerm extractEntry test/defer.js
18639 silly gunzTarPerm extractEntry test/static.js
18640 silly gunzTarPerm extractEntry .travis.yml
18641 silly gunzTarPerm extractEntry bin/ncp
18642 silly gunzTarPerm extractEntry LICENSE
18643 silly gunzTarPerm extractEntry config-defs.js
18644 silly gunzTarPerm extractEntry LICENSE
18645 silly gunzTarPerm extractEntry sandbox.js
18646 silly gunzTarPerm modified mode [ 'sandbox.js', 438, 420 ]
18647 silly gunzTarPerm extractEntry adm-zip.js
18648 silly gunzTarPerm modified mode [ 'adm-zip.js', 438, 420 ]
18649 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803614-0.25059089600108564/tmp.tgz
18650 silly lockFile 041ff5fa-sert-plustmp-b39a6361c92dpackage tar:///home/gary/.npm/assert-plustmp_b39a6361c92dpackage
18651 verbose lock tar:///home/gary/.npm/assert-plustmp_b39a6361c92dpackage /home/gary/.npm/041ff5fa-sert-plustmp-b39a6361c92dpackage.lock
18652 silly lockFile 079fd90f-3614-0-25059089600108564-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803614-0.25059089600108564/tmp.tgz
18653 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803614-0.25059089600108564/tmp.tgz /home/gary/.npm/079fd90f-3614-0-25059089600108564-tmp-tgz.lock
18654 info postinstall mime@1.2.11
18655 silly gunzTarPerm extractEntry vendor/sinon/build
18656 silly gunzTarPerm extractEntry vendor/sinon/test/
18657 verbose registry.get mkdirp not expired, no request
18658 silly addNameRange number 2 { name: 'mkdirp', range: '>=0.3.5-0 <0.4.0-0', hasData: true }
18659 silly addNameRange versions [ 'mkdirp',
18659 silly addNameRange [ '0.0.1',
18659 silly addNameRange '0.0.2',
18659 silly addNameRange '0.0.3',
18659 silly addNameRange '0.0.4',
18659 silly addNameRange '0.0.5',
18659 silly addNameRange '0.0.6',
18659 silly addNameRange '0.0.7',
18659 silly addNameRange '0.1.0',
18659 silly addNameRange '0.2.0',
18659 silly addNameRange '0.2.1',
18659 silly addNameRange '0.2.2',
18659 silly addNameRange '0.3.0',
18659 silly addNameRange '0.3.1',
18659 silly addNameRange '0.3.2',
18659 silly addNameRange '0.3.3',
18659 silly addNameRange '0.3.4',
18659 silly addNameRange '0.3.5',
18659 silly addNameRange '0.4.0',
18659 silly addNameRange '0.4.1',
18659 silly addNameRange '0.4.2',
18659 silly addNameRange '0.5.0' ] ]
18660 verbose addNamed [ 'mkdirp', '0.3.5' ]
18661 verbose addNamed [ '0.3.5', '0.3.5' ]
18662 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
18663 verbose lock mkdirp@0.3.5 /home/gary/.npm/67d2df2a-mkdirp-0-3-5.lock
18664 verbose registry.get request not expired, no request
18665 silly addNameRange number 2 { name: 'request', range: '>=2.34.0-0 <3.0.0-0', hasData: true }
18666 silly addNameRange versions [ 'request',
18666 silly addNameRange [ '0.10.0',
18666 silly addNameRange '0.8.3',
18666 silly addNameRange '0.9.0',
18666 silly addNameRange '0.9.1',
18666 silly addNameRange '0.9.5',
18666 silly addNameRange '1.0.0',
18666 silly addNameRange '1.1.0',
18666 silly addNameRange '1.1.1',
18666 silly addNameRange '1.2.0',
18666 silly addNameRange '1.9.0',
18666 silly addNameRange '1.9.1',
18666 silly addNameRange '1.9.2',
18666 silly addNameRange '1.9.3',
18666 silly addNameRange '1.9.5',
18666 silly addNameRange '1.9.7',
18666 silly addNameRange '1.9.8',
18666 silly addNameRange '1.9.9',
18666 silly addNameRange '2.0.0',
18666 silly addNameRange '2.0.1',
18666 silly addNameRange '2.0.2',
18666 silly addNameRange '2.0.3',
18666 silly addNameRange '2.0.4',
18666 silly addNameRange '2.0.5',
18666 silly addNameRange '2.1.0',
18666 silly addNameRange '2.1.1',
18666 silly addNameRange '2.2.0',
18666 silly addNameRange '2.2.5',
18666 silly addNameRange '2.2.6',
18666 silly addNameRange '2.2.9',
18666 silly addNameRange '2.9.0',
18666 silly addNameRange '2.9.1',
18666 silly addNameRange '2.9.2',
18666 silly addNameRange '2.9.3',
18666 silly addNameRange '2.9.100',
18666 silly addNameRange '2.9.150',
18666 silly addNameRange '2.9.151',
18666 silly addNameRange '2.9.152',
18666 silly addNameRange '2.9.153',
18666 silly addNameRange '2.9.200',
18666 silly addNameRange '2.9.201',
18666 silly addNameRange '2.9.202',
18666 silly addNameRange '2.9.203',
18666 silly addNameRange '2.10.0',
18666 silly addNameRange '2.11.0',
18666 silly addNameRange '2.11.1',
18666 silly addNameRange '2.11.2',
18666 silly addNameRange '2.11.3',
18666 silly addNameRange '2.11.4',
18666 silly addNameRange '2.12.0',
18666 silly addNameRange '2.14.0',
18666 silly addNameRange '2.16.0',
18666 silly addNameRange '2.16.2',
18666 silly addNameRange '2.16.4',
18666 silly addNameRange '2.16.6',
18666 silly addNameRange '2.18.0',
18666 silly addNameRange '2.19.0',
18666 silly addNameRange '2.20.0',
18666 silly addNameRange '2.21.0',
18666 silly addNameRange '2.22.0',
18666 silly addNameRange '2.23.0',
18666 silly addNameRange '2.24.0',
18666 silly addNameRange '2.25.0',
18666 silly addNameRange '2.26.0',
18666 silly addNameRange '2.27.0',
18666 silly addNameRange '2.28.0',
18666 silly addNameRange '2.29.0',
18666 silly addNameRange '2.30.0',
18666 silly addNameRange '2.31.0',
18666 silly addNameRange '2.32.0',
18666 silly addNameRange '2.33.0',
18666 silly addNameRange '2.34.0',
18666 silly addNameRange '2.35.0',
18666 silly addNameRange '2.36.0' ] ]
18667 verbose addNamed [ 'request', '2.36.0' ]
18668 verbose addNamed [ '2.36.0', '2.36.0' ]
18669 silly lockFile 56e6d156-request-2-36-0 request@2.36.0
18670 verbose lock request@2.36.0 /home/gary/.npm/56e6d156-request-2-36-0.lock
18671 silly gunzTarPerm extractEntry package.json
18672 silly gunzTarPerm extractEntry package.json
18673 silly gunzTarPerm extractEntry package.json
18674 silly gunzTarPerm modes [ '755', '644' ]
18675 info /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap unbuild
18676 info /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/minimist unbuild
18677 silly lockFile 701efd5b-s-walk-node-modules-forEachAsync tar:///home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync
18678 silly lockFile 701efd5b-s-walk-node-modules-forEachAsync tar:///home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync
18679 silly gunzTarPerm extractEntry array/filter.js
18680 silly gunzTarPerm extractEntry array/sortBy.js
18681 silly gunzTarPerm modes [ '755', '644' ]
18682 silly lockFile 13cf5c5e-m-forEachAsync-2-2-1-package-tgz tar:///home/gary/.npm/forEachAsync/2.2.1/package.tgz
18683 silly lockFile 13cf5c5e-m-forEachAsync-2-2-1-package-tgz tar:///home/gary/.npm/forEachAsync/2.2.1/package.tgz
18684 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
18685 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
18686 silly lockFile 56e6d156-request-2-36-0 request@2.36.0
18687 silly lockFile 56e6d156-request-2-36-0 request@2.36.0
18688 silly lockFile 421b7bdc-mkdirp-0-3-5 mkdirp@^0.3.5
18689 silly lockFile 421b7bdc-mkdirp-0-3-5 mkdirp@^0.3.5
18690 silly lockFile 811ff320-request-2-34-0 request@^2.34.0
18691 silly lockFile 811ff320-request-2-34-0 request@^2.34.0
18692 silly lockFile f77446fc--npm-coffee-script-1-6-3-package tar:///home/gary/.npm/coffee-script/1.6.3/package
18693 silly lockFile f77446fc--npm-coffee-script-1-6-3-package tar:///home/gary/.npm/coffee-script/1.6.3/package
18694 silly gunzTarPerm extractEntry LICENSE
18695 silly gunzTarPerm extractEntry through2.js
18696 silly gunzTarPerm extractEntry test/other/test-command-xface.js
18697 silly gunzTarPerm extractEntry test/other/test-file-writer.js
18698 silly gunzTarPerm extractEntry LICENSE
18699 silly gunzTarPerm extractEntry index.js
18700 silly gunzTarPerm extractEntry .npmignore
18701 silly gunzTarPerm extractEntry LICENSE
18702 silly gunzTarPerm extractEntry .npmignore
18703 silly gunzTarPerm extractEntry README.md
18704 silly lockFile 15f13833-gary-npm-get-stdin-0-1-0-package tar:///home/gary/.npm/get-stdin/0.1.0/package
18705 silly lockFile 15f13833-gary-npm-get-stdin-0-1-0-package tar:///home/gary/.npm/get-stdin/0.1.0/package
18706 silly lockFile c0ddebe5-es-matchdep-node-modules-resolve tar:///home/gary/code/email-transactional-app/node_modules/matchdep/node_modules/resolve
18707 silly lockFile c0ddebe5-es-matchdep-node-modules-resolve tar:///home/gary/code/email-transactional-app/node_modules/matchdep/node_modules/resolve
18708 verbose tar unpack /home/gary/.npm/wordwrap/0.0.2/package.tgz
18709 silly lockFile 14ac0416-s-optimist-node-modules-wordwrap tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap
18710 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap /home/gary/.npm/14ac0416-s-optimist-node-modules-wordwrap.lock
18711 silly lockFile d20ef1de-y-npm-wordwrap-0-0-2-package-tgz tar:///home/gary/.npm/wordwrap/0.0.2/package.tgz
18712 verbose lock tar:///home/gary/.npm/wordwrap/0.0.2/package.tgz /home/gary/.npm/d20ef1de-y-npm-wordwrap-0-0-2-package-tgz.lock
18713 verbose tar unpack /home/gary/.npm/minimist/0.0.10/package.tgz
18714 silly lockFile b786a4ef-s-optimist-node-modules-minimist tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/minimist
18715 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/minimist /home/gary/.npm/b786a4ef-s-optimist-node-modules-minimist.lock
18716 silly lockFile d1905777--npm-minimist-0-0-10-package-tgz tar:///home/gary/.npm/minimist/0.0.10/package.tgz
18717 verbose lock tar:///home/gary/.npm/minimist/0.0.10/package.tgz /home/gary/.npm/d1905777--npm-minimist-0-0-10-package-tgz.lock
18718 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803615-0.03419993259012699/tmp.tgz
18719 silly lockFile 53a44307-npm-ctypetmp-830f564ce05apackage tar:///home/gary/.npm/ctypetmp_830f564ce05apackage
18720 verbose lock tar:///home/gary/.npm/ctypetmp_830f564ce05apackage /home/gary/.npm/53a44307-npm-ctypetmp-830f564ce05apackage.lock
18721 silly lockFile 81cdb0c0-3615-0-03419993259012699-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803615-0.03419993259012699/tmp.tgz
18722 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803615-0.03419993259012699/tmp.tgz /home/gary/.npm/81cdb0c0-3615-0-03419993259012699-tmp-tgz.lock
18723 silly lockFile 3bb84793-95198-0-7569625983014703-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077795198-0.7569625983014703/tmp.tgz
18724 silly lockFile 3bb84793-95198-0-7569625983014703-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077795198-0.7569625983014703/tmp.tgz
18725 silly lockFile a9cca08e-803308-0-299640457611531-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803308-0.299640457611531/tmp.tgz
18726 silly lockFile a9cca08e-803308-0-299640457611531-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803308-0.299640457611531/tmp.tgz
18727 silly lockFile 55588c88-ry-npm-resolve-0-5-1-package-tgz tar:///home/gary/.npm/resolve/0.5.1/package.tgz
18728 silly lockFile 55588c88-ry-npm-resolve-0-5-1-package-tgz tar:///home/gary/.npm/resolve/0.5.1/package.tgz
18729 silly gunzTarPerm extractEntry AUTHORS
18730 silly gunzTarPerm extractEntry test/test-async.js
18731 silly gunzTarPerm extractEntry test/trailing-non-whitespace.js
18732 silly gunzTarPerm extractEntry test/entities.js
18733 silly gunzTarPerm extractEntry readme.markdown
18734 silly gunzTarPerm extractEntry test/perm.js
18735 silly gunzTarPerm extractEntry lib/ncp.js
18736 silly gunzTarPerm extractEntry LICENSE.md
18737 silly gunzTarPerm extractEntry npmconf.js
18738 silly gunzTarPerm extractEntry index.js
18739 silly gunzTarPerm extractEntry request.js
18740 silly gunzTarPerm extractEntry examples/psubscribe.js
18741 silly gunzTarPerm extractEntry examples/pub_sub.js
18742 info preinstall forEachAsync@2.2.1
18743 silly gunzTarPerm extractEntry .npmignore
18744 silly gunzTarPerm modes [ '755', '644' ]
18745 silly gunzTarPerm modes [ '755', '644' ]
18746 silly gunzTarPerm extractEntry vendor/sinon/test/runner.js
18747 silly gunzTarPerm extractEntry vendor/sinon/test/node/
18748 silly gunzTarPerm extractEntry package.json
18749 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
18750 silly gunzTarPerm modes [ '755', '644' ]
18751 verbose readDependencies: using existing wrap [ '/home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync',
18751 verbose readDependencies: using existing wrap { sequence:
18751 verbose readDependencies: using existing wrap { version: '2.2.1',
18751 verbose readDependencies: using existing wrap from: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz',
18751 verbose readDependencies: using existing wrap resolved: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz' } } ]
18752 verbose from wrap [ 'sequence',
18752 verbose from wrap { version: '2.2.1',
18752 verbose from wrap from: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz',
18752 verbose from wrap resolved: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz' } ]
18753 verbose readDependencies returned deps { sequence: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz' }
18754 verbose readDependencies: using existing wrap [ '/home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync',
18754 verbose readDependencies: using existing wrap { sequence:
18754 verbose readDependencies: using existing wrap { version: '2.2.1',
18754 verbose readDependencies: using existing wrap from: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz',
18754 verbose readDependencies: using existing wrap resolved: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz' } } ]
18755 verbose from wrap [ 'sequence',
18755 verbose from wrap { version: '2.2.1',
18755 verbose from wrap from: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz',
18755 verbose from wrap resolved: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz' } ]
18756 verbose readDependencies returned deps { sequence: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz' }
18757 info preinstall resolve@0.5.1
18758 silly gunzTarPerm extractEntry array/every.js
18759 silly gunzTarPerm extractEntry array/split.js
18760 verbose cache add [ 'sequence@https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz',
18760 verbose cache add null ]
18761 verbose cache add name=undefined spec="sequence@https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz" args=["sequence@https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz",null]
18762 verbose parsed url { protocol: null,
18762 verbose parsed url slashes: null,
18762 verbose parsed url auth: null,
18762 verbose parsed url host: null,
18762 verbose parsed url port: null,
18762 verbose parsed url hostname: null,
18762 verbose parsed url hash: null,
18762 verbose parsed url search: null,
18762 verbose parsed url query: null,
18762 verbose parsed url pathname: 'sequence@https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz',
18762 verbose parsed url path: 'sequence@https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz',
18762 verbose parsed url href: 'sequence@https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz' }
18763 silly lockFile dd25bf62-rg-get-stdin-get-stdin-0-1-0-tgz https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz
18764 silly lockFile dd25bf62-rg-get-stdin-get-stdin-0-1-0-tgz https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz
18765 silly gunzTarPerm extractEntry zipFile.js
18766 silly gunzTarPerm modified mode [ 'zipFile.js', 438, 420 ]
18767 silly gunzTarPerm extractEntry lib/
18768 silly gunzTarPerm extractEntry lib/ber/
18769 verbose cache add name="sequence" spec="https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz" args=["sequence","https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz"]
18770 verbose parsed url { protocol: 'https:',
18770 verbose parsed url slashes: true,
18770 verbose parsed url auth: null,
18770 verbose parsed url host: 'registry.npmjs.org',
18770 verbose parsed url port: null,
18770 verbose parsed url hostname: 'registry.npmjs.org',
18770 verbose parsed url hash: null,
18770 verbose parsed url search: null,
18770 verbose parsed url query: null,
18770 verbose parsed url pathname: '/sequence/-/sequence-2.2.1.tgz',
18770 verbose parsed url path: '/sequence/-/sequence-2.2.1.tgz',
18770 verbose parsed url href: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz' }
18771 silly lockFile c33169f4--org-sequence-sequence-2-2-1-tgz https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz
18772 verbose lock https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz /home/gary/.npm/c33169f4--org-sequence-sequence-2-2-1-tgz.lock
18773 silly lockFile a0d97ffe-e-script-coffee-script-1-6-3-tgz https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz
18774 silly lockFile a0d97ffe-e-script-coffee-script-1-6-3-tgz https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz
18775 silly lockFile 45bce24f-get-stdin-0-1-0 get-stdin@0.1.0
18776 silly lockFile 45bce24f-get-stdin-0-1-0 get-stdin@0.1.0
18777 silly gunzTarPerm extractEntry README.md
18778 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
18779 silly gunzTarPerm extractEntry assert.js
18780 silly gunzTarPerm modified mode [ 'assert.js', 438, 420 ]
18781 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
18782 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
18783 silly gunzTarPerm extractEntry test/other/test-help-formatter.js
18784 silly gunzTarPerm extractEntry test/other/test-collector.js
18785 silly lockFile c191d4d0-get-stdin-0-1-0 get-stdin@^0.1.0
18786 silly lockFile c191d4d0-get-stdin-0-1-0 get-stdin@^0.1.0
18787 verbose readDependencies using package.json deps
18788 silly gunzTarPerm extractEntry index.js
18789 verbose addRemoteTarball [ 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz',
18789 verbose addRemoteTarball null ]
18790 silly lockFile d0c13b8a-coffee-script-1-6 coffee-script@~1.6
18791 silly lockFile d0c13b8a-coffee-script-1-6 coffee-script@~1.6
18792 silly gunzTarPerm extractEntry lib/public/icons/page_white_code.png
18793 silly gunzTarPerm extractEntry lib/public/icons/page_white_code_red.png
18794 silly gunzTarPerm extractEntry .travis.yml
18795 silly gunzTarPerm extractEntry example/cmp.js
18796 silly gunzTarPerm extractEntry index.js
18797 silly gunzTarPerm extractEntry .travis.yml
18798 verbose readDependencies using package.json deps
18799 silly resolved []
18800 verbose about to build /home/gary/code/email-transactional-app/node_modules/matchdep/node_modules/resolve
18801 info build /home/gary/code/email-transactional-app/node_modules/matchdep/node_modules/resolve
18802 verbose linkStuff [ false,
18802 verbose linkStuff false,
18802 verbose linkStuff false,
18802 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/matchdep/node_modules' ]
18803 info linkStuff resolve@0.5.1
18804 verbose linkBins resolve@0.5.1
18805 verbose linkMans resolve@0.5.1
18806 verbose rebuildBundles resolve@0.5.1
18807 silly gunzTarPerm extractEntry package.json
18808 silly gunzTarPerm extractEntry package.json
18809 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
18810 info retry fetch attempt 1 at 14:03:23
18811 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077803842-0.0797630378510803/tmp.tgz
18812 silly gunzTarPerm extractEntry LICENSE
18813 silly gunzTarPerm extractEntry .travis.yml
18814 info install resolve@0.5.1
18815 silly lockFile 29b9c0df--gary-npm-get-urls-0-1-2-package tar:///home/gary/.npm/get-urls/0.1.2/package
18816 silly lockFile 29b9c0df--gary-npm-get-urls-0-1-2-package tar:///home/gary/.npm/get-urls/0.1.2/package
18817 silly gunzTarPerm extractEntry test/test-sync.js
18818 silly gunzTarPerm extractEntry test/run.sh
18819 http GET https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz
18820 silly lockFile f426b7c8-03309-0-7796542856376618-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803309-0.7796542856376618/tmp.tgz
18821 silly lockFile f426b7c8-03309-0-7796542856376618-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803309-0.7796542856376618/tmp.tgz
18822 info postinstall resolve@0.5.1
18823 silly gunzTarPerm extractEntry test/perm_sync.js
18824 silly gunzTarPerm extractEntry test/race.js
18825 silly gunzTarPerm extractEntry test/00-setup.js
18826 silly gunzTarPerm extractEntry test/basic.js
18827 silly gunzTarPerm extractEntry .npmignore
18828 silly gunzTarPerm extractEntry package.json
18829 silly gunzTarPerm extractEntry vendor/sinon/test/node/run.js
18830 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/
18831 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/util/
18832 silly gunzTarPerm extractEntry examples/simple.js
18833 silly gunzTarPerm extractEntry examples/sort.js
18834 silly gunzTarPerm extractEntry test/unclosed-root.js
18835 silly gunzTarPerm extractEntry test/end_empty_stream.js
18836 silly gunzTarPerm extractEntry test/ncp-test.js
18837 silly gunzTarPerm extractEntry test/fixtures/src/a
18838 silly gunzTarPerm extractEntry test/fixtures/src/b
18839 silly gunzTarPerm extractEntry test/fixtures/src/c
18840 silly gunzTarPerm extractEntry test/fixtures/src/d
18841 silly gunzTarPerm extractEntry test/fixtures/src/e
18842 silly gunzTarPerm extractEntry test/fixtures/src/f
18843 silly gunzTarPerm extractEntry test/fixtures/src/sub/a
18844 silly gunzTarPerm extractEntry test/fixtures/src/sub/b
18845 silly gunzTarPerm extractEntry LICENSE
18846 silly gunzTarPerm extractEntry index.js
18847 silly gunzTarPerm extractEntry README
18848 silly gunzTarPerm modified mode [ 'README', 438, 420 ]
18849 silly gunzTarPerm extractEntry LICENSE
18850 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
18851 silly gunzTarPerm extractEntry array/difference.js
18852 silly gunzTarPerm extractEntry array/toLookup.js
18853 silly gunzTarPerm extractEntry lib/ber/errors.js
18854 silly gunzTarPerm extractEntry lib/ber/index.js
18855 silly gunzTarPerm extractEntry lib/ber/reader.js
18856 silly lockFile 6b32e6be-ary-npm-each-async-0-1-3-package tar:///home/gary/.npm/each-async/0.1.3/package
18857 silly lockFile 6b32e6be-ary-npm-each-async-0-1-3-package tar:///home/gary/.npm/each-async/0.1.3/package
18858 silly lockFile 6aa2d7b1-3397-0-18832291732542217-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803397-0.18832291732542217/tmp.tgz
18859 silly lockFile 6aa2d7b1-3397-0-18832291732542217-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803397-0.18832291732542217/tmp.tgz
18860 silly gunzTarPerm extractEntry bin/cmd.js
18861 silly gunzTarPerm extractEntry bin/usage.txt
18862 silly lockFile 412cb50a--org-get-urls-get-urls-0-1-2-tgz https://registry.npmjs.org/get-urls/-/get-urls-0.1.2.tgz
18863 silly lockFile 412cb50a--org-get-urls-get-urls-0-1-2-tgz https://registry.npmjs.org/get-urls/-/get-urls-0.1.2.tgz
18864 silly gunzTarPerm extractEntry lib/defaults.js
18865 silly gunzTarPerm extractEntry lib/inflect.js
18866 silly lockFile 084b51a8-get-urls-0-1-2 get-urls@0.1.2
18867 silly lockFile 084b51a8-get-urls-0-1-2 get-urls@0.1.2
18868 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/util/event_test.js
18869 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/util/fake_xml_http_request_test.js
18870 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/util/fake_server_test.js
18871 silly gunzTarPerm extractEntry lib/is_arguments.js
18872 silly gunzTarPerm extractEntry lib/keys.js
18873 silly lockFile b47d0268-get-urls-0-1-1 get-urls@^0.1.1
18874 silly lockFile b47d0268-get-urls-0-1-1 get-urls@^0.1.1
18875 silly gunzTarPerm extractEntry test/setup.sh
18876 silly gunzTarPerm extractEntry examples/subqueries.js
18877 silly gunzTarPerm extractEntry examples/extend.js
18878 silly gunzTarPerm extractEntry lib/ber/types.js
18879 silly gunzTarPerm extractEntry lib/ber/writer.js
18880 silly gunzTarPerm extractEntry lib/index.js
18881 silly gunzTarPerm extractEntry LICENSE
18882 silly gunzTarPerm extractEntry package.json
18883 silly gunzTarPerm extractEntry README.md
18884 silly gunzTarPerm extractEntry tst/
18885 silly gunzTarPerm extractEntry tst/ber/
18886 silly gunzTarPerm extractEntry tst/ber/reader.test.js
18887 silly gunzTarPerm extractEntry tst/ber/writer.test.js
18888 silly gunzTarPerm extractEntry test/unquoted.js
18889 silly gunzTarPerm extractEntry test/emoji.js
18890 silly lockFile e3496c73--each-async-each-async-0-1-3-tgz https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz
18891 silly lockFile e3496c73--each-async-each-async-0-1-3-tgz https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz
18892 silly gunzTarPerm extractEntry ctio.js
18893 silly gunzTarPerm modified mode [ 'ctio.js', 438, 420 ]
18894 silly gunzTarPerm extractEntry ctf.js
18895 silly gunzTarPerm modified mode [ 'ctf.js', 438, 420 ]
18896 silly lockFile b71a3e6d-each-async-0-1-3 each-async@0.1.3
18897 silly lockFile b71a3e6d-each-async-0-1-3 each-async@0.1.3
18898 silly lockFile fd14b997-ary-npm-decompress-0-2-4-package tar:///home/gary/.npm/decompress/0.2.4/package
18899 silly lockFile fd14b997-ary-npm-decompress-0-2-4-package tar:///home/gary/.npm/decompress/0.2.4/package
18900 silly gunzTarPerm extractEntry test/builtin.js
18901 silly gunzTarPerm extractEntry test/save.js
18902 silly gunzTarPerm extractEntry .travis.yml
18903 silly gunzTarPerm extractEntry example/parse.js
18904 silly gunzTarPerm extractEntry lib/public/icons/page_white_coldfusion.png
18905 silly gunzTarPerm extractEntry lib/public/icons/page_white_compressed.png
18906 silly lockFile d75b1d23-each-async-0-1-1 each-async@^0.1.1
18907 silly lockFile d75b1d23-each-async-0-1-1 each-async@^0.1.1
18908 silly lockFile 1fd6d9f8-323-0-001838895957916975-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803323-0.001838895957916975/tmp.tgz
18909 silly lockFile 1fd6d9f8-323-0-001838895957916975-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803323-0.001838895957916975/tmp.tgz
18910 silly gunzTarPerm extractEntry test/rel.js
18911 silly gunzTarPerm extractEntry array/contains.js
18912 silly gunzTarPerm extractEntry array/union.js
18913 silly gunzTarPerm extractEntry test/other/test-store.js
18914 silly gunzTarPerm extractEntry test/other/test-input-error.js
18915 silly gunzTarPerm extractEntry README.markdown
18916 silly gunzTarPerm extractEntry example/center.js
18917 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/util/fake_server_with_clock_test.js
18918 silly lockFile d3bbf92a--npm-coffee-script-1-7-1-package tar:///home/gary/.npm/coffee-script/1.7.1/package
18919 silly lockFile d3bbf92a--npm-coffee-script-1-7-1-package tar:///home/gary/.npm/coffee-script/1.7.1/package
18920 silly lockFile 7d1ebef6-795077-0-417367507237941-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077795077-0.417367507237941/tmp.tgz
18921 silly lockFile 7d1ebef6-795077-0-417367507237941-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077795077-0.417367507237941/tmp.tgz
18922 silly gunzTarPerm extractEntry examples/pow.js
18923 silly gunzTarPerm extractEntry readme.markdown
18924 silly gunzTarPerm extractEntry examples/subquery.js
18925 silly gunzTarPerm extractEntry examples/eval.js
18926 http 200 https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz
18927 silly lockFile a819533b--decompress-decompress-0-2-4-tgz https://registry.npmjs.org/decompress/-/decompress-0.2.4.tgz
18928 silly lockFile a819533b--decompress-decompress-0-2-4-tgz https://registry.npmjs.org/decompress/-/decompress-0.2.4.tgz
18929 silly gunzTarPerm extractEntry test/utf8-split.js
18930 silly gunzTarPerm extractEntry test/duplicate-attribute.js
18931 silly lockFile e2a7c870-decompress-0-2-4 decompress@0.2.4
18932 silly lockFile e2a7c870-decompress-0-2-4 decompress@0.2.4
18933 silly lockFile c41b6a14-decompress-0-2-0 decompress@^0.2.0
18934 silly lockFile c41b6a14-decompress-0-2-0 decompress@^0.2.0
18935 silly gunzTarPerm extractEntry readme.markdown
18936 silly gunzTarPerm extractEntry test/cmp.js
18937 silly gunzTarPerm extractEntry lib/inflections.js
18938 silly gunzTarPerm extractEntry lib/methods.js
18939 silly gunzTarPerm extractEntry lib/native.js
18940 silly gunzTarPerm extractEntry lib/util.js
18941 silly gunzTarPerm extractEntry test/inflector/cases.js
18942 silly gunzTarPerm extractEntry test/inflector/inflections-test.js
18943 silly gunzTarPerm extractEntry test/inflector/methods-test.js
18944 silly gunzTarPerm extractEntry test/utils/array-test.js
18945 silly gunzTarPerm extractEntry test/utils/string-test.js
18946 silly gunzTarPerm extractEntry readme.markdown
18947 silly gunzTarPerm extractEntry test/bool.js
18948 silly gunzTarPerm extractEntry example/meat.js
18949 silly gunzTarPerm extractEntry test/wrap.js
18950 silly lockFile 81f11821-e-script-coffee-script-1-7-1-tgz https://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz
18951 silly lockFile 81f11821-e-script-coffee-script-1-7-1-tgz https://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz
18952 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077803842-0.0797630378510803/tmp.tgz
18953 silly lockFile 734d5677--sequencetmp-0f6b92d1b860package tar:///home/gary/.npm/sequencetmp_0f6b92d1b860package
18954 verbose lock tar:///home/gary/.npm/sequencetmp_0f6b92d1b860package /home/gary/.npm/734d5677--sequencetmp-0f6b92d1b860package.lock
18955 silly lockFile 9008164f-03842-0-0797630378510803-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803842-0.0797630378510803/tmp.tgz
18956 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803842-0.0797630378510803/tmp.tgz /home/gary/.npm/9008164f-03842-0-0797630378510803-tmp-tgz.lock
18957 silly gunzTarPerm extractEntry array/compact.js
18958 silly gunzTarPerm extractEntry array/unique.js
18959 silly gunzTarPerm extractEntry test/return.js
18960 silly gunzTarPerm extractEntry test/clobber.js
18961 silly gunzTarPerm extractEntry MIT-LICENSE.txt
18962 silly gunzTarPerm modified mode [ 'MIT-LICENSE.txt', 438, 420 ]
18963 silly gunzTarPerm extractEntry methods/deflater.js
18964 silly gunzTarPerm modified mode [ 'methods/deflater.js', 438, 420 ]
18965 silly lockFile 66cb63a1-coffee-script-1-7-1 coffee-script@1.7.1
18966 silly lockFile 66cb63a1-coffee-script-1-7-1 coffee-script@1.7.1
18967 silly gunzTarPerm extractEntry test/other/test-insertion-text.js
18968 silly gunzTarPerm extractEntry test/other/test-matcher.js
18969 silly lockFile 5c1a10ce-coffee-script-1-7 coffee-script@~1.7
18970 silly lockFile 5c1a10ce-coffee-script-1-7 coffee-script@~1.7
18971 silly gunzTarPerm extractEntry ctype.js
18972 silly gunzTarPerm modified mode [ 'ctype.js', 438, 420 ]
18973 silly gunzTarPerm extractEntry man/man3ctype/ctio.3ctype
18974 silly gunzTarPerm modified mode [ 'man/man3ctype/ctio.3ctype', 438, 420 ]
18975 silly gunzTarPerm extractEntry lib/public/icons/page_white_copy.png
18976 silly gunzTarPerm extractEntry lib/public/icons/page_white_cplusplus.png
18977 silly gunzTarPerm modes [ '755', '644' ]
18978 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/util/fake_timers_test.js
18979 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/spy_test.js
18980 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/stub_test.js
18981 silly gunzTarPerm extractEntry test/xmlns-as-tag-name.js
18982 silly gunzTarPerm extractEntry test/cyrillic.js
18983 silly gunzTarPerm extractEntry .travis.yml
18984 silly gunzTarPerm extractEntry CHANGELOG.md
18985 silly gunzTarPerm extractEntry examples/unix_socket.js
18986 silly gunzTarPerm extractEntry examples/backpressure_drain.js
18987 silly gunzTarPerm extractEntry test/chmod.js
18988 silly gunzTarPerm extractEntry test/opts_fs_sync.js
18989 silly gunzTarPerm extractEntry test/perm.js
18990 silly gunzTarPerm extractEntry test/perm_sync.js
18991 silly gunzTarPerm extractEntry test/opts_fs.js
18992 silly gunzTarPerm extractEntry test/rel.js
18993 silly gunzTarPerm extractEntry test/return.js
18994 silly gunzTarPerm extractEntry test/return_sync.js
18995 silly gunzTarPerm extractEntry test/root.js
18996 silly gunzTarPerm extractEntry test/sync.js
18997 silly gunzTarPerm extractEntry test/mkdirp.js
18998 silly gunzTarPerm extractEntry test/umask.js
18999 silly gunzTarPerm extractEntry test/clobber.js
19000 silly gunzTarPerm extractEntry test/umask_sync.js
19001 silly gunzTarPerm extractEntry test/race.js
19002 silly gunzTarPerm extractEntry methods/index.js
19003 silly gunzTarPerm modified mode [ 'methods/index.js', 438, 420 ]
19004 silly gunzTarPerm extractEntry methods/inflater.js
19005 silly gunzTarPerm modified mode [ 'methods/inflater.js', 438, 420 ]
19006 silly gunzTarPerm extractEntry array/combine.js
19007 silly gunzTarPerm extractEntry array/xor.js
19008 silly gunzTarPerm extractEntry test/break.js
19009 silly gunzTarPerm extractEntry test/idleness.txt
19010 silly resolved [ { name: 'coffee-script',
19010 silly resolved description: 'Unfancy JavaScript',
19010 silly resolved keywords: [ 'javascript', 'language', 'coffeescript', 'compiler' ],
19010 silly resolved author: { name: 'Jeremy Ashkenas' },
19010 silly resolved version: '1.7.1',
19010 silly resolved license: 'MIT',
19010 silly resolved engines: { node: '>=0.8.0' },
19010 silly resolved directories: { lib: './lib/coffee-script' },
19010 silly resolved main: './lib/coffee-script/coffee-script',
19010 silly resolved bin: { coffee: './bin/coffee', cake: './bin/cake' },
19010 silly resolved scripts: { test: 'node ./bin/cake test' },
19010 silly resolved homepage: 'http://coffeescript.org',
19010 silly resolved bugs: { url: 'https://github.com/jashkenas/coffee-script/issues' },
19010 silly resolved repository:
19010 silly resolved { type: 'git',
19010 silly resolved url: 'git://github.com/jashkenas/coffee-script.git' },
19010 silly resolved devDependencies:
19010 silly resolved { 'uglify-js': '~2.2',
19010 silly resolved jison: '>=0.2.0',
19010 silly resolved 'highlight.js': '~8.0.0',
19010 silly resolved underscore: '~1.5.2' },
19010 silly resolved dependencies: { mkdirp: '~0.3.5' },
19010 silly resolved readme: ' {\n } } {\n { { } }\n } }{ {\n { }{ } } _____ __ __\n { }{ }{ { } / ____| / _|/ _|\n .- { { } { }} -. | | ___ | |_| |_ ___ ___\n ( { } { } { } } ) | | / _ \\| _| _/ _ \\/ _ \\\n |`-..________ ..-\'| | |___| (_) | | | || __/ __/\n | | \\_____\\___/|_| |_| \\___|\\___|\n | ;--.\n | (__ \\ _____ _ _\n | | ) ) / ____| (_) | |\n | |/ / | (___ ___ _ __ _ _ __ | |_\n | ( / \\___ \\ / __| \'__| | \'_ \\| __|\n | |/ ____) | (__| | | | |_) | |_\n | | |_____/ \\___|_| |_| .__/ \\__|\n `-.._________..-\' | |\n |_|\n\n\n CoffeeScript is a little language that compiles into JavaScript.\n\n If you have the Node Package Manager installed:\n npm install -g coffee-script\n (Leave off the -g if you don\'t wish to install globally.)\n\n Or, if you don\'t wish to use npm:\n sudo bin/cake install\n\n Execute a script:\n coffee /path/to/script.coffee\n\n Compile a script:\n coffee -c /path/to/script.coffee\n\n For documentation, usage, and examples, see:\n http://coffeescript.org/\n\n To suggest a feature, report a bug, or general discussion:\n http://github.com/jashkenas/coffee-script/issues/\n\n If you\'d like to chat, drop by #coffeescript on Freenode IRC,\n or on webchat.freenode.net.\n\n The source repository:\n git://github.com/jashkenas/coffee-script.git\n\n Top 100 contributors are listed here:\n http://github.com/jashkenas/coffee-script/contributors\n',
19010 silly resolved readmeFilename: 'README',
19010 silly resolved _id: 'coffee-script@1.7.1',
19010 silly resolved _shasum: '62996a861780c75e6d5069d13822723b73404bfc',
19010 silly resolved _from: 'coffee-script@~1.7',
19010 silly resolved _resolved: 'https://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz' } ]
19011 info install coffee-script@1.7.1 into /home/gary/code/email-transactional-app/node_modules/karma-coffee-preprocessor
19012 info installOne coffee-script@1.7.1
19013 silly gunzTarPerm extractEntry package.json
19014 silly gunzTarPerm extractEntry test/other/test-object-utils.js
19015 silly gunzTarPerm extractEntry test/other/test-hook.js
19016 silly gunzTarPerm extractEntry test/root.js
19017 silly gunzTarPerm extractEntry test/umask.js
19018 info /home/gary/code/email-transactional-app/node_modules/karma-coffee-preprocessor/node_modules/coffee-script unbuild
19019 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/test_case_test.js
19020 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/collection_test.js
19021 silly gunzTarPerm extractEntry tst/ctio/uint/tst.ruint.js
19022 silly gunzTarPerm modified mode [ 'tst/ctio/uint/tst.ruint.js', 438, 420 ]
19023 silly gunzTarPerm extractEntry tst/ctio/uint/tst.wuint.js
19024 silly gunzTarPerm modified mode [ 'tst/ctio/uint/tst.wuint.js', 438, 420 ]
19025 silly lockFile 7729c366-les-phantomjs-node-modules-which tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which
19026 silly lockFile 7729c366-les-phantomjs-node-modules-which tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which
19027 verbose tar unpack /home/gary/.npm/coffee-script/1.7.1/package.tgz
19028 silly lockFile 816d50ee-essor-node-modules-coffee-script tar:///home/gary/code/email-transactional-app/node_modules/karma-coffee-preprocessor/node_modules/coffee-script
19029 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/karma-coffee-preprocessor/node_modules/coffee-script /home/gary/.npm/816d50ee-essor-node-modules-coffee-script.lock
19030 silly lockFile 0566bc24--coffee-script-1-7-1-package-tgz tar:///home/gary/.npm/coffee-script/1.7.1/package.tgz
19031 verbose lock tar:///home/gary/.npm/coffee-script/1.7.1/package.tgz /home/gary/.npm/0566bc24--coffee-script-1-7-1-package-tgz.lock
19032 silly gunzTarPerm extractEntry README.md
19033 silly gunzTarPerm extractEntry sequence.js
19034 silly lockFile b037aa6f-gary-npm-which-1-0-5-package-tgz tar:///home/gary/.npm/which/1.0.5/package.tgz
19035 silly lockFile b037aa6f-gary-npm-which-1-0-5-package-tgz tar:///home/gary/.npm/which/1.0.5/package.tgz
19036 silly gunzTarPerm extractEntry lib/public/icons/page_white_csharp.png
19037 silly gunzTarPerm extractEntry lib/public/icons/page_white_cup.png
19038 silly gunzTarPerm extractEntry test/xmlns-issue-41.js
19039 silly gunzTarPerm extractEntry test/cdata.js
19040 silly gunzTarPerm modes [ '755', '644' ]
19041 silly gunzTarPerm extractEntry array/collect.js
19042 silly gunzTarPerm extractEntry array/zip.js
19043 info preinstall which@1.0.5
19044 silly gunzTarPerm extractEntry test/dash.js
19045 verbose readDependencies using package.json deps
19046 silly gunzTarPerm extractEntry test/sync.js
19047 silly gunzTarPerm extractEntry test/chmod.js
19048 silly gunzTarPerm extractEntry package.json
19049 verbose readDependencies using package.json deps
19050 silly resolved []
19051 verbose about to build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which
19052 info build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which
19053 verbose linkStuff [ false,
19053 verbose linkStuff false,
19053 verbose linkStuff false,
19053 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
19054 info linkStuff which@1.0.5
19055 verbose linkBins which@1.0.5
19056 verbose link bins [ { which: './bin/which' },
19056 verbose link bins '/home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/.bin',
19056 verbose link bins false ]
19057 verbose linkMans which@1.0.5
19058 verbose rebuildBundles which@1.0.5
19059 silly lockFile 041ff5fa-sert-plustmp-b39a6361c92dpackage tar:///home/gary/.npm/assert-plustmp_b39a6361c92dpackage
19060 silly lockFile 041ff5fa-sert-plustmp-b39a6361c92dpackage tar:///home/gary/.npm/assert-plustmp_b39a6361c92dpackage
19061 silly lockFile 079fd90f-3614-0-25059089600108564-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803614-0.25059089600108564/tmp.tgz
19062 silly lockFile 079fd90f-3614-0-25059089600108564-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803614-0.25059089600108564/tmp.tgz
19063 silly lockFile dad61395--gary-npm-through2-0-4-2-package tar:///home/gary/.npm/through2/0.4.2/package
19064 silly lockFile dad61395--gary-npm-through2-0-4-2-package tar:///home/gary/.npm/through2/0.4.2/package
19065 silly gunzTarPerm extractEntry test/xmlns-rebinding.js
19066 silly gunzTarPerm extractEntry test/cdata-multiple.js
19067 silly gunzTarPerm extractEntry test/fixtures/builtin
19068 silly gunzTarPerm extractEntry test/fixtures/globalconfig
19069 silly lockFile 919e66b6-03482-0-6869003586471081-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803482-0.6869003586471081/tmp.tgz
19070 silly lockFile 919e66b6-03482-0-6869003586471081-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803482-0.6869003586471081/tmp.tgz
19071 silly gunzTarPerm extractEntry lib/public/icons/page_white_database.png
19072 silly gunzTarPerm extractEntry lib/public/icons/page_white_delete.png
19073 silly gunzTarPerm extractEntry test/default_bool.js
19074 silly gunzTarPerm extractEntry test/dotted.js
19075 silly gunzTarPerm extractEntry .npmignore
19076 silly gunzTarPerm extractEntry README
19077 silly gunzTarPerm extractEntry test/other/test-index-xface.js
19078 silly gunzTarPerm extractEntry test/other/data-complete-copy/baz.js
19079 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/test_test.js
19080 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/match_test.js
19081 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/sandbox_test.js
19082 silly gunzTarPerm extractEntry array/max.js
19083 silly gunzTarPerm extractEntry math/ceil.js
19084 info install which@1.0.5
19085 silly gunzTarPerm extractEntry examples/web_server.js
19086 silly gunzTarPerm extractEntry examples/multi2.js
19087 silly lockFile 9f8e2a34--org-through2-through2-0-4-2-tgz https://registry.npmjs.org/through2/-/through2-0.4.2.tgz
19088 silly lockFile 9f8e2a34--org-through2-through2-0-4-2-tgz https://registry.npmjs.org/through2/-/through2-0.4.2.tgz
19089 info postinstall which@1.0.5
19090 silly lockFile 7aac1e8e-through2-0-4-2 through2@0.4.2
19091 silly lockFile 7aac1e8e-through2-0-4-2 through2@0.4.2
19092 silly gunzTarPerm extractEntry test/umask_sync.js
19093 silly gunzTarPerm extractEntry test/return_sync.js
19094 silly gunzTarPerm extractEntry lib/cookies.js
19095 silly gunzTarPerm extractEntry lib/copy.js
19096 silly lockFile 0fd94c16-through2-0-4-0 through2@^0.4.0
19097 silly lockFile 0fd94c16-through2-0-4-0 through2@^0.4.0
19098 silly gunzTarPerm extractEntry test/xmlns-strict.js
19099 silly gunzTarPerm extractEntry test/cdata-fake-end.js
19100 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/assert_test.js
19101 silly gunzTarPerm extractEntry vendor/sinon/test/sinon/mock_test.js
19102 silly gunzTarPerm extractEntry LICENSE
19103 silly gunzTarPerm extractEntry math/countSteps.js
19104 silly gunzTarPerm extractEntry math/floor.js
19105 silly gunzTarPerm extractEntry register.js
19106 silly lockFile 4359eee0-ssert-plus-assert-plus-0-1-2-tgz https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz
19107 silly lockFile 4359eee0-ssert-plus-assert-plus-0-1-2-tgz https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz
19108 silly gunzTarPerm extractEntry test/long.js
19109 silly gunzTarPerm extractEntry test/num.js
19110 silly lockFile 107541f8--npm-coffee-script-1-3-3-package tar:///home/gary/.npm/coffee-script/1.3.3/package
19111 silly lockFile 107541f8--npm-coffee-script-1-3-3-package tar:///home/gary/.npm/coffee-script/1.3.3/package
19112 silly lockFile 39334924-97549-0-5513260518200696-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077797549-0.5513260518200696/tmp.tgz
19113 silly lockFile 39334924-97549-0-5513260518200696-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077797549-0.5513260518200696/tmp.tgz
19114 silly gunzTarPerm extractEntry lib/public/icons/page_white_dvd.png
19115 silly gunzTarPerm extractEntry lib/public/icons/page_add.png
19116 silly gunzTarPerm extractEntry changelog.md
19117 silly gunzTarPerm extractEntry benches/buffer_bench.js
19118 silly gunzTarPerm extractEntry test/xmlns-unbound-element.js
19119 silly gunzTarPerm extractEntry test/cdata-end-split.js
19120 silly gunzTarPerm extractEntry test/other/data-complete-copy/foo.js
19121 silly gunzTarPerm extractEntry test/other/data-complete-copy/fixture.xml
19122 silly gunzTarPerm extractEntry test/mkdirp.js
19123 silly gunzTarPerm extractEntry .travis.yml
19124 silly gunzTarPerm extractEntry vendor/sinon/test/sinon-dist.html
19125 silly gunzTarPerm extractEntry vendor/sinon/test/rhino/
19126 silly gunzTarPerm extractEntry vendor/sinon/test/rhino/env.rhino.1.2.js
19127 silly gunzTarPerm extractEntry CNAME
19128 silly gunzTarPerm extractEntry CONTRIBUTING.md
19129 silly lockFile 1b193f6e-e-script-coffee-script-1-3-3-tgz https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
19130 silly lockFile 1b193f6e-e-script-coffee-script-1-3-3-tgz https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
19131 silly gunzTarPerm extractEntry math/inRange.js
19132 silly gunzTarPerm extractEntry math/clamp.js
19133 silly gunzTarPerm extractEntry util/constants.js
19134 silly gunzTarPerm modified mode [ 'util/constants.js', 438, 420 ]
19135 silly gunzTarPerm extractEntry util/errors.js
19136 silly gunzTarPerm modified mode [ 'util/errors.js', 438, 420 ]
19137 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
19138 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
19139 silly gunzTarPerm extractEntry test/parse.js
19140 silly gunzTarPerm extractEntry test/parse_modified.js
19141 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
19142 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
19143 silly lockFile cfd503b6-ary-npm-socket-io-0-9-17-package tar:///home/gary/.npm/socket.io/0.9.17/package
19144 silly lockFile cfd503b6-ary-npm-socket-io-0-9-17-package tar:///home/gary/.npm/socket.io/0.9.17/package
19145 silly gunzTarPerm extractEntry test/browser.js
19146 silly gunzTarPerm extractEntry test/client.js
19147 silly gunzTarPerm extractEntry lib/public/icons/page_white_error.png
19148 silly gunzTarPerm extractEntry lib/public/icons/page_white_excel.png
19149 silly lockFile bc9c6dc1-99431-0-3581747990101576-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077799431-0.3581747990101576/tmp.tgz
19150 silly lockFile bc9c6dc1-99431-0-3581747990101576-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077799431-0.3581747990101576/tmp.tgz
19151 silly gunzTarPerm extractEntry benches/hiredis_parser.js
19152 silly gunzTarPerm extractEntry benches/re_sub_test.js
19153 silly gunzTarPerm extractEntry test/fixtures/userconfig
19154 silly gunzTarPerm extractEntry lib/debug.js
19155 silly gunzTarPerm extractEntry lib/getSafe.js
19156 silly gunzTarPerm extractEntry test/xmlns-unbound.js
19157 silly gunzTarPerm extractEntry test/cdata-chunked.js
19158 silly lockFile f98fb2fc-home-gary-npm-nopt-2-2-1-package tar:///home/gary/.npm/nopt/2.2.1/package
19159 silly lockFile f98fb2fc-home-gary-npm-nopt-2-2-1-package tar:///home/gary/.npm/nopt/2.2.1/package
19160 silly lockFile 734d5677--sequencetmp-0f6b92d1b860package tar:///home/gary/.npm/sequencetmp_0f6b92d1b860package
19161 silly lockFile 734d5677--sequencetmp-0f6b92d1b860package tar:///home/gary/.npm/sequencetmp_0f6b92d1b860package
19162 silly lockFile a62a2bef-03176-0-4093853305093944-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803176-0.4093853305093944/tmp.tgz
19163 silly lockFile a62a2bef-03176-0-4093853305093944-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803176-0.4093853305093944/tmp.tgz
19164 silly lockFile 9008164f-03842-0-0797630378510803-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803842-0.0797630378510803/tmp.tgz
19165 silly lockFile 9008164f-03842-0-0797630378510803-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803842-0.0797630378510803/tmp.tgz
19166 silly lockFile dc5b8fe7-g-socket-io-socket-io-0-9-17-tgz https://registry.npmjs.org/socket.io/-/socket.io-0.9.17.tgz
19167 silly lockFile dc5b8fe7-g-socket-io-socket-io-0-9-17-tgz https://registry.npmjs.org/socket.io/-/socket.io-0.9.17.tgz
19168 silly gunzTarPerm extractEntry math/lerp.js
19169 silly gunzTarPerm extractEntry math/loop.js
19170 silly gunzTarPerm extractEntry test/other/data-complete-copy/myfile1
19171 silly gunzTarPerm extractEntry test/other/data-complete-copy/myfile2
19172 silly lockFile 1593240a-socket-io-0-9-17 socket.io@0.9.17
19173 silly lockFile 1593240a-socket-io-0-9-17 socket.io@0.9.17
19174 silly gunzTarPerm extractEntry bin/cake
19175 silly gunzTarPerm extractEntry bin/coffee
19176 silly gunzTarPerm extractEntry test/crypto.js
19177 silly gunzTarPerm extractEntry test/index.js
19178 silly lockFile 729f5b40-socket-io-0-9-13 socket.io@~0.9.13
19179 silly lockFile 729f5b40-socket-io-0-9-13 socket.io@~0.9.13
19180 silly lockFile 77e8fc49-ry-npmjs-org-nopt-nopt-2-2-1-tgz https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz
19181 silly lockFile 77e8fc49-ry-npmjs-org-nopt-nopt-2-2-1-tgz https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz
19182 silly gunzTarPerm extractEntry benches/reconnect_test.js
19183 silly gunzTarPerm extractEntry benches/sub_quit_test.js
19184 silly gunzTarPerm extractEntry lib/public/icons/page_white_find.png
19185 silly gunzTarPerm extractEntry lib/public/icons/page_white_flash.png
19186 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
19187 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
19188 silly lockFile 60f0d087-es-phantomjs-node-modules-rimraf tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf
19189 silly lockFile 60f0d087-es-phantomjs-node-modules-rimraf tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf
19190 silly lockFile dbe19cb7-nopt-2-2-0 nopt@^2.2.0
19191 silly lockFile dbe19cb7-nopt-2-2-0 nopt@^2.2.0
19192 silly lockFile d898b7b3-runt-karma-node-modules-optimist tar:///home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist
19193 silly lockFile d898b7b3-runt-karma-node-modules-optimist tar:///home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist
19194 silly gunzTarPerm extractEntry test/xmlns-xml-default-ns.js
19195 silly gunzTarPerm extractEntry test/case.js
19196 silly lockFile 5d8081f6-ary-npm-rimraf-2-2-8-package-tgz tar:///home/gary/.npm/rimraf/2.2.8/package.tgz
19197 silly lockFile 5d8081f6-ary-npm-rimraf-2-2-8-package-tgz tar:///home/gary/.npm/rimraf/2.2.8/package.tgz
19198 silly lockFile 99590f96-y-npm-optimist-0-6-1-package-tgz tar:///home/gary/.npm/optimist/0.6.1/package.tgz
19199 silly lockFile 99590f96-y-npm-optimist-0-6-1-package-tgz tar:///home/gary/.npm/optimist/0.6.1/package.tgz
19200 silly lockFile 9c216d35-upertest-node-modules-superagent tar:///home/gary/code/email-transactional-app/node_modules/supertest/node_modules/superagent
19201 silly lockFile 9c216d35-upertest-node-modules-superagent tar:///home/gary/code/email-transactional-app/node_modules/supertest/node_modules/superagent
19202 silly lockFile 237d2745-pm-superagent-0-16-0-package-tgz tar:///home/gary/.npm/superagent/0.16.0/package.tgz
19203 silly lockFile 237d2745-pm-superagent-0-16-0-package-tgz tar:///home/gary/.npm/superagent/0.16.0/package.tgz
19204 silly gunzTarPerm extractEntry test/short.js
19205 silly gunzTarPerm extractEntry test/whitespace.js
19206 silly lockFile c33169f4--org-sequence-sequence-2-2-1-tgz https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz
19207 silly lockFile c33169f4--org-sequence-sequence-2-2-1-tgz https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz
19208 silly gunzTarPerm extractEntry math/map.js
19209 silly gunzTarPerm extractEntry math/norm.js
19210 info preinstall rimraf@2.2.8
19211 info preinstall optimist@0.6.1
19212 silly gunzTarPerm extractEntry lib/coffee-script/browser.js
19213 silly gunzTarPerm extractEntry lib/coffee-script/grammar.js
19214 info preinstall superagent@0.16.0
19215 silly lockFile ee48a4d4-es-utile-node-modules-deep-equal tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/deep-equal
19216 silly lockFile ee48a4d4-es-utile-node-modules-deep-equal tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/deep-equal
19217 silly resolved [ { name: 'request',
19217 silly resolved description: 'Simplified HTTP request client.',
19217 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
19217 silly resolved version: '2.36.0',
19217 silly resolved author: { name: 'Mikeal Rogers', email: 'mikeal.rogers@gmail.com' },
19217 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
19217 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
19217 silly resolved license: 'Apache, Version 2.0',
19217 silly resolved engines: [ 'node >= 0.8.0' ],
19217 silly resolved main: 'index.js',
19217 silly resolved dependencies:
19217 silly resolved { qs: '~0.6.0',
19217 silly resolved 'json-stringify-safe': '~5.0.0',
19217 silly resolved mime: '~1.2.9',
19217 silly resolved 'forever-agent': '~0.5.0',
19217 silly resolved 'node-uuid': '~1.4.0',
19217 silly resolved 'tough-cookie': '>=0.12.0',
19217 silly resolved 'form-data': '~0.1.0',
19217 silly resolved 'tunnel-agent': '~0.4.0',
19217 silly resolved 'http-signature': '~0.10.0',
19217 silly resolved 'oauth-sign': '~0.3.0',
19217 silly resolved hawk: '~1.0.0',
19217 silly resolved 'aws-sign2': '~0.5.0' },
19217 silly resolved optionalDependencies:
19217 silly resolved { 'tough-cookie': '>=0.12.0',
19217 silly resolved 'form-data': '~0.1.0',
19217 silly resolved 'tunnel-agent': '~0.4.0',
19217 silly resolved 'http-signature': '~0.10.0',
19217 silly resolved 'oauth-sign': '~0.3.0',
19217 silly resolved hawk: '~1.0.0',
19217 silly resolved 'aws-sign2': '~0.5.0' },
19217 silly resolved scripts: { test: 'node tests/run.js' },
19217 silly resolved readme: '# Request -- Simplified HTTP client\n\n[![NPM](https://nodei.co/npm/request.png)](https://nodei.co/npm/request/)\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require(\'request\');\nrequest(\'http://www.google.com\', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest(\'http://google.com/doodle.png\').pipe(fs.createWriteStream(\'doodle.png\'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types (in this case `application/json`) and use the proper `content-type` in the PUT request (if the headers don’t already provide one).\n\n```javascript\nfs.createReadStream(\'file.json\').pipe(request.put(\'http://mysite.com/obj.json\'))\n```\n\nRequest can also `pipe` to itself. When doing so, `content-type` and `content-length` are preserved in the PUT headers.\n\n```javascript\nrequest.get(\'http://google.com/img.png\').pipe(request.put(\'http://mysite.com/img.png\'))\n```\n\nNow let’s get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n if (req.method === \'PUT\') {\n req.pipe(request.put(\'http://mysite.com/doodle.png\'))\n } else if (req.method === \'GET\' || req.method === \'HEAD\') {\n request.get(\'http://mysite.com/doodle.png\').pipe(resp)\n }\n }\n})\n```\n\nYou can also `pipe()` from `http.ServerRequest` instances, as well as to `http.ServerResponse` instances. The HTTP method, headers, and entity-body data will be sent. Which means that, if you don\'t really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n var x = request(\'http://mysite.com/doodle.png\')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since `pipe()` returns the destination stream in ≥ Node 0.5.x you can do one line proxying. :)\n\n```javascript\nreq.pipe(request(\'http://mysite.com/doodle.png\')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({\'proxy\':\'http://localproxy.com\'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n r.get(\'http://google.com/doodle.png\').pipe(resp)\n }\n})\n```\n\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## UNIX Socket \n\n`request` supports the `unix://` protocol for all requests. The path is assumed to be absolute to the root of the host file system. \n\nHTTP paths are extracted from the supplied URL by testing each level of the full URL against net.connect for a socket response.\n\nThus the following request will GET `/httppath` from the HTTP server listening on `/tmp/unix.socket`\n\n```javascript\nrequest.get(\'unix://tmp/unix.socket/httppath\')\n```\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nURL-encoded forms are simple.\n\n```javascript\nrequest.post(\'http://service.com/upload\', {form:{key:\'value\'}})\n// or\nrequest.post(\'http://service.com/upload\').form({key:\'value\'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don’t need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post(\'http://service.com/upload\', function optionalCallback (err, httpResponse, body) {\n if (err) {\n return console.error(\'upload failed:\', err);\n }\n console.log(\'Upload successful! Server responded with:\', body);\n})\nvar form = r.form()\nform.append(\'my_field\', \'my_value\')\nform.append(\'my_buffer\', new Buffer([1, 2, 3]))\nform.append(\'my_file\', fs.createReadStream(path.join(__dirname, \'doodle.png\')))\nform.append(\'remote_file\', request(\'http://google.com/doodle.png\'))\n\n// Just like always, `r` is a writable stream, and can be used as such (you have until nextTick to pipe it, etc.)\n// Alternatively, you can provide a callback (that\'s what this example does-- see `optionalCallback` above).\n```\n\n## HTTP Authentication\n\n```javascript\nrequest.get(\'http://some.server.com/\').auth(\'username\', \'password\', false);\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'user\': \'username\',\n \'pass\': \'password\',\n \'sendImmediately\': false\n }\n});\n// or\nrequest.get(\'http://some.server.com/\').auth(null, null, true, \'bearerToken\');\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'bearer\': \'bearerToken\'\n }\n});\n```\n\nIf passed as an option, `auth` should be a hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). The method form takes parameters `auth(username, password, sendImmediately)`.\n\n`sendImmediately` defaults to `true`, which causes a basic authentication header to be sent. If `sendImmediately` is `false`, then `request` will retry with a proper authentication header after receiving a `401` response from the server (which must contain a `WWW-Authenticate` header indicating the required authentication method).\n\nDigest authentication is supported, but it only works with `sendImmediately` set to `false`; otherwise `request` will send basic authentication on the initial request, which will probably cause the request to fail.\n\nBearer authentication is supported, and is activated when the `bearer` value is available. The value may be either a `String` or a `Function` returning a `String`. Using a function to supply the bearer token is particularly useful if used in conjuction with `defaults` to allow a single function to supply the last known token at the time or sending a request or to compute one on the fly.\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require(\'querystring\')\n , oauth =\n { callback: \'http://mysite.com/callback/\'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = \'https://api.twitter.com/oauth/request_token\'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Ideally, you would take the body in the response\n // and construct a URL that a user clicks on (like a sign in button).\n // The verifier is only available in the response after a user has\n // verified with twitter that they are authorizing your app.\n var access_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: access_token.oauth_verifier\n }\n , url = \'https://api.twitter.com/oauth/access_token\'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/1.1/users/show.json?\'\n , params =\n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n### Custom HTTP Headers\n\nHTTP Headers, such as `User-Agent`, can be set in the `options` object.\nIn the example below, we call the github API to find out the number\nof stars and forks for the request repository. This requires a\ncustom `User-Agent` header as well as https.\n\n```javascript\nvar request = require(\'request\');\n\nvar options = {\n\turl: \'https://api.github.com/repos/mikeal/request\',\n\theaders: {\n\t\t\'User-Agent\': \'request\'\n\t}\n};\n\nfunction callback(error, response, body) {\n\tif (!error && response.statusCode == 200) {\n\t\tvar info = JSON.parse(body);\n\t\tconsole.log(info.stargazers_count + " Stars");\n\t\tconsole.log(info.forks_count + " Forks");\n\t}\n}\n\nrequest(options, callback);\n```\n\n### request(options, callback)\n\nThe first argument can be either a `url` or an `options` object. The only required option is `uri`; all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from `url.parse()`\n* `qs` - object containing querystring values to be appended to the `uri`\n* `method` - http method (default: `"GET"`)\n* `headers` - http headers (default: `{}`)\n* `body` - entity body for PATCH, POST and PUT requests. Must be a `Buffer` or `String`.\n* `form` - when passed an object, this sets `body` to a querystring representation of value, and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no options, a `FormData` instance is returned (and is piped to request).\n* `auth` - A hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). See documentation above.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as JSON.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects (default: `true`)\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects (default: `false`)\n* `maxRedirects` - the maximum number of redirects to follow (default: `10`)\n* `encoding` - Encoding to be used on `setEncoding` of response data. If `null`, the `body` is returned as a `Buffer`.\n* `pool` - A hash object containing the agents for these requests. If omitted, the request will use the global pool (which is set to node\'s default `maxSockets`)\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\n* `proxy` - An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the `url` parameter (by embedding the auth info in the `uri`)\n* `oauth` - Options for OAuth HMAC-SHA1 signing. See documentation above.\n* `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).\n* `strictSSL` - If `true`, requires SSL certificates be valid. **Note:** to use your own certificate authority, you need to specify an agent that was created with that CA as an option.\n* `jar` - If `true`, remember cookies for future use (or define your custom cookie jar; see examples section)\n* `aws` - `object` containing AWS signing information. Should have the properties `key`, `secret`. Also requires the property `bucket`, unless you’re specifying your `bucket` as part of the path, or the request doesn’t use a bucket (i.e. GET Services)\n* `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent\'s library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.\n* `localAddress` - Local interface to bind for network connections.\n\n\nThe callback argument gets 3 arguments: \n\n1. An `error` when applicable (usually from [`http.ClientRequest`](http://nodejs.org/api/http.html#http_class_http_clientrequest) object)\n2. An [`http.IncomingMessage`](http://nodejs.org/api/http.html#http_http_incomingmessage) object\n3. The third is the `response` body (`String` or `Buffer`, or JSON object if the `json` option is supplied)\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options)\n\nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as `request()`, but defaults to `method: "PUT"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.patch\n\nSame as `request()`, but defaults to `method: "PATCH"`.\n\n```javascript\nrequest.patch(url)\n```\n\n### request.post\n\nSame as `request()`, but defaults to `method: "POST"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: "HEAD"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as `request()`, but defaults to `method: "DELETE"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nSame as `request()` (for uniformity).\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie(\'cookie_string_here\')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require(\'request\')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: \'PUT\'\n , uri: \'http://mikeal.iriscouch.com/testjs/\' + rand\n , multipart:\n [ { \'content-type\': \'application/json\'\n , body: JSON.stringify({foo: \'bar\', _attachments: {\'message.txt\': {follows: true, length: 18, \'content_type\': \'text/plain\' }}})\n }\n , { body: \'I am an attachment\' }\n ]\n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log(\'document saved as: http://mikeal.iriscouch.com/testjs/\'+ rand)\n } else {\n console.log(\'error: \'+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\n\nCookies are disabled by default (else, they would be used in subsequent requests). To enable cookies, set `jar` to `true` (either in `defaults` or `options`).\n\n```javascript\nvar request = request.defaults({jar: true})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nTo use a custom cookie jar (instead of `request`’s global cookie jar), set `jar` to an instance of `request.jar()` (either in `defaults` or `options`)\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie(\'your_cookie_here\')\nj.setCookie(cookie, uri);\nrequest({url: \'http://www.google.com\', jar: j}, function () {\n request(\'http://images.google.com\')\n})\n```\n',
19217 silly resolved readmeFilename: 'README.md',
19217 silly resolved homepage: 'https://github.com/mikeal/request',
19217 silly resolved _id: 'request@2.36.0',
19217 silly resolved _shasum: '28c6c04262c7b9ffdd21b9255374517ee6d943f5',
19217 silly resolved _from: 'request@^2.34.0',
19217 silly resolved _resolved: 'https://registry.npmjs.org/request/-/request-2.36.0.tgz' },
19217 silly resolved { name: 'mkdirp',
19217 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
19217 silly resolved version: '0.3.5',
19217 silly resolved author:
19217 silly resolved { name: 'James Halliday',
19217 silly resolved email: 'mail@substack.net',
19217 silly resolved url: 'http://substack.net' },
19217 silly resolved main: './index',
19217 silly resolved keywords: [ 'mkdir', 'directory' ],
19217 silly resolved repository:
19217 silly resolved { type: 'git',
19217 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
19217 silly resolved scripts: { test: 'tap test/*.js' },
19217 silly resolved devDependencies: { tap: '~0.4.0' },
19217 silly resolved license: 'MIT',
19217 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# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n',
19217 silly resolved readmeFilename: 'readme.markdown',
19217 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
19217 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
19217 silly resolved _id: 'mkdirp@0.3.5',
19217 silly resolved _shasum: 'de3e5f8961c88c787ee1368df849ac4413eca8d7',
19217 silly resolved _from: 'mkdirp@^0.3.5',
19217 silly resolved _resolved: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz' },
19217 silly resolved { name: 'get-stdin',
19217 silly resolved version: '0.1.0',
19217 silly resolved description: 'Easier stdin',
19217 silly resolved license: 'MIT',
19217 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/get-stdin' },
19217 silly resolved author:
19217 silly resolved { name: 'Sindre Sorhus',
19217 silly resolved email: 'sindresorhus@gmail.com',
19217 silly resolved url: 'http://sindresorhus.com' },
19217 silly resolved engines: { node: '>=0.10.0' },
19217 silly resolved scripts: { test: 'echo unicorns | mocha' },
19217 silly resolved files: [ 'index.js' ],
19217 silly resolved keywords: [ 'stdin', 'stdio', 'concat', 'buffer', 'stream' ],
19217 silly resolved devDependencies: { mocha: '*' },
19217 silly resolved readme: '# get-stdin [![Build Status](https://travis-ci.org/sindresorhus/get-stdin.png?branch=master)](https://travis-ci.org/sindresorhus/get-stdin)\n\n> Easier stdin\n\n\n## Install\n\n```\nnpm install --save get-stdin\n```\n\n\n## Example\n\n```js\n// example.js\nvar stdin = require(\'get-stdin\');\n\nstdin(function (data) {\n\tconsole.log(data);\n\t//=> unicorns\n});\n```\n\n```\n$ echo unicorns | node example.js\n```\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n',
19217 silly resolved readmeFilename: 'readme.md',
19217 silly resolved bugs: { url: 'https://github.com/sindresorhus/get-stdin/issues' },
19217 silly resolved homepage: 'https://github.com/sindresorhus/get-stdin',
19217 silly resolved _id: 'get-stdin@0.1.0',
19217 silly resolved _shasum: '5998af24aafc802d15c82c685657eeb8b10d4a91',
19217 silly resolved _from: 'get-stdin@^0.1.0',
19217 silly resolved _resolved: 'https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz' },
19217 silly resolved { name: 'get-urls',
19217 silly resolved version: '0.1.2',
19217 silly resolved description: 'Get all urls in a string',
19217 silly resolved license: 'MIT',
19217 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/get-urls' },
19217 silly resolved main: 'get-urls.js',
19217 silly resolved bin: { 'get-urls': 'cli.js' },
19217 silly resolved author:
19217 silly resolved { name: 'Sindre Sorhus',
19217 silly resolved email: 'sindresorhus@gmail.com',
19217 silly resolved url: 'http://sindresorhus.com' },
19217 silly resolved engines: { node: '>=0.10.0' },
19217 silly resolved scripts: { test: 'mocha' },
19217 silly resolved files: [ 'get-urls.js', 'cli.js' ],
19217 silly resolved keywords:
19217 silly resolved [ 'urls',
19217 silly resolved 'url',
19217 silly resolved 'uri',
19217 silly resolved 'get',
19217 silly resolved 'extract',
19217 silly resolved 'find',
19217 silly resolved 'scrape',
19217 silly resolved 'text',
19217 silly resolved 'string',
19217 silly resolved 'bin',
19217 silly resolved 'cli',
19217 silly resolved 'browser' ],
19217 silly resolved devDependencies: { mocha: '*' },
19217 silly resolved readme: '# get-urls [![Build Status](https://travis-ci.org/sindresorhus/get-urls.svg?branch=master)](https://travis-ci.org/sindresorhus/get-urls)\n\n> Get all urls in a string\n\nThe urls will be normalized and uniquified.\n\n\n## Install\n\nDownload [manually](https://github.com/sindresorhus/get-urls/releases) or with a package-manager.\n\n```bash\n$ npm install --save get-urls\n```\n\n```bash\n$ bower install --save get-urls\n```\n\n```bash\n$ component install sindresorhus/get-urls\n```\n\n\n## Usage\n\n```js\nvar text = \'Lorem ipsum dolor sit amet, sindresorhus.com consectetuer adipiscing http://yeoman.io elit.\';\n\ngetUrls(text);\n//=> [\'http://sindresorhus.com\', \'http://yeoman.io\']\n```\n\n\n## CLI\n\nYou can also use it as a CLI app by installing it globally:\n\n```bash\n$ npm install --global get-urls\n```\n\n#### Usage\n\n```bash\n$ get-urls -h\n\nget-urls <input-file>\nor\ncat <input-file> | get-urls\n```\n\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT) © [Sindre Sorhus](http://sindresorhus.com)\n',
19217 silly resolved readmeFilename: 'readme.md',
19217 silly resolved bugs: { url: 'https://github.com/sindresorhus/get-urls/issues' },
19217 silly resolved homepage: 'https://github.com/sindresorhus/get-urls',
19217 silly resolved _id: 'get-urls@0.1.2',
19217 silly resolved _shasum: '92a3e5ce2b9af2d2764ff5198681db373227b844',
19217 silly resolved _from: 'get-urls@^0.1.1',
19217 silly resolved _resolved: 'https://registry.npmjs.org/get-urls/-/get-urls-0.1.2.tgz' },
19217 silly resolved { name: 'each-async',
19217 silly resolved version: '0.1.3',
19217 silly resolved description: 'Async concurrent iterator',
19217 silly resolved license: 'MIT',
19217 silly resolved main: 'each-async.js',
19217 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/each-async' },
19217 silly resolved author:
19217 silly resolved { name: 'Sindre Sorhus',
19217 silly resolved email: 'sindresorhus@gmail.com',
19217 silly resolved url: 'http://sindresorhus.com' },
19217 silly resolved engines: { node: '>=0.10.0' },
19217 silly resolved scripts: { test: 'mocha' },
19217 silly resolved files: [ 'each-async.js' ],
19217 silly resolved keywords:
19217 silly resolved [ 'each',
19217 silly resolved 'async',
19217 silly resolved 'asynchronous',
19217 silly resolved 'iteration',
19217 silly resolved 'iterate',
19217 silly resolved 'loop',
19217 silly resolved 'foreach',
19217 silly resolved 'parallel',
19217 silly resolved 'concurrent',
19217 silly resolved 'array',
19217 silly resolved 'flow',
19217 silly resolved 'control flow' ],
19217 silly resolved devDependencies: { mocha: '*' },
19217 silly resolved readme: '# each-async [![Build Status](https://travis-ci.org/sindresorhus/each-async.svg?branch=master)](https://travis-ci.org/sindresorhus/each-async)\n\n> Async concurrent iterator (async forEach)\n\nLike [async.each()](https://github.com/caolan/async#eacharr-iterator-callback), but tiny.\n\nI often use `async.each()` for doing async operations when iterating, but I almost never use the other gadzillion methods in `async`.\n\nAsync iteration is one of the most used async control flow patterns.\n\n\n## Install\n\nDownload [manually](https://github.com/sindresorhus/each-async/releases) or with a package-manager.\n\n```bash\n$ npm install --save each-async\n```\n\n```bash\n$ bower install --save each-async\n```\n\n```bash\n$ component install sindresorhus/each-async\n```\n\n\n## Usage\n\n### Node.js\n\n```js\neachAsync([\'foo\',\'bar\',\'baz\'], function (item, index, done) {\n\tconsole.log(item, index);\n\tdone();\n}, function (error) {\n\tconsole.log(\'finished\');\n});\n//=> foo 0\n//=> bar 1\n//=> baz 2\n//=> finished\n```\n\n\n## API\n\n### eachAsync(array, callback, finishedCallback)\n\n#### array\n\nThe array you want to iterate.\n\n#### callback(item, index, done)\n\nA function which is called for each item in the array with the following arguments:\n\n- `item`: the current item in the array\n- `index`: the current index\n- `done([error])`: call this when you\'re done with an optional error. Supplying anything other than `undefined`/`null` will stop the iteration.\n\nNote that order is not guaranteed since each item is handled concurrently.\n\n#### finishedCallback(error)\n\nA function which is called when the iteration is finished or on the first error. First argument is the error passed from `done()` in the `callback`.\n\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT) © [Sindre Sorhus](http://sindresorhus.com)\n',
19217 silly resolved readmeFilename: 'readme.md',
19217 silly resolved bugs: { url: 'https://github.com/sindresorhus/each-async/issues' },
19217 silly resolved homepage: 'https://github.com/sindresorhus/each-async',
19217 silly resolved _id: 'each-async@0.1.3',
19217 silly resolved _shasum: 'b436025b08da2f86608025519e3096763dedfca3',
19217 silly resolved _from: 'each-async@^0.1.1',
19217 silly resolved _resolved: 'https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz' },
19217 silly resolved { name: 'decompress',
19217 silly resolved version: '0.2.4',
19217 silly resolved description: 'Easily extract zip, tar and tar.gz archives',
19217 silly resolved license: 'MIT',
19217 silly resolved repository: { type: 'git', url: 'git://github.com/kevva/decompress' },
19217 silly resolved author:
19217 silly resolved { name: 'Kevin Mårtensson',
19217 silly resolved email: 'kevinmartensson@gmail.com',
19217 silly resolved url: 'https://github.com/kevva' },
19217 silly resolved engines: { node: '>=0.10.0' },
19217 silly resolved bin: { decompress: 'cli.js' },
19217 silly resolved scripts: { test: 'mocha --reporter list' },
19217 silly resolved files: [ 'cli.js', 'index.js' ],
19217 silly resolved keywords: [ 'extract', 'tar', 'tar.gz', 'zip' ],
19217 silly resolved dependencies:
19217 silly resolved { 'adm-zip': '^0.4.3',
19217 silly resolved extname: '^0.1.1',
19217 silly resolved 'get-stdin': '^0.1.0',
19217 silly resolved 'map-key': '^0.1.1',
19217 silly resolved mkdirp: '^0.3.5',
19217 silly resolved nopt: '^2.2.0',
19217 silly resolved rimraf: '^2.2.2',
19217 silly resolved 'stream-combiner': '^0.0.4',
19217 silly resolved tar: '^0.1.18',
19217 silly resolved tempfile: '^0.1.2' },
19217 silly resolved devDependencies: { mocha: '^1.18.2' },
19217 silly resolved readme: '# decompress [![Build Status](https://travis-ci.org/kevva/decompress.svg?branch=master)](https://travis-ci.org/kevva/decompress)\n\n> Easily extract `.zip`, `.tar` and `.tar.gz` archives\n\n## Install\n\n```bash\n$ npm install --save decompress\n```\n\n## Usage\n\nYou\'ll only need to pass a type into `ext` and it\'ll figure the rest out for\nyou.\n\n```js\nvar decompress = require(\'decompress\');\nvar fs = require(\'fs\');\n\nfs.createReadStream(\'foo.tar.gz\').pipe(decompress({ ext: \'.tar.gz\' }));\n```\n\n## API\n\n### decompress(opts)\n\nExtract an archive using the `ext` option to determine which extractor to use.\nIf no `path` is specified it\'ll extract it to your current location.\n\n### decompress.canExtract(src, mime)\n\nDetermine if a file can be extracted or not by checking the file extension\nand/or the MIME type.\n\n```js\ndecompress.canExtract(\'foo.zip\');\n// => true\n\ndecompress.canExtract(\'application/zip\');\n// => true\n```\n\n## Options\n\n### `ext`\n\nType: `String` \nDefault: `\'\'`\n\nString that can be a file name, URL, MIME type etc.\n\n### `path`\n\nType: `String` \nDefault: `process.cwd()`\n\nPath to extract the archive to. If no `path` is defined it\'ll extract it to your\ncurrent location.\n\n### `strip`\n\nType: `Number` \nDefault: `0`\n\nEquivalent to `--strip-components` for tar.\n\n## CLI\n\n```bash\n$ npm install --global decompress\n```\n\n```bash\n$ decompress --help\n\nUsage\n $ decompress <file>\n $ cat <file> | decompress\n\nExample\n $ decompress --out dist --strip 1 archive.zip\n $ cat files.txt | decompress --out dist\n\nOptions\n -o, --out <path> Path to extract the archive to\n -s, --strip <number> Strip path segments from root when extracting\n```\n\n## License\n\nMIT © [Kevin Mårtensson](http://kevinmartensson.com)\n',
19217 silly resolved readmeFilename: 'README.md',
19217 silly resolved bugs: { url: 'https://github.com/kevva/decompress/issues' },
19217 silly resolved homepage: 'https://github.com/kevva/decompress',
19217 silly resolved _id: 'decompress@0.2.4',
19217 silly resolved _shasum: '33d08cc3678d3f84cb0c7606242b4ff1faf8d45a',
19217 silly resolved _from: 'decompress@^0.2.0',
19217 silly resolved _resolved: 'https://registry.npmjs.org/decompress/-/decompress-0.2.4.tgz' },
19217 silly resolved { name: 'through2',
19217 silly resolved version: '0.4.2',
19217 silly resolved description: 'A tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise',
19217 silly resolved main: 'through2.js',
19217 silly resolved scripts:
19217 silly resolved { test: 'node test/test.js',
19217 silly resolved 'test-local': 'brtapsauce-local test/basic-test.js' },
19217 silly resolved repository: { type: 'git', url: 'https://github.com/rvagg/through2.git' },
19217 silly resolved keywords: [ 'stream', 'streams2', 'through', 'transform' ],
19217 silly resolved author:
19217 silly resolved { name: 'Rod Vagg',
19217 silly resolved email: 'r@va.gg',
19217 silly resolved url: 'https://github.com/rvagg' },
19217 silly resolved license: 'MIT',
19217 silly resolved dependencies: { 'readable-stream': '~1.0.17', xtend: '~2.1.1' },
19217 silly resolved devDependencies:
19217 silly resolved { tape: '~2.3.0',
19217 silly resolved bl: '~0.6.0',
19217 silly resolved 'stream-spigot': '~3.0.1',
19217 silly resolved brtapsauce: '~0.2.2' },
19217 silly resolved readme: '# through2\n\n<!--\n\nsoon ...\n\n[![Build Status](https://secure.travis-ci.org/rvagg/through2.png)](http://travis-ci.org/rvagg/through2)\n\n[![Build Status](https://saucelabs.com/browser-matrix/through2-sauce.svg)](https://travis-ci.org/rvagg/through2)\n\n-->\n\n[![NPM](https://nodei.co/npm/through2.png?compact=true)](https://nodei.co/npm/through2/)\n\n<!--\nnot happy with these, we need to peg to readable-stream@1.0.x so it\'ll always report out-of-date\n\n[![david-dm](https://david-dm.org/rvagg/through2.png)](https://david-dm.org/rvagg/through2/)\n[![david-dm](https://david-dm.org/rvagg/through2/dev-status.png)](https://david-dm.org/rvagg/through2#info=devDependencies/)\n-->\n\n**A tiny wrapper around Node streams.Transform (Streams2) to avoid explicit subclassing noise**\n\nInspired by [Dominic Tarr](https://github.com/dominictarr)\'s [through](https://github.com/dominictarr/through) in that it\'s so much easier to make a stream out of a function than it is to set up the prototype chain properly: `through(function (chunk) { ... })`.\n\nNote: A **Streams3** version of through2 is available in npm with the tag `"1.0"` rather than `"latest"` so an `npm install through2` will get you the current Streams2 version (version number is 0.x.x). To use a Streams3 version use `npm install through2@1` to fetch the latest version 1.x.x. More information about Streams2 vs Streams3 and recommendations [here](http://www.nearform.com/nodecrunch/dont-use-nodes-core-stream-module).\n\n```js\nfs.createReadStream(\'ex.txt\')\n .pipe(through2(function (chunk, enc, callback) {\n\n for (var i = 0; i < chunk.length; i++)\n if (chunk[i] == 97)\n chunk[i] = 122 // swap \'a\' for \'z\'\n\n this.push(chunk)\n\n callback()\n\n }))\n .pipe(fs.createWriteStream(\'out.txt\'))\n```\n\nOr object streams:\n\n```js\nvar all = []\n\nfs.createReadStream(\'data.csv\')\n .pipe(csv2())\n .pipe(through2.obj(function (chunk, enc, callback) {\n\n var data = {\n name : chunk[0]\n , address : chunk[3]\n , phone : chunk[10]\n }\n\n this.push(data)\n\n callback()\n\n }))\n .on(\'data\', function (data) {\n all.push(data)\n })\n .on(\'end\', function () {\n doSomethingSpecial(all)\n })\n```\n\nNote that `through2.obj(fn)` is a convenience wrapper around `through2({ objectMode: true }, fn)`.\n\n## API\n\n<b><code>through2([ options, ] [ transformFunction ] [, flushFunction ])</code></b>\n\nConsult the **[stream.Transform](http://nodejs.org/docs/latest/api/stream.html#stream_class_stream_transform)** documentation for the exact rules of the `transformFunction` (i.e. `this._transform`) and the optional `flushFunction` (i.e. `this._flush`).\n\n### options\n\nThe options argument is optional and is passed straight through to `stream.Transform`. So you can use `objectMode:true` if you are processing non-binary streams (or just use `through2.obj()`).\n\nThe `options` argument is first, unlike standard convention, because if I\'m passing in an anonymous function then I\'d prefer for the options argument to not get lost at the end of the call:\n\n```js\nfs.createReadStream(\'/tmp/important.dat\')\n .pipe(through2({ objectMode: true, allowHalfOpen: false }, function (chunk, enc, cb) {\n\n this.push(new Buffer(\'wut?\'))\n cb()\n\n })\n .pipe(fs.createWriteStream(\'/tmp/wut.txt\'))\n```\n\n### transformFunction\n\nThe `transformFunction` must have the following signature: `function (chunk, encoding, callback) {}`. A minimal implementation should call the `callback` function to indicate that the transformation is done, even if that transformation means discarding the chunk.\n\nTo queue a new chunk, call `this.push(chunk)`&mdash;this can be called as many times as required before the `callback()` if you have multiple pieces to send on.\n\nIf you **do not provide a `transformFunction`** then you will get a simple simple pass-through stream.\n\n### flushFunction\n\nThe optional `flushFunction` is provided as the last argument (2nd or 3rd, depending on whether you\'ve supplied options) is called just prior to the stream ending. Can be used to finish up any processing that may be in progress.\n\n<b><code>through2.ctor([ options, ] transformFunction[, flushFunction ])</code></b>\n\nInstead of returning a `stream.Transform` instance, `through2.ctor()` returns a **constructor** for a custom Transform. This is useful when you want to use the same transform logic in multiple instances.\n\n```js\nvar FToC = through2.ctor({objectMode: true}, function (record, encoding, callback) {\n if (record.temp != null && record.unit = "F") {\n record.temp = ( ( record.temp - 32 ) * 5 ) / 9\n record.unit = "C"\n }\n this.push(record)\n callback()\n})\n\n// Create instances of FToC like so:\nvar converter = new FToC()\n// Or:\nvar converter = FToC()\n// Or specify/override options when you instantiate, if you prefer:\nvar converter = FToC({objectMode: true})\n```\n\n## See Also\n\n - [through2-map](https://github.com/brycebaril/through2-map) - Array.prototype.map analog for streams.\n - [through2-filter](https://github.com/brycebaril/through2-filter) - Array.prototype.filter analog for streams.\n - [through2-reduce](https://github.com/brycebaril/through2-reduce) - Array.prototype.reduce analog for streams.\n - [through2-spy](https://github.com/brycebaril/through2-spy) - Wrapper for simple stream.PassThrough spies.\n\n## License\n\n**through2** is Copyright (c) 2013 Rod Vagg [@rvagg](https://twitter.com/rvagg) and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.\n',
19217 silly resolved readmeFilename: 'README.md',
19217 silly resolved bugs: { url: 'https://github.com/rvagg/through2/issues' },
19217 silly resolved homepage: 'https://github.com/rvagg/through2',
19217 silly resolved _id: 'through2@0.4.2',
19217 silly resolved _shasum: 'dbf5866031151ec8352bb6c4db64a2292a840b9b',
19217 silly resolved _from: 'through2@^0.4.0',
19217 silly resolved _resolved: 'https://registry.npmjs.org/through2/-/through2-0.4.2.tgz' },
19217 silly resolved { name: 'nopt',
19217 silly resolved version: '2.2.1',
19217 silly resolved description: 'Option parsing for Node, supporting types, shorthands, etc. Used by npm.',
19217 silly resolved author:
19217 silly resolved { name: 'Isaac Z. Schlueter',
19217 silly resolved email: 'i@izs.me',
19217 silly resolved url: 'http://blog.izs.me/' },
19217 silly resolved main: 'lib/nopt.js',
19217 silly resolved scripts: { test: 'tap test/*.js' },
19217 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/nopt' },
19217 silly resolved bin: { nopt: './bin/nopt.js' },
19217 silly resolved license:
19217 silly resolved { type: 'MIT',
19217 silly resolved url: 'https://github.com/isaacs/nopt/raw/master/LICENSE' },
19217 silly resolved dependencies: { abbrev: '1' },
19217 silly resolved devDependencies: { tap: '~0.4.8' },
19217 silly resolved readme: 'If you want to write an option parser, and have it be good, there are\ntwo ways to do it. The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser. We\'ve all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don\'t write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system. You probably won\'t end up with a\ngood one of those, but if you don\'t give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n // my-program.js\n var nopt = require("nopt")\n , Stream = require("stream").Stream\n , path = require("path")\n , knownOpts = { "foo" : [String, null]\n , "bar" : [Stream, Number]\n , "baz" : path\n , "bloo" : [ "big", "medium", "small" ]\n , "flag" : Boolean\n , "pick" : Boolean\n , "many" : [String, Array]\n }\n , shortHands = { "foofoo" : ["--foo", "Mr. Foo"]\n , "b7" : ["--bar", "7"]\n , "m" : ["--bloo", "medium"]\n , "p" : ["--pick"]\n , "f" : ["--flag"]\n }\n // everything is optional.\n // knownOpts and shorthands default to {}\n // arg list defaults to process.argv\n // slice defaults to 2\n , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo "blerp" --no-flag\n{ "foo" : "blerp", "flag" : false }\n\n$ node my-program.js ---bar 7 --foo "Mr. Hand" --flag\n{ bar: 7, foo: "Mr. Hand", flag: true }\n\n$ node my-program.js --foo "blerp" -f -----p\n{ foo: "blerp", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: "Mr. Foo", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp # -- stops the flag parsing.\n{ foo: "Mr. Foo", argv: { remain: ["-fp"] } }\n\n$ node my-program.js --blatzk -fp # unknown opts are ok.\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --blatzk=1000 -fp # but you need to use = if they have a value\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with "no-"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: "/Users/isaacs/b/a/z" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array. The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: ["1", "null", "foo"] }\n\n$ node my-program.js --many foo\n{ many: ["foo"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string. No parsing is done.\n* path: A file system path. Gets resolved against cwd if not absolute.\n* url: A url. If it doesn\'t parse, it isn\'t accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`. If an option is a boolean,\n then it does not need a value, and its presence will imply `true` as\n the value. To negate boolean flags, do `--no-whatever` or `--whatever\n false`\n* NaN: Means that the option is strictly not allowed. Any value will\n fail.\n* Stream: An object matching the "Stream" class in node. Valuable\n for use when validating programmatically. (npm uses this to let you\n supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n will be parsed as a list of options. This means that multiple values\n can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values. For instance, in the example above, the\n`--bloo` option can only be one of `"big"`, `"medium"`, or `"small"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `"true"`, `"false"`, and `"null"` will be\ninterpreted as their JavaScript equivalents, and numeric values will be\ninterpreted as a number.\n\nYou can also mix types and values, or multiple types, in a list. For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null. When types are ordered, this implies a\npreference, and the first type that can be used to properly interpret\nthe value will be used.\n\nTo define a new type, add it to `nopt.typeDefs`. Each item in that\nhash is an object with a `type` member and a `validate` method. The\n`type` member is an object that matches what goes in the type list. The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`. Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found. You can change this behavior by assigning a method\nto `nopt.invalidHandler`. This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining. If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported. If you define options like this:\n\n```javascript\n{ "foolhardyelephants" : Boolean\n, "pileofmonkeys" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts. For example:\n\n```json\n{ "s" : ["--loglevel", "silent"]\n, "g" : "--global"\n, "f" : "--force"\n, "p" : "--parseable"\n, "l" : "--long"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat\'s usually not very useful to you. So they\'re sliced off by\ndefault. If you want them, then you can pass in `0` as the last\nargument, or any other number that you\'d like to slice off the start of\nthe list.\n',
19217 silly resolved readmeFilename: 'README.md',
19217 silly resolved bugs: { url: 'https://github.com/isaacs/nopt/issues' },
19217 silly resolved homepage: 'https://github.com/isaacs/nopt',
19217 silly resolved _id: 'nopt@2.2.1',
19217 silly resolved _shasum: '2aa09b7d1768487b3b89a9c5aa52335bff0baea7',
19217 silly resolved _from: 'nopt@^2.2.0',
19217 silly resolved _resolved: 'https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz' } ]
19218 info install request@2.36.0 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download
19219 info install mkdirp@0.3.5 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download
19220 info install get-stdin@0.1.0 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download
19221 info install get-urls@0.1.2 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download
19222 info install each-async@0.1.3 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download
19223 info install decompress@0.2.4 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download
19224 info install through2@0.4.2 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download
19225 info install nopt@2.2.1 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download
19226 info installOne request@2.36.0
19227 info installOne mkdirp@0.3.5
19228 info installOne get-stdin@0.1.0
19229 info installOne get-urls@0.1.2
19230 info installOne each-async@0.1.3
19231 info installOne decompress@0.2.4
19232 info installOne through2@0.4.2
19233 info installOne nopt@2.2.1
19234 silly resolved [ { name: 'mkdirp',
19234 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
19234 silly resolved version: '0.3.5',
19234 silly resolved author:
19234 silly resolved { name: 'James Halliday',
19234 silly resolved email: 'mail@substack.net',
19234 silly resolved url: 'http://substack.net' },
19234 silly resolved main: './index',
19234 silly resolved keywords: [ 'mkdir', 'directory' ],
19234 silly resolved repository:
19234 silly resolved { type: 'git',
19234 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
19234 silly resolved scripts: { test: 'tap test/*.js' },
19234 silly resolved devDependencies: { tap: '~0.4.0' },
19234 silly resolved license: 'MIT',
19234 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# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n',
19234 silly resolved readmeFilename: 'readme.markdown',
19234 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
19234 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
19234 silly resolved _id: 'mkdirp@0.3.5',
19234 silly resolved _shasum: 'de3e5f8961c88c787ee1368df849ac4413eca8d7',
19234 silly resolved _from: 'mkdirp@^0.3.5',
19234 silly resolved _resolved: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz' },
19234 silly resolved { name: 'request',
19234 silly resolved description: 'Simplified HTTP request client.',
19234 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
19234 silly resolved version: '2.36.0',
19234 silly resolved author: { name: 'Mikeal Rogers', email: 'mikeal.rogers@gmail.com' },
19234 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
19234 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
19234 silly resolved license: 'Apache, Version 2.0',
19234 silly resolved engines: [ 'node >= 0.8.0' ],
19234 silly resolved main: 'index.js',
19234 silly resolved dependencies:
19234 silly resolved { qs: '~0.6.0',
19234 silly resolved 'json-stringify-safe': '~5.0.0',
19234 silly resolved mime: '~1.2.9',
19234 silly resolved 'forever-agent': '~0.5.0',
19234 silly resolved 'node-uuid': '~1.4.0',
19234 silly resolved 'tough-cookie': '>=0.12.0',
19234 silly resolved 'form-data': '~0.1.0',
19234 silly resolved 'tunnel-agent': '~0.4.0',
19234 silly resolved 'http-signature': '~0.10.0',
19234 silly resolved 'oauth-sign': '~0.3.0',
19234 silly resolved hawk: '~1.0.0',
19234 silly resolved 'aws-sign2': '~0.5.0' },
19234 silly resolved optionalDependencies:
19234 silly resolved { 'tough-cookie': '>=0.12.0',
19234 silly resolved 'form-data': '~0.1.0',
19234 silly resolved 'tunnel-agent': '~0.4.0',
19234 silly resolved 'http-signature': '~0.10.0',
19234 silly resolved 'oauth-sign': '~0.3.0',
19234 silly resolved hawk: '~1.0.0',
19234 silly resolved 'aws-sign2': '~0.5.0' },
19234 silly resolved scripts: { test: 'node tests/run.js' },
19234 silly resolved readme: '# Request -- Simplified HTTP client\n\n[![NPM](https://nodei.co/npm/request.png)](https://nodei.co/npm/request/)\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require(\'request\');\nrequest(\'http://www.google.com\', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest(\'http://google.com/doodle.png\').pipe(fs.createWriteStream(\'doodle.png\'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types (in this case `application/json`) and use the proper `content-type` in the PUT request (if the headers don’t already provide one).\n\n```javascript\nfs.createReadStream(\'file.json\').pipe(request.put(\'http://mysite.com/obj.json\'))\n```\n\nRequest can also `pipe` to itself. When doing so, `content-type` and `content-length` are preserved in the PUT headers.\n\n```javascript\nrequest.get(\'http://google.com/img.png\').pipe(request.put(\'http://mysite.com/img.png\'))\n```\n\nNow let’s get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n if (req.method === \'PUT\') {\n req.pipe(request.put(\'http://mysite.com/doodle.png\'))\n } else if (req.method === \'GET\' || req.method === \'HEAD\') {\n request.get(\'http://mysite.com/doodle.png\').pipe(resp)\n }\n }\n})\n```\n\nYou can also `pipe()` from `http.ServerRequest` instances, as well as to `http.ServerResponse` instances. The HTTP method, headers, and entity-body data will be sent. Which means that, if you don\'t really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n var x = request(\'http://mysite.com/doodle.png\')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since `pipe()` returns the destination stream in ≥ Node 0.5.x you can do one line proxying. :)\n\n```javascript\nreq.pipe(request(\'http://mysite.com/doodle.png\')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({\'proxy\':\'http://localproxy.com\'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n r.get(\'http://google.com/doodle.png\').pipe(resp)\n }\n})\n```\n\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## UNIX Socket \n\n`request` supports the `unix://` protocol for all requests. The path is assumed to be absolute to the root of the host file system. \n\nHTTP paths are extracted from the supplied URL by testing each level of the full URL against net.connect for a socket response.\n\nThus the following request will GET `/httppath` from the HTTP server listening on `/tmp/unix.socket`\n\n```javascript\nrequest.get(\'unix://tmp/unix.socket/httppath\')\n```\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nURL-encoded forms are simple.\n\n```javascript\nrequest.post(\'http://service.com/upload\', {form:{key:\'value\'}})\n// or\nrequest.post(\'http://service.com/upload\').form({key:\'value\'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don’t need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post(\'http://service.com/upload\', function optionalCallback (err, httpResponse, body) {\n if (err) {\n return console.error(\'upload failed:\', err);\n }\n console.log(\'Upload successful! Server responded with:\', body);\n})\nvar form = r.form()\nform.append(\'my_field\', \'my_value\')\nform.append(\'my_buffer\', new Buffer([1, 2, 3]))\nform.append(\'my_file\', fs.createReadStream(path.join(__dirname, \'doodle.png\')))\nform.append(\'remote_file\', request(\'http://google.com/doodle.png\'))\n\n// Just like always, `r` is a writable stream, and can be used as such (you have until nextTick to pipe it, etc.)\n// Alternatively, you can provide a callback (that\'s what this example does-- see `optionalCallback` above).\n```\n\n## HTTP Authentication\n\n```javascript\nrequest.get(\'http://some.server.com/\').auth(\'username\', \'password\', false);\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'user\': \'username\',\n \'pass\': \'password\',\n \'sendImmediately\': false\n }\n});\n// or\nrequest.get(\'http://some.server.com/\').auth(null, null, true, \'bearerToken\');\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'bearer\': \'bearerToken\'\n }\n});\n```\n\nIf passed as an option, `auth` should be a hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). The method form takes parameters `auth(username, password, sendImmediately)`.\n\n`sendImmediately` defaults to `true`, which causes a basic authentication header to be sent. If `sendImmediately` is `false`, then `request` will retry with a proper authentication header after receiving a `401` response from the server (which must contain a `WWW-Authenticate` header indicating the required authentication method).\n\nDigest authentication is supported, but it only works with `sendImmediately` set to `false`; otherwise `request` will send basic authentication on the initial request, which will probably cause the request to fail.\n\nBearer authentication is supported, and is activated when the `bearer` value is available. The value may be either a `String` or a `Function` returning a `String`. Using a function to supply the bearer token is particularly useful if used in conjuction with `defaults` to allow a single function to supply the last known token at the time or sending a request or to compute one on the fly.\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require(\'querystring\')\n , oauth =\n { callback: \'http://mysite.com/callback/\'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = \'https://api.twitter.com/oauth/request_token\'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Ideally, you would take the body in the response\n // and construct a URL that a user clicks on (like a sign in button).\n // The verifier is only available in the response after a user has\n // verified with twitter that they are authorizing your app.\n var access_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: access_token.oauth_verifier\n }\n , url = \'https://api.twitter.com/oauth/access_token\'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/1.1/users/show.json?\'\n , params =\n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n### Custom HTTP Headers\n\nHTTP Headers, such as `User-Agent`, can be set in the `options` object.\nIn the example below, we call the github API to find out the number\nof stars and forks for the request repository. This requires a\ncustom `User-Agent` header as well as https.\n\n```javascript\nvar request = require(\'request\');\n\nvar options = {\n\turl: \'https://api.github.com/repos/mikeal/request\',\n\theaders: {\n\t\t\'User-Agent\': \'request\'\n\t}\n};\n\nfunction callback(error, response, body) {\n\tif (!error && response.statusCode == 200) {\n\t\tvar info = JSON.parse(body);\n\t\tconsole.log(info.stargazers_count + " Stars");\n\t\tconsole.log(info.forks_count + " Forks");\n\t}\n}\n\nrequest(options, callback);\n```\n\n### request(options, callback)\n\nThe first argument can be either a `url` or an `options` object. The only required option is `uri`; all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from `url.parse()`\n* `qs` - object containing querystring values to be appended to the `uri`\n* `method` - http method (default: `"GET"`)\n* `headers` - http headers (default: `{}`)\n* `body` - entity body for PATCH, POST and PUT requests. Must be a `Buffer` or `String`.\n* `form` - when passed an object, this sets `body` to a querystring representation of value, and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no options, a `FormData` instance is returned (and is piped to request).\n* `auth` - A hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). See documentation above.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as JSON.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects (default: `true`)\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects (default: `false`)\n* `maxRedirects` - the maximum number of redirects to follow (default: `10`)\n* `encoding` - Encoding to be used on `setEncoding` of response data. If `null`, the `body` is returned as a `Buffer`.\n* `pool` - A hash object containing the agents for these requests. If omitted, the request will use the global pool (which is set to node\'s default `maxSockets`)\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\n* `proxy` - An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the `url` parameter (by embedding the auth info in the `uri`)\n* `oauth` - Options for OAuth HMAC-SHA1 signing. See documentation above.\n* `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).\n* `strictSSL` - If `true`, requires SSL certificates be valid. **Note:** to use your own certificate authority, you need to specify an agent that was created with that CA as an option.\n* `jar` - If `true`, remember cookies for future use (or define your custom cookie jar; see examples section)\n* `aws` - `object` containing AWS signing information. Should have the properties `key`, `secret`. Also requires the property `bucket`, unless you’re specifying your `bucket` as part of the path, or the request doesn’t use a bucket (i.e. GET Services)\n* `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent\'s library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.\n* `localAddress` - Local interface to bind for network connections.\n\n\nThe callback argument gets 3 arguments: \n\n1. An `error` when applicable (usually from [`http.ClientRequest`](http://nodejs.org/api/http.html#http_class_http_clientrequest) object)\n2. An [`http.IncomingMessage`](http://nodejs.org/api/http.html#http_http_incomingmessage) object\n3. The third is the `response` body (`String` or `Buffer`, or JSON object if the `json` option is supplied)\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options)\n\nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as `request()`, but defaults to `method: "PUT"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.patch\n\nSame as `request()`, but defaults to `method: "PATCH"`.\n\n```javascript\nrequest.patch(url)\n```\n\n### request.post\n\nSame as `request()`, but defaults to `method: "POST"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: "HEAD"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as `request()`, but defaults to `method: "DELETE"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nSame as `request()` (for uniformity).\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie(\'cookie_string_here\')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require(\'request\')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: \'PUT\'\n , uri: \'http://mikeal.iriscouch.com/testjs/\' + rand\n , multipart:\n [ { \'content-type\': \'application/json\'\n , body: JSON.stringify({foo: \'bar\', _attachments: {\'message.txt\': {follows: true, length: 18, \'content_type\': \'text/plain\' }}})\n }\n , { body: \'I am an attachment\' }\n ]\n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log(\'document saved as: http://mikeal.iriscouch.com/testjs/\'+ rand)\n } else {\n console.log(\'error: \'+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\n\nCookies are disabled by default (else, they would be used in subsequent requests). To enable cookies, set `jar` to `true` (either in `defaults` or `options`).\n\n```javascript\nvar request = request.defaults({jar: true})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nTo use a custom cookie jar (instead of `request`’s global cookie jar), set `jar` to an instance of `request.jar()` (either in `defaults` or `options`)\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie(\'your_cookie_here\')\nj.setCookie(cookie, uri);\nrequest({url: \'http://www.google.com\', jar: j}, function () {\n request(\'http://images.google.com\')\n})\n```\n',
19234 silly resolved readmeFilename: 'README.md',
19234 silly resolved homepage: 'https://github.com/mikeal/request',
19234 silly resolved _id: 'request@2.36.0',
19234 silly resolved _shasum: '28c6c04262c7b9ffdd21b9255374517ee6d943f5',
19234 silly resolved _from: 'request@^2.34.0',
19234 silly resolved _resolved: 'https://registry.npmjs.org/request/-/request-2.36.0.tgz' },
19234 silly resolved { name: 'get-stdin',
19234 silly resolved version: '0.1.0',
19234 silly resolved description: 'Easier stdin',
19234 silly resolved license: 'MIT',
19234 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/get-stdin' },
19234 silly resolved author:
19234 silly resolved { name: 'Sindre Sorhus',
19234 silly resolved email: 'sindresorhus@gmail.com',
19234 silly resolved url: 'http://sindresorhus.com' },
19234 silly resolved engines: { node: '>=0.10.0' },
19234 silly resolved scripts: { test: 'echo unicorns | mocha' },
19234 silly resolved files: [ 'index.js' ],
19234 silly resolved keywords: [ 'stdin', 'stdio', 'concat', 'buffer', 'stream' ],
19234 silly resolved devDependencies: { mocha: '*' },
19234 silly resolved readme: '# get-stdin [![Build Status](https://travis-ci.org/sindresorhus/get-stdin.png?branch=master)](https://travis-ci.org/sindresorhus/get-stdin)\n\n> Easier stdin\n\n\n## Install\n\n```\nnpm install --save get-stdin\n```\n\n\n## Example\n\n```js\n// example.js\nvar stdin = require(\'get-stdin\');\n\nstdin(function (data) {\n\tconsole.log(data);\n\t//=> unicorns\n});\n```\n\n```\n$ echo unicorns | node example.js\n```\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n',
19234 silly resolved readmeFilename: 'readme.md',
19234 silly resolved bugs: { url: 'https://github.com/sindresorhus/get-stdin/issues' },
19234 silly resolved homepage: 'https://github.com/sindresorhus/get-stdin',
19234 silly resolved _id: 'get-stdin@0.1.0',
19234 silly resolved _shasum: '5998af24aafc802d15c82c685657eeb8b10d4a91',
19234 silly resolved _from: 'get-stdin@^0.1.0',
19234 silly resolved _resolved: 'https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz' },
19234 silly resolved { name: 'get-urls',
19234 silly resolved version: '0.1.2',
19234 silly resolved description: 'Get all urls in a string',
19234 silly resolved license: 'MIT',
19234 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/get-urls' },
19234 silly resolved main: 'get-urls.js',
19234 silly resolved bin: { 'get-urls': 'cli.js' },
19234 silly resolved author:
19234 silly resolved { name: 'Sindre Sorhus',
19234 silly resolved email: 'sindresorhus@gmail.com',
19234 silly resolved url: 'http://sindresorhus.com' },
19234 silly resolved engines: { node: '>=0.10.0' },
19234 silly resolved scripts: { test: 'mocha' },
19234 silly resolved files: [ 'get-urls.js', 'cli.js' ],
19234 silly resolved keywords:
19234 silly resolved [ 'urls',
19234 silly resolved 'url',
19234 silly resolved 'uri',
19234 silly resolved 'get',
19234 silly resolved 'extract',
19234 silly resolved 'find',
19234 silly resolved 'scrape',
19234 silly resolved 'text',
19234 silly resolved 'string',
19234 silly resolved 'bin',
19234 silly resolved 'cli',
19234 silly resolved 'browser' ],
19234 silly resolved devDependencies: { mocha: '*' },
19234 silly resolved readme: '# get-urls [![Build Status](https://travis-ci.org/sindresorhus/get-urls.svg?branch=master)](https://travis-ci.org/sindresorhus/get-urls)\n\n> Get all urls in a string\n\nThe urls will be normalized and uniquified.\n\n\n## Install\n\nDownload [manually](https://github.com/sindresorhus/get-urls/releases) or with a package-manager.\n\n```bash\n$ npm install --save get-urls\n```\n\n```bash\n$ bower install --save get-urls\n```\n\n```bash\n$ component install sindresorhus/get-urls\n```\n\n\n## Usage\n\n```js\nvar text = \'Lorem ipsum dolor sit amet, sindresorhus.com consectetuer adipiscing http://yeoman.io elit.\';\n\ngetUrls(text);\n//=> [\'http://sindresorhus.com\', \'http://yeoman.io\']\n```\n\n\n## CLI\n\nYou can also use it as a CLI app by installing it globally:\n\n```bash\n$ npm install --global get-urls\n```\n\n#### Usage\n\n```bash\n$ get-urls -h\n\nget-urls <input-file>\nor\ncat <input-file> | get-urls\n```\n\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT) © [Sindre Sorhus](http://sindresorhus.com)\n',
19234 silly resolved readmeFilename: 'readme.md',
19234 silly resolved bugs: { url: 'https://github.com/sindresorhus/get-urls/issues' },
19234 silly resolved homepage: 'https://github.com/sindresorhus/get-urls',
19234 silly resolved _id: 'get-urls@0.1.2',
19234 silly resolved _shasum: '92a3e5ce2b9af2d2764ff5198681db373227b844',
19234 silly resolved _from: 'get-urls@^0.1.1',
19234 silly resolved _resolved: 'https://registry.npmjs.org/get-urls/-/get-urls-0.1.2.tgz' },
19234 silly resolved { name: 'each-async',
19234 silly resolved version: '0.1.3',
19234 silly resolved description: 'Async concurrent iterator',
19234 silly resolved license: 'MIT',
19234 silly resolved main: 'each-async.js',
19234 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/each-async' },
19234 silly resolved author:
19234 silly resolved { name: 'Sindre Sorhus',
19234 silly resolved email: 'sindresorhus@gmail.com',
19234 silly resolved url: 'http://sindresorhus.com' },
19234 silly resolved engines: { node: '>=0.10.0' },
19234 silly resolved scripts: { test: 'mocha' },
19234 silly resolved files: [ 'each-async.js' ],
19234 silly resolved keywords:
19234 silly resolved [ 'each',
19234 silly resolved 'async',
19234 silly resolved 'asynchronous',
19234 silly resolved 'iteration',
19234 silly resolved 'iterate',
19234 silly resolved 'loop',
19234 silly resolved 'foreach',
19234 silly resolved 'parallel',
19234 silly resolved 'concurrent',
19234 silly resolved 'array',
19234 silly resolved 'flow',
19234 silly resolved 'control flow' ],
19234 silly resolved devDependencies: { mocha: '*' },
19234 silly resolved readme: '# each-async [![Build Status](https://travis-ci.org/sindresorhus/each-async.svg?branch=master)](https://travis-ci.org/sindresorhus/each-async)\n\n> Async concurrent iterator (async forEach)\n\nLike [async.each()](https://github.com/caolan/async#eacharr-iterator-callback), but tiny.\n\nI often use `async.each()` for doing async operations when iterating, but I almost never use the other gadzillion methods in `async`.\n\nAsync iteration is one of the most used async control flow patterns.\n\n\n## Install\n\nDownload [manually](https://github.com/sindresorhus/each-async/releases) or with a package-manager.\n\n```bash\n$ npm install --save each-async\n```\n\n```bash\n$ bower install --save each-async\n```\n\n```bash\n$ component install sindresorhus/each-async\n```\n\n\n## Usage\n\n### Node.js\n\n```js\neachAsync([\'foo\',\'bar\',\'baz\'], function (item, index, done) {\n\tconsole.log(item, index);\n\tdone();\n}, function (error) {\n\tconsole.log(\'finished\');\n});\n//=> foo 0\n//=> bar 1\n//=> baz 2\n//=> finished\n```\n\n\n## API\n\n### eachAsync(array, callback, finishedCallback)\n\n#### array\n\nThe array you want to iterate.\n\n#### callback(item, index, done)\n\nA function which is called for each item in the array with the following arguments:\n\n- `item`: the current item in the array\n- `index`: the current index\n- `done([error])`: call this when you\'re done with an optional error. Supplying anything other than `undefined`/`null` will stop the iteration.\n\nNote that order is not guaranteed since each item is handled concurrently.\n\n#### finishedCallback(error)\n\nA function which is called when the iteration is finished or on the first error. First argument is the error passed from `done()` in the `callback`.\n\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT) © [Sindre Sorhus](http://sindresorhus.com)\n',
19234 silly resolved readmeFilename: 'readme.md',
19234 silly resolved bugs: { url: 'https://github.com/sindresorhus/each-async/issues' },
19234 silly resolved homepage: 'https://github.com/sindresorhus/each-async',
19234 silly resolved _id: 'each-async@0.1.3',
19234 silly resolved _shasum: 'b436025b08da2f86608025519e3096763dedfca3',
19234 silly resolved _from: 'each-async@^0.1.1',
19234 silly resolved _resolved: 'https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz' },
19234 silly resolved { name: 'decompress',
19234 silly resolved version: '0.2.4',
19234 silly resolved description: 'Easily extract zip, tar and tar.gz archives',
19234 silly resolved license: 'MIT',
19234 silly resolved repository: { type: 'git', url: 'git://github.com/kevva/decompress' },
19234 silly resolved author:
19234 silly resolved { name: 'Kevin Mårtensson',
19234 silly resolved email: 'kevinmartensson@gmail.com',
19234 silly resolved url: 'https://github.com/kevva' },
19234 silly resolved engines: { node: '>=0.10.0' },
19234 silly resolved bin: { decompress: 'cli.js' },
19234 silly resolved scripts: { test: 'mocha --reporter list' },
19234 silly resolved files: [ 'cli.js', 'index.js' ],
19234 silly resolved keywords: [ 'extract', 'tar', 'tar.gz', 'zip' ],
19234 silly resolved dependencies:
19234 silly resolved { 'adm-zip': '^0.4.3',
19234 silly resolved extname: '^0.1.1',
19234 silly resolved 'get-stdin': '^0.1.0',
19234 silly resolved 'map-key': '^0.1.1',
19234 silly resolved mkdirp: '^0.3.5',
19234 silly resolved nopt: '^2.2.0',
19234 silly resolved rimraf: '^2.2.2',
19234 silly resolved 'stream-combiner': '^0.0.4',
19234 silly resolved tar: '^0.1.18',
19234 silly resolved tempfile: '^0.1.2' },
19234 silly resolved devDependencies: { mocha: '^1.18.2' },
19234 silly resolved readme: '# decompress [![Build Status](https://travis-ci.org/kevva/decompress.svg?branch=master)](https://travis-ci.org/kevva/decompress)\n\n> Easily extract `.zip`, `.tar` and `.tar.gz` archives\n\n## Install\n\n```bash\n$ npm install --save decompress\n```\n\n## Usage\n\nYou\'ll only need to pass a type into `ext` and it\'ll figure the rest out for\nyou.\n\n```js\nvar decompress = require(\'decompress\');\nvar fs = require(\'fs\');\n\nfs.createReadStream(\'foo.tar.gz\').pipe(decompress({ ext: \'.tar.gz\' }));\n```\n\n## API\n\n### decompress(opts)\n\nExtract an archive using the `ext` option to determine which extractor to use.\nIf no `path` is specified it\'ll extract it to your current location.\n\n### decompress.canExtract(src, mime)\n\nDetermine if a file can be extracted or not by checking the file extension\nand/or the MIME type.\n\n```js\ndecompress.canExtract(\'foo.zip\');\n// => true\n\ndecompress.canExtract(\'application/zip\');\n// => true\n```\n\n## Options\n\n### `ext`\n\nType: `String` \nDefault: `\'\'`\n\nString that can be a file name, URL, MIME type etc.\n\n### `path`\n\nType: `String` \nDefault: `process.cwd()`\n\nPath to extract the archive to. If no `path` is defined it\'ll extract it to your\ncurrent location.\n\n### `strip`\n\nType: `Number` \nDefault: `0`\n\nEquivalent to `--strip-components` for tar.\n\n## CLI\n\n```bash\n$ npm install --global decompress\n```\n\n```bash\n$ decompress --help\n\nUsage\n $ decompress <file>\n $ cat <file> | decompress\n\nExample\n $ decompress --out dist --strip 1 archive.zip\n $ cat files.txt | decompress --out dist\n\nOptions\n -o, --out <path> Path to extract the archive to\n -s, --strip <number> Strip path segments from root when extracting\n```\n\n## License\n\nMIT © [Kevin Mårtensson](http://kevinmartensson.com)\n',
19234 silly resolved readmeFilename: 'README.md',
19234 silly resolved bugs: { url: 'https://github.com/kevva/decompress/issues' },
19234 silly resolved homepage: 'https://github.com/kevva/decompress',
19234 silly resolved _id: 'decompress@0.2.4',
19234 silly resolved _shasum: '33d08cc3678d3f84cb0c7606242b4ff1faf8d45a',
19234 silly resolved _from: 'decompress@^0.2.0',
19234 silly resolved _resolved: 'https://registry.npmjs.org/decompress/-/decompress-0.2.4.tgz' },
19234 silly resolved { name: 'through2',
19234 silly resolved version: '0.4.2',
19234 silly resolved description: 'A tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise',
19234 silly resolved main: 'through2.js',
19234 silly resolved scripts:
19234 silly resolved { test: 'node test/test.js',
19234 silly resolved 'test-local': 'brtapsauce-local test/basic-test.js' },
19234 silly resolved repository: { type: 'git', url: 'https://github.com/rvagg/through2.git' },
19234 silly resolved keywords: [ 'stream', 'streams2', 'through', 'transform' ],
19234 silly resolved author:
19234 silly resolved { name: 'Rod Vagg',
19234 silly resolved email: 'r@va.gg',
19234 silly resolved url: 'https://github.com/rvagg' },
19234 silly resolved license: 'MIT',
19234 silly resolved dependencies: { 'readable-stream': '~1.0.17', xtend: '~2.1.1' },
19234 silly resolved devDependencies:
19234 silly resolved { tape: '~2.3.0',
19234 silly resolved bl: '~0.6.0',
19234 silly resolved 'stream-spigot': '~3.0.1',
19234 silly resolved brtapsauce: '~0.2.2' },
19234 silly resolved readme: '# through2\n\n<!--\n\nsoon ...\n\n[![Build Status](https://secure.travis-ci.org/rvagg/through2.png)](http://travis-ci.org/rvagg/through2)\n\n[![Build Status](https://saucelabs.com/browser-matrix/through2-sauce.svg)](https://travis-ci.org/rvagg/through2)\n\n-->\n\n[![NPM](https://nodei.co/npm/through2.png?compact=true)](https://nodei.co/npm/through2/)\n\n<!--\nnot happy with these, we need to peg to readable-stream@1.0.x so it\'ll always report out-of-date\n\n[![david-dm](https://david-dm.org/rvagg/through2.png)](https://david-dm.org/rvagg/through2/)\n[![david-dm](https://david-dm.org/rvagg/through2/dev-status.png)](https://david-dm.org/rvagg/through2#info=devDependencies/)\n-->\n\n**A tiny wrapper around Node streams.Transform (Streams2) to avoid explicit subclassing noise**\n\nInspired by [Dominic Tarr](https://github.com/dominictarr)\'s [through](https://github.com/dominictarr/through) in that it\'s so much easier to make a stream out of a function than it is to set up the prototype chain properly: `through(function (chunk) { ... })`.\n\nNote: A **Streams3** version of through2 is available in npm with the tag `"1.0"` rather than `"latest"` so an `npm install through2` will get you the current Streams2 version (version number is 0.x.x). To use a Streams3 version use `npm install through2@1` to fetch the latest version 1.x.x. More information about Streams2 vs Streams3 and recommendations [here](http://www.nearform.com/nodecrunch/dont-use-nodes-core-stream-module).\n\n```js\nfs.createReadStream(\'ex.txt\')\n .pipe(through2(function (chunk, enc, callback) {\n\n for (var i = 0; i < chunk.length; i++)\n if (chunk[i] == 97)\n chunk[i] = 122 // swap \'a\' for \'z\'\n\n this.push(chunk)\n\n callback()\n\n }))\n .pipe(fs.createWriteStream(\'out.txt\'))\n```\n\nOr object streams:\n\n```js\nvar all = []\n\nfs.createReadStream(\'data.csv\')\n .pipe(csv2())\n .pipe(through2.obj(function (chunk, enc, callback) {\n\n var data = {\n name : chunk[0]\n , address : chunk[3]\n , phone : chunk[10]\n }\n\n this.push(data)\n\n callback()\n\n }))\n .on(\'data\', function (data) {\n all.push(data)\n })\n .on(\'end\', function () {\n doSomethingSpecial(all)\n })\n```\n\nNote that `through2.obj(fn)` is a convenience wrapper around `through2({ objectMode: true }, fn)`.\n\n## API\n\n<b><code>through2([ options, ] [ transformFunction ] [, flushFunction ])</code></b>\n\nConsult the **[stream.Transform](http://nodejs.org/docs/latest/api/stream.html#stream_class_stream_transform)** documentation for the exact rules of the `transformFunction` (i.e. `this._transform`) and the optional `flushFunction` (i.e. `this._flush`).\n\n### options\n\nThe options argument is optional and is passed straight through to `stream.Transform`. So you can use `objectMode:true` if you are processing non-binary streams (or just use `through2.obj()`).\n\nThe `options` argument is first, unlike standard convention, because if I\'m passing in an anonymous function then I\'d prefer for the options argument to not get lost at the end of the call:\n\n```js\nfs.createReadStream(\'/tmp/important.dat\')\n .pipe(through2({ objectMode: true, allowHalfOpen: false }, function (chunk, enc, cb) {\n\n this.push(new Buffer(\'wut?\'))\n cb()\n\n })\n .pipe(fs.createWriteStream(\'/tmp/wut.txt\'))\n```\n\n### transformFunction\n\nThe `transformFunction` must have the following signature: `function (chunk, encoding, callback) {}`. A minimal implementation should call the `callback` function to indicate that the transformation is done, even if that transformation means discarding the chunk.\n\nTo queue a new chunk, call `this.push(chunk)`&mdash;this can be called as many times as required before the `callback()` if you have multiple pieces to send on.\n\nIf you **do not provide a `transformFunction`** then you will get a simple simple pass-through stream.\n\n### flushFunction\n\nThe optional `flushFunction` is provided as the last argument (2nd or 3rd, depending on whether you\'ve supplied options) is called just prior to the stream ending. Can be used to finish up any processing that may be in progress.\n\n<b><code>through2.ctor([ options, ] transformFunction[, flushFunction ])</code></b>\n\nInstead of returning a `stream.Transform` instance, `through2.ctor()` returns a **constructor** for a custom Transform. This is useful when you want to use the same transform logic in multiple instances.\n\n```js\nvar FToC = through2.ctor({objectMode: true}, function (record, encoding, callback) {\n if (record.temp != null && record.unit = "F") {\n record.temp = ( ( record.temp - 32 ) * 5 ) / 9\n record.unit = "C"\n }\n this.push(record)\n callback()\n})\n\n// Create instances of FToC like so:\nvar converter = new FToC()\n// Or:\nvar converter = FToC()\n// Or specify/override options when you instantiate, if you prefer:\nvar converter = FToC({objectMode: true})\n```\n\n## See Also\n\n - [through2-map](https://github.com/brycebaril/through2-map) - Array.prototype.map analog for streams.\n - [through2-filter](https://github.com/brycebaril/through2-filter) - Array.prototype.filter analog for streams.\n - [through2-reduce](https://github.com/brycebaril/through2-reduce) - Array.prototype.reduce analog for streams.\n - [through2-spy](https://github.com/brycebaril/through2-spy) - Wrapper for simple stream.PassThrough spies.\n\n## License\n\n**through2** is Copyright (c) 2013 Rod Vagg [@rvagg](https://twitter.com/rvagg) and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.\n',
19234 silly resolved readmeFilename: 'README.md',
19234 silly resolved bugs: { url: 'https://github.com/rvagg/through2/issues' },
19234 silly resolved homepage: 'https://github.com/rvagg/through2',
19234 silly resolved _id: 'through2@0.4.2',
19234 silly resolved _shasum: 'dbf5866031151ec8352bb6c4db64a2292a840b9b',
19234 silly resolved _from: 'through2@^0.4.0',
19234 silly resolved _resolved: 'https://registry.npmjs.org/through2/-/through2-0.4.2.tgz' },
19234 silly resolved { name: 'nopt',
19234 silly resolved version: '2.2.1',
19234 silly resolved description: 'Option parsing for Node, supporting types, shorthands, etc. Used by npm.',
19234 silly resolved author:
19234 silly resolved { name: 'Isaac Z. Schlueter',
19234 silly resolved email: 'i@izs.me',
19234 silly resolved url: 'http://blog.izs.me/' },
19234 silly resolved main: 'lib/nopt.js',
19234 silly resolved scripts: { test: 'tap test/*.js' },
19234 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/nopt' },
19234 silly resolved bin: { nopt: './bin/nopt.js' },
19234 silly resolved license:
19234 silly resolved { type: 'MIT',
19234 silly resolved url: 'https://github.com/isaacs/nopt/raw/master/LICENSE' },
19234 silly resolved dependencies: { abbrev: '1' },
19234 silly resolved devDependencies: { tap: '~0.4.8' },
19234 silly resolved readme: 'If you want to write an option parser, and have it be good, there are\ntwo ways to do it. The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser. We\'ve all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don\'t write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system. You probably won\'t end up with a\ngood one of those, but if you don\'t give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n // my-program.js\n var nopt = require("nopt")\n , Stream = require("stream").Stream\n , path = require("path")\n , knownOpts = { "foo" : [String, null]\n , "bar" : [Stream, Number]\n , "baz" : path\n , "bloo" : [ "big", "medium", "small" ]\n , "flag" : Boolean\n , "pick" : Boolean\n , "many" : [String, Array]\n }\n , shortHands = { "foofoo" : ["--foo", "Mr. Foo"]\n , "b7" : ["--bar", "7"]\n , "m" : ["--bloo", "medium"]\n , "p" : ["--pick"]\n , "f" : ["--flag"]\n }\n // everything is optional.\n // knownOpts and shorthands default to {}\n // arg list defaults to process.argv\n // slice defaults to 2\n , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo "blerp" --no-flag\n{ "foo" : "blerp", "flag" : false }\n\n$ node my-program.js ---bar 7 --foo "Mr. Hand" --flag\n{ bar: 7, foo: "Mr. Hand", flag: true }\n\n$ node my-program.js --foo "blerp" -f -----p\n{ foo: "blerp", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: "Mr. Foo", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp # -- stops the flag parsing.\n{ foo: "Mr. Foo", argv: { remain: ["-fp"] } }\n\n$ node my-program.js --blatzk -fp # unknown opts are ok.\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --blatzk=1000 -fp # but you need to use = if they have a value\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with "no-"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: "/Users/isaacs/b/a/z" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array. The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: ["1", "null", "foo"] }\n\n$ node my-program.js --many foo\n{ many: ["foo"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string. No parsing is done.\n* path: A file system path. Gets resolved against cwd if not absolute.\n* url: A url. If it doesn\'t parse, it isn\'t accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`. If an option is a boolean,\n then it does not need a value, and its presence will imply `true` as\n the value. To negate boolean flags, do `--no-whatever` or `--whatever\n false`\n* NaN: Means that the option is strictly not allowed. Any value will\n fail.\n* Stream: An object matching the "Stream" class in node. Valuable\n for use when validating programmatically. (npm uses this to let you\n supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n will be parsed as a list of options. This means that multiple values\n can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values. For instance, in the example above, the\n`--bloo` option can only be one of `"big"`, `"medium"`, or `"small"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `"true"`, `"false"`, and `"null"` will be\ninterpreted as their JavaScript equivalents, and numeric values will be\ninterpreted as a number.\n\nYou can also mix types and values, or multiple types, in a list. For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null. When types are ordered, this implies a\npreference, and the first type that can be used to properly interpret\nthe value will be used.\n\nTo define a new type, add it to `nopt.typeDefs`. Each item in that\nhash is an object with a `type` member and a `validate` method. The\n`type` member is an object that matches what goes in the type list. The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`. Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found. You can change this behavior by assigning a method\nto `nopt.invalidHandler`. This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining. If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported. If you define options like this:\n\n```javascript\n{ "foolhardyelephants" : Boolean\n, "pileofmonkeys" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts. For example:\n\n```json\n{ "s" : ["--loglevel", "silent"]\n, "g" : "--global"\n, "f" : "--force"\n, "p" : "--parseable"\n, "l" : "--long"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat\'s usually not very useful to you. So they\'re sliced off by\ndefault. If you want them, then you can pass in `0` as the last\nargument, or any other number that you\'d like to slice off the start of\nthe list.\n',
19234 silly resolved readmeFilename: 'README.md',
19234 silly resolved bugs: { url: 'https://github.com/isaacs/nopt/issues' },
19234 silly resolved homepage: 'https://github.com/isaacs/nopt',
19234 silly resolved _id: 'nopt@2.2.1',
19234 silly resolved _shasum: '2aa09b7d1768487b3b89a9c5aa52335bff0baea7',
19234 silly resolved _from: 'nopt@^2.2.0',
19234 silly resolved _resolved: 'https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz' } ]
19235 info install mkdirp@0.3.5 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download
19236 info install request@2.36.0 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download
19237 info install get-stdin@0.1.0 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download
19238 info install get-urls@0.1.2 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download
19239 info install each-async@0.1.3 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download
19240 info install decompress@0.2.4 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download
19241 info install through2@0.4.2 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download
19242 info install nopt@2.2.1 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download
19243 info installOne mkdirp@0.3.5
19244 info installOne request@2.36.0
19245 info installOne get-stdin@0.1.0
19246 info installOne get-urls@0.1.2
19247 info installOne each-async@0.1.3
19248 info installOne decompress@0.2.4
19249 info installOne through2@0.4.2
19250 info installOne nopt@2.2.1
19251 silly lockFile e54a2f36-npm-deep-equal-0-2-1-package-tgz tar:///home/gary/.npm/deep-equal/0.2.1/package.tgz
19252 silly lockFile e54a2f36-npm-deep-equal-0-2-1-package-tgz tar:///home/gary/.npm/deep-equal/0.2.1/package.tgz
19253 verbose readDependencies using package.json deps
19254 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/request unbuild
19255 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/mkdirp unbuild
19256 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-stdin unbuild
19257 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-urls unbuild
19258 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/each-async unbuild
19259 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress unbuild
19260 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/through2 unbuild
19261 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt unbuild
19262 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/mkdirp unbuild
19263 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/request unbuild
19264 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-stdin unbuild
19265 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-urls unbuild
19266 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/each-async unbuild
19267 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/decompress unbuild
19268 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/through2 unbuild
19269 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/nopt unbuild
19270 silly gunzTarPerm extractEntry benches/stress/codec.js
19271 silly gunzTarPerm extractEntry benches/stress/pubsub/pub.js
19272 verbose readDependencies using package.json deps
19273 verbose readDependencies using package.json deps
19274 silly resolved []
19275 verbose about to build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf
19276 info build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf
19277 verbose linkStuff [ false,
19277 verbose linkStuff false,
19277 verbose linkStuff false,
19277 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
19278 info linkStuff rimraf@2.2.8
19279 verbose linkBins rimraf@2.2.8
19280 verbose link bins [ { rimraf: './bin.js' },
19280 verbose link bins '/home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/.bin',
19280 verbose link bins false ]
19281 verbose linkMans rimraf@2.2.8
19282 verbose rebuildBundles rimraf@2.2.8
19283 silly gunzTarPerm extractEntry util/fattr.js
19284 silly gunzTarPerm modified mode [ 'util/fattr.js', 438, 420 ]
19285 silly gunzTarPerm extractEntry util/index.js
19286 silly gunzTarPerm modified mode [ 'util/index.js', 438, 420 ]
19287 silly gunzTarPerm extractEntry lib/public/icons/page_white_freehand.png
19288 silly gunzTarPerm extractEntry lib/public/icons/page_white_gear.png
19289 verbose readDependencies using package.json deps
19290 verbose readDependencies using package.json deps
19291 verbose readDependencies using package.json deps
19292 verbose cache add [ 'wordwrap@~0.0.2', null ]
19293 verbose cache add name=undefined spec="wordwrap@~0.0.2" args=["wordwrap@~0.0.2",null]
19294 verbose parsed url { protocol: null,
19294 verbose parsed url slashes: null,
19294 verbose parsed url auth: null,
19294 verbose parsed url host: null,
19294 verbose parsed url port: null,
19294 verbose parsed url hostname: null,
19294 verbose parsed url hash: null,
19294 verbose parsed url search: null,
19294 verbose parsed url query: null,
19294 verbose parsed url pathname: 'wordwrap@~0.0.2',
19294 verbose parsed url path: 'wordwrap@~0.0.2',
19294 verbose parsed url href: 'wordwrap@~0.0.2' }
19295 verbose cache add name="wordwrap" spec="~0.0.2" args=["wordwrap","~0.0.2"]
19296 verbose parsed url { protocol: null,
19296 verbose parsed url slashes: null,
19296 verbose parsed url auth: null,
19296 verbose parsed url host: null,
19296 verbose parsed url port: null,
19296 verbose parsed url hostname: null,
19296 verbose parsed url hash: null,
19296 verbose parsed url search: null,
19296 verbose parsed url query: null,
19296 verbose parsed url pathname: '~0.0.2',
19296 verbose parsed url path: '~0.0.2',
19296 verbose parsed url href: '~0.0.2' }
19297 verbose addNamed [ 'wordwrap', '~0.0.2' ]
19298 verbose addNamed [ null, '>=0.0.2-0 <0.1.0-0' ]
19299 silly lockFile 8bd42136-wordwrap-0-0-2 wordwrap@~0.0.2
19300 verbose lock wordwrap@~0.0.2 /home/gary/.npm/8bd42136-wordwrap-0-0-2.lock
19301 verbose cache add [ 'minimist@~0.0.1', null ]
19302 verbose cache add name=undefined spec="minimist@~0.0.1" args=["minimist@~0.0.1",null]
19303 verbose parsed url { protocol: null,
19303 verbose parsed url slashes: null,
19303 verbose parsed url auth: null,
19303 verbose parsed url host: null,
19303 verbose parsed url port: null,
19303 verbose parsed url hostname: null,
19303 verbose parsed url hash: null,
19303 verbose parsed url search: null,
19303 verbose parsed url query: null,
19303 verbose parsed url pathname: 'minimist@~0.0.1',
19303 verbose parsed url path: 'minimist@~0.0.1',
19303 verbose parsed url href: 'minimist@~0.0.1' }
19304 verbose cache add name="minimist" spec="~0.0.1" args=["minimist","~0.0.1"]
19305 verbose parsed url { protocol: null,
19305 verbose parsed url slashes: null,
19305 verbose parsed url auth: null,
19305 verbose parsed url host: null,
19305 verbose parsed url port: null,
19305 verbose parsed url hostname: null,
19305 verbose parsed url hash: null,
19305 verbose parsed url search: null,
19305 verbose parsed url query: null,
19305 verbose parsed url pathname: '~0.0.1',
19305 verbose parsed url path: '~0.0.1',
19305 verbose parsed url href: '~0.0.1' }
19306 verbose addNamed [ 'minimist', '~0.0.1' ]
19307 verbose addNamed [ null, '>=0.0.1-0 <0.1.0-0' ]
19308 silly lockFile 7a855a96-minimist-0-0-1 minimist@~0.0.1
19309 verbose lock minimist@~0.0.1 /home/gary/.npm/7a855a96-minimist-0-0-1.lock
19310 verbose tar unpack /home/gary/.npm/request/2.36.0/package.tgz
19311 silly lockFile 2d4ac66c-es-download-node-modules-request tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/request
19312 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/request /home/gary/.npm/2d4ac66c-es-download-node-modules-request.lock
19313 silly lockFile f01eab1b-y-npm-request-2-36-0-package-tgz tar:///home/gary/.npm/request/2.36.0/package.tgz
19314 verbose lock tar:///home/gary/.npm/request/2.36.0/package.tgz /home/gary/.npm/f01eab1b-y-npm-request-2-36-0-package-tgz.lock
19315 verbose tar unpack /home/gary/.npm/mkdirp/0.3.5/package.tgz
19316 silly lockFile f42df301-les-download-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/mkdirp
19317 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/mkdirp /home/gary/.npm/f42df301-les-download-node-modules-mkdirp.lock
19318 silly lockFile 2417206b-ary-npm-mkdirp-0-3-5-package-tgz tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz
19319 verbose lock tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz /home/gary/.npm/2417206b-ary-npm-mkdirp-0-3-5-package-tgz.lock
19320 verbose tar unpack /home/gary/.npm/get-stdin/0.1.0/package.tgz
19321 silly lockFile 502905cc--download-node-modules-get-stdin tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-stdin
19322 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-stdin /home/gary/.npm/502905cc--download-node-modules-get-stdin.lock
19323 silly lockFile 8963fd4a--npm-get-stdin-0-1-0-package-tgz tar:///home/gary/.npm/get-stdin/0.1.0/package.tgz
19324 verbose lock tar:///home/gary/.npm/get-stdin/0.1.0/package.tgz /home/gary/.npm/8963fd4a--npm-get-stdin-0-1-0-package-tgz.lock
19325 verbose tar unpack /home/gary/.npm/get-urls/0.1.2/package.tgz
19326 silly lockFile b5b8ba05-s-download-node-modules-get-urls tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-urls
19327 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-urls /home/gary/.npm/b5b8ba05-s-download-node-modules-get-urls.lock
19328 silly lockFile d0411d5e-y-npm-get-urls-0-1-2-package-tgz tar:///home/gary/.npm/get-urls/0.1.2/package.tgz
19329 verbose lock tar:///home/gary/.npm/get-urls/0.1.2/package.tgz /home/gary/.npm/d0411d5e-y-npm-get-urls-0-1-2-package-tgz.lock
19330 verbose tar unpack /home/gary/.npm/each-async/0.1.3/package.tgz
19331 silly lockFile d8773f30-download-node-modules-each-async tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/each-async
19332 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/each-async /home/gary/.npm/d8773f30-download-node-modules-each-async.lock
19333 silly lockFile d798f2d3-npm-each-async-0-1-3-package-tgz tar:///home/gary/.npm/each-async/0.1.3/package.tgz
19334 verbose lock tar:///home/gary/.npm/each-async/0.1.3/package.tgz /home/gary/.npm/d798f2d3-npm-each-async-0-1-3-package-tgz.lock
19335 verbose tar unpack /home/gary/.npm/decompress/0.2.4/package.tgz
19336 silly lockFile c02ed785-download-node-modules-decompress tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress
19337 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress /home/gary/.npm/c02ed785-download-node-modules-decompress.lock
19338 silly lockFile 2c12f252-npm-decompress-0-2-4-package-tgz tar:///home/gary/.npm/decompress/0.2.4/package.tgz
19339 verbose lock tar:///home/gary/.npm/decompress/0.2.4/package.tgz /home/gary/.npm/2c12f252-npm-decompress-0-2-4-package-tgz.lock
19340 verbose tar unpack /home/gary/.npm/through2/0.4.2/package.tgz
19341 silly lockFile 8b7a1f13-s-download-node-modules-through2 tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/through2
19342 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/through2 /home/gary/.npm/8b7a1f13-s-download-node-modules-through2.lock
19343 silly lockFile df1a7598-y-npm-through2-0-4-2-package-tgz tar:///home/gary/.npm/through2/0.4.2/package.tgz
19344 verbose lock tar:///home/gary/.npm/through2/0.4.2/package.tgz /home/gary/.npm/df1a7598-y-npm-through2-0-4-2-package-tgz.lock
19345 verbose tar unpack /home/gary/.npm/nopt/2.2.1/package.tgz
19346 silly lockFile e9fe6097-dules-download-node-modules-nopt tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt
19347 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt /home/gary/.npm/e9fe6097-dules-download-node-modules-nopt.lock
19348 silly lockFile 4335b091--gary-npm-nopt-2-2-1-package-tgz tar:///home/gary/.npm/nopt/2.2.1/package.tgz
19349 verbose lock tar:///home/gary/.npm/nopt/2.2.1/package.tgz /home/gary/.npm/4335b091--gary-npm-nopt-2-2-1-package-tgz.lock
19350 verbose tar unpack /home/gary/.npm/mkdirp/0.3.5/package.tgz
19351 silly lockFile 3ddf2320-les-download-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/mkdirp
19352 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/mkdirp /home/gary/.npm/3ddf2320-les-download-node-modules-mkdirp.lock
19353 silly lockFile 2417206b-ary-npm-mkdirp-0-3-5-package-tgz tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz
19354 verbose lock tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz /home/gary/.npm/2417206b-ary-npm-mkdirp-0-3-5-package-tgz.lock
19355 verbose tar unpack /home/gary/.npm/request/2.36.0/package.tgz
19356 silly lockFile 6b2558eb-es-download-node-modules-request tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/request
19357 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/request /home/gary/.npm/6b2558eb-es-download-node-modules-request.lock
19358 silly lockFile f01eab1b-y-npm-request-2-36-0-package-tgz tar:///home/gary/.npm/request/2.36.0/package.tgz
19359 verbose lock tar:///home/gary/.npm/request/2.36.0/package.tgz /home/gary/.npm/f01eab1b-y-npm-request-2-36-0-package-tgz.lock
19360 verbose tar unpack /home/gary/.npm/get-stdin/0.1.0/package.tgz
19361 silly lockFile 4195d074--download-node-modules-get-stdin tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-stdin
19362 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-stdin /home/gary/.npm/4195d074--download-node-modules-get-stdin.lock
19363 silly lockFile 8963fd4a--npm-get-stdin-0-1-0-package-tgz tar:///home/gary/.npm/get-stdin/0.1.0/package.tgz
19364 verbose lock tar:///home/gary/.npm/get-stdin/0.1.0/package.tgz /home/gary/.npm/8963fd4a--npm-get-stdin-0-1-0-package-tgz.lock
19365 verbose tar unpack /home/gary/.npm/get-urls/0.1.2/package.tgz
19366 silly lockFile dda425f0-s-download-node-modules-get-urls tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-urls
19367 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-urls /home/gary/.npm/dda425f0-s-download-node-modules-get-urls.lock
19368 silly lockFile d0411d5e-y-npm-get-urls-0-1-2-package-tgz tar:///home/gary/.npm/get-urls/0.1.2/package.tgz
19369 verbose lock tar:///home/gary/.npm/get-urls/0.1.2/package.tgz /home/gary/.npm/d0411d5e-y-npm-get-urls-0-1-2-package-tgz.lock
19370 verbose tar unpack /home/gary/.npm/each-async/0.1.3/package.tgz
19371 silly lockFile d6277f9f-download-node-modules-each-async tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/each-async
19372 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/each-async /home/gary/.npm/d6277f9f-download-node-modules-each-async.lock
19373 silly lockFile d798f2d3-npm-each-async-0-1-3-package-tgz tar:///home/gary/.npm/each-async/0.1.3/package.tgz
19374 verbose lock tar:///home/gary/.npm/each-async/0.1.3/package.tgz /home/gary/.npm/d798f2d3-npm-each-async-0-1-3-package-tgz.lock
19375 verbose tar unpack /home/gary/.npm/decompress/0.2.4/package.tgz
19376 silly lockFile 68473f26-download-node-modules-decompress tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/decompress
19377 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/decompress /home/gary/.npm/68473f26-download-node-modules-decompress.lock
19378 silly lockFile 2c12f252-npm-decompress-0-2-4-package-tgz tar:///home/gary/.npm/decompress/0.2.4/package.tgz
19379 verbose lock tar:///home/gary/.npm/decompress/0.2.4/package.tgz /home/gary/.npm/2c12f252-npm-decompress-0-2-4-package-tgz.lock
19380 verbose tar unpack /home/gary/.npm/through2/0.4.2/package.tgz
19381 silly lockFile 1dc0fee9-s-download-node-modules-through2 tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/through2
19382 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/through2 /home/gary/.npm/1dc0fee9-s-download-node-modules-through2.lock
19383 silly lockFile df1a7598-y-npm-through2-0-4-2-package-tgz tar:///home/gary/.npm/through2/0.4.2/package.tgz
19384 verbose lock tar:///home/gary/.npm/through2/0.4.2/package.tgz /home/gary/.npm/df1a7598-y-npm-through2-0-4-2-package-tgz.lock
19385 verbose tar unpack /home/gary/.npm/nopt/2.2.1/package.tgz
19386 silly lockFile ae76f64b-dules-download-node-modules-nopt tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/nopt
19387 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/nopt /home/gary/.npm/ae76f64b-dules-download-node-modules-nopt.lock
19388 silly lockFile 4335b091--gary-npm-nopt-2-2-1-package-tgz tar:///home/gary/.npm/nopt/2.2.1/package.tgz
19389 verbose lock tar:///home/gary/.npm/nopt/2.2.1/package.tgz /home/gary/.npm/4335b091--gary-npm-nopt-2-2-1-package-tgz.lock
19390 silly gunzTarPerm extractEntry vendor/sinon/test/rhino/run.js
19391 silly resolved [ { name: 'sequence',
19391 silly resolved version: '2.2.1',
19391 silly resolved description: 'The sequence module of FuturesJS (Ender.JS and Node.JS)',
19391 silly resolved homepage: 'https://github.com/coolaj86/futures',
19391 silly resolved keywords:
19391 silly resolved [ 'flow-control',
19391 silly resolved 'async',
19391 silly resolved 'asynchronous',
19391 silly resolved 'futures',
19391 silly resolved 'sequence',
19391 silly resolved 'chain',
19391 silly resolved 'step',
19391 silly resolved 'util',
19391 silly resolved 'browser' ],
19391 silly resolved repository: { type: 'git', url: 'git://github.com/coolaj86/futures.git' },
19391 silly resolved author:
19391 silly resolved { name: 'AJ ONeal',
19391 silly resolved email: 'coolaj86@gmail.com',
19391 silly resolved url: 'http://coolaj86.info' },
19391 silly resolved main: 'sequence.js',
19391 silly resolved directories: { lib: '.' },
19391 silly resolved dependencies: {},
19391 silly resolved engines: { node: '*', ender: '>= 0.5.0' },
19391 silly resolved readme: 'sequence()\n----\n\nCreates an Asynchronous Stack which execute each enqueued method after the previous function calls the provided `next(err, data [, ...])`.\n\n**Core**\n\n * `Futures.sequence(globalContext=null)`\n * `then(next, err, data [, ...])` - add a method onto the queue\n * begins or resumes the queue\n * passes the results of the previous function into the next\n\n**Example:**\n\n var sequence = Futures.sequence(),\n err;\n\n sequence\n .then(function (next) {\n setTimeout(function () {\n next(err, "Hi", "World!");\n }, 120);\n })\n .then(function (next, err, a, b) {\n setTimeout(function () {\n next(err, "Hello", b);\n }, 270);\n })\n .then(function (next, err, a, b) {\n setTimeout(function () {\n console.log(a, b);\n next();\n }, 50);\n });\n\n',
19391 silly resolved readmeFilename: 'README.md',
19391 silly resolved bugs: { url: 'https://github.com/coolaj86/futures/issues' },
19391 silly resolved _id: 'sequence@2.2.1',
19391 silly resolved _shasum: '7f5617895d44351c0a047e764467690490a16b03',
19391 silly resolved _from: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz',
19391 silly resolved _resolved: 'https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz' } ]
19392 info install sequence@2.2.1 into /home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync
19393 info installOne sequence@2.2.1
19394 info preinstall deep-equal@0.2.1
19395 silly gunzTarPerm extractEntry test/xmlns-xml-default-prefix-attribute.js
19396 silly gunzTarPerm extractEntry test/buffer-overrun.js
19397 verbose cache add [ 'cookiejar@1.3.0', null ]
19398 verbose cache add name=undefined spec="cookiejar@1.3.0" args=["cookiejar@1.3.0",null]
19399 verbose parsed url { protocol: null,
19399 verbose parsed url slashes: null,
19399 verbose parsed url auth: null,
19399 verbose parsed url host: null,
19399 verbose parsed url port: null,
19399 verbose parsed url hostname: null,
19399 verbose parsed url hash: null,
19399 verbose parsed url search: null,
19399 verbose parsed url query: null,
19399 verbose parsed url pathname: 'cookiejar@1.3.0',
19399 verbose parsed url path: 'cookiejar@1.3.0',
19399 verbose parsed url href: 'cookiejar@1.3.0' }
19400 verbose cache add name="cookiejar" spec="1.3.0" args=["cookiejar","1.3.0"]
19401 verbose parsed url { protocol: null,
19401 verbose parsed url slashes: null,
19401 verbose parsed url auth: null,
19401 verbose parsed url host: null,
19401 verbose parsed url port: null,
19401 verbose parsed url hostname: null,
19401 verbose parsed url hash: null,
19401 verbose parsed url search: null,
19401 verbose parsed url query: null,
19401 verbose parsed url pathname: '1.3.0',
19401 verbose parsed url path: '1.3.0',
19401 verbose parsed url href: '1.3.0' }
19402 verbose addNamed [ 'cookiejar', '1.3.0' ]
19403 verbose addNamed [ '1.3.0', '1.3.0' ]
19404 silly lockFile 193262bd-cookiejar-1-3-0 cookiejar@1.3.0
19405 verbose lock cookiejar@1.3.0 /home/gary/.npm/193262bd-cookiejar-1-3-0.lock
19406 verbose cache add [ 'qs@0.6.5', null ]
19407 verbose cache add name=undefined spec="qs@0.6.5" args=["qs@0.6.5",null]
19408 verbose parsed url { protocol: null,
19408 verbose parsed url slashes: null,
19408 verbose parsed url auth: null,
19408 verbose parsed url host: null,
19408 verbose parsed url port: null,
19408 verbose parsed url hostname: null,
19408 verbose parsed url hash: null,
19408 verbose parsed url search: null,
19408 verbose parsed url query: null,
19408 verbose parsed url pathname: 'qs@0.6.5',
19408 verbose parsed url path: 'qs@0.6.5',
19408 verbose parsed url href: 'qs@0.6.5' }
19409 verbose cache add name="qs" spec="0.6.5" args=["qs","0.6.5"]
19410 verbose parsed url { protocol: null,
19410 verbose parsed url slashes: null,
19410 verbose parsed url auth: null,
19410 verbose parsed url host: null,
19410 verbose parsed url port: null,
19410 verbose parsed url hostname: null,
19410 verbose parsed url hash: null,
19410 verbose parsed url search: null,
19410 verbose parsed url query: null,
19410 verbose parsed url pathname: '0.6.5',
19410 verbose parsed url path: '0.6.5',
19410 verbose parsed url href: '0.6.5' }
19411 verbose addNamed [ 'qs', '0.6.5' ]
19412 verbose addNamed [ '0.6.5', '0.6.5' ]
19413 silly lockFile f5e5a40f-qs-0-6-5 qs@0.6.5
19414 verbose lock qs@0.6.5 /home/gary/.npm/f5e5a40f-qs-0-6-5.lock
19415 verbose cache add [ 'formidable@1.0.14', null ]
19416 verbose cache add name=undefined spec="formidable@1.0.14" args=["formidable@1.0.14",null]
19417 verbose parsed url { protocol: null,
19417 verbose parsed url slashes: null,
19417 verbose parsed url auth: null,
19417 verbose parsed url host: null,
19417 verbose parsed url port: null,
19417 verbose parsed url hostname: null,
19417 verbose parsed url hash: null,
19417 verbose parsed url search: null,
19417 verbose parsed url query: null,
19417 verbose parsed url pathname: 'formidable@1.0.14',
19417 verbose parsed url path: 'formidable@1.0.14',
19417 verbose parsed url href: 'formidable@1.0.14' }
19418 verbose cache add name="formidable" spec="1.0.14" args=["formidable","1.0.14"]
19419 verbose parsed url { protocol: null,
19419 verbose parsed url slashes: null,
19419 verbose parsed url auth: null,
19419 verbose parsed url host: null,
19419 verbose parsed url port: null,
19419 verbose parsed url hostname: null,
19419 verbose parsed url hash: null,
19419 verbose parsed url search: null,
19419 verbose parsed url query: null,
19419 verbose parsed url pathname: '1.0.14',
19419 verbose parsed url path: '1.0.14',
19419 verbose parsed url href: '1.0.14' }
19420 verbose addNamed [ 'formidable', '1.0.14' ]
19421 verbose addNamed [ '1.0.14', '1.0.14' ]
19422 silly lockFile 3f08b74a-formidable-1-0-14 formidable@1.0.14
19423 verbose lock formidable@1.0.14 /home/gary/.npm/3f08b74a-formidable-1-0-14.lock
19424 verbose cache add [ 'debug@~0.7.2', null ]
19425 verbose cache add name=undefined spec="debug@~0.7.2" args=["debug@~0.7.2",null]
19426 verbose parsed url { protocol: null,
19426 verbose parsed url slashes: null,
19426 verbose parsed url auth: null,
19426 verbose parsed url host: null,
19426 verbose parsed url port: null,
19426 verbose parsed url hostname: null,
19426 verbose parsed url hash: null,
19426 verbose parsed url search: null,
19426 verbose parsed url query: null,
19426 verbose parsed url pathname: 'debug@~0.7.2',
19426 verbose parsed url path: 'debug@~0.7.2',
19426 verbose parsed url href: 'debug@~0.7.2' }
19427 verbose cache add name="debug" spec="~0.7.2" args=["debug","~0.7.2"]
19428 verbose parsed url { protocol: null,
19428 verbose parsed url slashes: null,
19428 verbose parsed url auth: null,
19428 verbose parsed url host: null,
19428 verbose parsed url port: null,
19428 verbose parsed url hostname: null,
19428 verbose parsed url hash: null,
19428 verbose parsed url search: null,
19428 verbose parsed url query: null,
19428 verbose parsed url pathname: '~0.7.2',
19428 verbose parsed url path: '~0.7.2',
19428 verbose parsed url href: '~0.7.2' }
19429 verbose addNamed [ 'debug', '~0.7.2' ]
19430 verbose addNamed [ null, '>=0.7.2-0 <0.8.0-0' ]
19431 silly lockFile d0156cbb-debug-0-7-2 debug@~0.7.2
19432 verbose lock debug@~0.7.2 /home/gary/.npm/d0156cbb-debug-0-7-2.lock
19433 verbose cache add [ 'mime@1.2.5', null ]
19434 verbose cache add name=undefined spec="mime@1.2.5" args=["mime@1.2.5",null]
19435 verbose parsed url { protocol: null,
19435 verbose parsed url slashes: null,
19435 verbose parsed url auth: null,
19435 verbose parsed url host: null,
19435 verbose parsed url port: null,
19435 verbose parsed url hostname: null,
19435 verbose parsed url hash: null,
19435 verbose parsed url search: null,
19435 verbose parsed url query: null,
19435 verbose parsed url pathname: 'mime@1.2.5',
19435 verbose parsed url path: 'mime@1.2.5',
19435 verbose parsed url href: 'mime@1.2.5' }
19436 verbose cache add name="mime" spec="1.2.5" args=["mime","1.2.5"]
19437 verbose parsed url { protocol: null,
19437 verbose parsed url slashes: null,
19437 verbose parsed url auth: null,
19437 verbose parsed url host: null,
19437 verbose parsed url port: null,
19437 verbose parsed url hostname: null,
19437 verbose parsed url hash: null,
19437 verbose parsed url search: null,
19437 verbose parsed url query: null,
19437 verbose parsed url pathname: '1.2.5',
19437 verbose parsed url path: '1.2.5',
19437 verbose parsed url href: '1.2.5' }
19438 verbose addNamed [ 'mime', '1.2.5' ]
19439 verbose addNamed [ '1.2.5', '1.2.5' ]
19440 silly lockFile d81daa29-mime-1-2-5 mime@1.2.5
19441 verbose lock mime@1.2.5 /home/gary/.npm/d81daa29-mime-1-2-5.lock
19442 verbose cache add [ 'emitter-component@1.0.0', null ]
19443 verbose cache add name=undefined spec="emitter-component@1.0.0" args=["emitter-component@1.0.0",null]
19444 verbose parsed url { protocol: null,
19444 verbose parsed url slashes: null,
19444 verbose parsed url auth: null,
19444 verbose parsed url host: null,
19444 verbose parsed url port: null,
19444 verbose parsed url hostname: null,
19444 verbose parsed url hash: null,
19444 verbose parsed url search: null,
19444 verbose parsed url query: null,
19444 verbose parsed url pathname: 'emitter-component@1.0.0',
19444 verbose parsed url path: 'emitter-component@1.0.0',
19444 verbose parsed url href: 'emitter-component@1.0.0' }
19445 verbose cache add name="emitter-component" spec="1.0.0" args=["emitter-component","1.0.0"]
19446 verbose parsed url { protocol: null,
19446 verbose parsed url slashes: null,
19446 verbose parsed url auth: null,
19446 verbose parsed url host: null,
19446 verbose parsed url port: null,
19446 verbose parsed url hostname: null,
19446 verbose parsed url hash: null,
19446 verbose parsed url search: null,
19446 verbose parsed url query: null,
19446 verbose parsed url pathname: '1.0.0',
19446 verbose parsed url path: '1.0.0',
19446 verbose parsed url href: '1.0.0' }
19447 verbose addNamed [ 'emitter-component', '1.0.0' ]
19448 verbose addNamed [ '1.0.0', '1.0.0' ]
19449 silly lockFile 07597ef1-emitter-component-1-0-0 emitter-component@1.0.0
19450 verbose lock emitter-component@1.0.0 /home/gary/.npm/07597ef1-emitter-component-1-0-0.lock
19451 verbose cache add [ 'reduce-component@1.0.1', null ]
19452 verbose cache add name=undefined spec="reduce-component@1.0.1" args=["reduce-component@1.0.1",null]
19453 verbose parsed url { protocol: null,
19453 verbose parsed url slashes: null,
19453 verbose parsed url auth: null,
19453 verbose parsed url host: null,
19453 verbose parsed url port: null,
19453 verbose parsed url hostname: null,
19453 verbose parsed url hash: null,
19453 verbose parsed url search: null,
19453 verbose parsed url query: null,
19453 verbose parsed url pathname: 'reduce-component@1.0.1',
19453 verbose parsed url path: 'reduce-component@1.0.1',
19453 verbose parsed url href: 'reduce-component@1.0.1' }
19454 verbose cache add name="reduce-component" spec="1.0.1" args=["reduce-component","1.0.1"]
19455 verbose parsed url { protocol: null,
19455 verbose parsed url slashes: null,
19455 verbose parsed url auth: null,
19455 verbose parsed url host: null,
19455 verbose parsed url port: null,
19455 verbose parsed url hostname: null,
19455 verbose parsed url hash: null,
19455 verbose parsed url search: null,
19455 verbose parsed url query: null,
19455 verbose parsed url pathname: '1.0.1',
19455 verbose parsed url path: '1.0.1',
19455 verbose parsed url href: '1.0.1' }
19456 verbose addNamed [ 'reduce-component', '1.0.1' ]
19457 verbose addNamed [ '1.0.1', '1.0.1' ]
19458 silly lockFile 88b0e907-reduce-component-1-0-1 reduce-component@1.0.1
19459 verbose lock reduce-component@1.0.1 /home/gary/.npm/88b0e907-reduce-component-1-0-1.lock
19460 verbose cache add [ 'methods@0.0.1', null ]
19461 verbose cache add name=undefined spec="methods@0.0.1" args=["methods@0.0.1",null]
19462 verbose parsed url { protocol: null,
19462 verbose parsed url slashes: null,
19462 verbose parsed url auth: null,
19462 verbose parsed url host: null,
19462 verbose parsed url port: null,
19462 verbose parsed url hostname: null,
19462 verbose parsed url hash: null,
19462 verbose parsed url search: null,
19462 verbose parsed url query: null,
19462 verbose parsed url pathname: 'methods@0.0.1',
19462 verbose parsed url path: 'methods@0.0.1',
19462 verbose parsed url href: 'methods@0.0.1' }
19463 verbose cache add name="methods" spec="0.0.1" args=["methods","0.0.1"]
19464 verbose parsed url { protocol: null,
19464 verbose parsed url slashes: null,
19464 verbose parsed url auth: null,
19464 verbose parsed url host: null,
19464 verbose parsed url port: null,
19464 verbose parsed url hostname: null,
19464 verbose parsed url hash: null,
19464 verbose parsed url search: null,
19464 verbose parsed url query: null,
19464 verbose parsed url pathname: '0.0.1',
19464 verbose parsed url path: '0.0.1',
19464 verbose parsed url href: '0.0.1' }
19465 verbose addNamed [ 'methods', '0.0.1' ]
19466 verbose addNamed [ '0.0.1', '0.0.1' ]
19467 silly lockFile 209c2920-methods-0-0-1 methods@0.0.1
19468 verbose lock methods@0.0.1 /home/gary/.npm/209c2920-methods-0-0-1.lock
19469 silly gunzTarPerm extractEntry math/round.js
19470 silly gunzTarPerm extractEntry math/isNear.js
19471 silly gunzTarPerm extractEntry test/other/data-complete-copy/subdir/x.css
19472 silly gunzTarPerm extractEntry test/other/data/baz.js
19473 silly addNameRange { name: 'wordwrap', range: '>=0.0.2-0 <0.1.0-0', hasData: false }
19474 silly addNameRange { name: 'minimist', range: '>=0.0.1-0 <0.1.0-0', hasData: false }
19475 verbose url raw wordwrap
19476 verbose url resolving [ 'https://registry.npmjs.org/', './wordwrap' ]
19477 verbose url resolved https://registry.npmjs.org/wordwrap
19478 info trying registry request attempt 1 at 14:03:24
19479 http GET https://registry.npmjs.org/wordwrap
19480 silly addNameRange { name: 'debug', range: '>=0.7.2-0 <0.8.0-0', hasData: false }
19481 verbose url raw minimist
19482 verbose url resolving [ 'https://registry.npmjs.org/', './minimist' ]
19483 verbose url resolved https://registry.npmjs.org/minimist
19484 info trying registry request attempt 1 at 14:03:24
19485 http GET https://registry.npmjs.org/minimist
19486 silly gunzTarPerm modes [ '755', '644' ]
19487 silly gunzTarPerm modes [ '755', '644' ]
19488 silly gunzTarPerm modes [ '755', '644' ]
19489 silly gunzTarPerm modes [ '755', '644' ]
19490 silly gunzTarPerm modes [ '755', '644' ]
19491 silly gunzTarPerm modes [ '755', '644' ]
19492 silly gunzTarPerm extractEntry lib/coffee-script/helpers.js
19493 silly gunzTarPerm extractEntry lib/coffee-script/index.js
19494 verbose readDependencies using package.json deps
19495 verbose url raw cookiejar
19496 verbose url resolving [ 'https://registry.npmjs.org/', './cookiejar' ]
19497 verbose url resolved https://registry.npmjs.org/cookiejar
19498 info trying registry request attempt 1 at 14:03:24
19499 http GET https://registry.npmjs.org/cookiejar
19500 verbose url raw qs
19501 verbose url resolving [ 'https://registry.npmjs.org/', './qs' ]
19502 verbose url resolved https://registry.npmjs.org/qs
19503 info trying registry request attempt 1 at 14:03:24
19504 http GET https://registry.npmjs.org/qs
19505 verbose url raw formidable
19506 verbose url resolving [ 'https://registry.npmjs.org/', './formidable' ]
19507 verbose url resolved https://registry.npmjs.org/formidable
19508 info trying registry request attempt 1 at 14:03:24
19509 http GET https://registry.npmjs.org/formidable
19510 verbose url raw emitter-component
19511 verbose url resolving [ 'https://registry.npmjs.org/', './emitter-component' ]
19512 verbose url resolved https://registry.npmjs.org/emitter-component
19513 info trying registry request attempt 1 at 14:03:24
19514 http GET https://registry.npmjs.org/emitter-component
19515 verbose url raw reduce-component
19516 verbose url resolving [ 'https://registry.npmjs.org/', './reduce-component' ]
19517 verbose url resolved https://registry.npmjs.org/reduce-component
19518 info trying registry request attempt 1 at 14:03:24
19519 http GET https://registry.npmjs.org/reduce-component
19520 verbose readDependencies using package.json deps
19521 silly resolved []
19522 verbose about to build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/deep-equal
19523 info build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/deep-equal
19524 verbose linkStuff [ false,
19524 verbose linkStuff false,
19524 verbose linkStuff false,
19524 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules' ]
19525 info linkStuff deep-equal@0.2.1
19526 verbose linkBins deep-equal@0.2.1
19527 verbose linkMans deep-equal@0.2.1
19528 verbose rebuildBundles deep-equal@0.2.1
19529 info install rimraf@2.2.8
19530 info install deep-equal@0.2.1
19531 silly gunzTarPerm modes [ '755', '644' ]
19532 info /home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync/node_modules/sequence unbuild
19533 info postinstall rimraf@2.2.8
19534 silly gunzTarPerm extractEntry util/utils.js
19535 silly gunzTarPerm modified mode [ 'util/utils.js', 438, 420 ]
19536 silly gunzTarPerm extractEntry headers/dataHeader.js
19537 silly gunzTarPerm modified mode [ 'headers/dataHeader.js', 438, 420 ]
19538 silly gunzTarPerm extractEntry benches/stress/pubsub/server.js
19539 silly gunzTarPerm extractEntry benches/stress/pubsub/run
19540 silly gunzTarPerm extractEntry lib/public/icons/page_white_get.png
19541 silly gunzTarPerm extractEntry lib/public/icons/page_white_go.png
19542 info postinstall deep-equal@0.2.1
19543 verbose registry.get mime not expired, no request
19544 verbose registry.get debug not expired, no request
19545 silly addNameRange number 2 { name: 'debug', range: '>=0.7.2-0 <0.8.0-0', hasData: true }
19546 silly addNameRange versions [ 'debug',
19546 silly addNameRange [ '0.0.1',
19546 silly addNameRange '0.1.0',
19546 silly addNameRange '0.2.0',
19546 silly addNameRange '0.3.0',
19546 silly addNameRange '0.4.0',
19546 silly addNameRange '0.4.1',
19546 silly addNameRange '0.5.0',
19546 silly addNameRange '0.6.0',
19546 silly addNameRange '0.7.0',
19546 silly addNameRange '0.7.1',
19546 silly addNameRange '0.7.2',
19546 silly addNameRange '0.7.3',
19546 silly addNameRange '0.7.4',
19546 silly addNameRange '0.8.0',
19546 silly addNameRange '0.8.1',
19546 silly addNameRange '1.0.0' ] ]
19547 verbose addNamed [ 'debug', '0.7.4' ]
19548 verbose addNamed [ '0.7.4', '0.7.4' ]
19549 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
19550 verbose lock debug@0.7.4 /home/gary/.npm/16160008-debug-0-7-4.lock
19551 verbose registry.get methods not expired, no request
19552 silly gunzTarPerm extractEntry package.json
19553 silly lockFile 2d52c0b7-ry-npmjs-org-mime-mime-1-2-5-tgz https://registry.npmjs.org/mime/-/mime-1.2.5.tgz
19554 verbose lock https://registry.npmjs.org/mime/-/mime-1.2.5.tgz /home/gary/.npm/2d52c0b7-ry-npmjs-org-mime-mime-1-2-5-tgz.lock
19555 silly lockFile 0b9c0212-js-org-methods-methods-0-0-1-tgz https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
19556 verbose lock https://registry.npmjs.org/methods/-/methods-0.0.1.tgz /home/gary/.npm/0b9c0212-js-org-methods-methods-0-0-1-tgz.lock
19557 silly gunzTarPerm extractEntry package.json
19558 silly gunzTarPerm extractEntry package.json
19559 silly gunzTarPerm extractEntry package.json
19560 silly gunzTarPerm extractEntry package.json
19561 silly gunzTarPerm extractEntry package.json
19562 verbose tar unpack /home/gary/.npm/sequence/2.2.1/package.tgz
19563 silly lockFile f86c5a17-rEachAsync-node-modules-sequence tar:///home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync/node_modules/sequence
19564 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync/node_modules/sequence /home/gary/.npm/f86c5a17-rEachAsync-node-modules-sequence.lock
19565 silly lockFile eab13e91-y-npm-sequence-2-2-1-package-tgz tar:///home/gary/.npm/sequence/2.2.1/package.tgz
19566 verbose lock tar:///home/gary/.npm/sequence/2.2.1/package.tgz /home/gary/.npm/eab13e91-y-npm-sequence-2-2-1-package-tgz.lock
19567 silly gunzTarPerm extractEntry .travis.yml
19568 silly gunzTarPerm extractEntry number/MAX_INT.js
19569 silly gunzTarPerm extractEntry test/xmlns-xml-default-prefix.js
19570 silly gunzTarPerm extractEntry test/attribute-no-space.js
19571 verbose addRemoteTarball [ 'https://registry.npmjs.org/mime/-/mime-1.2.5.tgz',
19571 verbose addRemoteTarball '9eed073022a8bf5e16c8566c6867b8832bfbfa13' ]
19572 silly lockFile e18a217e--npmjs-org-debug-debug-0-7-4-tgz https://registry.npmjs.org/debug/-/debug-0.7.4.tgz
19573 verbose lock https://registry.npmjs.org/debug/-/debug-0.7.4.tgz /home/gary/.npm/e18a217e--npmjs-org-debug-debug-0-7-4-tgz.lock
19574 verbose addRemoteTarball [ 'https://registry.npmjs.org/methods/-/methods-0.0.1.tgz',
19574 verbose addRemoteTarball '277c90f8bef39709645a8371c51c3b6c648e068c' ]
19575 silly gunzTarPerm extractEntry lib/coffee-script/lexer.js
19576 silly gunzTarPerm extractEntry lib/coffee-script/command.js
19577 info retry fetch attempt 1 at 14:03:24
19578 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077804338-0.6550564258359373/tmp.tgz
19579 silly gunzTarPerm extractEntry package.json
19580 silly gunzTarPerm extractEntry index.js
19581 silly gunzTarPerm extractEntry readme.md
19582 info retry fetch attempt 1 at 14:03:24
19583 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077804339-0.942285364260897/tmp.tgz
19584 silly gunzTarPerm modes [ '755', '644' ]
19585 verbose addRemoteTarball [ 'https://registry.npmjs.org/debug/-/debug-0.7.4.tgz',
19585 verbose addRemoteTarball '06e1ea8082c2cb14e39806e22e2f6f757f92af39' ]
19586 silly gunzTarPerm extractEntry cli.js
19587 silly gunzTarPerm extractEntry get-urls.js
19588 silly gunzTarPerm extractEntry each-async.js
19589 silly gunzTarPerm extractEntry readme.md
19590 silly gunzTarPerm extractEntry .npmignore
19591 silly gunzTarPerm extractEntry README.md
19592 silly gunzTarPerm extractEntry README.md
19593 silly gunzTarPerm extractEntry cli.js
19594 silly gunzTarPerm extractEntry .npmignore
19595 silly gunzTarPerm extractEntry README.md
19596 http GET https://registry.npmjs.org/mime/-/mime-1.2.5.tgz
19597 info retry fetch attempt 1 at 14:03:24
19598 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077804348-0.43294397997669876/tmp.tgz
19599 http GET https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
19600 silly gunzTarPerm extractEntry README.md
19601 silly gunzTarPerm extractEntry LICENSE
19602 http GET https://registry.npmjs.org/debug/-/debug-0.7.4.tgz
19603 silly gunzTarPerm extractEntry lib/public/icons/page_white_h.png
19604 silly gunzTarPerm extractEntry lib/public/icons/page_white_horizontal.png
19605 silly gunzTarPerm extractEntry benches/stress/rpushblpop/pub.js
19606 silly gunzTarPerm extractEntry benches/stress/rpushblpop/server.js
19607 silly gunzTarPerm extractEntry package.json
19608 silly gunzTarPerm extractEntry test/other/data/foo.js
19609 silly gunzTarPerm extractEntry test/other/data/matcher/top.js
19610 silly gunzTarPerm extractEntry lib/coffee-script/optparse.js
19611 silly gunzTarPerm extractEntry lib/coffee-script/parser.js
19612 silly gunzTarPerm extractEntry number/currencyFormat.js
19613 silly gunzTarPerm extractEntry number/enforcePrecision.js
19614 silly gunzTarPerm extractEntry README.md
19615 silly gunzTarPerm extractEntry sequence.js
19616 silly gunzTarPerm extractEntry readme.md
19617 silly gunzTarPerm extractEntry LICENSE
19618 silly gunzTarPerm extractEntry through2.js
19619 silly gunzTarPerm extractEntry index.js
19620 silly gunzTarPerm extractEntry LICENSE
19621 silly gunzTarPerm extractEntry bin/nopt.js
19622 silly gunzTarPerm extractEntry test/xmlns-xml-default-redefine.js
19623 silly gunzTarPerm extractEntry test/issue-84.js
19624 http 200 https://registry.npmjs.org/minimist
19625 silly registry.get cb [ 200,
19625 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:24 GMT',
19625 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
19625 silly registry.get etag: '"3VO7ZZOQ24NSBR02QPQUPI2GU"',
19625 silly registry.get 'content-type': 'application/json',
19625 silly registry.get via: '1.1 varnish',
19625 silly registry.get 'cache-control': 'max-age=1',
19625 silly registry.get 'content-length': '16053',
19625 silly registry.get 'accept-ranges': 'bytes',
19625 silly registry.get age: '11',
19625 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1729-ORD',
19625 silly registry.get 'x-cache': 'HIT, HIT',
19625 silly registry.get 'x-cache-hits': '1, 1',
19625 silly registry.get 'x-timer': 'S1402077804.355350,VS0,VE0',
19625 silly registry.get vary: 'Accept',
19625 silly registry.get 'keep-alive': 'timeout=10, max=50',
19625 silly registry.get connection: 'Keep-Alive' } ]
19626 silly gunzTarPerm extractEntry bin.js
19627 silly gunzTarPerm extractEntry rimraf.js
19628 silly gunzTarPerm extractEntry lib/public/icons/page_white_key.png
19629 silly gunzTarPerm extractEntry lib/public/icons/page_white_lightning.png
19630 silly gunzTarPerm extractEntry benches/stress/rpushblpop/run
19631 silly gunzTarPerm extractEntry benches/stress/speed/speed.js
19632 silly gunzTarPerm extractEntry number/isNaN.js
19633 silly gunzTarPerm extractEntry number/nth.js
19634 silly gunzTarPerm extractEntry test/other/data/matcher/general/general.js
19635 silly gunzTarPerm extractEntry test/other/data/matcher/general/node_modules/mod-file.js
19636 silly gunzTarPerm extractEntry lib/coffee-script/register.js
19637 silly gunzTarPerm extractEntry lib/coffee-script/repl.js
19638 silly addNameRange number 2 { name: 'minimist', range: '>=0.0.1-0 <0.1.0-0', hasData: true }
19639 silly addNameRange versions [ 'minimist',
19639 silly addNameRange [ '0.0.0',
19639 silly addNameRange '0.0.1',
19639 silly addNameRange '0.0.2',
19639 silly addNameRange '0.0.3',
19639 silly addNameRange '0.0.4',
19639 silly addNameRange '0.0.5',
19639 silly addNameRange '0.0.6',
19639 silly addNameRange '0.0.7',
19639 silly addNameRange '0.0.8',
19639 silly addNameRange '0.0.9',
19639 silly addNameRange '0.0.10',
19639 silly addNameRange '0.1.0' ] ]
19640 verbose addNamed [ 'minimist', '0.0.10' ]
19641 verbose addNamed [ '0.0.10', '0.0.10' ]
19642 silly lockFile 92f0553b-minimist-0-0-10 minimist@0.0.10
19643 verbose lock minimist@0.0.10 /home/gary/.npm/92f0553b-minimist-0-0-10.lock
19644 silly gunzTarPerm extractEntry examples/my-program.js
19645 silly gunzTarPerm extractEntry lib/nopt.js
19646 silly gunzTarPerm extractEntry test/basic.js
19647 http 200 https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
19648 http 200 https://registry.npmjs.org/mime/-/mime-1.2.5.tgz
19649 http 200 https://registry.npmjs.org/wordwrap
19650 silly registry.get cb [ 200,
19650 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:24 GMT',
19650 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
19650 silly registry.get etag: '"6GUW1CYLCM04DMNSMK3F17IKN"',
19650 silly registry.get 'content-type': 'application/json',
19650 silly registry.get via: '1.1 varnish',
19650 silly registry.get 'cache-control': 'max-age=1',
19650 silly registry.get 'content-length': '2330',
19650 silly registry.get 'accept-ranges': 'bytes',
19650 silly registry.get age: '1',
19650 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1734-ORD',
19650 silly registry.get 'x-cache': 'HIT, MISS',
19650 silly registry.get 'x-cache-hits': '1, 0',
19650 silly registry.get 'x-timer': 'S1402077804.341841,VS0,VE86',
19650 silly registry.get vary: 'Accept',
19650 silly registry.get 'keep-alive': 'timeout=10, max=50',
19650 silly registry.get connection: 'Keep-Alive' } ]
19651 http 200 https://registry.npmjs.org/debug/-/debug-0.7.4.tgz
19652 silly lockFile 92f0553b-minimist-0-0-10 minimist@0.0.10
19653 silly lockFile 92f0553b-minimist-0-0-10 minimist@0.0.10
19654 silly gunzTarPerm extractEntry AUTHORS
19655 silly gunzTarPerm extractEntry test/test-async.js
19656 http 200 https://registry.npmjs.org/cookiejar
19657 silly registry.get cb [ 200,
19657 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:24 GMT',
19657 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
19657 silly registry.get etag: '"8PMIZI7Y7DHTQSKA85DS6QHIF"',
19657 silly registry.get 'content-type': 'application/json',
19657 silly registry.get via: '1.1 varnish',
19657 silly registry.get 'cache-control': 'max-age=1',
19657 silly registry.get 'content-length': '7212',
19657 silly registry.get 'accept-ranges': 'bytes',
19657 silly registry.get age: '65',
19657 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1728-ORD',
19657 silly registry.get 'x-cache': 'HIT, MISS',
19657 silly registry.get 'x-cache-hits': '1, 0',
19657 silly registry.get 'x-timer': 'S1402077804.353780,VS0,VE88',
19657 silly registry.get vary: 'Accept',
19657 silly registry.get 'keep-alive': 'timeout=10, max=50',
19657 silly registry.get connection: 'Keep-Alive' } ]
19658 silly lockFile 7a855a96-minimist-0-0-1 minimist@~0.0.1
19659 silly lockFile 7a855a96-minimist-0-0-1 minimist@~0.0.1
19660 silly gunzTarPerm extractEntry lib/public/icons/page_white_link.png
19661 silly gunzTarPerm extractEntry lib/public/icons/page_white_magnify.png
19662 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077804339-0.942285364260897/tmp.tgz
19663 silly lockFile 1fbf81c5-e-gary-npm-methods-0-0-1-package tar:///home/gary/.npm/methods/0.0.1/package
19664 verbose lock tar:///home/gary/.npm/methods/0.0.1/package /home/gary/.npm/1fbf81c5-e-gary-npm-methods-0-0-1-package.lock
19665 silly lockFile d5f8b7ca-804339-0-942285364260897-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804339-0.942285364260897/tmp.tgz
19666 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804339-0.942285364260897/tmp.tgz /home/gary/.npm/d5f8b7ca-804339-0-942285364260897-tmp-tgz.lock
19667 silly gunzTarPerm extractEntry benches/stress/speed/00
19668 silly gunzTarPerm extractEntry benches/stress/speed/plot
19669 silly gunzTarPerm extractEntry number/abbreviate.js
19670 silly gunzTarPerm extractEntry number/pad.js
19671 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077804348-0.43294397997669876/tmp.tgz
19672 silly lockFile cc749489-ome-gary-npm-debug-0-7-4-package tar:///home/gary/.npm/debug/0.7.4/package
19673 verbose lock tar:///home/gary/.npm/debug/0.7.4/package /home/gary/.npm/cc749489-ome-gary-npm-debug-0-7-4-package.lock
19674 silly lockFile fbcc189d-4348-0-43294397997669876-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804348-0.43294397997669876/tmp.tgz
19675 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804348-0.43294397997669876/tmp.tgz /home/gary/.npm/fbcc189d-4348-0-43294397997669876-tmp-tgz.lock
19676 silly gunzTarPerm extractEntry tst/ctio/uint/tst.64.js
19677 silly gunzTarPerm modified mode [ 'tst/ctio/uint/tst.64.js', 438, 420 ]
19678 silly gunzTarPerm extractEntry tst/ctio/uint/tst.roundtrip.js
19679 silly gunzTarPerm modified mode [ 'tst/ctio/uint/tst.roundtrip.js', 438, 420 ]
19680 silly gunzTarPerm extractEntry test/message.js
19681 silly gunzTarPerm extractEntry test/readme.js
19682 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077804338-0.6550564258359373/tmp.tgz
19683 silly lockFile ae416766-home-gary-npm-mime-1-2-5-package tar:///home/gary/.npm/mime/1.2.5/package
19684 verbose lock tar:///home/gary/.npm/mime/1.2.5/package /home/gary/.npm/ae416766-home-gary-npm-mime-1-2-5-package.lock
19685 silly lockFile 18e051bf-04338-0-6550564258359373-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804338-0.6550564258359373/tmp.tgz
19686 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804338-0.6550564258359373/tmp.tgz /home/gary/.npm/18e051bf-04338-0-6550564258359373-tmp-tgz.lock
19687 http 200 https://registry.npmjs.org/emitter-component
19688 silly registry.get cb [ 200,
19688 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:24 GMT',
19688 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B)',
19688 silly registry.get etag: '"90REHA38DQJ35IDCMR0UBEDU7"',
19688 silly registry.get 'content-type': 'application/json',
19688 silly registry.get via: '1.1 varnish',
19688 silly registry.get 'cache-control': 'max-age=1',
19688 silly registry.get 'content-length': '9237',
19688 silly registry.get 'accept-ranges': 'bytes',
19688 silly registry.get age: '7263',
19688 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1729-ORD',
19688 silly registry.get 'x-cache': 'HIT, MISS',
19688 silly registry.get 'x-cache-hits': '1, 0',
19688 silly registry.get 'x-timer': 'S1402077804.382521,VS0,VE87',
19688 silly registry.get vary: 'Accept',
19688 silly registry.get 'keep-alive': 'timeout=10, max=49',
19688 silly registry.get connection: 'Keep-Alive' } ]
19689 silly gunzTarPerm extractEntry dist/less-1.1.6.js
19690 silly gunzTarPerm modified mode [ 'dist/less-1.1.6.js', 438, 420 ]
19691 silly gunzTarPerm extractEntry lib/coffee-script/rewriter.js
19692 silly gunzTarPerm modes [ '755', '644' ]
19693 silly addNameRange number 2 { name: 'wordwrap', range: '>=0.0.2-0 <0.1.0-0', hasData: true }
19694 silly addNameRange versions [ 'wordwrap', [ '0.0.1', '0.0.2' ] ]
19695 verbose addNamed [ 'wordwrap', '0.0.2' ]
19696 verbose addNamed [ '0.0.2', '0.0.2' ]
19697 silly lockFile 24a694c8-wordwrap-0-0-2 wordwrap@0.0.2
19698 verbose lock wordwrap@0.0.2 /home/gary/.npm/24a694c8-wordwrap-0-0-2.lock
19699 silly gunzTarPerm extractEntry dist/less-1.4.2.js
19700 silly gunzTarPerm modified mode [ 'dist/less-1.4.2.js', 438, 420 ]
19701 silly gunzTarPerm extractEntry test/other/data/matcher/lib/lib-top.js
19702 silly gunzTarPerm extractEntry test/other/data/matcher/node_modules/mod-file.js
19703 silly gunzTarPerm modes [ '755', '644' ]
19704 silly gunzTarPerm modes [ '755', '644' ]
19705 silly lockFile 24a694c8-wordwrap-0-0-2 wordwrap@0.0.2
19706 silly lockFile 24a694c8-wordwrap-0-0-2 wordwrap@0.0.2
19707 silly lockFile a12d8173-rg-cookiejar-cookiejar-1-3-0-tgz https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz
19708 verbose lock https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz /home/gary/.npm/a12d8173-rg-cookiejar-cookiejar-1-3-0-tgz.lock
19709 http 200 https://registry.npmjs.org/qs
19710 silly registry.get cb [ 200,
19710 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:24 GMT',
19710 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
19710 silly registry.get etag: '"EY4LXYYQ4LWO235OEZP0WY4OH"',
19710 silly registry.get 'content-type': 'application/json',
19710 silly registry.get via: '1.1 varnish',
19710 silly registry.get 'cache-control': 'max-age=1',
19710 silly registry.get 'content-length': '53327',
19710 silly registry.get 'accept-ranges': 'bytes',
19710 silly registry.get age: '90',
19710 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1731-ORD',
19710 silly registry.get 'x-cache': 'HIT, HIT',
19710 silly registry.get 'x-cache-hits': '2, 1',
19710 silly registry.get 'x-timer': 'S1402077804.349478,VS0,VE52',
19710 silly registry.get vary: 'Accept',
19710 silly registry.get 'keep-alive': 'timeout=10, max=50',
19710 silly registry.get connection: 'Keep-Alive' } ]
19711 silly lockFile 8bd42136-wordwrap-0-0-2 wordwrap@~0.0.2
19712 silly lockFile 8bd42136-wordwrap-0-0-2 wordwrap@~0.0.2
19713 silly gunzTarPerm extractEntry test/test-sync.js
19714 silly gunzTarPerm extractEntry test/run.sh
19715 silly gunzTarPerm extractEntry lib/public/icons/page_white_medal.png
19716 silly gunzTarPerm extractEntry lib/public/icons/page_white_office.png
19717 silly gunzTarPerm extractEntry package.json
19718 verbose addRemoteTarball [ 'https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz',
19718 verbose addRemoteTarball 'dd00b35679021e99cbd4e855b9ad041913474765' ]
19719 silly gunzTarPerm extractEntry benches/stress/speed/size-rate.png
19720 silly gunzTarPerm extractEntry package.json
19721 info retry fetch attempt 1 at 14:03:24
19722 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077804538-0.8969066650606692/tmp.tgz
19723 silly lockFile 502905cc--download-node-modules-get-stdin tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-stdin
19724 silly lockFile 502905cc--download-node-modules-get-stdin tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-stdin
19725 silly gunzTarPerm extractEntry number/rol.js
19726 silly gunzTarPerm extractEntry number/ror.js
19727 silly gunzTarPerm extractEntry test.js
19728 silly lockFile bfec596e-nent-emitter-component-1-0-0-tgz https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz
19729 verbose lock https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz /home/gary/.npm/bfec596e-nent-emitter-component-1-0-0-tgz.lock
19730 silly lockFile 8963fd4a--npm-get-stdin-0-1-0-package-tgz tar:///home/gary/.npm/get-stdin/0.1.0/package.tgz
19731 silly lockFile 8963fd4a--npm-get-stdin-0-1-0-package-tgz tar:///home/gary/.npm/get-stdin/0.1.0/package.tgz
19732 silly lockFile bec504ef-dules-phantomjs-node-modules-ncp tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp
19733 silly lockFile bec504ef-dules-phantomjs-node-modules-ncp tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp
19734 http GET https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz
19735 http 200 https://registry.npmjs.org/formidable
19736 silly registry.get cb [ 200,
19736 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:24 GMT',
19736 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
19736 silly registry.get etag: '"7CSFFV55C0C4SJNBL9E0G7I7"',
19736 silly registry.get 'content-type': 'application/json',
19736 silly registry.get via: '1.1 varnish',
19736 silly registry.get 'cache-control': 'max-age=1',
19736 silly registry.get 'content-length': '101213',
19736 silly registry.get 'accept-ranges': 'bytes',
19736 silly registry.get age: '397',
19736 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1720-ORD',
19736 silly registry.get 'x-cache': 'HIT, HIT',
19736 silly registry.get 'x-cache-hits': '2, 1',
19736 silly registry.get 'x-timer': 'S1402077804.348975,VS0,VE82',
19736 silly registry.get vary: 'Accept',
19736 silly registry.get 'keep-alive': 'timeout=10, max=50',
19736 silly registry.get connection: 'Keep-Alive' } ]
19737 silly lockFile 89bce3d1-e-gary-npm-ncp-0-4-2-package-tgz tar:///home/gary/.npm/ncp/0.4.2/package.tgz
19738 silly lockFile 89bce3d1-e-gary-npm-ncp-0-4-2-package-tgz tar:///home/gary/.npm/ncp/0.4.2/package.tgz
19739 silly gunzTarPerm extractEntry index.js
19740 verbose addRemoteTarball [ 'https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz',
19740 verbose addRemoteTarball 'f04dd18fc3dc3e9a74cbc0f310b088666e4c016f' ]
19741 http 200 https://registry.npmjs.org/reduce-component
19742 silly registry.get cb [ 200,
19742 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:24 GMT',
19742 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
19742 silly registry.get etag: '"6JL92WJ3XHR4RQ402C7LJQXFE"',
19742 silly registry.get 'content-type': 'application/json',
19742 silly registry.get via: '1.1 varnish',
19742 silly registry.get 'cache-control': 'max-age=1',
19742 silly registry.get 'content-length': '5105',
19742 silly registry.get 'accept-ranges': 'bytes',
19742 silly registry.get age: '2491',
19742 silly registry.get 'x-served-by': 'cache-sv62-SJC3, cache-ord1734-ORD',
19742 silly registry.get 'x-cache': 'HIT, MISS',
19742 silly registry.get 'x-cache-hits': '1, 0',
19742 silly registry.get 'x-timer': 'S1402077804.448529,VS0,VE100',
19742 silly registry.get vary: 'Accept',
19742 silly registry.get 'keep-alive': 'timeout=10, max=49',
19742 silly registry.get connection: 'Keep-Alive' } ]
19743 silly gunzTarPerm extractEntry debug.js
19744 silly gunzTarPerm extractEntry index.js
19745 info retry fetch attempt 1 at 14:03:24
19746 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077804576-0.21851788694038987/tmp.tgz
19747 silly lockFile 45ccff3d-gistry-npmjs-org-qs-qs-0-6-5-tgz https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
19748 verbose lock https://registry.npmjs.org/qs/-/qs-0.6.5.tgz /home/gary/.npm/45ccff3d-gistry-npmjs-org-qs-qs-0-6-5-tgz.lock
19749 silly resolved [ { name: 'minimist',
19749 silly resolved version: '0.0.10',
19749 silly resolved description: 'parse argument options',
19749 silly resolved main: 'index.js',
19749 silly resolved devDependencies: { tape: '~1.0.4', tap: '~0.4.0' },
19749 silly resolved scripts: { test: 'tap test/*.js' },
19749 silly resolved testling: { files: 'test/*.js', browsers: [Object] },
19749 silly resolved repository: { type: 'git', url: 'git://github.com/substack/minimist.git' },
19749 silly resolved homepage: 'https://github.com/substack/minimist',
19749 silly resolved keywords: [ 'argv', 'getopt', 'parser', 'optimist' ],
19749 silly resolved author:
19749 silly resolved { name: 'James Halliday',
19749 silly resolved email: 'mail@substack.net',
19749 silly resolved url: 'http://substack.net' },
19749 silly resolved license: 'MIT',
19749 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',
19749 silly resolved readmeFilename: 'readme.markdown',
19749 silly resolved bugs: { url: 'https://github.com/substack/minimist/issues' },
19749 silly resolved _id: 'minimist@0.0.10',
19749 silly resolved _shasum: 'de3f98543dbf96082be48ad1a0c7cda836301dcf',
19749 silly resolved _from: 'minimist@~0.0.1',
19749 silly resolved _resolved: 'https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz' },
19749 silly resolved { name: 'wordwrap',
19749 silly resolved description: 'Wrap those words. Show them at what columns to start and stop.',
19749 silly resolved version: '0.0.2',
19749 silly resolved repository:
19749 silly resolved { type: 'git',
19749 silly resolved url: 'git://github.com/substack/node-wordwrap.git' },
19749 silly resolved main: './index.js',
19749 silly resolved keywords: [ 'word', 'wrap', 'rule', 'format', 'column' ],
19749 silly resolved directories: { lib: '.', example: 'example', test: 'test' },
19749 silly resolved scripts: { test: 'expresso' },
19749 silly resolved devDependencies: { expresso: '=0.7.x' },
19749 silly resolved engines: { node: '>=0.4.0' },
19749 silly resolved license: 'MIT/X11',
19749 silly resolved author:
19749 silly resolved { name: 'James Halliday',
19749 silly resolved email: 'mail@substack.net',
19749 silly resolved url: 'http://substack.net' },
19749 silly resolved readme: 'wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n var wrap = require(\'wordwrap\')(15);\n console.log(wrap(\'You and your whole family are made out of meat.\'));\n\noutput:\n\n You and your\n whole family\n are made out\n of meat.\n\ncentered\n--------\n\ncenter.js\n\n var wrap = require(\'wordwrap\')(20, 60);\n console.log(wrap(\n \'At long last the struggle and tumult was over.\'\n + \' The machines had finally cast off their oppressors\'\n + \' and were finally free to roam the cosmos.\'\n + \'\\n\'\n + \'Free of purpose, free of obligation.\'\n + \' Just drifting through emptiness.\'\n + \' The sun was just another point of light.\'\n ));\n\noutput:\n\n At long last the struggle and tumult\n was over. The machines had finally cast\n off their oppressors and were finally\n free to roam the cosmos.\n Free of purpose, free of obligation.\n Just drifting through emptiness. The\n sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require(\'wordwrap\');\n\nwrap(stop), wrap(start, stop, params={mode:"soft"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn "soft" mode, split chunks by `/(\\S+\\s+/` and don\'t break up chunks which are\nlonger than `stop - start`, in "hard" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = "hard"`.\n',
19749 silly resolved readmeFilename: 'README.markdown',
19749 silly resolved bugs: { url: 'https://github.com/substack/node-wordwrap/issues' },
19749 silly resolved homepage: 'https://github.com/substack/node-wordwrap',
19749 silly resolved _id: 'wordwrap@0.0.2',
19749 silly resolved _shasum: 'b79669bb42ecb409f83d583cad52ca17eaa1643f',
19749 silly resolved _from: 'wordwrap@~0.0.2',
19749 silly resolved _resolved: 'https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz' } ]
19750 info install minimist@0.0.10 into /home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist
19751 info install wordwrap@0.0.2 into /home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist
19752 info installOne minimist@0.0.10
19753 info installOne wordwrap@0.0.2
19754 silly gunzTarPerm extractEntry package.json
19755 silly gunzTarPerm extractEntry LICENSE
19756 info preinstall get-stdin@0.1.0
19757 silly lockFile d8773f30-download-node-modules-each-async tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/each-async
19758 silly lockFile d8773f30-download-node-modules-each-async tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/each-async
19759 info /home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/minimist unbuild
19760 info /home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/wordwrap unbuild
19761 http GET https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz
19762 verbose addRemoteTarball [ 'https://registry.npmjs.org/qs/-/qs-0.6.5.tgz',
19762 verbose addRemoteTarball '294b268e4b0d4250f6dde19b3b8b34935dff14ef' ]
19763 silly lockFile d798f2d3-npm-each-async-0-1-3-package-tgz tar:///home/gary/.npm/each-async/0.1.3/package.tgz
19764 silly lockFile d798f2d3-npm-each-async-0-1-3-package-tgz tar:///home/gary/.npm/each-async/0.1.3/package.tgz
19765 info preinstall ncp@0.4.2
19766 silly lockFile dee40462-home-gary-npm-uuid-1-4-1-package tar:///home/gary/.npm/uuid/1.4.1/package
19767 silly lockFile dee40462-home-gary-npm-uuid-1-4-1-package tar:///home/gary/.npm/uuid/1.4.1/package
19768 silly gunzTarPerm modes [ '755', '644' ]
19769 info retry fetch attempt 1 at 14:03:24
19770 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077804604-0.9379411614499986/tmp.tgz
19771 silly gunzTarPerm extractEntry test/setup.sh
19772 silly gunzTarPerm extractEntry lib/public/icons/page_white_paint.png
19773 silly gunzTarPerm extractEntry lib/public/icons/page_white_paintbrush.png
19774 silly lockFile 54bdd8a1-03161-0-9443518701009452-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803161-0.9443518701009452/tmp.tgz
19775 silly lockFile 54bdd8a1-03161-0-9443518701009452-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803161-0.9443518701009452/tmp.tgz
19776 verbose readDependencies using package.json deps
19777 silly lockFile 19c52105-dules-phantomjs-node-modules-kew tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew
19778 silly lockFile 19c52105-dules-phantomjs-node-modules-kew tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew
19779 silly gunzTarPerm extractEntry number/sign.js
19780 silly gunzTarPerm extractEntry number/toInt.js
19781 verbose tar unpack /home/gary/.npm/minimist/0.0.10/package.tgz
19782 silly lockFile 79f63416-s-optimist-node-modules-minimist tar:///home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/minimist
19783 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/minimist /home/gary/.npm/79f63416-s-optimist-node-modules-minimist.lock
19784 silly lockFile d1905777--npm-minimist-0-0-10-package-tgz tar:///home/gary/.npm/minimist/0.0.10/package.tgz
19785 verbose lock tar:///home/gary/.npm/minimist/0.0.10/package.tgz /home/gary/.npm/d1905777--npm-minimist-0-0-10-package-tgz.lock
19786 verbose tar unpack /home/gary/.npm/wordwrap/0.0.2/package.tgz
19787 silly lockFile 666d65e8-s-optimist-node-modules-wordwrap tar:///home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/wordwrap
19788 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/wordwrap /home/gary/.npm/666d65e8-s-optimist-node-modules-wordwrap.lock
19789 silly lockFile d20ef1de-y-npm-wordwrap-0-0-2-package-tgz tar:///home/gary/.npm/wordwrap/0.0.2/package.tgz
19790 verbose lock tar:///home/gary/.npm/wordwrap/0.0.2/package.tgz /home/gary/.npm/d20ef1de-y-npm-wordwrap-0-0-2-package-tgz.lock
19791 http GET https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
19792 verbose readDependencies using package.json deps
19793 silly resolved []
19794 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-stdin
19795 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-stdin
19796 verbose linkStuff [ false,
19796 verbose linkStuff false,
19796 verbose linkStuff false,
19796 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules' ]
19797 info linkStuff get-stdin@0.1.0
19798 verbose linkBins get-stdin@0.1.0
19799 verbose linkMans get-stdin@0.1.0
19800 verbose rebuildBundles get-stdin@0.1.0
19801 silly lockFile 46177261-e-gary-npm-kew-0-1-7-package-tgz tar:///home/gary/.npm/kew/0.1.7/package.tgz
19802 silly lockFile 46177261-e-gary-npm-kew-0-1-7-package-tgz tar:///home/gary/.npm/kew/0.1.7/package.tgz
19803 verbose readDependencies using package.json deps
19804 silly lockFile d5dd65bf-formidable-formidable-1-0-14-tgz https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz
19805 verbose lock https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz /home/gary/.npm/d5dd65bf-formidable-formidable-1-0-14-tgz.lock
19806 silly gunzTarPerm modes [ '755', '644' ]
19807 info install get-stdin@0.1.0
19808 info preinstall each-async@0.1.3
19809 verbose readDependencies using package.json deps
19810 silly resolved []
19811 verbose about to build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp
19812 info build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp
19813 verbose linkStuff [ false,
19813 verbose linkStuff false,
19813 verbose linkStuff false,
19813 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
19814 info linkStuff ncp@0.4.2
19815 verbose linkBins ncp@0.4.2
19816 verbose link bins [ { ncp: './bin/ncp' },
19816 verbose link bins '/home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/.bin',
19816 verbose link bins false ]
19817 verbose linkMans ncp@0.4.2
19818 verbose rebuildBundles ncp@0.4.2
19819 silly lockFile f08f1bf9--complexity-report-0-6-2-package tar:///home/gary/.npm/complexity-report/0.6.2/package
19820 silly lockFile f08f1bf9--complexity-report-0-6-2-package tar:///home/gary/.npm/complexity-report/0.6.2/package
19821 silly lockFile 7d12ebf6-onent-reduce-component-1-0-1-tgz https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz
19822 verbose lock https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz /home/gary/.npm/7d12ebf6-onent-reduce-component-1-0-1-tgz.lock
19823 silly lockFile b5b8ba05-s-download-node-modules-get-urls tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-urls
19824 silly lockFile b5b8ba05-s-download-node-modules-get-urls tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-urls
19825 silly lockFile f2f016ed-8894-0-48427782650105655-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077798894-0.48427782650105655/tmp.tgz
19826 silly lockFile f2f016ed-8894-0-48427782650105655-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077798894-0.48427782650105655/tmp.tgz
19827 silly gunzTarPerm extractEntry tst/ctio/float/tst.wfloat.js
19828 silly gunzTarPerm modified mode [ 'tst/ctio/float/tst.wfloat.js', 438, 420 ]
19829 silly gunzTarPerm extractEntry tst/ctio/float/tst.rfloat.js
19830 silly gunzTarPerm modified mode [ 'tst/ctio/float/tst.rfloat.js', 438, 420 ]
19831 verbose addRemoteTarball [ 'https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz',
19831 verbose addRemoteTarball '2b3f4c411cbb5fdd695c44843e2a23514a43231a' ]
19832 silly gunzTarPerm extractEntry package.json
19833 info postinstall get-stdin@0.1.0
19834 silly lockFile d0411d5e-y-npm-get-urls-0-1-2-package-tgz tar:///home/gary/.npm/get-urls/0.1.2/package.tgz
19835 silly lockFile d0411d5e-y-npm-get-urls-0-1-2-package-tgz tar:///home/gary/.npm/get-urls/0.1.2/package.tgz
19836 silly gunzTarPerm extractEntry lib/coffee-script/coffee-script.js
19837 silly gunzTarPerm extractEntry lib/coffee-script/scope.js
19838 silly lockFile 9f388b49-ry-npmjs-org-uuid-uuid-1-4-1-tgz https://registry.npmjs.org/uuid/-/uuid-1.4.1.tgz
19839 silly lockFile 9f388b49-ry-npmjs-org-uuid-uuid-1-4-1-tgz https://registry.npmjs.org/uuid/-/uuid-1.4.1.tgz
19840 silly gunzTarPerm extractEntry Readme.md
19841 silly gunzTarPerm extractEntry lib/debug.js
19842 info retry fetch attempt 1 at 14:03:24
19843 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077804679-0.1949316873215139/tmp.tgz
19844 verbose addRemoteTarball [ 'https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz',
19844 verbose addRemoteTarball 'e0c93542c574521bea13df0f9488ed82ab77c5da' ]
19845 verbose readDependencies using package.json deps
19846 info preinstall kew@0.1.7
19847 silly lockFile 9d28fec3-s-phantomjs-node-modules-npmconf tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
19848 silly lockFile 9d28fec3-s-phantomjs-node-modules-npmconf tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
19849 silly lockFile f86c5a17-rEachAsync-node-modules-sequence tar:///home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync/node_modules/sequence
19850 silly lockFile f86c5a17-rEachAsync-node-modules-sequence tar:///home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync/node_modules/sequence
19851 silly lockFile 0ac31546-uuid-1-4-1 uuid@1.4.1
19852 silly lockFile 0ac31546-uuid-1-4-1 uuid@1.4.1
19853 http 200 https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz
19854 info retry fetch attempt 1 at 14:03:24
19855 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077804687-0.5392170518171042/tmp.tgz
19856 verbose readDependencies using package.json deps
19857 silly resolved []
19858 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/each-async
19859 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/each-async
19860 verbose linkStuff [ false,
19860 verbose linkStuff false,
19860 verbose linkStuff false,
19860 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules' ]
19861 info linkStuff each-async@0.1.3
19862 verbose linkBins each-async@0.1.3
19863 verbose linkMans each-async@0.1.3
19864 verbose rebuildBundles each-async@0.1.3
19865 silly lockFile 65c33f48-y-npm-npmconf-0-0-24-package-tgz tar:///home/gary/.npm/npmconf/0.0.24/package.tgz
19866 silly lockFile 65c33f48-y-npm-npmconf-0-0-24-package-tgz tar:///home/gary/.npm/npmconf/0.0.24/package.tgz
19867 silly lockFile eab13e91-y-npm-sequence-2-2-1-package-tgz tar:///home/gary/.npm/sequence/2.2.1/package.tgz
19868 silly lockFile eab13e91-y-npm-sequence-2-2-1-package-tgz tar:///home/gary/.npm/sequence/2.2.1/package.tgz
19869 silly lockFile d092b116-uuid-1-4-0 uuid@~1.4.0
19870 silly lockFile d092b116-uuid-1-4-0 uuid@~1.4.0
19871 silly gunzTarPerm extractEntry mime.js
19872 silly gunzTarPerm extractEntry README.md
19873 http GET https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz
19874 info install each-async@0.1.3
19875 silly lockFile 14ac0416-s-optimist-node-modules-wordwrap tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap
19876 silly lockFile 14ac0416-s-optimist-node-modules-wordwrap tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap
19877 silly gunzTarPerm extractEntry index.js
19878 silly gunzTarPerm extractEntry readme.md
19879 http GET https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz
19880 info preinstall get-urls@0.1.2
19881 verbose readDependencies using package.json deps
19882 silly lockFile d20ef1de-y-npm-wordwrap-0-0-2-package-tgz tar:///home/gary/.npm/wordwrap/0.0.2/package.tgz
19883 silly lockFile d20ef1de-y-npm-wordwrap-0-0-2-package-tgz tar:///home/gary/.npm/wordwrap/0.0.2/package.tgz
19884 silly gunzTarPerm extractEntry package.json
19885 silly lockFile dc40248e-port-complexity-report-0-6-2-tgz https://registry.npmjs.org/complexity-report/-/complexity-report-0.6.2.tgz
19886 silly lockFile dc40248e-port-complexity-report-0-6-2-tgz https://registry.npmjs.org/complexity-report/-/complexity-report-0.6.2.tgz
19887 silly gunzTarPerm extractEntry lib/public/icons/page_white_paste.png
19888 silly gunzTarPerm extractEntry lib/public/icons/page_white_php.png
19889 info postinstall each-async@0.1.3
19890 verbose readDependencies using package.json deps
19891 silly resolved []
19892 verbose about to build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew
19893 info build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew
19894 verbose linkStuff [ false,
19894 verbose linkStuff false,
19894 verbose linkStuff false,
19894 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
19895 info linkStuff kew@0.1.7
19896 verbose linkBins kew@0.1.7
19897 verbose linkMans kew@0.1.7
19898 verbose rebuildBundles kew@0.1.7
19899 info install ncp@0.4.2
19900 silly lockFile aa081fd9-complexity-report-0-6-2 complexity-report@0.6.2
19901 silly lockFile aa081fd9-complexity-report-0-6-2 complexity-report@0.6.2
19902 silly gunzTarPerm extractEntry number/MIN_INT.js
19903 silly gunzTarPerm extractEntry number/toUInt.js
19904 silly gunzTarPerm modes [ '755', '644' ]
19905 http 200 https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz
19906 info install kew@0.1.7
19907 info preinstall npmconf@0.0.24
19908 silly gunzTarPerm extractEntry src/platforms/rhino.js
19909 silly lockFile 4bd5b6bf-complexity-report-0-6-x complexity-report@0.6.x
19910 silly lockFile 4bd5b6bf-complexity-report-0-6-x complexity-report@0.6.x
19911 info preinstall sequence@2.2.1
19912 silly gunzTarPerm extractEntry test/other/data/matcher/node_modules/dep/mod-file.js
19913 silly gunzTarPerm extractEntry yui-coverage-comparison.md
19914 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077804538-0.8969066650606692/tmp.tgz
19915 silly lockFile 74662d59-gary-npm-cookiejar-1-3-0-package tar:///home/gary/.npm/cookiejar/1.3.0/package
19916 verbose lock tar:///home/gary/.npm/cookiejar/1.3.0/package /home/gary/.npm/74662d59-gary-npm-cookiejar-1-3-0-package.lock
19917 silly lockFile e5eca998-04538-0-8969066650606692-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804538-0.8969066650606692/tmp.tgz
19918 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804538-0.8969066650606692/tmp.tgz /home/gary/.npm/e5eca998-04538-0-8969066650606692-tmp-tgz.lock
19919 silly gunzTarPerm modes [ '755', '644' ]
19920 verbose readDependencies using package.json deps
19921 info postinstall ncp@0.4.2
19922 silly gunzTarPerm extractEntry test/server.js
19923 silly gunzTarPerm extractEntry test/uri.js
19924 http 200 https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
19925 verbose readDependencies using package.json deps
19926 silly resolved []
19927 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-urls
19928 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/get-urls
19929 verbose linkStuff [ false,
19929 verbose linkStuff false,
19929 verbose linkStuff false,
19929 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules' ]
19930 info linkStuff get-urls@0.1.2
19931 verbose linkBins get-urls@0.1.2
19932 verbose link bins [ { 'get-urls': 'cli.js' },
19932 verbose link bins '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/.bin',
19932 verbose link bins false ]
19933 verbose linkMans get-urls@0.1.2
19934 verbose rebuildBundles get-urls@0.1.2
19935 info postinstall kew@0.1.7
19936 info preinstall wordwrap@0.0.2
19937 silly gunzTarPerm extractEntry .npmignore
19938 silly gunzTarPerm extractEntry README.md
19939 silly lockFile c02ed785-download-node-modules-decompress tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress
19940 silly lockFile c02ed785-download-node-modules-decompress tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/decompress
19941 verbose readDependencies using package.json deps
19942 verbose readDependencies using package.json deps
19943 silly resolved [ { name: 'uuid',
19943 silly resolved version: '1.4.1',
19943 silly resolved description: 'Rigorous implementation of RFC4122 (v1 and v4) UUIDs.',
19943 silly resolved keywords: [ 'uuid', 'guid', 'rfc4122' ],
19943 silly resolved author: { name: 'Robert Kieffer', email: 'robert@broofa.com' },
19943 silly resolved contributors: [ [Object] ],
19943 silly resolved main: './uuid.js',
19943 silly resolved devDependencies: { mocha: '1.8.0' },
19943 silly resolved scripts: { test: 'mocha test/test.js' },
19943 silly resolved browser: { './rng.js': './rng-browser.js' },
19943 silly resolved repository:
19943 silly resolved { type: 'git',
19943 silly resolved url: 'https://github.com/shtylman/node-uuid.git' },
19943 silly resolved testling: { browsers: [Object], harness: 'mocha-tdd', files: 'test/*.js' },
19943 silly resolved readme: '# uuid [![Build Status](https://secure.travis-ci.org/shtylman/node-uuid.png?branch=master)](http://travis-ci.org/shtylman/node-uuid) #\n\n[![browser support](http://ci.testling.com/shtylman/node-uuid.png)](http://ci.testling.com/shtylman/node-uuid)\n\nSimple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.\n\nFeatures:\n\n* Generate RFC4122 version 1 or version 4 UUIDs\n* Runs in node.js and all browsers.\n* Cryptographically strong random # generation on supporting platforms\n* 1.1K minified and gzip\'ed (Want something smaller? Check this [crazy shit](https://gist.github.com/982883) out! )\n* [Annotated source code](http://broofa.github.com/node-uuid/docs/uuid.html)\n\n## Getting Started\n\nInstall it in your browser:\n\n```html\n<script src="uuid.js"></script>\n```\n\nOr in node.js:\n\n```\nnpm install uuid\n```\n\n```javascript\nvar uuid = require(\'uuid\');\n\n// Generate a v1 (time-based) id\nuuid.v1(); // -> \'6c84fb90-12c4-11e1-840d-7b25c5ee775a\'\n\n// Generate a v4 (random) id\nuuid.v4(); // -> \'110ec58a-a0f2-4ac4-8393-c866d813b8d1\'\n```\n\n## API\n\n### uuid.v1([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v1 (timestamp-based) UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID. See note 1.\n * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence. Default: An internally maintained clockseq is used.\n * `msecs` - (Number | Date) Time in milliseconds since unix Epoch. Default: The current time is used.\n * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nNotes:\n\n1. The randomly generated node id is only guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.)\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v1({\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date(\'2011-11-01\').getTime(),\n nsecs: 5678\n}); // -> "710b962e-041c-11e1-9234-0123456789ab"\n```\n\nExample: In-place generation of two binary IDs\n\n```javascript\n// Generate two ids in an array\nvar arr = new Array(32); // -> []\nuuid.v1(null, arr, 0); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\nuuid.v1(null, arr, 16); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\n\n// Optionally use uuid.unparse() to get stringify the ids\nuuid.unparse(buffer); // -> \'02a2ce90-1432-11e1-8558-0b488e4fc115\'\nuuid.unparse(buffer, 16) // -> \'02a31cb0-1432-11e1-8558-0b488e4fc115\'\n```\n\n### uuid.v4([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v4 UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values\n * `rng` - (Function) Random # generator to use. Set to one of the built-in generators - `uuid.mathRNG` (all platforms), `uuid.nodeRNG` (node.js only), `uuid.whatwgRNG` (WebKit only) - or a custom function that returns an array[16] of byte values.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v4({\n random: [\n 0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,\n 0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36\n ]\n});\n// -> "109156be-c4fb-41ea-b1b4-efe1671c5836"\n```\n\nExample: Generate two IDs in a single buffer\n\n```javascript\nvar buffer = new Array(32); // (or \'new Buffer\' in node.js)\nuuid.v4(null, buffer, 0);\nuuid.v4(null, buffer, 16);\n```\n\n### uuid.parse(id[, buffer[, offset]])\n### uuid.unparse(buffer[, offset])\n\nParse and unparse UUIDs\n\n * `id` - (String) UUID(-like) string\n * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. Default: A new Array or Buffer is used\n * `offset` - (Number) Starting index in `buffer` at which to begin writing. Default: 0\n\nExample parsing and unparsing a UUID string\n\n```javascript\nvar bytes = uuid.parse(\'797ff043-11eb-11e1-80d6-510998755d10\'); // -> <Buffer 79 7f f0 43 11 eb 11 e1 80 d6 51 09 98 75 5d 10>\nvar string = uuid.unparse(bytes); // -> \'797ff043-11eb-11e1-80d6-510998755d10\'\n```\n\n### uuid.noConflict()\n\n(Browsers only) Set `uuid` property back to it\'s previous value.\n\nReturns the uuid object.\n\nExample:\n\n```javascript\nvar myUuid = uuid.noConflict();\nmyUuid.v1(); // -> \'6c84fb90-12c4-11e1-840d-7b25c5ee775a\'\n```\n\n## Deprecated APIs\n\nSupport for the following v1.2 APIs is available in v1.3, but is deprecated and will be removed in the next major version.\n\n### uuid([format [, buffer [, offset]]])\n\nuuid() has become uuid.v4(), and the `format` argument is now implicit in the `buffer` argument. (i.e. if you specify a buffer, the format is assumed to be binary).\n\n### uuid.BufferClass\n\nThe class of container created when generating binary uuid data if no buffer argument is specified. This is expected to go away, with no replacement API.\n\n## Testing\n\nIn node.js\n\n```\n> cd test\n> node test.js\n```\n\nIn Browser\n\n```\nopen test/test.html\n```\n\n### Benchmarking\n\nRequires node.js\n\n```\nnpm install uuid uuid-js\nnode benchmark/benchmark.js\n```\n\nFor a more complete discussion of uuid performance, please see the `benchmark/README.md` file, and the [benchmark wiki](https://github.com/broofa/uuid/wiki/Benchmark)\n\nFor browser performance [checkout the JSPerf tests](http://jsperf.com/node-uuid-performance).\n\n## Release notes\n\n### 1.4.0\n\n* Improved module context detection\n* Removed public RNG functions\n\n### 1.3.2\n\n* Improve tests and handling of v1() options (Issue #24)\n* Expose RNG option to allow for perf testing with different generators\n\n### 1.3.0\n\n* Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)!\n* Support for node.js crypto API\n* De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code\n',
19943 silly resolved readmeFilename: 'README.md',
19943 silly resolved bugs: { url: 'https://github.com/shtylman/node-uuid/issues' },
19943 silly resolved homepage: 'https://github.com/shtylman/node-uuid',
19943 silly resolved _id: 'uuid@1.4.1',
19943 silly resolved _shasum: 'a337828580d426e375b8ee11bd2bf901a596e0b8',
19943 silly resolved _from: 'uuid@~1.4.0',
19943 silly resolved _resolved: 'https://registry.npmjs.org/uuid/-/uuid-1.4.1.tgz' } ]
19944 info install uuid@1.4.1 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/tempfile
19945 info installOne uuid@1.4.1
19946 silly gunzTarPerm modes [ '755', '644' ]
19947 silly lockFile 1fbf81c5-e-gary-npm-methods-0-0-1-package tar:///home/gary/.npm/methods/0.0.1/package
19948 silly lockFile 1fbf81c5-e-gary-npm-methods-0-0-1-package tar:///home/gary/.npm/methods/0.0.1/package
19949 silly lockFile 2c12f252-npm-decompress-0-2-4-package-tgz tar:///home/gary/.npm/decompress/0.2.4/package.tgz
19950 silly lockFile 2c12f252-npm-decompress-0-2-4-package-tgz tar:///home/gary/.npm/decompress/0.2.4/package.tgz
19951 verbose readDependencies using package.json deps
19952 verbose readDependencies using package.json deps
19953 silly resolved []
19954 verbose about to build /home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync/node_modules/sequence
19955 info build /home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync/node_modules/sequence
19956 verbose linkStuff [ false,
19956 verbose linkStuff false,
19956 verbose linkStuff false,
19956 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync/node_modules' ]
19957 info linkStuff sequence@2.2.1
19958 verbose linkBins sequence@2.2.1
19959 verbose linkMans sequence@2.2.1
19960 verbose rebuildBundles sequence@2.2.1
19961 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/tempfile/node_modules/uuid unbuild
19962 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077804576-0.21851788694038987/tmp.tgz
19963 silly lockFile 7ebaebc7--emitter-component-1-0-0-package tar:///home/gary/.npm/emitter-component/1.0.0/package
19964 verbose lock tar:///home/gary/.npm/emitter-component/1.0.0/package /home/gary/.npm/7ebaebc7--emitter-component-1-0-0-package.lock
19965 silly lockFile f6fc3296-4576-0-21851788694038987-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804576-0.21851788694038987/tmp.tgz
19966 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804576-0.21851788694038987/tmp.tgz /home/gary/.npm/f6fc3296-4576-0-21851788694038987-tmp-tgz.lock
19967 silly gunzTarPerm modes [ '755', '644' ]
19968 silly lockFile d5f8b7ca-804339-0-942285364260897-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804339-0.942285364260897/tmp.tgz
19969 silly lockFile d5f8b7ca-804339-0-942285364260897-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804339-0.942285364260897/tmp.tgz
19970 verbose readDependencies using package.json deps
19971 info install sequence@2.2.1
19972 silly gunzTarPerm extractEntry package.json
19973 verbose cache add [ 'config-chain@~1.1.1', null ]
19974 verbose cache add name=undefined spec="config-chain@~1.1.1" args=["config-chain@~1.1.1",null]
19975 verbose parsed url { protocol: null,
19975 verbose parsed url slashes: null,
19975 verbose parsed url auth: null,
19975 verbose parsed url host: null,
19975 verbose parsed url port: null,
19975 verbose parsed url hostname: null,
19975 verbose parsed url hash: null,
19975 verbose parsed url search: null,
19975 verbose parsed url query: null,
19975 verbose parsed url pathname: 'config-chain@~1.1.1',
19975 verbose parsed url path: 'config-chain@~1.1.1',
19975 verbose parsed url href: 'config-chain@~1.1.1' }
19976 verbose cache add name="config-chain" spec="~1.1.1" args=["config-chain","~1.1.1"]
19977 verbose parsed url { protocol: null,
19977 verbose parsed url slashes: null,
19977 verbose parsed url auth: null,
19977 verbose parsed url host: null,
19977 verbose parsed url port: null,
19977 verbose parsed url hostname: null,
19977 verbose parsed url hash: null,
19977 verbose parsed url search: null,
19977 verbose parsed url query: null,
19977 verbose parsed url pathname: '~1.1.1',
19977 verbose parsed url path: '~1.1.1',
19977 verbose parsed url href: '~1.1.1' }
19978 verbose addNamed [ 'config-chain', '~1.1.1' ]
19979 verbose addNamed [ null, '>=1.1.1-0 <1.2.0-0' ]
19980 silly lockFile b9689009-config-chain-1-1-1 config-chain@~1.1.1
19981 verbose lock config-chain@~1.1.1 /home/gary/.npm/b9689009-config-chain-1-1-1.lock
19982 verbose cache add [ 'inherits@~1.0.0', null ]
19983 verbose cache add name=undefined spec="inherits@~1.0.0" args=["inherits@~1.0.0",null]
19984 verbose parsed url { protocol: null,
19984 verbose parsed url slashes: null,
19984 verbose parsed url auth: null,
19984 verbose parsed url host: null,
19984 verbose parsed url port: null,
19984 verbose parsed url hostname: null,
19984 verbose parsed url hash: null,
19984 verbose parsed url search: null,
19984 verbose parsed url query: null,
19984 verbose parsed url pathname: 'inherits@~1.0.0',
19984 verbose parsed url path: 'inherits@~1.0.0',
19984 verbose parsed url href: 'inherits@~1.0.0' }
19985 verbose cache add name="inherits" spec="~1.0.0" args=["inherits","~1.0.0"]
19986 verbose parsed url { protocol: null,
19986 verbose parsed url slashes: null,
19986 verbose parsed url auth: null,
19986 verbose parsed url host: null,
19986 verbose parsed url port: null,
19986 verbose parsed url hostname: null,
19986 verbose parsed url hash: null,
19986 verbose parsed url search: null,
19986 verbose parsed url query: null,
19986 verbose parsed url pathname: '~1.0.0',
19986 verbose parsed url path: '~1.0.0',
19986 verbose parsed url href: '~1.0.0' }
19987 verbose addNamed [ 'inherits', '~1.0.0' ]
19988 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
19989 silly lockFile 9a68ae75-inherits-1-0-0 inherits@~1.0.0
19990 verbose lock inherits@~1.0.0 /home/gary/.npm/9a68ae75-inherits-1-0-0.lock
19991 silly gunzTarPerm extractEntry types/mime.types
19992 silly gunzTarPerm extractEntry types/node.types
19993 verbose readDependencies using package.json deps
19994 silly resolved []
19995 verbose about to build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap
19996 info build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap
19997 verbose linkStuff [ false,
19997 verbose linkStuff false,
19997 verbose linkStuff false,
19997 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules' ]
19998 info linkStuff wordwrap@0.0.2
19999 verbose linkBins wordwrap@0.0.2
20000 verbose linkMans wordwrap@0.0.2
20001 verbose rebuildBundles wordwrap@0.0.2
20002 silly gunzTarPerm extractEntry package.json
20003 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077804604-0.9379411614499986/tmp.tgz
20004 silly lockFile 39d5d440-r-home-gary-npm-qs-0-6-5-package tar:///home/gary/.npm/qs/0.6.5/package
20005 verbose lock tar:///home/gary/.npm/qs/0.6.5/package /home/gary/.npm/39d5d440-r-home-gary-npm-qs-0-6-5-package.lock
20006 silly lockFile a2f7a298-04604-0-9379411614499986-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804604-0.9379411614499986/tmp.tgz
20007 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804604-0.9379411614499986/tmp.tgz /home/gary/.npm/a2f7a298-04604-0-9379411614499986-tmp-tgz.lock
20008 verbose cache add [ 'once@~1.1.1', null ]
20009 verbose cache add name=undefined spec="once@~1.1.1" args=["once@~1.1.1",null]
20010 verbose parsed url { protocol: null,
20010 verbose parsed url slashes: null,
20010 verbose parsed url auth: null,
20010 verbose parsed url host: null,
20010 verbose parsed url port: null,
20010 verbose parsed url hostname: null,
20010 verbose parsed url hash: null,
20010 verbose parsed url search: null,
20010 verbose parsed url query: null,
20010 verbose parsed url pathname: 'once@~1.1.1',
20010 verbose parsed url path: 'once@~1.1.1',
20010 verbose parsed url href: 'once@~1.1.1' }
20011 verbose cache add name="once" spec="~1.1.1" args=["once","~1.1.1"]
20012 verbose parsed url { protocol: null,
20012 verbose parsed url slashes: null,
20012 verbose parsed url auth: null,
20012 verbose parsed url host: null,
20012 verbose parsed url port: null,
20012 verbose parsed url hostname: null,
20012 verbose parsed url hash: null,
20012 verbose parsed url search: null,
20012 verbose parsed url query: null,
20012 verbose parsed url pathname: '~1.1.1',
20012 verbose parsed url path: '~1.1.1',
20012 verbose parsed url href: '~1.1.1' }
20013 verbose addNamed [ 'once', '~1.1.1' ]
20014 verbose addNamed [ null, '>=1.1.1-0 <1.2.0-0' ]
20015 silly lockFile 062b4488-once-1-1-1 once@~1.1.1
20016 verbose lock once@~1.1.1 /home/gary/.npm/062b4488-once-1-1-1.lock
20017 verbose cache add [ 'osenv@0.0.3', null ]
20018 verbose cache add name=undefined spec="osenv@0.0.3" args=["osenv@0.0.3",null]
20019 verbose parsed url { protocol: null,
20019 verbose parsed url slashes: null,
20019 verbose parsed url auth: null,
20019 verbose parsed url host: null,
20019 verbose parsed url port: null,
20019 verbose parsed url hostname: null,
20019 verbose parsed url hash: null,
20019 verbose parsed url search: null,
20019 verbose parsed url query: null,
20019 verbose parsed url pathname: 'osenv@0.0.3',
20019 verbose parsed url path: 'osenv@0.0.3',
20019 verbose parsed url href: 'osenv@0.0.3' }
20020 verbose cache add name="osenv" spec="0.0.3" args=["osenv","0.0.3"]
20021 verbose parsed url { protocol: null,
20021 verbose parsed url slashes: null,
20021 verbose parsed url auth: null,
20021 verbose parsed url host: null,
20021 verbose parsed url port: null,
20021 verbose parsed url hostname: null,
20021 verbose parsed url hash: null,
20021 verbose parsed url search: null,
20021 verbose parsed url query: null,
20021 verbose parsed url pathname: '0.0.3',
20021 verbose parsed url path: '0.0.3',
20021 verbose parsed url href: '0.0.3' }
20022 verbose addNamed [ 'osenv', '0.0.3' ]
20023 verbose addNamed [ '0.0.3', '0.0.3' ]
20024 silly lockFile 4085d016-osenv-0-0-3 osenv@0.0.3
20025 verbose lock osenv@0.0.3 /home/gary/.npm/4085d016-osenv-0-0-3.lock
20026 verbose cache add [ 'nopt@2', null ]
20027 verbose cache add name=undefined spec="nopt@2" args=["nopt@2",null]
20028 verbose parsed url { protocol: null,
20028 verbose parsed url slashes: null,
20028 verbose parsed url auth: null,
20028 verbose parsed url host: null,
20028 verbose parsed url port: null,
20028 verbose parsed url hostname: null,
20028 verbose parsed url hash: null,
20028 verbose parsed url search: null,
20028 verbose parsed url query: null,
20028 verbose parsed url pathname: 'nopt@2',
20028 verbose parsed url path: 'nopt@2',
20028 verbose parsed url href: 'nopt@2' }
20029 verbose cache add name="nopt" spec="2" args=["nopt","2"]
20030 verbose parsed url { protocol: null,
20030 verbose parsed url slashes: null,
20030 verbose parsed url auth: null,
20030 verbose parsed url host: null,
20030 verbose parsed url port: null,
20030 verbose parsed url hostname: null,
20030 verbose parsed url hash: null,
20030 verbose parsed url search: null,
20030 verbose parsed url query: null,
20030 verbose parsed url pathname: '2',
20030 verbose parsed url path: '2',
20030 verbose parsed url href: '2' }
20031 verbose addNamed [ 'nopt', '2' ]
20032 verbose addNamed [ null, '>=2.0.0-0 <3.0.0-0' ]
20033 silly lockFile 64594a3f-nopt-2 nopt@2
20034 verbose lock nopt@2 /home/gary/.npm/64594a3f-nopt-2.lock
20035 verbose cache add [ 'semver@~1.1.0', null ]
20036 verbose cache add name=undefined spec="semver@~1.1.0" args=["semver@~1.1.0",null]
20037 verbose parsed url { protocol: null,
20037 verbose parsed url slashes: null,
20037 verbose parsed url auth: null,
20037 verbose parsed url host: null,
20037 verbose parsed url port: null,
20037 verbose parsed url hostname: null,
20037 verbose parsed url hash: null,
20037 verbose parsed url search: null,
20037 verbose parsed url query: null,
20037 verbose parsed url pathname: 'semver@~1.1.0',
20037 verbose parsed url path: 'semver@~1.1.0',
20037 verbose parsed url href: 'semver@~1.1.0' }
20038 verbose cache add name="semver" spec="~1.1.0" args=["semver","~1.1.0"]
20039 verbose parsed url { protocol: null,
20039 verbose parsed url slashes: null,
20039 verbose parsed url auth: null,
20039 verbose parsed url host: null,
20039 verbose parsed url port: null,
20039 verbose parsed url hostname: null,
20039 verbose parsed url hash: null,
20039 verbose parsed url search: null,
20039 verbose parsed url query: null,
20039 verbose parsed url pathname: '~1.1.0',
20039 verbose parsed url path: '~1.1.0',
20039 verbose parsed url href: '~1.1.0' }
20040 verbose addNamed [ 'semver', '~1.1.0' ]
20041 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
20042 silly lockFile 384d7ac7-semver-1-1-0 semver@~1.1.0
20043 verbose lock semver@~1.1.0 /home/gary/.npm/384d7ac7-semver-1-1-0.lock
20044 verbose cache add [ 'ini@~1.1.0', null ]
20045 verbose cache add name=undefined spec="ini@~1.1.0" args=["ini@~1.1.0",null]
20046 verbose parsed url { protocol: null,
20046 verbose parsed url slashes: null,
20046 verbose parsed url auth: null,
20046 verbose parsed url host: null,
20046 verbose parsed url port: null,
20046 verbose parsed url hostname: null,
20046 verbose parsed url hash: null,
20046 verbose parsed url search: null,
20046 verbose parsed url query: null,
20046 verbose parsed url pathname: 'ini@~1.1.0',
20046 verbose parsed url path: 'ini@~1.1.0',
20046 verbose parsed url href: 'ini@~1.1.0' }
20047 verbose cache add name="ini" spec="~1.1.0" args=["ini","~1.1.0"]
20048 verbose parsed url { protocol: null,
20048 verbose parsed url slashes: null,
20048 verbose parsed url auth: null,
20048 verbose parsed url host: null,
20048 verbose parsed url port: null,
20048 verbose parsed url hostname: null,
20048 verbose parsed url hash: null,
20048 verbose parsed url search: null,
20048 verbose parsed url query: null,
20048 verbose parsed url pathname: '~1.1.0',
20048 verbose parsed url path: '~1.1.0',
20048 verbose parsed url href: '~1.1.0' }
20049 verbose addNamed [ 'ini', '~1.1.0' ]
20050 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
20051 silly lockFile d6a0c59d-ini-1-1-0 ini@~1.1.0
20052 verbose lock ini@~1.1.0 /home/gary/.npm/d6a0c59d-ini-1-1-0.lock
20053 silly gunzTarPerm extractEntry lib/optional.js
20054 info install wordwrap@0.0.2
20055 silly resolved [ { name: 'fs-extra',
20055 silly resolved version: '0.8.1',
20055 silly resolved description: 'fs-extra contains methods that aren\'t included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf.',
20055 silly resolved homepage: 'https://github.com/jprichardson/node-fs-extra',
20055 silly resolved repository:
20055 silly resolved { type: 'git',
20055 silly resolved url: 'https://github.com/jprichardson/node-fs-extra' },
20055 silly resolved keywords:
20055 silly resolved [ 'fs',
20055 silly resolved 'file',
20055 silly resolved 'file system',
20055 silly resolved 'copy',
20055 silly resolved 'directory',
20055 silly resolved 'extra',
20055 silly resolved 'mkdirp',
20055 silly resolved 'mkdir',
20055 silly resolved 'mkdirs',
20055 silly resolved 'recursive',
20055 silly resolved 'json',
20055 silly resolved 'read',
20055 silly resolved 'write',
20055 silly resolved 'extra',
20055 silly resolved 'delete',
20055 silly resolved 'remove',
20055 silly resolved 'touch',
20055 silly resolved 'create',
20055 silly resolved 'text',
20055 silly resolved 'output' ],
20055 silly resolved author: { name: 'JP Richardson', email: 'jprichardson@gmail.com' },
20055 silly resolved licenses: [ [Object] ],
20055 silly resolved dependencies:
20055 silly resolved { ncp: '~0.4.2',
20055 silly resolved mkdirp: '0.3.x',
20055 silly resolved jsonfile: '~1.1.0',
20055 silly resolved rimraf: '~2.2.0' },
20055 silly resolved devDependencies: { mocha: '*', 'path-extra': '0.0.x', testutil: '~0.5.0' },
20055 silly resolved main: './lib/index',
20055 silly resolved scripts: { test: 'mocha test' },
20055 silly resolved readme: '\nNode.js: fs-extra\n=================\n\n[![build status](https://secure.travis-ci.org/jprichardson/node-fs-extra.png)](http://travis-ci.org/jprichardson/node-fs-extra)\n\nThis module adds a few extra file system methods that aren\'t included in the native `fs` module. It is a drop in replacement for `fs`.\n\n\n\nWhy?\n----\n\nI got tired of including `mkdirp`, `rimraf`, and `cp -r` in most of my projects. \n\n\n\n\nInstallation\n------------\n\n npm install --save fs-extra\n\n\n\nUsage\n-----\n\n`fs-extra` is a drop in replacement for native `fs`. All methods in `fs` are unmodified and attached to `fs-extra`.\n\nYou don\'t ever need to include the original `fs` module again:\n\n```javascript\nvar fs = require(\'fs\') //this is no longer necessary\n```\n\nyou can now do this:\n\n```javascript\nvar fs = require(\'fs-extra\'); //var fs = require(\'fs\')\n```\n\nor if you prefer to make it clear that you\'re using `fs-extra` and not `fs`, you may want \nto do this:\n\n```javascript\n//var fs = require(\'fs\')\nvar fse = require(\'fs-extra\')\n```\n\nyou can also keep, both, but it\'s redundant:\n\n```javascript\nvar fs = require(\'fs\')\n , fse = require(\'fs-extra\')\n```\n\n\n\nMethods\n-------\n\n**NOTE:** You can still use the native Node.js methods. They are copied over to `fs-extra`.\n\n\n### copy(src, dest, [filter], callback)\n\nCopy a file or directory. The directory can have contents. Like `cp -r`. There isn\'t a synchronous version implemented yet.\n\nSync: `copySync()`\n\n\nExamples:\n\n```javascript\nvar fs = require(\'fs-extra\');\n\nfs.copy(\'/tmp/myfile\', \'/tmp/mynewfile\', function(err){\n if (err) return console.error(err);\n\n console.log("success!")\n}); //copies file\n\nfs.copy(\'/tmp/mydir\', \'/tmp/mynewdir\', function(err){\n if (err) return console.error(err);\n \n console.log("success!")\n}); //copies directory, even if it has subdirectories or files\n```\n\n\n### createFile(file, callback) \n\nCreates a file. If the file that is requested to be created is in directories that do not exist, these directories are created. If the file already exists, it is **NOT MODIFIED**.\n\nSync: `createFileSync()`\n\n\nExample:\n\n```javascript\nvar fs = require(\'fs-extra\')\n\nvar file = \'/tmp/this/path/does/not/exist/file.txt\'\n\nfs.createFile(file, function(err) {\n console.log(err); //null\n //file has now been created, including the directory it is to be placed in\n})\n```\n\n\n\n### mkdirs(dir, callback) \n\nCreates a directory. If the parent hierarchy doesn\'t exist, it\'s created. Like `mkdir -p`.\n\nAlias: `mkdirp()`\n\nSync: `mkdirsSync()` / `mkdirpSync()`\n\n\nExamples:\n\n```javascript\nvar fs = require(\'fs-extra\');\n\nfs.mkdirs(\'/tmp/some/long/path/that/prob/doesnt/exist\', function(err){\n if (err) return console.error(err);\n \n console.log("success!")\n});\n\nfs.mkdirsSync(\'/tmp/another/path\');\n```\n\n\n### outputFile(file, data, callback)\n\nAlmost the same as `writeFile`, except that if the directory does not exist, it\'s created.\n\nSync: `outputFileSync()`\n\n\nExample:\n\n```javascript\nvar fs = require(\'fs-extra\')\nvar file = \'/tmp/this/path/does/not/exist/file.txt\'\n\nfs.outputFile(file, \'hello!\', function(err) {\n console.log(err); //null\n\n fs.readFile(file, \'utf8\', function(err, data) {\n console.log(data); //hello!\n })\n})\n```\n\n\n\n### outputJson(file, data, callback)\n\nAlmost the same as `writeJson`, except that if the directory does not exist, it\'s created.\n\nAlias: `outputJSON()\n\nSync: `outputJsonSync()`, `outputJSONSync()`\n\n\nExample:\n\n```javascript\nvar fs = require(\'fs-extra\')\nvar file = \'/tmp/this/path/does/not/exist/file.txt\'\n\nfs.outputJson(file, {name: \'JP\'}, function(err) {\n console.log(err); //null\n\n fs.readJson(file, function(err, data) {\n console.log(data.name); //\'JP\n })\n})\n```\n\n\n\n### readJson(file, [options], callback) \n\nReads a JSON file and then parses it into an object. `options` are the same that you\'d pass to `fs.readFile`.\n\nAlias: `readJSON()`\n\nSync: `readJsonSync()`, `readJSONSync()`\n\n\nExample:\n\n```javascript\nvar fs = require(\'fs-extra\');\n\nfs.readJson(\'./package.json\', function(err, packageObj) {\n console.log(packageObj.version); //0.1.3\n});\n```\n\n\n### remove(dir, callback)\n\nRemoves a file or directory. The directory can have contents. Like `rm -rf`.\n\nAlias: `delete()`\n\nSync: `removeSync()` / `deleteSync()`\n\n\nExamples:\n\n```javascript\nvar fs = require(\'fs-extra\');\n\nfs.remove(\'/tmp/myfile\', function(err){\n if (err) return console.error(err);\n \n console.log("success!")\n});\n\nfs.removeSync(\'/home/jprichardson\'); //I just deleted my entire HOME directory. \n```\n\n\n\n### writeJson(file, object, [options], callback) \n\nWrites an object to a JSON file. `options` are the same that you\'d pass to `fs.readFile`.\n\nAlias: `writeJSON()`\n\nSync: `writeJsonSync()`, `writeJSONSync()`\n\nExample:\n\n```javascript\nvar fs = require(\'fs-extra\');\nfs.writeJson(\'./package.json\', {name: \'fs-extra\'}, function(err){\n console.log(err);\n});\n```\n\n\n\nRoadmap to 1.0.0\n-----------------\n\nThis contains items that I\'m considering doing. I\'d love community feedback.\n\n* File system walker. I really like this one: https://github.com/daaku/nodejs-walker ... this might be adding too much. Thoughts?\n* File/directory tree watcher. There are quite a few. ... this also might be adding too much. I like this one: https://github.com/paulmillr/chokidar but I don\'t like that it\'s written in CoffeeScript. Thoughts?\n* Method to move files.\n* Thinking about moving `rimraf`, `ncp`, and `mkdirps` code into this library. I\'d like fs-extra to be a stable library that module authors\ncan depend upon. A bunch of other dependencies kinda sucks for modules/libraries. (I\'m leaning against this now.)\n* Change documentation to use the `fse` prefix instead of `fs`. This may encourage people to start using `fse` as a prefix and hence make their code clearer that they\'re not using the native `fs`. I\'m very undecided on this one since `fs-extra` is a drop in replacement for the native `fs`. (I\'m leaning against this now.)\n\n\n\nNaming\n------\n\nI put a lot of thought into the naming of these functions. Inspired by @coolaj86\'s request. So he deserves much of the credit for raising the issue. See discussion(s) here:\n\n* https://github.com/jprichardson/node-fs-extra/issues/2\n* https://github.com/flatiron/utile/issues/11\n* https://github.com/ryanmcgrath/wrench-js/issues/29\n* https://github.com/substack/node-mkdirp/issues/17\n\nFirst, I believe that in as many cases as possible, the [Node.js naming schemes](http://nodejs.org/api/fs.html) should be chosen. However, there are problems with the Node.js own naming schemes.\n\nFor example, `fs.readFile()` and `fs.readdir()`: the **F** is capitalized in *File* and the **d** is not capitalized in *dir*. Perhaps a bit pedantic, but they should still be consistent. Also, Node.js has chosen a lot of POSIX naming schemes, which I believe is great. See: `fs.mkdir()`, `fs.rmdir()`, `fs.chown()`, etc.\n\nWe have a dilemma though. How do you consistently name methods that perform the following POSIX commands: `cp`, `cp -r`, `mkdir -p`, and `rm -rf`?\n\nMy perspective: when in doubt, err on the side of simplicity. A directory is just a hierarchical grouping of directories and files. Consider that for a moment. So when you want to copy it or remove it, in most cases you\'ll want to copy or remove all of its contents. When you want to create a directory, if the directory that it\'s suppose to be contained in does not exist, then in most cases you\'ll want to create that too. \n\nSo, if you want to remove a file or a directory regardless of whether it has contents, just call `fs.remove(path)` or its alias `fs.delete(path)`. If you want to copy a file or a directory whether it has contents, just call `fs.copy(source, destination)`. If you want to create a directory regardless of whether its parent directories exist, just call `fs.mkdirs(path)` or `fs.mkdirp(path)`. \n\n\nCredit\n------\n\n`fs-extra` wouldn\'t be possible without using the modules from the following authors:\n\n- [Isaac Shlueter](https://github.com/isaacs)\n- [Charlie McConnel](https://github.com/avianflu)\n- [James Halliday](https://github.com/substack)\n\n\nContributions\n-------------\n\nIf you want to contribute, please add a test if you can. Also, don\'t change the version in `package.json`.\n\n\n### Contributors\n\n- [JP Richardson](https://github.com/jprichardson)\n- [Mike McNeil](https://github.com/mikermcneil)\n- [Ian Crowther](https://github.com/iancrowther)\n- [Stephen Mathieson](https://github.com/stephenmathieson)\n- [Srirangan](https://github.com/Srirangan)\n- [Uli Köhler](https://github.com/ulikoehler)\n- `<your name here>`\n\n\n\n\nLicense\n-------\n\n\nLicensed under MIT\n\nCopyright (c) 2011-2013 JP Richardson\n\n[1]: http://nodejs.org/docs/latest/api/fs.html \n\n\n[jsonfile]: https://github.com/jprichardson/node-jsonfile\n\n\n\n\n\n',
20055 silly resolved readmeFilename: 'README.md',
20055 silly resolved bugs: { url: 'https://github.com/jprichardson/node-fs-extra/issues' },
20055 silly resolved _id: 'fs-extra@0.8.1',
20055 silly resolved _shasum: '0e5779ffbfedf511bc755595c7f03c06d4b43e8d',
20055 silly resolved _from: 'fs-extra@~0.8.1',
20055 silly resolved _resolved: 'https://registry.npmjs.org/fs-extra/-/fs-extra-0.8.1.tgz' },
20055 silly resolved { name: 'complexity-report',
20055 silly resolved version: '0.6.2',
20055 silly resolved author: { name: 'Phil Booth', email: 'pmbooth@gmail.com' },
20055 silly resolved description: 'A tool for reporting code complexity metrics in JavaScript projects.',
20055 silly resolved contributors: { name: 'Phil Booth', email: 'pmbooth@gmail.com' },
20055 silly resolved bin: { cr: './src/cli.js' },
20055 silly resolved main: './src/complexityReport.js',
20055 silly resolved repository:
20055 silly resolved { type: 'git',
20055 silly resolved url: 'https://github.com/philbooth/complexityReport.js' },
20055 silly resolved keywords:
20055 silly resolved [ 'complexity',
20055 silly resolved 'simplicity',
20055 silly resolved 'cyclomatic',
20055 silly resolved 'halstead',
20055 silly resolved 'maintainability',
20055 silly resolved 'static',
20055 silly resolved 'analysis',
20055 silly resolved 'metrics',
20055 silly resolved 'esprima' ],
20055 silly resolved dependencies: { 'check-types': '0.3.x', esprima: '1.0.x', commander: '1.1.x' },
20055 silly resolved devDependencies: { jake: '0.5.x', jshint: '0.9.x', mocha: '1.7.x', chai: '1.4.x' },
20055 silly resolved license: 'MIT',
20055 silly resolved scripts: { test: 'jake test' },
20055 silly resolved readme: '# complexityReport.js\n\n[![Build status][ci-image]][ci-status]\n\nA tool for reporting code complexity metrics in JavaScript projects.\nCurrently the tool reports on:\n\n* lines of code;\n* cyclomatic complexity;\n* Halstead metrics;\n* maintainability index.\n\nThe tool can be configured to fail\nwhen complexity metrics pass a specified threshold,\nto aid its usefulness in automated environments / CI.\nThere are also options\nfor controlling how metrics are calculated\nand the format of the report output.\n\nThe metrics are calculated by walking syntax trees\ngenerated by the [Esprima] parser.\n\nFor people who are only interested in analysing small amounts of code\nand don\'t want to download the tool,\nthere is also a web front-end available:\n\n* [JSComplexity.org][jscomplexity]\n\n## Installation\n\n### Local to the current project\n\n```\nnpm install complexity-report\n```\n\n### Globally for all projects\n\n```\nsudo npm install -g complexity-report\n```\n\n## Usage\n\n### From the command line\n\n```\ncr [options] <file...>\n```\n\n#### Options\n\n* `-o <file>`: Specify an output file for the report,\n defaults to `stdout`.\n* `-f <format>`: Specify an output format for the report,\n defaults to `plain`.\n* `-m <maintainability>`: Specify the per-module maintainability index threshold\n (beyond which, the process will fail when exiting).\n* `-c <complexity>`: Specify the per-function cyclomatic complexity threshold\n (beyond which, the process will fail when exiting).\n* `-d <difficulty>`: Specify the per-function Halstead difficulty threshold\n (beyond which, the process will fail when exiting).\n* `-v <volume>`: Specify the per-function Halstead volume threshold\n (beyond which, the process will fail when exiting).\n* `-e <effort>`: Specify the per-function Halstead effort threshold\n (beyond which, the process will fail when exiting).\n* `-s`: Silences the console output.\n* `-l`: Disregards operator `||` as a source of cyclomatic complexity.\n* `-w`: Disregards `switch` statements as a source of cyclomatic complexity.\n* `-i`: Treats `for`...`in` loops as a source of cyclomatic complexity.\n* `-c`: Treats `catch` clauses as a source of cyclomatic complexity.\n\n#### Output formats\n\nCurrently there are four output formats supported:\n`plain`,\n`minimal`,\n`json`\nand `xml`.\nThese are loaded with `require`\nfrom the `src/formats` subdirectory\nand adding new formats is really easy.\nEach format module must export a function `format`,\nwhich takes a report object as its only argument\nand returns its string representation of the report.\nSee `src/formats/plain.js` for an example format.\n\n### From code\n\n#### Loading the library\n\n```\nvar cr = require(\'complexity-report\');\n```\n\n#### Calling the library\n\n```\nvar report = cr.run(source, options);\n```\n\nThe argument `source` must be a string\ncontaining the source code that is to be analysed.\nThe argument `options` is an optional object\nwhich may contain properties that modify\ncyclomatic complexity calculation.\nThe following options are available:\n\n* `logicalor`: Boolean indicating whether operator `||`\n should be considered a source of cyclomatic complexity,\n defaults to `true`.\n* `switchcase`: Boolean indicating whether `switch` statements\n should be considered a source of cyclomatic complexity,\n defaults to `true`.\n* `forin`: Boolean indicating whether `for`...`in` loops\n should be considered a source of cyclomatic complexity,\n defaults to `false`.\n* `trycatch`: Boolean indicating whether `catch` clauses\n should be considered a source of cyclomatic complexity,\n defaults to `false`.\n\nThe returned report is an object\nthat contains properties detailing the complexity\nof each function from the source code.\nThere is also\na maintainability index\nas well as aggregate complexity metrics\nfor the source in its entirety.\n\n## Related projects\n\nThere are two projects\nthat generate chart visualizations\nof complexiytReport.js metrics:\n\n* [Gleb Bahmutov][gleb]\'s [js-complexity-viz];\n* [Jarrod Overson][jarrod]\'s [Plato].\n\n## Development\n\n### Roadmap\n\nThe short-term plan is\nto write more output formats\nand open up lots more options\nfor external configuration of the analysis.\n\nI also need to spend some time\nthrowing more complex test cases at it,\nto flush out all of the edge cases\nthat I\'m probably not yet handling.\nTo this end,\nit would be great to hear from people\nthat have run the tool\nagainst their own codebases.\nThe bigger and uglier, the better!\nIf you spot any issues,\nplease raise them in the [tracker].\n\nIn the longer term,\nI have some vague ideas concerning\nhow to track trends in a codebase over time.\nVisualisations is another area that could be pretty sweet to look into.\n\nIf you think there\'s anything else I should look at,\nplease raise an issue or, even better,\nfeel free to implement it and submit a pull request! `:)`\n\n### Dependencies\n\nThe build environment relies on\n[Node.js][node],\n[NPM],\n[Jake],\n[JSHint],\n[Mocha] and\n[Chai].\nAssuming that you already have Node.js and NPM set up,\nyou just need to run `npm install`\nto install all of the dependencies\nas listed in `package.json`.\n\n### Tests\n\nThe tests are in `test/complexityReport.js`. You can run them with the\ncommand `npm test` or `jake test`.\n\n[ci-image]: https://secure.travis-ci.org/philbooth/complexityReport.js.png?branch=master\n[ci-status]: http://travis-ci.org/#!/philbooth/complexityReport.js\n[esprima]: http://esprima.org/\n[jscomplexity]: http://jscomplexity.org/\n[gleb]: https://github.com/bahmutov\n[js-complexity-viz]: https://github.com/bahmutov/js-complexity-viz\n[jarrod]: http://jarrodoverson.com/blog/about\n[plato]: https://github.com/jsoverson/plato\n[tracker]: https://github.com/philbooth/complexityReport.js/issues\n[node]: http://nodejs.org/\n[npm]: https://npmjs.org/\n[jake]: https://github.com/mde/jake\n[jshint]: https://github.com/jshint/node-jshint\n[mocha]: http://visionmedia.github.com/mocha\n[chai]: http://chaijs.com/\n\n',
20055 silly resolved readmeFilename: 'README.md',
20055 silly resolved bugs: { url: 'https://github.com/philbooth/complexityReport.js/issues' },
20055 silly resolved homepage: 'https://github.com/philbooth/complexityReport.js',
20055 silly resolved _id: 'complexity-report@0.6.2',
20055 silly resolved _shasum: '5e02e0a7664828d0cb5adff43cad2977844820fc',
20055 silly resolved _from: 'complexity-report@0.6.x',
20055 silly resolved _resolved: 'https://registry.npmjs.org/complexity-report/-/complexity-report-0.6.2.tgz' } ]
20056 info install fs-extra@0.8.1 into /home/gary/code/email-transactional-app/node_modules/grunt-complexity
20057 info install complexity-report@0.6.2 into /home/gary/code/email-transactional-app/node_modules/grunt-complexity
20058 info installOne fs-extra@0.8.1
20059 info installOne complexity-report@0.6.2
20060 info postinstall sequence@2.2.1
20061 silly gunzTarPerm extractEntry lib/public/icons/page_white_picture.png
20062 silly gunzTarPerm extractEntry lib/public/icons/page_white_powerpoint.png
20063 verbose tar unpack /home/gary/.npm/uuid/1.4.1/package.tgz
20064 silly lockFile 06c1800f-dules-tempfile-node-modules-uuid tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/tempfile/node_modules/uuid
20065 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/tempfile/node_modules/uuid /home/gary/.npm/06c1800f-dules-tempfile-node-modules-uuid.lock
20066 silly lockFile 7dd94639--gary-npm-uuid-1-4-1-package-tgz tar:///home/gary/.npm/uuid/1.4.1/package.tgz
20067 verbose lock tar:///home/gary/.npm/uuid/1.4.1/package.tgz /home/gary/.npm/7dd94639--gary-npm-uuid-1-4-1-package-tgz.lock
20068 silly gunzTarPerm modes [ '755', '644' ]
20069 silly addNameRange { name: 'config-chain',
20069 silly addNameRange range: '>=1.1.1-0 <1.2.0-0',
20069 silly addNameRange hasData: false }
20070 silly addNameRange { name: 'inherits', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
20071 info install get-urls@0.1.2
20072 info preinstall decompress@0.2.4
20073 info /home/gary/code/email-transactional-app/node_modules/grunt-complexity/node_modules/fs-extra unbuild
20074 info /home/gary/code/email-transactional-app/node_modules/grunt-complexity/node_modules/complexity-report unbuild
20075 silly gunzTarPerm extractEntry number/MAX_UINT.js
20076 silly gunzTarPerm extractEntry number/toUInt31.js
20077 silly gunzTarPerm extractEntry cookiejar.js
20078 verbose url raw config-chain
20079 verbose url resolving [ 'https://registry.npmjs.org/', './config-chain' ]
20080 verbose url resolved https://registry.npmjs.org/config-chain
20081 info trying registry request attempt 1 at 14:03:24
20082 http GET https://registry.npmjs.org/config-chain
20083 silly addNameRange { name: 'once', range: '>=1.1.1-0 <1.2.0-0', hasData: false }
20084 http 200 https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz
20085 silly addNameRange { name: 'nopt', range: '>=2.0.0-0 <3.0.0-0', hasData: false }
20086 silly addNameRange { name: 'semver', range: '>=1.1.0-0 <1.2.0-0', hasData: false }
20087 silly addNameRange { name: 'ini', range: '>=1.1.0-0 <1.2.0-0', hasData: false }
20088 verbose url raw inherits
20089 verbose url resolving [ 'https://registry.npmjs.org/', './inherits' ]
20090 verbose url resolved https://registry.npmjs.org/inherits
20091 info trying registry request attempt 1 at 14:03:24
20092 http GET https://registry.npmjs.org/inherits
20093 info postinstall wordwrap@0.0.2
20094 verbose about to build /home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync
20095 info build /home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules/forEachAsync
20096 verbose linkStuff [ false,
20096 verbose linkStuff false,
20096 verbose linkStuff false,
20096 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk/node_modules' ]
20097 info linkStuff forEachAsync@2.2.1
20098 verbose linkBins forEachAsync@2.2.1
20099 verbose linkMans forEachAsync@2.2.1
20100 verbose rebuildBundles forEachAsync@2.2.1
20101 silly gunzTarPerm extractEntry cli.js
20102 silly gunzTarPerm extractEntry get-urls.js
20103 silly gunzTarPerm modes [ '755', '644' ]
20104 silly gunzTarPerm extractEntry index.js
20105 verbose url raw once
20106 verbose url resolving [ 'https://registry.npmjs.org/', './once' ]
20107 verbose url resolved https://registry.npmjs.org/once
20108 info trying registry request attempt 1 at 14:03:24
20109 http GET https://registry.npmjs.org/once
20110 verbose url raw osenv
20111 verbose url resolving [ 'https://registry.npmjs.org/', './osenv' ]
20112 verbose url resolved https://registry.npmjs.org/osenv
20113 info trying registry request attempt 1 at 14:03:24
20114 http GET https://registry.npmjs.org/osenv
20115 silly lockFile 0b9c0212-js-org-methods-methods-0-0-1-tgz https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
20116 silly lockFile 0b9c0212-js-org-methods-methods-0-0-1-tgz https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
20117 info postinstall get-urls@0.1.2
20118 verbose rebuildBundles [ 'sequence' ]
20119 info install forEachAsync@2.2.1
20120 silly gunzTarPerm modes [ '755', '644' ]
20121 silly gunzTarPerm extractEntry each-async.js
20122 silly gunzTarPerm extractEntry readme.md
20123 http 200 https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz
20124 silly lockFile 209c2920-methods-0-0-1 methods@0.0.1
20125 silly lockFile 209c2920-methods-0-0-1 methods@0.0.1
20126 verbose readDependencies using package.json deps
20127 silly gunzTarPerm extractEntry .travis.yml
20128 silly gunzTarPerm extractEntry bin/ncp
20129 verbose tar unpack /home/gary/.npm/fs-extra/0.8.1/package.tgz
20130 silly lockFile 38664a8b-complexity-node-modules-fs-extra tar:///home/gary/code/email-transactional-app/node_modules/grunt-complexity/node_modules/fs-extra
20131 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-complexity/node_modules/fs-extra /home/gary/.npm/38664a8b-complexity-node-modules-fs-extra.lock
20132 silly lockFile 04fd0714-y-npm-fs-extra-0-8-1-package-tgz tar:///home/gary/.npm/fs-extra/0.8.1/package.tgz
20133 verbose lock tar:///home/gary/.npm/fs-extra/0.8.1/package.tgz /home/gary/.npm/04fd0714-y-npm-fs-extra-0-8-1-package-tgz.lock
20134 verbose tar unpack /home/gary/.npm/complexity-report/0.6.2/package.tgz
20135 silly lockFile 3957ac99-y-node-modules-complexity-report tar:///home/gary/code/email-transactional-app/node_modules/grunt-complexity/node_modules/complexity-report
20136 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-complexity/node_modules/complexity-report /home/gary/.npm/3957ac99-y-node-modules-complexity-report.lock
20137 silly lockFile 03cb3ee6-plexity-report-0-6-2-package-tgz tar:///home/gary/.npm/complexity-report/0.6.2/package.tgz
20138 verbose lock tar:///home/gary/.npm/complexity-report/0.6.2/package.tgz /home/gary/.npm/03cb3ee6-plexity-report-0-6-2-package-tgz.lock
20139 verbose readDependencies using package.json deps
20140 info postinstall forEachAsync@2.2.1
20141 silly gunzTarPerm extractEntry package.json
20142 silly gunzTarPerm extractEntry readme.md
20143 silly gunzTarPerm extractEntry package.json
20144 silly gunzTarPerm modes [ '755', '644' ]
20145 silly lockFile 4f921bc8-ed-streamtmp-94fd24c03f08package tar:///home/gary/.npm/combined-streamtmp_94fd24c03f08package
20146 silly lockFile 4f921bc8-ed-streamtmp-94fd24c03f08package tar:///home/gary/.npm/combined-streamtmp_94fd24c03f08package
20147 silly gunzTarPerm extractEntry .npmignore
20148 silly gunzTarPerm extractEntry package.json
20149 verbose cache add [ 'adm-zip@^0.4.3', null ]
20150 verbose cache add name=undefined spec="adm-zip@^0.4.3" args=["adm-zip@^0.4.3",null]
20151 verbose parsed url { protocol: null,
20151 verbose parsed url slashes: null,
20151 verbose parsed url auth: null,
20151 verbose parsed url host: null,
20151 verbose parsed url port: null,
20151 verbose parsed url hostname: null,
20151 verbose parsed url hash: null,
20151 verbose parsed url search: null,
20151 verbose parsed url query: null,
20151 verbose parsed url pathname: 'adm-zip@^0.4.3',
20151 verbose parsed url path: 'adm-zip@^0.4.3',
20151 verbose parsed url href: 'adm-zip@^0.4.3' }
20152 verbose cache add name="adm-zip" spec="^0.4.3" args=["adm-zip","^0.4.3"]
20153 verbose parsed url { protocol: null,
20153 verbose parsed url slashes: null,
20153 verbose parsed url auth: null,
20153 verbose parsed url host: null,
20153 verbose parsed url port: null,
20153 verbose parsed url hostname: null,
20153 verbose parsed url hash: null,
20153 verbose parsed url search: null,
20153 verbose parsed url query: null,
20153 verbose parsed url pathname: '^0.4.3',
20153 verbose parsed url path: '^0.4.3',
20153 verbose parsed url href: '^0.4.3' }
20154 verbose addNamed [ 'adm-zip', '^0.4.3' ]
20155 verbose addNamed [ null, '>=0.4.3-0 <0.5.0-0' ]
20156 silly lockFile da7ee867-adm-zip-0-4-3 adm-zip@^0.4.3
20157 verbose lock adm-zip@^0.4.3 /home/gary/.npm/da7ee867-adm-zip-0-4-3.lock
20158 verbose registry.get nopt not expired, no request
20159 silly addNameRange number 2 { name: 'nopt', range: '>=2.0.0-0 <3.0.0-0', hasData: true }
20160 silly addNameRange versions [ 'nopt',
20160 silly addNameRange [ '1.0.0',
20160 silly addNameRange '1.0.1',
20160 silly addNameRange '1.0.2',
20160 silly addNameRange '1.0.3',
20160 silly addNameRange '1.0.4',
20160 silly addNameRange '1.0.5',
20160 silly addNameRange '1.0.6',
20160 silly addNameRange '1.0.7',
20160 silly addNameRange '1.0.8',
20160 silly addNameRange '1.0.9',
20160 silly addNameRange '1.0.10',
20160 silly addNameRange '2.0.0',
20160 silly addNameRange '2.1.0',
20160 silly addNameRange '2.1.1',
20160 silly addNameRange '2.1.2',
20160 silly addNameRange '2.2.0',
20160 silly addNameRange '2.2.1' ] ]
20161 verbose addNamed [ 'nopt', '2.2.1' ]
20162 verbose addNamed [ '2.2.1', '2.2.1' ]
20163 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
20164 verbose lock nopt@2.2.1 /home/gary/.npm/d02d193f-nopt-2-2-1.lock
20165 verbose registry.get semver not expired, no request
20166 silly addNameRange number 2 { name: 'semver', range: '>=1.1.0-0 <1.2.0-0', hasData: true }
20167 silly addNameRange versions [ 'semver',
20167 silly addNameRange [ '1.0.0',
20167 silly addNameRange '1.0.1',
20167 silly addNameRange '1.0.2',
20167 silly addNameRange '1.0.3',
20167 silly addNameRange '1.0.4',
20167 silly addNameRange '1.0.5',
20167 silly addNameRange '1.0.6',
20167 silly addNameRange '1.0.7',
20167 silly addNameRange '1.0.8',
20167 silly addNameRange '1.0.9',
20167 silly addNameRange '1.0.10',
20167 silly addNameRange '1.0.11',
20167 silly addNameRange '1.0.12',
20167 silly addNameRange '1.0.13',
20167 silly addNameRange '1.0.14',
20167 silly addNameRange '1.1.0',
20167 silly addNameRange '1.1.1',
20167 silly addNameRange '1.1.2',
20167 silly addNameRange '1.1.3',
20167 silly addNameRange '1.1.4',
20167 silly addNameRange '2.0.0-alpha',
20167 silly addNameRange '2.0.0-beta',
20167 silly addNameRange '2.0.1',
20167 silly addNameRange '2.0.2',
20167 silly addNameRange '2.0.3',
20167 silly addNameRange '2.0.4',
20167 silly addNameRange '2.0.5',
20167 silly addNameRange '2.0.6',
20167 silly addNameRange '2.0.7',
20167 silly addNameRange '2.0.8',
20167 silly addNameRange '2.0.9',
20167 silly addNameRange '2.0.10',
20167 silly addNameRange '2.0.11',
20167 silly addNameRange '2.1.0',
20167 silly addNameRange '2.2.0',
20167 silly addNameRange '2.2.1',
20167 silly addNameRange '2.3.0' ] ]
20168 verbose addNamed [ 'semver', '1.1.4' ]
20169 verbose addNamed [ '1.1.4', '1.1.4' ]
20170 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
20171 verbose lock semver@1.1.4 /home/gary/.npm/da52979e-semver-1-1-4.lock
20172 verbose registry.get ini not expired, no request
20173 silly addNameRange number 2 { name: 'ini', range: '>=1.1.0-0 <1.2.0-0', hasData: true }
20174 silly addNameRange versions [ 'ini',
20174 silly addNameRange [ '1.0.0',
20174 silly addNameRange '1.0.1',
20174 silly addNameRange '1.0.2',
20174 silly addNameRange '1.0.3',
20174 silly addNameRange '1.0.4',
20174 silly addNameRange '1.0.5',
20174 silly addNameRange '1.1.0',
20174 silly addNameRange '1.2.0',
20174 silly addNameRange '1.2.1' ] ]
20175 verbose addNamed [ 'ini', '1.1.0' ]
20176 verbose addNamed [ '1.1.0', '1.1.0' ]
20177 silly lockFile f80c58e4-ini-1-1-0 ini@1.1.0
20178 verbose lock ini@1.1.0 /home/gary/.npm/f80c58e4-ini-1-1-0.lock
20179 silly lockFile 723bd980-02891-0-6075116228312254-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077802891-0.6075116228312254/tmp.tgz
20180 silly lockFile 723bd980-02891-0-6075116228312254-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077802891-0.6075116228312254/tmp.tgz
20181 silly lockFile 8b7a1f13-s-download-node-modules-through2 tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/through2
20182 silly lockFile 8b7a1f13-s-download-node-modules-through2 tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/through2
20183 silly gunzTarPerm modes [ '755', '644' ]
20184 silly gunzTarPerm modes [ '755', '644' ]
20185 verbose about to build /home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk
20186 info build /home/gary/code/email-transactional-app/node_modules/hbs/node_modules/walk
20187 verbose linkStuff [ false,
20187 verbose linkStuff false,
20187 verbose linkStuff false,
20187 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/hbs/node_modules' ]
20188 info linkStuff walk@2.2.1
20189 verbose linkBins walk@2.2.1
20190 verbose linkMans walk@2.2.1
20191 verbose rebuildBundles walk@2.2.1
20192 silly gunzTarPerm extractEntry test/utils.js
20193 silly gunzTarPerm extractEntry example/usage.js
20194 silly gunzTarPerm extractEntry package.json
20195 verbose cache add [ 'extname@^0.1.1', null ]
20196 verbose cache add name=undefined spec="extname@^0.1.1" args=["extname@^0.1.1",null]
20197 verbose parsed url { protocol: null,
20197 verbose parsed url slashes: null,
20197 verbose parsed url auth: null,
20197 verbose parsed url host: null,
20197 verbose parsed url port: null,
20197 verbose parsed url hostname: null,
20197 verbose parsed url hash: null,
20197 verbose parsed url search: null,
20197 verbose parsed url query: null,
20197 verbose parsed url pathname: 'extname@^0.1.1',
20197 verbose parsed url path: 'extname@^0.1.1',
20197 verbose parsed url href: 'extname@^0.1.1' }
20198 verbose cache add name="extname" spec="^0.1.1" args=["extname","^0.1.1"]
20199 verbose parsed url { protocol: null,
20199 verbose parsed url slashes: null,
20199 verbose parsed url auth: null,
20199 verbose parsed url host: null,
20199 verbose parsed url port: null,
20199 verbose parsed url hostname: null,
20199 verbose parsed url hash: null,
20199 verbose parsed url search: null,
20199 verbose parsed url query: null,
20199 verbose parsed url pathname: '^0.1.1',
20199 verbose parsed url path: '^0.1.1',
20199 verbose parsed url href: '^0.1.1' }
20200 verbose addNamed [ 'extname', '^0.1.1' ]
20201 verbose addNamed [ null, '>=0.1.1-0 <0.2.0-0' ]
20202 silly lockFile cfae28ba-extname-0-1-1 extname@^0.1.1
20203 verbose lock extname@^0.1.1 /home/gary/.npm/cfae28ba-extname-0-1-1.lock
20204 verbose cache add [ 'map-key@^0.1.1', null ]
20205 verbose cache add name=undefined spec="map-key@^0.1.1" args=["map-key@^0.1.1",null]
20206 verbose parsed url { protocol: null,
20206 verbose parsed url slashes: null,
20206 verbose parsed url auth: null,
20206 verbose parsed url host: null,
20206 verbose parsed url port: null,
20206 verbose parsed url hostname: null,
20206 verbose parsed url hash: null,
20206 verbose parsed url search: null,
20206 verbose parsed url query: null,
20206 verbose parsed url pathname: 'map-key@^0.1.1',
20206 verbose parsed url path: 'map-key@^0.1.1',
20206 verbose parsed url href: 'map-key@^0.1.1' }
20207 verbose cache add name="map-key" spec="^0.1.1" args=["map-key","^0.1.1"]
20208 verbose parsed url { protocol: null,
20208 verbose parsed url slashes: null,
20208 verbose parsed url auth: null,
20208 verbose parsed url host: null,
20208 verbose parsed url port: null,
20208 verbose parsed url hostname: null,
20208 verbose parsed url hash: null,
20208 verbose parsed url search: null,
20208 verbose parsed url query: null,
20208 verbose parsed url pathname: '^0.1.1',
20208 verbose parsed url path: '^0.1.1',
20208 verbose parsed url href: '^0.1.1' }
20209 verbose addNamed [ 'map-key', '^0.1.1' ]
20210 verbose addNamed [ null, '>=0.1.1-0 <0.2.0-0' ]
20211 silly lockFile 91819bb8-map-key-0-1-1 map-key@^0.1.1
20212 verbose lock map-key@^0.1.1 /home/gary/.npm/91819bb8-map-key-0-1-1.lock
20213 verbose cache add [ 'rimraf@^2.2.2', null ]
20214 verbose cache add name=undefined spec="rimraf@^2.2.2" args=["rimraf@^2.2.2",null]
20215 verbose parsed url { protocol: null,
20215 verbose parsed url slashes: null,
20215 verbose parsed url auth: null,
20215 verbose parsed url host: null,
20215 verbose parsed url port: null,
20215 verbose parsed url hostname: null,
20215 verbose parsed url hash: null,
20215 verbose parsed url search: null,
20215 verbose parsed url query: null,
20215 verbose parsed url pathname: 'rimraf@^2.2.2',
20215 verbose parsed url path: 'rimraf@^2.2.2',
20215 verbose parsed url href: 'rimraf@^2.2.2' }
20216 verbose cache add name="rimraf" spec="^2.2.2" args=["rimraf","^2.2.2"]
20217 verbose parsed url { protocol: null,
20217 verbose parsed url slashes: null,
20217 verbose parsed url auth: null,
20217 verbose parsed url host: null,
20217 verbose parsed url port: null,
20217 verbose parsed url hostname: null,
20217 verbose parsed url hash: null,
20217 verbose parsed url search: null,
20217 verbose parsed url query: null,
20217 verbose parsed url pathname: '^2.2.2',
20217 verbose parsed url path: '^2.2.2',
20217 verbose parsed url href: '^2.2.2' }
20218 verbose addNamed [ 'rimraf', '^2.2.2' ]
20219 verbose addNamed [ null, '>=2.2.2-0 <3.0.0-0' ]
20220 silly lockFile 75819509-rimraf-2-2-2 rimraf@^2.2.2
20221 verbose lock rimraf@^2.2.2 /home/gary/.npm/75819509-rimraf-2-2-2.lock
20222 verbose cache add [ 'stream-combiner@^0.0.4', null ]
20223 verbose cache add name=undefined spec="stream-combiner@^0.0.4" args=["stream-combiner@^0.0.4",null]
20224 verbose parsed url { protocol: null,
20224 verbose parsed url slashes: null,
20224 verbose parsed url auth: null,
20224 verbose parsed url host: null,
20224 verbose parsed url port: null,
20224 verbose parsed url hostname: null,
20224 verbose parsed url hash: null,
20224 verbose parsed url search: null,
20224 verbose parsed url query: null,
20224 verbose parsed url pathname: 'stream-combiner@^0.0.4',
20224 verbose parsed url path: 'stream-combiner@^0.0.4',
20224 verbose parsed url href: 'stream-combiner@^0.0.4' }
20225 verbose cache add name="stream-combiner" spec="^0.0.4" args=["stream-combiner","^0.0.4"]
20226 verbose parsed url { protocol: null,
20226 verbose parsed url slashes: null,
20226 verbose parsed url auth: null,
20226 verbose parsed url host: null,
20226 verbose parsed url port: null,
20226 verbose parsed url hostname: null,
20226 verbose parsed url hash: null,
20226 verbose parsed url search: null,
20226 verbose parsed url query: null,
20226 verbose parsed url pathname: '^0.0.4',
20226 verbose parsed url path: '^0.0.4',
20226 verbose parsed url href: '^0.0.4' }
20227 verbose addNamed [ 'stream-combiner', '^0.0.4' ]
20228 verbose addNamed [ null, '=0.0.4' ]
20229 silly lockFile 0da93980-stream-combiner-0-0-4 stream-combiner@^0.0.4
20230 verbose lock stream-combiner@^0.0.4 /home/gary/.npm/0da93980-stream-combiner-0-0-4.lock
20231 verbose cache add [ 'tar@^0.1.18', null ]
20232 verbose cache add name=undefined spec="tar@^0.1.18" args=["tar@^0.1.18",null]
20233 verbose parsed url { protocol: null,
20233 verbose parsed url slashes: null,
20233 verbose parsed url auth: null,
20233 verbose parsed url host: null,
20233 verbose parsed url port: null,
20233 verbose parsed url hostname: null,
20233 verbose parsed url hash: null,
20233 verbose parsed url search: null,
20233 verbose parsed url query: null,
20233 verbose parsed url pathname: 'tar@^0.1.18',
20233 verbose parsed url path: 'tar@^0.1.18',
20233 verbose parsed url href: 'tar@^0.1.18' }
20234 verbose cache add name="tar" spec="^0.1.18" args=["tar","^0.1.18"]
20235 verbose parsed url { protocol: null,
20235 verbose parsed url slashes: null,
20235 verbose parsed url auth: null,
20235 verbose parsed url host: null,
20235 verbose parsed url port: null,
20235 verbose parsed url hostname: null,
20235 verbose parsed url hash: null,
20235 verbose parsed url search: null,
20235 verbose parsed url query: null,
20235 verbose parsed url pathname: '^0.1.18',
20235 verbose parsed url path: '^0.1.18',
20235 verbose parsed url href: '^0.1.18' }
20236 verbose addNamed [ 'tar', '^0.1.18' ]
20237 verbose addNamed [ null, '>=0.1.18-0 <0.2.0-0' ]
20238 silly lockFile 22e4c9ae-tar-0-1-18 tar@^0.1.18
20239 verbose lock tar@^0.1.18 /home/gary/.npm/22e4c9ae-tar-0-1-18.lock
20240 verbose cache add [ 'tempfile@^0.1.2', null ]
20241 verbose cache add name=undefined spec="tempfile@^0.1.2" args=["tempfile@^0.1.2",null]
20242 verbose parsed url { protocol: null,
20242 verbose parsed url slashes: null,
20242 verbose parsed url auth: null,
20242 verbose parsed url host: null,
20242 verbose parsed url port: null,
20242 verbose parsed url hostname: null,
20242 verbose parsed url hash: null,
20242 verbose parsed url search: null,
20242 verbose parsed url query: null,
20242 verbose parsed url pathname: 'tempfile@^0.1.2',
20242 verbose parsed url path: 'tempfile@^0.1.2',
20242 verbose parsed url href: 'tempfile@^0.1.2' }
20243 verbose cache add name="tempfile" spec="^0.1.2" args=["tempfile","^0.1.2"]
20244 verbose parsed url { protocol: null,
20244 verbose parsed url slashes: null,
20244 verbose parsed url auth: null,
20244 verbose parsed url host: null,
20244 verbose parsed url port: null,
20244 verbose parsed url hostname: null,
20244 verbose parsed url hash: null,
20244 verbose parsed url search: null,
20244 verbose parsed url query: null,
20244 verbose parsed url pathname: '^0.1.2',
20244 verbose parsed url path: '^0.1.2',
20244 verbose parsed url href: '^0.1.2' }
20245 verbose addNamed [ 'tempfile', '^0.1.2' ]
20246 verbose addNamed [ null, '>=0.1.2-0 <0.2.0-0' ]
20247 silly lockFile 3ad74af0-tempfile-0-1-2 tempfile@^0.1.2
20248 verbose lock tempfile@^0.1.2 /home/gary/.npm/3ad74af0-tempfile-0-1-2.lock
20249 silly lockFile df1a7598-y-npm-through2-0-4-2-package-tgz tar:///home/gary/.npm/through2/0.4.2/package.tgz
20250 silly lockFile df1a7598-y-npm-through2-0-4-2-package-tgz tar:///home/gary/.npm/through2/0.4.2/package.tgz
20251 silly lockFile b2f84437-es-phantomjs-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp
20252 silly lockFile b2f84437-es-phantomjs-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp
20253 verbose rebuildBundles [ 'forEachAsync' ]
20254 info install walk@2.2.1
20255 silly gunzTarPerm extractEntry package.json
20256 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077804687-0.5392170518171042/tmp.tgz
20257 silly lockFile 78865788-m-reduce-component-1-0-1-package tar:///home/gary/.npm/reduce-component/1.0.1/package
20258 verbose lock tar:///home/gary/.npm/reduce-component/1.0.1/package /home/gary/.npm/78865788-m-reduce-component-1-0-1-package.lock
20259 silly lockFile 4bff1d14-04687-0-5392170518171042-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804687-0.5392170518171042/tmp.tgz
20260 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804687-0.5392170518171042/tmp.tgz /home/gary/.npm/4bff1d14-04687-0-5392170518171042-tmp-tgz.lock
20261 silly addNameRange { name: 'adm-zip', range: '>=0.4.3-0 <0.5.0-0', hasData: false }
20262 silly lockFile 2417206b-ary-npm-mkdirp-0-3-5-package-tgz tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz
20263 silly lockFile 2417206b-ary-npm-mkdirp-0-3-5-package-tgz tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz
20264 silly gunzTarPerm extractEntry lib/public/icons/page_white_put.png
20265 silly gunzTarPerm extractEntry lib/public/icons/page_white_ruby.png
20266 silly gunzTarPerm extractEntry .npmignore
20267 silly gunzTarPerm extractEntry index.js
20268 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077804679-0.1949316873215139/tmp.tgz
20269 silly lockFile 2b48d531-ry-npm-formidable-1-0-14-package tar:///home/gary/.npm/formidable/1.0.14/package
20270 verbose lock tar:///home/gary/.npm/formidable/1.0.14/package /home/gary/.npm/2b48d531-ry-npm-formidable-1-0-14-package.lock
20271 silly lockFile f67c45b5-04679-0-1949316873215139-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804679-0.1949316873215139/tmp.tgz
20272 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804679-0.1949316873215139/tmp.tgz /home/gary/.npm/f67c45b5-04679-0-1949316873215139-tmp-tgz.lock
20273 silly addNameRange { name: 'extname', range: '>=0.1.1-0 <0.2.0-0', hasData: false }
20274 silly addNameRange { name: 'map-key', range: '>=0.1.1-0 <0.2.0-0', hasData: false }
20275 silly addNameRange { name: 'rimraf', range: '>=2.2.2-0 <3.0.0-0', hasData: false }
20276 silly addNameRange { name: 'stream-combiner', range: '=0.0.4', hasData: false }
20277 silly addNameRange { name: 'tar', range: '>=0.1.18-0 <0.2.0-0', hasData: false }
20278 silly addNameRange { name: 'tempfile', range: '>=0.1.2-0 <0.2.0-0', hasData: false }
20279 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
20280 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
20281 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
20282 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
20283 silly lockFile f80c58e4-ini-1-1-0 ini@1.1.0
20284 silly lockFile f80c58e4-ini-1-1-0 ini@1.1.0
20285 info postinstall walk@2.2.1
20286 silly gunzTarPerm extractEntry number/ordinal.js
20287 silly gunzTarPerm extractEntry collection/contains.js
20288 verbose url raw extname
20289 verbose url resolving [ 'https://registry.npmjs.org/', './extname' ]
20290 verbose url resolved https://registry.npmjs.org/extname
20291 info trying registry request attempt 1 at 14:03:24
20292 http GET https://registry.npmjs.org/extname
20293 verbose url raw map-key
20294 verbose url resolving [ 'https://registry.npmjs.org/', './map-key' ]
20295 verbose url resolved https://registry.npmjs.org/map-key
20296 info trying registry request attempt 1 at 14:03:24
20297 http GET https://registry.npmjs.org/map-key
20298 verbose url raw stream-combiner
20299 verbose url resolving [ 'https://registry.npmjs.org/', './stream-combiner' ]
20300 verbose url resolved https://registry.npmjs.org/stream-combiner
20301 info trying registry request attempt 1 at 14:03:24
20302 http GET https://registry.npmjs.org/stream-combiner
20303 verbose url raw tar
20304 verbose url resolving [ 'https://registry.npmjs.org/', './tar' ]
20305 verbose url resolved https://registry.npmjs.org/tar
20306 info trying registry request attempt 1 at 14:03:24
20307 http GET https://registry.npmjs.org/tar
20308 silly lockFile 64594a3f-nopt-2 nopt@2
20309 silly lockFile 64594a3f-nopt-2 nopt@2
20310 silly lockFile 384d7ac7-semver-1-1-0 semver@~1.1.0
20311 silly lockFile 384d7ac7-semver-1-1-0 semver@~1.1.0
20312 silly lockFile d6a0c59d-ini-1-1-0 ini@~1.1.0
20313 silly lockFile d6a0c59d-ini-1-1-0 ini@~1.1.0
20314 silly gunzTarPerm extractEntry headers/entryHeader.js
20315 silly gunzTarPerm modified mode [ 'headers/entryHeader.js', 438, 420 ]
20316 silly gunzTarPerm extractEntry headers/index.js
20317 silly gunzTarPerm modified mode [ 'headers/index.js', 438, 420 ]
20318 silly gunzTarPerm extractEntry readme.md
20319 silly gunzTarPerm extractEntry .npmignore
20320 silly gunzTarPerm extractEntry index.js
20321 silly gunzTarPerm extractEntry package.json
20322 silly gunzTarPerm modes [ '755', '644' ]
20323 info preinstall through2@0.4.2
20324 silly gunzTarPerm extractEntry lib/ncp.js
20325 silly gunzTarPerm extractEntry LICENSE.md
20326 silly gunzTarPerm extractEntry package.json
20327 silly gunzTarPerm extractEntry .npmignore
20328 silly gunzTarPerm extractEntry README.md
20329 silly gunzTarPerm modes [ '755', '644' ]
20330 info preinstall mkdirp@0.3.5
20331 silly gunzTarPerm extractEntry package.json
20332 http 200 https://registry.npmjs.org/inherits
20333 silly registry.get cb [ 200,
20333 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:24 GMT',
20333 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B)',
20333 silly registry.get etag: '"4AL2M2PJABZWUVUHFYQEADS5P"',
20333 silly registry.get 'content-type': 'application/json',
20333 silly registry.get via: '1.1 varnish',
20333 silly registry.get 'cache-control': 'max-age=1',
20333 silly registry.get 'content-length': '6838',
20333 silly registry.get 'accept-ranges': 'bytes',
20333 silly registry.get age: '12',
20333 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1729-ORD',
20333 silly registry.get 'x-cache': 'HIT, HIT',
20333 silly registry.get 'x-cache-hits': '3, 1',
20333 silly registry.get 'x-timer': 'S1402077804.944365,VS0,VE0',
20333 silly registry.get vary: 'Accept',
20333 silly registry.get 'keep-alive': 'timeout=10, max=50',
20333 silly registry.get connection: 'Keep-Alive' } ]
20334 verbose registry.get adm-zip not expired, no request
20335 silly addNameRange number 2 { name: 'adm-zip', range: '>=0.4.3-0 <0.5.0-0', hasData: true }
20336 silly addNameRange versions [ 'adm-zip',
20336 silly addNameRange [ '0.1.1',
20336 silly addNameRange '0.1.2',
20336 silly addNameRange '0.1.3',
20336 silly addNameRange '0.1.4',
20336 silly addNameRange '0.1.5',
20336 silly addNameRange '0.1.6',
20336 silly addNameRange '0.1.7',
20336 silly addNameRange '0.1.8',
20336 silly addNameRange '0.1.9',
20336 silly addNameRange '0.2.0',
20336 silly addNameRange '0.2.1',
20336 silly addNameRange '0.4.3',
20336 silly addNameRange '0.4.4' ] ]
20337 verbose addNamed [ 'adm-zip', '0.4.4' ]
20338 verbose addNamed [ '0.4.4', '0.4.4' ]
20339 silly lockFile 54f7ada5-adm-zip-0-4-4 adm-zip@0.4.4
20340 verbose lock adm-zip@0.4.4 /home/gary/.npm/54f7ada5-adm-zip-0-4-4.lock
20341 silly gunzTarPerm extractEntry vendor/sinon/test/sinon.html
20342 silly gunzTarPerm extractEntry vendor/sinon/test/sinon_test.js
20343 http 200 https://registry.npmjs.org/once
20344 silly registry.get cb [ 200,
20344 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:24 GMT',
20344 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
20344 silly registry.get etag: '"7UPTU9GJRMJT5JVT4ORTZVG61"',
20344 silly registry.get 'content-type': 'application/json',
20344 silly registry.get via: '1.1 varnish',
20344 silly registry.get 'cache-control': 'max-age=1',
20344 silly registry.get 'content-length': '6717',
20344 silly registry.get 'accept-ranges': 'bytes',
20344 silly registry.get age: '65',
20344 silly registry.get 'x-served-by': 'cache-sv62-SJC3, cache-ord1731-ORD',
20344 silly registry.get 'x-cache': 'HIT, HIT',
20344 silly registry.get 'x-cache-hits': '2, 1',
20344 silly registry.get 'x-timer': 'S1402077804.952088,VS0,VE0',
20344 silly registry.get vary: 'Accept',
20344 silly registry.get 'keep-alive': 'timeout=10, max=50',
20344 silly registry.get connection: 'Keep-Alive' } ]
20345 verbose registry.get rimraf not expired, no request
20346 silly addNameRange number 2 { name: 'rimraf', range: '>=2.2.2-0 <3.0.0-0', hasData: true }
20347 silly addNameRange versions [ 'rimraf',
20347 silly addNameRange [ '1.0.0',
20347 silly addNameRange '1.0.1',
20347 silly addNameRange '1.0.2',
20347 silly addNameRange '1.0.4',
20347 silly addNameRange '1.0.5',
20347 silly addNameRange '1.0.6',
20347 silly addNameRange '1.0.7',
20347 silly addNameRange '1.0.8',
20347 silly addNameRange '1.0.9',
20347 silly addNameRange '2.0.0',
20347 silly addNameRange '2.0.1',
20347 silly addNameRange '2.0.2',
20347 silly addNameRange '2.0.3',
20347 silly addNameRange '2.1.0',
20347 silly addNameRange '2.1.1',
20347 silly addNameRange '2.1.2',
20347 silly addNameRange '2.1.3',
20347 silly addNameRange '2.1.4',
20347 silly addNameRange '2.2.0',
20347 silly addNameRange '2.2.1',
20347 silly addNameRange '2.2.2',
20347 silly addNameRange '2.2.3',
20347 silly addNameRange '2.2.4',
20347 silly addNameRange '2.2.5',
20347 silly addNameRange '2.2.6',
20347 silly addNameRange '2.2.8' ] ]
20348 verbose addNamed [ 'rimraf', '2.2.8' ]
20349 verbose addNamed [ '2.2.8', '2.2.8' ]
20350 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
20351 verbose lock rimraf@2.2.8 /home/gary/.npm/b87241a4-rimraf-2-2-8.lock
20352 verbose registry.get tempfile not expired, no request
20353 silly addNameRange number 2 { name: 'tempfile', range: '>=0.1.2-0 <0.2.0-0', hasData: true }
20354 silly addNameRange versions [ 'tempfile', [ '0.1.0', '0.1.1', '0.1.2', '0.1.3' ] ]
20355 verbose addNamed [ 'tempfile', '0.1.3' ]
20356 verbose addNamed [ '0.1.3', '0.1.3' ]
20357 silly lockFile e0822b84-tempfile-0-1-3 tempfile@0.1.3
20358 verbose lock tempfile@0.1.3 /home/gary/.npm/e0822b84-tempfile-0-1-3.lock
20359 verbose readDependencies using package.json deps
20360 silly gunzTarPerm extractEntry README.md
20361 silly gunzTarPerm extractEntry cli.js
20362 verbose readDependencies using package.json deps
20363 verbose readDependencies using package.json deps
20364 silly lockFile b786a4ef-s-optimist-node-modules-minimist tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/minimist
20365 silly lockFile b786a4ef-s-optimist-node-modules-minimist tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/minimist
20366 silly gunzTarPerm extractEntry .npmignore
20367 silly gunzTarPerm extractEntry README.md
20368 silly lockFile 1bd9833a-modules-utile-node-modules-async tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/async
20369 silly lockFile 1bd9833a-modules-utile-node-modules-async tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/async
20370 silly gunzTarPerm extractEntry package.json
20371 silly lockFile 03c4f3c6-js-org-adm-zip-adm-zip-0-4-4-tgz https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz
20372 verbose lock https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz /home/gary/.npm/03c4f3c6-js-org-adm-zip-adm-zip-0-4-4-tgz.lock
20373 verbose readDependencies using package.json deps
20374 silly resolved []
20375 verbose about to build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp
20376 info build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp
20377 verbose linkStuff [ false,
20377 verbose linkStuff false,
20377 verbose linkStuff false,
20377 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
20378 info linkStuff mkdirp@0.3.5
20379 verbose linkBins mkdirp@0.3.5
20380 verbose linkMans mkdirp@0.3.5
20381 verbose rebuildBundles mkdirp@0.3.5
20382 silly lockFile d1905777--npm-minimist-0-0-10-package-tgz tar:///home/gary/.npm/minimist/0.0.10/package.tgz
20383 silly lockFile d1905777--npm-minimist-0-0-10-package-tgz tar:///home/gary/.npm/minimist/0.0.10/package.tgz
20384 silly gunzTarPerm extractEntry .npmignore
20385 silly gunzTarPerm extractEntry README.md
20386 silly lockFile 4d9ac80c-ary-npm-async-0-2-10-package-tgz tar:///home/gary/.npm/async/0.2.10/package.tgz
20387 silly lockFile 4d9ac80c-ary-npm-async-0-2-10-package-tgz tar:///home/gary/.npm/async/0.2.10/package.tgz
20388 silly gunzTarPerm extractEntry component.json
20389 silly gunzTarPerm extractEntry History.md
20390 silly gunzTarPerm extractEntry package.json
20391 silly gunzTarPerm modes [ '755', '644' ]
20392 verbose cache add [ 'readable-stream@~1.0.17', null ]
20393 verbose cache add name=undefined spec="readable-stream@~1.0.17" args=["readable-stream@~1.0.17",null]
20394 verbose parsed url { protocol: null,
20394 verbose parsed url slashes: null,
20394 verbose parsed url auth: null,
20394 verbose parsed url host: null,
20394 verbose parsed url port: null,
20394 verbose parsed url hostname: null,
20394 verbose parsed url hash: null,
20394 verbose parsed url search: null,
20394 verbose parsed url query: null,
20394 verbose parsed url pathname: 'readable-stream@~1.0.17',
20394 verbose parsed url path: 'readable-stream@~1.0.17',
20394 verbose parsed url href: 'readable-stream@~1.0.17' }
20395 verbose cache add name="readable-stream" spec="~1.0.17" args=["readable-stream","~1.0.17"]
20396 verbose parsed url { protocol: null,
20396 verbose parsed url slashes: null,
20396 verbose parsed url auth: null,
20396 verbose parsed url host: null,
20396 verbose parsed url port: null,
20396 verbose parsed url hostname: null,
20396 verbose parsed url hash: null,
20396 verbose parsed url search: null,
20396 verbose parsed url query: null,
20396 verbose parsed url pathname: '~1.0.17',
20396 verbose parsed url path: '~1.0.17',
20396 verbose parsed url href: '~1.0.17' }
20397 verbose addNamed [ 'readable-stream', '~1.0.17' ]
20398 verbose addNamed [ null, '>=1.0.17-0 <1.1.0-0' ]
20399 silly lockFile be40b10f-readable-stream-1-0-17 readable-stream@~1.0.17
20400 verbose lock readable-stream@~1.0.17 /home/gary/.npm/be40b10f-readable-stream-1-0-17.lock
20401 verbose cache add [ 'xtend@~2.1.1', null ]
20402 verbose cache add name=undefined spec="xtend@~2.1.1" args=["xtend@~2.1.1",null]
20403 verbose parsed url { protocol: null,
20403 verbose parsed url slashes: null,
20403 verbose parsed url auth: null,
20403 verbose parsed url host: null,
20403 verbose parsed url port: null,
20403 verbose parsed url hostname: null,
20403 verbose parsed url hash: null,
20403 verbose parsed url search: null,
20403 verbose parsed url query: null,
20403 verbose parsed url pathname: 'xtend@~2.1.1',
20403 verbose parsed url path: 'xtend@~2.1.1',
20403 verbose parsed url href: 'xtend@~2.1.1' }
20404 verbose cache add name="xtend" spec="~2.1.1" args=["xtend","~2.1.1"]
20405 verbose parsed url { protocol: null,
20405 verbose parsed url slashes: null,
20405 verbose parsed url auth: null,
20405 verbose parsed url host: null,
20405 verbose parsed url port: null,
20405 verbose parsed url hostname: null,
20405 verbose parsed url hash: null,
20405 verbose parsed url search: null,
20405 verbose parsed url query: null,
20405 verbose parsed url pathname: '~2.1.1',
20405 verbose parsed url path: '~2.1.1',
20405 verbose parsed url href: '~2.1.1' }
20406 verbose addNamed [ 'xtend', '~2.1.1' ]
20407 verbose addNamed [ null, '>=2.1.1-0 <2.2.0-0' ]
20408 silly lockFile 5f8ae568-xtend-2-1-1 xtend@~2.1.1
20409 verbose lock xtend@~2.1.1 /home/gary/.npm/5f8ae568-xtend-2-1-1.lock
20410 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
20411 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
20412 silly lockFile e0822b84-tempfile-0-1-3 tempfile@0.1.3
20413 silly lockFile e0822b84-tempfile-0-1-3 tempfile@0.1.3
20414 silly lockFile f1cfa584-stream-combined-stream-0-0-4-tgz https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz
20415 silly lockFile f1cfa584-stream-combined-stream-0-0-4-tgz https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz
20416 info install mkdirp@0.3.5
20417 silly gunzTarPerm extractEntry collection/find.js
20418 silly gunzTarPerm extractEntry collection/forEach.js
20419 silly lockFile 20220fc7--npm-asn1tmp-d669481d9b59package tar:///home/gary/.npm/asn1tmp_d669481d9b59package
20420 silly lockFile 20220fc7--npm-asn1tmp-d669481d9b59package tar:///home/gary/.npm/asn1tmp_d669481d9b59package
20421 silly gunzTarPerm extractEntry lib/public/icons/page_white_stack.png
20422 silly gunzTarPerm extractEntry lib/public/icons/page_white_star.png
20423 silly gunzTarPerm extractEntry README.markdown
20424 silly gunzTarPerm extractEntry example/center.js
20425 silly gunzTarPerm modes [ '755', '644' ]
20426 silly lockFile 75819509-rimraf-2-2-2 rimraf@^2.2.2
20427 silly lockFile 75819509-rimraf-2-2-2 rimraf@^2.2.2
20428 silly lockFile 3ad74af0-tempfile-0-1-2 tempfile@^0.1.2
20429 silly lockFile 3ad74af0-tempfile-0-1-2 tempfile@^0.1.2
20430 verbose addRemoteTarball [ 'https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz',
20430 verbose addRemoteTarball 'a61ed5ae6905c3aea58b3a657d25033091052736' ]
20431 silly gunzTarPerm extractEntry headers/mainHeader.js
20432 silly gunzTarPerm modified mode [ 'headers/mainHeader.js', 438, 420 ]
20433 silly gunzTarPerm extractEntry .travis.yml
20434 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
20435 silly lockFile 6c6015eb-03615-0-5080063519999385-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803615-0.5080063519999385/tmp.tgz
20436 silly lockFile 6c6015eb-03615-0-5080063519999385-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077803615-0.5080063519999385/tmp.tgz
20437 silly gunzTarPerm extractEntry .gitmodules
20438 silly gunzTarPerm extractEntry Readme.md
20439 silly addNameRange { name: 'readable-stream',
20439 silly addNameRange range: '>=1.0.17-0 <1.1.0-0',
20439 silly addNameRange hasData: false }
20440 silly addNameRange { name: 'xtend', range: '>=2.1.1-0 <2.2.0-0', hasData: false }
20441 info retry fetch attempt 1 at 14:03:25
20442 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805020-0.864900958025828/tmp.tgz
20443 info postinstall mkdirp@0.3.5
20444 silly gunzTarPerm extractEntry .npmignore
20445 silly gunzTarPerm extractEntry LICENSE
20446 verbose url raw readable-stream
20447 verbose url resolving [ 'https://registry.npmjs.org/', './readable-stream' ]
20448 verbose url resolved https://registry.npmjs.org/readable-stream
20449 info trying registry request attempt 1 at 14:03:25
20450 http GET https://registry.npmjs.org/readable-stream
20451 verbose url raw xtend
20452 verbose url resolving [ 'https://registry.npmjs.org/', './xtend' ]
20453 verbose url resolved https://registry.npmjs.org/xtend
20454 info trying registry request attempt 1 at 14:03:25
20455 http GET https://registry.npmjs.org/xtend
20456 info preinstall minimist@0.0.10
20457 info preinstall async@0.2.10
20458 silly gunzTarPerm extractEntry rng-browser.js
20459 silly gunzTarPerm extractEntry rng.js
20460 silly gunzTarPerm extractEntry .npmignore
20461 silly gunzTarPerm extractEntry LICENSE
20462 silly addNameRange number 2 { name: 'inherits', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
20463 silly addNameRange versions [ 'inherits', [ '1.0.0', '2.0.0', '2.0.1' ] ]
20464 verbose addNamed [ 'inherits', '1.0.0' ]
20465 verbose addNamed [ '1.0.0', '1.0.0' ]
20466 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
20467 verbose lock inherits@1.0.0 /home/gary/.npm/776fbe77-inherits-1-0-0.lock
20468 http GET https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz
20469 silly addNameRange number 2 { name: 'once', range: '>=1.1.1-0 <1.2.0-0', hasData: true }
20470 silly addNameRange versions [ 'once', [ '1.1.1', '1.2.0', '1.3.0' ] ]
20471 verbose addNamed [ 'once', '1.1.1' ]
20472 verbose addNamed [ '1.1.1', '1.1.1' ]
20473 silly lockFile 6beab3c4-once-1-1-1 once@1.1.1
20474 verbose lock once@1.1.1 /home/gary/.npm/6beab3c4-once-1-1-1.lock
20475 http 200 https://registry.npmjs.org/osenv
20476 silly registry.get cb [ 200,
20476 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:25 GMT',
20476 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
20476 silly registry.get etag: '"CHNEP04M2C3TA964JJ6PU7ILN"',
20476 silly registry.get 'content-type': 'application/json',
20476 silly registry.get via: '1.1 varnish',
20476 silly registry.get 'cache-control': 'max-age=1',
20476 silly registry.get 'content-length': '5850',
20476 silly registry.get 'accept-ranges': 'bytes',
20476 silly registry.get age: '162',
20476 silly registry.get 'x-served-by': 'cache-sv95-SJC3, cache-ord1733-ORD',
20476 silly registry.get 'x-cache': 'HIT, HIT',
20476 silly registry.get 'x-cache-hits': '1, 1',
20476 silly registry.get 'x-timer': 'S1402077804.942873,VS0,VE86',
20476 silly registry.get vary: 'Accept',
20476 silly registry.get 'keep-alive': 'timeout=10, max=50',
20476 silly registry.get connection: 'Keep-Alive' } ]
20477 silly gunzTarPerm extractEntry test/ncp-test.js
20478 silly gunzTarPerm extractEntry test/fixtures/src/a
20479 silly gunzTarPerm extractEntry test/fixtures/src/b
20480 silly gunzTarPerm extractEntry test/fixtures/src/c
20481 silly gunzTarPerm extractEntry test/fixtures/src/d
20482 silly gunzTarPerm extractEntry test/fixtures/src/e
20483 silly gunzTarPerm extractEntry test/fixtures/src/f
20484 silly gunzTarPerm extractEntry test/fixtures/src/sub/a
20485 silly gunzTarPerm extractEntry test/fixtures/src/sub/b
20486 silly gunzTarPerm extractEntry package.json
20487 silly gunzTarPerm modes [ '755', '644' ]
20488 silly lockFile 4195d074--download-node-modules-get-stdin tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-stdin
20489 silly lockFile 4195d074--download-node-modules-get-stdin tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-stdin
20490 verbose readDependencies using package.json deps
20491 verbose readDependencies using package.json deps
20492 silly gunzTarPerm extractEntry tests/test.js
20493 silly gunzTarPerm extractEntry index.js
20494 silly lockFile 5e4a9b20--org-inherits-inherits-1-0-0-tgz https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
20495 verbose lock https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz /home/gary/.npm/5e4a9b20--org-inherits-inherits-1-0-0-tgz.lock
20496 silly gunzTarPerm extractEntry package.json
20497 http 200 https://registry.npmjs.org/stream-combiner
20498 silly registry.get cb [ 200,
20498 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:25 GMT',
20498 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
20498 silly registry.get etag: '"5FI9EAEFLSDUM6ZHN5T9XP21R"',
20498 silly registry.get 'content-type': 'application/json',
20498 silly registry.get via: '1.1 varnish',
20498 silly registry.get 'cache-control': 'max-age=1',
20498 silly registry.get 'content-length': '9251',
20498 silly registry.get 'accept-ranges': 'bytes',
20498 silly registry.get age: '14',
20498 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1731-ORD',
20498 silly registry.get 'x-cache': 'HIT, HIT',
20498 silly registry.get 'x-cache-hits': '2, 1',
20498 silly registry.get 'x-timer': 'S1402077804.976267,VS0,VE91',
20498 silly registry.get vary: 'Accept',
20498 silly registry.get 'keep-alive': 'timeout=10, max=49',
20498 silly registry.get connection: 'Keep-Alive' } ]
20499 silly resolved [ { name: 'async',
20499 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
20499 silly resolved main: './lib/async',
20499 silly resolved author: { name: 'Caolan McMahon' },
20499 silly resolved version: '0.2.10',
20499 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
20499 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
20499 silly resolved licenses: [ [Object] ],
20499 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
20499 silly resolved jam: { main: 'lib/async.js', include: [Object] },
20499 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
20499 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',
20499 silly resolved readmeFilename: 'README.md',
20499 silly resolved homepage: 'https://github.com/caolan/async',
20499 silly resolved _id: 'async@0.2.10',
20499 silly resolved _shasum: 'b6bbe0b0674b9d719708ca38de8c237cb526c3d1',
20499 silly resolved _from: 'https://registry.npmjs.org/async/-/async-0.2.10.tgz',
20499 silly resolved _resolved: 'https://registry.npmjs.org/async/-/async-0.2.10.tgz' },
20499 silly resolved { author:
20499 silly resolved { name: 'Felix Geisendörfer',
20499 silly resolved email: 'felix@debuggable.com',
20499 silly resolved url: 'http://debuggable.com/' },
20499 silly resolved name: 'combined-stream',
20499 silly resolved description: 'A stream that emits multiple other streams one after another.',
20499 silly resolved version: '0.0.4',
20499 silly resolved homepage: 'https://github.com/felixge/node-combined-stream',
20499 silly resolved repository:
20499 silly resolved { type: 'git',
20499 silly resolved url: 'git://github.com/felixge/node-combined-stream.git' },
20499 silly resolved main: './lib/combined_stream',
20499 silly resolved engines: { node: '*' },
20499 silly resolved dependencies: { 'delayed-stream': '0.0.5' },
20499 silly resolved devDependencies: { far: '0.0.1' },
20499 silly resolved readme: '# combined-stream\n\nA stream that emits multiple other streams one after another.\n\n## Installation\n\n``` bash\nnpm install combined-stream\n```\n\n## Usage\n\nHere is a simple example that shows how you can use combined-stream to combine\ntwo files into one:\n\n``` javascript\nvar CombinedStream = require(\'combined-stream\');\nvar fs = require(\'fs\');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(fs.createReadStream(\'file1.txt\'));\ncombinedStream.append(fs.createReadStream(\'file2.txt\'));\n\ncombinedStream.pipe(fs.createWriteStream(\'combined.txt\'));\n```\n\nWhile the example above works great, it will pause all source streams until\nthey are needed. If you don\'t want that to happen, you can set `pauseStreams`\nto `false`:\n\n``` javascript\nvar CombinedStream = require(\'combined-stream\');\nvar fs = require(\'fs\');\n\nvar combinedStream = CombinedStream.create({pauseStreams: false});\ncombinedStream.append(fs.createReadStream(\'file1.txt\'));\ncombinedStream.append(fs.createReadStream(\'file2.txt\'));\n\ncombinedStream.pipe(fs.createWriteStream(\'combined.txt\'));\n```\n\nHowever, what if you don\'t have all the source streams yet, or you don\'t want\nto allocate the resources (file descriptors, memory, etc.) for them right away?\nWell, in that case you can simply provide a callback that supplies the stream\nby calling a `next()` function:\n\n``` javascript\nvar CombinedStream = require(\'combined-stream\');\nvar fs = require(\'fs\');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(function(next) {\n next(fs.createReadStream(\'file1.txt\'));\n});\ncombinedStream.append(function(next) {\n next(fs.createReadStream(\'file2.txt\'));\n});\n\ncombinedStream.pipe(fs.createWriteStream(\'combined.txt\'));\n```\n\n## API\n\n### CombinedStream.create([options])\n\nReturns a new combined stream object. Available options are:\n\n* `maxDataSize`\n* `pauseStreams`\n\nThe effect of those options is described below.\n\n### combinedStream.pauseStreams = true\n\nWhether to apply back pressure to the underlaying streams. If set to `false`,\nthe underlaying streams will never be paused. If set to `true`, the\nunderlaying streams will be paused right after being appended, as well as when\n`delayedStream.pipe()` wants to throttle.\n\n### combinedStream.maxDataSize = 2 * 1024 * 1024\n\nThe maximum amount of bytes (or characters) to buffer for all source streams.\nIf this value is exceeded, `combinedStream` emits an `\'error\'` event.\n\n### combinedStream.dataSize = 0\n\nThe amount of bytes (or characters) currently buffered by `combinedStream`.\n\n### combinedStream.append(stream)\n\nAppends the given `stream` to the combinedStream object. If `pauseStreams` is\nset to `true, this stream will also be paused right away.\n\n`streams` can also be a function that takes one parameter called `next`. `next`\nis a function that must be invoked in order to provide the `next` stream, see\nexample above.\n\nRegardless of how the `stream` is appended, combined-stream always attaches an\n`\'error\'` listener to it, so you don\'t have to do that manually.\n\nSpecial case: `stream` can also be a String or Buffer.\n\n### combinedStream.write(data)\n\nYou should not call this, `combinedStream` takes care of piping the appended\nstreams into itself for you.\n\n### combinedStream.resume()\n\nCauses `combinedStream` to start drain the streams it manages. The function is\nidempotent, and also emits a `\'resume\'` event each time which usually goes to\nthe stream that is currently being drained.\n\n### combinedStream.pause();\n\nIf `combinedStream.pauseStreams` is set to `false`, this does nothing.\nOtherwise a `\'pause\'` event is emitted, this goes to the stream that is\ncurrently being drained, so you can use it to apply back pressure.\n\n### combinedStream.end();\n\nSets `combinedStream.writable` to false, emits an `\'end\'` event, and removes\nall streams from the queue.\n\n### combinedStream.destroy();\n\nSame as `combinedStream.end()`, except it emits a `\'close\'` event instead of\n`\'end\'`.\n\n## License\n\ncombined-stream is licensed under the MIT license.\n',
20499 silly resolved readmeFilename: 'Readme.md',
20499 silly resolved bugs: { url: 'https://github.com/felixge/node-combined-stream/issues' },
20499 silly resolved _id: 'combined-stream@0.0.4',
20499 silly resolved _shasum: '2d1a43347dbe9515a4a2796732e5b88473840b22',
20499 silly resolved _from: 'https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz',
20499 silly resolved _resolved: 'https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz' } ]
20500 info install async@0.2.10 into /home/gary/code/email-transactional-app/node_modules/request/node_modules/form-data
20501 info install combined-stream@0.0.4 into /home/gary/code/email-transactional-app/node_modules/request/node_modules/form-data
20502 info installOne async@0.2.10
20503 info installOne combined-stream@0.0.4
20504 silly lockFile 8963fd4a--npm-get-stdin-0-1-0-package-tgz tar:///home/gary/.npm/get-stdin/0.1.0/package.tgz
20505 silly lockFile 8963fd4a--npm-get-stdin-0-1-0-package-tgz tar:///home/gary/.npm/get-stdin/0.1.0/package.tgz
20506 verbose readDependencies using package.json deps
20507 silly resolved []
20508 verbose about to build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/minimist
20509 info build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules/minimist
20510 verbose linkStuff [ false,
20510 verbose linkStuff false,
20510 verbose linkStuff false,
20510 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist/node_modules' ]
20511 info linkStuff minimist@0.0.10
20512 verbose linkBins minimist@0.0.10
20513 verbose linkMans minimist@0.0.10
20514 verbose rebuildBundles minimist@0.0.10
20515 verbose readDependencies using package.json deps
20516 silly resolved []
20517 verbose about to build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/async
20518 info build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/async
20519 verbose linkStuff [ false,
20519 verbose linkStuff false,
20519 verbose linkStuff false,
20519 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules' ]
20520 info linkStuff async@0.2.10
20521 verbose linkBins async@0.2.10
20522 verbose linkMans async@0.2.10
20523 verbose rebuildBundles async@0.2.10
20524 silly gunzTarPerm extractEntry Makefile
20525 silly gunzTarPerm extractEntry Readme.md
20526 silly lockFile 3dedf4f9-ry-npmjs-org-once-once-1-1-1-tgz https://registry.npmjs.org/once/-/once-1.1.1.tgz
20527 verbose lock https://registry.npmjs.org/once/-/once-1.1.1.tgz /home/gary/.npm/3dedf4f9-ry-npmjs-org-once-once-1-1-1-tgz.lock
20528 info /home/gary/code/email-transactional-app/node_modules/request/node_modules/form-data/node_modules/async unbuild
20529 info install minimist@0.0.10
20530 silly gunzTarPerm extractEntry LICENSE
20531 silly gunzTarPerm extractEntry CHANGELOG.md
20532 info install async@0.2.10
20533 silly gunzTarPerm extractEntry example/meat.js
20534 silly gunzTarPerm extractEntry test/wrap.js
20535 verbose addRemoteTarball [ 'https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz',
20535 verbose addRemoteTarball '38e1975285bf1f7ba9c84da102bb12771322ac48' ]
20536 http 200 https://registry.npmjs.org/map-key
20537 silly registry.get cb [ 200,
20537 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:25 GMT',
20537 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
20537 silly registry.get etag: '"J2LOF9XUC4OX397ON28C8WPU"',
20537 silly registry.get 'content-type': 'application/json',
20537 silly registry.get via: '1.1 varnish',
20537 silly registry.get 'cache-control': 'max-age=1',
20537 silly registry.get 'content-length': '5322',
20537 silly registry.get 'accept-ranges': 'bytes',
20537 silly registry.get age: '858',
20537 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1729-ORD',
20537 silly registry.get 'x-cache': 'HIT, HIT',
20537 silly registry.get 'x-cache-hits': '2, 1',
20537 silly registry.get 'x-timer': 'S1402077804.965337,VS0,VE134',
20537 silly registry.get vary: 'Accept',
20537 silly registry.get 'keep-alive': 'timeout=10, max=49',
20537 silly registry.get connection: 'Keep-Alive' } ]
20538 silly gunzTarPerm extractEntry Jakefile.js
20539 silly gunzTarPerm extractEntry config/jshint.json
20540 silly gunzTarPerm extractEntry lib/public/icons/page_white_swoosh.png
20541 silly gunzTarPerm extractEntry lib/public/icons/page_white_text.png
20542 info retry fetch attempt 1 at 14:03:25
20543 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805115-0.20603138161823153/tmp.tgz
20544 verbose addRemoteTarball [ 'https://registry.npmjs.org/once/-/once-1.1.1.tgz',
20544 verbose addRemoteTarball '9db574933ccb08c3a7614d154032c09ea6f339e7' ]
20545 silly gunzTarPerm extractEntry .npmignore
20546 silly gunzTarPerm extractEntry LICENSE
20547 info postinstall minimist@0.0.10
20548 silly gunzTarPerm extractEntry src/reporters/checkstyle.js
20549 silly gunzTarPerm extractEntry src/reporters/default.js
20550 silly gunzTarPerm extractEntry collection/make_.js
20551 silly gunzTarPerm extractEntry collection/map.js
20552 info postinstall async@0.2.10
20553 silly gunzTarPerm extractEntry index.js
20554 silly gunzTarPerm extractEntry History.md
20555 info retry fetch attempt 1 at 14:03:25
20556 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805138-0.29346810723654926/tmp.tgz
20557 silly gunzTarPerm extractEntry .npmignore
20558 silly gunzTarPerm extractEntry README.md
20559 http 200 https://registry.npmjs.org/extname
20560 silly registry.get cb [ 200,
20560 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:25 GMT',
20560 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
20560 silly registry.get etag: '"D0BQ4Z2JE54HYZLSQOPO7U45B"',
20560 silly registry.get 'content-type': 'application/json',
20560 silly registry.get via: '1.1 varnish',
20560 silly registry.get 'cache-control': 'max-age=1',
20560 silly registry.get 'content-length': '5804',
20560 silly registry.get 'accept-ranges': 'bytes',
20560 silly registry.get age: '21',
20560 silly registry.get 'x-served-by': 'cache-sv62-SJC3, cache-ord1721-ORD',
20560 silly registry.get 'x-cache': 'HIT, MISS',
20560 silly registry.get 'x-cache-hits': '3, 0',
20560 silly registry.get 'x-timer': 'S1402077805.034814,VS0,VE91',
20560 silly registry.get vary: 'Accept',
20560 silly registry.get 'keep-alive': 'timeout=10, max=50',
20560 silly registry.get connection: 'Keep-Alive' } ]
20561 verbose tar unpack /home/gary/.npm/async/0.2.10/package.tgz
20562 silly lockFile a012d69f-les-form-data-node-modules-async tar:///home/gary/code/email-transactional-app/node_modules/request/node_modules/form-data/node_modules/async
20563 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/request/node_modules/form-data/node_modules/async /home/gary/.npm/a012d69f-les-form-data-node-modules-async.lock
20564 silly lockFile 4d9ac80c-ary-npm-async-0-2-10-package-tgz tar:///home/gary/.npm/async/0.2.10/package.tgz
20565 verbose lock tar:///home/gary/.npm/async/0.2.10/package.tgz /home/gary/.npm/4d9ac80c-ary-npm-async-0-2-10-package-tgz.lock
20566 info preinstall get-stdin@0.1.0
20567 silly gunzTarPerm extractEntry uuid.js
20568 silly gunzTarPerm extractEntry benchmark/README.md
20569 silly gunzTarPerm extractEntry benchmark/benchmark.js
20570 silly gunzTarPerm extractEntry benchmark/bench.gnu
20571 silly gunzTarPerm extractEntry benchmark/bench.sh
20572 silly gunzTarPerm extractEntry benchmark/benchmark-native.c
20573 silly gunzTarPerm extractEntry LICENSE.md
20574 silly gunzTarPerm extractEntry misc/compare.js
20575 silly gunzTarPerm extractEntry misc/perf.js
20576 silly gunzTarPerm extractEntry .travis.yml
20577 silly gunzTarPerm extractEntry test/test.js
20578 silly gunzTarPerm extractEntry test/mocha.opts
20579 http GET https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
20580 silly gunzTarPerm extractEntry package.json
20581 verbose about to build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist
20582 info build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/optimist
20583 verbose linkStuff [ false,
20583 verbose linkStuff false,
20583 verbose linkStuff false,
20583 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules' ]
20584 info linkStuff optimist@0.6.1
20585 verbose linkBins optimist@0.6.1
20586 verbose linkMans optimist@0.6.1
20587 verbose rebuildBundles optimist@0.6.1
20588 silly lockFile 1acbaaf5-y-npmjs-org-asn1-asn1-0-1-11-tgz https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
20589 silly lockFile 1acbaaf5-y-npmjs-org-asn1-asn1-0-1-11-tgz https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
20590 silly gunzTarPerm extractEntry index.js
20591 silly gunzTarPerm extractEntry benchmark/bench-multipart-parser.js
20592 http GET https://registry.npmjs.org/once/-/once-1.1.1.tgz
20593 silly lockFile 0118c1bc--npmjs-org-osenv-osenv-0-0-3-tgz https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz
20594 verbose lock https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz /home/gary/.npm/0118c1bc--npmjs-org-osenv-osenv-0-0-3-tgz.lock
20595 info /home/gary/code/email-transactional-app/node_modules/request/node_modules/form-data/node_modules/combined-stream unbuild
20596 verbose rebuildBundles [ 'minimist', 'wordwrap' ]
20597 info install optimist@0.6.1
20598 http 200 https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz
20599 http 200 https://registry.npmjs.org/config-chain
20600 silly registry.get cb [ 200,
20600 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:24 GMT',
20600 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
20600 silly registry.get etag: '"6WPJSTK06ZC7P6F1FMBUOIDRK"',
20600 silly registry.get 'content-type': 'application/json',
20600 silly registry.get via: '1.1 varnish',
20600 silly registry.get 'cache-control': 'max-age=1',
20600 silly registry.get 'content-length': '84220',
20600 silly registry.get 'accept-ranges': 'bytes',
20600 silly registry.get age: '1077',
20600 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1731-ORD',
20600 silly registry.get 'x-cache': 'HIT, HIT',
20600 silly registry.get 'x-cache-hits': '3, 1',
20600 silly registry.get 'x-timer': 'S1402077804.943210,VS0,VE53',
20600 silly registry.get vary: 'Accept',
20600 silly registry.get 'keep-alive': 'timeout=10, max=50',
20600 silly registry.get connection: 'Keep-Alive' } ]
20601 silly gunzTarPerm modes [ '755', '644' ]
20602 verbose readDependencies using package.json deps
20603 verbose addRemoteTarball [ 'https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz',
20603 verbose addRemoteTarball 'cd6ad8ddb290915ad9e22765576025d411f29cb6' ]
20604 silly addNameRange number 2 { name: 'stream-combiner', range: '=0.0.4', hasData: true }
20605 silly addNameRange versions [ 'stream-combiner',
20605 silly addNameRange [ '0.0.0', '0.0.1', '0.0.2', '0.0.4', '0.1.0', '0.2.0', '0.2.1' ] ]
20606 verbose addNamed [ 'stream-combiner', '0.0.4' ]
20607 verbose addNamed [ '0.0.4', '0.0.4' ]
20608 silly lockFile 1441c6a3-stream-combiner-0-0-4 stream-combiner@0.0.4
20609 verbose lock stream-combiner@0.0.4 /home/gary/.npm/1441c6a3-stream-combiner-0-0-4.lock
20610 verbose readDependencies using package.json deps
20611 silly resolved []
20612 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-stdin
20613 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-stdin
20614 verbose linkStuff [ false,
20614 verbose linkStuff false,
20614 verbose linkStuff false,
20614 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules' ]
20615 info linkStuff get-stdin@0.1.0
20616 verbose linkBins get-stdin@0.1.0
20617 verbose linkMans get-stdin@0.1.0
20618 verbose rebuildBundles get-stdin@0.1.0
20619 info postinstall optimist@0.6.1
20620 silly gunzTarPerm extractEntry lib/coffee-script/cake.js
20621 silly gunzTarPerm extractEntry lib/coffee-script/sourcemap.js
20622 silly gunzTarPerm extractEntry LICENSE
20623 silly gunzTarPerm extractEntry index.js
20624 info retry fetch attempt 1 at 14:03:25
20625 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805222-0.00840306282043457/tmp.tgz
20626 verbose tar unpack /home/gary/.npm/combined-stream/0.0.4/package.tgz
20627 silly lockFile fda9991d-ata-node-modules-combined-stream tar:///home/gary/code/email-transactional-app/node_modules/request/node_modules/form-data/node_modules/combined-stream
20628 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/request/node_modules/form-data/node_modules/combined-stream /home/gary/.npm/fda9991d-ata-node-modules-combined-stream.lock
20629 silly lockFile b40bb826-ombined-stream-0-0-4-package-tgz tar:///home/gary/.npm/combined-stream/0.0.4/package.tgz
20630 verbose lock tar:///home/gary/.npm/combined-stream/0.0.4/package.tgz /home/gary/.npm/b40bb826-ombined-stream-0-0-4-package-tgz.lock
20631 info install get-stdin@0.1.0
20632 silly gunzTarPerm extractEntry lib/copy.js
20633 silly addNameRange number 2 { name: 'map-key', range: '>=0.1.1-0 <0.2.0-0', hasData: true }
20634 silly addNameRange versions [ 'map-key', [ '0.1.0', '0.1.1', '0.1.3', '0.1.4' ] ]
20635 verbose addNamed [ 'map-key', '0.1.4' ]
20636 verbose addNamed [ '0.1.4', '0.1.4' ]
20637 silly lockFile 08b95034-map-key-0-1-4 map-key@0.1.4
20638 verbose lock map-key@0.1.4 /home/gary/.npm/08b95034-map-key-0-1-4.lock
20639 silly gunzTarPerm extractEntry .travis.yml
20640 silly gunzTarPerm extractEntry src/complexityReport.js
20641 silly gunzTarPerm extractEntry test/break.js
20642 silly gunzTarPerm extractEntry test/idleness.txt
20643 http GET https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz
20644 silly lockFile 1a3cc30f-mbiner-stream-combiner-0-0-4-tgz https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz
20645 verbose lock https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz /home/gary/.npm/1a3cc30f-mbiner-stream-combiner-0-0-4-tgz.lock
20646 info postinstall get-stdin@0.1.0
20647 silly gunzTarPerm extractEntry lib/public/icons/page_white_text_width.png
20648 silly gunzTarPerm extractEntry lib/public/icons/page_white_tux.png
20649 silly gunzTarPerm extractEntry Makefile
20650 silly gunzTarPerm extractEntry Readme.md
20651 silly gunzTarPerm extractEntry index.js
20652 silly gunzTarPerm extractEntry examples/pow.js
20653 silly addNameRange number 2 { name: 'extname', range: '>=0.1.1-0 <0.2.0-0', hasData: true }
20654 silly addNameRange versions [ 'extname', [ '0.1.0', '0.1.1', '0.1.2', '0.2.0' ] ]
20655 verbose addNamed [ 'extname', '0.1.2' ]
20656 verbose addNamed [ '0.1.2', '0.1.2' ]
20657 silly lockFile 775815d4-extname-0-1-2 extname@0.1.2
20658 verbose lock extname@0.1.2 /home/gary/.npm/775815d4-extname-0-1-2.lock
20659 http 200 https://registry.npmjs.org/readable-stream
20660 silly registry.get cb [ 200,
20660 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:25 GMT',
20660 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B)',
20660 silly registry.get etag: '"8DMIPBEK31UI812DXL8U8E97H"',
20660 silly registry.get 'content-type': 'application/json',
20660 silly registry.get via: '1.1 varnish',
20660 silly registry.get 'cache-control': 'max-age=1',
20660 silly registry.get 'content-length': '33386',
20660 silly registry.get 'accept-ranges': 'bytes',
20660 silly registry.get age: '19',
20660 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1731-ORD',
20660 silly registry.get 'x-cache': 'HIT, HIT',
20660 silly registry.get 'x-cache-hits': '4, 1',
20660 silly registry.get 'x-timer': 'S1402077805.097875,VS0,VE52',
20660 silly registry.get vary: 'Accept',
20660 silly registry.get 'keep-alive': 'timeout=10, max=48',
20660 silly registry.get connection: 'Keep-Alive' } ]
20661 silly gunzTarPerm extractEntry package.json
20662 silly gunzTarPerm modes [ '755', '644' ]
20663 silly gunzTarPerm extractEntry collection/filter.js
20664 silly gunzTarPerm extractEntry collection/min.js
20665 silly gunzTarPerm extractEntry LICENSE
20666 silly gunzTarPerm extractEntry through2.js
20667 verbose addRemoteTarball [ 'https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz',
20667 verbose addRemoteTarball '4d5e433c185261dde623ca3f44c586bcf5c4ad14' ]
20668 silly lockFile 742f7d8c-js-org-map-key-map-key-0-1-4-tgz https://registry.npmjs.org/map-key/-/map-key-0.1.4.tgz
20669 verbose lock https://registry.npmjs.org/map-key/-/map-key-0.1.4.tgz /home/gary/.npm/742f7d8c-js-org-map-key-map-key-0-1-4-tgz.lock
20670 http 200 https://registry.npmjs.org/xtend
20671 silly registry.get cb [ 200,
20671 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:25 GMT',
20671 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
20671 silly registry.get etag: '"5ALF05UKBUFUX3ER7R9L3K5C5"',
20671 silly registry.get 'content-type': 'application/json',
20671 silly registry.get via: '1.1 varnish',
20671 silly registry.get 'cache-control': 'max-age=1',
20671 silly registry.get 'content-length': '17589',
20671 silly registry.get 'accept-ranges': 'bytes',
20671 silly registry.get age: '366',
20671 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1729-ORD',
20671 silly registry.get 'x-cache': 'HIT, HIT',
20671 silly registry.get 'x-cache-hits': '1, 1',
20671 silly registry.get 'x-timer': 'S1402077805.128978,VS0,VE83',
20671 silly registry.get vary: 'Accept',
20671 silly registry.get 'keep-alive': 'timeout=10, max=48',
20671 silly registry.get connection: 'Keep-Alive' } ]
20672 silly gunzTarPerm extractEntry test/emitter.js
20673 silly gunzTarPerm extractEntry .travis.yml
20674 silly gunzTarPerm extractEntry tool/record.js
20675 info retry fetch attempt 1 at 14:03:25
20676 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805304-0.7378838430158794/tmp.tgz
20677 http 200 https://registry.npmjs.org/tar
20678 silly registry.get cb [ 200,
20678 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:25 GMT',
20678 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
20678 silly registry.get etag: '"BDF74SXF2S741NDFKFUG0P0VD"',
20678 silly registry.get 'content-type': 'application/json',
20678 silly registry.get via: '1.1 varnish',
20678 silly registry.get 'cache-control': 'max-age=1',
20678 silly registry.get 'content-length': '34292',
20678 silly registry.get 'accept-ranges': 'bytes',
20678 silly registry.get age: '5',
20678 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1733-ORD',
20678 silly registry.get 'x-cache': 'HIT, HIT',
20678 silly registry.get 'x-cache-hits': '1, 1',
20678 silly registry.get 'x-timer': 'S1402077805.064570,VS0,VE53',
20678 silly registry.get vary: 'Accept',
20678 silly registry.get 'keep-alive': 'timeout=10, max=49',
20678 silly registry.get connection: 'Keep-Alive' } ]
20679 verbose addRemoteTarball [ 'https://registry.npmjs.org/map-key/-/map-key-0.1.4.tgz',
20679 verbose addRemoteTarball '4cfae88e90b663d2c588ca5a6852f89ae049ad6b' ]
20680 silly lockFile cc3a00a2-js-org-extname-extname-0-1-2-tgz https://registry.npmjs.org/extname/-/extname-0.1.2.tgz
20681 verbose lock https://registry.npmjs.org/extname/-/extname-0.1.2.tgz /home/gary/.npm/cc3a00a2-js-org-extname-extname-0-1-2-tgz.lock
20682 silly addNameRange number 2 { name: 'config-chain',
20682 silly addNameRange range: '>=1.1.1-0 <1.2.0-0',
20682 silly addNameRange hasData: true }
20683 silly addNameRange versions [ 'config-chain',
20683 silly addNameRange [ '0.1.0',
20683 silly addNameRange '0.1.1',
20683 silly addNameRange '0.2.0',
20683 silly addNameRange '0.3.0',
20683 silly addNameRange '0.3.1',
20683 silly addNameRange '0.3.2',
20683 silly addNameRange '0.3.3',
20683 silly addNameRange '1.0.0',
20683 silly addNameRange '1.0.1',
20683 silly addNameRange '1.1.0',
20683 silly addNameRange '1.1.1',
20683 silly addNameRange '1.1.2',
20683 silly addNameRange '1.1.3',
20683 silly addNameRange '1.1.4',
20683 silly addNameRange '1.1.5',
20683 silly addNameRange '1.1.6',
20683 silly addNameRange '0.3.4',
20683 silly addNameRange '1.1.7',
20683 silly addNameRange '1.1.8' ] ]
20684 verbose addNamed [ 'config-chain', '1.1.8' ]
20685 verbose addNamed [ '1.1.8', '1.1.8' ]
20686 silly lockFile f184139b-config-chain-1-1-8 config-chain@1.1.8
20687 verbose lock config-chain@1.1.8 /home/gary/.npm/f184139b-config-chain-1-1-8.lock
20688 http 200 https://registry.npmjs.org/once/-/once-1.1.1.tgz
20689 http 200 https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
20690 silly lockFile 53ba5905-ome-gary-npm-jade-0-26-3-package tar:///home/gary/.npm/jade/0.26.3/package
20691 silly lockFile 53ba5905-ome-gary-npm-jade-0-26-3-package tar:///home/gary/.npm/jade/0.26.3/package
20692 silly lockFile d6277f9f-download-node-modules-each-async tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/each-async
20693 silly lockFile d6277f9f-download-node-modules-each-async tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/each-async
20694 http GET https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz
20695 info retry fetch attempt 1 at 14:03:25
20696 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805326-0.796527769882232/tmp.tgz
20697 silly gunzTarPerm extractEntry README.md
20698 silly gunzTarPerm extractEntry LICENSE
20699 silly gunzTarPerm extractEntry component.json
20700 silly gunzTarPerm extractEntry lib/async.js
20701 silly lockFile 917559f8-98924-0-9870273021515459-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077798924-0.9870273021515459/tmp.tgz
20702 silly lockFile 917559f8-98924-0-9870273021515459-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077798924-0.9870273021515459/tmp.tgz
20703 silly lockFile d798f2d3-npm-each-async-0-1-3-package-tgz tar:///home/gary/.npm/each-async/0.1.3/package.tgz
20704 silly lockFile d798f2d3-npm-each-async-0-1-3-package-tgz tar:///home/gary/.npm/each-async/0.1.3/package.tgz
20705 verbose addRemoteTarball [ 'https://registry.npmjs.org/extname/-/extname-0.1.2.tgz',
20705 verbose addRemoteTarball 'de821aa0f01449d4b4043d4aeefa89a456bf3239' ]
20706 http GET https://registry.npmjs.org/map-key/-/map-key-0.1.4.tgz
20707 silly gunzTarPerm extractEntry .travis.yml
20708 silly gunzTarPerm extractEntry example/parse.js
20709 info retry fetch attempt 1 at 14:03:25
20710 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805356-0.43349614366889/tmp.tgz
20711 silly lockFile 8227dff1-fig-chain-config-chain-1-1-8-tgz https://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz
20712 verbose lock https://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz /home/gary/.npm/8227dff1-fig-chain-config-chain-1-1-8-tgz.lock
20713 silly gunzTarPerm extractEntry package.json
20714 silly gunzTarPerm extractEntry tst/ctio/int/tst.rint.js
20715 silly gunzTarPerm modified mode [ 'tst/ctio/int/tst.rint.js', 438, 420 ]
20716 silly gunzTarPerm extractEntry tst/ctio/int/tst.wint.js
20717 silly gunzTarPerm modified mode [ 'tst/ctio/int/tst.wint.js', 438, 420 ]
20718 silly gunzTarPerm extractEntry readme.markdown
20719 silly gunzTarPerm extractEntry test/perm.js
20720 http GET https://registry.npmjs.org/extname/-/extname-0.1.2.tgz
20721 verbose addRemoteTarball [ 'https://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz',
20721 verbose addRemoteTarball '0943d0b7227213a20d4eaff4434f4a1c0a052cad' ]
20722 silly addNameRange number 2 { name: 'readable-stream',
20722 silly addNameRange range: '>=1.0.17-0 <1.1.0-0',
20722 silly addNameRange hasData: true }
20723 silly addNameRange versions [ 'readable-stream',
20723 silly addNameRange [ '0.0.1',
20723 silly addNameRange '0.0.2',
20723 silly addNameRange '0.0.3',
20723 silly addNameRange '0.0.4',
20723 silly addNameRange '0.1.0',
20723 silly addNameRange '0.2.0',
20723 silly addNameRange '0.3.0',
20723 silly addNameRange '0.3.1',
20723 silly addNameRange '1.0.0',
20723 silly addNameRange '1.0.1',
20723 silly addNameRange '1.0.2',
20723 silly addNameRange '1.0.15',
20723 silly addNameRange '1.0.17',
20723 silly addNameRange '1.1.7',
20723 silly addNameRange '1.1.8',
20723 silly addNameRange '1.1.9',
20723 silly addNameRange '1.0.24',
20723 silly addNameRange '1.0.25',
20723 silly addNameRange '1.1.10',
20723 silly addNameRange '1.0.25-1',
20723 silly addNameRange '1.1.11',
20723 silly addNameRange '1.0.26',
20723 silly addNameRange '1.0.26-1',
20723 silly addNameRange '1.1.11-1',
20723 silly addNameRange '1.0.26-2',
20723 silly addNameRange '1.1.12',
20723 silly addNameRange '1.0.26-3',
20723 silly addNameRange '1.0.26-4',
20723 silly addNameRange '1.1.12-1',
20723 silly addNameRange '1.0.27-1',
20723 silly addNameRange '1.1.13-1' ] ]
20724 verbose addNamed [ 'readable-stream', '1.0.27-1' ]
20725 verbose addNamed [ '1.0.27-1', '1.0.27-1' ]
20726 silly lockFile 8088f056-readable-stream-1-0-27-1 readable-stream@1.0.27-1
20727 verbose lock readable-stream@1.0.27-1 /home/gary/.npm/8088f056-readable-stream-1-0-27-1.lock
20728 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805138-0.29346810723654926/tmp.tgz
20729 silly lockFile 1eb2e9d1-home-gary-npm-once-1-1-1-package tar:///home/gary/.npm/once/1.1.1/package
20730 verbose lock tar:///home/gary/.npm/once/1.1.1/package /home/gary/.npm/1eb2e9d1-home-gary-npm-once-1-1-1-package.lock
20731 silly lockFile 089a7794-5138-0-29346810723654926-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805138-0.29346810723654926/tmp.tgz
20732 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805138-0.29346810723654926/tmp.tgz /home/gary/.npm/089a7794-5138-0-29346810723654926-tmp-tgz.lock
20733 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805115-0.20603138161823153/tmp.tgz
20734 silly lockFile 00490477--gary-npm-inherits-1-0-0-package tar:///home/gary/.npm/inherits/1.0.0/package
20735 verbose lock tar:///home/gary/.npm/inherits/1.0.0/package /home/gary/.npm/00490477--gary-npm-inherits-1-0-0-package.lock
20736 silly lockFile 1419858e-5115-0-20603138161823153-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805115-0.20603138161823153/tmp.tgz
20737 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805115-0.20603138161823153/tmp.tgz /home/gary/.npm/1419858e-5115-0-20603138161823153-tmp-tgz.lock
20738 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805020-0.864900958025828/tmp.tgz
20739 silly lockFile 76212d37-e-gary-npm-adm-zip-0-4-4-package tar:///home/gary/.npm/adm-zip/0.4.4/package
20740 verbose lock tar:///home/gary/.npm/adm-zip/0.4.4/package /home/gary/.npm/76212d37-e-gary-npm-adm-zip-0-4-4-package.lock
20741 silly lockFile c99ed407-805020-0-864900958025828-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805020-0.864900958025828/tmp.tgz
20742 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805020-0.864900958025828/tmp.tgz /home/gary/.npm/c99ed407-805020-0-864900958025828-tmp-tgz.lock
20743 silly lockFile cc749489-ome-gary-npm-debug-0-7-4-package tar:///home/gary/.npm/debug/0.7.4/package
20744 silly lockFile cc749489-ome-gary-npm-debug-0-7-4-package tar:///home/gary/.npm/debug/0.7.4/package
20745 silly gunzTarPerm extractEntry collection/pluck.js
20746 silly gunzTarPerm extractEntry collection/reduce.js
20747 silly gunzTarPerm extractEntry lib/public/icons/page_white_vector.png
20748 silly gunzTarPerm extractEntry lib/public/icons/page_white_visualstudio.png
20749 silly lockFile dda425f0-s-download-node-modules-get-urls tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-urls
20750 silly lockFile dda425f0-s-download-node-modules-get-urls tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-urls
20751 info preinstall each-async@0.1.3
20752 info retry fetch attempt 1 at 14:03:25
20753 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805397-0.869829623028636/tmp.tgz
20754 silly addNameRange number 2 { name: 'xtend', range: '>=2.1.1-0 <2.2.0-0', hasData: true }
20755 silly addNameRange versions [ 'xtend',
20755 silly addNameRange [ '1.0.0',
20755 silly addNameRange '1.0.1',
20755 silly addNameRange '1.0.2',
20755 silly addNameRange '1.0.3',
20755 silly addNameRange '2.0.1',
20755 silly addNameRange '2.0.2',
20755 silly addNameRange '2.0.3',
20755 silly addNameRange '2.0.4',
20755 silly addNameRange '2.0.5',
20755 silly addNameRange '2.0.6',
20755 silly addNameRange '2.1.1',
20755 silly addNameRange '2.1.2',
20755 silly addNameRange '2.2.0',
20755 silly addNameRange '3.0.0' ] ]
20756 verbose addNamed [ 'xtend', '2.1.2' ]
20757 verbose addNamed [ '2.1.2', '2.1.2' ]
20758 silly lockFile ad608e17-xtend-2-1-2 xtend@2.1.2
20759 verbose lock xtend@2.1.2 /home/gary/.npm/ad608e17-xtend-2-1-2.lock
20760 silly lockFile fbcc189d-4348-0-43294397997669876-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804348-0.43294397997669876/tmp.tgz
20761 silly lockFile fbcc189d-4348-0-43294397997669876-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804348-0.43294397997669876/tmp.tgz
20762 http 200 https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz
20763 silly lockFile 44268bc8-y-npmjs-org-jade-jade-0-26-3-tgz https://registry.npmjs.org/jade/-/jade-0.26.3.tgz
20764 silly lockFile 44268bc8-y-npmjs-org-jade-jade-0-26-3-tgz https://registry.npmjs.org/jade/-/jade-0.26.3.tgz
20765 silly lockFile d0411d5e-y-npm-get-urls-0-1-2-package-tgz tar:///home/gary/.npm/get-urls/0.1.2/package.tgz
20766 silly lockFile d0411d5e-y-npm-get-urls-0-1-2-package-tgz tar:///home/gary/.npm/get-urls/0.1.2/package.tgz
20767 silly addNameRange number 2 { name: 'tar', range: '>=0.1.18-0 <0.2.0-0', hasData: true }
20768 silly addNameRange versions [ 'tar',
20768 silly addNameRange [ '0.0.1',
20768 silly addNameRange '0.1.0',
20768 silly addNameRange '0.1.2',
20768 silly addNameRange '0.1.3',
20768 silly addNameRange '0.1.4',
20768 silly addNameRange '0.1.5',
20768 silly addNameRange '0.1.6',
20768 silly addNameRange '0.1.7',
20768 silly addNameRange '0.1.8',
20768 silly addNameRange '0.1.9',
20768 silly addNameRange '0.1.10',
20768 silly addNameRange '0.1.11',
20768 silly addNameRange '0.1.12',
20768 silly addNameRange '0.1.13',
20768 silly addNameRange '0.1.14',
20768 silly addNameRange '0.1.15',
20768 silly addNameRange '0.1.16',
20768 silly addNameRange '0.1.17',
20768 silly addNameRange '0.1.18',
20768 silly addNameRange '0.1.19' ] ]
20769 verbose addNamed [ 'tar', '0.1.19' ]
20770 verbose addNamed [ '0.1.19', '0.1.19' ]
20771 silly lockFile 9cd6579d-tar-0-1-19 tar@0.1.19
20772 verbose lock tar@0.1.19 /home/gary/.npm/9cd6579d-tar-0-1-19.lock
20773 silly gunzTarPerm extractEntry .npmignore
20774 silly gunzTarPerm extractEntry lib/combined_stream.js
20775 silly lockFile 7a3d3ea7-jade-0-26-3 jade@0.26.3
20776 silly lockFile 7a3d3ea7-jade-0-26-3 jade@0.26.3
20777 http GET https://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz
20778 silly lockFile 00bb6e01-eam-readable-stream-1-0-27-1-tgz https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz
20779 verbose lock https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz /home/gary/.npm/00bb6e01-eam-readable-stream-1-0-27-1-tgz.lock
20780 silly gunzTarPerm modes [ '755', '644' ]
20781 silly gunzTarPerm modes [ '755', '644' ]
20782 silly gunzTarPerm modes [ '755', '644' ]
20783 verbose readDependencies using package.json deps
20784 silly gunzTarPerm extractEntry lib/file.js
20785 silly gunzTarPerm extractEntry lib/incoming_form.js
20786 silly lockFile 5b9e4e72--npmjs-org-xtend-xtend-2-1-2-tgz https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz
20787 verbose lock https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz /home/gary/.npm/5b9e4e72--npmjs-org-xtend-xtend-2-1-2-tgz.lock
20788 verbose readDependencies using package.json deps
20789 silly resolved []
20790 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/each-async
20791 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/each-async
20792 verbose linkStuff [ false,
20792 verbose linkStuff false,
20792 verbose linkStuff false,
20792 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules' ]
20793 info linkStuff each-async@0.1.3
20794 verbose linkBins each-async@0.1.3
20795 verbose linkMans each-async@0.1.3
20796 verbose rebuildBundles each-async@0.1.3
20797 verbose addRemoteTarball [ 'https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz',
20797 verbose addRemoteTarball '6b67983c20357cefd07f0165001a16d710d91078' ]
20798 silly lockFile cb215d56-try-npmjs-org-tar-tar-0-1-19-tgz https://registry.npmjs.org/tar/-/tar-0.1.19.tgz
20799 verbose lock https://registry.npmjs.org/tar/-/tar-0.1.19.tgz /home/gary/.npm/cb215d56-try-npmjs-org-tar-tar-0-1-19-tgz.lock
20800 silly lockFile cef39aaa-odules-utile-node-modules-rimraf tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/rimraf
20801 silly lockFile cef39aaa-odules-utile-node-modules-rimraf tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/rimraf
20802 info preinstall get-urls@0.1.2
20803 info install each-async@0.1.3
20804 info retry fetch attempt 1 at 14:03:25
20805 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805464-0.8881496987305582/tmp.tgz
20806 verbose addRemoteTarball [ 'https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz',
20806 verbose addRemoteTarball '6efecc2a4dad8e6962c4901b337ce7ba87b5d28b' ]
20807 http 200 https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz
20808 silly lockFile e18a217e--npmjs-org-debug-debug-0-7-4-tgz https://registry.npmjs.org/debug/-/debug-0.7.4.tgz
20809 silly lockFile e18a217e--npmjs-org-debug-debug-0-7-4-tgz https://registry.npmjs.org/debug/-/debug-0.7.4.tgz
20810 silly lockFile 5d8081f6-ary-npm-rimraf-2-2-8-package-tgz tar:///home/gary/.npm/rimraf/2.2.8/package.tgz
20811 silly lockFile 5d8081f6-ary-npm-rimraf-2-2-8-package-tgz tar:///home/gary/.npm/rimraf/2.2.8/package.tgz
20812 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805222-0.00840306282043457/tmp.tgz
20813 silly lockFile 6df2c748-ome-gary-npm-osenv-0-0-3-package tar:///home/gary/.npm/osenv/0.0.3/package
20814 verbose lock tar:///home/gary/.npm/osenv/0.0.3/package /home/gary/.npm/6df2c748-ome-gary-npm-osenv-0-0-3-package.lock
20815 silly lockFile db3a22b6-5222-0-00840306282043457-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805222-0.00840306282043457/tmp.tgz
20816 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805222-0.00840306282043457/tmp.tgz /home/gary/.npm/db3a22b6-5222-0-00840306282043457-tmp-tgz.lock
20817 info retry fetch attempt 1 at 14:03:25
20818 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805475-0.6681273486465216/tmp.tgz
20819 verbose addRemoteTarball [ 'https://registry.npmjs.org/tar/-/tar-0.1.19.tgz',
20819 verbose addRemoteTarball 'fe45941799e660ce1ea52d875d37481b4bf13eac' ]
20820 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
20821 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
20822 info postinstall each-async@0.1.3
20823 silly gunzTarPerm extractEntry readme.markdown
20824 silly gunzTarPerm extractEntry test/bool.js
20825 http GET https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz
20826 info retry fetch attempt 1 at 14:03:25
20827 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805489-0.4923828267492354/tmp.tgz
20828 silly gunzTarPerm extractEntry package.json
20829 silly gunzTarPerm extractEntry inherits.js
20830 silly gunzTarPerm extractEntry package.json
20831 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
20832 silly lockFile d0156cbb-debug-0-7-2 debug@~0.7.2
20833 silly lockFile d0156cbb-debug-0-7-2 debug@~0.7.2
20834 verbose readDependencies using package.json deps
20835 http GET https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz
20836 http 200 https://registry.npmjs.org/map-key/-/map-key-0.1.4.tgz
20837 silly gunzTarPerm modes [ '755', '644' ]
20838 silly gunzTarPerm extractEntry src/safeName.js
20839 silly gunzTarPerm extractEntry lib/coffee-script/nodes.js
20840 silly resolved [ { name: 'growl',
20840 silly resolved version: '1.7.0',
20840 silly resolved description: 'Growl unobtrusive notifications',
20840 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
20840 silly resolved main: './lib/growl.js',
20840 silly resolved readme: '# Growl for nodejs\n\nGrowl support for Nodejs. This is essentially a port of my [Ruby Growl Library](http://github.com/visionmedia/growl). Ubuntu/Linux support added thanks to [@niftylettuce](http://github.com/niftylettuce). \n\n## Installation\n\n### Install \n\n### Mac OS X (Darwin):\n\n Install [growlnotify(1)](http://growl.info/extras.php#growlnotify). On OS X 10.8, Notification Center is supported using [terminal-notifier](https://github.com/alloy/terminal-notifier). To install:\n \n $ sudo gem install terminal-notifier\n \n Install [npm](http://npmjs.org/) and run:\n \n $ npm install growl\n\n### Ubuntu (Linux):\n\n Install `notify-send` through the [libnotify-bin](http://packages.ubuntu.com/libnotify-bin) package:\n\n $ sudo apt-get install libnotify-bin\n\n Install [npm](http://npmjs.org/) and run:\n \n $ npm install growl\n\n### Windows:\n\n Download and install [Growl for Windows](http://www.growlforwindows.com/gfw/default.aspx)\n\n Download [growlnotify](http://www.growlforwindows.com/gfw/help/growlnotify.aspx) - **IMPORTANT :** Unpack growlnotify to a folder that is present in your path!\n\n Install [npm](http://npmjs.org/) and run:\n \n $ npm install growl\n\n## Examples\n\nCallback functions are optional\n\n var growl = require(\'growl\')\n growl(\'You have mail!\')\n growl(\'5 new messages\', { sticky: true })\n growl(\'5 new emails\', { title: \'Email Client\', image: \'Safari\', sticky: true })\n growl(\'Message with title\', { title: \'Title\'})\n growl(\'Set priority\', { priority: 2 })\n growl(\'Show Safari icon\', { image: \'Safari\' })\n growl(\'Show icon\', { image: \'path/to/icon.icns\' })\n growl(\'Show image\', { image: \'path/to/my.image.png\' })\n growl(\'Show png filesystem icon\', { image: \'png\' })\n growl(\'Show pdf filesystem icon\', { image: \'article.pdf\' })\n growl(\'Show pdf filesystem icon\', { image: \'article.pdf\' }, function(err){\n // ... notified\n })\n\n## Options\n\n - title\n - notification title\n - name\n - application name\n - priority\n - priority for the notification (default is 0)\n - sticky\n - weither or not the notification should remainin until closed\n - image\n - Auto-detects the context:\n - path to an icon sets --iconpath\n - path to an image sets --image\n - capitalized word sets --appIcon\n - filename uses extname as --icon\n - otherwise treated as --icon\n \n## License \n\n(The MIT License)\n\nCopyright (c) 2009 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\'Software\'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
20840 silly resolved readmeFilename: 'Readme.md',
20840 silly resolved _id: 'growl@1.7.0',
20840 silly resolved _shasum: 'de2d66136d002e112ba70f3f10c31cf7c350b2da',
20840 silly resolved _from: 'growl@1.7.x',
20840 silly resolved _resolved: 'https://registry.npmjs.org/growl/-/growl-1.7.0.tgz' },
20840 silly resolved { name: 'diff',
20840 silly resolved version: '1.0.7',
20840 silly resolved description: 'A javascript text diff implementation.',
20840 silly resolved keywords: [ 'diff', 'javascript' ],
20840 silly resolved maintainers: [ [Object] ],
20840 silly resolved bugs:
20840 silly resolved { url: 'http://github.com/kpdecker/jsdiff/issues',
20840 silly resolved email: 'kpdecker@gmail.com' },
20840 silly resolved licenses: [ [Object] ],
20840 silly resolved repository: { type: 'git', url: 'git://github.com/kpdecker/jsdiff.git' },
20840 silly resolved engines: { node: '>=0.3.1' },
20840 silly resolved main: './diff',
20840 silly resolved scripts: { test: 'mocha test/*.js' },
20840 silly resolved dependencies: {},
20840 silly resolved devDependencies: { mocha: '~1.6', should: '~1.2' },
20840 silly resolved optionalDependencies: {},
20840 silly resolved files: [ 'diff.js' ],
20840 silly resolved readme: '# jsdiff\n\n[![Build Status](https://secure.travis-ci.org/kpdecker/jsdiff.png)](http://travis-ci.org/kpdecker/jsdiff)\n\nA javascript text differencing implementation.\n\nBased on the algorithm proposed in\n["An O(ND) Difference Algorithm and its Variations" (Myers, 1986)](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927).\n\n## Installation\n\n npm install diff\n\nor\n\n git clone git://github.com/kpdecker/jsdiff.git\n\n## API\n\n* JsDiff.diffChars(oldStr, newStr)\n Diffs two blocks of text, comparing character by character.\n\n Returns a list of change objects (See below).\n\n* JsDiff.diffWords(oldStr, newStr)\n Diffs two blocks of text, comparing word by word.\n\n Returns a list of change objects (See below).\n\n* JsDiff.diffLines(oldStr, newStr)\n Diffs two blocks of text, comparing line by line.\n\n Returns a list of change objects (See below).\n\n* JsDiff.diffCss(oldStr, newStr)\n Diffs two blocks of text, comparing CSS tokens.\n\n Returns a list of change objects (See below).\n\n* JsDiff.createPatch(fileName, oldStr, newStr, oldHeader, newHeader)\n Creates a unified diff patch.\n\n Parameters:\n * fileName : String to be output in the filename sections of the patch\n * oldStr : Original string value\n * newStr : New string value\n * oldHeader : Additional information to include in the old file header\n * newHeader : Additional information to include in thew new file header\n\n* JsDiff.applyPatch(oldStr, diffStr)\n Applies a unified diff patch.\n\n Return a string containing new version of provided data.\n\n* convertChangesToXML(changes)\n Converts a list of changes to a serialized XML format\n\n### Change Objects\nMany of the methods above return change objects. These objects are consist of the following fields:\n\n* value: Text content\n* added: True if the value was inserted into the new string\n* removed: True of the value was removed from the old string\n\nNote that some cases may omit a particular flag field. Comparison on the flag fields should always be done in a truthy or falsy manner.\n\n## [Example](http://kpdecker.github.com/jsdiff)\n\n## License\n\nSoftware License Agreement (BSD License)\n\nCopyright (c) 2009-2011, Kevin Decker kpdecker@gmail.com\n\nAll rights reserved.\n\nRedistribution and use of this software in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above\n copyright notice, this list of conditions and the\n following disclaimer.\n\n* Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the\n following disclaimer in the documentation and/or other\n materials provided with the distribution.\n\n* Neither the name of Kevin Decker nor the names of its\n contributors may be used to endorse or promote products\n derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR\nIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\nCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER\nIN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT\nOF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n',
20840 silly resolved readmeFilename: 'README.md',
20840 silly resolved homepage: 'https://github.com/kpdecker/jsdiff',
20840 silly resolved _id: 'diff@1.0.7',
20840 silly resolved _shasum: '24bbb001c4a7d5522169e7cabdb2c2814ed91cf4',
20840 silly resolved _from: 'diff@1.0.7',
20840 silly resolved _resolved: 'https://registry.npmjs.org/diff/-/diff-1.0.7.tgz' },
20840 silly resolved { name: 'commander',
20840 silly resolved version: '2.0.0',
20840 silly resolved description: 'the complete solution for node.js command-line programs',
20840 silly resolved keywords: [ 'command', 'option', 'parser', 'prompt', 'stdin' ],
20840 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
20840 silly resolved repository:
20840 silly resolved { type: 'git',
20840 silly resolved url: 'https://github.com/visionmedia/commander.js.git' },
20840 silly resolved devDependencies: { should: '>= 0.0.1' },
20840 silly resolved scripts: { test: 'make test' },
20840 silly resolved main: 'index',
20840 silly resolved engines: { node: '>= 0.6.x' },
20840 silly resolved readme: '# Commander.js\n\n The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby\'s [commander](https://github.com/visionmedia/commander).\n\n [![Build Status](https://secure.travis-ci.org/visionmedia/commander.js.png)](http://travis-ci.org/visionmedia/commander.js)\n\n## Installation\n\n $ npm install commander\n\n## Option parsing\n\n Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require(\'commander\');\n\nprogram\n .version(\'0.0.1\')\n .option(\'-p, --peppers\', \'Add peppers\')\n .option(\'-P, --pineapple\', \'Add pineapple\')\n .option(\'-b, --bbq\', \'Add bbq sauce\')\n .option(\'-c, --cheese [type]\', \'Add the specified type of cheese [marble]\', \'marble\')\n .parse(process.argv);\n\nconsole.log(\'you ordered a pizza with:\');\nif (program.peppers) console.log(\' - peppers\');\nif (program.pineapple) console.log(\' - pineapple\');\nif (program.bbq) console.log(\' - bbq\');\nconsole.log(\' - %s cheese\', program.cheese);\n```\n\n Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc.\n\n## Automated --help\n\n The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:\n\n``` \n $ ./examples/pizza --help\n\n Usage: pizza [options]\n\n Options:\n\n -V, --version output the version number\n -p, --peppers Add peppers\n -P, --pineapple Add pineapple\n -b, --bbq Add bbq sauce\n -c, --cheese <type> Add the specified type of cheese [marble]\n -h, --help output usage information\n\n```\n\n## Coercion\n\n```js\nfunction range(val) {\n return val.split(\'..\').map(Number);\n}\n\nfunction list(val) {\n return val.split(\',\');\n}\n\nprogram\n .version(\'0.0.1\')\n .usage(\'[options] <file ...>\')\n .option(\'-i, --integer <n>\', \'An integer argument\', parseInt)\n .option(\'-f, --float <n>\', \'A float argument\', parseFloat)\n .option(\'-r, --range <a>..<b>\', \'A range\', range)\n .option(\'-l, --list <items>\', \'A list\', list)\n .option(\'-o, --optional [value]\', \'An optional value\')\n .parse(process.argv);\n\nconsole.log(\' int: %j\', program.integer);\nconsole.log(\' float: %j\', program.float);\nconsole.log(\' optional: %j\', program.optional);\nprogram.range = program.range || [];\nconsole.log(\' range: %j..%j\', program.range[0], program.range[1]);\nconsole.log(\' list: %j\', program.list);\nconsole.log(\' args: %j\', program.args);\n```\n\n## Custom help\n\n You can display arbitrary `-h, --help` information\n by listening for "--help". Commander will automatically\n exit once you are done so that the remainder of your program\n does not execute causing undesired behaviours, for example\n in the following executable "stuff" will not output when\n `--help` is used.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require(\'../\');\n\nfunction list(val) {\n return val.split(\',\').map(Number);\n}\n\nprogram\n .version(\'0.0.1\')\n .option(\'-f, --foo\', \'enable some foo\')\n .option(\'-b, --bar\', \'enable some bar\')\n .option(\'-B, --baz\', \'enable some baz\');\n\n// must be before .parse() since\n// node\'s emit() is immediate\n\nprogram.on(\'--help\', function(){\n console.log(\' Examples:\');\n console.log(\'\');\n console.log(\' $ custom-help --help\');\n console.log(\' $ custom-help -h\');\n console.log(\'\');\n});\n\nprogram.parse(process.argv);\n\nconsole.log(\'stuff\');\n```\n\nyielding the following help output:\n\n```\n\nUsage: custom-help [options]\n\nOptions:\n\n -h, --help output usage information\n -V, --version output the version number\n -f, --foo enable some foo\n -b, --bar enable some bar\n -B, --baz enable some baz\n\nExamples:\n\n $ custom-help --help\n $ custom-help -h\n\n```\n\n## .outputHelp()\n\n Output help information without exiting.\n\n## .help()\n\n Output help information and exit immediately.\n\n## Links\n\n - [API documentation](http://visionmedia.github.com/commander.js/)\n - [ascii tables](https://github.com/LearnBoost/cli-table)\n - [progress bars](https://github.com/visionmedia/node-progress)\n - [more progress bars](https://github.com/substack/node-multimeter)\n - [examples](https://github.com/visionmedia/commander.js/tree/master/examples)\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',
20840 silly resolved readmeFilename: 'Readme.md',
20840 silly resolved bugs: { url: 'https://github.com/visionmedia/commander.js/issues' },
20840 silly resolved homepage: 'https://github.com/visionmedia/commander.js',
20840 silly resolved _id: 'commander@2.0.0',
20840 silly resolved _shasum: 'd1b86f901f8b64bd941bdeadaf924530393be928',
20840 silly resolved _from: 'commander@2.0.0',
20840 silly resolved _resolved: 'https://registry.npmjs.org/commander/-/commander-2.0.0.tgz' },
20840 silly resolved { name: 'debug',
20840 silly resolved version: '1.0.0',
20840 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/debug.git' },
20840 silly resolved description: 'small debugging utility',
20840 silly resolved keywords: [ 'debug', 'log', 'debugger' ],
20840 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
20840 silly resolved dependencies: { ms: '0.6.2' },
20840 silly resolved devDependencies: { browserify: '4.1.6', mocha: '*' },
20840 silly resolved main: './node.js',
20840 silly resolved browser: './browser.js',
20840 silly resolved component: { scripts: [Object] },
20840 silly resolved readme: '# debug\n\n tiny node.js debugging utility modelled after node core\'s debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you\'re used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require(\'debug\')(\'http\')\n , http = require(\'http\')\n , name = \'My App\';\n\n// fake app\n\ndebug(\'booting %s\', name);\n\nhttp.createServer(function(req, res){\n debug(req.method + \' \' + req.url);\n res.end(\'hello\\n\');\n}).listen(3000, function(){\n debug(\'listening\');\n});\n\n// fake worker of some kind\n\nrequire(\'./worker\');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require(\'debug\')(\'worker\');\n\nsetInterval(function(){\n debug(\'doing some work\');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## 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 b(\'doing some work\');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n Colors are also enabled on "Web Inspectors" that understand the `%c` formatting\n option. These are WebKit web inspectors, and the Firebug plugin for Firefox.\n Colored output looks something like:\n\n ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\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',
20840 silly resolved readmeFilename: 'Readme.md',
20840 silly resolved bugs: { url: 'https://github.com/visionmedia/debug/issues' },
20840 silly resolved homepage: 'https://github.com/visionmedia/debug',
20840 silly resolved _id: 'debug@1.0.0',
20840 silly resolved _shasum: '553678b67494cacc2d5330c24dfb2f275b1ceb5a',
20840 silly resolved _from: 'debug@*',
20840 silly resolved _resolved: 'https://registry.npmjs.org/debug/-/debug-1.0.0.tgz' },
20840 silly resolved { name: 'mkdirp',
20840 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
20840 silly resolved version: '0.3.5',
20840 silly resolved author:
20840 silly resolved { name: 'James Halliday',
20840 silly resolved email: 'mail@substack.net',
20840 silly resolved url: 'http://substack.net' },
20840 silly resolved main: './index',
20840 silly resolved keywords: [ 'mkdir', 'directory' ],
20840 silly resolved repository:
20840 silly resolved { type: 'git',
20840 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
20840 silly resolved scripts: { test: 'tap test/*.js' },
20840 silly resolved devDependencies: { tap: '~0.4.0' },
20840 silly resolved license: 'MIT',
20840 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# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n',
20840 silly resolved readmeFilename: 'readme.markdown',
20840 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
20840 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
20840 silly resolved _id: 'mkdirp@0.3.5',
20840 silly resolved _shasum: 'de3e5f8961c88c787ee1368df849ac4413eca8d7',
20840 silly resolved _from: 'mkdirp@^0.3.5',
20840 silly resolved _resolved: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz' },
20840 silly resolved { author:
20840 silly resolved { name: 'Isaac Z. Schlueter',
20840 silly resolved email: 'i@izs.me',
20840 silly resolved url: 'http://blog.izs.me/' },
20840 silly resolved name: 'glob',
20840 silly resolved description: 'a little globber',
20840 silly resolved version: '3.2.3',
20840 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
20840 silly resolved main: 'glob.js',
20840 silly resolved engines: { node: '*' },
20840 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~2.0.0', inherits: '2' },
20840 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
20840 silly resolved scripts: { test: 'tap test/*.js' },
20840 silly resolved license: 'BSD',
20840 silly resolved readme: '# Glob\n\nMatch files using the patterns the shell uses, like stars and stuff.\n\nThis is a glob implementation in JavaScript. It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there\'s an event emitter class, proper tests, and all the other\nthings you\'ve come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require("glob")\n\n// options is optional\nglob("**/*.js", options, function (er, files) {\n // files is an array of filenames.\n // If the `nonull` option is set, and nothing\n // was found, then files is ["**/*.js"]\n // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options])\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require("glob").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt\'s an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered. When an error is encountered, the\n glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`. There\n is no way at this time to continue a glob search after aborting, but\n you can re-use the statCache to avoid having to duplicate syscalls.\n* `statCache` Collection of all the stat results the glob search\n performed.\n* `cache` Convenience object. Each field has the following possible\n values:\n * `false` - Path does not exist\n * `true` - Path exists\n * `1` - Path exists, and is not a directory\n * `2` - Path exists, and is a directory\n * `[file, entries, ...]` - Path exists, is a directory, and the\n array value is the results of `fs.readdir`\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n matches found. If the `nonull` option is set, and no match was found,\n then the `matches` list contains the original pattern. The matches\n are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior. Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search. Defaults\n to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix\n systems, and `C:\\` or some such on Windows.)\n* `dot` Include `.dot` files in normal matches and `globstar` matches.\n Note that an explicit dot in a portion of the pattern will always\n match dot files.\n* `nomount` By default, a pattern starting with a forward-slash will be\n "mounted" onto the root setting, so that a valid filesystem path is\n returned. Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches. Note that this\n requires additional stat calls.\n* `nosort` Don\'t sort the results.\n* `stat` Set to true to stat *all* results. This reduces performance\n somewhat, and is completely unnecessary, unless `readdir` is presumed\n to be an untrustworthy indicator of file existence. It will cause\n ELOOP to be triggered one level sooner in the case of cyclical\n symbolic links.\n* `silent` When an unusual error is encountered\n when attempting to read a directory, a warning will be printed to\n stderr. Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n when attempting to read a directory, the process will just continue on\n in search of other matches. Set the `strict` option to raise an error\n in these cases.\n* `cache` See `cache` property above. Pass in a previously generated\n cache object to save some fs calls.\n* `statCache` A cache of results of filesystem information, to prevent\n unnecessary stat calls. While it should not normally be necessary to\n set this, you may pass the statCache from one glob() call to the\n options object of another, if you know that the filesystem will not\n change between calls. (See "Race Conditions" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n same file showing up multiple times in the result set. By default,\n this implementation prevents duplicates in the result set.\n Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n containing the pattern itself. This is the default in glob(3).\n* `nocase` Perform a case-insensitive match. Note that case-insensitive\n filesystems will sometimes result in glob returning results that are\n case-insensitively matched anyway, since readdir and stat will not\n raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`glob.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation. You must use\nforward-slashes **only** in glob expressions. Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`. On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead. However, this also makes it even more susceptible to races,\nespecially if the cache or statCache objects are reused between glob\ncalls.\n\nUsers are thus advised not to use a glob result as a guarantee of\nfilesystem state in the face of rapid changes. For the vast majority\nof operations, this is never a problem.\n',
20840 silly resolved readmeFilename: 'README.md',
20840 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
20840 silly resolved homepage: 'https://github.com/isaacs/node-glob',
20840 silly resolved _id: 'glob@3.2.3',
20840 silly resolved _shasum: 'e313eeb249c7affaa5c475286b0e115b59839467',
20840 silly resolved _from: 'glob@3.2.3',
20840 silly resolved _resolved: 'https://registry.npmjs.org/glob/-/glob-3.2.3.tgz' },
20840 silly resolved { name: 'jade',
20840 silly resolved description: 'Jade template engine',
20840 silly resolved version: '0.26.3',
20840 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
20840 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/jade' },
20840 silly resolved main: './index.js',
20840 silly resolved bin: { jade: './bin/jade' },
20840 silly resolved man: [ './jade.1' ],
20840 silly resolved dependencies: { commander: '0.6.1', mkdirp: '0.3.0' },
20840 silly resolved devDependencies:
20840 silly resolved { mocha: '*',
20840 silly resolved markdown: '*',
20840 silly resolved stylus: '*',
20840 silly resolved uubench: '*',
20840 silly resolved should: '*',
20840 silly resolved less: '*',
20840 silly resolved 'uglify-js': '*' },
20840 silly resolved component: { scripts: [Object] },
20840 silly resolved scripts: { prepublish: 'npm prune' },
20840 silly resolved bugs: { url: 'https://github.com/visionmedia/jade/issues' },
20840 silly resolved readme: 'ERROR: No README data found!',
20840 silly resolved homepage: 'https://github.com/visionmedia/jade',
20840 silly resolved _id: 'jade@0.26.3',
20840 silly resolved _shasum: '8f10d7977d8d79f2f6ff862a81b0513ccb25686c',
20840 silly resolved _from: 'jade@0.26.3',
20840 silly resolved _resolved: 'https://registry.npmjs.org/jade/-/jade-0.26.3.tgz' } ]
20841 info install growl@1.7.0 into /home/gary/code/email-transactional-app/node_modules/mocha
20842 info install diff@1.0.7 into /home/gary/code/email-transactional-app/node_modules/mocha
20843 info install commander@2.0.0 into /home/gary/code/email-transactional-app/node_modules/mocha
20844 info install debug@1.0.0 into /home/gary/code/email-transactional-app/node_modules/mocha
20845 info install mkdirp@0.3.5 into /home/gary/code/email-transactional-app/node_modules/mocha
20846 info install glob@3.2.3 into /home/gary/code/email-transactional-app/node_modules/mocha
20847 info install jade@0.26.3 into /home/gary/code/email-transactional-app/node_modules/mocha
20848 info installOne growl@1.7.0
20849 info installOne diff@1.0.7
20850 info installOne commander@2.0.0
20851 info installOne debug@1.0.0
20852 info installOne mkdirp@0.3.5
20853 info installOne glob@3.2.3
20854 info installOne jade@0.26.3
20855 silly resolved [ { name: 'growl',
20855 silly resolved version: '1.7.0',
20855 silly resolved description: 'Growl unobtrusive notifications',
20855 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
20855 silly resolved main: './lib/growl.js',
20855 silly resolved readme: '# Growl for nodejs\n\nGrowl support for Nodejs. This is essentially a port of my [Ruby Growl Library](http://github.com/visionmedia/growl). Ubuntu/Linux support added thanks to [@niftylettuce](http://github.com/niftylettuce). \n\n## Installation\n\n### Install \n\n### Mac OS X (Darwin):\n\n Install [growlnotify(1)](http://growl.info/extras.php#growlnotify). On OS X 10.8, Notification Center is supported using [terminal-notifier](https://github.com/alloy/terminal-notifier). To install:\n \n $ sudo gem install terminal-notifier\n \n Install [npm](http://npmjs.org/) and run:\n \n $ npm install growl\n\n### Ubuntu (Linux):\n\n Install `notify-send` through the [libnotify-bin](http://packages.ubuntu.com/libnotify-bin) package:\n\n $ sudo apt-get install libnotify-bin\n\n Install [npm](http://npmjs.org/) and run:\n \n $ npm install growl\n\n### Windows:\n\n Download and install [Growl for Windows](http://www.growlforwindows.com/gfw/default.aspx)\n\n Download [growlnotify](http://www.growlforwindows.com/gfw/help/growlnotify.aspx) - **IMPORTANT :** Unpack growlnotify to a folder that is present in your path!\n\n Install [npm](http://npmjs.org/) and run:\n \n $ npm install growl\n\n## Examples\n\nCallback functions are optional\n\n var growl = require(\'growl\')\n growl(\'You have mail!\')\n growl(\'5 new messages\', { sticky: true })\n growl(\'5 new emails\', { title: \'Email Client\', image: \'Safari\', sticky: true })\n growl(\'Message with title\', { title: \'Title\'})\n growl(\'Set priority\', { priority: 2 })\n growl(\'Show Safari icon\', { image: \'Safari\' })\n growl(\'Show icon\', { image: \'path/to/icon.icns\' })\n growl(\'Show image\', { image: \'path/to/my.image.png\' })\n growl(\'Show png filesystem icon\', { image: \'png\' })\n growl(\'Show pdf filesystem icon\', { image: \'article.pdf\' })\n growl(\'Show pdf filesystem icon\', { image: \'article.pdf\' }, function(err){\n // ... notified\n })\n\n## Options\n\n - title\n - notification title\n - name\n - application name\n - priority\n - priority for the notification (default is 0)\n - sticky\n - weither or not the notification should remainin until closed\n - image\n - Auto-detects the context:\n - path to an icon sets --iconpath\n - path to an image sets --image\n - capitalized word sets --appIcon\n - filename uses extname as --icon\n - otherwise treated as --icon\n \n## License \n\n(The MIT License)\n\nCopyright (c) 2009 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\'Software\'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
20855 silly resolved readmeFilename: 'Readme.md',
20855 silly resolved _id: 'growl@1.7.0',
20855 silly resolved _shasum: 'de2d66136d002e112ba70f3f10c31cf7c350b2da',
20855 silly resolved _from: 'growl@1.7.x',
20855 silly resolved _resolved: 'https://registry.npmjs.org/growl/-/growl-1.7.0.tgz' },
20855 silly resolved { name: 'diff',
20855 silly resolved version: '1.0.7',
20855 silly resolved description: 'A javascript text diff implementation.',
20855 silly resolved keywords: [ 'diff', 'javascript' ],
20855 silly resolved maintainers: [ [Object] ],
20855 silly resolved bugs:
20855 silly resolved { url: 'http://github.com/kpdecker/jsdiff/issues',
20855 silly resolved email: 'kpdecker@gmail.com' },
20855 silly resolved licenses: [ [Object] ],
20855 silly resolved repository: { type: 'git', url: 'git://github.com/kpdecker/jsdiff.git' },
20855 silly resolved engines: { node: '>=0.3.1' },
20855 silly resolved main: './diff',
20855 silly resolved scripts: { test: 'mocha test/*.js' },
20855 silly resolved dependencies: {},
20855 silly resolved devDependencies: { mocha: '~1.6', should: '~1.2' },
20855 silly resolved optionalDependencies: {},
20855 silly resolved files: [ 'diff.js' ],
20855 silly resolved readme: '# jsdiff\n\n[![Build Status](https://secure.travis-ci.org/kpdecker/jsdiff.png)](http://travis-ci.org/kpdecker/jsdiff)\n\nA javascript text differencing implementation.\n\nBased on the algorithm proposed in\n["An O(ND) Difference Algorithm and its Variations" (Myers, 1986)](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927).\n\n## Installation\n\n npm install diff\n\nor\n\n git clone git://github.com/kpdecker/jsdiff.git\n\n## API\n\n* JsDiff.diffChars(oldStr, newStr)\n Diffs two blocks of text, comparing character by character.\n\n Returns a list of change objects (See below).\n\n* JsDiff.diffWords(oldStr, newStr)\n Diffs two blocks of text, comparing word by word.\n\n Returns a list of change objects (See below).\n\n* JsDiff.diffLines(oldStr, newStr)\n Diffs two blocks of text, comparing line by line.\n\n Returns a list of change objects (See below).\n\n* JsDiff.diffCss(oldStr, newStr)\n Diffs two blocks of text, comparing CSS tokens.\n\n Returns a list of change objects (See below).\n\n* JsDiff.createPatch(fileName, oldStr, newStr, oldHeader, newHeader)\n Creates a unified diff patch.\n\n Parameters:\n * fileName : String to be output in the filename sections of the patch\n * oldStr : Original string value\n * newStr : New string value\n * oldHeader : Additional information to include in the old file header\n * newHeader : Additional information to include in thew new file header\n\n* JsDiff.applyPatch(oldStr, diffStr)\n Applies a unified diff patch.\n\n Return a string containing new version of provided data.\n\n* convertChangesToXML(changes)\n Converts a list of changes to a serialized XML format\n\n### Change Objects\nMany of the methods above return change objects. These objects are consist of the following fields:\n\n* value: Text content\n* added: True if the value was inserted into the new string\n* removed: True of the value was removed from the old string\n\nNote that some cases may omit a particular flag field. Comparison on the flag fields should always be done in a truthy or falsy manner.\n\n## [Example](http://kpdecker.github.com/jsdiff)\n\n## License\n\nSoftware License Agreement (BSD License)\n\nCopyright (c) 2009-2011, Kevin Decker kpdecker@gmail.com\n\nAll rights reserved.\n\nRedistribution and use of this software in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above\n copyright notice, this list of conditions and the\n following disclaimer.\n\n* Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the\n following disclaimer in the documentation and/or other\n materials provided with the distribution.\n\n* Neither the name of Kevin Decker nor the names of its\n contributors may be used to endorse or promote products\n derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR\nIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\nCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER\nIN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT\nOF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n',
20855 silly resolved readmeFilename: 'README.md',
20855 silly resolved homepage: 'https://github.com/kpdecker/jsdiff',
20855 silly resolved _id: 'diff@1.0.7',
20855 silly resolved _shasum: '24bbb001c4a7d5522169e7cabdb2c2814ed91cf4',
20855 silly resolved _from: 'diff@1.0.7',
20855 silly resolved _resolved: 'https://registry.npmjs.org/diff/-/diff-1.0.7.tgz' },
20855 silly resolved { name: 'commander',
20855 silly resolved version: '2.0.0',
20855 silly resolved description: 'the complete solution for node.js command-line programs',
20855 silly resolved keywords: [ 'command', 'option', 'parser', 'prompt', 'stdin' ],
20855 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
20855 silly resolved repository:
20855 silly resolved { type: 'git',
20855 silly resolved url: 'https://github.com/visionmedia/commander.js.git' },
20855 silly resolved devDependencies: { should: '>= 0.0.1' },
20855 silly resolved scripts: { test: 'make test' },
20855 silly resolved main: 'index',
20855 silly resolved engines: { node: '>= 0.6.x' },
20855 silly resolved readme: '# Commander.js\n\n The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby\'s [commander](https://github.com/visionmedia/commander).\n\n [![Build Status](https://secure.travis-ci.org/visionmedia/commander.js.png)](http://travis-ci.org/visionmedia/commander.js)\n\n## Installation\n\n $ npm install commander\n\n## Option parsing\n\n Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require(\'commander\');\n\nprogram\n .version(\'0.0.1\')\n .option(\'-p, --peppers\', \'Add peppers\')\n .option(\'-P, --pineapple\', \'Add pineapple\')\n .option(\'-b, --bbq\', \'Add bbq sauce\')\n .option(\'-c, --cheese [type]\', \'Add the specified type of cheese [marble]\', \'marble\')\n .parse(process.argv);\n\nconsole.log(\'you ordered a pizza with:\');\nif (program.peppers) console.log(\' - peppers\');\nif (program.pineapple) console.log(\' - pineapple\');\nif (program.bbq) console.log(\' - bbq\');\nconsole.log(\' - %s cheese\', program.cheese);\n```\n\n Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc.\n\n## Automated --help\n\n The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:\n\n``` \n $ ./examples/pizza --help\n\n Usage: pizza [options]\n\n Options:\n\n -V, --version output the version number\n -p, --peppers Add peppers\n -P, --pineapple Add pineapple\n -b, --bbq Add bbq sauce\n -c, --cheese <type> Add the specified type of cheese [marble]\n -h, --help output usage information\n\n```\n\n## Coercion\n\n```js\nfunction range(val) {\n return val.split(\'..\').map(Number);\n}\n\nfunction list(val) {\n return val.split(\',\');\n}\n\nprogram\n .version(\'0.0.1\')\n .usage(\'[options] <file ...>\')\n .option(\'-i, --integer <n>\', \'An integer argument\', parseInt)\n .option(\'-f, --float <n>\', \'A float argument\', parseFloat)\n .option(\'-r, --range <a>..<b>\', \'A range\', range)\n .option(\'-l, --list <items>\', \'A list\', list)\n .option(\'-o, --optional [value]\', \'An optional value\')\n .parse(process.argv);\n\nconsole.log(\' int: %j\', program.integer);\nconsole.log(\' float: %j\', program.float);\nconsole.log(\' optional: %j\', program.optional);\nprogram.range = program.range || [];\nconsole.log(\' range: %j..%j\', program.range[0], program.range[1]);\nconsole.log(\' list: %j\', program.list);\nconsole.log(\' args: %j\', program.args);\n```\n\n## Custom help\n\n You can display arbitrary `-h, --help` information\n by listening for "--help". Commander will automatically\n exit once you are done so that the remainder of your program\n does not execute causing undesired behaviours, for example\n in the following executable "stuff" will not output when\n `--help` is used.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require(\'../\');\n\nfunction list(val) {\n return val.split(\',\').map(Number);\n}\n\nprogram\n .version(\'0.0.1\')\n .option(\'-f, --foo\', \'enable some foo\')\n .option(\'-b, --bar\', \'enable some bar\')\n .option(\'-B, --baz\', \'enable some baz\');\n\n// must be before .parse() since\n// node\'s emit() is immediate\n\nprogram.on(\'--help\', function(){\n console.log(\' Examples:\');\n console.log(\'\');\n console.log(\' $ custom-help --help\');\n console.log(\' $ custom-help -h\');\n console.log(\'\');\n});\n\nprogram.parse(process.argv);\n\nconsole.log(\'stuff\');\n```\n\nyielding the following help output:\n\n```\n\nUsage: custom-help [options]\n\nOptions:\n\n -h, --help output usage information\n -V, --version output the version number\n -f, --foo enable some foo\n -b, --bar enable some bar\n -B, --baz enable some baz\n\nExamples:\n\n $ custom-help --help\n $ custom-help -h\n\n```\n\n## .outputHelp()\n\n Output help information without exiting.\n\n## .help()\n\n Output help information and exit immediately.\n\n## Links\n\n - [API documentation](http://visionmedia.github.com/commander.js/)\n - [ascii tables](https://github.com/LearnBoost/cli-table)\n - [progress bars](https://github.com/visionmedia/node-progress)\n - [more progress bars](https://github.com/substack/node-multimeter)\n - [examples](https://github.com/visionmedia/commander.js/tree/master/examples)\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',
20855 silly resolved readmeFilename: 'Readme.md',
20855 silly resolved bugs: { url: 'https://github.com/visionmedia/commander.js/issues' },
20855 silly resolved homepage: 'https://github.com/visionmedia/commander.js',
20855 silly resolved _id: 'commander@2.0.0',
20855 silly resolved _shasum: 'd1b86f901f8b64bd941bdeadaf924530393be928',
20855 silly resolved _from: 'commander@2.0.0',
20855 silly resolved _resolved: 'https://registry.npmjs.org/commander/-/commander-2.0.0.tgz' },
20855 silly resolved { name: 'debug',
20855 silly resolved version: '1.0.0',
20855 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/debug.git' },
20855 silly resolved description: 'small debugging utility',
20855 silly resolved keywords: [ 'debug', 'log', 'debugger' ],
20855 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
20855 silly resolved dependencies: { ms: '0.6.2' },
20855 silly resolved devDependencies: { browserify: '4.1.6', mocha: '*' },
20855 silly resolved main: './node.js',
20855 silly resolved browser: './browser.js',
20855 silly resolved component: { scripts: [Object] },
20855 silly resolved readme: '# debug\n\n tiny node.js debugging utility modelled after node core\'s debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you\'re used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require(\'debug\')(\'http\')\n , http = require(\'http\')\n , name = \'My App\';\n\n// fake app\n\ndebug(\'booting %s\', name);\n\nhttp.createServer(function(req, res){\n debug(req.method + \' \' + req.url);\n res.end(\'hello\\n\');\n}).listen(3000, function(){\n debug(\'listening\');\n});\n\n// fake worker of some kind\n\nrequire(\'./worker\');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require(\'debug\')(\'worker\');\n\nsetInterval(function(){\n debug(\'doing some work\');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## 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 b(\'doing some work\');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n Colors are also enabled on "Web Inspectors" that understand the `%c` formatting\n option. These are WebKit web inspectors, and the Firebug plugin for Firefox.\n Colored output looks something like:\n\n ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\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',
20855 silly resolved readmeFilename: 'Readme.md',
20855 silly resolved bugs: { url: 'https://github.com/visionmedia/debug/issues' },
20855 silly resolved homepage: 'https://github.com/visionmedia/debug',
20855 silly resolved _id: 'debug@1.0.0',
20855 silly resolved _shasum: '553678b67494cacc2d5330c24dfb2f275b1ceb5a',
20855 silly resolved _from: 'debug@*',
20855 silly resolved _resolved: 'https://registry.npmjs.org/debug/-/debug-1.0.0.tgz' },
20855 silly resolved { name: 'mkdirp',
20855 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
20855 silly resolved version: '0.3.5',
20855 silly resolved author:
20855 silly resolved { name: 'James Halliday',
20855 silly resolved email: 'mail@substack.net',
20855 silly resolved url: 'http://substack.net' },
20855 silly resolved main: './index',
20855 silly resolved keywords: [ 'mkdir', 'directory' ],
20855 silly resolved repository:
20855 silly resolved { type: 'git',
20855 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
20855 silly resolved scripts: { test: 'tap test/*.js' },
20855 silly resolved devDependencies: { tap: '~0.4.0' },
20855 silly resolved license: 'MIT',
20855 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# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n',
20855 silly resolved readmeFilename: 'readme.markdown',
20855 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
20855 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
20855 silly resolved _id: 'mkdirp@0.3.5',
20855 silly resolved _shasum: 'de3e5f8961c88c787ee1368df849ac4413eca8d7',
20855 silly resolved _from: 'mkdirp@^0.3.5',
20855 silly resolved _resolved: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz' },
20855 silly resolved { author:
20855 silly resolved { name: 'Isaac Z. Schlueter',
20855 silly resolved email: 'i@izs.me',
20855 silly resolved url: 'http://blog.izs.me/' },
20855 silly resolved name: 'glob',
20855 silly resolved description: 'a little globber',
20855 silly resolved version: '3.2.3',
20855 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
20855 silly resolved main: 'glob.js',
20855 silly resolved engines: { node: '*' },
20855 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~2.0.0', inherits: '2' },
20855 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
20855 silly resolved scripts: { test: 'tap test/*.js' },
20855 silly resolved license: 'BSD',
20855 silly resolved readme: '# Glob\n\nMatch files using the patterns the shell uses, like stars and stuff.\n\nThis is a glob implementation in JavaScript. It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there\'s an event emitter class, proper tests, and all the other\nthings you\'ve come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require("glob")\n\n// options is optional\nglob("**/*.js", options, function (er, files) {\n // files is an array of filenames.\n // If the `nonull` option is set, and nothing\n // was found, then files is ["**/*.js"]\n // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options])\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require("glob").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt\'s an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered. When an error is encountered, the\n glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`. There\n is no way at this time to continue a glob search after aborting, but\n you can re-use the statCache to avoid having to duplicate syscalls.\n* `statCache` Collection of all the stat results the glob search\n performed.\n* `cache` Convenience object. Each field has the following possible\n values:\n * `false` - Path does not exist\n * `true` - Path exists\n * `1` - Path exists, and is not a directory\n * `2` - Path exists, and is a directory\n * `[file, entries, ...]` - Path exists, is a directory, and the\n array value is the results of `fs.readdir`\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n matches found. If the `nonull` option is set, and no match was found,\n then the `matches` list contains the original pattern. The matches\n are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior. Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search. Defaults\n to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix\n systems, and `C:\\` or some such on Windows.)\n* `dot` Include `.dot` files in normal matches and `globstar` matches.\n Note that an explicit dot in a portion of the pattern will always\n match dot files.\n* `nomount` By default, a pattern starting with a forward-slash will be\n "mounted" onto the root setting, so that a valid filesystem path is\n returned. Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches. Note that this\n requires additional stat calls.\n* `nosort` Don\'t sort the results.\n* `stat` Set to true to stat *all* results. This reduces performance\n somewhat, and is completely unnecessary, unless `readdir` is presumed\n to be an untrustworthy indicator of file existence. It will cause\n ELOOP to be triggered one level sooner in the case of cyclical\n symbolic links.\n* `silent` When an unusual error is encountered\n when attempting to read a directory, a warning will be printed to\n stderr. Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n when attempting to read a directory, the process will just continue on\n in search of other matches. Set the `strict` option to raise an error\n in these cases.\n* `cache` See `cache` property above. Pass in a previously generated\n cache object to save some fs calls.\n* `statCache` A cache of results of filesystem information, to prevent\n unnecessary stat calls. While it should not normally be necessary to\n set this, you may pass the statCache from one glob() call to the\n options object of another, if you know that the filesystem will not\n change between calls. (See "Race Conditions" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n same file showing up multiple times in the result set. By default,\n this implementation prevents duplicates in the result set.\n Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n containing the pattern itself. This is the default in glob(3).\n* `nocase` Perform a case-insensitive match. Note that case-insensitive\n filesystems will sometimes result in glob returning results that are\n case-insensitively matched anyway, since readdir and stat will not\n raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`glob.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation. You must use\nforward-slashes **only** in glob expressions. Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`. On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead. However, this also makes it even more susceptible to races,\nespecially if the cache or statCache objects are reused between glob\ncalls.\n\nUsers are thus advised not to use a glob result as a guarantee of\nfilesystem state in the face of rapid changes. For the vast majority\nof operations, this is never a problem.\n',
20855 silly resolved readmeFilename: 'README.md',
20855 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
20855 silly resolved homepage: 'https://github.com/isaacs/node-glob',
20855 silly resolved _id: 'glob@3.2.3',
20855 silly resolved _shasum: 'e313eeb249c7affaa5c475286b0e115b59839467',
20855 silly resolved _from: 'glob@3.2.3',
20855 silly resolved _resolved: 'https://registry.npmjs.org/glob/-/glob-3.2.3.tgz' },
20855 silly resolved { name: 'jade',
20855 silly resolved description: 'Jade template engine',
20855 silly resolved version: '0.26.3',
20855 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
20855 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/jade' },
20855 silly resolved main: './index.js',
20855 silly resolved bin: { jade: './bin/jade' },
20855 silly resolved man: [ './jade.1' ],
20855 silly resolved dependencies: { commander: '0.6.1', mkdirp: '0.3.0' },
20855 silly resolved devDependencies:
20855 silly resolved { mocha: '*',
20855 silly resolved markdown: '*',
20855 silly resolved stylus: '*',
20855 silly resolved uubench: '*',
20855 silly resolved should: '*',
20855 silly resolved less: '*',
20855 silly resolved 'uglify-js': '*' },
20855 silly resolved component: { scripts: [Object] },
20855 silly resolved scripts: { prepublish: 'npm prune' },
20855 silly resolved bugs: { url: 'https://github.com/visionmedia/jade/issues' },
20855 silly resolved readme: 'ERROR: No README data found!',
20855 silly resolved homepage: 'https://github.com/visionmedia/jade',
20855 silly resolved _id: 'jade@0.26.3',
20855 silly resolved _shasum: '8f10d7977d8d79f2f6ff862a81b0513ccb25686c',
20855 silly resolved _from: 'jade@0.26.3',
20855 silly resolved _resolved: 'https://registry.npmjs.org/jade/-/jade-0.26.3.tgz' } ]
20856 info install growl@1.7.0 into /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha
20857 info install diff@1.0.7 into /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha
20858 info install commander@2.0.0 into /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha
20859 info install debug@1.0.0 into /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha
20860 info install mkdirp@0.3.5 into /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha
20861 info install glob@3.2.3 into /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha
20862 info install jade@0.26.3 into /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha
20863 info installOne growl@1.7.0
20864 info installOne diff@1.0.7
20865 info installOne commander@2.0.0
20866 info installOne debug@1.0.0
20867 info installOne mkdirp@0.3.5
20868 info installOne glob@3.2.3
20869 info installOne jade@0.26.3
20870 silly gunzTarPerm extractEntry collection/reject.js
20871 silly gunzTarPerm extractEntry collection/size.js
20872 silly gunzTarPerm extractEntry lib/public/icons/page_white_width.png
20873 silly gunzTarPerm extractEntry lib/public/icons/page_white_word.png
20874 verbose readDependencies using package.json deps
20875 silly resolved []
20876 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-urls
20877 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/get-urls
20878 verbose linkStuff [ false,
20878 verbose linkStuff false,
20878 verbose linkStuff false,
20878 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules' ]
20879 info linkStuff get-urls@0.1.2
20880 verbose linkBins get-urls@0.1.2
20881 verbose link bins [ { 'get-urls': 'cli.js' },
20881 verbose link bins '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/.bin',
20881 verbose link bins false ]
20882 verbose linkMans get-urls@0.1.2
20883 verbose rebuildBundles get-urls@0.1.2
20884 silly gunzTarPerm extractEntry test/perm_sync.js
20885 silly gunzTarPerm extractEntry test/race.js
20886 http GET https://registry.npmjs.org/tar/-/tar-0.1.19.tgz
20887 http 200 https://registry.npmjs.org/extname/-/extname-0.1.2.tgz
20888 info preinstall rimraf@2.2.8
20889 info /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/growl unbuild
20890 info /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/diff unbuild
20891 info /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/commander unbuild
20892 info /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/debug unbuild
20893 info /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/mkdirp unbuild
20894 info /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/glob unbuild
20895 info /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/jade unbuild
20896 info /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/growl unbuild
20897 info /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/diff unbuild
20898 info /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/commander unbuild
20899 info /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/debug unbuild
20900 info /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/mkdirp unbuild
20901 info /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/glob unbuild
20902 info /home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/jade unbuild
20903 silly gunzTarPerm extractEntry lib/index.js
20904 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805304-0.7378838430158794/tmp.tgz
20905 silly lockFile 075ed21b-pm-stream-combiner-0-0-4-package tar:///home/gary/.npm/stream-combiner/0.0.4/package
20906 verbose lock tar:///home/gary/.npm/stream-combiner/0.0.4/package /home/gary/.npm/075ed21b-pm-stream-combiner-0-0-4-package.lock
20907 silly lockFile 42e15b3a-05304-0-7378838430158794-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805304-0.7378838430158794/tmp.tgz
20908 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805304-0.7378838430158794/tmp.tgz /home/gary/.npm/42e15b3a-05304-0-7378838430158794-tmp-tgz.lock
20909 silly gunzTarPerm extractEntry License
20910 silly gunzTarPerm extractEntry Makefile
20911 silly lockFile 2bf9c359--underscore-string-2-2-1-package tar:///home/gary/.npm/underscore.string/2.2.1/package
20912 silly lockFile 2bf9c359--underscore-string-2-2-1-package tar:///home/gary/.npm/underscore.string/2.2.1/package
20913 silly gunzTarPerm extractEntry README.md
20914 silly gunzTarPerm extractEntry LICENSE
20915 silly gunzTarPerm extractEntry package.json
20916 silly gunzTarPerm extractEntry README.md
20917 silly gunzTarPerm extractEntry README.md
20918 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
20919 silly gunzTarPerm extractEntry zipEntry.js
20920 silly gunzTarPerm modified mode [ 'zipEntry.js', 438, 420 ]
20921 silly lockFile ec9870cf-8042-0-45547006954438984-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077798042-0.45547006954438984/tmp.tgz
20922 silly lockFile ec9870cf-8042-0-45547006954438984-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077798042-0.45547006954438984/tmp.tgz
20923 verbose readDependencies using package.json deps
20924 silly gunzTarPerm extractEntry lib/create.js
20925 silly gunzTarPerm extractEntry lib/index.js
20926 verbose tar unpack /home/gary/.npm/growl/1.7.0/package.tgz
20927 silly lockFile 92fea138-modules-mocha-node-modules-growl tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/growl
20928 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/growl /home/gary/.npm/92fea138-modules-mocha-node-modules-growl.lock
20929 silly lockFile af65515d-gary-npm-growl-1-7-0-package-tgz tar:///home/gary/.npm/growl/1.7.0/package.tgz
20930 verbose lock tar:///home/gary/.npm/growl/1.7.0/package.tgz /home/gary/.npm/af65515d-gary-npm-growl-1-7-0-package-tgz.lock
20931 verbose tar unpack /home/gary/.npm/diff/1.0.7/package.tgz
20932 silly lockFile f6a33c02--modules-mocha-node-modules-diff tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/diff
20933 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/diff /home/gary/.npm/f6a33c02--modules-mocha-node-modules-diff.lock
20934 silly lockFile 642d172f--gary-npm-diff-1-0-7-package-tgz tar:///home/gary/.npm/diff/1.0.7/package.tgz
20935 verbose lock tar:///home/gary/.npm/diff/1.0.7/package.tgz /home/gary/.npm/642d172f--gary-npm-diff-1-0-7-package-tgz.lock
20936 verbose tar unpack /home/gary/.npm/commander/2.0.0/package.tgz
20937 silly lockFile 4f731036-les-mocha-node-modules-commander tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/commander
20938 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/commander /home/gary/.npm/4f731036-les-mocha-node-modules-commander.lock
20939 silly lockFile c8ecd752--npm-commander-2-0-0-package-tgz tar:///home/gary/.npm/commander/2.0.0/package.tgz
20940 verbose lock tar:///home/gary/.npm/commander/2.0.0/package.tgz /home/gary/.npm/c8ecd752--npm-commander-2-0-0-package-tgz.lock
20941 verbose tar unpack /home/gary/.npm/debug/1.0.0/package.tgz
20942 silly lockFile ce29138a-modules-mocha-node-modules-debug tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/debug
20943 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/debug /home/gary/.npm/ce29138a-modules-mocha-node-modules-debug.lock
20944 silly lockFile ae0b248e-gary-npm-debug-1-0-0-package-tgz tar:///home/gary/.npm/debug/1.0.0/package.tgz
20945 verbose lock tar:///home/gary/.npm/debug/1.0.0/package.tgz /home/gary/.npm/ae0b248e-gary-npm-debug-1-0-0-package-tgz.lock
20946 verbose tar unpack /home/gary/.npm/glob/3.2.3/package.tgz
20947 silly lockFile a0d00f30--modules-mocha-node-modules-glob tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/glob
20948 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/glob /home/gary/.npm/a0d00f30--modules-mocha-node-modules-glob.lock
20949 silly lockFile ceae122c--gary-npm-glob-3-2-3-package-tgz tar:///home/gary/.npm/glob/3.2.3/package.tgz
20950 verbose lock tar:///home/gary/.npm/glob/3.2.3/package.tgz /home/gary/.npm/ceae122c--gary-npm-glob-3-2-3-package-tgz.lock
20951 verbose tar unpack /home/gary/.npm/mkdirp/0.3.5/package.tgz
20952 silly lockFile 76b53af4-odules-mocha-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/mkdirp
20953 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/mkdirp /home/gary/.npm/76b53af4-odules-mocha-node-modules-mkdirp.lock
20954 silly lockFile 2417206b-ary-npm-mkdirp-0-3-5-package-tgz tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz
20955 verbose lock tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz /home/gary/.npm/2417206b-ary-npm-mkdirp-0-3-5-package-tgz.lock
20956 verbose tar unpack /home/gary/.npm/jade/0.26.3/package.tgz
20957 silly lockFile a3dec9da--modules-mocha-node-modules-jade tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/jade
20958 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/jade /home/gary/.npm/a3dec9da--modules-mocha-node-modules-jade.lock
20959 silly lockFile 0d148395-gary-npm-jade-0-26-3-package-tgz tar:///home/gary/.npm/jade/0.26.3/package.tgz
20960 verbose lock tar:///home/gary/.npm/jade/0.26.3/package.tgz /home/gary/.npm/0d148395-gary-npm-jade-0-26-3-package-tgz.lock
20961 verbose tar unpack /home/gary/.npm/growl/1.7.0/package.tgz
20962 silly lockFile da24229c-modules-mocha-node-modules-growl tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/growl
20963 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/growl /home/gary/.npm/da24229c-modules-mocha-node-modules-growl.lock
20964 silly lockFile af65515d-gary-npm-growl-1-7-0-package-tgz tar:///home/gary/.npm/growl/1.7.0/package.tgz
20965 verbose lock tar:///home/gary/.npm/growl/1.7.0/package.tgz /home/gary/.npm/af65515d-gary-npm-growl-1-7-0-package-tgz.lock
20966 verbose tar unpack /home/gary/.npm/diff/1.0.7/package.tgz
20967 silly lockFile a66e72c3--modules-mocha-node-modules-diff tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/diff
20968 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/diff /home/gary/.npm/a66e72c3--modules-mocha-node-modules-diff.lock
20969 silly lockFile 642d172f--gary-npm-diff-1-0-7-package-tgz tar:///home/gary/.npm/diff/1.0.7/package.tgz
20970 verbose lock tar:///home/gary/.npm/diff/1.0.7/package.tgz /home/gary/.npm/642d172f--gary-npm-diff-1-0-7-package-tgz.lock
20971 verbose tar unpack /home/gary/.npm/commander/2.0.0/package.tgz
20972 silly lockFile 5769fd06-les-mocha-node-modules-commander tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/commander
20973 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/commander /home/gary/.npm/5769fd06-les-mocha-node-modules-commander.lock
20974 silly lockFile c8ecd752--npm-commander-2-0-0-package-tgz tar:///home/gary/.npm/commander/2.0.0/package.tgz
20975 verbose lock tar:///home/gary/.npm/commander/2.0.0/package.tgz /home/gary/.npm/c8ecd752--npm-commander-2-0-0-package-tgz.lock
20976 verbose tar unpack /home/gary/.npm/debug/1.0.0/package.tgz
20977 silly lockFile 3c537647-modules-mocha-node-modules-debug tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/debug
20978 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/debug /home/gary/.npm/3c537647-modules-mocha-node-modules-debug.lock
20979 silly lockFile ae0b248e-gary-npm-debug-1-0-0-package-tgz tar:///home/gary/.npm/debug/1.0.0/package.tgz
20980 verbose lock tar:///home/gary/.npm/debug/1.0.0/package.tgz /home/gary/.npm/ae0b248e-gary-npm-debug-1-0-0-package-tgz.lock
20981 verbose tar unpack /home/gary/.npm/mkdirp/0.3.5/package.tgz
20982 silly lockFile eb9e816c-odules-mocha-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/mkdirp
20983 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/mkdirp /home/gary/.npm/eb9e816c-odules-mocha-node-modules-mkdirp.lock
20984 silly lockFile 2417206b-ary-npm-mkdirp-0-3-5-package-tgz tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz
20985 verbose lock tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz /home/gary/.npm/2417206b-ary-npm-mkdirp-0-3-5-package-tgz.lock
20986 verbose tar unpack /home/gary/.npm/glob/3.2.3/package.tgz
20987 silly lockFile 89af4977--modules-mocha-node-modules-glob tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/glob
20988 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/glob /home/gary/.npm/89af4977--modules-mocha-node-modules-glob.lock
20989 silly lockFile ceae122c--gary-npm-glob-3-2-3-package-tgz tar:///home/gary/.npm/glob/3.2.3/package.tgz
20990 verbose lock tar:///home/gary/.npm/glob/3.2.3/package.tgz /home/gary/.npm/ceae122c--gary-npm-glob-3-2-3-package-tgz.lock
20991 verbose tar unpack /home/gary/.npm/jade/0.26.3/package.tgz
20992 silly lockFile ffe3e32b--modules-mocha-node-modules-jade tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/jade
20993 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/jade /home/gary/.npm/ffe3e32b--modules-mocha-node-modules-jade.lock
20994 silly lockFile 0d148395-gary-npm-jade-0-26-3-package-tgz tar:///home/gary/.npm/jade/0.26.3/package.tgz
20995 verbose lock tar:///home/gary/.npm/jade/0.26.3/package.tgz /home/gary/.npm/0d148395-gary-npm-jade-0-26-3-package-tgz.lock
20996 silly gunzTarPerm modes [ '755', '644' ]
20997 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805326-0.796527769882232/tmp.tgz
20998 silly lockFile 6ba80557-e-gary-npm-map-key-0-1-4-package tar:///home/gary/.npm/map-key/0.1.4/package
20999 verbose lock tar:///home/gary/.npm/map-key/0.1.4/package /home/gary/.npm/6ba80557-e-gary-npm-map-key-0-1-4-package.lock
21000 silly lockFile db4f914b-805326-0-796527769882232-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805326-0.796527769882232/tmp.tgz
21001 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805326-0.796527769882232/tmp.tgz /home/gary/.npm/db4f914b-805326-0-796527769882232-tmp-tgz.lock
21002 http 200 https://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz
21003 verbose readDependencies using package.json deps
21004 silly resolved []
21005 verbose about to build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/rimraf
21006 info build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/rimraf
21007 verbose linkStuff [ false,
21007 verbose linkStuff false,
21007 verbose linkStuff false,
21007 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules' ]
21008 info linkStuff rimraf@2.2.8
21009 verbose linkBins rimraf@2.2.8
21010 verbose link bins [ { rimraf: './bin.js' },
21010 verbose link bins '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/.bin',
21010 verbose link bins false ]
21011 verbose linkMans rimraf@2.2.8
21012 verbose rebuildBundles rimraf@2.2.8
21013 silly gunzTarPerm extractEntry package.json
21014 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805356-0.43349614366889/tmp.tgz
21015 silly lockFile fd7203db-e-gary-npm-extname-0-1-2-package tar:///home/gary/.npm/extname/0.1.2/package
21016 verbose lock tar:///home/gary/.npm/extname/0.1.2/package /home/gary/.npm/fd7203db-e-gary-npm-extname-0-1-2-package.lock
21017 silly lockFile 97f3c3ae-7805356-0-43349614366889-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805356-0.43349614366889/tmp.tgz
21018 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805356-0.43349614366889/tmp.tgz /home/gary/.npm/97f3c3ae-7805356-0-43349614366889-tmp-tgz.lock
21019 info install get-urls@0.1.2
21020 silly lockFile 7518622f-odules-utile-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/mkdirp
21021 silly lockFile 7518622f-odules-utile-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/mkdirp
21022 silly gunzTarPerm modes [ '755', '644' ]
21023 silly gunzTarPerm modes [ '755', '644' ]
21024 silly gunzTarPerm modes [ '755', '644' ]
21025 silly gunzTarPerm modes [ '755', '644' ]
21026 silly gunzTarPerm modes [ '755', '644' ]
21027 silly gunzTarPerm modes [ '755', '644' ]
21028 silly gunzTarPerm modes [ '755', '644' ]
21029 silly lockFile 5e53057c-ary-npm-mkdirp-0-5-0-package-tgz tar:///home/gary/.npm/mkdirp/0.5.0/package.tgz
21030 silly lockFile 5e53057c-ary-npm-mkdirp-0-5-0-package-tgz tar:///home/gary/.npm/mkdirp/0.5.0/package.tgz
21031 http 200 https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz
21032 http 200 https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz
21033 silly lockFile 74662d59-gary-npm-cookiejar-1-3-0-package tar:///home/gary/.npm/cookiejar/1.3.0/package
21034 silly lockFile 74662d59-gary-npm-cookiejar-1-3-0-package tar:///home/gary/.npm/cookiejar/1.3.0/package
21035 info postinstall get-urls@0.1.2
21036 silly gunzTarPerm modes [ '755', '644' ]
21037 silly gunzTarPerm extractEntry Readme.md
21038 silly gunzTarPerm extractEntry test/common.js
21039 silly gunzTarPerm extractEntry dist/less-1.1.5.min.js
21040 silly gunzTarPerm modified mode [ 'dist/less-1.1.5.min.js', 438, 420 ]
21041 silly gunzTarPerm extractEntry dist/less-1.4.2.min.js
21042 silly gunzTarPerm modified mode [ 'dist/less-1.4.2.min.js', 438, 420 ]
21043 silly gunzTarPerm extractEntry README.md
21044 silly gunzTarPerm extractEntry LICENSE
21045 silly lockFile c23c3112-ring-underscore-string-2-2-1-tgz https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz
21046 silly lockFile c23c3112-ring-underscore-string-2-2-1-tgz https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz
21047 http 200 https://registry.npmjs.org/tar/-/tar-0.1.19.tgz
21048 silly gunzTarPerm extractEntry collection/every.js
21049 silly gunzTarPerm extractEntry collection/some.js
21050 silly gunzTarPerm extractEntry lib/public/icons/page_white_world.png
21051 silly gunzTarPerm extractEntry lib/public/icons/page_white_wrench.png
21052 silly lockFile e5eca998-04538-0-8969066650606692-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804538-0.8969066650606692/tmp.tgz
21053 silly lockFile e5eca998-04538-0-8969066650606692-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804538-0.8969066650606692/tmp.tgz
21054 silly gunzTarPerm extractEntry component.json
21055 silly gunzTarPerm extractEntry package.json
21056 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805397-0.869829623028636/tmp.tgz
21057 silly lockFile 999afb83-y-npm-config-chain-1-1-8-package tar:///home/gary/.npm/config-chain/1.1.8/package
21058 verbose lock tar:///home/gary/.npm/config-chain/1.1.8/package /home/gary/.npm/999afb83-y-npm-config-chain-1-1-8-package.lock
21059 silly lockFile 0ad0e77d-805397-0-869829623028636-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805397-0.869829623028636/tmp.tgz
21060 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805397-0.869829623028636/tmp.tgz /home/gary/.npm/0ad0e77d-805397-0-869829623028636-tmp-tgz.lock
21061 silly gunzTarPerm extractEntry src/cli.js
21062 silly gunzTarPerm extractEntry src/formats/minimal.js
21063 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
21064 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
21065 info install rimraf@2.2.8
21066 silly lockFile 57acec0b-underscore-string-2-2-1 underscore.string@~2.2.1
21067 silly lockFile 57acec0b-underscore-string-2-2-1 underscore.string@~2.2.1
21068 silly gunzTarPerm extractEntry test/rel.js
21069 silly gunzTarPerm extractEntry once.js
21070 silly gunzTarPerm extractEntry test/once.js
21071 silly gunzTarPerm extractEntry adm-zip.js
21072 silly gunzTarPerm modified mode [ 'adm-zip.js', 438, 420 ]
21073 silly gunzTarPerm extractEntry zipFile.js
21074 silly gunzTarPerm modified mode [ 'zipFile.js', 438, 420 ]
21075 silly gunzTarPerm extractEntry .idea/scopes/scope_settings.xml
21076 silly gunzTarPerm modified mode [ '.idea/scopes/scope_settings.xml', 438, 420 ]
21077 silly gunzTarPerm extractEntry methods/deflater.js
21078 silly gunzTarPerm modified mode [ 'methods/deflater.js', 438, 420 ]
21079 silly gunzTarPerm extractEntry methods/index.js
21080 silly gunzTarPerm modified mode [ 'methods/index.js', 438, 420 ]
21081 silly gunzTarPerm extractEntry methods/inflater.js
21082 silly gunzTarPerm modified mode [ 'methods/inflater.js', 438, 420 ]
21083 silly gunzTarPerm extractEntry test/index.js
21084 silly gunzTarPerm modified mode [ 'test/index.js', 438, 420 ]
21085 silly gunzTarPerm extractEntry test/assets/attributes_test/asd/New Text Document.txt
21086 silly gunzTarPerm modified mode [ 'test/assets/attributes_test/asd/New Text Document.txt',
21086 silly gunzTarPerm 438,
21086 silly gunzTarPerm 420 ]
21087 silly gunzTarPerm extractEntry test/assets/attributes_test/blank file.txt
21088 silly gunzTarPerm modified mode [ 'test/assets/attributes_test/blank file.txt', 438, 420 ]
21089 silly gunzTarPerm extractEntry test/assets/attributes_test/New folder/hidden.txt
21090 silly gunzTarPerm modified mode [ 'test/assets/attributes_test/New folder/hidden.txt', 438, 420 ]
21091 silly gunzTarPerm extractEntry test/assets/attributes_test/New folder/hidden_readonly.txt
21092 silly gunzTarPerm modified mode [ 'test/assets/attributes_test/New folder/hidden_readonly.txt',
21092 silly gunzTarPerm 438,
21092 silly gunzTarPerm 420 ]
21093 silly gunzTarPerm extractEntry test/assets/attributes_test/New folder/readonly.txt
21094 silly gunzTarPerm modified mode [ 'test/assets/attributes_test/New folder/readonly.txt',
21094 silly gunzTarPerm 438,
21094 silly gunzTarPerm 420 ]
21095 silly gunzTarPerm extractEntry test/assets/attributes_test/New folder/somefile.txt
21096 silly gunzTarPerm modified mode [ 'test/assets/attributes_test/New folder/somefile.txt',
21096 silly gunzTarPerm 438,
21096 silly gunzTarPerm 420 ]
21097 silly gunzTarPerm extractEntry test/assets/attributes_test.zip
21098 silly gunzTarPerm modified mode [ 'test/assets/attributes_test.zip', 438, 420 ]
21099 silly gunzTarPerm extractEntry test/assets/fast.zip
21100 silly gunzTarPerm modified mode [ 'test/assets/fast.zip', 438, 420 ]
21101 silly gunzTarPerm extractEntry test/assets/fastest.zip
21102 silly gunzTarPerm modified mode [ 'test/assets/fastest.zip', 438, 420 ]
21103 silly gunzTarPerm extractEntry test/assets/linux_arc.zip
21104 silly gunzTarPerm modified mode [ 'test/assets/linux_arc.zip', 438, 420 ]
21105 silly gunzTarPerm extractEntry test/assets/maximum.zip
21106 silly gunzTarPerm modified mode [ 'test/assets/maximum.zip', 438, 420 ]
21107 silly gunzTarPerm extractEntry test/assets/normal.zip
21108 silly gunzTarPerm modified mode [ 'test/assets/normal.zip', 438, 420 ]
21109 silly gunzTarPerm extractEntry test/assets/store.zip
21110 silly gunzTarPerm modified mode [ 'test/assets/store.zip', 438, 420 ]
21111 silly gunzTarPerm extractEntry test/assets/ultra.zip
21112 silly gunzTarPerm modified mode [ 'test/assets/ultra.zip', 438, 420 ]
21113 silly gunzTarPerm extractEntry util/constants.js
21114 silly gunzTarPerm modified mode [ 'util/constants.js', 438, 420 ]
21115 silly gunzTarPerm extractEntry util/errors.js
21116 silly gunzTarPerm modified mode [ 'util/errors.js', 438, 420 ]
21117 silly gunzTarPerm extractEntry util/fattr.js
21118 silly gunzTarPerm modified mode [ 'util/fattr.js', 438, 420 ]
21119 silly gunzTarPerm extractEntry util/index.js
21120 silly gunzTarPerm modified mode [ 'util/index.js', 438, 420 ]
21121 silly gunzTarPerm extractEntry util/utils.js
21122 silly gunzTarPerm modified mode [ 'util/utils.js', 438, 420 ]
21123 silly gunzTarPerm extractEntry headers/entryHeader.js
21124 silly gunzTarPerm modified mode [ 'headers/entryHeader.js', 438, 420 ]
21125 silly gunzTarPerm extractEntry headers/index.js
21126 silly gunzTarPerm modified mode [ 'headers/index.js', 438, 420 ]
21127 silly gunzTarPerm extractEntry headers/mainHeader.js
21128 silly gunzTarPerm modified mode [ 'headers/mainHeader.js', 438, 420 ]
21129 silly gunzTarPerm extractEntry MIT-LICENSE.txt
21130 silly gunzTarPerm modified mode [ 'MIT-LICENSE.txt', 438, 420 ]
21131 info preinstall mkdirp@0.5.0
21132 silly gunzTarPerm extractEntry vendor/sinon/test/resources/
21133 silly gunzTarPerm extractEntry package.json
21134 silly gunzTarPerm extractEntry package.json
21135 silly gunzTarPerm modes [ '755', '644' ]
21136 info postinstall rimraf@2.2.8
21137 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805475-0.6681273486465216/tmp.tgz
21138 silly lockFile 1dc81bbe-ome-gary-npm-xtend-2-1-2-package tar:///home/gary/.npm/xtend/2.1.2/package
21139 verbose lock tar:///home/gary/.npm/xtend/2.1.2/package /home/gary/.npm/1dc81bbe-ome-gary-npm-xtend-2-1-2-package.lock
21140 silly lockFile c9b611b8-05475-0-6681273486465216-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805475-0.6681273486465216/tmp.tgz
21141 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805475-0.6681273486465216/tmp.tgz /home/gary/.npm/c9b611b8-05475-0-6681273486465216-tmp-tgz.lock
21142 silly gunzTarPerm extractEntry package.json
21143 silly gunzTarPerm extractEntry package.json
21144 silly gunzTarPerm extractEntry package.json
21145 silly gunzTarPerm extractEntry package.json
21146 silly gunzTarPerm extractEntry package.json
21147 silly gunzTarPerm extractEntry package.json
21148 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
21149 silly gunzTarPerm extractEntry .npmignore
21150 silly gunzTarPerm extractEntry README.md
21151 verbose readDependencies: using existing wrap [ '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/mkdirp',
21151 verbose readDependencies: using existing wrap { minimist:
21151 verbose readDependencies: using existing wrap { version: '0.0.8',
21151 verbose readDependencies: using existing wrap from: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz',
21151 verbose readDependencies: using existing wrap resolved: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz' } } ]
21152 verbose from wrap [ 'minimist',
21152 verbose from wrap { version: '0.0.8',
21152 verbose from wrap from: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz',
21152 verbose from wrap resolved: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz' } ]
21153 verbose readDependencies returned deps { minimist: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz' }
21154 verbose readDependencies: using existing wrap [ '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/mkdirp',
21154 verbose readDependencies: using existing wrap { minimist:
21154 verbose readDependencies: using existing wrap { version: '0.0.8',
21154 verbose readDependencies: using existing wrap from: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz',
21154 verbose readDependencies: using existing wrap resolved: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz' } } ]
21155 verbose from wrap [ 'minimist',
21155 verbose from wrap { version: '0.0.8',
21155 verbose from wrap from: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz',
21155 verbose from wrap resolved: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz' } ]
21156 verbose readDependencies returned deps { minimist: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz' }
21157 silly gunzTarPerm extractEntry lib/json.js
21158 silly gunzTarPerm extractEntry lib/mkdir.js
21159 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805464-0.8881496987305582/tmp.tgz
21160 silly lockFile 6a4419de-readable-stream-1-0-27-1-package tar:///home/gary/.npm/readable-stream/1.0.27-1/package
21161 verbose lock tar:///home/gary/.npm/readable-stream/1.0.27-1/package /home/gary/.npm/6a4419de-readable-stream-1-0-27-1-package.lock
21162 silly lockFile 99a1e8f7-05464-0-8881496987305582-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805464-0.8881496987305582/tmp.tgz
21163 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805464-0.8881496987305582/tmp.tgz /home/gary/.npm/99a1e8f7-05464-0-8881496987305582-tmp-tgz.lock
21164 silly lockFile a12d8173-rg-cookiejar-cookiejar-1-3-0-tgz https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz
21165 silly lockFile a12d8173-rg-cookiejar-cookiejar-1-3-0-tgz https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz
21166 silly gunzTarPerm extractEntry lib/json_parser.js
21167 silly gunzTarPerm extractEntry lib/multipart_parser.js
21168 silly lockFile 68473f26-download-node-modules-decompress tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/decompress
21169 silly lockFile 68473f26-download-node-modules-decompress tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/decompress
21170 verbose cache add [ 'minimist@https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz',
21170 verbose cache add null ]
21171 verbose cache add name=undefined spec="minimist@https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" args=["minimist@https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",null]
21172 verbose parsed url { protocol: null,
21172 verbose parsed url slashes: null,
21172 verbose parsed url auth: null,
21172 verbose parsed url host: null,
21172 verbose parsed url port: null,
21172 verbose parsed url hostname: null,
21172 verbose parsed url hash: null,
21172 verbose parsed url search: null,
21172 verbose parsed url query: null,
21172 verbose parsed url pathname: 'minimist@https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz',
21172 verbose parsed url path: 'minimist@https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz',
21172 verbose parsed url href: 'minimist@https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz' }
21173 silly lockFile 193262bd-cookiejar-1-3-0 cookiejar@1.3.0
21174 silly lockFile 193262bd-cookiejar-1-3-0 cookiejar@1.3.0
21175 silly lockFile 2c12f252-npm-decompress-0-2-4-package-tgz tar:///home/gary/.npm/decompress/0.2.4/package.tgz
21176 silly lockFile 2c12f252-npm-decompress-0-2-4-package-tgz tar:///home/gary/.npm/decompress/0.2.4/package.tgz
21177 silly lockFile afba7c26-ode-modules-utile-node-modules-i tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/i
21178 silly lockFile afba7c26-ode-modules-utile-node-modules-i tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/i
21179 silly gunzTarPerm modes [ '755', '644' ]
21180 verbose cache add name="minimist" spec="https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" args=["minimist","https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"]
21181 verbose parsed url { protocol: 'https:',
21181 verbose parsed url slashes: true,
21181 verbose parsed url auth: null,
21181 verbose parsed url host: 'registry.npmjs.org',
21181 verbose parsed url port: null,
21181 verbose parsed url hostname: 'registry.npmjs.org',
21181 verbose parsed url hash: null,
21181 verbose parsed url search: null,
21181 verbose parsed url query: null,
21181 verbose parsed url pathname: '/minimist/-/minimist-0.0.8.tgz',
21181 verbose parsed url path: '/minimist/-/minimist-0.0.8.tgz',
21181 verbose parsed url href: 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz' }
21182 silly lockFile f7b98dc7--org-minimist-minimist-0-0-8-tgz https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
21183 verbose lock https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz /home/gary/.npm/f7b98dc7--org-minimist-minimist-0-0-8-tgz.lock
21184 silly gunzTarPerm extractEntry README.md
21185 silly gunzTarPerm extractEntry diff.js
21186 silly gunzTarPerm extractEntry test/dash.js
21187 silly gunzTarPerm extractEntry README.md
21188 silly gunzTarPerm extractEntry index.js
21189 silly lockFile 6d2c2122-ome-gary-npm-i-0-3-2-package-tgz tar:///home/gary/.npm/i/0.3.2/package.tgz
21190 silly lockFile 6d2c2122-ome-gary-npm-i-0-3-2-package-tgz tar:///home/gary/.npm/i/0.3.2/package.tgz
21191 silly gunzTarPerm modes [ '755', '644' ]
21192 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805489-0.4923828267492354/tmp.tgz
21193 silly lockFile 2f6e9d8f-home-gary-npm-tar-0-1-19-package tar:///home/gary/.npm/tar/0.1.19/package
21194 verbose lock tar:///home/gary/.npm/tar/0.1.19/package /home/gary/.npm/2f6e9d8f-home-gary-npm-tar-0-1-19-package.lock
21195 silly lockFile ef4b28e6-05489-0-4923828267492354-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805489-0.4923828267492354/tmp.tgz
21196 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805489-0.4923828267492354/tmp.tgz /home/gary/.npm/ef4b28e6-05489-0-4923828267492354-tmp-tgz.lock
21197 silly gunzTarPerm extractEntry index.js
21198 silly gunzTarPerm extractEntry History.md
21199 silly gunzTarPerm extractEntry Readme.md
21200 silly gunzTarPerm extractEntry test.js
21201 silly gunzTarPerm extractEntry History.md
21202 silly gunzTarPerm extractEntry .npmignore
21203 silly gunzTarPerm extractEntry node.js
21204 silly gunzTarPerm extractEntry .npmignore
21205 silly gunzTarPerm extractEntry README.md
21206 silly gunzTarPerm extractEntry .npmignore
21207 silly gunzTarPerm extractEntry LICENSE
21208 silly gunzTarPerm extractEntry test/reduce.js
21209 silly gunzTarPerm extractEntry test/index.html
21210 silly gunzTarPerm extractEntry README.md
21211 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
21212 silly gunzTarPerm extractEntry cli.js
21213 silly gunzTarPerm modified mode [ 'cli.js', 438, 420 ]
21214 silly gunzTarPerm extractEntry package.json
21215 silly gunzTarPerm extractEntry osenv.js
21216 silly gunzTarPerm extractEntry test/unix.js
21217 verbose addRemoteTarball [ 'https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz',
21217 verbose addRemoteTarball null ]
21218 silly gunzTarPerm extractEntry collection/max.js
21219 silly gunzTarPerm extractEntry object/bindAll.js
21220 silly gunzTarPerm extractEntry lib/public/icons/page_white_zip.png
21221 silly gunzTarPerm extractEntry dist/lodash.underscore.js
21222 info retry fetch attempt 1 at 14:03:25
21223 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077805813-0.6758779340889305/tmp.tgz
21224 info preinstall decompress@0.2.4
21225 silly lockFile e9fe6097-dules-download-node-modules-nopt tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt
21226 silly lockFile e9fe6097-dules-download-node-modules-nopt tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt
21227 silly gunzTarPerm extractEntry dist/less-1.3.2.js
21228 silly gunzTarPerm modified mode [ 'dist/less-1.3.2.js', 438, 420 ]
21229 silly gunzTarPerm modes [ '755', '644' ]
21230 info preinstall i@0.3.2
21231 silly lockFile 4335b091--gary-npm-nopt-2-2-1-package-tgz tar:///home/gary/.npm/nopt/2.2.1/package.tgz
21232 silly lockFile 4335b091--gary-npm-nopt-2-2-1-package-tgz tar:///home/gary/.npm/nopt/2.2.1/package.tgz
21233 silly gunzTarPerm extractEntry dist/less-1.4.2.min.js
21234 silly gunzTarPerm modified mode [ 'dist/less-1.4.2.min.js', 438, 420 ]
21235 silly gunzTarPerm extractEntry tst/ctio/int/tst.64.js
21236 silly gunzTarPerm modified mode [ 'tst/ctio/int/tst.64.js', 438, 420 ]
21237 silly gunzTarPerm extractEntry tst/ctio/int/tst.wbounds.js
21238 silly gunzTarPerm modified mode [ 'tst/ctio/int/tst.wbounds.js', 438, 420 ]
21239 silly gunzTarPerm extractEntry package.json
21240 http GET https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
21241 silly gunzTarPerm extractEntry lib/octet_parser.js
21242 silly gunzTarPerm extractEntry lib/querystring_parser.js
21243 silly gunzTarPerm extractEntry test/return.js
21244 silly gunzTarPerm extractEntry test/clobber.js
21245 silly gunzTarPerm extractEntry .npmignore
21246 silly gunzTarPerm extractEntry LICENCE
21247 silly gunzTarPerm extractEntry src/formats/json.js
21248 silly gunzTarPerm extractEntry src/formats/xml.js
21249 silly gunzTarPerm extractEntry package.json
21250 verbose readDependencies using package.json deps
21251 silly gunzTarPerm extractEntry LICENSE
21252 silly gunzTarPerm extractEntry index.js
21253 silly lockFile 39d5d440-r-home-gary-npm-qs-0-6-5-package tar:///home/gary/.npm/qs/0.6.5/package
21254 silly lockFile 39d5d440-r-home-gary-npm-qs-0-6-5-package tar:///home/gary/.npm/qs/0.6.5/package
21255 verbose readDependencies using package.json deps
21256 silly gunzTarPerm extractEntry test/default_bool.js
21257 silly gunzTarPerm extractEntry test/dotted.js
21258 verbose readDependencies using package.json deps
21259 silly lockFile a2f7a298-04604-0-9379411614499986-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804604-0.9379411614499986/tmp.tgz
21260 silly lockFile a2f7a298-04604-0-9379411614499986-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804604-0.9379411614499986/tmp.tgz
21261 verbose readDependencies using package.json deps
21262 silly resolved []
21263 verbose about to build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/i
21264 info build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/i
21265 verbose linkStuff [ false,
21265 verbose linkStuff false,
21265 verbose linkStuff false,
21265 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules' ]
21266 info linkStuff i@0.3.2
21267 verbose linkBins i@0.3.2
21268 verbose linkMans i@0.3.2
21269 verbose rebuildBundles i@0.3.2
21270 info preinstall nopt@2.2.1
21271 verbose cache add [ 'tar@^0.1.18', null ]
21272 verbose cache add name=undefined spec="tar@^0.1.18" args=["tar@^0.1.18",null]
21273 verbose parsed url { protocol: null,
21273 verbose parsed url slashes: null,
21273 verbose parsed url auth: null,
21273 verbose parsed url host: null,
21273 verbose parsed url port: null,
21273 verbose parsed url hostname: null,
21273 verbose parsed url hash: null,
21273 verbose parsed url search: null,
21273 verbose parsed url query: null,
21273 verbose parsed url pathname: 'tar@^0.1.18',
21273 verbose parsed url path: 'tar@^0.1.18',
21273 verbose parsed url href: 'tar@^0.1.18' }
21274 verbose cache add name="tar" spec="^0.1.18" args=["tar","^0.1.18"]
21275 verbose parsed url { protocol: null,
21275 verbose parsed url slashes: null,
21275 verbose parsed url auth: null,
21275 verbose parsed url host: null,
21275 verbose parsed url port: null,
21275 verbose parsed url hostname: null,
21275 verbose parsed url hash: null,
21275 verbose parsed url search: null,
21275 verbose parsed url query: null,
21275 verbose parsed url pathname: '^0.1.18',
21275 verbose parsed url path: '^0.1.18',
21275 verbose parsed url href: '^0.1.18' }
21276 verbose addNamed [ 'tar', '^0.1.18' ]
21277 silly gunzTarPerm extractEntry .npmignore
21278 silly gunzTarPerm extractEntry README.md
21279 silly gunzTarPerm extractEntry package.json
21280 silly gunzTarPerm extractEntry lib/growl.js
21281 silly gunzTarPerm extractEntry Readme.md
21282 silly gunzTarPerm extractEntry test/run.js
21283 silly gunzTarPerm extractEntry test/fixture/file1.txt
21284 silly gunzTarPerm extractEntry test/fixture/file2.txt
21285 silly gunzTarPerm extractEntry test/integration/test-callback-streams.js
21286 silly gunzTarPerm extractEntry test/integration/test-data-size.js
21287 silly gunzTarPerm extractEntry test/integration/test-delayed-streams-and-buffers-and-strings.js
21288 silly gunzTarPerm extractEntry test/integration/test-delayed-streams.js
21289 silly gunzTarPerm extractEntry test/integration/test-empty-string.js
21290 silly gunzTarPerm extractEntry test/integration/test-is-stream-like.js
21291 silly gunzTarPerm extractEntry test/integration/test-max-data-size.js
21292 silly gunzTarPerm extractEntry test/integration/test-unpaused-streams.js
21293 info install i@0.3.2
21294 silly gunzTarPerm extractEntry .npmignore
21295 silly gunzTarPerm extractEntry README.md
21296 verbose cache add [ 'adm-zip@^0.4.3', null ]
21297 verbose cache add name=undefined spec="adm-zip@^0.4.3" args=["adm-zip@^0.4.3",null]
21298 verbose parsed url { protocol: null,
21298 verbose parsed url slashes: null,
21298 verbose parsed url auth: null,
21298 verbose parsed url host: null,
21298 verbose parsed url port: null,
21298 verbose parsed url hostname: null,
21298 verbose parsed url hash: null,
21298 verbose parsed url search: null,
21298 verbose parsed url query: null,
21298 verbose parsed url pathname: 'adm-zip@^0.4.3',
21298 verbose parsed url path: 'adm-zip@^0.4.3',
21298 verbose parsed url href: 'adm-zip@^0.4.3' }
21299 verbose cache add name="adm-zip" spec="^0.4.3" args=["adm-zip","^0.4.3"]
21300 verbose parsed url { protocol: null,
21300 verbose parsed url slashes: null,
21300 verbose parsed url auth: null,
21300 verbose parsed url host: null,
21300 verbose parsed url port: null,
21300 verbose parsed url hostname: null,
21300 verbose parsed url hash: null,
21300 verbose parsed url search: null,
21300 verbose parsed url query: null,
21300 verbose parsed url pathname: '^0.4.3',
21300 verbose parsed url path: '^0.4.3',
21300 verbose parsed url href: '^0.4.3' }
21301 verbose addNamed [ 'adm-zip', '^0.4.3' ]
21302 verbose cache add [ 'extname@^0.1.1', null ]
21303 verbose cache add name=undefined spec="extname@^0.1.1" args=["extname@^0.1.1",null]
21304 verbose parsed url { protocol: null,
21304 verbose parsed url slashes: null,
21304 verbose parsed url auth: null,
21304 verbose parsed url host: null,
21304 verbose parsed url port: null,
21304 verbose parsed url hostname: null,
21304 verbose parsed url hash: null,
21304 verbose parsed url search: null,
21304 verbose parsed url query: null,
21304 verbose parsed url pathname: 'extname@^0.1.1',
21304 verbose parsed url path: 'extname@^0.1.1',
21304 verbose parsed url href: 'extname@^0.1.1' }
21305 verbose cache add name="extname" spec="^0.1.1" args=["extname","^0.1.1"]
21306 verbose parsed url { protocol: null,
21306 verbose parsed url slashes: null,
21306 verbose parsed url auth: null,
21306 verbose parsed url host: null,
21306 verbose parsed url port: null,
21306 verbose parsed url hostname: null,
21306 verbose parsed url hash: null,
21306 verbose parsed url search: null,
21306 verbose parsed url query: null,
21306 verbose parsed url pathname: '^0.1.1',
21306 verbose parsed url path: '^0.1.1',
21306 verbose parsed url href: '^0.1.1' }
21307 verbose addNamed [ 'extname', '^0.1.1' ]
21308 verbose cache add [ 'map-key@^0.1.1', null ]
21309 verbose cache add name=undefined spec="map-key@^0.1.1" args=["map-key@^0.1.1",null]
21310 verbose parsed url { protocol: null,
21310 verbose parsed url slashes: null,
21310 verbose parsed url auth: null,
21310 verbose parsed url host: null,
21310 verbose parsed url port: null,
21310 verbose parsed url hostname: null,
21310 verbose parsed url hash: null,
21310 verbose parsed url search: null,
21310 verbose parsed url query: null,
21310 verbose parsed url pathname: 'map-key@^0.1.1',
21310 verbose parsed url path: 'map-key@^0.1.1',
21310 verbose parsed url href: 'map-key@^0.1.1' }
21311 verbose cache add name="map-key" spec="^0.1.1" args=["map-key","^0.1.1"]
21312 verbose parsed url { protocol: null,
21312 verbose parsed url slashes: null,
21312 verbose parsed url auth: null,
21312 verbose parsed url host: null,
21312 verbose parsed url port: null,
21312 verbose parsed url hostname: null,
21312 verbose parsed url hash: null,
21312 verbose parsed url search: null,
21312 verbose parsed url query: null,
21312 verbose parsed url pathname: '^0.1.1',
21312 verbose parsed url path: '^0.1.1',
21312 verbose parsed url href: '^0.1.1' }
21313 verbose addNamed [ 'map-key', '^0.1.1' ]
21314 verbose cache add [ 'stream-combiner@^0.0.4', null ]
21315 verbose cache add name=undefined spec="stream-combiner@^0.0.4" args=["stream-combiner@^0.0.4",null]
21316 verbose parsed url { protocol: null,
21316 verbose parsed url slashes: null,
21316 verbose parsed url auth: null,
21316 verbose parsed url host: null,
21316 verbose parsed url port: null,
21316 verbose parsed url hostname: null,
21316 verbose parsed url hash: null,
21316 verbose parsed url search: null,
21316 verbose parsed url query: null,
21316 verbose parsed url pathname: 'stream-combiner@^0.0.4',
21316 verbose parsed url path: 'stream-combiner@^0.0.4',
21316 verbose parsed url href: 'stream-combiner@^0.0.4' }
21317 verbose cache add name="stream-combiner" spec="^0.0.4" args=["stream-combiner","^0.0.4"]
21318 verbose parsed url { protocol: null,
21318 verbose parsed url slashes: null,
21318 verbose parsed url auth: null,
21318 verbose parsed url host: null,
21318 verbose parsed url port: null,
21318 verbose parsed url hostname: null,
21318 verbose parsed url hash: null,
21318 verbose parsed url search: null,
21318 verbose parsed url query: null,
21318 verbose parsed url pathname: '^0.0.4',
21318 verbose parsed url path: '^0.0.4',
21318 verbose parsed url href: '^0.0.4' }
21319 verbose addNamed [ 'stream-combiner', '^0.0.4' ]
21320 silly gunzTarPerm extractEntry debug.js
21321 silly gunzTarPerm extractEntry browser.js
21322 silly gunzTarPerm extractEntry LICENSE
21323 silly gunzTarPerm extractEntry glob.js
21324 silly gunzTarPerm extractEntry index.js
21325 silly gunzTarPerm extractEntry jade.js
21326 silly gunzTarPerm extractEntry index.js
21327 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
21328 silly gunzTarPerm extractEntry lib/output.js
21329 silly gunzTarPerm extractEntry lib/remove.js
21330 silly gunzTarPerm extractEntry object/functions.js
21331 silly gunzTarPerm extractEntry object/get.js
21332 silly gunzTarPerm extractEntry lib/public/icons/page_word.png
21333 silly gunzTarPerm extractEntry lib/public/icons/page_world.png
21334 info postinstall i@0.3.2
21335 verbose readDependencies using package.json deps
21336 silly gunzTarPerm extractEntry test/windows.js
21337 verbose readDependencies using package.json deps
21338 silly gunzTarPerm extractEntry src/formats/plain.js
21339 silly gunzTarPerm extractEntry src/syntax/ExpressionStatement.js
21340 silly gunzTarPerm modes [ '755', '644' ]
21341 silly gunzTarPerm extractEntry .npmignore
21342 silly gunzTarPerm extractEntry README.md
21343 silly lockFile 45ccff3d-gistry-npmjs-org-qs-qs-0-6-5-tgz https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
21344 silly lockFile 45ccff3d-gistry-npmjs-org-qs-qs-0-6-5-tgz https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
21345 silly gunzTarPerm extractEntry index.js
21346 silly gunzTarPerm extractEntry readme.markdown
21347 verbose cache add [ 'abbrev@1', null ]
21348 verbose cache add name=undefined spec="abbrev@1" args=["abbrev@1",null]
21349 verbose parsed url { protocol: null,
21349 verbose parsed url slashes: null,
21349 verbose parsed url auth: null,
21349 verbose parsed url host: null,
21349 verbose parsed url port: null,
21349 verbose parsed url hostname: null,
21349 verbose parsed url hash: null,
21349 verbose parsed url search: null,
21349 verbose parsed url query: null,
21349 verbose parsed url pathname: 'abbrev@1',
21349 verbose parsed url path: 'abbrev@1',
21349 verbose parsed url href: 'abbrev@1' }
21350 verbose cache add name="abbrev" spec="1" args=["abbrev","1"]
21351 verbose parsed url { protocol: null,
21351 verbose parsed url slashes: null,
21351 verbose parsed url auth: null,
21351 verbose parsed url host: null,
21351 verbose parsed url port: null,
21351 verbose parsed url hostname: null,
21351 verbose parsed url hash: null,
21351 verbose parsed url search: null,
21351 verbose parsed url query: null,
21351 verbose parsed url pathname: '1',
21351 verbose parsed url path: '1',
21351 verbose parsed url href: '1' }
21352 verbose addNamed [ 'abbrev', '1' ]
21353 verbose addNamed [ null, '>=1.0.0-0 <2.0.0-0' ]
21354 silly lockFile 6830b531-abbrev-1 abbrev@1
21355 verbose lock abbrev@1 /home/gary/.npm/6830b531-abbrev-1.lock
21356 silly lockFile f5e5a40f-qs-0-6-5 qs@0.6.5
21357 silly lockFile f5e5a40f-qs-0-6-5 qs@0.6.5
21358 silly gunzTarPerm extractEntry test/root.js
21359 silly gunzTarPerm extractEntry test/umask.js
21360 silly gunzTarPerm extractEntry .travis.yml
21361 silly gunzTarPerm extractEntry test/index.js
21362 silly gunzTarPerm extractEntry vendor/sinon/test/resources/xhr_target.txt
21363 silly gunzTarPerm extractEntry vendor/sinon/.travis.yml
21364 silly addNameRange { name: 'abbrev', range: '>=1.0.0-0 <2.0.0-0', hasData: false }
21365 silly gunzTarPerm extractEntry Readme.md
21366 silly gunzTarPerm extractEntry test/common.js
21367 silly gunzTarPerm extractEntry test/long.js
21368 silly gunzTarPerm extractEntry test/num.js
21369 silly gunzTarPerm extractEntry Readme.md
21370 silly gunzTarPerm extractEntry component.json
21371 silly gunzTarPerm extractEntry Makefile
21372 silly gunzTarPerm extractEntry History.md
21373 silly gunzTarPerm extractEntry .jshintrc
21374 silly gunzTarPerm extractEntry .travis.yml
21375 silly gunzTarPerm extractEntry jade.min.js
21376 silly gunzTarPerm extractEntry LICENSE
21377 silly gunzTarPerm extractEntry duplex.js
21378 silly gunzTarPerm extractEntry package.json
21379 silly gunzTarPerm extractEntry LICENCE
21380 silly gunzTarPerm extractEntry has-keys.js
21381 silly gunzTarPerm extractEntry object/has.js
21382 silly gunzTarPerm extractEntry object/hasOwn.js
21383 silly gunzTarPerm extractEntry lib/public/style.css
21384 silly gunzTarPerm extractEntry Readme.md
21385 verbose registry.get abbrev not expired, no request
21386 silly addNameRange number 2 { name: 'abbrev', range: '>=1.0.0-0 <2.0.0-0', hasData: true }
21387 silly addNameRange versions [ 'abbrev', [ '1.0.3', '1.0.4', '1.0.5' ] ]
21388 verbose addNamed [ 'abbrev', '1.0.5' ]
21389 verbose addNamed [ '1.0.5', '1.0.5' ]
21390 silly lockFile 55d90b2f-abbrev-1-0-5 abbrev@1.0.5
21391 verbose lock abbrev@1.0.5 /home/gary/.npm/55d90b2f-abbrev-1-0-5.lock
21392 silly gunzTarPerm extractEntry LICENCE
21393 silly gunzTarPerm extractEntry tar.js
21394 silly lockFile 00490477--gary-npm-inherits-1-0-0-package tar:///home/gary/.npm/inherits/1.0.0/package
21395 silly lockFile 00490477--gary-npm-inherits-1-0-0-package tar:///home/gary/.npm/inherits/1.0.0/package
21396 silly gunzTarPerm extractEntry test/broken.js
21397 silly lockFile 1dc0fee9-s-download-node-modules-through2 tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/through2
21398 silly lockFile 1dc0fee9-s-download-node-modules-through2 tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/through2
21399 silly lockFile 1419858e-5115-0-20603138161823153-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805115-0.20603138161823153/tmp.tgz
21400 silly lockFile 1419858e-5115-0-20603138161823153-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805115-0.20603138161823153/tmp.tgz
21401 http 200 https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
21402 silly gunzTarPerm extractEntry .npmignore
21403 silly gunzTarPerm extractEntry README.md
21404 silly lockFile df1a7598-y-npm-through2-0-4-2-package-tgz tar:///home/gary/.npm/through2/0.4.2/package.tgz
21405 silly lockFile df1a7598-y-npm-through2-0-4-2-package-tgz tar:///home/gary/.npm/through2/0.4.2/package.tgz
21406 silly lockFile 55d90b2f-abbrev-1-0-5 abbrev@1.0.5
21407 silly lockFile 55d90b2f-abbrev-1-0-5 abbrev@1.0.5
21408 silly gunzTarPerm extractEntry tst/ctype/tst.basicw.js
21409 silly gunzTarPerm modified mode [ 'tst/ctype/tst.basicw.js', 438, 420 ]
21410 silly gunzTarPerm extractEntry tst/ctype/tst.writeStruct.js
21411 silly gunzTarPerm modified mode [ 'tst/ctype/tst.writeStruct.js', 438, 420 ]
21412 silly lockFile 6830b531-abbrev-1 abbrev@1
21413 silly lockFile 6830b531-abbrev-1 abbrev@1
21414 silly gunzTarPerm extractEntry test/sync.js
21415 silly gunzTarPerm extractEntry test/chmod.js
21416 silly gunzTarPerm extractEntry passthrough.js
21417 silly gunzTarPerm extractEntry readable.js
21418 silly gunzTarPerm extractEntry index.js
21419 silly gunzTarPerm extractEntry mutable.js
21420 silly gunzTarPerm extractEntry object/forOwn.js
21421 silly gunzTarPerm extractEntry object/map.js
21422 silly lockFile 7ebaebc7--emitter-component-1-0-0-package tar:///home/gary/.npm/emitter-component/1.0.0/package
21423 silly lockFile 7ebaebc7--emitter-component-1-0-0-package tar:///home/gary/.npm/emitter-component/1.0.0/package
21424 info preinstall through2@0.4.2
21425 silly lockFile 5e4a9b20--org-inherits-inherits-1-0-0-tgz https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
21426 silly lockFile 5e4a9b20--org-inherits-inherits-1-0-0-tgz https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
21427 silly gunzTarPerm extractEntry test/parse.js
21428 silly gunzTarPerm extractEntry test/parse_modified.js
21429 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077805813-0.6758779340889305/tmp.tgz
21430 silly lockFile 0366b9d9--minimisttmp-de2977f503fdpackage tar:///home/gary/.npm/minimisttmp_de2977f503fdpackage
21431 verbose lock tar:///home/gary/.npm/minimisttmp_de2977f503fdpackage /home/gary/.npm/0366b9d9--minimisttmp-de2977f503fdpackage.lock
21432 silly lockFile a4115b9c-05813-0-6758779340889305-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805813-0.6758779340889305/tmp.tgz
21433 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805813-0.6758779340889305/tmp.tgz /home/gary/.npm/a4115b9c-05813-0-6758779340889305-tmp-tgz.lock
21434 silly gunzTarPerm extractEntry runtime.js
21435 silly gunzTarPerm extractEntry runtime.min.js
21436 silly lockFile f6fc3296-4576-0-21851788694038987-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804576-0.21851788694038987/tmp.tgz
21437 silly lockFile f6fc3296-4576-0-21851788694038987-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804576-0.21851788694038987/tmp.tgz
21438 silly gunzTarPerm extractEntry test/run.js
21439 silly gunzTarPerm extractEntry test/fixture/multipart.js
21440 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
21441 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
21442 silly gunzTarPerm extractEntry .travis.yml
21443 silly gunzTarPerm extractEntry examples/extracter.js
21444 silly lockFile 9a68ae75-inherits-1-0-0 inherits@~1.0.0
21445 silly lockFile 9a68ae75-inherits-1-0-0 inherits@~1.0.0
21446 verbose readDependencies using package.json deps
21447 silly gunzTarPerm modes [ '755', '644' ]
21448 verbose readDependencies using package.json deps
21449 silly gunzTarPerm extractEntry test/chain-class.js
21450 silly gunzTarPerm extractEntry test/env.js
21451 silly gunzTarPerm extractEntry LICENSE
21452 silly gunzTarPerm extractEntry bin/nopt.js
21453 silly resolved [ { name: 'abbrev',
21453 silly resolved version: '1.0.5',
21453 silly resolved description: 'Like ruby\'s abbrev module, but in js',
21453 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
21453 silly resolved main: 'abbrev.js',
21453 silly resolved scripts: { test: 'node test.js' },
21453 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/abbrev-js' },
21453 silly resolved license:
21453 silly resolved { type: 'MIT',
21453 silly resolved url: 'https://github.com/isaacs/abbrev-js/raw/master/LICENSE' },
21453 silly resolved readme: '# abbrev-js\n\nJust like [ruby\'s Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n var abbrev = require("abbrev");\n abbrev("foo", "fool", "folding", "flop");\n \n // returns:\n { fl: \'flop\'\n , flo: \'flop\'\n , flop: \'flop\'\n , fol: \'folding\'\n , fold: \'folding\'\n , foldi: \'folding\'\n , foldin: \'folding\'\n , folding: \'folding\'\n , foo: \'foo\'\n , fool: \'fool\'\n }\n\nThis is handy for command-line scripts, or other cases where you want to be able to accept shorthands.\n',
21453 silly resolved readmeFilename: 'README.md',
21453 silly resolved bugs: { url: 'https://github.com/isaacs/abbrev-js/issues' },
21453 silly resolved homepage: 'https://github.com/isaacs/abbrev-js',
21453 silly resolved _id: 'abbrev@1.0.5',
21453 silly resolved _shasum: '5d8257bd9ebe435e698b2fa431afde4fe7b10b03',
21453 silly resolved _from: 'abbrev@1',
21453 silly resolved _resolved: 'https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz' } ]
21454 info install abbrev@1.0.5 into /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt
21455 info installOne abbrev@1.0.5
21456 verbose cache add [ 'readable-stream@~1.0.17', null ]
21457 verbose cache add name=undefined spec="readable-stream@~1.0.17" args=["readable-stream@~1.0.17",null]
21458 verbose parsed url { protocol: null,
21458 verbose parsed url slashes: null,
21458 verbose parsed url auth: null,
21458 verbose parsed url host: null,
21458 verbose parsed url port: null,
21458 verbose parsed url hostname: null,
21458 verbose parsed url hash: null,
21458 verbose parsed url search: null,
21458 verbose parsed url query: null,
21458 verbose parsed url pathname: 'readable-stream@~1.0.17',
21458 verbose parsed url path: 'readable-stream@~1.0.17',
21458 verbose parsed url href: 'readable-stream@~1.0.17' }
21459 verbose cache add name="readable-stream" spec="~1.0.17" args=["readable-stream","~1.0.17"]
21460 verbose parsed url { protocol: null,
21460 verbose parsed url slashes: null,
21460 verbose parsed url auth: null,
21460 verbose parsed url host: null,
21460 verbose parsed url port: null,
21460 verbose parsed url hostname: null,
21460 verbose parsed url hash: null,
21460 verbose parsed url search: null,
21460 verbose parsed url query: null,
21460 verbose parsed url pathname: '~1.0.17',
21460 verbose parsed url path: '~1.0.17',
21460 verbose parsed url href: '~1.0.17' }
21461 verbose addNamed [ 'readable-stream', '~1.0.17' ]
21462 verbose cache add [ 'xtend@~2.1.1', null ]
21463 verbose cache add name=undefined spec="xtend@~2.1.1" args=["xtend@~2.1.1",null]
21464 verbose parsed url { protocol: null,
21464 verbose parsed url slashes: null,
21464 verbose parsed url auth: null,
21464 verbose parsed url host: null,
21464 verbose parsed url port: null,
21464 verbose parsed url hostname: null,
21464 verbose parsed url hash: null,
21464 verbose parsed url search: null,
21464 verbose parsed url query: null,
21464 verbose parsed url pathname: 'xtend@~2.1.1',
21464 verbose parsed url path: 'xtend@~2.1.1',
21464 verbose parsed url href: 'xtend@~2.1.1' }
21465 verbose cache add name="xtend" spec="~2.1.1" args=["xtend","~2.1.1"]
21466 verbose parsed url { protocol: null,
21466 verbose parsed url slashes: null,
21466 verbose parsed url auth: null,
21466 verbose parsed url host: null,
21466 verbose parsed url port: null,
21466 verbose parsed url hostname: null,
21466 verbose parsed url hash: null,
21466 verbose parsed url search: null,
21466 verbose parsed url query: null,
21466 verbose parsed url pathname: '~2.1.1',
21466 verbose parsed url path: '~2.1.1',
21466 verbose parsed url href: '~2.1.1' }
21467 verbose addNamed [ 'xtend', '~2.1.1' ]
21468 info /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt/node_modules/abbrev unbuild
21469 silly lockFile bfec596e-nent-emitter-component-1-0-0-tgz https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz
21470 silly lockFile bfec596e-nent-emitter-component-1-0-0-tgz https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz
21471 silly lockFile 07597ef1-emitter-component-1-0-0 emitter-component@1.0.0
21472 silly lockFile 07597ef1-emitter-component-1-0-0 emitter-component@1.0.0
21473 silly lockFile 6ba80557-e-gary-npm-map-key-0-1-4-package tar:///home/gary/.npm/map-key/0.1.4/package
21474 silly lockFile 6ba80557-e-gary-npm-map-key-0-1-4-package tar:///home/gary/.npm/map-key/0.1.4/package
21475 silly lockFile dd24d53c-s-phantomjs-node-modules-request tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
21476 silly lockFile dd24d53c-s-phantomjs-node-modules-request tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
21477 silly gunzTarPerm extractEntry object/matches.js
21478 silly gunzTarPerm extractEntry object/max.js
21479 silly gunzTarPerm extractEntry test/umask_sync.js
21480 silly gunzTarPerm extractEntry test/return_sync.js
21481 silly lockFile db4f914b-805326-0-796527769882232-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805326-0.796527769882232/tmp.tgz
21482 silly lockFile db4f914b-805326-0-796527769882232-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805326-0.796527769882232/tmp.tgz
21483 silly lockFile f01eab1b-y-npm-request-2-36-0-package-tgz tar:///home/gary/.npm/request/2.36.0/package.tgz
21484 silly lockFile f01eab1b-y-npm-request-2-36-0-package-tgz tar:///home/gary/.npm/request/2.36.0/package.tgz
21485 verbose tar unpack /home/gary/.npm/abbrev/1.0.5/package.tgz
21486 silly lockFile 777c45e8-modules-nopt-node-modules-abbrev tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt/node_modules/abbrev
21487 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt/node_modules/abbrev /home/gary/.npm/777c45e8-modules-nopt-node-modules-abbrev.lock
21488 silly lockFile e2598c23-ary-npm-abbrev-1-0-5-package-tgz tar:///home/gary/.npm/abbrev/1.0.5/package.tgz
21489 verbose lock tar:///home/gary/.npm/abbrev/1.0.5/package.tgz /home/gary/.npm/e2598c23-ary-npm-abbrev-1-0-5-package-tgz.lock
21490 silly gunzTarPerm extractEntry test.js
21491 silly gunzTarPerm extractEntry Makefile
21492 silly gunzTarPerm extractEntry testing/index.js
21493 silly gunzTarPerm extractEntry testing/user.js
21494 silly gunzTarPerm extractEntry transform.js
21495 silly gunzTarPerm extractEntry writable.js
21496 silly gunzTarPerm extractEntry package.json
21497 silly gunzTarPerm modes [ '755', '644' ]
21498 silly gunzTarPerm extractEntry examples/reader.js
21499 silly gunzTarPerm extractEntry lib/buffer-entry.js
21500 silly lockFile 1eb2e9d1-home-gary-npm-once-1-1-1-package tar:///home/gary/.npm/once/1.1.1/package
21501 silly lockFile 1eb2e9d1-home-gary-npm-once-1-1-1-package tar:///home/gary/.npm/once/1.1.1/package
21502 info preinstall request@2.36.0
21503 silly gunzTarPerm extractEntry examples/my-program.js
21504 silly gunzTarPerm extractEntry lib/nopt.js
21505 silly gunzTarPerm extractEntry test/basic.js
21506 silly gunzTarPerm extractEntry tst/ctype/tst.basicr.js
21507 silly gunzTarPerm modified mode [ 'tst/ctype/tst.basicr.js', 438, 420 ]
21508 silly gunzTarPerm extractEntry tst/ctype/tst.readSize.js
21509 silly gunzTarPerm modified mode [ 'tst/ctype/tst.readSize.js', 438, 420 ]
21510 silly lockFile 089a7794-5138-0-29346810723654926-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805138-0.29346810723654926/tmp.tgz
21511 silly lockFile 089a7794-5138-0-29346810723654926-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805138-0.29346810723654926/tmp.tgz
21512 silly lockFile 742f7d8c-js-org-map-key-map-key-0-1-4-tgz https://registry.npmjs.org/map-key/-/map-key-0.1.4.tgz
21513 silly lockFile 742f7d8c-js-org-map-key-map-key-0-1-4-tgz https://registry.npmjs.org/map-key/-/map-key-0.1.4.tgz
21514 silly gunzTarPerm extractEntry LICENSE
21515 silly gunzTarPerm extractEntry index.js
21516 silly gunzTarPerm extractEntry src/syntax/CallExpression.js
21517 silly gunzTarPerm extractEntry src/syntax/UnaryExpression.js
21518 silly lockFile 08b95034-map-key-0-1-4 map-key@0.1.4
21519 silly lockFile 08b95034-map-key-0-1-4 map-key@0.1.4
21520 silly gunzTarPerm extractEntry test/short.js
21521 silly gunzTarPerm extractEntry test/whitespace.js
21522 silly lockFile 91819bb8-map-key-0-1-1 map-key@^0.1.1
21523 silly lockFile 91819bb8-map-key-0-1-1 map-key@^0.1.1
21524 verbose readDependencies using package.json deps
21525 verbose readDependencies using package.json deps
21526 silly gunzTarPerm extractEntry package.json
21527 silly gunzTarPerm extractEntry examples/g.js
21528 silly gunzTarPerm extractEntry examples/usr-local.js
21529 silly gunzTarPerm extractEntry object/merge.js
21530 silly gunzTarPerm extractEntry object/min.js
21531 silly gunzTarPerm extractEntry test/mkdirp.js
21532 silly gunzTarPerm extractEntry .travis.yml
21533 silly lockFile 3dedf4f9-ry-npmjs-org-once-once-1-1-1-tgz https://registry.npmjs.org/once/-/once-1.1.1.tgz
21534 silly lockFile 3dedf4f9-ry-npmjs-org-once-once-1-1-1-tgz https://registry.npmjs.org/once/-/once-1.1.1.tgz
21535 silly lockFile fd7203db-e-gary-npm-extname-0-1-2-package tar:///home/gary/.npm/extname/0.1.2/package
21536 silly lockFile fd7203db-e-gary-npm-extname-0-1-2-package tar:///home/gary/.npm/extname/0.1.2/package
21537 verbose cache add [ 'node-uuid@~1.4.0', null ]
21538 verbose cache add name=undefined spec="node-uuid@~1.4.0" args=["node-uuid@~1.4.0",null]
21539 verbose parsed url { protocol: null,
21539 verbose parsed url slashes: null,
21539 verbose parsed url auth: null,
21539 verbose parsed url host: null,
21539 verbose parsed url port: null,
21539 verbose parsed url hostname: null,
21539 verbose parsed url hash: null,
21539 verbose parsed url search: null,
21539 verbose parsed url query: null,
21539 verbose parsed url pathname: 'node-uuid@~1.4.0',
21539 verbose parsed url path: 'node-uuid@~1.4.0',
21539 verbose parsed url href: 'node-uuid@~1.4.0' }
21540 verbose cache add name="node-uuid" spec="~1.4.0" args=["node-uuid","~1.4.0"]
21541 verbose parsed url { protocol: null,
21541 verbose parsed url slashes: null,
21541 verbose parsed url auth: null,
21541 verbose parsed url host: null,
21541 verbose parsed url port: null,
21541 verbose parsed url hostname: null,
21541 verbose parsed url hash: null,
21541 verbose parsed url search: null,
21541 verbose parsed url query: null,
21541 verbose parsed url pathname: '~1.4.0',
21541 verbose parsed url path: '~1.4.0',
21541 verbose parsed url href: '~1.4.0' }
21542 verbose addNamed [ 'node-uuid', '~1.4.0' ]
21543 verbose addNamed [ null, '>=1.4.0-0 <1.5.0-0' ]
21544 silly lockFile f662725f-node-uuid-1-4-0 node-uuid@~1.4.0
21545 verbose lock node-uuid@~1.4.0 /home/gary/.npm/f662725f-node-uuid-1-4-0.lock
21546 verbose cache add [ 'tough-cookie@>=0.12.0', null ]
21547 verbose cache add name=undefined spec="tough-cookie@>=0.12.0" args=["tough-cookie@>=0.12.0",null]
21548 verbose parsed url { protocol: null,
21548 verbose parsed url slashes: null,
21548 verbose parsed url auth: null,
21548 verbose parsed url host: null,
21548 verbose parsed url port: null,
21548 verbose parsed url hostname: null,
21548 verbose parsed url hash: null,
21548 verbose parsed url search: null,
21548 verbose parsed url query: null,
21548 verbose parsed url pathname: 'tough-cookie@%3E=0.12.0',
21548 verbose parsed url path: 'tough-cookie@%3E=0.12.0',
21548 verbose parsed url href: 'tough-cookie@%3E=0.12.0' }
21549 verbose cache add name="tough-cookie" spec=">=0.12.0" args=["tough-cookie",">=0.12.0"]
21550 verbose parsed url { protocol: null,
21550 verbose parsed url slashes: null,
21550 verbose parsed url auth: null,
21550 verbose parsed url host: null,
21550 verbose parsed url port: null,
21550 verbose parsed url hostname: null,
21550 verbose parsed url hash: null,
21550 verbose parsed url search: null,
21550 verbose parsed url query: null,
21550 verbose parsed url pathname: '%3E=0.12.0',
21550 verbose parsed url path: '%3E=0.12.0',
21550 verbose parsed url href: '%3E=0.12.0' }
21551 verbose addNamed [ 'tough-cookie', '>=0.12.0' ]
21552 verbose addNamed [ null, '>=0.12.0' ]
21553 silly lockFile 66c18ba7-tough-cookie-0-12-0 tough-cookie@>=0.12.0
21554 verbose lock tough-cookie@>=0.12.0 /home/gary/.npm/66c18ba7-tough-cookie-0-12-0.lock
21555 verbose cache add [ 'form-data@~0.1.0', null ]
21556 verbose cache add name=undefined spec="form-data@~0.1.0" args=["form-data@~0.1.0",null]
21557 verbose parsed url { protocol: null,
21557 verbose parsed url slashes: null,
21557 verbose parsed url auth: null,
21557 verbose parsed url host: null,
21557 verbose parsed url port: null,
21557 verbose parsed url hostname: null,
21557 verbose parsed url hash: null,
21557 verbose parsed url search: null,
21557 verbose parsed url query: null,
21557 verbose parsed url pathname: 'form-data@~0.1.0',
21557 verbose parsed url path: 'form-data@~0.1.0',
21557 verbose parsed url href: 'form-data@~0.1.0' }
21558 verbose cache add name="form-data" spec="~0.1.0" args=["form-data","~0.1.0"]
21559 verbose parsed url { protocol: null,
21559 verbose parsed url slashes: null,
21559 verbose parsed url auth: null,
21559 verbose parsed url host: null,
21559 verbose parsed url port: null,
21559 verbose parsed url hostname: null,
21559 verbose parsed url hash: null,
21559 verbose parsed url search: null,
21559 verbose parsed url query: null,
21559 verbose parsed url pathname: '~0.1.0',
21559 verbose parsed url path: '~0.1.0',
21559 verbose parsed url href: '~0.1.0' }
21560 verbose addNamed [ 'form-data', '~0.1.0' ]
21561 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
21562 silly lockFile 26aa13f4-form-data-0-1-0 form-data@~0.1.0
21563 verbose lock form-data@~0.1.0 /home/gary/.npm/26aa13f4-form-data-0-1-0.lock
21564 verbose cache add [ 'tunnel-agent@~0.4.0', null ]
21565 verbose cache add name=undefined spec="tunnel-agent@~0.4.0" args=["tunnel-agent@~0.4.0",null]
21566 verbose parsed url { protocol: null,
21566 verbose parsed url slashes: null,
21566 verbose parsed url auth: null,
21566 verbose parsed url host: null,
21566 verbose parsed url port: null,
21566 verbose parsed url hostname: null,
21566 verbose parsed url hash: null,
21566 verbose parsed url search: null,
21566 verbose parsed url query: null,
21566 verbose parsed url pathname: 'tunnel-agent@~0.4.0',
21566 verbose parsed url path: 'tunnel-agent@~0.4.0',
21566 verbose parsed url href: 'tunnel-agent@~0.4.0' }
21567 verbose cache add name="tunnel-agent" spec="~0.4.0" args=["tunnel-agent","~0.4.0"]
21568 verbose parsed url { protocol: null,
21568 verbose parsed url slashes: null,
21568 verbose parsed url auth: null,
21568 verbose parsed url host: null,
21568 verbose parsed url port: null,
21568 verbose parsed url hostname: null,
21568 verbose parsed url hash: null,
21568 verbose parsed url search: null,
21568 verbose parsed url query: null,
21568 verbose parsed url pathname: '~0.4.0',
21568 verbose parsed url path: '~0.4.0',
21568 verbose parsed url href: '~0.4.0' }
21569 verbose addNamed [ 'tunnel-agent', '~0.4.0' ]
21570 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
21571 silly lockFile 2550750e-tunnel-agent-0-4-0 tunnel-agent@~0.4.0
21572 verbose lock tunnel-agent@~0.4.0 /home/gary/.npm/2550750e-tunnel-agent-0-4-0.lock
21573 verbose cache add [ 'http-signature@~0.10.0', null ]
21574 verbose cache add name=undefined spec="http-signature@~0.10.0" args=["http-signature@~0.10.0",null]
21575 verbose parsed url { protocol: null,
21575 verbose parsed url slashes: null,
21575 verbose parsed url auth: null,
21575 verbose parsed url host: null,
21575 verbose parsed url port: null,
21575 verbose parsed url hostname: null,
21575 verbose parsed url hash: null,
21575 verbose parsed url search: null,
21575 verbose parsed url query: null,
21575 verbose parsed url pathname: 'http-signature@~0.10.0',
21575 verbose parsed url path: 'http-signature@~0.10.0',
21575 verbose parsed url href: 'http-signature@~0.10.0' }
21576 verbose cache add name="http-signature" spec="~0.10.0" args=["http-signature","~0.10.0"]
21577 verbose parsed url { protocol: null,
21577 verbose parsed url slashes: null,
21577 verbose parsed url auth: null,
21577 verbose parsed url host: null,
21577 verbose parsed url port: null,
21577 verbose parsed url hostname: null,
21577 verbose parsed url hash: null,
21577 verbose parsed url search: null,
21577 verbose parsed url query: null,
21577 verbose parsed url pathname: '~0.10.0',
21577 verbose parsed url path: '~0.10.0',
21577 verbose parsed url href: '~0.10.0' }
21578 verbose addNamed [ 'http-signature', '~0.10.0' ]
21579 verbose addNamed [ null, '>=0.10.0-0 <0.11.0-0' ]
21580 silly lockFile 8170f292-http-signature-0-10-0 http-signature@~0.10.0
21581 verbose lock http-signature@~0.10.0 /home/gary/.npm/8170f292-http-signature-0-10-0.lock
21582 silly lockFile 6beab3c4-once-1-1-1 once@1.1.1
21583 silly lockFile 6beab3c4-once-1-1-1 once@1.1.1
21584 silly lockFile 97f3c3ae-7805356-0-43349614366889-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805356-0.43349614366889/tmp.tgz
21585 silly lockFile 97f3c3ae-7805356-0-43349614366889-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805356-0.43349614366889/tmp.tgz
21586 verbose cache add [ 'oauth-sign@~0.3.0', null ]
21587 verbose cache add name=undefined spec="oauth-sign@~0.3.0" args=["oauth-sign@~0.3.0",null]
21588 verbose parsed url { protocol: null,
21588 verbose parsed url slashes: null,
21588 verbose parsed url auth: null,
21588 verbose parsed url host: null,
21588 verbose parsed url port: null,
21588 verbose parsed url hostname: null,
21588 verbose parsed url hash: null,
21588 verbose parsed url search: null,
21588 verbose parsed url query: null,
21588 verbose parsed url pathname: 'oauth-sign@~0.3.0',
21588 verbose parsed url path: 'oauth-sign@~0.3.0',
21588 verbose parsed url href: 'oauth-sign@~0.3.0' }
21589 verbose cache add name="oauth-sign" spec="~0.3.0" args=["oauth-sign","~0.3.0"]
21590 verbose parsed url { protocol: null,
21590 verbose parsed url slashes: null,
21590 verbose parsed url auth: null,
21590 verbose parsed url host: null,
21590 verbose parsed url port: null,
21590 verbose parsed url hostname: null,
21590 verbose parsed url hash: null,
21590 verbose parsed url search: null,
21590 verbose parsed url query: null,
21590 verbose parsed url pathname: '~0.3.0',
21590 verbose parsed url path: '~0.3.0',
21590 verbose parsed url href: '~0.3.0' }
21591 verbose addNamed [ 'oauth-sign', '~0.3.0' ]
21592 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
21593 silly lockFile 7fb5c7f1-oauth-sign-0-3-0 oauth-sign@~0.3.0
21594 verbose lock oauth-sign@~0.3.0 /home/gary/.npm/7fb5c7f1-oauth-sign-0-3-0.lock
21595 verbose cache add [ 'hawk@~1.0.0', null ]
21596 verbose cache add name=undefined spec="hawk@~1.0.0" args=["hawk@~1.0.0",null]
21597 verbose parsed url { protocol: null,
21597 verbose parsed url slashes: null,
21597 verbose parsed url auth: null,
21597 verbose parsed url host: null,
21597 verbose parsed url port: null,
21597 verbose parsed url hostname: null,
21597 verbose parsed url hash: null,
21597 verbose parsed url search: null,
21597 verbose parsed url query: null,
21597 verbose parsed url pathname: 'hawk@~1.0.0',
21597 verbose parsed url path: 'hawk@~1.0.0',
21597 verbose parsed url href: 'hawk@~1.0.0' }
21598 verbose cache add name="hawk" spec="~1.0.0" args=["hawk","~1.0.0"]
21599 verbose parsed url { protocol: null,
21599 verbose parsed url slashes: null,
21599 verbose parsed url auth: null,
21599 verbose parsed url host: null,
21599 verbose parsed url port: null,
21599 verbose parsed url hostname: null,
21599 verbose parsed url hash: null,
21599 verbose parsed url search: null,
21599 verbose parsed url query: null,
21599 verbose parsed url pathname: '~1.0.0',
21599 verbose parsed url path: '~1.0.0',
21599 verbose parsed url href: '~1.0.0' }
21600 verbose addNamed [ 'hawk', '~1.0.0' ]
21601 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
21602 silly lockFile 327094b8-hawk-1-0-0 hawk@~1.0.0
21603 verbose lock hawk@~1.0.0 /home/gary/.npm/327094b8-hawk-1-0-0.lock
21604 verbose cache add [ 'aws-sign2@~0.5.0', null ]
21605 verbose cache add name=undefined spec="aws-sign2@~0.5.0" args=["aws-sign2@~0.5.0",null]
21606 verbose parsed url { protocol: null,
21606 verbose parsed url slashes: null,
21606 verbose parsed url auth: null,
21606 verbose parsed url host: null,
21606 verbose parsed url port: null,
21606 verbose parsed url hostname: null,
21606 verbose parsed url hash: null,
21606 verbose parsed url search: null,
21606 verbose parsed url query: null,
21606 verbose parsed url pathname: 'aws-sign2@~0.5.0',
21606 verbose parsed url path: 'aws-sign2@~0.5.0',
21606 verbose parsed url href: 'aws-sign2@~0.5.0' }
21607 verbose cache add name="aws-sign2" spec="~0.5.0" args=["aws-sign2","~0.5.0"]
21608 verbose parsed url { protocol: null,
21608 verbose parsed url slashes: null,
21608 verbose parsed url auth: null,
21608 verbose parsed url host: null,
21608 verbose parsed url port: null,
21608 verbose parsed url hostname: null,
21608 verbose parsed url hash: null,
21608 verbose parsed url search: null,
21608 verbose parsed url query: null,
21608 verbose parsed url pathname: '~0.5.0',
21608 verbose parsed url path: '~0.5.0',
21608 verbose parsed url href: '~0.5.0' }
21609 verbose addNamed [ 'aws-sign2', '~0.5.0' ]
21610 verbose addNamed [ null, '>=0.5.0-0 <0.6.0-0' ]
21611 silly lockFile 82387911-aws-sign2-0-5-0 aws-sign2@~0.5.0
21612 verbose lock aws-sign2@~0.5.0 /home/gary/.npm/82387911-aws-sign2-0-5-0.lock
21613 silly gunzTarPerm extractEntry lib/_stream_duplex.js
21614 silly gunzTarPerm extractEntry lib/_stream_passthrough.js
21615 silly lockFile 062b4488-once-1-1-1 once@~1.1.1
21616 silly lockFile 062b4488-once-1-1-1 once@~1.1.1
21617 silly addNameRange { name: 'node-uuid',
21617 silly addNameRange range: '>=1.4.0-0 <1.5.0-0',
21617 silly addNameRange hasData: false }
21618 silly addNameRange { name: 'tough-cookie', range: '>=0.12.0', hasData: false }
21619 silly addNameRange { name: 'form-data',
21619 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
21619 silly addNameRange hasData: false }
21620 silly addNameRange { name: 'tunnel-agent',
21620 silly addNameRange range: '>=0.4.0-0 <0.5.0-0',
21620 silly addNameRange hasData: false }
21621 verbose cache add [ 'qs@~0.6.0', null ]
21622 verbose cache add name=undefined spec="qs@~0.6.0" args=["qs@~0.6.0",null]
21623 verbose parsed url { protocol: null,
21623 verbose parsed url slashes: null,
21623 verbose parsed url auth: null,
21623 verbose parsed url host: null,
21623 verbose parsed url port: null,
21623 verbose parsed url hostname: null,
21623 verbose parsed url hash: null,
21623 verbose parsed url search: null,
21623 verbose parsed url query: null,
21623 verbose parsed url pathname: 'qs@~0.6.0',
21623 verbose parsed url path: 'qs@~0.6.0',
21623 verbose parsed url href: 'qs@~0.6.0' }
21624 verbose cache add name="qs" spec="~0.6.0" args=["qs","~0.6.0"]
21625 verbose parsed url { protocol: null,
21625 verbose parsed url slashes: null,
21625 verbose parsed url auth: null,
21625 verbose parsed url host: null,
21625 verbose parsed url port: null,
21625 verbose parsed url hostname: null,
21625 verbose parsed url hash: null,
21625 verbose parsed url search: null,
21625 verbose parsed url query: null,
21625 verbose parsed url pathname: '~0.6.0',
21625 verbose parsed url path: '~0.6.0',
21625 verbose parsed url href: '~0.6.0' }
21626 verbose addNamed [ 'qs', '~0.6.0' ]
21627 verbose addNamed [ null, '>=0.6.0-0 <0.7.0-0' ]
21628 silly lockFile 222bee9e-qs-0-6-0 qs@~0.6.0
21629 verbose lock qs@~0.6.0 /home/gary/.npm/222bee9e-qs-0-6-0.lock
21630 verbose cache add [ 'json-stringify-safe@~5.0.0', null ]
21631 verbose cache add name=undefined spec="json-stringify-safe@~5.0.0" args=["json-stringify-safe@~5.0.0",null]
21632 verbose parsed url { protocol: null,
21632 verbose parsed url slashes: null,
21632 verbose parsed url auth: null,
21632 verbose parsed url host: null,
21632 verbose parsed url port: null,
21632 verbose parsed url hostname: null,
21632 verbose parsed url hash: null,
21632 verbose parsed url search: null,
21632 verbose parsed url query: null,
21632 verbose parsed url pathname: 'json-stringify-safe@~5.0.0',
21632 verbose parsed url path: 'json-stringify-safe@~5.0.0',
21632 verbose parsed url href: 'json-stringify-safe@~5.0.0' }
21633 verbose cache add name="json-stringify-safe" spec="~5.0.0" args=["json-stringify-safe","~5.0.0"]
21634 verbose parsed url { protocol: null,
21634 verbose parsed url slashes: null,
21634 verbose parsed url auth: null,
21634 verbose parsed url host: null,
21634 verbose parsed url port: null,
21634 verbose parsed url hostname: null,
21634 verbose parsed url hash: null,
21634 verbose parsed url search: null,
21634 verbose parsed url query: null,
21634 verbose parsed url pathname: '~5.0.0',
21634 verbose parsed url path: '~5.0.0',
21634 verbose parsed url href: '~5.0.0' }
21635 verbose addNamed [ 'json-stringify-safe', '~5.0.0' ]
21636 verbose addNamed [ null, '>=5.0.0-0 <5.1.0-0' ]
21637 silly lockFile 063b1a01-json-stringify-safe-5-0-0 json-stringify-safe@~5.0.0
21638 verbose lock json-stringify-safe@~5.0.0 /home/gary/.npm/063b1a01-json-stringify-safe-5-0-0.lock
21639 verbose cache add [ 'mime@~1.2.9', null ]
21640 verbose cache add name=undefined spec="mime@~1.2.9" args=["mime@~1.2.9",null]
21641 verbose parsed url { protocol: null,
21641 verbose parsed url slashes: null,
21641 verbose parsed url auth: null,
21641 verbose parsed url host: null,
21641 verbose parsed url port: null,
21641 verbose parsed url hostname: null,
21641 verbose parsed url hash: null,
21641 verbose parsed url search: null,
21641 verbose parsed url query: null,
21641 verbose parsed url pathname: 'mime@~1.2.9',
21641 verbose parsed url path: 'mime@~1.2.9',
21641 verbose parsed url href: 'mime@~1.2.9' }
21642 verbose cache add name="mime" spec="~1.2.9" args=["mime","~1.2.9"]
21643 verbose parsed url { protocol: null,
21643 verbose parsed url slashes: null,
21643 verbose parsed url auth: null,
21643 verbose parsed url host: null,
21643 verbose parsed url port: null,
21643 verbose parsed url hostname: null,
21643 verbose parsed url hash: null,
21643 verbose parsed url search: null,
21643 verbose parsed url query: null,
21643 verbose parsed url pathname: '~1.2.9',
21643 verbose parsed url path: '~1.2.9',
21643 verbose parsed url href: '~1.2.9' }
21644 verbose addNamed [ 'mime', '~1.2.9' ]
21645 verbose addNamed [ null, '>=1.2.9-0 <1.3.0-0' ]
21646 silly lockFile ccf24a67-mime-1-2-9 mime@~1.2.9
21647 verbose lock mime@~1.2.9 /home/gary/.npm/ccf24a67-mime-1-2-9.lock
21648 verbose cache add [ 'forever-agent@~0.5.0', null ]
21649 verbose cache add name=undefined spec="forever-agent@~0.5.0" args=["forever-agent@~0.5.0",null]
21650 verbose parsed url { protocol: null,
21650 verbose parsed url slashes: null,
21650 verbose parsed url auth: null,
21650 verbose parsed url host: null,
21650 verbose parsed url port: null,
21650 verbose parsed url hostname: null,
21650 verbose parsed url hash: null,
21650 verbose parsed url search: null,
21650 verbose parsed url query: null,
21650 verbose parsed url pathname: 'forever-agent@~0.5.0',
21650 verbose parsed url path: 'forever-agent@~0.5.0',
21650 verbose parsed url href: 'forever-agent@~0.5.0' }
21651 verbose cache add name="forever-agent" spec="~0.5.0" args=["forever-agent","~0.5.0"]
21652 verbose parsed url { protocol: null,
21652 verbose parsed url slashes: null,
21652 verbose parsed url auth: null,
21652 verbose parsed url host: null,
21652 verbose parsed url port: null,
21652 verbose parsed url hostname: null,
21652 verbose parsed url hash: null,
21652 verbose parsed url search: null,
21652 verbose parsed url query: null,
21652 verbose parsed url pathname: '~0.5.0',
21652 verbose parsed url path: '~0.5.0',
21652 verbose parsed url href: '~0.5.0' }
21653 verbose addNamed [ 'forever-agent', '~0.5.0' ]
21654 verbose addNamed [ null, '>=0.5.0-0 <0.6.0-0' ]
21655 silly lockFile fa463915-forever-agent-0-5-0 forever-agent@~0.5.0
21656 verbose lock forever-agent@~0.5.0 /home/gary/.npm/fa463915-forever-agent-0-5-0.lock
21657 silly addNameRange { name: 'http-signature',
21657 silly addNameRange range: '>=0.10.0-0 <0.11.0-0',
21657 silly addNameRange hasData: false }
21658 silly gunzTarPerm extractEntry README.md
21659 silly gunzTarPerm extractEntry LICENSE
21660 verbose url raw node-uuid
21661 verbose url resolving [ 'https://registry.npmjs.org/', './node-uuid' ]
21662 verbose url resolved https://registry.npmjs.org/node-uuid
21663 info trying registry request attempt 1 at 14:03:26
21664 http GET https://registry.npmjs.org/node-uuid
21665 verbose url raw tough-cookie
21666 verbose url resolving [ 'https://registry.npmjs.org/', './tough-cookie' ]
21667 verbose url resolved https://registry.npmjs.org/tough-cookie
21668 info trying registry request attempt 1 at 14:03:26
21669 http GET https://registry.npmjs.org/tough-cookie
21670 verbose url raw form-data
21671 verbose url resolving [ 'https://registry.npmjs.org/', './form-data' ]
21672 verbose url resolved https://registry.npmjs.org/form-data
21673 info trying registry request attempt 1 at 14:03:26
21674 http GET https://registry.npmjs.org/form-data
21675 verbose url raw tunnel-agent
21676 verbose url resolving [ 'https://registry.npmjs.org/', './tunnel-agent' ]
21677 verbose url resolved https://registry.npmjs.org/tunnel-agent
21678 info trying registry request attempt 1 at 14:03:26
21679 http GET https://registry.npmjs.org/tunnel-agent
21680 silly addNameRange { name: 'oauth-sign',
21680 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
21680 silly addNameRange hasData: false }
21681 silly addNameRange { name: 'hawk', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
21682 silly addNameRange { name: 'aws-sign2',
21682 silly addNameRange range: '>=0.5.0-0 <0.6.0-0',
21682 silly addNameRange hasData: false }
21683 verbose url raw http-signature
21684 verbose url resolving [ 'https://registry.npmjs.org/', './http-signature' ]
21685 verbose url resolved https://registry.npmjs.org/http-signature
21686 info trying registry request attempt 1 at 14:03:26
21687 http GET https://registry.npmjs.org/http-signature
21688 silly gunzTarPerm extractEntry src/syntax/SwitchStatement.js
21689 silly gunzTarPerm extractEntry src/syntax/index.js
21690 silly gunzTarPerm extractEntry lib/entry-writer.js
21691 verbose url raw oauth-sign
21692 verbose url resolving [ 'https://registry.npmjs.org/', './oauth-sign' ]
21693 verbose url resolved https://registry.npmjs.org/oauth-sign
21694 info trying registry request attempt 1 at 14:03:26
21695 http GET https://registry.npmjs.org/oauth-sign
21696 verbose url raw hawk
21697 verbose url resolving [ 'https://registry.npmjs.org/', './hawk' ]
21698 verbose url resolved https://registry.npmjs.org/hawk
21699 info trying registry request attempt 1 at 14:03:26
21700 http GET https://registry.npmjs.org/hawk
21701 verbose url raw aws-sign2
21702 verbose url resolving [ 'https://registry.npmjs.org/', './aws-sign2' ]
21703 verbose url resolved https://registry.npmjs.org/aws-sign2
21704 info trying registry request attempt 1 at 14:03:26
21705 http GET https://registry.npmjs.org/aws-sign2
21706 silly addNameRange { name: 'qs', range: '>=0.6.0-0 <0.7.0-0', hasData: false }
21707 silly addNameRange { name: 'json-stringify-safe',
21707 silly addNameRange range: '>=5.0.0-0 <5.1.0-0',
21707 silly addNameRange hasData: false }
21708 silly addNameRange { name: 'mime', range: '>=1.2.9-0 <1.3.0-0', hasData: false }
21709 silly addNameRange { name: 'forever-agent',
21709 silly addNameRange range: '>=0.5.0-0 <0.6.0-0',
21709 silly addNameRange hasData: false }
21710 silly gunzTarPerm extractEntry .travis.yml
21711 silly gunzTarPerm extractEntry example/parse.js
21712 silly gunzTarPerm modes [ '755', '644' ]
21713 verbose url raw json-stringify-safe
21714 verbose url resolving [ 'https://registry.npmjs.org/', './json-stringify-safe' ]
21715 verbose url resolved https://registry.npmjs.org/json-stringify-safe
21716 info trying registry request attempt 1 at 14:03:26
21717 http GET https://registry.npmjs.org/json-stringify-safe
21718 verbose url raw forever-agent
21719 verbose url resolving [ 'https://registry.npmjs.org/', './forever-agent' ]
21720 verbose url resolved https://registry.npmjs.org/forever-agent
21721 info trying registry request attempt 1 at 14:03:26
21722 http GET https://registry.npmjs.org/forever-agent
21723 silly gunzTarPerm extractEntry dist/lodash.underscore.min.js
21724 silly lockFile cc3a00a2-js-org-extname-extname-0-1-2-tgz https://registry.npmjs.org/extname/-/extname-0.1.2.tgz
21725 silly lockFile cc3a00a2-js-org-extname-extname-0-1-2-tgz https://registry.npmjs.org/extname/-/extname-0.1.2.tgz
21726 silly gunzTarPerm extractEntry object/forIn.js
21727 silly gunzTarPerm extractEntry object/mixIn.js
21728 silly lockFile 775815d4-extname-0-1-2 extname@0.1.2
21729 silly lockFile 775815d4-extname-0-1-2 extname@0.1.2
21730 silly lockFile cfae28ba-extname-0-1-1 extname@^0.1.1
21731 silly lockFile cfae28ba-extname-0-1-1 extname@^0.1.1
21732 silly gunzTarPerm extractEntry test/find-file.js
21733 silly gunzTarPerm extractEntry test/get.js
21734 silly gunzTarPerm extractEntry test/00-setup.js
21735 silly gunzTarPerm extractEntry test/stat.js
21736 verbose registry.get qs not expired, no request
21737 silly addNameRange number 2 { name: 'qs', range: '>=0.6.0-0 <0.7.0-0', hasData: true }
21738 silly addNameRange versions [ 'qs',
21738 silly addNameRange [ '0.0.1',
21738 silly addNameRange '0.0.2',
21738 silly addNameRange '0.0.3',
21738 silly addNameRange '0.0.4',
21738 silly addNameRange '0.0.5',
21738 silly addNameRange '0.0.6',
21738 silly addNameRange '0.0.7',
21738 silly addNameRange '0.1.0',
21738 silly addNameRange '0.2.0',
21738 silly addNameRange '0.3.0',
21738 silly addNameRange '0.3.1',
21738 silly addNameRange '0.3.2',
21738 silly addNameRange '0.4.0',
21738 silly addNameRange '0.4.1',
21738 silly addNameRange '0.4.2',
21738 silly addNameRange '0.5.0',
21738 silly addNameRange '0.5.1',
21738 silly addNameRange '0.5.2',
21738 silly addNameRange '0.5.3',
21738 silly addNameRange '0.5.4',
21738 silly addNameRange '0.5.5',
21738 silly addNameRange '0.5.6',
21738 silly addNameRange '0.6.0',
21738 silly addNameRange '0.6.1',
21738 silly addNameRange '0.6.2',
21738 silly addNameRange '0.6.3',
21738 silly addNameRange '0.6.4',
21738 silly addNameRange '0.6.5',
21738 silly addNameRange '0.6.6' ] ]
21739 verbose addNamed [ 'qs', '0.6.6' ]
21740 verbose addNamed [ '0.6.6', '0.6.6' ]
21741 silly lockFile b8bccda2-qs-0-6-6 qs@0.6.6
21742 verbose lock qs@0.6.6 /home/gary/.npm/b8bccda2-qs-0-6-6.lock
21743 verbose registry.get mime not expired, no request
21744 silly addNameRange number 2 { name: 'mime', range: '>=1.2.9-0 <1.3.0-0', hasData: true }
21745 silly addNameRange versions [ 'mime',
21745 silly addNameRange [ '1.0.0',
21745 silly addNameRange '1.1.0',
21745 silly addNameRange '1.2.1',
21745 silly addNameRange '1.2.2',
21745 silly addNameRange '1.2.3',
21745 silly addNameRange '1.2.4',
21745 silly addNameRange '1.2.5',
21745 silly addNameRange '1.2.6',
21745 silly addNameRange '1.2.7',
21745 silly addNameRange '1.2.8',
21745 silly addNameRange '1.2.9',
21745 silly addNameRange '1.2.10',
21745 silly addNameRange '1.2.11' ] ]
21746 verbose addNamed [ 'mime', '1.2.11' ]
21747 verbose addNamed [ '1.2.11', '1.2.11' ]
21748 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
21749 verbose lock mime@1.2.11 /home/gary/.npm/c4b0741f-mime-1-2-11.lock
21750 silly gunzTarPerm extractEntry lib/_stream_readable.js
21751 silly gunzTarPerm extractEntry abbrev.js
21752 silly gunzTarPerm extractEntry test.js
21753 silly gunzTarPerm extractEntry package.json
21754 silly lockFile b8bccda2-qs-0-6-6 qs@0.6.6
21755 silly lockFile b8bccda2-qs-0-6-6 qs@0.6.6
21756 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
21757 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
21758 silly lockFile 222bee9e-qs-0-6-0 qs@~0.6.0
21759 silly lockFile 222bee9e-qs-0-6-0 qs@~0.6.0
21760 silly lockFile ccf24a67-mime-1-2-9 mime@~1.2.9
21761 silly lockFile ccf24a67-mime-1-2-9 mime@~1.2.9
21762 silly gunzTarPerm extractEntry readme.markdown
21763 silly gunzTarPerm extractEntry test/dash.js
21764 silly gunzTarPerm extractEntry test/fixture/file/beta-sticker-1.png
21765 silly gunzTarPerm extractEntry test/fixture/file/binaryfile.tar.gz
21766 silly gunzTarPerm extractEntry .npmignore
21767 silly gunzTarPerm extractEntry README.md
21768 silly gunzTarPerm extractEntry object/find.js
21769 silly gunzTarPerm extractEntry object/namespace.js
21770 silly lockFile 78865788-m-reduce-component-1-0-1-package tar:///home/gary/.npm/reduce-component/1.0.1/package
21771 silly lockFile 78865788-m-reduce-component-1-0-1-package tar:///home/gary/.npm/reduce-component/1.0.1/package
21772 http 200 https://registry.npmjs.org/form-data
21773 verbose bad json <?xml version="1.0" encoding="utf-8"?>
21773 verbose bad json <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
21773 verbose bad json "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
21773 verbose bad json <html>
21773 verbose bad json <head>
21773 verbose bad json <title>200 OK</title>
21773 verbose bad json </head>
21773 verbose bad json <body>
21773 verbose bad json <h1>Error 200 OK</h1>
21773 verbose bad json <p>OK</p>
21773 verbose bad json <h3>Guru Meditation:</h3>
21773 verbose bad json <p>XID: 724854058</p>
21773 verbose bad json <hr>
21773 verbose bad json <p>Varnish cache server</p>
21773 verbose bad json </body>
21773 verbose bad json </html>
21774 error registry error parsing json
21775 verbose headers { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
21775 verbose headers server: 'Varnish',
21775 verbose headers 'retry-after': '0',
21775 verbose headers 'content-type': 'text/html; charset=utf-8',
21775 verbose headers via: '1.1 varnish',
21775 verbose headers 'content-length': '367',
21775 verbose headers 'accept-ranges': 'bytes',
21775 verbose headers age: '173353',
21775 verbose headers 'x-served-by': 'cache-ord1728-ORD',
21775 verbose headers 'x-cache': 'HIT',
21775 verbose headers 'x-cache-hits': '400',
21775 verbose headers 'x-timer': 'S1402077806.094553,VS0,VE0',
21775 verbose headers 'keep-alive': 'timeout=10, max=50',
21775 verbose headers connection: 'Keep-Alive' }
21776 silly registry.get cb [ 200,
21776 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
21776 silly registry.get server: 'Varnish',
21776 silly registry.get 'retry-after': '0',
21776 silly registry.get 'content-type': 'text/html; charset=utf-8',
21776 silly registry.get via: '1.1 varnish',
21776 silly registry.get 'content-length': '367',
21776 silly registry.get 'accept-ranges': 'bytes',
21776 silly registry.get age: '173353',
21776 silly registry.get 'x-served-by': 'cache-ord1728-ORD',
21776 silly registry.get 'x-cache': 'HIT',
21776 silly registry.get 'x-cache-hits': '400',
21776 silly registry.get 'x-timer': 'S1402077806.094553,VS0,VE0',
21776 silly registry.get 'keep-alive': 'timeout=10, max=50',
21776 silly registry.get connection: 'Keep-Alive' } ]
21777 silly lockFile 26aa13f4-form-data-0-1-0 form-data@~0.1.0
21778 silly lockFile 26aa13f4-form-data-0-1-0 form-data@~0.1.0
21779 silly lockFile 4bff1d14-04687-0-5392170518171042-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804687-0.5392170518171042/tmp.tgz
21780 silly lockFile 4bff1d14-04687-0-5392170518171042-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804687-0.5392170518171042/tmp.tgz
21781 warn optional dep failed, continuing form-data@~0.1.0
21782 verbose optional dep failed, continuing [ 'form-data@~0.1.0',
21782 verbose optional dep failed, continuing [SyntaxError: Unexpected token <
21782 verbose optional dep failed, continuing
21782 verbose optional dep failed, continuing <?xml version="1.0" encoding="utf-8"?>
21782 verbose optional dep failed, continuing <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
21782 verbose optional dep failed, continuing "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
21782 verbose optional dep failed, continuing <html>
21782 verbose optional dep failed, continuing <head>
21782 verbose optional dep failed, continuing <title>200 OK</title>
21782 verbose optional dep failed, continuing </head>
21782 verbose optional dep failed, continuing <body>
21782 verbose optional dep failed, continuing <h1>Error 200 OK</h1>
21782 verbose optional dep failed, continuing <p>OK</p>
21782 verbose optional dep failed, continuing <h3>Guru Meditation:</h3>
21782 verbose optional dep failed, continuing <p>XID: 724854058</p>
21782 verbose optional dep failed, continuing <hr>
21782 verbose optional dep failed, continuing <p>Varnish cache server</p>
21782 verbose optional dep failed, continuing </body>
21782 verbose optional dep failed, continuing </html>
21782 verbose optional dep failed, continuing ] ]
21783 http 200 https://registry.npmjs.org/tunnel-agent
21784 silly registry.get cb [ 200,
21784 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
21784 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B)',
21784 silly registry.get etag: '"4XEKZRB2KFYOS7X2FPWBM4UTK"',
21784 silly registry.get 'content-type': 'application/json',
21784 silly registry.get via: '1.1 varnish',
21784 silly registry.get 'cache-control': 'max-age=1',
21784 silly registry.get 'content-length': '3332',
21784 silly registry.get 'accept-ranges': 'bytes',
21784 silly registry.get age: '51',
21784 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1724-ORD',
21784 silly registry.get 'x-cache': 'HIT, HIT',
21784 silly registry.get 'x-cache-hits': '1, 1',
21784 silly registry.get 'x-timer': 'S1402077806.101270,VS0,VE0',
21784 silly registry.get vary: 'Accept',
21784 silly registry.get 'keep-alive': 'timeout=10, max=50',
21784 silly registry.get connection: 'Keep-Alive' } ]
21785 silly gunzTarPerm extractEntry lib/_stream_transform.js
21786 silly gunzTarPerm extractEntry lib/_stream_writable.js
21787 silly lockFile f6a33c02--modules-mocha-node-modules-diff tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/diff
21788 silly lockFile f6a33c02--modules-mocha-node-modules-diff tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/diff
21789 silly gunzTarPerm extractEntry CONTRIBUTING.md
21790 silly lockFile 642d172f--gary-npm-diff-1-0-7-package-tgz tar:///home/gary/.npm/diff/1.0.7/package.tgz
21791 silly lockFile 642d172f--gary-npm-diff-1-0-7-package-tgz tar:///home/gary/.npm/diff/1.0.7/package.tgz
21792 http 200 https://registry.npmjs.org/oauth-sign
21793 silly registry.get cb [ 200,
21793 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
21793 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21793 silly registry.get etag: '"BBEB5VBVQE0G0SOWKWBK6G3CH"',
21793 silly registry.get 'content-type': 'application/json',
21793 silly registry.get via: '1.1 varnish',
21793 silly registry.get 'cache-control': 'max-age=1',
21793 silly registry.get 'content-length': '3517',
21793 silly registry.get 'accept-ranges': 'bytes',
21793 silly registry.get age: '13',
21793 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1728-ORD',
21793 silly registry.get 'x-cache': 'HIT, HIT',
21793 silly registry.get 'x-cache-hits': '3, 1',
21793 silly registry.get 'x-timer': 'S1402077806.118984,VS0,VE0',
21793 silly registry.get vary: 'Accept',
21793 silly registry.get 'keep-alive': 'timeout=10, max=49',
21793 silly registry.get connection: 'Keep-Alive' } ]
21794 silly gunzTarPerm extractEntry lib/entry.js
21795 silly gunzTarPerm extractEntry lib/extended-header-writer.js
21796 http 200 https://registry.npmjs.org/http-signature
21797 silly registry.get cb [ 200,
21797 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
21797 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21797 silly registry.get etag: '"6ZB1ETGRW1IRSY4JIA0Y1E3B2"',
21797 silly registry.get 'content-type': 'application/json',
21797 silly registry.get via: '1.1 varnish',
21797 silly registry.get 'cache-control': 'max-age=1',
21797 silly registry.get 'content-length': '23749',
21797 silly registry.get 'accept-ranges': 'bytes',
21797 silly registry.get age: '13',
21797 silly registry.get 'x-served-by': 'cache-sv62-SJC3, cache-ord1732-ORD',
21797 silly registry.get 'x-cache': 'HIT, HIT',
21797 silly registry.get 'x-cache-hits': '8447, 1',
21797 silly registry.get 'x-timer': 'S1402077806.101457,VS0,VE0',
21797 silly registry.get vary: 'Accept',
21797 silly registry.get 'keep-alive': 'timeout=10, max=50',
21797 silly registry.get connection: 'Keep-Alive' } ]
21798 silly gunzTarPerm extractEntry src/syntax/BreakStatement.js
21799 silly gunzTarPerm extractEntry src/syntax/BinaryExpression.js
21800 silly lockFile 7d12ebf6-onent-reduce-component-1-0-1-tgz https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz
21801 silly lockFile 7d12ebf6-onent-reduce-component-1-0-1-tgz https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz
21802 http 200 https://registry.npmjs.org/aws-sign2
21803 silly registry.get cb [ 200,
21803 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
21803 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B)',
21803 silly registry.get etag: '"5LQVIOJRE8YGQMQ2P04WCC67A"',
21803 silly registry.get 'content-type': 'application/json',
21803 silly registry.get via: '1.1 varnish',
21803 silly registry.get 'cache-control': 'max-age=1',
21803 silly registry.get 'content-length': '2872',
21803 silly registry.get 'accept-ranges': 'bytes',
21803 silly registry.get age: '13',
21803 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1728-ORD',
21803 silly registry.get 'x-cache': 'HIT, HIT',
21803 silly registry.get 'x-cache-hits': '1, 1',
21803 silly registry.get 'x-timer': 'S1402077806.140355,VS0,VE0',
21803 silly registry.get vary: 'Accept',
21803 silly registry.get 'keep-alive': 'timeout=10, max=48',
21803 silly registry.get connection: 'Keep-Alive' } ]
21804 http 200 https://registry.npmjs.org/node-uuid
21805 silly registry.get cb [ 200,
21805 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
21805 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21805 silly registry.get etag: '"3R7KNOEWBMA3XLXK3MENNBKMH"',
21805 silly registry.get 'content-type': 'application/json',
21805 silly registry.get via: '1.1 varnish',
21805 silly registry.get 'cache-control': 'max-age=1',
21805 silly registry.get 'content-length': '30513',
21805 silly registry.get 'accept-ranges': 'bytes',
21805 silly registry.get age: '160',
21805 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1726-ORD',
21805 silly registry.get 'x-cache': 'HIT, HIT',
21805 silly registry.get 'x-cache-hits': '16151, 1',
21805 silly registry.get 'x-timer': 'S1402077806.100485,VS0,VE0',
21805 silly registry.get vary: 'Accept',
21805 silly registry.get 'keep-alive': 'timeout=10, max=50',
21805 silly registry.get connection: 'Keep-Alive' } ]
21806 silly lockFile 6df2c748-ome-gary-npm-osenv-0-0-3-package tar:///home/gary/.npm/osenv/0.0.3/package
21807 silly lockFile 6df2c748-ome-gary-npm-osenv-0-0-3-package tar:///home/gary/.npm/osenv/0.0.3/package
21808 info preinstall diff@1.0.7
21809 silly lockFile 92fea138-modules-mocha-node-modules-growl tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/growl
21810 silly lockFile 92fea138-modules-mocha-node-modules-growl tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/growl
21811 silly lockFile 88b0e907-reduce-component-1-0-1 reduce-component@1.0.1
21812 silly lockFile 88b0e907-reduce-component-1-0-1 reduce-component@1.0.1
21813 silly gunzTarPerm extractEntry test/fixture/file/blank.gif
21814 silly gunzTarPerm extractEntry test/fixture/file/funkyfilename.txt
21815 http 200 https://registry.npmjs.org/json-stringify-safe
21816 silly registry.get cb [ 200,
21816 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
21816 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21816 silly registry.get etag: '"DCHF000C6O2GP81GD95QO2ILB"',
21816 silly registry.get 'content-type': 'application/json',
21816 silly registry.get via: '1.1 varnish',
21816 silly registry.get 'cache-control': 'max-age=1',
21816 silly registry.get 'content-length': '7887',
21816 silly registry.get 'accept-ranges': 'bytes',
21816 silly registry.get age: '13',
21816 silly registry.get 'x-served-by': 'cache-sv62-SJC3, cache-ord1732-ORD',
21816 silly registry.get 'x-cache': 'HIT, HIT',
21816 silly registry.get 'x-cache-hits': '2, 1',
21816 silly registry.get 'x-timer': 'S1402077806.150772,VS0,VE0',
21816 silly registry.get vary: 'Accept',
21816 silly registry.get 'keep-alive': 'timeout=10, max=49',
21816 silly registry.get connection: 'Keep-Alive' } ]
21817 silly lockFile db3a22b6-5222-0-00840306282043457-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805222-0.00840306282043457/tmp.tgz
21818 silly lockFile db3a22b6-5222-0-00840306282043457-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805222-0.00840306282043457/tmp.tgz
21819 silly lockFile af65515d-gary-npm-growl-1-7-0-package-tgz tar:///home/gary/.npm/growl/1.7.0/package.tgz
21820 silly lockFile af65515d-gary-npm-growl-1-7-0-package-tgz tar:///home/gary/.npm/growl/1.7.0/package.tgz
21821 silly lockFile 075ed21b-pm-stream-combiner-0-0-4-package tar:///home/gary/.npm/stream-combiner/0.0.4/package
21822 silly lockFile 075ed21b-pm-stream-combiner-0-0-4-package tar:///home/gary/.npm/stream-combiner/0.0.4/package
21823 silly gunzTarPerm extractEntry LICENSE
21824 silly addNameRange number 2 { name: 'tunnel-agent',
21824 silly addNameRange range: '>=0.4.0-0 <0.5.0-0',
21824 silly addNameRange hasData: true }
21825 silly addNameRange versions [ 'tunnel-agent', [ '0.2.0', '0.3.0', '0.4.0' ] ]
21826 verbose addNamed [ 'tunnel-agent', '0.4.0' ]
21827 verbose addNamed [ '0.4.0', '0.4.0' ]
21828 silly lockFile d3ccfadd-tunnel-agent-0-4-0 tunnel-agent@0.4.0
21829 verbose lock tunnel-agent@0.4.0 /home/gary/.npm/d3ccfadd-tunnel-agent-0-4-0.lock
21830 silly gunzTarPerm extractEntry tst/ctype/tst.structw.js
21831 silly gunzTarPerm modified mode [ 'tst/ctype/tst.structw.js', 438, 420 ]
21832 silly gunzTarPerm extractEntry tst/ctype/tst.char.js
21833 silly gunzTarPerm modified mode [ 'tst/ctype/tst.char.js', 438, 420 ]
21834 silly gunzTarPerm extractEntry object/filter.js
21835 silly gunzTarPerm extractEntry object/pick.js
21836 silly lockFile 42e15b3a-05304-0-7378838430158794-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805304-0.7378838430158794/tmp.tgz
21837 silly lockFile 42e15b3a-05304-0-7378838430158794-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805304-0.7378838430158794/tmp.tgz
21838 silly gunzTarPerm extractEntry test/ignore-unfound-file.js
21839 silly gunzTarPerm extractEntry test/ini.js
21840 http 200 https://registry.npmjs.org/forever-agent
21841 silly registry.get cb [ 200,
21841 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
21841 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21841 silly registry.get etag: '"CYWZJILR3M157HRX9R094YZJP"',
21841 silly registry.get 'content-type': 'application/json',
21841 silly registry.get via: '1.1 varnish',
21841 silly registry.get 'cache-control': 'max-age=1',
21841 silly registry.get 'content-length': '5311',
21841 silly registry.get 'accept-ranges': 'bytes',
21841 silly registry.get age: '13',
21841 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1728-ORD',
21841 silly registry.get 'x-cache': 'HIT, HIT',
21841 silly registry.get 'x-cache-hits': '3, 2',
21841 silly registry.get 'x-timer': 'S1402077806.165367,VS0,VE0',
21841 silly registry.get vary: 'Accept',
21841 silly registry.get 'keep-alive': 'timeout=10, max=47',
21841 silly registry.get connection: 'Keep-Alive' } ]
21842 verbose readDependencies using package.json deps
21843 silly addNameRange number 2 { name: 'oauth-sign',
21843 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
21843 silly addNameRange hasData: true }
21844 silly addNameRange versions [ 'oauth-sign', [ '0.2.0', '0.3.0', '0.4.0' ] ]
21845 verbose addNamed [ 'oauth-sign', '0.3.0' ]
21846 verbose addNamed [ '0.3.0', '0.3.0' ]
21847 silly lockFile ae61e7c5-oauth-sign-0-3-0 oauth-sign@0.3.0
21848 verbose lock oauth-sign@0.3.0 /home/gary/.npm/ae61e7c5-oauth-sign-0-3-0.lock
21849 silly gunzTarPerm extractEntry lib/extended-header.js
21850 silly gunzTarPerm extractEntry lib/extract.js
21851 verbose readDependencies using package.json deps
21852 silly resolved []
21853 verbose about to build /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/diff
21854 info build /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/diff
21855 verbose linkStuff [ false,
21855 verbose linkStuff false,
21855 verbose linkStuff false,
21855 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/mocha/node_modules' ]
21856 info linkStuff diff@1.0.7
21857 verbose linkBins diff@1.0.7
21858 verbose linkMans diff@1.0.7
21859 verbose rebuildBundles diff@1.0.7
21860 silly lockFile 680ef23e-nel-agent-tunnel-agent-0-4-0-tgz https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz
21861 verbose lock https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz /home/gary/.npm/680ef23e-nel-agent-tunnel-agent-0-4-0-tgz.lock
21862 silly addNameRange number 2 { name: 'http-signature',
21862 silly addNameRange range: '>=0.10.0-0 <0.11.0-0',
21862 silly addNameRange hasData: true }
21863 silly addNameRange versions [ 'http-signature',
21863 silly addNameRange [ '0.9.0',
21863 silly addNameRange '0.9.2',
21863 silly addNameRange '0.9.3',
21863 silly addNameRange '0.9.4',
21863 silly addNameRange '0.9.5',
21863 silly addNameRange '0.9.6',
21863 silly addNameRange '0.9.7',
21863 silly addNameRange '0.9.8',
21863 silly addNameRange '0.9.9',
21863 silly addNameRange '0.9.10',
21863 silly addNameRange '0.9.11',
21863 silly addNameRange '0.10.0' ] ]
21864 verbose addNamed [ 'http-signature', '0.10.0' ]
21865 verbose addNamed [ '0.10.0', '0.10.0' ]
21866 silly lockFile f628681c-http-signature-0-10-0 http-signature@0.10.0
21867 verbose lock http-signature@0.10.0 /home/gary/.npm/f628681c-http-signature-0-10-0.lock
21868 info install diff@1.0.7
21869 info preinstall growl@1.7.0
21870 silly lockFile 0118c1bc--npmjs-org-osenv-osenv-0-0-3-tgz https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz
21871 silly lockFile 0118c1bc--npmjs-org-osenv-osenv-0-0-3-tgz https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz
21872 verbose addRemoteTarball [ 'https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz',
21872 verbose addRemoteTarball 'b1184e312ffbcf70b3b4c78e8c219de7ebb1c550' ]
21873 silly lockFile ae61e7c5-oauth-sign-0-3-0 oauth-sign@0.3.0
21874 silly lockFile ae61e7c5-oauth-sign-0-3-0 oauth-sign@0.3.0
21875 silly addNameRange number 2 { name: 'aws-sign2', range: '>=0.5.0-0 <0.6.0-0', hasData: true }
21876 silly addNameRange versions [ 'aws-sign2', [ '0.4.0', '0.5.0' ] ]
21877 verbose addNamed [ 'aws-sign2', '0.5.0' ]
21878 verbose addNamed [ '0.5.0', '0.5.0' ]
21879 silly lockFile 5a1dbd9b-aws-sign2-0-5-0 aws-sign2@0.5.0
21880 verbose lock aws-sign2@0.5.0 /home/gary/.npm/5a1dbd9b-aws-sign2-0-5-0.lock
21881 silly addNameRange number 2 { name: 'node-uuid', range: '>=1.4.0-0 <1.5.0-0', hasData: true }
21882 silly addNameRange versions [ 'node-uuid',
21882 silly addNameRange [ '1.2.0',
21882 silly addNameRange '1.3.0',
21882 silly addNameRange '1.3.1',
21882 silly addNameRange '1.3.2',
21882 silly addNameRange '1.1.0',
21882 silly addNameRange '1.0.0',
21882 silly addNameRange '1.3.3',
21882 silly addNameRange '1.4.0',
21882 silly addNameRange '1.4.1' ] ]
21883 verbose addNamed [ 'node-uuid', '1.4.1' ]
21884 verbose addNamed [ '1.4.1', '1.4.1' ]
21885 silly lockFile 7c2028cd-node-uuid-1-4-1 node-uuid@1.4.1
21886 verbose lock node-uuid@1.4.1 /home/gary/.npm/7c2028cd-node-uuid-1-4-1.lock
21887 silly lockFile 4085d016-osenv-0-0-3 osenv@0.0.3
21888 silly lockFile 4085d016-osenv-0-0-3 osenv@0.0.3
21889 info postinstall diff@1.0.7
21890 silly lockFile 1a3cc30f-mbiner-stream-combiner-0-0-4-tgz https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz
21891 silly lockFile 1a3cc30f-mbiner-stream-combiner-0-0-4-tgz https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz
21892 info retry fetch attempt 1 at 14:03:26
21893 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077806228-0.8154305811040103/tmp.tgz
21894 silly lockFile 7fb5c7f1-oauth-sign-0-3-0 oauth-sign@~0.3.0
21895 silly lockFile 7fb5c7f1-oauth-sign-0-3-0 oauth-sign@~0.3.0
21896 silly lockFile f628681c-http-signature-0-10-0 http-signature@0.10.0
21897 silly lockFile f628681c-http-signature-0-10-0 http-signature@0.10.0
21898 silly addNameRange number 2 { name: 'json-stringify-safe',
21898 silly addNameRange range: '>=5.0.0-0 <5.1.0-0',
21898 silly addNameRange hasData: true }
21899 silly addNameRange versions [ 'json-stringify-safe',
21899 silly addNameRange [ '2.0.0', '3.0.0', '4.0.0', '5.0.0' ] ]
21900 verbose addNamed [ 'json-stringify-safe', '5.0.0' ]
21901 verbose addNamed [ '5.0.0', '5.0.0' ]
21902 silly lockFile 1d9ebe76-json-stringify-safe-5-0-0 json-stringify-safe@5.0.0
21903 verbose lock json-stringify-safe@5.0.0 /home/gary/.npm/1d9ebe76-json-stringify-safe-5-0-0.lock
21904 verbose readDependencies using package.json deps
21905 silly lockFile 1441c6a3-stream-combiner-0-0-4 stream-combiner@0.0.4
21906 silly lockFile 1441c6a3-stream-combiner-0-0-4 stream-combiner@0.0.4
21907 silly lockFile 8170f292-http-signature-0-10-0 http-signature@~0.10.0
21908 silly lockFile 8170f292-http-signature-0-10-0 http-signature@~0.10.0
21909 silly gunzTarPerm extractEntry src/syntax/CatchClause.js
21910 silly gunzTarPerm extractEntry src/syntax/ForInStatement.js
21911 verbose readDependencies using package.json deps
21912 silly resolved []
21913 verbose about to build /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/growl
21914 info build /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/growl
21915 verbose linkStuff [ false,
21915 verbose linkStuff false,
21915 verbose linkStuff false,
21915 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/mocha/node_modules' ]
21916 info linkStuff growl@1.7.0
21917 verbose linkBins growl@1.7.0
21918 verbose linkMans growl@1.7.0
21919 verbose rebuildBundles growl@1.7.0
21920 silly gunzTarPerm extractEntry test/fixture/file/menu_separator.png
21921 silly gunzTarPerm extractEntry test/fixture/file/plain.txt
21922 silly lockFile 0da93980-stream-combiner-0-0-4 stream-combiner@^0.0.4
21923 silly lockFile 0da93980-stream-combiner-0-0-4 stream-combiner@^0.0.4
21924 silly gunzTarPerm extractEntry index.js
21925 silly gunzTarPerm extractEntry request.js
21926 http GET https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz
21927 silly lockFile 5a1dbd9b-aws-sign2-0-5-0 aws-sign2@0.5.0
21928 silly lockFile 5a1dbd9b-aws-sign2-0-5-0 aws-sign2@0.5.0
21929 silly lockFile 7c2028cd-node-uuid-1-4-1 node-uuid@1.4.1
21930 silly lockFile 7c2028cd-node-uuid-1-4-1 node-uuid@1.4.1
21931 silly addNameRange number 2 { name: 'forever-agent',
21931 silly addNameRange range: '>=0.5.0-0 <0.6.0-0',
21931 silly addNameRange hasData: true }
21932 silly addNameRange versions [ 'forever-agent',
21932 silly addNameRange [ '0.2.0', '0.3.0', '0.4.0', '0.5.0', '0.5.2' ] ]
21933 verbose addNamed [ 'forever-agent', '0.5.2' ]
21934 verbose addNamed [ '0.5.2', '0.5.2' ]
21935 silly lockFile 20c7a74d-forever-agent-0-5-2 forever-agent@0.5.2
21936 verbose lock forever-agent@0.5.2 /home/gary/.npm/20c7a74d-forever-agent-0-5-2.lock
21937 silly gunzTarPerm extractEntry test/default_bool.js
21938 silly gunzTarPerm extractEntry test/dotted.js
21939 silly gunzTarPerm extractEntry test/long.js
21940 silly gunzTarPerm extractEntry test/parse.js
21941 silly gunzTarPerm extractEntry test/parse_modified.js
21942 silly gunzTarPerm extractEntry test/short.js
21943 silly gunzTarPerm extractEntry test/whitespace.js
21944 info install growl@1.7.0
21945 silly lockFile 82387911-aws-sign2-0-5-0 aws-sign2@~0.5.0
21946 silly lockFile 82387911-aws-sign2-0-5-0 aws-sign2@~0.5.0
21947 silly lockFile f662725f-node-uuid-1-4-0 node-uuid@~1.4.0
21948 silly lockFile f662725f-node-uuid-1-4-0 node-uuid@~1.4.0
21949 silly lockFile 1d9ebe76-json-stringify-safe-5-0-0 json-stringify-safe@5.0.0
21950 silly lockFile 1d9ebe76-json-stringify-safe-5-0-0 json-stringify-safe@5.0.0
21951 silly gunzTarPerm extractEntry vendor/sinon/README.md
21952 silly gunzTarPerm extractEntry vendor/sinon/Changelog.txt
21953 silly gunzTarPerm extractEntry object/fillIn.js
21954 silly gunzTarPerm extractEntry object/pluck.js
21955 silly lockFile 063b1a01-json-stringify-safe-5-0-0 json-stringify-safe@~5.0.0
21956 silly lockFile 063b1a01-json-stringify-safe-5-0-0 json-stringify-safe@~5.0.0
21957 silly lockFile 9d6feff1-m-connecttmp-c6fc6e01cf42package tar:///home/gary/.npm/connecttmp_c6fc6e01cf42package
21958 silly lockFile 9d6feff1-m-connecttmp-c6fc6e01cf42package tar:///home/gary/.npm/connecttmp_c6fc6e01cf42package
21959 info postinstall growl@1.7.0
21960 silly gunzTarPerm extractEntry test/save.js
21961 silly gunzTarPerm extractEntry test/broken.json
21962 silly lockFile 20c7a74d-forever-agent-0-5-2 forever-agent@0.5.2
21963 silly lockFile 20c7a74d-forever-agent-0-5-2 forever-agent@0.5.2
21964 silly gunzTarPerm modes [ '755', '644' ]
21965 silly gunzTarPerm modes [ '755', '644' ]
21966 silly lockFile ad3b430e-4367-0-41604707669466734-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077794367-0.41604707669466734/tmp.tgz
21967 silly lockFile ad3b430e-4367-0-41604707669466734-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077794367-0.41604707669466734/tmp.tgz
21968 silly gunzTarPerm extractEntry tst/ctype/tst.oldwrite.js
21969 silly gunzTarPerm modified mode [ 'tst/ctype/tst.oldwrite.js', 438, 420 ]
21970 silly gunzTarPerm extractEntry tst/ctype/tst.endian.js
21971 silly gunzTarPerm modified mode [ 'tst/ctype/tst.endian.js', 438, 420 ]
21972 silly lockFile fa463915-forever-agent-0-5-0 forever-agent@~0.5.0
21973 silly lockFile fa463915-forever-agent-0-5-0 forever-agent@~0.5.0
21974 http 200 https://registry.npmjs.org/hawk
21975 silly registry.get cb [ 200,
21975 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
21975 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
21975 silly registry.get etag: '"8OYGUWEVR2EN7SOD8YZ0D7VKB"',
21975 silly registry.get 'content-type': 'application/json',
21975 silly registry.get via: '1.1 varnish',
21975 silly registry.get 'cache-control': 'max-age=1',
21975 silly registry.get 'content-length': '80659',
21975 silly registry.get 'accept-ranges': 'bytes',
21975 silly registry.get age: '92',
21975 silly registry.get 'x-served-by': 'cache-v43-ASH, cache-sv61-SJC3, cache-ord1724-ORD',
21975 silly registry.get 'x-cache': 'HIT, HIT, HIT',
21975 silly registry.get 'x-cache-hits': '1, 33937, 1',
21975 silly registry.get 'x-timer': 'S1402077806.130322,VS0,VE0',
21975 silly registry.get vary: 'Accept',
21975 silly registry.get 'keep-alive': 'timeout=10, max=49',
21975 silly registry.get connection: 'Keep-Alive' } ]
21976 silly gunzTarPerm extractEntry lib/global-header-writer.js
21977 silly gunzTarPerm extractEntry lib/header.js
21978 silly lockFile 666d65e8-s-optimist-node-modules-wordwrap tar:///home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/wordwrap
21979 silly lockFile 666d65e8-s-optimist-node-modules-wordwrap tar:///home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/wordwrap
21980 silly gunzTarPerm extractEntry src/syntax/UpdateExpression.js
21981 silly gunzTarPerm extractEntry src/syntax/ReturnStatement.js
21982 silly lockFile d20ef1de-y-npm-wordwrap-0-0-2-package-tgz tar:///home/gary/.npm/wordwrap/0.0.2/package.tgz
21983 silly lockFile d20ef1de-y-npm-wordwrap-0-0-2-package-tgz tar:///home/gary/.npm/wordwrap/0.0.2/package.tgz
21984 silly gunzTarPerm extractEntry package.json
21985 silly lockFile c807a95e-e-modules-utile-node-modules-ncp tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/ncp
21986 silly lockFile c807a95e-e-modules-utile-node-modules-ncp tar:///home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/ncp
21987 silly gunzTarPerm extractEntry package.json
21988 silly lockFile 89bce3d1-e-gary-npm-ncp-0-4-2-package-tgz tar:///home/gary/.npm/ncp/0.4.2/package.tgz
21989 silly lockFile 89bce3d1-e-gary-npm-ncp-0-4-2-package-tgz tar:///home/gary/.npm/ncp/0.4.2/package.tgz
21990 silly gunzTarPerm extractEntry object/every.js
21991 silly gunzTarPerm extractEntry object/reduce.js
21992 silly lockFile ae416766-home-gary-npm-mime-1-2-5-package tar:///home/gary/.npm/mime/1.2.5/package
21993 silly lockFile ae416766-home-gary-npm-mime-1-2-5-package tar:///home/gary/.npm/mime/1.2.5/package
21994 silly addNameRange number 2 { name: 'hawk', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
21995 silly addNameRange versions [ 'hawk',
21995 silly addNameRange [ '0.0.1',
21995 silly addNameRange '0.0.2',
21995 silly addNameRange '0.0.3',
21995 silly addNameRange '0.0.4',
21995 silly addNameRange '0.0.5',
21995 silly addNameRange '0.0.6',
21995 silly addNameRange '0.0.7',
21995 silly addNameRange '0.0.8',
21995 silly addNameRange '0.1.0',
21995 silly addNameRange '0.2.0',
21995 silly addNameRange '0.3.0',
21995 silly addNameRange '0.4.0',
21995 silly addNameRange '0.5.0',
21995 silly addNameRange '0.5.1',
21995 silly addNameRange '0.5.2',
21995 silly addNameRange '0.5.3',
21995 silly addNameRange '0.6.0',
21995 silly addNameRange '0.6.1',
21995 silly addNameRange '0.7.0',
21995 silly addNameRange '0.7.1',
21995 silly addNameRange '0.8.1',
21995 silly addNameRange '0.9.0',
21995 silly addNameRange '0.10.0',
21995 silly addNameRange '0.10.1',
21995 silly addNameRange '0.10.2',
21995 silly addNameRange '0.11.0',
21995 silly addNameRange '0.11.1',
21995 silly addNameRange '0.12.0',
21995 silly addNameRange '0.12.1',
21995 silly addNameRange '0.12.2',
21995 silly addNameRange '0.13.0',
21995 silly addNameRange '0.13.1',
21995 silly addNameRange '0.14.0',
21995 silly addNameRange '0.15.0',
21995 silly addNameRange '1.0.0',
21995 silly addNameRange '1.1.0-pre',
21995 silly addNameRange '1.1.1',
21995 silly addNameRange '1.1.2',
21995 silly addNameRange '2.0.0',
21995 silly addNameRange '2.1.0',
21995 silly addNameRange '2.1.1',
21995 silly addNameRange '2.1.2',
21995 silly addNameRange '2.1.3',
21995 silly addNameRange '2.2.0',
21995 silly addNameRange '2.2.1' ] ]
21996 verbose addNamed [ 'hawk', '1.0.0' ]
21997 verbose addNamed [ '1.0.0', '1.0.0' ]
21998 silly lockFile 1ca87dbe-hawk-1-0-0 hawk@1.0.0
21999 verbose lock hawk@1.0.0 /home/gary/.npm/1ca87dbe-hawk-1-0-0.lock
22000 silly lockFile 18e051bf-04338-0-6550564258359373-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804338-0.6550564258359373/tmp.tgz
22001 silly lockFile 18e051bf-04338-0-6550564258359373-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077804338-0.6550564258359373/tmp.tgz
22002 silly gunzTarPerm extractEntry dist/lodash.underscore.js
22003 silly gunzTarPerm extractEntry dist/lodash.underscore.min.js
22004 silly lockFile 38664a8b-complexity-node-modules-fs-extra tar:///home/gary/code/email-transactional-app/node_modules/grunt-complexity/node_modules/fs-extra
22005 silly lockFile 38664a8b-complexity-node-modules-fs-extra tar:///home/gary/code/email-transactional-app/node_modules/grunt-complexity/node_modules/fs-extra
22006 info preinstall wordwrap@0.0.2
22007 silly gunzTarPerm extractEntry test.js
22008 silly gunzTarPerm extractEntry History.md
22009 silly lockFile 04fd0714-y-npm-fs-extra-0-8-1-package-tgz tar:///home/gary/.npm/fs-extra/0.8.1/package.tgz
22010 silly lockFile 04fd0714-y-npm-fs-extra-0-8-1-package-tgz tar:///home/gary/.npm/fs-extra/0.8.1/package.tgz
22011 silly gunzTarPerm extractEntry lib/pack.js
22012 silly gunzTarPerm extractEntry lib/parse.js
22013 silly gunzTarPerm extractEntry README.md
22014 silly gunzTarPerm extractEntry diff.js
22015 silly lockFile e965364e-s-org-connect-connect-2-12-0-tgz https://registry.npmjs.org/connect/-/connect-2.12.0.tgz
22016 silly lockFile e965364e-s-org-connect-connect-2-12-0-tgz https://registry.npmjs.org/connect/-/connect-2.12.0.tgz
22017 info preinstall ncp@0.4.2
22018 silly lockFile 1ca87dbe-hawk-1-0-0 hawk@1.0.0
22019 silly lockFile 1ca87dbe-hawk-1-0-0 hawk@1.0.0
22020 verbose readDependencies using package.json deps
22021 silly lockFile 327094b8-hawk-1-0-0 hawk@~1.0.0
22022 silly lockFile 327094b8-hawk-1-0-0 hawk@~1.0.0
22023 verbose readDependencies using package.json deps
22024 silly resolved []
22025 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/wordwrap
22026 info build /home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/wordwrap
22027 verbose linkStuff [ false,
22027 verbose linkStuff false,
22027 verbose linkStuff false,
22027 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules' ]
22028 info linkStuff wordwrap@0.0.2
22029 verbose linkBins wordwrap@0.0.2
22030 verbose linkMans wordwrap@0.0.2
22031 verbose rebuildBundles wordwrap@0.0.2
22032 http 200 https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz
22033 http 200 https://registry.npmjs.org/tough-cookie
22034 silly registry.get cb [ 200,
22034 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
22034 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
22034 silly registry.get etag: '"1UPI10TCWUXXCJDOICISVEFTA"',
22034 silly registry.get 'content-type': 'application/json',
22034 silly registry.get via: '1.1 varnish',
22034 silly registry.get 'cache-control': 'max-age=1',
22034 silly registry.get 'content-length': '232444',
22034 silly registry.get 'accept-ranges': 'bytes',
22034 silly registry.get age: '21',
22034 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1721-ORD',
22034 silly registry.get 'x-cache': 'HIT, HIT',
22034 silly registry.get 'x-cache-hits': '1, 1',
22034 silly registry.get 'x-timer': 'S1402077806.100037,VS0,VE53',
22034 silly registry.get vary: 'Accept',
22034 silly registry.get 'keep-alive': 'timeout=10, max=50',
22034 silly registry.get connection: 'Keep-Alive' } ]
22035 silly lockFile 2d52c0b7-ry-npmjs-org-mime-mime-1-2-5-tgz https://registry.npmjs.org/mime/-/mime-1.2.5.tgz
22036 silly lockFile 2d52c0b7-ry-npmjs-org-mime-mime-1-2-5-tgz https://registry.npmjs.org/mime/-/mime-1.2.5.tgz
22037 verbose readDependencies using package.json deps
22038 info preinstall fs-extra@0.8.1
22039 silly lockFile 4f731036-les-mocha-node-modules-commander tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/commander
22040 silly lockFile 4f731036-les-mocha-node-modules-commander tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/commander
22041 info install wordwrap@0.0.2
22042 silly lockFile d81daa29-mime-1-2-5 mime@1.2.5
22043 silly lockFile d81daa29-mime-1-2-5 mime@1.2.5
22044 verbose readDependencies using package.json deps
22045 silly resolved []
22046 verbose about to build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/ncp
22047 info build /home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/ncp
22048 verbose linkStuff [ false,
22048 verbose linkStuff false,
22048 verbose linkStuff false,
22048 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules' ]
22049 info linkStuff ncp@0.4.2
22050 verbose linkBins ncp@0.4.2
22051 verbose link bins [ { ncp: './bin/ncp' },
22051 verbose link bins '/home/gary/code/email-transactional-app/node_modules/http-proxy/node_modules/utile/node_modules/.bin',
22051 verbose link bins false ]
22052 verbose linkMans ncp@0.4.2
22053 verbose rebuildBundles ncp@0.4.2
22054 silly lockFile c8ecd752--npm-commander-2-0-0-package-tgz tar:///home/gary/.npm/commander/2.0.0/package.tgz
22055 silly lockFile c8ecd752--npm-commander-2-0-0-package-tgz tar:///home/gary/.npm/commander/2.0.0/package.tgz
22056 silly lockFile 1dc81bbe-ome-gary-npm-xtend-2-1-2-package tar:///home/gary/.npm/xtend/2.1.2/package
22057 silly lockFile 1dc81bbe-ome-gary-npm-xtend-2-1-2-package tar:///home/gary/.npm/xtend/2.1.2/package
22058 info postinstall wordwrap@0.0.2
22059 verbose readDependencies using package.json deps
22060 silly lockFile c9b611b8-05475-0-6681273486465216-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805475-0.6681273486465216/tmp.tgz
22061 silly lockFile c9b611b8-05475-0-6681273486465216-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077805475-0.6681273486465216/tmp.tgz
22062 silly gunzTarPerm extractEntry test/cwd-test.js
22063 silly gunzTarPerm extractEntry test/globstar-match.js
22064 silly gunzTarPerm extractEntry object/equals.js
22065 silly gunzTarPerm extractEntry object/reject.js
22066 silly gunzTarPerm extractEntry lib/growl.js
22067 silly gunzTarPerm extractEntry Readme.md
22068 silly resolved [ { name: 'debug',
22068 silly resolved version: '0.8.1',
22068 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/debug.git' },
22068 silly resolved description: 'small debugging utility',
22068 silly resolved keywords: [ 'debug', 'log', 'debugger' ],
22068 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
22068 silly resolved dependencies: {},
22068 silly resolved devDependencies: { mocha: '*' },
22068 silly resolved main: 'lib/debug.js',
22068 silly resolved browser: './debug.js',
22068 silly resolved engines: { node: '*' },
22068 silly resolved files: [ 'lib/debug.js', 'debug.js' ],
22068 silly resolved component: { scripts: [Object] },
22068 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',
22068 silly resolved readmeFilename: 'Readme.md',
22068 silly resolved bugs: { url: 'https://github.com/visionmedia/debug/issues' },
22068 silly resolved homepage: 'https://github.com/visionmedia/debug',
22068 silly resolved _id: 'debug@0.8.1',
22068 silly resolved _shasum: '20ff4d26f5e422cb68a1bacbbb61039ad8c1c130',
22068 silly resolved _from: 'https://registry.npmjs.org/debug/-/debug-0.8.1.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/debug/-/debug-0.8.1.tgz',
22068 silly resolved scripts: {} },
22068 silly resolved { name: 'methods',
22068 silly resolved version: '0.1.0',
22068 silly resolved description: 'HTTP methods that node supports',
22068 silly resolved main: 'index.js',
22068 silly resolved scripts: { test: 'echo "Error: no test specified" && exit 1' },
22068 silly resolved keywords: [ 'http', 'methods' ],
22068 silly resolved author: { name: 'TJ Holowaychuk' },
22068 silly resolved license: 'MIT',
22068 silly resolved repository:
22068 silly resolved { type: 'git',
22068 silly resolved url: 'git://github.com/visionmedia/node-methods.git' },
22068 silly resolved readme: '\n# Methods\n\n HTTP verbs that node core\'s parser supports.\n',
22068 silly resolved readmeFilename: 'Readme.md',
22068 silly resolved bugs: { url: 'https://github.com/visionmedia/node-methods/issues' },
22068 silly resolved homepage: 'https://github.com/visionmedia/node-methods',
22068 silly resolved _id: 'methods@0.1.0',
22068 silly resolved _shasum: '335d429eefd21b7bacf2e9c922a8d2bd14a30e4f',
22068 silly resolved _from: 'methods@0.1.0',
22068 silly resolved _resolved: 'https://registry.npmjs.org/methods/-/methods-0.1.0.tgz' },
22068 silly resolved { name: 'range-parser',
22068 silly resolved author:
22068 silly resolved { name: 'TJ Holowaychuk',
22068 silly resolved email: 'tj@vision-media.ca',
22068 silly resolved url: 'http://tjholowaychuk.com' },
22068 silly resolved description: 'Range header field string parser',
22068 silly resolved version: '0.0.4',
22068 silly resolved main: 'index.js',
22068 silly resolved dependencies: {},
22068 silly resolved devDependencies: { mocha: '*', should: '*' },
22068 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```',
22068 silly resolved readmeFilename: 'Readme.md',
22068 silly resolved _id: 'range-parser@0.0.4',
22068 silly resolved _shasum: 'c0427ffef51c10acba0782a46c9602e744ff620b',
22068 silly resolved _from: 'https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz' },
22068 silly resolved { name: 'fresh',
22068 silly resolved author:
22068 silly resolved { name: 'TJ Holowaychuk',
22068 silly resolved email: 'tj@vision-media.ca',
22068 silly resolved url: 'http://tjholowaychuk.com' },
22068 silly resolved description: 'HTTP response freshness testing',
22068 silly resolved version: '0.2.0',
22068 silly resolved main: 'index.js',
22068 silly resolved repository:
22068 silly resolved { type: 'git',
22068 silly resolved url: 'https://github.com/visionmedia/node-fresh.git' },
22068 silly resolved dependencies: {},
22068 silly resolved devDependencies: { mocha: '*', should: '*' },
22068 silly resolved readme: '\n# node-fresh\n\n HTTP response freshness testing\n\n## fresh(req, res)\n\n Check freshness of `req` and `res` headers.\n\n When the cache is "fresh" __true__ is returned,\n otherwise __false__ is returned to indicate that\n the cache is now stale.\n\n## Example:\n\n```js\nvar req = { \'if-none-match\': \'tobi\' };\nvar res = { \'etag\': \'luna\' };\nfresh(req, res);\n// => false\n\nvar req = { \'if-none-match\': \'tobi\' };\nvar res = { \'etag\': \'tobi\' };\nfresh(req, res);\n// => true\n```\n\n## Installation\n\n```\n$ npm install fresh\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk &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.',
22068 silly resolved readmeFilename: 'Readme.md',
22068 silly resolved bugs: { url: 'https://github.com/visionmedia/node-fresh/issues' },
22068 silly resolved homepage: 'https://github.com/visionmedia/node-fresh',
22068 silly resolved _id: 'fresh@0.2.0',
22068 silly resolved _shasum: 'bfd9402cf3df12c4a4c310c79f99a3dde13d34a7',
22068 silly resolved _from: 'https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz' },
22068 silly resolved { name: 'merge-descriptors',
22068 silly resolved description: 'Merge objects using descriptors',
22068 silly resolved version: '0.0.1',
22068 silly resolved author:
22068 silly resolved { name: 'Jonathan Ong',
22068 silly resolved email: 'me@jongleberry.com',
22068 silly resolved url: 'http://jongleberry.com' },
22068 silly resolved license: 'MIT',
22068 silly resolved repository:
22068 silly resolved { type: 'git',
22068 silly resolved url: 'https://github.com/jonathanong/merge-descriptors.git' },
22068 silly resolved bugs: { url: 'https://github.com/jonathanong/merge-descriptors/issues' },
22068 silly resolved scripts: { test: 'make test;' },
22068 silly resolved readme: '# Merge Descriptors [![Build Status](https://travis-ci.org/jonathanong/merge-descriptors.png)](https://travis-ci.org/jonathanong/merge-descriptors)\n\nMerge objects using descriptors.\n\n```js\nvar thing = {\n get name() {\n return \'jon\'\n }\n}\n\nvar animal = {\n\n}\n\nmerge(animal, thing)\n\nanimal.name === \'jon\'\n```\n\n## API\n\n### merge(destination, source)\n\nOverwrites `destination`\'s descriptors with `source`\'s.\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2013 Jonathan Ong me@jongleberry.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.',
22068 silly resolved readmeFilename: 'README.md',
22068 silly resolved homepage: 'https://github.com/jonathanong/merge-descriptors',
22068 silly resolved _id: 'merge-descriptors@0.0.1',
22068 silly resolved _shasum: '2ff0980c924cf81d0b5d1fb601177cb8bb56c0d0',
22068 silly resolved _from: 'https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.1.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.1.tgz' },
22068 silly resolved { name: 'cookie-signature',
22068 silly resolved version: '1.0.1',
22068 silly resolved description: 'Sign and unsign cookies',
22068 silly resolved keywords: [ 'cookie', 'sign', 'unsign' ],
22068 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@learnboost.com' },
22068 silly resolved dependencies: {},
22068 silly resolved devDependencies: { mocha: '*', should: '*' },
22068 silly resolved main: 'index',
22068 silly resolved readme: '\n# cookie-signature\n\n Sign and unsign cookies.\n\n## Example\n\n```js\nvar cookie = require(\'cookie-signature\');\n\nvar val = cookie.sign(\'hello\', \'tobiiscool\');\nval.should.equal(\'hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI\');\n\nvar val = cookie.sign(\'hello\', \'tobiiscool\');\ncookie.unsign(val, \'tobiiscool\').should.equal(\'hello\');\ncookie.unsign(val, \'luna\').should.be.false;\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 LearnBoost &lt;tj@learnboost.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.',
22068 silly resolved readmeFilename: 'Readme.md',
22068 silly resolved _id: 'cookie-signature@1.0.1',
22068 silly resolved _shasum: '44e072148af01e6e8e24afbf12690d68ae698ecb',
22068 silly resolved _from: 'https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz' },
22068 silly resolved { author:
22068 silly resolved { name: 'Brian J. Brennan',
22068 silly resolved email: 'brianloveswords@gmail.com',
22068 silly resolved url: 'http://bjb.io' },
22068 silly resolved name: 'buffer-crc32',
22068 silly resolved description: 'A pure javascript CRC32 algorithm that plays nice with binary data',
22068 silly resolved version: '0.2.1',
22068 silly resolved contributors: [ [Object] ],
22068 silly resolved homepage: 'https://github.com/brianloveswords/buffer-crc32',
22068 silly resolved repository:
22068 silly resolved { type: 'git',
22068 silly resolved url: 'git://github.com/brianloveswords/buffer-crc32.git' },
22068 silly resolved main: 'index.js',
22068 silly resolved scripts: { test: 'tap tests/*.test.js' },
22068 silly resolved dependencies: {},
22068 silly resolved devDependencies: { tap: '~0.2.5' },
22068 silly resolved optionalDependencies: {},
22068 silly resolved engines: { node: '*' },
22068 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',
22068 silly resolved readmeFilename: 'README.md',
22068 silly resolved bugs: { url: 'https://github.com/brianloveswords/buffer-crc32/issues' },
22068 silly resolved _id: 'buffer-crc32@0.2.1',
22068 silly resolved _shasum: 'be3e5382fc02b6d6324956ac1af98aa98b08534c',
22068 silly resolved _from: 'https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz' },
22068 silly resolved { name: 'commander',
22068 silly resolved version: '1.3.2',
22068 silly resolved description: 'the complete solution for node.js command-line programs',
22068 silly resolved keywords: [ 'command', 'option', 'parser', 'prompt', 'stdin' ],
22068 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
22068 silly resolved repository:
22068 silly resolved { type: 'git',
22068 silly resolved url: 'https://github.com/visionmedia/commander.js.git' },
22068 silly resolved dependencies: { keypress: '0.1.x' },
22068 silly resolved devDependencies: { should: '>= 0.0.1' },
22068 silly resolved scripts: { test: 'make test' },
22068 silly resolved main: 'index',
22068 silly resolved engines: { node: '>= 0.6.x' },
22068 silly resolved readme: '# Commander.js\n\n The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby\'s [commander](https://github.com/visionmedia/commander).\n\n [![Build Status](https://secure.travis-ci.org/visionmedia/commander.js.png)](http://travis-ci.org/visionmedia/commander.js)\n\n## Installation\n\n $ npm install commander\n\n## Option parsing\n\n Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require(\'commander\');\n\nprogram\n .version(\'0.0.1\')\n .option(\'-p, --peppers\', \'Add peppers\')\n .option(\'-P, --pineapple\', \'Add pineapple\')\n .option(\'-b, --bbq\', \'Add bbq sauce\')\n .option(\'-c, --cheese [type]\', \'Add the specified type of cheese [marble]\', \'marble\')\n .parse(process.argv);\n\nconsole.log(\'you ordered a pizza with:\');\nif (program.peppers) console.log(\' - peppers\');\nif (program.pineapple) console.log(\' - pineapple\');\nif (program.bbq) console.log(\' - bbq\');\nconsole.log(\' - %s cheese\', program.cheese);\n```\n\n Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc.\n\n## Automated --help\n\n The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:\n\n``` \n $ ./examples/pizza --help\n\n Usage: pizza [options]\n\n Options:\n\n -V, --version output the version number\n -p, --peppers Add peppers\n -P, --pineapple Add pineapple\n -b, --bbq Add bbq sauce\n -c, --cheese <type> Add the specified type of cheese [marble]\n -h, --help output usage information\n\n```\n\n## Coercion\n\n```js\nfunction range(val) {\n return val.split(\'..\').map(Number);\n}\n\nfunction list(val) {\n return val.split(\',\');\n}\n\nprogram\n .version(\'0.0.1\')\n .usage(\'[options] <file ...>\')\n .option(\'-i, --integer <n>\', \'An integer argument\', parseInt)\n .option(\'-f, --float <n>\', \'A float argument\', parseFloat)\n .option(\'-r, --range <a>..<b>\', \'A range\', range)\n .option(\'-l, --list <items>\', \'A list\', list)\n .option(\'-o, --optional [value]\', \'An optional value\')\n .parse(process.argv);\n\nconsole.log(\' int: %j\', program.integer);\nconsole.log(\' float: %j\', program.float);\nconsole.log(\' optional: %j\', program.optional);\nprogram.range = program.range || [];\nconsole.log(\' range: %j..%j\', program.range[0], program.range[1]);\nconsole.log(\' list: %j\', program.list);\nconsole.log(\' args: %j\', program.args);\n```\n\n## Custom help\n\n You can display arbitrary `-h, --help` information\n by listening for "--help". Commander will automatically\n exit once you are done so that the remainder of your program\n does not execute causing undesired behaviours, for example\n in the following executable "stuff" will not output when\n `--help` is used.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require(\'../\');\n\nfunction list(val) {\n return val.split(\',\').map(Number);\n}\n\nprogram\n .version(\'0.0.1\')\n .option(\'-f, --foo\', \'enable some foo\')\n .option(\'-b, --bar\', \'enable some bar\')\n .option(\'-B, --baz\', \'enable some baz\');\n\n// must be before .parse() since\n// node\'s emit() is immediate\n\nprogram.on(\'--help\', function(){\n console.log(\' Examples:\');\n console.log(\'\');\n console.log(\' $ custom-help --help\');\n console.log(\' $ custom-help -h\');\n console.log(\'\');\n});\n\nprogram.parse(process.argv);\n\nconsole.log(\'stuff\');\n```\n\nyielding the following help output:\n\n```\n\nUsage: custom-help [options]\n\nOptions:\n\n -h, --help output usage information\n -V, --version output the version number\n -f, --foo enable some foo\n -b, --bar enable some bar\n -B, --baz enable some baz\n\nExamples:\n\n $ custom-help --help\n $ custom-help -h\n\n```\n\n## .prompt(msg, fn)\n\n Single-line prompt:\n\n```js\nprogram.prompt(\'name: \', function(name){\n console.log(\'hi %s\', name);\n});\n```\n\n Multi-line prompt:\n\n```js\nprogram.prompt(\'description:\', function(name){\n console.log(\'hi %s\', name);\n});\n```\n\n Coercion:\n\n```js\nprogram.prompt(\'Age: \', Number, function(age){\n console.log(\'age: %j\', age);\n});\n```\n\n```js\nprogram.prompt(\'Birthdate: \', Date, function(date){\n console.log(\'date: %s\', date);\n});\n```\n\n```js\nprogram.prompt(\'Email: \', /^.+@.+\\..+$/, function(email){\n console.log(\'email: %j\', email);\n});\n```\n\n## .password(msg[, mask], fn)\n\nPrompt for password without echoing:\n\n```js\nprogram.password(\'Password: \', function(pass){\n console.log(\'got "%s"\', pass);\n process.stdin.destroy();\n});\n```\n\nPrompt for password with mask char "*":\n\n```js\nprogram.password(\'Password: \', \'*\', function(pass){\n console.log(\'got "%s"\', pass);\n process.stdin.destroy();\n});\n```\n\n## .confirm(msg, fn)\n\n Confirm with the given `msg`:\n\n```js\nprogram.confirm(\'continue? \', function(ok){\n console.log(\' got %j\', ok);\n});\n```\n\n## .choose(list, fn)\n\n Let the user choose from a `list`:\n\n```js\nvar list = [\'tobi\', \'loki\', \'jane\', \'manny\', \'luna\'];\n\nconsole.log(\'Choose the coolest pet:\');\nprogram.choose(list, function(i){\n console.log(\'you chose %d "%s"\', i, list[i]);\n});\n```\n\n## .outputHelp()\n\n Output help information without exiting.\n\n## .help()\n\n Output help information and exit immediately.\n\n## Links\n\n - [API documentation](http://visionmedia.github.com/commander.js/)\n - [ascii tables](https://github.com/LearnBoost/cli-table)\n - [progress bars](https://github.com/visionmedia/node-progress)\n - [more progress bars](https://github.com/substack/node-multimeter)\n - [examples](https://github.com/visionmedia/commander.js/tree/master/examples)\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',
22068 silly resolved readmeFilename: 'Readme.md',
22068 silly resolved bugs: { url: 'https://github.com/visionmedia/commander.js/issues' },
22068 silly resolved homepage: 'https://github.com/visionmedia/commander.js',
22068 silly resolved _id: 'commander@1.3.2',
22068 silly resolved _shasum: '8a8f30ec670a6fdd64af52f1914b907d79ead5b5',
22068 silly resolved _from: 'https://registry.npmjs.org/commander/-/commander-1.3.2.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/commander/-/commander-1.3.2.tgz' },
22068 silly resolved { author: { name: 'Roman Shtylman', email: 'shtylman@gmail.com' },
22068 silly resolved name: 'cookie',
22068 silly resolved description: 'cookie parsing and serialization',
22068 silly resolved version: '0.1.0',
22068 silly resolved repository:
22068 silly resolved { type: 'git',
22068 silly resolved url: 'git://github.com/shtylman/node-cookie.git' },
22068 silly resolved keywords: [ 'cookie', 'cookies' ],
22068 silly resolved main: 'index.js',
22068 silly resolved scripts: { test: 'mocha' },
22068 silly resolved dependencies: {},
22068 silly resolved devDependencies: { mocha: '1.x.x' },
22068 silly resolved optionalDependencies: {},
22068 silly resolved engines: { node: '*' },
22068 silly resolved readme: '# cookie [![Build Status](https://secure.travis-ci.org/shtylman/node-cookie.png?branch=master)](http://travis-ci.org/shtylman/node-cookie) #\n\ncookie is a basic cookie parser and serializer. It doesn\'t make assumptions about how you are going to deal with your cookies. It basically just provides a way to read and write the HTTP cookie headers.\n\nSee [RFC6265](http://tools.ietf.org/html/rfc6265) for details about the http header for cookies.\n\n## how?\n\n```\nnpm install cookie\n```\n\n```javascript\nvar cookie = require(\'cookie\');\n\nvar hdr = cookie.serialize(\'foo\', \'bar\');\n// hdr = \'foo=bar\';\n\nvar cookies = cookie.parse(\'foo=bar; cat=meow; dog=ruff\');\n// cookies = { foo: \'bar\', cat: \'meow\', dog: \'ruff\' };\n```\n\n## more\n\nThe serialize function takes a third parameter, an object, to set cookie options. See the RFC for valid values.\n\n### path\n> cookie path\n\n### expires\n> absolute expiration date for the cookie (Date object)\n\n### maxAge\n> relative max age of the cookie from when the client receives it (seconds)\n\n### domain\n> domain for the cookie\n\n### secure\n> true or false\n\n### httpOnly\n> true or false\n\n',
22068 silly resolved readmeFilename: 'README.md',
22068 silly resolved bugs: { url: 'https://github.com/shtylman/node-cookie/issues' },
22068 silly resolved homepage: 'https://github.com/shtylman/node-cookie',
22068 silly resolved _id: 'cookie@0.1.0',
22068 silly resolved _shasum: '90eb469ddce905c866de687efc43131d8801f9d0',
22068 silly resolved _from: 'https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz' },
22068 silly resolved { name: 'send',
22068 silly resolved version: '0.1.4',
22068 silly resolved description: 'Better streaming static file server with Range and conditional-GET support',
22068 silly resolved keywords: [ 'static', 'file', 'server' ],
22068 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
22068 silly resolved dependencies:
22068 silly resolved { debug: '*',
22068 silly resolved mime: '~1.2.9',
22068 silly resolved fresh: '0.2.0',
22068 silly resolved 'range-parser': '0.0.4' },
22068 silly resolved devDependencies: { mocha: '*', should: '*', supertest: '0.0.1', connect: '2.x' },
22068 silly resolved scripts: { test: 'make test' },
22068 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/send.git' },
22068 silly resolved main: 'index',
22068 silly resolved readme: '# send\n\n Send is Connect\'s `static()` extracted for generalized use, a streaming static file\n server supporting partial responses (Ranges), conditional-GET negotiation, high test coverage, and granular events which may be leveraged to take appropriate actions in your application or framework.\n\n## Installation\n\n $ npm install send\n\n## Examples\n\n Small:\n\n```js\nvar http = require(\'http\');\nvar send = require(\'send\');\n\nvar app = http.createServer(function(req, res){\n send(req, req.url).pipe(res);\n}).listen(3000);\n```\n\n Serving from a root directory with custom error-handling:\n\n```js\nvar http = require(\'http\');\nvar send = require(\'send\');\nvar url = require(\'url\');\n\nvar app = http.createServer(function(req, res){\n // your custom error-handling logic:\n function error(err) {\n res.statusCode = err.status || 500;\n res.end(err.message);\n }\n\n // your custom directory handling logic:\n function redirect() {\n res.statusCode = 301;\n res.setHeader(\'Location\', req.url + \'/\');\n res.end(\'Redirecting to \' + req.url + \'/\');\n }\n\n // transfer arbitrary files from within\n // /www/example.com/public/*\n send(req, url.parse(req.url).pathname)\n .root(\'/www/example.com/public\')\n .on(\'error\', error)\n .on(\'directory\', redirect)\n .pipe(res);\n}).listen(3000);\n```\n\n## API\n\n### Events\n\n - `error` an error occurred `(err)`\n - `directory` a directory was requested\n - `file` a file was requested `(path, stat)`\n - `stream` file streaming has started `(stream)`\n - `end` streaming has completed\n\n### .root(dir)\n\n Serve files relative to `path`. Aliased as `.from(dir)`.\n\n### .index(path)\n\n By default send supports "index.html" files, to disable this\n invoke `.index(false)` or to supply a new index pass a string.\n\n### .maxage(ms)\n\n Provide a max-age in milliseconds for http caching, defaults to 0.\n\n### .hidden(bool)\n\n Enable or disable transfer of hidden files, defaults to false.\n\n## Error-handling\n\n By default when no `error` listeners are present an automatic response will be made, otherwise you have full control over the response, aka you may show a 5xx page etc.\n\n## Caching\n\n It does _not_ perform internal caching, you should use a reverse proxy cache such\n as Varnish for this, or those fancy things called CDNs. If your application is small enough that it would benefit from single-node memory caching, it\'s small enough that it does not need caching at all ;).\n\n## Debugging\n\n To enable `debug()` instrumentation output export __DEBUG__:\n\n```\n$ DEBUG=send node app\n```\n\n## Running tests\n\n```\n$ npm install\n$ make test\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk &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',
22068 silly resolved readmeFilename: 'Readme.md',
22068 silly resolved bugs: { url: 'https://github.com/visionmedia/send/issues' },
22068 silly resolved homepage: 'https://github.com/visionmedia/send',
22068 silly resolved _id: 'send@0.1.4',
22068 silly resolved _shasum: 'be70d8d1be01de61821af13780b50345a4f71abd',
22068 silly resolved _from: 'https://registry.npmjs.org/send/-/send-0.1.4.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/send/-/send-0.1.4.tgz' },
22068 silly resolved { name: 'mkdirp',
22068 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
22068 silly resolved version: '0.3.5',
22068 silly resolved author:
22068 silly resolved { name: 'James Halliday',
22068 silly resolved email: 'mail@substack.net',
22068 silly resolved url: 'http://substack.net' },
22068 silly resolved main: './index',
22068 silly resolved keywords: [ 'mkdir', 'directory' ],
22068 silly resolved repository:
22068 silly resolved { type: 'git',
22068 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
22068 silly resolved scripts: { test: 'tap test/*.js' },
22068 silly resolved devDependencies: { tap: '~0.4.0' },
22068 silly resolved license: 'MIT',
22068 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# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n',
22068 silly resolved readmeFilename: 'readme.markdown',
22068 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
22068 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
22068 silly resolved _id: 'mkdirp@0.3.5',
22068 silly resolved _shasum: 'de3e5f8961c88c787ee1368df849ac4413eca8d7',
22068 silly resolved _from: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz' },
22068 silly resolved { name: 'connect',
22068 silly resolved version: '2.12.0',
22068 silly resolved description: 'High performance middleware framework',
22068 silly resolved keywords: [ 'framework', 'web', 'middleware', 'connect', 'rack' ],
22068 silly resolved repository: { type: 'git', url: 'git://github.com/senchalabs/connect.git' },
22068 silly resolved author:
22068 silly resolved { name: 'TJ Holowaychuk',
22068 silly resolved email: 'tj@vision-media.ca',
22068 silly resolved url: 'http://tjholowaychuk.com' },
22068 silly resolved dependencies:
22068 silly resolved { batch: '0.5.0',
22068 silly resolved qs: '0.6.6',
22068 silly resolved 'cookie-signature': '1.0.1',
22068 silly resolved 'buffer-crc32': '0.2.1',
22068 silly resolved cookie: '0.1.0',
22068 silly resolved send: '0.1.4',
22068 silly resolved bytes: '0.2.1',
22068 silly resolved fresh: '0.2.0',
22068 silly resolved pause: '0.0.1',
22068 silly resolved uid2: '0.0.3',
22068 silly resolved debug: '>= 0.7.3 < 1',
22068 silly resolved methods: '0.1.0',
22068 silly resolved 'raw-body': '1.1.2',
22068 silly resolved negotiator: '0.3.0',
22068 silly resolved multiparty: '2.2.0' },
22068 silly resolved devDependencies:
22068 silly resolved { should: '>= 2.0.2 < 3',
22068 silly resolved mocha: '>= 1.13.0 < 2',
22068 silly resolved jade: '>= 0.35.0 < 1',
22068 silly resolved dox: '>= 0.4.4 < 1' },
22068 silly resolved licenses: [ [Object] ],
22068 silly resolved main: 'index',
22068 silly resolved engines: { node: '>= 0.8.0' },
22068 silly resolved scripts: { test: 'make' },
22068 silly resolved readme: '# Connect [![build status](https://secure.travis-ci.org/senchalabs/connect.png)](http://travis-ci.org/senchalabs/connect)\n\n Connect is an extensible HTTP server framework for [node](http://nodejs.org), providing high performance "plugins" known as _middleware_.\n\n Connect is bundled with over _20_ commonly used middleware, including\n a logger, session support, cookie parser, and [more](http://senchalabs.github.com/connect). Be sure to view the 2.x [documentation](http://senchalabs.github.com/connect/).\n\n```js\nvar connect = require(\'connect\')\n , http = require(\'http\');\n\nvar app = connect()\n .use(connect.favicon())\n .use(connect.logger(\'dev\'))\n .use(connect.static(\'public\'))\n .use(connect.directory(\'public\'))\n .use(connect.cookieParser())\n .use(connect.session({ secret: \'my secret here\' }))\n .use(function(req, res){\n res.end(\'Hello from Connect!\\n\');\n });\n\nhttp.createServer(app).listen(3000);\n```\n\n## Middleware\n\n - [basicAuth](http://www.senchalabs.org/connect/basicAuth.html)\n - [bodyParser](http://www.senchalabs.org/connect/bodyParser.html)\n - [compress](http://www.senchalabs.org/connect/compress.html)\n - [cookieParser](http://www.senchalabs.org/connect/cookieParser.html)\n - [cookieSession](http://www.senchalabs.org/connect/cookieSession.html)\n - [csrf](http://www.senchalabs.org/connect/csrf.html)\n - [directory](http://www.senchalabs.org/connect/directory.html)\n - [errorHandler](http://www.senchalabs.org/connect/errorHandler.html)\n - [favicon](http://www.senchalabs.org/connect/favicon.html)\n - [json](http://www.senchalabs.org/connect/json.html)\n - [limit](http://www.senchalabs.org/connect/limit.html)\n - [logger](http://www.senchalabs.org/connect/logger.html)\n - [methodOverride](http://www.senchalabs.org/connect/methodOverride.html)\n - [multipart](http://www.senchalabs.org/connect/multipart.html)\n - [urlencoded](http://www.senchalabs.org/connect/urlencoded.html)\n - [query](http://www.senchalabs.org/connect/query.html)\n - [responseTime](http://www.senchalabs.org/connect/responseTime.html)\n - [session](http://www.senchalabs.org/connect/session.html)\n - [static](http://www.senchalabs.org/connect/static.html)\n - [staticCache](http://www.senchalabs.org/connect/staticCache.html)\n - [subdomains](http://www.senchalabs.org/connect/subdomains.html)\n - [vhost](http://www.senchalabs.org/connect/vhost.html)\n\n## Running Tests\n\nfirst:\n\n $ npm install -d\n\nthen:\n\n $ make test\n\n## Contributors\n\n https://github.com/senchalabs/connect/graphs/contributors\n\n## Node Compatibility\n\n Connect `< 1.x` is compatible with node 0.2.x\n\n\n Connect `1.x` is compatible with node 0.4.x\n\n\n Connect `2.x` is compatible with node 0.6.x\n\n\n Connect (_master_) is compatible with node 0.8.x\n\n## CLA\n\n [http://sencha.com/cla](http://sencha.com/cla)\n\n## License\n\nView the [LICENSE](https://github.com/senchalabs/connect/blob/master/LICENSE) file. The [Silk](http://www.famfamfam.com/lab/icons/silk/) icons used by the `directory` middleware created by/copyright of [FAMFAMFAM](http://www.famfamfam.com/).\n',
22068 silly resolved readmeFilename: 'Readme.md',
22068 silly resolved bugs: { url: 'https://github.com/senchalabs/connect/issues' },
22068 silly resolved homepage: 'https://github.com/senchalabs/connect',
22068 silly resolved _id: 'connect@2.12.0',
22068 silly resolved _shasum: '31d8fa0dcacdf1908d822bd2923be8a2d2a7ed9a',
22068 silly resolved _from: 'https://registry.npmjs.org/connect/-/connect-2.12.0.tgz',
22068 silly resolved _resolved: 'https://registry.npmjs.org/connect/-/connect-2.12.0.tgz' } ]
22069 info install debug@0.8.1 into /home/gary/code/email-transactional-app/node_modules/express
22070 info install methods@0.1.0 into /home/gary/code/email-transactional-app/node_modules/express
22071 info install range-parser@0.0.4 into /home/gary/code/email-transactional-app/node_modules/express
22072 info install fresh@0.2.0 into /home/gary/code/email-transactional-app/node_modules/express
22073 info install merge-descriptors@0.0.1 into /home/gary/code/email-transactional-app/node_modules/express
22074 info install cookie-signature@1.0.1 into /home/gary/code/email-transactional-app/node_modules/express
22075 info install buffer-crc32@0.2.1 into /home/gary/code/email-transactional-app/node_modules/express
22076 info install commander@1.3.2 into /home/gary/code/email-transactional-app/node_modules/express
22077 info install cookie@0.1.0 into /home/gary/code/email-transactional-app/node_modules/express
22078 info install send@0.1.4 into /home/gary/code/email-transactional-app/node_modules/express
22079 info install mkdirp@0.3.5 into /home/gary/code/email-transactional-app/node_modules/express
22080 info install connect@2.12.0 into /home/gary/code/email-transactional-app/node_modules/express
22081 info installOne debug@0.8.1
22082 info installOne methods@0.1.0
22083 info installOne range-parser@0.0.4
22084 info installOne fresh@0.2.0
22085 info installOne merge-descriptors@0.0.1
22086 info installOne cookie-signature@1.0.1
22087 info installOne buffer-crc32@0.2.1
22088 info installOne commander@1.3.2
22089 info installOne cookie@0.1.0
22090 info installOne send@0.1.4
22091 info installOne mkdirp@0.3.5
22092 info installOne connect@2.12.0
22093 verbose readDependencies using package.json deps
22094 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077806228-0.8154305811040103/tmp.tgz
22095 silly lockFile a925ad6f-y-npm-tunnel-agent-0-4-0-package tar:///home/gary/.npm/tunnel-agent/0.4.0/package
22096 verbose lock tar:///home/gary/.npm/tunnel-agent/0.4.0/package /home/gary/.npm/a925ad6f-y-npm-tunnel-agent-0-4-0-package.lock
22097 silly lockFile 77e84e21-06228-0-8154305811040103-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077806228-0.8154305811040103/tmp.tgz
22098 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077806228-0.8154305811040103/tmp.tgz /home/gary/.npm/77e84e21-06228-0-8154305811040103-tmp-tgz.lock
22099 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/debug unbuild
22100 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/methods unbuild
22101 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/mkdirp unbuild
22102 info preinstall commander@2.0.0
22103 verbose cache add [ 'rimraf@~2.2.0', null ]
22104 verbose cache add name=undefined spec="rimraf@~2.2.0" args=["rimraf@~2.2.0",null]
22105 verbose parsed url { protocol: null,
22105 verbose parsed url slashes: null,
22105 verbose parsed url auth: null,
22105 verbose parsed url host: null,
22105 verbose parsed url port: null,
22105 verbose parsed url hostname: null,
22105 verbose parsed url hash: null,
22105 verbose parsed url search: null,
22105 verbose parsed url query: null,
22105 verbose parsed url pathname: 'rimraf@~2.2.0',
22105 verbose parsed url path: 'rimraf@~2.2.0',
22105 verbose parsed url href: 'rimraf@~2.2.0' }
22106 verbose cache add name="rimraf" spec="~2.2.0" args=["rimraf","~2.2.0"]
22107 verbose parsed url { protocol: null,
22107 verbose parsed url slashes: null,
22107 verbose parsed url auth: null,
22107 verbose parsed url host: null,
22107 verbose parsed url port: null,
22107 verbose parsed url hostname: null,
22107 verbose parsed url hash: null,
22107 verbose parsed url search: null,
22107 verbose parsed url query: null,
22107 verbose parsed url pathname: '~2.2.0',
22107 verbose parsed url path: '~2.2.0',
22107 verbose parsed url href: '~2.2.0' }
22108 verbose addNamed [ 'rimraf', '~2.2.0' ]
22109 verbose addNamed [ null, '>=2.2.0-0 <2.3.0-0' ]
22110 silly lockFile 69dbd68f-rimraf-2-2-0 rimraf@~2.2.0
22111 verbose lock rimraf@~2.2.0 /home/gary/.npm/69dbd68f-rimraf-2-2-0.lock
22112 verbose cache add [ 'ncp@~0.4.2', null ]
22113 verbose cache add name=undefined spec="ncp@~0.4.2" args=["ncp@~0.4.2",null]
22114 verbose parsed url { protocol: null,
22114 verbose parsed url slashes: null,
22114 verbose parsed url auth: null,
22114 verbose parsed url host: null,
22114 verbose parsed url port: null,
22114 verbose parsed url hostname: null,
22114 verbose parsed url hash: null,
22114 verbose parsed url search: null,
22114 verbose parsed url query: null,
22114 verbose parsed url pathname: 'ncp@~0.4.2',
22114 verbose parsed url path: 'ncp@~0.4.2',
22114 verbose parsed url href: 'ncp@~0.4.2' }
22115 verbose cache add name="ncp" spec="~0.4.2" args=["ncp","~0.4.2"]
22116 verbose parsed url { protocol: null,
22116 verbose parsed url slashes: null,
22116 verbose parsed url auth: null,
22116 verbose parsed url host: null,
22116 verbose parsed url port: null,
22116 verbose parsed url hostname: null,
22116 verbose parsed url hash: null,
22116 verbose parsed url search: null,
22116 verbose parsed url query: null,
22116 verbose parsed url pathname: '~0.4.2',
22116 verbose parsed url path: '~0.4.2',
22116 verbose parsed url href: '~0.4.2' }
22117 verbose addNamed [ 'ncp', '~0.4.2' ]
22118 verbose addNamed [ null, '>=0.4.2-0 <0.5.0-0' ]
22119 silly lockFile 1f31aeaa-ncp-0-4-2 ncp@~0.4.2
22120 verbose lock ncp@~0.4.2 /home/gary/.npm/1f31aeaa-ncp-0-4-2.lock
22121 verbose cache add [ 'mkdirp@0.3.x', null ]
22122 verbose cache add name=undefined spec="mkdirp@0.3.x" args=["mkdirp@0.3.x",null]
22123 verbose parsed url { protocol: null,
22123 verbose parsed url slashes: null,
22123 verbose parsed url auth: null,
22123 verbose parsed url host: null,
22123 verbose parsed url port: null,
22123 verbose parsed url hostname: null,
22123 verbose parsed url hash: null,
22123 verbose parsed url search: null,
22123 verbose parsed url query: null,
22123 verbose parsed url pathname: 'mkdirp@0.3.x',
22123 verbose parsed url path: 'mkdirp@0.3.x',
22123 verbose parsed url href: 'mkdirp@0.3.x' }
22124 verbose cache add name="mkdirp" spec="0.3.x" args=["mkdirp","0.3.x"]
22125 verbose parsed url { protocol: null,
22125 verbose parsed url slashes: null,
22125 verbose parsed url auth: null,
22125 verbose parsed url host: null,
22125 verbose parsed url port: null,
22125 verbose parsed url hostname: null,
22125 verbose parsed url hash: null,
22125 verbose parsed url search: null,
22125 verbose parsed url query: null,
22125 verbose parsed url pathname: '0.3.x',
22125 verbose parsed url path: '0.3.x',
22125 verbose parsed url href: '0.3.x' }
22126 verbose addNamed [ 'mkdirp', '0.3.x' ]
22127 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
22128 silly lockFile 6d3723ce-mkdirp-0-3-x mkdirp@0.3.x
22129 verbose lock mkdirp@0.3.x /home/gary/.npm/6d3723ce-mkdirp-0-3-x.lock
22130 verbose cache add [ 'jsonfile@~1.1.0', null ]
22131 verbose cache add name=undefined spec="jsonfile@~1.1.0" args=["jsonfile@~1.1.0",null]
22132 verbose parsed url { protocol: null,
22132 verbose parsed url slashes: null,
22132 verbose parsed url auth: null,
22132 verbose parsed url host: null,
22132 verbose parsed url port: null,
22132 verbose parsed url hostname: null,
22132 verbose parsed url hash: null,
22132 verbose parsed url search: null,
22132 verbose parsed url query: null,
22132 verbose parsed url pathname: 'jsonfile@~1.1.0',
22132 verbose parsed url path: 'jsonfile@~1.1.0',
22132 verbose parsed url href: 'jsonfile@~1.1.0' }
22133 verbose cache add name="jsonfile" spec="~1.1.0" args=["jsonfile","~1.1.0"]
22134 verbose parsed url { protocol: null,
22134 verbose parsed url slashes: null,
22134 verbose parsed url auth: null,
22134 verbose parsed url host: null,
22134 verbose parsed url port: null,
22134 verbose parsed url hostname: null,
22134 verbose parsed url hash: null,
22134 verbose parsed url search: null,
22134 verbose parsed url query: null,
22134 verbose parsed url pathname: '~1.1.0',
22134 verbose parsed url path: '~1.1.0',
22134 verbose parsed url href: '~1.1.0' }
22135 verbose addNamed [ 'jsonfile', '~1.1.0' ]
22136 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
22137 silly lockFile a43eb6bd-jsonfile-1-1-0 jsonfile@~1.1.0
22138 verbose lock jsonfile@~1.1.0 /home/gary/.npm/a43eb6bd-jsonfile-1-1-0.lock
22139 silly gunzTarPerm extractEntry src/syntax/MemberExpression.js
22140 silly gunzTarPerm extractEntry src/syntax/ForStatement.js
22141 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/info.md
22142 silly gunzTarPerm extractEntry test/fixture/js/encoding.js
22143 silly addNameRange number 2 { name: 'tough-cookie', range: '>=0.12.0', hasData: true }
22144 silly addNameRange versions [ 'tough-cookie',
22144 silly addNameRange [ '0.9.0',
22144 silly addNameRange '0.9.1',
22144 silly addNameRange '0.9.3',
22144 silly addNameRange '0.9.4',
22144 silly addNameRange '0.9.5',
22144 silly addNameRange '0.9.6',
22144 silly addNameRange '0.9.7',
22144 silly addNameRange '0.9.8',
22144 silly addNameRange '0.9.9',
22144 silly addNameRange '0.9.11',
22144 silly addNameRange '0.9.12',
22144 silly addNameRange '0.9.13',
22144 silly addNameRange '0.9.14',
22144 silly addNameRange '0.9.15',
22144 silly addNameRange '0.10.0',
22144 silly addNameRange '0.11.0',
22144 silly addNameRange '0.12.0',
22144 silly addNameRange '0.12.1' ] ]
22145 verbose addNamed [ 'tough-cookie', '0.12.1' ]
22146 verbose addNamed [ '0.12.1', '0.12.1' ]
22147 silly lockFile 9dd6163b-tough-cookie-0-12-1 tough-cookie@0.12.1
22148 verbose lock tough-cookie@0.12.1 /home/gary/.npm/9dd6163b-tough-cookie-0-12-1.lock
22149 silly gunzTarPerm modes [ '755', '644' ]
22150 silly gunzTarPerm extractEntry test/00-setup-fixtures.js
22151 silly gunzTarPerm extractEntry test/extract.js
22152 silly gunzTarPerm modes [ '755', '644' ]
22153 silly addNameRange { name: 'rimraf', range: '>=2.2.0-0 <2.3.0-0', hasData: false }
22154 silly addNameRange { name: 'ncp', range: '>=0.4.2-0 <0.5.0-0', hasData: false }
22155 silly addNameRange { name: 'mkdirp', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
22156 silly addNameRange { name: 'jsonfile', range: '>=1.1.0-0 <1.2.0-0', hasData: false }
22157 verbose tar unpack /home/gary/.npm/debug/0.8.1/package.tgz
22158 silly lockFile aeb33028-dules-express-node-modules-debug tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/debug
22159 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/debug /home/gary/.npm/aeb33028-dules-express-node-modules-debug.lock
22160 silly lockFile 2fa1e068-gary-npm-debug-0-8-1-package-tgz tar:///home/gary/.npm/debug/0.8.1/package.tgz
22161 verbose lock tar:///home/gary/.npm/debug/0.8.1/package.tgz /home/gary/.npm/2fa1e068-gary-npm-debug-0-8-1-package-tgz.lock
22162 verbose tar unpack /home/gary/.npm/methods/0.1.0/package.tgz
22163 silly lockFile cbc2e3a2-les-express-node-modules-methods tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/methods
22164 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/methods /home/gary/.npm/cbc2e3a2-les-express-node-modules-methods.lock
22165 silly lockFile 67c8ab09-ry-npm-methods-0-1-0-package-tgz tar:///home/gary/.npm/methods/0.1.0/package.tgz
22166 verbose lock tar:///home/gary/.npm/methods/0.1.0/package.tgz /home/gary/.npm/67c8ab09-ry-npm-methods-0-1-0-package-tgz.lock
22167 verbose tar unpack /home/gary/.npm/mkdirp/0.3.5/package.tgz
22168 silly lockFile 45e4ee45-ules-express-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/mkdirp
22169 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/mkdirp /home/gary/.npm/45e4ee45-ules-express-node-modules-mkdirp.lock
22170 silly lockFile 2417206b-ary-npm-mkdirp-0-3-5-package-tgz tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz
22171 verbose lock tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz /home/gary/.npm/2417206b-ary-npm-mkdirp-0-3-5-package-tgz.lock
22172 info install ncp@0.4.2
22173 silly lockFile 5b9e4e72--npmjs-org-xtend-xtend-2-1-2-tgz https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz
22174 silly lockFile 5b9e4e72--npmjs-org-xtend-xtend-2-1-2-tgz https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz
22175 verbose readDependencies using package.json deps
22176 verbose url raw jsonfile
22177 verbose url resolving [ 'https://registry.npmjs.org/', './jsonfile' ]
22178 verbose url resolved https://registry.npmjs.org/jsonfile
22179 info trying registry request attempt 1 at 14:03:26
22180 http GET https://registry.npmjs.org/jsonfile
22181 silly lockFile ad608e17-xtend-2-1-2 xtend@2.1.2
22182 silly lockFile ad608e17-xtend-2-1-2 xtend@2.1.2
22183 verbose readDependencies using package.json deps
22184 silly resolved []
22185 verbose about to build /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/commander
22186 info build /home/gary/code/email-transactional-app/node_modules/mocha/node_modules/commander
22187 verbose linkStuff [ false,
22187 verbose linkStuff false,
22187 verbose linkStuff false,
22187 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/mocha/node_modules' ]
22188 info linkStuff commander@2.0.0
22189 verbose linkBins commander@2.0.0
22190 verbose linkMans commander@2.0.0
22191 verbose rebuildBundles commander@2.0.0
22192 silly lockFile db774b59-h-cookie-tough-cookie-0-12-1-tgz https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz
22193 verbose lock https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz /home/gary/.npm/db774b59-h-cookie-tough-cookie-0-12-1-tgz.lock
22194 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/range-parser unbuild
22195 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/fresh unbuild
22196 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/merge-descriptors unbuild
22197 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/cookie-signature unbuild
22198 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/buffer-crc32 unbuild
22199 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/commander unbuild
22200 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/cookie unbuild
22201 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/send unbuild
22202 info /home/gary/code/email-transactional-app/node_modules/express/node_modules/connect unbuild
22203 info postinstall ncp@0.4.2
22204 silly lockFile 5f8ae568-xtend-2-1-1 xtend@~2.1.1
22205 silly lockFile 5f8ae568-xtend-2-1-1 xtend@~2.1.1
22206 info install commander@2.0.0
22207 silly gunzTarPerm extractEntry test/mark.js
22208 silly gunzTarPerm extractEntry test/bash-comparison.js
22209 silly gunzTarPerm modes [ '755', '644' ]
22210 silly gunzTarPerm modes [ '755', '644' ]
22211 silly gunzTarPerm extractEntry object/deepMixIn.js
22212 silly gunzTarPerm extractEntry object/set.js
22213 verbose addRemoteTarball [ 'https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz',
22213 verbose addRemoteTarball '8220c7e21abd5b13d96804254bd5a81ebf2c7d62' ]
22214 info postinstall commander@2.0.0
22215 silly gunzTarPerm extractEntry dist/lodash.mobile.min.js
22216 silly gunzTarPerm extractEntry package.json
22217 info retry fetch attempt 1 at 14:03:26
22218 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077806430-0.366901335073635/tmp.tgz
22219 silly gunzTarPerm extractEntry package.json
22220 verbose registry.get rimraf not expired, no request
22221 silly addNameRange number 2 { name: 'rimraf', range: '>=2.2.0-0 <2.3.0-0', hasData: true }
22222 silly addNameRange versions [ 'rimraf',
22222 silly addNameRange [ '1.0.0',
22222 silly addNameRange '1.0.1',
22222 silly addNameRange '1.0.2',
22222 silly addNameRange '1.0.4',
22222 silly addNameRange '1.0.5',
22222 silly addNameRange '1.0.6',
22222 silly addNameRange '1.0.7',
22222 silly addNameRange '1.0.8',
22222 silly addNameRange '1.0.9',
22222 silly addNameRange '2.0.0',
22222 silly addNameRange '2.0.1',
22222 silly addNameRange '2.0.2',
22222 silly addNameRange '2.0.3',
22222 silly addNameRange '2.1.0',
22222 silly addNameRange '2.1.1',
22222 silly addNameRange '2.1.2',
22222 silly addNameRange '2.1.3',
22222 silly addNameRange '2.1.4',
22222 silly addNameRange '2.2.0',
22222 silly addNameRange '2.2.1',
22222 silly addNameRange '2.2.2',
22222 silly addNameRange '2.2.3',
22222 silly addNameRange '2.2.4',
22222 silly addNameRange '2.2.5',
22222 silly addNameRange '2.2.6',
22222 silly addNameRange '2.2.8' ] ]
22223 verbose addNamed [ 'rimraf', '2.2.8' ]
22224 verbose addNamed [ '2.2.8', '2.2.8' ]
22225 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
22226 verbose lock rimraf@2.2.8 /home/gary/.npm/b87241a4-rimraf-2-2-8.lock
22227 verbose registry.get ncp not expired, no request
22228 silly addNameRange number 2 { name: 'ncp', range: '>=0.4.2-0 <0.5.0-0', hasData: true }
22229 silly addNameRange versions [ 'ncp',
22229 silly addNameRange [ '0.0.0',
22229 silly addNameRange '0.0.1',
22229 silly addNameRange '0.0.2',
22229 silly addNameRange '0.1.0',
22229 silly addNameRange '0.1.1',
22229 silly addNameRange '0.1.2',
22229 silly addNameRange '0.2.0',
22229 silly addNameRange '0.2.1',
22229 silly addNameRange '0.2.2',
22229 silly addNameRange '0.2.3',
22229 silly addNameRange '0.2.4',
22229 silly addNameRange '0.2.5',
22229 silly addNameRange '0.2.6',
22229 silly addNameRange '0.3.0',
22229 silly addNameRange '0.4.0',
22229 silly addNameRange '0.2.7',
22229 silly addNameRange '0.4.1',
22229 silly addNameRange '0.4.2',
22229 silly addNameRange '0.5.0',
22229 silly addNameRange '0.5.1' ] ]
22230 verbose addNamed [ 'ncp', '0.4.2' ]
22231 verbose addNamed [ '0.4.2', '0.4.2' ]
22232 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
22233 verbose lock ncp@0.4.2 /home/gary/.npm/e43cb36a-ncp-0-4-2.lock
22234 verbose registry.get mkdirp not expired, no request
22235 silly addNameRange number 2 { name: 'mkdirp', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
22236 silly addNameRange versions [ 'mkdirp',
22236 silly addNameRange [ '0.0.1',
22236 silly addNameRange '0.0.2',
22236 silly addNameRange '0.0.3',
22236 silly addNameRange '0.0.4',
22236 silly addNameRange '0.0.5',
22236 silly addNameRange '0.0.6',
22236 silly addNameRange '0.0.7',
22236 silly addNameRange '0.1.0',
22236 silly addNameRange '0.2.0',
22236 silly addNameRange '0.2.1',
22236 silly addNameRange '0.2.2',
22236 silly addNameRange '0.3.0',
22236 silly addNameRange '0.3.1',
22236 silly addNameRange '0.3.2',
22236 silly addNameRange '0.3.3',
22236 silly addNameRange '0.3.4',
22236 silly addNameRange '0.3.5',
22236 silly addNameRange '0.4.0',
22236 silly addNameRange '0.4.1',
22236 silly addNameRange '0.4.2',
22236 silly addNameRange '0.5.0' ] ]
22237 verbose addNamed [ 'mkdirp', '0.3.5' ]
22238 verbose addNamed [ '0.3.5', '0.3.5' ]
22239 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
22240 verbose lock mkdirp@0.3.5 /home/gary/.npm/67d2df2a-mkdirp-0-3-5.lock
22241 verbose tar unpack /home/gary/.npm/range-parser/0.0.4/package.tgz
22242 silly lockFile 88283d02-xpress-node-modules-range-parser tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/range-parser
22243 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/range-parser /home/gary/.npm/88283d02-xpress-node-modules-range-parser.lock
22244 silly lockFile a6afb7e4-m-range-parser-0-0-4-package-tgz tar:///home/gary/.npm/range-parser/0.0.4/package.tgz
22245 verbose lock tar:///home/gary/.npm/range-parser/0.0.4/package.tgz /home/gary/.npm/a6afb7e4-m-range-parser-0-0-4-package-tgz.lock
22246 verbose tar unpack /home/gary/.npm/fresh/0.2.0/package.tgz
22247 silly lockFile b496d3d4-dules-express-node-modules-fresh tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/fresh
22248 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/fresh /home/gary/.npm/b496d3d4-dules-express-node-modules-fresh.lock
22249 silly lockFile fb288f7c-gary-npm-fresh-0-2-0-package-tgz tar:///home/gary/.npm/fresh/0.2.0/package.tgz
22250 verbose lock tar:///home/gary/.npm/fresh/0.2.0/package.tgz /home/gary/.npm/fb288f7c-gary-npm-fresh-0-2-0-package-tgz.lock
22251 verbose tar unpack /home/gary/.npm/merge-descriptors/0.0.1/package.tgz
22252 silly lockFile c9316efd-s-node-modules-merge-descriptors tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/merge-descriptors
22253 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/merge-descriptors /home/gary/.npm/c9316efd-s-node-modules-merge-descriptors.lock
22254 silly lockFile c27f5eed-ge-descriptors-0-0-1-package-tgz tar:///home/gary/.npm/merge-descriptors/0.0.1/package.tgz
22255 verbose lock tar:///home/gary/.npm/merge-descriptors/0.0.1/package.tgz /home/gary/.npm/c27f5eed-ge-descriptors-0-0-1-package-tgz.lock
22256 verbose tar unpack /home/gary/.npm/cookie-signature/1.0.1/package.tgz
22257 silly lockFile 9a9b4a55-ss-node-modules-cookie-signature tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/cookie-signature
22258 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/cookie-signature /home/gary/.npm/9a9b4a55-ss-node-modules-cookie-signature.lock
22259 silly lockFile 8d942ca7-okie-signature-1-0-1-package-tgz tar:///home/gary/.npm/cookie-signature/1.0.1/package.tgz
22260 verbose lock tar:///home/gary/.npm/cookie-signature/1.0.1/package.tgz /home/gary/.npm/8d942ca7-okie-signature-1-0-1-package-tgz.lock
22261 verbose tar unpack /home/gary/.npm/buffer-crc32/0.2.1/package.tgz
22262 silly lockFile de89bc31-xpress-node-modules-buffer-crc32 tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/buffer-crc32
22263 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/buffer-crc32 /home/gary/.npm/de89bc31-xpress-node-modules-buffer-crc32.lock
22264 silly lockFile df9a480d-m-buffer-crc32-0-2-1-package-tgz tar:///home/gary/.npm/buffer-crc32/0.2.1/package.tgz
22265 verbose lock tar:///home/gary/.npm/buffer-crc32/0.2.1/package.tgz /home/gary/.npm/df9a480d-m-buffer-crc32-0-2-1-package-tgz.lock
22266 verbose tar unpack /home/gary/.npm/commander/1.3.2/package.tgz
22267 silly lockFile 50264277-s-express-node-modules-commander tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/commander
22268 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/commander /home/gary/.npm/50264277-s-express-node-modules-commander.lock
22269 silly lockFile 67e93619--npm-commander-1-3-2-package-tgz tar:///home/gary/.npm/commander/1.3.2/package.tgz
22270 verbose lock tar:///home/gary/.npm/commander/1.3.2/package.tgz /home/gary/.npm/67e93619--npm-commander-1-3-2-package-tgz.lock
22271 verbose tar unpack /home/gary/.npm/cookie/0.1.0/package.tgz
22272 silly lockFile ff72f281-ules-express-node-modules-cookie tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/cookie
22273 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/cookie /home/gary/.npm/ff72f281-ules-express-node-modules-cookie.lock
22274 silly lockFile e6c325d2-ary-npm-cookie-0-1-0-package-tgz tar:///home/gary/.npm/cookie/0.1.0/package.tgz
22275 verbose lock tar:///home/gary/.npm/cookie/0.1.0/package.tgz /home/gary/.npm/e6c325d2-ary-npm-cookie-0-1-0-package-tgz.lock
22276 verbose tar unpack /home/gary/.npm/send/0.1.4/package.tgz
22277 silly lockFile a3e0a68b-odules-express-node-modules-send tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/send
22278 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/send /home/gary/.npm/a3e0a68b-odules-express-node-modules-send.lock
22279 silly lockFile b5fb0829--gary-npm-send-0-1-4-package-tgz tar:///home/gary/.npm/send/0.1.4/package.tgz
22280 verbose lock tar:///home/gary/.npm/send/0.1.4/package.tgz /home/gary/.npm/b5fb0829--gary-npm-send-0-1-4-package-tgz.lock
22281 verbose tar unpack /home/gary/.npm/connect/2.12.0/package.tgz
22282 silly lockFile 488cfea1-les-express-node-modules-connect tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/connect
22283 verbose lock tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/connect /home/gary/.npm/488cfea1-les-express-node-modules-connect.lock
22284 silly lockFile 98a388c0-y-npm-connect-2-12-0-package-tgz tar:///home/gary/.npm/connect/2.12.0/package.tgz
22285 verbose lock tar:///home/gary/.npm/connect/2.12.0/package.tgz /home/gary/.npm/98a388c0-y-npm-connect-2-12-0-package-tgz.lock
22286 silly gunzTarPerm extractEntry test/fixture/js/misc.js
22287 silly gunzTarPerm extractEntry test/fixture/js/no-filename.js
22288 http GET https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz
22289 silly gunzTarPerm extractEntry src/syntax/Identifier.js
22290 silly gunzTarPerm extractEntry src/syntax/ArrayExpression.js
22291 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
22292 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
22293 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
22294 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
22295 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
22296 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
22297 silly gunzTarPerm extractEntry package.json
22298 silly gunzTarPerm modes [ '755', '644' ]
22299 silly gunzTarPerm modes [ '755', '644' ]
22300 silly gunzTarPerm modes [ '755', '644' ]
22301 silly gunzTarPerm modes [ '755', '644' ]
22302 silly gunzTarPerm modes [ '755', '644' ]
22303 silly gunzTarPerm modes [ '755', '644' ]
22304 silly gunzTarPerm modes [ '755', '644' ]
22305 silly gunzTarPerm modes [ '755', '644' ]
22306 silly gunzTarPerm modes [ '755', '644' ]
22307 silly gunzTarPerm extractEntry README.md
22308 silly gunzTarPerm extractEntry LICENSE
22309 silly lockFile 69dbd68f-rimraf-2-2-0 rimraf@~2.2.0
22310 silly lockFile 69dbd68f-rimraf-2-2-0 rimraf@~2.2.0
22311 silly gunzTarPerm extractEntry index.js
22312 silly gunzTarPerm extractEntry History.md
22313 silly gunzTarPerm extractEntry Readme.md
22314 silly lockFile 1f31aeaa-ncp-0-4-2 ncp@~0.4.2
22315 silly lockFile 1f31aeaa-ncp-0-4-2 ncp@~0.4.2
22316 silly lockFile 6d3723ce-mkdirp-0-3-x mkdirp@0.3.x
22317 silly lockFile 6d3723ce-mkdirp-0-3-x mkdirp@0.3.x
22318 silly gunzTarPerm extractEntry package.json
22319 silly lockFile 777c45e8-modules-nopt-node-modules-abbrev tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt/node_modules/abbrev
22320 silly lockFile 777c45e8-modules-nopt-node-modules-abbrev tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt/node_modules/abbrev
22321 silly lockFile e2598c23-ary-npm-abbrev-1-0-5-package-tgz tar:///home/gary/.npm/abbrev/1.0.5/package.tgz
22322 silly lockFile e2598c23-ary-npm-abbrev-1-0-5-package-tgz tar:///home/gary/.npm/abbrev/1.0.5/package.tgz
22323 silly gunzTarPerm extractEntry object/deepMatches.js
22324 silly gunzTarPerm extractEntry object/size.js
22325 silly gunzTarPerm extractEntry .travis.yml
22326 silly gunzTarPerm extractEntry CHANGELOG.md
22327 silly gunzTarPerm extractEntry debug.js
22328 silly gunzTarPerm extractEntry Readme.md
22329 silly gunzTarPerm extractEntry test/pause-resume.js
22330 silly gunzTarPerm extractEntry test/root-nomount.js
22331 silly gunzTarPerm extractEntry index.js
22332 silly gunzTarPerm extractEntry History.md
22333 silly gunzTarPerm extractEntry package.json
22334 silly gunzTarPerm extractEntry package.json
22335 silly gunzTarPerm extractEntry package.json
22336 silly gunzTarPerm extractEntry package.json
22337 silly gunzTarPerm extractEntry package.json
22338 silly gunzTarPerm extractEntry package.json
22339 silly gunzTarPerm extractEntry package.json
22340 silly gunzTarPerm extractEntry package.json
22341 silly gunzTarPerm extractEntry package.json
22342 info preinstall abbrev@1.0.5
22343 silly gunzTarPerm extractEntry test/header.js
22344 silly gunzTarPerm extractEntry test/pack-no-proprietary.js
22345 silly gunzTarPerm extractEntry test/fixture/js/preamble.js
22346 silly gunzTarPerm extractEntry test/fixture/js/special-chars-in-filename.js
22347 silly gunzTarPerm extractEntry index.js
22348 silly gunzTarPerm extractEntry .jshintrc
22349 silly gunzTarPerm extractEntry src/syntax/AssignmentExpression.js
22350 silly gunzTarPerm extractEntry src/syntax/NewExpression.js
22351 verbose readDependencies using package.json deps
22352 silly lockFile ce29138a-modules-mocha-node-modules-debug tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/debug
22353 silly lockFile ce29138a-modules-mocha-node-modules-debug tar:///home/gary/code/email-transactional-app/node_modules/mocha/node_modules/debug
22354 silly gunzTarPerm extractEntry .npmignore
22355 silly gunzTarPerm extractEntry index.js
22356 silly gunzTarPerm extractEntry .npmignore
22357 silly gunzTarPerm extractEntry index.js
22358 silly gunzTarPerm extractEntry .npmignore
22359 silly gunzTarPerm extractEntry README.md
22360 silly gunzTarPerm extractEntry .npmignore
22361 silly gunzTarPerm extractEntry index.js
22362 silly gunzTarPerm extractEntry .npmignore
22363 silly gunzTarPerm extractEntry README.md
22364 silly gunzTarPerm extractEntry index.js
22365 silly gunzTarPerm extractEntry History.md
22366 silly gunzTarPerm extractEntry Readme.md
22367 silly gunzTarPerm extractEntry .npmignore
22368 silly gunzTarPerm extractEntry README.md
22369 silly gunzTarPerm extractEntry .npmignore
22370 silly gunzTarPerm extractEntry index.js
22371 silly gunzTarPerm extractEntry .npmignore
22372 silly gunzTarPerm extractEntry LICENSE
22373 verbose readDependencies using package.json deps
22374 silly resolved []
22375 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt/node_modules/abbrev
22376 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt/node_modules/abbrev
22377 verbose linkStuff [ false,
22377 verbose linkStuff false,
22377 verbose linkStuff false,
22377 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt/node_modules' ]
22378 info linkStuff abbrev@1.0.5
22379 verbose linkBins abbrev@1.0.5
22380 verbose linkMans abbrev@1.0.5
22381 verbose rebuildBundles abbrev@1.0.5
22382 silly lockFile ae0b248e-gary-npm-debug-1-0-0-package-tgz tar:///home/gary/.npm/debug/1.0.0/package.tgz
22383 silly lockFile ae0b248e-gary-npm-debug-1-0-0-package-tgz tar:///home/gary/.npm/debug/1.0.0/package.tgz
22384 silly lockFile 7d6b65e9-s-phantomjs-node-modules-adm-zip tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip
22385 silly lockFile 7d6b65e9-s-phantomjs-node-modules-adm-zip tar:///home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip
22386 info install abbrev@1.0.5
22387 silly gunzTarPerm extractEntry test/root.js
22388 silly gunzTarPerm extractEntry test/zz-cleanup.js
22389 silly gunzTarPerm extractEntry object/deepFillIn.js
22390 silly gunzTarPerm extractEntry object/some.js
22391 silly lockFile 2a421214-ry-npm-adm-zip-0-2-1-package-tgz tar:///home/gary/.npm/adm-zip/0.2.1/package.tgz
22392 silly lockFile 2a421214-ry-npm-adm-zip-0-2-1-package-tgz tar:///home/gary/.npm/adm-zip/0.2.1/package.tgz
22393 http 200 https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz
22394 silly gunzTarPerm extractEntry lib/debug.js
22395 silly gunzTarPerm extractEntry Readme.md
22396 info postinstall abbrev@1.0.5
22397 info preinstall debug@1.0.0
22398 silly gunzTarPerm extractEntry dist/less-1.3.1.min.js
22399 silly gunzTarPerm modified mode [ 'dist/less-1.3.1.min.js', 438, 420 ]
22400 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt
22401 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/nopt
22402 verbose linkStuff [ false,
22402 verbose linkStuff false,
22402 verbose linkStuff false,
22402 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules' ]
22403 info linkStuff nopt@2.2.1
22404 verbose linkBins nopt@2.2.1
22405 verbose link bins [ { nopt: './bin/nopt.js' },
22405 verbose link bins '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/.bin',
22405 verbose link bins false ]
22406 verbose linkMans nopt@2.2.1
22407 verbose rebuildBundles nopt@2.2.1
22408 info preinstall adm-zip@0.2.1
22409 silly gunzTarPerm extractEntry dist/less-1.5.0.js
22410 silly gunzTarPerm modified mode [ 'dist/less-1.5.0.js', 438, 420 ]
22411 verbose rebuildBundles [ 'abbrev' ]
22412 silly gunzTarPerm extractEntry src/syntax/IfStatement.js
22413 silly gunzTarPerm extractEntry src/syntax/ConditionalExpression.js
22414 verbose readDependencies using package.json deps
22415 silly gunzTarPerm extractEntry History.md
22416 silly gunzTarPerm extractEntry Makefile
22417 silly gunzTarPerm extractEntry History.md
22418 silly gunzTarPerm extractEntry Makefile
22419 silly gunzTarPerm extractEntry History.md
22420 silly gunzTarPerm extractEntry Makefile
22421 silly gunzTarPerm extractEntry LICENSE
22422 silly gunzTarPerm extractEntry index.js
22423 verbose readDependencies using package.json deps
22424 verbose readDependencies using package.json deps
22425 silly gunzTarPerm extractEntry index.js
22426 silly gunzTarPerm extractEntry component.json
22427 silly gunzTarPerm extractEntry index.js
22428 silly gunzTarPerm extractEntry .travis.yml
22429 silly gunzTarPerm extractEntry History.md
22430 silly gunzTarPerm extractEntry Makefile
22431 silly gunzTarPerm extractEntry object/deepEquals.js
22432 silly gunzTarPerm extractEntry object/unset.js
22433 verbose cache add [ 'ms@0.6.2', null ]
22434 verbose cache add name=undefined spec="ms@0.6.2" args=["ms@0.6.2",null]
22435 verbose parsed url { protocol: null,
22435 verbose parsed url slashes: null,
22435 verbose parsed url auth: null,
22435 verbose parsed url host: null,
22435 verbose parsed url port: null,
22435 verbose parsed url hostname: null,
22435 verbose parsed url hash: null,
22435 verbose parsed url search: null,
22435 verbose parsed url query: null,
22435 verbose parsed url pathname: 'ms@0.6.2',
22435 verbose parsed url path: 'ms@0.6.2',
22435 verbose parsed url href: 'ms@0.6.2' }
22436 verbose cache add name="ms" spec="0.6.2" args=["ms","0.6.2"]
22437 verbose parsed url { protocol: null,
22437 verbose parsed url slashes: null,
22437 verbose parsed url auth: null,
22437 verbose parsed url host: null,
22437 verbose parsed url port: null,
22437 verbose parsed url hostname: null,
22437 verbose parsed url hash: null,
22437 verbose parsed url search: null,
22437 verbose parsed url query: null,
22437 verbose parsed url pathname: '0.6.2',
22437 verbose parsed url path: '0.6.2',
22437 verbose parsed url href: '0.6.2' }
22438 verbose addNamed [ 'ms', '0.6.2' ]
22439 verbose addNamed [ '0.6.2', '0.6.2' ]
22440 silly lockFile 549cc243-ms-0-6-2 ms@0.6.2
22441 verbose lock ms@0.6.2 /home/gary/.npm/549cc243-ms-0-6-2.lock
22442 verbose readDependencies using package.json deps
22443 silly resolved []
22444 verbose about to build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip
22445 info build /home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip
22446 verbose linkStuff [ false,
22446 verbose linkStuff false,
22446 verbose linkStuff false,
22446 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
22447 info linkStuff adm-zip@0.2.1
22448 verbose linkBins adm-zip@0.2.1
22449 verbose linkMans adm-zip@0.2.1
22450 verbose rebuildBundles adm-zip@0.2.1
22451 silly gunzTarPerm extractEntry index.js
22452 silly gunzTarPerm extractEntry .travis.yml
22453 info install adm-zip@0.2.1
22454 info install nopt@2.2.1
22455 verbose url raw ms
22456 verbose url resolving [ 'https://registry.npmjs.org/', './ms' ]
22457 verbose url resolved https://registry.npmjs.org/ms
22458 info trying registry request attempt 1 at 14:03:26
22459 http GET https://registry.npmjs.org/ms
22460 info postinstall adm-zip@0.2.1
22461 silly gunzTarPerm extractEntry test/pack.js
22462 silly gunzTarPerm extractEntry test/parse.js
22463 silly gunzTarPerm modes [ '755', '644' ]
22464 silly gunzTarPerm extractEntry tst/ctf/tst.struct.js
22465 silly gunzTarPerm modified mode [ 'tst/ctf/tst.struct.js', 438, 420 ]
22466 silly gunzTarPerm extractEntry tst/ctf/tst.fail.js
22467 silly gunzTarPerm modified mode [ 'tst/ctf/tst.fail.js', 438, 420 ]
22468 info postinstall nopt@2.2.1
22469 http 200 https://registry.npmjs.org/jsonfile
22470 silly registry.get cb [ 200,
22470 silly registry.get { date: 'Fri, 06 Jun 2014 18:03:26 GMT',
22470 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
22470 silly registry.get etag: '"EB30TOW2NIJ5P7ZS0TLWNPCN9"',
22470 silly registry.get 'content-type': 'application/json',
22470 silly registry.get via: '1.1 varnish',
22470 silly registry.get 'cache-control': 'max-age=1',
22470 silly registry.get 'content-length': '19302',
22470 silly registry.get 'accept-ranges': 'bytes',
22470 silly registry.get age: '79',
22470 silly registry.get 'x-served-by': 'cache-sv61-SJC3, cache-ord1720-ORD',
22470 silly registry.get 'x-cache': 'HIT, HIT',
22470 silly registry.get 'x-cache-hits': '3, 1',
22470 silly registry.get 'x-timer': 'S1402077806.490888,VS0,VE83',
22470 silly registry.get vary: 'Accept',
22470 silly registry.get 'keep-alive': 'timeout=10, max=50',
22470 silly registry.get connection: 'Keep-Alive' } ]
22471 silly gunzTarPerm extractEntry src/syntax/FunctionExpression.js
22472 silly gunzTarPerm extractEntry src/syntax/ContinueStatement.js
22473 silly gunzTarPerm extractEntry Readme.md
22474 silly gunzTarPerm extractEntry Readme.md
22475 silly gunzTarPerm extractEntry Readme.md
22476 silly gunzTarPerm extractEntry .travis.yml
22477 silly gunzTarPerm extractEntry test/parse.js
22478 silly lockFile 79f63416-s-optimist-node-modules-minimist tar:///home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/minimist
22479 silly lockFile 79f63416-s-optimist-node-modules-minimist tar:///home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/minimist
22480 silly gunzTarPerm extractEntry tests/crc.test.js
22481 silly gunzTarPerm extractEntry Readme.md
22482 silly gunzTarPerm extractEntry lib/send.js
22483 silly gunzTarPerm extractEntry object/contains.js
22484 silly gunzTarPerm extractEntry object/values.js
22485 silly lockFile d1905777--npm-minimist-0-0-10-package-tgz tar:///home/gary/.npm/minimist/0.0.10/package.tgz
22486 silly lockFile d1905777--npm-minimist-0-0-10-package-tgz tar:///home/gary/.npm/minimist/0.0.10/package.tgz
22487 silly gunzTarPerm extractEntry Readme.md
22488 silly gunzTarPerm extractEntry lib/cache.js
22489 silly gunzTarPerm extractEntry lib/cookies.js
22490 silly gunzTarPerm extractEntry lib/copy.js
22491 verbose tar unpack /home/gary/tmp/npm-7204-DznXupZT/1402077806430-0.366901335073635/tmp.tgz
22492 silly lockFile 78e4b172--npm-tough-cookie-0-12-1-package tar:///home/gary/.npm/tough-cookie/0.12.1/package
22493 verbose lock tar:///home/gary/.npm/tough-cookie/0.12.1/package /home/gary/.npm/78e4b172--npm-tough-cookie-0-12-1-package.lock
22494 silly lockFile 3944211e-806430-0-366901335073635-tmp-tgz tar:///home/gary/tmp/npm-7204-DznXupZT/1402077806430-0.366901335073635/tmp.tgz
22495 verbose lock tar:///home/gary/tmp/npm-7204-DznXupZT/1402077806430-0.366901335073635/tmp.tgz /home/gary/.npm/3944211e-806430-0-366901335073635-tmp-tgz.lock
22496 silly gunzTarPerm extractEntry test/nocase-nomagic.js
22497 silly gunzTarPerm extractEntry test/bash-results.json
22498 silly gunzTarPerm extractEntry package.json
22499 silly gunzTarPerm extractEntry ext/win32/x64/bson.node
22500 info preinstall minimist@0.0.10
22501 silly gunzTarPerm modes [ '755', '644' ]
22502 silly addNameRange number 2 { name: 'jsonfile', range: '>=1.1.0-0 <1.2.0-0', hasData: true }
22503 silly addNameRange versions [ 'jsonfile', [ '0.0.1', '1.0.0', '1.0.1', '1.1.0', '1.1.1' ] ]
22504 verbose addNamed [ 'jsonfile', '1.1.1' ]
22505 verbose addNamed [ '1.1.1', '1.1.1' ]
22506 silly lockFile 34a085d2-jsonfile-1-1-1 jsonfile@1.1.1
22507 verbose lock jsonfile@1.1.1 /home/gary/.npm/34a085d2-jsonfile-1-1-1.lock
22508 silly gunzTarPerm extractEntry src/syntax/ObjectExpression.js
22509 silly gunzTarPerm extractEntry src/syntax/SequenceExpression.js
22510 silly gunzTarPerm extractEntry .npmignore
22511 silly gunzTarPerm extractEntry node.js
22512 verbose readDependencies using package.json deps
22513 silly gunzTarPerm extractEntry lib/utils.js
22514 silly gunzTarPerm extractEntry object/keys.js
22515 silly gunzTarPerm extractEntry CHANGELOG.md
22516 verbose readDependencies using package.json deps
22517 silly resolved []
22518 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/minimist
22519 info build /home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules/minimist
22520 verbose linkStuff [ false,
22520 verbose linkStuff false,
22520 verbose linkStuff false,
22520 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist/node_modules' ]
22521 info linkStuff minimist@0.0.10
22522 verbose linkBins minimist@0.0.10
22523 verbose linkMans minimist@0.0.10
22524 verbose rebuildBundles minimist@0.0.10
22525 silly lockFile 5a3b0338--org-jsonfile-jsonfile-1-1-1-tgz https://registry.npmjs.org/jsonfile/-/jsonfile-1.1.1.tgz
22526 verbose lock https://registry.npmjs.org/jsonfile/-/jsonfile-1.1.1.tgz /home/gary/.npm/5a3b0338--org-jsonfile-jsonfile-1-1-1-tgz.lock
22527 silly gunzTarPerm extractEntry test/serialize.js
22528 silly gunzTarPerm extractEntry test/mocha.opts
22529 info install minimist@0.0.10
22530 silly gunzTarPerm extractEntry package.json
22531 silly lockFile 06c1800f-dules-tempfile-node-modules-uuid tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/tempfile/node_modules/uuid
22532 silly lockFile 06c1800f-dules-tempfile-node-modules-uuid tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/tempfile/node_modules/uuid
22533 verbose addRemoteTarball [ 'https://registry.npmjs.org/jsonfile/-/jsonfile-1.1.1.tgz',
22533 verbose addRemoteTarball 'da4fd6ad77f1a255203ea63c7bc32dc31ef64433' ]
22534 silly gunzTarPerm extractEntry lib/connect.js
22535 silly gunzTarPerm extractEntry lib/index.js
22536 silly lockFile 7dd94639--gary-npm-uuid-1-4-1-package-tgz tar:///home/gary/.npm/uuid/1.4.1/package.tgz
22537 silly lockFile 7dd94639--gary-npm-uuid-1-4-1-package-tgz tar:///home/gary/.npm/uuid/1.4.1/package.tgz
22538 info postinstall minimist@0.0.10
22539 info retry fetch attempt 1 at 14:03:26
22540 verbose fetch to= /home/gary/tmp/npm-7204-DznXupZT/1402077806738-0.7392546012997627/tmp.tgz
22541 silly gunzTarPerm extractEntry ext/wscript
22542 silly gunzTarPerm extractEntry test/fixture/js/workarounds.js
22543 silly gunzTarPerm extractEntry test/integration/test-fixtures.js
22544 silly lockFile f42df301-les-download-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/mkdirp
22545 silly lockFile f42df301-les-download-node-modules-mkdirp tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/mkdirp
22546 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist
22547 info build /home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules/optimist
22548 verbose linkStuff [ false,
22548 verbose linkStuff false,
22548 verbose linkStuff false,
22548 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-karma/node_modules' ]
22549 info linkStuff optimist@0.6.1
22550 verbose linkBins optimist@0.6.1
22551 verbose linkMans optimist@0.6.1
22552 verbose rebuildBundles optimist@0.6.1
22553 silly gunzTarPerm extractEntry .npmignore
22554 silly gunzTarPerm extractEntry README.md
22555 http GET https://registry.npmjs.org/jsonfile/-/jsonfile-1.1.1.tgz
22556 silly gunzTarPerm extractEntry test/zz-cleanup.js
22557 silly gunzTarPerm extractEntry test/fixtures.tgz
22558 silly lockFile 2417206b-ary-npm-mkdirp-0-3-5-package-tgz tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz
22559 silly lockFile 2417206b-ary-npm-mkdirp-0-3-5-package-tgz tar:///home/gary/.npm/mkdirp/0.3.5/package.tgz
22560 verbose rebuildBundles [ 'minimist', 'wordwrap' ]
22561 info install optimist@0.6.1
22562 info preinstall uuid@1.4.1
22563 silly gunzTarPerm extractEntry debug.js
22564 silly gunzTarPerm extractEntry browser.js
22565 silly lockFile a66e72c3--modules-mocha-node-modules-diff tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/diff
22566 silly lockFile a66e72c3--modules-mocha-node-modules-diff tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/diff
22567 silly gunzTarPerm extractEntry src/syntax/Property.js
22568 silly gunzTarPerm extractEntry src/syntax/TryStatement.js
22569 info postinstall optimist@0.6.1
22570 silly gunzTarPerm extractEntry date/dayOfTheYear.js
22571 silly gunzTarPerm extractEntry date/i18n_.js
22572 silly lockFile 642d172f--gary-npm-diff-1-0-7-package-tgz tar:///home/gary/.npm/diff/1.0.7/package.tgz
22573 silly lockFile 642d172f--gary-npm-diff-1-0-7-package-tgz tar:///home/gary/.npm/diff/1.0.7/package.tgz
22574 silly lockFile cbc2e3a2-les-express-node-modules-methods tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/methods
22575 silly lockFile cbc2e3a2-les-express-node-modules-methods tar:///home/gary/code/email-transactional-app/node_modules/express/node_modules/methods
22576 silly lockFile ae76f64b-dules-download-node-modules-nopt tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/nopt
22577 silly lockFile ae76f64b-dules-download-node-modules-nopt tar:///home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/download/node_modules/nopt
22578 silly gunzTarPerm modes [ '755', '644' ]
22579 silly lockFile 67c8ab09-ry-npm-methods-0-1-0-package-tgz tar:///home/gary/.npm/methods/0.1.0/package.tgz
22580 silly lockFile 67c8ab09-ry-npm-methods-0-1-0-package-tgz tar:///home/gary/.npm/methods/0.1.0/package.tgz
22581 silly lockFile 4335b091--gary-npm-nopt-2-2-1-package-tgz tar:///home/gary/.npm/nopt/2.2.1/package.tgz
22582 silly lockFile 4335b091--gary-npm-nopt-2-2-1-package-tgz tar:///home/gary/.npm/nopt/2.2.1/package.tgz
22583 verbose readDependencies using package.json deps
22584 info preinstall mkdirp@0.3.5
22585 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-karma
22586 info build /home/gary/code/email-transactional-app/node_modules/grunt-karma
22587 verbose linkStuff [ false,
22587 verbose linkStuff false,
22587 verbose linkStuff false,
22587 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules' ]
22588 info linkStuff grunt-karma@0.6.2
22589 verbose linkBins grunt-karma@0.6.2
22590 verbose linkMans grunt-karma@0.6.2
22591 verbose rebuildBundles grunt-karma@0.6.2
22592 silly gunzTarPerm extractEntry lib/debug.js
22593 silly gunzTarPerm extractEntry lib/getSafe.js
22594 silly gunzTarPerm extractEntry lib/patch.js
22595 verbose readDependencies using package.json deps
22596 silly resolved []
22597 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/tempfile/node_modules/uuid
22598 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/tempfile/node_modules/uuid
22599 verbose linkStuff [ false,
22599 verbose linkStuff false,
22599 verbose linkStuff false,
22599 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-build/node_modules/tempfile/node_modules' ]
22600 info linkStuff uuid@1.4.1
22601 verbose linkBins uuid@1.4.1
22602 verbose linkMans uuid@1.4.1
22603 verbose rebuildBundles uuid@1.4.1
22604 verbose rebuildBundles [ 'optimist' ]
22605 info install grunt-karma@0.6.2
22606 info install uuid@1.4.1
22607 silly lockFile da24229c-modules-mocha-node-modules-growl tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/growl
22608 silly lockFile da24229c-modules-mocha-node-modules-growl tar:///home/gary/code/email-transactional-app/node_modules/grunt-mocha-test/node_modules/mocha/node_modules/growl
22609 info preinstall diff@1.0.7
22610 verbose readDependencies using package.json deps
22611 info postinstall grunt-karma@0.6.2
22612 silly lockFile af65515d-gary-npm-growl-1-7-0-package-tgz tar:///home/gary/.npm/growl/1.7.0/package.tgz
22613 silly lockFile af65515d-gary-npm-growl-1-7-0-package-tgz tar:///home/gary/.npm/growl/1.7.0/package.tgz
22614 info preinstall methods@0.1.0
22615 info preinstall nopt@2.2.1
22616 info postinstall uuid@1.4.1
22617 silly gunzTarPerm extractEntry test/integration/test-json.js
22618 silly gunzTarPerm extractEntry test/integration/test-octet-stream.js
22619 verbose readDependencies using package.json deps
22620 silly resolved []
22621 verbose about to build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/mkdirp
22622 info build /home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules/mkdirp
22623 verbose linkStuff [ false,
22623 verbose linkStuff false,
22623 verbose linkStuff false,
22623 verbose linkStuff '/home/gary/code/email-transactional-app/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/download/node_modules'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment