Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@bendiksolheim
Last active July 14, 2018 07:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bendiksolheim/6779506 to your computer and use it in GitHub Desktop.
Save bendiksolheim/6779506 to your computer and use it in GitHub Desktop.
npm install error with silly logging (node 0.10.20)
This file has been truncated, but you can view the full file.
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files (x86)\\nodejs\\\\node.exe',
1 verbose cli 'C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'install',
1 verbose cli 'karma' ]
2 info using npm@1.3.11
3 info using node@v0.10.20
4 verbose node symlink C:\Program Files (x86)\nodejs\\node.exe
5 warn package.json test@0.0.0 No description
6 warn package.json test@0.0.0 No repository field.
7 warn package.json test@0.0.0 No README data
8 verbose readDependencies using package.json deps
9 verbose cache add [ 'karma', null ]
10 verbose cache add name=undefined spec="karma" args=["karma",null]
11 verbose parsed url { protocol: null,
11 verbose parsed url slashes: null,
11 verbose parsed url auth: null,
11 verbose parsed url host: null,
11 verbose parsed url port: null,
11 verbose parsed url hostname: null,
11 verbose parsed url hash: null,
11 verbose parsed url search: null,
11 verbose parsed url query: null,
11 verbose parsed url pathname: 'karma',
11 verbose parsed url path: 'karma',
11 verbose parsed url href: 'karma' }
12 silly lockFile 512423cb-karma karma
13 verbose lock karma C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\512423cb-karma.lock
14 silly lockFile 512423cb-karma karma
15 silly lockFile 512423cb-karma karma
16 verbose addNamed [ 'karma', '' ]
17 verbose addNamed [ null, '*' ]
18 silly lockFile cd7961bb-karma karma@
19 verbose lock karma@ C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cd7961bb-karma.lock
20 silly addNameRange { name: 'karma', range: '*', hasData: false }
21 verbose url raw karma
22 verbose url resolving [ 'https://registry.npmjs.org/', './karma' ]
23 verbose url resolved https://registry.npmjs.org/karma
24 info trying registry request attempt 1 at 16:42:39
25 verbose etag "5UFO7UXOXU8MMWK2S7WB5C3AK"
26 http GET https://registry.npmjs.org/karma
27 http 304 https://registry.npmjs.org/karma
28 silly registry.get cb [ 304,
28 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
28 silly registry.get etag: '"5UFO7UXOXU8MMWK2S7WB5C3AK"',
28 silly registry.get date: 'Tue, 01 Oct 2013 14:42:38 GMT',
28 silly registry.get 'content-length': '0',
28 silly registry.get age: '1',
28 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
29 verbose etag karma from cache
30 silly addNameRange number 2 { name: 'karma', range: '*', hasData: true }
31 silly addNameRange versions [ 'karma',
31 silly addNameRange [ '0.8.0',
31 silly addNameRange '0.9.0-dart',
31 silly addNameRange '0.8.1',
31 silly addNameRange '0.8.2',
31 silly addNameRange '0.8.3',
31 silly addNameRange '0.9.0',
31 silly addNameRange '0.8.4',
31 silly addNameRange '0.9.1',
31 silly addNameRange '0.8.5',
31 silly addNameRange '0.9.2',
31 silly addNameRange '0.9.2-dart',
31 silly addNameRange '0.9.3',
31 silly addNameRange '0.8.6',
31 silly addNameRange '0.9.4',
31 silly addNameRange '0.8.7',
31 silly addNameRange '0.9.5',
31 silly addNameRange '0.9.6',
31 silly addNameRange '0.8.8',
31 silly addNameRange '0.9.7',
31 silly addNameRange '0.9.8',
31 silly addNameRange '0.10.0',
31 silly addNameRange '0.10.1',
31 silly addNameRange '0.10.2',
31 silly addNameRange '0.11.0' ] ]
32 verbose addNamed [ 'karma', '0.10.2' ]
33 verbose addNamed [ '0.10.2', '0.10.2' ]
34 silly lockFile 81afe04f-karma-0-10-2 karma@0.10.2
35 verbose lock karma@0.10.2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\81afe04f-karma-0-10-2.lock
36 silly lockFile 81afe04f-karma-0-10-2 karma@0.10.2
37 silly lockFile 81afe04f-karma-0-10-2 karma@0.10.2
38 silly lockFile cd7961bb-karma karma@
39 silly lockFile cd7961bb-karma karma@
40 silly resolved [ { name: 'karma',
40 silly resolved description: 'Spectacular Test Runner for JavaScript.',
40 silly resolved homepage: 'http://karma-runner.github.io/',
40 silly resolved repository: { type: 'git', url: 'git://github.com/karma-runner/karma.git' },
40 silly resolved bugs: { url: 'https://github.com/karma-runner/karma/issues' },
40 silly resolved keywords:
40 silly resolved [ 'karma',
40 silly resolved 'spectacular',
40 silly resolved 'runner',
40 silly resolved 'karma',
40 silly resolved 'js',
40 silly resolved 'javascript',
40 silly resolved 'testing',
40 silly resolved 'test',
40 silly resolved 'remote',
40 silly resolved 'execution' ],
40 silly resolved author: { name: 'Vojta Jína', email: 'vojta.jina@gmail.com' },
40 silly resolved contributors:
40 silly resolved [ [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object],
40 silly resolved [Object] ],
40 silly resolved dependencies:
40 silly resolved { di: '~0.0.1',
40 silly resolved 'socket.io': '~0.9.13',
40 silly resolved chokidar: '~0.6',
40 silly resolved glob: '~3.1.21',
40 silly resolved minimatch: '~0.2',
40 silly resolved 'http-proxy': '~0.10',
40 silly resolved optimist: '~0.3',
40 silly resolved 'coffee-script': '~1.6',
40 silly resolved rimraf: '~2.1',
40 silly resolved q: '~0.9',
40 silly resolved colors: '0.6.0-1',
40 silly resolved lodash: '~1.1',
40 silly resolved mime: '~1.2',
40 silly resolved log4js: '~0.6.3',
40 silly resolved useragent: '~2.0.4',
40 silly resolved 'graceful-fs': '~1.2.1',
40 silly resolved connect: '~2.8.4' },
40 silly resolved peerDependencies:
40 silly resolved { 'karma-jasmine': '*',
40 silly resolved 'karma-requirejs': '*',
40 silly resolved 'karma-coffee-preprocessor': '*',
40 silly resolved 'karma-html2js-preprocessor': '*',
40 silly resolved 'karma-chrome-launcher': '*',
40 silly resolved 'karma-firefox-launcher': '*',
40 silly resolved 'karma-phantomjs-launcher': '*',
40 silly resolved 'karma-script-launcher': '*' },
40 silly resolved devDependencies:
40 silly resolved { grunt: '~0.4',
40 silly resolved 'grunt-simple-mocha': 'git://github.com/yaymukund/grunt-simple-mocha.git',
40 silly resolved 'grunt-contrib-jshint': '~0.3',
40 silly resolved 'grunt-coffeelint': '~0.0.6',
40 silly resolved 'grunt-npm': '~0.0.1',
40 silly resolved 'grunt-bump': '~0.0.10',
40 silly resolved 'grunt-conventional-changelog': '~1.0.0',
40 silly resolved 'grunt-auto-release': '~0.0.3',
40 silly resolved mocks: '~0.0.10',
40 silly resolved which: '~1.0',
40 silly resolved 'sinon-chai': '~2.3',
40 silly resolved chai: '~1.5',
40 silly resolved mocha: '~1.8',
40 silly resolved sinon: '~1.6',
40 silly resolved 'timer-shim': '~0.2',
40 silly resolved 'chai-as-promised': '~3.2',
40 silly resolved qq: '~0.3',
40 silly resolved 'karma-jasmine': '*',
40 silly resolved 'karma-mocha': '*',
40 silly resolved 'karma-qunit': '*',
40 silly resolved 'karma-coverage': '*',
40 silly resolved 'karma-requirejs': '*',
40 silly resolved 'karma-growl-reporter': '*',
40 silly resolved 'karma-junit-reporter': '*',
40 silly resolved 'karma-chrome-launcher': '*',
40 silly resolved 'karma-firefox-launcher': '*',
40 silly resolved 'karma-sauce-launcher': '*',
40 silly resolved 'karma-phantomjs-launcher': '*',
40 silly resolved 'karma-ng-scenario': '*',
40 silly resolved 'karma-coffee-preprocessor': '*',
40 silly resolved 'karma-html2js-preprocessor': '*',
40 silly resolved 'karma-browserstack-launcher': 'git://github.com/karma-runner/karma-browserstack-launcher.git',
40 silly resolved semver: '~1.1.4',
40 silly resolved 'grunt-contrib-watch': '~0.5.0' },
40 silly resolved main: './lib/index',
40 silly resolved bin: { karma: './bin/karma' },
40 silly resolved engines: { node: '~0.8 || ~0.10' },
40 silly resolved version: '0.10.2',
40 silly resolved readme: '# Karma [![Build Status](https://secure.travis-ci.org/karma-runner/karma.png?branch=master)](http://travis-ci.org/karma-runner/karma)\n\nA simple tool that allows you to execute JavaScript code in multiple\n_real_ browsers, powered by [Node.js] and [Socket.io].\n\n> The main purpose of Karma is to make your TDD development easy,\n> fast, and fun.\n\n## When should I use Karma?\n\n* You want to test code in *real* browsers.\n* You want to test code in multiple browsers (desktop, mobile,\n tablets, etc.).\n* You want to execute your tests locally during development.\n* You want to execute your tests on a continuous integration server.\n* You want to execute your tests on every save.\n* You love your terminal.\n* You don\'t want your (testing) life to suck.\n* You want to use [Istanbul] to automagically generate coverage\n reports.\n* You want to use [RequireJS] for your source files.\n\n\n## But I still want to use \\_insert testing library\\_\n\nKarma is not a testing framework, neither an assertion library,\nso for that you can use pretty much anything you like. Right now out\nof the box there is support for\n\n* [Mocha]\n* [Jasmine]\n* [QUnit]\n* \\_anything else\\_ Write your own adapter. It\'s not that hard. And we\n are here to help.\n\n\n## Which Browsers can I use?\n\nAll the major browsers are supported, if you want to know more see the\n[Browsers] page.\n\n\n## I want to use it. Where do I sign?\n\nYou don\'t need to sign anything but here are some resources to help\nyou to get started. And if you need even more infos have a look at our\ngreat [website].\n\n### Obligatory Screencast.\n\nEvery serious project has a screencast, so here is ours. Just click\n[here] and let the show begin.\n\n### NPM Installation.\n\nIf you have [Node.js] installed, it\'s as simple as\n\n```bash\n$ npm install -g karma\n```\n\nThis will give you the latest stable version available on npm. If you\nwant to live life on the edge you can do so by\n\n```bash\n$ npm install -g karma@canary\n```\n\nThe curious can have a look at the documentation articles for\n[Getting Started] and [Versioning].\n\n### Using it.\n\nGo into your project and create a Karma configuration. That is\njust a simple JavaScript or CoffeeScript file that tells Karma\nwhere all the awesomeness of your project are.\n\nYou can find a simple example in\n[test/client/karma.conf.js](https://github.com/karma-runner/karma/blob/master/test/client/karma.conf.js)\nwhich contains most of the options.\n\nTo create your own from scratch there is the `init` command, which\nwill be named `karma.conf.js` by default:\n\n```bash\n$ karma init\n```\nThis will ask you many questions and if you answered them all correct\nyou will be allowed to use Karma.\n\nFor more information on the configuration options see\n[Configuration File Overview].\n\nNow that you have your configuration all that is left to do is to\nstart Karma:\n```bash\n$ karma start\n```\n\nIf you want to run tests manually (without auto watching file changes), you can:\n```bash\n$ karma run\n```\nBut only if you have started the Karma server before.\n\n\n## Why did you create this?\n\nThroughout the development of [AngularJS], we\'ve been using [JSTD] for\ntesting. I really think that JSTD is a great idea. Unfortunately, we\nhad many problems with JSTD, so we decided to write our own test\nrunner based on the same idea. We wanted a simple tool just for\nexecuting JavaScript tests that is both stable and fast. That\'s why we\nuse the awesome [Socket.io] library and [Node.js].\n\n\n## I still don\'t get it. Where can I get help?\n\n* [Docs]\n* [Mailing List]\n* [Issuetracker]\n* [@JsKarma] on Twitter\n\n## This is so great. I want to help.\n\nSee\n[Contributing.md](https://github.com/karma-runner/karma/blob/master/CONTRIBUTING.md)\nor the [docs] for more information.\n\n\n## My boss wants a license. So where is it?\n\n### The MIT License\n\n> Copyright (C) 2011-2013 Vojta Jína.\n>\n> Permission is hereby granted, free of charge, to any person\n> obtaining a copy of this software and associated documentation files\n> (the "Software"), to deal in the Software without restriction,\n> including without limitation the rights to use, copy, modify, merge,\n> publish, distribute, sublicense, and/or sell copies of the Software,\n> and to permit persons to whom the Software is furnished to do so,\n> subject to the following conditions:\n>\n> The above copyright notice and this permission notice shall be\n> included in all copies or substantial portions of the Software.\n>\n> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\n> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n> BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n> ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n> SOFTWARE.\n\n\n\n[AngularJS]: http://angularjs.org/\n[JSTD]: http://code.google.com/p/js-test-driver/\n[Socket.io]: http://socket.io/\n[Node.js]: http://nodejs.org/\n[Jasmine]: http://pivotal.github.io/jasmine/\n[Mocha]: http://visionmedia.github.io/mocha/\n[QUnit]: http://qunitjs.com/\n[here]: http://www.youtube.com/watch?v=MVw8N3hTfCI\n[Mailing List]: https://groups.google.com/forum/#!forum/karma-users\n[Issuetracker]: https://github.com/karma-runner/karma/issues\n[@JsKarma]: http://twitter.com/JsKarma\n[RequireJS]: http://requirejs.org/\n[Istanbul]: https://github.com/gotwarlost/istanbul\n\n[Browsers]: http://karma-runner.github.io/0.8/config/browsers.html\n[Versioning]: http://karma-runner.github.io/0.8/about/versioning.html\n[Configuration File Overview]: http://karma-runner.github.io/0.8/config/configuration-file.html\n[docs]: http://karma-runner.github.io\n[Docs]: http://karma-runner.github.io\n[website]: http://karma-runner.github.io\n',
40 silly resolved readmeFilename: 'README.md',
40 silly resolved _id: 'karma@0.10.2',
40 silly resolved _from: 'karma@' } ]
41 info install karma@0.10.2 into C:\dev\tmp\test
42 info installOne karma@0.10.2
43 info C:\dev\tmp\test\node_modules\karma unbuild
44 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\karma\0.10.2\package.tgz
45 silly lockFile bba6913b--dev-tmp-test-node-modules-karma tar://C:\dev\tmp\test\node_modules\karma
46 verbose lock tar://C:\dev\tmp\test\node_modules\karma C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bba6913b--dev-tmp-test-node-modules-karma.lock
47 silly lockFile 2e2af56c-m-cache-karma-0-10-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\karma\0.10.2\package.tgz
48 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\karma\0.10.2\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\2e2af56c-m-cache-karma-0-10-2-package-tgz.lock
49 silly gunzTarPerm modes [ '755', '644' ]
50 silly gunzTarPerm extractEntry package.json
51 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
52 silly gunzTarPerm extractEntry README.md
53 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
54 silly gunzTarPerm extractEntry LICENSE
55 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
56 silly gunzTarPerm extractEntry config.tpl.js
57 silly gunzTarPerm modified mode [ 'config.tpl.js', 438, 420 ]
58 silly gunzTarPerm extractEntry karma-completion.sh
59 silly gunzTarPerm modified mode [ 'karma-completion.sh', 438, 420 ]
60 silly gunzTarPerm extractEntry lib/browser.js
61 silly gunzTarPerm modified mode [ 'lib/browser.js', 438, 420 ]
62 silly gunzTarPerm extractEntry lib/executor.js
63 silly gunzTarPerm modified mode [ 'lib/executor.js', 438, 420 ]
64 silly gunzTarPerm extractEntry lib/file-list.js
65 silly gunzTarPerm modified mode [ 'lib/file-list.js', 438, 420 ]
66 silly gunzTarPerm extractEntry lib/helper.js
67 silly gunzTarPerm modified mode [ 'lib/helper.js', 438, 420 ]
68 silly gunzTarPerm extractEntry lib/events.js
69 silly gunzTarPerm modified mode [ 'lib/events.js', 438, 420 ]
70 silly gunzTarPerm extractEntry lib/init.js
71 silly gunzTarPerm modified mode [ 'lib/init.js', 438, 420 ]
72 silly gunzTarPerm extractEntry lib/launcher.js
73 silly gunzTarPerm modified mode [ 'lib/launcher.js', 438, 420 ]
74 silly gunzTarPerm extractEntry lib/cli.js
75 silly gunzTarPerm modified mode [ 'lib/cli.js', 438, 420 ]
76 silly gunzTarPerm extractEntry lib/logger.js
77 silly gunzTarPerm modified mode [ 'lib/logger.js', 438, 420 ]
78 silly gunzTarPerm extractEntry lib/server.js
79 silly gunzTarPerm modified mode [ 'lib/server.js', 438, 420 ]
80 silly gunzTarPerm extractEntry lib/constants.js
81 silly gunzTarPerm modified mode [ 'lib/constants.js', 438, 420 ]
82 silly gunzTarPerm extractEntry lib/plugin.js
83 silly gunzTarPerm modified mode [ 'lib/plugin.js', 438, 420 ]
84 silly gunzTarPerm extractEntry lib/config.js
85 silly gunzTarPerm modified mode [ 'lib/config.js', 438, 420 ]
86 silly gunzTarPerm extractEntry lib/preprocessor.js
87 silly gunzTarPerm modified mode [ 'lib/preprocessor.js', 438, 420 ]
88 silly gunzTarPerm extractEntry lib/completion.js
89 silly gunzTarPerm modified mode [ 'lib/completion.js', 438, 420 ]
90 silly gunzTarPerm extractEntry lib/reporter.js
91 silly gunzTarPerm modified mode [ 'lib/reporter.js', 438, 420 ]
92 silly gunzTarPerm extractEntry lib/watcher.js
93 silly gunzTarPerm modified mode [ 'lib/watcher.js', 438, 420 ]
94 silly gunzTarPerm extractEntry lib/runner.js
95 silly gunzTarPerm modified mode [ 'lib/runner.js', 438, 420 ]
96 silly gunzTarPerm extractEntry lib/index.js
97 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
98 silly gunzTarPerm extractEntry lib/web-server.js
99 silly gunzTarPerm modified mode [ 'lib/web-server.js', 438, 420 ]
100 silly gunzTarPerm extractEntry lib/reporters/Base.js
101 silly gunzTarPerm modified mode [ 'lib/reporters/Base.js', 438, 420 ]
102 silly gunzTarPerm extractEntry lib/reporters/BaseColor.js
103 silly gunzTarPerm modified mode [ 'lib/reporters/BaseColor.js', 438, 420 ]
104 silly gunzTarPerm extractEntry lib/reporters/Dots.js
105 silly gunzTarPerm modified mode [ 'lib/reporters/Dots.js', 438, 420 ]
106 silly gunzTarPerm extractEntry lib/reporters/DotsColor.js
107 silly gunzTarPerm modified mode [ 'lib/reporters/DotsColor.js', 438, 420 ]
108 silly gunzTarPerm extractEntry lib/reporters/Multi.js
109 silly gunzTarPerm modified mode [ 'lib/reporters/Multi.js', 438, 420 ]
110 silly gunzTarPerm extractEntry lib/reporters/Progress.js
111 silly gunzTarPerm modified mode [ 'lib/reporters/Progress.js', 438, 420 ]
112 silly gunzTarPerm extractEntry lib/reporters/ProgressColor.js
113 silly gunzTarPerm modified mode [ 'lib/reporters/ProgressColor.js', 438, 420 ]
114 silly gunzTarPerm extractEntry lib/runner.js.orig
115 silly gunzTarPerm modified mode [ 'lib/runner.js.orig', 438, 420 ]
116 silly gunzTarPerm extractEntry lib/middleware/common.js
117 silly gunzTarPerm modified mode [ 'lib/middleware/common.js', 438, 420 ]
118 silly gunzTarPerm extractEntry lib/middleware/karma.js
119 silly gunzTarPerm modified mode [ 'lib/middleware/karma.js', 438, 420 ]
120 silly gunzTarPerm extractEntry lib/middleware/proxy.js
121 silly gunzTarPerm modified mode [ 'lib/middleware/proxy.js', 438, 420 ]
122 silly gunzTarPerm extractEntry lib/middleware/runner.js
123 silly gunzTarPerm modified mode [ 'lib/middleware/runner.js', 438, 420 ]
124 silly gunzTarPerm extractEntry lib/middleware/source-files.js
125 silly gunzTarPerm modified mode [ 'lib/middleware/source-files.js', 438, 420 ]
126 silly gunzTarPerm extractEntry lib/server.js.orig
127 silly gunzTarPerm modified mode [ 'lib/server.js.orig', 438, 420 ]
128 silly gunzTarPerm extractEntry lib/cli.js.orig
129 silly gunzTarPerm modified mode [ 'lib/cli.js.orig', 438, 420 ]
130 silly gunzTarPerm extractEntry lib/launchers/Base.js
131 silly gunzTarPerm modified mode [ 'lib/launchers/Base.js', 438, 420 ]
132 silly gunzTarPerm extractEntry CHANGELOG.md
133 silly gunzTarPerm modified mode [ 'CHANGELOG.md', 438, 420 ]
134 silly gunzTarPerm extractEntry config.tpl.coffee
135 silly gunzTarPerm modified mode [ 'config.tpl.coffee', 438, 420 ]
136 silly gunzTarPerm extractEntry bin/karma
137 silly gunzTarPerm modified mode [ 'bin/karma', 438, 420 ]
138 silly gunzTarPerm extractEntry static/karma.js
139 silly gunzTarPerm modified mode [ 'static/karma.js', 438, 420 ]
140 silly gunzTarPerm extractEntry static/client.html
141 silly gunzTarPerm modified mode [ 'static/client.html', 438, 420 ]
142 silly gunzTarPerm extractEntry static/context.html
143 silly gunzTarPerm modified mode [ 'static/context.html', 438, 420 ]
144 silly gunzTarPerm extractEntry static/debug.html
145 silly gunzTarPerm modified mode [ 'static/debug.html', 438, 420 ]
146 silly gunzTarPerm extractEntry test-results.xml
147 silly gunzTarPerm modified mode [ 'test-results.xml', 438, 420 ]
148 silly gunzTarPerm extractEntry thesis.pdf
149 silly gunzTarPerm modified mode [ 'thesis.pdf', 438, 420 ]
150 silly lockFile bba6913b--dev-tmp-test-node-modules-karma tar://C:\dev\tmp\test\node_modules\karma
151 silly lockFile bba6913b--dev-tmp-test-node-modules-karma tar://C:\dev\tmp\test\node_modules\karma
152 silly lockFile 2e2af56c-m-cache-karma-0-10-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\karma\0.10.2\package.tgz
153 silly lockFile 2e2af56c-m-cache-karma-0-10-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\karma\0.10.2\package.tgz
154 info preinstall karma@0.10.2
155 verbose readDependencies using package.json deps
156 verbose readDependencies using package.json deps
157 verbose cache add [ 'di@~0.0.1', null ]
158 verbose cache add name=undefined spec="di@~0.0.1" args=["di@~0.0.1",null]
159 verbose parsed url { protocol: null,
159 verbose parsed url slashes: null,
159 verbose parsed url auth: null,
159 verbose parsed url host: null,
159 verbose parsed url port: null,
159 verbose parsed url hostname: null,
159 verbose parsed url hash: null,
159 verbose parsed url search: null,
159 verbose parsed url query: null,
159 verbose parsed url pathname: 'di@~0.0.1',
159 verbose parsed url path: 'di@~0.0.1',
159 verbose parsed url href: 'di@~0.0.1' }
160 verbose cache add name="di" spec="~0.0.1" args=["di","~0.0.1"]
161 verbose parsed url { protocol: null,
161 verbose parsed url slashes: null,
161 verbose parsed url auth: null,
161 verbose parsed url host: null,
161 verbose parsed url port: null,
161 verbose parsed url hostname: null,
161 verbose parsed url hash: null,
161 verbose parsed url search: null,
161 verbose parsed url query: null,
161 verbose parsed url pathname: '~0.0.1',
161 verbose parsed url path: '~0.0.1',
161 verbose parsed url href: '~0.0.1' }
162 verbose addNamed [ 'di', '~0.0.1' ]
163 verbose addNamed [ null, '>=0.0.1-0 <0.1.0-0' ]
164 silly lockFile 8333ef40-di-0-0-1 di@~0.0.1
165 verbose lock di@~0.0.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\8333ef40-di-0-0-1.lock
166 verbose cache add [ 'socket.io@~0.9.13', null ]
167 verbose cache add name=undefined spec="socket.io@~0.9.13" args=["socket.io@~0.9.13",null]
168 verbose parsed url { protocol: null,
168 verbose parsed url slashes: null,
168 verbose parsed url auth: null,
168 verbose parsed url host: null,
168 verbose parsed url port: null,
168 verbose parsed url hostname: null,
168 verbose parsed url hash: null,
168 verbose parsed url search: null,
168 verbose parsed url query: null,
168 verbose parsed url pathname: 'socket.io@~0.9.13',
168 verbose parsed url path: 'socket.io@~0.9.13',
168 verbose parsed url href: 'socket.io@~0.9.13' }
169 verbose cache add name="socket.io" spec="~0.9.13" args=["socket.io","~0.9.13"]
170 verbose parsed url { protocol: null,
170 verbose parsed url slashes: null,
170 verbose parsed url auth: null,
170 verbose parsed url host: null,
170 verbose parsed url port: null,
170 verbose parsed url hostname: null,
170 verbose parsed url hash: null,
170 verbose parsed url search: null,
170 verbose parsed url query: null,
170 verbose parsed url pathname: '~0.9.13',
170 verbose parsed url path: '~0.9.13',
170 verbose parsed url href: '~0.9.13' }
171 verbose addNamed [ 'socket.io', '~0.9.13' ]
172 verbose addNamed [ null, '>=0.9.13-0 <0.10.0-0' ]
173 silly lockFile 729f5b40-socket-io-0-9-13 socket.io@~0.9.13
174 verbose lock socket.io@~0.9.13 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\729f5b40-socket-io-0-9-13.lock
175 verbose cache add [ 'chokidar@~0.6', null ]
176 verbose cache add name=undefined spec="chokidar@~0.6" args=["chokidar@~0.6",null]
177 verbose parsed url { protocol: null,
177 verbose parsed url slashes: null,
177 verbose parsed url auth: null,
177 verbose parsed url host: null,
177 verbose parsed url port: null,
177 verbose parsed url hostname: null,
177 verbose parsed url hash: null,
177 verbose parsed url search: null,
177 verbose parsed url query: null,
177 verbose parsed url pathname: 'chokidar@~0.6',
177 verbose parsed url path: 'chokidar@~0.6',
177 verbose parsed url href: 'chokidar@~0.6' }
178 verbose cache add name="chokidar" spec="~0.6" args=["chokidar","~0.6"]
179 verbose parsed url { protocol: null,
179 verbose parsed url slashes: null,
179 verbose parsed url auth: null,
179 verbose parsed url host: null,
179 verbose parsed url port: null,
179 verbose parsed url hostname: null,
179 verbose parsed url hash: null,
179 verbose parsed url search: null,
179 verbose parsed url query: null,
179 verbose parsed url pathname: '~0.6',
179 verbose parsed url path: '~0.6',
179 verbose parsed url href: '~0.6' }
180 verbose addNamed [ 'chokidar', '~0.6' ]
181 verbose addNamed [ null, '>=0.6.0-0 <0.7.0-0' ]
182 silly lockFile 89107558-chokidar-0-6 chokidar@~0.6
183 verbose lock chokidar@~0.6 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\89107558-chokidar-0-6.lock
184 verbose cache add [ 'glob@~3.1.21', null ]
185 verbose cache add name=undefined spec="glob@~3.1.21" args=["glob@~3.1.21",null]
186 verbose parsed url { protocol: null,
186 verbose parsed url slashes: null,
186 verbose parsed url auth: null,
186 verbose parsed url host: null,
186 verbose parsed url port: null,
186 verbose parsed url hostname: null,
186 verbose parsed url hash: null,
186 verbose parsed url search: null,
186 verbose parsed url query: null,
186 verbose parsed url pathname: 'glob@~3.1.21',
186 verbose parsed url path: 'glob@~3.1.21',
186 verbose parsed url href: 'glob@~3.1.21' }
187 verbose cache add name="glob" spec="~3.1.21" args=["glob","~3.1.21"]
188 verbose parsed url { protocol: null,
188 verbose parsed url slashes: null,
188 verbose parsed url auth: null,
188 verbose parsed url host: null,
188 verbose parsed url port: null,
188 verbose parsed url hostname: null,
188 verbose parsed url hash: null,
188 verbose parsed url search: null,
188 verbose parsed url query: null,
188 verbose parsed url pathname: '~3.1.21',
188 verbose parsed url path: '~3.1.21',
188 verbose parsed url href: '~3.1.21' }
189 verbose addNamed [ 'glob', '~3.1.21' ]
190 verbose addNamed [ null, '>=3.1.21-0 <3.2.0-0' ]
191 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
192 verbose lock glob@~3.1.21 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\b5074ddc-glob-3-1-21.lock
193 verbose cache add [ 'minimatch@~0.2', null ]
194 verbose cache add name=undefined spec="minimatch@~0.2" args=["minimatch@~0.2",null]
195 verbose parsed url { protocol: null,
195 verbose parsed url slashes: null,
195 verbose parsed url auth: null,
195 verbose parsed url host: null,
195 verbose parsed url port: null,
195 verbose parsed url hostname: null,
195 verbose parsed url hash: null,
195 verbose parsed url search: null,
195 verbose parsed url query: null,
195 verbose parsed url pathname: 'minimatch@~0.2',
195 verbose parsed url path: 'minimatch@~0.2',
195 verbose parsed url href: 'minimatch@~0.2' }
196 verbose cache add name="minimatch" spec="~0.2" args=["minimatch","~0.2"]
197 verbose parsed url { protocol: null,
197 verbose parsed url slashes: null,
197 verbose parsed url auth: null,
197 verbose parsed url host: null,
197 verbose parsed url port: null,
197 verbose parsed url hostname: null,
197 verbose parsed url hash: null,
197 verbose parsed url search: null,
197 verbose parsed url query: null,
197 verbose parsed url pathname: '~0.2',
197 verbose parsed url path: '~0.2',
197 verbose parsed url href: '~0.2' }
198 verbose addNamed [ 'minimatch', '~0.2' ]
199 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
200 silly lockFile fe0ddac6-minimatch-0-2 minimatch@~0.2
201 verbose lock minimatch@~0.2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\fe0ddac6-minimatch-0-2.lock
202 verbose cache add [ 'http-proxy@~0.10', null ]
203 verbose cache add name=undefined spec="http-proxy@~0.10" args=["http-proxy@~0.10",null]
204 verbose parsed url { protocol: null,
204 verbose parsed url slashes: null,
204 verbose parsed url auth: null,
204 verbose parsed url host: null,
204 verbose parsed url port: null,
204 verbose parsed url hostname: null,
204 verbose parsed url hash: null,
204 verbose parsed url search: null,
204 verbose parsed url query: null,
204 verbose parsed url pathname: 'http-proxy@~0.10',
204 verbose parsed url path: 'http-proxy@~0.10',
204 verbose parsed url href: 'http-proxy@~0.10' }
205 verbose cache add name="http-proxy" spec="~0.10" args=["http-proxy","~0.10"]
206 verbose parsed url { protocol: null,
206 verbose parsed url slashes: null,
206 verbose parsed url auth: null,
206 verbose parsed url host: null,
206 verbose parsed url port: null,
206 verbose parsed url hostname: null,
206 verbose parsed url hash: null,
206 verbose parsed url search: null,
206 verbose parsed url query: null,
206 verbose parsed url pathname: '~0.10',
206 verbose parsed url path: '~0.10',
206 verbose parsed url href: '~0.10' }
207 verbose addNamed [ 'http-proxy', '~0.10' ]
208 verbose addNamed [ null, '>=0.10.0-0 <0.11.0-0' ]
209 silly lockFile 6486d2d0-http-proxy-0-10 http-proxy@~0.10
210 verbose lock http-proxy@~0.10 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\6486d2d0-http-proxy-0-10.lock
211 verbose cache add [ 'optimist@~0.3', null ]
212 verbose cache add name=undefined spec="optimist@~0.3" args=["optimist@~0.3",null]
213 verbose parsed url { protocol: null,
213 verbose parsed url slashes: null,
213 verbose parsed url auth: null,
213 verbose parsed url host: null,
213 verbose parsed url port: null,
213 verbose parsed url hostname: null,
213 verbose parsed url hash: null,
213 verbose parsed url search: null,
213 verbose parsed url query: null,
213 verbose parsed url pathname: 'optimist@~0.3',
213 verbose parsed url path: 'optimist@~0.3',
213 verbose parsed url href: 'optimist@~0.3' }
214 verbose cache add name="optimist" spec="~0.3" args=["optimist","~0.3"]
215 verbose parsed url { protocol: null,
215 verbose parsed url slashes: null,
215 verbose parsed url auth: null,
215 verbose parsed url host: null,
215 verbose parsed url port: null,
215 verbose parsed url hostname: null,
215 verbose parsed url hash: null,
215 verbose parsed url search: null,
215 verbose parsed url query: null,
215 verbose parsed url pathname: '~0.3',
215 verbose parsed url path: '~0.3',
215 verbose parsed url href: '~0.3' }
216 verbose addNamed [ 'optimist', '~0.3' ]
217 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
218 silly lockFile c01d0ea5-optimist-0-3 optimist@~0.3
219 verbose lock optimist@~0.3 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c01d0ea5-optimist-0-3.lock
220 verbose cache add [ 'coffee-script@~1.6', null ]
221 verbose cache add name=undefined spec="coffee-script@~1.6" args=["coffee-script@~1.6",null]
222 verbose parsed url { protocol: null,
222 verbose parsed url slashes: null,
222 verbose parsed url auth: null,
222 verbose parsed url host: null,
222 verbose parsed url port: null,
222 verbose parsed url hostname: null,
222 verbose parsed url hash: null,
222 verbose parsed url search: null,
222 verbose parsed url query: null,
222 verbose parsed url pathname: 'coffee-script@~1.6',
222 verbose parsed url path: 'coffee-script@~1.6',
222 verbose parsed url href: 'coffee-script@~1.6' }
223 verbose cache add name="coffee-script" spec="~1.6" args=["coffee-script","~1.6"]
224 verbose parsed url { protocol: null,
224 verbose parsed url slashes: null,
224 verbose parsed url auth: null,
224 verbose parsed url host: null,
224 verbose parsed url port: null,
224 verbose parsed url hostname: null,
224 verbose parsed url hash: null,
224 verbose parsed url search: null,
224 verbose parsed url query: null,
224 verbose parsed url pathname: '~1.6',
224 verbose parsed url path: '~1.6',
224 verbose parsed url href: '~1.6' }
225 verbose addNamed [ 'coffee-script', '~1.6' ]
226 verbose addNamed [ null, '>=1.6.0-0 <1.7.0-0' ]
227 silly lockFile d0c13b8a-coffee-script-1-6 coffee-script@~1.6
228 verbose lock coffee-script@~1.6 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\d0c13b8a-coffee-script-1-6.lock
229 verbose cache add [ 'rimraf@~2.1', null ]
230 verbose cache add name=undefined spec="rimraf@~2.1" args=["rimraf@~2.1",null]
231 verbose parsed url { protocol: null,
231 verbose parsed url slashes: null,
231 verbose parsed url auth: null,
231 verbose parsed url host: null,
231 verbose parsed url port: null,
231 verbose parsed url hostname: null,
231 verbose parsed url hash: null,
231 verbose parsed url search: null,
231 verbose parsed url query: null,
231 verbose parsed url pathname: 'rimraf@~2.1',
231 verbose parsed url path: 'rimraf@~2.1',
231 verbose parsed url href: 'rimraf@~2.1' }
232 verbose cache add name="rimraf" spec="~2.1" args=["rimraf","~2.1"]
233 verbose parsed url { protocol: null,
233 verbose parsed url slashes: null,
233 verbose parsed url auth: null,
233 verbose parsed url host: null,
233 verbose parsed url port: null,
233 verbose parsed url hostname: null,
233 verbose parsed url hash: null,
233 verbose parsed url search: null,
233 verbose parsed url query: null,
233 verbose parsed url pathname: '~2.1',
233 verbose parsed url path: '~2.1',
233 verbose parsed url href: '~2.1' }
234 verbose addNamed [ 'rimraf', '~2.1' ]
235 verbose addNamed [ null, '>=2.1.0-0 <2.2.0-0' ]
236 silly lockFile 37a759a6-rimraf-2-1 rimraf@~2.1
237 verbose lock rimraf@~2.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\37a759a6-rimraf-2-1.lock
238 verbose cache add [ 'q@~0.9', null ]
239 verbose cache add name=undefined spec="q@~0.9" args=["q@~0.9",null]
240 verbose parsed url { protocol: null,
240 verbose parsed url slashes: null,
240 verbose parsed url auth: null,
240 verbose parsed url host: null,
240 verbose parsed url port: null,
240 verbose parsed url hostname: null,
240 verbose parsed url hash: null,
240 verbose parsed url search: null,
240 verbose parsed url query: null,
240 verbose parsed url pathname: 'q@~0.9',
240 verbose parsed url path: 'q@~0.9',
240 verbose parsed url href: 'q@~0.9' }
241 verbose cache add name="q" spec="~0.9" args=["q","~0.9"]
242 verbose parsed url { protocol: null,
242 verbose parsed url slashes: null,
242 verbose parsed url auth: null,
242 verbose parsed url host: null,
242 verbose parsed url port: null,
242 verbose parsed url hostname: null,
242 verbose parsed url hash: null,
242 verbose parsed url search: null,
242 verbose parsed url query: null,
242 verbose parsed url pathname: '~0.9',
242 verbose parsed url path: '~0.9',
242 verbose parsed url href: '~0.9' }
243 verbose addNamed [ 'q', '~0.9' ]
244 verbose addNamed [ null, '>=0.9.0-0 <0.10.0-0' ]
245 silly lockFile 81c03ade-q-0-9 q@~0.9
246 verbose lock q@~0.9 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\81c03ade-q-0-9.lock
247 verbose cache add [ 'colors@0.6.0-1', null ]
248 verbose cache add name=undefined spec="colors@0.6.0-1" args=["colors@0.6.0-1",null]
249 verbose parsed url { protocol: null,
249 verbose parsed url slashes: null,
249 verbose parsed url auth: null,
249 verbose parsed url host: null,
249 verbose parsed url port: null,
249 verbose parsed url hostname: null,
249 verbose parsed url hash: null,
249 verbose parsed url search: null,
249 verbose parsed url query: null,
249 verbose parsed url pathname: 'colors@0.6.0-1',
249 verbose parsed url path: 'colors@0.6.0-1',
249 verbose parsed url href: 'colors@0.6.0-1' }
250 verbose cache add name="colors" spec="0.6.0-1" args=["colors","0.6.0-1"]
251 verbose parsed url { protocol: null,
251 verbose parsed url slashes: null,
251 verbose parsed url auth: null,
251 verbose parsed url host: null,
251 verbose parsed url port: null,
251 verbose parsed url hostname: null,
251 verbose parsed url hash: null,
251 verbose parsed url search: null,
251 verbose parsed url query: null,
251 verbose parsed url pathname: '0.6.0-1',
251 verbose parsed url path: '0.6.0-1',
251 verbose parsed url href: '0.6.0-1' }
252 verbose addNamed [ 'colors', '0.6.0-1' ]
253 verbose addNamed [ '0.6.0-1', '0.6.0-1' ]
254 silly lockFile 02eba27f-colors-0-6-0-1 colors@0.6.0-1
255 verbose lock colors@0.6.0-1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\02eba27f-colors-0-6-0-1.lock
256 verbose cache add [ 'lodash@~1.1', null ]
257 verbose cache add name=undefined spec="lodash@~1.1" args=["lodash@~1.1",null]
258 verbose parsed url { protocol: null,
258 verbose parsed url slashes: null,
258 verbose parsed url auth: null,
258 verbose parsed url host: null,
258 verbose parsed url port: null,
258 verbose parsed url hostname: null,
258 verbose parsed url hash: null,
258 verbose parsed url search: null,
258 verbose parsed url query: null,
258 verbose parsed url pathname: 'lodash@~1.1',
258 verbose parsed url path: 'lodash@~1.1',
258 verbose parsed url href: 'lodash@~1.1' }
259 verbose cache add name="lodash" spec="~1.1" args=["lodash","~1.1"]
260 verbose parsed url { protocol: null,
260 verbose parsed url slashes: null,
260 verbose parsed url auth: null,
260 verbose parsed url host: null,
260 verbose parsed url port: null,
260 verbose parsed url hostname: null,
260 verbose parsed url hash: null,
260 verbose parsed url search: null,
260 verbose parsed url query: null,
260 verbose parsed url pathname: '~1.1',
260 verbose parsed url path: '~1.1',
260 verbose parsed url href: '~1.1' }
261 verbose addNamed [ 'lodash', '~1.1' ]
262 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
263 silly lockFile 304390bd-lodash-1-1 lodash@~1.1
264 verbose lock lodash@~1.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\304390bd-lodash-1-1.lock
265 verbose cache add [ 'mime@~1.2', null ]
266 verbose cache add name=undefined spec="mime@~1.2" args=["mime@~1.2",null]
267 verbose parsed url { protocol: null,
267 verbose parsed url slashes: null,
267 verbose parsed url auth: null,
267 verbose parsed url host: null,
267 verbose parsed url port: null,
267 verbose parsed url hostname: null,
267 verbose parsed url hash: null,
267 verbose parsed url search: null,
267 verbose parsed url query: null,
267 verbose parsed url pathname: 'mime@~1.2',
267 verbose parsed url path: 'mime@~1.2',
267 verbose parsed url href: 'mime@~1.2' }
268 verbose cache add name="mime" spec="~1.2" args=["mime","~1.2"]
269 verbose parsed url { protocol: null,
269 verbose parsed url slashes: null,
269 verbose parsed url auth: null,
269 verbose parsed url host: null,
269 verbose parsed url port: null,
269 verbose parsed url hostname: null,
269 verbose parsed url hash: null,
269 verbose parsed url search: null,
269 verbose parsed url query: null,
269 verbose parsed url pathname: '~1.2',
269 verbose parsed url path: '~1.2',
269 verbose parsed url href: '~1.2' }
270 verbose addNamed [ 'mime', '~1.2' ]
271 verbose addNamed [ null, '>=1.2.0-0 <1.3.0-0' ]
272 silly lockFile f7091508-mime-1-2 mime@~1.2
273 verbose lock mime@~1.2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\f7091508-mime-1-2.lock
274 verbose cache add [ 'log4js@~0.6.3', null ]
275 verbose cache add name=undefined spec="log4js@~0.6.3" args=["log4js@~0.6.3",null]
276 verbose parsed url { protocol: null,
276 verbose parsed url slashes: null,
276 verbose parsed url auth: null,
276 verbose parsed url host: null,
276 verbose parsed url port: null,
276 verbose parsed url hostname: null,
276 verbose parsed url hash: null,
276 verbose parsed url search: null,
276 verbose parsed url query: null,
276 verbose parsed url pathname: 'log4js@~0.6.3',
276 verbose parsed url path: 'log4js@~0.6.3',
276 verbose parsed url href: 'log4js@~0.6.3' }
277 verbose cache add name="log4js" spec="~0.6.3" args=["log4js","~0.6.3"]
278 verbose parsed url { protocol: null,
278 verbose parsed url slashes: null,
278 verbose parsed url auth: null,
278 verbose parsed url host: null,
278 verbose parsed url port: null,
278 verbose parsed url hostname: null,
278 verbose parsed url hash: null,
278 verbose parsed url search: null,
278 verbose parsed url query: null,
278 verbose parsed url pathname: '~0.6.3',
278 verbose parsed url path: '~0.6.3',
278 verbose parsed url href: '~0.6.3' }
279 verbose addNamed [ 'log4js', '~0.6.3' ]
280 verbose addNamed [ null, '>=0.6.3-0 <0.7.0-0' ]
281 silly lockFile f3becdd9-log4js-0-6-3 log4js@~0.6.3
282 verbose lock log4js@~0.6.3 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\f3becdd9-log4js-0-6-3.lock
283 verbose cache add [ 'useragent@~2.0.4', null ]
284 verbose cache add name=undefined spec="useragent@~2.0.4" args=["useragent@~2.0.4",null]
285 verbose parsed url { protocol: null,
285 verbose parsed url slashes: null,
285 verbose parsed url auth: null,
285 verbose parsed url host: null,
285 verbose parsed url port: null,
285 verbose parsed url hostname: null,
285 verbose parsed url hash: null,
285 verbose parsed url search: null,
285 verbose parsed url query: null,
285 verbose parsed url pathname: 'useragent@~2.0.4',
285 verbose parsed url path: 'useragent@~2.0.4',
285 verbose parsed url href: 'useragent@~2.0.4' }
286 verbose cache add name="useragent" spec="~2.0.4" args=["useragent","~2.0.4"]
287 verbose parsed url { protocol: null,
287 verbose parsed url slashes: null,
287 verbose parsed url auth: null,
287 verbose parsed url host: null,
287 verbose parsed url port: null,
287 verbose parsed url hostname: null,
287 verbose parsed url hash: null,
287 verbose parsed url search: null,
287 verbose parsed url query: null,
287 verbose parsed url pathname: '~2.0.4',
287 verbose parsed url path: '~2.0.4',
287 verbose parsed url href: '~2.0.4' }
288 verbose addNamed [ 'useragent', '~2.0.4' ]
289 verbose addNamed [ null, '>=2.0.4-0 <2.1.0-0' ]
290 silly lockFile beb780e8-useragent-2-0-4 useragent@~2.0.4
291 verbose lock useragent@~2.0.4 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\beb780e8-useragent-2-0-4.lock
292 verbose cache add [ 'graceful-fs@~1.2.1', null ]
293 verbose cache add name=undefined spec="graceful-fs@~1.2.1" args=["graceful-fs@~1.2.1",null]
294 verbose parsed url { protocol: null,
294 verbose parsed url slashes: null,
294 verbose parsed url auth: null,
294 verbose parsed url host: null,
294 verbose parsed url port: null,
294 verbose parsed url hostname: null,
294 verbose parsed url hash: null,
294 verbose parsed url search: null,
294 verbose parsed url query: null,
294 verbose parsed url pathname: 'graceful-fs@~1.2.1',
294 verbose parsed url path: 'graceful-fs@~1.2.1',
294 verbose parsed url href: 'graceful-fs@~1.2.1' }
295 verbose cache add name="graceful-fs" spec="~1.2.1" args=["graceful-fs","~1.2.1"]
296 verbose parsed url { protocol: null,
296 verbose parsed url slashes: null,
296 verbose parsed url auth: null,
296 verbose parsed url host: null,
296 verbose parsed url port: null,
296 verbose parsed url hostname: null,
296 verbose parsed url hash: null,
296 verbose parsed url search: null,
296 verbose parsed url query: null,
296 verbose parsed url pathname: '~1.2.1',
296 verbose parsed url path: '~1.2.1',
296 verbose parsed url href: '~1.2.1' }
297 verbose addNamed [ 'graceful-fs', '~1.2.1' ]
298 verbose addNamed [ null, '>=1.2.1-0 <1.3.0-0' ]
299 silly lockFile a1fba300-graceful-fs-1-2-1 graceful-fs@~1.2.1
300 verbose lock graceful-fs@~1.2.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\a1fba300-graceful-fs-1-2-1.lock
301 verbose cache add [ 'connect@~2.8.4', null ]
302 verbose cache add name=undefined spec="connect@~2.8.4" args=["connect@~2.8.4",null]
303 verbose parsed url { protocol: null,
303 verbose parsed url slashes: null,
303 verbose parsed url auth: null,
303 verbose parsed url host: null,
303 verbose parsed url port: null,
303 verbose parsed url hostname: null,
303 verbose parsed url hash: null,
303 verbose parsed url search: null,
303 verbose parsed url query: null,
303 verbose parsed url pathname: 'connect@~2.8.4',
303 verbose parsed url path: 'connect@~2.8.4',
303 verbose parsed url href: 'connect@~2.8.4' }
304 verbose cache add name="connect" spec="~2.8.4" args=["connect","~2.8.4"]
305 verbose parsed url { protocol: null,
305 verbose parsed url slashes: null,
305 verbose parsed url auth: null,
305 verbose parsed url host: null,
305 verbose parsed url port: null,
305 verbose parsed url hostname: null,
305 verbose parsed url hash: null,
305 verbose parsed url search: null,
305 verbose parsed url query: null,
305 verbose parsed url pathname: '~2.8.4',
305 verbose parsed url path: '~2.8.4',
305 verbose parsed url href: '~2.8.4' }
306 verbose addNamed [ 'connect', '~2.8.4' ]
307 verbose addNamed [ null, '>=2.8.4-0 <2.9.0-0' ]
308 silly lockFile 8fa706a3-connect-2-8-4 connect@~2.8.4
309 verbose lock connect@~2.8.4 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\8fa706a3-connect-2-8-4.lock
310 silly addNameRange { name: 'di', range: '>=0.0.1-0 <0.1.0-0', hasData: false }
311 silly addNameRange { name: 'socket.io',
311 silly addNameRange range: '>=0.9.13-0 <0.10.0-0',
311 silly addNameRange hasData: false }
312 silly addNameRange { name: 'chokidar', range: '>=0.6.0-0 <0.7.0-0', hasData: false }
313 silly addNameRange { name: 'minimatch',
313 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
313 silly addNameRange hasData: false }
314 silly addNameRange { name: 'optimist', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
315 silly addNameRange { name: 'glob', range: '>=3.1.21-0 <3.2.0-0', hasData: false }
316 silly addNameRange { name: 'http-proxy',
316 silly addNameRange range: '>=0.10.0-0 <0.11.0-0',
316 silly addNameRange hasData: false }
317 silly addNameRange { name: 'coffee-script',
317 silly addNameRange range: '>=1.6.0-0 <1.7.0-0',
317 silly addNameRange hasData: false }
318 silly addNameRange { name: 'rimraf', range: '>=2.1.0-0 <2.2.0-0', hasData: false }
319 silly addNameRange { name: 'q', range: '>=0.9.0-0 <0.10.0-0', hasData: false }
320 silly addNameRange { name: 'mime', range: '>=1.2.0-0 <1.3.0-0', hasData: false }
321 silly addNameRange { name: 'lodash', range: '>=1.1.0-0 <1.2.0-0', hasData: false }
322 silly addNameRange { name: 'graceful-fs',
322 silly addNameRange range: '>=1.2.1-0 <1.3.0-0',
322 silly addNameRange hasData: false }
323 silly addNameRange { name: 'log4js', range: '>=0.6.3-0 <0.7.0-0', hasData: false }
324 silly addNameRange { name: 'useragent',
324 silly addNameRange range: '>=2.0.4-0 <2.1.0-0',
324 silly addNameRange hasData: false }
325 silly addNameRange { name: 'connect', range: '>=2.8.4-0 <2.9.0-0', hasData: false }
326 verbose url raw di
327 verbose url resolving [ 'https://registry.npmjs.org/', './di' ]
328 verbose url resolved https://registry.npmjs.org/di
329 info trying registry request attempt 1 at 16:42:40
330 verbose etag "4BUUIQQOOZIHOEVKYVMUSHMLX"
331 http GET https://registry.npmjs.org/di
332 verbose url raw rimraf
333 verbose url resolving [ 'https://registry.npmjs.org/', './rimraf' ]
334 verbose url resolved https://registry.npmjs.org/rimraf
335 info trying registry request attempt 1 at 16:42:40
336 verbose etag "50X3LWQDSY1SAULXQ7QRKW4PE"
337 http GET https://registry.npmjs.org/rimraf
338 verbose url raw colors/0.6.0-1
339 verbose url resolving [ 'https://registry.npmjs.org/', './colors/0.6.0-1' ]
340 verbose url resolved https://registry.npmjs.org/colors/0.6.0-1
341 info trying registry request attempt 1 at 16:42:40
342 verbose etag "6A8GBHDKZ62PGBI3M1NRGH6L7"
343 http GET https://registry.npmjs.org/colors/0.6.0-1
344 verbose url raw socket.io
345 verbose url resolving [ 'https://registry.npmjs.org/', './socket.io' ]
346 verbose url resolved https://registry.npmjs.org/socket.io
347 info trying registry request attempt 1 at 16:42:40
348 verbose etag "1ETH3XN4N1KL0L0SBBFHDFU2M"
349 http GET https://registry.npmjs.org/socket.io
350 verbose url raw optimist
351 verbose url resolving [ 'https://registry.npmjs.org/', './optimist' ]
352 verbose url resolved https://registry.npmjs.org/optimist
353 info trying registry request attempt 1 at 16:42:40
354 verbose etag "8E9YW7J5MSSKSRD2HNFI0ERNS"
355 http GET https://registry.npmjs.org/optimist
356 verbose url raw chokidar
357 verbose url resolving [ 'https://registry.npmjs.org/', './chokidar' ]
358 verbose url resolved https://registry.npmjs.org/chokidar
359 info trying registry request attempt 1 at 16:42:40
360 verbose etag "AP0Q227LQ7JEH4M6ZBOJTO3JZ"
361 http GET https://registry.npmjs.org/chokidar
362 verbose url raw minimatch
363 verbose url resolving [ 'https://registry.npmjs.org/', './minimatch' ]
364 verbose url resolved https://registry.npmjs.org/minimatch
365 info trying registry request attempt 1 at 16:42:40
366 verbose etag "433GUXE31BY78MEUH5M7CIXOG"
367 http GET https://registry.npmjs.org/minimatch
368 verbose url raw glob
369 verbose url resolving [ 'https://registry.npmjs.org/', './glob' ]
370 verbose url resolved https://registry.npmjs.org/glob
371 info trying registry request attempt 1 at 16:42:40
372 verbose etag "FHUPEI84RTD0TUQHAT6GOLU3"
373 http GET https://registry.npmjs.org/glob
374 verbose url raw mime
375 verbose url resolving [ 'https://registry.npmjs.org/', './mime' ]
376 verbose url resolved https://registry.npmjs.org/mime
377 info trying registry request attempt 1 at 16:42:40
378 verbose etag "E6XCARW5KGP2FEMF4DRNGR1ZF"
379 http GET https://registry.npmjs.org/mime
380 verbose url raw coffee-script
381 verbose url resolving [ 'https://registry.npmjs.org/', './coffee-script' ]
382 verbose url resolved https://registry.npmjs.org/coffee-script
383 info trying registry request attempt 1 at 16:42:40
384 verbose etag "2HZAL9J6YNYHX7K414IYU5MS"
385 http GET https://registry.npmjs.org/coffee-script
386 verbose url raw http-proxy
387 verbose url resolving [ 'https://registry.npmjs.org/', './http-proxy' ]
388 verbose url resolved https://registry.npmjs.org/http-proxy
389 info trying registry request attempt 1 at 16:42:40
390 verbose etag "F28H68IGMJ2E8FKYULPW74W4P"
391 http GET https://registry.npmjs.org/http-proxy
392 verbose url raw log4js
393 verbose url resolving [ 'https://registry.npmjs.org/', './log4js' ]
394 verbose url resolved https://registry.npmjs.org/log4js
395 info trying registry request attempt 1 at 16:42:40
396 verbose etag "93FHZB406H3FX6EICT6NMY2HH"
397 http GET https://registry.npmjs.org/log4js
398 verbose url raw useragent
399 verbose url resolving [ 'https://registry.npmjs.org/', './useragent' ]
400 verbose url resolved https://registry.npmjs.org/useragent
401 info trying registry request attempt 1 at 16:42:40
402 verbose etag "9LT4O7ZOV7DVK2BDUFH258AWZ"
403 http GET https://registry.npmjs.org/useragent
404 verbose url raw graceful-fs
405 verbose url resolving [ 'https://registry.npmjs.org/', './graceful-fs' ]
406 verbose url resolved https://registry.npmjs.org/graceful-fs
407 info trying registry request attempt 1 at 16:42:40
408 verbose etag "8VTIGE3KHXX4861152PVTWGF8"
409 http GET https://registry.npmjs.org/graceful-fs
410 verbose url raw q
411 verbose url resolving [ 'https://registry.npmjs.org/', './q' ]
412 verbose url resolved https://registry.npmjs.org/q
413 info trying registry request attempt 1 at 16:42:40
414 verbose etag "4HFQVMENWSU5M2D77TJVXCSJK"
415 http GET https://registry.npmjs.org/q
416 verbose url raw connect
417 verbose url resolving [ 'https://registry.npmjs.org/', './connect' ]
418 verbose url resolved https://registry.npmjs.org/connect
419 info trying registry request attempt 1 at 16:42:40
420 verbose etag "BMYU0F59PKAU2TU809X3GINQK"
421 http GET https://registry.npmjs.org/connect
422 verbose url raw lodash
423 verbose url resolving [ 'https://registry.npmjs.org/', './lodash' ]
424 verbose url resolved https://registry.npmjs.org/lodash
425 info trying registry request attempt 1 at 16:42:40
426 verbose etag "18R66B891KRQGPZE61FXSPQ01"
427 http GET https://registry.npmjs.org/lodash
428 http 304 https://registry.npmjs.org/minimatch
429 silly registry.get cb [ 304,
429 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
429 silly registry.get etag: '"433GUXE31BY78MEUH5M7CIXOG"',
429 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
429 silly registry.get 'content-length': '0',
429 silly registry.get age: '1',
429 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
430 verbose etag minimatch from cache
431 http 304 https://registry.npmjs.org/optimist
432 silly registry.get cb [ 304,
432 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
432 silly registry.get etag: '"8E9YW7J5MSSKSRD2HNFI0ERNS"',
432 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
432 silly registry.get 'content-length': '0',
432 silly registry.get age: '1',
432 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
433 verbose etag optimist from cache
434 http 304 https://registry.npmjs.org/connect
435 silly registry.get cb [ 304,
435 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
435 silly registry.get etag: '"BMYU0F59PKAU2TU809X3GINQK"',
435 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
435 silly registry.get 'content-length': '0',
435 silly registry.get age: '1',
435 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
436 verbose etag connect from cache
437 silly addNameRange number 2 { name: 'minimatch', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
438 silly addNameRange versions [ 'minimatch',
438 silly addNameRange [ '0.0.1',
438 silly addNameRange '0.0.2',
438 silly addNameRange '0.0.4',
438 silly addNameRange '0.0.5',
438 silly addNameRange '0.1.1',
438 silly addNameRange '0.1.2',
438 silly addNameRange '0.1.3',
438 silly addNameRange '0.1.4',
438 silly addNameRange '0.1.5',
438 silly addNameRange '0.2.0',
438 silly addNameRange '0.2.2',
438 silly addNameRange '0.2.3',
438 silly addNameRange '0.2.4',
438 silly addNameRange '0.2.5',
438 silly addNameRange '0.2.6',
438 silly addNameRange '0.2.7',
438 silly addNameRange '0.2.8',
438 silly addNameRange '0.2.9',
438 silly addNameRange '0.2.10',
438 silly addNameRange '0.2.11',
438 silly addNameRange '0.2.12' ] ]
439 verbose addNamed [ 'minimatch', '0.2.12' ]
440 verbose addNamed [ '0.2.12', '0.2.12' ]
441 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
442 verbose lock minimatch@0.2.12 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\16b89810-minimatch-0-2-12.lock
443 silly addNameRange number 2 { name: 'optimist', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
444 silly addNameRange versions [ 'optimist',
444 silly addNameRange [ '0.0.1',
444 silly addNameRange '0.0.2',
444 silly addNameRange '0.0.4',
444 silly addNameRange '0.0.5',
444 silly addNameRange '0.0.6',
444 silly addNameRange '0.0.7',
444 silly addNameRange '0.1.0',
444 silly addNameRange '0.1.1',
444 silly addNameRange '0.1.2',
444 silly addNameRange '0.1.3',
444 silly addNameRange '0.1.4',
444 silly addNameRange '0.1.5',
444 silly addNameRange '0.1.6',
444 silly addNameRange '0.1.7',
444 silly addNameRange '0.1.8',
444 silly addNameRange '0.1.9',
444 silly addNameRange '0.0.3',
444 silly addNameRange '0.2.0',
444 silly addNameRange '0.2.1',
444 silly addNameRange '0.2.2',
444 silly addNameRange '0.2.3',
444 silly addNameRange '0.2.4',
444 silly addNameRange '0.2.5',
444 silly addNameRange '0.2.6',
444 silly addNameRange '0.2.7',
444 silly addNameRange '0.2.8',
444 silly addNameRange '0.3.0',
444 silly addNameRange '0.3.1',
444 silly addNameRange '0.3.3',
444 silly addNameRange '0.3.4',
444 silly addNameRange '0.3.5',
444 silly addNameRange '0.3.6',
444 silly addNameRange '0.3.7',
444 silly addNameRange '0.4.0',
444 silly addNameRange '0.5.0',
444 silly addNameRange '0.5.1',
444 silly addNameRange '0.5.2',
444 silly addNameRange '0.6.0' ] ]
445 verbose addNamed [ 'optimist', '0.3.7' ]
446 verbose addNamed [ '0.3.7', '0.3.7' ]
447 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
448 verbose lock optimist@0.3.7 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\090e1d8d-optimist-0-3-7.lock
449 http 304 https://registry.npmjs.org/lodash
450 silly registry.get cb [ 304,
450 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
450 silly registry.get etag: '"18R66B891KRQGPZE61FXSPQ01"',
450 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
450 silly registry.get 'content-length': '0',
450 silly registry.get age: '1',
450 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
451 verbose etag lodash from cache
452 http 304 https://registry.npmjs.org/chokidar
453 silly registry.get cb [ 304,
453 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
453 silly registry.get etag: '"AP0Q227LQ7JEH4M6ZBOJTO3JZ"',
453 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
453 silly registry.get 'content-length': '0',
453 silly registry.get age: '1',
453 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
454 verbose etag chokidar from cache
455 http 304 https://registry.npmjs.org/di
456 silly registry.get cb [ 304,
456 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
456 silly registry.get etag: '"4BUUIQQOOZIHOEVKYVMUSHMLX"',
456 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
456 silly registry.get 'content-length': '0',
456 silly registry.get age: '1',
456 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
457 verbose etag di from cache
458 http 304 https://registry.npmjs.org/mime
459 silly registry.get cb [ 304,
459 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
459 silly registry.get etag: '"E6XCARW5KGP2FEMF4DRNGR1ZF"',
459 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
459 silly registry.get 'content-length': '0',
459 silly registry.get age: '1',
459 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
460 verbose etag mime from cache
461 silly addNameRange number 2 { name: 'connect', range: '>=2.8.4-0 <2.9.0-0', hasData: true }
462 silly addNameRange versions [ 'connect',
462 silly addNameRange [ '0.0.1',
462 silly addNameRange '0.0.2',
462 silly addNameRange '0.0.3',
462 silly addNameRange '0.0.4',
462 silly addNameRange '0.0.5',
462 silly addNameRange '0.0.6',
462 silly addNameRange '0.1.0',
462 silly addNameRange '0.2.0',
462 silly addNameRange '0.2.1',
462 silly addNameRange '0.2.2',
462 silly addNameRange '0.2.3',
462 silly addNameRange '0.2.4',
462 silly addNameRange '0.2.5',
462 silly addNameRange '0.2.6',
462 silly addNameRange '0.2.7',
462 silly addNameRange '0.3.0',
462 silly addNameRange '0.4.0',
462 silly addNameRange '0.5.0',
462 silly addNameRange '0.5.1',
462 silly addNameRange '0.5.2',
462 silly addNameRange '0.5.3',
462 silly addNameRange '0.5.4',
462 silly addNameRange '0.5.5',
462 silly addNameRange '0.5.6',
462 silly addNameRange '0.5.7',
462 silly addNameRange '0.5.8',
462 silly addNameRange '0.5.9',
462 silly addNameRange '0.5.10',
462 silly addNameRange '1.0.0',
462 silly addNameRange '1.0.1',
462 silly addNameRange '1.0.2',
462 silly addNameRange '1.0.3',
462 silly addNameRange '1.0.4',
462 silly addNameRange '1.0.5',
462 silly addNameRange '1.0.6',
462 silly addNameRange '1.1.0',
462 silly addNameRange '1.1.1',
462 silly addNameRange '1.1.2',
462 silly addNameRange '1.1.3',
462 silly addNameRange '1.1.4',
462 silly addNameRange '1.1.5',
462 silly addNameRange '1.2.0',
462 silly addNameRange '1.2.1',
462 silly addNameRange '1.2.2',
462 silly addNameRange '1.2.3',
462 silly addNameRange '1.3.0',
462 silly addNameRange '1.4.0',
462 silly addNameRange '1.4.1',
462 silly addNameRange '1.4.2',
462 silly addNameRange '1.4.3',
462 silly addNameRange '1.4.4',
462 silly addNameRange '1.4.5',
462 silly addNameRange '1.4.6',
462 silly addNameRange '1.5.0',
462 silly addNameRange '1.5.1',
462 silly addNameRange '1.5.2',
462 silly addNameRange '1.6.0',
462 silly addNameRange '1.6.1',
462 silly addNameRange '1.6.2',
462 silly addNameRange '1.6.3',
462 silly addNameRange '1.6.4',
462 silly addNameRange '1.7.0',
462 silly addNameRange '1.7.1',
462 silly addNameRange '1.7.2',
462 silly addNameRange '1.7.3',
462 silly addNameRange '1.8.0',
462 silly addNameRange '1.8.1',
462 silly addNameRange '1.8.2',
462 silly addNameRange '1.8.3',
462 silly addNameRange '1.8.4',
462 silly addNameRange '1.8.5',
462 silly addNameRange '2.0.0',
462 silly addNameRange '2.0.1',
462 silly addNameRange '2.0.2',
462 silly addNameRange '2.0.3',
462 silly addNameRange '1.8.6',
462 silly addNameRange '2.1.0',
462 silly addNameRange '2.1.1',
462 silly addNameRange '2.1.2',
462 silly addNameRange '1.8.7',
462 silly addNameRange '2.1.3',
462 silly addNameRange '2.2.0',
462 silly addNameRange '2.2.1',
462 silly addNameRange '2.2.2',
462 silly addNameRange '2.3.0',
462 silly addNameRange '2.3.1',
462 silly addNameRange '2.3.2',
462 silly addNameRange '2.3.3',
462 silly addNameRange '1.9.0',
462 silly addNameRange '1.9.1',
462 silly addNameRange '2.3.4',
462 silly addNameRange '2.3.5',
462 silly addNameRange '2.3.6',
462 silly addNameRange '2.3.7',
462 silly addNameRange '1.9.2',
462 silly addNameRange '2.3.8',
462 silly addNameRange '2.3.9',
462 silly addNameRange '2.4.0',
462 silly addNameRange '2.4.1',
462 silly addNameRange '2.4.2',
462 silly addNameRange '2.4.3',
462 silly addNameRange '2.4.4',
462 silly addNameRange '2.4.5',
462 silly addNameRange '2.4.6',
462 silly addNameRange '2.5.0',
462 silly addNameRange '2.6.0',
462 silly addNameRange '2.6.1',
462 silly addNameRange '2.6.2',
462 silly addNameRange '2.7.0',
462 silly addNameRange '2.7.1',
462 silly addNameRange '2.7.2',
462 silly addNameRange '2.7.3',
462 silly addNameRange '2.7.4',
462 silly addNameRange '2.7.5',
462 silly addNameRange '2.7.6',
462 silly addNameRange '2.7.7',
462 silly addNameRange '2.7.8',
462 silly addNameRange '2.7.9',
462 silly addNameRange '2.7.10',
462 silly addNameRange '2.7.11',
462 silly addNameRange '2.8.0',
462 silly addNameRange '2.8.1',
462 silly addNameRange '2.8.2',
462 silly addNameRange '2.8.3',
462 silly addNameRange '2.8.4',
462 silly addNameRange '2.8.5',
462 silly addNameRange '2.8.6',
462 silly addNameRange '2.8.7',
462 silly addNameRange '2.8.8',
462 silly addNameRange '2.9.0' ] ]
463 verbose addNamed [ 'connect', '2.8.8' ]
464 verbose addNamed [ '2.8.8', '2.8.8' ]
465 silly lockFile 4d29bcdb-connect-2-8-8 connect@2.8.8
466 verbose lock connect@2.8.8 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\4d29bcdb-connect-2-8-8.lock
467 http 304 https://registry.npmjs.org/graceful-fs
468 silly registry.get cb [ 304,
468 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
468 silly registry.get etag: '"8VTIGE3KHXX4861152PVTWGF8"',
468 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
468 silly registry.get 'content-length': '0',
468 silly registry.get age: '1',
468 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
469 verbose etag graceful-fs from cache
470 http 304 https://registry.npmjs.org/rimraf
471 silly registry.get cb [ 304,
471 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
471 silly registry.get etag: '"50X3LWQDSY1SAULXQ7QRKW4PE"',
471 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
471 silly registry.get 'content-length': '0',
471 silly registry.get age: '1',
471 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
472 verbose etag rimraf from cache
473 http 304 https://registry.npmjs.org/http-proxy
474 silly registry.get cb [ 304,
474 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
474 silly registry.get etag: '"F28H68IGMJ2E8FKYULPW74W4P"',
474 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
474 silly registry.get 'content-length': '0',
474 silly registry.get age: '1',
474 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
475 verbose etag http-proxy from cache
476 http 304 https://registry.npmjs.org/coffee-script
477 silly registry.get cb [ 304,
477 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
477 silly registry.get etag: '"2HZAL9J6YNYHX7K414IYU5MS"',
477 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
477 silly registry.get 'content-length': '0',
477 silly registry.get age: '1',
477 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
478 verbose etag coffee-script from cache
479 silly addNameRange number 2 { name: 'di', range: '>=0.0.1-0 <0.1.0-0', hasData: true }
480 silly addNameRange versions [ 'di', [ '0.0.0', '0.0.1' ] ]
481 verbose addNamed [ 'di', '0.0.1' ]
482 verbose addNamed [ '0.0.1', '0.0.1' ]
483 silly lockFile fc79c1df-di-0-0-1 di@0.0.1
484 verbose lock di@0.0.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\fc79c1df-di-0-0-1.lock
485 silly addNameRange number 2 { name: 'lodash', range: '>=1.1.0-0 <1.2.0-0', hasData: true }
486 silly addNameRange versions [ 'lodash',
486 silly addNameRange [ '0.1.0',
486 silly addNameRange '0.2.0',
486 silly addNameRange '0.2.1',
486 silly addNameRange '0.2.2',
486 silly addNameRange '0.3.0',
486 silly addNameRange '0.3.1',
486 silly addNameRange '0.3.2',
486 silly addNameRange '0.4.0',
486 silly addNameRange '0.4.1',
486 silly addNameRange '0.4.2',
486 silly addNameRange '0.5.0-rc.1',
486 silly addNameRange '0.5.0',
486 silly addNameRange '0.5.1',
486 silly addNameRange '0.5.2',
486 silly addNameRange '0.6.0',
486 silly addNameRange '0.6.1',
486 silly addNameRange '0.7.0',
486 silly addNameRange '0.8.0',
486 silly addNameRange '0.8.1',
486 silly addNameRange '0.8.2',
486 silly addNameRange '0.9.0',
486 silly addNameRange '0.9.1',
486 silly addNameRange '0.9.2',
486 silly addNameRange '0.10.0',
486 silly addNameRange '1.0.0-rc.1',
486 silly addNameRange '1.0.0-rc.2',
486 silly addNameRange '1.0.0-rc.3',
486 silly addNameRange '1.0.0',
486 silly addNameRange '1.0.1',
486 silly addNameRange '1.1.0',
486 silly addNameRange '1.1.1',
486 silly addNameRange '1.2.0',
486 silly addNameRange '1.2.1',
486 silly addNameRange '1.3.0',
486 silly addNameRange '1.3.1',
486 silly addNameRange '2.0.0',
486 silly addNameRange '2.1.0',
486 silly addNameRange '2.2.0' ] ]
487 verbose addNamed [ 'lodash', '1.1.1' ]
488 verbose addNamed [ '1.1.1', '1.1.1' ]
489 silly lockFile 05dd3f50-lodash-1-1-1 lodash@1.1.1
490 verbose lock lodash@1.1.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\05dd3f50-lodash-1-1-1.lock
491 silly addNameRange number 2 { name: 'chokidar', range: '>=0.6.0-0 <0.7.0-0', hasData: true }
492 silly addNameRange versions [ 'chokidar',
492 silly addNameRange [ '0.1.1',
492 silly addNameRange '0.2.0',
492 silly addNameRange '0.2.1',
492 silly addNameRange '0.2.2',
492 silly addNameRange '0.2.3',
492 silly addNameRange '0.2.4',
492 silly addNameRange '0.2.5',
492 silly addNameRange '0.2.6',
492 silly addNameRange '0.3.0',
492 silly addNameRange '0.4.0',
492 silly addNameRange '0.5.0',
492 silly addNameRange '0.5.1',
492 silly addNameRange '0.5.2',
492 silly addNameRange '0.5.3',
492 silly addNameRange '0.6.0',
492 silly addNameRange '0.6.1',
492 silly addNameRange '0.6.2',
492 silly addNameRange '0.6.3' ] ]
493 verbose addNamed [ 'chokidar', '0.6.3' ]
494 verbose addNamed [ '0.6.3', '0.6.3' ]
495 silly lockFile 2b7757e4-chokidar-0-6-3 chokidar@0.6.3
496 verbose lock chokidar@0.6.3 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\2b7757e4-chokidar-0-6-3.lock
497 http 304 https://registry.npmjs.org/colors/0.6.0-1
498 silly registry.get cb [ 304,
498 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
498 silly registry.get etag: '"6A8GBHDKZ62PGBI3M1NRGH6L7"',
498 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
498 silly registry.get 'content-length': '0',
498 silly registry.get age: '1',
498 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
499 verbose etag colors/0.6.0-1 from cache
500 http 304 https://registry.npmjs.org/log4js
501 silly registry.get cb [ 304,
501 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
501 silly registry.get etag: '"93FHZB406H3FX6EICT6NMY2HH"',
501 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
501 silly registry.get 'content-length': '0',
501 silly registry.get age: '1',
501 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
502 verbose etag log4js from cache
503 http 304 https://registry.npmjs.org/useragent
504 silly registry.get cb [ 304,
504 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
504 silly registry.get etag: '"9LT4O7ZOV7DVK2BDUFH258AWZ"',
504 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
504 silly registry.get 'content-length': '0',
504 silly registry.get age: '1',
504 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
505 verbose etag useragent from cache
506 silly addNameRange number 2 { name: 'mime', range: '>=1.2.0-0 <1.3.0-0', hasData: true }
507 silly addNameRange versions [ 'mime',
507 silly addNameRange [ '1.0.0',
507 silly addNameRange '1.1.0',
507 silly addNameRange '1.2.1',
507 silly addNameRange '1.2.2',
507 silly addNameRange '1.2.3',
507 silly addNameRange '1.2.4',
507 silly addNameRange '1.2.5',
507 silly addNameRange '1.2.6',
507 silly addNameRange '1.2.7',
507 silly addNameRange '1.2.8',
507 silly addNameRange '1.2.9',
507 silly addNameRange '1.2.10',
507 silly addNameRange '1.2.11' ] ]
508 verbose addNamed [ 'mime', '1.2.11' ]
509 verbose addNamed [ '1.2.11', '1.2.11' ]
510 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
511 verbose lock mime@1.2.11 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c4b0741f-mime-1-2-11.lock
512 silly addNameRange number 2 { name: 'rimraf', range: '>=2.1.0-0 <2.2.0-0', hasData: true }
513 silly addNameRange versions [ 'rimraf',
513 silly addNameRange [ '1.0.0',
513 silly addNameRange '1.0.1',
513 silly addNameRange '1.0.2',
513 silly addNameRange '1.0.4',
513 silly addNameRange '1.0.5',
513 silly addNameRange '1.0.6',
513 silly addNameRange '1.0.7',
513 silly addNameRange '1.0.8',
513 silly addNameRange '1.0.9',
513 silly addNameRange '2.0.0',
513 silly addNameRange '2.0.1',
513 silly addNameRange '2.0.2',
513 silly addNameRange '2.0.3',
513 silly addNameRange '2.1.0',
513 silly addNameRange '2.1.1',
513 silly addNameRange '2.1.2',
513 silly addNameRange '2.1.3',
513 silly addNameRange '2.1.4',
513 silly addNameRange '2.2.0',
513 silly addNameRange '2.2.1',
513 silly addNameRange '2.2.2' ] ]
514 verbose addNamed [ 'rimraf', '2.1.4' ]
515 verbose addNamed [ '2.1.4', '2.1.4' ]
516 silly lockFile faaa5c02-rimraf-2-1-4 rimraf@2.1.4
517 verbose lock rimraf@2.1.4 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\faaa5c02-rimraf-2-1-4.lock
518 silly addNameRange number 2 { name: 'graceful-fs',
518 silly addNameRange range: '>=1.2.1-0 <1.3.0-0',
518 silly addNameRange hasData: true }
519 silly addNameRange versions [ 'graceful-fs',
519 silly addNameRange [ '1.0.0',
519 silly addNameRange '1.0.1',
519 silly addNameRange '1.0.2',
519 silly addNameRange '1.1.0',
519 silly addNameRange '1.1.1',
519 silly addNameRange '1.1.2',
519 silly addNameRange '1.1.3',
519 silly addNameRange '1.1.4',
519 silly addNameRange '1.1.5',
519 silly addNameRange '1.1.6',
519 silly addNameRange '1.1.7',
519 silly addNameRange '1.1.8',
519 silly addNameRange '1.1.9',
519 silly addNameRange '1.1.10',
519 silly addNameRange '1.1.11',
519 silly addNameRange '1.1.12',
519 silly addNameRange '1.1.13',
519 silly addNameRange '1.1.14',
519 silly addNameRange '1.2.0',
519 silly addNameRange '1.2.1',
519 silly addNameRange '1.2.2',
519 silly addNameRange '1.2.3',
519 silly addNameRange '2.0.0',
519 silly addNameRange '2.0.1' ] ]
520 verbose addNamed [ 'graceful-fs', '1.2.3' ]
521 verbose addNamed [ '1.2.3', '1.2.3' ]
522 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
523 verbose lock graceful-fs@1.2.3 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\6c7102cf-graceful-fs-1-2-3.lock
524 http 304 https://registry.npmjs.org/q
525 silly registry.get cb [ 304,
525 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
525 silly registry.get etag: '"4HFQVMENWSU5M2D77TJVXCSJK"',
525 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
525 silly registry.get 'content-length': '0',
525 silly registry.get age: '1',
525 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
526 verbose etag q from cache
527 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
528 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
529 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
530 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
531 silly addNameRange number 2 { name: 'http-proxy',
531 silly addNameRange range: '>=0.10.0-0 <0.11.0-0',
531 silly addNameRange hasData: true }
532 silly addNameRange versions [ 'http-proxy',
532 silly addNameRange [ '0.5.9',
532 silly addNameRange '0.5.10',
532 silly addNameRange '0.5.11',
532 silly addNameRange '0.6.0',
532 silly addNameRange '0.6.1',
532 silly addNameRange '0.6.2',
532 silly addNameRange '0.6.4',
532 silly addNameRange '0.6.5',
532 silly addNameRange '0.6.6',
532 silly addNameRange '0.7.0',
532 silly addNameRange '0.7.2',
532 silly addNameRange '0.7.3',
532 silly addNameRange '0.7.4',
532 silly addNameRange '0.7.5',
532 silly addNameRange '0.7.6',
532 silly addNameRange '0.8.0',
532 silly addNameRange '0.8.1',
532 silly addNameRange '0.8.2',
532 silly addNameRange '0.8.3',
532 silly addNameRange '0.8.4',
532 silly addNameRange '0.8.5',
532 silly addNameRange '0.8.6',
532 silly addNameRange '0.8.7',
532 silly addNameRange '0.9.0',
532 silly addNameRange '0.9.1',
532 silly addNameRange '0.10.0',
532 silly addNameRange '0.10.1',
532 silly addNameRange '0.10.2',
532 silly addNameRange '0.10.3' ] ]
533 verbose addNamed [ 'http-proxy', '0.10.3' ]
534 verbose addNamed [ '0.10.3', '0.10.3' ]
535 silly lockFile 8a2ed421-http-proxy-0-10-3 http-proxy@0.10.3
536 verbose lock http-proxy@0.10.3 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\8a2ed421-http-proxy-0-10-3.lock
537 silly addNameRange number 2 { name: 'coffee-script',
537 silly addNameRange range: '>=1.6.0-0 <1.7.0-0',
537 silly addNameRange hasData: true }
538 silly addNameRange versions [ 'coffee-script',
538 silly addNameRange [ '0.7.0',
538 silly addNameRange '0.7.1',
538 silly addNameRange '0.7.2',
538 silly addNameRange '0.9.0',
538 silly addNameRange '0.9.1',
538 silly addNameRange '0.9.2',
538 silly addNameRange '0.9.3',
538 silly addNameRange '0.9.4',
538 silly addNameRange '0.9.5',
538 silly addNameRange '0.9.6',
538 silly addNameRange '1.0.0',
538 silly addNameRange '1.0.1',
538 silly addNameRange '1.1.0',
538 silly addNameRange '1.1.1',
538 silly addNameRange '1.1.2',
538 silly addNameRange '1.1.3',
538 silly addNameRange '1.2.0',
538 silly addNameRange '1.3.0',
538 silly addNameRange '1.3.1',
538 silly addNameRange '1.3.2',
538 silly addNameRange '1.3.3',
538 silly addNameRange '1.4.0',
538 silly addNameRange '1.5.0',
538 silly addNameRange '1.6.0',
538 silly addNameRange '1.6.1',
538 silly addNameRange '1.6.2',
538 silly addNameRange '1.6.3' ] ]
539 verbose addNamed [ 'coffee-script', '1.6.3' ]
540 verbose addNamed [ '1.6.3', '1.6.3' ]
541 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
542 verbose lock coffee-script@1.6.3 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\15ab88ca-coffee-script-1-6-3.lock
543 silly lockFile fe0ddac6-minimatch-0-2 minimatch@~0.2
544 silly lockFile fe0ddac6-minimatch-0-2 minimatch@~0.2
545 silly lockFile c01d0ea5-optimist-0-3 optimist@~0.3
546 silly lockFile c01d0ea5-optimist-0-3 optimist@~0.3
547 silly addNameRange number 2 { name: 'log4js', range: '>=0.6.3-0 <0.7.0-0', hasData: true }
548 silly addNameRange versions [ 'log4js',
548 silly addNameRange [ '0.1.0',
548 silly addNameRange '0.2.0',
548 silly addNameRange '0.2.2',
548 silly addNameRange '0.2.3',
548 silly addNameRange '0.2.4',
548 silly addNameRange '0.2.5',
548 silly addNameRange '0.2.6',
548 silly addNameRange '0.3.0',
548 silly addNameRange '0.3.1',
548 silly addNameRange '0.3.2',
548 silly addNameRange '0.3.3',
548 silly addNameRange '0.3.4',
548 silly addNameRange '0.3.5',
548 silly addNameRange '0.3.6',
548 silly addNameRange '0.3.7',
548 silly addNameRange '0.3.8',
548 silly addNameRange '0.3.9',
548 silly addNameRange '0.4.0',
548 silly addNameRange '0.4.1',
548 silly addNameRange '0.4.2',
548 silly addNameRange '0.4.3',
548 silly addNameRange '0.5.0',
548 silly addNameRange '0.5.1',
548 silly addNameRange '0.5.2',
548 silly addNameRange '0.5.3',
548 silly addNameRange '0.5.4',
548 silly addNameRange '0.5.5',
548 silly addNameRange '0.5.6',
548 silly addNameRange '0.5.7',
548 silly addNameRange '0.6.0',
548 silly addNameRange '0.6.1',
548 silly addNameRange '0.5.8',
548 silly addNameRange '0.6.2',
548 silly addNameRange '0.6.3',
548 silly addNameRange '0.6.4',
548 silly addNameRange '0.6.5',
548 silly addNameRange '0.6.6',
548 silly addNameRange '0.6.7',
548 silly addNameRange '0.6.8',
548 silly addNameRange '0.6.9' ] ]
549 verbose addNamed [ 'log4js', '0.6.9' ]
550 verbose addNamed [ '0.6.9', '0.6.9' ]
551 silly lockFile 80af7d90-log4js-0-6-9 log4js@0.6.9
552 verbose lock log4js@0.6.9 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\80af7d90-log4js-0-6-9.lock
553 silly addNameRange number 2 { name: 'useragent', range: '>=2.0.4-0 <2.1.0-0', hasData: true }
554 silly addNameRange versions [ 'useragent',
554 silly addNameRange [ '0.1.0',
554 silly addNameRange '0.1.1',
554 silly addNameRange '0.1.2',
554 silly addNameRange '1.0.0',
554 silly addNameRange '1.0.1',
554 silly addNameRange '1.0.2',
554 silly addNameRange '1.0.3',
554 silly addNameRange '1.0.4',
554 silly addNameRange '1.0.5',
554 silly addNameRange '1.0.6',
554 silly addNameRange '1.1.0',
554 silly addNameRange '2.0.0',
554 silly addNameRange '2.0.1',
554 silly addNameRange '2.0.2',
554 silly addNameRange '2.0.3',
554 silly addNameRange '2.0.4',
554 silly addNameRange '2.0.5',
554 silly addNameRange '2.0.6',
554 silly addNameRange '2.0.7' ] ]
555 verbose addNamed [ 'useragent', '2.0.7' ]
556 verbose addNamed [ '2.0.7', '2.0.7' ]
557 silly lockFile 809407bc-useragent-2-0-7 useragent@2.0.7
558 verbose lock useragent@2.0.7 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\809407bc-useragent-2-0-7.lock
559 http 304 https://registry.npmjs.org/glob
560 silly registry.get cb [ 304,
560 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
560 silly registry.get etag: '"FHUPEI84RTD0TUQHAT6GOLU3"',
560 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
560 silly registry.get 'content-length': '0',
560 silly registry.get age: '1',
560 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
561 verbose etag glob from cache
562 silly lockFile 4d29bcdb-connect-2-8-8 connect@2.8.8
563 silly lockFile 4d29bcdb-connect-2-8-8 connect@2.8.8
564 silly addNameRange number 2 { name: 'q', range: '>=0.9.0-0 <0.10.0-0', hasData: true }
565 silly addNameRange versions [ 'q',
565 silly addNameRange [ '0.0.0',
565 silly addNameRange '0.0.1',
565 silly addNameRange '0.0.2',
565 silly addNameRange '0.0.3',
565 silly addNameRange '0.1.0',
565 silly addNameRange '0.1.1',
565 silly addNameRange '0.1.2',
565 silly addNameRange '0.1.3',
565 silly addNameRange '0.1.4',
565 silly addNameRange '0.1.5',
565 silly addNameRange '0.1.6',
565 silly addNameRange '0.1.7',
565 silly addNameRange '0.1.8',
565 silly addNameRange '0.1.9',
565 silly addNameRange '0.2.0-rc1',
565 silly addNameRange '0.2.0',
565 silly addNameRange '0.2.1',
565 silly addNameRange '0.2.2',
565 silly addNameRange '0.2.3',
565 silly addNameRange '0.2.4',
565 silly addNameRange '0.2.5',
565 silly addNameRange '0.2.6',
565 silly addNameRange '0.2.7',
565 silly addNameRange '0.2.8',
565 silly addNameRange '0.2.9',
565 silly addNameRange '0.3.0',
565 silly addNameRange '0.2.10',
565 silly addNameRange '0.4.0',
565 silly addNameRange '0.4.1',
565 silly addNameRange '0.4.2',
565 silly addNameRange '0.4.4',
565 silly addNameRange '0.5.0',
565 silly addNameRange '0.5.1',
565 silly addNameRange '0.5.2',
565 silly addNameRange '0.5.3',
565 silly addNameRange '0.6.0',
565 silly addNameRange '0.7.0',
565 silly addNameRange '0.7.1',
565 silly addNameRange '0.7.2',
565 silly addNameRange '0.8.0',
565 silly addNameRange '0.8.1',
565 silly addNameRange '0.8.2',
565 silly addNameRange '0.8.3',
565 silly addNameRange '0.8.4',
565 silly addNameRange '0.8.5',
565 silly addNameRange '0.8.6',
565 silly addNameRange '0.8.7',
565 silly addNameRange '0.8.8',
565 silly addNameRange '0.8.9',
565 silly addNameRange '0.8.10',
565 silly addNameRange '0.8.11',
565 silly addNameRange '0.8.12',
565 silly addNameRange '0.9.0',
565 silly addNameRange '0.9.1',
565 silly addNameRange '0.9.2',
565 silly addNameRange '0.9.3',
565 silly addNameRange '0.9.4',
565 silly addNameRange '0.9.5',
565 silly addNameRange '0.9.6',
565 silly addNameRange '0.9.7' ] ]
566 verbose addNamed [ 'q', '0.9.7' ]
567 verbose addNamed [ '0.9.7', '0.9.7' ]
568 silly lockFile cc8e51ee-q-0-9-7 q@0.9.7
569 verbose lock q@0.9.7 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cc8e51ee-q-0-9-7.lock
570 silly lockFile 8fa706a3-connect-2-8-4 connect@~2.8.4
571 silly lockFile 8fa706a3-connect-2-8-4 connect@~2.8.4
572 silly lockFile fc79c1df-di-0-0-1 di@0.0.1
573 silly lockFile fc79c1df-di-0-0-1 di@0.0.1
574 silly lockFile 8333ef40-di-0-0-1 di@~0.0.1
575 silly lockFile 8333ef40-di-0-0-1 di@~0.0.1
576 silly lockFile 2b7757e4-chokidar-0-6-3 chokidar@0.6.3
577 silly lockFile 2b7757e4-chokidar-0-6-3 chokidar@0.6.3
578 silly lockFile 05dd3f50-lodash-1-1-1 lodash@1.1.1
579 silly lockFile 05dd3f50-lodash-1-1-1 lodash@1.1.1
580 silly lockFile faaa5c02-rimraf-2-1-4 rimraf@2.1.4
581 silly lockFile faaa5c02-rimraf-2-1-4 rimraf@2.1.4
582 silly addNameRange number 2 { name: 'glob', range: '>=3.1.21-0 <3.2.0-0', hasData: true }
583 silly addNameRange versions [ 'glob',
583 silly addNameRange [ '1.1.0',
583 silly addNameRange '2.0.9',
583 silly addNameRange '2.0.8',
583 silly addNameRange '2.0.7',
583 silly addNameRange '2.1.0',
583 silly addNameRange '3.0.0',
583 silly addNameRange '3.0.1',
583 silly addNameRange '3.1.0',
583 silly addNameRange '3.1.1',
583 silly addNameRange '3.1.2',
583 silly addNameRange '3.1.3',
583 silly addNameRange '3.1.4',
583 silly addNameRange '3.1.5',
583 silly addNameRange '3.1.6',
583 silly addNameRange '3.1.7',
583 silly addNameRange '3.1.9',
583 silly addNameRange '3.1.10',
583 silly addNameRange '3.1.11',
583 silly addNameRange '3.1.12',
583 silly addNameRange '3.1.13',
583 silly addNameRange '3.1.14',
583 silly addNameRange '3.1.15',
583 silly addNameRange '3.1.16',
583 silly addNameRange '3.1.17',
583 silly addNameRange '3.1.18',
583 silly addNameRange '3.1.19',
583 silly addNameRange '3.1.20',
583 silly addNameRange '3.1.21',
583 silly addNameRange '3.2.0',
583 silly addNameRange '3.2.1',
583 silly addNameRange '3.2.3',
583 silly addNameRange '3.2.4',
583 silly addNameRange '3.2.5',
583 silly addNameRange '3.2.6' ] ]
584 verbose addNamed [ 'glob', '3.1.21' ]
585 verbose addNamed [ '3.1.21', '3.1.21' ]
586 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
587 verbose lock glob@3.1.21 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ab465912-glob-3-1-21.lock
588 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
589 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
590 silly lockFile 89107558-chokidar-0-6 chokidar@~0.6
591 silly lockFile 89107558-chokidar-0-6 chokidar@~0.6
592 silly lockFile 304390bd-lodash-1-1 lodash@~1.1
593 silly lockFile 304390bd-lodash-1-1 lodash@~1.1
594 silly lockFile 37a759a6-rimraf-2-1 rimraf@~2.1
595 silly lockFile 37a759a6-rimraf-2-1 rimraf@~2.1
596 silly lockFile f7091508-mime-1-2 mime@~1.2
597 silly lockFile f7091508-mime-1-2 mime@~1.2
598 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
599 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
600 silly lockFile a1fba300-graceful-fs-1-2-1 graceful-fs@~1.2.1
601 silly lockFile a1fba300-graceful-fs-1-2-1 graceful-fs@~1.2.1
602 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
603 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
604 silly lockFile 02eba27f-colors-0-6-0-1 colors@0.6.0-1
605 silly lockFile 02eba27f-colors-0-6-0-1 colors@0.6.0-1
606 silly lockFile d0c13b8a-coffee-script-1-6 coffee-script@~1.6
607 silly lockFile d0c13b8a-coffee-script-1-6 coffee-script@~1.6
608 silly lockFile 8a2ed421-http-proxy-0-10-3 http-proxy@0.10.3
609 silly lockFile 8a2ed421-http-proxy-0-10-3 http-proxy@0.10.3
610 silly lockFile 6486d2d0-http-proxy-0-10 http-proxy@~0.10
611 silly lockFile 6486d2d0-http-proxy-0-10 http-proxy@~0.10
612 silly lockFile 80af7d90-log4js-0-6-9 log4js@0.6.9
613 silly lockFile 80af7d90-log4js-0-6-9 log4js@0.6.9
614 silly lockFile 809407bc-useragent-2-0-7 useragent@2.0.7
615 silly lockFile 809407bc-useragent-2-0-7 useragent@2.0.7
616 silly lockFile f3becdd9-log4js-0-6-3 log4js@~0.6.3
617 silly lockFile f3becdd9-log4js-0-6-3 log4js@~0.6.3
618 silly lockFile beb780e8-useragent-2-0-4 useragent@~2.0.4
619 silly lockFile beb780e8-useragent-2-0-4 useragent@~2.0.4
620 silly lockFile cc8e51ee-q-0-9-7 q@0.9.7
621 silly lockFile cc8e51ee-q-0-9-7 q@0.9.7
622 silly lockFile 81c03ade-q-0-9 q@~0.9
623 silly lockFile 81c03ade-q-0-9 q@~0.9
624 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
625 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
626 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
627 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
628 http 304 https://registry.npmjs.org/socket.io
629 silly registry.get cb [ 304,
629 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
629 silly registry.get etag: '"1ETH3XN4N1KL0L0SBBFHDFU2M"',
629 silly registry.get date: 'Tue, 01 Oct 2013 14:42:40 GMT',
629 silly registry.get 'content-length': '0',
629 silly registry.get age: '1',
629 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
630 verbose etag socket.io from cache
631 silly addNameRange number 2 { name: 'socket.io',
631 silly addNameRange range: '>=0.9.13-0 <0.10.0-0',
631 silly addNameRange hasData: true }
632 silly addNameRange versions [ 'socket.io',
632 silly addNameRange [ '0.3.8',
632 silly addNameRange '0.4.0',
632 silly addNameRange '0.4.1',
632 silly addNameRange '0.5.1',
632 silly addNameRange '0.5.3',
632 silly addNameRange '0.6.0',
632 silly addNameRange '0.6.1',
632 silly addNameRange '0.6.3',
632 silly addNameRange '0.6.4',
632 silly addNameRange '0.6.5',
632 silly addNameRange '0.6.6',
632 silly addNameRange '0.6.7',
632 silly addNameRange '0.6.8',
632 silly addNameRange '0.6.9',
632 silly addNameRange '0.6.10',
632 silly addNameRange '0.6.11',
632 silly addNameRange '0.6.12',
632 silly addNameRange '0.6.14',
632 silly addNameRange '0.6.15',
632 silly addNameRange '0.6.16',
632 silly addNameRange '0.6.17',
632 silly addNameRange '0.6.18',
632 silly addNameRange '0.7.0',
632 silly addNameRange '0.7.1',
632 silly addNameRange '0.7.2',
632 silly addNameRange '0.7.3',
632 silly addNameRange '0.7.4',
632 silly addNameRange '0.7.5',
632 silly addNameRange '0.7.6',
632 silly addNameRange '0.7.7',
632 silly addNameRange '0.7.8',
632 silly addNameRange '0.7.9',
632 silly addNameRange '0.7.10',
632 silly addNameRange '0.7.11',
632 silly addNameRange '0.8.0',
632 silly addNameRange '0.8.1',
632 silly addNameRange '0.8.2',
632 silly addNameRange '0.8.3',
632 silly addNameRange '0.8.4',
632 silly addNameRange '0.8.5',
632 silly addNameRange '0.8.6',
632 silly addNameRange '0.8.7',
632 silly addNameRange '0.9.0',
632 silly addNameRange '0.9.1',
632 silly addNameRange '0.9.1-1',
632 silly addNameRange '0.9.2',
632 silly addNameRange '0.9.3',
632 silly addNameRange '0.9.4',
632 silly addNameRange '0.9.5',
632 silly addNameRange '0.9.6',
632 silly addNameRange '0.9.7',
632 silly addNameRange '0.9.8',
632 silly addNameRange '0.9.9',
632 silly addNameRange '0.9.10',
632 silly addNameRange '0.9.11',
632 silly addNameRange '0.9.12',
632 silly addNameRange '0.9.13',
632 silly addNameRange '0.9.14',
632 silly addNameRange '0.9.15',
632 silly addNameRange '0.9.16' ] ]
633 verbose addNamed [ 'socket.io', '0.9.16' ]
634 verbose addNamed [ '0.9.16', '0.9.16' ]
635 silly lockFile a7acce22-socket-io-0-9-16 socket.io@0.9.16
636 verbose lock socket.io@0.9.16 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\a7acce22-socket-io-0-9-16.lock
637 silly lockFile a7acce22-socket-io-0-9-16 socket.io@0.9.16
638 silly lockFile a7acce22-socket-io-0-9-16 socket.io@0.9.16
639 silly lockFile 729f5b40-socket-io-0-9-13 socket.io@~0.9.13
640 silly lockFile 729f5b40-socket-io-0-9-13 socket.io@~0.9.13
641 silly resolved [ { author:
641 silly resolved { name: 'Isaac Z. Schlueter',
641 silly resolved email: 'i@izs.me',
641 silly resolved url: 'http://blog.izs.me' },
641 silly resolved name: 'minimatch',
641 silly resolved description: 'a glob matcher in javascript',
641 silly resolved version: '0.2.12',
641 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
641 silly resolved main: 'minimatch.js',
641 silly resolved scripts: { test: 'tap test' },
641 silly resolved engines: { node: '*' },
641 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
641 silly resolved devDependencies: { tap: '' },
641 silly resolved license:
641 silly resolved { type: 'MIT',
641 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
641 silly resolved readme: '# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require("minimatch")\n\nminimatch("bar.foo", "*.foo") // true!\nminimatch("bar.foo", "*.bar") // false!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n### Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not. **Note that this is different from the way that `**` is\nhandled by ruby\'s `Dir` class.**\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require("minimatch").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn\'t have any "magic" in it\n (that is, it\'s something like `"foo"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `""`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, "*.js", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable "extglob" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. When set, an empty list is returned if there are\nno matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
641 silly resolved _id: 'minimatch@0.2.12',
641 silly resolved _from: 'minimatch@~0.2' },
641 silly resolved { name: 'optimist',
641 silly resolved version: '0.3.7',
641 silly resolved description: 'Light-weight option parsing with an argv hash. No optstrings attached.',
641 silly resolved main: './index.js',
641 silly resolved dependencies: { wordwrap: '~0.0.2' },
641 silly resolved devDependencies: { hashish: '~0.0.4', tap: '~0.4.0' },
641 silly resolved scripts: { test: 'tap ./test/*.js' },
641 silly resolved repository:
641 silly resolved { type: 'git',
641 silly resolved url: 'http://github.com/substack/node-optimist.git' },
641 silly resolved keywords:
641 silly resolved [ 'argument',
641 silly resolved 'args',
641 silly resolved 'option',
641 silly resolved 'parser',
641 silly resolved 'parsing',
641 silly resolved 'cli',
641 silly resolved 'command' ],
641 silly resolved author:
641 silly resolved { name: 'James Halliday',
641 silly resolved email: 'mail@substack.net',
641 silly resolved url: 'http://substack.net' },
641 silly resolved license: 'MIT/X11',
641 silly resolved engine: { node: '>=0.4' },
641 silly resolved readme: 'optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn\'t have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n console.log(\'Buy more riffiwobbles\');\n}\nelse {\n console.log(\'Sell the xupptumblers\');\n}\n````\n\n***\n\n $ ./xup.js --rif=55 --xup=9.52\n Buy more riffiwobbles\n \n $ ./xup.js --rif 12 --xup 8.1\n Sell the xupptumblers\n\n![This one\'s optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There\'s more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\nconsole.log(\'(%d,%d)\', argv.x, argv.y);\n````\n\n***\n\n $ ./short.js -x 10 -y 21\n (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require(\'util\');\nvar argv = require(\'optimist\').argv;\n\nif (argv.s) {\n util.print(argv.fr ? \'Le chat dit: \' : \'The cat says: \');\n}\nconsole.log(\n (argv.fr ? \'miaou\' : \'meow\') + (argv.p ? \'.\' : \'\')\n);\n````\n\n***\n\n $ ./bool.js -s\n The cat says: meow\n \n $ ./bool.js -sp\n The cat says: meow.\n\n $ ./bool.js -sp --fr\n Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\nconsole.log(\'(%d,%d)\', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n $ ./nonopt.js -x 6.82 -y 3.35 moo\n (6.82,3.35)\n [ \'moo\' ]\n \n $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n (0.54,1.12)\n [ \'foo\', \'bar\', \'baz\' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .usage(\'Usage: $0 -x [num] -y [num]\')\n .demand([\'x\',\'y\'])\n .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n $ ./divide.js -x 55 -y 11\n 5\n \n $ node ./divide.js -x 4.91 -z 2.51\n Usage: node ./divide.js -x [num] -y [num]\n\n Options:\n -x [required]\n -y [required]\n\n Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .default(\'x\', 10)\n .default(\'y\', 10)\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_singles.js -x 5\n 15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .default({ x : 10, y : 10 })\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_hash.js -y 7\n 17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .boolean(\'v\')\n .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n $ ./boolean_single.js -v foo bar baz\n true\n [ \'bar\', \'baz\', \'foo\' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .boolean([\'x\',\'y\',\'z\'])\n .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_double.js -x -z one two three\n [ true, false, true ]\n [ \'one\', \'two\', \'three\' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .usage(\'Count the lines in a file.\\nUsage: $0\')\n .demand(\'f\')\n .alias(\'f\', \'file\')\n .describe(\'f\', \'Load a file\')\n .argv\n;\n\nvar fs = require(\'fs\');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on(\'data\', function (buf) {\n lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on(\'end\', function () {\n console.log(lines);\n});\n````\n\n***\n\n $ node line_count.js\n Count the lines in a file.\n Usage: node ./line_count.js\n\n Options:\n -f, --file Load a file [required]\n\n Missing required arguments: f\n\n $ node line_count.js --file line_count.js \n 20\n \n $ node line_count.js -f line_count.js \n 20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire(\'optimist\').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire(\'optimist\')([ \'-x\', \'1\', \'-y\', \'2\' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire(\'optimist\').parse([ \'-x\', \'1\', \'-y\', \'2\' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn\'t\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require(\'optimist\')\n .options(\'f\', {\n alias : \'file\',\n default : \'/etc/passwd\',\n })\n .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require(\'optimist\')\n .alias(\'f\', \'file\')\n .default(\'f\', \'/etc/passwd\')\n .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won\'t get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n { _: [ \'-c\', \'3\', \'-d\', \'4\' ],\n \'$0\': \'node ./examples/reflect.js\',\n a: 1,\n b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n $ node examples/reflect.js -a --no-b\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n a: true,\n b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n $ node examples/reflect.js -x 5 -x 8 -x 0\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n npm install optimist\n \nor clone this project on github:\n\n git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n \n expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl\'s\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n',
641 silly resolved readmeFilename: 'readme.markdown',
641 silly resolved bugs: { url: 'https://github.com/substack/node-optimist/issues' },
641 silly resolved _id: 'optimist@0.3.7',
641 silly resolved _from: 'optimist@~0.3' },
641 silly resolved { name: 'connect',
641 silly resolved version: '2.8.8',
641 silly resolved description: 'High performance middleware framework',
641 silly resolved keywords: [ 'framework', 'web', 'middleware', 'connect', 'rack' ],
641 silly resolved repository: { type: 'git', url: 'git://github.com/senchalabs/connect.git' },
641 silly resolved author:
641 silly resolved { name: 'TJ Holowaychuk',
641 silly resolved email: 'tj@vision-media.ca',
641 silly resolved url: 'http://tjholowaychuk.com' },
641 silly resolved dependencies:
641 silly resolved { qs: '0.6.5',
641 silly resolved formidable: '1.0.14',
641 silly resolved 'cookie-signature': '1.0.1',
641 silly resolved 'buffer-crc32': '0.2.1',
641 silly resolved cookie: '0.1.0',
641 silly resolved send: '0.1.4',
641 silly resolved bytes: '0.2.0',
641 silly resolved fresh: '0.2.0',
641 silly resolved pause: '0.0.1',
641 silly resolved uid2: '0.0.2',
641 silly resolved debug: '*',
641 silly resolved methods: '0.0.1' },
641 silly resolved devDependencies: { should: '*', mocha: '*', jade: '*', dox: '*' },
641 silly resolved licenses: [ [Object] ],
641 silly resolved main: 'index',
641 silly resolved engines: { node: '>= 0.8.0' },
641 silly resolved scripts: { test: 'make' },
641 silly resolved readme: '[![build status](https://secure.travis-ci.org/senchalabs/connect.png)](http://travis-ci.org/senchalabs/connect)\n# 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 - [csrf](http://www.senchalabs.org/connect/csrf.html)\n - [basicAuth](http://www.senchalabs.org/connect/basicAuth.html)\n - [bodyParser](http://www.senchalabs.org/connect/bodyParser.html)\n - [json](http://www.senchalabs.org/connect/json.html)\n - [multipart](http://www.senchalabs.org/connect/multipart.html)\n - [urlencoded](http://www.senchalabs.org/connect/urlencoded.html)\n - [cookieParser](http://www.senchalabs.org/connect/cookieParser.html)\n - [directory](http://www.senchalabs.org/connect/directory.html)\n - [compress](http://www.senchalabs.org/connect/compress.html)\n - [errorHandler](http://www.senchalabs.org/connect/errorHandler.html)\n - [favicon](http://www.senchalabs.org/connect/favicon.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 - [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 - [vhost](http://www.senchalabs.org/connect/vhost.html)\n - [subdomains](http://www.senchalabs.org/connect/subdomains.html)\n - [cookieSession](http://www.senchalabs.org/connect/cookieSession.html)\n\n## Running Tests\n\nfirst:\n\n $ npm install -d\n\nthen:\n\n $ make test\n\n## Authors\n\n Below is the output from [git-summary](http://github.com/visionmedia/git-extras).\n\n\n project: connect\n commits: 2033\n active : 301 days\n files : 171\n authors: \n 1414\tTj Holowaychuk 69.6%\n 298\tvisionmedia 14.7%\n 191\tTim Caswell 9.4%\n 51\tTJ Holowaychuk 2.5%\n 10\tRyan Olds 0.5%\n 8\tAstro 0.4%\n 5\tNathan Rajlich 0.2%\n 5\tJakub Nešetřil 0.2%\n 3\tDaniel Dickison 0.1%\n 3\tDavid Rio Deiros 0.1%\n 3\tAlexander Simmerl 0.1%\n 3\tAndreas Lind Petersen 0.1%\n 2\tAaron Heckmann 0.1%\n 2\tJacques Crocker 0.1%\n 2\tFabian Jakobs 0.1%\n 2\tBrian J Brennan 0.1%\n 2\tAdam Malcontenti-Wilson 0.1%\n 2\tGlen Mailer 0.1%\n 2\tJames Campos 0.1%\n 1\tTrent Mick 0.0%\n 1\tTroy Kruthoff 0.0%\n 1\tWei Zhu 0.0%\n 1\tcomerc 0.0%\n 1\tdarobin 0.0%\n 1\tnateps 0.0%\n 1\tMarco Sanson 0.0%\n 1\tArthur Taylor 0.0%\n 1\tAseem Kishore 0.0%\n 1\tBart Teeuwisse 0.0%\n 1\tCameron Howey 0.0%\n 1\tChad Weider 0.0%\n 1\tCraig Barnes 0.0%\n 1\tEran Hammer-Lahav 0.0%\n 1\tGregory McWhirter 0.0%\n 1\tGuillermo Rauch 0.0%\n 1\tJae Kwon 0.0%\n 1\tJakub Nesetril 0.0%\n 1\tJoshua Peek 0.0%\n 1\tJxck 0.0%\n 1\tAJ ONeal 0.0%\n 1\tMichael Hemesath 0.0%\n 1\tMorten Siebuhr 0.0%\n 1\tSamori Gorse 0.0%\n 1\tTom Jensen 0.0%\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 (_master_) `2.x` is compatible with node 0.6.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',
641 silly resolved readmeFilename: 'Readme.md',
641 silly resolved bugs: { url: 'https://github.com/senchalabs/connect/issues' },
641 silly resolved _id: 'connect@2.8.8',
641 silly resolved _from: 'connect@~2.8.4' },
641 silly resolved { name: 'di',
641 silly resolved version: '0.0.1',
641 silly resolved description: 'Dependency Injection for Node.js. Heavily inspired by AngularJS.',
641 silly resolved main: 'lib/index.js',
641 silly resolved scripts: { test: 'mocha --compilers coffee:coffee-script test/*' },
641 silly resolved repository: { type: 'git', url: 'git://github.com/vojtajina/node-di.git' },
641 silly resolved keywords: [ 'di', 'dependency', 'injection', 'injector' ],
641 silly resolved devDependencies:
641 silly resolved { grunt: '~0.4.0rc5',
641 silly resolved 'grunt-simple-mocha': '~0.3.2',
641 silly resolved 'grunt-contrib-jshint': '~0.1.1rc5',
641 silly resolved mocha: '1.8.1',
641 silly resolved chai: '1.4.2',
641 silly resolved 'coffee-script': '1.4.0' },
641 silly resolved author: { name: 'Vojta Jina', email: 'vojta.jina@gmail.com' },
641 silly resolved license: 'MIT',
641 silly resolved readme: '# Dependency Injection for Node.js\n\nHeavily influenced by [AngularJS] and its implementation of dependency injection.\nInspired by [Guice] and [Pico Container].\n\n[AngularJS]: http://angularjs.org/\n[Pico Container]: http://picocontainer.codehaus.org/\n[Guice]: http://code.google.com/p/google-guice/\n\n<!--\nDifferences compare to Angular:\n- service -> type\n- no config/runtime phase\n- no providers (configuration happens by registering config)\n- no $provide\n- no global module register\n- no array annotations (but annotate helper)\n- no decorators\n- no child injectors (yet)\n- comment annotation (TBD)\n- node module injection (TBD)\n-->\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved bugs: { url: 'https://github.com/vojtajina/node-di/issues' },
641 silly resolved _id: 'di@0.0.1',
641 silly resolved _from: 'di@~0.0.1' },
641 silly resolved { name: 'chokidar',
641 silly resolved description: 'A neat wrapper around node.js fs.watch / fs.watchFile.',
641 silly resolved version: '0.6.3',
641 silly resolved keywords: [ 'fs', 'watch', 'watchFile', 'watcher', 'file' ],
641 silly resolved homepage: 'https://github.com/paulmillr/chokidar',
641 silly resolved author: { name: 'Paul Miller', url: 'http://paulmillr.com' },
641 silly resolved repository:
641 silly resolved { type: 'git',
641 silly resolved url: 'https://github.com/paulmillr/chokidar.git' },
641 silly resolved bugs: { url: 'http://github.com/paulmillr/chokidar/issues' },
641 silly resolved licenses: [ [Object] ],
641 silly resolved main: './lib/index',
641 silly resolved scripts:
641 silly resolved { prepublish: 'node setup.js prepublish',
641 silly resolved postpublish: 'node setup.js postpublish',
641 silly resolved test: 'node setup.js test' },
641 silly resolved dependencies: {},
641 silly resolved devDependencies:
641 silly resolved { mocha: '~1.7.3',
641 silly resolved chai: '~1.4.0',
641 silly resolved sinon: '~1.5.2',
641 silly resolved 'sinon-chai': '2.2.0',
641 silly resolved 'coffee-script': '~1.6.0' },
641 silly resolved readme: '# Chokidar\nA neat wrapper around node.js fs.watch / fs.watchFile.\n\n## Why?\nNode.js `fs.watch`:\n\n* Doesn\'t report filenames on mac.\n* Doesn\'t report events at all when using editors like TextMate2 on mac.\n* Sometimes report events twice.\n* Has only one non-useful event: `rename`.\n* Has [a lot of other issues](https://github.com/joyent/node/search?q=fs.watch&type=Issues)\n\nNode.js `fs.watchFile`:\n\n* Almost as shitty in event tracking.\n\nChokidar resolves this problems.\n\nIt is used in\n[brunch](http://brunch.io),\n[socketstream](http://www.socketstream.org),\nand [karma](http://karma-runner.github.io)\nand had proven itself in production env.\n\n## Getting started\nInstall chokidar via node.js package manager:\n\n npm install chokidar\n\nThen just require the package in your code:\n\n```javascript\nvar chokidar = require(\'chokidar\');\n\nvar watcher = chokidar.watch(\'file or dir\', {ignored: /^\\./, persistent: true});\n\nwatcher\n .on(\'add\', function(path) {console.log(\'File\', path, \'has been added\');})\n .on(\'change\', function(path) {console.log(\'File\', path, \'has been changed\');})\n .on(\'unlink\', function(path) {console.log(\'File\', path, \'has been removed\');})\n .on(\'error\', function(error) {console.error(\'Error happened\', error);})\n\n// \'add\' and \'change\' events also receive stat() results as second argument.\n// http://nodejs.org/api/fs.html#fs_class_fs_stats\nwatcher.on(\'change\', function(path, stats) {\n console.log(\'File\', path, \'changed size to\', stats.size);\n});\n\nwatcher.add(\'new-file\');\nwatcher.add([\'new-file-2\', \'new-file-3\']);\n\n// Only needed if watching is persistent.\nwatcher.close();\n```\n\n## API\n* `chokidar.watch(paths, options)`: takes paths to be watched and options:\n * `options.ignored` (regexp or function) files to be ignored.\n This function or regexp is tested against the **whole path**,\n not just filename. Example:\n `chokidar.watch(\'file\', {ignored: /^\\./})`.\n * `options.persistent` (default: `false`). Indicates whether the process\n should continue to run as long as files are being watched.\n * `options.ignorePermissionErrors` (default: `false`). Indicates\n whether to watch files that don\'t have read permissions or not.\n * `options.ignoreInitial` (default: `false`). Indicates whether chokidar\n should ignore initial `add` events or not.\n * `options.interval` (default: `100`). Interval of file system polling.\n * `options.binaryInterval` (default: `300`). Interval of file system \n polling for binary files (see extensions in src/is-binary).\n * `options.usePolling` (default: `true`). Whether to use fs.watchFile \n (backed by polling), or fs.watch. If polling leads to high CPU utilization, \n consider setting this to `false`.\n\n`chokidar.watch()` produces an instance of `FSWatcher`. Methods of `FSWatcher`:\n\n* `.add(file / files)`: add directories / files for tracking.\nTakes an array of strings (file paths) or just one path.\n* `.on(event, callback)`: listen for an FS event.\nAvailable events: `add`, `change`, `unlink`, `error`.\nAlso, `all` is available which emitted for every `add`, `change` and `unlink`.\n* `.close()`: remove all listeners from watched files.\n\n## License\nThe MIT license.\n\nCopyright (c) 2013 Paul Miller (http://paulmillr.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the "Software"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved _id: 'chokidar@0.6.3',
641 silly resolved _from: 'chokidar@~0.6' },
641 silly resolved { name: 'lodash',
641 silly resolved version: '1.1.1',
641 silly resolved description: 'A utility library delivering consistency, customization, performance, and extras.',
641 silly resolved homepage: 'http://lodash.com',
641 silly resolved license: 'MIT',
641 silly resolved main: './dist/lodash.js',
641 silly resolved keywords:
641 silly resolved [ 'browser',
641 silly resolved 'client',
641 silly resolved 'functional',
641 silly resolved 'performance',
641 silly resolved 'server',
641 silly resolved 'speed',
641 silly resolved 'util' ],
641 silly resolved author:
641 silly resolved { name: 'John-David Dalton',
641 silly resolved email: 'john.david.dalton@gmail.com',
641 silly resolved url: 'http://allyoucanleet.com/' },
641 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
641 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
641 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
641 silly resolved engines: [ 'node', 'rhino' ],
641 silly resolved jam: { main: './dist/lodash.compat.js' },
641 silly resolved readme: '# Lo-Dash v1.1.1\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.js) and\n[Production](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.min.js)\n\n* Lo-Dash compatibility builds (for legacy and modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/lodash/lodash/1.1.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.1.1’s builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/):<br>\n[Lo-Dash dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.js),\n[Lo-Dash prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.min.js),<br>\n[Lo-Dash compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.compat.js),\n[Lo-Dash compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.compat.min.js),<br>\n[Underscore compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.underscore.js), and\n[Underscore compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.1.1/lodash.underscore.min.js)\n\n* For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Resources\n\nFor more information check out these articles, screencasts, and other videos over Lo-Dash:\n\n * Posts\n - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n\n * Videos\n - [Introducing Lo-Dash](https://vimeo.com/44154599)\n - [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n - [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n - [CascadiaJS: Lo-Dash for a better utility belt](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”* defined](http://michaux.ca/articles/lazy-function-definition-pattern) methods\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays and objects\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.createCallback](http://lodash.com/docs#createCallback) to customize how callback arguments are handled and support callback shorthands in mixins\n * [_.findIndex](http://lodash.com/docs#findIndex) and [_.findKey](http://lodash.com/docs#findKey) for finding indexes and keys of collections\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.parseInt](http://lodash.com/docs#parseInt) for consistent cross-environment behavior\n * [_.partial](http://lodash.com/docs#partial) and [_.partialRight](http://lodash.com/docs#partialRight) for partial application without `this` binding\n * [_.runInContext](http://lodash.com/docs#runInContext) for easier mocking and extended environment support\n * [_.support](http://lodash.com/docs#support) to flag environment features\n * [_.template](http://lodash.com/docs#template) supports [*“imports”* options](http://lodash.com/docs#templateSettings_imports), [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6), and [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.clone](http://lodash.com/docs#clone), [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick),\n [and more…](http://lodash.com/docs "_.assign, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest") accept `callback` and `thisArg` arguments\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.find](http://lodash.com/docs#find), [_.map](http://lodash.com/docs#map),\n [and more…](http://lodash.com/docs "_.countBy, _.every, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq") support *“_.pluck”* and *“_.where”* `callback` shorthands\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~25, Firefox 2~19, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.10.1, Narwhal 0.3.2, PhantomJS 1.8.1, RingoJS 0.9, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src="lodash.js"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nTo avoid potential issues, update `npm` before installing Lo-Dash:\n\n```bash\nnpm install npm -g\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS ≥ v0.8.0](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\');\n\n// or as a drop-in replacement for Underscore\nvar _ = require(\'lodash/dist/lodash.underscore\');\n```\n\n**Note:** If Lo-Dash is installed globally, run [`npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS ≤ v0.7.0](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'lodash.js\');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n \'paths\': {\n \'underscore\': \'path/to/lodash\'\n }\n},\n[\'underscore\'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Release Notes\n\n### <sup>v1.1.1</sup>\n\n * Ensured the `underscore` build version of `_.forEach` accepts a `thisArg` argument\n * Updated vendor/tar to work with Node v0.10.x\n\n### <sup>v1.1.0</sup>\n\n * Added `rhino -require` support\n * Added `_.createCallback`, `_findIndex`, `_.findKey`, `_.parseInt`, `_.runInContext`, and `_.support`\n * Added support for `callback` and `thisArg` arguments to `_.flatten`\n * Added CommonJS/Node support to precompiled templates\n * Ensured the `exports` object is not a DOM element\n * Ensured `_.isPlainObject` returns `false` for objects without a `[[Class]]` of “Object”\n * Made `_.cloneDeep`’s `callback` support more closely follow its documentation\n * Made the template precompiler create nonexistent directories of `--output` paths\n * Made `_.object` an alias of `_.zipObject`\n * Optimized method chaining, object iteration, `_.find`, and `_.pluck` (an average of 18% overall better performance)\n * Updated `backbone` build Lo-Dash method dependencies\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5+ precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved _id: 'lodash@1.1.1',
641 silly resolved _from: 'lodash@~1.1' },
641 silly resolved { name: 'rimraf',
641 silly resolved version: '2.1.4',
641 silly resolved main: 'rimraf.js',
641 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
641 silly resolved author:
641 silly resolved { name: 'Isaac Z. Schlueter',
641 silly resolved email: 'i@izs.me',
641 silly resolved url: 'http://blog.izs.me/' },
641 silly resolved license:
641 silly resolved { type: 'MIT',
641 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
641 silly resolved optionalDependencies: { 'graceful-fs': '~1' },
641 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
641 silly resolved scripts: { test: 'cd test && bash run.sh' },
641 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
641 silly resolved readme: 'A `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* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\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',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
641 silly resolved dependencies: { 'graceful-fs': '~1' },
641 silly resolved _id: 'rimraf@2.1.4',
641 silly resolved _from: 'rimraf@~2.1' },
641 silly resolved { author:
641 silly resolved { name: 'Robert Kieffer',
641 silly resolved email: 'robert@broofa.com',
641 silly resolved url: 'http://github.com/broofa' },
641 silly resolved contributors: [ [Object] ],
641 silly resolved dependencies: {},
641 silly resolved description: 'A comprehensive library for mime-type mapping',
641 silly resolved devDependencies: {},
641 silly resolved keywords: [ 'util', 'mime' ],
641 silly resolved main: 'mime.js',
641 silly resolved name: 'mime',
641 silly resolved repository: { url: 'https://github.com/broofa/node-mime', type: 'git' },
641 silly resolved version: '1.2.11',
641 silly resolved readme: '# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last \'/\' or \'.\'). E.g.\n\n var mime = require(\'mime\');\n\n mime.lookup(\'/path/to/file.txt\'); // => \'text/plain\'\n mime.lookup(\'file.txt\'); // => \'text/plain\'\n mime.lookup(\'.TXT\'); // => \'text/plain\'\n mime.lookup(\'htm\'); // => \'text/html\'\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n mime.extension(\'text/html\'); // => \'html\'\n mime.extension(\'application/octet-stream\'); // => \'bin\'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n mime.charsets.lookup(\'text/plain\'); // => \'UTF-8\'\n\n(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project. If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n mime.define({\n \'text/x-some-format\': [\'x-sf\', \'x-sft\', \'x-sfml\'],\n \'application/x-my-type\': [\'x-mt\', \'x-mtt\'],\n // etc ...\n });\n\n mime.lookup(\'x-sft\'); // => \'text/x-some-format\'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n mime.extension(\'text/x-some-format\'); // => \'x-sf\'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache ".types" format file\n\n mime.load(\'./my_project.types\');\n\nThe .types file format is simple - See the `types` dir for examples.\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved bugs: { url: 'https://github.com/broofa/node-mime/issues' },
641 silly resolved _id: 'mime@1.2.11',
641 silly resolved _from: 'mime@~1.2' },
641 silly resolved { author:
641 silly resolved { name: 'Isaac Z. Schlueter',
641 silly resolved email: 'i@izs.me',
641 silly resolved url: 'http://blog.izs.me' },
641 silly resolved name: 'graceful-fs',
641 silly resolved description: 'A drop-in replacement for fs, making various improvements.',
641 silly resolved version: '1.2.3',
641 silly resolved repository:
641 silly resolved { type: 'git',
641 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
641 silly resolved main: 'graceful-fs.js',
641 silly resolved engines: { node: '>=0.4.0' },
641 silly resolved directories: { test: 'test' },
641 silly resolved scripts: { test: 'tap test/*.js' },
641 silly resolved keywords:
641 silly resolved [ 'fs',
641 silly resolved 'module',
641 silly resolved 'reading',
641 silly resolved 'retry',
641 silly resolved 'retries',
641 silly resolved 'queue',
641 silly resolved 'error',
641 silly resolved 'errors',
641 silly resolved 'handling',
641 silly resolved 'EMFILE',
641 silly resolved 'EAGAIN',
641 silly resolved 'EINVAL',
641 silly resolved 'EPERM',
641 silly resolved 'EACCESS' ],
641 silly resolved license: 'BSD',
641 silly resolved readme: '# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over fs module\n\ngraceful-fs:\n\n* keeps track of how many file descriptors are open, and by default\n limits this to 1024. Any further requests to open a file are put in a\n queue until new slots become available. If 1024 turns out to be too\n much, it decreases the limit further.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn\'t root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## Configuration\n\nThe maximum number of open file descriptors that graceful-fs manages may\nbe adjusted by setting `fs.MAX_OPEN` to a different number. The default\nis 1024.\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved bugs: { url: 'https://github.com/isaacs/node-graceful-fs/issues' },
641 silly resolved _id: 'graceful-fs@1.2.3',
641 silly resolved _from: 'graceful-fs@~1.2.1' },
641 silly resolved { name: 'colors',
641 silly resolved description: 'get colors in your node.js console like what',
641 silly resolved version: '0.6.0-1',
641 silly resolved author: { name: 'Marak Squires' },
641 silly resolved repository: { type: 'git', url: 'http://github.com/Marak/colors.js.git' },
641 silly resolved engines: { node: '>=0.1.90' },
641 silly resolved main: 'colors',
641 silly resolved readme: '# colors.js - get color and style in your node.js console ( and browser ) like what\n\n<img src="http://i.imgur.com/goJdO.png" border = "0"/>\n\n\n## Installation\n\n npm install colors\n\n## colors and styles!\n\n- bold\n- italic\n- underline\n- inverse\n- yellow\n- cyan\n- white\n- magenta\n- green\n- red\n- grey\n- blue\n- rainbow\n- zebra\n- random\n\n## Usage\n\n``` js\nvar colors = require(\'./colors\');\n\nconsole.log(\'hello\'.green); // outputs green text\nconsole.log(\'i like cake and pies\'.underline.red) // outputs red underlined text\nconsole.log(\'inverse the color\'.inverse); // inverses the color\nconsole.log(\'OMG Rainbows!\'.rainbow); // rainbow (ignores spaces)\n```\n\n# Creating Custom themes\n\n```js\n\nvar require(\'colors\');\n\ncolors.setTheme({\n silly: \'rainbow\',\n input: \'grey\',\n verbose: \'cyan\',\n prompt: \'grey\',\n info: \'green\',\n data: \'grey\',\n help: \'cyan\',\n warn: \'yellow\',\n debug: \'blue\',\n error: \'red\'\n});\n\n// outputs red text\nconsole.log("this is an error".error);\n\n// outputs yellow text\nconsole.log("this is a warning".warn);\n```\n\n\n### Contributors \n\nMarak (Marak Squires)\nAlexis Sellier (cloudhead)\nmmalecki (Maciej Małecki)\nnicoreed (Nico Reed)\nmorganrallen (Morgan Allen)\nJustinCampbell (Justin Campbell)\nded (Dustin Diaz)\n\n\n#### , Marak Squires , Justin Campbell, Dustin Diaz (@ded)\n',
641 silly resolved readmeFilename: 'ReadMe.md',
641 silly resolved bugs: { url: 'https://github.com/Marak/colors.js/issues' },
641 silly resolved _id: 'colors@0.6.0-1',
641 silly resolved _from: 'colors@0.6.0-1' },
641 silly resolved { name: 'coffee-script',
641 silly resolved description: 'Unfancy JavaScript',
641 silly resolved keywords: [ 'javascript', 'language', 'coffeescript', 'compiler' ],
641 silly resolved author: { name: 'Jeremy Ashkenas' },
641 silly resolved version: '1.6.3',
641 silly resolved licenses: [ [Object] ],
641 silly resolved engines: { node: '>=0.8.0' },
641 silly resolved directories: { lib: './lib/coffee-script' },
641 silly resolved main: './lib/coffee-script/coffee-script',
641 silly resolved bin: { coffee: './bin/coffee', cake: './bin/cake' },
641 silly resolved scripts: { test: 'node ./bin/cake test' },
641 silly resolved homepage: 'http://coffeescript.org',
641 silly resolved bugs: { url: 'https://github.com/jashkenas/coffee-script/issues' },
641 silly resolved repository:
641 silly resolved { type: 'git',
641 silly resolved url: 'git://github.com/jashkenas/coffee-script.git' },
641 silly resolved devDependencies: { 'uglify-js': '~2.2', jison: '>=0.2.0' },
641 silly resolved readme: '\n {\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 Install Node.js, and then the CoffeeScript compiler:\n sudo bin/cake install\n\n Or, 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 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 All contributors are listed here:\n http://github.com/jashkenas/coffee-script/contributors\n',
641 silly resolved readmeFilename: 'README',
641 silly resolved _id: 'coffee-script@1.6.3',
641 silly resolved _from: 'coffee-script@~1.6' },
641 silly resolved { name: 'http-proxy',
641 silly resolved version: '0.10.3',
641 silly resolved description: 'A full-featured http reverse proxy for node.js',
641 silly resolved author: { name: 'Nodejitsu Inc.', email: 'info@nodejitsu.com' },
641 silly resolved maintainers: [ [Object], [Object] ],
641 silly resolved repository:
641 silly resolved { type: 'git',
641 silly resolved url: 'http://github.com/nodejitsu/node-http-proxy.git' },
641 silly resolved keywords: [ 'reverse', 'proxy', 'http' ],
641 silly resolved dependencies:
641 silly resolved { colors: '0.x.x',
641 silly resolved optimist: '0.3.x',
641 silly resolved pkginfo: '0.2.x',
641 silly resolved utile: '~0.1.7' },
641 silly resolved devDependencies:
641 silly resolved { request: '2.14.x',
641 silly resolved vows: '0.7.x',
641 silly resolved async: '0.2.x',
641 silly resolved 'socket.io': '0.9.11',
641 silly resolved 'socket.io-client': '0.9.11',
641 silly resolved ws: '0.4.23' },
641 silly resolved main: './lib/node-http-proxy',
641 silly resolved bin: { 'node-http-proxy': './bin/node-http-proxy' },
641 silly resolved scripts:
641 silly resolved { test: 'npm run-script test-http && npm run-script test-https && npm run-script test-core',
641 silly resolved 'test-http': 'vows --spec && vows --spec --target=https',
641 silly resolved 'test-https': 'vows --spec --proxy=https && vows --spec --proxy=https --target=https',
641 silly resolved 'test-core': 'test/core/run' },
641 silly resolved engines: { node: '>= 0.6.6' },
641 silly resolved readme: '# node-http-proxy [![Build Status](https://secure.travis-ci.org/nodejitsu/node-http-proxy.png)](http://travis-ci.org/nodejitsu/node-http-proxy)\n\n<img src="http://i.imgur.com/8fTt9.png" />\n\n## Battle-hardened node.js http proxy\n\n### Features\n\n* Reverse proxies incoming http.ServerRequest streams\n* Can be used as a CommonJS module in node.js\n* Uses event buffering to support application latency in proxied requests\n* Reverse or Forward Proxy based on simple JSON-based configuration\n* Supports [WebSockets][1]\n* Supports [HTTPS][2]\n* Minimal request overhead and latency\n* Full suite of functional tests\n* Battled-hardened through __production usage__ @ [nodejitsu.com][0]\n* Written entirely in Javascript\n* Easy to use API\n\n### When to use node-http-proxy\n\nLet\'s suppose you were running multiple http application servers, but you only wanted to expose one machine to the internet. You could setup node-http-proxy on that one machine and then reverse-proxy the incoming http requests to locally running services which were not exposed to the outside network. \n\n### Installing npm (node package manager)\n\n```\ncurl https://npmjs.org/install.sh | sh\n```\n\n### Installing node-http-proxy\n\n```\nnpm install http-proxy\n```\n\n## Using node-http-proxy\n\nThere are several ways to use node-http-proxy; the library is designed to be flexible so that it can be used by itself, or in conjunction with other node.js libraries / tools:\n\n1. Standalone HTTP Proxy server\n2. Inside of another HTTP server (like Connect)\n3. In conjunction with a Proxy Routing Table\n4. As a forward-proxy with a reverse proxy \n5. From the command-line as a long running process\n6. customized with 3rd party middleware.\n\nIn each of these scenarios node-http-proxy can handle any of these types of requests:\n\n1. HTTP Requests (http://)\n2. HTTPS Requests (https://)\n3. WebSocket Requests (ws://)\n4. Secure WebSocket Requests (wss://)\n\nSee the [examples][3] for more working sample code.\n\n### Setup a basic stand-alone proxy server\n\n``` js\nvar http = require(\'http\'),\n httpProxy = require(\'http-proxy\');\n//\n// Create your proxy server\n//\nhttpProxy.createServer(9000, \'localhost\').listen(8000);\n\n//\n// Create your target server\n//\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'request successfully proxied!\' + \'\\n\' + JSON.stringify(req.headers, true, 2));\n res.end();\n}).listen(9000);\n```\n\n### Setup a stand-alone proxy server with custom server logic\n\n``` js\nvar http = require(\'http\'),\n httpProxy = require(\'http-proxy\');\n \n//\n// Create a proxy server with custom application logic\n//\nhttpProxy.createServer(function (req, res, proxy) {\n //\n // Put your custom server logic here\n //\n proxy.proxyRequest(req, res, {\n host: \'localhost\',\n port: 9000\n });\n}).listen(8000);\n\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'request successfully proxied: \' + req.url +\'\\n\' + JSON.stringify(req.headers, true, 2));\n res.end();\n}).listen(9000);\n```\n\n### Setup a stand-alone proxy server with latency (e.g. IO, etc)\n\n``` js\nvar http = require(\'http\'),\n httpProxy = require(\'http-proxy\');\n\n//\n// Create a proxy server with custom application logic\n//\nhttpProxy.createServer(function (req, res, proxy) {\n //\n // Buffer the request so that `data` and `end` events\n // are not lost during async operation(s).\n //\n var buffer = httpProxy.buffer(req);\n \n //\n // Wait for two seconds then respond: this simulates\n // performing async actions before proxying a request\n //\n setTimeout(function () {\n proxy.proxyRequest(req, res, {\n host: \'localhost\',\n port: 9000, \n buffer: buffer\n }); \n }, 2000);\n}).listen(8000);\n\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'request successfully proxied: \' + req.url +\'\\n\' + JSON.stringify(req.headers, true, 2));\n res.end();\n}).listen(9000);\n```\n\n### Proxy requests within another http server\n\n``` js\nvar http = require(\'http\'),\n httpProxy = require(\'http-proxy\');\n \n//\n// Create a new instance of HttProxy to use in your server\n//\nvar proxy = new httpProxy.RoutingProxy();\n\n//\n// Create a regular http server and proxy its handler\n//\nhttp.createServer(function (req, res) {\n //\n // Put your custom server logic here, then proxy\n //\n proxy.proxyRequest(req, res, {\n host: \'localhost\',\n port: 9000\n });\n}).listen(8001);\n\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'request successfully proxied: \' + req.url +\'\\n\' + JSON.stringify(req.headers, true, 2));\n res.end();\n}).listen(9000); \n```\n\n### Proxy requests using a ProxyTable\nA Proxy Table is a simple lookup table that maps incoming requests to proxy target locations. Take a look at an example of the options you need to pass to httpProxy.createServer:\n\n``` js\nvar options = {\n router: {\n \'foo.com/baz\': \'127.0.0.1:8001\',\n \'foo.com/buz\': \'127.0.0.1:8002\',\n \'bar.com/buz\': \'127.0.0.1:8003\'\n }\n};\n```\n\nThe above route table will take incoming requests to \'foo.com/baz\' and forward them to \'127.0.0.1:8001\'. Likewise it will take incoming requests to \'foo.com/buz\' and forward them to \'127.0.0.1:8002\'. The routes themselves are later converted to regular expressions to enable more complex matching functionality. We can create a proxy server with these options by using the following code:\n\n``` js\nvar proxyServer = httpProxy.createServer(options);\nproxyServer.listen(80);\n```\n\n### Proxy requests using a \'Hostname Only\' ProxyTable\nAs mentioned in the previous section, all routes passes to the ProxyTable are by default converted to regular expressions that are evaluated at proxy-time. This is good for complex URL rewriting of proxy requests, but less efficient when one simply wants to do pure hostname routing based on the HTTP \'Host\' header. If you are only concerned with hostname routing, you change the lookup used by the internal ProxyTable:\n\n``` js\nvar options = {\n hostnameOnly: true,\n router: {\n \'foo.com\': \'127.0.0.1:8001\',\n \'bar.com\': \'127.0.0.1:8002\'\n }\n}\n```\n\nNotice here that I have not included paths on the individual domains because this is not possible when using only the HTTP \'Host\' header. Care to learn more? See [RFC2616: HTTP/1.1, Section 14.23, "Host"][4].\n\n### Proxy requests using a \'Pathname Only\' ProxyTable\n\nIf you dont care about forwarding to different hosts, you can redirect based on the request path.\n\n``` js\nvar options = {\n pathnameOnly: true,\n router: {\n \'/wiki\': \'127.0.0.1:8001\',\n \'/blog\': \'127.0.0.1:8002\',\n \'/api\': \'127.0.0.1:8003\'\n }\n}\n```\n\nThis comes in handy if you are running separate services or applications on separate paths. Note, using this option disables routing by hostname entirely.\n\n\n### Proxy requests with an additional forward proxy\nSometimes in addition to a reverse proxy, you may want your front-facing server to forward traffic to another location. For example, if you wanted to load test your staging environment. This is possible when using node-http-proxy using similar JSON-based configuration to a proxy table: \n\n``` js\nvar proxyServerWithForwarding = httpProxy.createServer(9000, \'localhost\', {\n forward: {\n port: 9000,\n host: \'staging.com\'\n }\n});\nproxyServerWithForwarding.listen(80);\n```\n\nThe forwarding option can be used in conjunction with the proxy table options by simply including both the \'forward\' and \'router\' properties in the options passed to \'createServer\'.\n\n### Listening for proxy events\nSometimes you want to listen to an event on a proxy. For example, you may want to listen to the \'end\' event, which represents when the proxy has finished proxying a request.\n\n``` js\nvar httpProxy = require(\'http-proxy\');\n\nvar server = httpProxy.createServer(function (req, res, proxy) {\n var buffer = httpProxy.buffer(req);\n\n proxy.proxyRequest(req, res, {\n host: \'127.0.0.1\',\n port: 9000,\n buffer: buffer\n });\n});\n\nserver.proxy.on(\'end\', function () {\n console.log("The request was proxied.");\n});\n\nserver.listen(8000);\n```\n\nIt\'s important to remember not to listen for events on the proxy object in the function passed to `httpProxy.createServer`. Doing so would add a new listener on every request, which would end up being a disaster.\n\n## Using HTTPS\nYou have all the full flexibility of node-http-proxy offers in HTTPS as well as HTTP. The two basic scenarios are: with a stand-alone proxy server or in conjunction with another HTTPS server.\n\n### Proxying to HTTP from HTTPS\nThis is probably the most common use-case for proxying in conjunction with HTTPS. You have some front-facing HTTPS server, but all of your internal traffic is HTTP. In this way, you can reduce the number of servers to which your CA and other important security files are deployed and reduce the computational overhead from HTTPS traffic. \n\nUsing HTTPS in `node-http-proxy` is relatively straight-forward:\n \n``` js\nvar fs = require(\'fs\'),\n http = require(\'http\'),\n https = require(\'https\'),\n httpProxy = require(\'http-proxy\');\n \nvar options = {\n https: {\n key: fs.readFileSync(\'path/to/your/key.pem\', \'utf8\'),\n cert: fs.readFileSync(\'path/to/your/cert.pem\', \'utf8\')\n }\n};\n\n//\n// Create a standalone HTTPS proxy server\n//\nhttpProxy.createServer(8000, \'localhost\', options).listen(8001);\n\n//\n// Create an instance of HttpProxy to use with another HTTPS server\n//\nvar proxy = new httpProxy.HttpProxy({\n target: {\n host: \'localhost\', \n port: 8000\n }\n});\nhttps.createServer(options.https, function (req, res) {\n proxy.proxyRequest(req, res)\n}).listen(8002);\n\n//\n// Create the target HTTPS server for both cases\n//\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'hello https\\n\');\n res.end();\n}).listen(8000);\n```\n\n### Using two certificates\n\nSuppose that your reverse proxy will handle HTTPS traffic for two different domains `fobar.com` and `barbaz.com`.\nIf you need to use two different certificates you can take advantage of [Server Name Indication](http://en.wikipedia.org/wiki/Server_Name_Indication).\n\n``` js\nvar https = require(\'https\'),\n path = require("path"),\n fs = require("fs"),\n crypto = require("crypto");\n\n//\n// generic function to load the credentials context from disk\n//\nfunction getCredentialsContext (cer) {\n return crypto.createCredentials({\n key: fs.readFileSync(path.join(__dirname, \'certs\', cer + \'.key\')),\n cert: fs.readFileSync(path.join(__dirname, \'certs\', cer + \'.crt\'))\n }).context;\n}\n\n//\n// A certificate per domain hash\n//\nvar certs = {\n "fobar.com": getCredentialsContext("foobar"),\n "barbaz.com": getCredentialsContext("barbaz")\n};\n\n//\n// Proxy options\n//\nvar options = {\n https: {\n SNICallback: function (hostname) {\n return certs[hostname];\n },\n cert: myCert,\n key: myKey,\n ca: [myCa]\n },\n hostnameOnly: true,\n router: {\n \'fobar.com\': \'127.0.0.1:8001\',\n \'barbaz.com\': \'127.0.0.1:8002\'\n }\n};\n\n//\n// Create a standalone HTTPS proxy server\n//\nhttpProxy.createServer(options).listen(8001);\n\n//\n// Create the target HTTPS server\n//\nhttp.createServer(function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'hello https\\n\');\n res.end();\n}).listen(8000);\n\n```\n\n### Proxying to HTTPS from HTTPS\nProxying from HTTPS to HTTPS is essentially the same as proxying from HTTPS to HTTP, but you must include the `target` option in when calling `httpProxy.createServer` or instantiating a new instance of `HttpProxy`.\n\n``` js\nvar fs = require(\'fs\'),\n https = require(\'https\'),\n httpProxy = require(\'http-proxy\');\n \nvar options = {\n https: {\n key: fs.readFileSync(\'path/to/your/key.pem\', \'utf8\'),\n cert: fs.readFileSync(\'path/to/your/cert.pem\', \'utf8\')\n },\n target: {\n https: true // This could also be an Object with key and cert properties\n }\n};\n\n//\n// Create a standalone HTTPS proxy server\n//\nhttpProxy.createServer(8000, \'localhost\', options).listen(8001);\n\n//\n// Create an instance of HttpProxy to use with another HTTPS server\n//\nvar proxy = new httpProxy.HttpProxy({ \n target: {\n host: \'localhost\', \n port: 8000,\n https: true\n }\n});\n\nhttps.createServer(options.https, function (req, res) {\n proxy.proxyRequest(req, res);\n}).listen(8002);\n\n//\n// Create the target HTTPS server for both cases\n//\nhttps.createServer(options.https, function (req, res) {\n res.writeHead(200, { \'Content-Type\': \'text/plain\' });\n res.write(\'hello https\\n\');\n res.end();\n}).listen(8000);\n```\n## Middleware\n\n`node-http-proxy` now supports connect middleware. Add middleware functions to your createServer call:\n\n``` js\nhttpProxy.createServer(\n require(\'connect-gzip\').gzip(),\n 9000, \'localhost\'\n).listen(8000);\n```\n\nA regular request we receive is to support the modification of html/xml content that is returned in the response from an upstream server. \n\n[Harmon](https://github.com/No9/harmon/) is a stream based middleware plugin that is designed to solve that problem in the most effective way possible. \n\n## Proxying WebSockets\nWebsockets are handled automatically when using `httpProxy.createServer()`, however, if you supply a callback inside the createServer call, you will need to handle the \'upgrade\' proxy event yourself. Here\'s how:\n\n```js\n\nvar options = {\n ....\n};\n\nvar server = httpProxy.createServer(\n callback/middleware, \n options\n);\n\nserver.listen(port, function () { ... });\nserver.on(\'upgrade\', function (req, socket, head) {\n server.proxy.proxyWebSocketRequest(req, socket, head);\n});\n```\n\nIf you would rather not use createServer call, and create the server that proxies yourself, see below:\n\n``` js\nvar http = require(\'http\'),\n httpProxy = require(\'http-proxy\');\n \n//\n// Create an instance of node-http-proxy\n//\nvar proxy = new httpProxy.HttpProxy({\n target: {\n host: \'localhost\',\n port: 8000\n }\n});\n\nvar server = http.createServer(function (req, res) {\n //\n // Proxy normal HTTP requests\n //\n proxy.proxyRequest(req, res);\n});\n\nserver.on(\'upgrade\', function (req, socket, head) {\n //\n // Proxy websocket requests too\n //\n proxy.proxyWebSocketRequest(req, socket, head);\n});\n\nserver.listen(8080);\n```\n\n### with custom server logic\n\n``` js\nvar httpProxy = require(\'http-proxy\')\n\nvar server = httpProxy.createServer(function (req, res, proxy) {\n //\n // Put your custom server logic here\n //\n proxy.proxyRequest(req, res, {\n host: \'localhost\',\n port: 9000\n });\n})\n\nserver.on(\'upgrade\', function (req, socket, head) {\n //\n // Put your custom server logic here\n //\n server.proxy.proxyWebSocketRequest(req, socket, head, {\n host: \'localhost\',\n port: 9000\n });\n});\n\nserver.listen(8080);\n```\n\n### Configuring your Socket limits\n\nBy default, `node-http-proxy` will set a 100 socket limit for all `host:port` proxy targets. You can change this in two ways: \n\n1. By passing the `maxSockets` option to `httpProxy.createServer()`\n2. By calling `httpProxy.setMaxSockets(n)`, where `n` is the number of sockets you with to use. \n\n## POST requests and buffering\n\nexpress.bodyParser will interfere with proxying of POST requests (and other methods that have a request \nbody). With bodyParser active, proxied requests will never send anything to the upstream server, and \nthe original client will just hang. See https://github.com/nodejitsu/node-http-proxy/issues/180 for options.\n\n## Using node-http-proxy from the command line\nWhen you install this package with npm, a node-http-proxy binary will become available to you. Using this binary is easy with some simple options:\n\n``` js\nusage: node-http-proxy [options] \n\nAll options should be set with the syntax --option=value\n\noptions:\n --port PORT Port that the proxy server should run on\n --target HOST:PORT Location of the server the proxy will target\n --config OUTFILE Location of the configuration file for the proxy server\n --silent Silence the log output from the proxy server\n -h, --help You\'re staring at it\n```\n\n<br/>\n## Why doesn\'t node-http-proxy have more advanced features like x, y, or z?\n\nIf you have a suggestion for a feature currently not supported, feel free to open a [support issue][6]. node-http-proxy is designed to just proxy http requests from one server to another, but we will be soon releasing many other complimentary projects that can be used in conjunction with node-http-proxy.\n\n## Options\n\n### Http Proxy\n\n`createServer()` supports the following options\n\n```javascript\n{\n forward: { // options for forward-proxy\n port: 8000,\n host: \'staging.com\'\n },\n target : { // options for proxy target\n port : 8000, \n host : \'localhost\',\n };\n source : { // additional options for websocket proxying \n host : \'localhost\',\n port : 8000,\n https: true\n },\n enable : {\n xforward: true // enables X-Forwarded-For\n },\n changeOrigin: false, // changes the origin of the host header to the target URL\n timeout: 120000 // override the default 2 minute http socket timeout value in milliseconds\n}\n```\n\n## Run Tests\nThe test suite is designed to fully cover the combinatoric possibilities of HTTP and HTTPS proxying:\n\n1. HTTP --> HTTP\n2. HTTPS --> HTTP\n3. HTTPS --> HTTPS\n4. HTTP --> HTTPS\n\n```\nvows test/*-test.js --spec\nvows test/*-test.js --spec --https\nvows test/*-test.js --spec --https --target=https\nvows test/*-test.js --spec --target=https\n```\n\n<br/>\n### License\n\n(The MIT License)\n\nCopyright (c) 2010 Charlie Robbins, Mikeal Rogers, Fedor Indutny, & Marak Squires\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\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n[0]: http://nodejitsu.com\n[1]: https://github.com/nodejitsu/node-http-proxy/blob/master/examples/websocket/websocket-proxy.js\n[2]: https://github.com/nodejitsu/node-http-proxy/blob/master/examples/http/proxy-https-to-http.js\n[3]: https://github.com/nodejitsu/node-http-proxy/tree/master/examples\n[4]: http://www.ietf.org/rfc/rfc2616.txt\n[5]: http://socket.io\n[6]: http://github.com/nodejitsu/node-http-proxy/issues\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved bugs: { url: 'https://github.com/nodejitsu/node-http-proxy/issues' },
641 silly resolved _id: 'http-proxy@0.10.3',
641 silly resolved _from: 'http-proxy@~0.10' },
641 silly resolved { name: 'log4js',
641 silly resolved version: '0.6.9',
641 silly resolved description: 'Port of Log4js to work with node.',
641 silly resolved keywords: [ 'logging', 'log', 'log4j', 'node' ],
641 silly resolved main: './lib/log4js',
641 silly resolved author: { name: 'Gareth Jones', email: 'gareth.jones@sensis.com.au' },
641 silly resolved repository:
641 silly resolved { type: 'git',
641 silly resolved url: 'https://github.com/nomiddlename/log4js-node.git' },
641 silly resolved bugs: { url: 'http://github.com/nomiddlename/log4js-node/issues' },
641 silly resolved engines: { node: '>=0.8' },
641 silly resolved scripts: { test: 'vows' },
641 silly resolved directories: { test: 'test', lib: 'lib' },
641 silly resolved dependencies:
641 silly resolved { async: '0.1.15',
641 silly resolved semver: '~1.1.4',
641 silly resolved 'readable-stream': '~1.0.2' },
641 silly resolved devDependencies:
641 silly resolved { vows: '0.7.0',
641 silly resolved 'sandboxed-module': '0.1.3',
641 silly resolved 'hook.io': '0.8.10',
641 silly resolved underscore: '1.2.1' },
641 silly resolved browser: { os: false },
641 silly resolved readme: '# log4js-node [![Build Status](https://secure.travis-ci.org/nomiddlename/log4js-node.png?branch=master)](http://travis-ci.org/nomiddlename/log4js-node)\n\n\nThis is a conversion of the [log4js](http://log4js.berlios.de/index.html)\nframework to work with [node](http://nodejs.org). I\'ve mainly stripped out the browser-specific code and tidied up some of the javascript. \n\nOut of the box it supports the following features:\n\n* coloured console logging\n* replacement of node\'s console.log functions (optional)\n* file appender, with log rolling based on file size\n* SMTP appender\n* GELF appender\n* hook.io appender\n* multiprocess appender (useful when you\'ve got worker processes)\n* a logger for connect/express servers\n* configurable log message layout/patterns\n* different log levels for different log categories (make some parts of your app log as DEBUG, others only ERRORS, etc.)\n\nNOTE: from log4js 0.5 onwards you\'ll need to explicitly enable replacement of node\'s console.log functions. Do this either by calling `log4js.replaceConsole()` or configuring with an object or json file like this:\n\n```javascript\n{\n appenders: [\n { type: "console" }\n ],\n replaceConsole: true\n}\n```\n\n## installation\n\nnpm install log4js\n\n\n## usage\n\nMinimalist version:\n```javascript\nvar log4js = require(\'log4js\');\nvar logger = log4js.getLogger();\nlogger.debug("Some debug messages");\n```\nBy default, log4js outputs to stdout with the coloured layout (thanks to [masylum](http://github.com/masylum)), so for the above you would see:\n```bash\n[2010-01-17 11:43:37.987] [DEBUG] [default] - Some debug messages\n```\nSee example.js for a full example, but here\'s a snippet (also in fromreadme.js):\n```javascript\nvar log4js = require(\'log4js\'); \n//console log is loaded by default, so you won\'t normally need to do this\n//log4js.loadAppender(\'console\');\nlog4js.loadAppender(\'file\');\n//log4js.addAppender(log4js.appenders.console());\nlog4js.addAppender(log4js.appenders.file(\'logs/cheese.log\'), \'cheese\');\n\nvar logger = log4js.getLogger(\'cheese\');\nlogger.setLevel(\'ERROR\');\n\nlogger.trace(\'Entering cheese testing\');\nlogger.debug(\'Got cheese.\');\nlogger.info(\'Cheese is Gouda.\');\nlogger.warn(\'Cheese is quite smelly.\');\nlogger.error(\'Cheese is too ripe!\');\nlogger.fatal(\'Cheese was breeding ground for listeria.\');\n```\nOutput:\n```bash\n[2010-01-17 11:43:37.987] [ERROR] cheese - Cheese is too ripe!\n[2010-01-17 11:43:37.990] [FATAL] cheese - Cheese was breeding ground for listeria.\n``` \nThe first 5 lines of the code above could also be written as:\n```javascript\nvar log4js = require(\'log4js\');\nlog4js.configure({\n appenders: [\n { type: \'console\' },\n { type: \'file\', filename: \'logs/cheese.log\', category: \'cheese\' }\n ]\n});\n```\n\n## configuration\n\nYou can configure the appenders and log levels manually (as above), or provide a\nconfiguration file (`log4js.configure(\'path/to/file.json\')`), or a configuration object. The \nconfiguration file location may also be specified via the environment variable \nLOG4JS_CONFIG (`export LOG4JS_CONFIG=path/to/file.json`). \nAn example file can be found in `test/log4js.json`. An example config file with log rolling is in `test/with-log-rolling.json`.\nBy default, the configuration file is checked for changes every 60 seconds, and if changed, reloaded. This allows changes to logging levels to occur without restarting the application.\n\nTo turn off configuration file change checking, configure with:\n\n```javascript\nvar log4js = require(\'log4js\');\nlog4js.configure(\'my_log4js_configuration.json\', {});\n```\nTo specify a different period:\n\n```javascript\nlog4js.configure(\'file.json\', { reloadSecs: 300 });\n```\nFor FileAppender you can also pass the path to the log directory as an option where all your log files would be stored.\n\n```javascript\nlog4js.configure(\'my_log4js_configuration.json\', { cwd: \'/absolute/path/to/log/dir\' });\n```\nIf you have already defined an absolute path for one of the FileAppenders in the configuration file, you could add a "absolute": true to the particular FileAppender to override the cwd option passed. Here is an example configuration file:\n```json\n#### my_log4js_configuration.json ####\n{\n "appenders": [\n {\n "type": "file",\n "filename": "relative/path/to/log_file.log",\n "maxLogSize": 20480,\n "backups": 3,\n "category": "relative-logger"\n },\n {\n "type": "file",\n "absolute": true,\n "filename": "/absolute/path/to/log_file.log",\n "maxLogSize": 20480,\n "backups": 10,\n "category": "absolute-logger" \n }\n ]\n}\n``` \nDocumentation for most of the core appenders can be found on the [wiki](https://github.com/nomiddlename/log4js-node/wiki/Appenders), otherwise take a look at the tests and the examples.\n\n## Documentation\nSee the [wiki](https://github.com/nomiddlename/log4js-node/wiki). Improve the [wiki](https://github.com/nomiddlename/log4js-node/wiki), please.\n\n## Contributing\nContributions welcome, but take a look at the [rules](https://github.com/nomiddlename/log4js-node/wiki/Contributing) first.\n\n## License\n\nThe original log4js was distributed under the Apache 2.0 License, and so is this. I\'ve tried to\nkeep the original copyright and author credits in place, except in sections that I have rewritten\nextensively.\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved _id: 'log4js@0.6.9',
641 silly resolved _from: 'log4js@~0.6.3' },
641 silly resolved { name: 'useragent',
641 silly resolved version: '2.0.7',
641 silly resolved description: 'Fastest, most accurate & effecient user agent string parser, uses Browserscope\'s research for parsing',
641 silly resolved author: { name: 'Arnout Kazemier' },
641 silly resolved main: './index.js',
641 silly resolved keywords:
641 silly resolved [ 'agent',
641 silly resolved 'browser',
641 silly resolved 'browserscope',
641 silly resolved 'os',
641 silly resolved 'parse',
641 silly resolved 'parser',
641 silly resolved 'ua',
641 silly resolved 'ua-parse',
641 silly resolved 'ua-parser',
641 silly resolved 'user agent',
641 silly resolved 'user',
641 silly resolved 'user-agent',
641 silly resolved 'useragent',
641 silly resolved 'version' ],
641 silly resolved maintainers: [ [Object] ],
641 silly resolved license:
641 silly resolved { type: 'MIT',
641 silly resolved url: 'https://github.com/3rd-Eden/useragent/blob/master/LICENSE' },
641 silly resolved repository: { type: 'git', url: 'http://github.com/3rd-Eden/useragent.git' },
641 silly resolved devDependencies:
641 silly resolved { should: '*',
641 silly resolved mocha: '*',
641 silly resolved 'long-stack-traces': '0.1.x',
641 silly resolved yamlparser: '0.0.x',
641 silly resolved request: '2.9.x',
641 silly resolved semver: '1.0.x',
641 silly resolved 'pre-commit': '0.0.x' },
641 silly resolved 'pre-commit': [ 'test', 'update' ],
641 silly resolved scripts:
641 silly resolved { test: 'mocha $(find test -name \'*.test.js\')',
641 silly resolved qa: 'mocha --ui exports $(find test -name \'*.qa.js\')',
641 silly resolved update: 'node ./bin/update.js' },
641 silly resolved dependencies: { 'lru-cache': '2.2.x' },
641 silly resolved readme: '# useragent - high performance user agent parser for Node.js\n\nUseragent originated as port of [browserscope.org][browserscope]\'s user agent\nparser project also known as ua-parser. Useragent allows you to parse user agent\nstring with high accuracy by using hand tuned dedicated regular expressions for\nbrowser matching. This database is needed to ensure that every browser is\ncorrectly parsed as every browser vendor implements it\'s own user agent schema.\nThis is why regular user agent parsers have major issues because they will\nmost likely parse out the wrong browser name or confuse the render engine version\nwith the actual version of the browser.\n\n---\n\n### Build status [![BuildStatus](https://secure.travis-ci.org/3rd-Eden/useragent.png?branch=master)](http://travis-ci.org/3rd-Eden/useragent)\n\n---\n\n### High performance\n\nThe module has been developed with a benchmark driven approach. It has a\npre-compiled library that contains all the Regular Expressions and uses deferred\nor on demand parsing for Operating System and device information. All this\nengineering effort has been worth it as [this benchmark shows][benchmark]:\n\n```\nStarting the benchmark, parsing 62 useragent strings per run\n\nExecuted benchmark against node module: "useragent"\nCount (61), Cycles (5), Elapsed (5.559), Hz (1141.3739447904327)\n\nExecuted benchmark against node module: "useragent_parser"\nCount (29), Cycles (3), Elapsed (5.448), Hz (545.6817291171243)\n\nExecuted benchmark against node module: "useragent-parser"\nCount (16), Cycles (4), Elapsed (5.48), Hz (304.5373431830105)\n\nExecuted benchmark against node module: "ua-parser"\nCount (54), Cycles (3), Elapsed (5.512), Hz (1018.7561434659247)\n\nModule: "useragent" is the user agent fastest parser.\n```\n\n---\n\n### Installation\n\nInstallation is done using the Node Package Manager (NPM). If you don\'t have\nNPM installed on your system you can download it from\n[npmjs.org][npm]\n\n```\nnpm install useragent --save\n```\n\nThe `--save` flag tells NPM to automatically add it to your `package.json` file.\n\n---\n\n### API\n\n\nInclude the `useragent` parser in you node.js application:\n\n```js\nvar useragent = require(\'useragent\');\n```\n\nThe `useragent` library allows you do use the automatically installed RegExp\nlibrary or you can fetch it live from the remote servers. So if you are\nparanoid and always want your RegExp library to be up to date to match with\nagent the widest range of `useragent` strings you can do:\n\n```js\nvar useragent = require(\'useragent\');\nuseragent(true);\n```\n\nThis will async load the database from the server and compile it to a proper\nJavaScript supported format. If it fails to compile or load it from the remote\nlocation it will just fall back silently to the shipped version. If you want to\nuse this feature you need to add `yamlparser` and `request` to your package.json\n\n```\nnpm install yamlparser --save\nnpm install request --save\n```\n\n#### useragent.parse(useragent string[, js useragent]);\n\nThis is the actual user agent parser, this is where all the magic is happening.\nThe function accepts 2 arguments, both should be a `string`. The first argument\nshould the user agent string that is known on the server from the\n`req.headers.useragent` header. The other argument is optional and should be\nthe user agent string that you see in the browser, this can be send from the\nbrowser using a xhr request or something like this. This allows you detect if\nthe user is browsing the web using the `Chrome Frame` extension.\n\nThe parser returns a Agent instance, this allows you to output user agent\ninformation in different predefined formats. See the Agent section for more\ninformation.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\n\n// example for parsing both the useragent header and a optional js useragent\nvar agent2 = useragent.parse(req.headers[\'user-agent\'], req.query.jsuseragent);\n```\n\nThe parse method returns a `Agent` instance which contains all details about the\nuser agent. See the Agent section of the API documentation for the available\nmethods.\n\n#### useragent.lookup(useragent string[, js useragent]);\n\nThis provides the same functionality as above, but it caches the user agent\nstring and it\'s parsed result in memory to provide faster lookups in the\nfuture. This can be handy if you expect to parse a lot of user agent strings.\n\nIt uses the same arguments as the `useragent.parse` method and returns exactly\nthe same result, but it\'s just cached.\n\n```js\nvar agent = useragent.lookup(req.headers[\'user-agent\']);\n```\n\nAnd this is a serious performance improvement as shown in this benchmark:\n\n```\nExecuted benchmark against method: "useragent.parse"\nCount (49), Cycles (3), Elapsed (5.534), Hz (947.6844321931629)\n\nExecuted benchmark against method: "useragent.lookup"\nCount (11758), Cycles (3), Elapsed (5.395), Hz (229352.03831239208)\n```\n\n#### useragent.fromJSON(obj);\n\nTransforms the JSON representation of a `Agent` instance back in to a working\n`Agent` instance\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\'])\n , another = useragent.fromJSON(JSON.stringify(agent));\n\nconsole.log(agent == another);\n```\n\n#### useragent.is(useragent string).browsername;\n\nThis api provides you with a quick and dirty browser lookup. The underlying\ncode is usually found on client side scripts so it\'s not the same quality as\nour `useragent.parse` method but it might be needed for legacy reasons.\n\n`useragent.is` returns a object with potential matched browser names\n\n```js\nuseragent.is(req.headers[\'user-agent\']).firefox // true\nuseragent.is(req.headers[\'user-agent\']).safari // false\nvar ua = useragent.is(req.headers[\'user-agent\'])\n\n// the object\n{\n version: \'3\'\n webkit: false\n opera: false\n ie: false\n chrome: false\n safari: false\n mobile_safari: false\n firefox: true\n}\n```\n\n---\n\n### Agents, OperatingSystem and Device instances\n\nMost of the methods mentioned above return a Agent instance. The Agent exposes\nthe parsed out information from the user agent strings. This allows us to\nextend the agent with more methods that do not necessarily need to be in the\ncore agent instance, allowing us to expose a plugin interface for third party\ndevelopers and at the same time create a uniform interface for all versioning.\n\nThe Agent has the following property\n\n- `family` The browser family, or browser name, it defaults to Other.\n- `major` The major version number of the family, it defaults to 0.\n- `minor` The minor version number of the family, it defaults to 0.\n- `patch` The patch version number of the family, it defaults to 0.\n\nIn addition to the properties mentioned above, it also has 2 special properties,\nwhich are:\n\n- `os` OperatingSystem instance\n- `device` Device instance\n\nWhen you access those 2 properties the agent will do on demand parsing of the\nOperating System or/and Device information.\n\nThe OperatingSystem has the same properties as the Agent, for the Device we\ndon\'t have any versioning information available, so only the `family` property is\nset there. If we cannot find the family, they will default to `Other`.\n\nThe following methods are available:\n\n#### Agent.toAgent();\n\nReturns the family and version number concatinated in a nice human readable\nstring.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.toAgent(); // \'Chrome 15.0.874\'\n```\n\n#### Agent.toString();\n\nReturns the results of the `Agent.toAgent()` but also adds the parsed operating\nsystem to the string in a human readable format.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.toString(); // \'Chrome 15.0.874 / Mac OS X 10.8.1\'\n\n// as it\'s a to string method you can also concat it with another string\n\'your useragent is \' + agent;\n// \'your useragent is Chrome 15.0.874 / Mac OS X 10.8.1\'\n```\n#### Agent.toVersion();\n\nReturns the version of the browser in a human readable string.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.toVersion(); // \'15.0.874\'\n```\n\n#### Agent.toJSON();\n\nGenerates a JSON representation of the Agent. By using the `toJSON` method we\nautomatically allow it to be stringified when supplying as to the\n`JSON.stringify` method.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.toJSON(); // returns an object\n\nJSON.stringify(agent);\n```\n\n#### OperatingSystem.toString();\n\nGenerates a stringified version of operating system;\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.os.toString(); // \'Mac OSX 10.8.1\'\n```\n\n#### OperatingSystem.toVersion();\n\nGenerates a stringified version of operating system\'s version;\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.os.toVersion(); // \'10.8.1\'\n```\n\n#### OperatingSystem.toJSON();\n\nGenerates a JSON representation of the OperatingSystem. By using the `toJSON`\nmethod we automatically allow it to be stringified when supplying as to the\n`JSON.stringify` method.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.os.toJSON(); // returns an object\n\nJSON.stringify(agent.os);\n```\n\n#### Device.toString();\n\nGenerates a stringified version of device;\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.device.toString(); // \'Asus A100\'\n```\n\n#### Device.toVersion();\n\nGenerates a stringified version of device\'s version;\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.device.toVersion(); // \'\' , no version found but could also be \'0.0.0\'\n```\n\n#### Device.toJSON();\n\nGenerates a JSON representation of the Device. By using the `toJSON` method we\nautomatically allow it to be stringified when supplying as to the\n`JSON.stringify` method.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.device.toJSON(); // returns an object\n\nJSON.stringify(agent.device);\n```\n\n### Adding more features to the useragent\n\nAs I wanted to keep the core of the user agent parser as clean and fast as\npossible I decided to move some of the initially planned features to a new\n`plugin` file.\n\nThese extensions to the Agent prototype can be loaded by requiring the\n`useragent/features` file:\n\n```js\nvar useragent = require(\'useragent\');\nrequire(\'useragent/features\');\n```\n\nThe initial release introduces 1 new method, satisfies, which allows you to see\nif the version number of the browser satisfies a certain range. It uses the\nsemver library to do all the range calculations but here is a small summary of\nthe supported range styles:\n\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than.\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`.\n* `~1.2.3` := `>=1.2.3 <1.3.0`.\n* `~1.2` := `>=1.2.0 <2.0.0`.\n* `~1` := `>=1.0.0 <2.0.0`.\n* `1.2.x` := `>=1.2.0 <1.3.0`.\n* `1.x` := `>=1.0.0 <2.0.0`.\n\nAs it requires the `semver` module to function you need to install it\nseperately:\n\n```\nnpm install semver --save\n```\n\n#### Agent.satisfies(\'range style here\');\n\nCheck if the agent matches the supplied range.\n\n```js\nvar agent = useragent.parse(req.headers[\'user-agent\']);\nagent.satisfies(\'15.x || >=19.5.0 || 25.0.0 - 17.2.3\'); // true\nagent.satisfies(\'>16.12.0\'); // false\n```\n---\n\n### Migrations\n\nFor small changes between version please review the [changelog][changelog].\n\n#### Upgrading from 1.10 to 2.0.0\n\n- `useragent.fromAgent` has been removed.\n- `agent.toJSON` now returns an Object, use `JSON.stringify(agent)` for the old\n behaviour.\n- `agent.os` is now an `OperatingSystem` instance with version numbers. If you\n still a string only representation do `agent.os.toString()`.\n- `semver` has been removed from the dependencies, so if you are using the\n `require(\'useragent/features\')` you need to add it to your own dependencies\n\n#### Upgrading from 0.1.2 to 1.0.0\n\n- `useragent.browser(ua)` has been renamed to `useragent.is(ua)`.\n- `useragent.parser(ua, jsua)` has been renamed to `useragent.parse(ua, jsua)`.\n- `result.pretty()` has been renamed to `result.toAgent()`.\n- `result.V1` has been renamed to `result.major`.\n- `result.V2` has been renamed to `result.minor`.\n- `result.V3` has been renamed to `result.patch`.\n- `result.prettyOS()` has been removed.\n- `result.match` has been removed.\n\n---\n\n### License\n\nMIT\n\n[browserscope]: http://www.browserscope.org/\n[benchmark]: /3rd-Eden/useragent/blob/master/benchmark/run.js\n[changelog]: /3rd-Eden/useragent/blob/master/CHANGELOG.md\n[npm]: http://npmjs.org\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved bugs: { url: 'https://github.com/3rd-Eden/useragent/issues' },
641 silly resolved _id: 'useragent@2.0.7',
641 silly resolved _from: 'useragent@~2.0.4' },
641 silly resolved { name: 'q',
641 silly resolved version: '0.9.7',
641 silly resolved description: 'A library for promises (CommonJS/Promises/A,B,D)',
641 silly resolved homepage: 'https://github.com/kriskowal/q',
641 silly resolved author:
641 silly resolved { name: 'Kris Kowal',
641 silly resolved email: 'kris@cixar.com',
641 silly resolved url: 'https://github.com/kriskowal' },
641 silly resolved keywords:
641 silly resolved [ 'q',
641 silly resolved 'promise',
641 silly resolved 'promises',
641 silly resolved 'promises-a',
641 silly resolved 'promises-aplus',
641 silly resolved 'deferred',
641 silly resolved 'future',
641 silly resolved 'async',
641 silly resolved 'flow control',
641 silly resolved 'fluent',
641 silly resolved 'browser',
641 silly resolved 'node' ],
641 silly resolved contributors: [ [Object], [Object], [Object] ],
641 silly resolved bugs: { url: 'http://github.com/kriskowal/q/issues' },
641 silly resolved license:
641 silly resolved { type: 'MIT',
641 silly resolved url: 'http://github.com/kriskowal/q/raw/master/LICENSE' },
641 silly resolved main: 'q.js',
641 silly resolved repository: { type: 'git', url: 'git://github.com/kriskowal/q.git' },
641 silly resolved engines: { node: '>=0.6.0', teleport: '>=0.2.0' },
641 silly resolved dependencies: {},
641 silly resolved devDependencies:
641 silly resolved { jshint: '~2.1.9',
641 silly resolved cover: '*',
641 silly resolved 'jasmine-node': '1.11.0',
641 silly resolved opener: '*',
641 silly resolved 'promises-aplus-tests': '1.x',
641 silly resolved grunt: '~0.4.1',
641 silly resolved 'grunt-cli': '~0.1.9',
641 silly resolved 'grunt-contrib-uglify': '~0.2.2',
641 silly resolved matcha: '~0.2.0' },
641 silly resolved scripts:
641 silly resolved { test: 'jasmine-node spec && promises-aplus-tests spec/aplus-adapter',
641 silly resolved 'test-browser': 'opener spec/q-spec.html',
641 silly resolved benchmark: 'matcha',
641 silly resolved lint: 'jshint q.js',
641 silly resolved cover: 'cover run node_modules/jasmine-node/bin/jasmine-node spec && cover report html && opener cover_html/index.html',
641 silly resolved minify: 'grunt',
641 silly resolved prepublish: 'grunt' },
641 silly resolved overlay: { teleport: [Object] },
641 silly resolved directories: { test: './spec' },
641 silly resolved readme: '[![Build Status](https://secure.travis-ci.org/kriskowal/q.png?branch=master)](http://travis-ci.org/kriskowal/q)\n\n<a href="http://promises-aplus.github.com/promises-spec">\n <img src="http://promises-aplus.github.com/promises-spec/assets/logo-small.png"\n align="right" alt="Promises/A+ logo" />\n</a>\n\nIf a function cannot return a value or throw an exception without\nblocking, it can return a promise instead. A promise is an object\nthat represents the return value or the thrown exception that the\nfunction may eventually provide. A promise can also be used as a\nproxy for a [remote object][Q-Connection] to overcome latency.\n\n[Q-Connection]: https://github.com/kriskowal/q-connection\n\nOn the first pass, promises can mitigate the “[Pyramid of\nDoom][POD]”: the situation where code marches to the right faster\nthan it marches forward.\n\n[POD]: http://calculist.org/blog/2011/12/14/why-coroutines-wont-work-on-the-web/\n\n```javascript\nstep1(function (value1) {\n step2(value1, function(value2) {\n step3(value2, function(value3) {\n step4(value3, function(value4) {\n // Do something with value4\n });\n });\n });\n});\n```\n\nWith a promise library, you can flatten the pyramid.\n\n```javascript\nQ.fcall(promisedStep1)\n.then(promisedStep2)\n.then(promisedStep3)\n.then(promisedStep4)\n.then(function (value4) {\n // Do something with value4\n})\n.catch(function (error) {\n // Handle any error from all above steps\n})\n.done();\n```\n\nWith this approach, you also get implicit error propagation, just like `try`,\n`catch`, and `finally`. An error in `promisedStep1` will flow all the way to\nthe `catch` function, where it’s caught and handled. (Here `promisedStepN` is\na version of `stepN` that returns a promise.)\n\nThe callback approach is called an “inversion of control”.\nA function that accepts a callback instead of a return value\nis saying, “Don’t call me, I’ll call you.”. Promises\n[un-invert][IOC] the inversion, cleanly separating the input\narguments from control flow arguments. This simplifies the\nuse and creation of API’s, particularly variadic,\nrest and spread arguments.\n\n[IOC]: http://www.slideshare.net/domenicdenicola/callbacks-promises-and-coroutines-oh-my-the-evolution-of-asynchronicity-in-javascript\n\n\n## Getting Started\n\nThe Q module can be loaded as:\n\n- A ``<script>`` tag (creating a ``Q`` global variable): ~2.5 KB minified and\n gzipped.\n- A Node.js and CommonJS module, available in [npm](https://npmjs.org/) as\n the [q](https://npmjs.org/package/q) package\n- An AMD module\n- A [component](https://github.com/component/component) as ``microjs/q``\n- Using [bower](http://bower.io/) as ``q``\n- Using [NuGet](http://nuget.org/) as [Q](https://nuget.org/packages/q)\n\nQ can exchange promises with jQuery, Dojo, When.js, WinJS, and more.\n\n## Resources\n\nOur [wiki][] contains a number of useful resources, including:\n\n- A method-by-method [Q API reference][reference].\n- A growing [examples gallery][examples], showing how Q can be used to make\n everything better. From XHR to database access to accessing the Flickr API,\n Q is there for you.\n- There are many libraries that produce and consume Q promises for everything\n from file system/database access or RPC to templating. For a list of some of\n the more popular ones, see [Libraries][].\n- If you want materials that introduce the promise concept generally, and the\n below tutorial isn\'t doing it for you, check out our collection of\n [presentations, blog posts, and podcasts][resources].\n- A guide for those [coming from jQuery\'s `$.Deferred`][jquery].\n\nWe\'d also love to have you join the Q-Continuum [mailing list][].\n\n[wiki]: https://github.com/kriskowal/q/wiki\n[reference]: https://github.com/kriskowal/q/wiki/API-Reference\n[examples]: https://github.com/kriskowal/q/wiki/Examples-Gallery\n[Libraries]: https://github.com/kriskowal/q/wiki/Libraries\n[resources]: https://github.com/kriskowal/q/wiki/General-Promise-Resources\n[jquery]: https://github.com/kriskowal/q/wiki/Coming-from-jQuery\n[mailing list]: https://groups.google.com/forum/#!forum/q-continuum\n\n\n## Tutorial\n\nPromises have a ``then`` method, which you can use to get the eventual\nreturn value (fulfillment) or thrown exception (rejection).\n\n```javascript\npromiseMeSomething()\n.then(function (value) {\n}, function (reason) {\n});\n```\n\nIf ``promiseMeSomething`` returns a promise that gets fulfilled later\nwith a return value, the first function (the fulfillment handler) will be\ncalled with the value. However, if the ``promiseMeSomething`` function\ngets rejected later by a thrown exception, the second function (the\nrejection handler) will be called with the exception.\n\nNote that resolution of a promise is always asynchronous: that is, the\nfulfillment or rejection handler will always be called in the next turn of the\nevent loop (i.e. `process.nextTick` in Node). This gives you a nice\nguarantee when mentally tracing the flow of your code, namely that\n``then`` will always return before either handler is executed.\n\nIn this tutorial, we begin with how to consume and work with promises. We\'ll\ntalk about how to create them, and thus create functions like\n`promiseMeSomething` that return promises, [below](#the-beginning).\n\n\n### Propagation\n\nThe ``then`` method returns a promise, which in this example, I’m\nassigning to ``outputPromise``.\n\n```javascript\nvar outputPromise = getInputPromise()\n.then(function (input) {\n}, function (reason) {\n});\n```\n\nThe ``outputPromise`` variable becomes a new promise for the return\nvalue of either handler. Since a function can only either return a\nvalue or throw an exception, only one handler will ever be called and it\nwill be responsible for resolving ``outputPromise``.\n\n- If you return a value in a handler, ``outputPromise`` will get\n fulfilled.\n\n- If you throw an exception in a handler, ``outputPromise`` will get\n rejected.\n\n- If you return a **promise** in a handler, ``outputPromise`` will\n “become” that promise. Being able to become a new promise is useful\n for managing delays, combining results, or recovering from errors.\n\nIf the ``getInputPromise()`` promise gets rejected and you omit the\nrejection handler, the **error** will go to ``outputPromise``:\n\n```javascript\nvar outputPromise = getInputPromise()\n.then(function (value) {\n});\n```\n\nIf the input promise gets fulfilled and you omit the fulfillment handler, the\n**value** will go to ``outputPromise``:\n\n```javascript\nvar outputPromise = getInputPromise()\n.then(null, function (error) {\n});\n```\n\nQ promises provide a ``fail`` shorthand for ``then`` when you are only\ninterested in handling the error:\n\n```javascript\nvar outputPromise = getInputPromise()\n.fail(function (error) {\n});\n```\n\nIf you are writing JavaScript for modern engines only or using\nCoffeeScript, you may use `catch` instead of `fail`.\n\nPromises also have a ``fin`` function that is like a ``finally`` clause.\nThe final handler gets called, with no arguments, when the promise\nreturned by ``getInputPromise()`` either returns a value or throws an\nerror. The value returned or error thrown by ``getInputPromise()``\npasses directly to ``outputPromise`` unless the final handler fails, and\nmay be delayed if the final handler returns a promise.\n\n```javascript\nvar outputPromise = getInputPromise()\n.fin(function () {\n // close files, database connections, stop servers, conclude tests\n});\n```\n\n- If the handler returns a value, the value is ignored\n- If the handler throws an error, the error passes to ``outputPromise``\n- If the handler returns a promise, ``outputPromise`` gets postponed. The\n eventual value or error has the same effect as an immediate return\n value or thrown error: a value would be ignored, an error would be\n forwarded.\n\nIf you are writing JavaScript for modern engines only or using\nCoffeeScript, you may use `finally` instead of `fin`.\n\n### Chaining\n\nThere are two ways to chain promises. You can chain promises either\ninside or outside handlers. The next two examples are equivalent.\n\n```javascript\nreturn getUsername()\n.then(function (username) {\n return getUser(username)\n .then(function (user) {\n // if we get here without an error,\n // the value returned here\n // or the exception thrown here\n // resolves the promise returned\n // by the first line\n })\n});\n```\n\n```javascript\nreturn getUsername()\n.then(function (username) {\n return getUser(username);\n})\n.then(function (user) {\n // if we get here without an error,\n // the value returned here\n // or the exception thrown here\n // resolves the promise returned\n // by the first line\n});\n```\n\nThe only difference is nesting. It’s useful to nest handlers if you\nneed to capture multiple input values in your closure.\n\n```javascript\nfunction authenticate() {\n return getUsername()\n .then(function (username) {\n return getUser(username);\n })\n // chained because we will not need the user name in the next event\n .then(function (user) {\n return getPassword()\n // nested because we need both user and password next\n .then(function (password) {\n if (user.passwordHash !== hash(password)) {\n throw new Error("Can\'t authenticate");\n }\n });\n });\n}\n```\n\n\n### Combination\n\nYou can turn an array of promises into a promise for the whole,\nfulfilled array using ``all``.\n\n```javascript\nreturn Q.all([\n eventualAdd(2, 2),\n eventualAdd(10, 20)\n]);\n```\n\nIf you have a promise for an array, you can use ``spread`` as a\nreplacement for ``then``. The ``spread`` function “spreads” the\nvalues over the arguments of the fulfillment handler. The rejection handler\nwill get called at the first sign of failure. That is, whichever of\nthe recived promises fails first gets handled by the rejection handler.\n\n```javascript\nfunction eventualAdd(a, b) {\n return Q.spread([a, b], function (a, b) {\n return a + b;\n })\n}\n```\n\nBut ``spread`` calls ``all`` initially, so you can skip it in chains.\n\n```javascript\nreturn getUsername()\n.then(function (username) {\n return [username, getUser(username)];\n})\n.spread(function (username, user) {\n});\n```\n\nThe ``all`` function returns a promise for an array of values. When this\npromise is fulfilled, the array contains the fulfillment values of the original\npromises, in the same order as those promises. If one of the given promises\nis rejected, the returned promise is immediately rejected, not waiting for the\nrest of the batch. If you want to wait for all of the promises to either be\nfulfilled or rejected, you can use ``allSettled``.\n\n```javascript\nQ.allSettled(promises)\n.then(function (results) {\n results.forEach(function (result) {\n if (result.state === "fulfilled") {\n var value = result.value;\n } else {\n var reason = result.reason;\n }\n });\n});\n```\n\n\n### Sequences\n\nIf you have a number of promise-producing functions that need\nto be run sequentially, you can of course do so manually:\n\n```javascript\nreturn foo(initialVal).then(bar).then(baz).then(qux);\n```\n\nHowever, if you want to run a dynamically constructed sequence of\nfunctions, you\'ll want something like this:\n\n```javascript\nvar funcs = [foo, bar, baz, qux];\n\nvar result = Q(initialVal);\nfuncs.forEach(function (f) {\n result = result.then(f);\n});\nreturn result;\n```\n\nYou can make this slightly more compact using `reduce`:\n\n```javascript\nreturn funcs.reduce(function (soFar, f) {\n return soFar.then(f);\n}, Q(initialVal));\n```\n\nOr, you could use th ultra-compact version:\n\n```javascript\nreturn funcs.reduce(Q.when, Q());\n```\n\n### Handling Errors\n\nOne sometimes-unintuive aspect of promises is that if you throw an\nexception in the fulfillment handler, it will not be be caught by the error\nhandler.\n\n```javascript\nreturn foo()\n.then(function (value) {\n throw new Error("Can\'t bar.");\n}, function (error) {\n // We only get here if "foo" fails\n});\n```\n\nTo see why this is, consider the parallel between promises and\n``try``/``catch``. We are ``try``-ing to execute ``foo()``: the error\nhandler represents a ``catch`` for ``foo()``, while the fulfillment handler\nrepresents code that happens *after* the ``try``/``catch`` block.\nThat code then needs its own ``try``/``catch`` block.\n\nIn terms of promises, this means chaining your rejection handler:\n\n```javascript\nreturn foo()\n.then(function (value) {\n throw new Error("Can\'t bar.");\n})\n.fail(function (error) {\n // We get here with either foo\'s error or bar\'s error\n});\n```\n\n### Progress Notification\n\nIt\'s possible for promises to report their progress, e.g. for tasks that take a\nlong time like a file upload. Not all promises will implement progress\nnotifications, but for those that do, you can consume the progress values using\na third parameter to ``then``:\n\n```javascript\nreturn uploadFile()\n.then(function () {\n // Success uploading the file\n}, function (err) {\n // There was an error, and we get the reason for error\n}, function (progress) {\n // We get notified of the upload\'s progress as it is executed\n});\n```\n\nLike `fail`, Q also provides a shorthand for progress callbacks\ncalled `progress`:\n\n```javascript\nreturn uploadFile().progress(function (progress) {\n // We get notified of the upload\'s progress\n});\n```\n\n### The End\n\nWhen you get to the end of a chain of promises, you should either\nreturn the last promise or end the chain. Since handlers catch\nerrors, it’s an unfortunate pattern that the exceptions can go\nunobserved.\n\nSo, either return it,\n\n```javascript\nreturn foo()\n.then(function () {\n return "bar";\n});\n```\n\nOr, end it.\n\n```javascript\nfoo()\n.then(function () {\n return "bar";\n})\n.done();\n```\n\nEnding a promise chain makes sure that, if an error doesn’t get\nhandled before the end, it will get rethrown and reported.\n\nThis is a stopgap. We are exploring ways to make unhandled errors\nvisible without any explicit handling.\n\n\n### The Beginning\n\nEverything above assumes you get a promise from somewhere else. This\nis the common case. Every once in a while, you will need to create a\npromise from scratch.\n\n#### Using ``Q.fcall``\n\nYou can create a promise from a value using ``Q.fcall``. This returns a\npromise for 10.\n\n```javascript\nreturn Q.fcall(function () {\n return 10;\n});\n```\n\nYou can also use ``fcall`` to get a promise for an exception.\n\n```javascript\nreturn Q.fcall(function () {\n throw new Error("Can\'t do it");\n});\n```\n\nAs the name implies, ``fcall`` can call functions, or even promised\nfunctions. This uses the ``eventualAdd`` function above to add two\nnumbers.\n\n```javascript\nreturn Q.fcall(eventualAdd, 2, 2);\n```\n\n\n#### Using Deferreds\n\nIf you have to interface with asynchronous functions that are callback-based\ninstead of promise-based, Q provides a few shortcuts (like ``Q.nfcall`` and\nfriends). But much of the time, the solution will be to use *deferreds*.\n\n```javascript\nvar deferred = Q.defer();\nFS.readFile("foo.txt", "utf-8", function (error, text) {\n if (error) {\n deferred.reject(new Error(error));\n } else {\n deferred.resolve(text);\n }\n});\nreturn deferred.promise;\n```\n\nNote that a deferred can be resolved with a value or a promise. The\n``reject`` function is a shorthand for resolving with a rejected\npromise.\n\n```javascript\n// this:\ndeferred.reject(new Error("Can\'t do it"));\n\n// is shorthand for:\nvar rejection = Q.fcall(function () {\n throw new Error("Can\'t do it");\n});\ndeferred.resolve(rejection);\n```\n\nThis is a simplified implementation of ``Q.delay``.\n\n```javascript\nfunction delay(ms) {\n var deferred = Q.defer();\n setTimeout(deferred.resolve, ms);\n return deferred.promise;\n}\n```\n\nThis is a simplified implementation of ``Q.timeout``\n\n```javascript\nfunction timeout(promise, ms) {\n var deferred = Q.defer();\n Q.when(promise, deferred.resolve);\n delay(ms).then(function () {\n deferred.reject(new Error("Timed out"));\n });\n return deferred.promise;\n}\n```\n\nFinally, you can send a progress notification to the promise with\n``deferred.notify``.\n\nFor illustration, this is a wrapper for XML HTTP requests in the browser. Note\nthat a more [thorough][XHR] implementation would be in order in practice.\n\n[XHR]: https://github.com/montagejs/mr/blob/71e8df99bb4f0584985accd6f2801ef3015b9763/browser.js#L29-L73\n\n```javascript\nfunction requestOkText(url) {\n var request = new XMLHttpRequest();\n var deferred = Q.defer();\n\n request.open("GET", url, true);\n request.onload = onload;\n request.onerror = onerror;\n request.onprogress = onprogress;\n request.send();\n\n function onload() {\n if (request.status === 200) {\n deferred.resolve(request.responseText);\n } else {\n deferred.reject(new Error("Status code was " + request.status));\n }\n }\n\n function onerror() {\n deferred.reject(new Error("Can\'t XHR " + JSON.stringify(url)));\n }\n\n function onprogress(event) {\n deferred.notify(event.loaded / event.total);\n }\n\n return deferred.promise;\n}\n```\n\nBelow is an example of how to use this ``requestOkText`` function:\n\n```javascript\nrequestOkText("http://localhost:3000")\n.then(function (responseText) {\n // If the HTTP response returns 200 OK, log the response text.\n console.log(responseText);\n}, function (error) {\n // If there\'s an error or a non-200 status code, log the error.\n console.error(error);\n}, function (progress) {\n // Log the progress as it comes in.\n console.log("Request progress: " + Math.round(progress * 100) + "%");\n});\n```\n\n### The Middle\n\nIf you are using a function that may return a promise, but just might\nreturn a value if it doesn’t need to defer, you can use the “static”\nmethods of the Q library.\n\nThe ``when`` function is the static equivalent for ``then``.\n\n```javascript\nreturn Q.when(valueOrPromise, function (value) {\n}, function (error) {\n});\n```\n\nAll of the other methods on a promise have static analogs with the\nsame name.\n\nThe following are equivalent:\n\n```javascript\nreturn Q.all([a, b]);\n```\n\n```javascript\nreturn Q.fcall(function () {\n return [a, b];\n})\n.all();\n```\n\nWhen working with promises provided by other libraries, you should\nconvert it to a Q promise. Not all promise libraries make the same\nguarantees as Q and certainly don’t provide all of the same methods.\nMost libraries only provide a partially functional ``then`` method.\nThis thankfully is all we need to turn them into vibrant Q promises.\n\n```javascript\nreturn Q($.ajax(...))\n.then(function () {\n});\n```\n\nIf there is any chance that the promise you receive is not a Q promise\nas provided by your library, you should wrap it using a Q function.\nYou can even use ``Q.invoke`` as a shorthand.\n\n```javascript\nreturn Q.invoke($, \'ajax\', ...)\n.then(function () {\n});\n```\n\n\n### Over the Wire\n\nA promise can serve as a proxy for another object, even a remote\nobject. There are methods that allow you to optimistically manipulate\nproperties or call functions. All of these interactions return\npromises, so they can be chained.\n\n```\ndirect manipulation using a promise as a proxy\n-------------------------- -------------------------------\nvalue.foo promise.get("foo")\nvalue.foo = value promise.put("foo", value)\ndelete value.foo promise.del("foo")\nvalue.foo(...args) promise.post("foo", [args])\nvalue.foo(...args) promise.invoke("foo", ...args)\nvalue(...args) promise.fapply([args])\nvalue(...args) promise.fcall(...args)\n```\n\nIf the promise is a proxy for a remote object, you can shave\nround-trips by using these functions instead of ``then``. To take\nadvantage of promises for remote objects, check out [Q-Connection][].\n\n[Q-Connection]: https://github.com/kriskowal/q-connection\n\nEven in the case of non-remote objects, these methods can be used as\nshorthand for particularly-simple fulfillment handlers. For example, you\ncan replace\n\n```javascript\nreturn Q.fcall(function () {\n return [{ foo: "bar" }, { foo: "baz" }];\n})\n.then(function (value) {\n return value[0].foo;\n});\n```\n\nwith\n\n```javascript\nreturn Q.fcall(function () {\n return [{ foo: "bar" }, { foo: "baz" }];\n})\n.get(0)\n.get("foo");\n```\n\n\n### Adapting Node\n\nIf you\'re working with functions that make use of the Node.js callback pattern,\nwhere callbacks are in the form of `function(err, result)`, Q provides a few\nuseful utility functions for converting between them. The most straightforward\nare probably `Q.nfcall` and `Q.nfapply` ("Node function call/apply") for calling\nNode.js-style functions and getting back a promise:\n\n```javascript\nreturn Q.nfcall(FS.readFile, "foo.txt", "utf-8");\nreturn Q.nfapply(FS.readFile, ["foo.txt", "utf-8"]);\n```\n\nIf you are working with methods, instead of simple functions, you can easily\nrun in to the usual problems where passing a method to another function—like\n`Q.nfcall`—"un-binds" the method from its owner. To avoid this, you can either\nuse `Function.prototype.bind` or some nice shortcut methods we provide:\n\n```javascript\nreturn Q.ninvoke(redisClient, "get", "user:1:id");\nreturn Q.npost(redisClient, "get", ["user:1:id"]);\n```\n\nYou can also create reusable wrappers with `Q.denodeify` or `Q.nbind`:\n\n```javascript\nvar readFile = Q.denodeify(FS.readFile);\nreturn readFile("foo.txt", "utf-8");\n\nvar redisClientGet = Q.nbind(redisClient.get, redisClient);\nreturn redisClientGet("user:1:id");\n```\n\nFinally, if you\'re working with raw deferred objects, there is a\n`makeNodeResolver` method on deferreds that can be handy:\n\n```javascript\nvar deferred = Q.defer();\nFS.readFile("foo.txt", "utf-8", deferred.makeNodeResolver());\nreturn deferred.promise;\n```\n\n### Long Stack Traces\n\nQ comes with optional support for “long stack traces,” wherein the `stack`\nproperty of `Error` rejection reasons is rewritten to be traced along\nasynchronous jumps instead of stopping at the most recent one. As an example:\n\n```js\nfunction theDepthsOfMyProgram() {\n Q.delay(100).done(function explode() {\n throw new Error("boo!");\n });\n}\n\ntheDepthsOfMyProgram();\n```\n\nusually would give a rather unhelpful stack trace looking something like\n\n```\nError: boo!\n at explode (/path/to/test.js:3:11)\n at _fulfilled (/path/to/test.js:q:54)\n at resolvedValue.promiseDispatch.done (/path/to/q.js:823:30)\n at makePromise.promise.promiseDispatch (/path/to/q.js:496:13)\n at pending (/path/to/q.js:397:39)\n at process.startup.processNextTick.process._tickCallback (node.js:244:9)\n```\n\nBut, if you turn this feature on by setting\n\n```js\nQ.longStackSupport = true;\n```\n\nthen the above code gives a nice stack trace to the tune of\n\n```\nError: boo!\n at explode (/path/to/test.js:3:11)\nFrom previous event:\n at theDepthsOfMyProgram (/path/to/test.js:2:16)\n at Object.<anonymous> (/path/to/test.js:7:1)\n```\n\nNote how you can see the the function that triggered the async operation in the\nstack trace! This is very helpful for debugging, as otherwise you end up getting\nonly the first line, plus a bunch of Q internals, with no sign of where the\noperation started.\n\nThis feature does come with somewhat-serious performance and memory overhead,\nhowever. If you\'re working with lots of promises, or trying to scale a server\nto many users, you should probably keep it off. But in development, go for it!\n\n## Tests\n\nYou can view the results of the Q test suite [in your browser][tests]!\n\n[tests]: https://rawgithub.com/kriskowal/q/master/spec/q-spec.html\n\n## License\n\nCopyright 2009–2013 Kristopher Michael Kowal\nMIT License (enclosed)\n\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved _id: 'q@0.9.7',
641 silly resolved _from: 'q@~0.9' },
641 silly resolved { author:
641 silly resolved { name: 'Isaac Z. Schlueter',
641 silly resolved email: 'i@izs.me',
641 silly resolved url: 'http://blog.izs.me/' },
641 silly resolved name: 'glob',
641 silly resolved description: 'a little globber',
641 silly resolved version: '3.1.21',
641 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
641 silly resolved main: 'glob.js',
641 silly resolved engines: { node: '*' },
641 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
641 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
641 silly resolved scripts: { test: 'tap test/*.js' },
641 silly resolved license: 'BSD',
641 silly resolved readme: '# Glob\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\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* `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* `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. **Note that this is different from the way that `**` is\nhandled by ruby\'s `Dir` class.**\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 statCache object is reused between glob calls.\n\nUsers are thus advised not to use a glob result as a\nguarantee of filesystem state in the face of rapid changes.\nFor the vast majority of operations, this is never a problem.\n',
641 silly resolved readmeFilename: 'README.md',
641 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
641 silly resolved _id: 'glob@3.1.21',
641 silly resolved _from: 'glob@~3.1.21' },
641 silly resolved { name: 'socket.io',
641 silly resolved version: '0.9.16',
641 silly resolved description: 'Real-time apps made cross-browser & easy with a WebSocket-like API',
641 silly resolved homepage: 'http://socket.io',
641 silly resolved keywords: [ 'websocket', 'socket', 'realtime', 'socket.io', 'comet', 'ajax' ],
641 silly resolved author: { name: 'Guillermo Rauch', email: 'guillermo@learnboost.com' },
641 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
641 silly resolved repository:
641 silly resolved { type: 'git',
641 silly resolved url: 'https://github.com/LearnBoost/socket.io.git' },
641 silly resolved dependencies:
641 silly resolved { 'socket.io-client': '0.9.16',
641 silly resolved policyfile: '0.0.4',
641 silly resolved base64id: '0.1.0',
641 silly resolved redis: '0.7.3' },
641 silly resolved devDependencies:
641 silly resolved { expresso: '0.9.2',
641 silly resolved should: '*',
641 silly resolved benchmark: '0.2.2',
641 silly resolved microtime: '0.1.3-1',
641 silly resolved colors: '0.5.1' },
641 silly resolved optionalDependencies: { redis: '0.7.3' },
641 silly resolved main: 'index',
641 silly resolved engines: { node: '>= 0.4.0' },
641 silly resolved scripts: { test: 'make test' },
641 silly resolved readme: '# Socket.IO\n\nSocket.IO is a Node.JS project that makes WebSockets and realtime possible in\nall browsers. It also enhances WebSockets by providing built-in multiplexing,\nhorizontal scalability, automatic JSON encoding/decoding, and more.\n\n## How to Install\n\n```bash\nnpm install socket.io\n```\n\n## How to use\n\nFirst, require `socket.io`:\n\n```js\nvar io = require(\'socket.io\');\n```\n\nNext, attach it to a HTTP/HTTPS server. If you\'re using the fantastic `express`\nweb framework:\n\n#### Express 3.x\n\n```js\nvar app = express()\n , server = require(\'http\').createServer(app)\n , io = io.listen(server);\n\nserver.listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.emit(\'news\', { hello: \'world\' });\n socket.on(\'my other event\', function (data) {\n console.log(data);\n });\n});\n```\n\n#### Express 2.x\n\n```js\nvar app = express.createServer()\n , io = io.listen(app);\n\napp.listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.emit(\'news\', { hello: \'world\' });\n socket.on(\'my other event\', function (data) {\n console.log(data);\n });\n});\n```\n\nFinally, load it from the client side code:\n\n```html\n<script src="/socket.io/socket.io.js"></script>\n<script>\n var socket = io.connect(\'http://localhost\');\n socket.on(\'news\', function (data) {\n console.log(data);\n socket.emit(\'my other event\', { my: \'data\' });\n });\n</script>\n```\n\nFor more thorough examples, look at the `examples/` directory.\n\n## Short recipes\n\n### Sending and receiving events.\n\nSocket.IO allows you to emit and receive custom events.\nBesides `connect`, `message` and `disconnect`, you can emit custom events:\n\n```js\n// note, io.listen(<port>) will create a http server for you\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n io.sockets.emit(\'this\', { will: \'be received by everyone\' });\n\n socket.on(\'private message\', function (from, msg) {\n console.log(\'I received a private message by \', from, \' saying \', msg);\n });\n\n socket.on(\'disconnect\', function () {\n io.sockets.emit(\'user disconnected\');\n });\n});\n```\n\n### Storing data associated to a client\n\nSometimes it\'s necessary to store data associated with a client that\'s\nnecessary for the duration of the session.\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.on(\'set nickname\', function (name) {\n socket.set(\'nickname\', name, function () { socket.emit(\'ready\'); });\n });\n\n socket.on(\'msg\', function () {\n socket.get(\'nickname\', function (err, name) {\n console.log(\'Chat message by \', name);\n });\n });\n});\n```\n\n#### Client side\n\n```html\n<script>\n var socket = io.connect(\'http://localhost\');\n\n socket.on(\'connect\', function () {\n socket.emit(\'set nickname\', prompt(\'What is your nickname?\'));\n socket.on(\'ready\', function () {\n console.log(\'Connected !\');\n socket.emit(\'msg\', prompt(\'What is your message?\'));\n });\n });\n</script>\n```\n\n### Restricting yourself to a namespace\n\nIf you have control over all the messages and events emitted for a particular\napplication, using the default `/` namespace works.\n\nIf you want to leverage 3rd-party code, or produce code to share with others,\nsocket.io provides a way of namespacing a `socket`.\n\nThis has the benefit of `multiplexing` a single connection. Instead of\nsocket.io using two `WebSocket` connections, it\'ll use one.\n\nThe following example defines a socket that listens on \'/chat\' and one for\n\'/news\':\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nvar chat = io\n .of(\'/chat\')\n .on(\'connection\', function (socket) {\n socket.emit(\'a message\', { that: \'only\', \'/chat\': \'will get\' });\n chat.emit(\'a message\', { everyone: \'in\', \'/chat\': \'will get\' });\n });\n\nvar news = io\n .of(\'/news\');\n .on(\'connection\', function (socket) {\n socket.emit(\'item\', { news: \'item\' });\n });\n```\n\n#### Client side:\n\n```html\n<script>\n var chat = io.connect(\'http://localhost/chat\')\n , news = io.connect(\'http://localhost/news\');\n\n chat.on(\'connect\', function () {\n chat.emit(\'hi!\');\n });\n\n news.on(\'news\', function () {\n news.emit(\'woot\');\n });\n</script>\n```\n\n### Sending volatile messages.\n\nSometimes certain messages can be dropped. Let\'s say you have an app that\nshows realtime tweets for the keyword `bieber`. \n\nIf a certain client is not ready to receive messages (because of network slowness\nor other issues, or because he\'s connected through long polling and is in the\nmiddle of a request-response cycle), if he doesn\'t receive ALL the tweets related\nto bieber your application won\'t suffer.\n\nIn that case, you might want to send those messages as volatile messages.\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n var tweets = setInterval(function () {\n getBieberTweet(function (tweet) {\n socket.volatile.emit(\'bieber tweet\', tweet);\n });\n }, 100);\n\n socket.on(\'disconnect\', function () {\n clearInterval(tweets);\n });\n});\n```\n\n#### Client side\n\nIn the client side, messages are received the same way whether they\'re volatile\nor not.\n\n### Getting acknowledgements\n\nSometimes, you might want to get a callback when the client confirmed the message\nreception.\n\nTo do this, simply pass a function as the last parameter of `.send` or `.emit`.\nWhat\'s more, when you use `.emit`, the acknowledgement is done by you, which\nmeans you can also pass data along:\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.on(\'ferret\', function (name, fn) {\n fn(\'woot\');\n });\n});\n```\n\n#### Client side\n\n```html\n<script>\n var socket = io.connect(); // TIP: .connect with no args does auto-discovery\n socket.on(\'connect\', function () { // TIP: you can avoid listening on `connect` and listen on events directly too!\n socket.emit(\'ferret\', \'tobi\', function (data) {\n console.log(data); // data will be \'woot\'\n });\n });\n</script>\n```\n\n### Broadcasting messages\n\nTo broadcast, simply add a `broadcast` flag to `emit` and `send` method calls.\nBroadcasting means sending a message to everyone else except for the socket\nthat starts it.\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.broadcast.emit(\'user connected\');\n socket.broadcast.json.send({ a: \'message\' });\n});\n```\n\n### Rooms\n\nSometimes you want to put certain sockets in the same room, so that it\'s easy\nto broadcast to all of them together.\n\nThink of this as built-in channels for sockets. Sockets `join` and `leave`\nrooms in each socket.\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.join(\'justin bieber fans\');\n socket.broadcast.to(\'justin bieber fans\').emit(\'new fan\');\n io.sockets.in(\'rammstein fans\').emit(\'new non-fan\');\n});\n```\n\n### Using it just as a cross-browser WebSocket\n\nIf you just want the WebSocket semantics, you can do that too.\nSimply leverage `send` and listen on the `message` event:\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.sockets.on(\'connection\', function (socket) {\n socket.on(\'message\', function () { });\n socket.on(\'disconnect\', function () { });\n});\n```\n\n#### Client side\n\n```html\n<script>\n var socket = io.connect(\'http://localhost/\');\n socket.on(\'connect\', function () {\n socket.send(\'hi\');\n\n socket.on(\'message\', function (msg) {\n // my msg\n });\n });\n</script>\n```\n\n### Changing configuration\n\nConfiguration in socket.io is TJ-style:\n\n#### Server side\n\n```js\nvar io = require(\'socket.io\').listen(80);\n\nio.configure(function () {\n io.set(\'transports\', [\'websocket\', \'flashsocket\', \'xhr-polling\']);\n});\n\nio.configure(\'development\', function () {\n io.set(\'transports\', [\'websocket\', \'xhr-polling\']);\n io.enable(\'log\');\n});\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 Guillermo Rauch &lt;guillermo@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.\n',
641 silly resolved readmeFilename: 'Readme.md',
641 silly resolved bugs: { url: 'https://github.com/LearnBoost/socket.io/issues' },
641 silly resolved _id: 'socket.io@0.9.16',
641 silly resolved _from: 'socket.io@~0.9.13' } ]
642 info install minimatch@0.2.12 into C:\dev\tmp\test\node_modules\karma
643 info install optimist@0.3.7 into C:\dev\tmp\test\node_modules\karma
644 info install connect@2.8.8 into C:\dev\tmp\test\node_modules\karma
645 info install di@0.0.1 into C:\dev\tmp\test\node_modules\karma
646 info install chokidar@0.6.3 into C:\dev\tmp\test\node_modules\karma
647 info install lodash@1.1.1 into C:\dev\tmp\test\node_modules\karma
648 info install rimraf@2.1.4 into C:\dev\tmp\test\node_modules\karma
649 info install mime@1.2.11 into C:\dev\tmp\test\node_modules\karma
650 info install graceful-fs@1.2.3 into C:\dev\tmp\test\node_modules\karma
651 info install colors@0.6.0-1 into C:\dev\tmp\test\node_modules\karma
652 info install coffee-script@1.6.3 into C:\dev\tmp\test\node_modules\karma
653 info install http-proxy@0.10.3 into C:\dev\tmp\test\node_modules\karma
654 info install log4js@0.6.9 into C:\dev\tmp\test\node_modules\karma
655 info install useragent@2.0.7 into C:\dev\tmp\test\node_modules\karma
656 info install q@0.9.7 into C:\dev\tmp\test\node_modules\karma
657 info install glob@3.1.21 into C:\dev\tmp\test\node_modules\karma
658 info install socket.io@0.9.16 into C:\dev\tmp\test\node_modules\karma
659 info installOne minimatch@0.2.12
660 info installOne optimist@0.3.7
661 info installOne connect@2.8.8
662 info installOne di@0.0.1
663 info installOne chokidar@0.6.3
664 info installOne lodash@1.1.1
665 info installOne rimraf@2.1.4
666 info installOne mime@1.2.11
667 info installOne graceful-fs@1.2.3
668 info installOne colors@0.6.0-1
669 info installOne coffee-script@1.6.3
670 info installOne http-proxy@0.10.3
671 info installOne log4js@0.6.9
672 info installOne useragent@2.0.7
673 info installOne q@0.9.7
674 info installOne glob@3.1.21
675 info installOne socket.io@0.9.16
676 info C:\dev\tmp\test\node_modules\karma\node_modules\minimatch unbuild
677 info C:\dev\tmp\test\node_modules\karma\node_modules\optimist unbuild
678 info C:\dev\tmp\test\node_modules\karma\node_modules\connect unbuild
679 info C:\dev\tmp\test\node_modules\karma\node_modules\di unbuild
680 info C:\dev\tmp\test\node_modules\karma\node_modules\chokidar unbuild
681 info C:\dev\tmp\test\node_modules\karma\node_modules\lodash unbuild
682 info C:\dev\tmp\test\node_modules\karma\node_modules\rimraf unbuild
683 info C:\dev\tmp\test\node_modules\karma\node_modules\mime unbuild
684 info C:\dev\tmp\test\node_modules\karma\node_modules\graceful-fs unbuild
685 info C:\dev\tmp\test\node_modules\karma\node_modules\colors unbuild
686 info C:\dev\tmp\test\node_modules\karma\node_modules\coffee-script unbuild
687 info C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy unbuild
688 info C:\dev\tmp\test\node_modules\karma\node_modules\log4js unbuild
689 info C:\dev\tmp\test\node_modules\karma\node_modules\useragent unbuild
690 info C:\dev\tmp\test\node_modules\karma\node_modules\q unbuild
691 info C:\dev\tmp\test\node_modules\karma\node_modules\glob unbuild
692 info C:\dev\tmp\test\node_modules\karma\node_modules\socket.io unbuild
693 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
694 silly lockFile bfc00596-les-karma-node-modules-minimatch tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch
695 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bfc00596-les-karma-node-modules-minimatch.lock
696 silly lockFile 08c52251-che-minimatch-0-2-12-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
697 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\08c52251-che-minimatch-0-2-12-package-tgz.lock
698 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\optimist\0.3.7\package.tgz
699 silly lockFile 7ca3f692-ules-karma-node-modules-optimist tar://C:\dev\tmp\test\node_modules\karma\node_modules\optimist
700 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\optimist C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\7ca3f692-ules-karma-node-modules-optimist.lock
701 silly lockFile 9a766492-cache-optimist-0-3-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\optimist\0.3.7\package.tgz
702 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\optimist\0.3.7\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\9a766492-cache-optimist-0-3-7-package-tgz.lock
703 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\connect\2.8.8\package.tgz
704 silly lockFile 153a0b7c-dules-karma-node-modules-connect tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect
705 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\153a0b7c-dules-karma-node-modules-connect.lock
706 silly lockFile bca6aaa5--cache-connect-2-8-8-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\connect\2.8.8\package.tgz
707 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\connect\2.8.8\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bca6aaa5--cache-connect-2-8-8-package-tgz.lock
708 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\di\0.0.1\package.tgz
709 silly lockFile 7f2ddd2b-de-modules-karma-node-modules-di tar://C:\dev\tmp\test\node_modules\karma\node_modules\di
710 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\di C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\7f2ddd2b-de-modules-karma-node-modules-di.lock
711 silly lockFile 300f8f22-g-npm-cache-di-0-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\di\0.0.1\package.tgz
712 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\di\0.0.1\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\300f8f22-g-npm-cache-di-0-0-1-package-tgz.lock
713 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\chokidar\0.6.3\package.tgz
714 silly lockFile dda9cf9f-ules-karma-node-modules-chokidar tar://C:\dev\tmp\test\node_modules\karma\node_modules\chokidar
715 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\chokidar C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\dda9cf9f-ules-karma-node-modules-chokidar.lock
716 silly lockFile 13da1411-cache-chokidar-0-6-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\chokidar\0.6.3\package.tgz
717 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\chokidar\0.6.3\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\13da1411-cache-chokidar-0-6-3-package-tgz.lock
718 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lodash\1.1.1\package.tgz
719 silly lockFile c88dada9-odules-karma-node-modules-lodash tar://C:\dev\tmp\test\node_modules\karma\node_modules\lodash
720 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\lodash C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c88dada9-odules-karma-node-modules-lodash.lock
721 silly lockFile 8410a441-m-cache-lodash-1-1-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lodash\1.1.1\package.tgz
722 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lodash\1.1.1\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\8410a441-m-cache-lodash-1-1-1-package-tgz.lock
723 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\rimraf\2.1.4\package.tgz
724 silly lockFile 17f4404d-odules-karma-node-modules-rimraf tar://C:\dev\tmp\test\node_modules\karma\node_modules\rimraf
725 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\rimraf C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\17f4404d-odules-karma-node-modules-rimraf.lock
726 silly lockFile 0b0fc6f9-m-cache-rimraf-2-1-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\rimraf\2.1.4\package.tgz
727 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\rimraf\2.1.4\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\0b0fc6f9-m-cache-rimraf-2-1-4-package-tgz.lock
728 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
729 silly lockFile aa571d9f--modules-karma-node-modules-mime tar://C:\dev\tmp\test\node_modules\karma\node_modules\mime
730 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\mime C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\aa571d9f--modules-karma-node-modules-mime.lock
731 silly lockFile 558fb19e-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
732 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\558fb19e-pm-cache-mime-1-2-11-package-tgz.lock
733 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\graceful-fs\1.2.3\package.tgz
734 silly lockFile 315702d7-s-karma-node-modules-graceful-fs tar://C:\dev\tmp\test\node_modules\karma\node_modules\graceful-fs
735 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\graceful-fs C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\315702d7-s-karma-node-modules-graceful-fs.lock
736 silly lockFile 4083fcad-he-graceful-fs-1-2-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\graceful-fs\1.2.3\package.tgz
737 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\graceful-fs\1.2.3\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\4083fcad-he-graceful-fs-1-2-3-package-tgz.lock
738 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\colors\0.6.0-1\package.tgz
739 silly lockFile 7a8ab747-odules-karma-node-modules-colors tar://C:\dev\tmp\test\node_modules\karma\node_modules\colors
740 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\colors C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\7a8ab747-odules-karma-node-modules-colors.lock
741 silly lockFile 7a139089-cache-colors-0-6-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\colors\0.6.0-1\package.tgz
742 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\colors\0.6.0-1\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\7a139089-cache-colors-0-6-0-1-package-tgz.lock
743 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\coffee-script\1.6.3\package.tgz
744 silly lockFile 2d273d6b-karma-node-modules-coffee-script tar://C:\dev\tmp\test\node_modules\karma\node_modules\coffee-script
745 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\coffee-script C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\2d273d6b-karma-node-modules-coffee-script.lock
746 silly lockFile f2cb7de0--coffee-script-1-6-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\coffee-script\1.6.3\package.tgz
747 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\coffee-script\1.6.3\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\f2cb7de0--coffee-script-1-6-3-package-tgz.lock
748 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\http-proxy\0.10.3\package.tgz
749 silly lockFile 2a138186-es-karma-node-modules-http-proxy tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy
750 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\2a138186-es-karma-node-modules-http-proxy.lock
751 silly lockFile c73cf19d-he-http-proxy-0-10-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\http-proxy\0.10.3\package.tgz
752 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\http-proxy\0.10.3\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c73cf19d-he-http-proxy-0-10-3-package-tgz.lock
753 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\log4js\0.6.9\package.tgz
754 silly lockFile 29a099be-odules-karma-node-modules-log4js tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js
755 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\29a099be-odules-karma-node-modules-log4js.lock
756 silly lockFile 4684f7fc-m-cache-log4js-0-6-9-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\log4js\0.6.9\package.tgz
757 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\log4js\0.6.9\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\4684f7fc-m-cache-log4js-0-6-9-package-tgz.lock
758 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\useragent\2.0.7\package.tgz
759 silly lockFile 794c687b-les-karma-node-modules-useragent tar://C:\dev\tmp\test\node_modules\karma\node_modules\useragent
760 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\useragent C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\794c687b-les-karma-node-modules-useragent.lock
761 silly lockFile a8498244-ache-useragent-2-0-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\useragent\2.0.7\package.tgz
762 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\useragent\2.0.7\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\a8498244-ache-useragent-2-0-7-package-tgz.lock
763 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\q\0.9.7\package.tgz
764 silly lockFile e81ae3ce-ode-modules-karma-node-modules-q tar://C:\dev\tmp\test\node_modules\karma\node_modules\q
765 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\q C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\e81ae3ce-ode-modules-karma-node-modules-q.lock
766 silly lockFile b4fdff9f-ng-npm-cache-q-0-9-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\q\0.9.7\package.tgz
767 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\q\0.9.7\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\b4fdff9f-ng-npm-cache-q-0-9-7-package-tgz.lock
768 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
769 silly lockFile cdce9a02--modules-karma-node-modules-glob tar://C:\dev\tmp\test\node_modules\karma\node_modules\glob
770 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\glob C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cdce9a02--modules-karma-node-modules-glob.lock
771 silly lockFile 6d723b8e-pm-cache-glob-3-1-21-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
772 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\6d723b8e-pm-cache-glob-3-1-21-package-tgz.lock
773 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\socket.io\0.9.16\package.tgz
774 silly lockFile 05ae8a7f-les-karma-node-modules-socket-io tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io
775 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\05ae8a7f-les-karma-node-modules-socket-io.lock
776 silly lockFile ec7fb0c5-che-socket-io-0-9-16-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\socket.io\0.9.16\package.tgz
777 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\socket.io\0.9.16\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ec7fb0c5-che-socket-io-0-9-16-package-tgz.lock
778 silly gunzTarPerm modes [ '755', '644' ]
779 silly gunzTarPerm modes [ '755', '644' ]
780 silly gunzTarPerm modes [ '755', '644' ]
781 silly gunzTarPerm modes [ '755', '644' ]
782 silly gunzTarPerm modes [ '755', '644' ]
783 silly gunzTarPerm modes [ '755', '644' ]
784 silly gunzTarPerm modes [ '755', '644' ]
785 silly gunzTarPerm modes [ '755', '644' ]
786 silly gunzTarPerm modes [ '755', '644' ]
787 silly gunzTarPerm modes [ '755', '644' ]
788 silly gunzTarPerm modes [ '755', '644' ]
789 silly gunzTarPerm modes [ '755', '644' ]
790 silly gunzTarPerm modes [ '755', '644' ]
791 silly gunzTarPerm modes [ '755', '644' ]
792 silly gunzTarPerm modes [ '755', '644' ]
793 silly gunzTarPerm modes [ '755', '644' ]
794 silly gunzTarPerm modes [ '755', '644' ]
795 silly gunzTarPerm extractEntry package.json
796 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
797 silly gunzTarPerm extractEntry package.json
798 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
799 silly gunzTarPerm extractEntry package.json
800 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
801 silly gunzTarPerm extractEntry package.json
802 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
803 silly gunzTarPerm extractEntry package.json
804 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
805 silly gunzTarPerm extractEntry package.json
806 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
807 silly gunzTarPerm extractEntry package.json
808 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
809 silly gunzTarPerm extractEntry package.json
810 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
811 silly gunzTarPerm extractEntry package.json
812 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
813 silly gunzTarPerm extractEntry package.json
814 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
815 silly gunzTarPerm extractEntry package.json
816 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
817 silly gunzTarPerm extractEntry package.json
818 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
819 silly gunzTarPerm extractEntry LICENSE
820 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
821 silly gunzTarPerm extractEntry index.js
822 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
823 silly gunzTarPerm extractEntry package.json
824 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
825 silly gunzTarPerm extractEntry package.json
826 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
827 silly gunzTarPerm extractEntry package.json
828 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
829 silly gunzTarPerm extractEntry package.json
830 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
831 silly gunzTarPerm extractEntry package.json
832 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
833 silly gunzTarPerm extractEntry README.md
834 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
835 silly gunzTarPerm extractEntry LICENSE
836 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
837 silly gunzTarPerm extractEntry README.md
838 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
839 silly gunzTarPerm extractEntry LICENSE
840 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
841 silly gunzTarPerm extractEntry .npmignore
842 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
843 silly gunzTarPerm extractEntry LICENSE
844 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
845 silly gunzTarPerm extractEntry README.md
846 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
847 silly gunzTarPerm extractEntry dist/lodash.compat.js
848 silly gunzTarPerm modified mode [ 'dist/lodash.compat.js', 438, 420 ]
849 silly gunzTarPerm extractEntry .npmignore
850 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
851 silly gunzTarPerm extractEntry README.md
852 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
853 silly gunzTarPerm extractEntry README.md
854 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
855 silly gunzTarPerm extractEntry LICENSE
856 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
857 silly gunzTarPerm extractEntry README.md
858 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
859 silly gunzTarPerm extractEntry LICENSE
860 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
861 silly gunzTarPerm extractEntry README.md
862 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
863 silly gunzTarPerm extractEntry LICENSE
864 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
865 silly gunzTarPerm extractEntry q.js
866 silly gunzTarPerm modified mode [ 'q.js', 438, 420 ]
867 silly gunzTarPerm extractEntry queue.js
868 silly gunzTarPerm modified mode [ 'queue.js', 438, 420 ]
869 silly gunzTarPerm extractEntry benchmark/compare-with-callbacks.js
870 silly gunzTarPerm modified mode [ 'benchmark/compare-with-callbacks.js', 438, 420 ]
871 silly gunzTarPerm extractEntry benchmark/scenarios.js
872 silly gunzTarPerm modified mode [ 'benchmark/scenarios.js', 438, 420 ]
873 silly gunzTarPerm extractEntry CONTRIBUTING.md
874 silly gunzTarPerm modified mode [ 'CONTRIBUTING.md', 438, 420 ]
875 silly gunzTarPerm extractEntry .npmignore
876 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
877 silly gunzTarPerm extractEntry README.md
878 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
879 silly gunzTarPerm extractEntry .npmignore
880 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
881 silly gunzTarPerm extractEntry README.md
882 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
883 silly gunzTarPerm extractEntry .npmignore
884 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
885 silly gunzTarPerm extractEntry README
886 silly gunzTarPerm modified mode [ 'README', 438, 420 ]
887 silly gunzTarPerm extractEntry .npmignore
888 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
889 silly gunzTarPerm extractEntry LICENSE
890 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
891 silly gunzTarPerm extractEntry .npmignore
892 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
893 silly gunzTarPerm extractEntry README.md
894 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
895 silly gunzTarPerm extractEntry colors.js
896 silly gunzTarPerm modified mode [ 'colors.js', 438, 420 ]
897 silly gunzTarPerm extractEntry example.js
898 silly gunzTarPerm modified mode [ 'example.js', 438, 420 ]
899 silly gunzTarPerm extractEntry .npmignore
900 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
901 silly gunzTarPerm extractEntry README.md
902 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
903 silly gunzTarPerm extractEntry .npmignore
904 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
905 silly gunzTarPerm extractEntry README.md
906 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
907 silly gunzTarPerm extractEntry .travis.yml
908 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
909 silly gunzTarPerm extractEntry minimatch.js
910 silly gunzTarPerm modified mode [ 'minimatch.js', 438, 420 ]
911 silly gunzTarPerm extractEntry test/basic.js
912 silly gunzTarPerm modified mode [ 'test/basic.js', 438, 420 ]
913 silly gunzTarPerm extractEntry test/brace-expand.js
914 silly gunzTarPerm modified mode [ 'test/brace-expand.js', 438, 420 ]
915 silly gunzTarPerm extractEntry test/caching.js
916 silly gunzTarPerm modified mode [ 'test/caching.js', 438, 420 ]
917 silly gunzTarPerm extractEntry test/defaults.js
918 silly gunzTarPerm modified mode [ 'test/defaults.js', 438, 420 ]
919 silly gunzTarPerm extractEntry dist/lodash.compat.min.js
920 silly gunzTarPerm modified mode [ 'dist/lodash.compat.min.js', 438, 420 ]
921 silly gunzTarPerm extractEntry rimraf.js
922 silly gunzTarPerm modified mode [ 'rimraf.js', 438, 420 ]
923 silly gunzTarPerm extractEntry AUTHORS
924 silly gunzTarPerm modified mode [ 'AUTHORS', 438, 420 ]
925 silly gunzTarPerm extractEntry LICENSE
926 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
927 silly gunzTarPerm extractEntry graceful-fs.js
928 silly gunzTarPerm modified mode [ 'graceful-fs.js', 438, 420 ]
929 silly gunzTarPerm extractEntry index.js
930 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
931 silly gunzTarPerm extractEntry test.js
932 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
933 silly gunzTarPerm extractEntry lib/annotation.js
934 silly gunzTarPerm modified mode [ 'lib/annotation.js', 438, 420 ]
935 silly gunzTarPerm extractEntry lib/index.js
936 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
937 silly gunzTarPerm extractEntry mime.js
938 silly gunzTarPerm modified mode [ 'mime.js', 438, 420 ]
939 silly gunzTarPerm extractEntry test.js
940 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
941 silly gunzTarPerm extractEntry LICENSE
942 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
943 silly gunzTarPerm extractEntry bin/cake
944 silly gunzTarPerm modified mode [ 'bin/cake', 438, 420 ]
945 silly gunzTarPerm extractEntry test.js
946 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
947 silly gunzTarPerm extractEntry example.html
948 silly gunzTarPerm modified mode [ 'example.html', 438, 420 ]
949 silly gunzTarPerm extractEntry .bob/report/lint.out
950 silly gunzTarPerm modified mode [ '.bob/report/lint.out', 438, 420 ]
951 silly gunzTarPerm extractEntry .travis.yml
952 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
953 silly gunzTarPerm extractEntry LICENSE
954 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
955 silly gunzTarPerm extractEntry glob.js
956 silly gunzTarPerm modified mode [ 'glob.js', 438, 420 ]
957 silly gunzTarPerm extractEntry LICENSE
958 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
959 silly gunzTarPerm extractEntry setup.js
960 silly gunzTarPerm modified mode [ 'setup.js', 438, 420 ]
961 silly gunzTarPerm extractEntry CHANGELOG.md
962 silly gunzTarPerm modified mode [ 'CHANGELOG.md', 438, 420 ]
963 silly gunzTarPerm extractEntry index.js
964 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
965 silly gunzTarPerm extractEntry index.js
966 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
967 silly gunzTarPerm extractEntry .travis.yml
968 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
969 silly gunzTarPerm extractEntry LICENSE
970 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
971 silly gunzTarPerm extractEntry test/open.js
972 silly gunzTarPerm modified mode [ 'test/open.js', 438, 420 ]
973 silly gunzTarPerm extractEntry .travis.yml
974 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
975 silly gunzTarPerm extractEntry lib/cache.js
976 silly gunzTarPerm modified mode [ 'lib/cache.js', 438, 420 ]
977 silly gunzTarPerm extractEntry test/test-async.js
978 silly gunzTarPerm modified mode [ 'test/test-async.js', 438, 420 ]
979 silly gunzTarPerm extractEntry test/test-sync.js
980 silly gunzTarPerm modified mode [ 'test/test-sync.js', 438, 420 ]
981 silly gunzTarPerm extractEntry lib/injector.js
982 silly gunzTarPerm modified mode [ 'lib/injector.js', 438, 420 ]
983 silly gunzTarPerm extractEntry lib/module.js
984 silly gunzTarPerm modified mode [ 'lib/module.js', 438, 420 ]
985 silly gunzTarPerm extractEntry example/bool.js
986 silly gunzTarPerm modified mode [ 'example/bool.js', 438, 420 ]
987 silly gunzTarPerm extractEntry example/default_singles.js
988 silly gunzTarPerm modified mode [ 'example/default_singles.js', 438, 420 ]
989 silly gunzTarPerm extractEntry bin/coffee
990 silly gunzTarPerm modified mode [ 'bin/coffee', 438, 420 ]
991 silly gunzTarPerm extractEntry CNAME
992 silly gunzTarPerm modified mode [ 'CNAME', 438, 420 ]
993 silly gunzTarPerm extractEntry examples/example-connect-logger.js
994 silly gunzTarPerm modified mode [ 'examples/example-connect-logger.js', 438, 420 ]
995 silly gunzTarPerm extractEntry examples/example-socket.js
996 silly gunzTarPerm modified mode [ 'examples/example-socket.js', 438, 420 ]
997 silly gunzTarPerm extractEntry features/index.js
998 silly gunzTarPerm modified mode [ 'features/index.js', 438, 420 ]
999 silly gunzTarPerm extractEntry .travis.yml
1000 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
1001 silly gunzTarPerm extractEntry lib/index.js
1002 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
1003 silly gunzTarPerm extractEntry lib/is-binary.js
1004 silly gunzTarPerm modified mode [ 'lib/is-binary.js', 438, 420 ]
1005 silly gunzTarPerm extractEntry src/index.coffee
1006 silly gunzTarPerm modified mode [ 'src/index.coffee', 438, 420 ]
1007 silly gunzTarPerm extractEntry src/is-binary.coffee
1008 silly gunzTarPerm modified mode [ 'src/is-binary.coffee', 438, 420 ]
1009 silly gunzTarPerm extractEntry test/common.js
1010 silly gunzTarPerm modified mode [ 'test/common.js', 438, 420 ]
1011 silly gunzTarPerm extractEntry test/chokidar-test.coffee
1012 silly gunzTarPerm modified mode [ 'test/chokidar-test.coffee', 438, 420 ]
1013 silly gunzTarPerm extractEntry test/fixtures/binary.mp3
1014 silly gunzTarPerm modified mode [ 'test/fixtures/binary.mp3', 438, 420 ]
1015 silly gunzTarPerm extractEntry test/fixtures/change.txt
1016 silly gunzTarPerm modified mode [ 'test/fixtures/change.txt', 438, 420 ]
1017 silly gunzTarPerm extractEntry test/fixtures/unlink.txt
1018 silly gunzTarPerm modified mode [ 'test/fixtures/unlink.txt', 438, 420 ]
1019 silly gunzTarPerm extractEntry types/mime.types
1020 silly gunzTarPerm modified mode [ 'types/mime.types', 438, 420 ]
1021 silly gunzTarPerm extractEntry types/node.types
1022 silly gunzTarPerm modified mode [ 'types/node.types', 438, 420 ]
1023 silly gunzTarPerm extractEntry .travis.yml
1024 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
1025 silly gunzTarPerm extractEntry CHANGELOG.md
1026 silly gunzTarPerm modified mode [ 'CHANGELOG.md', 438, 420 ]
1027 silly gunzTarPerm extractEntry config.sample.json
1028 silly gunzTarPerm modified mode [ 'config.sample.json', 438, 420 ]
1029 silly gunzTarPerm extractEntry benchmarks/decode.bench.js
1030 silly gunzTarPerm modified mode [ 'benchmarks/decode.bench.js', 438, 420 ]
1031 silly gunzTarPerm extractEntry benchmarks/encode.bench.js
1032 silly gunzTarPerm modified mode [ 'benchmarks/encode.bench.js', 438, 420 ]
1033 silly gunzTarPerm extractEntry test/run.sh
1034 silly gunzTarPerm modified mode [ 'test/run.sh', 438, 420 ]
1035 silly gunzTarPerm extractEntry test/setup.sh
1036 silly gunzTarPerm modified mode [ 'test/setup.sh', 438, 420 ]
1037 silly gunzTarPerm extractEntry lib/connect.js
1038 silly gunzTarPerm modified mode [ 'lib/connect.js', 438, 420 ]
1039 silly gunzTarPerm extractEntry lib/index.js
1040 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
1041 silly gunzTarPerm extractEntry test/ulimit.js
1042 silly gunzTarPerm modified mode [ 'test/ulimit.js', 438, 420 ]
1043 silly gunzTarPerm extractEntry CONTRIBUTING.md
1044 silly gunzTarPerm modified mode [ 'CONTRIBUTING.md', 438, 420 ]
1045 silly gunzTarPerm extractEntry lib/coffee-script/browser.js
1046 silly gunzTarPerm modified mode [ 'lib/coffee-script/browser.js', 438, 420 ]
1047 silly gunzTarPerm extractEntry dist/lodash.js
1048 silly gunzTarPerm modified mode [ 'dist/lodash.js', 438, 420 ]
1049 silly gunzTarPerm extractEntry MIT-LICENSE.txt
1050 silly gunzTarPerm modified mode [ 'MIT-LICENSE.txt', 438, 420 ]
1051 silly gunzTarPerm extractEntry benchmarks/runner.js
1052 silly gunzTarPerm modified mode [ 'benchmarks/runner.js', 438, 420 ]
1053 silly gunzTarPerm extractEntry History.md
1054 silly gunzTarPerm modified mode [ 'History.md', 438, 420 ]
1055 silly gunzTarPerm extractEntry lib/patch.js
1056 silly gunzTarPerm modified mode [ 'lib/patch.js', 438, 420 ]
1057 silly gunzTarPerm extractEntry lib/proto.js
1058 silly gunzTarPerm modified mode [ 'lib/proto.js', 438, 420 ]
1059 silly gunzTarPerm extractEntry examples/example.js
1060 silly gunzTarPerm modified mode [ 'examples/example.js', 438, 420 ]
1061 silly gunzTarPerm extractEntry examples/fromreadme.js
1062 silly gunzTarPerm modified mode [ 'examples/fromreadme.js', 438, 420 ]
1063 silly gunzTarPerm extractEntry examples/log-rolling.js
1064 silly gunzTarPerm modified mode [ 'examples/log-rolling.js', 438, 420 ]
1065 silly gunzTarPerm extractEntry examples/memory-test.js
1066 silly gunzTarPerm modified mode [ 'examples/memory-test.js', 438, 420 ]
1067 silly gunzTarPerm extractEntry examples/patternLayout-tokens.js
1068 silly gunzTarPerm modified mode [ 'examples/patternLayout-tokens.js', 438, 420 ]
1069 silly gunzTarPerm extractEntry examples/smtp-appender.js
1070 silly gunzTarPerm modified mode [ 'examples/smtp-appender.js', 438, 420 ]
1071 silly gunzTarPerm extractEntry lib/connect-logger.js
1072 silly gunzTarPerm modified mode [ 'lib/connect-logger.js', 438, 420 ]
1073 silly gunzTarPerm extractEntry lib/date_format.js
1074 silly gunzTarPerm modified mode [ 'lib/date_format.js', 438, 420 ]
1075 silly gunzTarPerm extractEntry lib/debug.js
1076 silly gunzTarPerm modified mode [ 'lib/debug.js', 438, 420 ]
1077 silly gunzTarPerm extractEntry lib/layouts.js
1078 silly gunzTarPerm modified mode [ 'lib/layouts.js', 438, 420 ]
1079 silly gunzTarPerm extractEntry lib/levels.js
1080 silly gunzTarPerm modified mode [ 'lib/levels.js', 438, 420 ]
1081 silly gunzTarPerm extractEntry lib/log4js.js
1082 silly gunzTarPerm modified mode [ 'lib/log4js.js', 438, 420 ]
1083 silly gunzTarPerm extractEntry lib/logger.js
1084 silly gunzTarPerm modified mode [ 'lib/logger.js', 438, 420 ]
1085 silly gunzTarPerm extractEntry lib/appenders/categoryFilter.js
1086 silly gunzTarPerm modified mode [ 'lib/appenders/categoryFilter.js', 438, 420 ]
1087 silly gunzTarPerm extractEntry lib/appenders/clustered.js
1088 silly gunzTarPerm modified mode [ 'lib/appenders/clustered.js', 438, 420 ]
1089 silly gunzTarPerm extractEntry lib/appenders/console.js
1090 silly gunzTarPerm modified mode [ 'lib/appenders/console.js', 438, 420 ]
1091 silly gunzTarPerm extractEntry lib/appenders/dateFile.js
1092 silly gunzTarPerm modified mode [ 'lib/appenders/dateFile.js', 438, 420 ]
1093 silly gunzTarPerm extractEntry lib/appenders/file.js
1094 silly gunzTarPerm modified mode [ 'lib/appenders/file.js', 438, 420 ]
1095 silly gunzTarPerm extractEntry lib/appenders/gelf.js
1096 silly gunzTarPerm modified mode [ 'lib/appenders/gelf.js', 438, 420 ]
1097 silly gunzTarPerm extractEntry lib/appenders/hookio.js
1098 silly gunzTarPerm modified mode [ 'lib/appenders/hookio.js', 438, 420 ]
1099 silly gunzTarPerm extractEntry lib/appenders/logLevelFilter.js
1100 silly gunzTarPerm modified mode [ 'lib/appenders/logLevelFilter.js', 438, 420 ]
1101 silly gunzTarPerm extractEntry lib/appenders/multiprocess.js
1102 silly gunzTarPerm modified mode [ 'lib/appenders/multiprocess.js', 438, 420 ]
1103 silly gunzTarPerm extractEntry lib/appenders/smtp.js
1104 silly gunzTarPerm modified mode [ 'lib/appenders/smtp.js', 438, 420 ]
1105 silly gunzTarPerm extractEntry lib/log4js.json
1106 silly gunzTarPerm modified mode [ 'lib/log4js.json', 438, 420 ]
1107 silly gunzTarPerm extractEntry lib/streams/BaseRollingFileStream.js
1108 silly gunzTarPerm modified mode [ 'lib/streams/BaseRollingFileStream.js', 438, 420 ]
1109 silly gunzTarPerm extractEntry lib/streams/DateRollingFileStream.js
1110 silly gunzTarPerm modified mode [ 'lib/streams/DateRollingFileStream.js', 438, 420 ]
1111 silly gunzTarPerm extractEntry lib/streams/index.js
1112 silly gunzTarPerm modified mode [ 'lib/streams/index.js', 438, 420 ]
1113 silly gunzTarPerm extractEntry lib/streams/RollingFileStream.js
1114 silly gunzTarPerm modified mode [ 'lib/streams/RollingFileStream.js', 438, 420 ]
1115 silly gunzTarPerm extractEntry .bob.json
1116 silly gunzTarPerm modified mode [ '.bob.json', 438, 420 ]
1117 silly gunzTarPerm extractEntry .jshintrc
1118 silly gunzTarPerm modified mode [ '.jshintrc', 438, 420 ]
1119 silly gunzTarPerm extractEntry test/categoryFilter-test.js
1120 silly gunzTarPerm modified mode [ 'test/categoryFilter-test.js', 438, 420 ]
1121 silly gunzTarPerm extractEntry test/debug-test.js
1122 silly gunzTarPerm modified mode [ 'test/debug-test.js', 438, 420 ]
1123 silly gunzTarPerm extractEntry test/fileAppender-test.js
1124 silly gunzTarPerm modified mode [ 'test/fileAppender-test.js', 438, 420 ]
1125 silly gunzTarPerm extractEntry test/gelfAppender-test.js
1126 silly gunzTarPerm modified mode [ 'test/gelfAppender-test.js', 438, 420 ]
1127 silly gunzTarPerm extractEntry test/date_format-test.js
1128 silly gunzTarPerm modified mode [ 'test/date_format-test.js', 438, 420 ]
1129 silly gunzTarPerm extractEntry test/hookioAppender-test.js
1130 silly gunzTarPerm modified mode [ 'test/hookioAppender-test.js', 438, 420 ]
1131 silly gunzTarPerm extractEntry test/layouts-test.js
1132 silly gunzTarPerm modified mode [ 'test/layouts-test.js', 438, 420 ]
1133 silly gunzTarPerm extractEntry test/clusteredAppender-test.js
1134 silly gunzTarPerm modified mode [ 'test/clusteredAppender-test.js', 438, 420 ]
1135 silly gunzTarPerm extractEntry test/log-abspath-test.js
1136 silly gunzTarPerm modified mode [ 'test/log-abspath-test.js', 438, 420 ]
1137 silly gunzTarPerm extractEntry test/setLevel-asymmetry-test.js
1138 silly gunzTarPerm modified mode [ 'test/setLevel-asymmetry-test.js', 438, 420 ]
1139 silly gunzTarPerm extractEntry test/dateFileAppender-test.js
1140 silly gunzTarPerm modified mode [ 'test/dateFileAppender-test.js', 438, 420 ]
1141 silly gunzTarPerm extractEntry test/logger-test.js
1142 silly gunzTarPerm modified mode [ 'test/logger-test.js', 438, 420 ]
1143 silly gunzTarPerm extractEntry test/smtpAppender-test.js
1144 silly gunzTarPerm modified mode [ 'test/smtpAppender-test.js', 438, 420 ]
1145 silly gunzTarPerm extractEntry test/logging-test.js
1146 silly gunzTarPerm modified mode [ 'test/logging-test.js', 438, 420 ]
1147 silly gunzTarPerm extractEntry test/consoleAppender-test.js
1148 silly gunzTarPerm modified mode [ 'test/consoleAppender-test.js', 438, 420 ]
1149 silly gunzTarPerm extractEntry test/logLevelFilter-test.js
1150 silly gunzTarPerm modified mode [ 'test/logLevelFilter-test.js', 438, 420 ]
1151 silly gunzTarPerm extractEntry test/connect-logger-test.js
1152 silly gunzTarPerm modified mode [ 'test/connect-logger-test.js', 438, 420 ]
1153 silly gunzTarPerm extractEntry test/multiprocess-test.js
1154 silly gunzTarPerm modified mode [ 'test/multiprocess-test.js', 438, 420 ]
1155 silly gunzTarPerm extractEntry test/configureNoLevels-test.js
1156 silly gunzTarPerm modified mode [ 'test/configureNoLevels-test.js', 438, 420 ]
1157 silly gunzTarPerm extractEntry test/nolog-test.js
1158 silly gunzTarPerm modified mode [ 'test/nolog-test.js', 438, 420 ]
1159 silly gunzTarPerm extractEntry test/configuration-test.js
1160 silly gunzTarPerm modified mode [ 'test/configuration-test.js', 438, 420 ]
1161 silly gunzTarPerm extractEntry test/reloadConfiguration-test.js
1162 silly gunzTarPerm modified mode [ 'test/reloadConfiguration-test.js', 438, 420 ]
1163 silly gunzTarPerm extractEntry test/global-log-level-test.js
1164 silly gunzTarPerm modified mode [ 'test/global-log-level-test.js', 438, 420 ]
1165 silly gunzTarPerm extractEntry test/levels-test.js
1166 silly gunzTarPerm modified mode [ 'test/levels-test.js', 438, 420 ]
1167 silly gunzTarPerm extractEntry test/log4js.json
1168 silly gunzTarPerm modified mode [ 'test/log4js.json', 438, 420 ]
1169 silly gunzTarPerm extractEntry test/date-file-test
1170 silly gunzTarPerm modified mode [ 'test/date-file-test', 438, 420 ]
1171 silly gunzTarPerm extractEntry test/streams/BaseRollingFileStream-test.js
1172 silly gunzTarPerm modified mode [ 'test/streams/BaseRollingFileStream-test.js', 438, 420 ]
1173 silly gunzTarPerm extractEntry test/streams/rollingFileStream-test.js
1174 silly gunzTarPerm modified mode [ 'test/streams/rollingFileStream-test.js', 438, 420 ]
1175 silly gunzTarPerm extractEntry test/streams/DateRollingFileStream-test.js
1176 silly gunzTarPerm modified mode [ 'test/streams/DateRollingFileStream-test.js', 438, 420 ]
1177 silly gunzTarPerm extractEntry test/streams/test-rolling-file-stream
1178 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-file-stream', 438, 420 ]
1179 silly gunzTarPerm extractEntry test/streams/test-rolling-file-stream-write-less
1180 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-file-stream-write-less', 438, 420 ]
1181 silly gunzTarPerm extractEntry test/streams/test-rolling-file-stream-write-more
1182 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-file-stream-write-more', 438, 420 ]
1183 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files.20
1184 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files.20',
1184 silly gunzTarPerm 438,
1184 silly gunzTarPerm 420 ]
1185 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files
1186 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files',
1186 silly gunzTarPerm 438,
1186 silly gunzTarPerm 420 ]
1187 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files.0
1188 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files.0',
1188 silly gunzTarPerm 438,
1188 silly gunzTarPerm 420 ]
1189 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files.1
1190 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files.1',
1190 silly gunzTarPerm 438,
1190 silly gunzTarPerm 420 ]
1191 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files.11
1192 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files.11',
1192 silly gunzTarPerm 438,
1192 silly gunzTarPerm 420 ]
1193 silly gunzTarPerm extractEntry test/streams/test-rolling-stream-with-existing-files.2
1194 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-stream-with-existing-files.2',
1194 silly gunzTarPerm 438,
1194 silly gunzTarPerm 420 ]
1195 silly gunzTarPerm extractEntry test/streams/test-rolling-file-stream-write-more.1
1196 silly gunzTarPerm modified mode [ 'test/streams/test-rolling-file-stream-write-more.1',
1196 silly gunzTarPerm 438,
1196 silly gunzTarPerm 420 ]
1197 silly gunzTarPerm extractEntry test/with-categoryFilter.json
1198 silly gunzTarPerm modified mode [ 'test/with-categoryFilter.json', 438, 420 ]
1199 silly gunzTarPerm extractEntry test/with-dateFile.json
1200 silly gunzTarPerm modified mode [ 'test/with-dateFile.json', 438, 420 ]
1201 silly gunzTarPerm extractEntry test/with-log-rolling.json
1202 silly gunzTarPerm modified mode [ 'test/with-log-rolling.json', 438, 420 ]
1203 silly gunzTarPerm extractEntry test/with-logLevelFilter.json
1204 silly gunzTarPerm modified mode [ 'test/with-logLevelFilter.json', 438, 420 ]
1205 silly gunzTarPerm extractEntry test0
1206 silly gunzTarPerm modified mode [ 'test0', 438, 420 ]
1207 silly gunzTarPerm extractEntry test1
1208 silly gunzTarPerm modified mode [ 'test1', 438, 420 ]
1209 silly gunzTarPerm extractEntry test2
1210 silly gunzTarPerm modified mode [ 'test2', 438, 420 ]
1211 silly gunzTarPerm extractEntry test3
1212 silly gunzTarPerm modified mode [ 'test3', 438, 420 ]
1213 silly gunzTarPerm extractEntry test4
1214 silly gunzTarPerm modified mode [ 'test4', 438, 420 ]
1215 silly gunzTarPerm extractEntry dist/lodash.legacy.js
1216 silly gunzTarPerm modified mode [ 'dist/lodash.legacy.js', 438, 420 ]
1217 silly gunzTarPerm extractEntry lib/coffee-script/grammar.js
1218 silly gunzTarPerm modified mode [ 'lib/coffee-script/grammar.js', 438, 420 ]
1219 silly gunzTarPerm extractEntry lib/logger.js
1220 silly gunzTarPerm modified mode [ 'lib/logger.js', 438, 420 ]
1221 silly gunzTarPerm extractEntry lib/utils.js
1222 silly gunzTarPerm modified mode [ 'lib/utils.js', 438, 420 ]
1223 silly gunzTarPerm extractEntry lib/middleware/basicAuth.js
1224 silly gunzTarPerm modified mode [ 'lib/middleware/basicAuth.js', 438, 420 ]
1225 silly gunzTarPerm extractEntry ReadMe.md
1226 silly gunzTarPerm modified mode [ 'ReadMe.md', 438, 420 ]
1227 silly gunzTarPerm extractEntry examples/g.js
1228 silly gunzTarPerm modified mode [ 'examples/g.js', 438, 420 ]
1229 silly gunzTarPerm extractEntry examples/usr-local.js
1230 silly gunzTarPerm modified mode [ 'examples/usr-local.js', 438, 420 ]
1231 silly gunzTarPerm extractEntry lib/regexps.js
1232 silly gunzTarPerm modified mode [ 'lib/regexps.js', 438, 420 ]
1233 silly gunzTarPerm extractEntry lib/update.js
1234 silly gunzTarPerm modified mode [ 'lib/update.js', 438, 420 ]
1235 silly gunzTarPerm extractEntry lib/namespace.js
1236 silly gunzTarPerm modified mode [ 'lib/namespace.js', 438, 420 ]
1237 silly gunzTarPerm extractEntry lib/parser.js
1238 silly gunzTarPerm modified mode [ 'lib/parser.js', 438, 420 ]
1239 silly gunzTarPerm extractEntry lib/coffee-script/helpers.js
1240 silly gunzTarPerm modified mode [ 'lib/coffee-script/helpers.js', 438, 420 ]
1241 silly gunzTarPerm extractEntry lib/coffee-script/index.js
1242 silly gunzTarPerm modified mode [ 'lib/coffee-script/index.js', 438, 420 ]
1243 silly gunzTarPerm extractEntry lib/middleware/errorHandler.js
1244 silly gunzTarPerm modified mode [ 'lib/middleware/errorHandler.js', 438, 420 ]
1245 silly gunzTarPerm extractEntry lib/middleware/favicon.js
1246 silly gunzTarPerm modified mode [ 'lib/middleware/favicon.js', 438, 420 ]
1247 silly gunzTarPerm extractEntry example/divide.js
1248 silly gunzTarPerm modified mode [ 'example/divide.js', 438, 420 ]
1249 silly gunzTarPerm extractEntry example/line_count.js
1250 silly gunzTarPerm modified mode [ 'example/line_count.js', 438, 420 ]
1251 silly gunzTarPerm extractEntry test/00-setup.js
1252 silly gunzTarPerm modified mode [ 'test/00-setup.js', 438, 420 ]
1253 silly gunzTarPerm extractEntry test/bash-comparison.js
1254 silly gunzTarPerm modified mode [ 'test/bash-comparison.js', 438, 420 ]
1255 silly gunzTarPerm extractEntry lib/coffee-script/command.js
1256 silly gunzTarPerm modified mode [ 'lib/coffee-script/command.js', 438, 420 ]
1257 silly gunzTarPerm extractEntry lib/coffee-script/nodes.js
1258 silly gunzTarPerm modified mode [ 'lib/coffee-script/nodes.js', 438, 420 ]
1259 silly gunzTarPerm extractEntry CREDITS
1260 silly gunzTarPerm modified mode [ 'CREDITS', 438, 420 ]
1261 silly gunzTarPerm extractEntry CHANGELOG.md
1262 silly gunzTarPerm modified mode [ 'CHANGELOG.md', 438, 420 ]
1263 silly gunzTarPerm extractEntry example/default_hash.js
1264 silly gunzTarPerm modified mode [ 'example/default_hash.js', 438, 420 ]
1265 silly gunzTarPerm extractEntry example/line_count_wrap.js
1266 silly gunzTarPerm modified mode [ 'example/line_count_wrap.js', 438, 420 ]
1267 silly gunzTarPerm extractEntry lib/middleware/json.js
1268 silly gunzTarPerm modified mode [ 'lib/middleware/json.js', 438, 420 ]
1269 silly gunzTarPerm extractEntry lib/middleware/limit.js
1270 silly gunzTarPerm modified mode [ 'lib/middleware/limit.js', 438, 420 ]
1271 silly gunzTarPerm extractEntry lib/socket.io.js
1272 silly gunzTarPerm modified mode [ 'lib/socket.io.js', 438, 420 ]
1273 silly gunzTarPerm extractEntry lib/socket.js
1274 silly gunzTarPerm modified mode [ 'lib/socket.js', 438, 420 ]
1275 silly gunzTarPerm extractEntry .travis.yml
1276 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
1277 silly gunzTarPerm extractEntry lib/node-http-proxy.js
1278 silly gunzTarPerm modified mode [ 'lib/node-http-proxy.js', 438, 420 ]
1279 silly gunzTarPerm extractEntry lib/coffee-script/optparse.js
1280 silly gunzTarPerm modified mode [ 'lib/coffee-script/optparse.js', 438, 420 ]
1281 silly gunzTarPerm extractEntry lib/coffee-script/parser.js
1282 silly gunzTarPerm modified mode [ 'lib/coffee-script/parser.js', 438, 420 ]
1283 silly gunzTarPerm extractEntry example/nonopt.js
1284 silly gunzTarPerm modified mode [ 'example/nonopt.js', 438, 420 ]
1285 silly gunzTarPerm extractEntry example/reflect.js
1286 silly gunzTarPerm modified mode [ 'example/reflect.js', 438, 420 ]
1287 silly gunzTarPerm extractEntry lib/middleware/directory.js
1288 silly gunzTarPerm modified mode [ 'lib/middleware/directory.js', 438, 420 ]
1289 silly gunzTarPerm extractEntry lib/middleware/methodOverride.js
1290 silly gunzTarPerm modified mode [ 'lib/middleware/methodOverride.js', 438, 420 ]
1291 silly gunzTarPerm extractEntry lib/node-http-proxy/http-proxy.js
1292 silly gunzTarPerm modified mode [ 'lib/node-http-proxy/http-proxy.js', 438, 420 ]
1293 silly gunzTarPerm extractEntry lib/node-http-proxy/proxy-table.js
1294 silly gunzTarPerm modified mode [ 'lib/node-http-proxy/proxy-table.js', 438, 420 ]
1295 silly lockFile 7f2ddd2b-de-modules-karma-node-modules-di tar://C:\dev\tmp\test\node_modules\karma\node_modules\di
1296 silly lockFile 7f2ddd2b-de-modules-karma-node-modules-di tar://C:\dev\tmp\test\node_modules\karma\node_modules\di
1297 silly gunzTarPerm extractEntry lib/manager.js
1298 silly gunzTarPerm modified mode [ 'lib/manager.js', 438, 420 ]
1299 silly gunzTarPerm extractEntry lib/store.js
1300 silly gunzTarPerm modified mode [ 'lib/store.js', 438, 420 ]
1301 silly lockFile 300f8f22-g-npm-cache-di-0-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\di\0.0.1\package.tgz
1302 silly lockFile 300f8f22-g-npm-cache-di-0-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\di\0.0.1\package.tgz
1303 silly gunzTarPerm extractEntry lib/coffee-script/repl.js
1304 silly gunzTarPerm modified mode [ 'lib/coffee-script/repl.js', 438, 420 ]
1305 silly gunzTarPerm extractEntry lib/coffee-script/rewriter.js
1306 silly gunzTarPerm modified mode [ 'lib/coffee-script/rewriter.js', 438, 420 ]
1307 silly gunzTarPerm extractEntry example/short.js
1308 silly gunzTarPerm modified mode [ 'example/short.js', 438, 420 ]
1309 silly gunzTarPerm extractEntry example/string.js
1310 silly gunzTarPerm modified mode [ 'example/string.js', 438, 420 ]
1311 info preinstall di@0.0.1
1312 verbose readDependencies using package.json deps
1313 verbose readDependencies using package.json deps
1314 silly resolved []
1315 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\di
1316 info build C:\dev\tmp\test\node_modules\karma\node_modules\di
1317 verbose linkStuff [ false,
1317 verbose linkStuff false,
1317 verbose linkStuff false,
1317 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
1318 info linkStuff di@0.0.1
1319 verbose linkBins di@0.0.1
1320 verbose linkMans di@0.0.1
1321 verbose rebuildBundles di@0.0.1
1322 silly gunzTarPerm extractEntry lib/middleware/multipart.js
1323 silly gunzTarPerm modified mode [ 'lib/middleware/multipart.js', 438, 420 ]
1324 silly gunzTarPerm extractEntry lib/middleware/query.js
1325 silly gunzTarPerm modified mode [ 'lib/middleware/query.js', 438, 420 ]
1326 silly gunzTarPerm extractEntry lib/transport.js
1327 silly gunzTarPerm modified mode [ 'lib/transport.js', 438, 420 ]
1328 silly gunzTarPerm extractEntry lib/util.js
1329 silly gunzTarPerm modified mode [ 'lib/util.js', 438, 420 ]
1330 info install di@0.0.1
1331 info postinstall di@0.0.1
1332 silly gunzTarPerm extractEntry example/boolean_single.js
1333 silly gunzTarPerm modified mode [ 'example/boolean_single.js', 438, 420 ]
1334 silly gunzTarPerm extractEntry example/usage-options.js
1335 silly gunzTarPerm modified mode [ 'example/usage-options.js', 438, 420 ]
1336 silly gunzTarPerm extractEntry lib/node-http-proxy/routing-proxy.js
1337 silly gunzTarPerm modified mode [ 'lib/node-http-proxy/routing-proxy.js', 438, 420 ]
1338 silly gunzTarPerm extractEntry test/examples-test.js
1339 silly gunzTarPerm modified mode [ 'test/examples-test.js', 438, 420 ]
1340 silly gunzTarPerm extractEntry bin/testfiles.js
1341 silly gunzTarPerm modified mode [ 'bin/testfiles.js', 438, 420 ]
1342 silly gunzTarPerm extractEntry bin/update.js
1343 silly gunzTarPerm modified mode [ 'bin/update.js', 438, 420 ]
1344 silly lockFile 17f4404d-odules-karma-node-modules-rimraf tar://C:\dev\tmp\test\node_modules\karma\node_modules\rimraf
1345 silly lockFile 17f4404d-odules-karma-node-modules-rimraf tar://C:\dev\tmp\test\node_modules\karma\node_modules\rimraf
1346 silly lockFile 0b0fc6f9-m-cache-rimraf-2-1-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\rimraf\2.1.4\package.tgz
1347 silly lockFile 0b0fc6f9-m-cache-rimraf-2-1-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\rimraf\2.1.4\package.tgz
1348 silly gunzTarPerm extractEntry test/cwd-test.js
1349 silly gunzTarPerm modified mode [ 'test/cwd-test.js', 438, 420 ]
1350 silly gunzTarPerm extractEntry test/mark.js
1351 silly gunzTarPerm modified mode [ 'test/mark.js', 438, 420 ]
1352 silly lockFile 7a8ab747-odules-karma-node-modules-colors tar://C:\dev\tmp\test\node_modules\karma\node_modules\colors
1353 silly lockFile 7a8ab747-odules-karma-node-modules-colors tar://C:\dev\tmp\test\node_modules\karma\node_modules\colors
1354 silly gunzTarPerm extractEntry lib/coffee-script/coffee-script.js
1355 silly gunzTarPerm modified mode [ 'lib/coffee-script/coffee-script.js', 438, 420 ]
1356 silly gunzTarPerm extractEntry lib/coffee-script/scope.js
1357 silly gunzTarPerm modified mode [ 'lib/coffee-script/scope.js', 438, 420 ]
1358 silly lockFile 7a139089-cache-colors-0-6-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\colors\0.6.0-1\package.tgz
1359 silly lockFile 7a139089-cache-colors-0-6-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\colors\0.6.0-1\package.tgz
1360 info preinstall rimraf@2.1.4
1361 silly lockFile 315702d7-s-karma-node-modules-graceful-fs tar://C:\dev\tmp\test\node_modules\karma\node_modules\graceful-fs
1362 silly lockFile 315702d7-s-karma-node-modules-graceful-fs tar://C:\dev\tmp\test\node_modules\karma\node_modules\graceful-fs
1363 silly gunzTarPerm extractEntry example/boolean_double.js
1364 silly gunzTarPerm modified mode [ 'example/boolean_double.js', 438, 420 ]
1365 silly gunzTarPerm extractEntry example/xup.js
1366 silly gunzTarPerm modified mode [ 'example/xup.js', 438, 420 ]
1367 silly gunzTarPerm extractEntry lib/middleware/responseTime.js
1368 silly gunzTarPerm modified mode [ 'lib/middleware/responseTime.js', 438, 420 ]
1369 silly gunzTarPerm extractEntry lib/middleware/urlencoded.js
1370 silly gunzTarPerm modified mode [ 'lib/middleware/urlencoded.js', 438, 420 ]
1371 silly lockFile 4083fcad-he-graceful-fs-1-2-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\graceful-fs\1.2.3\package.tgz
1372 silly lockFile 4083fcad-he-graceful-fs-1-2-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\graceful-fs\1.2.3\package.tgz
1373 verbose readDependencies using package.json deps
1374 silly gunzTarPerm extractEntry test/core/README.md
1375 silly gunzTarPerm modified mode [ 'test/core/README.md', 438, 420 ]
1376 silly gunzTarPerm extractEntry test/core/common.js
1377 silly gunzTarPerm modified mode [ 'test/core/common.js', 438, 420 ]
1378 verbose readDependencies using package.json deps
1379 silly resolved []
1380 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\rimraf
1381 info build C:\dev\tmp\test\node_modules\karma\node_modules\rimraf
1382 verbose linkStuff [ false,
1382 verbose linkStuff false,
1382 verbose linkStuff false,
1382 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
1383 info linkStuff rimraf@2.1.4
1384 verbose linkBins rimraf@2.1.4
1385 verbose linkMans rimraf@2.1.4
1386 verbose rebuildBundles rimraf@2.1.4
1387 silly gunzTarPerm extractEntry static/user_agent.after.yaml
1388 silly gunzTarPerm modified mode [ 'static/user_agent.after.yaml', 438, 420 ]
1389 silly gunzTarPerm extractEntry test/features.test.js
1390 silly gunzTarPerm modified mode [ 'test/features.test.js', 438, 420 ]
1391 info preinstall colors@0.6.0-1
1392 silly gunzTarPerm extractEntry test/nocase-nomagic.js
1393 silly gunzTarPerm modified mode [ 'test/nocase-nomagic.js', 438, 420 ]
1394 silly gunzTarPerm extractEntry test/pause-resume.js
1395 silly gunzTarPerm modified mode [ 'test/pause-resume.js', 438, 420 ]
1396 info install rimraf@2.1.4
1397 info preinstall graceful-fs@1.2.3
1398 info postinstall rimraf@2.1.4
1399 verbose readDependencies using package.json deps
1400 verbose readDependencies using package.json deps
1401 silly resolved []
1402 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\colors
1403 info build C:\dev\tmp\test\node_modules\karma\node_modules\colors
1404 verbose linkStuff [ false,
1404 verbose linkStuff false,
1404 verbose linkStuff false,
1404 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
1405 info linkStuff colors@0.6.0-1
1406 verbose linkBins colors@0.6.0-1
1407 verbose linkMans colors@0.6.0-1
1408 verbose rebuildBundles colors@0.6.0-1
1409 info install colors@0.6.0-1
1410 verbose readDependencies using package.json deps
1411 verbose readDependencies using package.json deps
1412 silly resolved []
1413 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\graceful-fs
1414 info build C:\dev\tmp\test\node_modules\karma\node_modules\graceful-fs
1415 verbose linkStuff [ false,
1415 verbose linkStuff false,
1415 verbose linkStuff false,
1415 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
1416 info linkStuff graceful-fs@1.2.3
1417 verbose linkBins graceful-fs@1.2.3
1418 verbose linkMans graceful-fs@1.2.3
1419 verbose rebuildBundles graceful-fs@1.2.3
1420 silly gunzTarPerm extractEntry example/line_count_options.js
1421 silly gunzTarPerm modified mode [ 'example/line_count_options.js', 438, 420 ]
1422 silly gunzTarPerm extractEntry readme.markdown
1423 silly gunzTarPerm modified mode [ 'readme.markdown', 438, 420 ]
1424 info postinstall colors@0.6.0-1
1425 info install graceful-fs@1.2.3
1426 silly gunzTarPerm extractEntry test/core/pummel/test-http-upload-timeout.js
1427 silly gunzTarPerm modified mode [ 'test/core/pummel/test-http-upload-timeout.js', 438, 420 ]
1428 silly gunzTarPerm extractEntry test/core/run
1429 silly gunzTarPerm modified mode [ 'test/core/run', 438, 420 ]
1430 silly gunzTarPerm extractEntry test/parser.qa.js
1431 silly gunzTarPerm modified mode [ 'test/parser.qa.js', 438, 420 ]
1432 silly gunzTarPerm extractEntry test/parser.test.js
1433 silly gunzTarPerm modified mode [ 'test/parser.test.js', 438, 420 ]
1434 info postinstall graceful-fs@1.2.3
1435 silly gunzTarPerm extractEntry lib/static.js
1436 silly gunzTarPerm modified mode [ 'lib/static.js', 438, 420 ]
1437 silly gunzTarPerm extractEntry lib/stores/memory.js
1438 silly gunzTarPerm modified mode [ 'lib/stores/memory.js', 438, 420 ]
1439 silly gunzTarPerm extractEntry test/root-nomount.js
1440 silly gunzTarPerm modified mode [ 'test/root-nomount.js', 438, 420 ]
1441 silly gunzTarPerm extractEntry test/root.js
1442 silly gunzTarPerm modified mode [ 'test/root.js', 438, 420 ]
1443 silly gunzTarPerm extractEntry test/parse.js
1444 silly gunzTarPerm modified mode [ 'test/parse.js', 438, 420 ]
1445 silly gunzTarPerm extractEntry test/usage.js
1446 silly gunzTarPerm modified mode [ 'test/usage.js', 438, 420 ]
1447 silly gunzTarPerm extractEntry test/zz-cleanup.js
1448 silly gunzTarPerm modified mode [ 'test/zz-cleanup.js', 438, 420 ]
1449 silly gunzTarPerm extractEntry test/bash-results.json
1450 silly gunzTarPerm modified mode [ 'test/bash-results.json', 438, 420 ]
1451 silly gunzTarPerm extractEntry lib/middleware/csrf.js
1452 silly gunzTarPerm modified mode [ 'lib/middleware/csrf.js', 438, 420 ]
1453 silly gunzTarPerm extractEntry lib/middleware/session.js
1454 silly gunzTarPerm modified mode [ 'lib/middleware/session.js', 438, 420 ]
1455 silly gunzTarPerm extractEntry lib/stores/redis.js
1456 silly gunzTarPerm modified mode [ 'lib/stores/redis.js', 438, 420 ]
1457 silly gunzTarPerm extractEntry lib/transports/flashsocket.js
1458 silly gunzTarPerm modified mode [ 'lib/transports/flashsocket.js', 438, 420 ]
1459 silly gunzTarPerm extractEntry test/_.js
1460 silly gunzTarPerm modified mode [ 'test/_.js', 438, 420 ]
1461 silly gunzTarPerm extractEntry test/_/argv.js
1462 silly gunzTarPerm modified mode [ 'test/_/argv.js', 438, 420 ]
1463 silly gunzTarPerm extractEntry test/_/bin.js
1464 silly gunzTarPerm modified mode [ 'test/_/bin.js', 438, 420 ]
1465 silly gunzTarPerm extractEntry test/core/run-single
1466 silly gunzTarPerm modified mode [ 'test/core/run-single', 438, 420 ]
1467 silly gunzTarPerm extractEntry test/core/simple/test-http-chunked.js
1468 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-chunked.js', 438, 420 ]
1469 silly gunzTarPerm extractEntry lib/coffee-script/cake.js
1470 silly gunzTarPerm modified mode [ 'lib/coffee-script/cake.js', 438, 420 ]
1471 silly gunzTarPerm extractEntry lib/coffee-script/sourcemap.js
1472 silly gunzTarPerm modified mode [ 'lib/coffee-script/sourcemap.js', 438, 420 ]
1473 silly gunzTarPerm extractEntry lib/middleware/cookieSession.js
1474 silly gunzTarPerm modified mode [ 'lib/middleware/cookieSession.js', 438, 420 ]
1475 silly gunzTarPerm extractEntry lib/middleware/static.js
1476 silly gunzTarPerm modified mode [ 'lib/middleware/static.js', 438, 420 ]
1477 silly gunzTarPerm extractEntry lib/transports/htmlfile.js
1478 silly gunzTarPerm modified mode [ 'lib/transports/htmlfile.js', 438, 420 ]
1479 silly gunzTarPerm extractEntry lib/transports/http-polling.js
1480 silly gunzTarPerm modified mode [ 'lib/transports/http-polling.js', 438, 420 ]
1481 silly gunzTarPerm extractEntry lib/coffee-script/lexer.js
1482 silly gunzTarPerm modified mode [ 'lib/coffee-script/lexer.js', 438, 420 ]
1483 silly gunzTarPerm extractEntry Rakefile
1484 silly gunzTarPerm modified mode [ 'Rakefile', 438, 420 ]
1485 silly gunzTarPerm extractEntry lib/middleware/cookieParser.js
1486 silly gunzTarPerm modified mode [ 'lib/middleware/cookieParser.js', 438, 420 ]
1487 silly gunzTarPerm extractEntry lib/middleware/staticCache.js
1488 silly gunzTarPerm modified mode [ 'lib/middleware/staticCache.js', 438, 420 ]
1489 silly gunzTarPerm extractEntry lib/transports/http.js
1490 silly gunzTarPerm modified mode [ 'lib/transports/http.js', 438, 420 ]
1491 silly gunzTarPerm extractEntry lib/transports/index.js
1492 silly gunzTarPerm modified mode [ 'lib/transports/index.js', 438, 420 ]
1493 silly gunzTarPerm extractEntry lib/middleware/compress.js
1494 silly gunzTarPerm modified mode [ 'lib/middleware/compress.js', 438, 420 ]
1495 silly gunzTarPerm extractEntry lib/middleware/timeout.js
1496 silly gunzTarPerm modified mode [ 'lib/middleware/timeout.js', 438, 420 ]
1497 silly lockFile aa571d9f--modules-karma-node-modules-mime tar://C:\dev\tmp\test\node_modules\karma\node_modules\mime
1498 silly lockFile aa571d9f--modules-karma-node-modules-mime tar://C:\dev\tmp\test\node_modules\karma\node_modules\mime
1499 silly gunzTarPerm extractEntry lib/transports/jsonp-polling.js
1500 silly gunzTarPerm modified mode [ 'lib/transports/jsonp-polling.js', 438, 420 ]
1501 silly gunzTarPerm extractEntry lib/transports/websocket.js
1502 silly gunzTarPerm modified mode [ 'lib/transports/websocket.js', 438, 420 ]
1503 silly lockFile 558fb19e-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
1504 silly lockFile 558fb19e-pm-cache-mime-1-2-11-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\mime\1.2.11\package.tgz
1505 info preinstall mime@1.2.11
1506 silly gunzTarPerm extractEntry lib/middleware/bodyParser.js
1507 silly gunzTarPerm modified mode [ 'lib/middleware/bodyParser.js', 438, 420 ]
1508 silly gunzTarPerm extractEntry lib/middleware/vhost.js
1509 silly gunzTarPerm modified mode [ 'lib/middleware/vhost.js', 438, 420 ]
1510 verbose readDependencies using package.json deps
1511 verbose readDependencies using package.json deps
1512 silly resolved []
1513 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\mime
1514 info build C:\dev\tmp\test\node_modules\karma\node_modules\mime
1515 verbose linkStuff [ false,
1515 verbose linkStuff false,
1515 verbose linkStuff false,
1515 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
1516 info linkStuff mime@1.2.11
1517 verbose linkBins mime@1.2.11
1518 verbose linkMans mime@1.2.11
1519 verbose rebuildBundles mime@1.2.11
1520 info install mime@1.2.11
1521 info postinstall mime@1.2.11
1522 silly lockFile bfc00596-les-karma-node-modules-minimatch tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch
1523 silly lockFile bfc00596-les-karma-node-modules-minimatch tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch
1524 silly lockFile 08c52251-che-minimatch-0-2-12-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
1525 silly lockFile 08c52251-che-minimatch-0-2-12-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\minimatch\0.2.12\package.tgz
1526 silly lockFile dda9cf9f-ules-karma-node-modules-chokidar tar://C:\dev\tmp\test\node_modules\karma\node_modules\chokidar
1527 silly lockFile dda9cf9f-ules-karma-node-modules-chokidar tar://C:\dev\tmp\test\node_modules\karma\node_modules\chokidar
1528 silly lockFile 13da1411-cache-chokidar-0-6-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\chokidar\0.6.3\package.tgz
1529 silly lockFile 13da1411-cache-chokidar-0-6-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\chokidar\0.6.3\package.tgz
1530 silly gunzTarPerm extractEntry lib/middleware/logger.js
1531 silly gunzTarPerm modified mode [ 'lib/middleware/logger.js', 438, 420 ]
1532 silly gunzTarPerm extractEntry lib/middleware/session/cookie.js
1533 silly gunzTarPerm modified mode [ 'lib/middleware/session/cookie.js', 438, 420 ]
1534 info preinstall minimatch@0.2.12
1535 info preinstall chokidar@0.6.3
1536 silly gunzTarPerm extractEntry lib/transports/xhr-polling.js
1537 silly gunzTarPerm modified mode [ 'lib/transports/xhr-polling.js', 438, 420 ]
1538 silly gunzTarPerm extractEntry lib/transports/websocket/default.js
1539 silly gunzTarPerm modified mode [ 'lib/transports/websocket/default.js', 438, 420 ]
1540 verbose readDependencies using package.json deps
1541 verbose readDependencies using package.json deps
1542 verbose readDependencies using package.json deps
1543 verbose readDependencies using package.json deps
1544 silly resolved []
1545 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\chokidar
1546 info build C:\dev\tmp\test\node_modules\karma\node_modules\chokidar
1547 verbose linkStuff [ false,
1547 verbose linkStuff false,
1547 verbose linkStuff false,
1547 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
1548 info linkStuff chokidar@0.6.3
1549 verbose linkBins chokidar@0.6.3
1550 verbose linkMans chokidar@0.6.3
1551 verbose rebuildBundles chokidar@0.6.3
1552 silly gunzTarPerm extractEntry test/core/simple/test-http-extra-response.js
1553 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-extra-response.js', 438, 420 ]
1554 silly gunzTarPerm extractEntry test/core/simple/test-http-head-request.js
1555 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-head-request.js', 438, 420 ]
1556 info install chokidar@0.6.3
1557 verbose cache add [ 'lru-cache@2', null ]
1558 verbose cache add name=undefined spec="lru-cache@2" args=["lru-cache@2",null]
1559 verbose parsed url { protocol: null,
1559 verbose parsed url slashes: null,
1559 verbose parsed url auth: null,
1559 verbose parsed url host: null,
1559 verbose parsed url port: null,
1559 verbose parsed url hostname: null,
1559 verbose parsed url hash: null,
1559 verbose parsed url search: null,
1559 verbose parsed url query: null,
1559 verbose parsed url pathname: 'lru-cache@2',
1559 verbose parsed url path: 'lru-cache@2',
1559 verbose parsed url href: 'lru-cache@2' }
1560 verbose cache add name="lru-cache" spec="2" args=["lru-cache","2"]
1561 verbose parsed url { protocol: null,
1561 verbose parsed url slashes: null,
1561 verbose parsed url auth: null,
1561 verbose parsed url host: null,
1561 verbose parsed url port: null,
1561 verbose parsed url hostname: null,
1561 verbose parsed url hash: null,
1561 verbose parsed url search: null,
1561 verbose parsed url query: null,
1561 verbose parsed url pathname: '2',
1561 verbose parsed url path: '2',
1561 verbose parsed url href: '2' }
1562 verbose addNamed [ 'lru-cache', '2' ]
1563 verbose addNamed [ null, '>=2.0.0-0 <3.0.0-0' ]
1564 silly lockFile b4f9d1ff-lru-cache-2 lru-cache@2
1565 verbose lock lru-cache@2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\b4f9d1ff-lru-cache-2.lock
1566 verbose cache add [ 'sigmund@~1.0.0', null ]
1567 verbose cache add name=undefined spec="sigmund@~1.0.0" args=["sigmund@~1.0.0",null]
1568 verbose parsed url { protocol: null,
1568 verbose parsed url slashes: null,
1568 verbose parsed url auth: null,
1568 verbose parsed url host: null,
1568 verbose parsed url port: null,
1568 verbose parsed url hostname: null,
1568 verbose parsed url hash: null,
1568 verbose parsed url search: null,
1568 verbose parsed url query: null,
1568 verbose parsed url pathname: 'sigmund@~1.0.0',
1568 verbose parsed url path: 'sigmund@~1.0.0',
1568 verbose parsed url href: 'sigmund@~1.0.0' }
1569 verbose cache add name="sigmund" spec="~1.0.0" args=["sigmund","~1.0.0"]
1570 verbose parsed url { protocol: null,
1570 verbose parsed url slashes: null,
1570 verbose parsed url auth: null,
1570 verbose parsed url host: null,
1570 verbose parsed url port: null,
1570 verbose parsed url hostname: null,
1570 verbose parsed url hash: null,
1570 verbose parsed url search: null,
1570 verbose parsed url query: null,
1570 verbose parsed url pathname: '~1.0.0',
1570 verbose parsed url path: '~1.0.0',
1570 verbose parsed url href: '~1.0.0' }
1571 verbose addNamed [ 'sigmund', '~1.0.0' ]
1572 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
1573 silly lockFile 584a4a05-sigmund-1-0-0 sigmund@~1.0.0
1574 verbose lock sigmund@~1.0.0 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\584a4a05-sigmund-1-0-0.lock
1575 info postinstall chokidar@0.6.3
1576 silly addNameRange { name: 'lru-cache',
1576 silly addNameRange range: '>=2.0.0-0 <3.0.0-0',
1576 silly addNameRange hasData: false }
1577 silly addNameRange { name: 'sigmund', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
1578 silly gunzTarPerm extractEntry lib/middleware/session/memory.js
1579 silly gunzTarPerm modified mode [ 'lib/middleware/session/memory.js', 438, 420 ]
1580 silly gunzTarPerm extractEntry lib/middleware/session/session.js
1581 silly gunzTarPerm modified mode [ 'lib/middleware/session/session.js', 438, 420 ]
1582 verbose url raw sigmund
1583 verbose url resolving [ 'https://registry.npmjs.org/', './sigmund' ]
1584 verbose url resolved https://registry.npmjs.org/sigmund
1585 info trying registry request attempt 1 at 16:42:41
1586 verbose etag "BAAVPGGBONNEW4H9S234JOULZ"
1587 http GET https://registry.npmjs.org/sigmund
1588 silly gunzTarPerm extractEntry test/core/simple/test-http-head-response-has-no-body-end.js
1589 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-head-response-has-no-body-end.js',
1589 silly gunzTarPerm 438,
1589 silly gunzTarPerm 420 ]
1590 silly gunzTarPerm extractEntry test/core/simple/test-http-eof-on-connect.js
1591 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-eof-on-connect.js', 438, 420 ]
1592 verbose url raw lru-cache
1593 verbose url resolving [ 'https://registry.npmjs.org/', './lru-cache' ]
1594 verbose url resolved https://registry.npmjs.org/lru-cache
1595 info trying registry request attempt 1 at 16:42:41
1596 verbose etag "14VF40U499GDAIDK33TEOG56Q"
1597 http GET https://registry.npmjs.org/lru-cache
1598 silly gunzTarPerm extractEntry lib/middleware/session/store.js
1599 silly gunzTarPerm modified mode [ 'lib/middleware/session/store.js', 438, 420 ]
1600 silly gunzTarPerm extractEntry lib/public/directory.html
1601 silly gunzTarPerm modified mode [ 'lib/public/directory.html', 438, 420 ]
1602 silly gunzTarPerm extractEntry test/fixtures/firefoxes.yaml
1603 silly gunzTarPerm modified mode [ 'test/fixtures/firefoxes.yaml', 438, 420 ]
1604 silly gunzTarPerm extractEntry test/fixtures/pgts.yaml
1605 silly gunzTarPerm modified mode [ 'test/fixtures/pgts.yaml', 438, 420 ]
1606 silly lockFile e81ae3ce-ode-modules-karma-node-modules-q tar://C:\dev\tmp\test\node_modules\karma\node_modules\q
1607 silly lockFile e81ae3ce-ode-modules-karma-node-modules-q tar://C:\dev\tmp\test\node_modules\karma\node_modules\q
1608 silly gunzTarPerm extractEntry lib/public/error.html
1609 silly gunzTarPerm modified mode [ 'lib/public/error.html', 438, 420 ]
1610 silly gunzTarPerm extractEntry lib/public/favicon.ico
1611 silly gunzTarPerm modified mode [ 'lib/public/favicon.ico', 438, 420 ]
1612 silly lockFile b4fdff9f-ng-npm-cache-q-0-9-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\q\0.9.7\package.tgz
1613 silly lockFile b4fdff9f-ng-npm-cache-q-0-9-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\q\0.9.7\package.tgz
1614 silly gunzTarPerm extractEntry test/core/simple/test-http-host-headers.js
1615 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-host-headers.js', 438, 420 ]
1616 silly gunzTarPerm extractEntry test/core/simple/test-http-many-keep-alive-connections.js
1617 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-many-keep-alive-connections.js',
1617 silly gunzTarPerm 438,
1617 silly gunzTarPerm 420 ]
1618 silly gunzTarPerm extractEntry lib/transports/websocket/hybi-07-12.js
1619 silly gunzTarPerm modified mode [ 'lib/transports/websocket/hybi-07-12.js', 438, 420 ]
1620 silly gunzTarPerm extractEntry lib/transports/websocket/hybi-16.js
1621 silly gunzTarPerm modified mode [ 'lib/transports/websocket/hybi-16.js', 438, 420 ]
1622 info preinstall q@0.9.7
1623 verbose readDependencies using package.json deps
1624 verbose readDependencies using package.json deps
1625 silly resolved []
1626 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\q
1627 info build C:\dev\tmp\test\node_modules\karma\node_modules\q
1628 verbose linkStuff [ false,
1628 verbose linkStuff false,
1628 verbose linkStuff false,
1628 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
1629 info linkStuff q@0.9.7
1630 verbose linkBins q@0.9.7
1631 verbose linkMans q@0.9.7
1632 verbose rebuildBundles q@0.9.7
1633 info install q@0.9.7
1634 silly gunzTarPerm extractEntry lib/public/icons/page_white_edit.png
1635 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_edit.png', 438, 420 ]
1636 silly gunzTarPerm extractEntry lib/public/icons/page.png
1637 silly gunzTarPerm modified mode [ 'lib/public/icons/page.png', 438, 420 ]
1638 info postinstall q@0.9.7
1639 silly gunzTarPerm extractEntry test/core/simple/test-http-multi-line-headers.js
1640 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-multi-line-headers.js', 438, 420 ]
1641 silly gunzTarPerm extractEntry test/core/simple/test-http-proxy.js
1642 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-proxy.js', 438, 420 ]
1643 silly gunzTarPerm extractEntry lib/transports/websocket/index.js
1644 silly gunzTarPerm modified mode [ 'lib/transports/websocket/index.js', 438, 420 ]
1645 silly gunzTarPerm extractEntry Makefile
1646 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
1647 silly gunzTarPerm extractEntry lib/public/icons/page_attach.png
1648 silly gunzTarPerm modified mode [ 'lib/public/icons/page_attach.png', 438, 420 ]
1649 silly gunzTarPerm extractEntry lib/public/icons/page_code.png
1650 silly gunzTarPerm modified mode [ 'lib/public/icons/page_code.png', 438, 420 ]
1651 silly gunzTarPerm extractEntry test/core/simple/test-http-response-close.js
1652 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-response-close.js', 438, 420 ]
1653 silly gunzTarPerm extractEntry test/core/simple/test-http-contentLength0.js
1654 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-contentLength0.js', 438, 420 ]
1655 silly gunzTarPerm extractEntry lib/public/icons/page_copy.png
1656 silly gunzTarPerm modified mode [ 'lib/public/icons/page_copy.png', 438, 420 ]
1657 silly gunzTarPerm extractEntry lib/public/icons/page_delete.png
1658 silly gunzTarPerm modified mode [ 'lib/public/icons/page_delete.png', 438, 420 ]
1659 silly gunzTarPerm extractEntry Readme.md
1660 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
1661 silly gunzTarPerm extractEntry test/core/simple/test-http-server-multiheaders.js
1662 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-server-multiheaders.js', 438, 420 ]
1663 silly gunzTarPerm extractEntry test/core/simple/test-http-client-upload.js
1664 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-client-upload.js', 438, 420 ]
1665 silly gunzTarPerm extractEntry lib/public/icons/page_edit.png
1666 silly gunzTarPerm modified mode [ 'lib/public/icons/page_edit.png', 438, 420 ]
1667 silly gunzTarPerm extractEntry lib/public/icons/page_error.png
1668 silly gunzTarPerm modified mode [ 'lib/public/icons/page_error.png', 438, 420 ]
1669 silly lockFile cdce9a02--modules-karma-node-modules-glob tar://C:\dev\tmp\test\node_modules\karma\node_modules\glob
1670 silly lockFile cdce9a02--modules-karma-node-modules-glob tar://C:\dev\tmp\test\node_modules\karma\node_modules\glob
1671 silly lockFile 6d723b8e-pm-cache-glob-3-1-21-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
1672 silly lockFile 6d723b8e-pm-cache-glob-3-1-21-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\glob\3.1.21\package.tgz
1673 info preinstall glob@3.1.21
1674 silly gunzTarPerm extractEntry test/core/simple/test-http-set-cookies.js
1675 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-set-cookies.js', 438, 420 ]
1676 silly gunzTarPerm extractEntry test/core/simple/test-http-client-upload-buf.js
1677 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-client-upload-buf.js', 438, 420 ]
1678 verbose readDependencies using package.json deps
1679 verbose readDependencies using package.json deps
1680 silly gunzTarPerm extractEntry lib/public/icons/page_excel.png
1681 silly gunzTarPerm modified mode [ 'lib/public/icons/page_excel.png', 438, 420 ]
1682 silly gunzTarPerm extractEntry lib/public/icons/page_find.png
1683 silly gunzTarPerm modified mode [ 'lib/public/icons/page_find.png', 438, 420 ]
1684 silly lockFile 7ca3f692-ules-karma-node-modules-optimist tar://C:\dev\tmp\test\node_modules\karma\node_modules\optimist
1685 silly lockFile 7ca3f692-ules-karma-node-modules-optimist tar://C:\dev\tmp\test\node_modules\karma\node_modules\optimist
1686 silly lockFile 9a766492-cache-optimist-0-3-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\optimist\0.3.7\package.tgz
1687 silly lockFile 9a766492-cache-optimist-0-3-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\optimist\0.3.7\package.tgz
1688 info preinstall optimist@0.3.7
1689 silly gunzTarPerm extractEntry test/core/simple/test-http-status-code.js
1690 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-status-code.js', 438, 420 ]
1691 silly gunzTarPerm extractEntry test/core/simple/test-http-client-abort2.js
1692 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-client-abort2.js', 438, 420 ]
1693 verbose readDependencies using package.json deps
1694 verbose readDependencies using package.json deps
1695 verbose cache add [ 'inherits@1', null ]
1696 verbose cache add name=undefined spec="inherits@1" args=["inherits@1",null]
1697 verbose parsed url { protocol: null,
1697 verbose parsed url slashes: null,
1697 verbose parsed url auth: null,
1697 verbose parsed url host: null,
1697 verbose parsed url port: null,
1697 verbose parsed url hostname: null,
1697 verbose parsed url hash: null,
1697 verbose parsed url search: null,
1697 verbose parsed url query: null,
1697 verbose parsed url pathname: 'inherits@1',
1697 verbose parsed url path: 'inherits@1',
1697 verbose parsed url href: 'inherits@1' }
1698 verbose cache add name="inherits" spec="1" args=["inherits","1"]
1699 verbose parsed url { protocol: null,
1699 verbose parsed url slashes: null,
1699 verbose parsed url auth: null,
1699 verbose parsed url host: null,
1699 verbose parsed url port: null,
1699 verbose parsed url hostname: null,
1699 verbose parsed url hash: null,
1699 verbose parsed url search: null,
1699 verbose parsed url query: null,
1699 verbose parsed url pathname: '1',
1699 verbose parsed url path: '1',
1699 verbose parsed url href: '1' }
1700 verbose addNamed [ 'inherits', '1' ]
1701 verbose addNamed [ null, '>=1.0.0-0 <2.0.0-0' ]
1702 silly lockFile 4bca46d0-inherits-1 inherits@1
1703 verbose lock inherits@1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\4bca46d0-inherits-1.lock
1704 verbose cache add [ 'wordwrap@~0.0.2', null ]
1705 verbose cache add name=undefined spec="wordwrap@~0.0.2" args=["wordwrap@~0.0.2",null]
1706 verbose parsed url { protocol: null,
1706 verbose parsed url slashes: null,
1706 verbose parsed url auth: null,
1706 verbose parsed url host: null,
1706 verbose parsed url port: null,
1706 verbose parsed url hostname: null,
1706 verbose parsed url hash: null,
1706 verbose parsed url search: null,
1706 verbose parsed url query: null,
1706 verbose parsed url pathname: 'wordwrap@~0.0.2',
1706 verbose parsed url path: 'wordwrap@~0.0.2',
1706 verbose parsed url href: 'wordwrap@~0.0.2' }
1707 verbose cache add name="wordwrap" spec="~0.0.2" args=["wordwrap","~0.0.2"]
1708 verbose parsed url { protocol: null,
1708 verbose parsed url slashes: null,
1708 verbose parsed url auth: null,
1708 verbose parsed url host: null,
1708 verbose parsed url port: null,
1708 verbose parsed url hostname: null,
1708 verbose parsed url hash: null,
1708 verbose parsed url search: null,
1708 verbose parsed url query: null,
1708 verbose parsed url pathname: '~0.0.2',
1708 verbose parsed url path: '~0.0.2',
1708 verbose parsed url href: '~0.0.2' }
1709 verbose addNamed [ 'wordwrap', '~0.0.2' ]
1710 verbose addNamed [ null, '>=0.0.2-0 <0.1.0-0' ]
1711 silly lockFile 8bd42136-wordwrap-0-0-2 wordwrap@~0.0.2
1712 verbose lock wordwrap@~0.0.2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\8bd42136-wordwrap-0-0-2.lock
1713 silly gunzTarPerm extractEntry test/core/simple/test-http-upgrade-server2.js
1714 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-upgrade-server2.js', 438, 420 ]
1715 silly gunzTarPerm extractEntry test/core/simple/test-http-client-abort.js
1716 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-client-abort.js', 438, 420 ]
1717 silly addNameRange { name: 'inherits', range: '>=1.0.0-0 <2.0.0-0', hasData: false }
1718 silly addNameRange { name: 'wordwrap', range: '>=0.0.2-0 <0.1.0-0', hasData: false }
1719 silly gunzTarPerm extractEntry lib/public/icons/page_gear.png
1720 silly gunzTarPerm modified mode [ 'lib/public/icons/page_gear.png', 438, 420 ]
1721 silly gunzTarPerm extractEntry lib/public/icons/page_go.png
1722 silly gunzTarPerm modified mode [ 'lib/public/icons/page_go.png', 438, 420 ]
1723 silly gunzTarPerm extractEntry test/fixtures/static.custom.yaml
1724 silly gunzTarPerm modified mode [ 'test/fixtures/static.custom.yaml', 438, 420 ]
1725 verbose url raw wordwrap
1726 verbose url resolving [ 'https://registry.npmjs.org/', './wordwrap' ]
1727 verbose url resolved https://registry.npmjs.org/wordwrap
1728 info trying registry request attempt 1 at 16:42:42
1729 verbose etag "3HPX5BQ0X4U2A3KJNTK2473OZ"
1730 http GET https://registry.npmjs.org/wordwrap
1731 verbose url raw inherits
1732 verbose url resolving [ 'https://registry.npmjs.org/', './inherits' ]
1733 verbose url resolved https://registry.npmjs.org/inherits
1734 info trying registry request attempt 1 at 16:42:42
1735 verbose etag "DOPV80KRXW9892OY8IW4CKYQ2"
1736 http GET https://registry.npmjs.org/inherits
1737 silly gunzTarPerm extractEntry test/core/simple/test-http.js
1738 silly gunzTarPerm modified mode [ 'test/core/simple/test-http.js', 438, 420 ]
1739 silly gunzTarPerm extractEntry test/core/simple/test-http-head-response-has-no-body.js
1740 silly gunzTarPerm modified mode [ 'test/core/simple/test-http-head-response-has-no-body.js',
1740 silly gunzTarPerm 438,
1740 silly gunzTarPerm 420 ]
1741 silly gunzTarPerm extractEntry lib/public/icons/page_green.png
1742 silly gunzTarPerm modified mode [ 'lib/public/icons/page_green.png', 438, 420 ]
1743 silly gunzTarPerm extractEntry lib/public/icons/page_key.png
1744 silly gunzTarPerm modified mode [ 'lib/public/icons/page_key.png', 438, 420 ]
1745 silly gunzTarPerm extractEntry test/fixtures/testcases.yaml
1746 silly gunzTarPerm modified mode [ 'test/fixtures/testcases.yaml', 438, 420 ]
1747 silly gunzTarPerm extractEntry test/mocha.opts
1748 silly gunzTarPerm modified mode [ 'test/mocha.opts', 438, 420 ]
1749 silly gunzTarPerm extractEntry test/fixtures/agent2-cert.pem
1750 silly gunzTarPerm modified mode [ 'test/fixtures/agent2-cert.pem', 438, 420 ]
1751 silly gunzTarPerm extractEntry test/fixtures/agent2-csr.pem
1752 silly gunzTarPerm modified mode [ 'test/fixtures/agent2-csr.pem', 438, 420 ]
1753 silly gunzTarPerm extractEntry lib/public/icons/page_lightning.png
1754 silly gunzTarPerm modified mode [ 'lib/public/icons/page_lightning.png', 438, 420 ]
1755 silly gunzTarPerm extractEntry lib/public/icons/page_link.png
1756 silly gunzTarPerm modified mode [ 'lib/public/icons/page_link.png', 438, 420 ]
1757 silly gunzTarPerm extractEntry dist/lodash.legacy.min.js
1758 silly gunzTarPerm modified mode [ 'dist/lodash.legacy.min.js', 438, 420 ]
1759 silly gunzTarPerm extractEntry lib/public/icons/page_paintbrush.png
1760 silly gunzTarPerm modified mode [ 'lib/public/icons/page_paintbrush.png', 438, 420 ]
1761 silly gunzTarPerm extractEntry lib/public/icons/page_paste.png
1762 silly gunzTarPerm modified mode [ 'lib/public/icons/page_paste.png', 438, 420 ]
1763 silly gunzTarPerm extractEntry test/fixtures/agent2-key.pem
1764 silly gunzTarPerm modified mode [ 'test/fixtures/agent2-key.pem', 438, 420 ]
1765 silly gunzTarPerm extractEntry test/fixtures/agent2.cnf
1766 silly gunzTarPerm modified mode [ 'test/fixtures/agent2.cnf', 438, 420 ]
1767 silly gunzTarPerm extractEntry test/helpers/http.js
1768 silly gunzTarPerm modified mode [ 'test/helpers/http.js', 438, 420 ]
1769 silly gunzTarPerm extractEntry test/helpers/index.js
1770 silly gunzTarPerm modified mode [ 'test/helpers/index.js', 438, 420 ]
1771 silly gunzTarPerm extractEntry lib/public/icons/page_red.png
1772 silly gunzTarPerm modified mode [ 'lib/public/icons/page_red.png', 438, 420 ]
1773 silly gunzTarPerm extractEntry lib/public/icons/page_refresh.png
1774 silly gunzTarPerm modified mode [ 'lib/public/icons/page_refresh.png', 438, 420 ]
1775 silly gunzTarPerm extractEntry test/helpers/ws.js
1776 silly gunzTarPerm modified mode [ 'test/helpers/ws.js', 438, 420 ]
1777 silly gunzTarPerm extractEntry test/http/http-test.js
1778 silly gunzTarPerm modified mode [ 'test/http/http-test.js', 438, 420 ]
1779 silly gunzTarPerm extractEntry lib/public/icons/page_save.png
1780 silly gunzTarPerm modified mode [ 'lib/public/icons/page_save.png', 438, 420 ]
1781 silly gunzTarPerm extractEntry lib/public/icons/page_white.png
1782 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white.png', 438, 420 ]
1783 silly gunzTarPerm extractEntry dist/lodash.min.js
1784 silly gunzTarPerm modified mode [ 'dist/lodash.min.js', 438, 420 ]
1785 silly gunzTarPerm extractEntry dist/lodash.mobile.js
1786 silly gunzTarPerm modified mode [ 'dist/lodash.mobile.js', 438, 420 ]
1787 silly gunzTarPerm extractEntry test/http/routing-table-test.js
1788 silly gunzTarPerm modified mode [ 'test/http/routing-table-test.js', 438, 420 ]
1789 silly gunzTarPerm extractEntry test/macros/examples.js
1790 silly gunzTarPerm modified mode [ 'test/macros/examples.js', 438, 420 ]
1791 silly gunzTarPerm extractEntry lib/public/icons/page_white_acrobat.png
1792 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_acrobat.png', 438, 420 ]
1793 silly gunzTarPerm extractEntry lib/public/icons/page_white_actionscript.png
1794 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_actionscript.png', 438, 420 ]
1795 silly gunzTarPerm extractEntry test/macros/http.js
1796 silly gunzTarPerm modified mode [ 'test/macros/http.js', 438, 420 ]
1797 silly gunzTarPerm extractEntry test/macros/index.js
1798 silly gunzTarPerm modified mode [ 'test/macros/index.js', 438, 420 ]
1799 silly gunzTarPerm extractEntry lib/public/icons/page_white_add.png
1800 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_add.png', 438, 420 ]
1801 silly gunzTarPerm extractEntry lib/public/icons/page_white_c.png
1802 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_c.png', 438, 420 ]
1803 silly gunzTarPerm extractEntry test/macros/ws.js
1804 silly gunzTarPerm modified mode [ 'test/macros/ws.js', 438, 420 ]
1805 silly gunzTarPerm extractEntry test/ws/routing-table-test.js
1806 silly gunzTarPerm modified mode [ 'test/ws/routing-table-test.js', 438, 420 ]
1807 silly gunzTarPerm extractEntry lib/public/icons/page_white_camera.png
1808 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_camera.png', 438, 420 ]
1809 silly gunzTarPerm extractEntry lib/public/icons/page_white_cd.png
1810 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_cd.png', 438, 420 ]
1811 silly gunzTarPerm extractEntry test/ws/socket.io-test.js
1812 silly gunzTarPerm modified mode [ 'test/ws/socket.io-test.js', 438, 420 ]
1813 silly gunzTarPerm extractEntry test/ws/ws-test.js
1814 silly gunzTarPerm modified mode [ 'test/ws/ws-test.js', 438, 420 ]
1815 silly gunzTarPerm extractEntry lib/public/icons/page_white_code.png
1816 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_code.png', 438, 420 ]
1817 silly gunzTarPerm extractEntry lib/public/icons/page_white_code_red.png
1818 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_code_red.png', 438, 420 ]
1819 silly gunzTarPerm extractEntry benchmark/websockets-throughput.js
1820 silly gunzTarPerm modified mode [ 'benchmark/websockets-throughput.js', 438, 420 ]
1821 silly gunzTarPerm extractEntry bin/node-http-proxy
1822 silly gunzTarPerm modified mode [ 'bin/node-http-proxy', 438, 420 ]
1823 silly gunzTarPerm extractEntry lib/public/icons/page_white_coldfusion.png
1824 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_coldfusion.png', 438, 420 ]
1825 silly gunzTarPerm extractEntry lib/public/icons/page_white_compressed.png
1826 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_compressed.png', 438, 420 ]
1827 silly gunzTarPerm extractEntry examples/package.json
1828 silly gunzTarPerm modified mode [ 'examples/package.json', 438, 420 ]
1829 silly gunzTarPerm extractEntry examples/balancer/simple-balancer-with-websockets.js
1830 silly gunzTarPerm modified mode [ 'examples/balancer/simple-balancer-with-websockets.js',
1830 silly gunzTarPerm 438,
1830 silly gunzTarPerm 420 ]
1831 silly gunzTarPerm extractEntry lib/public/icons/page_white_copy.png
1832 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_copy.png', 438, 420 ]
1833 silly gunzTarPerm extractEntry lib/public/icons/page_white_cplusplus.png
1834 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_cplusplus.png', 438, 420 ]
1835 silly gunzTarPerm extractEntry lib/public/icons/page_white_csharp.png
1836 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_csharp.png', 438, 420 ]
1837 silly gunzTarPerm extractEntry lib/public/icons/page_white_cup.png
1838 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_cup.png', 438, 420 ]
1839 silly gunzTarPerm extractEntry examples/balancer/simple-balancer.js
1840 silly gunzTarPerm modified mode [ 'examples/balancer/simple-balancer.js', 438, 420 ]
1841 silly gunzTarPerm extractEntry examples/helpers/store.js
1842 silly gunzTarPerm modified mode [ 'examples/helpers/store.js', 438, 420 ]
1843 silly gunzTarPerm extractEntry lib/public/icons/page_white_database.png
1844 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_database.png', 438, 420 ]
1845 silly gunzTarPerm extractEntry lib/public/icons/page_white_delete.png
1846 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_delete.png', 438, 420 ]
1847 silly gunzTarPerm extractEntry examples/http/basic-proxy.js
1848 silly gunzTarPerm modified mode [ 'examples/http/basic-proxy.js', 438, 420 ]
1849 silly gunzTarPerm extractEntry examples/http/concurrent-proxy.js
1850 silly gunzTarPerm modified mode [ 'examples/http/concurrent-proxy.js', 438, 420 ]
1851 silly gunzTarPerm extractEntry lib/public/icons/page_white_dvd.png
1852 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_dvd.png', 438, 420 ]
1853 silly gunzTarPerm extractEntry lib/public/icons/page_add.png
1854 silly gunzTarPerm modified mode [ 'lib/public/icons/page_add.png', 438, 420 ]
1855 silly gunzTarPerm extractEntry lib/public/icons/page_white_error.png
1856 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_error.png', 438, 420 ]
1857 silly gunzTarPerm extractEntry lib/public/icons/page_white_excel.png
1858 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_excel.png', 438, 420 ]
1859 silly gunzTarPerm extractEntry examples/http/custom-proxy-error.js
1860 silly gunzTarPerm modified mode [ 'examples/http/custom-proxy-error.js', 438, 420 ]
1861 silly gunzTarPerm extractEntry examples/http/forward-proxy.js
1862 silly gunzTarPerm modified mode [ 'examples/http/forward-proxy.js', 438, 420 ]
1863 silly gunzTarPerm extractEntry lib/public/icons/page_white_find.png
1864 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_find.png', 438, 420 ]
1865 silly gunzTarPerm extractEntry lib/public/icons/page_white_flash.png
1866 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_flash.png', 438, 420 ]
1867 silly gunzTarPerm extractEntry examples/http/latent-proxy.js
1868 silly gunzTarPerm modified mode [ 'examples/http/latent-proxy.js', 438, 420 ]
1869 silly gunzTarPerm extractEntry examples/http/proxy-https-to-http.js
1870 silly gunzTarPerm modified mode [ 'examples/http/proxy-https-to-http.js', 438, 420 ]
1871 silly gunzTarPerm extractEntry lib/public/icons/page_white_freehand.png
1872 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_freehand.png', 438, 420 ]
1873 silly gunzTarPerm extractEntry lib/public/icons/page_white_gear.png
1874 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_gear.png', 438, 420 ]
1875 silly gunzTarPerm extractEntry examples/http/proxy-https-to-https.js
1876 silly gunzTarPerm modified mode [ 'examples/http/proxy-https-to-https.js', 438, 420 ]
1877 silly gunzTarPerm extractEntry examples/http/proxy-table.js
1878 silly gunzTarPerm modified mode [ 'examples/http/proxy-table.js', 438, 420 ]
1879 silly gunzTarPerm extractEntry lib/public/icons/page_white_get.png
1880 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_get.png', 438, 420 ]
1881 silly gunzTarPerm extractEntry lib/public/icons/page_white_go.png
1882 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_go.png', 438, 420 ]
1883 silly lockFile 05ae8a7f-les-karma-node-modules-socket-io tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io
1884 silly lockFile 05ae8a7f-les-karma-node-modules-socket-io tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io
1885 silly lockFile ec7fb0c5-che-socket-io-0-9-16-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\socket.io\0.9.16\package.tgz
1886 silly lockFile ec7fb0c5-che-socket-io-0-9-16-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\socket.io\0.9.16\package.tgz
1887 silly gunzTarPerm extractEntry examples/http/standalone-proxy.js
1888 silly gunzTarPerm modified mode [ 'examples/http/standalone-proxy.js', 438, 420 ]
1889 silly gunzTarPerm extractEntry examples/middleware/bodyDecoder-middleware.js
1890 silly gunzTarPerm modified mode [ 'examples/middleware/bodyDecoder-middleware.js', 438, 420 ]
1891 silly gunzTarPerm extractEntry lib/public/icons/page_white_h.png
1892 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_h.png', 438, 420 ]
1893 silly gunzTarPerm extractEntry lib/public/icons/page_white_horizontal.png
1894 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_horizontal.png', 438, 420 ]
1895 info preinstall socket.io@0.9.16
1896 verbose readDependencies using package.json deps
1897 verbose readDependencies using package.json deps
1898 silly gunzTarPerm extractEntry lib/public/icons/page_white_key.png
1899 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_key.png', 438, 420 ]
1900 silly gunzTarPerm extractEntry lib/public/icons/page_white_lightning.png
1901 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_lightning.png', 438, 420 ]
1902 verbose cache add [ 'socket.io-client@0.9.16', null ]
1903 verbose cache add name=undefined spec="socket.io-client@0.9.16" args=["socket.io-client@0.9.16",null]
1904 verbose parsed url { protocol: null,
1904 verbose parsed url slashes: null,
1904 verbose parsed url auth: null,
1904 verbose parsed url host: null,
1904 verbose parsed url port: null,
1904 verbose parsed url hostname: null,
1904 verbose parsed url hash: null,
1904 verbose parsed url search: null,
1904 verbose parsed url query: null,
1904 verbose parsed url pathname: 'socket.io-client@0.9.16',
1904 verbose parsed url path: 'socket.io-client@0.9.16',
1904 verbose parsed url href: 'socket.io-client@0.9.16' }
1905 verbose cache add name="socket.io-client" spec="0.9.16" args=["socket.io-client","0.9.16"]
1906 verbose parsed url { protocol: null,
1906 verbose parsed url slashes: null,
1906 verbose parsed url auth: null,
1906 verbose parsed url host: null,
1906 verbose parsed url port: null,
1906 verbose parsed url hostname: null,
1906 verbose parsed url hash: null,
1906 verbose parsed url search: null,
1906 verbose parsed url query: null,
1906 verbose parsed url pathname: '0.9.16',
1906 verbose parsed url path: '0.9.16',
1906 verbose parsed url href: '0.9.16' }
1907 verbose addNamed [ 'socket.io-client', '0.9.16' ]
1908 verbose addNamed [ '0.9.16', '0.9.16' ]
1909 silly lockFile c81dc0af-socket-io-client-0-9-16 socket.io-client@0.9.16
1910 verbose lock socket.io-client@0.9.16 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c81dc0af-socket-io-client-0-9-16.lock
1911 verbose cache add [ 'policyfile@0.0.4', null ]
1912 verbose cache add name=undefined spec="policyfile@0.0.4" args=["policyfile@0.0.4",null]
1913 verbose parsed url { protocol: null,
1913 verbose parsed url slashes: null,
1913 verbose parsed url auth: null,
1913 verbose parsed url host: null,
1913 verbose parsed url port: null,
1913 verbose parsed url hostname: null,
1913 verbose parsed url hash: null,
1913 verbose parsed url search: null,
1913 verbose parsed url query: null,
1913 verbose parsed url pathname: 'policyfile@0.0.4',
1913 verbose parsed url path: 'policyfile@0.0.4',
1913 verbose parsed url href: 'policyfile@0.0.4' }
1914 verbose cache add name="policyfile" spec="0.0.4" args=["policyfile","0.0.4"]
1915 verbose parsed url { protocol: null,
1915 verbose parsed url slashes: null,
1915 verbose parsed url auth: null,
1915 verbose parsed url host: null,
1915 verbose parsed url port: null,
1915 verbose parsed url hostname: null,
1915 verbose parsed url hash: null,
1915 verbose parsed url search: null,
1915 verbose parsed url query: null,
1915 verbose parsed url pathname: '0.0.4',
1915 verbose parsed url path: '0.0.4',
1915 verbose parsed url href: '0.0.4' }
1916 verbose addNamed [ 'policyfile', '0.0.4' ]
1917 verbose addNamed [ '0.0.4', '0.0.4' ]
1918 silly lockFile 8b99131a-policyfile-0-0-4 policyfile@0.0.4
1919 verbose lock policyfile@0.0.4 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\8b99131a-policyfile-0-0-4.lock
1920 verbose cache add [ 'base64id@0.1.0', null ]
1921 verbose cache add name=undefined spec="base64id@0.1.0" args=["base64id@0.1.0",null]
1922 verbose parsed url { protocol: null,
1922 verbose parsed url slashes: null,
1922 verbose parsed url auth: null,
1922 verbose parsed url host: null,
1922 verbose parsed url port: null,
1922 verbose parsed url hostname: null,
1922 verbose parsed url hash: null,
1922 verbose parsed url search: null,
1922 verbose parsed url query: null,
1922 verbose parsed url pathname: 'base64id@0.1.0',
1922 verbose parsed url path: 'base64id@0.1.0',
1922 verbose parsed url href: 'base64id@0.1.0' }
1923 verbose cache add name="base64id" spec="0.1.0" args=["base64id","0.1.0"]
1924 verbose parsed url { protocol: null,
1924 verbose parsed url slashes: null,
1924 verbose parsed url auth: null,
1924 verbose parsed url host: null,
1924 verbose parsed url port: null,
1924 verbose parsed url hostname: null,
1924 verbose parsed url hash: null,
1924 verbose parsed url search: null,
1924 verbose parsed url query: null,
1924 verbose parsed url pathname: '0.1.0',
1924 verbose parsed url path: '0.1.0',
1924 verbose parsed url href: '0.1.0' }
1925 verbose addNamed [ 'base64id', '0.1.0' ]
1926 verbose addNamed [ '0.1.0', '0.1.0' ]
1927 silly lockFile b2185bf4-base64id-0-1-0 base64id@0.1.0
1928 verbose lock base64id@0.1.0 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\b2185bf4-base64id-0-1-0.lock
1929 verbose cache add [ 'redis@0.7.3', null ]
1930 verbose cache add name=undefined spec="redis@0.7.3" args=["redis@0.7.3",null]
1931 verbose parsed url { protocol: null,
1931 verbose parsed url slashes: null,
1931 verbose parsed url auth: null,
1931 verbose parsed url host: null,
1931 verbose parsed url port: null,
1931 verbose parsed url hostname: null,
1931 verbose parsed url hash: null,
1931 verbose parsed url search: null,
1931 verbose parsed url query: null,
1931 verbose parsed url pathname: 'redis@0.7.3',
1931 verbose parsed url path: 'redis@0.7.3',
1931 verbose parsed url href: 'redis@0.7.3' }
1932 verbose cache add name="redis" spec="0.7.3" args=["redis","0.7.3"]
1933 verbose parsed url { protocol: null,
1933 verbose parsed url slashes: null,
1933 verbose parsed url auth: null,
1933 verbose parsed url host: null,
1933 verbose parsed url port: null,
1933 verbose parsed url hostname: null,
1933 verbose parsed url hash: null,
1933 verbose parsed url search: null,
1933 verbose parsed url query: null,
1933 verbose parsed url pathname: '0.7.3',
1933 verbose parsed url path: '0.7.3',
1933 verbose parsed url href: '0.7.3' }
1934 verbose addNamed [ 'redis', '0.7.3' ]
1935 verbose addNamed [ '0.7.3', '0.7.3' ]
1936 silly lockFile 10399cfa-redis-0-7-3 redis@0.7.3
1937 verbose lock redis@0.7.3 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\10399cfa-redis-0-7-3.lock
1938 silly gunzTarPerm extractEntry examples/middleware/gzip-middleware-proxytable.js
1939 silly gunzTarPerm modified mode [ 'examples/middleware/gzip-middleware-proxytable.js', 438, 420 ]
1940 silly gunzTarPerm extractEntry examples/middleware/gzip-middleware.js
1941 silly gunzTarPerm modified mode [ 'examples/middleware/gzip-middleware.js', 438, 420 ]
1942 silly gunzTarPerm extractEntry lib/public/icons/page_white_link.png
1943 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_link.png', 438, 420 ]
1944 silly gunzTarPerm extractEntry lib/public/icons/page_white_magnify.png
1945 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_magnify.png', 438, 420 ]
1946 verbose url raw policyfile/0.0.4
1947 verbose url resolving [ 'https://registry.npmjs.org/', './policyfile/0.0.4' ]
1948 verbose url resolved https://registry.npmjs.org/policyfile/0.0.4
1949 info trying registry request attempt 1 at 16:42:42
1950 verbose etag "EQQXYDZ0BJGG3E5IVIRAEV9J"
1951 http GET https://registry.npmjs.org/policyfile/0.0.4
1952 verbose url raw base64id/0.1.0
1953 verbose url resolving [ 'https://registry.npmjs.org/', './base64id/0.1.0' ]
1954 verbose url resolved https://registry.npmjs.org/base64id/0.1.0
1955 info trying registry request attempt 1 at 16:42:42
1956 verbose etag "CTLQBM2XI54YVEFGWA4X7AK4Y"
1957 http GET https://registry.npmjs.org/base64id/0.1.0
1958 verbose url raw socket.io-client/0.9.16
1959 verbose url resolving [ 'https://registry.npmjs.org/', './socket.io-client/0.9.16' ]
1960 verbose url resolved https://registry.npmjs.org/socket.io-client/0.9.16
1961 info trying registry request attempt 1 at 16:42:42
1962 verbose etag "48K4DPDE5851FDNEJQ3WETQ07"
1963 http GET https://registry.npmjs.org/socket.io-client/0.9.16
1964 silly gunzTarPerm extractEntry examples/middleware/jsonp-middleware.js
1965 silly gunzTarPerm modified mode [ 'examples/middleware/jsonp-middleware.js', 438, 420 ]
1966 silly gunzTarPerm extractEntry examples/middleware/modifyResponse-middleware.js
1967 silly gunzTarPerm modified mode [ 'examples/middleware/modifyResponse-middleware.js', 438, 420 ]
1968 verbose url raw redis/0.7.3
1969 verbose url resolving [ 'https://registry.npmjs.org/', './redis/0.7.3' ]
1970 verbose url resolved https://registry.npmjs.org/redis/0.7.3
1971 info trying registry request attempt 1 at 16:42:42
1972 verbose etag "AUBJS8L8AYHU417WP9R9ACTM2"
1973 http GET https://registry.npmjs.org/redis/0.7.3
1974 silly gunzTarPerm extractEntry lib/public/icons/page_white_medal.png
1975 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_medal.png', 438, 420 ]
1976 silly gunzTarPerm extractEntry lib/public/icons/page_white_office.png
1977 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_office.png', 438, 420 ]
1978 silly gunzTarPerm extractEntry examples/middleware/url-middleware.js
1979 silly gunzTarPerm modified mode [ 'examples/middleware/url-middleware.js', 438, 420 ]
1980 silly gunzTarPerm extractEntry examples/middleware/url-middleware2.js
1981 silly gunzTarPerm modified mode [ 'examples/middleware/url-middleware2.js', 438, 420 ]
1982 silly gunzTarPerm extractEntry lib/public/icons/page_white_paint.png
1983 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_paint.png', 438, 420 ]
1984 silly gunzTarPerm extractEntry lib/public/icons/page_white_paintbrush.png
1985 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_paintbrush.png', 438, 420 ]
1986 silly gunzTarPerm extractEntry lib/public/icons/page_white_paste.png
1987 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_paste.png', 438, 420 ]
1988 silly gunzTarPerm extractEntry lib/public/icons/page_white_php.png
1989 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_php.png', 438, 420 ]
1990 silly gunzTarPerm extractEntry examples/websocket/latent-websocket-proxy.js
1991 silly gunzTarPerm modified mode [ 'examples/websocket/latent-websocket-proxy.js', 438, 420 ]
1992 silly gunzTarPerm extractEntry examples/websocket/standalone-websocket-proxy.js
1993 silly gunzTarPerm modified mode [ 'examples/websocket/standalone-websocket-proxy.js', 438, 420 ]
1994 silly gunzTarPerm extractEntry lib/public/icons/page_white_picture.png
1995 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_picture.png', 438, 420 ]
1996 silly gunzTarPerm extractEntry lib/public/icons/page_white_powerpoint.png
1997 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_powerpoint.png', 438, 420 ]
1998 silly gunzTarPerm extractEntry examples/websocket/websocket-proxy.js
1999 silly gunzTarPerm modified mode [ 'examples/websocket/websocket-proxy.js', 438, 420 ]
2000 silly gunzTarPerm extractEntry dist/lodash.mobile.min.js
2001 silly gunzTarPerm modified mode [ 'dist/lodash.mobile.min.js', 438, 420 ]
2002 silly gunzTarPerm extractEntry lib/public/icons/page_white_put.png
2003 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_put.png', 438, 420 ]
2004 silly gunzTarPerm extractEntry lib/public/icons/page_white_ruby.png
2005 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_ruby.png', 438, 420 ]
2006 silly gunzTarPerm extractEntry lib/public/icons/page_white_stack.png
2007 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_stack.png', 438, 420 ]
2008 silly gunzTarPerm extractEntry lib/public/icons/page_white_star.png
2009 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_star.png', 438, 420 ]
2010 silly gunzTarPerm extractEntry lib/public/icons/page_white_swoosh.png
2011 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_swoosh.png', 438, 420 ]
2012 silly gunzTarPerm extractEntry lib/public/icons/page_white_text.png
2013 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_text.png', 438, 420 ]
2014 silly gunzTarPerm extractEntry lib/public/icons/page_white_text_width.png
2015 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_text_width.png', 438, 420 ]
2016 silly gunzTarPerm extractEntry lib/public/icons/page_white_tux.png
2017 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_tux.png', 438, 420 ]
2018 silly gunzTarPerm extractEntry lib/public/icons/page_white_vector.png
2019 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_vector.png', 438, 420 ]
2020 silly gunzTarPerm extractEntry lib/public/icons/page_white_visualstudio.png
2021 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_visualstudio.png', 438, 420 ]
2022 silly gunzTarPerm extractEntry lib/public/icons/page_white_width.png
2023 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_width.png', 438, 420 ]
2024 silly gunzTarPerm extractEntry lib/public/icons/page_white_word.png
2025 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_word.png', 438, 420 ]
2026 silly gunzTarPerm extractEntry lib/public/icons/page_white_world.png
2027 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_world.png', 438, 420 ]
2028 silly gunzTarPerm extractEntry lib/public/icons/page_white_wrench.png
2029 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_wrench.png', 438, 420 ]
2030 silly gunzTarPerm extractEntry lib/public/icons/page_white_zip.png
2031 silly gunzTarPerm modified mode [ 'lib/public/icons/page_white_zip.png', 438, 420 ]
2032 silly lockFile 2d273d6b-karma-node-modules-coffee-script tar://C:\dev\tmp\test\node_modules\karma\node_modules\coffee-script
2033 silly lockFile 2d273d6b-karma-node-modules-coffee-script tar://C:\dev\tmp\test\node_modules\karma\node_modules\coffee-script
2034 silly lockFile f2cb7de0--coffee-script-1-6-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\coffee-script\1.6.3\package.tgz
2035 silly lockFile f2cb7de0--coffee-script-1-6-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\coffee-script\1.6.3\package.tgz
2036 silly gunzTarPerm extractEntry lib/public/icons/page_word.png
2037 silly gunzTarPerm modified mode [ 'lib/public/icons/page_word.png', 438, 420 ]
2038 silly gunzTarPerm extractEntry lib/public/icons/page_world.png
2039 silly gunzTarPerm modified mode [ 'lib/public/icons/page_world.png', 438, 420 ]
2040 info preinstall coffee-script@1.6.3
2041 verbose readDependencies using package.json deps
2042 verbose readDependencies using package.json deps
2043 silly resolved []
2044 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\coffee-script
2045 info build C:\dev\tmp\test\node_modules\karma\node_modules\coffee-script
2046 verbose linkStuff [ false,
2046 verbose linkStuff false,
2046 verbose linkStuff false,
2046 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
2047 info linkStuff coffee-script@1.6.3
2048 verbose linkBins coffee-script@1.6.3
2049 verbose link bins [ { coffee: './bin/coffee', cake: './bin/cake' },
2049 verbose link bins 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\.bin',
2049 verbose link bins false ]
2050 verbose linkMans coffee-script@1.6.3
2051 verbose rebuildBundles coffee-script@1.6.3
2052 silly gunzTarPerm extractEntry lib/public/style.css
2053 silly gunzTarPerm modified mode [ 'lib/public/style.css', 438, 420 ]
2054 silly gunzTarPerm extractEntry Readme.md
2055 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
2056 info install coffee-script@1.6.3
2057 info postinstall coffee-script@1.6.3
2058 silly gunzTarPerm extractEntry dist/lodash.underscore.js
2059 silly gunzTarPerm modified mode [ 'dist/lodash.underscore.js', 438, 420 ]
2060 silly gunzTarPerm extractEntry dist/lodash.underscore.min.js
2061 silly gunzTarPerm modified mode [ 'dist/lodash.underscore.min.js', 438, 420 ]
2062 silly lockFile 29a099be-odules-karma-node-modules-log4js tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js
2063 silly lockFile 29a099be-odules-karma-node-modules-log4js tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js
2064 silly lockFile 4684f7fc-m-cache-log4js-0-6-9-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\log4js\0.6.9\package.tgz
2065 silly lockFile 4684f7fc-m-cache-log4js-0-6-9-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\log4js\0.6.9\package.tgz
2066 info preinstall log4js@0.6.9
2067 verbose readDependencies using package.json deps
2068 verbose readDependencies using package.json deps
2069 silly lockFile 2a138186-es-karma-node-modules-http-proxy tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy
2070 silly lockFile 2a138186-es-karma-node-modules-http-proxy tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy
2071 silly lockFile c73cf19d-he-http-proxy-0-10-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\http-proxy\0.10.3\package.tgz
2072 silly lockFile c73cf19d-he-http-proxy-0-10-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\http-proxy\0.10.3\package.tgz
2073 verbose cache add [ 'async@0.1.15', null ]
2074 verbose cache add name=undefined spec="async@0.1.15" args=["async@0.1.15",null]
2075 verbose parsed url { protocol: null,
2075 verbose parsed url slashes: null,
2075 verbose parsed url auth: null,
2075 verbose parsed url host: null,
2075 verbose parsed url port: null,
2075 verbose parsed url hostname: null,
2075 verbose parsed url hash: null,
2075 verbose parsed url search: null,
2075 verbose parsed url query: null,
2075 verbose parsed url pathname: 'async@0.1.15',
2075 verbose parsed url path: 'async@0.1.15',
2075 verbose parsed url href: 'async@0.1.15' }
2076 verbose cache add name="async" spec="0.1.15" args=["async","0.1.15"]
2077 verbose parsed url { protocol: null,
2077 verbose parsed url slashes: null,
2077 verbose parsed url auth: null,
2077 verbose parsed url host: null,
2077 verbose parsed url port: null,
2077 verbose parsed url hostname: null,
2077 verbose parsed url hash: null,
2077 verbose parsed url search: null,
2077 verbose parsed url query: null,
2077 verbose parsed url pathname: '0.1.15',
2077 verbose parsed url path: '0.1.15',
2077 verbose parsed url href: '0.1.15' }
2078 verbose addNamed [ 'async', '0.1.15' ]
2079 verbose addNamed [ '0.1.15', '0.1.15' ]
2080 silly lockFile 483e6353-async-0-1-15 async@0.1.15
2081 verbose lock async@0.1.15 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\483e6353-async-0-1-15.lock
2082 verbose cache add [ 'semver@~1.1.4', null ]
2083 verbose cache add name=undefined spec="semver@~1.1.4" args=["semver@~1.1.4",null]
2084 verbose parsed url { protocol: null,
2084 verbose parsed url slashes: null,
2084 verbose parsed url auth: null,
2084 verbose parsed url host: null,
2084 verbose parsed url port: null,
2084 verbose parsed url hostname: null,
2084 verbose parsed url hash: null,
2084 verbose parsed url search: null,
2084 verbose parsed url query: null,
2084 verbose parsed url pathname: 'semver@~1.1.4',
2084 verbose parsed url path: 'semver@~1.1.4',
2084 verbose parsed url href: 'semver@~1.1.4' }
2085 verbose cache add name="semver" spec="~1.1.4" args=["semver","~1.1.4"]
2086 verbose parsed url { protocol: null,
2086 verbose parsed url slashes: null,
2086 verbose parsed url auth: null,
2086 verbose parsed url host: null,
2086 verbose parsed url port: null,
2086 verbose parsed url hostname: null,
2086 verbose parsed url hash: null,
2086 verbose parsed url search: null,
2086 verbose parsed url query: null,
2086 verbose parsed url pathname: '~1.1.4',
2086 verbose parsed url path: '~1.1.4',
2086 verbose parsed url href: '~1.1.4' }
2087 verbose addNamed [ 'semver', '~1.1.4' ]
2088 verbose addNamed [ null, '>=1.1.4-0 <1.2.0-0' ]
2089 silly lockFile ca14db66-semver-1-1-4 semver@~1.1.4
2090 verbose lock semver@~1.1.4 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ca14db66-semver-1-1-4.lock
2091 verbose cache add [ 'readable-stream@~1.0.2', null ]
2092 verbose cache add name=undefined spec="readable-stream@~1.0.2" args=["readable-stream@~1.0.2",null]
2093 verbose parsed url { protocol: null,
2093 verbose parsed url slashes: null,
2093 verbose parsed url auth: null,
2093 verbose parsed url host: null,
2093 verbose parsed url port: null,
2093 verbose parsed url hostname: null,
2093 verbose parsed url hash: null,
2093 verbose parsed url search: null,
2093 verbose parsed url query: null,
2093 verbose parsed url pathname: 'readable-stream@~1.0.2',
2093 verbose parsed url path: 'readable-stream@~1.0.2',
2093 verbose parsed url href: 'readable-stream@~1.0.2' }
2094 verbose cache add name="readable-stream" spec="~1.0.2" args=["readable-stream","~1.0.2"]
2095 verbose parsed url { protocol: null,
2095 verbose parsed url slashes: null,
2095 verbose parsed url auth: null,
2095 verbose parsed url host: null,
2095 verbose parsed url port: null,
2095 verbose parsed url hostname: null,
2095 verbose parsed url hash: null,
2095 verbose parsed url search: null,
2095 verbose parsed url query: null,
2095 verbose parsed url pathname: '~1.0.2',
2095 verbose parsed url path: '~1.0.2',
2095 verbose parsed url href: '~1.0.2' }
2096 verbose addNamed [ 'readable-stream', '~1.0.2' ]
2097 verbose addNamed [ null, '>=1.0.2-0 <1.1.0-0' ]
2098 silly lockFile bc2db5fe-readable-stream-1-0-2 readable-stream@~1.0.2
2099 verbose lock readable-stream@~1.0.2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bc2db5fe-readable-stream-1-0-2.lock
2100 info preinstall http-proxy@0.10.3
2101 silly addNameRange { name: 'semver', range: '>=1.1.4-0 <1.2.0-0', hasData: false }
2102 silly addNameRange { name: 'readable-stream',
2102 silly addNameRange range: '>=1.0.2-0 <1.1.0-0',
2102 silly addNameRange hasData: false }
2103 verbose readDependencies using package.json deps
2104 verbose readDependencies using package.json deps
2105 verbose url raw async/0.1.15
2106 verbose url resolving [ 'https://registry.npmjs.org/', './async/0.1.15' ]
2107 verbose url resolved https://registry.npmjs.org/async/0.1.15
2108 info trying registry request attempt 1 at 16:42:42
2109 verbose etag "3IS5E1BD2LBAXB1ODZSX9E310"
2110 http GET https://registry.npmjs.org/async/0.1.15
2111 verbose url raw semver
2112 verbose url resolving [ 'https://registry.npmjs.org/', './semver' ]
2113 verbose url resolved https://registry.npmjs.org/semver
2114 info trying registry request attempt 1 at 16:42:42
2115 verbose etag "ESCTGS95DTGQH17SNMYJ3AAWW"
2116 http GET https://registry.npmjs.org/semver
2117 verbose url raw readable-stream
2118 verbose url resolving [ 'https://registry.npmjs.org/', './readable-stream' ]
2119 verbose url resolved https://registry.npmjs.org/readable-stream
2120 info trying registry request attempt 1 at 16:42:42
2121 verbose etag "18ANW2RMNEN75EBUE4D14M70T"
2122 http GET https://registry.npmjs.org/readable-stream
2123 verbose cache add [ 'pkginfo@0.2.x', null ]
2124 verbose cache add name=undefined spec="pkginfo@0.2.x" args=["pkginfo@0.2.x",null]
2125 verbose parsed url { protocol: null,
2125 verbose parsed url slashes: null,
2125 verbose parsed url auth: null,
2125 verbose parsed url host: null,
2125 verbose parsed url port: null,
2125 verbose parsed url hostname: null,
2125 verbose parsed url hash: null,
2125 verbose parsed url search: null,
2125 verbose parsed url query: null,
2125 verbose parsed url pathname: 'pkginfo@0.2.x',
2125 verbose parsed url path: 'pkginfo@0.2.x',
2125 verbose parsed url href: 'pkginfo@0.2.x' }
2126 verbose cache add name="pkginfo" spec="0.2.x" args=["pkginfo","0.2.x"]
2127 verbose parsed url { protocol: null,
2127 verbose parsed url slashes: null,
2127 verbose parsed url auth: null,
2127 verbose parsed url host: null,
2127 verbose parsed url port: null,
2127 verbose parsed url hostname: null,
2127 verbose parsed url hash: null,
2127 verbose parsed url search: null,
2127 verbose parsed url query: null,
2127 verbose parsed url pathname: '0.2.x',
2127 verbose parsed url path: '0.2.x',
2127 verbose parsed url href: '0.2.x' }
2128 verbose addNamed [ 'pkginfo', '0.2.x' ]
2129 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
2130 silly lockFile f898f07d-pkginfo-0-2-x pkginfo@0.2.x
2131 verbose lock pkginfo@0.2.x C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\f898f07d-pkginfo-0-2-x.lock
2132 verbose cache add [ 'utile@~0.1.7', null ]
2133 verbose cache add name=undefined spec="utile@~0.1.7" args=["utile@~0.1.7",null]
2134 verbose parsed url { protocol: null,
2134 verbose parsed url slashes: null,
2134 verbose parsed url auth: null,
2134 verbose parsed url host: null,
2134 verbose parsed url port: null,
2134 verbose parsed url hostname: null,
2134 verbose parsed url hash: null,
2134 verbose parsed url search: null,
2134 verbose parsed url query: null,
2134 verbose parsed url pathname: 'utile@~0.1.7',
2134 verbose parsed url path: 'utile@~0.1.7',
2134 verbose parsed url href: 'utile@~0.1.7' }
2135 verbose cache add name="utile" spec="~0.1.7" args=["utile","~0.1.7"]
2136 verbose parsed url { protocol: null,
2136 verbose parsed url slashes: null,
2136 verbose parsed url auth: null,
2136 verbose parsed url host: null,
2136 verbose parsed url port: null,
2136 verbose parsed url hostname: null,
2136 verbose parsed url hash: null,
2136 verbose parsed url search: null,
2136 verbose parsed url query: null,
2136 verbose parsed url pathname: '~0.1.7',
2136 verbose parsed url path: '~0.1.7',
2136 verbose parsed url href: '~0.1.7' }
2137 verbose addNamed [ 'utile', '~0.1.7' ]
2138 verbose addNamed [ null, '>=0.1.7-0 <0.2.0-0' ]
2139 silly lockFile 99fb1be4-utile-0-1-7 utile@~0.1.7
2140 verbose lock utile@~0.1.7 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\99fb1be4-utile-0-1-7.lock
2141 silly addNameRange { name: 'pkginfo', range: '>=0.2.0-0 <0.3.0-0', hasData: false }
2142 silly addNameRange { name: 'utile', range: '>=0.1.7-0 <0.2.0-0', hasData: false }
2143 verbose url raw pkginfo
2144 verbose url resolving [ 'https://registry.npmjs.org/', './pkginfo' ]
2145 verbose url resolved https://registry.npmjs.org/pkginfo
2146 info trying registry request attempt 1 at 16:42:42
2147 verbose etag "8NFZE186SC0218SIA7RX07BZM"
2148 http GET https://registry.npmjs.org/pkginfo
2149 verbose url raw utile
2150 verbose url resolving [ 'https://registry.npmjs.org/', './utile' ]
2151 verbose url resolved https://registry.npmjs.org/utile
2152 info trying registry request attempt 1 at 16:42:42
2153 verbose etag "35DTRKGH6NGSY3UOY6LCQUMJ2"
2154 http GET https://registry.npmjs.org/utile
2155 silly lockFile c88dada9-odules-karma-node-modules-lodash tar://C:\dev\tmp\test\node_modules\karma\node_modules\lodash
2156 silly lockFile c88dada9-odules-karma-node-modules-lodash tar://C:\dev\tmp\test\node_modules\karma\node_modules\lodash
2157 silly lockFile 8410a441-m-cache-lodash-1-1-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lodash\1.1.1\package.tgz
2158 silly lockFile 8410a441-m-cache-lodash-1-1-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lodash\1.1.1\package.tgz
2159 info preinstall lodash@1.1.1
2160 verbose readDependencies using package.json deps
2161 verbose readDependencies using package.json deps
2162 silly resolved []
2163 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\lodash
2164 info build C:\dev\tmp\test\node_modules\karma\node_modules\lodash
2165 verbose linkStuff [ false,
2165 verbose linkStuff false,
2165 verbose linkStuff false,
2165 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
2166 info linkStuff lodash@1.1.1
2167 verbose linkBins lodash@1.1.1
2168 verbose linkMans lodash@1.1.1
2169 verbose rebuildBundles lodash@1.1.1
2170 info install lodash@1.1.1
2171 info postinstall lodash@1.1.1
2172 silly lockFile 153a0b7c-dules-karma-node-modules-connect tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect
2173 silly lockFile 153a0b7c-dules-karma-node-modules-connect tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect
2174 silly lockFile bca6aaa5--cache-connect-2-8-8-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\connect\2.8.8\package.tgz
2175 silly lockFile bca6aaa5--cache-connect-2-8-8-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\connect\2.8.8\package.tgz
2176 info preinstall connect@2.8.8
2177 verbose readDependencies using package.json deps
2178 verbose readDependencies using package.json deps
2179 verbose cache add [ 'qs@0.6.5', null ]
2180 verbose cache add name=undefined spec="qs@0.6.5" args=["qs@0.6.5",null]
2181 verbose parsed url { protocol: null,
2181 verbose parsed url slashes: null,
2181 verbose parsed url auth: null,
2181 verbose parsed url host: null,
2181 verbose parsed url port: null,
2181 verbose parsed url hostname: null,
2181 verbose parsed url hash: null,
2181 verbose parsed url search: null,
2181 verbose parsed url query: null,
2181 verbose parsed url pathname: 'qs@0.6.5',
2181 verbose parsed url path: 'qs@0.6.5',
2181 verbose parsed url href: 'qs@0.6.5' }
2182 verbose cache add name="qs" spec="0.6.5" args=["qs","0.6.5"]
2183 verbose parsed url { protocol: null,
2183 verbose parsed url slashes: null,
2183 verbose parsed url auth: null,
2183 verbose parsed url host: null,
2183 verbose parsed url port: null,
2183 verbose parsed url hostname: null,
2183 verbose parsed url hash: null,
2183 verbose parsed url search: null,
2183 verbose parsed url query: null,
2183 verbose parsed url pathname: '0.6.5',
2183 verbose parsed url path: '0.6.5',
2183 verbose parsed url href: '0.6.5' }
2184 verbose addNamed [ 'qs', '0.6.5' ]
2185 verbose addNamed [ '0.6.5', '0.6.5' ]
2186 silly lockFile f5e5a40f-qs-0-6-5 qs@0.6.5
2187 verbose lock qs@0.6.5 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\f5e5a40f-qs-0-6-5.lock
2188 verbose cache add [ 'formidable@1.0.14', null ]
2189 verbose cache add name=undefined spec="formidable@1.0.14" args=["formidable@1.0.14",null]
2190 verbose parsed url { protocol: null,
2190 verbose parsed url slashes: null,
2190 verbose parsed url auth: null,
2190 verbose parsed url host: null,
2190 verbose parsed url port: null,
2190 verbose parsed url hostname: null,
2190 verbose parsed url hash: null,
2190 verbose parsed url search: null,
2190 verbose parsed url query: null,
2190 verbose parsed url pathname: 'formidable@1.0.14',
2190 verbose parsed url path: 'formidable@1.0.14',
2190 verbose parsed url href: 'formidable@1.0.14' }
2191 verbose cache add name="formidable" spec="1.0.14" args=["formidable","1.0.14"]
2192 verbose parsed url { protocol: null,
2192 verbose parsed url slashes: null,
2192 verbose parsed url auth: null,
2192 verbose parsed url host: null,
2192 verbose parsed url port: null,
2192 verbose parsed url hostname: null,
2192 verbose parsed url hash: null,
2192 verbose parsed url search: null,
2192 verbose parsed url query: null,
2192 verbose parsed url pathname: '1.0.14',
2192 verbose parsed url path: '1.0.14',
2192 verbose parsed url href: '1.0.14' }
2193 verbose addNamed [ 'formidable', '1.0.14' ]
2194 verbose addNamed [ '1.0.14', '1.0.14' ]
2195 silly lockFile 3f08b74a-formidable-1-0-14 formidable@1.0.14
2196 verbose lock formidable@1.0.14 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\3f08b74a-formidable-1-0-14.lock
2197 verbose cache add [ 'cookie-signature@1.0.1', null ]
2198 verbose cache add name=undefined spec="cookie-signature@1.0.1" args=["cookie-signature@1.0.1",null]
2199 verbose parsed url { protocol: null,
2199 verbose parsed url slashes: null,
2199 verbose parsed url auth: null,
2199 verbose parsed url host: null,
2199 verbose parsed url port: null,
2199 verbose parsed url hostname: null,
2199 verbose parsed url hash: null,
2199 verbose parsed url search: null,
2199 verbose parsed url query: null,
2199 verbose parsed url pathname: 'cookie-signature@1.0.1',
2199 verbose parsed url path: 'cookie-signature@1.0.1',
2199 verbose parsed url href: 'cookie-signature@1.0.1' }
2200 verbose cache add name="cookie-signature" spec="1.0.1" args=["cookie-signature","1.0.1"]
2201 verbose parsed url { protocol: null,
2201 verbose parsed url slashes: null,
2201 verbose parsed url auth: null,
2201 verbose parsed url host: null,
2201 verbose parsed url port: null,
2201 verbose parsed url hostname: null,
2201 verbose parsed url hash: null,
2201 verbose parsed url search: null,
2201 verbose parsed url query: null,
2201 verbose parsed url pathname: '1.0.1',
2201 verbose parsed url path: '1.0.1',
2201 verbose parsed url href: '1.0.1' }
2202 verbose addNamed [ 'cookie-signature', '1.0.1' ]
2203 verbose addNamed [ '1.0.1', '1.0.1' ]
2204 silly lockFile d4a1eba1-cookie-signature-1-0-1 cookie-signature@1.0.1
2205 verbose lock cookie-signature@1.0.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\d4a1eba1-cookie-signature-1-0-1.lock
2206 verbose cache add [ 'buffer-crc32@0.2.1', null ]
2207 verbose cache add name=undefined spec="buffer-crc32@0.2.1" args=["buffer-crc32@0.2.1",null]
2208 verbose parsed url { protocol: null,
2208 verbose parsed url slashes: null,
2208 verbose parsed url auth: null,
2208 verbose parsed url host: null,
2208 verbose parsed url port: null,
2208 verbose parsed url hostname: null,
2208 verbose parsed url hash: null,
2208 verbose parsed url search: null,
2208 verbose parsed url query: null,
2208 verbose parsed url pathname: 'buffer-crc32@0.2.1',
2208 verbose parsed url path: 'buffer-crc32@0.2.1',
2208 verbose parsed url href: 'buffer-crc32@0.2.1' }
2209 verbose cache add name="buffer-crc32" spec="0.2.1" args=["buffer-crc32","0.2.1"]
2210 verbose parsed url { protocol: null,
2210 verbose parsed url slashes: null,
2210 verbose parsed url auth: null,
2210 verbose parsed url host: null,
2210 verbose parsed url port: null,
2210 verbose parsed url hostname: null,
2210 verbose parsed url hash: null,
2210 verbose parsed url search: null,
2210 verbose parsed url query: null,
2210 verbose parsed url pathname: '0.2.1',
2210 verbose parsed url path: '0.2.1',
2210 verbose parsed url href: '0.2.1' }
2211 verbose addNamed [ 'buffer-crc32', '0.2.1' ]
2212 verbose addNamed [ '0.2.1', '0.2.1' ]
2213 silly lockFile 057d0d26-buffer-crc32-0-2-1 buffer-crc32@0.2.1
2214 verbose lock buffer-crc32@0.2.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\057d0d26-buffer-crc32-0-2-1.lock
2215 verbose cache add [ 'cookie@0.1.0', null ]
2216 verbose cache add name=undefined spec="cookie@0.1.0" args=["cookie@0.1.0",null]
2217 verbose parsed url { protocol: null,
2217 verbose parsed url slashes: null,
2217 verbose parsed url auth: null,
2217 verbose parsed url host: null,
2217 verbose parsed url port: null,
2217 verbose parsed url hostname: null,
2217 verbose parsed url hash: null,
2217 verbose parsed url search: null,
2217 verbose parsed url query: null,
2217 verbose parsed url pathname: 'cookie@0.1.0',
2217 verbose parsed url path: 'cookie@0.1.0',
2217 verbose parsed url href: 'cookie@0.1.0' }
2218 verbose cache add name="cookie" spec="0.1.0" args=["cookie","0.1.0"]
2219 verbose parsed url { protocol: null,
2219 verbose parsed url slashes: null,
2219 verbose parsed url auth: null,
2219 verbose parsed url host: null,
2219 verbose parsed url port: null,
2219 verbose parsed url hostname: null,
2219 verbose parsed url hash: null,
2219 verbose parsed url search: null,
2219 verbose parsed url query: null,
2219 verbose parsed url pathname: '0.1.0',
2219 verbose parsed url path: '0.1.0',
2219 verbose parsed url href: '0.1.0' }
2220 verbose addNamed [ 'cookie', '0.1.0' ]
2221 verbose addNamed [ '0.1.0', '0.1.0' ]
2222 silly lockFile b55e145e-cookie-0-1-0 cookie@0.1.0
2223 verbose lock cookie@0.1.0 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\b55e145e-cookie-0-1-0.lock
2224 verbose url raw buffer-crc32/0.2.1
2225 verbose url resolving [ 'https://registry.npmjs.org/', './buffer-crc32/0.2.1' ]
2226 verbose url resolved https://registry.npmjs.org/buffer-crc32/0.2.1
2227 info trying registry request attempt 1 at 16:42:42
2228 verbose etag "4JLO8SIQOKXMA94PVFN5E59WV"
2229 http GET https://registry.npmjs.org/buffer-crc32/0.2.1
2230 verbose url raw qs/0.6.5
2231 verbose url resolving [ 'https://registry.npmjs.org/', './qs/0.6.5' ]
2232 verbose url resolved https://registry.npmjs.org/qs/0.6.5
2233 info trying registry request attempt 1 at 16:42:42
2234 verbose etag "A0908O91HJF6S9ZO1VDAN636E"
2235 http GET https://registry.npmjs.org/qs/0.6.5
2236 verbose url raw cookie-signature/1.0.1
2237 verbose url resolving [ 'https://registry.npmjs.org/', './cookie-signature/1.0.1' ]
2238 verbose url resolved https://registry.npmjs.org/cookie-signature/1.0.1
2239 info trying registry request attempt 1 at 16:42:42
2240 verbose etag "332BQXGWC1DJFGGZJ0ETUQXA6"
2241 http GET https://registry.npmjs.org/cookie-signature/1.0.1
2242 verbose url raw cookie/0.1.0
2243 verbose url resolving [ 'https://registry.npmjs.org/', './cookie/0.1.0' ]
2244 verbose url resolved https://registry.npmjs.org/cookie/0.1.0
2245 info trying registry request attempt 1 at 16:42:42
2246 verbose etag "F1R4EMW6NEBFUL3OK9Q9DKBJF"
2247 http GET https://registry.npmjs.org/cookie/0.1.0
2248 verbose url raw formidable/1.0.14
2249 verbose url resolving [ 'https://registry.npmjs.org/', './formidable/1.0.14' ]
2250 verbose url resolved https://registry.npmjs.org/formidable/1.0.14
2251 info trying registry request attempt 1 at 16:42:42
2252 verbose etag "8JM374O38WRSF5CM0XD5K5QXS"
2253 http GET https://registry.npmjs.org/formidable/1.0.14
2254 verbose cache add [ 'send@0.1.4', null ]
2255 verbose cache add name=undefined spec="send@0.1.4" args=["send@0.1.4",null]
2256 verbose parsed url { protocol: null,
2256 verbose parsed url slashes: null,
2256 verbose parsed url auth: null,
2256 verbose parsed url host: null,
2256 verbose parsed url port: null,
2256 verbose parsed url hostname: null,
2256 verbose parsed url hash: null,
2256 verbose parsed url search: null,
2256 verbose parsed url query: null,
2256 verbose parsed url pathname: 'send@0.1.4',
2256 verbose parsed url path: 'send@0.1.4',
2256 verbose parsed url href: 'send@0.1.4' }
2257 verbose cache add name="send" spec="0.1.4" args=["send","0.1.4"]
2258 verbose parsed url { protocol: null,
2258 verbose parsed url slashes: null,
2258 verbose parsed url auth: null,
2258 verbose parsed url host: null,
2258 verbose parsed url port: null,
2258 verbose parsed url hostname: null,
2258 verbose parsed url hash: null,
2258 verbose parsed url search: null,
2258 verbose parsed url query: null,
2258 verbose parsed url pathname: '0.1.4',
2258 verbose parsed url path: '0.1.4',
2258 verbose parsed url href: '0.1.4' }
2259 verbose addNamed [ 'send', '0.1.4' ]
2260 verbose addNamed [ '0.1.4', '0.1.4' ]
2261 silly lockFile 555fd08a-send-0-1-4 send@0.1.4
2262 verbose lock send@0.1.4 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\555fd08a-send-0-1-4.lock
2263 verbose cache add [ 'bytes@0.2.0', null ]
2264 verbose cache add name=undefined spec="bytes@0.2.0" args=["bytes@0.2.0",null]
2265 verbose parsed url { protocol: null,
2265 verbose parsed url slashes: null,
2265 verbose parsed url auth: null,
2265 verbose parsed url host: null,
2265 verbose parsed url port: null,
2265 verbose parsed url hostname: null,
2265 verbose parsed url hash: null,
2265 verbose parsed url search: null,
2265 verbose parsed url query: null,
2265 verbose parsed url pathname: 'bytes@0.2.0',
2265 verbose parsed url path: 'bytes@0.2.0',
2265 verbose parsed url href: 'bytes@0.2.0' }
2266 verbose cache add name="bytes" spec="0.2.0" args=["bytes","0.2.0"]
2267 verbose parsed url { protocol: null,
2267 verbose parsed url slashes: null,
2267 verbose parsed url auth: null,
2267 verbose parsed url host: null,
2267 verbose parsed url port: null,
2267 verbose parsed url hostname: null,
2267 verbose parsed url hash: null,
2267 verbose parsed url search: null,
2267 verbose parsed url query: null,
2267 verbose parsed url pathname: '0.2.0',
2267 verbose parsed url path: '0.2.0',
2267 verbose parsed url href: '0.2.0' }
2268 verbose addNamed [ 'bytes', '0.2.0' ]
2269 verbose addNamed [ '0.2.0', '0.2.0' ]
2270 silly lockFile e351aee0-bytes-0-2-0 bytes@0.2.0
2271 verbose lock bytes@0.2.0 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\e351aee0-bytes-0-2-0.lock
2272 verbose cache add [ 'fresh@0.2.0', null ]
2273 verbose cache add name=undefined spec="fresh@0.2.0" args=["fresh@0.2.0",null]
2274 verbose parsed url { protocol: null,
2274 verbose parsed url slashes: null,
2274 verbose parsed url auth: null,
2274 verbose parsed url host: null,
2274 verbose parsed url port: null,
2274 verbose parsed url hostname: null,
2274 verbose parsed url hash: null,
2274 verbose parsed url search: null,
2274 verbose parsed url query: null,
2274 verbose parsed url pathname: 'fresh@0.2.0',
2274 verbose parsed url path: 'fresh@0.2.0',
2274 verbose parsed url href: 'fresh@0.2.0' }
2275 verbose cache add name="fresh" spec="0.2.0" args=["fresh","0.2.0"]
2276 verbose parsed url { protocol: null,
2276 verbose parsed url slashes: null,
2276 verbose parsed url auth: null,
2276 verbose parsed url host: null,
2276 verbose parsed url port: null,
2276 verbose parsed url hostname: null,
2276 verbose parsed url hash: null,
2276 verbose parsed url search: null,
2276 verbose parsed url query: null,
2276 verbose parsed url pathname: '0.2.0',
2276 verbose parsed url path: '0.2.0',
2276 verbose parsed url href: '0.2.0' }
2277 verbose addNamed [ 'fresh', '0.2.0' ]
2278 verbose addNamed [ '0.2.0', '0.2.0' ]
2279 silly lockFile 1a4cf0d3-fresh-0-2-0 fresh@0.2.0
2280 verbose lock fresh@0.2.0 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\1a4cf0d3-fresh-0-2-0.lock
2281 verbose cache add [ 'pause@0.0.1', null ]
2282 verbose cache add name=undefined spec="pause@0.0.1" args=["pause@0.0.1",null]
2283 verbose parsed url { protocol: null,
2283 verbose parsed url slashes: null,
2283 verbose parsed url auth: null,
2283 verbose parsed url host: null,
2283 verbose parsed url port: null,
2283 verbose parsed url hostname: null,
2283 verbose parsed url hash: null,
2283 verbose parsed url search: null,
2283 verbose parsed url query: null,
2283 verbose parsed url pathname: 'pause@0.0.1',
2283 verbose parsed url path: 'pause@0.0.1',
2283 verbose parsed url href: 'pause@0.0.1' }
2284 verbose cache add name="pause" spec="0.0.1" args=["pause","0.0.1"]
2285 verbose parsed url { protocol: null,
2285 verbose parsed url slashes: null,
2285 verbose parsed url auth: null,
2285 verbose parsed url host: null,
2285 verbose parsed url port: null,
2285 verbose parsed url hostname: null,
2285 verbose parsed url hash: null,
2285 verbose parsed url search: null,
2285 verbose parsed url query: null,
2285 verbose parsed url pathname: '0.0.1',
2285 verbose parsed url path: '0.0.1',
2285 verbose parsed url href: '0.0.1' }
2286 verbose addNamed [ 'pause', '0.0.1' ]
2287 verbose addNamed [ '0.0.1', '0.0.1' ]
2288 silly lockFile c62fc432-pause-0-0-1 pause@0.0.1
2289 verbose lock pause@0.0.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c62fc432-pause-0-0-1.lock
2290 verbose cache add [ 'uid2@0.0.2', null ]
2291 verbose cache add name=undefined spec="uid2@0.0.2" args=["uid2@0.0.2",null]
2292 verbose parsed url { protocol: null,
2292 verbose parsed url slashes: null,
2292 verbose parsed url auth: null,
2292 verbose parsed url host: null,
2292 verbose parsed url port: null,
2292 verbose parsed url hostname: null,
2292 verbose parsed url hash: null,
2292 verbose parsed url search: null,
2292 verbose parsed url query: null,
2292 verbose parsed url pathname: 'uid2@0.0.2',
2292 verbose parsed url path: 'uid2@0.0.2',
2292 verbose parsed url href: 'uid2@0.0.2' }
2293 verbose cache add name="uid2" spec="0.0.2" args=["uid2","0.0.2"]
2294 verbose parsed url { protocol: null,
2294 verbose parsed url slashes: null,
2294 verbose parsed url auth: null,
2294 verbose parsed url host: null,
2294 verbose parsed url port: null,
2294 verbose parsed url hostname: null,
2294 verbose parsed url hash: null,
2294 verbose parsed url search: null,
2294 verbose parsed url query: null,
2294 verbose parsed url pathname: '0.0.2',
2294 verbose parsed url path: '0.0.2',
2294 verbose parsed url href: '0.0.2' }
2295 verbose addNamed [ 'uid2', '0.0.2' ]
2296 verbose addNamed [ '0.0.2', '0.0.2' ]
2297 silly lockFile aaa92211-uid2-0-0-2 uid2@0.0.2
2298 verbose lock uid2@0.0.2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\aaa92211-uid2-0-0-2.lock
2299 verbose cache add [ 'debug@*', null ]
2300 verbose cache add name=undefined spec="debug@*" args=["debug@*",null]
2301 verbose parsed url { protocol: null,
2301 verbose parsed url slashes: null,
2301 verbose parsed url auth: null,
2301 verbose parsed url host: null,
2301 verbose parsed url port: null,
2301 verbose parsed url hostname: null,
2301 verbose parsed url hash: null,
2301 verbose parsed url search: null,
2301 verbose parsed url query: null,
2301 verbose parsed url pathname: 'debug@*',
2301 verbose parsed url path: 'debug@*',
2301 verbose parsed url href: 'debug@*' }
2302 verbose cache add name="debug" spec="*" args=["debug","*"]
2303 verbose parsed url { protocol: null,
2303 verbose parsed url slashes: null,
2303 verbose parsed url auth: null,
2303 verbose parsed url host: null,
2303 verbose parsed url port: null,
2303 verbose parsed url hostname: null,
2303 verbose parsed url hash: null,
2303 verbose parsed url search: null,
2303 verbose parsed url query: null,
2303 verbose parsed url pathname: '*',
2303 verbose parsed url path: '*',
2303 verbose parsed url href: '*' }
2304 verbose addNamed [ 'debug', '*' ]
2305 verbose addNamed [ null, '*' ]
2306 silly lockFile 3ac45eff-debug debug@*
2307 verbose lock debug@* C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\3ac45eff-debug.lock
2308 verbose cache add [ 'methods@0.0.1', null ]
2309 verbose cache add name=undefined spec="methods@0.0.1" args=["methods@0.0.1",null]
2310 verbose parsed url { protocol: null,
2310 verbose parsed url slashes: null,
2310 verbose parsed url auth: null,
2310 verbose parsed url host: null,
2310 verbose parsed url port: null,
2310 verbose parsed url hostname: null,
2310 verbose parsed url hash: null,
2310 verbose parsed url search: null,
2310 verbose parsed url query: null,
2310 verbose parsed url pathname: 'methods@0.0.1',
2310 verbose parsed url path: 'methods@0.0.1',
2310 verbose parsed url href: 'methods@0.0.1' }
2311 verbose cache add name="methods" spec="0.0.1" args=["methods","0.0.1"]
2312 verbose parsed url { protocol: null,
2312 verbose parsed url slashes: null,
2312 verbose parsed url auth: null,
2312 verbose parsed url host: null,
2312 verbose parsed url port: null,
2312 verbose parsed url hostname: null,
2312 verbose parsed url hash: null,
2312 verbose parsed url search: null,
2312 verbose parsed url query: null,
2312 verbose parsed url pathname: '0.0.1',
2312 verbose parsed url path: '0.0.1',
2312 verbose parsed url href: '0.0.1' }
2313 verbose addNamed [ 'methods', '0.0.1' ]
2314 verbose addNamed [ '0.0.1', '0.0.1' ]
2315 silly lockFile 209c2920-methods-0-0-1 methods@0.0.1
2316 verbose lock methods@0.0.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\209c2920-methods-0-0-1.lock
2317 silly addNameRange { name: 'debug', range: '*', hasData: false }
2318 verbose url raw pause/0.0.1
2319 verbose url resolving [ 'https://registry.npmjs.org/', './pause/0.0.1' ]
2320 verbose url resolved https://registry.npmjs.org/pause/0.0.1
2321 info trying registry request attempt 1 at 16:42:42
2322 verbose etag "EOB5X18A1J6GDBBJPGSXXC6N8"
2323 http GET https://registry.npmjs.org/pause/0.0.1
2324 verbose url raw bytes/0.2.0
2325 verbose url resolving [ 'https://registry.npmjs.org/', './bytes/0.2.0' ]
2326 verbose url resolved https://registry.npmjs.org/bytes/0.2.0
2327 info trying registry request attempt 1 at 16:42:42
2328 verbose etag "DDRZ4XRRLN6Z0X2YNRRUFBM29"
2329 http GET https://registry.npmjs.org/bytes/0.2.0
2330 verbose url raw fresh/0.2.0
2331 verbose url resolving [ 'https://registry.npmjs.org/', './fresh/0.2.0' ]
2332 verbose url resolved https://registry.npmjs.org/fresh/0.2.0
2333 info trying registry request attempt 1 at 16:42:42
2334 verbose etag "6CDQ014VE8MJLSGJOYMKCVKVG"
2335 http GET https://registry.npmjs.org/fresh/0.2.0
2336 verbose url raw uid2/0.0.2
2337 verbose url resolving [ 'https://registry.npmjs.org/', './uid2/0.0.2' ]
2338 verbose url resolved https://registry.npmjs.org/uid2/0.0.2
2339 info trying registry request attempt 1 at 16:42:42
2340 verbose etag "6YUT1KABG2MRIOFA9YWQEHH5B"
2341 http GET https://registry.npmjs.org/uid2/0.0.2
2342 verbose url raw send/0.1.4
2343 verbose url resolving [ 'https://registry.npmjs.org/', './send/0.1.4' ]
2344 verbose url resolved https://registry.npmjs.org/send/0.1.4
2345 info trying registry request attempt 1 at 16:42:42
2346 verbose etag "44MEX16XITH6HKKBT0BOK31OO"
2347 http GET https://registry.npmjs.org/send/0.1.4
2348 verbose url raw methods/0.0.1
2349 verbose url resolving [ 'https://registry.npmjs.org/', './methods/0.0.1' ]
2350 verbose url resolved https://registry.npmjs.org/methods/0.0.1
2351 info trying registry request attempt 1 at 16:42:42
2352 verbose etag "D7BIME5C6Q45VILIKMWZAC09D"
2353 http GET https://registry.npmjs.org/methods/0.0.1
2354 verbose url raw debug
2355 verbose url resolving [ 'https://registry.npmjs.org/', './debug' ]
2356 verbose url resolved https://registry.npmjs.org/debug
2357 info trying registry request attempt 1 at 16:42:42
2358 verbose etag "AI2IHWD96UTI2Y5ZY8SO9X426"
2359 http GET https://registry.npmjs.org/debug
2360 silly lockFile 794c687b-les-karma-node-modules-useragent tar://C:\dev\tmp\test\node_modules\karma\node_modules\useragent
2361 silly lockFile 794c687b-les-karma-node-modules-useragent tar://C:\dev\tmp\test\node_modules\karma\node_modules\useragent
2362 silly lockFile a8498244-ache-useragent-2-0-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\useragent\2.0.7\package.tgz
2363 silly lockFile a8498244-ache-useragent-2-0-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\useragent\2.0.7\package.tgz
2364 info preinstall useragent@2.0.7
2365 verbose readDependencies using package.json deps
2366 verbose readDependencies using package.json deps
2367 verbose cache add [ 'lru-cache@2.2.x', null ]
2368 verbose cache add name=undefined spec="lru-cache@2.2.x" args=["lru-cache@2.2.x",null]
2369 verbose parsed url { protocol: null,
2369 verbose parsed url slashes: null,
2369 verbose parsed url auth: null,
2369 verbose parsed url host: null,
2369 verbose parsed url port: null,
2369 verbose parsed url hostname: null,
2369 verbose parsed url hash: null,
2369 verbose parsed url search: null,
2369 verbose parsed url query: null,
2369 verbose parsed url pathname: 'lru-cache@2.2.x',
2369 verbose parsed url path: 'lru-cache@2.2.x',
2369 verbose parsed url href: 'lru-cache@2.2.x' }
2370 verbose cache add name="lru-cache" spec="2.2.x" args=["lru-cache","2.2.x"]
2371 verbose parsed url { protocol: null,
2371 verbose parsed url slashes: null,
2371 verbose parsed url auth: null,
2371 verbose parsed url host: null,
2371 verbose parsed url port: null,
2371 verbose parsed url hostname: null,
2371 verbose parsed url hash: null,
2371 verbose parsed url search: null,
2371 verbose parsed url query: null,
2371 verbose parsed url pathname: '2.2.x',
2371 verbose parsed url path: '2.2.x',
2371 verbose parsed url href: '2.2.x' }
2372 verbose addNamed [ 'lru-cache', '2.2.x' ]
2373 verbose addNamed [ null, '>=2.2.0-0 <2.3.0-0' ]
2374 silly lockFile d6459a6a-lru-cache-2-2-x lru-cache@2.2.x
2375 verbose lock lru-cache@2.2.x C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\d6459a6a-lru-cache-2-2-x.lock
2376 silly addNameRange { name: 'lru-cache',
2376 silly addNameRange range: '>=2.2.0-0 <2.3.0-0',
2376 silly addNameRange hasData: false }
2377 verbose url raw lru-cache
2378 verbose url resolving [ 'https://registry.npmjs.org/', './lru-cache' ]
2379 verbose url resolved https://registry.npmjs.org/lru-cache
2380 info trying registry request attempt 1 at 16:42:42
2381 verbose etag "14VF40U499GDAIDK33TEOG56Q"
2382 http GET https://registry.npmjs.org/lru-cache
2383 http 304 https://registry.npmjs.org/sigmund
2384 silly registry.get cb [ 304,
2384 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2384 silly registry.get etag: '"BAAVPGGBONNEW4H9S234JOULZ"',
2384 silly registry.get date: 'Tue, 01 Oct 2013 14:42:41 GMT',
2384 silly registry.get 'content-length': '0',
2384 silly registry.get age: '1',
2384 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2385 verbose etag sigmund from cache
2386 silly addNameRange number 2 { name: 'sigmund', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
2387 silly addNameRange versions [ 'sigmund', [ '1.0.0' ] ]
2388 verbose addNamed [ 'sigmund', '1.0.0' ]
2389 verbose addNamed [ '1.0.0', '1.0.0' ]
2390 silly lockFile 7b2d1244-sigmund-1-0-0 sigmund@1.0.0
2391 verbose lock sigmund@1.0.0 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\7b2d1244-sigmund-1-0-0.lock
2392 silly lockFile 7b2d1244-sigmund-1-0-0 sigmund@1.0.0
2393 silly lockFile 7b2d1244-sigmund-1-0-0 sigmund@1.0.0
2394 silly lockFile 584a4a05-sigmund-1-0-0 sigmund@~1.0.0
2395 silly lockFile 584a4a05-sigmund-1-0-0 sigmund@~1.0.0
2396 http 304 https://registry.npmjs.org/lru-cache
2397 silly registry.get cb [ 304,
2397 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2397 silly registry.get etag: '"14VF40U499GDAIDK33TEOG56Q"',
2397 silly registry.get date: 'Tue, 01 Oct 2013 14:42:41 GMT',
2397 silly registry.get 'content-length': '0',
2397 silly registry.get age: '1',
2397 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2398 verbose etag lru-cache from cache
2399 silly addNameRange number 2 { name: 'lru-cache', range: '>=2.0.0-0 <3.0.0-0', hasData: true }
2400 silly addNameRange versions [ 'lru-cache',
2400 silly addNameRange [ '1.0.1',
2400 silly addNameRange '1.0.2',
2400 silly addNameRange '1.0.3',
2400 silly addNameRange '1.0.4',
2400 silly addNameRange '1.0.5',
2400 silly addNameRange '1.0.6',
2400 silly addNameRange '1.1.0',
2400 silly addNameRange '1.1.1',
2400 silly addNameRange '2.0.0',
2400 silly addNameRange '2.0.1',
2400 silly addNameRange '2.0.2',
2400 silly addNameRange '2.0.3',
2400 silly addNameRange '2.0.4',
2400 silly addNameRange '2.1.0',
2400 silly addNameRange '2.2.0',
2400 silly addNameRange '2.2.1',
2400 silly addNameRange '2.2.2',
2400 silly addNameRange '2.2.4',
2400 silly addNameRange '2.3.0',
2400 silly addNameRange '2.3.1' ] ]
2401 verbose addNamed [ 'lru-cache', '2.3.1' ]
2402 verbose addNamed [ '2.3.1', '2.3.1' ]
2403 silly lockFile ef81ebb1-lru-cache-2-3-1 lru-cache@2.3.1
2404 verbose lock lru-cache@2.3.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ef81ebb1-lru-cache-2-3-1.lock
2405 http 304 https://registry.npmjs.org/wordwrap
2406 silly registry.get cb [ 304,
2406 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2406 silly registry.get etag: '"3HPX5BQ0X4U2A3KJNTK2473OZ"',
2406 silly registry.get date: 'Tue, 01 Oct 2013 14:42:41 GMT',
2406 silly registry.get 'content-length': '0',
2406 silly registry.get age: '0',
2406 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2407 verbose etag wordwrap from cache
2408 silly addNameRange number 2 { name: 'wordwrap', range: '>=0.0.2-0 <0.1.0-0', hasData: true }
2409 silly addNameRange versions [ 'wordwrap', [ '0.0.1', '0.0.2' ] ]
2410 verbose addNamed [ 'wordwrap', '0.0.2' ]
2411 verbose addNamed [ '0.0.2', '0.0.2' ]
2412 silly lockFile 24a694c8-wordwrap-0-0-2 wordwrap@0.0.2
2413 verbose lock wordwrap@0.0.2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\24a694c8-wordwrap-0-0-2.lock
2414 silly lockFile ef81ebb1-lru-cache-2-3-1 lru-cache@2.3.1
2415 silly lockFile ef81ebb1-lru-cache-2-3-1 lru-cache@2.3.1
2416 silly lockFile b4f9d1ff-lru-cache-2 lru-cache@2
2417 silly lockFile b4f9d1ff-lru-cache-2 lru-cache@2
2418 silly resolved [ { name: 'sigmund',
2418 silly resolved version: '1.0.0',
2418 silly resolved description: 'Quick and dirty signatures for Objects.',
2418 silly resolved main: 'sigmund.js',
2418 silly resolved directories: { test: 'test' },
2418 silly resolved dependencies: {},
2418 silly resolved devDependencies: { tap: '~0.3.0' },
2418 silly resolved scripts: { test: 'tap test/*.js', bench: 'node bench.js' },
2418 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/sigmund' },
2418 silly resolved keywords: [ 'object', 'signature', 'key', 'data', 'psychoanalysis' ],
2418 silly resolved author:
2418 silly resolved { name: 'Isaac Z. Schlueter',
2418 silly resolved email: 'i@izs.me',
2418 silly resolved url: 'http://blog.izs.me/' },
2418 silly resolved license: 'BSD',
2418 silly resolved readme: '# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n var cached = cache.get(key)\n if (cached) return cached)\n\n var result = expensiveCalculation(someObj)\n cache.set(key, result)\n return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:\'foo\'}` will be treated identically to the\narray `[\'foo\']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you. In fact, it\'s\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions. For example, these objects\nhave the same signature:\n\n var obj1 = {a:\'b\',c:/def/,g:[\'h\',\'i\',{j:\'\',k:\'l\'}]}\n var obj2 = {a:\'b\',c:\'/def/\',g:[\'h\',\'i\',\'{jkl\']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you\'re looking for. It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n',
2418 silly resolved readmeFilename: 'README.md',
2418 silly resolved bugs: { url: 'https://github.com/isaacs/sigmund/issues' },
2418 silly resolved _id: 'sigmund@1.0.0',
2418 silly resolved _from: 'sigmund@~1.0.0' },
2418 silly resolved { name: 'lru-cache',
2418 silly resolved description: 'A cache object that deletes the least-recently-used items.',
2418 silly resolved version: '2.3.1',
2418 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
2418 silly resolved scripts: { test: 'tap test --gc' },
2418 silly resolved main: 'lib/lru-cache.js',
2418 silly resolved repository:
2418 silly resolved { type: 'git',
2418 silly resolved url: 'git://github.com/isaacs/node-lru-cache.git' },
2418 silly resolved devDependencies: { tap: '', weak: '' },
2418 silly resolved license:
2418 silly resolved { type: 'MIT',
2418 silly resolved url: 'http://github.com/isaacs/node-lru-cache/raw/master/LICENSE' },
2418 silly resolved readme: '# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require("lru-cache")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set("key", "value")\ncache.get("key") // "value"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it\'ll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that\'s the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it\'ll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you\'re storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `n`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It\'s called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you\'ll have to do that in a\n `nextTick` or `setTimeout` callback or it won\'t do anything.\n* `stale` By default, if you set a `maxAge`, it\'ll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it\'s\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it\'ll return the stale value before deleting it. If\n you don\'t set this, then it\'ll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n Both of these will update the "recently used"-ness of the key.\n They do what you think.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the "recently used"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it\'s handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n',
2418 silly resolved readmeFilename: 'README.md',
2418 silly resolved contributors:
2418 silly resolved [ [Object],
2418 silly resolved [Object],
2418 silly resolved [Object],
2418 silly resolved [Object],
2418 silly resolved [Object],
2418 silly resolved [Object],
2418 silly resolved [Object] ],
2418 silly resolved bugs: { url: 'https://github.com/isaacs/node-lru-cache/issues' },
2418 silly resolved _id: 'lru-cache@2.3.1',
2418 silly resolved _from: 'lru-cache@2' } ]
2419 info install sigmund@1.0.0 into C:\dev\tmp\test\node_modules\karma\node_modules\minimatch
2420 info install lru-cache@2.3.1 into C:\dev\tmp\test\node_modules\karma\node_modules\minimatch
2421 info installOne sigmund@1.0.0
2422 info installOne lru-cache@2.3.1
2423 info C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\sigmund unbuild
2424 info C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\lru-cache unbuild
2425 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\sigmund\1.0.0\package.tgz
2426 silly lockFile 127669ac-s-minimatch-node-modules-sigmund tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\sigmund
2427 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\sigmund C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\127669ac-s-minimatch-node-modules-sigmund.lock
2428 silly lockFile 502af109--cache-sigmund-1-0-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\sigmund\1.0.0\package.tgz
2429 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\sigmund\1.0.0\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\502af109--cache-sigmund-1-0-0-package-tgz.lock
2430 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lru-cache\2.3.1\package.tgz
2431 silly lockFile 4ee3c0a1-minimatch-node-modules-lru-cache tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\lru-cache
2432 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\lru-cache C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\4ee3c0a1-minimatch-node-modules-lru-cache.lock
2433 silly lockFile c9588dcd-ache-lru-cache-2-3-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lru-cache\2.3.1\package.tgz
2434 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lru-cache\2.3.1\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c9588dcd-ache-lru-cache-2-3-1-package-tgz.lock
2435 silly gunzTarPerm modes [ '755', '644' ]
2436 silly gunzTarPerm modes [ '755', '644' ]
2437 silly lockFile 24a694c8-wordwrap-0-0-2 wordwrap@0.0.2
2438 silly lockFile 24a694c8-wordwrap-0-0-2 wordwrap@0.0.2
2439 silly gunzTarPerm extractEntry package.json
2440 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
2441 silly gunzTarPerm extractEntry package.json
2442 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
2443 silly lockFile 8bd42136-wordwrap-0-0-2 wordwrap@~0.0.2
2444 silly lockFile 8bd42136-wordwrap-0-0-2 wordwrap@~0.0.2
2445 silly resolved [ { name: 'wordwrap',
2445 silly resolved description: 'Wrap those words. Show them at what columns to start and stop.',
2445 silly resolved version: '0.0.2',
2445 silly resolved repository:
2445 silly resolved { type: 'git',
2445 silly resolved url: 'git://github.com/substack/node-wordwrap.git' },
2445 silly resolved main: './index.js',
2445 silly resolved keywords: [ 'word', 'wrap', 'rule', 'format', 'column' ],
2445 silly resolved directories: { lib: '.', example: 'example', test: 'test' },
2445 silly resolved scripts: { test: 'expresso' },
2445 silly resolved devDependencies: { expresso: '=0.7.x' },
2445 silly resolved engines: { node: '>=0.4.0' },
2445 silly resolved license: 'MIT/X11',
2445 silly resolved author:
2445 silly resolved { name: 'James Halliday',
2445 silly resolved email: 'mail@substack.net',
2445 silly resolved url: 'http://substack.net' },
2445 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',
2445 silly resolved readmeFilename: 'README.markdown',
2445 silly resolved bugs: { url: 'https://github.com/substack/node-wordwrap/issues' },
2445 silly resolved _id: 'wordwrap@0.0.2',
2445 silly resolved _from: 'wordwrap@~0.0.2' } ]
2446 info install wordwrap@0.0.2 into C:\dev\tmp\test\node_modules\karma\node_modules\optimist
2447 info installOne wordwrap@0.0.2
2448 info C:\dev\tmp\test\node_modules\karma\node_modules\optimist\node_modules\wordwrap unbuild
2449 silly gunzTarPerm extractEntry README.md
2450 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
2451 silly gunzTarPerm extractEntry LICENSE
2452 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
2453 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\wordwrap\0.0.2\package.tgz
2454 silly lockFile c3b0b614-s-optimist-node-modules-wordwrap tar://C:\dev\tmp\test\node_modules\karma\node_modules\optimist\node_modules\wordwrap
2455 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\optimist\node_modules\wordwrap C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c3b0b614-s-optimist-node-modules-wordwrap.lock
2456 silly lockFile 3e9df3cf-cache-wordwrap-0-0-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\wordwrap\0.0.2\package.tgz
2457 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\wordwrap\0.0.2\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\3e9df3cf-cache-wordwrap-0-0-2-package-tgz.lock
2458 silly gunzTarPerm extractEntry .npmignore
2459 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
2460 silly gunzTarPerm extractEntry README.md
2461 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
2462 silly gunzTarPerm modes [ '755', '644' ]
2463 silly gunzTarPerm extractEntry package.json
2464 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
2465 silly gunzTarPerm extractEntry .npmignore
2466 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
2467 silly gunzTarPerm extractEntry index.js
2468 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
2469 silly gunzTarPerm extractEntry LICENSE
2470 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
2471 silly gunzTarPerm extractEntry bench.js
2472 silly gunzTarPerm modified mode [ 'bench.js', 438, 420 ]
2473 silly gunzTarPerm extractEntry bench.js
2474 silly gunzTarPerm modified mode [ 'bench.js', 438, 420 ]
2475 silly gunzTarPerm extractEntry sigmund.js
2476 silly gunzTarPerm modified mode [ 'sigmund.js', 438, 420 ]
2477 silly gunzTarPerm extractEntry AUTHORS
2478 silly gunzTarPerm modified mode [ 'AUTHORS', 438, 420 ]
2479 silly gunzTarPerm extractEntry lib/lru-cache.js
2480 silly gunzTarPerm modified mode [ 'lib/lru-cache.js', 438, 420 ]
2481 silly gunzTarPerm extractEntry example/center.js
2482 silly gunzTarPerm modified mode [ 'example/center.js', 438, 420 ]
2483 silly gunzTarPerm extractEntry example/meat.js
2484 silly gunzTarPerm modified mode [ 'example/meat.js', 438, 420 ]
2485 silly gunzTarPerm extractEntry test/basic.js
2486 silly gunzTarPerm modified mode [ 'test/basic.js', 438, 420 ]
2487 silly gunzTarPerm extractEntry README.markdown
2488 silly gunzTarPerm modified mode [ 'README.markdown', 438, 420 ]
2489 silly gunzTarPerm extractEntry test/break.js
2490 silly gunzTarPerm modified mode [ 'test/break.js', 438, 420 ]
2491 silly gunzTarPerm extractEntry test/basic.js
2492 silly gunzTarPerm modified mode [ 'test/basic.js', 438, 420 ]
2493 silly gunzTarPerm extractEntry test/foreach.js
2494 silly gunzTarPerm modified mode [ 'test/foreach.js', 438, 420 ]
2495 silly gunzTarPerm extractEntry test/memory-leak.js
2496 silly gunzTarPerm modified mode [ 'test/memory-leak.js', 438, 420 ]
2497 silly gunzTarPerm extractEntry test/wrap.js
2498 silly gunzTarPerm modified mode [ 'test/wrap.js', 438, 420 ]
2499 silly gunzTarPerm extractEntry test/idleness.txt
2500 silly gunzTarPerm modified mode [ 'test/idleness.txt', 438, 420 ]
2501 http 304 https://registry.npmjs.org/inherits
2502 silly registry.get cb [ 304,
2502 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2502 silly registry.get etag: '"DOPV80KRXW9892OY8IW4CKYQ2"',
2502 silly registry.get date: 'Tue, 01 Oct 2013 14:42:41 GMT',
2502 silly registry.get 'content-length': '0',
2502 silly registry.get age: '0',
2502 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2503 verbose etag inherits from cache
2504 silly lockFile 127669ac-s-minimatch-node-modules-sigmund tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\sigmund
2505 silly lockFile 127669ac-s-minimatch-node-modules-sigmund tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\sigmund
2506 silly addNameRange number 2 { name: 'inherits', range: '>=1.0.0-0 <2.0.0-0', hasData: true }
2507 silly addNameRange versions [ 'inherits', [ '1.0.0', '2.0.0', '2.0.1' ] ]
2508 verbose addNamed [ 'inherits', '1.0.0' ]
2509 verbose addNamed [ '1.0.0', '1.0.0' ]
2510 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
2511 verbose lock inherits@1.0.0 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\776fbe77-inherits-1-0-0.lock
2512 silly lockFile 502af109--cache-sigmund-1-0-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\sigmund\1.0.0\package.tgz
2513 silly lockFile 502af109--cache-sigmund-1-0-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\sigmund\1.0.0\package.tgz
2514 info preinstall sigmund@1.0.0
2515 verbose readDependencies using package.json deps
2516 verbose readDependencies using package.json deps
2517 silly resolved []
2518 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\sigmund
2519 info build C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\sigmund
2520 verbose linkStuff [ false,
2520 verbose linkStuff false,
2520 verbose linkStuff false,
2520 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\minimatch\\node_modules' ]
2521 info linkStuff sigmund@1.0.0
2522 verbose linkBins sigmund@1.0.0
2523 verbose linkMans sigmund@1.0.0
2524 verbose rebuildBundles sigmund@1.0.0
2525 info install sigmund@1.0.0
2526 info postinstall sigmund@1.0.0
2527 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
2528 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
2529 silly lockFile 4bca46d0-inherits-1 inherits@1
2530 silly lockFile 4bca46d0-inherits-1 inherits@1
2531 silly resolved [ { name: 'inherits',
2531 silly resolved description: 'A tiny simple way to do classic inheritance in js',
2531 silly resolved version: '1.0.0',
2531 silly resolved keywords: [ 'inheritance', 'class', 'klass', 'oop', 'object-oriented' ],
2531 silly resolved main: './inherits.js',
2531 silly resolved repository: { type: 'git', url: 'https://github.com/isaacs/inherits' },
2531 silly resolved author:
2531 silly resolved { name: 'Isaac Z. Schlueter',
2531 silly resolved email: 'i@izs.me',
2531 silly resolved url: 'http://blog.izs.me/' },
2531 silly resolved readme: 'A dead simple way to do inheritance in JS.\n\n var inherits = require("inherits")\n\n function Animal () {\n this.alive = true\n }\n Animal.prototype.say = function (what) {\n console.log(what)\n }\n\n inherits(Dog, Animal)\n function Dog () {\n Dog.super.apply(this)\n }\n Dog.prototype.sniff = function () {\n this.say("sniff sniff")\n }\n Dog.prototype.bark = function () {\n this.say("woof woof")\n }\n\n inherits(Chihuahua, Dog)\n function Chihuahua () {\n Chihuahua.super.apply(this)\n }\n Chihuahua.prototype.bark = function () {\n this.say("yip yip")\n }\n\n // also works\n function Cat () {\n Cat.super.apply(this)\n }\n Cat.prototype.hiss = function () {\n this.say("CHSKKSS!!")\n }\n inherits(Cat, Animal, {\n meow: function () { this.say("miao miao") }\n })\n Cat.prototype.purr = function () {\n this.say("purr purr")\n }\n\n\n var c = new Chihuahua\n assert(c instanceof Chihuahua)\n assert(c instanceof Dog)\n assert(c instanceof Animal)\n\nThe actual function is laughably small. 10-lines small.\n',
2531 silly resolved readmeFilename: 'README.md',
2531 silly resolved bugs: { url: 'https://github.com/isaacs/inherits/issues' },
2531 silly resolved _id: 'inherits@1.0.0',
2531 silly resolved _from: 'inherits@1' } ]
2532 info install inherits@1.0.0 into C:\dev\tmp\test\node_modules\karma\node_modules\glob
2533 info installOne inherits@1.0.0
2534 info C:\dev\tmp\test\node_modules\karma\node_modules\glob\node_modules\inherits unbuild
2535 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\inherits\1.0.0\package.tgz
2536 silly lockFile 8d5c69f0-dules-glob-node-modules-inherits tar://C:\dev\tmp\test\node_modules\karma\node_modules\glob\node_modules\inherits
2537 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\glob\node_modules\inherits C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\8d5c69f0-dules-glob-node-modules-inherits.lock
2538 silly lockFile ffd2dda9-cache-inherits-1-0-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\inherits\1.0.0\package.tgz
2539 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\inherits\1.0.0\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ffd2dda9-cache-inherits-1-0-0-package-tgz.lock
2540 silly gunzTarPerm modes [ '755', '644' ]
2541 silly gunzTarPerm extractEntry package.json
2542 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
2543 silly gunzTarPerm extractEntry README.md
2544 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
2545 silly gunzTarPerm extractEntry inherits.js
2546 silly gunzTarPerm modified mode [ 'inherits.js', 438, 420 ]
2547 silly lockFile 4ee3c0a1-minimatch-node-modules-lru-cache tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\lru-cache
2548 silly lockFile 4ee3c0a1-minimatch-node-modules-lru-cache tar://C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\lru-cache
2549 silly lockFile c9588dcd-ache-lru-cache-2-3-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lru-cache\2.3.1\package.tgz
2550 silly lockFile c9588dcd-ache-lru-cache-2-3-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lru-cache\2.3.1\package.tgz
2551 silly lockFile c3b0b614-s-optimist-node-modules-wordwrap tar://C:\dev\tmp\test\node_modules\karma\node_modules\optimist\node_modules\wordwrap
2552 silly lockFile c3b0b614-s-optimist-node-modules-wordwrap tar://C:\dev\tmp\test\node_modules\karma\node_modules\optimist\node_modules\wordwrap
2553 silly lockFile 3e9df3cf-cache-wordwrap-0-0-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\wordwrap\0.0.2\package.tgz
2554 silly lockFile 3e9df3cf-cache-wordwrap-0-0-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\wordwrap\0.0.2\package.tgz
2555 info preinstall lru-cache@2.3.1
2556 info preinstall wordwrap@0.0.2
2557 verbose readDependencies using package.json deps
2558 verbose readDependencies using package.json deps
2559 silly resolved []
2560 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\lru-cache
2561 info build C:\dev\tmp\test\node_modules\karma\node_modules\minimatch\node_modules\lru-cache
2562 verbose linkStuff [ false,
2562 verbose linkStuff false,
2562 verbose linkStuff false,
2562 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\minimatch\\node_modules' ]
2563 info linkStuff lru-cache@2.3.1
2564 verbose linkBins lru-cache@2.3.1
2565 verbose linkMans lru-cache@2.3.1
2566 verbose rebuildBundles lru-cache@2.3.1
2567 silly lockFile 8d5c69f0-dules-glob-node-modules-inherits tar://C:\dev\tmp\test\node_modules\karma\node_modules\glob\node_modules\inherits
2568 silly lockFile 8d5c69f0-dules-glob-node-modules-inherits tar://C:\dev\tmp\test\node_modules\karma\node_modules\glob\node_modules\inherits
2569 info install lru-cache@2.3.1
2570 verbose readDependencies using package.json deps
2571 silly lockFile ffd2dda9-cache-inherits-1-0-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\inherits\1.0.0\package.tgz
2572 silly lockFile ffd2dda9-cache-inherits-1-0-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\inherits\1.0.0\package.tgz
2573 verbose readDependencies using package.json deps
2574 silly resolved []
2575 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\optimist\node_modules\wordwrap
2576 info build C:\dev\tmp\test\node_modules\karma\node_modules\optimist\node_modules\wordwrap
2577 verbose linkStuff [ false,
2577 verbose linkStuff false,
2577 verbose linkStuff false,
2577 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\optimist\\node_modules' ]
2578 info linkStuff wordwrap@0.0.2
2579 verbose linkBins wordwrap@0.0.2
2580 verbose linkMans wordwrap@0.0.2
2581 verbose rebuildBundles wordwrap@0.0.2
2582 info postinstall lru-cache@2.3.1
2583 info install wordwrap@0.0.2
2584 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\minimatch
2585 info build C:\dev\tmp\test\node_modules\karma\node_modules\minimatch
2586 verbose linkStuff [ false,
2586 verbose linkStuff false,
2586 verbose linkStuff false,
2586 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
2587 info linkStuff minimatch@0.2.12
2588 verbose linkBins minimatch@0.2.12
2589 verbose linkMans minimatch@0.2.12
2590 verbose rebuildBundles minimatch@0.2.12
2591 info postinstall wordwrap@0.0.2
2592 verbose rebuildBundles [ 'lru-cache', 'sigmund' ]
2593 info install minimatch@0.2.12
2594 info preinstall inherits@1.0.0
2595 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\optimist
2596 info build C:\dev\tmp\test\node_modules\karma\node_modules\optimist
2597 verbose linkStuff [ false,
2597 verbose linkStuff false,
2597 verbose linkStuff false,
2597 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
2598 info linkStuff optimist@0.3.7
2599 verbose linkBins optimist@0.3.7
2600 verbose linkMans optimist@0.3.7
2601 verbose rebuildBundles optimist@0.3.7
2602 verbose rebuildBundles [ 'wordwrap' ]
2603 info install optimist@0.3.7
2604 info postinstall minimatch@0.2.12
2605 verbose readDependencies using package.json deps
2606 info postinstall optimist@0.3.7
2607 verbose readDependencies using package.json deps
2608 silly resolved []
2609 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\glob\node_modules\inherits
2610 info build C:\dev\tmp\test\node_modules\karma\node_modules\glob\node_modules\inherits
2611 verbose linkStuff [ false,
2611 verbose linkStuff false,
2611 verbose linkStuff false,
2611 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\glob\\node_modules' ]
2612 info linkStuff inherits@1.0.0
2613 verbose linkBins inherits@1.0.0
2614 verbose linkMans inherits@1.0.0
2615 verbose rebuildBundles inherits@1.0.0
2616 info install inherits@1.0.0
2617 info postinstall inherits@1.0.0
2618 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\glob
2619 info build C:\dev\tmp\test\node_modules\karma\node_modules\glob
2620 verbose linkStuff [ false,
2620 verbose linkStuff false,
2620 verbose linkStuff false,
2620 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
2621 info linkStuff glob@3.1.21
2622 verbose linkBins glob@3.1.21
2623 verbose linkMans glob@3.1.21
2624 verbose rebuildBundles glob@3.1.21
2625 verbose rebuildBundles [ 'inherits' ]
2626 info install glob@3.1.21
2627 info postinstall glob@3.1.21
2628 http 304 https://registry.npmjs.org/policyfile/0.0.4
2629 silly registry.get cb [ 304,
2629 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2629 silly registry.get etag: '"EQQXYDZ0BJGG3E5IVIRAEV9J"',
2629 silly registry.get date: 'Tue, 01 Oct 2013 14:42:41 GMT',
2629 silly registry.get 'content-length': '0',
2629 silly registry.get age: '0',
2629 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2630 verbose etag policyfile/0.0.4 from cache
2631 http 304 https://registry.npmjs.org/base64id/0.1.0
2632 silly registry.get cb [ 304,
2632 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2632 silly registry.get etag: '"CTLQBM2XI54YVEFGWA4X7AK4Y"',
2632 silly registry.get date: 'Tue, 01 Oct 2013 14:42:41 GMT',
2632 silly registry.get 'content-length': '0',
2632 silly registry.get age: '0',
2632 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2633 verbose etag base64id/0.1.0 from cache
2634 silly lockFile b2185bf4-base64id-0-1-0 base64id@0.1.0
2635 silly lockFile b2185bf4-base64id-0-1-0 base64id@0.1.0
2636 silly lockFile 8b99131a-policyfile-0-0-4 policyfile@0.0.4
2637 silly lockFile 8b99131a-policyfile-0-0-4 policyfile@0.0.4
2638 http 304 https://registry.npmjs.org/socket.io-client/0.9.16
2639 silly registry.get cb [ 304,
2639 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2639 silly registry.get etag: '"48K4DPDE5851FDNEJQ3WETQ07"',
2639 silly registry.get date: 'Tue, 01 Oct 2013 14:42:41 GMT',
2639 silly registry.get 'content-length': '0',
2639 silly registry.get age: '0',
2639 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2640 verbose etag socket.io-client/0.9.16 from cache
2641 http 304 https://registry.npmjs.org/redis/0.7.3
2642 silly registry.get cb [ 304,
2642 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2642 silly registry.get etag: '"AUBJS8L8AYHU417WP9R9ACTM2"',
2642 silly registry.get date: 'Tue, 01 Oct 2013 14:42:41 GMT',
2642 silly registry.get 'content-length': '0',
2642 silly registry.get age: '0',
2642 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2643 verbose etag redis/0.7.3 from cache
2644 silly lockFile c81dc0af-socket-io-client-0-9-16 socket.io-client@0.9.16
2645 silly lockFile c81dc0af-socket-io-client-0-9-16 socket.io-client@0.9.16
2646 silly lockFile 10399cfa-redis-0-7-3 redis@0.7.3
2647 silly lockFile 10399cfa-redis-0-7-3 redis@0.7.3
2648 silly resolved [ { name: 'base64id',
2648 silly resolved version: '0.1.0',
2648 silly resolved description: 'Generates a base64 id',
2648 silly resolved author:
2648 silly resolved { name: 'Kristian Faeldt',
2648 silly resolved email: 'faeldt_kristian@cyberagent.co.jp' },
2648 silly resolved repository: { type: 'git', url: 'https://github.com/faeldt/base64id.git' },
2648 silly resolved main: './lib/base64id.js',
2648 silly resolved engines: { node: '>= 0.4.0' },
2648 silly resolved readme: 'base64id\n========\n\nNode.js module that generates a base64 id.\n\nUses crypto.randomBytes when available, falls back to unsafe methods for node.js <= 0.4.\n\nTo increase performance, random bytes are buffered to minimize the number of synchronous calls to crypto.randomBytes.\n\n## Installation\n\n $ npm install mongoose\n\n## Usage\n\n var base64id = require(\'base64id\');\n\n var id = base64id.generateId();\n',
2648 silly resolved readmeFilename: 'README.md',
2648 silly resolved bugs: { url: 'https://github.com/faeldt/base64id/issues' },
2648 silly resolved _id: 'base64id@0.1.0',
2648 silly resolved _from: 'base64id@0.1.0' },
2648 silly resolved { name: 'policyfile',
2648 silly resolved version: '0.0.4',
2648 silly resolved author: { name: 'Arnout Kazemier' },
2648 silly resolved description: 'Flash Socket Policy File Server. A server to respond to Flash Socket Policy requests, both inline and through a dedicated server instance.',
2648 silly resolved main: 'index',
2648 silly resolved keywords:
2648 silly resolved [ 'flash',
2648 silly resolved 'socket',
2648 silly resolved 'policy',
2648 silly resolved 'file',
2648 silly resolved 'server',
2648 silly resolved 'Flash Socket Policy File Server',
2648 silly resolved 'cross domain' ],
2648 silly resolved directories: { lib: './lib' },
2648 silly resolved maintainers: [ [Object] ],
2648 silly resolved licenses: [ [Object] ],
2648 silly resolved repositories: [ [Object] ],
2648 silly resolved readme: '## LOL, WUT?\nIt basically allows you to allow or disallow Flash Player sockets from accessing your site.\n\n## Installation\n\n```bash\nnpm install policyfile\n```\n## Usage\n\nThe server is based on the regular and know `net` and `http` server patterns. So it you can just listen\nfor all the events that a `net` based server emits etc. But there is one extra event, the `connect_failed`\nevent. This event is triggered when we are unable to listen on the supplied port number.\n\n### createServer\nCreates a new server instance and accepts 2 optional arguments:\n\n- `options` **Object** Options to configure the server instance\n - `log` **Boolean** Enable logging to STDOUT and STDERR (defaults to true)\n- `origins` **Array** An Array of origins that are allowed by the server (defaults to *:*)\n\n```js\nvar pf = require(\'policyfile\');\npf.createServer();\npf.listen();\n```\n\n#### server.listen\nStart listening on the server and it takes 3 optional arguments\n\n- `port` **Number** On which port number should we listen? (defaults to 843, which is the first port number the FlashPlayer checks)\n- `server` **Server** A http server, if we are unable to accept requests or run the server we can also answer the policy requests inline over the supplied HTTP server.\n- `callback` **Function** A callback function that is called when listening to the server was successful.\n\n```js\nvar pf = require(\'policyfile\');\npf.createServer();\npf.listen(1337, function(){\n console.log(\':3 yay\')\n});\n```\n\nChanging port numbers can be handy if you do not want to run your server as root and have port 843 forward to a non root port number (aka a number above 1024).\n\n```js\nvar pf = require(\'policyfile\')\n , http = require(\'http\');\n\nserver = http.createServer(function(q,r){r.writeHead(200);r.end(\'hello world\')});\nserver.listen(80);\n\npf.createServer();\npf.listen(1337, server, function(){\n console.log(\':3 yay\')\n});\n```\n\nSupport for serving inline requests over a existing HTTP connection as the FlashPlayer will first check port 843, but if it\'s unable to get a response there it will send a policy file request over port 80, which is usually your http server.\n\n#### server.add\nAdds more origins to the policy file you can add as many arguments as you like.\n\n```js\nvar pf = require(\'policyfile\');\npf.createServer([\'google.com:80\']);\npf.listen();\npf.add(\'blog.3rd-Eden.com:80\', \'blog.3rd-Eden.com:8080\'); // now has 3 origins\n```\n\n#### server.add\nAdds more origins to the policy file you can add as many arguments as you like.\n\n```js\nvar pf = require(\'policyfile\');\npf.createServer([\'blog.3rd-Eden.com:80\', \'blog.3rd-Eden.com:8080\']);\npf.listen();\npf.remove(\'blog.3rd-Eden.com:8080\'); // only contains the :80 version now\n```\n\n#### server.close\nShuts down the server\n\n```js\nvar pf = require(\'policyfile\');\npf.createServer();\npf.listen();\npf.close(); // OH NVM.\n```\n\n## API\nhttp://3rd-eden.com/FlashPolicyFileServer/\n\n## Examples\nSee https://github.com/3rd-Eden/FlashPolicyFileServer/tree/master/examples for examples\n\n## Licence\n\nMIT see LICENSE file in the repository',
2648 silly resolved readmeFilename: 'README.md',
2648 silly resolved repository:
2648 silly resolved { type: 'git',
2648 silly resolved url: 'https://github.com/3rd-Eden/FlashPolicyFileServer.git' },
2648 silly resolved bugs: { url: 'https://github.com/3rd-Eden/FlashPolicyFileServer/issues' },
2648 silly resolved _id: 'policyfile@0.0.4',
2648 silly resolved _from: 'policyfile@0.0.4' },
2648 silly resolved { name: 'socket.io-client',
2648 silly resolved description: 'Socket.IO client for the browser and node.js',
2648 silly resolved version: '0.9.16',
2648 silly resolved main: './lib/io.js',
2648 silly resolved browserify: './dist/socket.io.js',
2648 silly resolved homepage: 'http://socket.io',
2648 silly resolved keywords: [ 'websocket', 'socket', 'realtime', 'socket.io', 'comet', 'ajax' ],
2648 silly resolved author: { name: 'Guillermo Rauch', email: 'guillermo@learnboost.com' },
2648 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
2648 silly resolved repository:
2648 silly resolved { type: 'git',
2648 silly resolved url: 'https://github.com/LearnBoost/socket.io-client.git' },
2648 silly resolved dependencies:
2648 silly resolved { 'uglify-js': '1.2.5',
2648 silly resolved ws: '0.4.x',
2648 silly resolved xmlhttprequest: '1.4.2',
2648 silly resolved 'active-x-obfuscator': '0.0.1' },
2648 silly resolved devDependencies:
2648 silly resolved { expresso: '*',
2648 silly resolved express: '2.5.x',
2648 silly resolved jade: '*',
2648 silly resolved stylus: '*',
2648 silly resolved 'socket.io': '0.9.16',
2648 silly resolved 'socket.io-client': '0.9.16',
2648 silly resolved should: '*' },
2648 silly resolved engines: { node: '>= 0.4.0' },
2648 silly resolved readme: 'socket.io\n=========\n\n#### Sockets for the rest of us\n\nThe `socket.io` client is basically a simple HTTP Socket interface implementation.\nIt looks similar to WebSocket while providing additional features and\nleveraging other transports when WebSocket is not supported by the user\'s\nbrowser.\n\n```js\nvar socket = io.connect(\'http://domain.com\');\nsocket.on(\'connect\', function () {\n // socket connected\n});\nsocket.on(\'custom event\', function () {\n // server emitted a custom event\n});\nsocket.on(\'disconnect\', function () {\n // socket disconnected\n});\nsocket.send(\'hi there\');\n```\n\n### Recipes\n\n#### Utilizing namespaces (ie: multiple sockets)\n\nIf you want to namespace all the messages and events emitted to a particular\nendpoint, simply specify it as part of the `connect` uri:\n\n```js\nvar chat = io.connect(\'http://localhost/chat\');\nchat.on(\'connect\', function () {\n // chat socket connected\n});\n\nvar news = io.connect(\'/news\'); // io.connect auto-detects host\nnews.on(\'connect\', function () {\n // news socket connected\n});\n```\n\n#### Emitting custom events\n\nTo ease with the creation of applications, you can emit custom events outside\nof the global `message` event.\n\n```js\nvar socket = io.connect();\nsocket.emit(\'server custom event\', { my: \'data\' });\n```\n\n#### Forcing disconnection\n\n```js\nvar socket = io.connect();\nsocket.on(\'connect\', function () {\n socket.disconnect();\n});\n```\n\n### Documentation \n\n#### io#connect\n\n```js\nio.connect(uri, [options]);\n```\n\n##### Options:\n\n- *resource*\n\n socket.io\n\n The resource is what allows the `socket.io` server to identify incoming connections by `socket.io` clients. In other words, any HTTP server can implement socket.io and still serve other normal, non-realtime HTTP requests.\n\n- *transports*\n\n```js\n[\'websocket\', \'flashsocket\', \'htmlfile\', \'xhr-multipart\', \'xhr-polling\', \'jsonp-polling\']\n```\n\n A list of the transports to attempt to utilize (in order of preference).\n\n- *\'connect timeout\'*\n\n```js\n5000\n```\n\n The amount of milliseconds a transport has to create a connection before we consider it timed out.\n \n- *\'try multiple transports\'*\n\n```js\ntrue\n```\n\n A boolean indicating if we should try other transports when the connectTimeout occurs.\n \n- *reconnect*\n\n```js\ntrue\n```\n\n A boolean indicating if we should automatically reconnect if a connection is disconnected. \n \n- *\'reconnection delay\'*\n\n```js\n500\n```\n\n The amount of milliseconds before we try to connect to the server again. We are using a exponential back off algorithm for the following reconnections, on each reconnect attempt this value will get multiplied (500 > 1000 > 2000 > 4000 > 8000).\n \n\n- *\'max reconnection attempts\'*\n\n```js\n10\n```\n\n The amount of attempts should we make using the current transport to connect to the server? After this we will do one final attempt, and re-try with all enabled transport methods before we give up.\n\n##### Properties:\n\n- *options*\n\n The passed in options combined with the defaults.\n\n- *connected*\n\n Whether the socket is connected or not.\n \n- *connecting*\n\n Whether the socket is connecting or not.\n\n- *reconnecting*\n\n Whether we are reconnecting or not.\n \n- *transport* \n\n The transport instance.\n\n##### Methods:\n \n- *connect(λ)*\n\n Establishes a connection. If λ is supplied as argument, it will be called once the connection is established.\n \n- *send(message)*\n \n A string of data to send.\n \n- *disconnect*\n\n Closes the connection.\n \n- *on(event, λ)*\n\n Adds a listener for the event *event*.\n\n- *once(event, λ)*\n\n Adds a one time listener for the event *event*. The listener is removed after the first time the event is fired.\n \n- *removeListener(event, λ)*\n\n Removes the listener λ for the event *event*.\n \n##### Events:\n\n- *connect*\n\n Fired when the connection is established and the handshake successful.\n \n- *connecting(transport_type)*\n\n Fired when a connection is attempted, passing the transport name.\n \n- *connect_failed*\n\n Fired when the connection timeout occurs after the last connection attempt.\n This only fires if the `connectTimeout` option is set.\n If the `tryTransportsOnConnectTimeout` option is set, this only fires once all\n possible transports have been tried.\n \n- *message(message)*\n \n Fired when a message arrives from the server\n\n- *close*\n\n Fired when the connection is closed. Be careful with using this event, as some transports will fire it even under temporary, expected disconnections (such as XHR-Polling).\n \n- *disconnect*\n\n Fired when the connection is considered disconnected.\n \n- *reconnect(transport_type,reconnectionAttempts)*\n\n Fired when the connection has been re-established. This only fires if the `reconnect` option is set.\n\n- *reconnecting(reconnectionDelay,reconnectionAttempts)*\n\n Fired when a reconnection is attempted, passing the next delay for the next reconnection.\n\n- *reconnect_failed*\n\n Fired when all reconnection attempts have failed and we where unsuccessful in reconnecting to the server. \n\n### Contributors\n\nGuillermo Rauch &lt;guillermo@learnboost.com&gt;\n\nArnout Kazemier &lt;info@3rd-eden.com&gt;\n\n### License \n\n(The MIT License)\n\nCopyright (c) 2010 LearnBoost &lt;dev@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.\n',
2648 silly resolved readmeFilename: 'README.md',
2648 silly resolved bugs: { url: 'https://github.com/LearnBoost/socket.io-client/issues' },
2648 silly resolved _id: 'socket.io-client@0.9.16',
2648 silly resolved _from: 'socket.io-client@0.9.16' },
2648 silly resolved { name: 'redis',
2648 silly resolved version: '0.7.3',
2648 silly resolved description: 'Redis client library',
2648 silly resolved author: { name: 'Matt Ranney', email: 'mjr@ranney.com' },
2648 silly resolved maintainers: [ [Object] ],
2648 silly resolved main: './index.js',
2648 silly resolved scripts: { test: 'node ./test.js' },
2648 silly resolved devDependencies: { metrics: '>=0.1.5' },
2648 silly resolved repository: { type: 'git', url: 'git://github.com/mranney/node_redis.git' },
2648 silly resolved readme: 'redis - a node.js redis client\n===========================\n\nThis is a complete Redis client for node.js. It supports all Redis commands, including many recently added commands like EVAL from\nexperimental Redis server branches.\n\n\nInstall with:\n\n npm install redis\n\nPieter Noordhuis has provided a binding to the official `hiredis` C library, which is non-blocking and fast. To use `hiredis`, do:\n\n npm install hiredis redis\n\nIf `hiredis` is installed, `node_redis` will use it by default. Otherwise, a pure JavaScript parser will be used.\n\nIf you use `hiredis`, be sure to rebuild it whenever you upgrade your version of node. There are mysterious failures that can\nhappen between node and native code modules after a node upgrade.\n\n\n## Usage\n\nSimple example, included as `examples/simple.js`:\n\n```js\n var redis = require("redis"),\n client = redis.createClient();\n\n // if you\'d like to select database 3, instead of 0 (default), call\n // client.select(3, function() { /* ... */ });\n\n client.on("error", function (err) {\n console.log("Error " + err);\n });\n\n client.set("string key", "string val", redis.print);\n client.hset("hash key", "hashtest 1", "some value", redis.print);\n client.hset(["hash key", "hashtest 2", "some other value"], redis.print);\n client.hkeys("hash key", function (err, replies) {\n console.log(replies.length + " replies:");\n replies.forEach(function (reply, i) {\n console.log(" " + i + ": " + reply);\n });\n client.quit();\n });\n```\n\nThis will display:\n\n mjr:~/work/node_redis (master)$ node example.js\n Reply: OK\n Reply: 0\n Reply: 0\n 2 replies:\n 0: hashtest 1\n 1: hashtest 2\n mjr:~/work/node_redis (master)$\n\n\n## Performance\n\nHere are typical results of `multi_bench.js` which is similar to `redis-benchmark` from the Redis distribution.\nIt uses 50 concurrent connections with no pipelining.\n\nJavaScript parser:\n\n PING: 20000 ops 42283.30 ops/sec 0/5/1.182\n SET: 20000 ops 32948.93 ops/sec 1/7/1.515\n GET: 20000 ops 28694.40 ops/sec 0/9/1.740\n INCR: 20000 ops 39370.08 ops/sec 0/8/1.269\n LPUSH: 20000 ops 36429.87 ops/sec 0/8/1.370\n LRANGE (10 elements): 20000 ops 9891.20 ops/sec 1/9/5.048\n LRANGE (100 elements): 20000 ops 1384.56 ops/sec 10/91/36.072\n\nhiredis parser:\n\n PING: 20000 ops 46189.38 ops/sec 1/4/1.082\n SET: 20000 ops 41237.11 ops/sec 0/6/1.210\n GET: 20000 ops 39682.54 ops/sec 1/7/1.257\n INCR: 20000 ops 40080.16 ops/sec 0/8/1.242\n LPUSH: 20000 ops 41152.26 ops/sec 0/3/1.212\n LRANGE (10 elements): 20000 ops 36563.07 ops/sec 1/8/1.363\n LRANGE (100 elements): 20000 ops 21834.06 ops/sec 0/9/2.287\n\nThe performance of `node_redis` improves dramatically with pipelining, which happens automatically in most normal programs.\n\n\n### Sending Commands\n\nEach Redis command is exposed as a function on the `client` object.\nAll functions take either an `args` Array plus optional `callback` Function or\na variable number of individual arguments followed by an optional callback.\nHere is an example of passing an array of arguments and a callback:\n\n client.mset(["test keys 1", "test val 1", "test keys 2", "test val 2"], function (err, res) {});\n\nHere is that same call in the second style:\n\n client.mset("test keys 1", "test val 1", "test keys 2", "test val 2", function (err, res) {});\n\nNote that in either form the `callback` is optional:\n\n client.set("some key", "some val");\n client.set(["some other key", "some val"]);\n\nIf the key is missing, reply will be null (probably):\n\n client.get("missingkey", function(err, reply) {\n // reply is null when the key is missing\n console.log(reply);\n });\n\nFor a list of Redis commands, see [Redis Command Reference](http://redis.io/commands)\n\nThe commands can be specified in uppercase or lowercase for convenience. `client.get()` is the same as `client.GET()`.\n\nMinimal parsing is done on the replies. Commands that return a single line reply return JavaScript Strings,\ninteger replies return JavaScript Numbers, "bulk" replies return node Buffers, and "multi bulk" replies return a\nJavaScript Array of node Buffers. `HGETALL` returns an Object with Buffers keyed by the hash keys.\n\n# API\n\n## Connection Events\n\n`client` will emit some events about the state of the connection to the Redis server.\n\n### "ready"\n\n`client` will emit `ready` a connection is established to the Redis server and the server reports\nthat it is ready to receive commands. Commands issued before the `ready` event are queued,\nthen replayed just before this event is emitted.\n\n### "connect"\n\n`client` will emit `connect` at the same time as it emits `ready` unless `client.options.no_ready_check`\nis set. If this options is set, `connect` will be emitted when the stream is connected, and then\nyou are free to try to send commands.\n\n### "error"\n\n`client` will emit `error` when encountering an error connecting to the Redis server.\n\nNote that "error" is a special event type in node. If there are no listeners for an\n"error" event, node will exit. This is usually what you want, but it can lead to some\ncryptic error messages like this:\n\n mjr:~/work/node_redis (master)$ node example.js\n\n node.js:50\n throw e;\n ^\n Error: ECONNREFUSED, Connection refused\n at IOWatcher.callback (net:870:22)\n at node.js:607:9\n\nNot very useful in diagnosing the problem, but if your program isn\'t ready to handle this,\nit is probably the right thing to just exit.\n\n`client` will also emit `error` if an exception is thrown inside of `node_redis` for whatever reason.\nIt would be nice to distinguish these two cases.\n\n### "end"\n\n`client` will emit `end` when an established Redis server connection has closed.\n\n### "drain"\n\n`client` will emit `drain` when the TCP connection to the Redis server has been buffering, but is now\nwritable. This event can be used to stream commands in to Redis and adapt to backpressure. Right now,\nyou need to check `client.command_queue.length` to decide when to reduce your send rate. Then you can\nresume sending when you get `drain`.\n\n### "idle"\n\n`client` will emit `idle` when there are no outstanding commands that are awaiting a response.\n\n## redis.createClient(port, host, options)\n\nCreate a new client connection. `port` defaults to `6379` and `host` defaults\nto `127.0.0.1`. If you have `redis-server` running on the same computer as node, then the defaults for\nport and host are probably fine. `options` in an object with the following possible properties:\n\n* `parser`: which Redis protocol reply parser to use. Defaults to `hiredis` if that module is installed.\nThis may also be set to `javascript`.\n* `return_buffers`: defaults to `false`. If set to `true`, then all replies will be sent to callbacks as node Buffer\nobjects instead of JavaScript Strings.\n* `detect_buffers`: default to `false`. If set to `true`, then replies will be sent to callbacks as node Buffer objects\nif any of the input arguments to the original command were Buffer objects.\nThis option lets you switch between Buffers and Strings on a per-command basis, whereas `return_buffers` applies to\nevery command on a client.\n* `socket_nodelay`: defaults to `true`. Whether to call setNoDelay() on the TCP stream, which disables the\nNagle algorithm on the underlying socket. Setting this option to `false` can result in additional throughput at the\ncost of more latency. Most applications will want this set to `true`.\n* `no_ready_check`: defaults to `false`. When a connection is established to the Redis server, the server might still\nbe loading the database from disk. While loading, the server not respond to any commands. To work around this,\n`node_redis` has a "ready check" which sends the `INFO` command to the server. The response from the `INFO` command\nindicates whether the server is ready for more commands. When ready, `node_redis` emits a `ready` event.\nSetting `no_ready_check` to `true` will inhibit this check.\n* `enable_offline_queue`: defaults to `true`. By default, if there is no active\nconnection to the redis server, commands are added to a queue and are executed\nonce the connection has been established. Setting `enable_offline_queue` to\n`false` will disable this feature and the callback will be execute immediately\nwith an error, or an error will be thrown if no callback is specified.\n\n```js\n var redis = require("redis"),\n client = redis.createClient(null, null, {detect_buffers: true});\n\n client.set("foo_rand000000000000", "OK");\n\n // This will return a JavaScript String\n client.get("foo_rand000000000000", function (err, reply) {\n console.log(reply.toString()); // Will print `OK`\n });\n\n // This will return a Buffer since original key is specified as a Buffer\n client.get(new Buffer("foo_rand000000000000"), function (err, reply) {\n console.log(reply.toString()); // Will print `<Buffer 4f 4b>`\n });\n client.end();\n```\n\n`createClient()` returns a `RedisClient` object that is named `client` in all of the examples here.\n\n## client.auth(password, callback)\n\nWhen connecting to Redis servers that require authentication, the `AUTH` command must be sent as the\nfirst command after connecting. This can be tricky to coordinate with reconnections, the ready check,\netc. To make this easier, `client.auth()` stashes `password` and will send it after each connection,\nincluding reconnections. `callback` is invoked only once, after the response to the very first\n`AUTH` command sent.\nNOTE: Your call to `client.auth()` should not be inside the ready handler. If\nyou are doing this wrong, `client` will emit an error that looks\nsomething like this `Error: Ready check failed: ERR operation not permitted`.\n\n## client.end()\n\nForcibly close the connection to the Redis server. Note that this does not wait until all replies have been parsed.\nIf you want to exit cleanly, call `client.quit()` to send the `QUIT` command after you have handled all replies.\n\nThis example closes the connection to the Redis server before the replies have been read. You probably don\'t\nwant to do this:\n\n```js\n var redis = require("redis"),\n client = redis.createClient();\n\n client.set("foo_rand000000000000", "some fantastic value");\n client.get("foo_rand000000000000", function (err, reply) {\n console.log(reply.toString());\n });\n client.end();\n```\n\n`client.end()` is useful for timeout cases where something is stuck or taking too long and you want\nto start over.\n\n## Friendlier hash commands\n\nMost Redis commands take a single String or an Array of Strings as arguments, and replies are sent back as a single String or an Array of Strings.\nWhen dealing with hash values, there are a couple of useful exceptions to this.\n\n### client.hgetall(hash)\n\nThe reply from an HGETALL command will be converted into a JavaScript Object by `node_redis`. That way you can interact\nwith the responses using JavaScript syntax.\n\nExample:\n\n client.hmset("hosts", "mjr", "1", "another", "23", "home", "1234");\n client.hgetall("hosts", function (err, obj) {\n console.dir(obj);\n });\n\nOutput:\n\n { mjr: \'1\', another: \'23\', home: \'1234\' }\n\n### client.hmset(hash, obj, [callback])\n\nMultiple values in a hash can be set by supplying an object:\n\n client.HMSET(key2, {\n "0123456789": "abcdefghij", // NOTE: the key and value must both be strings\n "some manner of key": "a type of value"\n });\n\nThe properties and values of this Object will be set as keys and values in the Redis hash.\n\n### client.hmset(hash, key1, val1, ... keyn, valn, [callback])\n\nMultiple values may also be set by supplying a list:\n\n client.HMSET(key1, "0123456789", "abcdefghij", "some manner of key", "a type of value");\n\n\n## Publish / Subscribe\n\nHere is a simple example of the API for publish / subscribe. This program opens two\nclient connections, subscribes to a channel on one of them, and publishes to that\nchannel on the other:\n\n```js\n var redis = require("redis"),\n client1 = redis.createClient(), client2 = redis.createClient(),\n msg_count = 0;\n\n client1.on("subscribe", function (channel, count) {\n client2.publish("a nice channel", "I am sending a message.");\n client2.publish("a nice channel", "I am sending a second message.");\n client2.publish("a nice channel", "I am sending my last message.");\n });\n\n client1.on("message", function (channel, message) {\n console.log("client1 channel " + channel + ": " + message);\n msg_count += 1;\n if (msg_count === 3) {\n client1.unsubscribe();\n client1.end();\n client2.end();\n }\n });\n\n client1.incr("did a thing");\n client1.subscribe("a nice channel");\n```\n\nWhen a client issues a `SUBSCRIBE` or `PSUBSCRIBE`, that connection is put into "pub/sub" mode.\nAt that point, only commands that modify the subscription set are valid. When the subscription\nset is empty, the connection is put back into regular mode.\n\nIf you need to send regular commands to Redis while in pub/sub mode, just open another connection.\n\n## Pub / Sub Events\n\nIf a client has subscriptions active, it may emit these events:\n\n### "message" (channel, message)\n\nClient will emit `message` for every message received that matches an active subscription.\nListeners are passed the channel name as `channel` and the message Buffer as `message`.\n\n### "pmessage" (pattern, channel, message)\n\nClient will emit `pmessage` for every message received that matches an active subscription pattern.\nListeners are passed the original pattern used with `PSUBSCRIBE` as `pattern`, the sending channel\nname as `channel`, and the message Buffer as `message`.\n\n### "subscribe" (channel, count)\n\nClient will emit `subscribe` in response to a `SUBSCRIBE` command. Listeners are passed the\nchannel name as `channel` and the new count of subscriptions for this client as `count`.\n\n### "psubscribe" (pattern, count)\n\nClient will emit `psubscribe` in response to a `PSUBSCRIBE` command. Listeners are passed the\noriginal pattern as `pattern`, and the new count of subscriptions for this client as `count`.\n\n### "unsubscribe" (channel, count)\n\nClient will emit `unsubscribe` in response to a `UNSUBSCRIBE` command. Listeners are passed the\nchannel name as `channel` and the new count of subscriptions for this client as `count`. When\n`count` is 0, this client has left pub/sub mode and no more pub/sub events will be emitted.\n\n### "punsubscribe" (pattern, count)\n\nClient will emit `punsubscribe` in response to a `PUNSUBSCRIBE` command. Listeners are passed the\nchannel name as `channel` and the new count of subscriptions for this client as `count`. When\n`count` is 0, this client has left pub/sub mode and no more pub/sub events will be emitted.\n\n## client.multi([commands])\n\n`MULTI` commands are queued up until an `EXEC` is issued, and then all commands are run atomically by\nRedis. The interface in `node_redis` is to return an individual `Multi` object by calling `client.multi()`.\n\n```js\n var redis = require("./index"),\n client = redis.createClient(), set_size = 20;\n\n client.sadd("bigset", "a member");\n client.sadd("bigset", "another member");\n\n while (set_size > 0) {\n client.sadd("bigset", "member " + set_size);\n set_size -= 1;\n }\n\n // multi chain with an individual callback\n client.multi()\n .scard("bigset")\n .smembers("bigset")\n .keys("*", function (err, replies) {\n // NOTE: code in this callback is NOT atomic\n // this only happens after the the .exec call finishes.\n client.mget(replies, redis.print);\n })\n .dbsize()\n .exec(function (err, replies) {\n console.log("MULTI got " + replies.length + " replies");\n replies.forEach(function (reply, index) {\n console.log("Reply " + index + ": " + reply.toString());\n });\n });\n```\n\n`client.multi()` is a constructor that returns a `Multi` object. `Multi` objects share all of the\nsame command methods as `client` objects do. Commands are queued up inside the `Multi` object\nuntil `Multi.exec()` is invoked.\n\nYou can either chain together `MULTI` commands as in the above example, or you can queue individual\ncommands while still sending regular client command as in this example:\n\n```js\n var redis = require("redis"),\n client = redis.createClient(), multi;\n\n // start a separate multi command queue\n multi = client.multi();\n multi.incr("incr thing", redis.print);\n multi.incr("incr other thing", redis.print);\n\n // runs immediately\n client.mset("incr thing", 100, "incr other thing", 1, redis.print);\n\n // drains multi queue and runs atomically\n multi.exec(function (err, replies) {\n console.log(replies); // 101, 2\n });\n\n // you can re-run the same transaction if you like\n multi.exec(function (err, replies) {\n console.log(replies); // 102, 3\n client.quit();\n });\n```\n\nIn addition to adding commands to the `MULTI` queue individually, you can also pass an array\nof commands and arguments to the constructor:\n\n```js\n var redis = require("redis"),\n client = redis.createClient(), multi;\n\n client.multi([\n ["mget", "multifoo", "multibar", redis.print],\n ["incr", "multifoo"],\n ["incr", "multibar"]\n ]).exec(function (err, replies) {\n console.log(replies);\n });\n```\n\n\n## Monitor mode\n\nRedis supports the `MONITOR` command, which lets you see all commands received by the Redis server\nacross all client connections, including from other client libraries and other computers.\n\nAfter you send the `MONITOR` command, no other commands are valid on that connection. `node_redis`\nwill emit a `monitor` event for every new monitor message that comes across. The callback for the\n`monitor` event takes a timestamp from the Redis server and an array of command arguments.\n\nHere is a simple example:\n\n```js\n var client = require("redis").createClient(),\n util = require("util");\n\n client.monitor(function (err, res) {\n console.log("Entering monitoring mode.");\n });\n\n client.on("monitor", function (time, args) {\n console.log(time + ": " + util.inspect(args));\n });\n```\n\n# Extras\n\nSome other things you might like to know about.\n\n## client.server_info\n\nAfter the ready probe completes, the results from the INFO command are saved in the `client.server_info`\nobject.\n\nThe `versions` key contains an array of the elements of the version string for easy comparison.\n\n > client.server_info.redis_version\n \'2.3.0\'\n > client.server_info.versions\n [ 2, 3, 0 ]\n\n## redis.print()\n\nA handy callback function for displaying return values when testing. Example:\n\n```js\n var redis = require("redis"),\n client = redis.createClient();\n\n client.on("connect", function () {\n client.set("foo_rand000000000000", "some fantastic value", redis.print);\n client.get("foo_rand000000000000", redis.print);\n });\n```\n\nThis will print:\n\n Reply: OK\n Reply: some fantastic value\n\nNote that this program will not exit cleanly because the client is still connected.\n\n## redis.debug_mode\n\nBoolean to enable debug mode and protocol tracing.\n\n```js\n var redis = require("redis"),\n client = redis.createClient();\n\n redis.debug_mode = true;\n\n client.on("connect", function () {\n client.set("foo_rand000000000000", "some fantastic value");\n });\n```\n\nThis will display:\n\n mjr:~/work/node_redis (master)$ node ~/example.js\n send command: *3\n $3\n SET\n $20\n foo_rand000000000000\n $20\n some fantastic value\n\n on_data: +OK\n\n`send command` is data sent into Redis and `on_data` is data received from Redis.\n\n## client.send_command(command_name, args, callback)\n\nUsed internally to send commands to Redis. For convenience, nearly all commands that are published on the Redis\nWiki have been added to the `client` object. However, if I missed any, or if new commands are introduced before\nthis library is updated, you can use `send_command()` to send arbitrary commands to Redis.\n\nAll commands are sent as multi-bulk commands. `args` can either be an Array of arguments, or omitted.\n\n## client.connected\n\nBoolean tracking the state of the connection to the Redis server.\n\n## client.command_queue.length\n\nThe number of commands that have been sent to the Redis server but not yet replied to. You can use this to\nenforce some kind of maximum queue depth for commands while connected.\n\nDon\'t mess with `client.command_queue` though unless you really know what you are doing.\n\n## client.offline_queue.length\n\nThe number of commands that have been queued up for a future connection. You can use this to enforce\nsome kind of maximum queue depth for pre-connection commands.\n\n## client.retry_delay\n\nCurrent delay in milliseconds before a connection retry will be attempted. This starts at `250`.\n\n## client.retry_backoff\n\nMultiplier for future retry timeouts. This should be larger than 1 to add more time between retries.\nDefaults to 1.7. The default initial connection retry is 250, so the second retry will be 425, followed by 723.5, etc.\n\n### Commands with Optional and Keyword arguments\n\nThis applies to anything that uses an optional `[WITHSCORES]` or `[LIMIT offset count]` in the [redis.io/commands](http://redis.io/commands) documentation.\n\nExample:\n```js\nvar args = [ \'myzset\', 1, \'one\', 2, \'two\', 3, \'three\', 99, \'ninety-nine\' ];\nclient.zadd(args, function (err, response) {\n if (err) throw err;\n console.log(\'added \'+response+\' items.\');\n\n // -Infinity and +Infinity also work\n var args1 = [ \'myzset\', \'+inf\', \'-inf\' ];\n client.zrevrangebyscore(args1, function (err, response) {\n if (err) throw err;\n console.log(\'example1\', response);\n // write your code here\n });\n\n var max = 3, min = 1, offset = 1, count = 2;\n var args2 = [ \'myzset\', max, min, \'WITHSCORES\', \'LIMIT\', offset, count ];\n client.zrevrangebyscore(args2, function (err, response) {\n if (err) throw err;\n console.log(\'example2\', response);\n // write your code here\n });\n});\n```\n\n## TODO\n\nBetter tests for auth, disconnect/reconnect, and all combinations thereof.\n\nStream large set/get values into and out of Redis. Otherwise the entire value must be in node\'s memory.\n\nPerformance can be better for very large values.\n\nI think there are more performance improvements left in there for smaller values, especially for large lists of small values.\n\n## How to Contribute\n- open a pull request and then wait for feedback (if\n [DTrejo](http://github.com/dtrejo) does not get back to you within 2 days,\n comment again with indignation!)\n\n## Contributors\nSome people have have added features and fixed bugs in `node_redis` other than me.\n\nOrdered by date of first contribution.\n[Auto-generated](http://github.com/dtrejo/node-authors) on Wed Jul 25 2012 19:14:59 GMT-0700 (PDT).\n\n- [Matt Ranney aka `mranney`](https://github.com/mranney)\n- [Tim-Smart aka `tim-smart`](https://github.com/tim-smart)\n- [Tj Holowaychuk aka `visionmedia`](https://github.com/visionmedia)\n- [rick aka `technoweenie`](https://github.com/technoweenie)\n- [Orion Henry aka `orionz`](https://github.com/orionz)\n- [Aivo Paas aka `aivopaas`](https://github.com/aivopaas)\n- [Hank Sims aka `hanksims`](https://github.com/hanksims)\n- [Paul Carey aka `paulcarey`](https://github.com/paulcarey)\n- [Pieter Noordhuis aka `pietern`](https://github.com/pietern)\n- [nithesh aka `nithesh`](https://github.com/nithesh)\n- [Andy Ray aka `andy2ray`](https://github.com/andy2ray)\n- [unknown aka `unknowdna`](https://github.com/unknowdna)\n- [Dave Hoover aka `redsquirrel`](https://github.com/redsquirrel)\n- [Vladimir Dronnikov aka `dvv`](https://github.com/dvv)\n- [Umair Siddique aka `umairsiddique`](https://github.com/umairsiddique)\n- [Louis-Philippe Perron aka `lp`](https://github.com/lp)\n- [Mark Dawson aka `markdaws`](https://github.com/markdaws)\n- [Ian Babrou aka `bobrik`](https://github.com/bobrik)\n- [Felix Geisendörfer aka `felixge`](https://github.com/felixge)\n- [Jean-Hugues Pinson aka `undefined`](https://github.com/undefined)\n- [Maksim Lin aka `maks`](https://github.com/maks)\n- [Owen Smith aka `orls`](https://github.com/orls)\n- [Zachary Scott aka `zzak`](https://github.com/zzak)\n- [TEHEK Firefox aka `TEHEK`](https://github.com/TEHEK)\n- [Isaac Z. Schlueter aka `isaacs`](https://github.com/isaacs)\n- [David Trejo aka `DTrejo`](https://github.com/DTrejo)\n- [Brian Noguchi aka `bnoguchi`](https://github.com/bnoguchi)\n- [Philip Tellis aka `bluesmoon`](https://github.com/bluesmoon)\n- [Marcus Westin aka `marcuswestin2`](https://github.com/marcuswestin2)\n- [Jed Schmidt aka `jed`](https://github.com/jed)\n- [Dave Peticolas aka `jdavisp3`](https://github.com/jdavisp3)\n- [Trae Robrock aka `trobrock`](https://github.com/trobrock)\n- [Shankar Karuppiah aka `shankar0306`](https://github.com/shankar0306)\n- [Ignacio Burgueño aka `ignacio`](https://github.com/ignacio)\n\nThanks.\n\n## LICENSE - "MIT License"\n\nCopyright (c) 2010 Matthew Ranney, http://ranney.com/\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the "Software"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\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\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n\n![spacer](http://ranney.com/1px.gif)\n',
2648 silly resolved readmeFilename: 'README.md',
2648 silly resolved bugs: { url: 'https://github.com/mranney/node_redis/issues' },
2648 silly resolved _id: 'redis@0.7.3',
2648 silly resolved _from: 'redis@0.7.3' } ]
2649 info install base64id@0.1.0 into C:\dev\tmp\test\node_modules\karma\node_modules\socket.io
2650 info install policyfile@0.0.4 into C:\dev\tmp\test\node_modules\karma\node_modules\socket.io
2651 info install socket.io-client@0.9.16 into C:\dev\tmp\test\node_modules\karma\node_modules\socket.io
2652 info install redis@0.7.3 into C:\dev\tmp\test\node_modules\karma\node_modules\socket.io
2653 info installOne base64id@0.1.0
2654 info installOne policyfile@0.0.4
2655 info installOne socket.io-client@0.9.16
2656 info installOne redis@0.7.3
2657 info C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\base64id unbuild
2658 info C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\policyfile unbuild
2659 info C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client unbuild
2660 info C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\redis unbuild
2661 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\base64id\0.1.0\package.tgz
2662 silly lockFile 01616af6--socket-io-node-modules-base64id tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\base64id
2663 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\base64id C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\01616af6--socket-io-node-modules-base64id.lock
2664 silly lockFile 420073f6-cache-base64id-0-1-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\base64id\0.1.0\package.tgz
2665 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\base64id\0.1.0\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\420073f6-cache-base64id-0-1-0-package-tgz.lock
2666 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\policyfile\0.0.4\package.tgz
2667 silly lockFile a6a19bb2-ocket-io-node-modules-policyfile tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\policyfile
2668 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\policyfile C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\a6a19bb2-ocket-io-node-modules-policyfile.lock
2669 silly lockFile 91616d47-che-policyfile-0-0-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\policyfile\0.0.4\package.tgz
2670 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\policyfile\0.0.4\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\91616d47-che-policyfile-0-0-4-package-tgz.lock
2671 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\socket.io-client\0.9.16\package.tgz
2672 silly lockFile 30f5f6e2-io-node-modules-socket-io-client tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client
2673 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\30f5f6e2-io-node-modules-socket-io-client.lock
2674 silly lockFile 91715b08-ket-io-client-0-9-16-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\socket.io-client\0.9.16\package.tgz
2675 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\socket.io-client\0.9.16\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\91715b08-ket-io-client-0-9-16-package-tgz.lock
2676 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\redis\0.7.3\package.tgz
2677 silly lockFile fc1f7111-les-socket-io-node-modules-redis tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\redis
2678 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\redis C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\fc1f7111-les-socket-io-node-modules-redis.lock
2679 silly lockFile cab79261-pm-cache-redis-0-7-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\redis\0.7.3\package.tgz
2680 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\redis\0.7.3\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cab79261-pm-cache-redis-0-7-3-package-tgz.lock
2681 silly gunzTarPerm modes [ '755', '644' ]
2682 silly gunzTarPerm modes [ '755', '644' ]
2683 silly gunzTarPerm modes [ '755', '644' ]
2684 silly gunzTarPerm modes [ '755', '644' ]
2685 silly gunzTarPerm extractEntry package.json
2686 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
2687 silly gunzTarPerm extractEntry package.json
2688 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
2689 silly gunzTarPerm extractEntry package.json
2690 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
2691 silly gunzTarPerm extractEntry package.json
2692 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
2693 silly gunzTarPerm extractEntry .npmignore
2694 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
2695 silly gunzTarPerm extractEntry README.md
2696 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
2697 silly gunzTarPerm extractEntry .npmignore
2698 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
2699 silly gunzTarPerm extractEntry README.md
2700 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
2701 silly gunzTarPerm extractEntry .npmignore
2702 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
2703 silly gunzTarPerm extractEntry README.md
2704 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
2705 silly gunzTarPerm extractEntry .npmignore
2706 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
2707 silly gunzTarPerm extractEntry README.md
2708 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
2709 silly gunzTarPerm extractEntry lib/base64id.js
2710 silly gunzTarPerm modified mode [ 'lib/base64id.js', 438, 420 ]
2711 silly gunzTarPerm extractEntry bin/builder.js
2712 silly gunzTarPerm modified mode [ 'bin/builder.js', 438, 420 ]
2713 silly gunzTarPerm extractEntry components/component-bind/index.js
2714 silly gunzTarPerm modified mode [ 'components/component-bind/index.js', 438, 420 ]
2715 silly gunzTarPerm extractEntry LICENSE
2716 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
2717 silly gunzTarPerm extractEntry index.js
2718 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
2719 silly gunzTarPerm extractEntry diff_multi_bench_output.js
2720 silly gunzTarPerm modified mode [ 'diff_multi_bench_output.js', 438, 420 ]
2721 silly gunzTarPerm extractEntry components/component-bind/component.json
2722 silly gunzTarPerm modified mode [ 'components/component-bind/component.json', 438, 420 ]
2723 silly gunzTarPerm extractEntry components/component-emitter/index.js
2724 silly gunzTarPerm modified mode [ 'components/component-emitter/index.js', 438, 420 ]
2725 silly gunzTarPerm extractEntry doc/index.html
2726 silly gunzTarPerm modified mode [ 'doc/index.html', 438, 420 ]
2727 silly gunzTarPerm extractEntry examples/basic.fallback.js
2728 silly gunzTarPerm modified mode [ 'examples/basic.fallback.js', 438, 420 ]
2729 silly gunzTarPerm extractEntry examples/basic.js
2730 silly gunzTarPerm modified mode [ 'examples/basic.js', 438, 420 ]
2731 silly gunzTarPerm extractEntry lib/server.js
2732 silly gunzTarPerm modified mode [ 'lib/server.js', 438, 420 ]
2733 silly gunzTarPerm extractEntry Makefile
2734 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
2735 silly gunzTarPerm extractEntry tests/unit.test.js
2736 silly gunzTarPerm modified mode [ 'tests/unit.test.js', 438, 420 ]
2737 silly gunzTarPerm extractEntry tests/ssl/ssl.crt
2738 silly gunzTarPerm modified mode [ 'tests/ssl/ssl.crt', 438, 420 ]
2739 silly gunzTarPerm extractEntry tests/ssl/ssl.private.key
2740 silly gunzTarPerm modified mode [ 'tests/ssl/ssl.private.key', 438, 420 ]
2741 silly gunzTarPerm extractEntry generate_commands.js
2742 silly gunzTarPerm modified mode [ 'generate_commands.js', 438, 420 ]
2743 silly gunzTarPerm extractEntry multi_bench.js
2744 silly gunzTarPerm modified mode [ 'multi_bench.js', 438, 420 ]
2745 silly gunzTarPerm extractEntry components/component-emitter/component.json
2746 silly gunzTarPerm modified mode [ 'components/component-emitter/component.json', 438, 420 ]
2747 silly gunzTarPerm extractEntry components/component-json/index.js
2748 silly gunzTarPerm modified mode [ 'components/component-json/index.js', 438, 420 ]
2749 silly gunzTarPerm extractEntry mem.js
2750 silly gunzTarPerm modified mode [ 'mem.js', 438, 420 ]
2751 silly gunzTarPerm extractEntry test.js
2752 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
2753 silly lockFile 01616af6--socket-io-node-modules-base64id tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\base64id
2754 silly lockFile 01616af6--socket-io-node-modules-base64id tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\base64id
2755 silly lockFile 420073f6-cache-base64id-0-1-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\base64id\0.1.0\package.tgz
2756 silly lockFile 420073f6-cache-base64id-0-1-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\base64id\0.1.0\package.tgz
2757 silly gunzTarPerm extractEntry components/component-json/component.json
2758 silly gunzTarPerm modified mode [ 'components/component-json/component.json', 438, 420 ]
2759 silly gunzTarPerm extractEntry components/component-json-fallback/index.js
2760 silly gunzTarPerm modified mode [ 'components/component-json-fallback/index.js', 438, 420 ]
2761 info preinstall base64id@0.1.0
2762 verbose readDependencies using package.json deps
2763 verbose readDependencies using package.json deps
2764 silly resolved []
2765 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\base64id
2766 info build C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\base64id
2767 verbose linkStuff [ false,
2767 verbose linkStuff false,
2767 verbose linkStuff false,
2767 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\socket.io\\node_modules' ]
2768 info linkStuff base64id@0.1.0
2769 verbose linkBins base64id@0.1.0
2770 verbose linkMans base64id@0.1.0
2771 verbose rebuildBundles base64id@0.1.0
2772 info install base64id@0.1.0
2773 silly gunzTarPerm extractEntry index.js
2774 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
2775 silly gunzTarPerm extractEntry lib/commands.js
2776 silly gunzTarPerm modified mode [ 'lib/commands.js', 438, 420 ]
2777 info postinstall base64id@0.1.0
2778 silly gunzTarPerm extractEntry components/component-json-fallback/component.json
2779 silly gunzTarPerm modified mode [ 'components/component-json-fallback/component.json', 438, 420 ]
2780 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/component.json
2781 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/component.json',
2781 silly gunzTarPerm 438,
2781 silly gunzTarPerm 420 ]
2782 silly gunzTarPerm extractEntry lib/queue.js
2783 silly gunzTarPerm modified mode [ 'lib/queue.js', 438, 420 ]
2784 silly gunzTarPerm extractEntry lib/to_array.js
2785 silly gunzTarPerm modified mode [ 'lib/to_array.js', 438, 420 ]
2786 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/emitter.js
2787 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/emitter.js',
2787 silly gunzTarPerm 438,
2787 silly gunzTarPerm 420 ]
2788 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/index.js
2789 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/index.js',
2789 silly gunzTarPerm 438,
2789 silly gunzTarPerm 420 ]
2790 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/parser.js
2791 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/parser.js',
2791 silly gunzTarPerm 438,
2791 silly gunzTarPerm 420 ]
2792 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/socket.js
2793 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/socket.js',
2793 silly gunzTarPerm 438,
2793 silly gunzTarPerm 420 ]
2794 silly gunzTarPerm extractEntry lib/util.js
2795 silly gunzTarPerm modified mode [ 'lib/util.js', 438, 420 ]
2796 silly gunzTarPerm extractEntry lib/parser/hiredis.js
2797 silly gunzTarPerm modified mode [ 'lib/parser/hiredis.js', 438, 420 ]
2798 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/transport.js
2799 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/transport.js',
2799 silly gunzTarPerm 438,
2799 silly gunzTarPerm 420 ]
2800 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/util.js
2801 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/util.js',
2801 silly gunzTarPerm 438,
2801 silly gunzTarPerm 420 ]
2802 silly gunzTarPerm extractEntry lib/parser/javascript.js
2803 silly gunzTarPerm modified mode [ 'lib/parser/javascript.js', 438, 420 ]
2804 silly gunzTarPerm extractEntry benches/buffer_bench.js
2805 silly gunzTarPerm modified mode [ 'benches/buffer_bench.js', 438, 420 ]
2806 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/transports/flashsocket.js
2807 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/transports/flashsocket.js',
2807 silly gunzTarPerm 438,
2807 silly gunzTarPerm 420 ]
2808 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/transports/index.js
2809 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/transports/index.js',
2809 silly gunzTarPerm 438,
2809 silly gunzTarPerm 420 ]
2810 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/transports/polling-jsonp.js
2811 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/transports/polling-jsonp.js',
2811 silly gunzTarPerm 438,
2811 silly gunzTarPerm 420 ]
2812 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/transports/polling-xhr.js
2813 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/transports/polling-xhr.js',
2813 silly gunzTarPerm 438,
2813 silly gunzTarPerm 420 ]
2814 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/transports/polling.js
2815 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/transports/polling.js',
2815 silly gunzTarPerm 438,
2815 silly gunzTarPerm 420 ]
2816 silly gunzTarPerm extractEntry components/learnboost-engine.io-client/lib/transports/websocket.js
2817 silly gunzTarPerm modified mode [ 'components/learnboost-engine.io-client/lib/transports/websocket.js',
2817 silly gunzTarPerm 438,
2817 silly gunzTarPerm 420 ]
2818 silly gunzTarPerm extractEntry benches/hiredis_parser.js
2819 silly gunzTarPerm modified mode [ 'benches/hiredis_parser.js', 438, 420 ]
2820 silly gunzTarPerm extractEntry benches/reconnect_test.js
2821 silly gunzTarPerm modified mode [ 'benches/reconnect_test.js', 438, 420 ]
2822 silly gunzTarPerm extractEntry components/learnboost-socket.io-protocol/index.js
2823 silly gunzTarPerm modified mode [ 'components/learnboost-socket.io-protocol/index.js', 438, 420 ]
2824 silly gunzTarPerm extractEntry components/learnboost-socket.io-protocol/component.json
2825 silly gunzTarPerm modified mode [ 'components/learnboost-socket.io-protocol/component.json',
2825 silly gunzTarPerm 438,
2825 silly gunzTarPerm 420 ]
2826 silly lockFile a6a19bb2-ocket-io-node-modules-policyfile tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\policyfile
2827 silly lockFile a6a19bb2-ocket-io-node-modules-policyfile tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\policyfile
2828 silly lockFile 91616d47-che-policyfile-0-0-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\policyfile\0.0.4\package.tgz
2829 silly lockFile 91616d47-che-policyfile-0-0-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\policyfile\0.0.4\package.tgz
2830 info preinstall policyfile@0.0.4
2831 verbose readDependencies using package.json deps
2832 verbose readDependencies using package.json deps
2833 silly resolved []
2834 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\policyfile
2835 info build C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\policyfile
2836 verbose linkStuff [ false,
2836 verbose linkStuff false,
2836 verbose linkStuff false,
2836 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\socket.io\\node_modules' ]
2837 info linkStuff policyfile@0.0.4
2838 verbose linkBins policyfile@0.0.4
2839 verbose linkMans policyfile@0.0.4
2840 verbose rebuildBundles policyfile@0.0.4
2841 info install policyfile@0.0.4
2842 info postinstall policyfile@0.0.4
2843 http 304 https://registry.npmjs.org/readable-stream
2844 silly registry.get cb [ 304,
2844 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2844 silly registry.get etag: '"18ANW2RMNEN75EBUE4D14M70T"',
2844 silly registry.get date: 'Tue, 01 Oct 2013 14:42:41 GMT',
2844 silly registry.get 'content-length': '0',
2844 silly registry.get age: '0',
2844 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2845 verbose etag readable-stream from cache
2846 silly gunzTarPerm extractEntry components/timoxley-to-array/index.js
2847 silly gunzTarPerm modified mode [ 'components/timoxley-to-array/index.js', 438, 420 ]
2848 silly gunzTarPerm extractEntry components/timoxley-to-array/component.json
2849 silly gunzTarPerm modified mode [ 'components/timoxley-to-array/component.json', 438, 420 ]
2850 silly gunzTarPerm extractEntry benches/re_sub_test.js
2851 silly gunzTarPerm modified mode [ 'benches/re_sub_test.js', 438, 420 ]
2852 silly gunzTarPerm extractEntry benches/sub_quit_test.js
2853 silly gunzTarPerm modified mode [ 'benches/sub_quit_test.js', 438, 420 ]
2854 silly addNameRange number 2 { name: 'readable-stream',
2854 silly addNameRange range: '>=1.0.2-0 <1.1.0-0',
2854 silly addNameRange hasData: true }
2855 silly addNameRange versions [ 'readable-stream',
2855 silly addNameRange [ '0.0.1',
2855 silly addNameRange '0.0.2',
2855 silly addNameRange '0.0.3',
2855 silly addNameRange '0.0.4',
2855 silly addNameRange '0.1.0',
2855 silly addNameRange '0.2.0',
2855 silly addNameRange '0.3.0',
2855 silly addNameRange '0.3.1',
2855 silly addNameRange '1.0.0',
2855 silly addNameRange '1.0.1',
2855 silly addNameRange '1.0.2',
2855 silly addNameRange '1.0.15',
2855 silly addNameRange '1.0.17',
2855 silly addNameRange '1.1.7',
2855 silly addNameRange '1.1.8',
2855 silly addNameRange '1.1.9' ] ]
2856 verbose addNamed [ 'readable-stream', '1.0.17' ]
2857 verbose addNamed [ '1.0.17', '1.0.17' ]
2858 silly lockFile 06d80243-readable-stream-1-0-17 readable-stream@1.0.17
2859 verbose lock readable-stream@1.0.17 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\06d80243-readable-stream-1-0-17.lock
2860 silly gunzTarPerm extractEntry components/visionmedia-debug/debug.js
2861 silly gunzTarPerm modified mode [ 'components/visionmedia-debug/debug.js', 438, 420 ]
2862 silly gunzTarPerm extractEntry components/visionmedia-debug/index.js
2863 silly gunzTarPerm modified mode [ 'components/visionmedia-debug/index.js', 438, 420 ]
2864 silly gunzTarPerm extractEntry benches/stress/codec.js
2865 silly gunzTarPerm modified mode [ 'benches/stress/codec.js', 438, 420 ]
2866 silly gunzTarPerm extractEntry benches/stress/pubsub/pub.js
2867 silly gunzTarPerm modified mode [ 'benches/stress/pubsub/pub.js', 438, 420 ]
2868 silly gunzTarPerm extractEntry components/visionmedia-debug/component.json
2869 silly gunzTarPerm modified mode [ 'components/visionmedia-debug/component.json', 438, 420 ]
2870 silly gunzTarPerm extractEntry dist/socket.io.js
2871 silly gunzTarPerm modified mode [ 'dist/socket.io.js', 438, 420 ]
2872 silly gunzTarPerm extractEntry benches/stress/pubsub/server.js
2873 silly gunzTarPerm modified mode [ 'benches/stress/pubsub/server.js', 438, 420 ]
2874 silly gunzTarPerm extractEntry benches/stress/pubsub/run
2875 silly gunzTarPerm modified mode [ 'benches/stress/pubsub/run', 438, 420 ]
2876 silly gunzTarPerm extractEntry dist/socket.io.min.js
2877 silly gunzTarPerm modified mode [ 'dist/socket.io.min.js', 438, 420 ]
2878 silly gunzTarPerm extractEntry benches/stress/rpushblpop/pub.js
2879 silly gunzTarPerm modified mode [ 'benches/stress/rpushblpop/pub.js', 438, 420 ]
2880 silly gunzTarPerm extractEntry benches/stress/rpushblpop/server.js
2881 silly gunzTarPerm modified mode [ 'benches/stress/rpushblpop/server.js', 438, 420 ]
2882 silly gunzTarPerm extractEntry dist/WebSocketMain.swf
2883 silly gunzTarPerm modified mode [ 'dist/WebSocketMain.swf', 438, 420 ]
2884 silly lockFile 06d80243-readable-stream-1-0-17 readable-stream@1.0.17
2885 silly lockFile 06d80243-readable-stream-1-0-17 readable-stream@1.0.17
2886 silly lockFile bc2db5fe-readable-stream-1-0-2 readable-stream@~1.0.2
2887 silly lockFile bc2db5fe-readable-stream-1-0-2 readable-stream@~1.0.2
2888 silly gunzTarPerm extractEntry benches/stress/rpushblpop/run
2889 silly gunzTarPerm modified mode [ 'benches/stress/rpushblpop/run', 438, 420 ]
2890 silly gunzTarPerm extractEntry benches/stress/speed/speed.js
2891 silly gunzTarPerm modified mode [ 'benches/stress/speed/speed.js', 438, 420 ]
2892 silly gunzTarPerm extractEntry benches/stress/speed/00
2893 silly gunzTarPerm modified mode [ 'benches/stress/speed/00', 438, 420 ]
2894 silly gunzTarPerm extractEntry benches/stress/speed/plot
2895 silly gunzTarPerm modified mode [ 'benches/stress/speed/plot', 438, 420 ]
2896 silly gunzTarPerm extractEntry dist/WebSocketMainInsecure.swf
2897 silly gunzTarPerm modified mode [ 'dist/WebSocketMainInsecure.swf', 438, 420 ]
2898 silly gunzTarPerm extractEntry benches/stress/speed/size-rate.png
2899 silly gunzTarPerm modified mode [ 'benches/stress/speed/size-rate.png', 438, 420 ]
2900 silly gunzTarPerm extractEntry examples/auth.js
2901 silly gunzTarPerm modified mode [ 'examples/auth.js', 438, 420 ]
2902 silly gunzTarPerm extractEntry History.md
2903 silly gunzTarPerm modified mode [ 'History.md', 438, 420 ]
2904 silly gunzTarPerm extractEntry lib/events.js
2905 silly gunzTarPerm modified mode [ 'lib/events.js', 438, 420 ]
2906 silly gunzTarPerm extractEntry lib/io.js
2907 silly gunzTarPerm modified mode [ 'lib/io.js', 438, 420 ]
2908 silly gunzTarPerm extractEntry examples/mget.js
2909 silly gunzTarPerm modified mode [ 'examples/mget.js', 438, 420 ]
2910 silly gunzTarPerm extractEntry examples/monitor.js
2911 silly gunzTarPerm modified mode [ 'examples/monitor.js', 438, 420 ]
2912 silly gunzTarPerm extractEntry examples/multi.js
2913 silly gunzTarPerm modified mode [ 'examples/multi.js', 438, 420 ]
2914 silly gunzTarPerm extractEntry examples/file.js
2915 silly gunzTarPerm modified mode [ 'examples/file.js', 438, 420 ]
2916 silly gunzTarPerm extractEntry lib/json.js
2917 silly gunzTarPerm modified mode [ 'lib/json.js', 438, 420 ]
2918 silly gunzTarPerm extractEntry lib/namespace.js
2919 silly gunzTarPerm modified mode [ 'lib/namespace.js', 438, 420 ]
2920 silly gunzTarPerm extractEntry examples/psubscribe.js
2921 silly gunzTarPerm modified mode [ 'examples/psubscribe.js', 438, 420 ]
2922 silly gunzTarPerm extractEntry examples/pub_sub.js
2923 silly gunzTarPerm modified mode [ 'examples/pub_sub.js', 438, 420 ]
2924 silly gunzTarPerm extractEntry lib/parser.js
2925 silly gunzTarPerm modified mode [ 'lib/parser.js', 438, 420 ]
2926 silly gunzTarPerm extractEntry lib/socket.js
2927 silly gunzTarPerm modified mode [ 'lib/socket.js', 438, 420 ]
2928 silly gunzTarPerm extractEntry examples/simple.js
2929 silly gunzTarPerm modified mode [ 'examples/simple.js', 438, 420 ]
2930 silly gunzTarPerm extractEntry examples/sort.js
2931 silly gunzTarPerm modified mode [ 'examples/sort.js', 438, 420 ]
2932 silly gunzTarPerm extractEntry lib/transport.js
2933 silly gunzTarPerm modified mode [ 'lib/transport.js', 438, 420 ]
2934 silly gunzTarPerm extractEntry lib/util.js
2935 silly gunzTarPerm modified mode [ 'lib/util.js', 438, 420 ]
2936 silly gunzTarPerm extractEntry examples/subqueries.js
2937 silly gunzTarPerm modified mode [ 'examples/subqueries.js', 438, 420 ]
2938 silly gunzTarPerm extractEntry examples/extend.js
2939 silly gunzTarPerm modified mode [ 'examples/extend.js', 438, 420 ]
2940 silly gunzTarPerm extractEntry lib/transports/flashsocket.js
2941 silly gunzTarPerm modified mode [ 'lib/transports/flashsocket.js', 438, 420 ]
2942 silly gunzTarPerm extractEntry lib/transports/htmlfile.js
2943 silly gunzTarPerm modified mode [ 'lib/transports/htmlfile.js', 438, 420 ]
2944 silly gunzTarPerm extractEntry examples/subquery.js
2945 silly gunzTarPerm modified mode [ 'examples/subquery.js', 438, 420 ]
2946 silly gunzTarPerm extractEntry examples/eval.js
2947 silly gunzTarPerm modified mode [ 'examples/eval.js', 438, 420 ]
2948 silly gunzTarPerm extractEntry examples/unix_socket.js
2949 silly gunzTarPerm modified mode [ 'examples/unix_socket.js', 438, 420 ]
2950 silly gunzTarPerm extractEntry examples/backpressure_drain.js
2951 silly gunzTarPerm modified mode [ 'examples/backpressure_drain.js', 438, 420 ]
2952 silly gunzTarPerm extractEntry lib/transports/jsonp-polling.js
2953 silly gunzTarPerm modified mode [ 'lib/transports/jsonp-polling.js', 438, 420 ]
2954 silly gunzTarPerm extractEntry lib/transports/websocket.js
2955 silly gunzTarPerm modified mode [ 'lib/transports/websocket.js', 438, 420 ]
2956 silly gunzTarPerm extractEntry examples/web_server.js
2957 silly gunzTarPerm modified mode [ 'examples/web_server.js', 438, 420 ]
2958 silly gunzTarPerm extractEntry examples/multi2.js
2959 silly gunzTarPerm modified mode [ 'examples/multi2.js', 438, 420 ]
2960 silly gunzTarPerm extractEntry lib/transports/xhr-polling.js
2961 silly gunzTarPerm modified mode [ 'lib/transports/xhr-polling.js', 438, 420 ]
2962 silly gunzTarPerm extractEntry lib/transports/xhr.js
2963 silly gunzTarPerm modified mode [ 'lib/transports/xhr.js', 438, 420 ]
2964 silly gunzTarPerm extractEntry changelog.md
2965 silly gunzTarPerm modified mode [ 'changelog.md', 438, 420 ]
2966 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/.npmignore
2967 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/.npmignore', 438, 420 ]
2968 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/README.md
2969 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/README.md', 438, 420 ]
2970 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/swfobject.js
2971 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/swfobject.js', 438, 420 ]
2972 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/web_socket.js
2973 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/web_socket.js', 438, 420 ]
2974 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/build.sh
2975 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/build.sh', 438, 420 ]
2976 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/adobe/net/proxies/RFC2817Socket.as
2977 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/adobe/net/proxies/RFC2817Socket.as',
2977 silly gunzTarPerm 438,
2977 silly gunzTarPerm 420 ]
2978 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/gsolo/encryption/MD5.as
2979 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/gsolo/encryption/MD5.as',
2979 silly gunzTarPerm 438,
2979 silly gunzTarPerm 420 ]
2980 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/MozillaRootCertificates.as
2981 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/MozillaRootCertificates.as',
2981 silly gunzTarPerm 438,
2981 silly gunzTarPerm 420 ]
2982 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509Certificate.as
2983 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509Certificate.as',
2983 silly gunzTarPerm 438,
2983 silly gunzTarPerm 420 ]
2984 http 304 https://registry.npmjs.org/utile
2985 silly registry.get cb [ 304,
2985 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2985 silly registry.get etag: '"35DTRKGH6NGSY3UOY6LCQUMJ2"',
2985 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
2985 silly registry.get 'content-length': '0',
2985 silly registry.get age: '1',
2985 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2986 verbose etag utile from cache
2987 http 304 https://registry.npmjs.org/async/0.1.15
2988 silly registry.get cb [ 304,
2988 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2988 silly registry.get etag: '"3IS5E1BD2LBAXB1ODZSX9E310"',
2988 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
2988 silly registry.get 'content-length': '0',
2988 silly registry.get age: '0',
2988 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2989 verbose etag async/0.1.15 from cache
2990 http 304 https://registry.npmjs.org/semver
2991 silly registry.get cb [ 304,
2991 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2991 silly registry.get etag: '"ESCTGS95DTGQH17SNMYJ3AAWW"',
2991 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
2991 silly registry.get 'content-length': '0',
2991 silly registry.get age: '0',
2991 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2992 verbose etag semver from cache
2993 http 304 https://registry.npmjs.org/formidable/1.0.14
2994 silly registry.get cb [ 304,
2994 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2994 silly registry.get etag: '"8JM374O38WRSF5CM0XD5K5QXS"',
2994 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
2994 silly registry.get 'content-length': '0',
2994 silly registry.get age: '1',
2994 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2995 verbose etag formidable/1.0.14 from cache
2996 http 304 https://registry.npmjs.org/pkginfo
2997 silly registry.get cb [ 304,
2997 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2997 silly registry.get etag: '"8NFZE186SC0218SIA7RX07BZM"',
2997 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
2997 silly registry.get 'content-length': '0',
2997 silly registry.get age: '1',
2997 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
2998 verbose etag pkginfo from cache
2999 http 304 https://registry.npmjs.org/cookie-signature/1.0.1
3000 silly registry.get cb [ 304,
3000 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3000 silly registry.get etag: '"332BQXGWC1DJFGGZJ0ETUQXA6"',
3000 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3000 silly registry.get 'content-length': '0',
3000 silly registry.get age: '1',
3000 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3001 verbose etag cookie-signature/1.0.1 from cache
3002 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509CertificateCollection.as
3003 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509CertificateCollection.as',
3003 silly gunzTarPerm 438,
3003 silly gunzTarPerm 420 ]
3004 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/Crypto.as
3005 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/Crypto.as',
3005 silly gunzTarPerm 438,
3005 silly gunzTarPerm 420 ]
3006 silly addNameRange number 2 { name: 'utile', range: '>=0.1.7-0 <0.2.0-0', hasData: true }
3007 silly addNameRange versions [ 'utile',
3007 silly addNameRange [ '0.0.1',
3007 silly addNameRange '0.0.2',
3007 silly addNameRange '0.0.3',
3007 silly addNameRange '0.0.4',
3007 silly addNameRange '0.0.5',
3007 silly addNameRange '0.0.6',
3007 silly addNameRange '0.0.8',
3007 silly addNameRange '0.0.9',
3007 silly addNameRange '0.0.10',
3007 silly addNameRange '0.1.0',
3007 silly addNameRange '0.1.1',
3007 silly addNameRange '0.1.2',
3007 silly addNameRange '0.1.3',
3007 silly addNameRange '0.1.5',
3007 silly addNameRange '0.1.6',
3007 silly addNameRange '0.1.7',
3007 silly addNameRange '0.2.0' ] ]
3008 verbose addNamed [ 'utile', '0.1.7' ]
3009 verbose addNamed [ '0.1.7', '0.1.7' ]
3010 silly lockFile 78905450-utile-0-1-7 utile@0.1.7
3011 verbose lock utile@0.1.7 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\78905450-utile-0-1-7.lock
3012 silly addNameRange number 2 { name: 'semver', range: '>=1.1.4-0 <1.2.0-0', hasData: true }
3013 silly addNameRange versions [ 'semver',
3013 silly addNameRange [ '1.0.0',
3013 silly addNameRange '1.0.1',
3013 silly addNameRange '1.0.2',
3013 silly addNameRange '1.0.3',
3013 silly addNameRange '1.0.4',
3013 silly addNameRange '1.0.5',
3013 silly addNameRange '1.0.6',
3013 silly addNameRange '1.0.7',
3013 silly addNameRange '1.0.8',
3013 silly addNameRange '1.0.9',
3013 silly addNameRange '1.0.10',
3013 silly addNameRange '1.0.11',
3013 silly addNameRange '1.0.12',
3013 silly addNameRange '1.0.13',
3013 silly addNameRange '1.0.14',
3013 silly addNameRange '1.1.0',
3013 silly addNameRange '1.1.1',
3013 silly addNameRange '1.1.2',
3013 silly addNameRange '1.1.3',
3013 silly addNameRange '1.1.4',
3013 silly addNameRange '2.0.0-alpha',
3013 silly addNameRange '2.0.0-beta',
3013 silly addNameRange '2.0.1',
3013 silly addNameRange '2.0.2',
3013 silly addNameRange '2.0.3',
3013 silly addNameRange '2.0.4',
3013 silly addNameRange '2.0.5',
3013 silly addNameRange '2.0.6',
3013 silly addNameRange '2.0.7',
3013 silly addNameRange '2.0.8',
3013 silly addNameRange '2.0.9',
3013 silly addNameRange '2.0.10',
3013 silly addNameRange '2.0.11',
3013 silly addNameRange '2.1.0' ] ]
3014 verbose addNamed [ 'semver', '1.1.4' ]
3015 verbose addNamed [ '1.1.4', '1.1.4' ]
3016 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
3017 verbose lock semver@1.1.4 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\da52979e-semver-1-1-4.lock
3018 silly addNameRange number 2 { name: 'pkginfo', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
3019 silly addNameRange versions [ 'pkginfo', [ '0.2.1', '0.2.2', '0.2.3', '0.3.0' ] ]
3020 verbose addNamed [ 'pkginfo', '0.2.3' ]
3021 verbose addNamed [ '0.2.3', '0.2.3' ]
3022 silly lockFile d1747791-pkginfo-0-2-3 pkginfo@0.2.3
3023 verbose lock pkginfo@0.2.3 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\d1747791-pkginfo-0-2-3.lock
3024 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/HMAC.as
3025 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/HMAC.as',
3025 silly gunzTarPerm 438,
3025 silly gunzTarPerm 420 ]
3026 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHash.as
3027 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHash.as',
3027 silly gunzTarPerm 438,
3027 silly gunzTarPerm 420 ]
3028 silly lockFile d4a1eba1-cookie-signature-1-0-1 cookie-signature@1.0.1
3029 silly lockFile d4a1eba1-cookie-signature-1-0-1 cookie-signature@1.0.1
3030 silly lockFile 483e6353-async-0-1-15 async@0.1.15
3031 silly lockFile 483e6353-async-0-1-15 async@0.1.15
3032 silly lockFile 78905450-utile-0-1-7 utile@0.1.7
3033 silly lockFile 78905450-utile-0-1-7 utile@0.1.7
3034 silly lockFile 99fb1be4-utile-0-1-7 utile@~0.1.7
3035 silly lockFile 99fb1be4-utile-0-1-7 utile@~0.1.7
3036 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
3037 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
3038 silly lockFile d1747791-pkginfo-0-2-3 pkginfo@0.2.3
3039 silly lockFile d1747791-pkginfo-0-2-3 pkginfo@0.2.3
3040 silly lockFile ca14db66-semver-1-1-4 semver@~1.1.4
3041 silly lockFile ca14db66-semver-1-1-4 semver@~1.1.4
3042 silly lockFile f898f07d-pkginfo-0-2-x pkginfo@0.2.x
3043 silly lockFile f898f07d-pkginfo-0-2-x pkginfo@0.2.x
3044 silly resolved [ { name: 'readable-stream',
3044 silly resolved version: '1.0.17',
3044 silly resolved description: 'An exploration of a new kind of readable streams for Node.js',
3044 silly resolved main: 'readable.js',
3044 silly resolved dependencies: {},
3044 silly resolved devDependencies: { tap: '~0.2.6' },
3044 silly resolved scripts: { test: 'tap test/simple/*.js' },
3044 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/readable-stream' },
3044 silly resolved keywords: [ 'readable', 'stream', 'pipe' ],
3044 silly resolved author:
3044 silly resolved { name: 'Isaac Z. Schlueter',
3044 silly resolved email: 'i@izs.me',
3044 silly resolved url: 'http://blog.izs.me/' },
3044 silly resolved license: 'BSD',
3044 silly resolved readme: '# readable-stream\n\nA new class of streams for Node.js\n\nThis module provides the new Stream base classes introduced in Node\nv0.10, for use in Node v0.8. You can use it to have programs that\nhave to work with node v0.8, while being forward-compatible for v0.10\nand beyond. When you drop support for v0.8, you can remove this\nmodule, and only use the native streams.\n\nThis is almost exactly the same codebase as appears in Node v0.10.\nHowever:\n\n1. The exported object is actually the Readable class. Decorating the\n native `stream` module would be global pollution.\n2. In v0.10, you can safely use `base64` as an argument to\n `setEncoding` in Readable streams. However, in v0.8, the\n StringDecoder class has no `end()` method, which is problematic for\n Base64. So, don\'t use that, because it\'ll break and be weird.\n\nOther than that, the API is the same as `require(\'stream\')` in v0.10,\nso the API docs are reproduced below.\n\n----------\n\n Stability: 2 - Unstable\n\nA stream is an abstract interface implemented by various objects in\nNode. For example a request to an HTTP server is a stream, as is\nstdout. Streams are readable, writable, or both. All streams are\ninstances of [EventEmitter][]\n\nYou can load the Stream base classes by doing `require(\'stream\')`.\nThere are base classes provided for Readable streams, Writable\nstreams, Duplex streams, and Transform streams.\n\n## Compatibility\n\nIn earlier versions of Node, the Readable stream interface was\nsimpler, but also less powerful and less useful.\n\n* Rather than waiting for you to call the `read()` method, `\'data\'`\n events would start emitting immediately. If you needed to do some\n I/O to decide how to handle data, then you had to store the chunks\n in some kind of buffer so that they would not be lost.\n* The `pause()` method was advisory, rather than guaranteed. This\n meant that you still had to be prepared to receive `\'data\'` events\n even when the stream was in a paused state.\n\nIn Node v0.10, the Readable class described below was added. For\nbackwards compatibility with older Node programs, Readable streams\nswitch into "old mode" when a `\'data\'` event handler is added, or when\nthe `pause()` or `resume()` methods are called. The effect is that,\neven if you are not using the new `read()` method and `\'readable\'`\nevent, you no longer have to worry about losing `\'data\'` chunks.\n\nMost programs will continue to function normally. However, this\nintroduces an edge case in the following conditions:\n\n* No `\'data\'` event handler is added.\n* The `pause()` and `resume()` methods are never called.\n\nFor example, consider the following code:\n\n```javascript\n// WARNING! BROKEN!\nnet.createServer(function(socket) {\n\n // we add an \'end\' method, but never consume the data\n socket.on(\'end\', function() {\n // It will never get here.\n socket.end(\'I got your message (but didnt read it)\\n\');\n });\n\n}).listen(1337);\n```\n\nIn versions of node prior to v0.10, the incoming message data would be\nsimply discarded. However, in Node v0.10 and beyond, the socket will\nremain paused forever.\n\nThe workaround in this situation is to call the `resume()` method to\ntrigger "old mode" behavior:\n\n```javascript\n// Workaround\nnet.createServer(function(socket) {\n\n socket.on(\'end\', function() {\n socket.end(\'I got your message (but didnt read it)\\n\');\n });\n\n // start the flow of data, discarding it.\n socket.resume();\n\n}).listen(1337);\n```\n\nIn addition to new Readable streams switching into old-mode, pre-v0.10\nstyle streams can be wrapped in a Readable class using the `wrap()`\nmethod.\n\n## Class: stream.Readable\n\n<!--type=class-->\n\nA `Readable Stream` has the following methods, members, and events.\n\nNote that `stream.Readable` is an abstract class designed to be\nextended with an underlying implementation of the `_read(size)`\nmethod. (See below.)\n\n### new stream.Readable([options])\n\n* `options` {Object}\n * `highWaterMark` {Number} The maximum number of bytes to store in\n the internal buffer before ceasing to read from the underlying\n resource. Default=16kb\n * `encoding` {String} If specified, then buffers will be decoded to\n strings using the specified encoding. Default=null\n * `objectMode` {Boolean} Whether this stream should behave\n as a stream of objects. Meaning that stream.read(n) returns\n a single value instead of a Buffer of size n\n\nIn classes that extend the Readable class, make sure to call the\nconstructor so that the buffering settings can be properly\ninitialized.\n\n### readable.\\_read(size)\n\n* `size` {Number} Number of bytes to read asynchronously\n\nNote: **This function should NOT be called directly.** It should be\nimplemented by child classes, and called by the internal Readable\nclass methods only.\n\nAll Readable stream implementations must provide a `_read` method\nto fetch data from the underlying resource.\n\nThis method is prefixed with an underscore because it is internal to\nthe class that defines it, and should not be called directly by user\nprograms. However, you **are** expected to override this method in\nyour own extension classes.\n\nWhen data is available, put it into the read queue by calling\n`readable.push(chunk)`. If `push` returns false, then you should stop\nreading. When `_read` is called again, you should start pushing more\ndata.\n\nThe `size` argument is advisory. Implementations where a "read" is a\nsingle call that returns data can use this to know how much data to\nfetch. Implementations where that is not relevant, such as TCP or\nTLS, may ignore this argument, and simply provide data whenever it\nbecomes available. There is no need, for example to "wait" until\n`size` bytes are available before calling `stream.push(chunk)`.\n\n### readable.push(chunk)\n\n* `chunk` {Buffer | null | String} Chunk of data to push into the read queue\n* return {Boolean} Whether or not more pushes should be performed\n\nNote: **This function should be called by Readable implementors, NOT\nby consumers of Readable subclasses.** The `_read()` function will not\nbe called again until at least one `push(chunk)` call is made. If no\ndata is available, then you MAY call `push(\'\')` (an empty string) to\nallow a future `_read` call, without adding any data to the queue.\n\nThe `Readable` class works by putting data into a read queue to be\npulled out later by calling the `read()` method when the `\'readable\'`\nevent fires.\n\nThe `push()` method will explicitly insert some data into the read\nqueue. If it is called with `null` then it will signal the end of the\ndata.\n\nIn some cases, you may be wrapping a lower-level source which has some\nsort of pause/resume mechanism, and a data callback. In those cases,\nyou could wrap the low-level source object by doing something like\nthis:\n\n```javascript\n// source is an object with readStop() and readStart() methods,\n// and an `ondata` member that gets called when it has data, and\n// an `onend` member that gets called when the data is over.\n\nvar stream = new Readable();\n\nsource.ondata = function(chunk) {\n // if push() returns false, then we need to stop reading from source\n if (!stream.push(chunk))\n source.readStop();\n};\n\nsource.onend = function() {\n stream.push(null);\n};\n\n// _read will be called when the stream wants to pull more data in\n// the advisory size argument is ignored in this case.\nstream._read = function(n) {\n source.readStart();\n};\n```\n\n### readable.unshift(chunk)\n\n* `chunk` {Buffer | null | String} Chunk of data to unshift onto the read queue\n* return {Boolean} Whether or not more pushes should be performed\n\nThis is the corollary of `readable.push(chunk)`. Rather than putting\nthe data at the *end* of the read queue, it puts it at the *front* of\nthe read queue.\n\nThis is useful in certain use-cases where a stream is being consumed\nby a parser, which needs to "un-consume" some data that it has\noptimistically pulled out of the source.\n\n```javascript\n// A parser for a simple data protocol.\n// The "header" is a JSON object, followed by 2 \\n characters, and\n// then a message body.\n//\n// Note: This can be done more simply as a Transform stream. See below.\n\nfunction SimpleProtocol(source, options) {\n if (!(this instanceof SimpleProtocol))\n return new SimpleProtocol(options);\n\n Readable.call(this, options);\n this._inBody = false;\n this._sawFirstCr = false;\n\n // source is a readable stream, such as a socket or file\n this._source = source;\n\n var self = this;\n source.on(\'end\', function() {\n self.push(null);\n });\n\n // give it a kick whenever the source is readable\n // read(0) will not consume any bytes\n source.on(\'readable\', function() {\n self.read(0);\n });\n\n this._rawHeader = [];\n this.header = null;\n}\n\nSimpleProtocol.prototype = Object.create(\n Readable.prototype, { constructor: { value: SimpleProtocol }});\n\nSimpleProtocol.prototype._read = function(n) {\n if (!this._inBody) {\n var chunk = this._source.read();\n\n // if the source doesn\'t have data, we don\'t have data yet.\n if (chunk === null)\n return this.push(\'\');\n\n // check if the chunk has a \\n\\n\n var split = -1;\n for (var i = 0; i < chunk.length; i++) {\n if (chunk[i] === 10) { // \'\\n\'\n if (this._sawFirstCr) {\n split = i;\n break;\n } else {\n this._sawFirstCr = true;\n }\n } else {\n this._sawFirstCr = false;\n }\n }\n\n if (split === -1) {\n // still waiting for the \\n\\n\n // stash the chunk, and try again.\n this._rawHeader.push(chunk);\n this.push(\'\');\n } else {\n this._inBody = true;\n var h = chunk.slice(0, split);\n this._rawHeader.push(h);\n var header = Buffer.concat(this._rawHeader).toString();\n try {\n this.header = JSON.parse(header);\n } catch (er) {\n this.emit(\'error\', new Error(\'invalid simple protocol data\'));\n return;\n }\n // now, because we got some extra data, unshift the rest\n // back into the read queue so that our consumer will see it.\n var b = chunk.slice(split);\n this.unshift(b);\n\n // and let them know that we are done parsing the header.\n this.emit(\'header\', this.header);\n }\n } else {\n // from there on, just provide the data to our consumer.\n // careful not to push(null), since that would indicate EOF.\n var chunk = this._source.read();\n if (chunk) this.push(chunk);\n }\n};\n\n// Usage:\nvar parser = new SimpleProtocol(source);\n// Now parser is a readable stream that will emit \'header\'\n// with the parsed header data.\n```\n\n### readable.wrap(stream)\n\n* `stream` {Stream} An "old style" readable stream\n\nIf you are using an older Node library that emits `\'data\'` events and\nhas a `pause()` method that is advisory only, then you can use the\n`wrap()` method to create a Readable stream that uses the old stream\nas its data source.\n\nFor example:\n\n```javascript\nvar OldReader = require(\'./old-api-module.js\').OldReader;\nvar oreader = new OldReader;\nvar Readable = require(\'stream\').Readable;\nvar myReader = new Readable().wrap(oreader);\n\nmyReader.on(\'readable\', function() {\n myReader.read(); // etc.\n});\n```\n\n### Event: \'readable\'\n\nWhen there is data ready to be consumed, this event will fire.\n\nWhen this event emits, call the `read()` method to consume the data.\n\n### Event: \'end\'\n\nEmitted when the stream has received an EOF (FIN in TCP terminology).\nIndicates that no more `\'data\'` events will happen. If the stream is\nalso writable, it may be possible to continue writing.\n\n### Event: \'data\'\n\nThe `\'data\'` event emits either a `Buffer` (by default) or a string if\n`setEncoding()` was used.\n\nNote that adding a `\'data\'` event listener will switch the Readable\nstream into "old mode", where data is emitted as soon as it is\navailable, rather than waiting for you to call `read()` to consume it.\n\n### Event: \'error\'\n\nEmitted if there was an error receiving data.\n\n### Event: \'close\'\n\nEmitted when the underlying resource (for example, the backing file\ndescriptor) has been closed. Not all streams will emit this.\n\n### readable.setEncoding(encoding)\n\nMakes the `\'data\'` event emit a string instead of a `Buffer`. `encoding`\ncan be `\'utf8\'`, `\'utf16le\'` (`\'ucs2\'`), `\'ascii\'`, or `\'hex\'`.\n\nThe encoding can also be set by specifying an `encoding` field to the\nconstructor.\n\n### readable.read([size])\n\n* `size` {Number | null} Optional number of bytes to read.\n* Return: {Buffer | String | null}\n\nNote: **This function SHOULD be called by Readable stream users.**\n\nCall this method to consume data once the `\'readable\'` event is\nemitted.\n\nThe `size` argument will set a minimum number of bytes that you are\ninterested in. If not set, then the entire content of the internal\nbuffer is returned.\n\nIf there is no data to consume, or if there are fewer bytes in the\ninternal buffer than the `size` argument, then `null` is returned, and\na future `\'readable\'` event will be emitted when more is available.\n\nCalling `stream.read(0)` will always return `null`, and will trigger a\nrefresh of the internal buffer, but otherwise be a no-op.\n\n### readable.pipe(destination, [options])\n\n* `destination` {Writable Stream}\n* `options` {Object} Optional\n * `end` {Boolean} Default=true\n\nConnects this readable stream to `destination` WriteStream. Incoming\ndata on this stream gets written to `destination`. Properly manages\nback-pressure so that a slow destination will not be overwhelmed by a\nfast readable stream.\n\nThis function returns the `destination` stream.\n\nFor example, emulating the Unix `cat` command:\n\n process.stdin.pipe(process.stdout);\n\nBy default `end()` is called on the destination when the source stream\nemits `end`, so that `destination` is no longer writable. Pass `{ end:\nfalse }` as `options` to keep the destination stream open.\n\nThis keeps `writer` open so that "Goodbye" can be written at the\nend.\n\n reader.pipe(writer, { end: false });\n reader.on("end", function() {\n writer.end("Goodbye\\n");\n });\n\nNote that `process.stderr` and `process.stdout` are never closed until\nthe process exits, regardless of the specified options.\n\n### readable.unpipe([destination])\n\n* `destination` {Writable Stream} Optional\n\nUndo a previously established `pipe()`. If no destination is\nprovided, then all previously established pipes are removed.\n\n### readable.pause()\n\nSwitches the readable stream into "old mode", where data is emitted\nusing a `\'data\'` event rather than being buffered for consumption via\nthe `read()` method.\n\nCeases the flow of data. No `\'data\'` events are emitted while the\nstream is in a paused state.\n\n### readable.resume()\n\nSwitches the readable stream into "old mode", where data is emitted\nusing a `\'data\'` event rather than being buffered for consumption via\nthe `read()` method.\n\nResumes the incoming `\'data\'` events after a `pause()`.\n\n\n## Class: stream.Writable\n\n<!--type=class-->\n\nA `Writable` Stream has the following methods, members, and events.\n\nNote that `stream.Writable` is an abstract class designed to be\nextended with an underlying implementation of the\n`_write(chunk, encoding, cb)` method. (See below.)\n\n### new stream.Writable([options])\n\n* `options` {Object}\n * `highWaterMark` {Number} Buffer level when `write()` starts\n returning false. Default=16kb\n * `decodeStrings` {Boolean} Whether or not to decode strings into\n Buffers before passing them to `_write()`. Default=true\n\nIn classes that extend the Writable class, make sure to call the\nconstructor so that the buffering settings can be properly\ninitialized.\n\n### writable.\\_write(chunk, encoding, callback)\n\n* `chunk` {Buffer | String} The chunk to be written. Will always\n be a buffer unless the `decodeStrings` option was set to `false`.\n* `encoding` {String} If the chunk is a string, then this is the\n encoding type. Ignore chunk is a buffer. Note that chunk will\n **always** be a buffer unless the `decodeStrings` option is\n explicitly set to `false`.\n* `callback` {Function} Call this function (optionally with an error\n argument) when you are done processing the supplied chunk.\n\nAll Writable stream implementations must provide a `_write` method to\nsend data to the underlying resource.\n\nNote: **This function MUST NOT be called directly.** It should be\nimplemented by child classes, and called by the internal Writable\nclass methods only.\n\nCall the callback using the standard `callback(error)` pattern to\nsignal that the write completed successfully or with an error.\n\nIf the `decodeStrings` flag is set in the constructor options, then\n`chunk` may be a string rather than a Buffer, and `encoding` will\nindicate the sort of string that it is. This is to support\nimplementations that have an optimized handling for certain string\ndata encodings. If you do not explicitly set the `decodeStrings`\noption to `false`, then you can safely ignore the `encoding` argument,\nand assume that `chunk` will always be a Buffer.\n\nThis method is prefixed with an underscore because it is internal to\nthe class that defines it, and should not be called directly by user\nprograms. However, you **are** expected to override this method in\nyour own extension classes.\n\n\n### writable.write(chunk, [encoding], [callback])\n\n* `chunk` {Buffer | String} Data to be written\n* `encoding` {String} Optional. If `chunk` is a string, then encoding\n defaults to `\'utf8\'`\n* `callback` {Function} Optional. Called when this chunk is\n successfully written.\n* Returns {Boolean}\n\nWrites `chunk` to the stream. Returns `true` if the data has been\nflushed to the underlying resource. Returns `false` to indicate that\nthe buffer is full, and the data will be sent out in the future. The\n`\'drain\'` event will indicate when the buffer is empty again.\n\nThe specifics of when `write()` will return false, is determined by\nthe `highWaterMark` option provided to the constructor.\n\n### writable.end([chunk], [encoding], [callback])\n\n* `chunk` {Buffer | String} Optional final data to be written\n* `encoding` {String} Optional. If `chunk` is a string, then encoding\n defaults to `\'utf8\'`\n* `callback` {Function} Optional. Called when the final chunk is\n successfully written.\n\nCall this method to signal the end of the data being written to the\nstream.\n\n### Event: \'drain\'\n\nEmitted when the stream\'s write queue empties and it\'s safe to write\nwithout buffering again. Listen for it when `stream.write()` returns\n`false`.\n\n### Event: \'close\'\n\nEmitted when the underlying resource (for example, the backing file\ndescriptor) has been closed. Not all streams will emit this.\n\n### Event: \'finish\'\n\nWhen `end()` is called and there are no more chunks to write, this\nevent is emitted.\n\n### Event: \'pipe\'\n\n* `source` {Readable Stream}\n\nEmitted when the stream is passed to a readable stream\'s pipe method.\n\n### Event \'unpipe\'\n\n* `source` {Readable Stream}\n\nEmitted when a previously established `pipe()` is removed using the\nsource Readable stream\'s `unpipe()` method.\n\n## Class: stream.Duplex\n\n<!--type=class-->\n\nA "duplex" stream is one that is both Readable and Writable, such as a\nTCP socket connection.\n\nNote that `stream.Duplex` is an abstract class designed to be\nextended with an underlying implementation of the `_read(size)`\nand `_write(chunk, encoding, callback)` methods as you would with a Readable or\nWritable stream class.\n\nSince JavaScript doesn\'t have multiple prototypal inheritance, this\nclass prototypally inherits from Readable, and then parasitically from\nWritable. It is thus up to the user to implement both the lowlevel\n`_read(n)` method as well as the lowlevel `_write(chunk, encoding, cb)` method\non extension duplex classes.\n\n### new stream.Duplex(options)\n\n* `options` {Object} Passed to both Writable and Readable\n constructors. Also has the following fields:\n * `allowHalfOpen` {Boolean} Default=true. If set to `false`, then\n the stream will automatically end the readable side when the\n writable side ends and vice versa.\n\nIn classes that extend the Duplex class, make sure to call the\nconstructor so that the buffering settings can be properly\ninitialized.\n\n## Class: stream.Transform\n\nA "transform" stream is a duplex stream where the output is causally\nconnected in some way to the input, such as a zlib stream or a crypto\nstream.\n\nThere is no requirement that the output be the same size as the input,\nthe same number of chunks, or arrive at the same time. For example, a\nHash stream will only ever have a single chunk of output which is\nprovided when the input is ended. A zlib stream will either produce\nmuch smaller or much larger than its input.\n\nRather than implement the `_read()` and `_write()` methods, Transform\nclasses must implement the `_transform()` method, and may optionally\nalso implement the `_flush()` method. (See below.)\n\n### new stream.Transform([options])\n\n* `options` {Object} Passed to both Writable and Readable\n constructors.\n\nIn classes that extend the Transform class, make sure to call the\nconstructor so that the buffering settings can be properly\ninitialized.\n\n### transform.\\_transform(chunk, encoding, callback)\n\n* `chunk` {Buffer | String} The chunk to be transformed. Will always\n be a buffer unless the `decodeStrings` option was set to `false`.\n* `encoding` {String} If the chunk is a string, then this is the\n encoding type. (Ignore if `decodeStrings` chunk is a buffer.)\n* `callback` {Function} Call this function (optionally with an error\n argument) when you are done processing the supplied chunk.\n\nNote: **This function MUST NOT be called directly.** It should be\nimplemented by child classes, and called by the internal Transform\nclass methods only.\n\nAll Transform stream implementations must provide a `_transform`\nmethod to accept input and produce output.\n\n`_transform` should do whatever has to be done in this specific\nTransform class, to handle the bytes being written, and pass them off\nto the readable portion of the interface. Do asynchronous I/O,\nprocess things, and so on.\n\nCall `transform.push(outputChunk)` 0 or more times to generate output\nfrom this input chunk, depending on how much data you want to output\nas a result of this chunk.\n\nCall the callback function only when the current chunk is completely\nconsumed. Note that there may or may not be output as a result of any\nparticular input chunk.\n\nThis method is prefixed with an underscore because it is internal to\nthe class that defines it, and should not be called directly by user\nprograms. However, you **are** expected to override this method in\nyour own extension classes.\n\n### transform.\\_flush(callback)\n\n* `callback` {Function} Call this function (optionally with an error\n argument) when you are done flushing any remaining data.\n\nNote: **This function MUST NOT be called directly.** It MAY be implemented\nby child classes, and if so, will be called by the internal Transform\nclass methods only.\n\nIn some cases, your transform operation may need to emit a bit more\ndata at the end of the stream. For example, a `Zlib` compression\nstream will store up some internal state so that it can optimally\ncompress the output. At the end, however, it needs to do the best it\ncan with what is left, so that the data will be complete.\n\nIn those cases, you can implement a `_flush` method, which will be\ncalled at the very end, after all the written data is consumed, but\nbefore emitting `end` to signal the end of the readable side. Just\nlike with `_transform`, call `transform.push(chunk)` zero or more\ntimes, as appropriate, and call `callback` when the flush operation is\ncomplete.\n\nThis method is prefixed with an underscore because it is internal to\nthe class that defines it, and should not be called directly by user\nprograms. However, you **are** expected to override this method in\nyour own extension classes.\n\n### Example: `SimpleProtocol` parser\n\nThe example above of a simple protocol parser can be implemented much\nmore simply by using the higher level `Transform` stream class.\n\nIn this example, rather than providing the input as an argument, it\nwould be piped into the parser, which is a more idiomatic Node stream\napproach.\n\n```javascript\nfunction SimpleProtocol(options) {\n if (!(this instanceof SimpleProtocol))\n return new SimpleProtocol(options);\n\n Transform.call(this, options);\n this._inBody = false;\n this._sawFirstCr = false;\n this._rawHeader = [];\n this.header = null;\n}\n\nSimpleProtocol.prototype = Object.create(\n Transform.prototype, { constructor: { value: SimpleProtocol }});\n\nSimpleProtocol.prototype._transform = function(chunk, encoding, done) {\n if (!this._inBody) {\n // check if the chunk has a \\n\\n\n var split = -1;\n for (var i = 0; i < chunk.length; i++) {\n if (chunk[i] === 10) { // \'\\n\'\n if (this._sawFirstCr) {\n split = i;\n break;\n } else {\n this._sawFirstCr = true;\n }\n } else {\n this._sawFirstCr = false;\n }\n }\n\n if (split === -1) {\n // still waiting for the \\n\\n\n // stash the chunk, and try again.\n this._rawHeader.push(chunk);\n } else {\n this._inBody = true;\n var h = chunk.slice(0, split);\n this._rawHeader.push(h);\n var header = Buffer.concat(this._rawHeader).toString();\n try {\n this.header = JSON.parse(header);\n } catch (er) {\n this.emit(\'error\', new Error(\'invalid simple protocol data\'));\n return;\n }\n // and let them know that we are done parsing the header.\n this.emit(\'header\', this.header);\n\n // now, because we got some extra data, emit this first.\n this.push(b);\n }\n } else {\n // from there on, just provide the data to our consumer as-is.\n this.push(b);\n }\n done();\n};\n\nvar parser = new SimpleProtocol();\nsource.pipe(parser)\n\n// Now parser is a readable stream that will emit \'header\'\n// with the parsed header data.\n```\n\n\n## Class: stream.PassThrough\n\nThis is a trivial implementation of a `Transform` stream that simply\npasses the input bytes across to the output. Its purpose is mainly\nfor examples and testing, but there are occasionally use cases where\nit can come in handy.\n\n\n[EventEmitter]: events.html#events_class_events_eventemitter\n',
3044 silly resolved readmeFilename: 'README.md',
3044 silly resolved bugs: { url: 'https://github.com/isaacs/readable-stream/issues' },
3044 silly resolved _id: 'readable-stream@1.0.17',
3044 silly resolved _from: 'readable-stream@~1.0.2' },
3044 silly resolved { name: 'async',
3044 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
3044 silly resolved main: './index',
3044 silly resolved author: { name: 'Caolan McMahon' },
3044 silly resolved version: '0.1.15',
3044 silly resolved repository: { type: 'git', url: 'http://github.com/caolan/async.git' },
3044 silly resolved bugs: { url: 'http://github.com/caolan/async/issues' },
3044 silly resolved licenses: [ [Object] ],
3044 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.\n\nAsync provides around 20 functions that include the usual \'functional\'\nsuspects (map, reduce, filter, forEach…) 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 async.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n });\n\n async.filter([\'file1\',\'file2\',\'file3\'], path.exists, function(results){\n // results now equals an array of the existing files\n });\n\n async.parallel([\n function(){ ... },\n function(){ ... }\n ], callback);\n\n async.series([\n function(){ ... },\n function(){ ... }\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\n## Download\n\nReleases are available for download from\n[GitHub](http://github.com/caolan/async/downloads).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 17.5kb Uncompressed\n\n__Production:__ [async.min.js](https://github.com/caolan/async/raw/master/dist/async.min.js) - 1.7kb Packed and Gzipped\n\n\n## In the Browser\n\nSo far its been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\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* [forEach](#forEach)\n* [map](#map)\n* [filter](#filter)\n* [reject](#reject)\n* [reduce](#reduce)\n* [detect](#detect)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [whilst](#whilst)\n* [until](#until)\n* [waterfall](#waterfall)\n* [queue](#queue)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\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### forEach(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 forEach 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 which must be called once it has completed.\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 // assuming openFiles is an array of file names and saveFile is a function\n // to save the modified contents of that file:\n\n async.forEach(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n });\n\n---------------------------------------\n\n<a name="forEachSeries" />\n### forEachSeries(arr, iterator, callback)\n\nThe same as forEach 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### forEachLimit(arr, limit, iterator, callback)\n\nThe same as forEach only the iterator is applied to batches of items in the\narray, in series. The next batch of iterators is only called once the current\none has completed processing.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - How many items should be in each batch.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\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 // Assume documents is an array of JSON objects and requestApi is a\n // function that interacts with a rate-limited REST api.\n\n async.forEachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\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 which must be called once it has completed\n 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 async.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<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="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 path.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 which must be called 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 async.filter([\'file1\',\'file2\',\'file3\'], path.exists, function(results){\n // results now equals an array of the existing files\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 filter, 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 its 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 which accepts an optional error as its first argument, and the state\n of the reduction as the second. If an error is passed to the callback, the\n reduction is stopped and the main callback is immediately called with the\n 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 async.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<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 which must be called 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 async.detect([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // result now equals the first file in the list that exists\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 which must be called once it has completed\n with an error (which can be null) and a value to use as the sort 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 async.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 path.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 which must be called 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 async.some([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // if result is true then at least one of the files exists\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 path.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 which must be called 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 async.every([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // if result is true then every file exists\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 which must be called once it has completed\n 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 async.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<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 it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets an array of all the arguments passed to\n the callbacks used in the array.\n\n__Example__\n\n async.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\n function(err, results){\n // results is now equal to [\'one\', \'two\']\n });\n\n\n // an example using an object instead of an array\n async.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 },\n function(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 a\n callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets an array of all the arguments passed to\n the callbacks used in the array.\n\n__Example__\n\n async.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\n function(err, results){\n // in this case, the results array will equal [\'two\',\'one\']\n // because the functions were run in parallel and the second\n // function had a shorter timeout before calling the callback.\n });\n\n\n // an example using an object instead of an array\n async.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 },\n function(err, results) {\n // results is now equals to: {one: 1, two: 2}\n });\n\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 which must be called once it has completed with an optional\n error as the first 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 var count = 0;\n\n async.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="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\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 callback it\n must call on completion.\n* callback(err) - An optional callback to run once all the functions have\n completed. This function gets passed any error that may have occurred.\n\n__Example__\n\n async.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 ]);\n\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.\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* 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 // create a queue object with concurrency 2\n\n var q = async.queue(function (task, callback) {\n console.log(\'hello \' + task.name);\n callback();\n }, 2);\n\n\n // assign a callback\n q.drain = function() {\n console.log(\'all items have been processed\');\n }\n\n // add some items to the queue\n\n q.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n });\n q.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\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 on which they depend.\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 syntax is easier to understand by looking at the example.\n* callback(err) - An optional callback which is called when all the tasks have\n been completed. The callback may receive an error as an argument.\n\n__Example__\n\n async.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\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n async.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 ],\n function(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 email_link: [\'write_file\', function(callback){\n // once the file is written let\'s email a link to it...\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. Its 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, each function is passed a callback it\n must call on completion.\n\n__Example__\n\n var iterator = async.iterator([\n function(){ sys.p(\'one\'); },\n function(){ sys.p(\'two\'); },\n function(){ sys.p(\'three\'); }\n ]);\n\n node> var iterator2 = iterator();\n \'one\'\n node> var iterator3 = iterator2();\n \'two\'\n node> iterator3();\n \'three\'\n node> var nextfn = iterator2.next();\n node> 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 // using apply\n\n async.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\n async.parallel([\n function(callback){\n fs.writeFile(\'testfile1\', \'test1\', callback);\n },\n function(callback){\n fs.writeFile(\'testfile2\', \'test2\', callback);\n },\n ]);\n\nIt\'s possible to pass any number of additional arguments when calling the\ncontinuation:\n\n node> var fn = async.apply(sys.puts, \'one\');\n node> fn(\'two\', \'three\');\n one\n two\n three\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 setTimeout(callback, 0),\nwhich means other higher priority events 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 var call_order = [];\n async.nextTick(function(){\n call_order.push(\'two\');\n // call_order now equals [\'one\',\'two]\n });\n call_order.push(\'one\')\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\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 var slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n };\n var fn = async.memoize(slow_fn);\n\n // fn can now be used as if it were slow_fn\n fn(\'some name\', function () {\n // callback\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 var hello = function(name, callback){\n setTimeout(function(){\n callback(null, \'hello \' + name);\n }, 1000);\n };\n\n node> 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 var hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n };\n\n node> 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',
3044 silly resolved readmeFilename: 'README.md',
3044 silly resolved _id: 'async@0.1.15',
3044 silly resolved _from: 'async@0.1.15' },
3044 silly resolved { name: 'semver',
3044 silly resolved version: '1.1.4',
3044 silly resolved description: 'The semantic version parser used by npm.',
3044 silly resolved main: 'semver.js',
3044 silly resolved scripts: { test: 'tap test.js' },
3044 silly resolved devDependencies: { tap: '0.x >=0.0.4' },
3044 silly resolved license:
3044 silly resolved { type: 'MIT',
3044 silly resolved url: 'https://github.com/isaacs/semver/raw/master/LICENSE' },
3044 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-semver.git' },
3044 silly resolved bin: { semver: './bin/semver' },
3044 silly resolved readme: 'semver(1) -- The semantic versioner for npm\n===========================================\n\n## Usage\n\n $ npm install semver\n\n semver.valid(\'1.2.3\') // \'1.2.3\'\n semver.valid(\'a.b.c\') // null\n semver.clean(\' =v1.2.3 \') // \'1.2.3\'\n semver.satisfies(\'1.2.3\', \'1.x || >=2.5.0 || 5.0.0 - 7.2.3\') // true\n semver.gt(\'1.2.3\', \'9.8.7\') // false\n semver.lt(\'1.2.3\', \'9.8.7\') // true\n\nAs a command-line utility:\n\n $ semver -h\n\n Usage: semver -v <version> [-r <range>]\n Test if version(s) satisfy the supplied range(s),\n and sort them.\n\n Multiple versions or ranges may be supplied.\n\n Program exits successfully if any valid version satisfies\n all supplied ranges, and prints all satisfying versions.\n\n If no versions are valid, or ranges are not satisfied,\n then exits failure.\n\n Versions are printed in ascending order, so supplying\n multiple versions to the utility will just sort them.\n\n## Versions\n\nA version is the following things, in this order:\n\n* a number (Major)\n* a period\n* a number (minor)\n* a period\n* a number (patch)\n* OPTIONAL: a hyphen, followed by a number (build)\n* OPTIONAL: a collection of pretty much any non-whitespace characters\n (tag)\n\nA leading `"="` or `"v"` character is stripped off and ignored.\n\n## Comparisons\n\nThe ordering of versions is done using the following algorithm, given\ntwo versions and asked to find the greater of the two:\n\n* If the majors are numerically different, then take the one\n with a bigger major number. `2.3.4 > 1.3.4`\n* If the minors are numerically different, then take the one\n with the bigger minor number. `2.3.4 > 2.2.4`\n* If the patches are numerically different, then take the one with the\n bigger patch number. `2.3.4 > 2.3.3`\n* If only one of them has a build number, then take the one with the\n build number. `2.3.4-0 > 2.3.4`\n* If they both have build numbers, and the build numbers are numerically\n different, then take the one with the bigger build number.\n `2.3.4-10 > 2.3.4-9`\n* If only one of them has a tag, then take the one without the tag.\n `2.3.4 > 2.3.4-beta`\n* If they both have tags, then take the one with the lexicographically\n larger tag. `2.3.4-beta > 2.3.4-alpha`\n* At this point, they\'re equal.\n\n## Ranges\n\nThe following range styles are supported:\n\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`\n* `~1.2.3` := `>=1.2.3 <1.3.0`\n* `~1.2` := `>=1.2.0 <1.3.0`\n* `~1` := `>=1.0.0 <2.0.0`\n* `1.2.x` := `>=1.2.0 <1.3.0`\n* `1.x` := `>=1.0.0 <2.0.0`\n\nRanges can be joined with either a space (which implies "and") or a\n`||` (which implies "or").\n\n## Functions\n\n* valid(v): Return the parsed version, or null if it\'s not valid.\n* inc(v, release): Return the version incremented by the release type\n (major, minor, patch, or build), or null if it\'s not valid.\n\n### Comparison\n\n* gt(v1, v2): `v1 > v2`\n* gte(v1, v2): `v1 >= v2`\n* lt(v1, v2): `v1 < v2`\n* lte(v1, v2): `v1 <= v2`\n* eq(v1, v2): `v1 == v2` This is true if they\'re logically equivalent,\n even if they\'re not the exact same string. You already know how to\n compare strings.\n* neq(v1, v2): `v1 != v2` The opposite of eq.\n* cmp(v1, comparator, v2): Pass in a comparison string, and it\'ll call\n the corresponding function above. `"==="` and `"!=="` do simple\n string comparison, but are included for completeness. Throws if an\n invalid comparison string is provided.\n* compare(v1, v2): Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if\n v2 is greater. Sorts in ascending order if passed to Array.sort().\n* rcompare(v1, v2): The reverse of compare. Sorts an array of versions\n in descending order when passed to Array.sort().\n\n\n### Ranges\n\n* validRange(range): Return the valid range or null if it\'s not valid\n* satisfies(version, range): Return true if the version satisfies the\n range.\n* maxSatisfying(versions, range): Return the highest version in the list\n that satisfies the range, or null if none of them do.\n',
3044 silly resolved readmeFilename: 'README.md',
3044 silly resolved bugs: { url: 'https://github.com/isaacs/node-semver/issues' },
3044 silly resolved _id: 'semver@1.1.4',
3044 silly resolved _from: 'semver@~1.1.4' } ]
3045 info install readable-stream@1.0.17 into C:\dev\tmp\test\node_modules\karma\node_modules\log4js
3046 info install async@0.1.15 into C:\dev\tmp\test\node_modules\karma\node_modules\log4js
3047 info install semver@1.1.4 into C:\dev\tmp\test\node_modules\karma\node_modules\log4js
3048 info installOne readable-stream@1.0.17
3049 info installOne async@0.1.15
3050 info installOne semver@1.1.4
3051 silly resolved [ { name: 'utile',
3051 silly resolved description: 'A drop-in replacement for `util` with some additional advantageous functions',
3051 silly resolved version: '0.1.7',
3051 silly resolved author: { name: 'Nodejitsu Inc.', email: 'info@nodejitsu.com' },
3051 silly resolved maintainers: [ [Object] ],
3051 silly resolved repository: { type: 'git', url: 'http://github.com/flatiron/utile.git' },
3051 silly resolved dependencies:
3051 silly resolved { async: '0.1.x',
3051 silly resolved 'deep-equal': '*',
3051 silly resolved i: '0.3.x',
3051 silly resolved mkdirp: '0.x.x',
3051 silly resolved ncp: '0.2.x',
3051 silly resolved rimraf: '1.x.x' },
3051 silly resolved devDependencies: { vows: '0.6.x' },
3051 silly resolved scripts: { test: 'vows --spec' },
3051 silly resolved main: './lib/index',
3051 silly resolved engines: { node: '>= 0.6.4' },
3051 silly resolved readme: '# utile [![Build Status](https://secure.travis-ci.org/flatiron/utile.png)](http://travis-ci.org/flatiron/utile)\n\nA drop-in replacement for `util` with some additional advantageous functions\n\n## Motivation\nJavascript is definitely a "batteries not included language" when compared to languages like Ruby or Python. Node.js has a simple utility library which exposes some basic (but important) functionality:\n\n```\n$ node\n> var util = require(\'util\');\n> util.\n(...)\n\nutil.debug util.error util.exec util.inherits util.inspect\nutil.log util.p util.print util.pump util.puts\n```\n\nWhen one considers their own utility library, why ever bother requiring `util` again? That is the approach taken by this module. To compare:\n\n```\n$ node\n> var utile = require(\'./lib\')\n> utile.\n(...)\n\nutile.async utile.capitalize utile.clone utile.cpr utile.createPath utile.debug\nutile.each utile.error utile.exec utile.file utile.filter utile.find\nutile.inherits utile.log utile.mixin utile.mkdirp utile.p utile.path\nutile.print utile.pump utile.puts utile.randomString utile.requireDir uile.requireDirLazy\nutile.rimraf\n```\n\nAs you can see all of the original methods from `util` are there, but there are several new methods specific to `utile`. A note about implementation: _no node.js native modules are modified by utile, it simply copies those methods._\n\n## Methods\nThe `utile` modules exposes some simple utility methods:\n\n* `.each(obj, iterator)`: Iterate over the keys of an object.\n* `.mixin(target [source0, source1, ...])`: Copies enumerable properties from `source0 ... sourceN` onto `target` and returns the resulting object.\n* `.clone(obj)`: Shallow clones the specified object.\n* `.capitalize(str)`: Capitalizes the specified `str`.\n* `.randomString(length)`: randomString returns a pseudo-random ASCII string (subset) the return value is a string of length ⌈bits/6⌉ of characters from the base64 alphabet.\n* `.filter(obj, test)`: return an object with the properties that `test` returns true on.\n* `.args(arguments)`: Converts function arguments into actual array with special `callback`, `cb`, `array`, and `last` properties. Also supports *optional* argument contracts. See [the example](https://github.com/flatiron/utile/blob/master/examples/utile-args.js) for more details.\n* `.requireDir(directory)`: Requires all files and directories from `directory`, returning an object with keys being filenames (without trailing `.js`) and respective values being return values of `require(filename)`.\n* `.requireDirLazy(directory)`: Lazily requires all files and directories from `directory`, returning an object with keys being filenames (without trailing `.js`) and respective values (getters) being return values of `require(filename)`.\n* `.format([string] text, [array] formats, [array] replacements)`: Replace `formats` in `text` with `replacements`. This will fall back to the original `util.format` command if it is called improperly.\n\n## Packaged Dependencies\nIn addition to the methods that are built-in, utile includes a number of commonly used dependencies to reduce the number of includes in your package.json. These modules _are not eagerly loaded to be respectful of startup time,_ but instead are lazy-loaded getters on the `utile` object\n\n* `.async`: [Async utilities for node and the browser][0]\n* `.inflect`: [Customizable inflections for node.js][6]\n* `.mkdirp`: [Recursively mkdir, like mkdir -p, but in node.js][1]\n* `.rimraf`: [A rm -rf util for nodejs][2]\n* `.cpr`: [Asynchronous recursive file copying with Node.js][3]\n\n## Installation\n\n### Installing npm (node package manager)\n```\n curl http://npmjs.org/install.sh | sh\n```\n\n### Installing utile\n```\n [sudo] npm install utile\n```\n\n## Tests\nAll tests are written with [vows][4] and should be run with [npm][5]:\n\n``` bash\n $ npm test\n```\n\n#### Author: [Nodejitsu Inc.](http://www.nodejitsu.com)\n#### Contributors: [Charlie Robbins](http://github.com/indexzero), [Dominic Tarr](http://github.com/dominictarr)\n#### License: MIT\n\n[0]: https://github.com/caolan/async\n[1]: https://github.com/substack/node-mkdirp\n[2]: https://github.com/isaacs/rimraf\n[3]: https://github.com/avianflu/ncp\n[4]: https://vowsjs.org\n[5]: https://npmjs.org\n[6]: https://github.com/pksunkara/inflect\n',
3051 silly resolved readmeFilename: 'README.md',
3051 silly resolved bugs: { url: 'https://github.com/flatiron/utile/issues' },
3051 silly resolved _id: 'utile@0.1.7',
3051 silly resolved _from: 'utile@~0.1.7' },
3051 silly resolved { name: 'pkginfo',
3051 silly resolved version: '0.2.3',
3051 silly resolved description: 'An easy way to expose properties on a module from a package.json',
3051 silly resolved author: { name: 'Charlie Robbins', email: 'charlie.robbins@gmail.com' },
3051 silly resolved repository:
3051 silly resolved { type: 'git',
3051 silly resolved url: 'http://github.com/indexzero/node-pkginfo.git' },
3051 silly resolved keywords: [ 'info', 'tools', 'package.json' ],
3051 silly resolved devDependencies: { vows: '0.6.x' },
3051 silly resolved main: './lib/pkginfo',
3051 silly resolved scripts: { test: 'vows test/*-test.js --spec' },
3051 silly resolved engines: { node: '>= 0.4.0' },
3051 silly resolved readme: '# node-pkginfo\n\nAn easy way to expose properties on a module from a package.json\n\n## Installation\n\n### Installing npm (node package manager)\n```\n curl http://npmjs.org/install.sh | sh\n```\n\n### Installing pkginfo\n```\n [sudo] npm install pkginfo\n```\n\n## Motivation\nHow often when writing node.js modules have you written the following line(s) of code? \n\n* Hard code your version string into your code\n\n``` js\n exports.version = \'0.1.0\';\n```\n\n* Programmatically expose the version from the package.json\n\n``` js\n exports.version = JSON.parse(fs.readFileSync(\'/path/to/package.json\', \'utf8\')).version;\n```\n\nIn other words, how often have you wanted to expose basic information from your package.json onto your module programmatically? **WELL NOW YOU CAN!**\n\n## Usage\n\nUsing `pkginfo` is idiot-proof, just require and invoke it. \n\n``` js\n var pkginfo = require(\'pkginfo\')(module);\n \n console.dir(module.exports);\n```\n\nBy invoking the `pkginfo` module all of the properties in your `package.json` file will be automatically exposed on the callee module (i.e. the parent module of `pkginfo`). \n\nHere\'s a sample of the output:\n\n```\n { name: \'simple-app\',\n description: \'A test fixture for pkginfo\',\n version: \'0.1.0\',\n author: \'Charlie Robbins <charlie.robbins@gmail.com>\',\n keywords: [ \'test\', \'fixture\' ],\n main: \'./index.js\',\n scripts: { test: \'vows test/*-test.js --spec\' },\n engines: { node: \'>= 0.4.0\' } }\n```\n\n### Expose specific properties\nIf you don\'t want to expose **all** properties on from your `package.json` on your module then simple pass those properties to the `pkginfo` function:\n\n``` js\n var pkginfo = require(\'pkginfo\')(module, \'version\', \'author\');\n \n console.dir(module.exports);\n```\n\n```\n { version: \'0.1.0\',\n author: \'Charlie Robbins <charlie.robbins@gmail.com>\' }\n```\n\nIf you\'re looking for further usage see the [examples][0] included in this repository. \n\n## Run Tests\nTests are written in [vows][1] and give complete coverage of all APIs.\n\n```\n vows test/*-test.js --spec\n```\n\n[0]: https://github.com/indexzero/node-pkginfo/tree/master/examples\n[1]: http://vowsjs.org\n\n#### Author: [Charlie Robbins](http://nodejitsu.com)',
3051 silly resolved readmeFilename: 'README.md',
3051 silly resolved bugs: { url: 'https://github.com/indexzero/node-pkginfo/issues' },
3051 silly resolved _id: 'pkginfo@0.2.3',
3051 silly resolved _from: 'pkginfo@0.2.x' } ]
3052 info install utile@0.1.7 into C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy
3053 info install pkginfo@0.2.3 into C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy
3054 info installOne utile@0.1.7
3055 info installOne pkginfo@0.2.3
3056 info C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\readable-stream unbuild
3057 info C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\async unbuild
3058 info C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\semver unbuild
3059 info C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile unbuild
3060 info C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\pkginfo unbuild
3061 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\readable-stream\1.0.17\package.tgz
3062 silly lockFile 130fa726-4js-node-modules-readable-stream tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\readable-stream
3063 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\readable-stream C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\130fa726-4js-node-modules-readable-stream.lock
3064 silly lockFile 225f049f-adable-stream-1-0-17-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\readable-stream\1.0.17\package.tgz
3065 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\readable-stream\1.0.17\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\225f049f-adable-stream-1-0-17-package-tgz.lock
3066 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\async\0.1.15\package.tgz
3067 silly lockFile 02039f40-odules-log4js-node-modules-async tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\async
3068 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\async C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\02039f40-odules-log4js-node-modules-async.lock
3069 silly lockFile bf13f4f9-m-cache-async-0-1-15-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\async\0.1.15\package.tgz
3070 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\async\0.1.15\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bf13f4f9-m-cache-async-0-1-15-package-tgz.lock
3071 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\semver\1.1.4\package.tgz
3072 silly lockFile 206ca452-dules-log4js-node-modules-semver tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\semver
3073 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\semver C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\206ca452-dules-log4js-node-modules-semver.lock
3074 silly lockFile b0de7bed-m-cache-semver-1-1-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\semver\1.1.4\package.tgz
3075 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\semver\1.1.4\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\b0de7bed-m-cache-semver-1-1-4-package-tgz.lock
3076 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\utile\0.1.7\package.tgz
3077 silly lockFile 5bfe97ea-es-http-proxy-node-modules-utile tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
3078 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\5bfe97ea-es-http-proxy-node-modules-utile.lock
3079 silly lockFile ee91c13a-pm-cache-utile-0-1-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\utile\0.1.7\package.tgz
3080 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\utile\0.1.7\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ee91c13a-pm-cache-utile-0-1-7-package-tgz.lock
3081 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\pkginfo\0.2.3\package.tgz
3082 silly lockFile 5e860d0b--http-proxy-node-modules-pkginfo tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\pkginfo
3083 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\pkginfo C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\5e860d0b--http-proxy-node-modules-pkginfo.lock
3084 silly lockFile 7e170699--cache-pkginfo-0-2-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\pkginfo\0.2.3\package.tgz
3085 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\pkginfo\0.2.3\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\7e170699--cache-pkginfo-0-2-3-package-tgz.lock
3086 silly lockFile 3f08b74a-formidable-1-0-14 formidable@1.0.14
3087 silly lockFile 3f08b74a-formidable-1-0-14 formidable@1.0.14
3088 silly gunzTarPerm modes [ '755', '644' ]
3089 silly gunzTarPerm modes [ '755', '644' ]
3090 silly gunzTarPerm modes [ '755', '644' ]
3091 silly gunzTarPerm modes [ '755', '644' ]
3092 silly gunzTarPerm modes [ '755', '644' ]
3093 silly gunzTarPerm extractEntry package.json
3094 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3095 silly gunzTarPerm extractEntry package.json
3096 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3097 silly gunzTarPerm extractEntry package.json
3098 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3099 silly gunzTarPerm extractEntry package.json
3100 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3101 silly gunzTarPerm extractEntry package.json
3102 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3103 silly gunzTarPerm extractEntry README.md
3104 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
3105 silly gunzTarPerm extractEntry LICENSE
3106 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
3107 silly gunzTarPerm extractEntry .npmignore
3108 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3109 silly gunzTarPerm extractEntry README.md
3110 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
3111 silly gunzTarPerm extractEntry README.md
3112 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
3113 silly gunzTarPerm extractEntry README.md
3114 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
3115 silly gunzTarPerm extractEntry LICENSE
3116 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
3117 silly gunzTarPerm extractEntry LICENSE
3118 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
3119 silly gunzTarPerm extractEntry .npmignore
3120 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3121 silly gunzTarPerm extractEntry README.md
3122 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
3123 silly gunzTarPerm extractEntry duplex.js
3124 silly gunzTarPerm modified mode [ 'duplex.js', 438, 420 ]
3125 silly gunzTarPerm extractEntry writable.js
3126 silly gunzTarPerm modified mode [ 'writable.js', 438, 420 ]
3127 silly gunzTarPerm extractEntry index.js
3128 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3129 silly gunzTarPerm extractEntry lib/async.js
3130 silly gunzTarPerm modified mode [ 'lib/async.js', 438, 420 ]
3131 silly gunzTarPerm extractEntry docs/docco.css
3132 silly gunzTarPerm modified mode [ 'docs/docco.css', 438, 420 ]
3133 silly gunzTarPerm extractEntry docs/pkginfo.html
3134 silly gunzTarPerm modified mode [ 'docs/pkginfo.html', 438, 420 ]
3135 silly gunzTarPerm extractEntry semver.js
3136 silly gunzTarPerm modified mode [ 'semver.js', 438, 420 ]
3137 silly gunzTarPerm extractEntry test.js
3138 silly gunzTarPerm modified mode [ 'test.js', 438, 420 ]
3139 silly gunzTarPerm extractEntry bin/semver
3140 silly gunzTarPerm modified mode [ 'bin/semver', 438, 420 ]
3141 silly gunzTarPerm extractEntry LICENSE
3142 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
3143 silly gunzTarPerm extractEntry .travis.yml
3144 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
3145 silly gunzTarPerm extractEntry examples/package.json
3146 silly gunzTarPerm modified mode [ 'examples/package.json', 438, 420 ]
3147 silly gunzTarPerm extractEntry CHANGELOG.md
3148 silly gunzTarPerm modified mode [ 'CHANGELOG.md', 438, 420 ]
3149 silly gunzTarPerm extractEntry lib/args.js
3150 silly gunzTarPerm modified mode [ 'lib/args.js', 438, 420 ]
3151 silly gunzTarPerm extractEntry examples/all-properties.js
3152 silly gunzTarPerm modified mode [ 'examples/all-properties.js', 438, 420 ]
3153 silly gunzTarPerm extractEntry examples/array-argument.js
3154 silly gunzTarPerm modified mode [ 'examples/array-argument.js', 438, 420 ]
3155 silly gunzTarPerm extractEntry lib/base64.js
3156 silly gunzTarPerm modified mode [ 'lib/base64.js', 438, 420 ]
3157 silly gunzTarPerm extractEntry lib/file.js
3158 silly gunzTarPerm modified mode [ 'lib/file.js', 438, 420 ]
3159 silly gunzTarPerm extractEntry fs.js
3160 silly gunzTarPerm modified mode [ 'fs.js', 438, 420 ]
3161 silly gunzTarPerm extractEntry transform.js
3162 silly gunzTarPerm modified mode [ 'transform.js', 438, 420 ]
3163 silly gunzTarPerm extractEntry lib/format.js
3164 silly gunzTarPerm modified mode [ 'lib/format.js', 438, 420 ]
3165 silly gunzTarPerm extractEntry examples/multiple-properties.js
3166 silly gunzTarPerm modified mode [ 'examples/multiple-properties.js', 438, 420 ]
3167 silly gunzTarPerm extractEntry examples/object-argument.js
3168 silly gunzTarPerm modified mode [ 'examples/object-argument.js', 438, 420 ]
3169 silly gunzTarPerm extractEntry deps/nodeunit.js
3170 silly gunzTarPerm modified mode [ 'deps/nodeunit.js', 438, 420 ]
3171 silly gunzTarPerm extractEntry deps/nodeunit.css
3172 silly gunzTarPerm modified mode [ 'deps/nodeunit.css', 438, 420 ]
3173 silly gunzTarPerm extractEntry lib/index.js
3174 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
3175 silly gunzTarPerm extractEntry test/file-test.js
3176 silly gunzTarPerm modified mode [ 'test/file-test.js', 438, 420 ]
3177 silly gunzTarPerm extractEntry readable.js
3178 silly gunzTarPerm modified mode [ 'readable.js', 438, 420 ]
3179 silly gunzTarPerm extractEntry zlib.js
3180 silly gunzTarPerm modified mode [ 'zlib.js', 438, 420 ]
3181 silly gunzTarPerm extractEntry Makefile
3182 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
3183 silly gunzTarPerm extractEntry nodelint.cfg
3184 silly gunzTarPerm modified mode [ 'nodelint.cfg', 438, 420 ]
3185 silly gunzTarPerm extractEntry test/format-test.js
3186 silly gunzTarPerm modified mode [ 'test/format-test.js', 438, 420 ]
3187 silly gunzTarPerm extractEntry test/function-args-test.js
3188 silly gunzTarPerm modified mode [ 'test/function-args-test.js', 438, 420 ]
3189 silly gunzTarPerm extractEntry passthrough.js
3190 silly gunzTarPerm modified mode [ 'passthrough.js', 438, 420 ]
3191 silly gunzTarPerm extractEntry examples/typer-fsr.js
3192 silly gunzTarPerm modified mode [ 'examples/typer-fsr.js', 438, 420 ]
3193 silly gunzTarPerm extractEntry dist/async.min.js
3194 silly gunzTarPerm modified mode [ 'dist/async.min.js', 438, 420 ]
3195 silly gunzTarPerm extractEntry .gitmodules
3196 silly gunzTarPerm modified mode [ '.gitmodules', 438, 420 ]
3197 silly gunzTarPerm extractEntry examples/typer.js
3198 silly gunzTarPerm modified mode [ 'examples/typer.js', 438, 420 ]
3199 silly gunzTarPerm extractEntry examples/CAPSLOCKTYPER.JS
3200 silly gunzTarPerm modified mode [ 'examples/CAPSLOCKTYPER.JS', 438, 420 ]
3201 silly gunzTarPerm extractEntry examples/single-property.js
3202 silly gunzTarPerm modified mode [ 'examples/single-property.js', 438, 420 ]
3203 silly gunzTarPerm extractEntry lib/pkginfo.js
3204 silly gunzTarPerm modified mode [ 'lib/pkginfo.js', 438, 420 ]
3205 http 304 https://registry.npmjs.org/fresh/0.2.0
3206 silly registry.get cb [ 304,
3206 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3206 silly registry.get etag: '"6CDQ014VE8MJLSGJOYMKCVKVG"',
3206 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3206 silly registry.get 'content-length': '0',
3206 silly registry.get age: '1',
3206 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3207 verbose etag fresh/0.2.0 from cache
3208 http 304 https://registry.npmjs.org/debug
3209 silly registry.get cb [ 304,
3209 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3209 silly registry.get etag: '"AI2IHWD96UTI2Y5ZY8SO9X426"',
3209 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3209 silly registry.get 'content-length': '0',
3209 silly registry.get age: '1',
3209 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3210 verbose etag debug from cache
3211 silly gunzTarPerm extractEntry test/random-string-test.js
3212 silly gunzTarPerm modified mode [ 'test/random-string-test.js', 438, 420 ]
3213 silly gunzTarPerm extractEntry test/require-directory-test.js
3214 silly gunzTarPerm modified mode [ 'test/require-directory-test.js', 438, 420 ]
3215 silly gunzTarPerm extractEntry test/pkginfo-test.js
3216 silly gunzTarPerm modified mode [ 'test/pkginfo-test.js', 438, 420 ]
3217 silly addNameRange number 2 { name: 'debug', range: '*', hasData: true }
3218 silly addNameRange versions [ 'debug',
3218 silly addNameRange [ '0.0.1',
3218 silly addNameRange '0.1.0',
3218 silly addNameRange '0.2.0',
3218 silly addNameRange '0.3.0',
3218 silly addNameRange '0.4.0',
3218 silly addNameRange '0.4.1',
3218 silly addNameRange '0.5.0',
3218 silly addNameRange '0.6.0',
3218 silly addNameRange '0.7.0',
3218 silly addNameRange '0.7.1',
3218 silly addNameRange '0.7.2' ] ]
3219 verbose addNamed [ 'debug', '0.7.2' ]
3220 verbose addNamed [ '0.7.2', '0.7.2' ]
3221 silly lockFile 432e5064-debug-0-7-2 debug@0.7.2
3222 verbose lock debug@0.7.2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\432e5064-debug-0-7-2.lock
3223 silly gunzTarPerm extractEntry test/utile-test.js
3224 silly gunzTarPerm modified mode [ 'test/utile-test.js', 438, 420 ]
3225 silly gunzTarPerm extractEntry test/fixtures/read-json-file/config.json
3226 silly gunzTarPerm modified mode [ 'test/fixtures/read-json-file/config.json', 438, 420 ]
3227 http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
3228 silly registry.get cb [ 304,
3228 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3228 silly registry.get etag: '"4JLO8SIQOKXMA94PVFN5E59WV"',
3228 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3228 silly registry.get 'content-length': '0',
3228 silly registry.get age: '1',
3228 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3229 verbose etag buffer-crc32/0.2.1 from cache
3230 silly lockFile 206ca452-dules-log4js-node-modules-semver tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\semver
3231 silly lockFile 206ca452-dules-log4js-node-modules-semver tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\semver
3232 silly gunzTarPerm extractEntry test/fixtures/require-directory/helloWorld.js
3233 silly gunzTarPerm modified mode [ 'test/fixtures/require-directory/helloWorld.js', 438, 420 ]
3234 silly gunzTarPerm extractEntry test/fixtures/require-directory/directory/index.js
3235 silly gunzTarPerm modified mode [ 'test/fixtures/require-directory/directory/index.js',
3235 silly gunzTarPerm 438,
3235 silly gunzTarPerm 420 ]
3236 silly lockFile b0de7bed-m-cache-semver-1-1-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\semver\1.1.4\package.tgz
3237 silly lockFile b0de7bed-m-cache-semver-1-1-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\semver\1.1.4\package.tgz
3238 silly lockFile 1a4cf0d3-fresh-0-2-0 fresh@0.2.0
3239 silly lockFile 1a4cf0d3-fresh-0-2-0 fresh@0.2.0
3240 info preinstall semver@1.1.4
3241 verbose readDependencies using package.json deps
3242 verbose readDependencies using package.json deps
3243 silly resolved []
3244 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\semver
3245 info build C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\semver
3246 verbose linkStuff [ false,
3246 verbose linkStuff false,
3246 verbose linkStuff false,
3246 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\log4js\\node_modules' ]
3247 info linkStuff semver@1.1.4
3248 verbose linkBins semver@1.1.4
3249 verbose link bins [ { semver: './bin/semver' },
3249 verbose link bins 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\log4js\\node_modules\\.bin',
3249 verbose link bins false ]
3250 verbose linkMans semver@1.1.4
3251 verbose rebuildBundles semver@1.1.4
3252 silly gunzTarPerm extractEntry test/test-async.js
3253 silly gunzTarPerm modified mode [ 'test/test-async.js', 438, 420 ]
3254 silly gunzTarPerm extractEntry test/test.html
3255 silly gunzTarPerm modified mode [ 'test/test.html', 438, 420 ]
3256 silly gunzTarPerm extractEntry test/helpers/macros.js
3257 silly gunzTarPerm modified mode [ 'test/helpers/macros.js', 438, 420 ]
3258 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHMAC.as
3259 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHMAC.as',
3259 silly gunzTarPerm 438,
3259 silly gunzTarPerm 420 ]
3260 silly lockFile 432e5064-debug-0-7-2 debug@0.7.2
3261 silly lockFile 432e5064-debug-0-7-2 debug@0.7.2
3262 http 304 https://registry.npmjs.org/cookie/0.1.0
3263 silly registry.get cb [ 304,
3263 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3263 silly registry.get etag: '"F1R4EMW6NEBFUL3OK9Q9DKBJF"',
3263 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3263 silly registry.get 'content-length': '0',
3263 silly registry.get age: '1',
3263 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3264 verbose etag cookie/0.1.0 from cache
3265 silly lockFile 3ac45eff-debug debug@*
3266 silly lockFile 3ac45eff-debug debug@*
3267 http 304 https://registry.npmjs.org/pause/0.0.1
3268 silly registry.get cb [ 304,
3268 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3268 silly registry.get etag: '"EOB5X18A1J6GDBBJPGSXXC6N8"',
3268 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3268 silly registry.get 'content-length': '0',
3268 silly registry.get age: '1',
3268 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3269 verbose etag pause/0.0.1 from cache
3270 silly lockFile 057d0d26-buffer-crc32-0-2-1 buffer-crc32@0.2.1
3271 silly lockFile 057d0d26-buffer-crc32-0-2-1 buffer-crc32@0.2.1
3272 http 304 https://registry.npmjs.org/send/0.1.4
3273 silly registry.get cb [ 304,
3273 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3273 silly registry.get etag: '"44MEX16XITH6HKKBT0BOK31OO"',
3273 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3273 silly registry.get 'content-length': '0',
3273 silly registry.get age: '1',
3273 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3274 verbose etag send/0.1.4 from cache
3275 http 304 https://registry.npmjs.org/qs/0.6.5
3276 silly registry.get cb [ 304,
3276 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3276 silly registry.get etag: '"A0908O91HJF6S9ZO1VDAN636E"',
3276 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3276 silly registry.get 'content-length': '0',
3276 silly registry.get age: '1',
3276 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3277 verbose etag qs/0.6.5 from cache
3278 http 304 https://registry.npmjs.org/lru-cache
3279 silly registry.get cb [ 304,
3279 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3279 silly registry.get etag: '"14VF40U499GDAIDK33TEOG56Q"',
3279 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3279 silly registry.get 'content-length': '0',
3279 silly registry.get age: '1',
3279 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3280 verbose etag lru-cache from cache
3281 info install semver@1.1.4
3282 info postinstall semver@1.1.4
3283 silly lockFile c62fc432-pause-0-0-1 pause@0.0.1
3284 silly lockFile c62fc432-pause-0-0-1 pause@0.0.1
3285 silly addNameRange number 2 { name: 'lru-cache', range: '>=2.2.0-0 <2.3.0-0', hasData: true }
3286 silly addNameRange versions [ 'lru-cache',
3286 silly addNameRange [ '1.0.1',
3286 silly addNameRange '1.0.2',
3286 silly addNameRange '1.0.3',
3286 silly addNameRange '1.0.4',
3286 silly addNameRange '1.0.5',
3286 silly addNameRange '1.0.6',
3286 silly addNameRange '1.1.0',
3286 silly addNameRange '1.1.1',
3286 silly addNameRange '2.0.0',
3286 silly addNameRange '2.0.1',
3286 silly addNameRange '2.0.2',
3286 silly addNameRange '2.0.3',
3286 silly addNameRange '2.0.4',
3286 silly addNameRange '2.1.0',
3286 silly addNameRange '2.2.0',
3286 silly addNameRange '2.2.1',
3286 silly addNameRange '2.2.2',
3286 silly addNameRange '2.2.4',
3286 silly addNameRange '2.3.0',
3286 silly addNameRange '2.3.1' ] ]
3287 verbose addNamed [ 'lru-cache', '2.2.4' ]
3288 verbose addNamed [ '2.2.4', '2.2.4' ]
3289 silly lockFile 6ce37bbe-lru-cache-2-2-4 lru-cache@2.2.4
3290 verbose lock lru-cache@2.2.4 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\6ce37bbe-lru-cache-2-2-4.lock
3291 silly lockFile b55e145e-cookie-0-1-0 cookie@0.1.0
3292 silly lockFile b55e145e-cookie-0-1-0 cookie@0.1.0
3293 silly lockFile f5e5a40f-qs-0-6-5 qs@0.6.5
3294 silly lockFile f5e5a40f-qs-0-6-5 qs@0.6.5
3295 http 304 https://registry.npmjs.org/uid2/0.0.2
3296 silly registry.get cb [ 304,
3296 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3296 silly registry.get etag: '"6YUT1KABG2MRIOFA9YWQEHH5B"',
3296 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3296 silly registry.get 'content-length': '0',
3296 silly registry.get age: '1',
3296 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3297 verbose etag uid2/0.0.2 from cache
3298 http 304 https://registry.npmjs.org/bytes/0.2.0
3299 silly registry.get cb [ 304,
3299 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3299 silly registry.get etag: '"DDRZ4XRRLN6Z0X2YNRRUFBM29"',
3299 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3299 silly registry.get 'content-length': '0',
3299 silly registry.get age: '1',
3299 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3300 verbose etag bytes/0.2.0 from cache
3301 silly lockFile 555fd08a-send-0-1-4 send@0.1.4
3302 silly lockFile 555fd08a-send-0-1-4 send@0.1.4
3303 http 304 https://registry.npmjs.org/methods/0.0.1
3304 silly registry.get cb [ 304,
3304 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3304 silly registry.get etag: '"D7BIME5C6Q45VILIKMWZAC09D"',
3304 silly registry.get date: 'Tue, 01 Oct 2013 14:42:42 GMT',
3304 silly registry.get 'content-length': '0',
3304 silly registry.get age: '1',
3304 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
3305 verbose etag methods/0.0.1 from cache
3306 silly gunzTarPerm extractEntry test/common.js
3307 silly gunzTarPerm modified mode [ 'test/common.js', 438, 420 ]
3308 silly gunzTarPerm extractEntry test/fixtures/x1024.txt
3309 silly gunzTarPerm modified mode [ 'test/fixtures/x1024.txt', 438, 420 ]
3310 silly lockFile aaa92211-uid2-0-0-2 uid2@0.0.2
3311 silly lockFile aaa92211-uid2-0-0-2 uid2@0.0.2
3312 silly lockFile 6ce37bbe-lru-cache-2-2-4 lru-cache@2.2.4
3313 silly lockFile 6ce37bbe-lru-cache-2-2-4 lru-cache@2.2.4
3314 silly lockFile d6459a6a-lru-cache-2-2-x lru-cache@2.2.x
3315 silly lockFile d6459a6a-lru-cache-2-2-x lru-cache@2.2.x
3316 silly resolved [ { name: 'lru-cache',
3316 silly resolved description: 'A cache object that deletes the least-recently-used items.',
3316 silly resolved version: '2.2.4',
3316 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
3316 silly resolved scripts: { test: 'tap test --gc' },
3316 silly resolved main: 'lib/lru-cache.js',
3316 silly resolved repository:
3316 silly resolved { type: 'git',
3316 silly resolved url: 'git://github.com/isaacs/node-lru-cache.git' },
3316 silly resolved devDependencies: { tap: '', weak: '' },
3316 silly resolved license:
3316 silly resolved { type: 'MIT',
3316 silly resolved url: 'http://github.com/isaacs/node-lru-cache/raw/master/LICENSE' },
3316 silly resolved contributors:
3316 silly resolved [ [Object],
3316 silly resolved [Object],
3316 silly resolved [Object],
3316 silly resolved [Object],
3316 silly resolved [Object],
3316 silly resolved [Object],
3316 silly resolved [Object] ],
3316 silly resolved readme: '# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require("lru-cache")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set("key", "value")\ncache.get("key") // "value"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it\'ll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that\'s the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it\'ll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you\'re storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `n`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It\'s called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you\'ll have to do that in a\n `nextTick` or `setTimeout` callback or it won\'t do anything.\n* `stale` By default, if you set a `maxAge`, it\'ll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it\'s\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it\'ll return the stale value before deleting it. If\n you don\'t set this, then it\'ll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n Both of these will update the "recently used"-ness of the key.\n They do what you think.\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n',
3316 silly resolved readmeFilename: 'README.md',
3316 silly resolved bugs: { url: 'https://github.com/isaacs/node-lru-cache/issues' },
3316 silly resolved _id: 'lru-cache@2.2.4',
3316 silly resolved _from: 'lru-cache@2.2.x' } ]
3317 info install lru-cache@2.2.4 into C:\dev\tmp\test\node_modules\karma\node_modules\useragent
3318 info installOne lru-cache@2.2.4
3319 silly lockFile 5e860d0b--http-proxy-node-modules-pkginfo tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\pkginfo
3320 silly lockFile 5e860d0b--http-proxy-node-modules-pkginfo tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\pkginfo
3321 info C:\dev\tmp\test\node_modules\karma\node_modules\useragent\node_modules\lru-cache unbuild
3322 silly lockFile 7e170699--cache-pkginfo-0-2-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\pkginfo\0.2.3\package.tgz
3323 silly lockFile 7e170699--cache-pkginfo-0-2-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\pkginfo\0.2.3\package.tgz
3324 silly lockFile e351aee0-bytes-0-2-0 bytes@0.2.0
3325 silly lockFile e351aee0-bytes-0-2-0 bytes@0.2.0
3326 silly gunzTarPerm extractEntry test/simple/test-stream2-basic.js
3327 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-basic.js', 438, 420 ]
3328 silly gunzTarPerm extractEntry test/simple/test-stream2-pipe-error-handling.js
3329 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-pipe-error-handling.js', 438, 420 ]
3330 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lru-cache\2.2.4\package.tgz
3331 silly lockFile 6ffa3c7e-useragent-node-modules-lru-cache tar://C:\dev\tmp\test\node_modules\karma\node_modules\useragent\node_modules\lru-cache
3332 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\useragent\node_modules\lru-cache C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\6ffa3c7e-useragent-node-modules-lru-cache.lock
3333 silly lockFile e0bc05f3-ache-lru-cache-2-2-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lru-cache\2.2.4\package.tgz
3334 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lru-cache\2.2.4\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\e0bc05f3-ache-lru-cache-2-2-4-package-tgz.lock
3335 info preinstall pkginfo@0.2.3
3336 silly gunzTarPerm modes [ '755', '644' ]
3337 silly lockFile 209c2920-methods-0-0-1 methods@0.0.1
3338 silly lockFile 209c2920-methods-0-0-1 methods@0.0.1
3339 silly resolved [ { name: 'cookie-signature',
3339 silly resolved version: '1.0.1',
3339 silly resolved description: 'Sign and unsign cookies',
3339 silly resolved keywords: [ 'cookie', 'sign', 'unsign' ],
3339 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@learnboost.com' },
3339 silly resolved dependencies: {},
3339 silly resolved devDependencies: { mocha: '*', should: '*' },
3339 silly resolved main: 'index',
3339 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.',
3339 silly resolved readmeFilename: 'Readme.md',
3339 silly resolved _id: 'cookie-signature@1.0.1',
3339 silly resolved _from: 'cookie-signature@1.0.1' },
3339 silly resolved { name: 'formidable',
3339 silly resolved description: 'A node.js module for parsing form data, especially file uploads.',
3339 silly resolved homepage: 'https://github.com/felixge/node-formidable',
3339 silly resolved version: '1.0.14',
3339 silly resolved devDependencies:
3339 silly resolved { gently: '0.8.0',
3339 silly resolved findit: '0.1.1',
3339 silly resolved hashish: '0.0.4',
3339 silly resolved urun: '~0.0.6',
3339 silly resolved utest: '0.0.3',
3339 silly resolved request: '~2.11.4' },
3339 silly resolved directories: { lib: './lib' },
3339 silly resolved main: './lib/index',
3339 silly resolved scripts: { test: 'node test/run.js', clean: 'rm test/tmp/*' },
3339 silly resolved engines: { node: '>=0.8.0' },
3339 silly resolved repository:
3339 silly resolved { type: 'git',
3339 silly resolved url: 'git://github.com/felixge/node-formidable.git' },
3339 silly resolved bugs: { url: 'http://github.com/felixge/node-formidable/issues' },
3339 silly resolved optionalDependencies: {},
3339 silly resolved readme: '# Formidable\n\n[![Build Status](https://secure.travis-ci.org/felixge/node-formidable.png?branch=master)](http://travis-ci.org/felixge/node-formidable)\n\n## Purpose\n\nA node.js module for parsing form data, especially file uploads.\n\n## Current status\n\nThis module was developed for [Transloadit](http://transloadit.com/), a service focused on uploading\nand encoding images and videos. It has been battle-tested against hundreds of GB of file uploads from\na large variety of clients and is considered production-ready.\n\n## Features\n\n* Fast (~500mb/sec), non-buffering multipart parser\n* Automatically writing file uploads to disk\n* Low memory footprint\n* Graceful error handling\n* Very high test coverage\n\n## Installation\n\nVia [npm](http://github.com/isaacs/npm):\n```\nnpm install formidable@latest\n```\nManually:\n```\ngit clone git://github.com/felixge/node-formidable.git formidable\nvim my.js\n# var formidable = require(\'./formidable\');\n```\n\nNote: Formidable requires [gently](http://github.com/felixge/node-gently) to run the unit tests, but you won\'t need it for just using the library.\n\n## Example\n\nParse an incoming file upload.\n```javascript\nvar formidable = require(\'formidable\'),\n http = require(\'http\'),\n util = require(\'util\');\n\nhttp.createServer(function(req, res) {\n if (req.url == \'/upload\' && req.method.toLowerCase() == \'post\') {\n // parse a file upload\n var form = new formidable.IncomingForm();\n\n form.parse(req, function(err, fields, files) {\n res.writeHead(200, {\'content-type\': \'text/plain\'});\n res.write(\'received upload:\\n\\n\');\n res.end(util.inspect({fields: fields, files: files}));\n });\n\n return;\n }\n\n // show a file upload form\n res.writeHead(200, {\'content-type\': \'text/html\'});\n res.end(\n \'<form action="/upload" enctype="multipart/form-data" method="post">\'+\n \'<input type="text" name="title"><br>\'+\n \'<input type="file" name="upload" multiple="multiple"><br>\'+\n \'<input type="submit" value="Upload">\'+\n \'</form>\'\n );\n}).listen(8080);\n```\n## API\n\n### Formidable.IncomingForm\n```javascript\nvar form = new formidable.IncomingForm()\n```\nCreates a new incoming form.\n\n```javascript\nform.encoding = \'utf-8\';\n```\nSets encoding for incoming form fields.\n\n```javascript\nform.uploadDir = process.env.TMP || process.env.TMPDIR || process.env.TEMP || \'/tmp\' || process.cwd();\n```\nThe directory for placing file uploads in. You can move them later on using\n`fs.rename()`. The default directory is picked at module load time depending on\nthe first existing directory from those listed above.\n\n```javascript\nform.keepExtensions = false;\n```\nIf you want the files written to `form.uploadDir` to include the extensions of the original files, set this property to `true`.\n\n```javascript\nform.type\n```\nEither \'multipart\' or \'urlencoded\' depending on the incoming request.\n\n```javascript\nform.maxFieldsSize = 2 * 1024 * 1024;\n```\nLimits the amount of memory a field (not file) can allocate in bytes.\nIf this value is exceeded, an `\'error\'` event is emitted. The default\nsize is 2MB.\n\n```javascript\nform.maxFields = 0;\n```\nLimits the number of fields that the querystring parser will decode. Defaults\nto 0 (unlimited).\n\n```javascript\nform.hash = false;\n```\nIf you want checksums calculated for incoming files, set this to either `\'sha1\'` or `\'md5\'`.\n\n```javascript\nform.bytesReceived\n```\nThe amount of bytes received for this form so far.\n\n```javascript\nform.bytesExpected\n```\nThe expected number of bytes in this form.\n\n```javascript\nform.parse(request, [cb]);\n```\nParses an incoming node.js `request` containing form data. If `cb` is provided, all fields an files are collected and passed to the callback:\n\n\n```javascript\nform.parse(req, function(err, fields, files) {\n // ...\n});\n\nform.onPart(part);\n```\nYou may overwrite this method if you are interested in directly accessing the multipart stream. Doing so will disable any `\'field\'` / `\'file\'` events processing which would occur otherwise, making you fully responsible for handling the processing.\n\n```javascript\nform.onPart = function(part) {\n part.addListener(\'data\', function() {\n // ...\n });\n}\n```\nIf you want to use formidable to only handle certain parts for you, you can do so:\n```javascript\nform.onPart = function(part) {\n if (!part.filename) {\n // let formidable handle all non-file parts\n form.handlePart(part);\n }\n}\n```\nCheck the code in this method for further inspiration.\n\n\n### Formidable.File\n```javascript\nfile.size = 0\n```\nThe size of the uploaded file in bytes. If the file is still being uploaded (see `\'fileBegin\'` event), this property says how many bytes of the file have been written to disk yet.\n```javascript\nfile.path = null\n```\nThe path this file is being written to. You can modify this in the `\'fileBegin\'` event in\ncase you are unhappy with the way formidable generates a temporary path for your files.\n```javascript\nfile.name = null\n```\nThe name this file had according to the uploading client.\n```javascript\nfile.type = null\n```\nThe mime type of this file, according to the uploading client.\n```javascript\nfile.lastModifiedDate = null\n```\nA date object (or `null`) containing the time this file was last written to. Mostly\nhere for compatibility with the [W3C File API Draft](http://dev.w3.org/2006/webapi/FileAPI/).\n```javascript\nfile.hash = null\n```\nIf hash calculation was set, you can read the hex digest out of this var.\n\n#### Formidable.File#toJSON()\n\n This method returns a JSON-representation of the file, allowing you to\n `JSON.stringify()` the file which is useful for logging and responding\n to requests.\n\n### Events\n\n\n#### \'progress\'\n```javascript\nform.on(\'progress\', function(bytesReceived, bytesExpected) {\n});\n```\nEmitted after each incoming chunk of data that has been parsed. Can be used to roll your own progress bar.\n\n\n\n#### \'field\'\n```javascript\nform.on(\'field\', function(name, value) {\n});\n```\n\n#### \'fileBegin\'\n\nEmitted whenever a field / value pair has been received.\n```javascript\nform.on(\'fileBegin\', function(name, file) {\n});\n```\n\n#### \'file\'\n\nEmitted whenever a new file is detected in the upload stream. Use this even if\nyou want to stream the file to somewhere else while buffering the upload on\nthe file system.\n\nEmitted whenever a field / file pair has been received. `file` is an instance of `File`.\n```javascript\nform.on(\'file\', function(name, file) {\n});\n```\n\n#### \'error\'\n\nEmitted when there is an error processing the incoming form. A request that experiences an error is automatically paused, you will have to manually call `request.resume()` if you want the request to continue firing `\'data\'` events.\n```javascript\nform.on(\'error\', function(err) {\n});\n```\n\n#### \'aborted\'\n\n\nEmitted when the request was aborted by the user. Right now this can be due to a \'timeout\' or \'close\' event on the socket. In the future there will be a separate \'timeout\' event (needs a change in the node core).\n```javascript\nform.on(\'aborted\', function() {\n});\n```\n\n##### \'end\'\n```javascript\nform.on(\'end\', function() {\n});\n```\nEmitted when the entire request has been received, and all contained files have finished flushing to disk. This is a great place for you to send your response.\n\n\n\n## Changelog\n\n### v1.0.14\n\n* Add failing hash tests. (Ben Trask)\n* Enable hash calculation again (Eugene Girshov)\n* Test for immediate data events (Tim Smart)\n* Re-arrange IncomingForm#parse (Tim Smart)\n\n### v1.0.13\n\n* Only update hash if update method exists (Sven Lito)\n* According to travis v0.10 needs to go quoted (Sven Lito)\n* Bumping build node versions (Sven Lito)\n* Additional fix for empty requests (Eugene Girshov)\n* Change the default to 1000, to match the new Node behaviour. (OrangeDog)\n* Add ability to control maxKeys in the querystring parser. (OrangeDog)\n* Adjust test case to work with node 0.9.x (Eugene Girshov)\n* Update package.json (Sven Lito)\n* Path adjustment according to eb4468b (Markus Ast)\n\n### v1.0.12\n\n* Emit error on aborted connections (Eugene Girshov)\n* Add support for empty requests (Eugene Girshov)\n* Fix name/filename handling in Content-Disposition (jesperp)\n* Tolerate malformed closing boundary in multipart (Eugene Girshov)\n* Ignore preamble in multipart messages (Eugene Girshov)\n* Add support for application/json (Mike Frey, Carlos Rodriguez)\n* Add support for Base64 encoding (Elmer Bulthuis)\n* Add File#toJSON (TJ Holowaychuk)\n* Remove support for Node.js 0.4 & 0.6 (Andrew Kelley)\n* Documentation improvements (Sven Lito, Andre Azevedo)\n* Add support for application/octet-stream (Ion Lupascu, Chris Scribner)\n* Use os.tmpDir() to get tmp directory (Andrew Kelley)\n* Improve package.json (Andrew Kelley, Sven Lito)\n* Fix benchmark script (Andrew Kelley)\n* Fix scope issue in incoming_forms (Sven Lito)\n* Fix file handle leak on error (OrangeDog)\n\n### v1.0.11\n\n* Calculate checksums for incoming files (sreuter)\n* Add definition parameters to "IncomingForm" as an argument (Math-)\n\n### v1.0.10\n\n* Make parts to be proper Streams (Matt Robenolt)\n\n### v1.0.9\n\n* Emit progress when content length header parsed (Tim Koschützki)\n* Fix Readme syntax due to GitHub changes (goob)\n* Replace references to old \'sys\' module in Readme with \'util\' (Peter Sugihara)\n\n### v1.0.8\n\n* Strip potentially unsafe characters when using `keepExtensions: true`.\n* Switch to utest / urun for testing\n* Add travis build\n\n### v1.0.7\n\n* Remove file from package that was causing problems when installing on windows. (#102)\n* Fix typos in Readme (Jason Davies).\n\n### v1.0.6\n\n* Do not default to the default to the field name for file uploads where\n filename="".\n\n### v1.0.5\n\n* Support filename="" in multipart parts\n* Explain unexpected end() errors in parser better\n\n**Note:** Starting with this version, formidable emits \'file\' events for empty\nfile input fields. Previously those were incorrectly emitted as regular file\ninput fields with value = "".\n\n### v1.0.4\n\n* Detect a good default tmp directory regardless of platform. (#88)\n\n### v1.0.3\n\n* Fix problems with utf8 characters (#84) / semicolons in filenames (#58)\n* Small performance improvements\n* New test suite and fixture system\n\n### v1.0.2\n\n* Exclude node\\_modules folder from git\n* Implement new `\'aborted\'` event\n* Fix files in example folder to work with recent node versions\n* Make gently a devDependency\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v1.0.1...v1.0.2)\n\n### v1.0.1\n\n* Fix package.json to refer to proper main directory. (#68, Dean Landolt)\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v1.0.0...v1.0.1)\n\n### v1.0.0\n\n* Add support for multipart boundaries that are quoted strings. (Jeff Craig)\n\nThis marks the beginning of development on version 2.0 which will include\nseveral architectural improvements.\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v0.9.11...v1.0.0)\n\n### v0.9.11\n\n* Emit `\'progress\'` event when receiving data, regardless of parsing it. (Tim Koschützki)\n* Use [W3C FileAPI Draft](http://dev.w3.org/2006/webapi/FileAPI/) properties for File class\n\n**Important:** The old property names of the File class will be removed in a\nfuture release.\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v0.9.10...v0.9.11)\n\n### Older releases\n\nThese releases were done before starting to maintain the above Changelog:\n\n* [v0.9.10](https://github.com/felixge/node-formidable/compare/v0.9.9...v0.9.10)\n* [v0.9.9](https://github.com/felixge/node-formidable/compare/v0.9.8...v0.9.9)\n* [v0.9.8](https://github.com/felixge/node-formidable/compare/v0.9.7...v0.9.8)\n* [v0.9.7](https://github.com/felixge/node-formidable/compare/v0.9.6...v0.9.7)\n* [v0.9.6](https://github.com/felixge/node-formidable/compare/v0.9.5...v0.9.6)\n* [v0.9.5](https://github.com/felixge/node-formidable/compare/v0.9.4...v0.9.5)\n* [v0.9.4](https://github.com/felixge/node-formidable/compare/v0.9.3...v0.9.4)\n* [v0.9.3](https://github.com/felixge/node-formidable/compare/v0.9.2...v0.9.3)\n* [v0.9.2](https://github.com/felixge/node-formidable/compare/v0.9.1...v0.9.2)\n* [v0.9.1](https://github.com/felixge/node-formidable/compare/v0.9.0...v0.9.1)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.1.0](https://github.com/felixge/node-formidable/commits/v0.1.0)\n\n## License\n\nFormidable is licensed under the MIT license.\n\n## Ports\n\n* [multipart-parser](http://github.com/FooBarWidget/multipart-parser): a C++ parser based on formidable\n\n## Credits\n\n* [Ryan Dahl](http://twitter.com/ryah) for his work on [http-parser](http://github.com/ry/http-parser) which heavily inspired multipart_parser.js\n',
3339 silly resolved readmeFilename: 'Readme.md',
3339 silly resolved dependencies: {},
3339 silly resolved _id: 'formidable@1.0.14',
3339 silly resolved _from: 'formidable@1.0.14' },
3339 silly resolved { name: 'fresh',
3339 silly resolved author:
3339 silly resolved { name: 'TJ Holowaychuk',
3339 silly resolved email: 'tj@vision-media.ca',
3339 silly resolved url: 'http://tjholowaychuk.com' },
3339 silly resolved description: 'HTTP response freshness testing',
3339 silly resolved version: '0.2.0',
3339 silly resolved main: 'index.js',
3339 silly resolved repository:
3339 silly resolved { type: 'git',
3339 silly resolved url: 'https://github.com/visionmedia/node-fresh.git' },
3339 silly resolved dependencies: {},
3339 silly resolved devDependencies: { mocha: '*', should: '*' },
3339 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.',
3339 silly resolved readmeFilename: 'Readme.md',
3339 silly resolved bugs: { url: 'https://github.com/visionmedia/node-fresh/issues' },
3339 silly resolved _id: 'fresh@0.2.0',
3339 silly resolved _from: 'fresh@0.2.0' },
3339 silly resolved { name: 'debug',
3339 silly resolved version: '0.7.2',
3339 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/debug.git' },
3339 silly resolved description: 'small debugging utility',
3339 silly resolved keywords: [ 'debug', 'log', 'debugger' ],
3339 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
3339 silly resolved dependencies: {},
3339 silly resolved devDependencies: { mocha: '*' },
3339 silly resolved main: 'lib/debug.js',
3339 silly resolved browserify: 'debug.js',
3339 silly resolved engines: { node: '*' },
3339 silly resolved component: { scripts: [Object] },
3339 silly resolved readme: '\n# 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.',
3339 silly resolved readmeFilename: 'Readme.md',
3339 silly resolved bugs: { url: 'https://github.com/visionmedia/debug/issues' },
3339 silly resolved _id: 'debug@0.7.2',
3339 silly resolved _from: 'debug@*' },
3339 silly resolved { author:
3339 silly resolved { name: 'Brian J. Brennan',
3339 silly resolved email: 'brianloveswords@gmail.com',
3339 silly resolved url: 'http://bjb.io' },
3339 silly resolved name: 'buffer-crc32',
3339 silly resolved description: 'A pure javascript CRC32 algorithm that plays nice with binary data',
3339 silly resolved version: '0.2.1',
3339 silly resolved contributors: [ [Object] ],
3339 silly resolved homepage: 'https://github.com/brianloveswords/buffer-crc32',
3339 silly resolved repository:
3339 silly resolved { type: 'git',
3339 silly resolved url: 'git://github.com/brianloveswords/buffer-crc32.git' },
3339 silly resolved main: 'index.js',
3339 silly resolved scripts: { test: './node_modules/.bin/tap tests/*.test.js' },
3339 silly resolved dependencies: {},
3339 silly resolved devDependencies: { tap: '~0.2.5' },
3339 silly resolved optionalDependencies: {},
3339 silly resolved engines: { node: '*' },
3339 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',
3339 silly resolved readmeFilename: 'README.md',
3339 silly resolved bugs: { url: 'https://github.com/brianloveswords/buffer-crc32/issues' },
3339 silly resolved _id: 'buffer-crc32@0.2.1',
3339 silly resolved _from: 'buffer-crc32@0.2.1' },
3339 silly resolved { name: 'pause',
3339 silly resolved version: '0.0.1',
3339 silly resolved description: 'Pause streams...',
3339 silly resolved keywords: [],
3339 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
3339 silly resolved dependencies: {},
3339 silly resolved devDependencies: { mocha: '*', should: '*' },
3339 silly resolved main: 'index',
3339 silly resolved readme: '\n# pause\n\n Pause streams...\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.',
3339 silly resolved readmeFilename: 'Readme.md',
3339 silly resolved _id: 'pause@0.0.1',
3339 silly resolved _from: 'pause@0.0.1' },
3339 silly resolved { author: { name: 'Roman Shtylman', email: 'shtylman@gmail.com' },
3339 silly resolved name: 'cookie',
3339 silly resolved description: 'cookie parsing and serialization',
3339 silly resolved version: '0.1.0',
3339 silly resolved repository:
3339 silly resolved { type: 'git',
3339 silly resolved url: 'git://github.com/shtylman/node-cookie.git' },
3339 silly resolved keywords: [ 'cookie', 'cookies' ],
3339 silly resolved main: 'index.js',
3339 silly resolved scripts: { test: 'mocha' },
3339 silly resolved dependencies: {},
3339 silly resolved devDependencies: { mocha: '1.x.x' },
3339 silly resolved optionalDependencies: {},
3339 silly resolved engines: { node: '*' },
3339 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',
3339 silly resolved readmeFilename: 'README.md',
3339 silly resolved bugs: { url: 'https://github.com/shtylman/node-cookie/issues' },
3339 silly resolved _id: 'cookie@0.1.0',
3339 silly resolved _from: 'cookie@0.1.0' },
3339 silly resolved { name: 'qs',
3339 silly resolved description: 'querystring parser',
3339 silly resolved version: '0.6.5',
3339 silly resolved keywords: [ 'query string', 'parser', 'component' ],
3339 silly resolved repository:
3339 silly resolved { type: 'git',
3339 silly resolved url: 'git://github.com/visionmedia/node-querystring.git' },
3339 silly resolved devDependencies: { mocha: '*', 'expect.js': '*' },
3339 silly resolved scripts: { test: 'make test' },
3339 silly resolved author:
3339 silly resolved { name: 'TJ Holowaychuk',
3339 silly resolved email: 'tj@vision-media.ca',
3339 silly resolved url: 'http://tjholowaychuk.com' },
3339 silly resolved main: 'index',
3339 silly resolved engines: { node: '*' },
3339 silly resolved readme: '# node-querystring\n\n query string parser for node and the browser supporting nesting, as it was removed from `0.3.x`, so this library provides the previous and commonly desired behaviour (and twice as fast). Used by [express](http://expressjs.com), [connect](http://senchalabs.github.com/connect) and others.\n\n## Installation\n\n $ npm install qs\n\n## Examples\n\n```js\nvar qs = require(\'qs\');\n\nqs.parse(\'user[name][first]=Tobi&user[email]=tobi@learnboost.com\');\n// => { user: { name: { first: \'Tobi\' }, email: \'tobi@learnboost.com\' } }\n\nqs.stringify({ user: { name: \'Tobi\', email: \'tobi@learnboost.com\' }})\n// => user[name]=Tobi&user[email]=tobi%40learnboost.com\n```\n\n## Testing\n\nInstall dev dependencies:\n\n $ npm install -d\n\nand execute:\n\n $ make test\n\nbrowser:\n\n $ open test/browser/index.html\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2010 TJ Holowaychuk &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.',
3339 silly resolved readmeFilename: 'Readme.md',
3339 silly resolved bugs: { url: 'https://github.com/visionmedia/node-querystring/issues' },
3339 silly resolved _id: 'qs@0.6.5',
3339 silly resolved _from: 'qs@0.6.5' },
3339 silly resolved { name: 'send',
3339 silly resolved version: '0.1.4',
3339 silly resolved description: 'Better streaming static file server with Range and conditional-GET support',
3339 silly resolved keywords: [ 'static', 'file', 'server' ],
3339 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
3339 silly resolved dependencies:
3339 silly resolved { debug: '*',
3339 silly resolved mime: '~1.2.9',
3339 silly resolved fresh: '0.2.0',
3339 silly resolved 'range-parser': '0.0.4' },
3339 silly resolved devDependencies: { mocha: '*', should: '*', supertest: '0.0.1', connect: '2.x' },
3339 silly resolved scripts: { test: 'make test' },
3339 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/send.git' },
3339 silly resolved main: 'index',
3339 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',
3339 silly resolved readmeFilename: 'Readme.md',
3339 silly resolved bugs: { url: 'https://github.com/visionmedia/send/issues' },
3339 silly resolved _id: 'send@0.1.4',
3339 silly resolved _from: 'send@0.1.4' },
3339 silly resolved { name: 'uid2',
3339 silly resolved description: 'strong uid',
3339 silly resolved tags: [ 'uid' ],
3339 silly resolved version: '0.0.2',
3339 silly resolved dependencies: {},
3339 silly resolved readme: 'ERROR: No README data found!',
3339 silly resolved _id: 'uid2@0.0.2',
3339 silly resolved _from: 'uid2@0.0.2' },
3339 silly resolved { name: 'bytes',
3339 silly resolved author:
3339 silly resolved { name: 'TJ Holowaychuk',
3339 silly resolved email: 'tj@vision-media.ca',
3339 silly resolved url: 'http://tjholowaychuk.com' },
3339 silly resolved description: 'byte size string parser / serializer',
3339 silly resolved version: '0.2.0',
3339 silly resolved main: 'index.js',
3339 silly resolved dependencies: {},
3339 silly resolved devDependencies: { mocha: '*', should: '*' },
3339 silly resolved readme: '# node-bytes\n\n Byte string parser / formatter.\n\n## Example:\n\n```js\nbytes(\'1kb\')\n// => 1024\n\nbytes(\'2mb\')\n// => 2097152\n\nbytes(\'1gb\')\n// => 1073741824\n\nbytes(1073741824)\n// => 1gb\n```\n\n## Installation\n\n```\n$ npm install bytes\n$ component install visionmedia/bytes.js\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk &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',
3339 silly resolved readmeFilename: 'Readme.md',
3339 silly resolved _id: 'bytes@0.2.0',
3339 silly resolved _from: 'bytes@0.2.0' },
3339 silly resolved { name: 'methods',
3339 silly resolved version: '0.0.1',
3339 silly resolved description: 'HTTP methods that node supports',
3339 silly resolved main: 'index.js',
3339 silly resolved scripts: { test: 'echo "Error: no test specified" && exit 1' },
3339 silly resolved keywords: [ 'http', 'methods' ],
3339 silly resolved author: { name: 'TJ Holowaychuk' },
3339 silly resolved license: 'MIT',
3339 silly resolved readme: 'ERROR: No README data found!',
3339 silly resolved _id: 'methods@0.0.1',
3339 silly resolved _from: 'methods@0.0.1' } ]
3340 info install cookie-signature@1.0.1 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3341 info install formidable@1.0.14 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3342 info install fresh@0.2.0 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3343 info install debug@0.7.2 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3344 info install buffer-crc32@0.2.1 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3345 info install pause@0.0.1 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3346 info install cookie@0.1.0 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3347 info install qs@0.6.5 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3348 info install send@0.1.4 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3349 info install uid2@0.0.2 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3350 info install bytes@0.2.0 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3351 info install methods@0.0.1 into C:\dev\tmp\test\node_modules\karma\node_modules\connect
3352 info installOne cookie-signature@1.0.1
3353 info installOne formidable@1.0.14
3354 info installOne fresh@0.2.0
3355 info installOne debug@0.7.2
3356 info installOne buffer-crc32@0.2.1
3357 info installOne pause@0.0.1
3358 info installOne cookie@0.1.0
3359 info installOne qs@0.6.5
3360 info installOne send@0.1.4
3361 info installOne uid2@0.0.2
3362 info installOne bytes@0.2.0
3363 info installOne methods@0.0.1
3364 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie-signature unbuild
3365 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\formidable unbuild
3366 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\fresh unbuild
3367 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\debug unbuild
3368 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\buffer-crc32 unbuild
3369 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\pause unbuild
3370 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie unbuild
3371 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\qs unbuild
3372 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send unbuild
3373 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\uid2 unbuild
3374 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\bytes unbuild
3375 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\methods unbuild
3376 verbose readDependencies using package.json deps
3377 verbose readDependencies using package.json deps
3378 silly resolved []
3379 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\pkginfo
3380 info build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\pkginfo
3381 verbose linkStuff [ false,
3381 verbose linkStuff false,
3381 verbose linkStuff false,
3381 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\http-proxy\\node_modules' ]
3382 info linkStuff pkginfo@0.2.3
3383 verbose linkBins pkginfo@0.2.3
3384 verbose linkMans pkginfo@0.2.3
3385 verbose rebuildBundles pkginfo@0.2.3
3386 info install pkginfo@0.2.3
3387 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cookie-signature\1.0.1\package.tgz
3388 silly lockFile 9d280b0b-ct-node-modules-cookie-signature tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie-signature
3389 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie-signature C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\9d280b0b-ct-node-modules-cookie-signature.lock
3390 silly lockFile 5790ee4b-okie-signature-1-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cookie-signature\1.0.1\package.tgz
3391 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cookie-signature\1.0.1\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\5790ee4b-okie-signature-1-0-1-package-tgz.lock
3392 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\formidable\1.0.14\package.tgz
3393 silly lockFile 1afdb2d9--connect-node-modules-formidable tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\formidable
3394 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\formidable C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\1afdb2d9--connect-node-modules-formidable.lock
3395 silly lockFile aff8322b-he-formidable-1-0-14-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\formidable\1.0.14\package.tgz
3396 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\formidable\1.0.14\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\aff8322b-he-formidable-1-0-14-package-tgz.lock
3397 silly gunzTarPerm extractEntry package.json
3398 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3399 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\fresh\0.2.0\package.tgz
3400 silly lockFile 422bac1a-dules-connect-node-modules-fresh tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\fresh
3401 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\fresh C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\422bac1a-dules-connect-node-modules-fresh.lock
3402 silly lockFile c45c4770-pm-cache-fresh-0-2-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\fresh\0.2.0\package.tgz
3403 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\fresh\0.2.0\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c45c4770-pm-cache-fresh-0-2-0-package-tgz.lock
3404 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\debug\0.7.2\package.tgz
3405 silly lockFile a29be871-dules-connect-node-modules-debug tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\debug
3406 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\debug C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\a29be871-dules-connect-node-modules-debug.lock
3407 silly lockFile bfa19b59-pm-cache-debug-0-7-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\debug\0.7.2\package.tgz
3408 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\debug\0.7.2\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bfa19b59-pm-cache-debug-0-7-2-package-tgz.lock
3409 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\buffer-crc32\0.2.1\package.tgz
3410 silly lockFile a58898d2-onnect-node-modules-buffer-crc32 tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\buffer-crc32
3411 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\buffer-crc32 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\a58898d2-onnect-node-modules-buffer-crc32.lock
3412 silly lockFile 9547dc60-e-buffer-crc32-0-2-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\buffer-crc32\0.2.1\package.tgz
3413 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\buffer-crc32\0.2.1\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\9547dc60-e-buffer-crc32-0-2-1-package-tgz.lock
3414 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\pause\0.0.1\package.tgz
3415 silly lockFile 6a152827-dules-connect-node-modules-pause tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\pause
3416 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\pause C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\6a152827-dules-connect-node-modules-pause.lock
3417 silly lockFile ca195bfe-pm-cache-pause-0-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\pause\0.0.1\package.tgz
3418 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\pause\0.0.1\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ca195bfe-pm-cache-pause-0-0-1-package-tgz.lock
3419 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cookie\0.1.0\package.tgz
3420 silly lockFile 6bdd6f75-ules-connect-node-modules-cookie tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie
3421 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\6bdd6f75-ules-connect-node-modules-cookie.lock
3422 silly lockFile 27149c04-m-cache-cookie-0-1-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cookie\0.1.0\package.tgz
3423 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cookie\0.1.0\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\27149c04-m-cache-cookie-0-1-0-package-tgz.lock
3424 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
3425 silly lockFile d55c0c0c--modules-connect-node-modules-qs tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\qs
3426 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\qs C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\d55c0c0c--modules-connect-node-modules-qs.lock
3427 silly lockFile 4becf6c0-g-npm-cache-qs-0-6-5-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
3428 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\4becf6c0-g-npm-cache-qs-0-6-5-package-tgz.lock
3429 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\send\0.1.4\package.tgz
3430 silly lockFile ac98f5b6-odules-connect-node-modules-send tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send
3431 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ac98f5b6-odules-connect-node-modules-send.lock
3432 silly lockFile 80381a4e-npm-cache-send-0-1-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\send\0.1.4\package.tgz
3433 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\send\0.1.4\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\80381a4e-npm-cache-send-0-1-4-package-tgz.lock
3434 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\uid2\0.0.2\package.tgz
3435 silly lockFile c90a6aa4-odules-connect-node-modules-uid2 tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\uid2
3436 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\uid2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c90a6aa4-odules-connect-node-modules-uid2.lock
3437 silly lockFile 830e7e3c-npm-cache-uid2-0-0-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\uid2\0.0.2\package.tgz
3438 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\uid2\0.0.2\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\830e7e3c-npm-cache-uid2-0-0-2-package-tgz.lock
3439 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bytes\0.2.0\package.tgz
3440 silly lockFile c8da02e9-dules-connect-node-modules-bytes tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\bytes
3441 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\bytes C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c8da02e9-dules-connect-node-modules-bytes.lock
3442 silly lockFile c124fe61-pm-cache-bytes-0-2-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bytes\0.2.0\package.tgz
3443 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bytes\0.2.0\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\c124fe61-pm-cache-bytes-0-2-0-package-tgz.lock
3444 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\methods\0.0.1\package.tgz
3445 silly lockFile 765403af-les-connect-node-modules-methods tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\methods
3446 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\methods C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\765403af-les-connect-node-modules-methods.lock
3447 silly lockFile 36b4930b--cache-methods-0-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\methods\0.0.1\package.tgz
3448 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\methods\0.0.1\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\36b4930b--cache-methods-0-0-1-package-tgz.lock
3449 silly gunzTarPerm extractEntry test/simple/test-stream2-push.js
3450 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-push.js', 438, 420 ]
3451 silly gunzTarPerm extractEntry test/simple/test-stream2-read-sync-stack.js
3452 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-read-sync-stack.js', 438, 420 ]
3453 info postinstall pkginfo@0.2.3
3454 silly gunzTarPerm modes [ '755', '644' ]
3455 silly gunzTarPerm modes [ '755', '644' ]
3456 silly gunzTarPerm modes [ '755', '644' ]
3457 silly gunzTarPerm modes [ '755', '644' ]
3458 silly gunzTarPerm modes [ '755', '644' ]
3459 silly gunzTarPerm modes [ '755', '644' ]
3460 silly gunzTarPerm modes [ '755', '644' ]
3461 silly gunzTarPerm modes [ '755', '644' ]
3462 silly gunzTarPerm modes [ '755', '644' ]
3463 silly gunzTarPerm modes [ '755', '644' ]
3464 silly gunzTarPerm modes [ '755', '644' ]
3465 silly gunzTarPerm modes [ '755', '644' ]
3466 silly gunzTarPerm extractEntry .npmignore
3467 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3468 silly gunzTarPerm extractEntry README.md
3469 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
3470 silly gunzTarPerm extractEntry package.json
3471 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3472 silly gunzTarPerm extractEntry package.json
3473 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3474 silly gunzTarPerm extractEntry package.json
3475 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3476 silly lockFile fc1f7111-les-socket-io-node-modules-redis tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\redis
3477 silly lockFile fc1f7111-les-socket-io-node-modules-redis tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\redis
3478 silly gunzTarPerm extractEntry package.json
3479 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3480 silly gunzTarPerm extractEntry package.json
3481 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3482 silly gunzTarPerm extractEntry package.json
3483 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3484 silly gunzTarPerm extractEntry package.json
3485 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3486 silly gunzTarPerm extractEntry package.json
3487 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3488 silly gunzTarPerm extractEntry package.json
3489 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3490 silly gunzTarPerm extractEntry package.json
3491 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3492 silly gunzTarPerm extractEntry package.json
3493 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3494 silly gunzTarPerm extractEntry package.json
3495 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3496 silly lockFile cab79261-pm-cache-redis-0-7-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\redis\0.7.3\package.tgz
3497 silly lockFile cab79261-pm-cache-redis-0-7-3-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\redis\0.7.3\package.tgz
3498 silly gunzTarPerm extractEntry .npmignore
3499 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3500 silly gunzTarPerm extractEntry index.js
3501 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3502 silly gunzTarPerm extractEntry LICENSE
3503 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
3504 silly gunzTarPerm extractEntry s.js
3505 silly gunzTarPerm modified mode [ 's.js', 438, 420 ]
3506 silly gunzTarPerm extractEntry .npmignore
3507 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3508 silly gunzTarPerm extractEntry LICENSE
3509 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
3510 silly gunzTarPerm extractEntry .npmignore
3511 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3512 silly gunzTarPerm extractEntry index.js
3513 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3514 silly gunzTarPerm extractEntry .npmignore
3515 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3516 silly gunzTarPerm extractEntry README.md
3517 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
3518 silly gunzTarPerm extractEntry .npmignore
3519 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3520 silly gunzTarPerm extractEntry debug.js
3521 silly gunzTarPerm modified mode [ 'debug.js', 438, 420 ]
3522 silly gunzTarPerm extractEntry .npmignore
3523 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3524 silly gunzTarPerm extractEntry index.js
3525 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3526 silly gunzTarPerm extractEntry .npmignore
3527 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3528 silly gunzTarPerm extractEntry index.js
3529 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3530 silly gunzTarPerm extractEntry .npmignore
3531 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3532 silly gunzTarPerm extractEntry README.md
3533 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
3534 silly gunzTarPerm extractEntry index.js
3535 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3536 silly gunzTarPerm extractEntry index.js
3537 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3538 silly gunzTarPerm extractEntry .npmignore
3539 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3540 silly gunzTarPerm extractEntry index.js
3541 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3542 silly gunzTarPerm extractEntry .npmignore
3543 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
3544 silly gunzTarPerm extractEntry index.js
3545 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3546 info preinstall redis@0.7.3
3547 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MAC.as
3548 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MAC.as',
3548 silly gunzTarPerm 438,
3548 silly gunzTarPerm 420 ]
3549 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD2.as
3550 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD2.as',
3550 silly gunzTarPerm 438,
3550 silly gunzTarPerm 420 ]
3551 verbose readDependencies using package.json deps
3552 verbose readDependencies using package.json deps
3553 silly resolved []
3554 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\redis
3555 info build C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\redis
3556 verbose linkStuff [ false,
3556 verbose linkStuff false,
3556 verbose linkStuff false,
3556 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\socket.io\\node_modules' ]
3557 info linkStuff redis@0.7.3
3558 verbose linkBins redis@0.7.3
3559 verbose linkMans redis@0.7.3
3560 verbose rebuildBundles redis@0.7.3
3561 info install redis@0.7.3
3562 silly gunzTarPerm extractEntry History.md
3563 silly gunzTarPerm modified mode [ 'History.md', 438, 420 ]
3564 silly gunzTarPerm extractEntry Makefile
3565 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
3566 silly gunzTarPerm extractEntry AUTHORS
3567 silly gunzTarPerm modified mode [ 'AUTHORS', 438, 420 ]
3568 silly gunzTarPerm extractEntry lib/lru-cache.js
3569 silly gunzTarPerm modified mode [ 'lib/lru-cache.js', 438, 420 ]
3570 silly gunzTarPerm extractEntry History.md
3571 silly gunzTarPerm modified mode [ 'History.md', 438, 420 ]
3572 silly gunzTarPerm extractEntry Makefile
3573 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
3574 info postinstall redis@0.7.3
3575 silly gunzTarPerm extractEntry History.md
3576 silly gunzTarPerm modified mode [ 'History.md', 438, 420 ]
3577 silly gunzTarPerm extractEntry Makefile
3578 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
3579 silly gunzTarPerm extractEntry index.js
3580 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3581 silly gunzTarPerm extractEntry tool/record.js
3582 silly gunzTarPerm modified mode [ 'tool/record.js', 438, 420 ]
3583 silly gunzTarPerm extractEntry .gitmodules
3584 silly gunzTarPerm modified mode [ '.gitmodules', 438, 420 ]
3585 silly gunzTarPerm extractEntry Readme.md
3586 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
3587 silly gunzTarPerm extractEntry LICENSE
3588 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
3589 silly gunzTarPerm extractEntry index.js
3590 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3591 silly gunzTarPerm extractEntry component.json
3592 silly gunzTarPerm modified mode [ 'component.json', 438, 420 ]
3593 silly gunzTarPerm extractEntry History.md
3594 silly gunzTarPerm modified mode [ 'History.md', 438, 420 ]
3595 silly gunzTarPerm extractEntry index.js
3596 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3597 silly gunzTarPerm extractEntry .travis.yml
3598 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
3599 silly gunzTarPerm extractEntry index.js
3600 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
3601 silly gunzTarPerm extractEntry component.json
3602 silly gunzTarPerm modified mode [ 'component.json', 438, 420 ]
3603 silly gunzTarPerm extractEntry History.md
3604 silly gunzTarPerm modified mode [ 'History.md', 438, 420 ]
3605 silly gunzTarPerm extractEntry lib/send.js
3606 silly gunzTarPerm modified mode [ 'lib/send.js', 438, 420 ]
3607 silly gunzTarPerm extractEntry Readme.md
3608 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
3609 silly gunzTarPerm extractEntry Readme.md
3610 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
3611 silly gunzTarPerm extractEntry Makefile
3612 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
3613 silly gunzTarPerm extractEntry Readme.md
3614 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
3615 silly gunzTarPerm extractEntry .travis.yml
3616 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
3617 silly gunzTarPerm extractEntry test/parse.js
3618 silly gunzTarPerm modified mode [ 'test/parse.js', 438, 420 ]
3619 silly gunzTarPerm extractEntry Readme.md
3620 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
3621 silly gunzTarPerm extractEntry lib/utils.js
3622 silly gunzTarPerm modified mode [ 'lib/utils.js', 438, 420 ]
3623 silly gunzTarPerm extractEntry Makefile
3624 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
3625 silly gunzTarPerm extractEntry Readme.md
3626 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
3627 silly gunzTarPerm extractEntry example/app.js
3628 silly gunzTarPerm modified mode [ 'example/app.js', 438, 420 ]
3629 silly gunzTarPerm extractEntry example/wildcards.js
3630 silly gunzTarPerm modified mode [ 'example/wildcards.js', 438, 420 ]
3631 silly gunzTarPerm extractEntry tests/crc.test.js
3632 silly gunzTarPerm modified mode [ 'tests/crc.test.js', 438, 420 ]
3633 silly gunzTarPerm extractEntry .travis.yml
3634 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
3635 silly gunzTarPerm extractEntry benchmark/bench-multipart-parser.js
3636 silly gunzTarPerm modified mode [ 'benchmark/bench-multipart-parser.js', 438, 420 ]
3637 silly lockFile 765403af-les-connect-node-modules-methods tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\methods
3638 silly lockFile 765403af-les-connect-node-modules-methods tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\methods
3639 silly lockFile 36b4930b--cache-methods-0-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\methods\0.0.1\package.tgz
3640 silly lockFile 36b4930b--cache-methods-0-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\methods\0.0.1\package.tgz
3641 silly gunzTarPerm extractEntry test/simple/test-stream2-objects.js
3642 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-objects.js', 438, 420 ]
3643 silly gunzTarPerm extractEntry test/simple/test-stream2-readable-from-list.js
3644 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-readable-from-list.js', 438, 420 ]
3645 silly lockFile c90a6aa4-odules-connect-node-modules-uid2 tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\uid2
3646 silly lockFile c90a6aa4-odules-connect-node-modules-uid2 tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\uid2
3647 silly lockFile 830e7e3c-npm-cache-uid2-0-0-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\uid2\0.0.2\package.tgz
3648 silly lockFile 830e7e3c-npm-cache-uid2-0-0-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\uid2\0.0.2\package.tgz
3649 silly gunzTarPerm extractEntry test/basic.js
3650 silly gunzTarPerm modified mode [ 'test/basic.js', 438, 420 ]
3651 silly gunzTarPerm extractEntry test/foreach.js
3652 silly gunzTarPerm modified mode [ 'test/foreach.js', 438, 420 ]
3653 silly gunzTarPerm extractEntry test/memory-leak.js
3654 silly gunzTarPerm modified mode [ 'test/memory-leak.js', 438, 420 ]
3655 info preinstall methods@0.0.1
3656 info preinstall uid2@0.0.2
3657 silly gunzTarPerm extractEntry test/serialize.js
3658 silly gunzTarPerm modified mode [ 'test/serialize.js', 438, 420 ]
3659 silly gunzTarPerm extractEntry test/mocha.opts
3660 silly gunzTarPerm modified mode [ 'test/mocha.opts', 438, 420 ]
3661 verbose readDependencies using package.json deps
3662 silly gunzTarPerm extractEntry example/json.js
3663 silly gunzTarPerm modified mode [ 'example/json.js', 438, 420 ]
3664 silly gunzTarPerm extractEntry example/post.js
3665 silly gunzTarPerm modified mode [ 'example/post.js', 438, 420 ]
3666 verbose readDependencies using package.json deps
3667 silly resolved []
3668 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\methods
3669 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\methods
3670 verbose linkStuff [ false,
3670 verbose linkStuff false,
3670 verbose linkStuff false,
3670 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
3671 info linkStuff methods@0.0.1
3672 verbose linkBins methods@0.0.1
3673 verbose linkMans methods@0.0.1
3674 verbose rebuildBundles methods@0.0.1
3675 silly gunzTarPerm extractEntry example/worker.js
3676 silly gunzTarPerm modified mode [ 'example/worker.js', 438, 420 ]
3677 silly gunzTarPerm extractEntry example/browser.html
3678 silly gunzTarPerm modified mode [ 'example/browser.html', 438, 420 ]
3679 verbose readDependencies using package.json deps
3680 info install methods@0.0.1
3681 silly gunzTarPerm extractEntry test/simple/test-stream2-readable-legacy-drain.js
3682 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-readable-legacy-drain.js', 438, 420 ]
3683 silly gunzTarPerm extractEntry test/simple/test-stream2-readable-non-empty-end.js
3684 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-readable-non-empty-end.js',
3684 silly gunzTarPerm 438,
3684 silly gunzTarPerm 420 ]
3685 verbose readDependencies using package.json deps
3686 silly resolved []
3687 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\uid2
3688 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\uid2
3689 verbose linkStuff [ false,
3689 verbose linkStuff false,
3689 verbose linkStuff false,
3689 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
3690 info linkStuff uid2@0.0.2
3691 verbose linkBins uid2@0.0.2
3692 verbose linkMans uid2@0.0.2
3693 verbose rebuildBundles uid2@0.0.2
3694 info install uid2@0.0.2
3695 info postinstall methods@0.0.1
3696 info postinstall uid2@0.0.2
3697 silly gunzTarPerm extractEntry example/upload.js
3698 silly gunzTarPerm modified mode [ 'example/upload.js', 438, 420 ]
3699 silly gunzTarPerm extractEntry Readme.md
3700 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
3701 silly gunzTarPerm extractEntry test/common.js
3702 silly gunzTarPerm modified mode [ 'test/common.js', 438, 420 ]
3703 silly gunzTarPerm extractEntry test/run.js
3704 silly gunzTarPerm modified mode [ 'test/run.js', 438, 420 ]
3705 silly gunzTarPerm extractEntry test/fixture/multipart.js
3706 silly gunzTarPerm modified mode [ 'test/fixture/multipart.js', 438, 420 ]
3707 silly gunzTarPerm extractEntry test/fixture/file/beta-sticker-1.png
3708 silly gunzTarPerm modified mode [ 'test/fixture/file/beta-sticker-1.png', 438, 420 ]
3709 silly gunzTarPerm extractEntry test/fixture/file/binaryfile.tar.gz
3710 silly gunzTarPerm modified mode [ 'test/fixture/file/binaryfile.tar.gz', 438, 420 ]
3711 silly gunzTarPerm extractEntry test/fixture/file/blank.gif
3712 silly gunzTarPerm modified mode [ 'test/fixture/file/blank.gif', 438, 420 ]
3713 silly gunzTarPerm extractEntry test/fixture/file/funkyfilename.txt
3714 silly gunzTarPerm modified mode [ 'test/fixture/file/funkyfilename.txt', 438, 420 ]
3715 silly gunzTarPerm extractEntry test/fixture/file/menu_separator.png
3716 silly gunzTarPerm modified mode [ 'test/fixture/file/menu_separator.png', 438, 420 ]
3717 silly gunzTarPerm extractEntry test/fixture/file/plain.txt
3718 silly gunzTarPerm modified mode [ 'test/fixture/file/plain.txt', 438, 420 ]
3719 silly gunzTarPerm extractEntry test/fixture/http/special-chars-in-filename/info.md
3720 silly gunzTarPerm modified mode [ 'test/fixture/http/special-chars-in-filename/info.md',
3720 silly gunzTarPerm 438,
3720 silly gunzTarPerm 420 ]
3721 silly gunzTarPerm extractEntry test/fixture/js/encoding.js
3722 silly gunzTarPerm modified mode [ 'test/fixture/js/encoding.js', 438, 420 ]
3723 silly gunzTarPerm extractEntry test/fixture/js/misc.js
3724 silly gunzTarPerm modified mode [ 'test/fixture/js/misc.js', 438, 420 ]
3725 silly gunzTarPerm extractEntry test/fixture/js/no-filename.js
3726 silly gunzTarPerm modified mode [ 'test/fixture/js/no-filename.js', 438, 420 ]
3727 silly gunzTarPerm extractEntry test/fixture/js/preamble.js
3728 silly gunzTarPerm modified mode [ 'test/fixture/js/preamble.js', 438, 420 ]
3729 silly gunzTarPerm extractEntry test/fixture/js/special-chars-in-filename.js
3730 silly gunzTarPerm modified mode [ 'test/fixture/js/special-chars-in-filename.js', 438, 420 ]
3731 silly gunzTarPerm extractEntry test/fixture/js/workarounds.js
3732 silly gunzTarPerm modified mode [ 'test/fixture/js/workarounds.js', 438, 420 ]
3733 silly gunzTarPerm extractEntry test/integration/test-fixtures.js
3734 silly gunzTarPerm modified mode [ 'test/integration/test-fixtures.js', 438, 420 ]
3735 silly gunzTarPerm extractEntry test/integration/test-json.js
3736 silly gunzTarPerm modified mode [ 'test/integration/test-json.js', 438, 420 ]
3737 silly gunzTarPerm extractEntry test/integration/test-octet-stream.js
3738 silly gunzTarPerm modified mode [ 'test/integration/test-octet-stream.js', 438, 420 ]
3739 silly gunzTarPerm extractEntry test/legacy/common.js
3740 silly gunzTarPerm modified mode [ 'test/legacy/common.js', 438, 420 ]
3741 silly gunzTarPerm extractEntry test/legacy/integration/test-multipart-parser.js
3742 silly gunzTarPerm modified mode [ 'test/legacy/integration/test-multipart-parser.js', 438, 420 ]
3743 silly gunzTarPerm extractEntry test/legacy/simple/test-file.js
3744 silly gunzTarPerm modified mode [ 'test/legacy/simple/test-file.js', 438, 420 ]
3745 silly gunzTarPerm extractEntry test/legacy/simple/test-incoming-form.js
3746 silly gunzTarPerm modified mode [ 'test/legacy/simple/test-incoming-form.js', 438, 420 ]
3747 silly gunzTarPerm extractEntry test/legacy/simple/test-multipart-parser.js
3748 silly gunzTarPerm modified mode [ 'test/legacy/simple/test-multipart-parser.js', 438, 420 ]
3749 silly gunzTarPerm extractEntry test/legacy/simple/test-querystring-parser.js
3750 silly gunzTarPerm modified mode [ 'test/legacy/simple/test-querystring-parser.js', 438, 420 ]
3751 silly gunzTarPerm extractEntry test/legacy/system/test-multi-video-upload.js
3752 silly gunzTarPerm modified mode [ 'test/legacy/system/test-multi-video-upload.js', 438, 420 ]
3753 silly gunzTarPerm extractEntry test/standalone/test-connection-aborted.js
3754 silly gunzTarPerm modified mode [ 'test/standalone/test-connection-aborted.js', 438, 420 ]
3755 silly gunzTarPerm extractEntry test/standalone/test-content-transfer-encoding.js
3756 silly gunzTarPerm modified mode [ 'test/standalone/test-content-transfer-encoding.js', 438, 420 ]
3757 silly gunzTarPerm extractEntry test/standalone/test-issue-46.js
3758 silly gunzTarPerm modified mode [ 'test/standalone/test-issue-46.js', 438, 420 ]
3759 silly gunzTarPerm extractEntry test/tools/base64.html
3760 silly gunzTarPerm modified mode [ 'test/tools/base64.html', 438, 420 ]
3761 silly gunzTarPerm extractEntry test/unit/test-file.js
3762 silly gunzTarPerm modified mode [ 'test/unit/test-file.js', 438, 420 ]
3763 silly gunzTarPerm extractEntry test/unit/test-incoming-form.js
3764 silly gunzTarPerm modified mode [ 'test/unit/test-incoming-form.js', 438, 420 ]
3765 silly gunzTarPerm extractEntry lib/file.js
3766 silly gunzTarPerm modified mode [ 'lib/file.js', 438, 420 ]
3767 silly gunzTarPerm extractEntry lib/incoming_form.js
3768 silly gunzTarPerm modified mode [ 'lib/incoming_form.js', 438, 420 ]
3769 silly gunzTarPerm extractEntry lib/index.js
3770 silly gunzTarPerm modified mode [ 'lib/index.js', 438, 420 ]
3771 silly gunzTarPerm extractEntry lib/json_parser.js
3772 silly gunzTarPerm modified mode [ 'lib/json_parser.js', 438, 420 ]
3773 silly gunzTarPerm extractEntry lib/multipart_parser.js
3774 silly gunzTarPerm modified mode [ 'lib/multipart_parser.js', 438, 420 ]
3775 silly gunzTarPerm extractEntry lib/octet_parser.js
3776 silly gunzTarPerm modified mode [ 'lib/octet_parser.js', 438, 420 ]
3777 silly gunzTarPerm extractEntry lib/querystring_parser.js
3778 silly gunzTarPerm modified mode [ 'lib/querystring_parser.js', 438, 420 ]
3779 silly gunzTarPerm extractEntry History.md
3780 silly gunzTarPerm modified mode [ 'History.md', 438, 420 ]
3781 silly gunzTarPerm extractEntry lib/debug.js
3782 silly gunzTarPerm modified mode [ 'lib/debug.js', 438, 420 ]
3783 silly gunzTarPerm extractEntry test/simple/test-stream2-set-encoding.js
3784 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-set-encoding.js', 438, 420 ]
3785 silly gunzTarPerm extractEntry test/simple/test-stream2-transform.js
3786 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-transform.js', 438, 420 ]
3787 silly gunzTarPerm extractEntry test/simple/test-stream2-large-read-stall.js
3788 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-large-read-stall.js', 438, 420 ]
3789 silly gunzTarPerm extractEntry test/simple/test-stream2-unpipe-drain.js
3790 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-unpipe-drain.js', 438, 420 ]
3791 silly gunzTarPerm extractEntry test/simple/test-stream2-finish-pipe.js
3792 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-finish-pipe.js', 438, 420 ]
3793 silly gunzTarPerm extractEntry test/simple/test-stream2-unpipe-leak.js
3794 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-unpipe-leak.js', 438, 420 ]
3795 silly gunzTarPerm extractEntry test/simple/test-stream2-compatibility.js
3796 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-compatibility.js', 438, 420 ]
3797 silly gunzTarPerm extractEntry test/simple/test-stream2-writable.js
3798 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-writable.js', 438, 420 ]
3799 silly gunzTarPerm extractEntry test/simple/test-stream2-readable-empty-buffer-no-eof.js
3800 silly gunzTarPerm modified mode [ 'test/simple/test-stream2-readable-empty-buffer-no-eof.js',
3800 silly gunzTarPerm 438,
3800 silly gunzTarPerm 420 ]
3801 silly gunzTarPerm extractEntry lib/_stream_duplex.js
3802 silly gunzTarPerm modified mode [ 'lib/_stream_duplex.js', 438, 420 ]
3803 silly gunzTarPerm extractEntry lib/_stream_passthrough.js
3804 silly gunzTarPerm modified mode [ 'lib/_stream_passthrough.js', 438, 420 ]
3805 silly gunzTarPerm extractEntry lib/_stream_readable.js
3806 silly gunzTarPerm modified mode [ 'lib/_stream_readable.js', 438, 420 ]
3807 silly gunzTarPerm extractEntry lib/_stream_transform.js
3808 silly gunzTarPerm modified mode [ 'lib/_stream_transform.js', 438, 420 ]
3809 silly gunzTarPerm extractEntry lib/_stream_writable.js
3810 silly gunzTarPerm modified mode [ 'lib/_stream_writable.js', 438, 420 ]
3811 silly gunzTarPerm extractEntry float.patch
3812 silly gunzTarPerm modified mode [ 'float.patch', 438, 420 ]
3813 silly gunzTarPerm extractEntry Readme.md
3814 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
3815 silly lockFile 6a152827-dules-connect-node-modules-pause tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\pause
3816 silly lockFile 6a152827-dules-connect-node-modules-pause tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\pause
3817 silly lockFile ca195bfe-pm-cache-pause-0-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\pause\0.0.1\package.tgz
3818 silly lockFile ca195bfe-pm-cache-pause-0-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\pause\0.0.1\package.tgz
3819 silly lockFile 9d280b0b-ct-node-modules-cookie-signature tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie-signature
3820 silly lockFile 9d280b0b-ct-node-modules-cookie-signature tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie-signature
3821 silly lockFile 5790ee4b-okie-signature-1-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cookie-signature\1.0.1\package.tgz
3822 silly lockFile 5790ee4b-okie-signature-1-0-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cookie-signature\1.0.1\package.tgz
3823 silly lockFile 422bac1a-dules-connect-node-modules-fresh tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\fresh
3824 silly lockFile 422bac1a-dules-connect-node-modules-fresh tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\fresh
3825 silly lockFile c45c4770-pm-cache-fresh-0-2-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\fresh\0.2.0\package.tgz
3826 silly lockFile c45c4770-pm-cache-fresh-0-2-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\fresh\0.2.0\package.tgz
3827 info preinstall pause@0.0.1
3828 silly lockFile d55c0c0c--modules-connect-node-modules-qs tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\qs
3829 silly lockFile d55c0c0c--modules-connect-node-modules-qs tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\qs
3830 silly lockFile 4becf6c0-g-npm-cache-qs-0-6-5-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
3831 silly lockFile 4becf6c0-g-npm-cache-qs-0-6-5-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\qs\0.6.5\package.tgz
3832 info preinstall cookie-signature@1.0.1
3833 verbose readDependencies using package.json deps
3834 verbose readDependencies using package.json deps
3835 silly resolved []
3836 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\pause
3837 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\pause
3838 verbose linkStuff [ false,
3838 verbose linkStuff false,
3838 verbose linkStuff false,
3838 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
3839 info linkStuff pause@0.0.1
3840 verbose linkBins pause@0.0.1
3841 verbose linkMans pause@0.0.1
3842 verbose rebuildBundles pause@0.0.1
3843 info preinstall fresh@0.2.0
3844 verbose readDependencies using package.json deps
3845 info install pause@0.0.1
3846 silly lockFile c8da02e9-dules-connect-node-modules-bytes tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\bytes
3847 silly lockFile c8da02e9-dules-connect-node-modules-bytes tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\bytes
3848 silly lockFile 5bfe97ea-es-http-proxy-node-modules-utile tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
3849 silly lockFile 5bfe97ea-es-http-proxy-node-modules-utile tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
3850 verbose readDependencies using package.json deps
3851 silly resolved []
3852 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie-signature
3853 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie-signature
3854 verbose linkStuff [ false,
3854 verbose linkStuff false,
3854 verbose linkStuff false,
3854 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
3855 info linkStuff cookie-signature@1.0.1
3856 verbose linkBins cookie-signature@1.0.1
3857 verbose linkMans cookie-signature@1.0.1
3858 verbose rebuildBundles cookie-signature@1.0.1
3859 silly lockFile c124fe61-pm-cache-bytes-0-2-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bytes\0.2.0\package.tgz
3860 silly lockFile c124fe61-pm-cache-bytes-0-2-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bytes\0.2.0\package.tgz
3861 silly lockFile ee91c13a-pm-cache-utile-0-1-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\utile\0.1.7\package.tgz
3862 silly lockFile ee91c13a-pm-cache-utile-0-1-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\utile\0.1.7\package.tgz
3863 info install cookie-signature@1.0.1
3864 info postinstall pause@0.0.1
3865 verbose readDependencies using package.json deps
3866 info preinstall qs@0.6.5
3867 verbose readDependencies using package.json deps
3868 silly resolved []
3869 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\fresh
3870 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\fresh
3871 verbose linkStuff [ false,
3871 verbose linkStuff false,
3871 verbose linkStuff false,
3871 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
3872 info linkStuff fresh@0.2.0
3873 verbose linkBins fresh@0.2.0
3874 verbose linkMans fresh@0.2.0
3875 verbose rebuildBundles fresh@0.2.0
3876 info postinstall cookie-signature@1.0.1
3877 info install fresh@0.2.0
3878 silly lockFile a58898d2-onnect-node-modules-buffer-crc32 tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\buffer-crc32
3879 silly lockFile a58898d2-onnect-node-modules-buffer-crc32 tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\buffer-crc32
3880 silly lockFile 9547dc60-e-buffer-crc32-0-2-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\buffer-crc32\0.2.1\package.tgz
3881 silly lockFile 9547dc60-e-buffer-crc32-0-2-1-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\buffer-crc32\0.2.1\package.tgz
3882 verbose readDependencies using package.json deps
3883 info preinstall bytes@0.2.0
3884 info preinstall utile@0.1.7
3885 info postinstall fresh@0.2.0
3886 verbose readDependencies using package.json deps
3887 silly resolved []
3888 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\qs
3889 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\qs
3890 verbose linkStuff [ false,
3890 verbose linkStuff false,
3890 verbose linkStuff false,
3890 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
3891 info linkStuff qs@0.6.5
3892 verbose linkBins qs@0.6.5
3893 verbose linkMans qs@0.6.5
3894 verbose rebuildBundles qs@0.6.5
3895 info install qs@0.6.5
3896 verbose readDependencies using package.json deps
3897 verbose readDependencies using package.json deps
3898 info postinstall qs@0.6.5
3899 info preinstall buffer-crc32@0.2.1
3900 verbose readDependencies using package.json deps
3901 silly resolved []
3902 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\bytes
3903 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\bytes
3904 verbose linkStuff [ false,
3904 verbose linkStuff false,
3904 verbose linkStuff false,
3904 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
3905 info linkStuff bytes@0.2.0
3906 verbose linkBins bytes@0.2.0
3907 verbose linkMans bytes@0.2.0
3908 verbose rebuildBundles bytes@0.2.0
3909 verbose readDependencies using package.json deps
3910 info install bytes@0.2.0
3911 verbose readDependencies using package.json deps
3912 info postinstall bytes@0.2.0
3913 verbose readDependencies using package.json deps
3914 silly resolved []
3915 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\buffer-crc32
3916 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\buffer-crc32
3917 verbose linkStuff [ false,
3917 verbose linkStuff false,
3917 verbose linkStuff false,
3917 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
3918 info linkStuff buffer-crc32@0.2.1
3919 verbose linkBins buffer-crc32@0.2.1
3920 verbose linkMans buffer-crc32@0.2.1
3921 verbose rebuildBundles buffer-crc32@0.2.1
3922 info install buffer-crc32@0.2.1
3923 info postinstall buffer-crc32@0.2.1
3924 verbose cache add [ 'async@0.1.x', null ]
3925 verbose cache add name=undefined spec="async@0.1.x" args=["async@0.1.x",null]
3926 verbose parsed url { protocol: null,
3926 verbose parsed url slashes: null,
3926 verbose parsed url auth: null,
3926 verbose parsed url host: null,
3926 verbose parsed url port: null,
3926 verbose parsed url hostname: null,
3926 verbose parsed url hash: null,
3926 verbose parsed url search: null,
3926 verbose parsed url query: null,
3926 verbose parsed url pathname: 'async@0.1.x',
3926 verbose parsed url path: 'async@0.1.x',
3926 verbose parsed url href: 'async@0.1.x' }
3927 verbose cache add name="async" spec="0.1.x" args=["async","0.1.x"]
3928 verbose parsed url { protocol: null,
3928 verbose parsed url slashes: null,
3928 verbose parsed url auth: null,
3928 verbose parsed url host: null,
3928 verbose parsed url port: null,
3928 verbose parsed url hostname: null,
3928 verbose parsed url hash: null,
3928 verbose parsed url search: null,
3928 verbose parsed url query: null,
3928 verbose parsed url pathname: '0.1.x',
3928 verbose parsed url path: '0.1.x',
3928 verbose parsed url href: '0.1.x' }
3929 verbose addNamed [ 'async', '0.1.x' ]
3930 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
3931 silly lockFile 463e1c03-async-0-1-x async@0.1.x
3932 verbose lock async@0.1.x C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\463e1c03-async-0-1-x.lock
3933 verbose cache add [ 'deep-equal@*', null ]
3934 verbose cache add name=undefined spec="deep-equal@*" args=["deep-equal@*",null]
3935 verbose parsed url { protocol: null,
3935 verbose parsed url slashes: null,
3935 verbose parsed url auth: null,
3935 verbose parsed url host: null,
3935 verbose parsed url port: null,
3935 verbose parsed url hostname: null,
3935 verbose parsed url hash: null,
3935 verbose parsed url search: null,
3935 verbose parsed url query: null,
3935 verbose parsed url pathname: 'deep-equal@*',
3935 verbose parsed url path: 'deep-equal@*',
3935 verbose parsed url href: 'deep-equal@*' }
3936 verbose cache add name="deep-equal" spec="*" args=["deep-equal","*"]
3937 verbose parsed url { protocol: null,
3937 verbose parsed url slashes: null,
3937 verbose parsed url auth: null,
3937 verbose parsed url host: null,
3937 verbose parsed url port: null,
3937 verbose parsed url hostname: null,
3937 verbose parsed url hash: null,
3937 verbose parsed url search: null,
3937 verbose parsed url query: null,
3937 verbose parsed url pathname: '*',
3937 verbose parsed url path: '*',
3937 verbose parsed url href: '*' }
3938 verbose addNamed [ 'deep-equal', '*' ]
3939 verbose addNamed [ null, '*' ]
3940 silly lockFile 2aa4e33c-deep-equal deep-equal@*
3941 verbose lock deep-equal@* C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\2aa4e33c-deep-equal.lock
3942 verbose cache add [ 'i@0.3.x', null ]
3943 verbose cache add name=undefined spec="i@0.3.x" args=["i@0.3.x",null]
3944 verbose parsed url { protocol: null,
3944 verbose parsed url slashes: null,
3944 verbose parsed url auth: null,
3944 verbose parsed url host: null,
3944 verbose parsed url port: null,
3944 verbose parsed url hostname: null,
3944 verbose parsed url hash: null,
3944 verbose parsed url search: null,
3944 verbose parsed url query: null,
3944 verbose parsed url pathname: 'i@0.3.x',
3944 verbose parsed url path: 'i@0.3.x',
3944 verbose parsed url href: 'i@0.3.x' }
3945 verbose cache add name="i" spec="0.3.x" args=["i","0.3.x"]
3946 verbose parsed url { protocol: null,
3946 verbose parsed url slashes: null,
3946 verbose parsed url auth: null,
3946 verbose parsed url host: null,
3946 verbose parsed url port: null,
3946 verbose parsed url hostname: null,
3946 verbose parsed url hash: null,
3946 verbose parsed url search: null,
3946 verbose parsed url query: null,
3946 verbose parsed url pathname: '0.3.x',
3946 verbose parsed url path: '0.3.x',
3946 verbose parsed url href: '0.3.x' }
3947 verbose addNamed [ 'i', '0.3.x' ]
3948 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
3949 silly lockFile 2b556e57-i-0-3-x i@0.3.x
3950 verbose lock i@0.3.x C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\2b556e57-i-0-3-x.lock
3951 verbose cache add [ 'mkdirp@0.x.x', null ]
3952 verbose cache add name=undefined spec="mkdirp@0.x.x" args=["mkdirp@0.x.x",null]
3953 verbose parsed url { protocol: null,
3953 verbose parsed url slashes: null,
3953 verbose parsed url auth: null,
3953 verbose parsed url host: null,
3953 verbose parsed url port: null,
3953 verbose parsed url hostname: null,
3953 verbose parsed url hash: null,
3953 verbose parsed url search: null,
3953 verbose parsed url query: null,
3953 verbose parsed url pathname: 'mkdirp@0.x.x',
3953 verbose parsed url path: 'mkdirp@0.x.x',
3953 verbose parsed url href: 'mkdirp@0.x.x' }
3954 verbose cache add name="mkdirp" spec="0.x.x" args=["mkdirp","0.x.x"]
3955 verbose parsed url { protocol: null,
3955 verbose parsed url slashes: null,
3955 verbose parsed url auth: null,
3955 verbose parsed url host: null,
3955 verbose parsed url port: null,
3955 verbose parsed url hostname: null,
3955 verbose parsed url hash: null,
3955 verbose parsed url search: null,
3955 verbose parsed url query: null,
3955 verbose parsed url pathname: '0.x.x',
3955 verbose parsed url path: '0.x.x',
3955 verbose parsed url href: '0.x.x' }
3956 verbose addNamed [ 'mkdirp', '0.x.x' ]
3957 verbose addNamed [ null, '>=0.0.0-0 <1.0.0-0' ]
3958 silly lockFile 0cdf6d66-mkdirp-0-x-x mkdirp@0.x.x
3959 verbose lock mkdirp@0.x.x C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\0cdf6d66-mkdirp-0-x-x.lock
3960 verbose cache add [ 'ncp@0.2.x', null ]
3961 verbose cache add name=undefined spec="ncp@0.2.x" args=["ncp@0.2.x",null]
3962 verbose parsed url { protocol: null,
3962 verbose parsed url slashes: null,
3962 verbose parsed url auth: null,
3962 verbose parsed url host: null,
3962 verbose parsed url port: null,
3962 verbose parsed url hostname: null,
3962 verbose parsed url hash: null,
3962 verbose parsed url search: null,
3962 verbose parsed url query: null,
3962 verbose parsed url pathname: 'ncp@0.2.x',
3962 verbose parsed url path: 'ncp@0.2.x',
3962 verbose parsed url href: 'ncp@0.2.x' }
3963 verbose cache add name="ncp" spec="0.2.x" args=["ncp","0.2.x"]
3964 verbose parsed url { protocol: null,
3964 verbose parsed url slashes: null,
3964 verbose parsed url auth: null,
3964 verbose parsed url host: null,
3964 verbose parsed url port: null,
3964 verbose parsed url hostname: null,
3964 verbose parsed url hash: null,
3964 verbose parsed url search: null,
3964 verbose parsed url query: null,
3964 verbose parsed url pathname: '0.2.x',
3964 verbose parsed url path: '0.2.x',
3964 verbose parsed url href: '0.2.x' }
3965 verbose addNamed [ 'ncp', '0.2.x' ]
3966 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
3967 silly lockFile 144b88e9-ncp-0-2-x ncp@0.2.x
3968 verbose lock ncp@0.2.x C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\144b88e9-ncp-0-2-x.lock
3969 verbose cache add [ 'rimraf@1.x.x', null ]
3970 verbose cache add name=undefined spec="rimraf@1.x.x" args=["rimraf@1.x.x",null]
3971 verbose parsed url { protocol: null,
3971 verbose parsed url slashes: null,
3971 verbose parsed url auth: null,
3971 verbose parsed url host: null,
3971 verbose parsed url port: null,
3971 verbose parsed url hostname: null,
3971 verbose parsed url hash: null,
3971 verbose parsed url search: null,
3971 verbose parsed url query: null,
3971 verbose parsed url pathname: 'rimraf@1.x.x',
3971 verbose parsed url path: 'rimraf@1.x.x',
3971 verbose parsed url href: 'rimraf@1.x.x' }
3972 verbose cache add name="rimraf" spec="1.x.x" args=["rimraf","1.x.x"]
3973 verbose parsed url { protocol: null,
3973 verbose parsed url slashes: null,
3973 verbose parsed url auth: null,
3973 verbose parsed url host: null,
3973 verbose parsed url port: null,
3973 verbose parsed url hostname: null,
3973 verbose parsed url hash: null,
3973 verbose parsed url search: null,
3973 verbose parsed url query: null,
3973 verbose parsed url pathname: '1.x.x',
3973 verbose parsed url path: '1.x.x',
3973 verbose parsed url href: '1.x.x' }
3974 verbose addNamed [ 'rimraf', '1.x.x' ]
3975 verbose addNamed [ null, '>=1.0.0-0 <2.0.0-0' ]
3976 silly lockFile 42682ec2-rimraf-1-x-x rimraf@1.x.x
3977 verbose lock rimraf@1.x.x C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\42682ec2-rimraf-1-x-x.lock
3978 silly addNameRange { name: 'async', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
3979 silly addNameRange { name: 'deep-equal', range: '*', hasData: false }
3980 silly addNameRange { name: 'i', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
3981 silly addNameRange { name: 'mkdirp', range: '>=0.0.0-0 <1.0.0-0', hasData: false }
3982 silly addNameRange { name: 'ncp', range: '>=0.2.0-0 <0.3.0-0', hasData: false }
3983 silly addNameRange { name: 'rimraf', range: '>=1.0.0-0 <2.0.0-0', hasData: false }
3984 silly lockFile 6bdd6f75-ules-connect-node-modules-cookie tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie
3985 silly lockFile 6bdd6f75-ules-connect-node-modules-cookie tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie
3986 verbose url raw deep-equal
3987 verbose url resolving [ 'https://registry.npmjs.org/', './deep-equal' ]
3988 verbose url resolved https://registry.npmjs.org/deep-equal
3989 info trying registry request attempt 1 at 16:42:43
3990 verbose etag "6QJV0PWLH2YLLRH0L97O2605B"
3991 http GET https://registry.npmjs.org/deep-equal
3992 verbose registry.get rimraf not expired, no request
3993 silly addNameRange number 2 { name: 'rimraf', range: '>=1.0.0-0 <2.0.0-0', hasData: true }
3994 silly addNameRange versions [ 'rimraf',
3994 silly addNameRange [ '1.0.0',
3994 silly addNameRange '1.0.1',
3994 silly addNameRange '1.0.2',
3994 silly addNameRange '1.0.4',
3994 silly addNameRange '1.0.5',
3994 silly addNameRange '1.0.6',
3994 silly addNameRange '1.0.7',
3994 silly addNameRange '1.0.8',
3994 silly addNameRange '1.0.9',
3994 silly addNameRange '2.0.0',
3994 silly addNameRange '2.0.1',
3994 silly addNameRange '2.0.2',
3994 silly addNameRange '2.0.3',
3994 silly addNameRange '2.1.0',
3994 silly addNameRange '2.1.1',
3994 silly addNameRange '2.1.2',
3994 silly addNameRange '2.1.3',
3994 silly addNameRange '2.1.4',
3994 silly addNameRange '2.2.0',
3994 silly addNameRange '2.2.1',
3994 silly addNameRange '2.2.2' ] ]
3995 verbose addNamed [ 'rimraf', '1.0.9' ]
3996 verbose addNamed [ '1.0.9', '1.0.9' ]
3997 silly lockFile 67d50f11-rimraf-1-0-9 rimraf@1.0.9
3998 verbose lock rimraf@1.0.9 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\67d50f11-rimraf-1-0-9.lock
3999 silly lockFile 27149c04-m-cache-cookie-0-1-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cookie\0.1.0\package.tgz
4000 silly lockFile 27149c04-m-cache-cookie-0-1-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cookie\0.1.0\package.tgz
4001 silly lockFile ac98f5b6-odules-connect-node-modules-send tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send
4002 silly lockFile ac98f5b6-odules-connect-node-modules-send tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send
4003 silly lockFile 80381a4e-npm-cache-send-0-1-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\send\0.1.4\package.tgz
4004 silly lockFile 80381a4e-npm-cache-send-0-1-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\send\0.1.4\package.tgz
4005 verbose url raw mkdirp
4006 verbose url resolving [ 'https://registry.npmjs.org/', './mkdirp' ]
4007 verbose url resolved https://registry.npmjs.org/mkdirp
4008 info trying registry request attempt 1 at 16:42:43
4009 verbose etag "3YOV9Q3CT9E2JNSBJDYYB7XDB"
4010 http GET https://registry.npmjs.org/mkdirp
4011 verbose url raw ncp
4012 verbose url resolving [ 'https://registry.npmjs.org/', './ncp' ]
4013 verbose url resolved https://registry.npmjs.org/ncp
4014 info trying registry request attempt 1 at 16:42:43
4015 verbose etag "ATS9XSOJIH1FYJKRVWQHX9UNW"
4016 http GET https://registry.npmjs.org/ncp
4017 verbose url raw i
4018 verbose url resolving [ 'https://registry.npmjs.org/', './i' ]
4019 verbose url resolved https://registry.npmjs.org/i
4020 info trying registry request attempt 1 at 16:42:43
4021 verbose etag "ECH2VCEPI8YST4FNTYQKTUGG9"
4022 http GET https://registry.npmjs.org/i
4023 verbose url raw async
4024 verbose url resolving [ 'https://registry.npmjs.org/', './async' ]
4025 verbose url resolved https://registry.npmjs.org/async
4026 info trying registry request attempt 1 at 16:42:43
4027 verbose etag "3IS5E1BD2LBAXB1ODZSX9E310"
4028 http GET https://registry.npmjs.org/async
4029 info preinstall cookie@0.1.0
4030 info preinstall send@0.1.4
4031 verbose readDependencies using package.json deps
4032 verbose readDependencies using package.json deps
4033 silly resolved []
4034 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie
4035 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\cookie
4036 verbose linkStuff [ false,
4036 verbose linkStuff false,
4036 verbose linkStuff false,
4036 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
4037 info linkStuff cookie@0.1.0
4038 verbose linkBins cookie@0.1.0
4039 verbose linkMans cookie@0.1.0
4040 verbose rebuildBundles cookie@0.1.0
4041 verbose readDependencies using package.json deps
4042 info install cookie@0.1.0
4043 verbose readDependencies using package.json deps
4044 info postinstall cookie@0.1.0
4045 silly lockFile 67d50f11-rimraf-1-0-9 rimraf@1.0.9
4046 silly lockFile 67d50f11-rimraf-1-0-9 rimraf@1.0.9
4047 silly lockFile 42682ec2-rimraf-1-x-x rimraf@1.x.x
4048 silly lockFile 42682ec2-rimraf-1-x-x rimraf@1.x.x
4049 silly lockFile 6ffa3c7e-useragent-node-modules-lru-cache tar://C:\dev\tmp\test\node_modules\karma\node_modules\useragent\node_modules\lru-cache
4050 silly lockFile 6ffa3c7e-useragent-node-modules-lru-cache tar://C:\dev\tmp\test\node_modules\karma\node_modules\useragent\node_modules\lru-cache
4051 silly lockFile e0bc05f3-ache-lru-cache-2-2-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lru-cache\2.2.4\package.tgz
4052 silly lockFile e0bc05f3-ache-lru-cache-2-2-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\lru-cache\2.2.4\package.tgz
4053 silly lockFile a29be871-dules-connect-node-modules-debug tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\debug
4054 silly lockFile a29be871-dules-connect-node-modules-debug tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\debug
4055 silly lockFile bfa19b59-pm-cache-debug-0-7-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\debug\0.7.2\package.tgz
4056 silly lockFile bfa19b59-pm-cache-debug-0-7-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\debug\0.7.2\package.tgz
4057 info preinstall lru-cache@2.2.4
4058 verbose cache add [ 'range-parser@0.0.4', null ]
4059 verbose cache add name=undefined spec="range-parser@0.0.4" args=["range-parser@0.0.4",null]
4060 verbose parsed url { protocol: null,
4060 verbose parsed url slashes: null,
4060 verbose parsed url auth: null,
4060 verbose parsed url host: null,
4060 verbose parsed url port: null,
4060 verbose parsed url hostname: null,
4060 verbose parsed url hash: null,
4060 verbose parsed url search: null,
4060 verbose parsed url query: null,
4060 verbose parsed url pathname: 'range-parser@0.0.4',
4060 verbose parsed url path: 'range-parser@0.0.4',
4060 verbose parsed url href: 'range-parser@0.0.4' }
4061 verbose cache add name="range-parser" spec="0.0.4" args=["range-parser","0.0.4"]
4062 verbose parsed url { protocol: null,
4062 verbose parsed url slashes: null,
4062 verbose parsed url auth: null,
4062 verbose parsed url host: null,
4062 verbose parsed url port: null,
4062 verbose parsed url hostname: null,
4062 verbose parsed url hash: null,
4062 verbose parsed url search: null,
4062 verbose parsed url query: null,
4062 verbose parsed url pathname: '0.0.4',
4062 verbose parsed url path: '0.0.4',
4062 verbose parsed url href: '0.0.4' }
4063 verbose addNamed [ 'range-parser', '0.0.4' ]
4064 verbose addNamed [ '0.0.4', '0.0.4' ]
4065 silly lockFile 0760c556-range-parser-0-0-4 range-parser@0.0.4
4066 verbose lock range-parser@0.0.4 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\0760c556-range-parser-0-0-4.lock
4067 verbose readDependencies using package.json deps
4068 verbose readDependencies using package.json deps
4069 silly resolved []
4070 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\useragent\node_modules\lru-cache
4071 info build C:\dev\tmp\test\node_modules\karma\node_modules\useragent\node_modules\lru-cache
4072 verbose linkStuff [ false,
4072 verbose linkStuff false,
4072 verbose linkStuff false,
4072 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\useragent\\node_modules' ]
4073 info linkStuff lru-cache@2.2.4
4074 verbose linkBins lru-cache@2.2.4
4075 verbose linkMans lru-cache@2.2.4
4076 verbose rebuildBundles lru-cache@2.2.4
4077 info preinstall debug@0.7.2
4078 info install lru-cache@2.2.4
4079 info postinstall lru-cache@2.2.4
4080 verbose readDependencies using package.json deps
4081 verbose readDependencies using package.json deps
4082 silly resolved []
4083 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\debug
4084 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\debug
4085 verbose linkStuff [ false,
4085 verbose linkStuff false,
4085 verbose linkStuff false,
4085 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
4086 info linkStuff debug@0.7.2
4087 verbose linkBins debug@0.7.2
4088 verbose linkMans debug@0.7.2
4089 verbose rebuildBundles debug@0.7.2
4090 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\useragent
4091 info build C:\dev\tmp\test\node_modules\karma\node_modules\useragent
4092 verbose linkStuff [ false,
4092 verbose linkStuff false,
4092 verbose linkStuff false,
4092 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
4093 info linkStuff useragent@2.0.7
4094 verbose linkBins useragent@2.0.7
4095 verbose linkMans useragent@2.0.7
4096 verbose rebuildBundles useragent@2.0.7
4097 info install debug@0.7.2
4098 verbose rebuildBundles [ 'lru-cache' ]
4099 info install useragent@2.0.7
4100 verbose url raw range-parser/0.0.4
4101 verbose url resolving [ 'https://registry.npmjs.org/', './range-parser/0.0.4' ]
4102 verbose url resolved https://registry.npmjs.org/range-parser/0.0.4
4103 info trying registry request attempt 1 at 16:42:43
4104 verbose etag "27HRUXP1C4FYWUHH9AKW9J76C"
4105 http GET https://registry.npmjs.org/range-parser/0.0.4
4106 info postinstall debug@0.7.2
4107 info postinstall useragent@2.0.7
4108 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD5.as
4109 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD5.as',
4109 silly gunzTarPerm 438,
4109 silly gunzTarPerm 420 ]
4110 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA1.as
4111 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA1.as',
4111 silly gunzTarPerm 438,
4111 silly gunzTarPerm 420 ]
4112 silly lockFile 02039f40-odules-log4js-node-modules-async tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\async
4113 silly lockFile 02039f40-odules-log4js-node-modules-async tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\async
4114 silly lockFile bf13f4f9-m-cache-async-0-1-15-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\async\0.1.15\package.tgz
4115 silly lockFile bf13f4f9-m-cache-async-0-1-15-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\async\0.1.15\package.tgz
4116 info preinstall async@0.1.15
4117 verbose readDependencies using package.json deps
4118 verbose readDependencies using package.json deps
4119 silly resolved []
4120 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\async
4121 info build C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\async
4122 verbose linkStuff [ false,
4122 verbose linkStuff false,
4122 verbose linkStuff false,
4122 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\log4js\\node_modules' ]
4123 info linkStuff async@0.1.15
4124 verbose linkBins async@0.1.15
4125 verbose linkMans async@0.1.15
4126 verbose rebuildBundles async@0.1.15
4127 info install async@0.1.15
4128 info postinstall async@0.1.15
4129 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA224.as
4130 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA224.as',
4130 silly gunzTarPerm 438,
4130 silly gunzTarPerm 420 ]
4131 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA256.as
4132 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA256.as',
4132 silly gunzTarPerm 438,
4132 silly gunzTarPerm 420 ]
4133 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHABase.as
4134 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHABase.as',
4134 silly gunzTarPerm 438,
4134 silly gunzTarPerm 420 ]
4135 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/ARC4.as
4136 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/ARC4.as',
4136 silly gunzTarPerm 438,
4136 silly gunzTarPerm 420 ]
4137 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/IPRNG.as
4138 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/IPRNG.as',
4138 silly gunzTarPerm 438,
4138 silly gunzTarPerm 420 ]
4139 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/Random.as
4140 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/Random.as',
4140 silly gunzTarPerm 438,
4140 silly gunzTarPerm 420 ]
4141 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/TLSPRF.as
4142 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/TLSPRF.as',
4142 silly gunzTarPerm 438,
4142 silly gunzTarPerm 420 ]
4143 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/rsa/RSAKey.as
4144 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/rsa/RSAKey.as',
4144 silly gunzTarPerm 438,
4144 silly gunzTarPerm 420 ]
4145 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IPad.as
4146 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IPad.as',
4146 silly gunzTarPerm 438,
4146 silly gunzTarPerm 420 ]
4147 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/AESKey.as
4148 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/AESKey.as',
4148 silly gunzTarPerm 438,
4148 silly gunzTarPerm 420 ]
4149 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/BlowFishKey.as
4150 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/BlowFishKey.as',
4150 silly gunzTarPerm 438,
4150 silly gunzTarPerm 420 ]
4151 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CBCMode.as
4152 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CBCMode.as',
4152 silly gunzTarPerm 438,
4152 silly gunzTarPerm 420 ]
4153 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFB8Mode.as
4154 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFB8Mode.as',
4154 silly gunzTarPerm 438,
4154 silly gunzTarPerm 420 ]
4155 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFBMode.as
4156 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFBMode.as',
4156 silly gunzTarPerm 438,
4156 silly gunzTarPerm 420 ]
4157 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CTRMode.as
4158 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CTRMode.as',
4158 silly gunzTarPerm 438,
4158 silly gunzTarPerm 420 ]
4159 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/DESKey.as
4160 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/DESKey.as',
4160 silly gunzTarPerm 438,
4160 silly gunzTarPerm 420 ]
4161 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/dump.txt
4162 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/dump.txt',
4162 silly gunzTarPerm 438,
4162 silly gunzTarPerm 420 ]
4163 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ECBMode.as
4164 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ECBMode.as',
4164 silly gunzTarPerm 438,
4164 silly gunzTarPerm 420 ]
4165 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ICipher.as
4166 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ICipher.as',
4166 silly gunzTarPerm 438,
4166 silly gunzTarPerm 420 ]
4167 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IMode.as
4168 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IMode.as',
4168 silly gunzTarPerm 438,
4168 silly gunzTarPerm 420 ]
4169 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/aeskey.pl
4170 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/aeskey.pl',
4170 silly gunzTarPerm 438,
4170 silly gunzTarPerm 420 ]
4171 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IStreamCipher.as
4172 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IStreamCipher.as',
4172 silly gunzTarPerm 438,
4172 silly gunzTarPerm 420 ]
4173 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ISymmetricKey.as
4174 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ISymmetricKey.as',
4174 silly gunzTarPerm 438,
4174 silly gunzTarPerm 420 ]
4175 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as
4176 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as',
4176 silly gunzTarPerm 438,
4176 silly gunzTarPerm 420 ]
4177 silly lockFile 130fa726-4js-node-modules-readable-stream tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\readable-stream
4178 silly lockFile 130fa726-4js-node-modules-readable-stream tar://C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\readable-stream
4179 silly lockFile 225f049f-adable-stream-1-0-17-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\readable-stream\1.0.17\package.tgz
4180 silly lockFile 225f049f-adable-stream-1-0-17-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\readable-stream\1.0.17\package.tgz
4181 info preinstall readable-stream@1.0.17
4182 verbose readDependencies using package.json deps
4183 verbose readDependencies using package.json deps
4184 silly resolved []
4185 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\readable-stream
4186 info build C:\dev\tmp\test\node_modules\karma\node_modules\log4js\node_modules\readable-stream
4187 verbose linkStuff [ false,
4187 verbose linkStuff false,
4187 verbose linkStuff false,
4187 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\log4js\\node_modules' ]
4188 info linkStuff readable-stream@1.0.17
4189 verbose linkBins readable-stream@1.0.17
4190 verbose linkMans readable-stream@1.0.17
4191 verbose rebuildBundles readable-stream@1.0.17
4192 info install readable-stream@1.0.17
4193 info postinstall readable-stream@1.0.17
4194 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/NullPad.as
4195 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/NullPad.as',
4195 silly gunzTarPerm 438,
4195 silly gunzTarPerm 420 ]
4196 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/OFBMode.as
4197 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/OFBMode.as',
4197 silly gunzTarPerm 438,
4197 silly gunzTarPerm 420 ]
4198 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\log4js
4199 info build C:\dev\tmp\test\node_modules\karma\node_modules\log4js
4200 verbose linkStuff [ false,
4200 verbose linkStuff false,
4200 verbose linkStuff false,
4200 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
4201 info linkStuff log4js@0.6.9
4202 verbose linkBins log4js@0.6.9
4203 verbose linkMans log4js@0.6.9
4204 verbose rebuildBundles log4js@0.6.9
4205 verbose rebuildBundles [ '.bin', 'async', 'readable-stream', 'semver' ]
4206 info install log4js@0.6.9
4207 info postinstall log4js@0.6.9
4208 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/PKCS5.as
4209 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/PKCS5.as',
4209 silly gunzTarPerm 438,
4209 silly gunzTarPerm 420 ]
4210 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SimpleIVMode.as
4211 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SimpleIVMode.as',
4211 silly gunzTarPerm 438,
4211 silly gunzTarPerm 420 ]
4212 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SSLPad.as
4213 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SSLPad.as',
4213 silly gunzTarPerm 438,
4213 silly gunzTarPerm 420 ]
4214 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TLSPad.as
4215 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TLSPad.as',
4215 silly gunzTarPerm 438,
4215 silly gunzTarPerm 420 ]
4216 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TripleDESKey.as
4217 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TripleDESKey.as',
4217 silly gunzTarPerm 438,
4217 silly gunzTarPerm 420 ]
4218 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/XTeaKey.as
4219 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/XTeaKey.as',
4219 silly gunzTarPerm 438,
4219 silly gunzTarPerm 420 ]
4220 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ITestHarness.as
4221 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ITestHarness.as',
4221 silly gunzTarPerm 438,
4221 silly gunzTarPerm 420 ]
4222 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/AESKeyTest.as
4223 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/AESKeyTest.as',
4223 silly gunzTarPerm 438,
4223 silly gunzTarPerm 420 ]
4224 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BigIntegerTest.as
4225 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BigIntegerTest.as',
4225 silly gunzTarPerm 438,
4225 silly gunzTarPerm 420 ]
4226 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BlowFishKeyTest.as
4227 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BlowFishKeyTest.as',
4227 silly gunzTarPerm 438,
4227 silly gunzTarPerm 420 ]
4228 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CBCModeTest.as
4229 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CBCModeTest.as',
4229 silly gunzTarPerm 438,
4229 silly gunzTarPerm 420 ]
4230 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFB8ModeTest.as
4231 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFB8ModeTest.as',
4231 silly gunzTarPerm 438,
4231 silly gunzTarPerm 420 ]
4232 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFBModeTest.as
4233 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFBModeTest.as',
4233 silly gunzTarPerm 438,
4233 silly gunzTarPerm 420 ]
4234 silly lockFile 1afdb2d9--connect-node-modules-formidable tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\formidable
4235 silly lockFile 1afdb2d9--connect-node-modules-formidable tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\formidable
4236 silly lockFile aff8322b-he-formidable-1-0-14-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\formidable\1.0.14\package.tgz
4237 silly lockFile aff8322b-he-formidable-1-0-14-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\formidable\1.0.14\package.tgz
4238 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CTRModeTest.as
4239 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CTRModeTest.as',
4239 silly gunzTarPerm 438,
4239 silly gunzTarPerm 420 ]
4240 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/DESKeyTest.as
4241 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/DESKeyTest.as',
4241 silly gunzTarPerm 438,
4241 silly gunzTarPerm 420 ]
4242 info preinstall formidable@1.0.14
4243 verbose readDependencies using package.json deps
4244 verbose readDependencies using package.json deps
4245 silly resolved []
4246 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\formidable
4247 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\formidable
4248 verbose linkStuff [ false,
4248 verbose linkStuff false,
4248 verbose linkStuff false,
4248 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
4249 info linkStuff formidable@1.0.14
4250 verbose linkBins formidable@1.0.14
4251 verbose linkMans formidable@1.0.14
4252 verbose rebuildBundles formidable@1.0.14
4253 info install formidable@1.0.14
4254 info postinstall formidable@1.0.14
4255 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ECBModeTest.as
4256 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ECBModeTest.as',
4256 silly gunzTarPerm 438,
4256 silly gunzTarPerm 420 ]
4257 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/HMACTest.as
4258 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/HMACTest.as',
4258 silly gunzTarPerm 438,
4258 silly gunzTarPerm 420 ]
4259 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ARC4Test.as
4260 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ARC4Test.as',
4260 silly gunzTarPerm 438,
4260 silly gunzTarPerm 420 ]
4261 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD2Test.as
4262 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD2Test.as',
4262 silly gunzTarPerm 438,
4262 silly gunzTarPerm 420 ]
4263 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD5Test.as
4264 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD5Test.as',
4264 silly gunzTarPerm 438,
4264 silly gunzTarPerm 420 ]
4265 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/OFBModeTest.as
4266 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/OFBModeTest.as',
4266 silly gunzTarPerm 438,
4266 silly gunzTarPerm 420 ]
4267 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/RSAKeyTest.as
4268 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/RSAKeyTest.as',
4268 silly gunzTarPerm 438,
4268 silly gunzTarPerm 420 ]
4269 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA1Test.as
4270 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA1Test.as',
4270 silly gunzTarPerm 438,
4270 silly gunzTarPerm 420 ]
4271 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA224Test.as
4272 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA224Test.as',
4272 silly gunzTarPerm 438,
4272 silly gunzTarPerm 420 ]
4273 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA256Test.as
4274 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA256Test.as',
4274 silly gunzTarPerm 438,
4274 silly gunzTarPerm 420 ]
4275 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TestCase.as
4276 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TestCase.as',
4276 silly gunzTarPerm 438,
4276 silly gunzTarPerm 420 ]
4277 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TLSPRFTest.as
4278 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TLSPRFTest.as',
4278 silly gunzTarPerm 438,
4278 silly gunzTarPerm 420 ]
4279 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TripleDESKeyTest.as
4280 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TripleDESKeyTest.as',
4280 silly gunzTarPerm 438,
4280 silly gunzTarPerm 420 ]
4281 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as
4282 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as',
4282 silly gunzTarPerm 438,
4282 silly gunzTarPerm 420 ]
4283 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConfig.as
4284 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConfig.as',
4284 silly gunzTarPerm 438,
4284 silly gunzTarPerm 420 ]
4285 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/BulkCiphers.as
4286 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/BulkCiphers.as',
4286 silly gunzTarPerm 438,
4286 silly gunzTarPerm 420 ]
4287 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/IConnectionState.as
4288 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/IConnectionState.as',
4288 silly gunzTarPerm 438,
4288 silly gunzTarPerm 420 ]
4289 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/ISecurityParameters.as
4290 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/ISecurityParameters.as',
4290 silly gunzTarPerm 438,
4290 silly gunzTarPerm 420 ]
4291 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/KeyExchanges.as
4292 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/KeyExchanges.as',
4292 silly gunzTarPerm 438,
4292 silly gunzTarPerm 420 ]
4293 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/MACs.as
4294 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/MACs.as',
4294 silly gunzTarPerm 438,
4294 silly gunzTarPerm 420 ]
4295 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLConnectionState.as
4296 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLConnectionState.as',
4296 silly gunzTarPerm 438,
4296 silly gunzTarPerm 420 ]
4297 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLEvent.as
4298 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLEvent.as',
4298 silly gunzTarPerm 438,
4298 silly gunzTarPerm 420 ]
4299 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLSecurityParameters.as
4300 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLSecurityParameters.as',
4300 silly gunzTarPerm 438,
4300 silly gunzTarPerm 420 ]
4301 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/CipherSuites.as
4302 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/CipherSuites.as',
4302 silly gunzTarPerm 438,
4302 silly gunzTarPerm 420 ]
4303 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConnectionState.as
4304 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConnectionState.as',
4304 silly gunzTarPerm 438,
4304 silly gunzTarPerm 420 ]
4305 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEngine.as
4306 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEngine.as',
4306 silly gunzTarPerm 438,
4306 silly gunzTarPerm 420 ]
4307 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSError.as
4308 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSError.as',
4308 silly gunzTarPerm 438,
4308 silly gunzTarPerm 420 ]
4309 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEvent.as
4310 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEvent.as',
4310 silly gunzTarPerm 438,
4310 silly gunzTarPerm 420 ]
4311 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSecurityParameters.as
4312 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSecurityParameters.as',
4312 silly gunzTarPerm 438,
4312 silly gunzTarPerm 420 ]
4313 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocket.as
4314 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocket.as',
4314 silly gunzTarPerm 438,
4314 silly gunzTarPerm 420 ]
4315 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocketEvent.as
4316 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocketEvent.as',
4316 silly gunzTarPerm 438,
4316 silly gunzTarPerm 420 ]
4317 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSTest.as
4318 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSTest.as',
4318 silly gunzTarPerm 438,
4318 silly gunzTarPerm 420 ]
4319 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/math/BarrettReduction.as
4320 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/math/BarrettReduction.as',
4320 silly gunzTarPerm 438,
4320 silly gunzTarPerm 420 ]
4321 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/math/BigInteger.as
4322 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/math/BigInteger.as',
4322 silly gunzTarPerm 438,
4322 silly gunzTarPerm 420 ]
4323 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/math/bi_internal.as
4324 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/math/bi_internal.as',
4324 silly gunzTarPerm 438,
4324 silly gunzTarPerm 420 ]
4325 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/math/ClassicReduction.as
4326 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/math/ClassicReduction.as',
4326 silly gunzTarPerm 438,
4326 silly gunzTarPerm 420 ]
4327 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/math/IReduction.as
4328 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/math/IReduction.as',
4328 silly gunzTarPerm 438,
4328 silly gunzTarPerm 420 ]
4329 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/math/MontgomeryReduction.as
4330 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/math/MontgomeryReduction.as',
4330 silly gunzTarPerm 438,
4330 silly gunzTarPerm 420 ]
4331 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/math/NullReduction.as
4332 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/math/NullReduction.as',
4332 silly gunzTarPerm 438,
4332 silly gunzTarPerm 420 ]
4333 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/ArrayUtil.as
4334 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/ArrayUtil.as',
4334 silly gunzTarPerm 438,
4334 silly gunzTarPerm 420 ]
4335 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/Base64.as
4336 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/Base64.as',
4336 silly gunzTarPerm 438,
4336 silly gunzTarPerm 420 ]
4337 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/PEM.as
4338 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/PEM.as',
4338 silly gunzTarPerm 438,
4338 silly gunzTarPerm 420 ]
4339 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ByteString.as
4340 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ByteString.as',
4340 silly gunzTarPerm 438,
4340 silly gunzTarPerm 420 ]
4341 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/IAsn1Type.as
4342 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/IAsn1Type.as',
4342 silly gunzTarPerm 438,
4342 silly gunzTarPerm 420 ]
4343 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Integer.as
4344 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Integer.as',
4344 silly gunzTarPerm 438,
4344 silly gunzTarPerm 420 ]
4345 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as
4346 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as',
4346 silly gunzTarPerm 438,
4346 silly gunzTarPerm 420 ]
4347 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/OID.as
4348 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/OID.as',
4348 silly gunzTarPerm 438,
4348 silly gunzTarPerm 420 ]
4349 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/DER.as
4350 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/DER.as',
4350 silly gunzTarPerm 438,
4350 silly gunzTarPerm 420 ]
4351 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/PrintableString.as
4352 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/PrintableString.as',
4352 silly gunzTarPerm 438,
4352 silly gunzTarPerm 420 ]
4353 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Sequence.as
4354 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Sequence.as',
4354 silly gunzTarPerm 438,
4354 silly gunzTarPerm 420 ]
4355 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Set.as
4356 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Set.as',
4356 silly gunzTarPerm 438,
4356 silly gunzTarPerm 420 ]
4357 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Type.as
4358 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Type.as',
4358 silly gunzTarPerm 438,
4358 silly gunzTarPerm 420 ]
4359 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/UTCTime.as
4360 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/UTCTime.as',
4360 silly gunzTarPerm 438,
4360 silly gunzTarPerm 420 ]
4361 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/Hex.as
4362 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/Hex.as',
4362 silly gunzTarPerm 438,
4362 silly gunzTarPerm 420 ]
4363 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/com/hurlant/util/Memory.as
4364 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/com/hurlant/util/Memory.as',
4364 silly gunzTarPerm 438,
4364 silly gunzTarPerm 420 ]
4365 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/IWebSocketLogger.as
4366 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/IWebSocketLogger.as',
4366 silly gunzTarPerm 438,
4366 silly gunzTarPerm 420 ]
4367 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/WebSocket.as
4368 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/WebSocket.as', 438, 420 ]
4369 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/WebSocketEvent.as
4370 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/WebSocketEvent.as',
4370 silly gunzTarPerm 438,
4370 silly gunzTarPerm 420 ]
4371 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/WebSocketMain.as
4372 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/WebSocketMain.as',
4372 silly gunzTarPerm 438,
4372 silly gunzTarPerm 420 ]
4373 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/flash-src/WebSocketMainInsecure.as
4374 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/flash-src/WebSocketMainInsecure.as',
4374 silly gunzTarPerm 438,
4374 silly gunzTarPerm 420 ]
4375 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/sample.html
4376 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/sample.html', 438, 420 ]
4377 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/WebSocketMain.swf
4378 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/WebSocketMain.swf', 438, 420 ]
4379 silly gunzTarPerm extractEntry lib/vendor/web-socket-js/WebSocketMainInsecure.zip
4380 silly gunzTarPerm modified mode [ 'lib/vendor/web-socket-js/WebSocketMainInsecure.zip',
4380 silly gunzTarPerm 438,
4380 silly gunzTarPerm 420 ]
4381 silly gunzTarPerm extractEntry Makefile
4382 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
4383 silly gunzTarPerm extractEntry test/events.test.js
4384 silly gunzTarPerm modified mode [ 'test/events.test.js', 438, 420 ]
4385 silly gunzTarPerm extractEntry test/io.test.js
4386 silly gunzTarPerm modified mode [ 'test/io.test.js', 438, 420 ]
4387 silly gunzTarPerm extractEntry test/parser.test.js
4388 silly gunzTarPerm modified mode [ 'test/parser.test.js', 438, 420 ]
4389 silly gunzTarPerm extractEntry test/socket.test.js
4390 silly gunzTarPerm modified mode [ 'test/socket.test.js', 438, 420 ]
4391 silly gunzTarPerm extractEntry test/util.test.js
4392 silly gunzTarPerm modified mode [ 'test/util.test.js', 438, 420 ]
4393 silly gunzTarPerm extractEntry test/worker.js
4394 silly gunzTarPerm modified mode [ 'test/worker.js', 438, 420 ]
4395 silly gunzTarPerm extractEntry test/node/builder.common.js
4396 silly gunzTarPerm modified mode [ 'test/node/builder.common.js', 438, 420 ]
4397 silly gunzTarPerm extractEntry test/node/builder.test.js
4398 silly gunzTarPerm modified mode [ 'test/node/builder.test.js', 438, 420 ]
4399 silly lockFile 30f5f6e2-io-node-modules-socket-io-client tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client
4400 silly lockFile 30f5f6e2-io-node-modules-socket-io-client tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client
4401 silly lockFile 91715b08-ket-io-client-0-9-16-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\socket.io-client\0.9.16\package.tgz
4402 silly lockFile 91715b08-ket-io-client-0-9-16-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\socket.io-client\0.9.16\package.tgz
4403 info preinstall socket.io-client@0.9.16
4404 verbose readDependencies using package.json deps
4405 verbose readDependencies using package.json deps
4406 verbose cache add [ 'uglify-js@1.2.5', null ]
4407 verbose cache add name=undefined spec="uglify-js@1.2.5" args=["uglify-js@1.2.5",null]
4408 verbose parsed url { protocol: null,
4408 verbose parsed url slashes: null,
4408 verbose parsed url auth: null,
4408 verbose parsed url host: null,
4408 verbose parsed url port: null,
4408 verbose parsed url hostname: null,
4408 verbose parsed url hash: null,
4408 verbose parsed url search: null,
4408 verbose parsed url query: null,
4408 verbose parsed url pathname: 'uglify-js@1.2.5',
4408 verbose parsed url path: 'uglify-js@1.2.5',
4408 verbose parsed url href: 'uglify-js@1.2.5' }
4409 verbose cache add name="uglify-js" spec="1.2.5" args=["uglify-js","1.2.5"]
4410 verbose parsed url { protocol: null,
4410 verbose parsed url slashes: null,
4410 verbose parsed url auth: null,
4410 verbose parsed url host: null,
4410 verbose parsed url port: null,
4410 verbose parsed url hostname: null,
4410 verbose parsed url hash: null,
4410 verbose parsed url search: null,
4410 verbose parsed url query: null,
4410 verbose parsed url pathname: '1.2.5',
4410 verbose parsed url path: '1.2.5',
4410 verbose parsed url href: '1.2.5' }
4411 verbose addNamed [ 'uglify-js', '1.2.5' ]
4412 verbose addNamed [ '1.2.5', '1.2.5' ]
4413 silly lockFile 7bec4d6c-uglify-js-1-2-5 uglify-js@1.2.5
4414 verbose lock uglify-js@1.2.5 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\7bec4d6c-uglify-js-1-2-5.lock
4415 verbose cache add [ 'ws@0.4.x', null ]
4416 verbose cache add name=undefined spec="ws@0.4.x" args=["ws@0.4.x",null]
4417 verbose parsed url { protocol: null,
4417 verbose parsed url slashes: null,
4417 verbose parsed url auth: null,
4417 verbose parsed url host: null,
4417 verbose parsed url port: null,
4417 verbose parsed url hostname: null,
4417 verbose parsed url hash: null,
4417 verbose parsed url search: null,
4417 verbose parsed url query: null,
4417 verbose parsed url pathname: 'ws@0.4.x',
4417 verbose parsed url path: 'ws@0.4.x',
4417 verbose parsed url href: 'ws@0.4.x' }
4418 verbose cache add name="ws" spec="0.4.x" args=["ws","0.4.x"]
4419 verbose parsed url { protocol: null,
4419 verbose parsed url slashes: null,
4419 verbose parsed url auth: null,
4419 verbose parsed url host: null,
4419 verbose parsed url port: null,
4419 verbose parsed url hostname: null,
4419 verbose parsed url hash: null,
4419 verbose parsed url search: null,
4419 verbose parsed url query: null,
4419 verbose parsed url pathname: '0.4.x',
4419 verbose parsed url path: '0.4.x',
4419 verbose parsed url href: '0.4.x' }
4420 verbose addNamed [ 'ws', '0.4.x' ]
4421 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
4422 silly lockFile 5d9e9ce0-ws-0-4-x ws@0.4.x
4423 verbose lock ws@0.4.x C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\5d9e9ce0-ws-0-4-x.lock
4424 verbose cache add [ 'xmlhttprequest@1.4.2', null ]
4425 verbose cache add name=undefined spec="xmlhttprequest@1.4.2" args=["xmlhttprequest@1.4.2",null]
4426 verbose parsed url { protocol: null,
4426 verbose parsed url slashes: null,
4426 verbose parsed url auth: null,
4426 verbose parsed url host: null,
4426 verbose parsed url port: null,
4426 verbose parsed url hostname: null,
4426 verbose parsed url hash: null,
4426 verbose parsed url search: null,
4426 verbose parsed url query: null,
4426 verbose parsed url pathname: 'xmlhttprequest@1.4.2',
4426 verbose parsed url path: 'xmlhttprequest@1.4.2',
4426 verbose parsed url href: 'xmlhttprequest@1.4.2' }
4427 verbose cache add name="xmlhttprequest" spec="1.4.2" args=["xmlhttprequest","1.4.2"]
4428 verbose parsed url { protocol: null,
4428 verbose parsed url slashes: null,
4428 verbose parsed url auth: null,
4428 verbose parsed url host: null,
4428 verbose parsed url port: null,
4428 verbose parsed url hostname: null,
4428 verbose parsed url hash: null,
4428 verbose parsed url search: null,
4428 verbose parsed url query: null,
4428 verbose parsed url pathname: '1.4.2',
4428 verbose parsed url path: '1.4.2',
4428 verbose parsed url href: '1.4.2' }
4429 verbose addNamed [ 'xmlhttprequest', '1.4.2' ]
4430 verbose addNamed [ '1.4.2', '1.4.2' ]
4431 silly lockFile 55d2242a-xmlhttprequest-1-4-2 xmlhttprequest@1.4.2
4432 verbose lock xmlhttprequest@1.4.2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\55d2242a-xmlhttprequest-1-4-2.lock
4433 verbose cache add [ 'active-x-obfuscator@0.0.1', null ]
4434 verbose cache add name=undefined spec="active-x-obfuscator@0.0.1" args=["active-x-obfuscator@0.0.1",null]
4435 verbose parsed url { protocol: null,
4435 verbose parsed url slashes: null,
4435 verbose parsed url auth: null,
4435 verbose parsed url host: null,
4435 verbose parsed url port: null,
4435 verbose parsed url hostname: null,
4435 verbose parsed url hash: null,
4435 verbose parsed url search: null,
4435 verbose parsed url query: null,
4435 verbose parsed url pathname: 'active-x-obfuscator@0.0.1',
4435 verbose parsed url path: 'active-x-obfuscator@0.0.1',
4435 verbose parsed url href: 'active-x-obfuscator@0.0.1' }
4436 verbose cache add name="active-x-obfuscator" spec="0.0.1" args=["active-x-obfuscator","0.0.1"]
4437 verbose parsed url { protocol: null,
4437 verbose parsed url slashes: null,
4437 verbose parsed url auth: null,
4437 verbose parsed url host: null,
4437 verbose parsed url port: null,
4437 verbose parsed url hostname: null,
4437 verbose parsed url hash: null,
4437 verbose parsed url search: null,
4437 verbose parsed url query: null,
4437 verbose parsed url pathname: '0.0.1',
4437 verbose parsed url path: '0.0.1',
4437 verbose parsed url href: '0.0.1' }
4438 verbose addNamed [ 'active-x-obfuscator', '0.0.1' ]
4439 verbose addNamed [ '0.0.1', '0.0.1' ]
4440 silly lockFile 8a542afc-active-x-obfuscator-0-0-1 active-x-obfuscator@0.0.1
4441 verbose lock active-x-obfuscator@0.0.1 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\8a542afc-active-x-obfuscator-0-0-1.lock
4442 silly addNameRange { name: 'ws', range: '>=0.4.0-0 <0.5.0-0', hasData: false }
4443 verbose url raw uglify-js/1.2.5
4444 verbose url resolving [ 'https://registry.npmjs.org/', './uglify-js/1.2.5' ]
4445 verbose url resolved https://registry.npmjs.org/uglify-js/1.2.5
4446 info trying registry request attempt 1 at 16:42:44
4447 verbose etag "6CFO6WD43L7HT6IQ08U1YN9WU"
4448 http GET https://registry.npmjs.org/uglify-js/1.2.5
4449 verbose url raw xmlhttprequest/1.4.2
4450 verbose url resolving [ 'https://registry.npmjs.org/', './xmlhttprequest/1.4.2' ]
4451 verbose url resolved https://registry.npmjs.org/xmlhttprequest/1.4.2
4452 info trying registry request attempt 1 at 16:42:44
4453 verbose etag "B3MQZKLAZ8QNHXM70X977HEH9"
4454 http GET https://registry.npmjs.org/xmlhttprequest/1.4.2
4455 verbose url raw active-x-obfuscator/0.0.1
4456 verbose url resolving [ 'https://registry.npmjs.org/', './active-x-obfuscator/0.0.1' ]
4457 verbose url resolved https://registry.npmjs.org/active-x-obfuscator/0.0.1
4458 info trying registry request attempt 1 at 16:42:44
4459 verbose etag "8AX8IZJ4LC77VD1TPVMF16GE0"
4460 http GET https://registry.npmjs.org/active-x-obfuscator/0.0.1
4461 verbose url raw ws
4462 verbose url resolving [ 'https://registry.npmjs.org/', './ws' ]
4463 verbose url resolved https://registry.npmjs.org/ws
4464 info trying registry request attempt 1 at 16:42:44
4465 verbose etag "E12YI8VJ4M8JMCAI08FISWC04"
4466 http GET https://registry.npmjs.org/ws
4467 http 304 https://registry.npmjs.org/ncp
4468 silly registry.get cb [ 304,
4468 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4468 silly registry.get etag: '"ATS9XSOJIH1FYJKRVWQHX9UNW"',
4468 silly registry.get date: 'Tue, 01 Oct 2013 14:42:43 GMT',
4468 silly registry.get 'content-length': '0',
4468 silly registry.get age: '1',
4468 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
4469 verbose etag ncp from cache
4470 http 304 https://registry.npmjs.org/i
4471 silly registry.get cb [ 304,
4471 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4471 silly registry.get etag: '"ECH2VCEPI8YST4FNTYQKTUGG9"',
4471 silly registry.get date: 'Tue, 01 Oct 2013 14:42:43 GMT',
4471 silly registry.get 'content-length': '0',
4471 silly registry.get age: '1',
4471 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
4472 verbose etag i from cache
4473 http 304 https://registry.npmjs.org/range-parser/0.0.4
4474 silly registry.get cb [ 304,
4474 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4474 silly registry.get etag: '"27HRUXP1C4FYWUHH9AKW9J76C"',
4474 silly registry.get date: 'Tue, 01 Oct 2013 14:42:43 GMT',
4474 silly registry.get 'content-length': '0',
4474 silly registry.get age: '1',
4474 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
4475 verbose etag range-parser/0.0.4 from cache
4476 silly addNameRange number 2 { name: 'i', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
4477 silly addNameRange versions [ 'i', [ '0.2.0', '0.3.0', '0.3.1', '0.3.2' ] ]
4478 verbose addNamed [ 'i', '0.3.2' ]
4479 verbose addNamed [ '0.3.2', '0.3.2' ]
4480 silly lockFile 80e1c2cf-i-0-3-2 i@0.3.2
4481 verbose lock i@0.3.2 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\80e1c2cf-i-0-3-2.lock
4482 silly addNameRange number 2 { name: 'ncp', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
4483 silly addNameRange versions [ 'ncp',
4483 silly addNameRange [ '0.0.0',
4483 silly addNameRange '0.0.1',
4483 silly addNameRange '0.0.2',
4483 silly addNameRange '0.1.0',
4483 silly addNameRange '0.1.1',
4483 silly addNameRange '0.1.2',
4483 silly addNameRange '0.2.0',
4483 silly addNameRange '0.2.1',
4483 silly addNameRange '0.2.2',
4483 silly addNameRange '0.2.3',
4483 silly addNameRange '0.2.4',
4483 silly addNameRange '0.2.5',
4483 silly addNameRange '0.2.6',
4483 silly addNameRange '0.3.0',
4483 silly addNameRange '0.4.0',
4483 silly addNameRange '0.2.7',
4483 silly addNameRange '0.4.1',
4483 silly addNameRange '0.4.2' ] ]
4484 verbose addNamed [ 'ncp', '0.2.7' ]
4485 verbose addNamed [ '0.2.7', '0.2.7' ]
4486 silly lockFile e7e84fb9-ncp-0-2-7 ncp@0.2.7
4487 verbose lock ncp@0.2.7 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\e7e84fb9-ncp-0-2-7.lock
4488 silly lockFile 0760c556-range-parser-0-0-4 range-parser@0.0.4
4489 silly lockFile 0760c556-range-parser-0-0-4 range-parser@0.0.4
4490 silly resolved [ { name: 'range-parser',
4490 silly resolved author:
4490 silly resolved { name: 'TJ Holowaychuk',
4490 silly resolved email: 'tj@vision-media.ca',
4490 silly resolved url: 'http://tjholowaychuk.com' },
4490 silly resolved description: 'Range header field string parser',
4490 silly resolved version: '0.0.4',
4490 silly resolved main: 'index.js',
4490 silly resolved dependencies: {},
4490 silly resolved devDependencies: { mocha: '*', should: '*' },
4490 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```',
4490 silly resolved readmeFilename: 'Readme.md',
4490 silly resolved _id: 'range-parser@0.0.4',
4490 silly resolved _from: 'range-parser@0.0.4' } ]
4491 info install range-parser@0.0.4 into C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send
4492 info installOne range-parser@0.0.4
4493 info C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send\node_modules\range-parser unbuild
4494 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\range-parser\0.0.4\package.tgz
4495 silly lockFile 5902d08d-s-send-node-modules-range-parser tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send\node_modules\range-parser
4496 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send\node_modules\range-parser C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\5902d08d-s-send-node-modules-range-parser.lock
4497 silly lockFile cf016ead-e-range-parser-0-0-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\range-parser\0.0.4\package.tgz
4498 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\range-parser\0.0.4\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\cf016ead-e-range-parser-0-0-4-package-tgz.lock
4499 silly lockFile e7e84fb9-ncp-0-2-7 ncp@0.2.7
4500 silly lockFile e7e84fb9-ncp-0-2-7 ncp@0.2.7
4501 silly lockFile 144b88e9-ncp-0-2-x ncp@0.2.x
4502 silly lockFile 144b88e9-ncp-0-2-x ncp@0.2.x
4503 silly gunzTarPerm modes [ '755', '644' ]
4504 silly lockFile 80e1c2cf-i-0-3-2 i@0.3.2
4505 silly lockFile 80e1c2cf-i-0-3-2 i@0.3.2
4506 silly lockFile 2b556e57-i-0-3-x i@0.3.x
4507 silly lockFile 2b556e57-i-0-3-x i@0.3.x
4508 silly gunzTarPerm extractEntry package.json
4509 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
4510 silly gunzTarPerm extractEntry .npmignore
4511 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
4512 silly gunzTarPerm extractEntry index.js
4513 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
4514 silly gunzTarPerm extractEntry History.md
4515 silly gunzTarPerm modified mode [ 'History.md', 438, 420 ]
4516 silly gunzTarPerm extractEntry Makefile
4517 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
4518 silly gunzTarPerm extractEntry Readme.md
4519 silly gunzTarPerm modified mode [ 'Readme.md', 438, 420 ]
4520 silly lockFile 5902d08d-s-send-node-modules-range-parser tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send\node_modules\range-parser
4521 silly lockFile 5902d08d-s-send-node-modules-range-parser tar://C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send\node_modules\range-parser
4522 silly lockFile cf016ead-e-range-parser-0-0-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\range-parser\0.0.4\package.tgz
4523 silly lockFile cf016ead-e-range-parser-0-0-4-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\range-parser\0.0.4\package.tgz
4524 info preinstall range-parser@0.0.4
4525 verbose readDependencies using package.json deps
4526 verbose readDependencies using package.json deps
4527 silly resolved []
4528 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send\node_modules\range-parser
4529 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send\node_modules\range-parser
4530 verbose linkStuff [ false,
4530 verbose linkStuff false,
4530 verbose linkStuff false,
4530 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules\\send\\node_modules' ]
4531 info linkStuff range-parser@0.0.4
4532 verbose linkBins range-parser@0.0.4
4533 verbose linkMans range-parser@0.0.4
4534 verbose rebuildBundles range-parser@0.0.4
4535 info install range-parser@0.0.4
4536 info postinstall range-parser@0.0.4
4537 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send
4538 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect\node_modules\send
4539 verbose linkStuff [ false,
4539 verbose linkStuff false,
4539 verbose linkStuff false,
4539 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\connect\\node_modules' ]
4540 info linkStuff send@0.1.4
4541 verbose linkBins send@0.1.4
4542 verbose linkMans send@0.1.4
4543 verbose rebuildBundles send@0.1.4
4544 verbose rebuildBundles [ 'range-parser' ]
4545 info install send@0.1.4
4546 http 304 https://registry.npmjs.org/deep-equal
4547 silly registry.get cb [ 304,
4547 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4547 silly registry.get etag: '"6QJV0PWLH2YLLRH0L97O2605B"',
4547 silly registry.get date: 'Tue, 01 Oct 2013 14:42:43 GMT',
4547 silly registry.get 'content-length': '0',
4547 silly registry.get age: '1',
4547 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
4548 verbose etag deep-equal from cache
4549 info postinstall send@0.1.4
4550 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\connect
4551 info build C:\dev\tmp\test\node_modules\karma\node_modules\connect
4552 verbose linkStuff [ false,
4552 verbose linkStuff false,
4552 verbose linkStuff false,
4552 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
4553 info linkStuff connect@2.8.8
4554 verbose linkBins connect@2.8.8
4555 verbose linkMans connect@2.8.8
4556 verbose rebuildBundles connect@2.8.8
4557 verbose rebuildBundles [ 'buffer-crc32',
4557 verbose rebuildBundles 'bytes',
4557 verbose rebuildBundles 'cookie',
4557 verbose rebuildBundles 'cookie-signature',
4557 verbose rebuildBundles 'debug',
4557 verbose rebuildBundles 'formidable',
4557 verbose rebuildBundles 'fresh',
4557 verbose rebuildBundles 'methods',
4557 verbose rebuildBundles 'pause',
4557 verbose rebuildBundles 'qs',
4557 verbose rebuildBundles 'send',
4557 verbose rebuildBundles 'uid2' ]
4558 info install connect@2.8.8
4559 info postinstall connect@2.8.8
4560 silly addNameRange number 2 { name: 'deep-equal', range: '*', hasData: true }
4561 silly addNameRange versions [ 'deep-equal', [ '0.0.0' ] ]
4562 verbose addNamed [ 'deep-equal', '0.0.0' ]
4563 verbose addNamed [ '0.0.0', '0.0.0' ]
4564 silly lockFile 52f78ead-deep-equal-0-0-0 deep-equal@0.0.0
4565 verbose lock deep-equal@0.0.0 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\52f78ead-deep-equal-0-0-0.lock
4566 silly lockFile 52f78ead-deep-equal-0-0-0 deep-equal@0.0.0
4567 silly lockFile 52f78ead-deep-equal-0-0-0 deep-equal@0.0.0
4568 silly lockFile 2aa4e33c-deep-equal deep-equal@*
4569 silly lockFile 2aa4e33c-deep-equal deep-equal@*
4570 http 304 https://registry.npmjs.org/mkdirp
4571 silly registry.get cb [ 304,
4571 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4571 silly registry.get etag: '"3YOV9Q3CT9E2JNSBJDYYB7XDB"',
4571 silly registry.get date: 'Tue, 01 Oct 2013 14:42:43 GMT',
4571 silly registry.get 'content-length': '0',
4571 silly registry.get age: '1',
4571 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
4572 verbose etag mkdirp from cache
4573 silly addNameRange number 2 { name: 'mkdirp', range: '>=0.0.0-0 <1.0.0-0', hasData: true }
4574 silly addNameRange versions [ 'mkdirp',
4574 silly addNameRange [ '0.0.1',
4574 silly addNameRange '0.0.2',
4574 silly addNameRange '0.0.3',
4574 silly addNameRange '0.0.4',
4574 silly addNameRange '0.0.5',
4574 silly addNameRange '0.0.6',
4574 silly addNameRange '0.0.7',
4574 silly addNameRange '0.1.0',
4574 silly addNameRange '0.2.0',
4574 silly addNameRange '0.2.1',
4574 silly addNameRange '0.2.2',
4574 silly addNameRange '0.3.0',
4574 silly addNameRange '0.3.1',
4574 silly addNameRange '0.3.2',
4574 silly addNameRange '0.3.3',
4574 silly addNameRange '0.3.4',
4574 silly addNameRange '0.3.5' ] ]
4575 verbose addNamed [ 'mkdirp', '0.3.5' ]
4576 verbose addNamed [ '0.3.5', '0.3.5' ]
4577 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
4578 verbose lock mkdirp@0.3.5 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\67d2df2a-mkdirp-0-3-5.lock
4579 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
4580 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
4581 silly lockFile 0cdf6d66-mkdirp-0-x-x mkdirp@0.x.x
4582 silly lockFile 0cdf6d66-mkdirp-0-x-x mkdirp@0.x.x
4583 http 304 https://registry.npmjs.org/async
4584 silly registry.get cb [ 304,
4584 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4584 silly registry.get etag: '"3IS5E1BD2LBAXB1ODZSX9E310"',
4584 silly registry.get date: 'Tue, 01 Oct 2013 14:42:43 GMT',
4584 silly registry.get 'content-length': '0',
4584 silly registry.get age: '1',
4584 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
4585 verbose etag async from cache
4586 silly addNameRange number 2 { name: 'async', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
4587 silly addNameRange versions [ 'async',
4587 silly addNameRange [ '0.1.0',
4587 silly addNameRange '0.1.1',
4587 silly addNameRange '0.1.2',
4587 silly addNameRange '0.1.3',
4587 silly addNameRange '0.1.4',
4587 silly addNameRange '0.1.5',
4587 silly addNameRange '0.1.6',
4587 silly addNameRange '0.1.7',
4587 silly addNameRange '0.1.8',
4587 silly addNameRange '0.1.9',
4587 silly addNameRange '0.1.10',
4587 silly addNameRange '0.1.11',
4587 silly addNameRange '0.1.12',
4587 silly addNameRange '0.1.13',
4587 silly addNameRange '0.1.14',
4587 silly addNameRange '0.1.15',
4587 silly addNameRange '0.1.16',
4587 silly addNameRange '0.1.17',
4587 silly addNameRange '0.1.18',
4587 silly addNameRange '0.1.19',
4587 silly addNameRange '0.1.20',
4587 silly addNameRange '0.1.21',
4587 silly addNameRange '0.1.22',
4587 silly addNameRange '0.2.0',
4587 silly addNameRange '0.2.1',
4587 silly addNameRange '0.2.2',
4587 silly addNameRange '0.2.3',
4587 silly addNameRange '0.2.4',
4587 silly addNameRange '0.2.5',
4587 silly addNameRange '0.2.6',
4587 silly addNameRange '0.2.7',
4587 silly addNameRange '0.2.8',
4587 silly addNameRange '0.2.9' ] ]
4588 verbose addNamed [ 'async', '0.1.22' ]
4589 verbose addNamed [ '0.1.22', '0.1.22' ]
4590 silly lockFile 09d21715-async-0-1-22 async@0.1.22
4591 verbose lock async@0.1.22 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\09d21715-async-0-1-22.lock
4592 silly lockFile 09d21715-async-0-1-22 async@0.1.22
4593 silly lockFile 09d21715-async-0-1-22 async@0.1.22
4594 silly lockFile 463e1c03-async-0-1-x async@0.1.x
4595 silly lockFile 463e1c03-async-0-1-x async@0.1.x
4596 silly resolved [ { name: 'rimraf',
4596 silly resolved version: '1.0.9',
4596 silly resolved main: 'rimraf.js',
4596 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
4596 silly resolved author:
4596 silly resolved { name: 'Isaac Z. Schlueter',
4596 silly resolved email: 'i@izs.me',
4596 silly resolved url: 'http://blog.izs.me/' },
4596 silly resolved license:
4596 silly resolved { type: 'MIT',
4596 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
4596 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
4596 silly resolved scripts: { test: 'cd test && bash run.sh' },
4596 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
4596 silly resolved readme: 'A `rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, [options,] callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\n## Options\n\nThe options object is optional. These fields are respected:\n\n* `maxBusyTries` - The number of times to retry a file or folder in the\n event of an `EBUSY` error. The default is 3.\n* `gently` - If provided a `gently` path, then rimraf will only delete\n files and folders that are beneath this path, and only delete symbolic\n links that point to a place within this path. (This is very important\n to npm\'s use-case, and shows rimraf\'s pedigree.)\n\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',
4596 silly resolved readmeFilename: 'README.md',
4596 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
4596 silly resolved _id: 'rimraf@1.0.9',
4596 silly resolved _from: 'rimraf@1.x.x' },
4596 silly resolved { name: 'ncp',
4596 silly resolved version: '0.2.7',
4596 silly resolved author: { name: 'AvianFlu', email: 'charlie@charlieistheman.com' },
4596 silly resolved description: 'Asynchronous recursive file copy utility.',
4596 silly resolved bin: { ncp: './bin/ncp' },
4596 silly resolved devDependencies: { vows: '0.6.x', rimraf: '1.0.x', 'read-dir-files': '0.0.x' },
4596 silly resolved main: './lib/ncp.js',
4596 silly resolved repository: { type: 'git', url: 'https://github.com/AvianFlu/ncp.git' },
4596 silly resolved keywords: [ 'cli', 'copy' ],
4596 silly resolved license: 'MIT',
4596 silly resolved engine: { node: '>=0.4' },
4596 silly resolved scripts: { test: 'vows --isolate --spec' },
4596 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\nPlease open an issue if any bugs arise. As always, I accept (working) pull requests, and refunds are available at `/dev/null`.\n',
4596 silly resolved readmeFilename: 'README.md',
4596 silly resolved bugs: { url: 'https://github.com/AvianFlu/ncp/issues' },
4596 silly resolved _id: 'ncp@0.2.7',
4596 silly resolved _from: 'ncp@0.2.x' },
4596 silly resolved { name: 'i',
4596 silly resolved version: '0.3.2',
4596 silly resolved author:
4596 silly resolved { name: 'Pavan Kumar Sunkara',
4596 silly resolved email: 'pavan.sss1991@gmail.com',
4596 silly resolved url: 'pksunkara.github.com' },
4596 silly resolved description: 'custom inflections for nodejs',
4596 silly resolved main: './lib/inflect',
4596 silly resolved repository: { type: 'git', url: 'git://github.com/pksunkara/inflect.git' },
4596 silly resolved keywords:
4596 silly resolved [ 'singular',
4596 silly resolved 'plural',
4596 silly resolved 'camelize',
4596 silly resolved 'underscore',
4596 silly resolved 'dasherize',
4596 silly resolved 'demodulize',
4596 silly resolved 'ordinalize',
4596 silly resolved 'uncountable',
4596 silly resolved 'pluralize',
4596 silly resolved 'singularize',
4596 silly resolved 'titleize',
4596 silly resolved 'tableize',
4596 silly resolved 'classify',
4596 silly resolved 'foreign_key' ],
4596 silly resolved homepage: 'http://pksunkara.github.com/inflect',
4596 silly resolved scripts: { test: './node_modules/.bin/vows --spec $(find test -name \'*-test.js\')' },
4596 silly resolved contributors: [ [Object] ],
4596 silly resolved dependencies: {},
4596 silly resolved devDependencies: { vows: '~0.6.1' },
4596 silly resolved engines: { node: '>=0.4' },
4596 silly resolved bugs: { url: 'https://github.com/pksunkara/inflect/issues' },
4596 silly resolved licenses: [ [Object] ],
4596 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',
4596 silly resolved readmeFilename: 'README.md',
4596 silly resolved _id: 'i@0.3.2',
4596 silly resolved _from: 'i@0.3.x' },
4596 silly resolved { name: 'deep-equal',
4596 silly resolved version: '0.0.0',
4596 silly resolved description: 'node\'s assert.deepEqual algorithm',
4596 silly resolved main: 'index.js',
4596 silly resolved directories: { lib: '.', example: 'example', test: 'test' },
4596 silly resolved scripts: { test: 'tap test/*.js' },
4596 silly resolved devDependencies: { tap: '0.0.x' },
4596 silly resolved repository:
4596 silly resolved { type: 'git',
4596 silly resolved url: 'http://github.com/substack/node-deep-equal.git' },
4596 silly resolved keywords: [ 'equality', 'equal', 'compare' ],
4596 silly resolved author:
4596 silly resolved { name: 'James Halliday',
4596 silly resolved email: 'mail@substack.net',
4596 silly resolved url: 'http://substack.net' },
4596 silly resolved license: 'MIT/X11',
4596 silly resolved engine: { node: '>=0.4' },
4596 silly resolved readme: 'deep-equal\n==========\n\nNode\'s `assert.deepEqual() algorithm` as a standalone module.\n\nexample\n=======\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\nmethods\n=======\n\nvar deepEqual = require(\'deep-equal\')\n\ndeepEqual(a, b)\n---------------\n\nCompare objects `a` and `b`, returning whether they are equal according to a\nrecursive equality algorithm.\n\ninstall\n=======\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install deep-equal\n```\n\ntest\n====\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm test\n```\n\nlicense\n=======\n\nMIT. Derived largely from node\'s assert module.\n',
4596 silly resolved readmeFilename: 'README.markdown',
4596 silly resolved bugs: { url: 'https://github.com/substack/node-deep-equal/issues' },
4596 silly resolved _id: 'deep-equal@0.0.0',
4596 silly resolved _from: 'deep-equal@*' },
4596 silly resolved { name: 'mkdirp',
4596 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
4596 silly resolved version: '0.3.5',
4596 silly resolved author:
4596 silly resolved { name: 'James Halliday',
4596 silly resolved email: 'mail@substack.net',
4596 silly resolved url: 'http://substack.net' },
4596 silly resolved main: './index',
4596 silly resolved keywords: [ 'mkdir', 'directory' ],
4596 silly resolved repository:
4596 silly resolved { type: 'git',
4596 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
4596 silly resolved scripts: { test: 'tap test/*.js' },
4596 silly resolved devDependencies: { tap: '~0.4.0' },
4596 silly resolved license: 'MIT',
4596 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',
4596 silly resolved readmeFilename: 'readme.markdown',
4596 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
4596 silly resolved _id: 'mkdirp@0.3.5',
4596 silly resolved _from: 'mkdirp@0.x.x' },
4596 silly resolved { name: 'async',
4596 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
4596 silly resolved main: './index',
4596 silly resolved author: { name: 'Caolan McMahon' },
4596 silly resolved version: '0.1.22',
4596 silly resolved repository: { type: 'git', url: 'http://github.com/caolan/async.git' },
4596 silly resolved bugs: { url: 'http://github.com/caolan/async/issues' },
4596 silly resolved licenses: [ [Object] ],
4596 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
4596 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.\n\nAsync provides around 20 functions that include the usual \'functional\'\nsuspects (map, reduce, filter, forEach…) 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 async.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n });\n\n async.filter([\'file1\',\'file2\',\'file3\'], path.exists, function(results){\n // results now equals an array of the existing files\n });\n\n async.parallel([\n function(){ ... },\n function(){ ... }\n ], callback);\n\n async.series([\n function(){ ... },\n function(){ ... }\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\n## Download\n\nReleases are available for download from\n[GitHub](http://github.com/caolan/async/downloads).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 17.5kb Uncompressed\n\n__Production:__ [async.min.js](https://github.com/caolan/async/raw/master/dist/async.min.js) - 1.7kb Packed and Gzipped\n\n\n## In the Browser\n\nSo far its been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\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* [forEach](#forEach)\n* [map](#map)\n* [filter](#filter)\n* [reject](#reject)\n* [reduce](#reduce)\n* [detect](#detect)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [whilst](#whilst)\n* [until](#until)\n* [waterfall](#waterfall)\n* [queue](#queue)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\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### forEach(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 forEach 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 which must be called once it has completed.\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 // assuming openFiles is an array of file names and saveFile is a function\n // to save the modified contents of that file:\n\n async.forEach(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n });\n\n---------------------------------------\n\n<a name="forEachSeries" />\n### forEachSeries(arr, iterator, callback)\n\nThe same as forEach 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### forEachLimit(arr, limit, iterator, callback)\n\nThe same as forEach only the iterator is applied to batches of items in the\narray, in series. The next batch of iterators is only called once the current\none has completed processing.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - How many items should be in each batch.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\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 // Assume documents is an array of JSON objects and requestApi is a\n // function that interacts with a rate-limited REST api.\n\n async.forEachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\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 which must be called once it has completed\n 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 async.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<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="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 path.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 which must be called 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 async.filter([\'file1\',\'file2\',\'file3\'], path.exists, function(results){\n // results now equals an array of the existing files\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 filter, 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 its 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 which accepts an optional error as its first argument, and the state\n of the reduction as the second. If an error is passed to the callback, the\n reduction is stopped and the main callback is immediately called with the\n 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 async.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<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 which must be called 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 async.detect([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // result now equals the first file in the list that exists\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 which must be called once it has completed\n with an error (which can be null) and a value to use as the sort 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 async.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 path.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 which must be called 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 async.some([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // if result is true then at least one of the files exists\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 path.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 which must be called 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 async.every([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // if result is true then every file exists\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 which must be called once it has completed\n 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 async.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<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 it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets an array of all the arguments passed to\n the callbacks used in the array.\n\n__Example__\n\n async.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\n function(err, results){\n // results is now equal to [\'one\', \'two\']\n });\n\n\n // an example using an object instead of an array\n async.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 },\n function(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 a\n callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets an array of all the arguments passed to\n the callbacks used in the array.\n\n__Example__\n\n async.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\n function(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\n async.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 },\n function(err, results) {\n // results is now equals to: {one: 1, two: 2}\n });\n\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 which must be called once it has completed with an optional\n error as the first 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 var count = 0;\n\n async.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="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\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 callback it\n must call on completion.\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 async.waterfall([\n function(callback){\n callback(null, \'one\', \'two\');\n },\n function(arg1, arg2, callback){\n callback(null, \'three\');\n },\n function(arg1, callback){\n // arg1 now equals \'three\'\n callback(null, \'done\');\n }\n ], function (err, result) {\n // result now equals \'done\' \n });\n\n\n---------------------------------------\n\n<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.\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* 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 // create a queue object with concurrency 2\n\n var q = async.queue(function (task, callback) {\n console.log(\'hello \' + task.name);\n callback();\n }, 2);\n\n\n // assign a callback\n q.drain = function() {\n console.log(\'all items have been processed\');\n }\n\n // add some items to the queue\n\n q.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n });\n q.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n });\n\n // add some items to the queue (batch-wise)\n\n q.push([{name: \'baz\'},{name: \'bay\'},{name: \'bax\'}], function (err) {\n console.log(\'finished processing bar\');\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\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 syntax is easier to understand by looking at the example.\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. If all tasks complete\n successfully, it will receive an object containing their results.\n\n__Example__\n\n async.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\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n async.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 ],\n function(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 email_link: function(callback){\n // once the file is written let\'s email a link to it...\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. Its 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, each function is passed a callback it\n must call on completion.\n\n__Example__\n\n var iterator = async.iterator([\n function(){ sys.p(\'one\'); },\n function(){ sys.p(\'two\'); },\n function(){ sys.p(\'three\'); }\n ]);\n\n node> var iterator2 = iterator();\n \'one\'\n node> var iterator3 = iterator2();\n \'two\'\n node> iterator3();\n \'three\'\n node> var nextfn = iterator2.next();\n node> 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 // using apply\n\n async.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\n async.parallel([\n function(callback){\n fs.writeFile(\'testfile1\', \'test1\', callback);\n },\n function(callback){\n fs.writeFile(\'testfile2\', \'test2\', callback);\n },\n ]);\n\nIt\'s possible to pass any number of additional arguments when calling the\ncontinuation:\n\n node> var fn = async.apply(sys.puts, \'one\');\n node> fn(\'two\', \'three\');\n one\n two\n three\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 setTimeout(callback, 0),\nwhich means other higher priority events 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 var call_order = [];\n async.nextTick(function(){\n call_order.push(\'two\');\n // call_order now equals [\'one\',\'two]\n });\n call_order.push(\'one\')\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\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 var slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n };\n var fn = async.memoize(slow_fn);\n\n // fn can now be used as if it were slow_fn\n fn(\'some name\', function () {\n // callback\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 var hello = function(name, callback){\n setTimeout(function(){\n callback(null, \'hello \' + name);\n }, 1000);\n };\n\n node> 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 var hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n };\n\n node> 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',
4596 silly resolved readmeFilename: 'README.md',
4596 silly resolved _id: 'async@0.1.22',
4596 silly resolved _from: 'async@0.1.x' } ]
4597 info install rimraf@1.0.9 into C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
4598 info install ncp@0.2.7 into C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
4599 info install i@0.3.2 into C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
4600 info install deep-equal@0.0.0 into C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
4601 info install mkdirp@0.3.5 into C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
4602 info install async@0.1.22 into C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
4603 info installOne rimraf@1.0.9
4604 info installOne ncp@0.2.7
4605 info installOne i@0.3.2
4606 info installOne deep-equal@0.0.0
4607 info installOne mkdirp@0.3.5
4608 info installOne async@0.1.22
4609 info C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\rimraf unbuild
4610 info C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\ncp unbuild
4611 info C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\i unbuild
4612 info C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\deep-equal unbuild
4613 info C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\mkdirp unbuild
4614 info C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\async unbuild
4615 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\rimraf\1.0.9\package.tgz
4616 silly lockFile aafca3d7-odules-utile-node-modules-rimraf tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\rimraf
4617 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\rimraf C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\aafca3d7-odules-utile-node-modules-rimraf.lock
4618 silly lockFile dbfbdf33-m-cache-rimraf-1-0-9-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\rimraf\1.0.9\package.tgz
4619 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\rimraf\1.0.9\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\dbfbdf33-m-cache-rimraf-1-0-9-package-tgz.lock
4620 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ncp\0.2.7\package.tgz
4621 silly lockFile ff2457ad-e-modules-utile-node-modules-ncp tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\ncp
4622 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\ncp C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ff2457ad-e-modules-utile-node-modules-ncp.lock
4623 silly lockFile 4843e2ef--npm-cache-ncp-0-2-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ncp\0.2.7\package.tgz
4624 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ncp\0.2.7\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\4843e2ef--npm-cache-ncp-0-2-7-package-tgz.lock
4625 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\i\0.3.2\package.tgz
4626 silly lockFile 2db647b0-ode-modules-utile-node-modules-i tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\i
4627 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\i C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\2db647b0-ode-modules-utile-node-modules-i.lock
4628 silly lockFile 7a698150-ng-npm-cache-i-0-3-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\i\0.3.2\package.tgz
4629 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\i\0.3.2\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\7a698150-ng-npm-cache-i-0-3-2-package-tgz.lock
4630 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\deep-equal\0.0.0\package.tgz
4631 silly lockFile 9e620428-es-utile-node-modules-deep-equal tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\deep-equal
4632 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\deep-equal C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\9e620428-es-utile-node-modules-deep-equal.lock
4633 silly lockFile bff71e31-che-deep-equal-0-0-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\deep-equal\0.0.0\package.tgz
4634 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\deep-equal\0.0.0\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\bff71e31-che-deep-equal-0-0-0-package-tgz.lock
4635 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\mkdirp\0.3.5\package.tgz
4636 silly lockFile 2fd39956-odules-utile-node-modules-mkdirp tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\mkdirp
4637 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\mkdirp C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\2fd39956-odules-utile-node-modules-mkdirp.lock
4638 silly lockFile 6fcb9d4e-m-cache-mkdirp-0-3-5-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\mkdirp\0.3.5\package.tgz
4639 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\mkdirp\0.3.5\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\6fcb9d4e-m-cache-mkdirp-0-3-5-package-tgz.lock
4640 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\async\0.1.22\package.tgz
4641 silly lockFile 59f9bfa2-modules-utile-node-modules-async tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\async
4642 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\async C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\59f9bfa2-modules-utile-node-modules-async.lock
4643 silly lockFile fa6f26ef-m-cache-async-0-1-22-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\async\0.1.22\package.tgz
4644 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\async\0.1.22\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\fa6f26ef-m-cache-async-0-1-22-package-tgz.lock
4645 silly gunzTarPerm modes [ '755', '644' ]
4646 silly gunzTarPerm modes [ '755', '644' ]
4647 silly gunzTarPerm modes [ '755', '644' ]
4648 silly gunzTarPerm modes [ '755', '644' ]
4649 silly gunzTarPerm modes [ '755', '644' ]
4650 silly gunzTarPerm modes [ '755', '644' ]
4651 silly gunzTarPerm extractEntry package.json
4652 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
4653 silly gunzTarPerm extractEntry package.json
4654 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
4655 silly gunzTarPerm extractEntry package.json
4656 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
4657 silly gunzTarPerm extractEntry package.json
4658 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
4659 silly gunzTarPerm extractEntry .npmignore
4660 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
4661 silly gunzTarPerm extractEntry README.md
4662 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
4663 silly gunzTarPerm extractEntry package.json
4664 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
4665 silly gunzTarPerm extractEntry package.json
4666 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
4667 silly gunzTarPerm extractEntry .npmignore
4668 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
4669 silly gunzTarPerm extractEntry README.md
4670 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
4671 silly gunzTarPerm extractEntry index.js
4672 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
4673 silly gunzTarPerm extractEntry example/cmp.js
4674 silly gunzTarPerm modified mode [ 'example/cmp.js', 438, 420 ]
4675 silly gunzTarPerm extractEntry README.md
4676 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
4677 silly gunzTarPerm extractEntry LICENSE
4678 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
4679 silly gunzTarPerm extractEntry .npmignore
4680 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
4681 silly gunzTarPerm extractEntry LICENSE
4682 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
4683 silly gunzTarPerm extractEntry .npmignore
4684 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ]
4685 silly gunzTarPerm extractEntry README.md
4686 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
4687 silly gunzTarPerm extractEntry fiber.js
4688 silly gunzTarPerm modified mode [ 'fiber.js', 438, 420 ]
4689 silly gunzTarPerm extractEntry rimraf.js
4690 silly gunzTarPerm modified mode [ 'rimraf.js', 438, 420 ]
4691 silly gunzTarPerm extractEntry README.markdown
4692 silly gunzTarPerm modified mode [ 'README.markdown', 438, 420 ]
4693 silly gunzTarPerm extractEntry test/cmp.js
4694 silly gunzTarPerm modified mode [ 'test/cmp.js', 438, 420 ]
4695 silly gunzTarPerm extractEntry LICENSE
4696 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
4697 silly gunzTarPerm extractEntry .travis.yml
4698 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
4699 silly gunzTarPerm extractEntry .travis.yml
4700 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
4701 silly gunzTarPerm extractEntry bin/ncp
4702 silly gunzTarPerm modified mode [ 'bin/ncp', 438, 420 ]
4703 silly gunzTarPerm extractEntry index.js
4704 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
4705 silly gunzTarPerm extractEntry .travis.yml
4706 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
4707 silly gunzTarPerm extractEntry LICENSE
4708 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
4709 silly gunzTarPerm extractEntry lib/ncp.js
4710 silly gunzTarPerm modified mode [ 'lib/ncp.js', 438, 420 ]
4711 silly gunzTarPerm extractEntry LICENSE.md
4712 silly gunzTarPerm modified mode [ 'LICENSE.md', 438, 420 ]
4713 silly gunzTarPerm extractEntry AUTHORS
4714 silly gunzTarPerm modified mode [ 'AUTHORS', 438, 420 ]
4715 silly gunzTarPerm extractEntry test/test-async.js
4716 silly gunzTarPerm modified mode [ 'test/test-async.js', 438, 420 ]
4717 silly gunzTarPerm extractEntry lib/defaults.js
4718 silly gunzTarPerm modified mode [ 'lib/defaults.js', 438, 420 ]
4719 silly gunzTarPerm extractEntry lib/inflect.js
4720 silly gunzTarPerm modified mode [ 'lib/inflect.js', 438, 420 ]
4721 silly gunzTarPerm extractEntry examples/pow.js
4722 silly gunzTarPerm modified mode [ 'examples/pow.js', 438, 420 ]
4723 silly gunzTarPerm extractEntry readme.markdown
4724 silly gunzTarPerm modified mode [ 'readme.markdown', 438, 420 ]
4725 silly gunzTarPerm extractEntry index.js
4726 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ]
4727 silly gunzTarPerm extractEntry .gitmodules
4728 silly gunzTarPerm modified mode [ '.gitmodules', 438, 420 ]
4729 silly gunzTarPerm extractEntry test/test-fiber.js
4730 silly gunzTarPerm modified mode [ 'test/test-fiber.js', 438, 420 ]
4731 silly gunzTarPerm extractEntry test/test-sync.js
4732 silly gunzTarPerm modified mode [ 'test/test-sync.js', 438, 420 ]
4733 silly gunzTarPerm extractEntry test/ncp-test.js
4734 silly gunzTarPerm modified mode [ 'test/ncp-test.js', 438, 420 ]
4735 silly gunzTarPerm extractEntry test/fixtures/src/a
4736 silly gunzTarPerm modified mode [ 'test/fixtures/src/a', 438, 420 ]
4737 silly gunzTarPerm extractEntry test/fixtures/src/b
4738 silly gunzTarPerm modified mode [ 'test/fixtures/src/b', 438, 420 ]
4739 silly gunzTarPerm extractEntry test/fixtures/src/c
4740 silly gunzTarPerm modified mode [ 'test/fixtures/src/c', 438, 420 ]
4741 silly gunzTarPerm extractEntry test/fixtures/src/d
4742 silly gunzTarPerm modified mode [ 'test/fixtures/src/d', 438, 420 ]
4743 silly gunzTarPerm extractEntry test/fixtures/src/e
4744 silly gunzTarPerm modified mode [ 'test/fixtures/src/e', 438, 420 ]
4745 silly gunzTarPerm extractEntry test/fixtures/src/f
4746 silly gunzTarPerm modified mode [ 'test/fixtures/src/f', 438, 420 ]
4747 silly gunzTarPerm extractEntry test/fixtures/src/sub/a
4748 silly gunzTarPerm modified mode [ 'test/fixtures/src/sub/a', 438, 420 ]
4749 silly gunzTarPerm extractEntry test/fixtures/src/sub/b
4750 silly gunzTarPerm modified mode [ 'test/fixtures/src/sub/b', 438, 420 ]
4751 silly gunzTarPerm extractEntry test/chmod.js
4752 silly gunzTarPerm modified mode [ 'test/chmod.js', 438, 420 ]
4753 silly gunzTarPerm extractEntry test/perm.js
4754 silly gunzTarPerm modified mode [ 'test/perm.js', 438, 420 ]
4755 silly gunzTarPerm extractEntry lib/inflections.js
4756 silly gunzTarPerm modified mode [ 'lib/inflections.js', 438, 420 ]
4757 silly gunzTarPerm extractEntry lib/methods.js
4758 silly gunzTarPerm modified mode [ 'lib/methods.js', 438, 420 ]
4759 silly gunzTarPerm extractEntry lib/native.js
4760 silly gunzTarPerm modified mode [ 'lib/native.js', 438, 420 ]
4761 silly gunzTarPerm extractEntry lib/util.js
4762 silly gunzTarPerm modified mode [ 'lib/util.js', 438, 420 ]
4763 silly gunzTarPerm extractEntry test/inflector/cases.js
4764 silly gunzTarPerm modified mode [ 'test/inflector/cases.js', 438, 420 ]
4765 silly gunzTarPerm extractEntry test/inflector/inflections-test.js
4766 silly gunzTarPerm modified mode [ 'test/inflector/inflections-test.js', 438, 420 ]
4767 silly gunzTarPerm extractEntry test/inflector/methods-test.js
4768 silly gunzTarPerm modified mode [ 'test/inflector/methods-test.js', 438, 420 ]
4769 silly gunzTarPerm extractEntry test/utils/array-test.js
4770 silly gunzTarPerm modified mode [ 'test/utils/array-test.js', 438, 420 ]
4771 silly gunzTarPerm extractEntry test/utils/string-test.js
4772 silly gunzTarPerm modified mode [ 'test/utils/string-test.js', 438, 420 ]
4773 silly gunzTarPerm extractEntry test/run.sh
4774 silly gunzTarPerm modified mode [ 'test/run.sh', 438, 420 ]
4775 silly gunzTarPerm extractEntry test/setup.sh
4776 silly gunzTarPerm modified mode [ 'test/setup.sh', 438, 420 ]
4777 silly gunzTarPerm extractEntry test/perm_sync.js
4778 silly gunzTarPerm modified mode [ 'test/perm_sync.js', 438, 420 ]
4779 silly gunzTarPerm extractEntry test/race.js
4780 silly gunzTarPerm modified mode [ 'test/race.js', 438, 420 ]
4781 silly gunzTarPerm extractEntry test/mkdirp.js
4782 silly gunzTarPerm modified mode [ 'test/mkdirp.js', 438, 420 ]
4783 silly gunzTarPerm extractEntry test/return.js
4784 silly gunzTarPerm modified mode [ 'test/return.js', 438, 420 ]
4785 silly gunzTarPerm extractEntry test/return_sync.js
4786 silly gunzTarPerm modified mode [ 'test/return_sync.js', 438, 420 ]
4787 silly gunzTarPerm extractEntry test/root.js
4788 silly gunzTarPerm modified mode [ 'test/root.js', 438, 420 ]
4789 silly gunzTarPerm extractEntry test/sync.js
4790 silly gunzTarPerm modified mode [ 'test/sync.js', 438, 420 ]
4791 silly gunzTarPerm extractEntry test/umask.js
4792 silly gunzTarPerm modified mode [ 'test/umask.js', 438, 420 ]
4793 silly gunzTarPerm extractEntry test/clobber.js
4794 silly gunzTarPerm modified mode [ 'test/clobber.js', 438, 420 ]
4795 silly gunzTarPerm extractEntry test/umask_sync.js
4796 silly gunzTarPerm modified mode [ 'test/umask_sync.js', 438, 420 ]
4797 silly gunzTarPerm extractEntry test/rel.js
4798 silly gunzTarPerm modified mode [ 'test/rel.js', 438, 420 ]
4799 silly lockFile 9e620428-es-utile-node-modules-deep-equal tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\deep-equal
4800 silly lockFile 9e620428-es-utile-node-modules-deep-equal tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\deep-equal
4801 silly lockFile bff71e31-che-deep-equal-0-0-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\deep-equal\0.0.0\package.tgz
4802 silly lockFile bff71e31-che-deep-equal-0-0-0-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\deep-equal\0.0.0\package.tgz
4803 info preinstall deep-equal@0.0.0
4804 verbose readDependencies using package.json deps
4805 verbose readDependencies using package.json deps
4806 silly resolved []
4807 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\deep-equal
4808 info build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\deep-equal
4809 verbose linkStuff [ false,
4809 verbose linkStuff false,
4809 verbose linkStuff false,
4809 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\http-proxy\\node_modules\\utile\\node_modules' ]
4810 info linkStuff deep-equal@0.0.0
4811 verbose linkBins deep-equal@0.0.0
4812 verbose linkMans deep-equal@0.0.0
4813 verbose rebuildBundles deep-equal@0.0.0
4814 info install deep-equal@0.0.0
4815 info postinstall deep-equal@0.0.0
4816 silly gunzTarPerm extractEntry lib/async.js
4817 silly gunzTarPerm modified mode [ 'lib/async.js', 438, 420 ]
4818 silly gunzTarPerm extractEntry Makefile
4819 silly gunzTarPerm modified mode [ 'Makefile', 438, 420 ]
4820 silly lockFile aafca3d7-odules-utile-node-modules-rimraf tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\rimraf
4821 silly lockFile aafca3d7-odules-utile-node-modules-rimraf tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\rimraf
4822 silly lockFile dbfbdf33-m-cache-rimraf-1-0-9-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\rimraf\1.0.9\package.tgz
4823 silly lockFile dbfbdf33-m-cache-rimraf-1-0-9-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\rimraf\1.0.9\package.tgz
4824 info preinstall rimraf@1.0.9
4825 verbose readDependencies using package.json deps
4826 verbose readDependencies using package.json deps
4827 silly resolved []
4828 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\rimraf
4829 info build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\rimraf
4830 verbose linkStuff [ false,
4830 verbose linkStuff false,
4830 verbose linkStuff false,
4830 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\http-proxy\\node_modules\\utile\\node_modules' ]
4831 info linkStuff rimraf@1.0.9
4832 verbose linkBins rimraf@1.0.9
4833 verbose linkMans rimraf@1.0.9
4834 verbose rebuildBundles rimraf@1.0.9
4835 info install rimraf@1.0.9
4836 info postinstall rimraf@1.0.9
4837 silly lockFile ff2457ad-e-modules-utile-node-modules-ncp tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\ncp
4838 silly lockFile ff2457ad-e-modules-utile-node-modules-ncp tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\ncp
4839 silly lockFile 4843e2ef--npm-cache-ncp-0-2-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ncp\0.2.7\package.tgz
4840 silly lockFile 4843e2ef--npm-cache-ncp-0-2-7-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ncp\0.2.7\package.tgz
4841 silly lockFile 59f9bfa2-modules-utile-node-modules-async tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\async
4842 silly lockFile 59f9bfa2-modules-utile-node-modules-async tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\async
4843 silly lockFile fa6f26ef-m-cache-async-0-1-22-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\async\0.1.22\package.tgz
4844 silly lockFile fa6f26ef-m-cache-async-0-1-22-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\async\0.1.22\package.tgz
4845 info preinstall ncp@0.2.7
4846 verbose readDependencies using package.json deps
4847 verbose readDependencies using package.json deps
4848 silly resolved []
4849 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\ncp
4850 info build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\ncp
4851 verbose linkStuff [ false,
4851 verbose linkStuff false,
4851 verbose linkStuff false,
4851 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\http-proxy\\node_modules\\utile\\node_modules' ]
4852 info linkStuff ncp@0.2.7
4853 verbose linkBins ncp@0.2.7
4854 verbose link bins [ { ncp: './bin/ncp' },
4854 verbose link bins 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\http-proxy\\node_modules\\utile\\node_modules\\.bin',
4854 verbose link bins false ]
4855 verbose linkMans ncp@0.2.7
4856 verbose rebuildBundles ncp@0.2.7
4857 info preinstall async@0.1.22
4858 verbose readDependencies using package.json deps
4859 verbose readDependencies using package.json deps
4860 silly resolved []
4861 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\async
4862 info build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\async
4863 verbose linkStuff [ false,
4863 verbose linkStuff false,
4863 verbose linkStuff false,
4863 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\http-proxy\\node_modules\\utile\\node_modules' ]
4864 info linkStuff async@0.1.22
4865 verbose linkBins async@0.1.22
4866 verbose linkMans async@0.1.22
4867 verbose rebuildBundles async@0.1.22
4868 info install async@0.1.22
4869 info postinstall async@0.1.22
4870 info install ncp@0.2.7
4871 info postinstall ncp@0.2.7
4872 silly lockFile 2db647b0-ode-modules-utile-node-modules-i tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\i
4873 silly lockFile 2db647b0-ode-modules-utile-node-modules-i tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\i
4874 silly lockFile 7a698150-ng-npm-cache-i-0-3-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\i\0.3.2\package.tgz
4875 silly lockFile 7a698150-ng-npm-cache-i-0-3-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\i\0.3.2\package.tgz
4876 silly lockFile 2fd39956-odules-utile-node-modules-mkdirp tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\mkdirp
4877 silly lockFile 2fd39956-odules-utile-node-modules-mkdirp tar://C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\mkdirp
4878 silly lockFile 6fcb9d4e-m-cache-mkdirp-0-3-5-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\mkdirp\0.3.5\package.tgz
4879 silly lockFile 6fcb9d4e-m-cache-mkdirp-0-3-5-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\mkdirp\0.3.5\package.tgz
4880 info preinstall i@0.3.2
4881 info preinstall mkdirp@0.3.5
4882 verbose readDependencies using package.json deps
4883 verbose readDependencies using package.json deps
4884 silly resolved []
4885 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\i
4886 info build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\i
4887 verbose linkStuff [ false,
4887 verbose linkStuff false,
4887 verbose linkStuff false,
4887 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\http-proxy\\node_modules\\utile\\node_modules' ]
4888 info linkStuff i@0.3.2
4889 verbose linkBins i@0.3.2
4890 verbose linkMans i@0.3.2
4891 verbose rebuildBundles i@0.3.2
4892 verbose readDependencies using package.json deps
4893 info install i@0.3.2
4894 verbose readDependencies using package.json deps
4895 silly resolved []
4896 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\mkdirp
4897 info build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile\node_modules\mkdirp
4898 verbose linkStuff [ false,
4898 verbose linkStuff false,
4898 verbose linkStuff false,
4898 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\http-proxy\\node_modules\\utile\\node_modules' ]
4899 info linkStuff mkdirp@0.3.5
4900 verbose linkBins mkdirp@0.3.5
4901 verbose linkMans mkdirp@0.3.5
4902 verbose rebuildBundles mkdirp@0.3.5
4903 info install mkdirp@0.3.5
4904 info postinstall i@0.3.2
4905 info postinstall mkdirp@0.3.5
4906 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
4907 info build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy\node_modules\utile
4908 verbose linkStuff [ false,
4908 verbose linkStuff false,
4908 verbose linkStuff false,
4908 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\http-proxy\\node_modules' ]
4909 info linkStuff utile@0.1.7
4910 verbose linkBins utile@0.1.7
4911 verbose linkMans utile@0.1.7
4912 verbose rebuildBundles utile@0.1.7
4913 verbose rebuildBundles [ '.bin', 'async', 'deep-equal', 'i', 'mkdirp', 'ncp', 'rimraf' ]
4914 info install utile@0.1.7
4915 info postinstall utile@0.1.7
4916 verbose about to build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy
4917 info build C:\dev\tmp\test\node_modules\karma\node_modules\http-proxy
4918 verbose linkStuff [ false,
4918 verbose linkStuff false,
4918 verbose linkStuff false,
4918 verbose linkStuff 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules' ]
4919 info linkStuff http-proxy@0.10.3
4920 verbose linkBins http-proxy@0.10.3
4921 verbose link bins [ { 'node-http-proxy': './bin/node-http-proxy' },
4921 verbose link bins 'C:\\dev\\tmp\\test\\node_modules\\karma\\node_modules\\.bin',
4921 verbose link bins false ]
4922 verbose linkMans http-proxy@0.10.3
4923 verbose rebuildBundles http-proxy@0.10.3
4924 verbose rebuildBundles [ 'pkginfo', 'utile' ]
4925 info install http-proxy@0.10.3
4926 info postinstall http-proxy@0.10.3
4927 http 304 https://registry.npmjs.org/ws
4928 silly registry.get cb [ 304,
4928 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4928 silly registry.get etag: '"E12YI8VJ4M8JMCAI08FISWC04"',
4928 silly registry.get date: 'Tue, 01 Oct 2013 14:42:43 GMT',
4928 silly registry.get 'content-length': '0',
4928 silly registry.get age: '0',
4928 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
4929 verbose etag ws from cache
4930 http 304 https://registry.npmjs.org/xmlhttprequest/1.4.2
4931 silly registry.get cb [ 304,
4931 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4931 silly registry.get etag: '"B3MQZKLAZ8QNHXM70X977HEH9"',
4931 silly registry.get date: 'Tue, 01 Oct 2013 14:42:43 GMT',
4931 silly registry.get 'content-length': '0',
4931 silly registry.get age: '0',
4931 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
4932 verbose etag xmlhttprequest/1.4.2 from cache
4933 http 304 https://registry.npmjs.org/uglify-js/1.2.5
4934 silly registry.get cb [ 304,
4934 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4934 silly registry.get etag: '"6CFO6WD43L7HT6IQ08U1YN9WU"',
4934 silly registry.get date: 'Tue, 01 Oct 2013 14:42:43 GMT',
4934 silly registry.get 'content-length': '0',
4934 silly registry.get age: '0',
4934 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
4935 verbose etag uglify-js/1.2.5 from cache
4936 silly addNameRange number 2 { name: 'ws', range: '>=0.4.0-0 <0.5.0-0', hasData: true }
4937 silly addNameRange versions [ 'ws',
4937 silly addNameRange [ '0.2.6',
4937 silly addNameRange '0.2.8',
4937 silly addNameRange '0.2.9',
4937 silly addNameRange '0.3.0',
4937 silly addNameRange '0.3.1',
4937 silly addNameRange '0.3.2',
4937 silly addNameRange '0.3.3',
4937 silly addNameRange '0.3.4',
4937 silly addNameRange '0.3.4-2',
4937 silly addNameRange '0.3.5',
4937 silly addNameRange '0.3.5-2',
4937 silly addNameRange '0.3.5-3',
4937 silly addNameRange '0.3.5-4',
4937 silly addNameRange '0.3.6',
4937 silly addNameRange '0.3.7',
4937 silly addNameRange '0.3.8',
4937 silly addNameRange '0.3.9',
4937 silly addNameRange '0.4.0',
4937 silly addNameRange '0.4.1',
4937 silly addNameRange '0.4.2',
4937 silly addNameRange '0.4.3',
4937 silly addNameRange '0.4.5',
4937 silly addNameRange '0.4.6',
4937 silly addNameRange '0.4.7',
4937 silly addNameRange '0.4.8',
4937 silly addNameRange '0.4.9',
4937 silly addNameRange '0.4.10',
4937 silly addNameRange '0.4.11',
4937 silly addNameRange '0.4.12',
4937 silly addNameRange '0.4.13',
4937 silly addNameRange '0.4.14',
4937 silly addNameRange '0.4.15',
4937 silly addNameRange '0.4.16',
4937 silly addNameRange '0.4.17',
4937 silly addNameRange '0.4.18',
4937 silly addNameRange '0.4.19',
4937 silly addNameRange '0.4.20',
4937 silly addNameRange '0.4.21',
4937 silly addNameRange '0.4.22',
4937 silly addNameRange '0.4.23',
4937 silly addNameRange '0.4.24',
4937 silly addNameRange '0.4.25',
4937 silly addNameRange '0.4.27',
4937 silly addNameRange '0.4.28',
4937 silly addNameRange '0.4.29',
4937 silly addNameRange '0.4.30',
4937 silly addNameRange '0.4.31' ] ]
4938 verbose addNamed [ 'ws', '0.4.31' ]
4939 verbose addNamed [ '0.4.31', '0.4.31' ]
4940 silly lockFile 53e67403-ws-0-4-31 ws@0.4.31
4941 verbose lock ws@0.4.31 C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\53e67403-ws-0-4-31.lock
4942 silly lockFile 55d2242a-xmlhttprequest-1-4-2 xmlhttprequest@1.4.2
4943 silly lockFile 55d2242a-xmlhttprequest-1-4-2 xmlhttprequest@1.4.2
4944 silly lockFile 53e67403-ws-0-4-31 ws@0.4.31
4945 silly lockFile 53e67403-ws-0-4-31 ws@0.4.31
4946 silly lockFile 5d9e9ce0-ws-0-4-x ws@0.4.x
4947 silly lockFile 5d9e9ce0-ws-0-4-x ws@0.4.x
4948 silly lockFile 7bec4d6c-uglify-js-1-2-5 uglify-js@1.2.5
4949 silly lockFile 7bec4d6c-uglify-js-1-2-5 uglify-js@1.2.5
4950 http 304 https://registry.npmjs.org/active-x-obfuscator/0.0.1
4951 silly registry.get cb [ 304,
4951 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4951 silly registry.get etag: '"8AX8IZJ4LC77VD1TPVMF16GE0"',
4951 silly registry.get date: 'Tue, 01 Oct 2013 14:42:43 GMT',
4951 silly registry.get 'content-length': '0',
4951 silly registry.get age: '0',
4951 silly registry.get via: 'HTTPS/1.1 wsproxy.lv.no' } ]
4952 verbose etag active-x-obfuscator/0.0.1 from cache
4953 silly lockFile 8a542afc-active-x-obfuscator-0-0-1 active-x-obfuscator@0.0.1
4954 silly lockFile 8a542afc-active-x-obfuscator-0-0-1 active-x-obfuscator@0.0.1
4955 silly resolved [ { name: 'xmlhttprequest',
4955 silly resolved description: 'XMLHttpRequest for Node',
4955 silly resolved version: '1.4.2',
4955 silly resolved author: { name: 'Dan DeFelippi', url: 'http://driverdan.com' },
4955 silly resolved keywords: [ 'xhr', 'ajax' ],
4955 silly resolved licenses: [ [Object] ],
4955 silly resolved repository:
4955 silly resolved { type: 'git',
4955 silly resolved url: 'git://github.com/driverdan/node-XMLHttpRequest.git' },
4955 silly resolved bugs: { url: 'http://github.com/driverdan/node-XMLHttpRequest/issues' },
4955 silly resolved engines: { node: '>=0.4.0' },
4955 silly resolved directories: { lib: './lib', example: './example' },
4955 silly resolved main: './lib/XMLHttpRequest.js',
4955 silly resolved readme: '# node-XMLHttpRequest #\n\nnode-XMLHttpRequest is a wrapper for the built-in http client to emulate the\nbrowser XMLHttpRequest object.\n\nThis can be used with JS designed for browsers to improve reuse of code and\nallow the use of existing libraries.\n\nNote: This library currently conforms to [XMLHttpRequest 1](http://www.w3.org/TR/XMLHttpRequest/). Version 2.0 will target [XMLHttpRequest Level 2](http://www.w3.org/TR/XMLHttpRequest2/).\n\n## Usage ##\n\nHere\'s how to include the module in your project and use as the browser-based\nXHR object.\n\n\tvar XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;\n\tvar xhr = new XMLHttpRequest();\n\nNote: use the lowercase string "xmlhttprequest" in your require(). On\ncase-sensitive systems (eg Linux) using uppercase letters won\'t work.\n\n## Versions ##\n\nPrior to 1.4.0 version numbers were arbitrary. From 1.4.0 on they conform to\nthe standard major.minor.bugfix. 1.x shouldn\'t necessarily be considered\nstable just because it\'s above 0.x.\n\nSince the XMLHttpRequest API is stable this library\'s API is stable as\nwell. Major version numbers indicate significant core code changes.\nMinor versions indicate minor core code changes or better conformity to\nthe W3C spec.\n\n## Supports ##\n\n* Async and synchronous requests\n* GET, POST, PUT, and DELETE requests\n* All spec methods (open, send, abort, getRequestHeader,\n getAllRequestHeaders, event methods)\n* Requests to all domains\n\n## Known Issues / Missing Features ##\n\nFor a list of open issues or to report your own visit the [github issues\npage](https://github.com/driverdan/node-XMLHttpRequest/issues).\n\n* Local file access may have unexpected results for non-UTF8 files\n* Synchronous requests don\'t set headers properly\n* Synchronous requests freeze node while waiting for response (But that\'s what you want, right? Stick with async!).\n* Some events are missing, such as abort\n* getRequestHeader is case-sensitive\n* Cookies aren\'t persisted between requests\n* Missing XML support\n* Missing basic auth\n',
4955 silly resolved readmeFilename: 'README.md',
4955 silly resolved _id: 'xmlhttprequest@1.4.2',
4955 silly resolved _from: 'xmlhttprequest@1.4.2' },
4955 silly resolved { author:
4955 silly resolved { name: 'Einar Otto Stangvik',
4955 silly resolved email: 'einaros@gmail.com',
4955 silly resolved url: 'http://2x.io' },
4955 silly resolved name: 'ws',
4955 silly resolved description: 'simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js, up-to-date against RFC-6455',
4955 silly resolved version: '0.4.31',
4955 silly resolved keywords:
4955 silly resolved [ 'Hixie',
4955 silly resolved 'HyBi',
4955 silly resolved 'Push',
4955 silly resolved 'RFC-6455',
4955 silly resolved 'WebSocket',
4955 silly resolved 'WebSockets',
4955 silly resolved 'real-time' ],
4955 silly resolved repository: { type: 'git', url: 'git://github.com/einaros/ws.git' },
4955 silly resolved bin: { wscat: './bin/wscat' },
4955 silly resolved scripts:
4955 silly resolved { test: 'make test',
4955 silly resolved install: '(node-gyp rebuild 2> builderror.log) || (exit 0)' },
4955 silly resolved engines: { node: '>=0.4.0' },
4955 silly resolved dependencies:
4955 silly resolved { commander: '~0.6.1',
4955 silly resolved nan: '~0.3.0',
4955 silly resolved tinycolor: '0.x',
4955 silly resolved options: '>=0.0.5' },
4955 silly resolved devDependencies:
4955 silly resolved { mocha: '1.12.0',
4955 silly resolved should: '1.2.x',
4955 silly resolved 'expect.js': '0.2.x',
4955 silly resolved benchmark: '0.3.x',
4955 silly resolved ansi: 'latest' },
4955 silly resolved browser: './lib/browser.js',
4955 silly resolved component: { scripts: [Object] },
4955 silly resolved gypfile: true,
4955 silly resolved readme: '[![Build Status](https://secure.travis-ci.org/einaros/ws.png)](http://travis-ci.org/einaros/ws)\n\n# ws: a node.js websocket library #\n\n`ws` is a simple to use websocket implementation, up-to-date against RFC-6455, and [probably the fastest WebSocket library for node.js](http://web.archive.org/web/20130314230536/http://hobbycoding.posterous.com/the-fastest-websocket-module-for-nodejs).\n\nPasses the quite extensive Autobahn test suite. See http://einaros.github.com/ws for the full reports.\n\nComes with a command line utility, `wscat`, which can either act as a server (--listen), or client (--connect); Use it to debug simple websocket services.\n\n## Protocol support ##\n\n* **Hixie draft 76** (Old and deprecated, but still in use by Safari and Opera. Added to ws version 0.4.2, but server only. Can be disabled by setting the `disableHixie` option to true.)\n* **HyBi drafts 07-12** (Use the option `protocolVersion: 8`, or argument `-p 8` for wscat)\n* **HyBi drafts 13-17** (Current default, alternatively option `protocolVersion: 13`, or argument `-p 13` for wscat)\n\n_See the echo.websocket.org example below for how to use the `protocolVersion` option._\n\n## Usage ##\n\n### Installing ###\n\n`npm install ws`\n\n### Sending and receiving text data ###\n\n```js\nvar WebSocket = require(\'ws\');\nvar ws = new WebSocket(\'ws://www.host.com/path\');\nws.on(\'open\', function() {\n ws.send(\'something\');\n});\nws.on(\'message\', function(data, flags) {\n // flags.binary will be set if a binary data is received\n // flags.masked will be set if the data was masked\n});\n```\n\n### Sending binary data ###\n\n```js\nvar WebSocket = require(\'ws\');\nvar ws = new WebSocket(\'ws://www.host.com/path\');\nws.on(\'open\', function() {\n var array = new Float32Array(5);\n for (var i = 0; i < array.length; ++i) array[i] = i / 2;\n ws.send(array, {binary: true, mask: true});\n});\n```\n\nSetting `mask`, as done for the send options above, will cause the data to be masked according to the websocket protocol. The same option applies for text data.\n\n### Server example ###\n\n```js\nvar WebSocketServer = require(\'ws\').Server\n , wss = new WebSocketServer({port: 8080});\nwss.on(\'connection\', function(ws) {\n ws.on(\'message\', function(message) {\n console.log(\'received: %s\', message);\n });\n ws.send(\'something\');\n});\n```\n\n### Server sending broadcast data ###\n\n```js\nvar WebSocketServer = require(\'ws\').Server\n , wss = new WebSocketServer({port: 8080});\n \nwss.broadcast = function(data) {\n\tfor(var i in this.clients)\n\t\tthis.clients[i].send(data);\n};\n```\n\n### Error handling best practices ###\n\n```js\n// If the WebSocket is closed before the following send is attempted\nws.send(\'something\');\n\n// Errors (both immediate and async write errors) can be detected in an optional callback.\n// The callback is also the only way of being notified that data has actually been sent.\nws.send(\'something\', function(error) {\n // if error is null, the send has been completed,\n // otherwise the error object will indicate what failed.\n});\n\n// Immediate errors can also be handled with try/catch-blocks, but **note**\n// that since sends are inherently asynchronous, socket write failures will *not*\n// be captured when this technique is used.\ntry {\n ws.send(\'something\');\n}\ncatch (e) {\n // handle error\n}\n```\n\n### echo.websocket.org demo ###\n\n```js\nvar WebSocket = require(\'ws\');\nvar ws = new WebSocket(\'ws://echo.websocket.org/\', {protocolVersion: 8, origin: \'http://websocket.org\'});\nws.on(\'open\', function() {\n console.log(\'connected\');\n ws.send(Date.now().toString(), {mask: true});\n});\nws.on(\'close\', function() {\n console.log(\'disconnected\');\n});\nws.on(\'message\', function(data, flags) {\n console.log(\'Roundtrip time: \' + (Date.now() - parseInt(data)) + \'ms\', flags);\n setTimeout(function() {\n ws.send(Date.now().toString(), {mask: true});\n }, 500);\n});\n```\n\n### wscat against echo.websocket.org ###\n\n $ npm install -g ws\n $ wscat -c ws://echo.websocket.org -p 8\n connected (press CTRL+C to quit)\n > hi there\n < hi there\n > are you a happy parrot?\n < are you a happy parrot?\n\n### Other examples ###\n\nFor a full example with a browser client communicating with a ws server, see the examples folder.\n\nNote that the usage together with Express 3.0 is quite different from Express 2.x. The difference is expressed in the two different serverstats-examples.\n\nOtherwise, see the test cases.\n\n### Running the tests ###\n\n`make test`\n\n## API Docs ##\n\nSee the doc/ directory for Node.js-like docs for the ws classes.\n\n## License ##\n\n(The MIT License)\n\nCopyright (c) 2011 Einar Otto Stangvik &lt;einaros@gmail.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\'Software\'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
4955 silly resolved readmeFilename: 'README.md',
4955 silly resolved bugs: { url: 'https://github.com/einaros/ws/issues' },
4955 silly resolved _id: 'ws@0.4.31',
4955 silly resolved _from: 'ws@0.4.x' },
4955 silly resolved { name: 'uglify-js',
4955 silly resolved description: 'JavaScript parser and compressor/beautifier toolkit',
4955 silly resolved author:
4955 silly resolved { name: 'Mihai Bazon',
4955 silly resolved email: 'mihai.bazon@gmail.com',
4955 silly resolved url: 'http://mihai.bazon.net/blog' },
4955 silly resolved version: '1.2.5',
4955 silly resolved main: './uglify-js.js',
4955 silly resolved bin: { uglifyjs: './bin/uglifyjs' },
4955 silly resolved repository: { type: 'git', url: 'git@github.com:mishoo/UglifyJS.git' },
4955 silly resolved readme: '<?xml version="1.0" encoding="utf-8"?>\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n<html xmlns="http://www.w3.org/1999/xhtml"\nlang="en" xml:lang="en">\n<head>\n<title>UglifyJS &ndash; a JavaScript parser/compressor/beautifier</title>\n<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>\n<meta name="generator" content="Org-mode"/>\n<meta name="generated" content="2011-12-09 14:59:08 EET"/>\n<meta name="author" content="Mihai Bazon"/>\n<meta name="description" content="a JavaScript parser/compressor/beautifier in JavaScript"/>\n<meta name="keywords" content="javascript, js, parser, compiler, compressor, mangle, minify, minifier"/>\n<style type="text/css">\n <!--/*--><![CDATA[/*><!--*/\n html { font-family: Times, serif; font-size: 12pt; }\n .title { text-align: center; }\n .todo { color: red; }\n .done { color: green; }\n .tag { background-color: #add8e6; font-weight:normal }\n .target { }\n .timestamp { color: #bebebe; }\n .timestamp-kwd { color: #5f9ea0; }\n .right {margin-left:auto; margin-right:0px; text-align:right;}\n .left {margin-left:0px; margin-right:auto; text-align:left;}\n .center {margin-left:auto; margin-right:auto; text-align:center;}\n p.verse { margin-left: 3% }\n pre {\n\tborder: 1pt solid #AEBDCC;\n\tbackground-color: #F3F5F7;\n\tpadding: 5pt;\n\tfont-family: courier, monospace;\n font-size: 90%;\n overflow:auto;\n }\n table { border-collapse: collapse; }\n td, th { vertical-align: top; }\n th.right { text-align:center; }\n th.left { text-align:center; }\n th.center { text-align:center; }\n td.right { text-align:right; }\n td.left { text-align:left; }\n td.center { text-align:center; }\n dt { font-weight: bold; }\n div.figure { padding: 0.5em; }\n div.figure p { text-align: center; }\n div.inlinetask {\n padding:10px;\n border:2px solid gray;\n margin:10px;\n background: #ffffcc;\n }\n textarea { overflow-x: auto; }\n .linenr { font-size:smaller }\n .code-highlighted {background-color:#ffff00;}\n .org-info-js_info-navigation { border-style:none; }\n #org-info-js_console-label { font-size:10px; font-weight:bold;\n white-space:nowrap; }\n .org-info-js_search-highlight {background-color:#ffff00; color:#000000;\n font-weight:bold; }\n /*]]>*/-->\n</style>\n<link rel="stylesheet" type="text/css" href="docstyle.css" />\n<script type="text/javascript">\n<!--/*--><![CDATA[/*><!--*/\n function CodeHighlightOn(elem, id)\n {\n var target = document.getElementById(id);\n if(null != target) {\n elem.cacheClassElem = elem.className;\n elem.cacheClassTarget = target.className;\n target.className = "code-highlighted";\n elem.className = "code-highlighted";\n }\n }\n function CodeHighlightOff(elem, id)\n {\n var target = document.getElementById(id);\n if(elem.cacheClassElem)\n elem.className = elem.cacheClassElem;\n if(elem.cacheClassTarget)\n target.className = elem.cacheClassTarget;\n }\n/*]]>*///-->\n</script>\n\n</head>\n<body>\n\n<div id="preamble">\n\n</div>\n\n<div id="content">\n<h1 class="title">UglifyJS &ndash; a JavaScript parser/compressor/beautifier</h1>\n\n\n<div id="table-of-contents">\n<h2>Table of Contents</h2>\n<div id="text-table-of-contents">\n<ul>\n<li><a href="#sec-1">1 UglifyJS &mdash; a JavaScript parser/compressor/beautifier </a>\n<ul>\n<li><a href="#sec-1-1">1.1 Unsafe transformations </a>\n<ul>\n<li><a href="#sec-1-1-1">1.1.1 Calls involving the global Array constructor </a></li>\n<li><a href="#sec-1-1-2">1.1.2 <code>obj.toString()</code> ==&gt; <code>obj+“”</code> </a></li>\n</ul>\n</li>\n<li><a href="#sec-1-2">1.2 Install (NPM) </a></li>\n<li><a href="#sec-1-3">1.3 Install latest code from GitHub </a></li>\n<li><a href="#sec-1-4">1.4 Usage </a>\n<ul>\n<li><a href="#sec-1-4-1">1.4.1 API </a></li>\n<li><a href="#sec-1-4-2">1.4.2 Beautifier shortcoming &ndash; no more comments </a></li>\n<li><a href="#sec-1-4-3">1.4.3 Use as a code pre-processor </a></li>\n</ul>\n</li>\n<li><a href="#sec-1-5">1.5 Compression &ndash; how good is it? </a></li>\n<li><a href="#sec-1-6">1.6 Bugs? </a></li>\n<li><a href="#sec-1-7">1.7 Links </a></li>\n<li><a href="#sec-1-8">1.8 License </a></li>\n</ul>\n</li>\n</ul>\n</div>\n</div>\n\n<div id="outline-container-1" class="outline-2">\n<h2 id="sec-1"><span class="section-number-2">1</span> UglifyJS &mdash; a JavaScript parser/compressor/beautifier </h2>\n<div class="outline-text-2" id="text-1">\n\n\n<p>\nThis package implements a general-purpose JavaScript\nparser/compressor/beautifier toolkit. It is developed on <a href="http://nodejs.org/">NodeJS</a>, but it\nshould work on any JavaScript platform supporting the CommonJS module system\n(and if your platform of choice doesn\'t support CommonJS, you can easily\nimplement it, or discard the <code>exports.*</code> lines from UglifyJS sources).\n</p>\n<p>\nThe tokenizer/parser generates an abstract syntax tree from JS code. You\ncan then traverse the AST to learn more about the code, or do various\nmanipulations on it. This part is implemented in <a href="../lib/parse-js.js">parse-js.js</a> and it\'s a\nport to JavaScript of the excellent <a href="http://marijn.haverbeke.nl/parse-js/">parse-js</a> Common Lisp library from <a href="http://marijn.haverbeke.nl/">Marijn Haverbeke</a>.\n</p>\n<p>\n( See <a href="http://github.com/mishoo/cl-uglify-js">cl-uglify-js</a> if you\'re looking for the Common Lisp version of\nUglifyJS. )\n</p>\n<p>\nThe second part of this package, implemented in <a href="../lib/process.js">process.js</a>, inspects and\nmanipulates the AST generated by the parser to provide the following:\n</p>\n<ul>\n<li>ability to re-generate JavaScript code from the AST. Optionally\n indented&mdash;you can use this if you want to “beautify” a program that has\n been compressed, so that you can inspect the source. But you can also run\n our code generator to print out an AST without any whitespace, so you\n achieve compression as well.\n\n</li>\n<li>shorten variable names (usually to single characters). Our mangler will\n analyze the code and generate proper variable names, depending on scope\n and usage, and is smart enough to deal with globals defined elsewhere, or\n with <code>eval()</code> calls or <code>with{}</code> statements. In short, if <code>eval()</code> or\n <code>with{}</code> are used in some scope, then all variables in that scope and any\n variables in the parent scopes will remain unmangled, and any references\n to such variables remain unmangled as well.\n\n</li>\n<li>various small optimizations that may lead to faster code but certainly\n lead to smaller code. Where possible, we do the following:\n\n<ul>\n<li>foo["bar"] ==&gt; foo.bar\n\n</li>\n<li>remove block brackets <code>{}</code>\n\n</li>\n<li>join consecutive var declarations:\n var a = 10; var b = 20; ==&gt; var a=10,b=20;\n\n</li>\n<li>resolve simple constant expressions: 1 +2 * 3 ==&gt; 7. We only do the\n replacement if the result occupies less bytes; for example 1/3 would\n translate to 0.333333333333, so in this case we don\'t replace it.\n\n</li>\n<li>consecutive statements in blocks are merged into a sequence; in many\n cases, this leaves blocks with a single statement, so then we can remove\n the block brackets.\n\n</li>\n<li>various optimizations for IF statements:\n\n<ul>\n<li>if (foo) bar(); else baz(); ==&gt; foo?bar():baz();\n</li>\n<li>if (!foo) bar(); else baz(); ==&gt; foo?baz():bar();\n</li>\n<li>if (foo) bar(); ==&gt; foo&amp;&amp;bar();\n</li>\n<li>if (!foo) bar(); ==&gt; foo||bar();\n</li>\n<li>if (foo) return bar(); else return baz(); ==&gt; return foo?bar():baz();\n</li>\n<li>if (foo) return bar(); else something(); ==&gt; {if(foo)return bar();something()}\n\n</li>\n</ul>\n\n</li>\n<li>remove some unreachable code and warn about it (code that follows a\n <code>return</code>, <code>throw</code>, <code>break</code> or <code>continue</code> statement, except\n function/variable declarations).\n\n</li>\n<li>act a limited version of a pre-processor (c.f. the pre-processor of\n C/C++) to allow you to safely replace selected global symbols with\n specified values. When combined with the optimisations above this can\n make UglifyJS operate slightly more like a compilation process, in\n that when certain symbols are replaced by constant values, entire code\n blocks may be optimised away as unreachable.\n</li>\n</ul>\n\n</li>\n</ul>\n\n\n\n</div>\n\n<div id="outline-container-1-1" class="outline-3">\n<h3 id="sec-1-1"><span class="section-number-3">1.1</span> <span class="target">Unsafe transformations</span> </h3>\n<div class="outline-text-3" id="text-1-1">\n\n\n<p>\nThe following transformations can in theory break code, although they\'re\nprobably safe in most practical cases. To enable them you need to pass the\n<code>--unsafe</code> flag.\n</p>\n\n</div>\n\n<div id="outline-container-1-1-1" class="outline-4">\n<h4 id="sec-1-1-1"><span class="section-number-4">1.1.1</span> Calls involving the global Array constructor </h4>\n<div class="outline-text-4" id="text-1-1-1">\n\n\n<p>\nThe following transformations occur:\n</p>\n\n\n\n<pre class="src src-js"><span class="org-keyword">new</span> <span class="org-type">Array</span>(1, 2, 3, 4) =&gt; [1,2,3,4]\nArray(a, b, c) =&gt; [a,b,c]\n<span class="org-keyword">new</span> <span class="org-type">Array</span>(5) =&gt; Array(5)\n<span class="org-keyword">new</span> <span class="org-type">Array</span>(a) =&gt; Array(a)\n</pre>\n\n\n<p>\nThese are all safe if the Array name isn\'t redefined. JavaScript does allow\none to globally redefine Array (and pretty much everything, in fact) but I\npersonally don\'t see why would anyone do that.\n</p>\n<p>\nUglifyJS does handle the case where Array is redefined locally, or even\nglobally but with a <code>function</code> or <code>var</code> declaration. Therefore, in the\nfollowing cases UglifyJS <b>doesn\'t touch</b> calls or instantiations of Array:\n</p>\n\n\n\n<pre class="src src-js"><span class="org-comment-delimiter">// </span><span class="org-comment">case 1. globally declared variable</span>\n <span class="org-keyword">var</span> <span class="org-variable-name">Array</span>;\n <span class="org-keyword">new</span> <span class="org-type">Array</span>(1, 2, 3);\n Array(a, b);\n\n <span class="org-comment-delimiter">// </span><span class="org-comment">or (can be declared later)</span>\n <span class="org-keyword">new</span> <span class="org-type">Array</span>(1, 2, 3);\n <span class="org-keyword">var</span> <span class="org-variable-name">Array</span>;\n\n <span class="org-comment-delimiter">// </span><span class="org-comment">or (can be a function)</span>\n <span class="org-keyword">new</span> <span class="org-type">Array</span>(1, 2, 3);\n <span class="org-keyword">function</span> <span class="org-function-name">Array</span>() { ... }\n\n<span class="org-comment-delimiter">// </span><span class="org-comment">case 2. declared in a function</span>\n (<span class="org-keyword">function</span>(){\n a = <span class="org-keyword">new</span> <span class="org-type">Array</span>(1, 2, 3);\n b = Array(5, 6);\n <span class="org-keyword">var</span> <span class="org-variable-name">Array</span>;\n })();\n\n <span class="org-comment-delimiter">// </span><span class="org-comment">or</span>\n (<span class="org-keyword">function</span>(<span class="org-variable-name">Array</span>){\n <span class="org-keyword">return</span> Array(5, 6, 7);\n })();\n\n <span class="org-comment-delimiter">// </span><span class="org-comment">or</span>\n (<span class="org-keyword">function</span>(){\n <span class="org-keyword">return</span> <span class="org-keyword">new</span> <span class="org-type">Array</span>(1, 2, 3, 4);\n <span class="org-keyword">function</span> <span class="org-function-name">Array</span>() { ... }\n })();\n\n <span class="org-comment-delimiter">// </span><span class="org-comment">etc.</span>\n</pre>\n\n\n</div>\n\n</div>\n\n<div id="outline-container-1-1-2" class="outline-4">\n<h4 id="sec-1-1-2"><span class="section-number-4">1.1.2</span> <code>obj.toString()</code> ==&gt; <code>obj+“”</code> </h4>\n<div class="outline-text-4" id="text-1-1-2">\n\n\n</div>\n</div>\n\n</div>\n\n<div id="outline-container-1-2" class="outline-3">\n<h3 id="sec-1-2"><span class="section-number-3">1.2</span> Install (NPM) </h3>\n<div class="outline-text-3" id="text-1-2">\n\n\n<p>\nUglifyJS is now available through NPM &mdash; <code>npm install uglify-js</code> should do\nthe job.\n</p>\n</div>\n\n</div>\n\n<div id="outline-container-1-3" class="outline-3">\n<h3 id="sec-1-3"><span class="section-number-3">1.3</span> Install latest code from GitHub </h3>\n<div class="outline-text-3" id="text-1-3">\n\n\n\n\n\n<pre class="src src-sh"><span class="org-comment-delimiter">## </span><span class="org-comment">clone the repository</span>\nmkdir -p /where/you/wanna/put/it\n<span class="org-builtin">cd</span> /where/you/wanna/put/it\ngit clone git://github.com/mishoo/UglifyJS.git\n\n<span class="org-comment-delimiter">## </span><span class="org-comment">make the module available to Node</span>\nmkdir -p ~/.node_libraries/\n<span class="org-builtin">cd</span> ~/.node_libraries/\nln -s /where/you/wanna/put/it/UglifyJS/uglify-js.js\n\n<span class="org-comment-delimiter">## </span><span class="org-comment">and if you want the CLI script too:</span>\nmkdir -p ~/bin\n<span class="org-builtin">cd</span> ~/bin\nln -s /where/you/wanna/put/it/UglifyJS/bin/uglifyjs\n <span class="org-comment-delimiter"># </span><span class="org-comment">(then add ~/bin to your $PATH if it\'s not there already)</span>\n</pre>\n\n\n</div>\n\n</div>\n\n<div id="outline-container-1-4" class="outline-3">\n<h3 id="sec-1-4"><span class="section-number-3">1.4</span> Usage </h3>\n<div class="outline-text-3" id="text-1-4">\n\n\n<p>\nThere is a command-line tool that exposes the functionality of this library\nfor your shell-scripting needs:\n</p>\n\n\n\n<pre class="src src-sh">uglifyjs [ options... ] [ filename ]\n</pre>\n\n\n<p>\n<code>filename</code> should be the last argument and should name the file from which\nto read the JavaScript code. If you don\'t specify it, it will read code\nfrom STDIN.\n</p>\n<p>\nSupported options:\n</p>\n<ul>\n<li><code>-b</code> or <code>--beautify</code> &mdash; output indented code; when passed, additional\n options control the beautifier:\n\n<ul>\n<li><code>-i N</code> or <code>--indent N</code> &mdash; indentation level (number of spaces)\n\n</li>\n<li><code>-q</code> or <code>--quote-keys</code> &mdash; quote keys in literal objects (by default,\n only keys that cannot be identifier names will be quotes).\n\n</li>\n</ul>\n\n</li>\n<li><code>--ascii</code> &mdash; pass this argument to encode non-ASCII characters as\n <code>\\uXXXX</code> sequences. By default UglifyJS won\'t bother to do it and will\n output Unicode characters instead. (the output is always encoded in UTF8,\n but if you pass this option you\'ll only get ASCII).\n\n</li>\n<li><code>-nm</code> or <code>--no-mangle</code> &mdash; don\'t mangle names.\n\n</li>\n<li><code>-nmf</code> or <code>--no-mangle-functions</code> &ndash; in case you want to mangle variable\n names, but not touch function names.\n\n</li>\n<li><code>-ns</code> or <code>--no-squeeze</code> &mdash; don\'t call <code>ast_squeeze()</code> (which does various\n optimizations that result in smaller, less readable code).\n\n</li>\n<li><code>-mt</code> or <code>--mangle-toplevel</code> &mdash; mangle names in the toplevel scope too\n (by default we don\'t do this).\n\n</li>\n<li><code>--no-seqs</code> &mdash; when <code>ast_squeeze()</code> is called (thus, unless you pass\n <code>--no-squeeze</code>) it will reduce consecutive statements in blocks into a\n sequence. For example, "a = 10; b = 20; foo();" will be written as\n "a=10,b=20,foo();". In various occasions, this allows us to discard the\n block brackets (since the block becomes a single statement). This is ON\n by default because it seems safe and saves a few hundred bytes on some\n libs that I tested it on, but pass <code>--no-seqs</code> to disable it.\n\n</li>\n<li><code>--no-dead-code</code> &mdash; by default, UglifyJS will remove code that is\n obviously unreachable (code that follows a <code>return</code>, <code>throw</code>, <code>break</code> or\n <code>continue</code> statement and is not a function/variable declaration). Pass\n this option to disable this optimization.\n\n</li>\n<li><code>-nc</code> or <code>--no-copyright</code> &mdash; by default, <code>uglifyjs</code> will keep the initial\n comment tokens in the generated code (assumed to be copyright information\n etc.). If you pass this it will discard it.\n\n</li>\n<li><code>-o filename</code> or <code>--output filename</code> &mdash; put the result in <code>filename</code>. If\n this isn\'t given, the result goes to standard output (or see next one).\n\n</li>\n<li><code>--overwrite</code> &mdash; if the code is read from a file (not from STDIN) and you\n pass <code>--overwrite</code> then the output will be written in the same file.\n\n</li>\n<li><code>--ast</code> &mdash; pass this if you want to get the Abstract Syntax Tree instead\n of JavaScript as output. Useful for debugging or learning more about the\n internals.\n\n</li>\n<li><code>-v</code> or <code>--verbose</code> &mdash; output some notes on STDERR (for now just how long\n each operation takes).\n\n</li>\n<li><code>-d SYMBOL[=VALUE]</code> or <code>--define SYMBOL[=VALUE]</code> &mdash; will replace\n all instances of the specified symbol where used as an identifier\n (except where symbol has properly declared by a var declaration or\n use as function parameter or similar) with the specified value. This\n argument may be specified multiple times to define multiple\n symbols - if no value is specified the symbol will be replaced with\n the value <code>true</code>, or you can specify a numeric value (such as\n <code>1024</code>), a quoted string value (such as ="object"= or\n =\'https://github.com\'<code>), or the name of another symbol or keyword (such as =null</code> or <code>document</code>).\n This allows you, for example, to assign meaningful names to key\n constant values but discard the symbolic names in the uglified\n version for brevity/efficiency, or when used wth care, allows\n UglifyJS to operate as a form of <b>conditional compilation</b>\n whereby defining appropriate values may, by dint of the constant\n folding and dead code removal features above, remove entire\n superfluous code blocks (e.g. completely remove instrumentation or\n trace code for production use).\n Where string values are being defined, the handling of quotes are\n likely to be subject to the specifics of your command shell\n environment, so you may need to experiment with quoting styles\n depending on your platform, or you may find the option\n <code>--define-from-module</code> more suitable for use.\n\n</li>\n<li><code>-define-from-module SOMEMODULE</code> &mdash; will load the named module (as\n per the NodeJS <code>require()</code> function) and iterate all the exported\n properties of the module defining them as symbol names to be defined\n (as if by the <code>--define</code> option) per the name of each property\n (i.e. without the module name prefix) and given the value of the\n property. This is a much easier way to handle and document groups of\n symbols to be defined rather than a large number of <code>--define</code>\n options.\n\n</li>\n<li><code>--unsafe</code> &mdash; enable other additional optimizations that are known to be\n unsafe in some contrived situations, but could still be generally useful.\n For now only these:\n\n<ul>\n<li>foo.toString() ==&gt; foo+""\n</li>\n<li>new Array(x,&hellip;) ==&gt; [x,&hellip;]\n</li>\n<li>new Array(x) ==&gt; Array(x)\n\n</li>\n</ul>\n\n</li>\n<li><code>--max-line-len</code> (default 32K characters) &mdash; add a newline after around\n 32K characters. I\'ve seen both FF and Chrome croak when all the code was\n on a single line of around 670K. Pass &ndash;max-line-len 0 to disable this\n safety feature.\n\n</li>\n<li><code>--reserved-names</code> &mdash; some libraries rely on certain names to be used, as\n pointed out in issue #92 and #81, so this option allow you to exclude such\n names from the mangler. For example, to keep names <code>require</code> and <code>$super</code>\n intact you\'d specify &ndash;reserved-names "require,$super".\n\n</li>\n<li><code>--inline-script</code> &ndash; when you want to include the output literally in an\n HTML <code>&lt;script&gt;</code> tag you can use this option to prevent <code>&lt;/script</code> from\n showing up in the output.\n\n</li>\n<li><code>--lift-vars</code> &ndash; when you pass this, UglifyJS will apply the following\n transformations (see the notes in API, <code>ast_lift_variables</code>):\n\n<ul>\n<li>put all <code>var</code> declarations at the start of the scope\n</li>\n<li>make sure a variable is declared only once\n</li>\n<li>discard unused function arguments\n</li>\n<li>discard unused inner (named) functions\n</li>\n<li>finally, try to merge assignments into that one <code>var</code> declaration, if\n possible.\n</li>\n</ul>\n\n</li>\n</ul>\n\n\n\n</div>\n\n<div id="outline-container-1-4-1" class="outline-4">\n<h4 id="sec-1-4-1"><span class="section-number-4">1.4.1</span> API </h4>\n<div class="outline-text-4" id="text-1-4-1">\n\n\n<p>\nTo use the library from JavaScript, you\'d do the following (example for\nNodeJS):\n</p>\n\n\n\n<pre class="src src-js"><span class="org-keyword">var</span> <span class="org-variable-name">jsp</span> = require(<span class="org-string">"uglify-js"</span>).parser;\n<span class="org-keyword">var</span> <span class="org-variable-name">pro</span> = require(<span class="org-string">"uglify-js"</span>).uglify;\n\n<span class="org-keyword">var</span> <span class="org-variable-name">orig_code</span> = <span class="org-string">"... JS code here"</span>;\n<span class="org-keyword">var</span> <span class="org-variable-name">ast</span> = jsp.parse(orig_code); <span class="org-comment-delimiter">// </span><span class="org-comment">parse code and get the initial AST</span>\nast = pro.ast_mangle(ast); <span class="org-comment-delimiter">// </span><span class="org-comment">get a new AST with mangled names</span>\nast = pro.ast_squeeze(ast); <span class="org-comment-delimiter">// </span><span class="org-comment">get an AST with compression optimizations</span>\n<span class="org-keyword">var</span> <span class="org-variable-name">final_code</span> = pro.gen_code(ast); <span class="org-comment-delimiter">// </span><span class="org-comment">compressed code here</span>\n</pre>\n\n\n<p>\nThe above performs the full compression that is possible right now. As you\ncan see, there are a sequence of steps which you can apply. For example if\nyou want compressed output but for some reason you don\'t want to mangle\nvariable names, you would simply skip the line that calls\n<code>pro.ast_mangle(ast)</code>.\n</p>\n<p>\nSome of these functions take optional arguments. Here\'s a description:\n</p>\n<ul>\n<li><code>jsp.parse(code, strict_semicolons)</code> &ndash; parses JS code and returns an AST.\n <code>strict_semicolons</code> is optional and defaults to <code>false</code>. If you pass\n <code>true</code> then the parser will throw an error when it expects a semicolon and\n it doesn\'t find it. For most JS code you don\'t want that, but it\'s useful\n if you want to strictly sanitize your code.\n\n</li>\n<li><code>pro.ast_lift_variables(ast)</code> &ndash; merge and move <code>var</code> declarations to the\n scop of the scope; discard unused function arguments or variables; discard\n unused (named) inner functions. It also tries to merge assignments\n following the <code>var</code> declaration into it.\n\n<p>\n If your code is very hand-optimized concerning <code>var</code> declarations, this\n lifting variable declarations might actually increase size. For me it\n helps out. On jQuery it adds 865 bytes (243 after gzip). YMMV. Also\n note that (since it\'s not enabled by default) this operation isn\'t yet\n heavily tested (please report if you find issues!).\n</p>\n<p>\n Note that although it might increase the image size (on jQuery it gains\n 865 bytes, 243 after gzip) it\'s technically more correct: in certain\n situations, dead code removal might drop variable declarations, which\n would not happen if the variables are lifted in advance.\n</p>\n<p>\n Here\'s an example of what it does:\n</p></li>\n</ul>\n\n\n\n\n\n<pre class="src src-js"><span class="org-keyword">function</span> <span class="org-function-name">f</span>(<span class="org-variable-name">a</span>, <span class="org-variable-name">b</span>, <span class="org-variable-name">c</span>, <span class="org-variable-name">d</span>, <span class="org-variable-name">e</span>) {\n <span class="org-keyword">var</span> <span class="org-variable-name">q</span>;\n <span class="org-keyword">var</span> <span class="org-variable-name">w</span>;\n w = 10;\n q = 20;\n <span class="org-keyword">for</span> (<span class="org-keyword">var</span> <span class="org-variable-name">i</span> = 1; i &lt; 10; ++i) {\n <span class="org-keyword">var</span> <span class="org-variable-name">boo</span> = foo(a);\n }\n <span class="org-keyword">for</span> (<span class="org-keyword">var</span> <span class="org-variable-name">i</span> = 0; i &lt; 1; ++i) {\n <span class="org-keyword">var</span> <span class="org-variable-name">boo</span> = bar(c);\n }\n <span class="org-keyword">function</span> <span class="org-function-name">foo</span>(){ ... }\n <span class="org-keyword">function</span> <span class="org-function-name">bar</span>(){ ... }\n <span class="org-keyword">function</span> <span class="org-function-name">baz</span>(){ ... }\n}\n\n<span class="org-comment-delimiter">// </span><span class="org-comment">transforms into ==&gt;</span>\n\n<span class="org-keyword">function</span> <span class="org-function-name">f</span>(<span class="org-variable-name">a</span>, <span class="org-variable-name">b</span>, <span class="org-variable-name">c</span>) {\n <span class="org-keyword">var</span> <span class="org-variable-name">i</span>, <span class="org-variable-name">boo</span>, <span class="org-variable-name">w</span> = 10, <span class="org-variable-name">q</span> = 20;\n <span class="org-keyword">for</span> (i = 1; i &lt; 10; ++i) {\n boo = foo(a);\n }\n <span class="org-keyword">for</span> (i = 0; i &lt; 1; ++i) {\n boo = bar(c);\n }\n <span class="org-keyword">function</span> <span class="org-function-name">foo</span>() { ... }\n <span class="org-keyword">function</span> <span class="org-function-name">bar</span>() { ... }\n}\n</pre>\n\n\n<ul>\n<li><code>pro.ast_mangle(ast, options)</code> &ndash; generates a new AST containing mangled\n (compressed) variable and function names. It supports the following\n options:\n\n<ul>\n<li><code>toplevel</code> &ndash; mangle toplevel names (by default we don\'t touch them).\n</li>\n<li><code>except</code> &ndash; an array of names to exclude from compression.\n</li>\n<li><code>defines</code> &ndash; an object with properties named after symbols to\n replace (see the <code>--define</code> option for the script) and the values\n representing the AST replacement value.\n\n</li>\n</ul>\n\n</li>\n<li><code>pro.ast_squeeze(ast, options)</code> &ndash; employs further optimizations designed\n to reduce the size of the code that <code>gen_code</code> would generate from the\n AST. Returns a new AST. <code>options</code> can be a hash; the supported options\n are:\n\n<ul>\n<li><code>make_seqs</code> (default true) which will cause consecutive statements in a\n block to be merged using the "sequence" (comma) operator\n\n</li>\n<li><code>dead_code</code> (default true) which will remove unreachable code.\n\n</li>\n</ul>\n\n</li>\n<li><code>pro.gen_code(ast, options)</code> &ndash; generates JS code from the AST. By\n default it\'s minified, but using the <code>options</code> argument you can get nicely\n formatted output. <code>options</code> is, well, optional :-) and if you pass it it\n must be an object and supports the following properties (below you can see\n the default values):\n\n<ul>\n<li><code>beautify: false</code> &ndash; pass <code>true</code> if you want indented output\n</li>\n<li><code>indent_start: 0</code> (only applies when <code>beautify</code> is <code>true</code>) &ndash; initial\n indentation in spaces\n</li>\n<li><code>indent_level: 4</code> (only applies when <code>beautify</code> is <code>true</code>) --\n indentation level, in spaces (pass an even number)\n</li>\n<li><code>quote_keys: false</code> &ndash; if you pass <code>true</code> it will quote all keys in\n literal objects\n</li>\n<li><code>space_colon: false</code> (only applies when <code>beautify</code> is <code>true</code>) &ndash; wether\n to put a space before the colon in object literals\n</li>\n<li><code>ascii_only: false</code> &ndash; pass <code>true</code> if you want to encode non-ASCII\n characters as <code>\\uXXXX</code>.\n</li>\n<li><code>inline_script: false</code> &ndash; pass <code>true</code> to escape occurrences of\n <code>&lt;/script</code> in strings\n</li>\n</ul>\n\n</li>\n</ul>\n\n\n</div>\n\n</div>\n\n<div id="outline-container-1-4-2" class="outline-4">\n<h4 id="sec-1-4-2"><span class="section-number-4">1.4.2</span> Beautifier shortcoming &ndash; no more comments </h4>\n<div class="outline-text-4" id="text-1-4-2">\n\n\n<p>\nThe beautifier can be used as a general purpose indentation tool. It\'s\nuseful when you want to make a minified file readable. One limitation,\nthough, is that it discards all comments, so you don\'t really want to use it\nto reformat your code, unless you don\'t have, or don\'t care about, comments.\n</p>\n<p>\nIn fact it\'s not the beautifier who discards comments &mdash; they are dumped at\nthe parsing stage, when we build the initial AST. Comments don\'t really\nmake sense in the AST, and while we could add nodes for them, it would be\ninconvenient because we\'d have to add special rules to ignore them at all\nthe processing stages.\n</p>\n</div>\n\n</div>\n\n<div id="outline-container-1-4-3" class="outline-4">\n<h4 id="sec-1-4-3"><span class="section-number-4">1.4.3</span> Use as a code pre-processor </h4>\n<div class="outline-text-4" id="text-1-4-3">\n\n\n<p>\nThe <code>--define</code> option can be used, particularly when combined with the\nconstant folding logic, as a form of pre-processor to enable or remove\nparticular constructions, such as might be used for instrumenting\ndevelopment code, or to produce variations aimed at a specific\nplatform.\n</p>\n<p>\nThe code below illustrates the way this can be done, and how the\nsymbol replacement is performed.\n</p>\n\n\n\n<pre class="src src-js">CLAUSE1: <span class="org-keyword">if</span> (<span class="org-keyword">typeof</span> DEVMODE === <span class="org-string">\'undefined\'</span>) {\n DEVMODE = <span class="org-constant">true</span>;\n}\n\n<span class="org-function-name">CLAUSE2</span>: <span class="org-keyword">function</span> init() {\n <span class="org-keyword">if</span> (DEVMODE) {\n console.log(<span class="org-string">"init() called"</span>);\n }\n ....\n DEVMODE &amp;amp;&amp;amp; console.log(<span class="org-string">"init() complete"</span>);\n}\n\n<span class="org-function-name">CLAUSE3</span>: <span class="org-keyword">function</span> reportDeviceStatus(<span class="org-variable-name">device</span>) {\n <span class="org-keyword">var</span> <span class="org-variable-name">DEVMODE</span> = device.mode, <span class="org-variable-name">DEVNAME</span> = device.name;\n <span class="org-keyword">if</span> (DEVMODE === <span class="org-string">\'open\'</span>) {\n ....\n }\n}\n</pre>\n\n\n<p>\nWhen the above code is normally executed, the undeclared global\nvariable <code>DEVMODE</code> will be assigned the value <b>true</b> (see <code>CLAUSE1</code>)\nand so the <code>init()</code> function (<code>CLAUSE2</code>) will write messages to the\nconsole log when executed, but in <code>CLAUSE3</code> a locally declared\nvariable will mask access to the <code>DEVMODE</code> global symbol.\n</p>\n<p>\nIf the above code is processed by UglifyJS with an argument of\n<code>--define DEVMODE=false</code> then UglifyJS will replace <code>DEVMODE</code> with the\nboolean constant value <b>false</b> within <code>CLAUSE1</code> and <code>CLAUSE2</code>, but it\nwill leave <code>CLAUSE3</code> as it stands because there <code>DEVMODE</code> resolves to\na validly declared variable.\n</p>\n<p>\nAnd more so, the constant-folding features of UglifyJS will recognise\nthat the <code>if</code> condition of <code>CLAUSE1</code> is thus always false, and so will\nremove the test and body of <code>CLAUSE1</code> altogether (including the\notherwise slightly problematical statement <code>false = true;</code> which it\nwill have formed by replacing <code>DEVMODE</code> in the body). Similarly,\nwithin <code>CLAUSE2</code> both calls to <code>console.log()</code> will be removed\naltogether.\n</p>\n<p>\nIn this way you can mimic, to a limited degree, the functionality of\nthe C/C++ pre-processor to enable or completely remove blocks\ndepending on how certain symbols are defined - perhaps using UglifyJS\nto generate different versions of source aimed at different\nenvironments\n</p>\n<p>\nIt is recommmended (but not made mandatory) that symbols designed for\nthis purpose are given names consisting of <code>UPPER_CASE_LETTERS</code> to\ndistinguish them from other (normal) symbols and avoid the sort of\nclash that <code>CLAUSE3</code> above illustrates.\n</p>\n</div>\n</div>\n\n</div>\n\n<div id="outline-container-1-5" class="outline-3">\n<h3 id="sec-1-5"><span class="section-number-3">1.5</span> Compression &ndash; how good is it? </h3>\n<div class="outline-text-3" id="text-1-5">\n\n\n<p>\nHere are updated statistics. (I also updated my Google Closure and YUI\ninstallations).\n</p>\n<p>\nWe\'re still a lot better than YUI in terms of compression, though slightly\nslower. We\'re still a lot faster than Closure, and compression after gzip\nis comparable.\n</p>\n<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">\n<caption></caption>\n<colgroup><col class="left" /><col class="left" /><col class="right" /><col class="left" /><col class="right" /><col class="left" /><col class="right" />\n</colgroup>\n<thead>\n<tr><th scope="col" class="left">File</th><th scope="col" class="left">UglifyJS</th><th scope="col" class="right">UglifyJS+gzip</th><th scope="col" class="left">Closure</th><th scope="col" class="right">Closure+gzip</th><th scope="col" class="left">YUI</th><th scope="col" class="right">YUI+gzip</th></tr>\n</thead>\n<tbody>\n<tr><td class="left">jquery-1.6.2.js</td><td class="left">91001 (0:01.59)</td><td class="right">31896</td><td class="left">90678 (0:07.40)</td><td class="right">31979</td><td class="left">101527 (0:01.82)</td><td class="right">34646</td></tr>\n<tr><td class="left">paper.js</td><td class="left">142023 (0:01.65)</td><td class="right">43334</td><td class="left">134301 (0:07.42)</td><td class="right">42495</td><td class="left">173383 (0:01.58)</td><td class="right">48785</td></tr>\n<tr><td class="left">prototype.js</td><td class="left">88544 (0:01.09)</td><td class="right">26680</td><td class="left">86955 (0:06.97)</td><td class="right">26326</td><td class="left">92130 (0:00.79)</td><td class="right">28624</td></tr>\n<tr><td class="left">thelib-full.js (DynarchLIB)</td><td class="left">251939 (0:02.55)</td><td class="right">72535</td><td class="left">249911 (0:09.05)</td><td class="right">72696</td><td class="left">258869 (0:01.94)</td><td class="right">76584</td></tr>\n</tbody>\n</table>\n\n\n</div>\n\n</div>\n\n<div id="outline-container-1-6" class="outline-3">\n<h3 id="sec-1-6"><span class="section-number-3">1.6</span> Bugs? </h3>\n<div class="outline-text-3" id="text-1-6">\n\n\n<p>\nUnfortunately, for the time being there is no automated test suite. But I\nran the compressor manually on non-trivial code, and then I tested that the\ngenerated code works as expected. A few hundred times.\n</p>\n<p>\nDynarchLIB was started in times when there was no good JS minifier.\nTherefore I was quite religious about trying to write short code manually,\nand as such DL contains a lot of syntactic hacks<sup><a class="footref" name="fnr.1" href="#fn.1">1</a></sup> such as “foo == bar ? a\n= 10 : b = 20”, though the more readable version would clearly be to use\n“if/else”.\n</p>\n<p>\nSince the parser/compressor runs fine on DL and jQuery, I\'m quite confident\nthat it\'s solid enough for production use. If you can identify any bugs,\nI\'d love to hear about them (<a href="http://groups.google.com/group/uglifyjs">use the Google Group</a> or email me directly).\n</p>\n</div>\n\n</div>\n\n<div id="outline-container-1-7" class="outline-3">\n<h3 id="sec-1-7"><span class="section-number-3">1.7</span> Links </h3>\n<div class="outline-text-3" id="text-1-7">\n\n\n<ul>\n<li>Twitter: <a href="http://twitter.com/UglifyJS">@UglifyJS</a>\n</li>\n<li>Project at GitHub: <a href="http://github.com/mishoo/UglifyJS">http://github.com/mishoo/UglifyJS</a>\n</li>\n<li>Google Group: <a href="http://groups.google.com/group/uglifyjs">http://groups.google.com/group/uglifyjs</a>\n</li>\n<li>Common Lisp JS parser: <a href="http://marijn.haverbeke.nl/parse-js/">http://marijn.haverbeke.nl/parse-js/</a>\n</li>\n<li>JS-to-Lisp compiler: <a href="http://github.com/marijnh/js">http://github.com/marijnh/js</a>\n</li>\n<li>Common Lisp JS uglifier: <a href="http://github.com/mishoo/cl-uglify-js">http://github.com/mishoo/cl-uglify-js</a>\n</li>\n</ul>\n\n\n</div>\n\n</div>\n\n<div id="outline-container-1-8" class="outline-3">\n<h3 id="sec-1-8"><span class="section-number-3">1.8</span> License </h3>\n<div class="outline-text-3" id="text-1-8">\n\n\n<p>\nUglifyJS is released under the BSD license:\n</p>\n\n\n\n<pre class="example">Copyright 2010 (c) Mihai Bazon &lt;mihai.bazon@gmail.com&gt;\nBased on parse-js (http://marijn.haverbeke.nl/parse-js/).\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n * Redistributions of source code must retain the above\n copyright notice, this list of conditions and the following\n disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials\n provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\nOR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\nPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\nTORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\nTHE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGE.\n</pre>\n\n\n<div id="footnotes">\n<h2 class="footnotes">Footnotes: </h2>\n<div id="text-footnotes">\n<p class="footnote"><sup><a class="footnum" name="fn.1" href="#fnr.1">1</a></sup> I even reported a few bugs and suggested some fixes in the original\n <a href="http://marijn.haverbeke.nl/parse-js/">parse-js</a> library, and Marijn pushed fixes literally in minutes.\n</p></div>\n</div>\n</div>\n\n</div>\n</div>\n</div>\n\n<div id="postamble">\n<p class="date">Date: 2011-12-09 14:59:08 EET</p>\n<p class="author">Author: Mihai Bazon</p>\n<p class="creator">Org version 7.7 with Emacs version 23</p>\n<a href="http://validator.w3.org/check?uri=referer">Validate XHTML 1.0</a>\n\n</div>\n</body>\n</html>\n',
4955 silly resolved readmeFilename: 'README.html',
4955 silly resolved bugs: { url: 'https://github.com/mishoo/UglifyJS/issues' },
4955 silly resolved _id: 'uglify-js@1.2.5',
4955 silly resolved _from: 'uglify-js@1.2.5' },
4955 silly resolved { author:
4955 silly resolved { name: 'Felix Geisendörfer',
4955 silly resolved email: 'felix@debuggable.com',
4955 silly resolved url: 'http://debuggable.com/' },
4955 silly resolved name: 'active-x-obfuscator',
4955 silly resolved description: 'A module to (safely) obfuscate all occurrences of the string \'ActiveX\' inside any JavaScript code.',
4955 silly resolved version: '0.0.1',
4955 silly resolved homepage: 'https://github.com/felixge/node-active-x-obfuscator',
4955 silly resolved repository:
4955 silly resolved { type: 'git',
4955 silly resolved url: 'git://github.com/felixge/node-active-x-obfuscator.git' },
4955 silly resolved main: './index',
4955 silly resolved scripts: { test: 'node test.js' },
4955 silly resolved engines: { node: '*' },
4955 silly resolved dependencies: { zeparser: '0.0.5' },
4955 silly resolved devDependencies: {},
4955 silly resolved optionalDependencies: {},
4955 silly resolved readme: '# active-x-obfuscator\n\nA module to (safely) obfuscate all occurrences of the string \'ActiveX\' inside\nany JavaScript code.\n\n## Why?\n\nSome corporate firewalls /proxies such as Blue Coat block JavaScript files to be\ndownloaded if they contain the word `\'ActiveX\'`. That of course is very annoying\nfor libraries such as [socket.io][] that need to use `ActiveXObject` for\nsupporting IE8 and older.\n\n## Install\n\n```\nnpm install active-x-obfuscator\n```\n\n## Usage\n\n```js\nvar activeXObfuscator = require(\'active-x-obfuscator\');\nvar code = \'foo(new ActiveXObject());\';\n\nvar obfuscated = activeXObfuscator(code);\n// -> foo(new window[([\'Active\'].concat(\'Object\').join(\'X\'))])\n```\n\n## License\n\nLicensed under the MIT license.\n\n[socket.io]: http://socket.io/\n',
4955 silly resolved readmeFilename: 'Readme.md',
4955 silly resolved bugs: { url: 'https://github.com/felixge/node-active-x-obfuscator/issues' },
4955 silly resolved _id: 'active-x-obfuscator@0.0.1',
4955 silly resolved _from: 'active-x-obfuscator@0.0.1' } ]
4956 info install xmlhttprequest@1.4.2 into C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client
4957 info install ws@0.4.31 into C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client
4958 info install uglify-js@1.2.5 into C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client
4959 info install active-x-obfuscator@0.0.1 into C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client
4960 info installOne xmlhttprequest@1.4.2
4961 info installOne ws@0.4.31
4962 info installOne uglify-js@1.2.5
4963 info installOne active-x-obfuscator@0.0.1
4964 info C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\xmlhttprequest unbuild
4965 info C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws unbuild
4966 info C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\uglify-js unbuild
4967 info C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\active-x-obfuscator unbuild
4968 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\xmlhttprequest\1.4.2\package.tgz
4969 silly lockFile 97e4d4b4-ient-node-modules-xmlhttprequest tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\xmlhttprequest
4970 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\xmlhttprequest C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\97e4d4b4-ient-node-modules-xmlhttprequest.lock
4971 silly lockFile 6b935ba2-xmlhttprequest-1-4-2-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\xmlhttprequest\1.4.2\package.tgz
4972 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\xmlhttprequest\1.4.2\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\6b935ba2-xmlhttprequest-1-4-2-package-tgz.lock
4973 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\uglify-js\1.2.5\package.tgz
4974 silly lockFile 4e516c22-io-client-node-modules-uglify-js tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\uglify-js
4975 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\uglify-js C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\4e516c22-io-client-node-modules-uglify-js.lock
4976 silly lockFile 4079cca8-ache-uglify-js-1-2-5-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\uglify-js\1.2.5\package.tgz
4977 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\uglify-js\1.2.5\package.tgz C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\4079cca8-ache-uglify-js-1-2-5-package-tgz.lock
4978 verbose tar unpack C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ws\0.4.31\package.tgz
4979 silly lockFile f1d0fa24-socket-io-client-node-modules-ws tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws
4980 verbose lock tar://C:\dev\tmp\test\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\f1d0fa24-socket-io-client-node-modules-ws.lock
4981 silly lockFile 94908a50--npm-cache-ws-0-4-31-package-tgz tar://C:\Users\{MY_USERNAME}\AppData\Roaming\npm-cache\ws\0.4.31\package.tgz
4982 verbose lock tar://C:\Users\{MY_USERNAME}\AppData\
@nelsonwar
Copy link

how can i work with this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment