Skip to content

Instantly share code, notes, and snippets.

@chenxsan
Created May 23, 2014 15:13
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 chenxsan/42283da19f385169643a to your computer and use it in GitHub Desktop.
Save chenxsan/42283da19f385169643a to your computer and use it in GitHub Desktop.
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install', '-g', 'bower' ]
2 info using npm@1.2.18
3 info using node@v0.10.5
4 verbose read json /usr/lib/package.json
5 verbose read json /usr/lib/package.json
6 verbose cache add [ 'bower', null ]
7 verbose cache add name=undefined spec="bower" args=["bower",null]
8 verbose parsed url { protocol: null,
8 verbose parsed url slashes: null,
8 verbose parsed url auth: null,
8 verbose parsed url host: null,
8 verbose parsed url port: null,
8 verbose parsed url hostname: null,
8 verbose parsed url hash: null,
8 verbose parsed url search: null,
8 verbose parsed url query: null,
8 verbose parsed url pathname: 'bower',
8 verbose parsed url path: 'bower',
8 verbose parsed url href: 'bower' }
9 silly lockFile 206e3ce5-bower bower
10 verbose lock bower /root/.npm/206e3ce5-bower.lock
11 silly lockFile 206e3ce5-bower bower
12 silly lockFile 206e3ce5-bower bower
13 verbose addNamed [ 'bower', '' ]
14 verbose addNamed [ null, '' ]
15 silly lockFile 1240aab1-bower bower@
16 verbose lock bower@ /root/.npm/1240aab1-bower.lock
17 silly addNameRange { name: 'bower', range: '', hasData: false }
18 verbose url raw bower
19 verbose url resolving [ 'https://registry.npmjs.org/', './bower' ]
20 verbose url resolved https://registry.npmjs.org/bower
21 info trying registry request attempt 1 at 23:07:41
22 verbose etag "3KVGOHS8KZK43MLRFC4D50OJ0"
23 http GET https://registry.npmjs.org/bower
24 http 304 https://registry.npmjs.org/bower
25 silly registry.get cb [ 304,
25 silly registry.get { date: 'Fri, 23 May 2014 15:07:24 GMT',
25 silly registry.get server: 'Apache',
25 silly registry.get via: '1.1 varnish',
25 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:24 GMT',
25 silly registry.get 'cache-control': 'max-age=1',
25 silly registry.get etag: '"3KVGOHS8KZK43MLRFC4D50OJ0"',
25 silly registry.get 'x-served-by': 'cache-sn89-SIN',
25 silly registry.get 'x-cache': 'HIT',
25 silly registry.get 'x-cache-hits': '1',
25 silly registry.get 'x-timer': 'S1400857644.451704,VS0,VE485',
25 silly registry.get vary: 'Accept',
25 silly registry.get 'content-length': '0',
25 silly registry.get 'keep-alive': 'timeout=10, max=50',
25 silly registry.get connection: 'Keep-Alive' } ]
26 verbose etag bower from cache
27 silly addNameRange number 2 { name: 'bower', range: '', hasData: true }
28 silly addNameRange versions [ 'bower',
28 silly addNameRange [ '0.1.0',
28 silly addNameRange '0.1.2',
28 silly addNameRange '0.1.3',
28 silly addNameRange '0.2.0',
28 silly addNameRange '0.3.0',
28 silly addNameRange '0.3.1',
28 silly addNameRange '0.3.2',
28 silly addNameRange '0.4.0',
28 silly addNameRange '0.5.0',
28 silly addNameRange '0.5.1',
28 silly addNameRange '0.6.0',
28 silly addNameRange '0.6.1',
28 silly addNameRange '0.6.2',
28 silly addNameRange '0.6.3',
28 silly addNameRange '0.6.4',
28 silly addNameRange '0.6.5',
28 silly addNameRange '0.6.6',
28 silly addNameRange '0.6.7',
28 silly addNameRange '0.6.8',
28 silly addNameRange '0.7.0',
28 silly addNameRange '0.7.1',
28 silly addNameRange '0.8.0',
28 silly addNameRange '0.8.1',
28 silly addNameRange '0.8.2',
28 silly addNameRange '0.8.3',
28 silly addNameRange '0.8.4',
28 silly addNameRange '0.8.5',
28 silly addNameRange '0.8.6',
28 silly addNameRange '0.9.0',
28 silly addNameRange '0.9.1',
28 silly addNameRange '0.9.2',
28 silly addNameRange '0.10.0',
28 silly addNameRange '1.0.0',
28 silly addNameRange '1.0.1',
28 silly addNameRange '1.0.2',
28 silly addNameRange '1.0.3',
28 silly addNameRange '1.1.0',
28 silly addNameRange '1.1.1',
28 silly addNameRange '1.1.2',
28 silly addNameRange '1.2.0',
28 silly addNameRange '1.2.1',
28 silly addNameRange '1.2.2',
28 silly addNameRange '1.2.3',
28 silly addNameRange '1.2.4',
28 silly addNameRange '1.2.5',
28 silly addNameRange '1.2.6',
28 silly addNameRange '1.2.7',
28 silly addNameRange '1.2.8',
28 silly addNameRange '1.3.0',
28 silly addNameRange '1.3.1',
28 silly addNameRange '1.3.2',
28 silly addNameRange '1.3.3' ] ]
29 verbose addNamed [ 'bower', '1.3.3' ]
30 verbose addNamed [ '1.3.3', '1.3.3' ]
31 silly lockFile bfd96e13-bower-1-3-3 bower@1.3.3
32 verbose lock bower@1.3.3 /root/.npm/bfd96e13-bower-1-3-3.lock
33 verbose read json /root/.npm/bower/1.3.3/package/package.json
34 silly lockFile bfd96e13-bower-1-3-3 bower@1.3.3
35 silly lockFile bfd96e13-bower-1-3-3 bower@1.3.3
36 silly lockFile 1240aab1-bower bower@
37 silly lockFile 1240aab1-bower bower@
38 silly resolved [ { name: 'bower',
38 silly resolved version: '1.3.3',
38 silly resolved description: 'The browser package manager',
38 silly resolved author: { name: 'Twitter' },
38 silly resolved licenses: [ [Object] ],
38 silly resolved repository: { type: 'git', url: 'bower/bower' },
38 silly resolved main: 'lib',
38 silly resolved homepage: 'http://bower.io',
38 silly resolved engines: { node: '>=0.10.0' },
38 silly resolved dependencies:
38 silly resolved { abbrev: '~1.0.4',
38 silly resolved archy: '~0.0.2',
38 silly resolved 'bower-config': '~0.5.0',
38 silly resolved 'bower-endpoint-parser': '~0.2.0',
38 silly resolved 'bower-json': '~0.4.0',
38 silly resolved 'bower-logger': '~0.2.2',
38 silly resolved 'bower-registry-client': '~0.2.0',
38 silly resolved cardinal: '~0.4.0',
38 silly resolved chalk: '~0.4.0',
38 silly resolved chmodr: '~0.1.0',
38 silly resolved 'decompress-zip': '~0.0.6',
38 silly resolved fstream: '~0.1.22',
38 silly resolved 'fstream-ignore': '~0.0.6',
38 silly resolved glob: '~3.2.9',
38 silly resolved 'graceful-fs': '~2.0.0',
38 silly resolved handlebars: '~1.3.0',
38 silly resolved inquirer: '~0.4.0',
38 silly resolved insight: '~0.3.0',
38 silly resolved 'is-root': '~0.1.0',
38 silly resolved junk: '~0.3.0',
38 silly resolved lockfile: '~0.4.2',
38 silly resolved 'lru-cache': '~2.5.0',
38 silly resolved mkdirp: '~0.3.5',
38 silly resolved mout: '~0.9.1',
38 silly resolved nopt: '~2.2.0',
38 silly resolved opn: '~0.1.1',
38 silly resolved osenv: '~0.0.3',
38 silly resolved 'p-throttler': '~0.0.1',
38 silly resolved promptly: '~0.2.0',
38 silly resolved q: '~1.0.1',
38 silly resolved request: '~2.34.0',
38 silly resolved 'request-progress': '~0.3.0',
38 silly resolved retry: '~0.6.0',
38 silly resolved rimraf: '~2.2.0',
38 silly resolved semver: '~2.2.1',
38 silly resolved 'shell-quote': '~1.4.1',
38 silly resolved 'stringify-object': '~0.2.0',
38 silly resolved tar: '~0.1.17',
38 silly resolved tmp: '~0.0.20',
38 silly resolved 'update-notifier': '~0.1.8',
38 silly resolved which: '~1.0.5' },
38 silly resolved devDependencies:
38 silly resolved { 'expect.js': '~0.3.1',
38 silly resolved grunt: '~0.4.4',
38 silly resolved 'grunt-contrib-jshint': '~0.10.0',
38 silly resolved 'grunt-contrib-watch': '~0.6.1',
38 silly resolved 'grunt-exec': '~0.4.2',
38 silly resolved 'grunt-simple-mocha': '~0.4.0',
38 silly resolved istanbul: '~0.2.4',
38 silly resolved 'load-grunt-tasks': '~0.4.0',
38 silly resolved mocha: '~1.18',
38 silly resolved nock: '~0.28.2',
38 silly resolved proxyquire: '~0.6.0' },
38 silly resolved scripts: { test: 'grunt test' },
38 silly resolved bin: { bower: 'bin/bower' },
38 silly resolved preferGlobal: true,
38 silly resolved readme: '# Bower [![Build Status](https://travis-ci.org/bower/bower.svg?branch=master)](https://travis-ci.org/bower/bower)\n\n<img align="right" height="300" src="http://bower.io/img/bower-logo.png">\n\n> A package manager for the web\n\nIt offers a generic, unopinionated solution to the problem of **front-end package management**, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. There are no system wide dependencies, no dependencies are shared between different apps, and the dependency tree is flat.\n\nBower runs over Git, and is package-agnostic. A packaged component can be made up of any type of asset, and use any type of transport (e.g., AMD, CommonJS, etc.).\n\n[View all packages available through Bower\'s registry](http://bower.io/search/).\n\n\n## Install\n\n```sh\n$ npm install -g bower\n```\n\nBower depends on [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/). Also make sure that [git](http://git-scm.com/) is installed as some bower\npackages require it to be fetched and installed.\n\n\n## Usage\n\nMuch more information is available via `bower help` once it\'s installed. This\nis just enough to get you started.\n\n### Installing packages and dependencies\n\nBower offers several ways to install packages:\n\n##### Using the dependencies listed in the current directory\'s bower.json\n\n```sh\n$ bower install\n```\n\n##### Using a local or remote package\n\n```sh\n$ bower install <package>\n```\n\n##### Using a specific version of a package\n\n```sh\n$ bower install <package>#<version>\n```\n\n##### Using a different name and a specific version of a package\n\n```sh\n$ bower install <name>=<package>#<version>\n```\n\nWhere `<package>` can be any one of the following:\n\n* A name that maps to a package registered with Bower, e.g, `jquery`. ‡\n* A public remote Git endpoint, e.g., `git://github.com/someone/some-package.git`. ‡\n* A private Git repository, e.g., `https://github.com/someone/some-package.git`. If the protocol is https, a prompt will ask for the credentials. ssh can also be used, e.g., `git@github.com:someone/some-package.git` and can authenticate with the user\'s ssh public/private keys. ‡\n* A local endpoint, i.e., a folder that\'s a Git repository. ‡\n* A public remote Subversion endpoint, e.g., `svn+http://package.googlecode.com/svn/`. ‡\n* A private Subversion repository, e.g., `svn+ssh://package.googlecode.com/svn/` or `svn+https://package.googlecode.com/svn/`. ‡\n* A local endpoint, i.e., a folder that\'s an Subversion repository, e.g., `svn+file:///path/to/svn/`. ‡\n* A shorthand endpoint, e.g., `someone/some-package` (defaults to GitHub). ‡\n* A URL to a file, including `zip` and `tar` files. Its contents will be\n extracted.\n\n‡ These types of `<package>` might have versions available. You can specify a\n[semver](http://semver.org/) compatible version to fetch a specific release, and lock the\npackage to that version. You can also specify a [range](https://github.com/isaacs/node-semver#ranges) of versions.\n\nIf you are using a package that is a git endpoint, you may use any tag, commit SHA,\nor branch name as a version. For example: `<package>#<sha>`. Using branches is not\nrecommended because the HEAD does not reference a fixed commit SHA.\n\nIf you are using a package that is a subversion endpoint, you may use any tag, revision number,\nor branch name as a version. For example: `<package>#<revision>`.\n\nAll package contents are installed in the `bower_components` directory by default.\nYou should **never** directly modify the contents of this directory.\n\nUsing `bower list` will show all the packages that are installed locally.\n\n**N.B.** If you aren\'t authoring a package that is intended to be consumed by\nothers (e.g., you\'re building a web app), you should always [check installed\npackages into source control](http://addyosmani.com/blog/checking-in-front-end-dependencies/).\n\n\n### Custom install directory\n\nA custom install location can be set in a `.bowerrc` file using the `directory` property. The .bowerrc file should be a sibling of your project\'s bower.json.\n\n```json\n{\n "directory": "app/components"\n}\n```\n\n\n### Finding packages\n\nTo search for packages registered with Bower:\n\n```sh\n$ bower search [<name>]\n```\n\nUsing just `bower search` will list all packages in the registry.\n\n### Using packages\n\nWe discourage using bower components statically for performance and security reasons (if component has an `upload.php` file that is not ignored, that can be easily exploited to do malicious stuff).\n\nThe best approach is to process components installed by bower with build tool (like [Grunt](http://gruntjs.com/) or [gulp](http://gulpjs.com/)), and serve them concatenated or using module loader (like [RequireJS](http://requirejs.org/)).\n\n### Uninstalling packages\n\nTo uninstall a locally installed package:\n\n```sh\n$ bower uninstall <package-name>\n```\n\n\n#### Warning\n\nOn `prezto` or `oh-my-zsh`, do not forget to `alias bower=\'noglob bower\'` or `bower install jquery\\#1.9.1`\n\n#### Running commands with sudo\n\nBower is a user command, there is no need to execute it with superuser permissions.\nHowever, if you still want to run commands with sudo, use `--allow-root` option.\n\n#### A note for Windows users\n\nTo use Bower on Windows, you must install\n[msysgit](http://msysgit.github.io/) correctly. Be sure to check the\noption shown below:\n\n![msysgit](http://f.cl.ly/items/2V2O3i1p3R2F1r2v0a12/mysgit.png)\n\nNote that if you use TortoiseGit and if Bower keeps asking for your SSH\npassword, you should add the following environment variable: `GIT_SSH -\nC:\\Program Files\\TortoiseGit\\bin\\TortoisePlink.exe`. Adjust the `TortoisePlink`\npath if needed.\n\n### Using bower\'s cache\n\nBower supports installing packages from its local cache (without internet connection), if the packages were installed before.\n\n```sh\n$ bower install <package-name> --offline\n```\n\nThe content of the cache can be listed with:\n\n```sh\n$ bower cache list\n```\n\nThe cache can be cleaned with:\n\n```sh\n$ bower cache clean\n```\n\n## Configuration\n\nBower can be configured using JSON in a `.bowerrc` file.\n\nThe current spec can be read\n[here](https://docs.google.com/document/d/1APq7oA9tNao1UYWyOm8dKqlRP2blVkROYLZ2fLIjtWc/edit#heading=h.4pzytc1f9j8k)\nin the `Configuration` section.\n\n## Running on a continuous integration server\n\nBower will skip some interactive and analytics operations if it finds a `CI` environmental variable set to `true`. You will find that the `CI` variable is already set for you on many continuous integration servers, e.g., [CircleCI](https://circleci.com/docs/environment-variables#basics) and [Travis-CI](http://docs.travis-ci.com/user/ci-environment/#Environment-variables).\n\nYou may try to set manually set `CI` variable manually before running your Bower commands. On Mac or Linux, `export CI=true` and on Windows `set CI=true`\n\n### Interactive configuration\n\nIf for some reason you are unable to set the `CI` environment variable, you can alternately use the `--config.interactive=false` flag. (`bower install --config.interactive=false`)\n\n## Defining a package\n\nYou must create a `bower.json` in your project\'s root, and specify all of its\ndependencies. This is similar to Node\'s `package.json`, or Ruby\'s `Gemfile`,\nand is useful for locking down a project\'s dependencies.\n\n*NOTE:* In versions of Bower before 0.9.0 the package metadata file was called\n`component.json` rather than `bower.json`. This has changed to avoid a name\nclash with another tool. You can still use `component.json` for now but it is\ndeprecated and the automatic fallback is likely to be removed in an upcoming\nrelease.\n\nYou can interactively create a `bower.json` with the following command:\n\n```sh\n$ bower init\n```\n\nThe `bower.json` ([spec](https://github.com/bower/bower.json-spec)) defines several options, including:\n\n* `name` (required): The name of your package.\n* `version`: A semantic version number (see [semver](http://semver.org/)).\n* `main` [string|array]: The primary endpoints of your package.\n* `ignore` [array]: An array of paths not needed in production that you want\n Bower to ignore when installing your package.\n* `dependencies` [hash]: Packages your package depends upon in production.\n Note that you can specify [ranges](https://github.com/isaacs/node-semver#ranges)\n of versions for your dependencies.\n* `devDependencies` [hash]: Development dependencies.\n* `private` [boolean]: Set to true if you want to keep the package private and\n do not want to register the package in future.\n\n```json\n{\n "name": "my-project",\n "description": "My project does XYZ...",\n "version": "1.0.0",\n "main": "path/to/main.css",\n "ignore": [\n ".jshintrc",\n "**/*.txt"\n ],\n "dependencies": {\n "<name>": "<version>",\n "<name>": "<folder>",\n "<name>": "<package>"\n },\n "devDependencies": {\n "<test-framework-name>": "<version>"\n }\n}\n```\n\n### Registering packages\n\nTo register a new package:\n\n* There **must** be a valid manifest JSON in the current working directory.\n* Your package should use [semver](http://semver.org/) Git tags.\n* Your package **must** be available at a Git endpoint (e.g., GitHub); remember\n to push your Git tags!\n\nThen use the following command:\n\n```sh\n$ bower register <my-package-name> <git-endpoint>\n```\n\nThe Bower registry does not have authentication or user management at this point\nin time. It\'s on a first come, first served basis. Think of it like a URL\nshortener. Now anyone can run `bower install <my-package-name>`, and get your\nlibrary installed.\n\nThere is no direct way to unregister a package yet. For now, you can [request a\npackage be unregistered](https://github.com/bower/bower/issues/120).\n\n\n## Consuming a package\n\nBower also makes available a source mapping. This can be used by build tools to\neasily consume Bower packages.\n\nIf you pass the `--paths` option to Bower\'s `list` command, you will get a\nsimple name-to-path mapping:\n\n```json\n{\n "backbone": "bower_components/backbone/index.js",\n "jquery": "bower_components/jquery/index.js",\n "underscore": "bower_components/underscore/index.js"\n}\n```\n\nAlternatively, every command supports the `--json` option that makes bower\noutput JSON. Command result is outputted to `stdout` and error/logs to\n`stderr`.\n\n\n## Programmatic API\n\nBower provides a powerful, programmatic API. All commands can be accessed\nthrough the `bower.commands` object.\n\n```js\nvar bower = require(\'bower\');\n\nbower.commands\n.install([\'jquery\'], { save: true }, { /* custom config */ })\n.on(\'end\', function (installed) {\n console.log(installed);\n});\n\nbower.commands\n.search(\'jquery\', {})\n.on(\'end\', function (results) {\n console.log(results);\n});\n```\n\nCommands emit four types of events: `log`, `prompt`, `end`, `error`.\n\n* `log` is emitted to report the state/progress of the command.\n* `prompt` is emitted whenever the user needs to be prompted.\n* `error` will only be emitted if something goes wrong.\n* `end` is emitted when the command successfully ends.\n\nFor a better of idea how this works, you may want to check out [our bin\nfile](https://github.com/bower/bower/blob/master/bin/bower).\n\nWhen using bower programmatically, prompting is disabled by default. Though you can enable it when calling commands with `interactive: true` in the config.\nThis requires you to listen for the `prompt` event and handle the prompting yourself. The easiest way is to use the [inquirer](https://npmjs.org/package/inquirer) npm module like so:\n\n```js\nvar inquirer = require(\'inquirer\');\n\nbower.commands\n.install([\'jquery\'], { save: true }, { interactive: true })\n// ..\n.on(\'prompt\', function (prompts, callback) {\n inquirer.prompt(prompts, callback);\n});\n```\n\n\n## Completion (experimental)\n\n_NOTE_: Completion is still not implemented for the 1.0.0 release\n\nBower now has an experimental `completion` command that is based on, and works\nsimilarly to the [npm completion](https://npmjs.org/doc/completion.html). It is\nnot available for Windows users.\n\nThis command will output a Bash / ZSH script to put into your `~/.bashrc`,\n`~/.bash_profile`, or `~/.zshrc` file.\n\n```sh\n$ bower completion >> ~/.bash_profile\n```\n\n\n## Support\n\n* [StackOverflow](http://stackoverflow.com/questions/tagged/bower)\n* [Mailinglist](http://groups.google.com/group/twitter-bower) - twitter-bower@googlegroups.com\n* [\\#bower](http://webchat.freenode.net/?channels=bower) on Freenode\n\n\n## Contributing\n\nWe welcome contributions of all kinds from anyone. Please take a moment to\nreview the [guidelines for contributing](CONTRIBUTING.md).\n\n* [Bug reports](CONTRIBUTING.md#bugs)\n* [Feature requests](CONTRIBUTING.md#features)\n* [Pull requests](CONTRIBUTING.md#pull-requests)\n\n\n## Bower Team\n\n### Core team\n\n* [@satazor](https://github.com/satazor)\n* [@wibblymat](https://github.com/wibblymat)\n* [@paulirish](https://github.com/paulirish)\n* [@benschwarz](https://github.com/benschwarz)\n* [@sindresorhus](https://github.com/sindresorhus)\n* [@svnlto](https://github.com/svnlto)\n* [@sheerun](https://github.com/sheerun)\n\nThanks for assistance and contributions:\n\n[@addyosmani](https://github.com/addyosmani),\n[@ahmadnassri](https://github.com/ahmadnassri),\n[@angus-c](https://github.com/angus-c),\n[@borismus](https://github.com/borismus),\n[@carsonmcdonald](https://github.com/carsonmcdonald),\n[@chriseppstein](https://github.com/chriseppstein),\n[@danwrong](https://github.com/danwrong),\n[@davidmaxwaterman](https://github.com/davidmaxwaterman),\n[@desandro](https://github.com/desandro),\n[@hemanth](https://github.com/hemanth),\n[@isaacs](https://github.com/isaacs),\n[@josh](https://github.com/josh),\n[@jrburke](https://github.com/jrburke),\n[@kennethklee](https://github.com/kennethklee),\n[@marcelombc](https://github.com/marcelombc),\n[@marcooliveira](https://github.com/marcooliveira),\n[@mklabs](https://github.com/mklabs),\n[@MrDHat](https://github.com/MrDHat),\n[@necolas](https://github.com/necolas),\n[@richo](https://github.com/richo),\n[@rvagg](https://github.com/rvagg),\n[@ryanflorence](https://github.com/ryanflorence),\n[@SlexAxton](https://github.com/SlexAxton),\n[@sstephenson](https://github.com/sstephenson),\n[@tomdale](https://github.com/tomdale),\n[@uzquiano](https://github.com/uzquiano),\n[@visionmedia](https://github.com/visionmedia),\n[@wagenet](https://github.com/wagenet),\n[@wycats](https://github.com/wycats)\n\n### Bower Alumni\n\n* [@fat](https://github.com/fat)\n* [@maccman](https://github.com/maccman)\n\n\n## License\n\nCopyright (c) 2014 Twitter and other contributors\n\nLicensed under the MIT License\n',
38 silly resolved readmeFilename: 'README.md',
38 silly resolved _id: 'bower@1.3.3',
38 silly resolved _from: 'bower@' } ]
39 info install bower@1.3.3 into /usr/lib
40 info installOne bower@1.3.3
41 verbose from cache /root/.npm/bower/1.3.3/package/package.json
42 info /usr/lib/node_modules/bower unbuild
43 verbose read json /usr/lib/node_modules/bower/package.json
44 verbose tar unpack /root/.npm/bower/1.3.3/package.tgz
45 silly lockFile f46d670c-usr-lib-node-modules-bower /usr/lib/node_modules/bower
46 verbose lock /usr/lib/node_modules/bower /root/.npm/f46d670c-usr-lib-node-modules-bower.lock
47 silly lockFile 7b5047d0-root-npm-bower-1-3-3-package-tgz /root/.npm/bower/1.3.3/package.tgz
48 verbose lock /root/.npm/bower/1.3.3/package.tgz /root/.npm/7b5047d0-root-npm-bower-1-3-3-package-tgz.lock
49 silly gunzTarPerm modes [ '755', '644' ]
50 silly gunzTarPerm extractEntry package.json
51 silly gunzTarPerm extractEntry .npmignore
52 silly gunzTarPerm extractEntry README.md
53 silly gunzTarPerm extractEntry LICENSE
54 silly gunzTarPerm extractEntry Gruntfile.js
55 silly gunzTarPerm extractEntry HOOKS.md
56 silly gunzTarPerm extractEntry .editorconfig
57 silly gunzTarPerm extractEntry .jshintrc
58 silly gunzTarPerm extractEntry .travis.yml
59 silly gunzTarPerm extractEntry CHANGELOG.md
60 silly gunzTarPerm extractEntry bin/bower
61 silly gunzTarPerm extractEntry lib/config.js
62 silly gunzTarPerm extractEntry lib/index.js
63 silly gunzTarPerm extractEntry lib/commands/version.js
64 silly gunzTarPerm extractEntry lib/commands/info.js
65 silly gunzTarPerm extractEntry lib/commands/init.js
66 silly gunzTarPerm extractEntry lib/commands/install.js
67 silly gunzTarPerm extractEntry lib/commands/index.js
68 silly gunzTarPerm extractEntry lib/commands/list.js
69 silly gunzTarPerm extractEntry lib/commands/lookup.js
70 silly gunzTarPerm extractEntry lib/commands/prune.js
71 silly gunzTarPerm extractEntry lib/commands/register.js
72 silly gunzTarPerm extractEntry lib/commands/search.js
73 silly gunzTarPerm extractEntry lib/commands/home.js
74 silly gunzTarPerm extractEntry lib/commands/uninstall.js
75 silly gunzTarPerm extractEntry lib/commands/help.js
76 silly gunzTarPerm extractEntry lib/commands/update.js
77 silly gunzTarPerm extractEntry lib/commands/completion.js
78 silly gunzTarPerm extractEntry lib/commands/link.js
79 silly gunzTarPerm extractEntry lib/commands/cache/clean.js
80 silly gunzTarPerm extractEntry lib/commands/cache/list.js
81 silly gunzTarPerm extractEntry lib/core/Manager.js
82 silly gunzTarPerm extractEntry lib/core/PackageRepository.js
83 silly gunzTarPerm extractEntry lib/core/Project.js
84 silly gunzTarPerm extractEntry lib/core/ResolveCache.js
85 silly gunzTarPerm extractEntry lib/core/resolverFactory.js
86 silly gunzTarPerm extractEntry lib/core/scripts.js
87 silly gunzTarPerm extractEntry lib/core/resolvers/FsResolver.js
88 silly gunzTarPerm extractEntry lib/core/resolvers/GitFsResolver.js
89 silly gunzTarPerm extractEntry lib/core/resolvers/GitHubResolver.js
90 silly gunzTarPerm extractEntry lib/core/resolvers/GitRemoteResolver.js
91 silly gunzTarPerm extractEntry lib/core/resolvers/GitResolver.js
92 silly gunzTarPerm extractEntry lib/core/resolvers/Resolver.js
93 silly gunzTarPerm extractEntry lib/core/resolvers/SvnResolver.js
94 silly gunzTarPerm extractEntry lib/core/resolvers/UrlResolver.js
95 silly gunzTarPerm extractEntry lib/core/resolvers/index.js
96 silly gunzTarPerm extractEntry lib/renderers/JsonRenderer.js
97 silly gunzTarPerm extractEntry lib/renderers/StandardRenderer.js
98 silly gunzTarPerm extractEntry lib/renderers/index.js
99 silly gunzTarPerm extractEntry lib/util/analytics.js
100 silly gunzTarPerm extractEntry lib/util/createError.js
101 silly gunzTarPerm extractEntry lib/util/createLink.js
102 silly gunzTarPerm extractEntry lib/util/download.js
103 silly gunzTarPerm extractEntry lib/util/copy.js
104 silly gunzTarPerm extractEntry lib/util/md5.js
105 silly gunzTarPerm extractEntry lib/util/readJson.js
106 silly gunzTarPerm extractEntry lib/util/removeIgnores.js
107 silly gunzTarPerm extractEntry lib/util/rootCheck.js
108 silly gunzTarPerm extractEntry lib/util/semver.js
109 silly gunzTarPerm extractEntry lib/util/cmd.js
110 silly gunzTarPerm extractEntry lib/util/template.js
111 silly gunzTarPerm extractEntry lib/util/cli.js
112 silly gunzTarPerm extractEntry lib/util/validLink.js
113 silly gunzTarPerm extractEntry lib/util/extract.js
114 silly gunzTarPerm extractEntry CONTRIBUTING.md
115 silly gunzTarPerm extractEntry templates/helpers/colors.js
116 silly gunzTarPerm extractEntry templates/helpers/condense.js
117 silly gunzTarPerm extractEntry templates/helpers/indent.js
118 silly gunzTarPerm extractEntry templates/helpers/index.js
119 silly gunzTarPerm extractEntry templates/helpers/rpad.js
120 silly gunzTarPerm extractEntry templates/helpers/sum.js
121 silly gunzTarPerm extractEntry templates/json/help-lookup.json
122 silly gunzTarPerm extractEntry templates/json/help-cache/clean.json
123 silly gunzTarPerm extractEntry templates/json/help-cache/list.json
124 silly gunzTarPerm extractEntry templates/json/help-home.json
125 silly gunzTarPerm extractEntry templates/json/help-info.json
126 silly gunzTarPerm extractEntry templates/json/help-init.json
127 silly gunzTarPerm extractEntry templates/json/help-install.json
128 silly gunzTarPerm extractEntry templates/json/help-link.json
129 silly gunzTarPerm extractEntry templates/json/help-list.json
130 silly gunzTarPerm extractEntry templates/json/help-cache.json
131 silly gunzTarPerm extractEntry templates/json/help-prune.json
132 silly gunzTarPerm extractEntry templates/json/help-register.json
133 silly gunzTarPerm extractEntry templates/json/help-search.json
134 silly gunzTarPerm extractEntry templates/json/help-uninstall.json
135 silly gunzTarPerm extractEntry templates/json/help-update.json
136 silly gunzTarPerm extractEntry templates/json/help-version.json
137 silly gunzTarPerm extractEntry templates/json/help.json
138 silly gunzTarPerm extractEntry templates/std/conflict-resolved.std
139 silly gunzTarPerm extractEntry templates/std/conflict.std
140 silly gunzTarPerm extractEntry templates/std/help-cache.std
141 silly gunzTarPerm extractEntry templates/std/help-generic.std
142 silly gunzTarPerm extractEntry templates/std/help.std
143 silly gunzTarPerm extractEntry templates/std/info.std
144 silly gunzTarPerm extractEntry templates/std/lookup.std
145 silly gunzTarPerm extractEntry templates/std/register.std
146 silly gunzTarPerm extractEntry templates/std/search-results.std
147 silly gunzTarPerm extractEntry templates/std/update-notice.std
148 silly gunzTarPerm extractEntry test/packages-svn.js
149 silly gunzTarPerm extractEntry test/packages.js
150 silly gunzTarPerm extractEntry test/test.js
151 silly gunzTarPerm extractEntry test/assets/package-tar.tar.gz
152 silly gunzTarPerm extractEntry test/assets/package-zip-folder-single-file.zip
153 silly gunzTarPerm extractEntry test/assets/package-zip-folder.zip
154 silly gunzTarPerm extractEntry test/assets/package-zip-single-bower-json.zip
155 silly gunzTarPerm extractEntry test/assets/package-zip-single-component-json.zip
156 silly gunzTarPerm extractEntry test/assets/package-zip-single-file.zip
157 silly gunzTarPerm extractEntry test/assets/package-zip.zip
158 silly gunzTarPerm extractEntry test/assets/resolve-cache/list-json-1.json
159 silly gunzTarPerm extractEntry test/assets/test-temp-dir/test-exception.js
160 silly gunzTarPerm extractEntry test/assets/test-temp-dir/test.js
161 silly gunzTarPerm extractEntry test/core/packageRepository.js
162 silly gunzTarPerm extractEntry test/core/resolveCache.js
163 silly gunzTarPerm extractEntry test/core/resolverFactory.js
164 silly gunzTarPerm extractEntry test/core/scripts.js
165 silly gunzTarPerm extractEntry test/core/resolvers/fsResolver.js
166 silly gunzTarPerm extractEntry test/core/resolvers/gitFsResolver.js
167 silly gunzTarPerm extractEntry test/core/resolvers/gitHubResolver.js
168 silly gunzTarPerm extractEntry test/core/resolvers/gitRemoteResolver.js
169 silly gunzTarPerm extractEntry test/core/resolvers/gitResolver.js
170 silly gunzTarPerm extractEntry test/core/resolvers/resolver.js
171 silly gunzTarPerm extractEntry test/core/resolvers/svnResolver.js
172 silly gunzTarPerm extractEntry test/core/resolvers/urlResolver.js
173 silly gunzTarPerm extractEntry test/packages-svn.json
174 silly gunzTarPerm extractEntry test/packages.json
175 verbose read json /usr/lib/node_modules/bower/package.json
176 silly lockFile f46d670c-usr-lib-node-modules-bower /usr/lib/node_modules/bower
177 silly lockFile f46d670c-usr-lib-node-modules-bower /usr/lib/node_modules/bower
178 silly lockFile 7b5047d0-root-npm-bower-1-3-3-package-tgz /root/.npm/bower/1.3.3/package.tgz
179 silly lockFile 7b5047d0-root-npm-bower-1-3-3-package-tgz /root/.npm/bower/1.3.3/package.tgz
180 info preinstall bower@1.3.3
181 verbose from cache /usr/lib/node_modules/bower/package.json
182 verbose readDependencies using package.json deps
183 verbose from cache /usr/lib/node_modules/bower/package.json
184 verbose readDependencies using package.json deps
185 verbose cache add [ 'bower-config@~0.5.0', null ]
186 verbose cache add name=undefined spec="bower-config@~0.5.0" args=["bower-config@~0.5.0",null]
187 verbose parsed url { protocol: null,
187 verbose parsed url slashes: null,
187 verbose parsed url auth: null,
187 verbose parsed url host: null,
187 verbose parsed url port: null,
187 verbose parsed url hostname: null,
187 verbose parsed url hash: null,
187 verbose parsed url search: null,
187 verbose parsed url query: null,
187 verbose parsed url pathname: 'bower-config@~0.5.0',
187 verbose parsed url path: 'bower-config@~0.5.0',
187 verbose parsed url href: 'bower-config@~0.5.0' }
188 verbose cache add name="bower-config" spec="~0.5.0" args=["bower-config","~0.5.0"]
189 verbose parsed url { protocol: null,
189 verbose parsed url slashes: null,
189 verbose parsed url auth: null,
189 verbose parsed url host: null,
189 verbose parsed url port: null,
189 verbose parsed url hostname: null,
189 verbose parsed url hash: null,
189 verbose parsed url search: null,
189 verbose parsed url query: null,
189 verbose parsed url pathname: '~0.5.0',
189 verbose parsed url path: '~0.5.0',
189 verbose parsed url href: '~0.5.0' }
190 verbose addNamed [ 'bower-config', '~0.5.0' ]
191 verbose addNamed [ null, '>=0.5.0- <0.6.0-' ]
192 silly lockFile 58b6f241-bower-config-0-5-0 bower-config@~0.5.0
193 verbose lock bower-config@~0.5.0 /root/.npm/58b6f241-bower-config-0-5-0.lock
194 verbose cache add [ 'bower-endpoint-parser@~0.2.0', null ]
195 verbose cache add name=undefined spec="bower-endpoint-parser@~0.2.0" args=["bower-endpoint-parser@~0.2.0",null]
196 verbose parsed url { protocol: null,
196 verbose parsed url slashes: null,
196 verbose parsed url auth: null,
196 verbose parsed url host: null,
196 verbose parsed url port: null,
196 verbose parsed url hostname: null,
196 verbose parsed url hash: null,
196 verbose parsed url search: null,
196 verbose parsed url query: null,
196 verbose parsed url pathname: 'bower-endpoint-parser@~0.2.0',
196 verbose parsed url path: 'bower-endpoint-parser@~0.2.0',
196 verbose parsed url href: 'bower-endpoint-parser@~0.2.0' }
197 verbose cache add name="bower-endpoint-parser" spec="~0.2.0" args=["bower-endpoint-parser","~0.2.0"]
198 verbose parsed url { protocol: null,
198 verbose parsed url slashes: null,
198 verbose parsed url auth: null,
198 verbose parsed url host: null,
198 verbose parsed url port: null,
198 verbose parsed url hostname: null,
198 verbose parsed url hash: null,
198 verbose parsed url search: null,
198 verbose parsed url query: null,
198 verbose parsed url pathname: '~0.2.0',
198 verbose parsed url path: '~0.2.0',
198 verbose parsed url href: '~0.2.0' }
199 verbose addNamed [ 'bower-endpoint-parser', '~0.2.0' ]
200 verbose addNamed [ null, '>=0.2.0- <0.3.0-' ]
201 silly lockFile bf43e285-bower-endpoint-parser-0-2-0 bower-endpoint-parser@~0.2.0
202 verbose lock bower-endpoint-parser@~0.2.0 /root/.npm/bf43e285-bower-endpoint-parser-0-2-0.lock
203 silly addNameRange { name: 'bower-config',
203 silly addNameRange range: '>=0.5.0- <0.6.0-',
203 silly addNameRange hasData: false }
204 silly addNameRange { name: 'bower-endpoint-parser',
204 silly addNameRange range: '>=0.2.0- <0.3.0-',
204 silly addNameRange hasData: false }
205 verbose cache add [ 'bower-json@~0.4.0', null ]
206 verbose cache add name=undefined spec="bower-json@~0.4.0" args=["bower-json@~0.4.0",null]
207 verbose parsed url { protocol: null,
207 verbose parsed url slashes: null,
207 verbose parsed url auth: null,
207 verbose parsed url host: null,
207 verbose parsed url port: null,
207 verbose parsed url hostname: null,
207 verbose parsed url hash: null,
207 verbose parsed url search: null,
207 verbose parsed url query: null,
207 verbose parsed url pathname: 'bower-json@~0.4.0',
207 verbose parsed url path: 'bower-json@~0.4.0',
207 verbose parsed url href: 'bower-json@~0.4.0' }
208 verbose cache add name="bower-json" spec="~0.4.0" args=["bower-json","~0.4.0"]
209 verbose parsed url { protocol: null,
209 verbose parsed url slashes: null,
209 verbose parsed url auth: null,
209 verbose parsed url host: null,
209 verbose parsed url port: null,
209 verbose parsed url hostname: null,
209 verbose parsed url hash: null,
209 verbose parsed url search: null,
209 verbose parsed url query: null,
209 verbose parsed url pathname: '~0.4.0',
209 verbose parsed url path: '~0.4.0',
209 verbose parsed url href: '~0.4.0' }
210 verbose addNamed [ 'bower-json', '~0.4.0' ]
211 verbose addNamed [ null, '>=0.4.0- <0.5.0-' ]
212 silly lockFile ea848668-bower-json-0-4-0 bower-json@~0.4.0
213 verbose lock bower-json@~0.4.0 /root/.npm/ea848668-bower-json-0-4-0.lock
214 verbose cache add [ 'bower-logger@~0.2.2', null ]
215 verbose cache add name=undefined spec="bower-logger@~0.2.2" args=["bower-logger@~0.2.2",null]
216 verbose parsed url { protocol: null,
216 verbose parsed url slashes: null,
216 verbose parsed url auth: null,
216 verbose parsed url host: null,
216 verbose parsed url port: null,
216 verbose parsed url hostname: null,
216 verbose parsed url hash: null,
216 verbose parsed url search: null,
216 verbose parsed url query: null,
216 verbose parsed url pathname: 'bower-logger@~0.2.2',
216 verbose parsed url path: 'bower-logger@~0.2.2',
216 verbose parsed url href: 'bower-logger@~0.2.2' }
217 verbose cache add name="bower-logger" spec="~0.2.2" args=["bower-logger","~0.2.2"]
218 verbose parsed url { protocol: null,
218 verbose parsed url slashes: null,
218 verbose parsed url auth: null,
218 verbose parsed url host: null,
218 verbose parsed url port: null,
218 verbose parsed url hostname: null,
218 verbose parsed url hash: null,
218 verbose parsed url search: null,
218 verbose parsed url query: null,
218 verbose parsed url pathname: '~0.2.2',
218 verbose parsed url path: '~0.2.2',
218 verbose parsed url href: '~0.2.2' }
219 verbose addNamed [ 'bower-logger', '~0.2.2' ]
220 verbose addNamed [ null, '>=0.2.2- <0.3.0-' ]
221 silly lockFile 4dfc8f43-bower-logger-0-2-2 bower-logger@~0.2.2
222 verbose lock bower-logger@~0.2.2 /root/.npm/4dfc8f43-bower-logger-0-2-2.lock
223 silly addNameRange { name: 'bower-json', range: '>=0.4.0- <0.5.0-', hasData: false }
224 silly addNameRange { name: 'bower-logger',
224 silly addNameRange range: '>=0.2.2- <0.3.0-',
224 silly addNameRange hasData: false }
225 verbose cache add [ 'bower-registry-client@~0.2.0', null ]
226 verbose cache add name=undefined spec="bower-registry-client@~0.2.0" args=["bower-registry-client@~0.2.0",null]
227 verbose parsed url { protocol: null,
227 verbose parsed url slashes: null,
227 verbose parsed url auth: null,
227 verbose parsed url host: null,
227 verbose parsed url port: null,
227 verbose parsed url hostname: null,
227 verbose parsed url hash: null,
227 verbose parsed url search: null,
227 verbose parsed url query: null,
227 verbose parsed url pathname: 'bower-registry-client@~0.2.0',
227 verbose parsed url path: 'bower-registry-client@~0.2.0',
227 verbose parsed url href: 'bower-registry-client@~0.2.0' }
228 verbose cache add name="bower-registry-client" spec="~0.2.0" args=["bower-registry-client","~0.2.0"]
229 verbose parsed url { protocol: null,
229 verbose parsed url slashes: null,
229 verbose parsed url auth: null,
229 verbose parsed url host: null,
229 verbose parsed url port: null,
229 verbose parsed url hostname: null,
229 verbose parsed url hash: null,
229 verbose parsed url search: null,
229 verbose parsed url query: null,
229 verbose parsed url pathname: '~0.2.0',
229 verbose parsed url path: '~0.2.0',
229 verbose parsed url href: '~0.2.0' }
230 verbose addNamed [ 'bower-registry-client', '~0.2.0' ]
231 verbose addNamed [ null, '>=0.2.0- <0.3.0-' ]
232 silly lockFile f1b922af-bower-registry-client-0-2-0 bower-registry-client@~0.2.0
233 verbose lock bower-registry-client@~0.2.0 /root/.npm/f1b922af-bower-registry-client-0-2-0.lock
234 verbose cache add [ 'cardinal@~0.4.0', null ]
235 verbose cache add name=undefined spec="cardinal@~0.4.0" args=["cardinal@~0.4.0",null]
236 verbose parsed url { protocol: null,
236 verbose parsed url slashes: null,
236 verbose parsed url auth: null,
236 verbose parsed url host: null,
236 verbose parsed url port: null,
236 verbose parsed url hostname: null,
236 verbose parsed url hash: null,
236 verbose parsed url search: null,
236 verbose parsed url query: null,
236 verbose parsed url pathname: 'cardinal@~0.4.0',
236 verbose parsed url path: 'cardinal@~0.4.0',
236 verbose parsed url href: 'cardinal@~0.4.0' }
237 verbose cache add name="cardinal" spec="~0.4.0" args=["cardinal","~0.4.0"]
238 verbose parsed url { protocol: null,
238 verbose parsed url slashes: null,
238 verbose parsed url auth: null,
238 verbose parsed url host: null,
238 verbose parsed url port: null,
238 verbose parsed url hostname: null,
238 verbose parsed url hash: null,
238 verbose parsed url search: null,
238 verbose parsed url query: null,
238 verbose parsed url pathname: '~0.4.0',
238 verbose parsed url path: '~0.4.0',
238 verbose parsed url href: '~0.4.0' }
239 verbose addNamed [ 'cardinal', '~0.4.0' ]
240 verbose addNamed [ null, '>=0.4.0- <0.5.0-' ]
241 silly lockFile acc8665e-cardinal-0-4-0 cardinal@~0.4.0
242 verbose lock cardinal@~0.4.0 /root/.npm/acc8665e-cardinal-0-4-0.lock
243 verbose cache add [ 'chalk@~0.4.0', null ]
244 verbose cache add name=undefined spec="chalk@~0.4.0" args=["chalk@~0.4.0",null]
245 verbose parsed url { protocol: null,
245 verbose parsed url slashes: null,
245 verbose parsed url auth: null,
245 verbose parsed url host: null,
245 verbose parsed url port: null,
245 verbose parsed url hostname: null,
245 verbose parsed url hash: null,
245 verbose parsed url search: null,
245 verbose parsed url query: null,
245 verbose parsed url pathname: 'chalk@~0.4.0',
245 verbose parsed url path: 'chalk@~0.4.0',
245 verbose parsed url href: 'chalk@~0.4.0' }
246 verbose cache add name="chalk" spec="~0.4.0" args=["chalk","~0.4.0"]
247 verbose parsed url { protocol: null,
247 verbose parsed url slashes: null,
247 verbose parsed url auth: null,
247 verbose parsed url host: null,
247 verbose parsed url port: null,
247 verbose parsed url hostname: null,
247 verbose parsed url hash: null,
247 verbose parsed url search: null,
247 verbose parsed url query: null,
247 verbose parsed url pathname: '~0.4.0',
247 verbose parsed url path: '~0.4.0',
247 verbose parsed url href: '~0.4.0' }
248 verbose addNamed [ 'chalk', '~0.4.0' ]
249 verbose addNamed [ null, '>=0.4.0- <0.5.0-' ]
250 silly lockFile bc9fb696-chalk-0-4-0 chalk@~0.4.0
251 verbose lock chalk@~0.4.0 /root/.npm/bc9fb696-chalk-0-4-0.lock
252 verbose cache add [ 'chmodr@~0.1.0', null ]
253 verbose cache add name=undefined spec="chmodr@~0.1.0" args=["chmodr@~0.1.0",null]
254 verbose parsed url { protocol: null,
254 verbose parsed url slashes: null,
254 verbose parsed url auth: null,
254 verbose parsed url host: null,
254 verbose parsed url port: null,
254 verbose parsed url hostname: null,
254 verbose parsed url hash: null,
254 verbose parsed url search: null,
254 verbose parsed url query: null,
254 verbose parsed url pathname: 'chmodr@~0.1.0',
254 verbose parsed url path: 'chmodr@~0.1.0',
254 verbose parsed url href: 'chmodr@~0.1.0' }
255 verbose cache add name="chmodr" spec="~0.1.0" args=["chmodr","~0.1.0"]
256 verbose parsed url { protocol: null,
256 verbose parsed url slashes: null,
256 verbose parsed url auth: null,
256 verbose parsed url host: null,
256 verbose parsed url port: null,
256 verbose parsed url hostname: null,
256 verbose parsed url hash: null,
256 verbose parsed url search: null,
256 verbose parsed url query: null,
256 verbose parsed url pathname: '~0.1.0',
256 verbose parsed url path: '~0.1.0',
256 verbose parsed url href: '~0.1.0' }
257 verbose addNamed [ 'chmodr', '~0.1.0' ]
258 verbose addNamed [ null, '>=0.1.0- <0.2.0-' ]
259 silly lockFile 5c476fe4-chmodr-0-1-0 chmodr@~0.1.0
260 verbose lock chmodr@~0.1.0 /root/.npm/5c476fe4-chmodr-0-1-0.lock
261 silly addNameRange { name: 'bower-registry-client',
261 silly addNameRange range: '>=0.2.0- <0.3.0-',
261 silly addNameRange hasData: false }
262 silly addNameRange { name: 'cardinal', range: '>=0.4.0- <0.5.0-', hasData: false }
263 silly addNameRange { name: 'chalk', range: '>=0.4.0- <0.5.0-', hasData: false }
264 silly addNameRange { name: 'chmodr', range: '>=0.1.0- <0.2.0-', hasData: false }
265 verbose cache add [ 'decompress-zip@~0.0.6', null ]
266 verbose cache add name=undefined spec="decompress-zip@~0.0.6" args=["decompress-zip@~0.0.6",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: 'decompress-zip@~0.0.6',
267 verbose parsed url path: 'decompress-zip@~0.0.6',
267 verbose parsed url href: 'decompress-zip@~0.0.6' }
268 verbose cache add name="decompress-zip" spec="~0.0.6" args=["decompress-zip","~0.0.6"]
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: '~0.0.6',
269 verbose parsed url path: '~0.0.6',
269 verbose parsed url href: '~0.0.6' }
270 verbose addNamed [ 'decompress-zip', '~0.0.6' ]
271 verbose addNamed [ null, '>=0.0.6- <0.1.0-' ]
272 silly lockFile 67b19ab4-decompress-zip-0-0-6 decompress-zip@~0.0.6
273 verbose lock decompress-zip@~0.0.6 /root/.npm/67b19ab4-decompress-zip-0-0-6.lock
274 verbose cache add [ 'fstream@~0.1.22', null ]
275 verbose cache add name=undefined spec="fstream@~0.1.22" args=["fstream@~0.1.22",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: 'fstream@~0.1.22',
276 verbose parsed url path: 'fstream@~0.1.22',
276 verbose parsed url href: 'fstream@~0.1.22' }
277 verbose cache add name="fstream" spec="~0.1.22" args=["fstream","~0.1.22"]
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.1.22',
278 verbose parsed url path: '~0.1.22',
278 verbose parsed url href: '~0.1.22' }
279 verbose addNamed [ 'fstream', '~0.1.22' ]
280 verbose addNamed [ null, '>=0.1.22- <0.2.0-' ]
281 silly lockFile 75ffa414-fstream-0-1-22 fstream@~0.1.22
282 verbose lock fstream@~0.1.22 /root/.npm/75ffa414-fstream-0-1-22.lock
283 verbose cache add [ 'fstream-ignore@~0.0.6', null ]
284 verbose cache add name=undefined spec="fstream-ignore@~0.0.6" args=["fstream-ignore@~0.0.6",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: 'fstream-ignore@~0.0.6',
285 verbose parsed url path: 'fstream-ignore@~0.0.6',
285 verbose parsed url href: 'fstream-ignore@~0.0.6' }
286 verbose cache add name="fstream-ignore" spec="~0.0.6" args=["fstream-ignore","~0.0.6"]
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: '~0.0.6',
287 verbose parsed url path: '~0.0.6',
287 verbose parsed url href: '~0.0.6' }
288 verbose addNamed [ 'fstream-ignore', '~0.0.6' ]
289 verbose addNamed [ null, '>=0.0.6- <0.1.0-' ]
290 silly lockFile faf433bd-fstream-ignore-0-0-6 fstream-ignore@~0.0.6
291 verbose lock fstream-ignore@~0.0.6 /root/.npm/faf433bd-fstream-ignore-0-0-6.lock
292 verbose cache add [ 'glob@~3.2.9', null ]
293 verbose cache add name=undefined spec="glob@~3.2.9" args=["glob@~3.2.9",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: 'glob@~3.2.9',
294 verbose parsed url path: 'glob@~3.2.9',
294 verbose parsed url href: 'glob@~3.2.9' }
295 verbose cache add name="glob" spec="~3.2.9" args=["glob","~3.2.9"]
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: '~3.2.9',
296 verbose parsed url path: '~3.2.9',
296 verbose parsed url href: '~3.2.9' }
297 verbose addNamed [ 'glob', '~3.2.9' ]
298 verbose addNamed [ null, '>=3.2.9- <3.3.0-' ]
299 silly lockFile 200db29c-glob-3-2-9 glob@~3.2.9
300 verbose lock glob@~3.2.9 /root/.npm/200db29c-glob-3-2-9.lock
301 verbose cache add [ 'graceful-fs@~2.0.0', null ]
302 verbose cache add name=undefined spec="graceful-fs@~2.0.0" args=["graceful-fs@~2.0.0",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: 'graceful-fs@~2.0.0',
303 verbose parsed url path: 'graceful-fs@~2.0.0',
303 verbose parsed url href: 'graceful-fs@~2.0.0' }
304 verbose cache add name="graceful-fs" spec="~2.0.0" args=["graceful-fs","~2.0.0"]
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.0.0',
305 verbose parsed url path: '~2.0.0',
305 verbose parsed url href: '~2.0.0' }
306 verbose addNamed [ 'graceful-fs', '~2.0.0' ]
307 verbose addNamed [ null, '>=2.0.0- <2.1.0-' ]
308 silly lockFile 8863dcc9-graceful-fs-2-0-0 graceful-fs@~2.0.0
309 verbose lock graceful-fs@~2.0.0 /root/.npm/8863dcc9-graceful-fs-2-0-0.lock
310 verbose cache add [ 'handlebars@~1.3.0', null ]
311 verbose cache add name=undefined spec="handlebars@~1.3.0" args=["handlebars@~1.3.0",null]
312 verbose parsed url { protocol: null,
312 verbose parsed url slashes: null,
312 verbose parsed url auth: null,
312 verbose parsed url host: null,
312 verbose parsed url port: null,
312 verbose parsed url hostname: null,
312 verbose parsed url hash: null,
312 verbose parsed url search: null,
312 verbose parsed url query: null,
312 verbose parsed url pathname: 'handlebars@~1.3.0',
312 verbose parsed url path: 'handlebars@~1.3.0',
312 verbose parsed url href: 'handlebars@~1.3.0' }
313 verbose cache add name="handlebars" spec="~1.3.0" args=["handlebars","~1.3.0"]
314 verbose parsed url { protocol: null,
314 verbose parsed url slashes: null,
314 verbose parsed url auth: null,
314 verbose parsed url host: null,
314 verbose parsed url port: null,
314 verbose parsed url hostname: null,
314 verbose parsed url hash: null,
314 verbose parsed url search: null,
314 verbose parsed url query: null,
314 verbose parsed url pathname: '~1.3.0',
314 verbose parsed url path: '~1.3.0',
314 verbose parsed url href: '~1.3.0' }
315 verbose addNamed [ 'handlebars', '~1.3.0' ]
316 verbose addNamed [ null, '>=1.3.0- <1.4.0-' ]
317 silly lockFile 080fb592-handlebars-1-3-0 handlebars@~1.3.0
318 verbose lock handlebars@~1.3.0 /root/.npm/080fb592-handlebars-1-3-0.lock
319 verbose cache add [ 'inquirer@~0.4.0', null ]
320 verbose cache add name=undefined spec="inquirer@~0.4.0" args=["inquirer@~0.4.0",null]
321 verbose parsed url { protocol: null,
321 verbose parsed url slashes: null,
321 verbose parsed url auth: null,
321 verbose parsed url host: null,
321 verbose parsed url port: null,
321 verbose parsed url hostname: null,
321 verbose parsed url hash: null,
321 verbose parsed url search: null,
321 verbose parsed url query: null,
321 verbose parsed url pathname: 'inquirer@~0.4.0',
321 verbose parsed url path: 'inquirer@~0.4.0',
321 verbose parsed url href: 'inquirer@~0.4.0' }
322 verbose cache add name="inquirer" spec="~0.4.0" args=["inquirer","~0.4.0"]
323 verbose parsed url { protocol: null,
323 verbose parsed url slashes: null,
323 verbose parsed url auth: null,
323 verbose parsed url host: null,
323 verbose parsed url port: null,
323 verbose parsed url hostname: null,
323 verbose parsed url hash: null,
323 verbose parsed url search: null,
323 verbose parsed url query: null,
323 verbose parsed url pathname: '~0.4.0',
323 verbose parsed url path: '~0.4.0',
323 verbose parsed url href: '~0.4.0' }
324 verbose addNamed [ 'inquirer', '~0.4.0' ]
325 verbose addNamed [ null, '>=0.4.0- <0.5.0-' ]
326 silly lockFile 24c291dd-inquirer-0-4-0 inquirer@~0.4.0
327 verbose lock inquirer@~0.4.0 /root/.npm/24c291dd-inquirer-0-4-0.lock
328 verbose cache add [ 'insight@~0.3.0', null ]
329 verbose cache add name=undefined spec="insight@~0.3.0" args=["insight@~0.3.0",null]
330 verbose parsed url { protocol: null,
330 verbose parsed url slashes: null,
330 verbose parsed url auth: null,
330 verbose parsed url host: null,
330 verbose parsed url port: null,
330 verbose parsed url hostname: null,
330 verbose parsed url hash: null,
330 verbose parsed url search: null,
330 verbose parsed url query: null,
330 verbose parsed url pathname: 'insight@~0.3.0',
330 verbose parsed url path: 'insight@~0.3.0',
330 verbose parsed url href: 'insight@~0.3.0' }
331 verbose cache add name="insight" spec="~0.3.0" args=["insight","~0.3.0"]
332 verbose parsed url { protocol: null,
332 verbose parsed url slashes: null,
332 verbose parsed url auth: null,
332 verbose parsed url host: null,
332 verbose parsed url port: null,
332 verbose parsed url hostname: null,
332 verbose parsed url hash: null,
332 verbose parsed url search: null,
332 verbose parsed url query: null,
332 verbose parsed url pathname: '~0.3.0',
332 verbose parsed url path: '~0.3.0',
332 verbose parsed url href: '~0.3.0' }
333 verbose addNamed [ 'insight', '~0.3.0' ]
334 verbose addNamed [ null, '>=0.3.0- <0.4.0-' ]
335 silly lockFile ce14d85c-insight-0-3-0 insight@~0.3.0
336 verbose lock insight@~0.3.0 /root/.npm/ce14d85c-insight-0-3-0.lock
337 verbose cache add [ 'is-root@~0.1.0', null ]
338 verbose cache add name=undefined spec="is-root@~0.1.0" args=["is-root@~0.1.0",null]
339 verbose parsed url { protocol: null,
339 verbose parsed url slashes: null,
339 verbose parsed url auth: null,
339 verbose parsed url host: null,
339 verbose parsed url port: null,
339 verbose parsed url hostname: null,
339 verbose parsed url hash: null,
339 verbose parsed url search: null,
339 verbose parsed url query: null,
339 verbose parsed url pathname: 'is-root@~0.1.0',
339 verbose parsed url path: 'is-root@~0.1.0',
339 verbose parsed url href: 'is-root@~0.1.0' }
340 verbose cache add name="is-root" spec="~0.1.0" args=["is-root","~0.1.0"]
341 verbose parsed url { protocol: null,
341 verbose parsed url slashes: null,
341 verbose parsed url auth: null,
341 verbose parsed url host: null,
341 verbose parsed url port: null,
341 verbose parsed url hostname: null,
341 verbose parsed url hash: null,
341 verbose parsed url search: null,
341 verbose parsed url query: null,
341 verbose parsed url pathname: '~0.1.0',
341 verbose parsed url path: '~0.1.0',
341 verbose parsed url href: '~0.1.0' }
342 verbose addNamed [ 'is-root', '~0.1.0' ]
343 verbose addNamed [ null, '>=0.1.0- <0.2.0-' ]
344 silly lockFile 3dc75358-is-root-0-1-0 is-root@~0.1.0
345 verbose lock is-root@~0.1.0 /root/.npm/3dc75358-is-root-0-1-0.lock
346 verbose cache add [ 'junk@~0.3.0', null ]
347 verbose cache add name=undefined spec="junk@~0.3.0" args=["junk@~0.3.0",null]
348 verbose parsed url { protocol: null,
348 verbose parsed url slashes: null,
348 verbose parsed url auth: null,
348 verbose parsed url host: null,
348 verbose parsed url port: null,
348 verbose parsed url hostname: null,
348 verbose parsed url hash: null,
348 verbose parsed url search: null,
348 verbose parsed url query: null,
348 verbose parsed url pathname: 'junk@~0.3.0',
348 verbose parsed url path: 'junk@~0.3.0',
348 verbose parsed url href: 'junk@~0.3.0' }
349 verbose cache add name="junk" spec="~0.3.0" args=["junk","~0.3.0"]
350 verbose parsed url { protocol: null,
350 verbose parsed url slashes: null,
350 verbose parsed url auth: null,
350 verbose parsed url host: null,
350 verbose parsed url port: null,
350 verbose parsed url hostname: null,
350 verbose parsed url hash: null,
350 verbose parsed url search: null,
350 verbose parsed url query: null,
350 verbose parsed url pathname: '~0.3.0',
350 verbose parsed url path: '~0.3.0',
350 verbose parsed url href: '~0.3.0' }
351 verbose addNamed [ 'junk', '~0.3.0' ]
352 verbose addNamed [ null, '>=0.3.0- <0.4.0-' ]
353 silly lockFile 41579b5e-junk-0-3-0 junk@~0.3.0
354 verbose lock junk@~0.3.0 /root/.npm/41579b5e-junk-0-3-0.lock
355 verbose cache add [ 'lockfile@~0.4.2', null ]
356 verbose cache add name=undefined spec="lockfile@~0.4.2" args=["lockfile@~0.4.2",null]
357 verbose parsed url { protocol: null,
357 verbose parsed url slashes: null,
357 verbose parsed url auth: null,
357 verbose parsed url host: null,
357 verbose parsed url port: null,
357 verbose parsed url hostname: null,
357 verbose parsed url hash: null,
357 verbose parsed url search: null,
357 verbose parsed url query: null,
357 verbose parsed url pathname: 'lockfile@~0.4.2',
357 verbose parsed url path: 'lockfile@~0.4.2',
357 verbose parsed url href: 'lockfile@~0.4.2' }
358 verbose cache add name="lockfile" spec="~0.4.2" args=["lockfile","~0.4.2"]
359 verbose parsed url { protocol: null,
359 verbose parsed url slashes: null,
359 verbose parsed url auth: null,
359 verbose parsed url host: null,
359 verbose parsed url port: null,
359 verbose parsed url hostname: null,
359 verbose parsed url hash: null,
359 verbose parsed url search: null,
359 verbose parsed url query: null,
359 verbose parsed url pathname: '~0.4.2',
359 verbose parsed url path: '~0.4.2',
359 verbose parsed url href: '~0.4.2' }
360 verbose addNamed [ 'lockfile', '~0.4.2' ]
361 verbose addNamed [ null, '>=0.4.2- <0.5.0-' ]
362 silly lockFile 734876a6-lockfile-0-4-2 lockfile@~0.4.2
363 verbose lock lockfile@~0.4.2 /root/.npm/734876a6-lockfile-0-4-2.lock
364 verbose cache add [ 'lru-cache@~2.5.0', null ]
365 verbose cache add name=undefined spec="lru-cache@~2.5.0" args=["lru-cache@~2.5.0",null]
366 verbose parsed url { protocol: null,
366 verbose parsed url slashes: null,
366 verbose parsed url auth: null,
366 verbose parsed url host: null,
366 verbose parsed url port: null,
366 verbose parsed url hostname: null,
366 verbose parsed url hash: null,
366 verbose parsed url search: null,
366 verbose parsed url query: null,
366 verbose parsed url pathname: 'lru-cache@~2.5.0',
366 verbose parsed url path: 'lru-cache@~2.5.0',
366 verbose parsed url href: 'lru-cache@~2.5.0' }
367 verbose cache add name="lru-cache" spec="~2.5.0" args=["lru-cache","~2.5.0"]
368 verbose parsed url { protocol: null,
368 verbose parsed url slashes: null,
368 verbose parsed url auth: null,
368 verbose parsed url host: null,
368 verbose parsed url port: null,
368 verbose parsed url hostname: null,
368 verbose parsed url hash: null,
368 verbose parsed url search: null,
368 verbose parsed url query: null,
368 verbose parsed url pathname: '~2.5.0',
368 verbose parsed url path: '~2.5.0',
368 verbose parsed url href: '~2.5.0' }
369 verbose addNamed [ 'lru-cache', '~2.5.0' ]
370 verbose addNamed [ null, '>=2.5.0- <2.6.0-' ]
371 silly lockFile d9ec30b5-lru-cache-2-5-0 lru-cache@~2.5.0
372 verbose lock lru-cache@~2.5.0 /root/.npm/d9ec30b5-lru-cache-2-5-0.lock
373 verbose cache add [ 'mkdirp@~0.3.5', null ]
374 verbose cache add name=undefined spec="mkdirp@~0.3.5" args=["mkdirp@~0.3.5",null]
375 verbose parsed url { protocol: null,
375 verbose parsed url slashes: null,
375 verbose parsed url auth: null,
375 verbose parsed url host: null,
375 verbose parsed url port: null,
375 verbose parsed url hostname: null,
375 verbose parsed url hash: null,
375 verbose parsed url search: null,
375 verbose parsed url query: null,
375 verbose parsed url pathname: 'mkdirp@~0.3.5',
375 verbose parsed url path: 'mkdirp@~0.3.5',
375 verbose parsed url href: 'mkdirp@~0.3.5' }
376 verbose cache add name="mkdirp" spec="~0.3.5" args=["mkdirp","~0.3.5"]
377 verbose parsed url { protocol: null,
377 verbose parsed url slashes: null,
377 verbose parsed url auth: null,
377 verbose parsed url host: null,
377 verbose parsed url port: null,
377 verbose parsed url hostname: null,
377 verbose parsed url hash: null,
377 verbose parsed url search: null,
377 verbose parsed url query: null,
377 verbose parsed url pathname: '~0.3.5',
377 verbose parsed url path: '~0.3.5',
377 verbose parsed url href: '~0.3.5' }
378 verbose addNamed [ 'mkdirp', '~0.3.5' ]
379 verbose addNamed [ null, '>=0.3.5- <0.4.0-' ]
380 silly lockFile c3f0fe9b-mkdirp-0-3-5 mkdirp@~0.3.5
381 verbose lock mkdirp@~0.3.5 /root/.npm/c3f0fe9b-mkdirp-0-3-5.lock
382 silly addNameRange { name: 'decompress-zip',
382 silly addNameRange range: '>=0.0.6- <0.1.0-',
382 silly addNameRange hasData: false }
383 silly addNameRange { name: 'fstream', range: '>=0.1.22- <0.2.0-', hasData: false }
384 silly addNameRange { name: 'fstream-ignore',
384 silly addNameRange range: '>=0.0.6- <0.1.0-',
384 silly addNameRange hasData: false }
385 silly addNameRange { name: 'glob', range: '>=3.2.9- <3.3.0-', hasData: false }
386 silly addNameRange { name: 'graceful-fs',
386 silly addNameRange range: '>=2.0.0- <2.1.0-',
386 silly addNameRange hasData: false }
387 silly addNameRange { name: 'handlebars', range: '>=1.3.0- <1.4.0-', hasData: false }
388 silly addNameRange { name: 'inquirer', range: '>=0.4.0- <0.5.0-', hasData: false }
389 silly addNameRange { name: 'insight', range: '>=0.3.0- <0.4.0-', hasData: false }
390 silly addNameRange { name: 'is-root', range: '>=0.1.0- <0.2.0-', hasData: false }
391 silly addNameRange { name: 'junk', range: '>=0.3.0- <0.4.0-', hasData: false }
392 silly addNameRange { name: 'lockfile', range: '>=0.4.2- <0.5.0-', hasData: false }
393 silly addNameRange { name: 'lru-cache', range: '>=2.5.0- <2.6.0-', hasData: false }
394 silly addNameRange { name: 'mkdirp', range: '>=0.3.5- <0.4.0-', hasData: false }
395 verbose cache add [ 'mout@~0.9.1', null ]
396 verbose cache add name=undefined spec="mout@~0.9.1" args=["mout@~0.9.1",null]
397 verbose parsed url { protocol: null,
397 verbose parsed url slashes: null,
397 verbose parsed url auth: null,
397 verbose parsed url host: null,
397 verbose parsed url port: null,
397 verbose parsed url hostname: null,
397 verbose parsed url hash: null,
397 verbose parsed url search: null,
397 verbose parsed url query: null,
397 verbose parsed url pathname: 'mout@~0.9.1',
397 verbose parsed url path: 'mout@~0.9.1',
397 verbose parsed url href: 'mout@~0.9.1' }
398 verbose cache add name="mout" spec="~0.9.1" args=["mout","~0.9.1"]
399 verbose parsed url { protocol: null,
399 verbose parsed url slashes: null,
399 verbose parsed url auth: null,
399 verbose parsed url host: null,
399 verbose parsed url port: null,
399 verbose parsed url hostname: null,
399 verbose parsed url hash: null,
399 verbose parsed url search: null,
399 verbose parsed url query: null,
399 verbose parsed url pathname: '~0.9.1',
399 verbose parsed url path: '~0.9.1',
399 verbose parsed url href: '~0.9.1' }
400 verbose addNamed [ 'mout', '~0.9.1' ]
401 verbose addNamed [ null, '>=0.9.1- <0.10.0-' ]
402 silly lockFile 192577f3-mout-0-9-1 mout@~0.9.1
403 verbose lock mout@~0.9.1 /root/.npm/192577f3-mout-0-9-1.lock
404 verbose cache add [ 'nopt@~2.2.0', null ]
405 verbose cache add name=undefined spec="nopt@~2.2.0" args=["nopt@~2.2.0",null]
406 verbose parsed url { protocol: null,
406 verbose parsed url slashes: null,
406 verbose parsed url auth: null,
406 verbose parsed url host: null,
406 verbose parsed url port: null,
406 verbose parsed url hostname: null,
406 verbose parsed url hash: null,
406 verbose parsed url search: null,
406 verbose parsed url query: null,
406 verbose parsed url pathname: 'nopt@~2.2.0',
406 verbose parsed url path: 'nopt@~2.2.0',
406 verbose parsed url href: 'nopt@~2.2.0' }
407 verbose cache add name="nopt" spec="~2.2.0" args=["nopt","~2.2.0"]
408 verbose parsed url { protocol: null,
408 verbose parsed url slashes: null,
408 verbose parsed url auth: null,
408 verbose parsed url host: null,
408 verbose parsed url port: null,
408 verbose parsed url hostname: null,
408 verbose parsed url hash: null,
408 verbose parsed url search: null,
408 verbose parsed url query: null,
408 verbose parsed url pathname: '~2.2.0',
408 verbose parsed url path: '~2.2.0',
408 verbose parsed url href: '~2.2.0' }
409 verbose addNamed [ 'nopt', '~2.2.0' ]
410 verbose addNamed [ null, '>=2.2.0- <2.3.0-' ]
411 silly lockFile 84cb411c-nopt-2-2-0 nopt@~2.2.0
412 verbose lock nopt@~2.2.0 /root/.npm/84cb411c-nopt-2-2-0.lock
413 verbose cache add [ 'opn@~0.1.1', null ]
414 verbose cache add name=undefined spec="opn@~0.1.1" args=["opn@~0.1.1",null]
415 verbose parsed url { protocol: null,
415 verbose parsed url slashes: null,
415 verbose parsed url auth: null,
415 verbose parsed url host: null,
415 verbose parsed url port: null,
415 verbose parsed url hostname: null,
415 verbose parsed url hash: null,
415 verbose parsed url search: null,
415 verbose parsed url query: null,
415 verbose parsed url pathname: 'opn@~0.1.1',
415 verbose parsed url path: 'opn@~0.1.1',
415 verbose parsed url href: 'opn@~0.1.1' }
416 verbose cache add name="opn" spec="~0.1.1" args=["opn","~0.1.1"]
417 verbose parsed url { protocol: null,
417 verbose parsed url slashes: null,
417 verbose parsed url auth: null,
417 verbose parsed url host: null,
417 verbose parsed url port: null,
417 verbose parsed url hostname: null,
417 verbose parsed url hash: null,
417 verbose parsed url search: null,
417 verbose parsed url query: null,
417 verbose parsed url pathname: '~0.1.1',
417 verbose parsed url path: '~0.1.1',
417 verbose parsed url href: '~0.1.1' }
418 verbose addNamed [ 'opn', '~0.1.1' ]
419 verbose addNamed [ null, '>=0.1.1- <0.2.0-' ]
420 silly lockFile 445f6667-opn-0-1-1 opn@~0.1.1
421 verbose lock opn@~0.1.1 /root/.npm/445f6667-opn-0-1-1.lock
422 verbose cache add [ 'osenv@~0.0.3', null ]
423 verbose cache add name=undefined spec="osenv@~0.0.3" args=["osenv@~0.0.3",null]
424 verbose parsed url { protocol: null,
424 verbose parsed url slashes: null,
424 verbose parsed url auth: null,
424 verbose parsed url host: null,
424 verbose parsed url port: null,
424 verbose parsed url hostname: null,
424 verbose parsed url hash: null,
424 verbose parsed url search: null,
424 verbose parsed url query: null,
424 verbose parsed url pathname: 'osenv@~0.0.3',
424 verbose parsed url path: 'osenv@~0.0.3',
424 verbose parsed url href: 'osenv@~0.0.3' }
425 verbose cache add name="osenv" spec="~0.0.3" args=["osenv","~0.0.3"]
426 verbose parsed url { protocol: null,
426 verbose parsed url slashes: null,
426 verbose parsed url auth: null,
426 verbose parsed url host: null,
426 verbose parsed url port: null,
426 verbose parsed url hostname: null,
426 verbose parsed url hash: null,
426 verbose parsed url search: null,
426 verbose parsed url query: null,
426 verbose parsed url pathname: '~0.0.3',
426 verbose parsed url path: '~0.0.3',
426 verbose parsed url href: '~0.0.3' }
427 verbose addNamed [ 'osenv', '~0.0.3' ]
428 verbose addNamed [ null, '>=0.0.3- <0.1.0-' ]
429 silly lockFile 7367c0c9-osenv-0-0-3 osenv@~0.0.3
430 verbose lock osenv@~0.0.3 /root/.npm/7367c0c9-osenv-0-0-3.lock
431 verbose cache add [ 'p-throttler@~0.0.1', null ]
432 verbose cache add name=undefined spec="p-throttler@~0.0.1" args=["p-throttler@~0.0.1",null]
433 verbose parsed url { protocol: null,
433 verbose parsed url slashes: null,
433 verbose parsed url auth: null,
433 verbose parsed url host: null,
433 verbose parsed url port: null,
433 verbose parsed url hostname: null,
433 verbose parsed url hash: null,
433 verbose parsed url search: null,
433 verbose parsed url query: null,
433 verbose parsed url pathname: 'p-throttler@~0.0.1',
433 verbose parsed url path: 'p-throttler@~0.0.1',
433 verbose parsed url href: 'p-throttler@~0.0.1' }
434 verbose cache add name="p-throttler" spec="~0.0.1" args=["p-throttler","~0.0.1"]
435 verbose parsed url { protocol: null,
435 verbose parsed url slashes: null,
435 verbose parsed url auth: null,
435 verbose parsed url host: null,
435 verbose parsed url port: null,
435 verbose parsed url hostname: null,
435 verbose parsed url hash: null,
435 verbose parsed url search: null,
435 verbose parsed url query: null,
435 verbose parsed url pathname: '~0.0.1',
435 verbose parsed url path: '~0.0.1',
435 verbose parsed url href: '~0.0.1' }
436 verbose addNamed [ 'p-throttler', '~0.0.1' ]
437 verbose addNamed [ null, '>=0.0.1- <0.1.0-' ]
438 silly lockFile 52064f95-p-throttler-0-0-1 p-throttler@~0.0.1
439 verbose lock p-throttler@~0.0.1 /root/.npm/52064f95-p-throttler-0-0-1.lock
440 verbose cache add [ 'promptly@~0.2.0', null ]
441 verbose cache add name=undefined spec="promptly@~0.2.0" args=["promptly@~0.2.0",null]
442 verbose parsed url { protocol: null,
442 verbose parsed url slashes: null,
442 verbose parsed url auth: null,
442 verbose parsed url host: null,
442 verbose parsed url port: null,
442 verbose parsed url hostname: null,
442 verbose parsed url hash: null,
442 verbose parsed url search: null,
442 verbose parsed url query: null,
442 verbose parsed url pathname: 'promptly@~0.2.0',
442 verbose parsed url path: 'promptly@~0.2.0',
442 verbose parsed url href: 'promptly@~0.2.0' }
443 verbose cache add name="promptly" spec="~0.2.0" args=["promptly","~0.2.0"]
444 verbose parsed url { protocol: null,
444 verbose parsed url slashes: null,
444 verbose parsed url auth: null,
444 verbose parsed url host: null,
444 verbose parsed url port: null,
444 verbose parsed url hostname: null,
444 verbose parsed url hash: null,
444 verbose parsed url search: null,
444 verbose parsed url query: null,
444 verbose parsed url pathname: '~0.2.0',
444 verbose parsed url path: '~0.2.0',
444 verbose parsed url href: '~0.2.0' }
445 verbose addNamed [ 'promptly', '~0.2.0' ]
446 verbose addNamed [ null, '>=0.2.0- <0.3.0-' ]
447 silly lockFile 6286f2d5-promptly-0-2-0 promptly@~0.2.0
448 verbose lock promptly@~0.2.0 /root/.npm/6286f2d5-promptly-0-2-0.lock
449 verbose cache add [ 'q@~1.0.1', null ]
450 verbose cache add name=undefined spec="q@~1.0.1" args=["q@~1.0.1",null]
451 verbose parsed url { protocol: null,
451 verbose parsed url slashes: null,
451 verbose parsed url auth: null,
451 verbose parsed url host: null,
451 verbose parsed url port: null,
451 verbose parsed url hostname: null,
451 verbose parsed url hash: null,
451 verbose parsed url search: null,
451 verbose parsed url query: null,
451 verbose parsed url pathname: 'q@~1.0.1',
451 verbose parsed url path: 'q@~1.0.1',
451 verbose parsed url href: 'q@~1.0.1' }
452 verbose cache add name="q" spec="~1.0.1" args=["q","~1.0.1"]
453 verbose parsed url { protocol: null,
453 verbose parsed url slashes: null,
453 verbose parsed url auth: null,
453 verbose parsed url host: null,
453 verbose parsed url port: null,
453 verbose parsed url hostname: null,
453 verbose parsed url hash: null,
453 verbose parsed url search: null,
453 verbose parsed url query: null,
453 verbose parsed url pathname: '~1.0.1',
453 verbose parsed url path: '~1.0.1',
453 verbose parsed url href: '~1.0.1' }
454 verbose addNamed [ 'q', '~1.0.1' ]
455 verbose addNamed [ null, '>=1.0.1- <1.1.0-' ]
456 silly lockFile bfcfee2e-q-1-0-1 q@~1.0.1
457 verbose lock q@~1.0.1 /root/.npm/bfcfee2e-q-1-0-1.lock
458 verbose cache add [ 'request@~2.34.0', null ]
459 verbose cache add name=undefined spec="request@~2.34.0" args=["request@~2.34.0",null]
460 verbose parsed url { protocol: null,
460 verbose parsed url slashes: null,
460 verbose parsed url auth: null,
460 verbose parsed url host: null,
460 verbose parsed url port: null,
460 verbose parsed url hostname: null,
460 verbose parsed url hash: null,
460 verbose parsed url search: null,
460 verbose parsed url query: null,
460 verbose parsed url pathname: 'request@~2.34.0',
460 verbose parsed url path: 'request@~2.34.0',
460 verbose parsed url href: 'request@~2.34.0' }
461 verbose cache add name="request" spec="~2.34.0" args=["request","~2.34.0"]
462 verbose parsed url { protocol: null,
462 verbose parsed url slashes: null,
462 verbose parsed url auth: null,
462 verbose parsed url host: null,
462 verbose parsed url port: null,
462 verbose parsed url hostname: null,
462 verbose parsed url hash: null,
462 verbose parsed url search: null,
462 verbose parsed url query: null,
462 verbose parsed url pathname: '~2.34.0',
462 verbose parsed url path: '~2.34.0',
462 verbose parsed url href: '~2.34.0' }
463 verbose addNamed [ 'request', '~2.34.0' ]
464 verbose addNamed [ null, '>=2.34.0- <2.35.0-' ]
465 silly lockFile 1fb009df-request-2-34-0 request@~2.34.0
466 verbose lock request@~2.34.0 /root/.npm/1fb009df-request-2-34-0.lock
467 verbose cache add [ 'request-progress@~0.3.0', null ]
468 verbose cache add name=undefined spec="request-progress@~0.3.0" args=["request-progress@~0.3.0",null]
469 verbose parsed url { protocol: null,
469 verbose parsed url slashes: null,
469 verbose parsed url auth: null,
469 verbose parsed url host: null,
469 verbose parsed url port: null,
469 verbose parsed url hostname: null,
469 verbose parsed url hash: null,
469 verbose parsed url search: null,
469 verbose parsed url query: null,
469 verbose parsed url pathname: 'request-progress@~0.3.0',
469 verbose parsed url path: 'request-progress@~0.3.0',
469 verbose parsed url href: 'request-progress@~0.3.0' }
470 verbose cache add name="request-progress" spec="~0.3.0" args=["request-progress","~0.3.0"]
471 verbose parsed url { protocol: null,
471 verbose parsed url slashes: null,
471 verbose parsed url auth: null,
471 verbose parsed url host: null,
471 verbose parsed url port: null,
471 verbose parsed url hostname: null,
471 verbose parsed url hash: null,
471 verbose parsed url search: null,
471 verbose parsed url query: null,
471 verbose parsed url pathname: '~0.3.0',
471 verbose parsed url path: '~0.3.0',
471 verbose parsed url href: '~0.3.0' }
472 verbose addNamed [ 'request-progress', '~0.3.0' ]
473 verbose addNamed [ null, '>=0.3.0- <0.4.0-' ]
474 silly lockFile 4fa06f6c-request-progress-0-3-0 request-progress@~0.3.0
475 verbose lock request-progress@~0.3.0 /root/.npm/4fa06f6c-request-progress-0-3-0.lock
476 verbose cache add [ 'retry@~0.6.0', null ]
477 verbose cache add name=undefined spec="retry@~0.6.0" args=["retry@~0.6.0",null]
478 verbose parsed url { protocol: null,
478 verbose parsed url slashes: null,
478 verbose parsed url auth: null,
478 verbose parsed url host: null,
478 verbose parsed url port: null,
478 verbose parsed url hostname: null,
478 verbose parsed url hash: null,
478 verbose parsed url search: null,
478 verbose parsed url query: null,
478 verbose parsed url pathname: 'retry@~0.6.0',
478 verbose parsed url path: 'retry@~0.6.0',
478 verbose parsed url href: 'retry@~0.6.0' }
479 verbose cache add name="retry" spec="~0.6.0" args=["retry","~0.6.0"]
480 verbose parsed url { protocol: null,
480 verbose parsed url slashes: null,
480 verbose parsed url auth: null,
480 verbose parsed url host: null,
480 verbose parsed url port: null,
480 verbose parsed url hostname: null,
480 verbose parsed url hash: null,
480 verbose parsed url search: null,
480 verbose parsed url query: null,
480 verbose parsed url pathname: '~0.6.0',
480 verbose parsed url path: '~0.6.0',
480 verbose parsed url href: '~0.6.0' }
481 verbose addNamed [ 'retry', '~0.6.0' ]
482 verbose addNamed [ null, '>=0.6.0- <0.7.0-' ]
483 silly lockFile 51b5c643-retry-0-6-0 retry@~0.6.0
484 verbose lock retry@~0.6.0 /root/.npm/51b5c643-retry-0-6-0.lock
485 verbose cache add [ 'rimraf@~2.2.0', null ]
486 verbose cache add name=undefined spec="rimraf@~2.2.0" args=["rimraf@~2.2.0",null]
487 verbose parsed url { protocol: null,
487 verbose parsed url slashes: null,
487 verbose parsed url auth: null,
487 verbose parsed url host: null,
487 verbose parsed url port: null,
487 verbose parsed url hostname: null,
487 verbose parsed url hash: null,
487 verbose parsed url search: null,
487 verbose parsed url query: null,
487 verbose parsed url pathname: 'rimraf@~2.2.0',
487 verbose parsed url path: 'rimraf@~2.2.0',
487 verbose parsed url href: 'rimraf@~2.2.0' }
488 verbose cache add name="rimraf" spec="~2.2.0" args=["rimraf","~2.2.0"]
489 verbose parsed url { protocol: null,
489 verbose parsed url slashes: null,
489 verbose parsed url auth: null,
489 verbose parsed url host: null,
489 verbose parsed url port: null,
489 verbose parsed url hostname: null,
489 verbose parsed url hash: null,
489 verbose parsed url search: null,
489 verbose parsed url query: null,
489 verbose parsed url pathname: '~2.2.0',
489 verbose parsed url path: '~2.2.0',
489 verbose parsed url href: '~2.2.0' }
490 verbose addNamed [ 'rimraf', '~2.2.0' ]
491 verbose addNamed [ null, '>=2.2.0- <2.3.0-' ]
492 silly lockFile 69dbd68f-rimraf-2-2-0 rimraf@~2.2.0
493 verbose lock rimraf@~2.2.0 /root/.npm/69dbd68f-rimraf-2-2-0.lock
494 verbose cache add [ 'semver@~2.2.1', null ]
495 verbose cache add name=undefined spec="semver@~2.2.1" args=["semver@~2.2.1",null]
496 verbose parsed url { protocol: null,
496 verbose parsed url slashes: null,
496 verbose parsed url auth: null,
496 verbose parsed url host: null,
496 verbose parsed url port: null,
496 verbose parsed url hostname: null,
496 verbose parsed url hash: null,
496 verbose parsed url search: null,
496 verbose parsed url query: null,
496 verbose parsed url pathname: 'semver@~2.2.1',
496 verbose parsed url path: 'semver@~2.2.1',
496 verbose parsed url href: 'semver@~2.2.1' }
497 verbose cache add name="semver" spec="~2.2.1" args=["semver","~2.2.1"]
498 verbose parsed url { protocol: null,
498 verbose parsed url slashes: null,
498 verbose parsed url auth: null,
498 verbose parsed url host: null,
498 verbose parsed url port: null,
498 verbose parsed url hostname: null,
498 verbose parsed url hash: null,
498 verbose parsed url search: null,
498 verbose parsed url query: null,
498 verbose parsed url pathname: '~2.2.1',
498 verbose parsed url path: '~2.2.1',
498 verbose parsed url href: '~2.2.1' }
499 verbose addNamed [ 'semver', '~2.2.1' ]
500 verbose addNamed [ null, '>=2.2.1- <2.3.0-' ]
501 silly lockFile 1708eccd-semver-2-2-1 semver@~2.2.1
502 verbose lock semver@~2.2.1 /root/.npm/1708eccd-semver-2-2-1.lock
503 verbose cache add [ 'shell-quote@~1.4.1', null ]
504 verbose cache add name=undefined spec="shell-quote@~1.4.1" args=["shell-quote@~1.4.1",null]
505 verbose parsed url { protocol: null,
505 verbose parsed url slashes: null,
505 verbose parsed url auth: null,
505 verbose parsed url host: null,
505 verbose parsed url port: null,
505 verbose parsed url hostname: null,
505 verbose parsed url hash: null,
505 verbose parsed url search: null,
505 verbose parsed url query: null,
505 verbose parsed url pathname: 'shell-quote@~1.4.1',
505 verbose parsed url path: 'shell-quote@~1.4.1',
505 verbose parsed url href: 'shell-quote@~1.4.1' }
506 verbose cache add name="shell-quote" spec="~1.4.1" args=["shell-quote","~1.4.1"]
507 verbose parsed url { protocol: null,
507 verbose parsed url slashes: null,
507 verbose parsed url auth: null,
507 verbose parsed url host: null,
507 verbose parsed url port: null,
507 verbose parsed url hostname: null,
507 verbose parsed url hash: null,
507 verbose parsed url search: null,
507 verbose parsed url query: null,
507 verbose parsed url pathname: '~1.4.1',
507 verbose parsed url path: '~1.4.1',
507 verbose parsed url href: '~1.4.1' }
508 verbose addNamed [ 'shell-quote', '~1.4.1' ]
509 verbose addNamed [ null, '>=1.4.1- <1.5.0-' ]
510 silly lockFile cfbfb4a3-shell-quote-1-4-1 shell-quote@~1.4.1
511 verbose lock shell-quote@~1.4.1 /root/.npm/cfbfb4a3-shell-quote-1-4-1.lock
512 verbose cache add [ 'stringify-object@~0.2.0', null ]
513 verbose cache add name=undefined spec="stringify-object@~0.2.0" args=["stringify-object@~0.2.0",null]
514 verbose parsed url { protocol: null,
514 verbose parsed url slashes: null,
514 verbose parsed url auth: null,
514 verbose parsed url host: null,
514 verbose parsed url port: null,
514 verbose parsed url hostname: null,
514 verbose parsed url hash: null,
514 verbose parsed url search: null,
514 verbose parsed url query: null,
514 verbose parsed url pathname: 'stringify-object@~0.2.0',
514 verbose parsed url path: 'stringify-object@~0.2.0',
514 verbose parsed url href: 'stringify-object@~0.2.0' }
515 verbose cache add name="stringify-object" spec="~0.2.0" args=["stringify-object","~0.2.0"]
516 verbose parsed url { protocol: null,
516 verbose parsed url slashes: null,
516 verbose parsed url auth: null,
516 verbose parsed url host: null,
516 verbose parsed url port: null,
516 verbose parsed url hostname: null,
516 verbose parsed url hash: null,
516 verbose parsed url search: null,
516 verbose parsed url query: null,
516 verbose parsed url pathname: '~0.2.0',
516 verbose parsed url path: '~0.2.0',
516 verbose parsed url href: '~0.2.0' }
517 verbose addNamed [ 'stringify-object', '~0.2.0' ]
518 verbose addNamed [ null, '>=0.2.0- <0.3.0-' ]
519 silly lockFile 6527850d-stringify-object-0-2-0 stringify-object@~0.2.0
520 verbose lock stringify-object@~0.2.0 /root/.npm/6527850d-stringify-object-0-2-0.lock
521 verbose cache add [ 'tar@~0.1.17', null ]
522 verbose cache add name=undefined spec="tar@~0.1.17" args=["tar@~0.1.17",null]
523 verbose parsed url { protocol: null,
523 verbose parsed url slashes: null,
523 verbose parsed url auth: null,
523 verbose parsed url host: null,
523 verbose parsed url port: null,
523 verbose parsed url hostname: null,
523 verbose parsed url hash: null,
523 verbose parsed url search: null,
523 verbose parsed url query: null,
523 verbose parsed url pathname: 'tar@~0.1.17',
523 verbose parsed url path: 'tar@~0.1.17',
523 verbose parsed url href: 'tar@~0.1.17' }
524 verbose cache add name="tar" spec="~0.1.17" args=["tar","~0.1.17"]
525 verbose parsed url { protocol: null,
525 verbose parsed url slashes: null,
525 verbose parsed url auth: null,
525 verbose parsed url host: null,
525 verbose parsed url port: null,
525 verbose parsed url hostname: null,
525 verbose parsed url hash: null,
525 verbose parsed url search: null,
525 verbose parsed url query: null,
525 verbose parsed url pathname: '~0.1.17',
525 verbose parsed url path: '~0.1.17',
525 verbose parsed url href: '~0.1.17' }
526 verbose addNamed [ 'tar', '~0.1.17' ]
527 verbose addNamed [ null, '>=0.1.17- <0.2.0-' ]
528 silly lockFile 27b9f27e-tar-0-1-17 tar@~0.1.17
529 verbose lock tar@~0.1.17 /root/.npm/27b9f27e-tar-0-1-17.lock
530 verbose cache add [ 'tmp@~0.0.20', null ]
531 verbose cache add name=undefined spec="tmp@~0.0.20" args=["tmp@~0.0.20",null]
532 verbose parsed url { protocol: null,
532 verbose parsed url slashes: null,
532 verbose parsed url auth: null,
532 verbose parsed url host: null,
532 verbose parsed url port: null,
532 verbose parsed url hostname: null,
532 verbose parsed url hash: null,
532 verbose parsed url search: null,
532 verbose parsed url query: null,
532 verbose parsed url pathname: 'tmp@~0.0.20',
532 verbose parsed url path: 'tmp@~0.0.20',
532 verbose parsed url href: 'tmp@~0.0.20' }
533 verbose cache add name="tmp" spec="~0.0.20" args=["tmp","~0.0.20"]
534 verbose parsed url { protocol: null,
534 verbose parsed url slashes: null,
534 verbose parsed url auth: null,
534 verbose parsed url host: null,
534 verbose parsed url port: null,
534 verbose parsed url hostname: null,
534 verbose parsed url hash: null,
534 verbose parsed url search: null,
534 verbose parsed url query: null,
534 verbose parsed url pathname: '~0.0.20',
534 verbose parsed url path: '~0.0.20',
534 verbose parsed url href: '~0.0.20' }
535 verbose addNamed [ 'tmp', '~0.0.20' ]
536 verbose addNamed [ null, '>=0.0.20- <0.1.0-' ]
537 silly lockFile d5057ccc-tmp-0-0-20 tmp@~0.0.20
538 verbose lock tmp@~0.0.20 /root/.npm/d5057ccc-tmp-0-0-20.lock
539 verbose cache add [ 'update-notifier@~0.1.8', null ]
540 verbose cache add name=undefined spec="update-notifier@~0.1.8" args=["update-notifier@~0.1.8",null]
541 verbose parsed url { protocol: null,
541 verbose parsed url slashes: null,
541 verbose parsed url auth: null,
541 verbose parsed url host: null,
541 verbose parsed url port: null,
541 verbose parsed url hostname: null,
541 verbose parsed url hash: null,
541 verbose parsed url search: null,
541 verbose parsed url query: null,
541 verbose parsed url pathname: 'update-notifier@~0.1.8',
541 verbose parsed url path: 'update-notifier@~0.1.8',
541 verbose parsed url href: 'update-notifier@~0.1.8' }
542 verbose cache add name="update-notifier" spec="~0.1.8" args=["update-notifier","~0.1.8"]
543 verbose parsed url { protocol: null,
543 verbose parsed url slashes: null,
543 verbose parsed url auth: null,
543 verbose parsed url host: null,
543 verbose parsed url port: null,
543 verbose parsed url hostname: null,
543 verbose parsed url hash: null,
543 verbose parsed url search: null,
543 verbose parsed url query: null,
543 verbose parsed url pathname: '~0.1.8',
543 verbose parsed url path: '~0.1.8',
543 verbose parsed url href: '~0.1.8' }
544 verbose addNamed [ 'update-notifier', '~0.1.8' ]
545 verbose addNamed [ null, '>=0.1.8- <0.2.0-' ]
546 silly lockFile 162cceb2-update-notifier-0-1-8 update-notifier@~0.1.8
547 verbose lock update-notifier@~0.1.8 /root/.npm/162cceb2-update-notifier-0-1-8.lock
548 verbose cache add [ 'which@~1.0.5', null ]
549 verbose cache add name=undefined spec="which@~1.0.5" args=["which@~1.0.5",null]
550 verbose parsed url { protocol: null,
550 verbose parsed url slashes: null,
550 verbose parsed url auth: null,
550 verbose parsed url host: null,
550 verbose parsed url port: null,
550 verbose parsed url hostname: null,
550 verbose parsed url hash: null,
550 verbose parsed url search: null,
550 verbose parsed url query: null,
550 verbose parsed url pathname: 'which@~1.0.5',
550 verbose parsed url path: 'which@~1.0.5',
550 verbose parsed url href: 'which@~1.0.5' }
551 verbose cache add name="which" spec="~1.0.5" args=["which","~1.0.5"]
552 verbose parsed url { protocol: null,
552 verbose parsed url slashes: null,
552 verbose parsed url auth: null,
552 verbose parsed url host: null,
552 verbose parsed url port: null,
552 verbose parsed url hostname: null,
552 verbose parsed url hash: null,
552 verbose parsed url search: null,
552 verbose parsed url query: null,
552 verbose parsed url pathname: '~1.0.5',
552 verbose parsed url path: '~1.0.5',
552 verbose parsed url href: '~1.0.5' }
553 verbose addNamed [ 'which', '~1.0.5' ]
554 verbose addNamed [ null, '>=1.0.5- <1.1.0-' ]
555 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
556 verbose lock which@~1.0.5 /root/.npm/d158d65e-which-1-0-5.lock
557 verbose cache add [ 'abbrev@~1.0.4', null ]
558 verbose cache add name=undefined spec="abbrev@~1.0.4" args=["abbrev@~1.0.4",null]
559 verbose parsed url { protocol: null,
559 verbose parsed url slashes: null,
559 verbose parsed url auth: null,
559 verbose parsed url host: null,
559 verbose parsed url port: null,
559 verbose parsed url hostname: null,
559 verbose parsed url hash: null,
559 verbose parsed url search: null,
559 verbose parsed url query: null,
559 verbose parsed url pathname: 'abbrev@~1.0.4',
559 verbose parsed url path: 'abbrev@~1.0.4',
559 verbose parsed url href: 'abbrev@~1.0.4' }
560 verbose cache add name="abbrev" spec="~1.0.4" args=["abbrev","~1.0.4"]
561 verbose parsed url { protocol: null,
561 verbose parsed url slashes: null,
561 verbose parsed url auth: null,
561 verbose parsed url host: null,
561 verbose parsed url port: null,
561 verbose parsed url hostname: null,
561 verbose parsed url hash: null,
561 verbose parsed url search: null,
561 verbose parsed url query: null,
561 verbose parsed url pathname: '~1.0.4',
561 verbose parsed url path: '~1.0.4',
561 verbose parsed url href: '~1.0.4' }
562 verbose addNamed [ 'abbrev', '~1.0.4' ]
563 verbose addNamed [ null, '>=1.0.4- <1.1.0-' ]
564 silly lockFile efa0e9e0-abbrev-1-0-4 abbrev@~1.0.4
565 verbose lock abbrev@~1.0.4 /root/.npm/efa0e9e0-abbrev-1-0-4.lock
566 verbose cache add [ 'archy@~0.0.2', null ]
567 verbose cache add name=undefined spec="archy@~0.0.2" args=["archy@~0.0.2",null]
568 verbose parsed url { protocol: null,
568 verbose parsed url slashes: null,
568 verbose parsed url auth: null,
568 verbose parsed url host: null,
568 verbose parsed url port: null,
568 verbose parsed url hostname: null,
568 verbose parsed url hash: null,
568 verbose parsed url search: null,
568 verbose parsed url query: null,
568 verbose parsed url pathname: 'archy@~0.0.2',
568 verbose parsed url path: 'archy@~0.0.2',
568 verbose parsed url href: 'archy@~0.0.2' }
569 verbose cache add name="archy" spec="~0.0.2" args=["archy","~0.0.2"]
570 verbose parsed url { protocol: null,
570 verbose parsed url slashes: null,
570 verbose parsed url auth: null,
570 verbose parsed url host: null,
570 verbose parsed url port: null,
570 verbose parsed url hostname: null,
570 verbose parsed url hash: null,
570 verbose parsed url search: null,
570 verbose parsed url query: null,
570 verbose parsed url pathname: '~0.0.2',
570 verbose parsed url path: '~0.0.2',
570 verbose parsed url href: '~0.0.2' }
571 verbose addNamed [ 'archy', '~0.0.2' ]
572 verbose addNamed [ null, '>=0.0.2- <0.1.0-' ]
573 silly lockFile 835d25e0-archy-0-0-2 archy@~0.0.2
574 verbose lock archy@~0.0.2 /root/.npm/835d25e0-archy-0-0-2.lock
575 silly addNameRange { name: 'mout', range: '>=0.9.1- <0.10.0-', hasData: false }
576 silly addNameRange { name: 'nopt', range: '>=2.2.0- <2.3.0-', hasData: false }
577 silly addNameRange { name: 'opn', range: '>=0.1.1- <0.2.0-', hasData: false }
578 silly addNameRange { name: 'osenv', range: '>=0.0.3- <0.1.0-', hasData: false }
579 silly addNameRange { name: 'p-throttler',
579 silly addNameRange range: '>=0.0.1- <0.1.0-',
579 silly addNameRange hasData: false }
580 silly addNameRange { name: 'promptly', range: '>=0.2.0- <0.3.0-', hasData: false }
581 silly addNameRange { name: 'q', range: '>=1.0.1- <1.1.0-', hasData: false }
582 silly addNameRange { name: 'request', range: '>=2.34.0- <2.35.0-', hasData: false }
583 silly addNameRange { name: 'request-progress',
583 silly addNameRange range: '>=0.3.0- <0.4.0-',
583 silly addNameRange hasData: false }
584 silly addNameRange { name: 'retry', range: '>=0.6.0- <0.7.0-', hasData: false }
585 silly addNameRange { name: 'rimraf', range: '>=2.2.0- <2.3.0-', hasData: false }
586 silly addNameRange { name: 'semver', range: '>=2.2.1- <2.3.0-', hasData: false }
587 silly addNameRange { name: 'shell-quote',
587 silly addNameRange range: '>=1.4.1- <1.5.0-',
587 silly addNameRange hasData: false }
588 silly addNameRange { name: 'stringify-object',
588 silly addNameRange range: '>=0.2.0- <0.3.0-',
588 silly addNameRange hasData: false }
589 silly addNameRange { name: 'tar', range: '>=0.1.17- <0.2.0-', hasData: false }
590 silly addNameRange { name: 'tmp', range: '>=0.0.20- <0.1.0-', hasData: false }
591 silly addNameRange { name: 'update-notifier',
591 silly addNameRange range: '>=0.1.8- <0.2.0-',
591 silly addNameRange hasData: false }
592 silly addNameRange { name: 'which', range: '>=1.0.5- <1.1.0-', hasData: false }
593 silly addNameRange { name: 'abbrev', range: '>=1.0.4- <1.1.0-', hasData: false }
594 silly addNameRange { name: 'archy', range: '>=0.0.2- <0.1.0-', hasData: false }
595 verbose url raw bower-config
596 verbose url resolving [ 'https://registry.npmjs.org/', './bower-config' ]
597 verbose url resolved https://registry.npmjs.org/bower-config
598 info trying registry request attempt 1 at 23:07:43
599 verbose etag "7DB7VTPAISH37832FURGDJPPW"
600 http GET https://registry.npmjs.org/bower-config
601 verbose url raw bower-endpoint-parser
602 verbose url resolving [ 'https://registry.npmjs.org/', './bower-endpoint-parser' ]
603 verbose url resolved https://registry.npmjs.org/bower-endpoint-parser
604 info trying registry request attempt 1 at 23:07:43
605 verbose etag "7QKNUTZCNYRGMOM9SMJTMVS5P"
606 http GET https://registry.npmjs.org/bower-endpoint-parser
607 verbose url raw bower-json
608 verbose url resolving [ 'https://registry.npmjs.org/', './bower-json' ]
609 verbose url resolved https://registry.npmjs.org/bower-json
610 info trying registry request attempt 1 at 23:07:43
611 verbose etag "F17HJ6K9ZIM4FVSJ5O46ISS2L"
612 http GET https://registry.npmjs.org/bower-json
613 verbose url raw bower-logger
614 verbose url resolving [ 'https://registry.npmjs.org/', './bower-logger' ]
615 verbose url resolved https://registry.npmjs.org/bower-logger
616 info trying registry request attempt 1 at 23:07:43
617 verbose etag "86JMPIKZA2O1XENJDL0CA4WPK"
618 http GET https://registry.npmjs.org/bower-logger
619 verbose url raw bower-registry-client
620 verbose url resolving [ 'https://registry.npmjs.org/', './bower-registry-client' ]
621 verbose url resolved https://registry.npmjs.org/bower-registry-client
622 info trying registry request attempt 1 at 23:07:43
623 verbose etag "329NNQHG9AY6Z5NEL42FUEJRE"
624 http GET https://registry.npmjs.org/bower-registry-client
625 verbose url raw cardinal
626 verbose url resolving [ 'https://registry.npmjs.org/', './cardinal' ]
627 verbose url resolved https://registry.npmjs.org/cardinal
628 info trying registry request attempt 1 at 23:07:43
629 verbose etag "2U37I1LUMOQHSXJXTWPF7KSGU"
630 http GET https://registry.npmjs.org/cardinal
631 verbose url raw chalk
632 verbose url resolving [ 'https://registry.npmjs.org/', './chalk' ]
633 verbose url resolved https://registry.npmjs.org/chalk
634 info trying registry request attempt 1 at 23:07:43
635 verbose etag "BCDT5C96Y40NXJWCEEL8VVHZ7"
636 http GET https://registry.npmjs.org/chalk
637 verbose url raw chmodr
638 verbose url resolving [ 'https://registry.npmjs.org/', './chmodr' ]
639 verbose url resolved https://registry.npmjs.org/chmodr
640 info trying registry request attempt 1 at 23:07:43
641 verbose etag "AFSD6L8HHVJ4KTV3OAI8WCEEN"
642 http GET https://registry.npmjs.org/chmodr
643 verbose url raw decompress-zip
644 verbose url resolving [ 'https://registry.npmjs.org/', './decompress-zip' ]
645 verbose url resolved https://registry.npmjs.org/decompress-zip
646 info trying registry request attempt 1 at 23:07:43
647 verbose etag "2DSC0TZ8T5G9LYPMKZM9CNC5S"
648 http GET https://registry.npmjs.org/decompress-zip
649 verbose url raw fstream
650 verbose url resolving [ 'https://registry.npmjs.org/', './fstream' ]
651 verbose url resolved https://registry.npmjs.org/fstream
652 info trying registry request attempt 1 at 23:07:43
653 verbose etag "9EO49ZEGR7G36RBAEI7YLWQBW"
654 http GET https://registry.npmjs.org/fstream
655 verbose url raw fstream-ignore
656 verbose url resolving [ 'https://registry.npmjs.org/', './fstream-ignore' ]
657 verbose url resolved https://registry.npmjs.org/fstream-ignore
658 info trying registry request attempt 1 at 23:07:43
659 verbose etag "1O62VL9T7C2KOML1PS81J54HB"
660 http GET https://registry.npmjs.org/fstream-ignore
661 verbose url raw glob
662 verbose url resolving [ 'https://registry.npmjs.org/', './glob' ]
663 verbose url resolved https://registry.npmjs.org/glob
664 info trying registry request attempt 1 at 23:07:43
665 verbose etag "D1FB8CLRQYQXVNL64C85R0FW3"
666 http GET https://registry.npmjs.org/glob
667 verbose url raw graceful-fs
668 verbose url resolving [ 'https://registry.npmjs.org/', './graceful-fs' ]
669 verbose url resolved https://registry.npmjs.org/graceful-fs
670 info trying registry request attempt 1 at 23:07:43
671 verbose etag "8QQOCCU264QJY11TWJH4MT2R3"
672 http GET https://registry.npmjs.org/graceful-fs
673 verbose url raw handlebars
674 verbose url resolving [ 'https://registry.npmjs.org/', './handlebars' ]
675 verbose url resolved https://registry.npmjs.org/handlebars
676 info trying registry request attempt 1 at 23:07:43
677 verbose etag "C22VKCLWZEXO0NISNTPLGLEIV"
678 http GET https://registry.npmjs.org/handlebars
679 verbose url raw inquirer
680 verbose url resolving [ 'https://registry.npmjs.org/', './inquirer' ]
681 verbose url resolved https://registry.npmjs.org/inquirer
682 info trying registry request attempt 1 at 23:07:43
683 verbose etag "3K9K439JSC4N7XA7G0U35NWGW"
684 http GET https://registry.npmjs.org/inquirer
685 verbose url raw insight
686 verbose url resolving [ 'https://registry.npmjs.org/', './insight' ]
687 verbose url resolved https://registry.npmjs.org/insight
688 info trying registry request attempt 1 at 23:07:43
689 verbose etag "EV044IPU0XNAFUMKZDTEADMPN"
690 http GET https://registry.npmjs.org/insight
691 verbose url raw is-root
692 verbose url resolving [ 'https://registry.npmjs.org/', './is-root' ]
693 verbose url resolved https://registry.npmjs.org/is-root
694 info trying registry request attempt 1 at 23:07:43
695 verbose etag "DO5OE6EOI4QAGTOEFMMXUSV4F"
696 http GET https://registry.npmjs.org/is-root
697 verbose url raw junk
698 verbose url resolving [ 'https://registry.npmjs.org/', './junk' ]
699 verbose url resolved https://registry.npmjs.org/junk
700 info trying registry request attempt 1 at 23:07:43
701 verbose etag "570K5D8QDMTCRMOHPGBWLK9AD"
702 http GET https://registry.npmjs.org/junk
703 verbose url raw lockfile
704 verbose url resolving [ 'https://registry.npmjs.org/', './lockfile' ]
705 verbose url resolved https://registry.npmjs.org/lockfile
706 info trying registry request attempt 1 at 23:07:43
707 verbose etag "BE6HUPSNPXI5QOIOUTQKTZG1O"
708 http GET https://registry.npmjs.org/lockfile
709 verbose url raw lru-cache
710 verbose url resolving [ 'https://registry.npmjs.org/', './lru-cache' ]
711 verbose url resolved https://registry.npmjs.org/lru-cache
712 info trying registry request attempt 1 at 23:07:43
713 verbose etag "6EAH4E2XKATH9G2WW7G1L4L00"
714 http GET https://registry.npmjs.org/lru-cache
715 verbose url raw mkdirp
716 verbose url resolving [ 'https://registry.npmjs.org/', './mkdirp' ]
717 verbose url resolved https://registry.npmjs.org/mkdirp
718 info trying registry request attempt 1 at 23:07:43
719 verbose etag "ZX76IOCGNQ0Y4AWM9E9SZVM7"
720 http GET https://registry.npmjs.org/mkdirp
721 verbose url raw mout
722 verbose url resolving [ 'https://registry.npmjs.org/', './mout' ]
723 verbose url resolved https://registry.npmjs.org/mout
724 info trying registry request attempt 1 at 23:07:43
725 verbose etag "DAV4K4JPL3MIW538VHXQIFVFI"
726 http GET https://registry.npmjs.org/mout
727 verbose url raw nopt
728 verbose url resolving [ 'https://registry.npmjs.org/', './nopt' ]
729 verbose url resolved https://registry.npmjs.org/nopt
730 info trying registry request attempt 1 at 23:07:43
731 verbose etag "5QLU65DX50UPKFOQALW73JMEO"
732 http GET https://registry.npmjs.org/nopt
733 verbose url raw opn
734 verbose url resolving [ 'https://registry.npmjs.org/', './opn' ]
735 verbose url resolved https://registry.npmjs.org/opn
736 info trying registry request attempt 1 at 23:07:43
737 verbose etag "79G5YZ1U850OWGYELFST2KOCO"
738 http GET https://registry.npmjs.org/opn
739 verbose url raw osenv
740 verbose url resolving [ 'https://registry.npmjs.org/', './osenv' ]
741 verbose url resolved https://registry.npmjs.org/osenv
742 info trying registry request attempt 1 at 23:07:43
743 verbose etag "7ZZCZDQYWD6OZS7NQ0LLLANNZ"
744 http GET https://registry.npmjs.org/osenv
745 verbose url raw p-throttler
746 verbose url resolving [ 'https://registry.npmjs.org/', './p-throttler' ]
747 verbose url resolved https://registry.npmjs.org/p-throttler
748 info trying registry request attempt 1 at 23:07:43
749 verbose etag "68WEPGHPQAO4AMIJTX2ILZ86T"
750 http GET https://registry.npmjs.org/p-throttler
751 verbose url raw promptly
752 verbose url resolving [ 'https://registry.npmjs.org/', './promptly' ]
753 verbose url resolved https://registry.npmjs.org/promptly
754 info trying registry request attempt 1 at 23:07:43
755 verbose etag "7XQ80S52I0TQ5Y1XM3S96X706"
756 http GET https://registry.npmjs.org/promptly
757 verbose url raw q
758 verbose url resolving [ 'https://registry.npmjs.org/', './q' ]
759 verbose url resolved https://registry.npmjs.org/q
760 info trying registry request attempt 1 at 23:07:43
761 verbose etag "BZBSW861DDQQDA76ALY8BWX4S"
762 http GET https://registry.npmjs.org/q
763 verbose url raw request
764 verbose url resolving [ 'https://registry.npmjs.org/', './request' ]
765 verbose url resolved https://registry.npmjs.org/request
766 info trying registry request attempt 1 at 23:07:43
767 verbose etag "4O75K7KOXW0FZN04B45251FQC"
768 http GET https://registry.npmjs.org/request
769 verbose url raw request-progress
770 verbose url resolving [ 'https://registry.npmjs.org/', './request-progress' ]
771 verbose url resolved https://registry.npmjs.org/request-progress
772 info trying registry request attempt 1 at 23:07:43
773 verbose etag "2WKUQLWDEA3BQ81OQNNS5NV4F"
774 http GET https://registry.npmjs.org/request-progress
775 verbose url raw retry
776 verbose url resolving [ 'https://registry.npmjs.org/', './retry' ]
777 verbose url resolved https://registry.npmjs.org/retry
778 info trying registry request attempt 1 at 23:07:43
779 verbose etag "CYGCHTT54PZV8D99ORYCFYHNQ"
780 http GET https://registry.npmjs.org/retry
781 verbose url raw rimraf
782 verbose url resolving [ 'https://registry.npmjs.org/', './rimraf' ]
783 verbose url resolved https://registry.npmjs.org/rimraf
784 info trying registry request attempt 1 at 23:07:43
785 verbose etag "1STEDQ3FCRDH7RYNOV8FGGQ3J"
786 http GET https://registry.npmjs.org/rimraf
787 verbose url raw semver
788 verbose url resolving [ 'https://registry.npmjs.org/', './semver' ]
789 verbose url resolved https://registry.npmjs.org/semver
790 info trying registry request attempt 1 at 23:07:43
791 verbose etag "5T6MUUO9XMCIT4W783K8VECVS"
792 http GET https://registry.npmjs.org/semver
793 verbose url raw shell-quote
794 verbose url resolving [ 'https://registry.npmjs.org/', './shell-quote' ]
795 verbose url resolved https://registry.npmjs.org/shell-quote
796 info trying registry request attempt 1 at 23:07:43
797 verbose etag "D29OI0Q1ZFQ5W6G4PFWVENSTE"
798 http GET https://registry.npmjs.org/shell-quote
799 verbose url raw stringify-object
800 verbose url resolving [ 'https://registry.npmjs.org/', './stringify-object' ]
801 verbose url resolved https://registry.npmjs.org/stringify-object
802 info trying registry request attempt 1 at 23:07:43
803 verbose etag "EAVRKN9SV484EY5XMLJFQ6M7T"
804 http GET https://registry.npmjs.org/stringify-object
805 verbose url raw tar
806 verbose url resolving [ 'https://registry.npmjs.org/', './tar' ]
807 verbose url resolved https://registry.npmjs.org/tar
808 info trying registry request attempt 1 at 23:07:43
809 verbose etag "37OKGFYQ1HCUIWP3DR80PA6U8"
810 http GET https://registry.npmjs.org/tar
811 verbose url raw tmp
812 verbose url resolving [ 'https://registry.npmjs.org/', './tmp' ]
813 verbose url resolved https://registry.npmjs.org/tmp
814 info trying registry request attempt 1 at 23:07:43
815 verbose etag "7EEX0B275AFWTKLXBU24JHYBQ"
816 http GET https://registry.npmjs.org/tmp
817 verbose url raw update-notifier
818 verbose url resolving [ 'https://registry.npmjs.org/', './update-notifier' ]
819 verbose url resolved https://registry.npmjs.org/update-notifier
820 info trying registry request attempt 1 at 23:07:43
821 verbose etag "6XCEVSCY3KNVE2QGOECMW87MB"
822 http GET https://registry.npmjs.org/update-notifier
823 verbose url raw which
824 verbose url resolving [ 'https://registry.npmjs.org/', './which' ]
825 verbose url resolved https://registry.npmjs.org/which
826 info trying registry request attempt 1 at 23:07:43
827 verbose etag "4U42AUANZD43I26W7W04SHTG3"
828 http GET https://registry.npmjs.org/which
829 verbose url raw abbrev
830 verbose url resolving [ 'https://registry.npmjs.org/', './abbrev' ]
831 verbose url resolved https://registry.npmjs.org/abbrev
832 info trying registry request attempt 1 at 23:07:43
833 verbose etag "562MFFHMNLG6OBIB7FGGMIS35"
834 http GET https://registry.npmjs.org/abbrev
835 verbose url raw archy
836 verbose url resolving [ 'https://registry.npmjs.org/', './archy' ]
837 verbose url resolved https://registry.npmjs.org/archy
838 info trying registry request attempt 1 at 23:07:43
839 verbose etag "1896SOVEFOO0AU9N6HHSVIPJK"
840 http GET https://registry.npmjs.org/archy
841 http 304 https://registry.npmjs.org/bower-endpoint-parser
842 silly registry.get cb [ 304,
842 silly registry.get { date: 'Fri, 23 May 2014 15:07:26 GMT',
842 silly registry.get server: 'Apache',
842 silly registry.get via: '1.1 varnish',
842 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:26 GMT',
842 silly registry.get 'cache-control': 'max-age=1',
842 silly registry.get etag: '"7QKNUTZCNYRGMOM9SMJTMVS5P"',
842 silly registry.get 'x-served-by': 'cache-sn88-SIN',
842 silly registry.get 'x-cache': 'HIT',
842 silly registry.get 'x-cache-hits': '1',
842 silly registry.get 'x-timer': 'S1400857646.600719,VS0,VE234',
842 silly registry.get vary: 'Accept',
842 silly registry.get 'content-length': '0',
842 silly registry.get 'keep-alive': 'timeout=10, max=50',
842 silly registry.get connection: 'Keep-Alive' } ]
843 verbose etag bower-endpoint-parser from cache
844 silly addNameRange number 2 { name: 'bower-endpoint-parser',
844 silly addNameRange range: '>=0.2.0- <0.3.0-',
844 silly addNameRange hasData: true }
845 silly addNameRange versions [ 'bower-endpoint-parser',
845 silly addNameRange [ '0.1.0-rc.1', '0.1.0', '0.2.0', '0.2.1' ] ]
846 verbose addNamed [ 'bower-endpoint-parser', '0.2.1' ]
847 verbose addNamed [ '0.2.1', '0.2.1' ]
848 silly lockFile 9acb0392-bower-endpoint-parser-0-2-1 bower-endpoint-parser@0.2.1
849 verbose lock bower-endpoint-parser@0.2.1 /root/.npm/9acb0392-bower-endpoint-parser-0-2-1.lock
850 verbose read json /root/.npm/bower-endpoint-parser/0.2.1/package/package.json
851 silly lockFile 9acb0392-bower-endpoint-parser-0-2-1 bower-endpoint-parser@0.2.1
852 silly lockFile 9acb0392-bower-endpoint-parser-0-2-1 bower-endpoint-parser@0.2.1
853 silly lockFile bf43e285-bower-endpoint-parser-0-2-0 bower-endpoint-parser@~0.2.0
854 silly lockFile bf43e285-bower-endpoint-parser-0-2-0 bower-endpoint-parser@~0.2.0
855 http 304 https://registry.npmjs.org/bower-json
856 silly registry.get cb [ 304,
856 silly registry.get { date: 'Fri, 23 May 2014 15:07:26 GMT',
856 silly registry.get server: 'Apache',
856 silly registry.get via: '1.1 varnish',
856 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:26 GMT',
856 silly registry.get 'cache-control': 'max-age=1',
856 silly registry.get etag: '"F17HJ6K9ZIM4FVSJ5O46ISS2L"',
856 silly registry.get 'x-served-by': 'cache-sn86-SIN',
856 silly registry.get 'x-cache': 'HIT',
856 silly registry.get 'x-cache-hits': '1',
856 silly registry.get 'x-timer': 'S1400857646.621187,VS0,VE235',
856 silly registry.get vary: 'Accept',
856 silly registry.get 'content-length': '0',
856 silly registry.get 'keep-alive': 'timeout=10, max=50',
856 silly registry.get connection: 'Keep-Alive' } ]
857 verbose etag bower-json from cache
858 silly addNameRange number 2 { name: 'bower-json', range: '>=0.4.0- <0.5.0-', hasData: true }
859 silly addNameRange versions [ 'bower-json', [ '0.1.0-rc.1', '0.2.0', '0.3.0', '0.4.0' ] ]
860 verbose addNamed [ 'bower-json', '0.4.0' ]
861 verbose addNamed [ '0.4.0', '0.4.0' ]
862 silly lockFile d39b341c-bower-json-0-4-0 bower-json@0.4.0
863 verbose lock bower-json@0.4.0 /root/.npm/d39b341c-bower-json-0-4-0.lock
864 verbose read json /root/.npm/bower-json/0.4.0/package/package.json
865 silly lockFile d39b341c-bower-json-0-4-0 bower-json@0.4.0
866 silly lockFile d39b341c-bower-json-0-4-0 bower-json@0.4.0
867 silly lockFile ea848668-bower-json-0-4-0 bower-json@~0.4.0
868 silly lockFile ea848668-bower-json-0-4-0 bower-json@~0.4.0
869 http 304 https://registry.npmjs.org/bower-config
870 silly registry.get cb [ 304,
870 silly registry.get { date: 'Fri, 23 May 2014 15:07:26 GMT',
870 silly registry.get server: 'Apache',
870 silly registry.get via: '1.1 varnish',
870 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:26 GMT',
870 silly registry.get 'cache-control': 'max-age=1',
870 silly registry.get etag: '"7DB7VTPAISH37832FURGDJPPW"',
870 silly registry.get 'x-served-by': 'cache-sn88-SIN',
870 silly registry.get 'x-cache': 'HIT',
870 silly registry.get 'x-cache-hits': '1',
870 silly registry.get 'x-timer': 'S1400857646.608711,VS0,VE349',
870 silly registry.get vary: 'Accept',
870 silly registry.get 'content-length': '0',
870 silly registry.get 'keep-alive': 'timeout=10, max=50',
870 silly registry.get connection: 'Keep-Alive' } ]
871 verbose etag bower-config from cache
872 silly addNameRange number 2 { name: 'bower-config',
872 silly addNameRange range: '>=0.5.0- <0.6.0-',
872 silly addNameRange hasData: true }
873 silly addNameRange versions [ 'bower-config',
873 silly addNameRange [ '0.1.0-rc.1',
873 silly addNameRange '0.1.0-rc.2',
873 silly addNameRange '0.1.0-rc.3',
873 silly addNameRange '0.1.0-rc.4',
873 silly addNameRange '0.1.0-rc.5',
873 silly addNameRange '0.2.0-rc.1',
873 silly addNameRange '0.2.0-rc.2',
873 silly addNameRange '0.3.0',
873 silly addNameRange '0.3.1',
873 silly addNameRange '0.3.3',
873 silly addNameRange '0.3.4',
873 silly addNameRange '0.3.5',
873 silly addNameRange '0.4.0',
873 silly addNameRange '0.4.1',
873 silly addNameRange '0.4.2',
873 silly addNameRange '0.4.3',
873 silly addNameRange '0.4.4',
873 silly addNameRange '0.4.5',
873 silly addNameRange '0.5.0',
873 silly addNameRange '0.5.1' ] ]
874 verbose addNamed [ 'bower-config', '0.5.1' ]
875 verbose addNamed [ '0.5.1', '0.5.1' ]
876 silly lockFile 6ee025d4-bower-config-0-5-1 bower-config@0.5.1
877 verbose lock bower-config@0.5.1 /root/.npm/6ee025d4-bower-config-0-5-1.lock
878 verbose read json /root/.npm/bower-config/0.5.1/package/package.json
879 silly lockFile 6ee025d4-bower-config-0-5-1 bower-config@0.5.1
880 silly lockFile 6ee025d4-bower-config-0-5-1 bower-config@0.5.1
881 silly lockFile 58b6f241-bower-config-0-5-0 bower-config@~0.5.0
882 silly lockFile 58b6f241-bower-config-0-5-0 bower-config@~0.5.0
883 http 304 https://registry.npmjs.org/bower-registry-client
884 silly registry.get cb [ 304,
884 silly registry.get { date: 'Fri, 23 May 2014 15:07:26 GMT',
884 silly registry.get server: 'Apache',
884 silly registry.get via: '1.1 varnish',
884 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:26 GMT',
884 silly registry.get 'cache-control': 'max-age=1',
884 silly registry.get etag: '"329NNQHG9AY6Z5NEL42FUEJRE"',
884 silly registry.get 'x-served-by': 'cache-sn88-SIN',
884 silly registry.get 'x-cache': 'MISS',
884 silly registry.get 'x-cache-hits': '0',
884 silly registry.get 'x-timer': 'S1400857646.630280,VS0,VE331',
884 silly registry.get vary: 'Accept',
884 silly registry.get 'content-length': '0',
884 silly registry.get 'keep-alive': 'timeout=10, max=50',
884 silly registry.get connection: 'Keep-Alive' } ]
885 verbose etag bower-registry-client from cache
886 http 304 https://registry.npmjs.org/bower-logger
887 silly registry.get cb [ 304,
887 silly registry.get { date: 'Fri, 23 May 2014 15:07:26 GMT',
887 silly registry.get server: 'Apache',
887 silly registry.get via: '1.1 varnish',
887 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:26 GMT',
887 silly registry.get 'cache-control': 'max-age=1',
887 silly registry.get etag: '"86JMPIKZA2O1XENJDL0CA4WPK"',
887 silly registry.get 'x-served-by': 'cache-sn87-SIN',
887 silly registry.get 'x-cache': 'MISS',
887 silly registry.get 'x-cache-hits': '0',
887 silly registry.get 'x-timer': 'S1400857646.622336,VS0,VE351',
887 silly registry.get vary: 'Accept',
887 silly registry.get 'content-length': '0',
887 silly registry.get 'keep-alive': 'timeout=10, max=50',
887 silly registry.get connection: 'Keep-Alive' } ]
888 verbose etag bower-logger from cache
889 silly addNameRange number 2 { name: 'bower-registry-client',
889 silly addNameRange range: '>=0.2.0- <0.3.0-',
889 silly addNameRange hasData: true }
890 silly addNameRange versions [ 'bower-registry-client',
890 silly addNameRange [ '0.1.0-rc.1',
890 silly addNameRange '0.1.0-rc.2',
890 silly addNameRange '0.1.0-rc.3',
890 silly addNameRange '0.1.0-rc.4',
890 silly addNameRange '0.1.0-rc.5',
890 silly addNameRange '0.1.0',
890 silly addNameRange '0.1.1',
890 silly addNameRange '0.1.2',
890 silly addNameRange '0.1.3',
890 silly addNameRange '0.1.4',
890 silly addNameRange '0.1.5',
890 silly addNameRange '0.1.6',
890 silly addNameRange '0.2.0',
890 silly addNameRange '0.2.1' ] ]
891 verbose addNamed [ 'bower-registry-client', '0.2.1' ]
892 verbose addNamed [ '0.2.1', '0.2.1' ]
893 silly lockFile 0d38f597-bower-registry-client-0-2-1 bower-registry-client@0.2.1
894 verbose lock bower-registry-client@0.2.1 /root/.npm/0d38f597-bower-registry-client-0-2-1.lock
895 silly addNameRange number 2 { name: 'bower-logger',
895 silly addNameRange range: '>=0.2.2- <0.3.0-',
895 silly addNameRange hasData: true }
896 silly addNameRange versions [ 'bower-logger',
896 silly addNameRange [ '0.1.0-rc.1', '0.1.0', '0.2.0', '0.2.1', '0.2.2' ] ]
897 verbose addNamed [ 'bower-logger', '0.2.2' ]
898 verbose addNamed [ '0.2.2', '0.2.2' ]
899 silly lockFile 4a38f198-bower-logger-0-2-2 bower-logger@0.2.2
900 verbose lock bower-logger@0.2.2 /root/.npm/4a38f198-bower-logger-0-2-2.lock
901 verbose read json /root/.npm/bower-registry-client/0.2.1/package/package.json
902 verbose read json /root/.npm/bower-logger/0.2.2/package/package.json
903 silly lockFile 0d38f597-bower-registry-client-0-2-1 bower-registry-client@0.2.1
904 silly lockFile 0d38f597-bower-registry-client-0-2-1 bower-registry-client@0.2.1
905 silly lockFile 4a38f198-bower-logger-0-2-2 bower-logger@0.2.2
906 silly lockFile 4a38f198-bower-logger-0-2-2 bower-logger@0.2.2
907 silly lockFile f1b922af-bower-registry-client-0-2-0 bower-registry-client@~0.2.0
908 silly lockFile f1b922af-bower-registry-client-0-2-0 bower-registry-client@~0.2.0
909 silly lockFile 4dfc8f43-bower-logger-0-2-2 bower-logger@~0.2.2
910 silly lockFile 4dfc8f43-bower-logger-0-2-2 bower-logger@~0.2.2
911 http 304 https://registry.npmjs.org/cardinal
912 silly registry.get cb [ 304,
912 silly registry.get { date: 'Fri, 23 May 2014 15:07:26 GMT',
912 silly registry.get server: 'Apache',
912 silly registry.get via: '1.1 varnish',
912 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
912 silly registry.get 'cache-control': 'max-age=1',
912 silly registry.get etag: '"2U37I1LUMOQHSXJXTWPF7KSGU"',
912 silly registry.get 'x-served-by': 'cache-sn88-SIN',
912 silly registry.get 'x-cache': 'MISS',
912 silly registry.get 'x-cache-hits': '0',
912 silly registry.get 'x-timer': 'S1400857646.896000,VS0,VE337',
912 silly registry.get vary: 'Accept',
912 silly registry.get 'content-length': '0',
912 silly registry.get 'keep-alive': 'timeout=10, max=49',
912 silly registry.get connection: 'Keep-Alive' } ]
913 verbose etag cardinal from cache
914 silly addNameRange number 2 { name: 'cardinal', range: '>=0.4.0- <0.5.0-', hasData: true }
915 silly addNameRange versions [ 'cardinal',
915 silly addNameRange [ '0.1.0',
915 silly addNameRange '0.1.1',
915 silly addNameRange '0.1.2',
915 silly addNameRange '0.1.3',
915 silly addNameRange '0.2.0',
915 silly addNameRange '0.3.0',
915 silly addNameRange '0.3.1',
915 silly addNameRange '0.3.2',
915 silly addNameRange '0.4.0',
915 silly addNameRange '0.4.1',
915 silly addNameRange '0.4.2',
915 silly addNameRange '0.4.3',
915 silly addNameRange '0.4.4' ] ]
916 verbose addNamed [ 'cardinal', '0.4.4' ]
917 verbose addNamed [ '0.4.4', '0.4.4' ]
918 silly lockFile 6295c634-cardinal-0-4-4 cardinal@0.4.4
919 verbose lock cardinal@0.4.4 /root/.npm/6295c634-cardinal-0-4-4.lock
920 verbose read json /root/.npm/cardinal/0.4.4/package/package.json
921 silly lockFile 6295c634-cardinal-0-4-4 cardinal@0.4.4
922 silly lockFile 6295c634-cardinal-0-4-4 cardinal@0.4.4
923 silly lockFile acc8665e-cardinal-0-4-0 cardinal@~0.4.0
924 silly lockFile acc8665e-cardinal-0-4-0 cardinal@~0.4.0
925 http 304 https://registry.npmjs.org/chalk
926 silly registry.get cb [ 304,
926 silly registry.get { date: 'Fri, 23 May 2014 15:07:26 GMT',
926 silly registry.get server: 'Apache',
926 silly registry.get via: '1.1 varnish',
926 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
926 silly registry.get 'cache-control': 'max-age=1',
926 silly registry.get etag: '"BCDT5C96Y40NXJWCEEL8VVHZ7"',
926 silly registry.get 'x-served-by': 'cache-sn86-SIN',
926 silly registry.get 'x-cache': 'HIT',
926 silly registry.get 'x-cache-hits': '1',
926 silly registry.get 'x-timer': 'S1400857646.922832,VS0,VE328',
926 silly registry.get vary: 'Accept',
926 silly registry.get 'content-length': '0',
926 silly registry.get 'keep-alive': 'timeout=10, max=49',
926 silly registry.get connection: 'Keep-Alive' } ]
927 verbose etag chalk from cache
928 silly addNameRange number 2 { name: 'chalk', range: '>=0.4.0- <0.5.0-', hasData: true }
929 silly addNameRange versions [ 'chalk',
929 silly addNameRange [ '0.1.0', '0.1.1', '0.2.0', '0.2.1', '0.3.0', '0.4.0' ] ]
930 verbose addNamed [ 'chalk', '0.4.0' ]
931 verbose addNamed [ '0.4.0', '0.4.0' ]
932 silly lockFile 1efe4790-chalk-0-4-0 chalk@0.4.0
933 verbose lock chalk@0.4.0 /root/.npm/1efe4790-chalk-0-4-0.lock
934 verbose read json /root/.npm/chalk/0.4.0/package/package.json
935 silly lockFile 1efe4790-chalk-0-4-0 chalk@0.4.0
936 silly lockFile 1efe4790-chalk-0-4-0 chalk@0.4.0
937 silly lockFile bc9fb696-chalk-0-4-0 chalk@~0.4.0
938 silly lockFile bc9fb696-chalk-0-4-0 chalk@~0.4.0
939 http 304 https://registry.npmjs.org/decompress-zip
940 silly registry.get cb [ 304,
940 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
940 silly registry.get server: 'Apache',
940 silly registry.get via: '1.1 varnish',
940 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
940 silly registry.get 'cache-control': 'max-age=1',
940 silly registry.get etag: '"2DSC0TZ8T5G9LYPMKZM9CNC5S"',
940 silly registry.get 'x-served-by': 'cache-sn88-SIN',
940 silly registry.get 'x-cache': 'MISS',
940 silly registry.get 'x-cache-hits': '0',
940 silly registry.get 'x-timer': 'S1400857647.036730,VS0,VE332',
940 silly registry.get vary: 'Accept',
940 silly registry.get 'content-length': '0',
940 silly registry.get 'keep-alive': 'timeout=10, max=49',
940 silly registry.get connection: 'Keep-Alive' } ]
941 verbose etag decompress-zip from cache
942 http 304 https://registry.npmjs.org/fstream
943 silly registry.get cb [ 304,
943 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
943 silly registry.get server: 'Apache',
943 silly registry.get via: '1.1 varnish',
943 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
943 silly registry.get 'cache-control': 'max-age=1',
943 silly registry.get etag: '"9EO49ZEGR7G36RBAEI7YLWQBW"',
943 silly registry.get 'x-served-by': 'cache-sn87-SIN',
943 silly registry.get 'x-cache': 'HIT',
943 silly registry.get 'x-cache-hits': '1',
943 silly registry.get 'x-timer': 'S1400857647.039962,VS0,VE331',
943 silly registry.get vary: 'Accept',
943 silly registry.get 'content-length': '0',
943 silly registry.get 'keep-alive': 'timeout=10, max=49',
943 silly registry.get connection: 'Keep-Alive' } ]
944 verbose etag fstream from cache
945 silly addNameRange number 2 { name: 'decompress-zip',
945 silly addNameRange range: '>=0.0.6- <0.1.0-',
945 silly addNameRange hasData: true }
946 silly addNameRange versions [ 'decompress-zip',
946 silly addNameRange [ '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7' ] ]
947 verbose addNamed [ 'decompress-zip', '0.0.7' ]
948 verbose addNamed [ '0.0.7', '0.0.7' ]
949 silly lockFile 73740a62-decompress-zip-0-0-7 decompress-zip@0.0.7
950 verbose lock decompress-zip@0.0.7 /root/.npm/73740a62-decompress-zip-0-0-7.lock
951 silly addNameRange number 2 { name: 'fstream', range: '>=0.1.22- <0.2.0-', hasData: true }
952 silly addNameRange versions [ 'fstream',
952 silly addNameRange [ '0.0.0',
952 silly addNameRange '0.0.1',
952 silly addNameRange '0.1.0',
952 silly addNameRange '0.1.1',
952 silly addNameRange '0.1.2',
952 silly addNameRange '0.1.3',
952 silly addNameRange '0.1.5',
952 silly addNameRange '0.1.6',
952 silly addNameRange '0.1.7',
952 silly addNameRange '0.1.8',
952 silly addNameRange '0.1.9',
952 silly addNameRange '0.1.10',
952 silly addNameRange '0.1.11',
952 silly addNameRange '0.1.12',
952 silly addNameRange '0.1.13',
952 silly addNameRange '0.1.14',
952 silly addNameRange '0.1.15',
952 silly addNameRange '0.1.16',
952 silly addNameRange '0.1.17',
952 silly addNameRange '0.1.18',
952 silly addNameRange '0.1.19',
952 silly addNameRange '0.1.20',
952 silly addNameRange '0.1.21',
952 silly addNameRange '0.1.22',
952 silly addNameRange '0.1.23',
952 silly addNameRange '0.1.24',
952 silly addNameRange '0.1.25' ] ]
953 verbose addNamed [ 'fstream', '0.1.25' ]
954 verbose addNamed [ '0.1.25', '0.1.25' ]
955 silly lockFile 11eef8ec-fstream-0-1-25 fstream@0.1.25
956 verbose lock fstream@0.1.25 /root/.npm/11eef8ec-fstream-0-1-25.lock
957 verbose read json /root/.npm/decompress-zip/0.0.7/package/package.json
958 verbose read json /root/.npm/fstream/0.1.25/package/package.json
959 silly lockFile 73740a62-decompress-zip-0-0-7 decompress-zip@0.0.7
960 silly lockFile 73740a62-decompress-zip-0-0-7 decompress-zip@0.0.7
961 silly lockFile 11eef8ec-fstream-0-1-25 fstream@0.1.25
962 silly lockFile 11eef8ec-fstream-0-1-25 fstream@0.1.25
963 silly lockFile 67b19ab4-decompress-zip-0-0-6 decompress-zip@~0.0.6
964 silly lockFile 67b19ab4-decompress-zip-0-0-6 decompress-zip@~0.0.6
965 silly lockFile 75ffa414-fstream-0-1-22 fstream@~0.1.22
966 silly lockFile 75ffa414-fstream-0-1-22 fstream@~0.1.22
967 http 304 https://registry.npmjs.org/fstream-ignore
968 silly registry.get cb [ 304,
968 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
968 silly registry.get server: 'Apache',
968 silly registry.get via: '1.1 varnish',
968 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
968 silly registry.get 'cache-control': 'max-age=1',
968 silly registry.get etag: '"1O62VL9T7C2KOML1PS81J54HB"',
968 silly registry.get 'x-served-by': 'cache-sn88-SIN',
968 silly registry.get 'x-cache': 'HIT',
968 silly registry.get 'x-cache-hits': '1',
968 silly registry.get 'x-timer': 'S1400857647.305678,VS0,VE246',
968 silly registry.get vary: 'Accept',
968 silly registry.get 'content-length': '0',
968 silly registry.get 'keep-alive': 'timeout=10, max=48',
968 silly registry.get connection: 'Keep-Alive' } ]
969 verbose etag fstream-ignore from cache
970 silly addNameRange number 2 { name: 'fstream-ignore',
970 silly addNameRange range: '>=0.0.6- <0.1.0-',
970 silly addNameRange hasData: true }
971 silly addNameRange versions [ 'fstream-ignore',
971 silly addNameRange [ '0.0.1',
971 silly addNameRange '0.0.2',
971 silly addNameRange '0.0.3',
971 silly addNameRange '0.0.4',
971 silly addNameRange '0.0.5',
971 silly addNameRange '0.0.6',
971 silly addNameRange '0.0.7',
971 silly addNameRange '0.0.8' ] ]
972 verbose addNamed [ 'fstream-ignore', '0.0.8' ]
973 verbose addNamed [ '0.0.8', '0.0.8' ]
974 silly lockFile 26b575d8-fstream-ignore-0-0-8 fstream-ignore@0.0.8
975 verbose lock fstream-ignore@0.0.8 /root/.npm/26b575d8-fstream-ignore-0-0-8.lock
976 verbose read json /root/.npm/fstream-ignore/0.0.8/package/package.json
977 silly lockFile 26b575d8-fstream-ignore-0-0-8 fstream-ignore@0.0.8
978 silly lockFile 26b575d8-fstream-ignore-0-0-8 fstream-ignore@0.0.8
979 silly lockFile faf433bd-fstream-ignore-0-0-6 fstream-ignore@~0.0.6
980 silly lockFile faf433bd-fstream-ignore-0-0-6 fstream-ignore@~0.0.6
981 http 304 https://registry.npmjs.org/glob
982 silly registry.get cb [ 304,
982 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
982 silly registry.get server: 'Apache',
982 silly registry.get via: '1.1 varnish',
982 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
982 silly registry.get 'cache-control': 'max-age=1',
982 silly registry.get etag: '"D1FB8CLRQYQXVNL64C85R0FW3"',
982 silly registry.get 'x-served-by': 'cache-sn86-SIN',
982 silly registry.get 'x-cache': 'HIT',
982 silly registry.get 'x-cache-hits': '1',
982 silly registry.get 'x-timer': 'S1400857647.332735,VS0,VE256',
982 silly registry.get vary: 'Accept',
982 silly registry.get 'content-length': '0',
982 silly registry.get 'keep-alive': 'timeout=10, max=48',
982 silly registry.get connection: 'Keep-Alive' } ]
983 verbose etag glob from cache
984 silly addNameRange number 2 { name: 'glob', range: '>=3.2.9- <3.3.0-', hasData: true }
985 silly addNameRange versions [ 'glob',
985 silly addNameRange [ '1.1.0',
985 silly addNameRange '2.0.9',
985 silly addNameRange '2.0.8',
985 silly addNameRange '2.0.7',
985 silly addNameRange '2.1.0',
985 silly addNameRange '3.0.0',
985 silly addNameRange '3.0.1',
985 silly addNameRange '3.1.0',
985 silly addNameRange '3.1.1',
985 silly addNameRange '3.1.2',
985 silly addNameRange '3.1.3',
985 silly addNameRange '3.1.4',
985 silly addNameRange '3.1.5',
985 silly addNameRange '3.1.6',
985 silly addNameRange '3.1.7',
985 silly addNameRange '3.1.9',
985 silly addNameRange '3.1.10',
985 silly addNameRange '3.1.11',
985 silly addNameRange '3.1.12',
985 silly addNameRange '3.1.13',
985 silly addNameRange '3.1.14',
985 silly addNameRange '3.1.15',
985 silly addNameRange '3.1.16',
985 silly addNameRange '3.1.17',
985 silly addNameRange '3.1.18',
985 silly addNameRange '3.1.19',
985 silly addNameRange '3.1.20',
985 silly addNameRange '3.1.21',
985 silly addNameRange '3.2.0',
985 silly addNameRange '3.2.1',
985 silly addNameRange '3.2.3',
985 silly addNameRange '3.2.4',
985 silly addNameRange '3.2.5',
985 silly addNameRange '3.2.6',
985 silly addNameRange '3.2.7',
985 silly addNameRange '3.2.8',
985 silly addNameRange '3.2.9',
985 silly addNameRange '3.2.10',
985 silly addNameRange '3.2.11',
985 silly addNameRange '4.0.0' ] ]
986 verbose addNamed [ 'glob', '3.2.11' ]
987 verbose addNamed [ '3.2.11', '3.2.11' ]
988 silly lockFile 3fffafa6-glob-3-2-11 glob@3.2.11
989 verbose lock glob@3.2.11 /root/.npm/3fffafa6-glob-3-2-11.lock
990 verbose read json /root/.npm/glob/3.2.11/package/package.json
991 silly lockFile 3fffafa6-glob-3-2-11 glob@3.2.11
992 silly lockFile 3fffafa6-glob-3-2-11 glob@3.2.11
993 silly lockFile 200db29c-glob-3-2-9 glob@~3.2.9
994 silly lockFile 200db29c-glob-3-2-9 glob@~3.2.9
995 http 304 https://registry.npmjs.org/chmodr
996 silly registry.get cb [ 304,
996 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
996 silly registry.get server: 'Apache',
996 silly registry.get via: '1.1 varnish',
996 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
996 silly registry.get 'cache-control': 'max-age=1',
996 silly registry.get etag: '"AFSD6L8HHVJ4KTV3OAI8WCEEN"',
996 silly registry.get 'x-served-by': 'cache-sn88-SIN',
996 silly registry.get 'x-cache': 'MISS',
996 silly registry.get 'x-cache-hits': '0',
996 silly registry.get 'x-timer': 'S1400857647.018797,VS0,VE613',
996 silly registry.get vary: 'Accept',
996 silly registry.get 'content-length': '0',
996 silly registry.get 'keep-alive': 'timeout=10, max=49',
996 silly registry.get connection: 'Keep-Alive' } ]
997 verbose etag chmodr from cache
998 silly addNameRange number 2 { name: 'chmodr', range: '>=0.1.0- <0.2.0-', hasData: true }
999 silly addNameRange versions [ 'chmodr', [ '0.0.1', '0.1.0' ] ]
1000 verbose addNamed [ 'chmodr', '0.1.0' ]
1001 verbose addNamed [ '0.1.0', '0.1.0' ]
1002 silly lockFile 3c50e6b3-chmodr-0-1-0 chmodr@0.1.0
1003 verbose lock chmodr@0.1.0 /root/.npm/3c50e6b3-chmodr-0-1-0.lock
1004 verbose read json /root/.npm/chmodr/0.1.0/package/package.json
1005 silly lockFile 3c50e6b3-chmodr-0-1-0 chmodr@0.1.0
1006 silly lockFile 3c50e6b3-chmodr-0-1-0 chmodr@0.1.0
1007 silly lockFile 5c476fe4-chmodr-0-1-0 chmodr@~0.1.0
1008 silly lockFile 5c476fe4-chmodr-0-1-0 chmodr@~0.1.0
1009 http 304 https://registry.npmjs.org/graceful-fs
1010 silly registry.get cb [ 304,
1010 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
1010 silly registry.get server: 'Apache',
1010 silly registry.get via: '1.1 varnish',
1010 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
1010 silly registry.get 'cache-control': 'max-age=1',
1010 silly registry.get etag: '"8QQOCCU264QJY11TWJH4MT2R3"',
1010 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1010 silly registry.get 'x-cache': 'HIT',
1010 silly registry.get 'x-cache-hits': '1',
1010 silly registry.get 'x-timer': 'S1400857647.441321,VS0,VE255',
1010 silly registry.get vary: 'Accept',
1010 silly registry.get 'content-length': '0',
1010 silly registry.get 'keep-alive': 'timeout=10, max=48',
1010 silly registry.get connection: 'Keep-Alive' } ]
1011 verbose etag graceful-fs from cache
1012 silly addNameRange number 2 { name: 'graceful-fs', range: '>=2.0.0- <2.1.0-', hasData: true }
1013 silly addNameRange versions [ 'graceful-fs',
1013 silly addNameRange [ '1.0.0',
1013 silly addNameRange '1.0.1',
1013 silly addNameRange '1.0.2',
1013 silly addNameRange '1.1.0',
1013 silly addNameRange '1.1.1',
1013 silly addNameRange '1.1.2',
1013 silly addNameRange '1.1.3',
1013 silly addNameRange '1.1.4',
1013 silly addNameRange '1.1.5',
1013 silly addNameRange '1.1.6',
1013 silly addNameRange '1.1.7',
1013 silly addNameRange '1.1.8',
1013 silly addNameRange '1.1.9',
1013 silly addNameRange '1.1.10',
1013 silly addNameRange '1.1.11',
1013 silly addNameRange '1.1.12',
1013 silly addNameRange '1.1.13',
1013 silly addNameRange '1.1.14',
1013 silly addNameRange '1.2.0',
1013 silly addNameRange '1.2.1',
1013 silly addNameRange '1.2.2',
1013 silly addNameRange '1.2.3',
1013 silly addNameRange '2.0.0',
1013 silly addNameRange '2.0.1',
1013 silly addNameRange '2.0.2',
1013 silly addNameRange '2.0.3' ] ]
1014 verbose addNamed [ 'graceful-fs', '2.0.3' ]
1015 verbose addNamed [ '2.0.3', '2.0.3' ]
1016 silly lockFile aa717173-graceful-fs-2-0-3 graceful-fs@2.0.3
1017 verbose lock graceful-fs@2.0.3 /root/.npm/aa717173-graceful-fs-2-0-3.lock
1018 verbose read json /root/.npm/graceful-fs/2.0.3/package/package.json
1019 silly lockFile aa717173-graceful-fs-2-0-3 graceful-fs@2.0.3
1020 silly lockFile aa717173-graceful-fs-2-0-3 graceful-fs@2.0.3
1021 silly lockFile 8863dcc9-graceful-fs-2-0-0 graceful-fs@~2.0.0
1022 silly lockFile 8863dcc9-graceful-fs-2-0-0 graceful-fs@~2.0.0
1023 http 304 https://registry.npmjs.org/handlebars
1024 silly registry.get cb [ 304,
1024 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
1024 silly registry.get server: 'Apache',
1024 silly registry.get via: '1.1 varnish',
1024 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
1024 silly registry.get 'cache-control': 'max-age=1',
1024 silly registry.get etag: '"C22VKCLWZEXO0NISNTPLGLEIV"',
1024 silly registry.get 'x-served-by': 'cache-sn87-SIN',
1024 silly registry.get 'x-cache': 'HIT',
1024 silly registry.get 'x-cache-hits': '1',
1024 silly registry.get 'x-timer': 'S1400857647.443509,VS0,VE271',
1024 silly registry.get vary: 'Accept',
1024 silly registry.get 'content-length': '0',
1024 silly registry.get 'keep-alive': 'timeout=10, max=48',
1024 silly registry.get connection: 'Keep-Alive' } ]
1025 verbose etag handlebars from cache
1026 silly addNameRange number 2 { name: 'handlebars', range: '>=1.3.0- <1.4.0-', hasData: true }
1027 silly addNameRange versions [ 'handlebars',
1027 silly addNameRange [ '1.0.6',
1027 silly addNameRange '1.0.6-2',
1027 silly addNameRange '1.0.7',
1027 silly addNameRange '1.0.8',
1027 silly addNameRange '1.0.9',
1027 silly addNameRange '1.0.10',
1027 silly addNameRange '1.0.11',
1027 silly addNameRange '1.0.12',
1027 silly addNameRange '1.1.0',
1027 silly addNameRange '1.1.1',
1027 silly addNameRange '1.1.2',
1027 silly addNameRange '1.2.0',
1027 silly addNameRange '1.2.1',
1027 silly addNameRange '1.3.0',
1027 silly addNameRange '2.0.0-alpha.1',
1027 silly addNameRange '2.0.0-alpha.2',
1027 silly addNameRange '2.0.0-alpha.3',
1027 silly addNameRange '2.0.0-alpha.4',
1027 silly addNameRange '1.0.2-beta',
1027 silly addNameRange '1.0.4-beta',
1027 silly addNameRange '1.0.5-beta' ] ]
1028 verbose addNamed [ 'handlebars', '1.3.0' ]
1029 verbose addNamed [ '1.3.0', '1.3.0' ]
1030 silly lockFile 15405714-handlebars-1-3-0 handlebars@1.3.0
1031 verbose lock handlebars@1.3.0 /root/.npm/15405714-handlebars-1-3-0.lock
1032 verbose read json /root/.npm/handlebars/1.3.0/package/package.json
1033 silly lockFile 15405714-handlebars-1-3-0 handlebars@1.3.0
1034 silly lockFile 15405714-handlebars-1-3-0 handlebars@1.3.0
1035 silly lockFile 080fb592-handlebars-1-3-0 handlebars@~1.3.0
1036 silly lockFile 080fb592-handlebars-1-3-0 handlebars@~1.3.0
1037 http 304 https://registry.npmjs.org/inquirer
1038 silly registry.get cb [ 304,
1038 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
1038 silly registry.get server: 'Apache',
1038 silly registry.get via: '1.1 varnish',
1038 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
1038 silly registry.get 'cache-control': 'max-age=1',
1038 silly registry.get etag: '"3K9K439JSC4N7XA7G0U35NWGW"',
1038 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1038 silly registry.get 'x-cache': 'HIT',
1038 silly registry.get 'x-cache-hits': '1',
1038 silly registry.get 'x-timer': 'S1400857647.631468,VS0,VE339',
1038 silly registry.get vary: 'Accept',
1038 silly registry.get 'content-length': '0',
1038 silly registry.get 'keep-alive': 'timeout=10, max=47',
1038 silly registry.get connection: 'Keep-Alive' } ]
1039 verbose etag inquirer from cache
1040 silly addNameRange number 2 { name: 'inquirer', range: '>=0.4.0- <0.5.0-', hasData: true }
1041 silly addNameRange versions [ 'inquirer',
1041 silly addNameRange [ '0.1.0',
1041 silly addNameRange '0.1.1',
1041 silly addNameRange '0.1.2',
1041 silly addNameRange '0.1.3',
1041 silly addNameRange '0.1.4',
1041 silly addNameRange '0.1.5',
1041 silly addNameRange '0.1.6',
1041 silly addNameRange '0.1.7',
1041 silly addNameRange '0.1.8',
1041 silly addNameRange '0.1.9',
1041 silly addNameRange '0.2.0',
1041 silly addNameRange '0.2.1',
1041 silly addNameRange '0.1.11',
1041 silly addNameRange '0.1.12',
1041 silly addNameRange '0.2.2',
1041 silly addNameRange '0.2.3',
1041 silly addNameRange '0.2.4',
1041 silly addNameRange '0.2.5',
1041 silly addNameRange '0.3.0',
1041 silly addNameRange '0.3.1',
1041 silly addNameRange '0.3.2',
1041 silly addNameRange '0.3.3',
1041 silly addNameRange '0.3.4',
1041 silly addNameRange '0.3.5',
1041 silly addNameRange '0.4.0',
1041 silly addNameRange '0.4.1',
1041 silly addNameRange '0.5.0' ] ]
1042 verbose addNamed [ 'inquirer', '0.4.1' ]
1043 verbose addNamed [ '0.4.1', '0.4.1' ]
1044 silly lockFile caff4c32-inquirer-0-4-1 inquirer@0.4.1
1045 verbose lock inquirer@0.4.1 /root/.npm/caff4c32-inquirer-0-4-1.lock
1046 http 304 https://registry.npmjs.org/insight
1047 silly registry.get cb [ 304,
1047 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
1047 silly registry.get server: 'Apache',
1047 silly registry.get via: '1.1 varnish',
1047 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:27 GMT',
1047 silly registry.get 'cache-control': 'max-age=1',
1047 silly registry.get etag: '"EV044IPU0XNAFUMKZDTEADMPN"',
1047 silly registry.get 'x-served-by': 'cache-sn86-SIN',
1047 silly registry.get 'x-cache': 'HIT',
1047 silly registry.get 'x-cache-hits': '1',
1047 silly registry.get 'x-timer': 'S1400857647.665155,VS0,VE322',
1047 silly registry.get vary: 'Accept',
1047 silly registry.get 'content-length': '0',
1047 silly registry.get 'keep-alive': 'timeout=10, max=47',
1047 silly registry.get connection: 'Keep-Alive' } ]
1048 verbose etag insight from cache
1049 verbose read json /root/.npm/inquirer/0.4.1/package/package.json
1050 silly addNameRange number 2 { name: 'insight', range: '>=0.3.0- <0.4.0-', hasData: true }
1051 silly addNameRange versions [ 'insight',
1051 silly addNameRange [ '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.2.0', '0.3.0', '0.3.1' ] ]
1052 verbose addNamed [ 'insight', '0.3.1' ]
1053 verbose addNamed [ '0.3.1', '0.3.1' ]
1054 silly lockFile 10741e2f-insight-0-3-1 insight@0.3.1
1055 verbose lock insight@0.3.1 /root/.npm/10741e2f-insight-0-3-1.lock
1056 verbose read json /root/.npm/insight/0.3.1/package/package.json
1057 silly lockFile caff4c32-inquirer-0-4-1 inquirer@0.4.1
1058 silly lockFile caff4c32-inquirer-0-4-1 inquirer@0.4.1
1059 silly lockFile 24c291dd-inquirer-0-4-0 inquirer@~0.4.0
1060 silly lockFile 24c291dd-inquirer-0-4-0 inquirer@~0.4.0
1061 silly lockFile 10741e2f-insight-0-3-1 insight@0.3.1
1062 silly lockFile 10741e2f-insight-0-3-1 insight@0.3.1
1063 silly lockFile ce14d85c-insight-0-3-0 insight@~0.3.0
1064 silly lockFile ce14d85c-insight-0-3-0 insight@~0.3.0
1065 http 304 https://registry.npmjs.org/junk
1066 silly registry.get cb [ 304,
1066 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
1066 silly registry.get server: 'Apache',
1066 silly registry.get via: '1.1 varnish',
1066 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1066 silly registry.get 'cache-control': 'max-age=1',
1066 silly registry.get etag: '"570K5D8QDMTCRMOHPGBWLK9AD"',
1066 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1066 silly registry.get 'x-cache': 'MISS',
1066 silly registry.get 'x-cache-hits': '0',
1066 silly registry.get 'x-timer': 'S1400857647.775434,VS0,VE235',
1066 silly registry.get vary: 'Accept',
1066 silly registry.get 'content-length': '0',
1066 silly registry.get 'keep-alive': 'timeout=10, max=47',
1066 silly registry.get connection: 'Keep-Alive' } ]
1067 verbose etag junk from cache
1068 silly addNameRange number 2 { name: 'junk', range: '>=0.3.0- <0.4.0-', hasData: true }
1069 silly addNameRange versions [ 'junk', [ '0.1.0', '0.2.0', '0.2.1', '0.2.2', '0.3.0' ] ]
1070 verbose addNamed [ 'junk', '0.3.0' ]
1071 verbose addNamed [ '0.3.0', '0.3.0' ]
1072 silly lockFile f3f60bec-junk-0-3-0 junk@0.3.0
1073 verbose lock junk@0.3.0 /root/.npm/f3f60bec-junk-0-3-0.lock
1074 verbose read json /root/.npm/junk/0.3.0/package/package.json
1075 silly lockFile f3f60bec-junk-0-3-0 junk@0.3.0
1076 silly lockFile f3f60bec-junk-0-3-0 junk@0.3.0
1077 silly lockFile 41579b5e-junk-0-3-0 junk@~0.3.0
1078 silly lockFile 41579b5e-junk-0-3-0 junk@~0.3.0
1079 http 304 https://registry.npmjs.org/is-root
1080 silly registry.get cb [ 304,
1080 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
1080 silly registry.get server: 'Apache',
1080 silly registry.get via: '1.1 varnish',
1080 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1080 silly registry.get 'cache-control': 'max-age=1',
1080 silly registry.get etag: '"DO5OE6EOI4QAGTOEFMMXUSV4F"',
1080 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1080 silly registry.get 'x-cache': 'MISS',
1080 silly registry.get 'x-cache-hits': '0',
1080 silly registry.get 'x-timer': 'S1400857647.709684,VS0,VE321',
1080 silly registry.get vary: 'Accept',
1080 silly registry.get 'content-length': '0',
1080 silly registry.get 'keep-alive': 'timeout=10, max=48',
1080 silly registry.get connection: 'Keep-Alive' } ]
1081 verbose etag is-root from cache
1082 http 304 https://registry.npmjs.org/lockfile
1083 silly registry.get cb [ 304,
1083 silly registry.get { date: 'Fri, 23 May 2014 15:07:27 GMT',
1083 silly registry.get server: 'Apache',
1083 silly registry.get via: '1.1 varnish',
1083 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1083 silly registry.get 'cache-control': 'max-age=1',
1083 silly registry.get etag: '"BE6HUPSNPXI5QOIOUTQKTZG1O"',
1083 silly registry.get 'x-served-by': 'cache-sn87-SIN',
1083 silly registry.get 'x-cache': 'HIT',
1083 silly registry.get 'x-cache-hits': '1',
1083 silly registry.get 'x-timer': 'S1400857647.790522,VS0,VE256',
1083 silly registry.get vary: 'Accept',
1083 silly registry.get 'content-length': '0',
1083 silly registry.get 'keep-alive': 'timeout=10, max=47',
1083 silly registry.get connection: 'Keep-Alive' } ]
1084 verbose etag lockfile from cache
1085 silly addNameRange number 2 { name: 'is-root', range: '>=0.1.0- <0.2.0-', hasData: true }
1086 silly addNameRange versions [ 'is-root', [ '0.1.0' ] ]
1087 verbose addNamed [ 'is-root', '0.1.0' ]
1088 verbose addNamed [ '0.1.0', '0.1.0' ]
1089 silly lockFile 2bd5d7e4-is-root-0-1-0 is-root@0.1.0
1090 verbose lock is-root@0.1.0 /root/.npm/2bd5d7e4-is-root-0-1-0.lock
1091 silly addNameRange number 2 { name: 'lockfile', range: '>=0.4.2- <0.5.0-', hasData: true }
1092 silly addNameRange versions [ 'lockfile',
1092 silly addNameRange [ '0.1.0',
1092 silly addNameRange '0.1.1',
1092 silly addNameRange '0.2.0',
1092 silly addNameRange '0.2.1',
1092 silly addNameRange '0.2.2',
1092 silly addNameRange '0.3.0',
1092 silly addNameRange '0.3.1',
1092 silly addNameRange '0.3.2',
1092 silly addNameRange '0.3.3',
1092 silly addNameRange '0.3.4',
1092 silly addNameRange '0.4.0',
1092 silly addNameRange '0.4.1',
1092 silly addNameRange '0.4.2' ] ]
1093 verbose addNamed [ 'lockfile', '0.4.2' ]
1094 verbose addNamed [ '0.4.2', '0.4.2' ]
1095 silly lockFile a8695a62-lockfile-0-4-2 lockfile@0.4.2
1096 verbose lock lockfile@0.4.2 /root/.npm/a8695a62-lockfile-0-4-2.lock
1097 verbose read json /root/.npm/is-root/0.1.0/package/package.json
1098 verbose read json /root/.npm/lockfile/0.4.2/package/package.json
1099 silly lockFile 2bd5d7e4-is-root-0-1-0 is-root@0.1.0
1100 silly lockFile 2bd5d7e4-is-root-0-1-0 is-root@0.1.0
1101 silly lockFile a8695a62-lockfile-0-4-2 lockfile@0.4.2
1102 silly lockFile a8695a62-lockfile-0-4-2 lockfile@0.4.2
1103 silly lockFile 3dc75358-is-root-0-1-0 is-root@~0.1.0
1104 silly lockFile 3dc75358-is-root-0-1-0 is-root@~0.1.0
1105 silly lockFile 734876a6-lockfile-0-4-2 lockfile@~0.4.2
1106 silly lockFile 734876a6-lockfile-0-4-2 lockfile@~0.4.2
1107 http 304 https://registry.npmjs.org/lru-cache
1108 silly registry.get cb [ 304,
1108 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1108 silly registry.get server: 'Apache',
1108 silly registry.get via: '1.1 varnish',
1108 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1108 silly registry.get 'cache-control': 'max-age=1',
1108 silly registry.get etag: '"6EAH4E2XKATH9G2WW7G1L4L00"',
1108 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1108 silly registry.get 'x-cache': 'HIT',
1108 silly registry.get 'x-cache-hits': '1',
1108 silly registry.get 'x-timer': 'S1400857648.057100,VS0,VE255',
1108 silly registry.get vary: 'Accept',
1108 silly registry.get 'content-length': '0',
1108 silly registry.get 'keep-alive': 'timeout=10, max=46',
1108 silly registry.get connection: 'Keep-Alive' } ]
1109 verbose etag lru-cache from cache
1110 silly addNameRange number 2 { name: 'lru-cache', range: '>=2.5.0- <2.6.0-', hasData: true }
1111 silly addNameRange versions [ 'lru-cache',
1111 silly addNameRange [ '1.0.1',
1111 silly addNameRange '1.0.2',
1111 silly addNameRange '1.0.3',
1111 silly addNameRange '1.0.4',
1111 silly addNameRange '1.0.5',
1111 silly addNameRange '1.0.6',
1111 silly addNameRange '1.1.0',
1111 silly addNameRange '1.1.1',
1111 silly addNameRange '2.0.0',
1111 silly addNameRange '2.0.1',
1111 silly addNameRange '2.0.2',
1111 silly addNameRange '2.0.3',
1111 silly addNameRange '2.0.4',
1111 silly addNameRange '2.1.0',
1111 silly addNameRange '2.2.0',
1111 silly addNameRange '2.2.1',
1111 silly addNameRange '2.2.2',
1111 silly addNameRange '2.2.4',
1111 silly addNameRange '2.3.0',
1111 silly addNameRange '2.3.1',
1111 silly addNameRange '2.5.0' ] ]
1112 verbose addNamed [ 'lru-cache', '2.5.0' ]
1113 verbose addNamed [ '2.5.0', '2.5.0' ]
1114 silly lockFile 30aa630e-lru-cache-2-5-0 lru-cache@2.5.0
1115 verbose lock lru-cache@2.5.0 /root/.npm/30aa630e-lru-cache-2-5-0.lock
1116 verbose read json /root/.npm/lru-cache/2.5.0/package/package.json
1117 silly lockFile 30aa630e-lru-cache-2-5-0 lru-cache@2.5.0
1118 silly lockFile 30aa630e-lru-cache-2-5-0 lru-cache@2.5.0
1119 silly lockFile d9ec30b5-lru-cache-2-5-0 lru-cache@~2.5.0
1120 silly lockFile d9ec30b5-lru-cache-2-5-0 lru-cache@~2.5.0
1121 http 304 https://registry.npmjs.org/mkdirp
1122 silly registry.get cb [ 304,
1122 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1122 silly registry.get server: 'Apache',
1122 silly registry.get via: '1.1 varnish',
1122 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1122 silly registry.get 'cache-control': 'max-age=1',
1122 silly registry.get etag: '"ZX76IOCGNQ0Y4AWM9E9SZVM7"',
1122 silly registry.get 'x-served-by': 'cache-sn86-SIN',
1122 silly registry.get 'x-cache': 'HIT',
1122 silly registry.get 'x-cache-hits': '1',
1122 silly registry.get 'x-timer': 'S1400857648.077273,VS0,VE250',
1122 silly registry.get vary: 'Accept',
1122 silly registry.get 'content-length': '0',
1122 silly registry.get 'keep-alive': 'timeout=10, max=46',
1122 silly registry.get connection: 'Keep-Alive' } ]
1123 verbose etag mkdirp from cache
1124 silly addNameRange number 2 { name: 'mkdirp', range: '>=0.3.5- <0.4.0-', hasData: true }
1125 silly addNameRange versions [ 'mkdirp',
1125 silly addNameRange [ '0.0.1',
1125 silly addNameRange '0.0.2',
1125 silly addNameRange '0.0.3',
1125 silly addNameRange '0.0.4',
1125 silly addNameRange '0.0.5',
1125 silly addNameRange '0.0.6',
1125 silly addNameRange '0.0.7',
1125 silly addNameRange '0.1.0',
1125 silly addNameRange '0.2.0',
1125 silly addNameRange '0.2.1',
1125 silly addNameRange '0.2.2',
1125 silly addNameRange '0.3.0',
1125 silly addNameRange '0.3.1',
1125 silly addNameRange '0.3.2',
1125 silly addNameRange '0.3.3',
1125 silly addNameRange '0.3.4',
1125 silly addNameRange '0.3.5',
1125 silly addNameRange '0.4.0',
1125 silly addNameRange '0.4.1',
1125 silly addNameRange '0.4.2',
1125 silly addNameRange '0.5.0' ] ]
1126 verbose addNamed [ 'mkdirp', '0.3.5' ]
1127 verbose addNamed [ '0.3.5', '0.3.5' ]
1128 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
1129 verbose lock mkdirp@0.3.5 /root/.npm/67d2df2a-mkdirp-0-3-5.lock
1130 verbose read json /root/.npm/mkdirp/0.3.5/package/package.json
1131 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
1132 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
1133 silly lockFile c3f0fe9b-mkdirp-0-3-5 mkdirp@~0.3.5
1134 silly lockFile c3f0fe9b-mkdirp-0-3-5 mkdirp@~0.3.5
1135 http 304 https://registry.npmjs.org/mout
1136 silly registry.get cb [ 304,
1136 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1136 silly registry.get server: 'Apache',
1136 silly registry.get via: '1.1 varnish',
1136 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1136 silly registry.get 'cache-control': 'max-age=1',
1136 silly registry.get etag: '"DAV4K4JPL3MIW538VHXQIFVFI"',
1136 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1136 silly registry.get 'x-cache': 'HIT',
1136 silly registry.get 'x-cache-hits': '1',
1136 silly registry.get 'x-timer': 'S1400857648.104677,VS0,VE249',
1136 silly registry.get vary: 'Accept',
1136 silly registry.get 'content-length': '0',
1136 silly registry.get 'keep-alive': 'timeout=10, max=46',
1136 silly registry.get connection: 'Keep-Alive' } ]
1137 verbose etag mout from cache
1138 silly addNameRange number 2 { name: 'mout', range: '>=0.9.1- <0.10.0-', hasData: true }
1139 silly addNameRange versions [ 'mout',
1139 silly addNameRange [ '0.1.0',
1139 silly addNameRange '0.2.0',
1139 silly addNameRange '0.3.0',
1139 silly addNameRange '0.4.0',
1139 silly addNameRange '0.5.0',
1139 silly addNameRange '0.6.0',
1139 silly addNameRange '0.7.0',
1139 silly addNameRange '0.7.1',
1139 silly addNameRange '0.8.0',
1139 silly addNameRange '0.9.0',
1139 silly addNameRange '0.9.1' ] ]
1140 verbose addNamed [ 'mout', '0.9.1' ]
1141 verbose addNamed [ '0.9.1', '0.9.1' ]
1142 silly lockFile 87454de7-mout-0-9-1 mout@0.9.1
1143 verbose lock mout@0.9.1 /root/.npm/87454de7-mout-0-9-1.lock
1144 verbose read json /root/.npm/mout/0.9.1/package/package.json
1145 silly lockFile 87454de7-mout-0-9-1 mout@0.9.1
1146 silly lockFile 87454de7-mout-0-9-1 mout@0.9.1
1147 silly lockFile 192577f3-mout-0-9-1 mout@~0.9.1
1148 silly lockFile 192577f3-mout-0-9-1 mout@~0.9.1
1149 http 304 https://registry.npmjs.org/nopt
1150 silly registry.get cb [ 304,
1150 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1150 silly registry.get server: 'Apache',
1150 silly registry.get via: '1.1 varnish',
1150 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1150 silly registry.get 'cache-control': 'max-age=1',
1150 silly registry.get etag: '"5QLU65DX50UPKFOQALW73JMEO"',
1150 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1150 silly registry.get 'x-cache': 'HIT',
1150 silly registry.get 'x-cache-hits': '1',
1150 silly registry.get 'x-timer': 'S1400857648.127410,VS0,VE255',
1150 silly registry.get vary: 'Accept',
1150 silly registry.get 'content-length': '0',
1150 silly registry.get 'keep-alive': 'timeout=10, max=47',
1150 silly registry.get connection: 'Keep-Alive' } ]
1151 verbose etag nopt from cache
1152 silly addNameRange number 2 { name: 'nopt', range: '>=2.2.0- <2.3.0-', hasData: true }
1153 silly addNameRange versions [ 'nopt',
1153 silly addNameRange [ '1.0.0',
1153 silly addNameRange '1.0.1',
1153 silly addNameRange '1.0.2',
1153 silly addNameRange '1.0.3',
1153 silly addNameRange '1.0.4',
1153 silly addNameRange '1.0.5',
1153 silly addNameRange '1.0.6',
1153 silly addNameRange '1.0.7',
1153 silly addNameRange '1.0.8',
1153 silly addNameRange '1.0.9',
1153 silly addNameRange '1.0.10',
1153 silly addNameRange '2.0.0',
1153 silly addNameRange '2.1.0',
1153 silly addNameRange '2.1.1',
1153 silly addNameRange '2.1.2',
1153 silly addNameRange '2.2.0',
1153 silly addNameRange '2.2.1' ] ]
1154 verbose addNamed [ 'nopt', '2.2.1' ]
1155 verbose addNamed [ '2.2.1', '2.2.1' ]
1156 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
1157 verbose lock nopt@2.2.1 /root/.npm/d02d193f-nopt-2-2-1.lock
1158 verbose read json /root/.npm/nopt/2.2.1/package/package.json
1159 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
1160 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
1161 silly lockFile 84cb411c-nopt-2-2-0 nopt@~2.2.0
1162 silly lockFile 84cb411c-nopt-2-2-0 nopt@~2.2.0
1163 http 304 https://registry.npmjs.org/opn
1164 silly registry.get cb [ 304,
1164 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1164 silly registry.get server: 'Apache',
1164 silly registry.get via: '1.1 varnish',
1164 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1164 silly registry.get 'cache-control': 'max-age=1',
1164 silly registry.get etag: '"79G5YZ1U850OWGYELFST2KOCO"',
1164 silly registry.get 'x-served-by': 'cache-sn87-SIN',
1164 silly registry.get 'x-cache': 'HIT',
1164 silly registry.get 'x-cache-hits': '1',
1164 silly registry.get 'x-timer': 'S1400857648.131168,VS0,VE354',
1164 silly registry.get vary: 'Accept',
1164 silly registry.get 'content-length': '0',
1164 silly registry.get 'keep-alive': 'timeout=10, max=46',
1164 silly registry.get connection: 'Keep-Alive' } ]
1165 verbose etag opn from cache
1166 silly addNameRange number 2 { name: 'opn', range: '>=0.1.1- <0.2.0-', hasData: true }
1167 silly addNameRange versions [ 'opn', [ '0.1.0', '0.1.1', '0.1.2' ] ]
1168 verbose addNamed [ 'opn', '0.1.2' ]
1169 verbose addNamed [ '0.1.2', '0.1.2' ]
1170 silly lockFile 976bcbd2-opn-0-1-2 opn@0.1.2
1171 verbose lock opn@0.1.2 /root/.npm/976bcbd2-opn-0-1-2.lock
1172 verbose read json /root/.npm/opn/0.1.2/package/package.json
1173 silly lockFile 976bcbd2-opn-0-1-2 opn@0.1.2
1174 silly lockFile 976bcbd2-opn-0-1-2 opn@0.1.2
1175 silly lockFile 445f6667-opn-0-1-1 opn@~0.1.1
1176 silly lockFile 445f6667-opn-0-1-1 opn@~0.1.1
1177 http 304 https://registry.npmjs.org/p-throttler
1178 silly registry.get cb [ 304,
1178 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1178 silly registry.get server: 'Apache',
1178 silly registry.get via: '1.1 varnish',
1178 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1178 silly registry.get 'cache-control': 'max-age=1',
1178 silly registry.get etag: '"68WEPGHPQAO4AMIJTX2ILZ86T"',
1178 silly registry.get 'x-served-by': 'cache-sn86-SIN',
1178 silly registry.get 'x-cache': 'HIT',
1178 silly registry.get 'x-cache-hits': '1',
1178 silly registry.get 'x-timer': 'S1400857648.434559,VS0,VE247',
1178 silly registry.get vary: 'Accept',
1178 silly registry.get 'content-length': '0',
1178 silly registry.get 'keep-alive': 'timeout=10, max=45',
1178 silly registry.get connection: 'Keep-Alive' } ]
1179 verbose etag p-throttler from cache
1180 silly addNameRange number 2 { name: 'p-throttler', range: '>=0.0.1- <0.1.0-', hasData: true }
1181 silly addNameRange versions [ 'p-throttler', [ '0.0.1' ] ]
1182 verbose addNamed [ 'p-throttler', '0.0.1' ]
1183 verbose addNamed [ '0.0.1', '0.0.1' ]
1184 silly lockFile def2f925-p-throttler-0-0-1 p-throttler@0.0.1
1185 verbose lock p-throttler@0.0.1 /root/.npm/def2f925-p-throttler-0-0-1.lock
1186 verbose read json /root/.npm/p-throttler/0.0.1/package/package.json
1187 silly lockFile def2f925-p-throttler-0-0-1 p-throttler@0.0.1
1188 silly lockFile def2f925-p-throttler-0-0-1 p-throttler@0.0.1
1189 silly lockFile 52064f95-p-throttler-0-0-1 p-throttler@~0.0.1
1190 silly lockFile 52064f95-p-throttler-0-0-1 p-throttler@~0.0.1
1191 http 304 https://registry.npmjs.org/q
1192 silly registry.get cb [ 304,
1192 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1192 silly registry.get server: 'Apache',
1192 silly registry.get via: '1.1 varnish',
1192 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1192 silly registry.get 'cache-control': 'max-age=1',
1192 silly registry.get etag: '"BZBSW861DDQQDA76ALY8BWX4S"',
1192 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1192 silly registry.get 'x-cache': 'HIT',
1192 silly registry.get 'x-cache-hits': '1',
1192 silly registry.get 'x-timer': 'S1400857648.470152,VS0,VE261',
1192 silly registry.get vary: 'Accept',
1192 silly registry.get 'content-length': '0',
1192 silly registry.get 'keep-alive': 'timeout=10, max=46',
1192 silly registry.get connection: 'Keep-Alive' } ]
1193 verbose etag q from cache
1194 silly addNameRange number 2 { name: 'q', range: '>=1.0.1- <1.1.0-', hasData: true }
1195 silly addNameRange versions [ 'q',
1195 silly addNameRange [ '0.0.0',
1195 silly addNameRange '0.0.1',
1195 silly addNameRange '0.0.2',
1195 silly addNameRange '0.0.3',
1195 silly addNameRange '0.1.0',
1195 silly addNameRange '0.1.1',
1195 silly addNameRange '0.1.2',
1195 silly addNameRange '0.1.3',
1195 silly addNameRange '0.1.4',
1195 silly addNameRange '0.1.5',
1195 silly addNameRange '0.1.6',
1195 silly addNameRange '0.1.7',
1195 silly addNameRange '0.1.8',
1195 silly addNameRange '0.1.9',
1195 silly addNameRange '0.2.0-rc1',
1195 silly addNameRange '0.2.0',
1195 silly addNameRange '0.2.1',
1195 silly addNameRange '0.2.2',
1195 silly addNameRange '0.2.3',
1195 silly addNameRange '0.2.4',
1195 silly addNameRange '0.2.5',
1195 silly addNameRange '0.2.6',
1195 silly addNameRange '0.2.7',
1195 silly addNameRange '0.2.8',
1195 silly addNameRange '0.2.9',
1195 silly addNameRange '0.3.0',
1195 silly addNameRange '0.2.10',
1195 silly addNameRange '0.4.0',
1195 silly addNameRange '0.4.1',
1195 silly addNameRange '0.4.2',
1195 silly addNameRange '0.4.4',
1195 silly addNameRange '0.5.0',
1195 silly addNameRange '0.5.1',
1195 silly addNameRange '0.5.2',
1195 silly addNameRange '0.5.3',
1195 silly addNameRange '0.6.0',
1195 silly addNameRange '0.7.0',
1195 silly addNameRange '0.7.1',
1195 silly addNameRange '0.7.2',
1195 silly addNameRange '0.8.0',
1195 silly addNameRange '0.8.1',
1195 silly addNameRange '0.8.2',
1195 silly addNameRange '0.8.3',
1195 silly addNameRange '0.8.4',
1195 silly addNameRange '0.8.5',
1195 silly addNameRange '0.8.6',
1195 silly addNameRange '0.8.7',
1195 silly addNameRange '0.8.8',
1195 silly addNameRange '0.8.9',
1195 silly addNameRange '0.8.10',
1195 silly addNameRange '0.8.11',
1195 silly addNameRange '0.8.12',
1195 silly addNameRange '0.9.0',
1195 silly addNameRange '0.9.1',
1195 silly addNameRange '0.9.2',
1195 silly addNameRange '0.9.3',
1195 silly addNameRange '0.9.4',
1195 silly addNameRange '0.9.5',
1195 silly addNameRange '0.9.6',
1195 silly addNameRange '0.9.7',
1195 silly addNameRange '1.0.0',
1195 silly addNameRange '1.0.1',
1195 silly addNameRange '2.0.0',
1195 silly addNameRange '2.0.1' ] ]
1196 verbose addNamed [ 'q', '1.0.1' ]
1197 verbose addNamed [ '1.0.1', '1.0.1' ]
1198 silly lockFile 5720ee24-q-1-0-1 q@1.0.1
1199 verbose lock q@1.0.1 /root/.npm/5720ee24-q-1-0-1.lock
1200 verbose read json /root/.npm/q/1.0.1/package/package.json
1201 silly lockFile 5720ee24-q-1-0-1 q@1.0.1
1202 silly lockFile 5720ee24-q-1-0-1 q@1.0.1
1203 silly lockFile bfcfee2e-q-1-0-1 q@~1.0.1
1204 silly lockFile bfcfee2e-q-1-0-1 q@~1.0.1
1205 http 304 https://registry.npmjs.org/osenv
1206 silly registry.get cb [ 304,
1206 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1206 silly registry.get server: 'Apache',
1206 silly registry.get via: '1.1 varnish',
1206 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1206 silly registry.get 'cache-control': 'max-age=1',
1206 silly registry.get etag: '"7ZZCZDQYWD6OZS7NQ0LLLANNZ"',
1206 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1206 silly registry.get 'x-cache': 'HIT',
1206 silly registry.get 'x-cache-hits': '1',
1206 silly registry.get 'x-timer': 'S1400857648.428932,VS0,VE341',
1206 silly registry.get vary: 'Accept',
1206 silly registry.get 'content-length': '0',
1206 silly registry.get 'keep-alive': 'timeout=10, max=45',
1206 silly registry.get connection: 'Keep-Alive' } ]
1207 verbose etag osenv from cache
1208 silly addNameRange number 2 { name: 'osenv', range: '>=0.0.3- <0.1.0-', hasData: true }
1209 silly addNameRange versions [ 'osenv', [ '0.0.1', '0.0.2', '0.0.3' ] ]
1210 verbose addNamed [ 'osenv', '0.0.3' ]
1211 verbose addNamed [ '0.0.3', '0.0.3' ]
1212 silly lockFile 4085d016-osenv-0-0-3 osenv@0.0.3
1213 verbose lock osenv@0.0.3 /root/.npm/4085d016-osenv-0-0-3.lock
1214 verbose read json /root/.npm/osenv/0.0.3/package/package.json
1215 silly lockFile 4085d016-osenv-0-0-3 osenv@0.0.3
1216 silly lockFile 4085d016-osenv-0-0-3 osenv@0.0.3
1217 silly lockFile 7367c0c9-osenv-0-0-3 osenv@~0.0.3
1218 silly lockFile 7367c0c9-osenv-0-0-3 osenv@~0.0.3
1219 http 304 https://registry.npmjs.org/promptly
1220 silly registry.get cb [ 304,
1220 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1220 silly registry.get server: 'Apache',
1220 silly registry.get via: '1.1 varnish',
1220 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1220 silly registry.get 'cache-control': 'max-age=1',
1220 silly registry.get etag: '"7XQ80S52I0TQ5Y1XM3S96X706"',
1220 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1220 silly registry.get 'x-cache': 'HIT',
1220 silly registry.get 'x-cache-hits': '1',
1220 silly registry.get 'x-timer': 'S1400857648.451827,VS0,VE343',
1220 silly registry.get vary: 'Accept',
1220 silly registry.get 'content-length': '0',
1220 silly registry.get 'keep-alive': 'timeout=10, max=45',
1220 silly registry.get connection: 'Keep-Alive' } ]
1221 verbose etag promptly from cache
1222 silly addNameRange number 2 { name: 'promptly', range: '>=0.2.0- <0.3.0-', hasData: true }
1223 silly addNameRange versions [ 'promptly', [ '0.0.0', '0.0.1', '0.1.0', '0.2.0' ] ]
1224 verbose addNamed [ 'promptly', '0.2.0' ]
1225 verbose addNamed [ '0.2.0', '0.2.0' ]
1226 silly lockFile c940dc36-promptly-0-2-0 promptly@0.2.0
1227 verbose lock promptly@0.2.0 /root/.npm/c940dc36-promptly-0-2-0.lock
1228 verbose read json /root/.npm/promptly/0.2.0/package/package.json
1229 silly lockFile c940dc36-promptly-0-2-0 promptly@0.2.0
1230 silly lockFile c940dc36-promptly-0-2-0 promptly@0.2.0
1231 silly lockFile 6286f2d5-promptly-0-2-0 promptly@~0.2.0
1232 silly lockFile 6286f2d5-promptly-0-2-0 promptly@~0.2.0
1233 http 304 https://registry.npmjs.org/request
1234 silly registry.get cb [ 304,
1234 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1234 silly registry.get server: 'Apache',
1234 silly registry.get via: '1.1 varnish',
1234 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:28 GMT',
1234 silly registry.get 'cache-control': 'max-age=1',
1234 silly registry.get etag: '"4O75K7KOXW0FZN04B45251FQC"',
1234 silly registry.get 'x-served-by': 'cache-sn87-SIN',
1234 silly registry.get 'x-cache': 'HIT',
1234 silly registry.get 'x-cache-hits': '1',
1234 silly registry.get 'x-timer': 'S1400857648.594489,VS0,VE244',
1234 silly registry.get vary: 'Accept',
1234 silly registry.get 'content-length': '0',
1234 silly registry.get 'keep-alive': 'timeout=10, max=45',
1234 silly registry.get connection: 'Keep-Alive' } ]
1235 verbose etag request from cache
1236 silly addNameRange number 2 { name: 'request', range: '>=2.34.0- <2.35.0-', hasData: true }
1237 silly addNameRange versions [ 'request',
1237 silly addNameRange [ '0.10.0',
1237 silly addNameRange '0.8.3',
1237 silly addNameRange '0.9.0',
1237 silly addNameRange '0.9.1',
1237 silly addNameRange '0.9.5',
1237 silly addNameRange '1.0.0',
1237 silly addNameRange '1.1.0',
1237 silly addNameRange '1.1.1',
1237 silly addNameRange '1.2.0',
1237 silly addNameRange '1.9.0',
1237 silly addNameRange '1.9.1',
1237 silly addNameRange '1.9.2',
1237 silly addNameRange '1.9.3',
1237 silly addNameRange '1.9.5',
1237 silly addNameRange '1.9.7',
1237 silly addNameRange '1.9.8',
1237 silly addNameRange '1.9.9',
1237 silly addNameRange '2.0.0',
1237 silly addNameRange '2.0.1',
1237 silly addNameRange '2.0.2',
1237 silly addNameRange '2.0.3',
1237 silly addNameRange '2.0.4',
1237 silly addNameRange '2.0.5',
1237 silly addNameRange '2.1.0',
1237 silly addNameRange '2.1.1',
1237 silly addNameRange '2.2.0',
1237 silly addNameRange '2.2.5',
1237 silly addNameRange '2.2.6',
1237 silly addNameRange '2.2.9',
1237 silly addNameRange '2.9.0',
1237 silly addNameRange '2.9.1',
1237 silly addNameRange '2.9.2',
1237 silly addNameRange '2.9.3',
1237 silly addNameRange '2.9.100',
1237 silly addNameRange '2.9.150',
1237 silly addNameRange '2.9.151',
1237 silly addNameRange '2.9.152',
1237 silly addNameRange '2.9.153',
1237 silly addNameRange '2.9.200',
1237 silly addNameRange '2.9.201',
1237 silly addNameRange '2.9.202',
1237 silly addNameRange '2.9.203',
1237 silly addNameRange '2.10.0',
1237 silly addNameRange '2.11.0',
1237 silly addNameRange '2.11.1',
1237 silly addNameRange '2.11.2',
1237 silly addNameRange '2.11.3',
1237 silly addNameRange '2.11.4',
1237 silly addNameRange '2.12.0',
1237 silly addNameRange '2.14.0',
1237 silly addNameRange '2.16.0',
1237 silly addNameRange '2.16.2',
1237 silly addNameRange '2.16.4',
1237 silly addNameRange '2.16.6',
1237 silly addNameRange '2.18.0',
1237 silly addNameRange '2.19.0',
1237 silly addNameRange '2.20.0',
1237 silly addNameRange '2.21.0',
1237 silly addNameRange '2.22.0',
1237 silly addNameRange '2.23.0',
1237 silly addNameRange '2.24.0',
1237 silly addNameRange '2.25.0',
1237 silly addNameRange '2.26.0',
1237 silly addNameRange '2.27.0',
1237 silly addNameRange '2.28.0',
1237 silly addNameRange '2.29.0',
1237 silly addNameRange '2.30.0',
1237 silly addNameRange '2.31.0',
1237 silly addNameRange '2.32.0',
1237 silly addNameRange '2.33.0',
1237 silly addNameRange '2.34.0',
1237 silly addNameRange '2.35.0',
1237 silly addNameRange '2.36.0' ] ]
1238 verbose addNamed [ 'request', '2.34.0' ]
1239 verbose addNamed [ '2.34.0', '2.34.0' ]
1240 silly lockFile a8edf972-request-2-34-0 request@2.34.0
1241 verbose lock request@2.34.0 /root/.npm/a8edf972-request-2-34-0.lock
1242 verbose read json /root/.npm/request/2.34.0/package/package.json
1243 silly lockFile a8edf972-request-2-34-0 request@2.34.0
1244 silly lockFile a8edf972-request-2-34-0 request@2.34.0
1245 silly lockFile 1fb009df-request-2-34-0 request@~2.34.0
1246 silly lockFile 1fb009df-request-2-34-0 request@~2.34.0
1247 http 304 https://registry.npmjs.org/request-progress
1248 silly registry.get cb [ 304,
1248 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1248 silly registry.get server: 'Apache',
1248 silly registry.get via: '1.1 varnish',
1248 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1248 silly registry.get 'cache-control': 'max-age=1',
1248 silly registry.get etag: '"2WKUQLWDEA3BQ81OQNNS5NV4F"',
1248 silly registry.get 'x-served-by': 'cache-sn86-SIN',
1248 silly registry.get 'x-cache': 'MISS',
1248 silly registry.get 'x-cache-hits': '0',
1248 silly registry.get 'x-timer': 'S1400857648.775246,VS0,VE259',
1248 silly registry.get vary: 'Accept',
1248 silly registry.get 'content-length': '0',
1248 silly registry.get 'keep-alive': 'timeout=10, max=44',
1248 silly registry.get connection: 'Keep-Alive' } ]
1249 verbose etag request-progress from cache
1250 silly addNameRange number 2 { name: 'request-progress',
1250 silly addNameRange range: '>=0.3.0- <0.4.0-',
1250 silly addNameRange hasData: true }
1251 silly addNameRange versions [ 'request-progress',
1251 silly addNameRange [ '0.1.0',
1251 silly addNameRange '0.1.1',
1251 silly addNameRange '0.2.0',
1251 silly addNameRange '0.2.1',
1251 silly addNameRange '0.2.2',
1251 silly addNameRange '0.2.3',
1251 silly addNameRange '0.3.0',
1251 silly addNameRange '0.3.1' ] ]
1252 verbose addNamed [ 'request-progress', '0.3.1' ]
1253 verbose addNamed [ '0.3.1', '0.3.1' ]
1254 silly lockFile a2b190cd-request-progress-0-3-1 request-progress@0.3.1
1255 verbose lock request-progress@0.3.1 /root/.npm/a2b190cd-request-progress-0-3-1.lock
1256 verbose read json /root/.npm/request-progress/0.3.1/package/package.json
1257 silly lockFile a2b190cd-request-progress-0-3-1 request-progress@0.3.1
1258 silly lockFile a2b190cd-request-progress-0-3-1 request-progress@0.3.1
1259 silly lockFile 4fa06f6c-request-progress-0-3-0 request-progress@~0.3.0
1260 silly lockFile 4fa06f6c-request-progress-0-3-0 request-progress@~0.3.0
1261 http 304 https://registry.npmjs.org/rimraf
1262 silly registry.get cb [ 304,
1262 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1262 silly registry.get server: 'Apache',
1262 silly registry.get via: '1.1 varnish',
1262 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1262 silly registry.get 'cache-control': 'max-age=1',
1262 silly registry.get etag: '"1STEDQ3FCRDH7RYNOV8FGGQ3J"',
1262 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1262 silly registry.get 'x-cache': 'HIT',
1262 silly registry.get 'x-cache-hits': '1',
1262 silly registry.get 'x-timer': 'S1400857648.865752,VS0,VE245',
1262 silly registry.get vary: 'Accept',
1262 silly registry.get 'content-length': '0',
1262 silly registry.get 'keep-alive': 'timeout=10, max=44',
1262 silly registry.get connection: 'Keep-Alive' } ]
1263 verbose etag rimraf from cache
1264 silly addNameRange number 2 { name: 'rimraf', range: '>=2.2.0- <2.3.0-', hasData: true }
1265 silly addNameRange versions [ 'rimraf',
1265 silly addNameRange [ '1.0.0',
1265 silly addNameRange '1.0.1',
1265 silly addNameRange '1.0.2',
1265 silly addNameRange '1.0.4',
1265 silly addNameRange '1.0.5',
1265 silly addNameRange '1.0.6',
1265 silly addNameRange '1.0.7',
1265 silly addNameRange '1.0.8',
1265 silly addNameRange '1.0.9',
1265 silly addNameRange '2.0.0',
1265 silly addNameRange '2.0.1',
1265 silly addNameRange '2.0.2',
1265 silly addNameRange '2.0.3',
1265 silly addNameRange '2.1.0',
1265 silly addNameRange '2.1.1',
1265 silly addNameRange '2.1.2',
1265 silly addNameRange '2.1.3',
1265 silly addNameRange '2.1.4',
1265 silly addNameRange '2.2.0',
1265 silly addNameRange '2.2.1',
1265 silly addNameRange '2.2.2',
1265 silly addNameRange '2.2.3',
1265 silly addNameRange '2.2.4',
1265 silly addNameRange '2.2.5',
1265 silly addNameRange '2.2.6',
1265 silly addNameRange '2.2.8' ] ]
1266 verbose addNamed [ 'rimraf', '2.2.8' ]
1267 verbose addNamed [ '2.2.8', '2.2.8' ]
1268 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
1269 verbose lock rimraf@2.2.8 /root/.npm/b87241a4-rimraf-2-2-8.lock
1270 verbose read json /root/.npm/rimraf/2.2.8/package/package.json
1271 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
1272 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
1273 silly lockFile 69dbd68f-rimraf-2-2-0 rimraf@~2.2.0
1274 silly lockFile 69dbd68f-rimraf-2-2-0 rimraf@~2.2.0
1275 http 304 https://registry.npmjs.org/shell-quote
1276 silly registry.get cb [ 304,
1276 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1276 silly registry.get server: 'Apache',
1276 silly registry.get via: '1.1 varnish',
1276 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1276 silly registry.get 'cache-control': 'max-age=1',
1276 silly registry.get etag: '"D29OI0Q1ZFQ5W6G4PFWVENSTE"',
1276 silly registry.get 'x-served-by': 'cache-sn87-SIN',
1276 silly registry.get 'x-cache': 'HIT',
1276 silly registry.get 'x-cache-hits': '1',
1276 silly registry.get 'x-timer': 'S1400857648.931838,VS0,VE244',
1276 silly registry.get vary: 'Accept',
1276 silly registry.get 'content-length': '0',
1276 silly registry.get 'keep-alive': 'timeout=10, max=44',
1276 silly registry.get connection: 'Keep-Alive' } ]
1277 verbose etag shell-quote from cache
1278 silly addNameRange number 2 { name: 'shell-quote', range: '>=1.4.1- <1.5.0-', hasData: true }
1279 silly addNameRange versions [ 'shell-quote',
1279 silly addNameRange [ '0.0.0',
1279 silly addNameRange '0.0.1',
1279 silly addNameRange '0.1.0',
1279 silly addNameRange '0.1.1',
1279 silly addNameRange '1.0.0',
1279 silly addNameRange '1.1.0',
1279 silly addNameRange '1.2.0',
1279 silly addNameRange '1.3.0',
1279 silly addNameRange '1.3.1',
1279 silly addNameRange '1.3.2',
1279 silly addNameRange '1.3.3',
1279 silly addNameRange '1.4.0',
1279 silly addNameRange '1.4.1' ] ]
1280 verbose addNamed [ 'shell-quote', '1.4.1' ]
1281 verbose addNamed [ '1.4.1', '1.4.1' ]
1282 silly lockFile 9c5cf85e-shell-quote-1-4-1 shell-quote@1.4.1
1283 verbose lock shell-quote@1.4.1 /root/.npm/9c5cf85e-shell-quote-1-4-1.lock
1284 verbose read json /root/.npm/shell-quote/1.4.1/package/package.json
1285 silly lockFile 9c5cf85e-shell-quote-1-4-1 shell-quote@1.4.1
1286 silly lockFile 9c5cf85e-shell-quote-1-4-1 shell-quote@1.4.1
1287 http 304 https://registry.npmjs.org/retry
1288 silly registry.get cb [ 304,
1288 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1288 silly registry.get server: 'Apache',
1288 silly registry.get via: '1.1 varnish',
1288 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1288 silly registry.get 'cache-control': 'max-age=1',
1288 silly registry.get etag: '"CYGCHTT54PZV8D99ORYCFYHNQ"',
1288 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1288 silly registry.get 'x-cache': 'HIT',
1288 silly registry.get 'x-cache-hits': '1',
1288 silly registry.get 'x-timer': 'S1400857648.826784,VS0,VE355',
1288 silly registry.get vary: 'Accept',
1288 silly registry.get 'content-length': '0',
1288 silly registry.get 'keep-alive': 'timeout=10, max=45',
1288 silly registry.get connection: 'Keep-Alive' } ]
1289 verbose etag retry from cache
1290 silly lockFile cfbfb4a3-shell-quote-1-4-1 shell-quote@~1.4.1
1291 silly lockFile cfbfb4a3-shell-quote-1-4-1 shell-quote@~1.4.1
1292 silly addNameRange number 2 { name: 'retry', range: '>=0.6.0- <0.7.0-', hasData: true }
1293 silly addNameRange versions [ 'retry',
1293 silly addNameRange [ '0.0.1', '0.1.0', '0.2.0', '0.3.0', '0.4.0', '0.5.0', '0.6.0' ] ]
1294 verbose addNamed [ 'retry', '0.6.0' ]
1295 verbose addNamed [ '0.6.0', '0.6.0' ]
1296 silly lockFile 874cb068-retry-0-6-0 retry@0.6.0
1297 verbose lock retry@0.6.0 /root/.npm/874cb068-retry-0-6-0.lock
1298 verbose read json /root/.npm/retry/0.6.0/package/package.json
1299 silly lockFile 874cb068-retry-0-6-0 retry@0.6.0
1300 silly lockFile 874cb068-retry-0-6-0 retry@0.6.0
1301 silly lockFile 51b5c643-retry-0-6-0 retry@~0.6.0
1302 silly lockFile 51b5c643-retry-0-6-0 retry@~0.6.0
1303 http 304 https://registry.npmjs.org/semver
1304 silly registry.get cb [ 304,
1304 silly registry.get { date: 'Fri, 23 May 2014 15:07:28 GMT',
1304 silly registry.get server: 'Apache',
1304 silly registry.get via: '1.1 varnish',
1304 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1304 silly registry.get 'cache-control': 'max-age=1',
1304 silly registry.get etag: '"5T6MUUO9XMCIT4W783K8VECVS"',
1304 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1304 silly registry.get 'x-cache': 'HIT',
1304 silly registry.get 'x-cache-hits': '1',
1304 silly registry.get 'x-timer': 'S1400857648.889224,VS0,VE477',
1304 silly registry.get vary: 'Accept',
1304 silly registry.get 'content-length': '0',
1304 silly registry.get 'keep-alive': 'timeout=10, max=44',
1304 silly registry.get connection: 'Keep-Alive' } ]
1305 verbose etag semver from cache
1306 silly addNameRange number 2 { name: 'semver', range: '>=2.2.1- <2.3.0-', hasData: true }
1307 silly addNameRange versions [ 'semver',
1307 silly addNameRange [ '1.0.0',
1307 silly addNameRange '1.0.1',
1307 silly addNameRange '1.0.2',
1307 silly addNameRange '1.0.3',
1307 silly addNameRange '1.0.4',
1307 silly addNameRange '1.0.5',
1307 silly addNameRange '1.0.6',
1307 silly addNameRange '1.0.7',
1307 silly addNameRange '1.0.8',
1307 silly addNameRange '1.0.9',
1307 silly addNameRange '1.0.10',
1307 silly addNameRange '1.0.11',
1307 silly addNameRange '1.0.12',
1307 silly addNameRange '1.0.13',
1307 silly addNameRange '1.0.14',
1307 silly addNameRange '1.1.0',
1307 silly addNameRange '1.1.1',
1307 silly addNameRange '1.1.2',
1307 silly addNameRange '1.1.3',
1307 silly addNameRange '1.1.4',
1307 silly addNameRange '2.0.0-alpha',
1307 silly addNameRange '2.0.0-beta',
1307 silly addNameRange '2.0.1',
1307 silly addNameRange '2.0.2',
1307 silly addNameRange '2.0.3',
1307 silly addNameRange '2.0.4',
1307 silly addNameRange '2.0.5',
1307 silly addNameRange '2.0.6',
1307 silly addNameRange '2.0.7',
1307 silly addNameRange '2.0.8',
1307 silly addNameRange '2.0.9',
1307 silly addNameRange '2.0.10',
1307 silly addNameRange '2.0.11',
1307 silly addNameRange '2.1.0',
1307 silly addNameRange '2.2.0',
1307 silly addNameRange '2.2.1',
1307 silly addNameRange '2.3.0' ] ]
1308 verbose addNamed [ 'semver', '2.2.1' ]
1309 verbose addNamed [ '2.2.1', '2.2.1' ]
1310 silly lockFile 609d7676-semver-2-2-1 semver@2.2.1
1311 verbose lock semver@2.2.1 /root/.npm/609d7676-semver-2-2-1.lock
1312 verbose read json /root/.npm/semver/2.2.1/package/package.json
1313 silly lockFile 609d7676-semver-2-2-1 semver@2.2.1
1314 silly lockFile 609d7676-semver-2-2-1 semver@2.2.1
1315 silly lockFile 1708eccd-semver-2-2-1 semver@~2.2.1
1316 silly lockFile 1708eccd-semver-2-2-1 semver@~2.2.1
1317 http 304 https://registry.npmjs.org/stringify-object
1318 silly registry.get cb [ 304,
1318 silly registry.get { date: 'Fri, 23 May 2014 15:07:29 GMT',
1318 silly registry.get server: 'Apache',
1318 silly registry.get via: '1.1 varnish',
1318 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1318 silly registry.get 'cache-control': 'max-age=1',
1318 silly registry.get etag: '"EAVRKN9SV484EY5XMLJFQ6M7T"',
1318 silly registry.get 'x-served-by': 'cache-sn86-SIN',
1318 silly registry.get 'x-cache': 'HIT',
1318 silly registry.get 'x-cache-hits': '1',
1318 silly registry.get 'x-timer': 'S1400857649.131060,VS0,VE343',
1318 silly registry.get vary: 'Accept',
1318 silly registry.get 'content-length': '0',
1318 silly registry.get 'keep-alive': 'timeout=10, max=43',
1318 silly registry.get connection: 'Keep-Alive' } ]
1319 verbose etag stringify-object from cache
1320 silly addNameRange number 2 { name: 'stringify-object',
1320 silly addNameRange range: '>=0.2.0- <0.3.0-',
1320 silly addNameRange hasData: true }
1321 silly addNameRange versions [ 'stringify-object',
1321 silly addNameRange [ '0.1.0',
1321 silly addNameRange '0.1.1',
1321 silly addNameRange '0.1.2',
1321 silly addNameRange '0.1.3',
1321 silly addNameRange '0.1.4',
1321 silly addNameRange '0.1.5',
1321 silly addNameRange '0.1.6',
1321 silly addNameRange '0.1.7',
1321 silly addNameRange '0.1.8',
1321 silly addNameRange '0.2.0',
1321 silly addNameRange '0.2.1' ] ]
1322 verbose addNamed [ 'stringify-object', '0.2.1' ]
1323 verbose addNamed [ '0.2.1', '0.2.1' ]
1324 silly lockFile 8b60337e-stringify-object-0-2-1 stringify-object@0.2.1
1325 verbose lock stringify-object@0.2.1 /root/.npm/8b60337e-stringify-object-0-2-1.lock
1326 verbose read json /root/.npm/stringify-object/0.2.1/package/package.json
1327 silly lockFile 8b60337e-stringify-object-0-2-1 stringify-object@0.2.1
1328 silly lockFile 8b60337e-stringify-object-0-2-1 stringify-object@0.2.1
1329 silly lockFile 6527850d-stringify-object-0-2-0 stringify-object@~0.2.0
1330 silly lockFile 6527850d-stringify-object-0-2-0 stringify-object@~0.2.0
1331 http 304 https://registry.npmjs.org/update-notifier
1332 silly registry.get cb [ 304,
1332 silly registry.get { date: 'Fri, 23 May 2014 15:07:29 GMT',
1332 silly registry.get server: 'Apache',
1332 silly registry.get via: '1.1 varnish',
1332 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1332 silly registry.get 'cache-control': 'max-age=1',
1332 silly registry.get etag: '"6XCEVSCY3KNVE2QGOECMW87MB"',
1332 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1332 silly registry.get 'x-cache': 'HIT',
1332 silly registry.get 'x-cache-hits': '1',
1332 silly registry.get 'x-timer': 'S1400857649.284053,VS0,VE261',
1332 silly registry.get vary: 'Accept',
1332 silly registry.get 'content-length': '0',
1332 silly registry.get 'keep-alive': 'timeout=10, max=44',
1332 silly registry.get connection: 'Keep-Alive' } ]
1333 verbose etag update-notifier from cache
1334 silly addNameRange number 2 { name: 'update-notifier',
1334 silly addNameRange range: '>=0.1.8- <0.2.0-',
1334 silly addNameRange hasData: true }
1335 silly addNameRange versions [ 'update-notifier',
1335 silly addNameRange [ '0.1.0',
1335 silly addNameRange '0.1.1',
1335 silly addNameRange '0.1.2',
1335 silly addNameRange '0.1.3',
1335 silly addNameRange '0.1.4',
1335 silly addNameRange '0.1.5',
1335 silly addNameRange '0.1.6',
1335 silly addNameRange '0.1.7',
1335 silly addNameRange '0.1.8' ] ]
1336 verbose addNamed [ 'update-notifier', '0.1.8' ]
1337 verbose addNamed [ '0.1.8', '0.1.8' ]
1338 silly lockFile 6a3c539b-update-notifier-0-1-8 update-notifier@0.1.8
1339 verbose lock update-notifier@0.1.8 /root/.npm/6a3c539b-update-notifier-0-1-8.lock
1340 verbose read json /root/.npm/update-notifier/0.1.8/package/package.json
1341 silly lockFile 6a3c539b-update-notifier-0-1-8 update-notifier@0.1.8
1342 silly lockFile 6a3c539b-update-notifier-0-1-8 update-notifier@0.1.8
1343 silly lockFile 162cceb2-update-notifier-0-1-8 update-notifier@~0.1.8
1344 silly lockFile 162cceb2-update-notifier-0-1-8 update-notifier@~0.1.8
1345 http 304 https://registry.npmjs.org/tar
1346 silly registry.get cb [ 304,
1346 silly registry.get { date: 'Fri, 23 May 2014 15:07:29 GMT',
1346 silly registry.get server: 'Apache',
1346 silly registry.get via: '1.1 varnish',
1346 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1346 silly registry.get 'cache-control': 'max-age=1',
1346 silly registry.get etag: '"37OKGFYQ1HCUIWP3DR80PA6U8"',
1346 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1346 silly registry.get 'x-cache': 'HIT',
1346 silly registry.get 'x-cache-hits': '1',
1346 silly registry.get 'x-timer': 'S1400857649.214122,VS0,VE341',
1346 silly registry.get vary: 'Accept',
1346 silly registry.get 'content-length': '0',
1346 silly registry.get 'keep-alive': 'timeout=10, max=43',
1346 silly registry.get connection: 'Keep-Alive' } ]
1347 verbose etag tar from cache
1348 silly addNameRange number 2 { name: 'tar', range: '>=0.1.17- <0.2.0-', hasData: true }
1349 silly addNameRange versions [ 'tar',
1349 silly addNameRange [ '0.0.1',
1349 silly addNameRange '0.1.0',
1349 silly addNameRange '0.1.2',
1349 silly addNameRange '0.1.3',
1349 silly addNameRange '0.1.4',
1349 silly addNameRange '0.1.5',
1349 silly addNameRange '0.1.6',
1349 silly addNameRange '0.1.7',
1349 silly addNameRange '0.1.8',
1349 silly addNameRange '0.1.9',
1349 silly addNameRange '0.1.10',
1349 silly addNameRange '0.1.11',
1349 silly addNameRange '0.1.12',
1349 silly addNameRange '0.1.13',
1349 silly addNameRange '0.1.14',
1349 silly addNameRange '0.1.15',
1349 silly addNameRange '0.1.16',
1349 silly addNameRange '0.1.17',
1349 silly addNameRange '0.1.18',
1349 silly addNameRange '0.1.19' ] ]
1350 verbose addNamed [ 'tar', '0.1.19' ]
1351 verbose addNamed [ '0.1.19', '0.1.19' ]
1352 silly lockFile 9cd6579d-tar-0-1-19 tar@0.1.19
1353 verbose lock tar@0.1.19 /root/.npm/9cd6579d-tar-0-1-19.lock
1354 verbose read json /root/.npm/tar/0.1.19/package/package.json
1355 silly lockFile 9cd6579d-tar-0-1-19 tar@0.1.19
1356 silly lockFile 9cd6579d-tar-0-1-19 tar@0.1.19
1357 silly lockFile 27b9f27e-tar-0-1-17 tar@~0.1.17
1358 silly lockFile 27b9f27e-tar-0-1-17 tar@~0.1.17
1359 http 304 https://registry.npmjs.org/tmp
1360 silly registry.get cb [ 304,
1360 silly registry.get { date: 'Fri, 23 May 2014 15:07:29 GMT',
1360 silly registry.get server: 'Apache',
1360 silly registry.get via: '1.1 varnish',
1360 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1360 silly registry.get 'cache-control': 'max-age=1',
1360 silly registry.get etag: '"7EEX0B275AFWTKLXBU24JHYBQ"',
1360 silly registry.get 'x-served-by': 'cache-sn87-SIN',
1360 silly registry.get 'x-cache': 'HIT',
1360 silly registry.get 'x-cache-hits': '1',
1360 silly registry.get 'x-timer': 'S1400857649.275366,VS0,VE351',
1360 silly registry.get vary: 'Accept',
1360 silly registry.get 'content-length': '0',
1360 silly registry.get 'keep-alive': 'timeout=10, max=43',
1360 silly registry.get connection: 'Keep-Alive' } ]
1361 verbose etag tmp from cache
1362 silly addNameRange number 2 { name: 'tmp', range: '>=0.0.20- <0.1.0-', hasData: true }
1363 silly addNameRange versions [ 'tmp',
1363 silly addNameRange [ '0.0.1',
1363 silly addNameRange '0.0.2',
1363 silly addNameRange '0.0.3',
1363 silly addNameRange '0.0.4',
1363 silly addNameRange '0.0.5',
1363 silly addNameRange '0.0.6',
1363 silly addNameRange '0.0.7',
1363 silly addNameRange '0.0.8',
1363 silly addNameRange '0.0.9',
1363 silly addNameRange '0.0.10',
1363 silly addNameRange '0.0.11',
1363 silly addNameRange '0.0.12',
1363 silly addNameRange '0.0.13',
1363 silly addNameRange '0.0.14',
1363 silly addNameRange '0.0.15',
1363 silly addNameRange '0.0.16',
1363 silly addNameRange '0.0.17',
1363 silly addNameRange '0.0.18',
1363 silly addNameRange '0.0.20',
1363 silly addNameRange '0.0.21',
1363 silly addNameRange '0.0.22',
1363 silly addNameRange '0.0.23' ] ]
1364 verbose addNamed [ 'tmp', '0.0.23' ]
1365 verbose addNamed [ '0.0.23', '0.0.23' ]
1366 silly lockFile f7638ceb-tmp-0-0-23 tmp@0.0.23
1367 verbose lock tmp@0.0.23 /root/.npm/f7638ceb-tmp-0-0-23.lock
1368 verbose read json /root/.npm/tmp/0.0.23/package/package.json
1369 silly lockFile f7638ceb-tmp-0-0-23 tmp@0.0.23
1370 silly lockFile f7638ceb-tmp-0-0-23 tmp@0.0.23
1371 silly lockFile d5057ccc-tmp-0-0-20 tmp@~0.0.20
1372 silly lockFile d5057ccc-tmp-0-0-20 tmp@~0.0.20
1373 http 304 https://registry.npmjs.org/which
1374 silly registry.get cb [ 304,
1374 silly registry.get { date: 'Fri, 23 May 2014 15:07:29 GMT',
1374 silly registry.get server: 'Apache',
1374 silly registry.get via: '1.1 varnish',
1374 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1374 silly registry.get 'cache-control': 'max-age=1',
1374 silly registry.get etag: '"4U42AUANZD43I26W7W04SHTG3"',
1374 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1374 silly registry.get 'x-cache': 'HIT',
1374 silly registry.get 'x-cache-hits': '1',
1374 silly registry.get 'x-timer': 'S1400857649.467707,VS0,VE245',
1374 silly registry.get vary: 'Accept',
1374 silly registry.get 'content-length': '0',
1374 silly registry.get 'keep-alive': 'timeout=10, max=43',
1374 silly registry.get connection: 'Keep-Alive' } ]
1375 verbose etag which from cache
1376 silly addNameRange number 2 { name: 'which', range: '>=1.0.5- <1.1.0-', hasData: true }
1377 silly addNameRange versions [ 'which', [ '1.0.0', '1.0.1', '1.0.2', '1.0.3', '1.0.5' ] ]
1378 verbose addNamed [ 'which', '1.0.5' ]
1379 verbose addNamed [ '1.0.5', '1.0.5' ]
1380 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
1381 verbose lock which@1.0.5 /root/.npm/4aed4494-which-1-0-5.lock
1382 verbose read json /root/.npm/which/1.0.5/package/package.json
1383 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
1384 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
1385 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
1386 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
1387 http 304 https://registry.npmjs.org/abbrev
1388 silly registry.get cb [ 304,
1388 silly registry.get { date: 'Fri, 23 May 2014 15:07:29 GMT',
1388 silly registry.get server: 'Apache',
1388 silly registry.get via: '1.1 varnish',
1388 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1388 silly registry.get 'cache-control': 'max-age=1',
1388 silly registry.get etag: '"562MFFHMNLG6OBIB7FGGMIS35"',
1388 silly registry.get 'x-served-by': 'cache-sn86-SIN',
1388 silly registry.get 'x-cache': 'MISS',
1388 silly registry.get 'x-cache-hits': '0',
1388 silly registry.get 'x-timer': 'S1400857649.577430,VS0,VE244',
1388 silly registry.get vary: 'Accept',
1388 silly registry.get 'content-length': '0',
1388 silly registry.get 'keep-alive': 'timeout=10, max=42',
1388 silly registry.get connection: 'Keep-Alive' } ]
1389 verbose etag abbrev from cache
1390 silly addNameRange number 2 { name: 'abbrev', range: '>=1.0.4- <1.1.0-', hasData: true }
1391 silly addNameRange versions [ 'abbrev', [ '1.0.3', '1.0.4', '1.0.5' ] ]
1392 verbose addNamed [ 'abbrev', '1.0.5' ]
1393 verbose addNamed [ '1.0.5', '1.0.5' ]
1394 silly lockFile 55d90b2f-abbrev-1-0-5 abbrev@1.0.5
1395 verbose lock abbrev@1.0.5 /root/.npm/55d90b2f-abbrev-1-0-5.lock
1396 verbose read json /root/.npm/abbrev/1.0.5/package/package.json
1397 silly lockFile 55d90b2f-abbrev-1-0-5 abbrev@1.0.5
1398 silly lockFile 55d90b2f-abbrev-1-0-5 abbrev@1.0.5
1399 silly lockFile efa0e9e0-abbrev-1-0-4 abbrev@~1.0.4
1400 silly lockFile efa0e9e0-abbrev-1-0-4 abbrev@~1.0.4
1401 http 304 https://registry.npmjs.org/archy
1402 silly registry.get cb [ 304,
1402 silly registry.get { date: 'Fri, 23 May 2014 15:07:29 GMT',
1402 silly registry.get server: 'Apache',
1402 silly registry.get via: '1.1 varnish',
1402 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:29 GMT',
1402 silly registry.get 'cache-control': 'max-age=1',
1402 silly registry.get etag: '"1896SOVEFOO0AU9N6HHSVIPJK"',
1402 silly registry.get 'x-served-by': 'cache-sn88-SIN',
1402 silly registry.get 'x-cache': 'HIT',
1402 silly registry.get 'x-cache-hits': '1',
1402 silly registry.get 'x-timer': 'S1400857649.656029,VS0,VE255',
1402 silly registry.get vary: 'Accept',
1402 silly registry.get 'content-length': '0',
1402 silly registry.get 'keep-alive': 'timeout=10, max=43',
1402 silly registry.get connection: 'Keep-Alive' } ]
1403 verbose etag archy from cache
1404 silly addNameRange number 2 { name: 'archy', range: '>=0.0.2- <0.1.0-', hasData: true }
1405 silly addNameRange versions [ 'archy', [ '0.0.0', '0.0.1', '0.0.2' ] ]
1406 verbose addNamed [ 'archy', '0.0.2' ]
1407 verbose addNamed [ '0.0.2', '0.0.2' ]
1408 silly lockFile c97e9070-archy-0-0-2 archy@0.0.2
1409 verbose lock archy@0.0.2 /root/.npm/c97e9070-archy-0-0-2.lock
1410 verbose read json /root/.npm/archy/0.0.2/package/package.json
1411 silly lockFile c97e9070-archy-0-0-2 archy@0.0.2
1412 silly lockFile c97e9070-archy-0-0-2 archy@0.0.2
1413 silly lockFile 835d25e0-archy-0-0-2 archy@~0.0.2
1414 silly lockFile 835d25e0-archy-0-0-2 archy@~0.0.2
1415 silly resolved [ { name: 'bower-endpoint-parser',
1415 silly resolved version: '0.2.1',
1415 silly resolved description: 'Little module that helps with endpoints parsing.',
1415 silly resolved author: { name: 'Twitter' },
1415 silly resolved licenses: [ [Object] ],
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'git://github.com/bower/endpoint-parser.git' },
1415 silly resolved main: 'index.js',
1415 silly resolved engines: { node: '>=0.8.0' },
1415 silly resolved devDependencies: { 'expect.js': '~0.2.0', mocha: '~1.12.0', mout: '~0.6.0' },
1415 silly resolved scripts: { test: 'mocha -R spec' },
1415 silly resolved readme: '# endpoint-parser [![Build Status](https://secure.travis-ci.org/bower/endpoint-parser.png?branch=master)](http://travis-ci.org/bower/endpoint-parser)\n\nLittle module that helps with endpoints parsing.\n\n\n## API\n\n### .decompose(endpoint)\n\nDecomposes a endpoint into `name`, `source` and `target`.\n\n```js\nvar endpointParser = require(\'bower-endpoint-parser\');\n\nendpointParser.decompose(\'jquery#~2.0.0\');\n// { name: \'\', source: \'jquery\', target: \'~2.0.0\' }\n\nendpointParser.decompose(\'backbone=backbone-amd#~1.0.0\');\n// { name: \'backbone\', source: \'backbone-amd\', target: \'~1.0.0\' }\n\nendpointParser.decompose(\'http://twitter.github.io/bootstrap/assets/bootstrap.zip\');\n// { name: \'\', source: \'http://twitter.github.io/bootstrap/assets/bootstrap\', target: \'*\' }\n\nendpointParser.decompose(\'bootstrap=http://twitter.github.io/bootstrap/assets/bootstrap.zip\');\n// { name: \'bootstrap\', source: \'http://twitter.github.io/bootstrap/assets/bootstrap\', target: \'*\' }\n```\n\n### .compose(decEndpoint)\n\nInverse of `decompose()`. \nTakes a decomposed endpoint and composes it back into a string.\n\n```js\nvar endpointParser = require(\'bower-endpoint-parser\');\n\nendpointParser.compose({ name: \'\', source: \'jquery\', target: \'~2.0.0\' });\n// jquery#~2.0.0\n\nendpointParser.compose({ name: \'backbone\', source: \'backbone-amd\', target: \'~1.0.0\' });\n// backbone=backbone-amd#~1.0.0\n\nendpointParser.compose({ name: \'\', source: \'http://twitter.github.io/bootstrap/assets/bootstrap\', target: \'*\' });\n// http://twitter.github.io/bootstrap/assets/bootstrap.zip\n\nendpointParser.compose({ name: \'bootstrap\', source: \'http://twitter.github.io/bootstrap/assets/bootstrap\', target: \'*\' });\n// bootstrap=http://twitter.github.io/bootstrap/assets/bootstrap.zip\n```\n\n### .json2decomposed(key, value)\n\nSimilar to `decompose()` but specially designed to be used when parsing `bower.json` dependencies.\nFor instance, in a `bower.json` like this:\n\n```js\n{\n "name": "foo",\n "version": "0.1.0",\n "dependencies": {\n "jquery": "~1.9.1",\n "backbone": "backbone-amd#~1.0.0",\n "bootstrap": "http://twitter.github.io/bootstrap/assets/bootstrap"\n }\n}\n```\n\nYou would call `json2decomposed` like so:\n\n```js\nendpointParser.json2decomposed(\'jquery\', \'~1.9.1\');\n// { name: \'jquery\', source: \'jquery\', target: \'~1.9.1\' }\n\nendpointParser.json2decomposed(\'backbone\', \'backbone-amd#~1.0.0\');\n// { name: \'backbone\', source: \'backbone-amd\', target: \'~1.0.0\' }\n\nendpointParser.json2decomposed(\'bootstrap\', \'http://twitter.github.io/bootstrap/assets/bootstrap\');\n// { name: \'bootstrap\', source: \'http://twitter.github.io/bootstrap/assets/bootstrap\', target: \'*\' }\n```\n\n### .decomposed2json(decEndpoint)\n\nInverse of `json2decomposed()`. \nTakes a decomposed endpoint and composes it to be saved to `bower.json`.\n\n```js\nvar endpointParser = require(\'bower-endpoint-parser\');\n\nendpointParser.decomposed2json({ name: \'jquery\', source: \'jquery\', target: \'~2.0.0\' });\n// { jquery: \'~2.0.0\' }\n\nendpointParser.decomposed2json({ name: \'backbone\', source: \'backbone-amd\', target: \'~1.0.0\' });\n// { backbone: \'backbone-amd#~2.0.0\' }\n\nendpointParser.decomposed2json({ name: \'bootstrap\', source: \'http://twitter.github.io/bootstrap/assets/bootstrap\', target: \'*\' });\n// { bootstrap: \'http://twitter.github.io/bootstrap/assets/bootstrap\' }\n```\n\nThis function throws an exception if the `name` from the decomposed endpoint is empty.\n\n\n## License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'bower-endpoint-parser@0.2.1',
1415 silly resolved _from: 'bower-endpoint-parser@~0.2.0' },
1415 silly resolved { name: 'bower-json',
1415 silly resolved version: '0.4.0',
1415 silly resolved description: 'Read bower.json files with semantics, normalisation, defaults and validation.',
1415 silly resolved author: { name: 'Twitter' },
1415 silly resolved licenses: [ [Object] ],
1415 silly resolved repository: { type: 'git', url: 'git://github.com/bower/json.git' },
1415 silly resolved main: 'lib/json',
1415 silly resolved engines: { node: '>=0.8.0' },
1415 silly resolved dependencies:
1415 silly resolved { 'deep-extend': '~0.2.5',
1415 silly resolved 'graceful-fs': '~2.0.0',
1415 silly resolved intersect: '~0.0.3' },
1415 silly resolved devDependencies:
1415 silly resolved { 'expect.js': '~0.2.0',
1415 silly resolved mocha: '~1.12.0',
1415 silly resolved grunt: '~0.4.1',
1415 silly resolved 'grunt-contrib-watch': '~0.4.4',
1415 silly resolved 'grunt-contrib-jshint': '~0.6.0',
1415 silly resolved 'grunt-simple-mocha': '~0.4.0' },
1415 silly resolved scripts: { test: 'grunt test' },
1415 silly resolved readme: '# bower-json [![Build Status](https://secure.travis-ci.org/bower/json.png?branch=master)](http://travis-ci.org/bower/json)\n\nRead `bower.json` files with semantics, normalisation, defaults and validation.\n\n\n## Usage\n\n#### .read(file, options, callback)\n\nReads `file` and applies normalisation, defaults and validation according to the `bower.json` spec. \nIf the passed `file` does not exist, the callback is called with `error.code` equal to `ENOENT`. \nIf the passed `file` contents are not valid JSON, the callback is called with `error.code` equal to `EMALFORMED`. \nIf the `json` does not comply with the `bower.json` spec, the callback is called with `error.code` equal to `EINVALID`.\n\nIf `file` is a directory, `find()` will be used to search for the json file. \nThe `options` argument is optional and can be omitted. These options will be passed to `parse` method.\n\n\n```js\nvar bowerJson = require(\'bower-json\');\n\n// Can also be used by simply calling bowerJson()\nbowerJson.read(\'/path/to/bower.json\', function (err, json) {\n if (err) {\n console.error(\'There was an error reading the file\');\n console.error(err.message);\n return;\n }\n\n console.log(\'JSON: \', json);\n});\n```\n\n\n#### .parse(json, options)\n\nParses an object. Useful when you want to apply normalisation and validation directly to an object. \nIf the `json` does not comply with the `bower.json` spec, an error is thrown with `error.code` equal to `EINVALID`.\n\nThe `options` arguments is optional and can be omitted. Available options:\n\n- validate: Apply validation, defaults to `true`\n- normalize: Apply normalisation, defaults to `false`\n- clone: clone, use and return the passed in `json` object instead of using it directly, defaults to `false`\n\n\n```js\nvar bowerJson = require(\'bower-json\');\n\nvar json = {\n name: \'my-package\',\n version: \'0.0.1\'\n};\n\ntry {\n bowerJson.parse(json);\n} catch (err) {\n console.error(\'There was an error parsing the object\');\n console.error(err.message);\n}\n```\n\n\n#### .validate(json)\n\nValidates the passed `json` object. \nThrows an error with `error.code` equal to `EINVALID` if it does not comply with the spec.\n\n\n```js\nvar bowerJson = require(\'bower-json\');\n\nvar json = {\n name: \'my-package\',\n version: \'0.0.1\'\n};\n\ntry {\n bowerJson.validate(json);\n} catch (err) {\n console.error(\'There was an error validating the object\');\n console.error(err.message);\n}\n```\n\n\n#### .normalize(json)\n\n```js\nvar bowerJson = require(\'bower-json\');\n\nvar json = {\n name: \'my-package\',\n version: \'0.0.1\',\n main: \'foo.js,bar.js\'\n};\n\nbowerJson.nornalize(json);\njson.main // [\'foo.js\', \'bar.js\']\n```\n\n\n#### .find(folder, callback)\n\nFinds the `json` filename inside a folder. \nChecks if a `bower.json` exists, falling back to `component.json` (deprecated) and `.bower.json`. \nIf no file was found, the callback is called with a `error.code` of `ENOENT`.\n\n```js\nvar bowerJson = require(\'bower-json\');\n\nbowerJson.find(\'/path/to/folder\', function (err, filename) {\n if (err) {\n console.error(\'There is no json file in the folder\');\n return;\n }\n\n console.log(\'Filename: \', filename);\n\n // Now that we got the filename, we can read its contents\n bowerJson.read(filename, function (err, json) {\n if (err) {\n console.error(\'There was an error reading the file\');\n console.error(err.message);\n return;\n }\n\n console.log(\'JSON: \', json);\n });\n});\n```\n\n\n## License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'bower-json@0.4.0',
1415 silly resolved _from: 'bower-json@~0.4.0' },
1415 silly resolved { name: 'bower-config',
1415 silly resolved version: '0.5.1',
1415 silly resolved description: 'The Bower config reader and writer.',
1415 silly resolved author: { name: 'Twitter' },
1415 silly resolved licenses: [ [Object] ],
1415 silly resolved repository: { type: 'git', url: 'git://github.com/bower/config.git' },
1415 silly resolved main: 'lib/Config',
1415 silly resolved homepage: 'http://bower.io',
1415 silly resolved engines: { node: '>=0.8.0' },
1415 silly resolved dependencies:
1415 silly resolved { 'graceful-fs': '~2.0.0',
1415 silly resolved mout: '~0.9.0',
1415 silly resolved optimist: '~0.6.0',
1415 silly resolved osenv: '0.0.3' },
1415 silly resolved devDependencies: { 'expect.js': '~0.2.0', mocha: '~1.12.0' },
1415 silly resolved scripts: { test: 'mocha -R spec' },
1415 silly resolved readme: '# bower-config [![Build Status](https://secure.travis-ci.org/bower/config.png?branch=master)](http://travis-ci.org/bower/config)\n\nThe Bower config reader and writer. \nThe config spec can be read [here](https://docs.google.com/document/d/1APq7oA9tNao1UYWyOm8dKqlRP2blVkROYLZ2fLIjtWc/).\n\n\n## Usage\n\n#### .load()\n\nLoads the bower configuration from the configuration files.\n\n\n#### .get(key) - NOT YET IMPLEMENTED\n\nReturns a configuration value by `key`. \nKeys with dots are supported to access deep values.\n\n\n#### .set(key, value) - NOT YET IMPLEMENTED\n\nSets a configuration value for `key`. \nKeys with dots are supported to set deep values.\n\n\n#### .del(key) - NOT YET IMPLEMENTED\n\nRemoves configuration named `key`. \nKeys with dots are supported to delete deep keys.\n\n\n#### .save(where, callback) - NOT YET IMPLEMENTED\n\nSaves changes to `where`. \nThe `where` argument can be a path to a configuration file or:\n\n- `local` to save it in the configured current working directory (defaulting to `process.cwd`)\n- `user` to save it in the configuration file located in the home directory\n\n\n#### .toObject()\n\nReturns a deep copy of the underlying configuration object. \nThe returned configuration is normalised. \nThe object keys will be camelCase.\n\n\n#### #create(cwd)\n\nObtains a instance where `cwd` is the current working directory (defaults to `process.cwd`);\n\n```js\nvar config = require(\'bower-config\').create();\n// You can also specify a working directory\nvar config2 = require(\'bower-config\').create(\'./some/path\');\n```\n\n\n#### #read(cwd)\n\nAlias for:\n\n```js\nvar configObject = (new Config(cwd)).load().toJson();\n```\n\n\n#### #normalise(config)\n\nReturns a new normalised config object based on `config`. \nObject keys will be converted to camelCase.\n\n\n## License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'bower-config@0.5.1',
1415 silly resolved _from: 'bower-config@~0.5.0' },
1415 silly resolved { name: 'bower-registry-client',
1415 silly resolved version: '0.2.1',
1415 silly resolved description: 'Provides easy interaction with the Bower registry.',
1415 silly resolved author: { name: 'Twitter' },
1415 silly resolved licenses: [ [Object] ],
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'git://github.com/bower/registry-client.git' },
1415 silly resolved main: 'Client',
1415 silly resolved engines: { node: '>=0.8.0' },
1415 silly resolved dependencies:
1415 silly resolved { async: '~0.2.8',
1415 silly resolved 'bower-config': '~0.5.0',
1415 silly resolved 'graceful-fs': '~2.0.0',
1415 silly resolved 'lru-cache': '~2.3.0',
1415 silly resolved request: '~2.27.0',
1415 silly resolved 'request-replay': '~0.2.0',
1415 silly resolved rimraf: '~2.2.0',
1415 silly resolved mkdirp: '~0.3.5' },
1415 silly resolved devDependencies:
1415 silly resolved { 'expect.js': '~0.2.0',
1415 silly resolved grunt: '~0.4.1',
1415 silly resolved 'grunt-contrib-watch': '~0.5.0',
1415 silly resolved 'grunt-contrib-jshint': '~0.6.0',
1415 silly resolved 'grunt-simple-mocha': '~0.4.0',
1415 silly resolved mocha: '~1.12.0',
1415 silly resolved nock: '~0.22.0' },
1415 silly resolved scripts: { test: 'grunt test' },
1415 silly resolved readme: '# bower-registry-client [![Build Status](https://secure.travis-ci.org/bower/registry-client.png?branch=master)](http://travis-ci.org/bower/registry-client)\n\nThis module allows you to easily interact with the Bower server API.\n\n\n## Usage\n\n```js\n\nvar RegistryClient = require(\'bower-registry-client\');\nvar registry = new RegistryClient(options, logger);\n```\n\nThe `logger` is optional and is expected to be an instance of the bower [logger](https://github.com/bower/logger). \nAvailable constructor options:\n\n- `cache`: the cache folder to use for some operations; using null will disable persistent cache (defaults to bower registry cache folder)\n- `registry.search`: an array of registry search endpoints (defaults to the Bower server)\n- `registry.register`: the endpoint to use when registering packages (defaults to the Bower server)\n- `registry.publish`: the endpoint to use when publishing packages (defaults to the Bower server)\n- `ca.search`: an array of CA certificates for each registry.search (defaults to null).\n- `ca.register`: the CA certificate for registry.register\n- `ca.publish`: the CA certificate for registry.publish\n- `proxy`: the proxy to use for http requests (defaults to null)\n- `httpsProxy`: the proxy to use for https requests (defaults to null)\n- `strictSsl`: whether or not to do SSL key validation when making requests via https (defaults to true).\n- `userAgent`: the user agent to use for the requests (defaults to null)\n- `timeout`: the timeout for the requests to finish (defaults to 60000)\n- `force`: If set to true, cache will be bypassed and remotes will always be hit (defaults to false).\n- `offline`: If set to true, only the cache will be used (defaults to false).\n\n\nNote that `force` and `offline` are mutually exclusive.\nThe cache will speedup operations such as `list`, `lookup` and `search`.\nDifferent operations may have different cache expiration times.\n\n\n#### .lookup(name, callback)\n\nLooks the registry for the package `name`,\n\n```js\nregistry.lookup(\'jquery\', function (err, entry) {\n if (err) {\n console.error(err.message);\n return;\n }\n\n // For now resp.type is always \'alias\'\n console.log(\'type\', entry.type);\n console.log(\'url\', entry.url);\n});\n```\n\n#### .register(name, url, callback)\n\nRegisters a package in the registry.\n\n```js\nregistry.register(\'my-package\', \'git://github.com/my-org/my-package.git\', function (err, pkg) {\n if (err) {\n console.error(err.message);\n return;\n }\n\n console.log(\'name\', pkg.name);\n console.log(\'url: \', pkg.url);\n});\n```\n\n#### .search(str, callback)\n\nSearches the registry.\n\n```js\nregistry.search(\'jquery\', function (err, results) {\n if (err) {\n console.error(err.message);\n return;\n }\n\n results.forEach(function (pkg) {\n console.log(\'name\', pkg.name);\n console.log(\'url\', pkg.url);\n });\n});\n```\n\n#### .clearCache(name, callback)\n\nClears the persistent and runtime cache associated with the `name` package. \nIf `name` is null, clears the cache for every package.\n\nNote that in most cases, you don\'t need to clear the cache since it has\nself expiration times.\n\n```js\n// Clear jquery cache\nregistry.clearCache(\'jquery\', function (err) {\n if (err) {\n console.error(err.message);\n return;\n }\n\n console.log(\'Done\');\n});\n\n// Clear all cache\nregistry.clearCache(function (err) {\n if (err) {\n console.error(err.message);\n return;\n }\n\n console.log(\'Done\');\n});\n```\n\n\n#### .resetCache()\n\nClears the in-memory cache used to speed up the instance.\n\nNote that in most cases, you don\'t need to clear the runtime cache since it has\nself expiration times.\nMight be useful if you use this module in long-living programs.\n\n```js\nregistry.resetCache();\n```\n\n#### #clearRuntimeCache()\n\nClears the in-memory cache used to speed up the whole module.\nThis clears the static in-memory cache as well as in-memory cache used by instances.\n\nNote that in edge cases, some instance\'s in-memory cache might be skipped.\nIf that\'s a problem, you should create fresh instances instead.\n\n```js\nRegistryClient.clearRuntimeCache();\n```\n\n\n\n## License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'bower-registry-client@0.2.1',
1415 silly resolved _from: 'bower-registry-client@~0.2.0' },
1415 silly resolved { name: 'bower-logger',
1415 silly resolved version: '0.2.2',
1415 silly resolved description: 'The logger used in the various architecture components of Bower.',
1415 silly resolved author: { name: 'Twitter' },
1415 silly resolved licenses: [ [Object] ],
1415 silly resolved repository: { type: 'git', url: 'git://github.com/bower/logger.git' },
1415 silly resolved main: 'lib/Logger',
1415 silly resolved engines: { node: '>=0.8.0' },
1415 silly resolved devDependencies: { 'expect.js': '~0.2.0', mocha: '~1.12.0' },
1415 silly resolved scripts: { test: 'mocha -R spec' },
1415 silly resolved readme: '# bower-logger [![Build Status](https://secure.travis-ci.org/bower/logger.png?branch=master)](http://travis-ci.org/bower/logger)\n\nThe logger used in the various architecture components of Bower.\n\n\n## Usage\n\n### .error(id, message, data)\n\nAlias to `.log(\'error\', id. message, data)`\n\n\n### .conflict(id, message, data)\n\nAlias to `.log(\'conflict\', id. message, data)`\n\n\n### .warn(id, message, data)\n\nAlias to `.log(\'warn\', id. message, data)`\n\n\n### .action(id, message, data)\n\nAlias to `.log(\'action\', id. message, data)`\n\n\n### .info(id, message, data)\n\nAlias to `.log(\'info\', id. message, data)`\n\n\n### .debug(id, message, data)\n\nAlias to `.log(\'debug\', id. message, data)`\n\n\n### .log(level, id, message, data)\n\nEmits a `log` event, with an object like so:\n\n```js\nlogger.log(\'warn\', \'foo\', \'bar\', { dog: \'loves cat\' })\n{\n level: \'warn\',\n id: \'foo\',\n message: \'bar\',\n data: {\n dog: \'loves cat\'\n }\n}\n```\n\n\n### .prompt(prompts, callback)\n\nEmits a `prompt` event with an array of `prompts` with a `callback`. \n`prompts` can be an object or an array of objects. The `callback` will be called with an\nthe answer or an object of answers (if prompts was only one or an array respectively).\nThe `callback` is guaranteed to run only once.\n\n```js\nlogger.on(\'prompt\', function (prompts, callback) {\n // "prompts" is always an array of prompts\n // Call "callback" with an object of answers when done\n\n // In this example, we will use the inquirer module to do the\n // prompting for us\n inquirer(prompts, callback);\n})\n\nlogger.prompt({\n type: \'input\' // Can be \'input\', \'confirm\' or \'password\'\n message: \'Type something\',\n validate: function (value) {\n if (value !== \'I am awesome\') {\n return \'You must type "I am awesome"\'\n }\n\n return true;\n }\n}, function (err, answer) {\n // Error will only happen on unsupported \'type\'\n if (err) {\n return console.error(err.message);\n }\n\n console.log(answer);\n});\n\n\n```\n\n\n### .pipe(logger)\n\nPipes all logger events to another logger. \nBasically all events emitted with `.emit()` will get piped.\n\n\n### .geminate()\n\nCreates a new logger that pipes events to the parent logger. \nAlias for `(new Logger()).pipe(logger)`.\n\n\n### .intercept(fn)\n\nIntercepts `log` events, calling `fn` before listeners of the instance.\n\n\n### #LEVELS\n\nA static property that contains an object where keys are the recognized log levels and values their importance. \nThe higher the importance, the more important the level is.\n\n\n## License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'bower-logger@0.2.2',
1415 silly resolved _from: 'bower-logger@~0.2.2' },
1415 silly resolved { name: 'cardinal',
1415 silly resolved version: '0.4.4',
1415 silly resolved description: 'Syntax highlights JavaScript code with ANSI colors to be printed to the terminal.',
1415 silly resolved main: 'cardinal.js',
1415 silly resolved scripts:
1415 silly resolved { test: 'tap ./test/*.js',
1415 silly resolved demo: 'node examples/highlight-string.js; node examples/highlight-self; node examples/highlight-self-hide-semicolons;' },
1415 silly resolved bin: { cdl: './bin/cdl.js' },
1415 silly resolved repository: { type: 'git', url: 'git://github.com/thlorenz/cardinal.git' },
1415 silly resolved keywords:
1415 silly resolved [ 'syntax',
1415 silly resolved 'highlight',
1415 silly resolved 'theme',
1415 silly resolved 'javascript',
1415 silly resolved 'json',
1415 silly resolved 'terminal',
1415 silly resolved 'console',
1415 silly resolved 'print',
1415 silly resolved 'output' ],
1415 silly resolved author:
1415 silly resolved { name: 'Thorsten Lorenz',
1415 silly resolved email: 'thlorenz@gmx.de',
1415 silly resolved url: 'thlorenz.com' },
1415 silly resolved license: 'MIT',
1415 silly resolved dependencies: { redeyed: '~0.4.0', ansicolors: '~0.2.1' },
1415 silly resolved devDependencies: { tap: '~0.3.1', readdirp: '~0.2.1' },
1415 silly resolved readme: '# cardinal [![Build Status](https://secure.travis-ci.org/thlorenz/cardinal.png)](http://travis-ci.org/thlorenz/cardinal)\n\n[![NPM](https://nodei.co/npm/cardinal.png?downloads=true&stars=true)](https://nodei.co/npm/cardinal/)\n\n**car·di·nal** *(kärdn-l, kärdnl)* - crested thick-billed North American finch having bright red plumage in the male.\n\n![screenshot](https://github.com/thlorenz/cardinal/raw/master/assets/screen-shot.png)\n\n## Features\n\n- highlights JavaScript code with ANSI colors to improve terminal output\n- theming support, see [custom color themes](https://github.com/thlorenz/cardinal/tree/master/themes)\n- optionally print line numbers\n- API and command line interface (`cdl`)\n- `.cardinalrc` config to customize settings\n- supports UNIX pipes\n\n***\n\n**Table of Contents** *generated with [DocToc](http://doctoc.herokuapp.com/)*\n\n- [Installation](#installation)\n - [As library](#as-library)\n - [As Commandline Tool](#as-commandline-tool)\n- [Commandline](#commandline)\n - [Highlight a file](#highlight-a-file)\n - [As part of a UNIX pipe](#as-part-of-a-unix-pipe)\n - [Theme](#theme)\n- [API](#api)\n - [*highlight(code[, opts])*](#highlightcode-opts)\n - [*highlightFileSync(fullPath[, opts])*](#highlightfilesyncfullpath-opts)\n - [*highlightFile(fullPath[, opts], callback)*](#highlightfilefullpath-opts-callback)\n - [opts](#opts)\n- [Examples ([*browse*](https://github.com/thlorenz/cardinal/tree/master/examples))](#examples-[browse]https://githubcom/thlorenz/cardinal/tree/master/examples)\n\n\n## Installation\n\n### As library\n\n npm install cardinal\n\n### As Commandline Tool\n\n [sudo] npm install -g cardinal\n\n**Note:** \n\nWhen installed globally, cardinal exposes itself as the `cdl` command.\n\n## Commandline\n\n### Highlight a file\n\n cdl <file.js> [options]\n\n**options**:\n - `--nonum`: turns off line number printing (relevant if it is turned on inside `~/.cardinalrc`\n\n### As part of a UNIX pipe\n\n cat file.js | grep console | cdl\n\n**Note:**\n\nNot all code lines may be parsable JavaScript. In these cases the line is printed to the terminal without\nhighlighting it.\n\n### Theme\n\nThe default theme will be used for highlighting.\n\nTo use a different theme, include a `.cardinalrc` file in your `HOME` directory.\n\nThis is a JSON file of the following form:\n\n```json\n{\n "theme": "hide-semicolons",\n "linenos": true|false\n}\n```\n\n- `theme` can be the name of any of the [built-in themes](https://github.com/thlorenz/cardinal/tree/master/themes) or the\nfull path to a custom theme anywhere on your computer.\n- linenos toggles line number printing\n\n## API\n\n### *highlight(code[, opts])*\n\n- returns the highlighted version of the passed code ({String}) or throws an error if it was not able to parse it\n- opts (see below)\n\n### *highlightFileSync(fullPath[, opts])*\n\n- returns the highlighted version of the file whose fullPath ({String}) was passed or throws an error if it was not able\n to parse it\n- opts (see below)\n\n### *highlightFile(fullPath[, opts], callback)*\n\n- calls back with the highlighted version of the file whose fullPath ({String}) was passed or with an error if it was not able\n to parse it\n- opts (see below)\n- `callback` ({Function}) has the following signature: `function (err, highlighted) { .. }`\n\n### opts\n\nopts is an {Object} with the following properties:\n\n- `theme` {Object} is used to optionally override the theme used to highlight\n- `linenos` {Boolean} if `true` line numbers are included in the highlighted code\n- `firstline` {Integer} sets line number of the first line when line numbers are printed\n- `json` {Boolean} if `true` highlights JSON in addition to JavaScript (`true` by default if file extension is `.json`)\n\n## Examples ([*browse*](https://github.com/thlorenz/cardinal/tree/master/examples))\n\n- [sample .cardinalrc](https://github.com/thlorenz/cardinal/blob/master/examples/.cardinalrc)\n- [highlighting a code snippet](https://github.com/thlorenz/cardinal/blob/master/examples/highlight-string.js) via\n ***highlight()***\n- [file that highlights itself](https://github.com/thlorenz/cardinal/blob/master/examples/highlight-self.js) via\n ***highlightFile()*** including line numbers\n- [file that highlights itself hiding all\n semicolons](https://github.com/thlorenz/cardinal/blob/master/examples/highlight-self-hide-semicolons.js) via\n ***highlightFileSync()***\n\n\n\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/thlorenz/cardinal/trend.png)](https://bitdeli.com/free "Bitdeli Badge")\n\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'cardinal@0.4.4',
1415 silly resolved _from: 'cardinal@~0.4.0' },
1415 silly resolved { name: 'chalk',
1415 silly resolved version: '0.4.0',
1415 silly resolved description: 'Terminal string styling done right. Created because the `colors` module does some really horrible things.',
1415 silly resolved license: 'MIT',
1415 silly resolved repository: { type: 'git', url: 'sindresorhus/chalk' },
1415 silly resolved author:
1415 silly resolved { name: 'Sindre Sorhus',
1415 silly resolved email: 'sindresorhus@gmail.com',
1415 silly resolved url: 'http://sindresorhus.com' },
1415 silly resolved engines: { node: '>=0.8.0' },
1415 silly resolved scripts: { test: 'mocha' },
1415 silly resolved files: [ 'index.js' ],
1415 silly resolved keywords:
1415 silly resolved [ 'color',
1415 silly resolved 'colour',
1415 silly resolved 'colors',
1415 silly resolved 'terminal',
1415 silly resolved 'console',
1415 silly resolved 'cli',
1415 silly resolved 'string',
1415 silly resolved 'ansi',
1415 silly resolved 'styles',
1415 silly resolved 'tty',
1415 silly resolved 'formatting',
1415 silly resolved 'rgb',
1415 silly resolved '256',
1415 silly resolved 'shell',
1415 silly resolved 'xterm',
1415 silly resolved 'log',
1415 silly resolved 'logging',
1415 silly resolved 'command-line',
1415 silly resolved 'text' ],
1415 silly resolved dependencies:
1415 silly resolved { 'has-color': '~0.1.0',
1415 silly resolved 'ansi-styles': '~1.0.0',
1415 silly resolved 'strip-ansi': '~0.1.0' },
1415 silly resolved devDependencies: { mocha: '~1.x' },
1415 silly resolved readme: '# <img width="250" src="logo.png" alt="chalk">\n\n> Terminal string styling done right\n\n[![Build Status](https://secure.travis-ci.org/sindresorhus/chalk.png?branch=master)](http://travis-ci.org/sindresorhus/chalk)\n\n[colors.js](https://github.com/Marak/colors.js) is currently the most popular string styling module, but it has serious deficiencies like extending String.prototype which causes all kinds of [problems](https://github.com/yeoman/yo/issues/68). Although there are other ones, they either do too much or not enough.\n\n**Chalk is a clean and focused alternative.**\n\n![screenshot](screenshot.png)\n\n\n## Why\n\n- **Doesn\'t extend String.prototype**\n- Expressive API\n- Clean and focused\n- Auto-detects color support\n- Actively maintained\n- [Used by 150+ modules](https://npmjs.org/browse/depended/chalk)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/chalk): `npm install --save chalk`\n\n\n## Example\n\nChalk comes with an easy to use composable API where you just chain and nest the styles you want.\n\n```js\nvar chalk = require(\'chalk\');\n\n// style a string\nconsole.log( chalk.blue(\'Hello world!\') );\n\n// combine styled and normal strings\nconsole.log( chalk.blue(\'Hello\'), \'World\' + chalk.red(\'!\') );\n\n// compose multiple styles using the chainable API\nconsole.log( chalk.blue.bgRed.bold(\'Hello world!\') );\n\n// nest styles\nconsole.log( chalk.red(\'Hello\', chalk.underline.bgBlue(\'world\') + \'!\') );\n\n// pass in multiple arguments\nconsole.log( chalk.blue(\'Hello\', \'World!\', \'Foo\', \'bar\', \'biz\', \'baz\') );\n```\n\nYou can easily define your own themes.\n\n```js\nvar chalk = require(\'chalk\');\nvar error = chalk.bold.red;\nconsole.log(error(\'Error!\'));\n```\n\n\n## API\n\n### chalk.`<style>[.<style>...](string, [string...])`\n\nExample: `chalk.red.bold.underline(\'Hello\', \'world\');`\n\nChain [styles](#styles) and call the last one as a method with a string argument. Order doesn\'t matter.\n\nMultiple arguments will be separated by space.\n\n### chalk.enabled\n\nColor support is automatically detected, but you can override it.\n\n### chalk.supportsColor\n\nDetect whether the terminal [supports color](https://github.com/sindresorhus/has-color).\n\nCan be overridden by the user with the flags `--color` and `--no-color`.\n\nUsed internally and handled for you, but exposed for convenience.\n\n### chalk.styles\n\nExposes the styles as [ANSI escape codes](https://github.com/sindresorhus/ansi-styles).\n\nGenerally not useful, but you might need just the `.open` or `.close` escape code if you\'re mixing externally styled strings with yours.\n\n```js\nvar chalk = require(\'chalk\');\n\nconsole.log(chalk.styles.red);\n//=> {open: \'\\x1b[31m\', close: \'\\x1b[39m\'}\n\nconsole.log(chalk.styles.red.open + \'Hello\' + chalk.styles.red.close);\n```\n\n### chalk.stripColor(string)\n\n[Strip color](https://github.com/sindresorhus/strip-ansi) from a string.\n\nCan be useful in combination with `.supportsColor` to strip color on externally styled text when it\'s not supported.\n\nExample:\n\n```js\nvar chalk = require(\'chalk\');\nvar styledString = fromExternal();\n\nif (!chalk.supportsColor) {\n\tchalk.stripColor(styledString);\n}\n```\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n\n\n-\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/sindresorhus/chalk/trend.png)](https://bitdeli.com/free "Bitdeli Badge")\n',
1415 silly resolved readmeFilename: 'readme.md',
1415 silly resolved _id: 'chalk@0.4.0',
1415 silly resolved _from: 'chalk@~0.4.0' },
1415 silly resolved { name: 'decompress-zip',
1415 silly resolved version: '0.0.7',
1415 silly resolved description: 'A library for reading data from zip files',
1415 silly resolved main: 'lib/decompress-zip.js',
1415 silly resolved scripts: { test: 'grunt test' },
1415 silly resolved bin: { 'decompress-zip': 'bin/decompress-zip' },
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'https://github.com/bower/decompress-zip.git' },
1415 silly resolved engines: { node: '>=0.8.0' },
1415 silly resolved keywords:
1415 silly resolved [ 'zip',
1415 silly resolved 'unzip',
1415 silly resolved 'tar',
1415 silly resolved 'untar',
1415 silly resolved 'compress',
1415 silly resolved 'decompress',
1415 silly resolved 'archive',
1415 silly resolved 'extract',
1415 silly resolved 'zlib' ],
1415 silly resolved author: { name: 'The Bower authors' },
1415 silly resolved licenses: [ [Object] ],
1415 silly resolved bugs: { url: 'https://github.com/bower/decompress-zip/issues' },
1415 silly resolved devDependencies:
1415 silly resolved { 'grunt-exec': '~0.4.2',
1415 silly resolved chai: '~1.8.0',
1415 silly resolved 'grunt-contrib-jshint': '~0.6.2',
1415 silly resolved 'grunt-contrib-watch': '~0.5.1',
1415 silly resolved grunt: '~0.4.1',
1415 silly resolved istanbul: '~0.1.43',
1415 silly resolved 'grunt-simple-mocha': '~0.4.0',
1415 silly resolved mocha: '~1.13.0',
1415 silly resolved glob: '~3.2.6',
1415 silly resolved tmp: '0.0.21',
1415 silly resolved request: '~2.27.0' },
1415 silly resolved dependencies:
1415 silly resolved { q: '~1.0.0',
1415 silly resolved mkpath: '~0.1.0',
1415 silly resolved binary: '~0.3.0',
1415 silly resolved touch: '0.0.2',
1415 silly resolved 'readable-stream': '~1.1.8',
1415 silly resolved nopt: '~2.2.0',
1415 silly resolved 'graceful-fs': '~2.0.3' },
1415 silly resolved readme: '# decompress-zip [![Build Status](https://secure.travis-ci.org/bower/decompress-zip.png?branch=master)](http://travis-ci.org/bower/decompress-zip) [![Dependency Status](https://david-dm.org/bower/decompress-zip.png)](https://david-dm.org/bower/decompress-zip)\n\nExtract files from a ZIP archive\n\n## Usage\n\n### .extract(options)\n\nExtracts the contents of the ZIP archive `file`.\n\nReturns an EventEmitter with two possible events - `error` on an error, and `extract` when the extraction has completed. The value passed to the `extract` event is a basic log of each file and how it was compressed.\n\n**Options**\n- **path** *String* - Path to extract into (default `.`)\n- **follow** *Boolean* - If true, rather than create stored symlinks as symlinks make a shallow copy of the target instead (default `false`)\n- **filter** *Function* - A function that will be called once for each file in the archive. It takes one argument which is an object containing details of the file. Return true for any file that you want to extract, and false otherwise. (default `null`)\n- **strip** *Number* - Remove leading folders in the path structure. Equivalent to `--strip-components` for tar.\n\n```js\nvar DecompressZip = require(\'decompress-zip\');\nvar unzipper = new DecompressZip(filename)\n\nunzipper.on(\'error\', function (err) {\n console.log(\'Caught an error\');\n});\n\nunzipper.on(\'extract\', function (log) {\n console.log(\'Finished extracting\');\n});\n\nunzipper.extract({\n path: \'some/path\',\n filter: function (file) {\n return file.type !== "SymbolicLink";\n }\n});\n```\n\nIf `path` does not exist, decompress-zip will attempt to create it first.\n\n### .list()\n\nMuch like extract, except:\n- the success event is `list`\n- the data for the event is an array of paths\n- no files are actually extracted\n- there are no options\n\n```js\nvar DecompressZip = require(\'decompress-zip\');\nvar unzipper = new DecompressZip(filename)\n\nunzipper.on(\'error\', function (err) {\n console.log(\'Caught an error\');\n});\n\nunzipper.on(\'list\', function (files) {\n console.log(\'The archive contains:\');\n console.log(files);\n});\n\nunzipper.list();\n```\n\n## License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'decompress-zip@0.0.7',
1415 silly resolved _from: 'decompress-zip@~0.0.6' },
1415 silly resolved { author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me/' },
1415 silly resolved name: 'fstream',
1415 silly resolved description: 'Advanced file system stream things',
1415 silly resolved version: '0.1.25',
1415 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/fstream.git' },
1415 silly resolved main: 'fstream.js',
1415 silly resolved engines: { node: '>=0.6' },
1415 silly resolved dependencies:
1415 silly resolved { rimraf: '2',
1415 silly resolved mkdirp: '0.3',
1415 silly resolved 'graceful-fs': '~2.0.0',
1415 silly resolved inherits: '~2.0.0' },
1415 silly resolved devDependencies: { tap: '' },
1415 silly resolved scripts: { test: 'tap examples/*.js' },
1415 silly resolved license: 'BSD',
1415 silly resolved readme: 'Like FS streams, but with stat on them, and supporting directories and\nsymbolic links, as well as normal files. Also, you can use this to set\nthe stats on a file, even if you don\'t change its contents, or to create\na symlink, etc.\n\nSo, for example, you can "write" a directory, and it\'ll call `mkdir`. You\ncan specify a uid and gid, and it\'ll call `chown`. You can specify a\n`mtime` and `atime`, and it\'ll call `utimes`. You can call it a symlink\nand provide a `linkpath` and it\'ll call `symlink`.\n\nNote that it won\'t automatically resolve symbolic links. So, if you\ncall `fstream.Reader(\'/some/symlink\')` then you\'ll get an object\nthat stats and then ends immediately (since it has no data). To follow\nsymbolic links, do this: `fstream.Reader({path:\'/some/symlink\', follow:\ntrue })`.\n\nThere are various checks to make sure that the bytes emitted are the\nsame as the intended size, if the size is set.\n\n## Examples\n\n```javascript\nfstream\n .Writer({ path: "path/to/file"\n , mode: 0755\n , size: 6\n })\n .write("hello\\n")\n .end()\n```\n\nThis will create the directories if they\'re missing, and then write\n`hello\\n` into the file, chmod it to 0755, and assert that 6 bytes have\nbeen written when it\'s done.\n\n```javascript\nfstream\n .Writer({ path: "path/to/file"\n , mode: 0755\n , size: 6\n , flags: "a"\n })\n .write("hello\\n")\n .end()\n```\n\nYou can pass flags in, if you want to append to a file.\n\n```javascript\nfstream\n .Writer({ path: "path/to/symlink"\n , linkpath: "./file"\n , SymbolicLink: true\n , mode: "0755" // octal strings supported\n })\n .end()\n```\n\nIf isSymbolicLink is a function, it\'ll be called, and if it returns\ntrue, then it\'ll treat it as a symlink. If it\'s not a function, then\nany truish value will make a symlink, or you can set `type:\n\'SymbolicLink\'`, which does the same thing.\n\nNote that the linkpath is relative to the symbolic link location, not\nthe parent dir or cwd.\n\n```javascript\nfstream\n .Reader("path/to/dir")\n .pipe(fstream.Writer("path/to/other/dir"))\n```\n\nThis will do like `cp -Rp path/to/dir path/to/other/dir`. If the other\ndir exists and isn\'t a directory, then it\'ll emit an error. It\'ll also\nset the uid, gid, mode, etc. to be identical. In this way, it\'s more\nlike `rsync -a` than simply a copy.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'fstream@0.1.25',
1415 silly resolved _from: 'fstream@~0.1.22' },
1415 silly resolved { author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me/' },
1415 silly resolved name: 'fstream-ignore',
1415 silly resolved description: 'A thing for ignoring files based on globs',
1415 silly resolved version: '0.0.8',
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'git://github.com/isaacs/fstream-ignore.git' },
1415 silly resolved main: 'ignore.js',
1415 silly resolved scripts: { test: 'tap test/*.js' },
1415 silly resolved dependencies: { fstream: '~0.1.17', inherits: '2', minimatch: '^0.3.0' },
1415 silly resolved devDependencies: { tap: '', rimraf: '', mkdirp: '' },
1415 silly resolved license: 'BSD',
1415 silly resolved readme: '# fstream-ignore\n\nA fstream DirReader that filters out files that match globs in `.ignore`\nfiles throughout the tree, like how git ignores files based on a\n`.gitignore` file.\n\nHere\'s an example:\n\n```javascript\nvar Ignore = require("fstream-ignore")\nIgnore({ path: __dirname\n , ignoreFiles: [".ignore", ".gitignore"]\n })\n .on("child", function (c) {\n console.error(c.path.substr(c.root.path.length + 1))\n })\n .pipe(tar.Pack())\n .pipe(fs.createWriteStream("foo.tar"))\n```\n\nThis will tar up the files in __dirname into `foo.tar`, ignoring\nanything matched by the globs in any .iginore or .gitignore file.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'fstream-ignore@0.0.8',
1415 silly resolved _from: 'fstream-ignore@~0.0.6' },
1415 silly resolved { author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me/' },
1415 silly resolved name: 'glob',
1415 silly resolved description: 'a little globber',
1415 silly resolved version: '3.2.11',
1415 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
1415 silly resolved main: 'glob.js',
1415 silly resolved engines: { node: '*' },
1415 silly resolved dependencies: { inherits: '2', minimatch: '0.3' },
1415 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
1415 silly resolved scripts:
1415 silly resolved { test: 'tap test/*.js',
1415 silly resolved 'test-regen': 'TEST_REGEN=1 node test/00-setup.js' },
1415 silly resolved license: 'BSD',
1415 silly resolved readme: '# Glob\n\nMatch files using the patterns the shell uses, like stars and stuff.\n\nThis is a glob implementation in JavaScript. It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there\'s an event emitter class, proper tests, and all the other\nthings you\'ve come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require("glob")\n\n// options is optional\nglob("**/*.js", options, function (er, files) {\n // files is an array of filenames.\n // If the `nonull` option is set, and nothing\n // was found, then files is ["**/*.js"]\n // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options])\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require("glob").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt\'s an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered. When an error is encountered, the\n glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`. There\n is no way at this time to continue a glob search after aborting, but\n you can re-use the statCache to avoid having to duplicate syscalls.\n* `statCache` Collection of all the stat results the glob search\n performed.\n* `cache` Convenience object. Each field has the following possible\n values:\n * `false` - Path does not exist\n * `true` - Path exists\n * `1` - Path exists, and is not a directory\n * `2` - Path exists, and is a directory\n * `[file, entries, ...]` - Path exists, is a directory, and the\n array value is the results of `fs.readdir`\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n matches found. If the `nonull` option is set, and no match was found,\n then the `matches` list contains the original pattern. The matches\n are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior. Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search. Defaults\n to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix\n systems, and `C:\\` or some such on Windows.)\n* `dot` Include `.dot` files in normal matches and `globstar` matches.\n Note that an explicit dot in a portion of the pattern will always\n match dot files.\n* `nomount` By default, a pattern starting with a forward-slash will be\n "mounted" onto the root setting, so that a valid filesystem path is\n returned. Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches. Note that this\n requires additional stat calls.\n* `nosort` Don\'t sort the results.\n* `stat` Set to true to stat *all* results. This reduces performance\n somewhat, and is completely unnecessary, unless `readdir` is presumed\n to be an untrustworthy indicator of file existence. It will cause\n ELOOP to be triggered one level sooner in the case of cyclical\n symbolic links.\n* `silent` When an unusual error is encountered\n when attempting to read a directory, a warning will be printed to\n stderr. Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n when attempting to read a directory, the process will just continue on\n in search of other matches. Set the `strict` option to raise an error\n in these cases.\n* `cache` See `cache` property above. Pass in a previously generated\n cache object to save some fs calls.\n* `statCache` A cache of results of filesystem information, to prevent\n unnecessary stat calls. While it should not normally be necessary to\n set this, you may pass the statCache from one glob() call to the\n options object of another, if you know that the filesystem will not\n change between calls. (See "Race Conditions" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n same file showing up multiple times in the result set. By default,\n this implementation prevents duplicates in the result set.\n Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n containing the pattern itself. This is the default in glob(3).\n* `nocase` Perform a case-insensitive match. Note that case-insensitive\n filesystems will sometimes result in glob returning results that are\n case-insensitively matched anyway, since readdir and stat will not\n raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`glob.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation. You must use\nforward-slashes **only** in glob expressions. Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`. On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead. However, this also makes it even more susceptible to races,\nespecially if the cache or statCache objects are reused between glob\ncalls.\n\nUsers are thus advised not to use a glob result as a guarantee of\nfilesystem state in the face of rapid changes. For the vast majority\nof operations, this is never a problem.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'glob@3.2.11',
1415 silly resolved _from: 'glob@~3.2.9' },
1415 silly resolved { author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me/' },
1415 silly resolved name: 'chmodr',
1415 silly resolved description: 'like `chmod -R`',
1415 silly resolved version: '0.1.0',
1415 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/chmodr.git' },
1415 silly resolved main: 'chmodr.js',
1415 silly resolved devDependencies: { tap: '0.2', mkdirp: '0.3', rimraf: '' },
1415 silly resolved scripts: { test: 'tap test/*.js' },
1415 silly resolved license: 'BSD',
1415 silly resolved readme: 'Like `chmod -R`.\n\nTakes the same arguments as `fs.chmod()`\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'chmodr@0.1.0',
1415 silly resolved _from: 'chmodr@~0.1.0' },
1415 silly resolved { author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me' },
1415 silly resolved name: 'graceful-fs',
1415 silly resolved description: 'A drop-in replacement for fs, making various improvements.',
1415 silly resolved version: '2.0.3',
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
1415 silly resolved main: 'graceful-fs.js',
1415 silly resolved engines: { node: '>=0.4.0' },
1415 silly resolved directories: { test: 'test' },
1415 silly resolved scripts: { test: 'tap test/*.js' },
1415 silly resolved keywords:
1415 silly resolved [ 'fs',
1415 silly resolved 'module',
1415 silly resolved 'reading',
1415 silly resolved 'retry',
1415 silly resolved 'retries',
1415 silly resolved 'queue',
1415 silly resolved 'error',
1415 silly resolved 'errors',
1415 silly resolved 'handling',
1415 silly resolved 'EMFILE',
1415 silly resolved 'EAGAIN',
1415 silly resolved 'EINVAL',
1415 silly resolved 'EPERM',
1415 silly resolved 'EACCESS' ],
1415 silly resolved license: 'BSD',
1415 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* Queues up `open` and `readdir` calls, and retries them once\n something closes if there is an EMFILE error from too many file\n descriptors.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn\'t root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'graceful-fs@2.0.3',
1415 silly resolved _from: 'graceful-fs@~2.0.0' },
1415 silly resolved { name: 'handlebars',
1415 silly resolved barename: 'handlebars',
1415 silly resolved version: '1.3.0',
1415 silly resolved description: 'Handlebars provides the power necessary to let you build semantic templates effectively with no frustration',
1415 silly resolved homepage: 'http://www.handlebarsjs.com/',
1415 silly resolved keywords: [ 'handlebars', 'mustache', 'template', 'html' ],
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'https://github.com/wycats/handlebars.js.git' },
1415 silly resolved author: { name: 'Yehuda Katz' },
1415 silly resolved license: 'MIT',
1415 silly resolved readmeFilename: 'README.markdown',
1415 silly resolved engines: { node: '>=0.4.7' },
1415 silly resolved dependencies: { optimist: '~0.3', 'uglify-js': '~2.3' },
1415 silly resolved optionalDependencies: { 'uglify-js': '~2.3' },
1415 silly resolved devDependencies:
1415 silly resolved { async: '~0.2.9',
1415 silly resolved 'aws-sdk': '~1.5.0',
1415 silly resolved benchmark: '~1.0',
1415 silly resolved 'dustjs-linkedin': '~2.0.2',
1415 silly resolved eco: '~1.1.0-rc-3',
1415 silly resolved grunt: '~0.4.1',
1415 silly resolved 'grunt-cli': '~0.1.10',
1415 silly resolved 'grunt-contrib-clean': '~0.4.1',
1415 silly resolved 'grunt-contrib-concat': '~0.3.0',
1415 silly resolved 'grunt-contrib-connect': '~0.5.0',
1415 silly resolved 'grunt-contrib-copy': '~0.4.1',
1415 silly resolved 'grunt-contrib-jshint': '0.x',
1415 silly resolved 'grunt-contrib-requirejs': '~0.4.1',
1415 silly resolved 'grunt-contrib-uglify': '~0.2.2',
1415 silly resolved 'grunt-contrib-watch': '~0.5.3',
1415 silly resolved 'grunt-saucelabs': '~4.1.2',
1415 silly resolved 'es6-module-packager': '0.x',
1415 silly resolved jison: '~0.3.0',
1415 silly resolved 'keen.io': '0.0.3',
1415 silly resolved mocha: '*',
1415 silly resolved mustache: '~0.7.2',
1415 silly resolved semver: '~2.1.0',
1415 silly resolved underscore: '~1.5.1' },
1415 silly resolved main: 'lib/index.js',
1415 silly resolved bin: { handlebars: 'bin/handlebars' },
1415 silly resolved scripts: { test: 'grunt' },
1415 silly resolved readme: '[![Travis Build Status](https://travis-ci.org/wycats/handlebars.js.png?branch=master)](https://travis-ci.org/wycats/handlebars.js)\n[![Selenium Test Status](https://saucelabs.com/buildstatus/handlebars)](https://saucelabs.com/u/handlebars)\n\nHandlebars.js\n=============\n\nHandlebars.js is an extension to the [Mustache templating\nlanguage](http://mustache.github.com/) created by Chris Wanstrath.\nHandlebars.js and Mustache are both logicless templating languages that\nkeep the view and the code separated like we all know they should be.\n\nCheckout the official Handlebars docs site at\n[http://www.handlebarsjs.com](http://www.handlebarsjs.com).\n\nInstalling\n----------\nInstalling Handlebars is easy. Simply download the package [from the official site](http://handlebarsjs.com/) or the [bower repository][bower-repo] and add it to your web pages (you should usually use the most recent version).\n\nAlternatively, if you prefer having the latest version of handlebars from\nthe \'master\' branch, passing builds of the \'master\' branch are automatically\npublished to S3. You may download the latest passing master build by grabbing\na `handlebars-latest.js` file from the [builds page][builds-page]. When the\nbuild is published, it is also available as a `handlebars-gitSHA.js` file on\nthe builds page if you need a version to refer to others.\n`handlebars-runtime.js` builds are also available.\n\n**Note**: The S3 builds page is provided as a convenience for the community,\nbut you should not use it for hosting Handlebars in production.\n\nUsage\n-----\nIn general, the syntax of Handlebars.js templates is a superset\nof Mustache templates. For basic syntax, check out the [Mustache\nmanpage](http://mustache.github.com/mustache.5.html).\n\nOnce you have a template, use the `Handlebars.compile` method to compile\nthe template into a function. The generated function takes a context\nargument, which will be used to render the template.\n\n```js\nvar source = "<p>Hello, my name is {{name}}. I am from {{hometown}}. I have " +\n "{{kids.length}} kids:</p>" +\n "<ul>{{#kids}}<li>{{name}} is {{age}}</li>{{/kids}}</ul>";\nvar template = Handlebars.compile(source);\n\nvar data = { "name": "Alan", "hometown": "Somewhere, TX",\n "kids": [{"name": "Jimmy", "age": "12"}, {"name": "Sally", "age": "4"}]};\nvar result = template(data);\n\n// Would render:\n// <p>Hello, my name is Alan. I am from Somewhere, TX. I have 2 kids:</p>\n// <ul>\n// <li>Jimmy is 12</li>\n// <li>Sally is 4</li>\n// </ul>\n```\n\n\nRegistering Helpers\n-------------------\n\nYou can register helpers that Handlebars will use when evaluating your\ntemplate. Here\'s an example, which assumes that your objects have a URL\nembedded in them, as well as the text for a link:\n\n```js\nHandlebars.registerHelper(\'link_to\', function() {\n return "<a href=\'" + this.url + "\'>" + this.body + "</a>";\n});\n\nvar context = { posts: [{url: "/hello-world", body: "Hello World!"}] };\nvar source = "<ul>{{#posts}}<li>{{{link_to}}}</li>{{/posts}}</ul>"\n\nvar template = Handlebars.compile(source);\ntemplate(context);\n\n// Would render:\n//\n// <ul>\n// <li><a href=\'/hello-world\'>Hello World!</a></li>\n// </ul>\n```\n\nHelpers take precedence over fields defined on the context. To access a field\nthat is masked by a helper, a path reference may be used. In the example above\na field named `link_to` on the `context` object would be referenced using:\n\n```\n{{./link_to}}\n```\n\nEscaping\n--------\n\nBy default, the `{{expression}}` syntax will escape its contents. This\nhelps to protect you against accidental XSS problems caused by malicious\ndata passed from the server as JSON.\n\nTo explicitly *not* escape the contents, use the triple-mustache\n(`{{{}}}`). You have seen this used in the above example.\n\n\nDifferences Between Handlebars.js and Mustache\n----------------------------------------------\nHandlebars.js adds a couple of additional features to make writing\ntemplates easier and also changes a tiny detail of how partials work.\n\n### Paths\n\nHandlebars.js supports an extended expression syntax that we call paths.\nPaths are made up of typical expressions and . characters. Expressions\nallow you to not only display data from the current context, but to\ndisplay data from contexts that are descendants and ancestors of the\ncurrent context.\n\nTo display data from descendant contexts, use the `.` character. So, for\nexample, if your data were structured like:\n\n```js\nvar data = {"person": { "name": "Alan" }, "company": {"name": "Rad, Inc." } };\n```\n\nYou could display the person\'s name from the top-level context with the\nfollowing expression:\n\n```\n{{person.name}}\n```\n\nYou can backtrack using `../`. For example, if you\'ve already traversed\ninto the person object you could still display the company\'s name with\nan expression like `{{../company.name}}`, so:\n\n```\n{{#person}}{{name}} - {{../company.name}}{{/person}}\n```\n\nwould render:\n\n```\nAlan - Rad, Inc.\n```\n\n### Strings\n\nWhen calling a helper, you can pass paths or Strings as parameters. For\ninstance:\n\n```js\nHandlebars.registerHelper(\'link_to\', function(title, options) {\n return "<a href=\'/posts" + this.url + "\'>" + title + "!</a>"\n});\n\nvar context = { posts: [{url: "/hello-world", body: "Hello World!"}] };\nvar source = \'<ul>{{#posts}}<li>{{{link_to "Post"}}}</li>{{/posts}}</ul>\'\n\nvar template = Handlebars.compile(source);\ntemplate(context);\n\n// Would render:\n//\n// <ul>\n// <li><a href=\'/posts/hello-world\'>Post!</a></li>\n// </ul>\n```\n\nWhen you pass a String as a parameter to a helper, the literal String\ngets passed to the helper function.\n\n\n### Block Helpers\n\nHandlebars.js also adds the ability to define block helpers. Block\nhelpers are functions that can be called from anywhere in the template.\nHere\'s an example:\n\n```js\nvar source = "<ul>{{#people}}<li>{{#link}}{{name}}{{/link}}</li>{{/people}}</ul>";\nHandlebars.registerHelper(\'link\', function(options) {\n return \'<a href="/people/\' + this.id + \'">\' + options.fn(this) + \'</a>\';\n});\nvar template = Handlebars.compile(source);\n\nvar data = { "people": [\n { "name": "Alan", "id": 1 },\n { "name": "Yehuda", "id": 2 }\n ]};\ntemplate(data);\n\n// Should render:\n// <ul>\n// <li><a href="/people/1">Alan</a></li>\n// <li><a href="/people/2">Yehuda</a></li>\n// </ul>\n```\n\nWhenever the block helper is called it is given one or more parameters,\nany arguments that are passed in the helper in the call and an `options`\nobject containing the `fn` function which executes the block\'s child.\nThe block\'s current context may be accessed through `this`.\n\nBlock helpers have the same syntax as mustache sections but should not be\nconfused with one another. Sections are akin to an implicit `each` or\n`with` statement depending on the input data and helpers are explicit\npieces of code that are free to implement whatever behavior they like.\nThe [mustache spec](http://mustache.github.io/mustache.5.html)\ndefines the exact behavior of sections. In the case of name conflicts,\nhelpers are given priority.\n\n### Partials\n\nYou can register additional templates as partials, which will be used by\nHandlebars when it encounters a partial (`{{> partialName}}`). Partials\ncan either be String templates or compiled template functions. Here\'s an\nexample:\n\n```js\nvar source = "<ul>{{#people}}<li>{{> link}}</li>{{/people}}</ul>";\n\nHandlebars.registerPartial(\'link\', \'<a href="/people/{{id}}">{{name}}</a>\')\nvar template = Handlebars.compile(source);\n\nvar data = { "people": [\n { "name": "Alan", "id": 1 },\n { "name": "Yehuda", "id": 2 }\n ]};\n\ntemplate(data);\n\n// Should render:\n// <ul>\n// <li><a href="/people/1">Alan</a></li>\n// <li><a href="/people/2">Yehuda</a></li>\n// </ul>\n```\n\n### Comments\n\nYou can add comments to your templates with the following syntax:\n\n```js\n{{! This is a comment }}\n```\n\nYou can also use real html comments if you want them to end up in the output.\n\n```html\n<div>\n {{! This comment will not end up in the output }}\n <!-- This comment will show up in the output -->\n</div>\n```\n\n\nPrecompiling Templates\n----------------------\n\nHandlebars allows templates to be precompiled and included as javascript\ncode rather than the handlebars template allowing for faster startup time.\n\n### Installation\nThe precompiler script may be installed via npm using the `npm install -g handlebars`\ncommand.\n\n### Usage\n\n<pre>\nPrecompile handlebar templates.\nUsage: handlebars template...\n\nOptions:\n -a, --amd Create an AMD format function (allows loading with RequireJS) [boolean]\n -f, --output Output File [string]\n -k, --known Known helpers [string]\n -o, --knownOnly Known helpers only [boolean]\n -m, --min Minimize output [boolean]\n -s, --simple Output template function only. [boolean]\n -r, --root Template root. Base value that will be stripped from template names. [string]\n -c, --commonjs Exports CommonJS style, path to Handlebars module [string]\n -h, --handlebarPath Path to handlebar.js (only valid for amd-style) [string]\n -n, --namespace Template namespace [string]\n -p, --partial Compiling a partial template [boolean]\n -d, --data Include data when compiling [boolean]\n -e, --extension Template extension. [string]\n -b, --bom Removes the BOM (Byte Order Mark) from the beginning of the templates. [boolean]\n</pre>\n\nIf using the precompiler\'s normal mode, the resulting templates will be\nstored to the `Handlebars.templates` object using the relative template\nname sans the extension. These templates may be executed in the same\nmanner as templates.\n\nIf using the simple mode the precompiler will generate a single\njavascript method. To execute this method it must be passed to the using\nthe `Handlebars.template` method and the resulting object may be as\nnormal.\n\n### Optimizations\n\n- Rather than using the full _handlebars.js_ library, implementations that\n do not need to compile templates at runtime may include _handlebars.runtime.js_\n whose min+gzip size is approximately 1k.\n- If a helper is known to exist in the target environment they may be defined\n using the `--known name` argument may be used to optimize accesses to these\n helpers for size and speed.\n- When all helpers are known in advance the `--knownOnly` argument may be used\n to optimize all block helper references.\n- Implementations that do not use `@data` variables can improve performance of\n iteration centric templates by specifying `{data: false}` in the compiler options.\n\nSupported Environments\n----------------------\n\nHandlebars has been designed to work in any ECMAScript 3 environment. This includes\n\n- Node.js\n- Chrome\n- Firefox\n- Safari 5+\n- Opera 11+\n- IE 6+\n\nOlder versions and other runtimes are likely to work but have not been formally\ntested.\n\n[![Selenium Test Status](https://saucelabs.com/browser-matrix/handlebars.svg)](https://saucelabs.com/u/handlebars)\n\nPerformance\n-----------\n\nIn a rough performance test, precompiled Handlebars.js templates (in\nthe original version of Handlebars.js) rendered in about half the\ntime of Mustache templates. It would be a shame if it were any other\nway, since they were precompiled, but the difference in architecture\ndoes have some big performance advantages. Justin Marney, a.k.a.\n[gotascii](http://github.com/gotascii), confirmed that with an\n[independent test](http://sorescode.com/2010/09/12/benchmarks.html). The\nrewritten Handlebars (current version) is faster than the old version,\nand we will have some benchmarks in the near future.\n\n\nBuilding\n--------\n\nTo build handlebars, just run `grunt build`, and the build will output to the `dist` directory.\n\n\nUpgrading\n---------\n\nSee [release-notes.md](https://github.com/wycats/handlebars.js/blob/master/release-notes.md) for upgrade notes.\n\nKnown Issues\n------------\n* Handlebars.js can be cryptic when there\'s an error while rendering.\n* Using a variable, helper, or partial named `class` causes errors in IE browsers. (Instead, use `className`)\n\nHandlebars in the Wild\n----------------------\n\n* [Assemble](http://assemble.io), by [@jonschlinkert](https://github.com/jonschlinkert)\n and [@doowb](https://github.com/doowb), is a static site generator that uses Handlebars.js\n as its template engine.\n* [CoSchedule](http://coschedule.com) An editorial calendar for WordPress that uses Handlebars.js\n* [Ember.js](http://www.emberjs.com) makes Handlebars.js the primary way to\n structure your views, also with automatic data binding support.\n* [Ghost](https://ghost.org/) Just a blogging platform.\n* [handlebars_assets](http://github.com/leshill/handlebars_assets): A Rails Asset Pipeline gem\n from Les Hill (@leshill).\n* [handlebars-helpers](https://github.com/assemble/handlebars-helpers) is an extensive library\n with 100+ handlebars helpers.\n* [hbs](http://github.com/donpark/hbs): An Express.js view engine adapter for Handlebars.js,\n from Don Park.\n* [jblotus](http://github.com/jblotus) created [http://tryhandlebarsjs.com](http://tryhandlebarsjs.com)\n for anyone who would like to try out Handlebars.js in their browser.\n* [jQuery plugin](http://71104.github.io/jquery-handlebars/): allows you to use\n Handlebars.js with [jQuery](http://jquery.com/).\n* [Lumbar](http://walmartlabs.github.io/lumbar) provides easy module-based template management for\n handlebars projects.\n* [sammy.js](http://github.com/quirkey/sammy) by Aaron Quint, a.k.a. quirkey,\n supports Handlebars.js as one of its template plugins.\n* [SproutCore](http://www.sproutcore.com) uses Handlebars.js as its main\n templating engine, extending it with automatic data binding support.\n* [YUI](http://yuilibrary.com/yui/docs/handlebars/) implements a port of handlebars\n* [Swag](https://github.com/elving/swag) by [@elving](https://github.com/elving) is a growing collection of helpers for handlebars.js. Give your handlebars.js templates some swag son!\n* [DOMBars](https://github.com/blakeembrey/dombars) is a DOM-based templating engine built on the Handlebars parser and runtime\n\nExternal Resources\n------------------\n\n* [Gist about Synchronous and asynchronous loading of external handlebars templates](https://gist.github.com/2287070)\n\nHave a project using Handlebars? Send us a [pull request][pull-request]!\n\nHelping Out\n-----------\n\nTo build Handlebars.js you\'ll need a few things installed.\n\n* Node.js\n* [Grunt](http://gruntjs.com/getting-started)\n\nProject dependencies may be installed via `npm install`.\n\nTo build Handlebars.js from scratch, you\'ll want to run `grunt`\nin the root of the project. That will build Handlebars and output the\nresults to the dist/ folder. To re-run tests, run `grunt test` or `npm test`.\nYou can also run our set of benchmarks with `grunt bench`.\n\nThe `grunt dev` implements watching for tests and allows for in browser testing at `http://localhost:9999/spec/`.\n\nIf you notice any problems, please report them to the GitHub issue tracker at\n[http://github.com/wycats/handlebars.js/issues](http://github.com/wycats/handlebars.js/issues).\nFeel free to contact commondream or wycats through GitHub with any other\nquestions or feature requests. To submit changes fork the project and\nsend a pull request.\n\n### Ember testing\n\nThe current ember distribution should be tested as part of the handlebars release process. This requires building the `handlebars-source` gem locally and then executing the ember test script.\n\n```sh\ngrunt build release\nexport HANDLEBARS_PATH=`pwd`\n\ncd $emberRepoDir\nbundle exec rake clean\nbundle exec rake test\n```\n\n### Releasing\n\nHandlebars utilizes the [release yeoman generator][generator-release] to perform most release tasks.\n\nA full release may be completed with the following:\n\n```\nyo release:notes patch\nyo release:release patch\nnpm publish\nyo release:publish cdnjs handlebars.js dist/cdnjs/\nyo release:publish components handlebars.js dist/components/\n\ncd dist/components/\ngem build handlebars-source.gemspec\ngem push handlebars-source-*.gem\n```\n\nAfter this point the handlebars site needs to be updated to point to the new version numbers.\n\nLicense\n-------\nHandlebars.js is released under the MIT license.\n\n[bower-repo]: https://github.com/components/handlebars.js\n[builds-page]: http://builds.handlebarsjs.com.s3.amazonaws.com/bucket-listing.html?sort=lastmod&sortdir=desc\n[generator-release]: https://github.com/walmartlabs/generator-release\n[pull-request]: https://github.com/wycats/handlebars.js/pull/new/master\n',
1415 silly resolved _id: 'handlebars@1.3.0',
1415 silly resolved _from: 'handlebars@~1.3.0' },
1415 silly resolved { name: 'inquirer',
1415 silly resolved version: '0.4.1',
1415 silly resolved description: 'A collection of common interactive command line user interfaces.',
1415 silly resolved main: 'lib/inquirer.js',
1415 silly resolved scripts: { test: 'grunt --verbose' },
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'git://github.com/SBoudrias/Inquirer.js.git' },
1415 silly resolved keywords: [ 'command', 'prompt', 'stdin', 'cli' ],
1415 silly resolved author: { name: 'Simon Boudrias', email: 'admin@simonboudrias.com' },
1415 silly resolved license: 'MIT',
1415 silly resolved dependencies:
1415 silly resolved { lodash: '~2.4.1',
1415 silly resolved async: '~0.2.8',
1415 silly resolved 'cli-color': '~0.2.2',
1415 silly resolved 'mute-stream': '0.0.4',
1415 silly resolved through: '~2.3.4',
1415 silly resolved readline2: '~0.1.0' },
1415 silly resolved devDependencies:
1415 silly resolved { grunt: '~0.4.1',
1415 silly resolved 'grunt-cli': '~0.1.8',
1415 silly resolved mocha: '~1.17.1',
1415 silly resolved chai: '~1.9.0',
1415 silly resolved 'grunt-contrib-jshint': '~0.8.0',
1415 silly resolved sinon: '~1.7.2',
1415 silly resolved 'grunt-release': '~0.6.0',
1415 silly resolved mockery: '~1.4.0',
1415 silly resolved 'grunt-mocha-test': '~0.9.0',
1415 silly resolved cmdify: '0.0.4' },
1415 silly resolved readme: 'Inquirer.js [![Build Status](https://travis-ci.org/SBoudrias/Inquirer.js.png?branch=master)](http://travis-ci.org/SBoudrias/Inquirer.js)\n=====================\n\nA collection of common interactive command line user interfaces.\n\n\nGoal and philosophy\n---------------------\n\nWe strive at providing easily embeddable and beautiful command line interface for Node.js ;\nsome hope in becoming the CLI Xanadu.\n\n_Inquirer_ should ease the process of asking end user **questions**, **parsing**, **validating** answers, managing **hierarchical prompts** and providing **error feedback**.\n\n_Inquirer_ provide the user interface, and the inquiry session flow. If you\'re searching for a full blown command line program utility, then check out [Commander.js](https://github.com/visionmedia/commander.js) (inspired by) or [Cli-color](https://github.com/medikoo/cli-color) (used internally).\n\n\nDocumentation\n=====================\n\n\nInstallation\n---------------------\n\n``` prompt\nnpm install inquirer\n```\n\n```javascript\nvar inquirer = require("inquirer");\ninquirer.prompt([/* Pass your questions in here */], function( answers ) {\n\t// Use user feedback for... whatever!!\n});\n```\n\n\nExamples (Run it and see it)\n---------------------\n\nCheckout the `examples/` folder for code and interface examples.\n\n``` prompt\nnode examples/pizza.js\n# etc\n```\n\n\nMethods\n---------------------\n\n### `inquirer.prompt( questions, callback )`\n\nLaunch the prompt interface (inquiry session)\n\n+ **questions** (Array) containing [Question Object](#question)\n+ **callback** (Function) first parameter is the [Answers Object](#answers)\n\n\nObjects\n---------------------\n\n### Question\nA question object is a `hash` containing question related values:\n\n+ **type**: (String) Type of the prompt. Defaults: `input` - Possible values: `input`, `confirm`,\n`list`, `rawlist`\n+ **name**: (String) The name to use when storing the answer in the anwers hash.\n+ **message**: (String) The question to print.\n+ **default**: (String|Number|Array|Function) Default value(s) to use if nothing is entered, or a function that returns the default value(s). If defined as a function, the first parameter will be the current inquirer session answers.\n+ **choices**: (Array|Function) Choices array or a function returning a choices array. If defined as a function, the first parameter will be the current inquirer session answers. \nArray values can be simple `strings`, or `objects` containing a `name` (to display) and a `value` properties (to save in the answers hash). Values can also be [a `Separator`](#separator).\n+ **validate**: (Function) Receive the user input and should return `true` if the value is valid, and an error message (`String`) otherwise. If `false` is returned, a default error message is provided.\n+ **filter**: (Function) Receive the user input and return the filtered value to be used inside the program. The value returned will be added to the _Answers_ hash.\n+ **when**: (Function) Receive the current user answers hash and should return `true` or `false` depending on whether or not this question should be asked.\n\n`validate`, `filter` and `when` functions can be asynchronously using `this.async()`. You just have to pass the value you\'d normally return to the callback option.\n\n``` javascript\n{\n validate: function(input) {\n\n // Declare function as asynchronous, and save the done callback\n var done = this.async();\n\n // Do async stuff\n setTimeout(function() {\n if (typeof input !== "number") {\n // Pass the return value in the done callback\n done("You need to provide a number");\n return;\n }\n // Pass the return value in the done callback\n done(true);\n }, 3000);\n }\n}\n```\n\n### Answers\nA key/value hash containing the client answers in each prompt.\n\n+ **Key** The `name` property of the _question_ object\n+ **Value** (Depends on the prompt)\n + `confirm`: (Boolean)\n + `input` : User input (filtered if `filter` is defined) (String)\n + `rawlist`, `list` : Selected choice value (or name if no value specified) (String)\n\n### Separator\nA separator can be added to any `choices` array:\n\n```\n// In the question object\nchoices: [ "Choice A", new inquirer.Separator(), "choice B" ]\n\n// Which\'ll be displayed this way\n[?] What do you want to do?\n > Order a pizza\n Make a reservation\n --------\n Ask opening hours\n Talk to the receptionnist\n```\n\nThe constructor takes a facultative `String` value that\'ll be use as the separator. If omitted, the separator will be `--------`.\n\nSeparator instances have a property `type` equal to `separator`. This should allow tools façading Inquirer interface from detecting separator types in lists.\n\nPrompts type\n---------------------\n\n_allowed options written inside square brackets (`[]`) are optional. Others are required._\n\n### List - `{ type: "list" }`\n\nTake `type`, `name`, `message`, `choices`[, `default`, `filter`] properties. (Note that\ndefault must be the choice `index` in the array or a choice `value`)\n\n![List prompt](https://dl.dropboxusercontent.com/u/59696254/inquirer/list-prompt.png)\n\n### Raw List - `{ type: "rawlist" }`\n\nTake `type`, `name`, `message`, `choices`[, `default`, `filter`] properties. (Note that\ndefault must the choice `index` in the array)\n\n![Raw list prompt](https://dl.dropboxusercontent.com/u/59696254/inquirer/rawlist-prompt.png)\n\n### Expand - `{ type: "expand" }`\n\nTake `type`, `name`, `message`, `choices`[, `default`, `filter`] properties. (Note that\ndefault must be the choice `index` in the array)\n\nNote that the `choice` object will take an extra parameter called `key` for the `expand` prompt. This parameter must be a single (lowercased) character. The `h` option is added by the prompt and shouldn\'t be defined by the user.\n\nSee `examples/expand.js` for a running example.\n\n![Expand prompt closed](https://dl.dropboxusercontent.com/u/59696254/inquirer/expand-prompt-1.png)\n![Expand prompt expanded](https://dl.dropboxusercontent.com/u/59696254/inquirer/expand-prompt-2.png)\n\n\n### Checkbox - `{ type: "checkbox" }`\n\nTake `type`, `name`, `message`, `choices`[, `filter`, `validate`, `default`] properties. `default` is expected to be an Array of the checked choices value.\n\nChoices marked as `{ checked: true }` will be checked by default.\n\n![Checkbox prompt](https://dl.dropboxusercontent.com/u/59696254/inquirer/checkbox-prompt.png)\n\n### Confirm - `{ type: "confirm" }`\n\nTake `type`, `name`, `message`[, `default`] properties. `default` is expected to be a boolean if used.\n\n![Confirm prompt](https://dl.dropboxusercontent.com/u/59696254/inquirer/confirm-prompt.png)\n\n### Input - `{ type: "input" }`\n\nTake `type`, `name`, `message`[, `default`, `filter`, `validate`] properties.\n\n![Input prompt](https://dl.dropboxusercontent.com/u/59696254/inquirer/input-prompt.png)\n\n### Password - `{ type: "password" }`\n\nTake `type`, `name`, `message`[, `default`, `filter`, `validate`] properties.\n\n![Password prompt](https://dl.dropboxusercontent.com/u/59696254/inquirer/password-prompt.png)\n\nUser Interfaces and layouts\n---------------------\n\nAlong with the prompts, Inquirer offers some basic text UI.\n\n### Bottom Bar - `inquirer.ui.BottomBar`\n\nThis UI present a fixed text at the bottom of a free text zone. This is useful to keep a message to the bottom of the screen while outputting command outputs on the higher section.\n\n```\nvar ui = new inquirer.ui.BottomBar();\n\n// pipe a Stream to the log zone\noutputStream.pipe( ui.log );\n\n// Or simply write output\nui.log.write("something just happened.");\nui.log.write("Almost over, standby!");\n\n// During processing, update the bottom bar content to display a loader\n// or output a progress bar, etc\nui.updateBottomBar("new bottom bar content");\n```\n\n### Prompt - `inquirer.ui.Prompt`\n\nThis is UI layout used to run prompt. This layout is returned by `inquirer.prompt` and you should probably always use `inquirer.prompt` to interface with this UI.\n\n\nSupport (OS - terminals)\n=====================\n\nYou should expect mostly good support for the CLI below. This does not mean we won\'t\nlook at issues found on other command line - feel free to report any!\n\n- **Mac OS**:\n - Terminal.app\n - iTerm\n- **Windows**:\n - cmd.exe\n - Powershell\n - Cygwin\n- **Ubuntu**:\n - Terminal\n\n\nNews on the march (Release notes)\n=====================\n\nPlease refer to the [Github releases section for the changelog](https://github.com/SBoudrias/Inquirer.js/releases)\n\n\nContributing\n=====================\n\n**Style Guide**: Please base yourself on [Idiomatic.js](https://github.com/rwldrn/idiomatic.js) style guide with two space indent \n**Unit test**: Unit test are wrote in Mocha. Please add a unit test for every new feature\nor bug fix. `npm test` to run the test suite. \n**Documentation**: Add documentation for every API change. Feel free to send corrections\nor better docs! \n**Pull Requests**: Send _fixes_ PR on the `master` branch. Any new features should be send on the `wip`branch.\n\nWe\'re looking to offer good support for multiple prompts and environments. If you want to\nhelp, we\'d like to keep a list of testers for each terminal/OS so we can contact you and\nget feedback before release. Let us know if you want to be added to the list (just tweet\nto @vaxilart) or just add your name to [the wiki](https://github.com/SBoudrias/Inquirer.js/wiki/Testers)\n\nLicense\n=====================\n\nCopyright (c) 2012 Simon Boudrias (twitter: @vaxilart) \nLicensed under the MIT license.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'inquirer@0.4.1',
1415 silly resolved _from: 'inquirer@~0.4.0' },
1415 silly resolved { name: 'insight',
1415 silly resolved version: '0.3.1',
1415 silly resolved description: 'Understand how your tool is being used by anonymously reporting usage metrics to Google Analytics',
1415 silly resolved keywords:
1415 silly resolved [ 'npm',
1415 silly resolved 'package',
1415 silly resolved 'stats',
1415 silly resolved 'google',
1415 silly resolved 'analytics',
1415 silly resolved 'track',
1415 silly resolved 'metrics' ],
1415 silly resolved homepage: 'https://github.com/yeoman/insight',
1415 silly resolved bugs: 'https://github.com/yeoman/insight/issues',
1415 silly resolved author:
1415 silly resolved { name: 'Sindre Sorhus',
1415 silly resolved email: 'sindresorhus@gmail.com',
1415 silly resolved url: 'http://sindresorhus.com' },
1415 silly resolved main: 'lib/insight.js',
1415 silly resolved repository: { type: 'git', url: 'git://github.com/yeoman/insight.git' },
1415 silly resolved scripts: { test: 'mocha test/test-*.js' },
1415 silly resolved dependencies:
1415 silly resolved { chalk: '~0.4.0',
1415 silly resolved request: '~2.27.0',
1415 silly resolved configstore: '~0.2.1',
1415 silly resolved async: '~0.2.9',
1415 silly resolved inquirer: '~0.4.0',
1415 silly resolved 'object-assign': '~0.1.2',
1415 silly resolved 'lodash.debounce': '~2.4.1' },
1415 silly resolved devDependencies: { mocha: '*', sinon: '*' },
1415 silly resolved engines: { node: '>=0.10.0' },
1415 silly resolved licenses: [ [Object] ],
1415 silly resolved readme: '# Insight [![Build Status](https://secure.travis-ci.org/yeoman/insight.png?branch=master)](http://travis-ci.org/yeoman/insight)\n\nUnderstand how your tool is being used by anonymously reporting usage metrics to [Google Analytics](http://www.google.com/analytics/)\nor [Yandex.Metrica](http://metrica.yandex.com/)\n\n*This module uses the [newly released Universal Analytics API](http://analytics.blogspot.com/2013/03/expanding-universal-analytics-into.html) from Google Analytics*\n\n\n## Analytics dashboard example\n\nDisplaying metrics from [Yeoman](http://yeoman.io) which makes use of Insight.\n\n![analytics screenshot](https://raw.github.com/yeoman/insight/master/screenshot.png)\n\n\n## Example usage\n\n*Google Analytics*\n\n```js\nvar Insight = require(\'insight\');\nvar pkg = require(\'./package.json\');\n\nvar insight = new Insight({\n\t// Google Analytics tracking code\n\ttrackingCode: \'UA-XXXXXXXX-X\',\n\tpackageName: pkg.name,\n\tpackageVersion: pkg.version\n});\n\n// ask for permission the first time\nif (insight.optOut === undefined) {\n\treturn insight.askPermission();\n}\n\ninsight.track(\'foo\', \'bar\');\n// recorded in Analytics as `/foo/bar`\n```\n\n*Yandex.Metrica*\n\n```js\nvar Insight = require(\'insight\');\nvar pkg = require(\'./package.json\');\n\nvar insight = new Insight({\n\t// Yandex.Metrica counter id\n\ttrackingCode: \'XXXXXXXXX\'\n\ttrackingProvider: \'yandex\',\n\tpackageName: pkg.name,\n\tpackageVersion: pkg.version\n});\n\n// ask for permission the first time\nif (insight.optOut === undefined) {\n\treturn insight.askPermission();\n}\n\ninsight.track(\'foo\', \'bar\');\n// recorded in Yandex.Metrica as `http://<package-name>.insight/foo/bar`\n```\n\nor a [live example](https://github.com/yeoman/yeoman)\n\n## Documentation\n\n\n### Insight(settings)\n\n#### trackingCode\n\nType: `string` \n**Required**\n\nYour Google Analytics [trackingCode](https://support.google.com/analytics/bin/answer.py?hl=en&answer=1008080) or\nYandex.Metrica [counter id](http://help.yandex.com/metrika/?id=1121963).\n\n\n#### trackingProvider\n\nType: `string` \nDefault: `\'google\'`\n\nTracking provider to use \nPossible values are `\'google\'` or `\'yandex\'`\n\n\n#### packageName\n\nType: `string` \n**Required**\n\nRequires you to also specify `packageVersion`\n\n\n#### packageVersion\n\nType: `string` \nDefault: `\'0.0.0\'`\n\nRequires you to also specify `packageName`\n\n#### config\n\nType: `object` \nDefault: An instance of [`configstore`](https://github.com/yeoman/configstore)\n\nIf you want to use your own configuration mechanism instead of the default\n`configstore`-based one, you can provide an object that has to implement two\nsynchronous methods:\n\n- `get(key)`\n- `set(key, value)`\n\n\n### Instance methods\n\n\n#### .track(keyword, [keyword, ...])\n\nAccepts keywords which ends up as a path in Analytics.\n\n`.track(\'init\', \'backbone\')` becomes `/init/backbone`\n\n\n#### .askPermission([message, callback])\n\nAsks the user for permission to track and sets the `optOut` property. You can also choose to set this manually.\n\n![askPermission screenshot](https://raw.github.com/yeoman/insight/master/screenshot-askpermission.png)\n\nOptionally supply your own `message` and `callback`. The callback will be called with the arguments `error` and `optOut` when the prompt is done, and is useful for when you want to continue the execution while the prompt is running.\n\n\n#### .optOut\n\nReturns a boolean whether the user has opted out of tracking. Should preferably only be set by a user action, eg. a prompt.\n\n\n## License\n\n[BSD license](http://opensource.org/licenses/bsd-license.php) and copyright Google\n',
1415 silly resolved readmeFilename: 'readme.md',
1415 silly resolved _id: 'insight@0.3.1',
1415 silly resolved _from: 'insight@~0.3.0' },
1415 silly resolved { name: 'junk',
1415 silly resolved version: '0.3.0',
1415 silly resolved description: 'Filter out OS junk files like .DS_Store and Thumbs.db',
1415 silly resolved license: 'MIT',
1415 silly resolved repository: { type: 'git', url: 'sindresorhus/junk' },
1415 silly resolved author:
1415 silly resolved { name: 'Sindre Sorhus',
1415 silly resolved email: 'sindresorhus@gmail.com',
1415 silly resolved url: 'http://sindresorhus.com' },
1415 silly resolved engines: { node: '>=0.10.0' },
1415 silly resolved scripts: { test: 'mocha' },
1415 silly resolved files: [ 'index.js' ],
1415 silly resolved keywords:
1415 silly resolved [ 'junk',
1415 silly resolved 'trash',
1415 silly resolved 'garbage',
1415 silly resolved 'files',
1415 silly resolved 'os',
1415 silly resolved 'ignore',
1415 silly resolved 'exclude',
1415 silly resolved 'filter',
1415 silly resolved 'temp',
1415 silly resolved 'tmp' ],
1415 silly resolved devDependencies: { mocha: '*' },
1415 silly resolved readme: '# junk [![Build Status](https://travis-ci.org/sindresorhus/junk.png?branch=master)](https://travis-ci.org/sindresorhus/junk)\n\n> Filter out [OS junk files](test.js) like `.DS_Store` and `Thumbs.db`\n\n\n## Install\n\n```bash\n$ npm install --save junk\n```\n\n\n## Example\n\n```js\nvar fs = require(\'fs\');\nvar junk = require(\'junk\');\n\nfs.readdir(\'path\', function (err, files) {\n\tconsole.log(files);\n\t//=> [\'.DS_Store\', \'test.jpg\']\n\n\tconsole.log(files.filter(junk.not));\n\t//=> [\'test.jpg\']\n});\n```\n\n\n## API\n\n### junk.is(filename)\n\nReturns true if `filename` matches any of the `junk.rules`.\n\n### junk.not(filename)\n\nReturns true if `filename` doesn\'t match any of the `junk.rules`.\n\n### junk.rules\n\nReturns an array of regexes you can match against.\n\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT) © [Sindre Sorhus](http://sindresorhus.com)\n',
1415 silly resolved readmeFilename: 'readme.md',
1415 silly resolved _id: 'junk@0.3.0',
1415 silly resolved _from: 'junk@~0.3.0' },
1415 silly resolved { name: 'is-root',
1415 silly resolved version: '0.1.0',
1415 silly resolved description: 'Check if the process is running as root user. Eg. started with `sudo`.',
1415 silly resolved license: 'MIT',
1415 silly resolved repository: { type: 'git', url: 'sindresorhus/is-root' },
1415 silly resolved author:
1415 silly resolved { name: 'Sindre Sorhus',
1415 silly resolved email: 'sindresorhus@gmail.com',
1415 silly resolved url: 'http://sindresorhus.com' },
1415 silly resolved engines: { node: '>=0.10.0' },
1415 silly resolved scripts: { test: 'mocha' },
1415 silly resolved files: [ 'index.js' ],
1415 silly resolved keywords: [ 'sudo', 'root', 'user', 'permissions', 'uid', 'process', 'posix' ],
1415 silly resolved devDependencies: { mocha: '*' },
1415 silly resolved readme: '# is-root [![Build Status](https://travis-ci.org/sindresorhus/is-root.png?branch=master)](http://travis-ci.org/sindresorhus/is-root)\n\n> Check if the process is running as root user. Eg. started with `sudo`.\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/is-root)\n\n```\nnpm install --save is-root\n```\n\n\n## Example\n\n```\n$ sudo node index.js\n```\n\n```js\n// index.js\nvar isRoot = require(\'is-root\');\n\nisRoot();\n//=> true\n```\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n',
1415 silly resolved readmeFilename: 'readme.md',
1415 silly resolved _id: 'is-root@0.1.0',
1415 silly resolved _from: 'is-root@~0.1.0' },
1415 silly resolved { name: 'lockfile',
1415 silly resolved version: '0.4.2',
1415 silly resolved main: 'lockfile.js',
1415 silly resolved directories: { test: 'test' },
1415 silly resolved dependencies: {},
1415 silly resolved devDependencies: { tap: '~0.2.5', touch: '0' },
1415 silly resolved scripts: { test: 'tap test/*.js' },
1415 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/lockfile' },
1415 silly resolved keywords: [ 'lockfile', 'lock', 'file', 'fs', 'O_EXCL' ],
1415 silly resolved author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me/' },
1415 silly resolved license: 'BSD',
1415 silly resolved description: 'A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.',
1415 silly resolved readme: '# lockfile\n\nA very polite lock file utility, which endeavors to not litter, and to\nwait patiently for others.\n\n## Usage\n\n```javascript\nvar lockFile = require(\'lockfile\')\n\n// opts is optional, and defaults to {}\nlockFile.lock(\'some-file.lock\', opts, function (er) {\n // if the er happens, then it failed to acquire a lock.\n // if there was not an error, then the file was created,\n // and won\'t be deleted until we unlock it.\n\n // do my stuff, free of interruptions\n // then, some time later, do:\n lockFile.unlock(\'some-file.lock\', function (er) {\n // er means that an error happened, and is probably bad.\n })\n})\n```\n\n## Methods\n\nSync methods return the value/throw the error, others don\'t. Standard\nnode fs stuff.\n\nAll known locks are removed when the process exits. Of course, it\'s\npossible for certain types of failures to cause this to fail, but a best\neffort is made to not be a litterbug.\n\n### lockFile.lock(path, [opts], cb)\n\nAcquire a file lock on the specified path\n\n### lockFile.lockSync(path, [opts])\n\nAcquire a file lock on the specified path\n\n### lockFile.unlock(path, cb)\n\nClose and unlink the lockfile.\n\n### lockFile.unlockSync(path)\n\nClose and unlink the lockfile.\n\n### lockFile.check(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nReturns boolean.\n\n### lockFile.checkSync(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nCallback is called with `cb(error, isLocked)`.\n\n## Options\n\n### opts.wait\n\nA number of milliseconds to wait for locks to expire before giving up.\nOnly used by lockFile.lock. Relies on fs.watch. If the lock is not\ncleared by the time the wait expires, then it returns with the original\nerror.\n\n### opts.stale\n\nA number of milliseconds before locks are considered to have expired.\n\n### opts.retries\n\nUsed by lock and lockSync. Retry `n` number of times before giving up.\n\n### opts.retryWait\n\nUsed by lock. Wait `n` milliseconds before retrying.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'lockfile@0.4.2',
1415 silly resolved _from: 'lockfile@~0.4.2' },
1415 silly resolved { name: 'lru-cache',
1415 silly resolved description: 'A cache object that deletes the least-recently-used items.',
1415 silly resolved version: '2.5.0',
1415 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
1415 silly resolved scripts: { test: 'tap test --gc' },
1415 silly resolved main: 'lib/lru-cache.js',
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'git://github.com/isaacs/node-lru-cache.git' },
1415 silly resolved devDependencies: { tap: '', weak: '' },
1415 silly resolved license:
1415 silly resolved { type: 'MIT',
1415 silly resolved url: 'http://github.com/isaacs/node-lru-cache/raw/master/LICENSE' },
1415 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',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'lru-cache@2.5.0',
1415 silly resolved _from: 'lru-cache@~2.5.0' },
1415 silly resolved { name: 'mkdirp',
1415 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
1415 silly resolved version: '0.3.5',
1415 silly resolved author:
1415 silly resolved { name: 'James Halliday',
1415 silly resolved email: 'mail@substack.net',
1415 silly resolved url: 'http://substack.net' },
1415 silly resolved main: './index',
1415 silly resolved keywords: [ 'mkdir', 'directory' ],
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
1415 silly resolved scripts: { test: 'tap test/*.js' },
1415 silly resolved devDependencies: { tap: '~0.4.0' },
1415 silly resolved license: 'MIT',
1415 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',
1415 silly resolved readmeFilename: 'readme.markdown',
1415 silly resolved _id: 'mkdirp@0.3.5',
1415 silly resolved _from: 'mkdirp@~0.3.5' },
1415 silly resolved { name: 'mout',
1415 silly resolved description: 'Modular Utilities',
1415 silly resolved version: '0.9.1',
1415 silly resolved homepage: 'http://moutjs.com/',
1415 silly resolved contributors:
1415 silly resolved [ [Object],
1415 silly resolved [Object],
1415 silly resolved [Object],
1415 silly resolved [Object],
1415 silly resolved [Object],
1415 silly resolved [Object],
1415 silly resolved [Object],
1415 silly resolved [Object],
1415 silly resolved [Object] ],
1415 silly resolved keywords: [ 'utilities', 'functional', 'amd-utils', 'stdlib' ],
1415 silly resolved repository: { type: 'git', url: 'git://github.com/mout/mout.git' },
1415 silly resolved licenses: [ [Object] ],
1415 silly resolved bugs: { url: 'https://github.com/mout/mout/issues/' },
1415 silly resolved main: './index.js',
1415 silly resolved scripts:
1415 silly resolved { pretest: 'node build pkg',
1415 silly resolved test: 'istanbul test tests/runner.js --hook-run-in-context' },
1415 silly resolved directories: { doc: './doc' },
1415 silly resolved devDependencies:
1415 silly resolved { istanbul: '~0.1.27',
1415 silly resolved 'jasmine-node': '~1.2.2',
1415 silly resolved requirejs: '2.x',
1415 silly resolved nodefy: '*',
1415 silly resolved mdoc: '~0.3.2',
1415 silly resolved handlebars: '~1.0.6',
1415 silly resolved commander: '~1.0.5',
1415 silly resolved rocambole: '~0.2.3',
1415 silly resolved jshint: '2.x',
1415 silly resolved rimraf: '~2.2.2',
1415 silly resolved regenerate: '~0.5.4' },
1415 silly resolved testling:
1415 silly resolved { preprocess: 'node build testling',
1415 silly resolved browsers: [Object],
1415 silly resolved scripts: [Object] },
1415 silly resolved readme: '![mout](http://moutjs.com/logo.png "Modular JavaScript Utilties")\n\nhttp://moutjs.com/\n\n[![Build Status](https://travis-ci.org/mout/mout.png?branch=master)](https://travis-ci.org/mout/mout)\n\nAll code is library agnostic and consist mostly of helper methods that aren\'t\ndirectly related with the DOM, the purpose of this library isn\'t to replace\nDojo, jQuery, YUI, Mootools, etc, but to provide modular solutions for common\nproblems that aren\'t solved by most of them. Consider it as a crossbrowser\nJavaScript standard library.\n\n\n\n## Main goals ##\n\n - increase code reuse;\n - be clear (code should be clean/readable);\n - be easy to debug;\n - be easy to maintain;\n - follow best practices;\n - follow standards when possible;\n - **don\'t convert JavaScript into another language!**\n - be compatible with other frameworks;\n - be modular;\n - have unit tests for all modules;\n - work on multiple environments (IE7+, modern browsers, node.js);\n\n\n\n## What shouldn\'t be here ##\n\n - UI components;\n - CSS selector engine;\n - Event system - pub/sub;\n - Template engine;\n - Anything that isn\'t generic enough to be on a standard library;\n - Anything that could be a separate library and/or isn\'t a modular utility...\n\n\n\n## API Documentation ##\n\nOnline documentation can be found at http://moutjs.com/ or inside the\n`doc` folder.\n\n\n\n## FAQ / Wiki / IRC ##\n\nFor more info about project structure, design decisions, tips, how to\ncontribute, build system, etc, please check the [project\nwiki](https://github.com/mout/mout/wiki).\n\nWe also have an IRC channel [#moutjs on\nirc.freenode.net](http://webchat.freenode.net/?channels=moutjs)\n\n\n\n## License ##\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'mout@0.9.1',
1415 silly resolved _from: 'mout@~0.9.1' },
1415 silly resolved { name: 'nopt',
1415 silly resolved version: '2.2.1',
1415 silly resolved description: 'Option parsing for Node, supporting types, shorthands, etc. Used by npm.',
1415 silly resolved author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me/' },
1415 silly resolved main: 'lib/nopt.js',
1415 silly resolved scripts: { test: 'tap test/*.js' },
1415 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/nopt' },
1415 silly resolved bin: { nopt: './bin/nopt.js' },
1415 silly resolved license:
1415 silly resolved { type: 'MIT',
1415 silly resolved url: 'https://github.com/isaacs/nopt/raw/master/LICENSE' },
1415 silly resolved dependencies: { abbrev: '1' },
1415 silly resolved devDependencies: { tap: '~0.4.8' },
1415 silly resolved readme: 'If you want to write an option parser, and have it be good, there are\ntwo ways to do it. The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser. We\'ve all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don\'t write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system. You probably won\'t end up with a\ngood one of those, but if you don\'t give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n // my-program.js\n var nopt = require("nopt")\n , Stream = require("stream").Stream\n , path = require("path")\n , knownOpts = { "foo" : [String, null]\n , "bar" : [Stream, Number]\n , "baz" : path\n , "bloo" : [ "big", "medium", "small" ]\n , "flag" : Boolean\n , "pick" : Boolean\n , "many" : [String, Array]\n }\n , shortHands = { "foofoo" : ["--foo", "Mr. Foo"]\n , "b7" : ["--bar", "7"]\n , "m" : ["--bloo", "medium"]\n , "p" : ["--pick"]\n , "f" : ["--flag"]\n }\n // everything is optional.\n // knownOpts and shorthands default to {}\n // arg list defaults to process.argv\n // slice defaults to 2\n , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo "blerp" --no-flag\n{ "foo" : "blerp", "flag" : false }\n\n$ node my-program.js ---bar 7 --foo "Mr. Hand" --flag\n{ bar: 7, foo: "Mr. Hand", flag: true }\n\n$ node my-program.js --foo "blerp" -f -----p\n{ foo: "blerp", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: "Mr. Foo", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp # -- stops the flag parsing.\n{ foo: "Mr. Foo", argv: { remain: ["-fp"] } }\n\n$ node my-program.js --blatzk -fp # unknown opts are ok.\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --blatzk=1000 -fp # but you need to use = if they have a value\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with "no-"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: "/Users/isaacs/b/a/z" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array. The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: ["1", "null", "foo"] }\n\n$ node my-program.js --many foo\n{ many: ["foo"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string. No parsing is done.\n* path: A file system path. Gets resolved against cwd if not absolute.\n* url: A url. If it doesn\'t parse, it isn\'t accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`. If an option is a boolean,\n then it does not need a value, and its presence will imply `true` as\n the value. To negate boolean flags, do `--no-whatever` or `--whatever\n false`\n* NaN: Means that the option is strictly not allowed. Any value will\n fail.\n* Stream: An object matching the "Stream" class in node. Valuable\n for use when validating programmatically. (npm uses this to let you\n supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n will be parsed as a list of options. This means that multiple values\n can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values. For instance, in the example above, the\n`--bloo` option can only be one of `"big"`, `"medium"`, or `"small"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `"true"`, `"false"`, and `"null"` will be\ninterpreted as their JavaScript equivalents, and numeric values will be\ninterpreted as a number.\n\nYou can also mix types and values, or multiple types, in a list. For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null. When types are ordered, this implies a\npreference, and the first type that can be used to properly interpret\nthe value will be used.\n\nTo define a new type, add it to `nopt.typeDefs`. Each item in that\nhash is an object with a `type` member and a `validate` method. The\n`type` member is an object that matches what goes in the type list. The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`. Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found. You can change this behavior by assigning a method\nto `nopt.invalidHandler`. This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining. If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported. If you define options like this:\n\n```javascript\n{ "foolhardyelephants" : Boolean\n, "pileofmonkeys" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts. For example:\n\n```json\n{ "s" : ["--loglevel", "silent"]\n, "g" : "--global"\n, "f" : "--force"\n, "p" : "--parseable"\n, "l" : "--long"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat\'s usually not very useful to you. So they\'re sliced off by\ndefault. If you want them, then you can pass in `0` as the last\nargument, or any other number that you\'d like to slice off the start of\nthe list.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'nopt@2.2.1',
1415 silly resolved _from: 'nopt@~2.2.0' },
1415 silly resolved { name: 'opn',
1415 silly resolved version: '0.1.2',
1415 silly resolved description: 'A better node-open. Opens stuff like websites, files, executables. Cross-platform.',
1415 silly resolved license: 'MIT',
1415 silly resolved repository: { type: 'git', url: 'sindresorhus/opn' },
1415 silly resolved bin: { opn: 'cli.js' },
1415 silly resolved author:
1415 silly resolved { name: 'Sindre Sorhus',
1415 silly resolved email: 'sindresorhus@gmail.com',
1415 silly resolved url: 'http://sindresorhus.com' },
1415 silly resolved engines: { node: '>=0.10.0' },
1415 silly resolved scripts: { test: 'mocha' },
1415 silly resolved files: [ 'cli.js', 'index.js', 'xdg-open' ],
1415 silly resolved keywords:
1415 silly resolved [ 'cli',
1415 silly resolved 'bin',
1415 silly resolved 'app',
1415 silly resolved 'open',
1415 silly resolved 'opn',
1415 silly resolved 'launch',
1415 silly resolved 'start',
1415 silly resolved 'xdg-open',
1415 silly resolved 'default',
1415 silly resolved 'cmd',
1415 silly resolved 'browser',
1415 silly resolved 'editor',
1415 silly resolved 'executable' ],
1415 silly resolved devDependencies: { mocha: '*' },
1415 silly resolved readme: '# opn\n\n> A better [node-open](https://github.com/pwnall/node-open). Opens stuff like websites, files, executables. Cross-platform.\n\n\n#### Why?\n\n- Actively maintained\n- Includes the latest [xdg-open script](http://portland.freedesktop.org/download/)\n- Fixes most of the `node-open` issues\n\n\n## Install\n\n```bash\n$ npm install --save opn\n```\n\n\n## Usage\n\n```js\nvar opn = require(\'opn\');\n\nopn(\'http://sindresorhus.com\');\n// opens that url in the default browser\n\nopn(\'http://sindresorhus.com\', \'firefox\');\n// you can also specify the app to open in\n\nopn(\'unicorn.png\');\n// opens the image in the default image viewer\n```\n\n\n## API\n\nUses the command `open` on OS X, `start` on Windows and `xdg-open` on other platforms.\n\n### opn(target, [app, callback])\n\n#### target\n\n*Required* \nType: `string`\n\nThe thing you want to open. Can be a url, file, or executable.\n\nOpens in the default app for the file type. Eg. urls opens in your default browser.\n\n#### app\n\nType: `string`\n\nSpecify the app to open the `target` with.\n\nThe app name is platform dependent. Don\'t hard code it in reusable modules.\n\n#### callback(err)\n\nType: `function`\n\nExecutes when the opened app exits.\n\nOn Windows you have to explicitly specify an app for it to be able to wait.\n\n\n## CLI\n\nYou can also use it as a CLI app by installing it globally:\n\n```bash\n$ npm install --global opn\n```\n\n#### Usage\n\n```bash\n$ opn --help\n\nUsage\n $ opn <file|url> [app]\n\nExample\n $ opn http://sindresorhus.com\n $ opn http://sindresorhus.com firefox\n $ opn unicorn.png\n```\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n',
1415 silly resolved readmeFilename: 'readme.md',
1415 silly resolved _id: 'opn@0.1.2',
1415 silly resolved _from: 'opn@~0.1.1' },
1415 silly resolved { name: 'p-throttler',
1415 silly resolved version: '0.0.1',
1415 silly resolved description: 'A promise based throttler capable of limiting execution of parallel tasks',
1415 silly resolved main: 'index.js',
1415 silly resolved dependencies: { q: '~0.9.2' },
1415 silly resolved devDependencies: { mocha: '~1.10.0', 'expect.js': '~0.2.0' },
1415 silly resolved scripts: { test: 'mocha -R spec' },
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'git://github.com/IndigoUnited/node-p-throttler' },
1415 silly resolved bugs: { url: 'http://github.com/IndigoUnited/node-p-throttler/issues' },
1415 silly resolved keywords:
1415 silly resolved [ 'promise',
1415 silly resolved 'throttler',
1415 silly resolved 'trottle',
1415 silly resolved 'deferred',
1415 silly resolved 'worker',
1415 silly resolved 'tasks',
1415 silly resolved 'parallel' ],
1415 silly resolved author:
1415 silly resolved { name: 'IndigoUnited',
1415 silly resolved email: 'hello@indigounited.com',
1415 silly resolved url: 'http://indigounited.com' },
1415 silly resolved license: 'MIT',
1415 silly resolved readme: '# p-throttler\n\n[![Build Status](https://secure.travis-ci.org/IndigoUnited/node-p-throttler.png)](http://travis-ci.org/IndigoUnited/node-p-throttler.png)\n\nA promise based throttler responsible for limiting execution of parallel tasks.\nThe number of parallel tasks may be limited and configured per type.\n\n\n## Installation\n\n`$ npm install p-throttler`\n\n\n## API\n\n### #create(defaultConcurrency, types)\n\nConstructs a new throttler.\n\nThe `defaultConcurrency` is the default maximum concurrent functions being run (-1 to specify no limits). \nThe `types` allows you to specify different concurrencies for different types. \n\nExample:\n\n```js\nvar throttler = PThrottler.create(15, { // or new PThrottler()\n \'network_io\': 10,\n \'disk_io\': 50\n});\n```\n\n\n### .enqueue(func, [type]): Promise\n\nEnqueues a function to be ran. The function is expected to return a promise or a value. \nThe returned promise is resolved when the function finishes execution.\n\nThe `type` argument is optional and can be a `string` or an array of `strings`. \nUse it to specify the type(s) associated with the function. \n\nThe function will run as soon as a free slot is available for every `type`. \nIf no `type` is passed or is unknown, the `defaultConcurrency` is used. \n\nThe execution order is guaranteed for functions enqueued with the exact same `type` argument.\n\nExample:\n\n```js\n\nvar method = function () {\n return Q.resolve(\'foo\');\n};\n\nvar throttler = PThrottler.create(15, {\n \'foo\': 1,\n \'bar\': 2\n});\n\n// Single type\nthrottler.enqueue(function () {\n return method();\n}, \'foo\')\n.then(function (value) {\n console.log(value); // foo\n});\n\n// Multiple type\nthrottler.enqueue(function () {\n return method();\n}, [\'foo\', \'bar\'])\n.then(function (value) {\n console.log(value); // foo\n});\n\n\n### .abort(): Promise\n\nAborts all current work being done.\nReturns a promise that is resolved when the current running functions finish to execute. \nAny function that was in the queue waiting to be ran is removed immediately.\n\n\n## License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'p-throttler@0.0.1',
1415 silly resolved _from: 'p-throttler@~0.0.1' },
1415 silly resolved { name: 'q',
1415 silly resolved version: '1.0.1',
1415 silly resolved description: 'A library for promises (CommonJS/Promises/A,B,D)',
1415 silly resolved homepage: 'https://github.com/kriskowal/q',
1415 silly resolved author:
1415 silly resolved { name: 'Kris Kowal',
1415 silly resolved email: 'kris@cixar.com',
1415 silly resolved url: 'https://github.com/kriskowal' },
1415 silly resolved keywords:
1415 silly resolved [ 'q',
1415 silly resolved 'promise',
1415 silly resolved 'promises',
1415 silly resolved 'promises-a',
1415 silly resolved 'promises-aplus',
1415 silly resolved 'deferred',
1415 silly resolved 'future',
1415 silly resolved 'async',
1415 silly resolved 'flow control',
1415 silly resolved 'fluent',
1415 silly resolved 'browser',
1415 silly resolved 'node' ],
1415 silly resolved contributors: [ [Object], [Object], [Object] ],
1415 silly resolved bugs:
1415 silly resolved { mail: 'kris@cixar.com',
1415 silly resolved url: 'http://github.com/kriskowal/q/issues' },
1415 silly resolved license:
1415 silly resolved { type: 'MIT',
1415 silly resolved url: 'http://github.com/kriskowal/q/raw/master/LICENSE' },
1415 silly resolved main: 'q.js',
1415 silly resolved repository: { type: 'git', url: 'git://github.com/kriskowal/q.git' },
1415 silly resolved engines: { node: '>=0.6.0', teleport: '>=0.2.0' },
1415 silly resolved dependencies: {},
1415 silly resolved devDependencies:
1415 silly resolved { jshint: '~2.1.9',
1415 silly resolved cover: '*',
1415 silly resolved 'jasmine-node': '1.11.0',
1415 silly resolved opener: '*',
1415 silly resolved 'promises-aplus-tests': '1.x',
1415 silly resolved grunt: '~0.4.1',
1415 silly resolved 'grunt-cli': '~0.1.9',
1415 silly resolved 'grunt-contrib-uglify': '~0.2.2',
1415 silly resolved matcha: '~0.2.0' },
1415 silly resolved scripts:
1415 silly resolved { test: 'jasmine-node spec && promises-aplus-tests spec/aplus-adapter',
1415 silly resolved 'test-browser': 'opener spec/q-spec.html',
1415 silly resolved benchmark: 'matcha',
1415 silly resolved lint: 'jshint q.js',
1415 silly resolved cover: 'cover run node_modules/jasmine-node/bin/jasmine-node spec && cover report html && opener cover_html/index.html',
1415 silly resolved minify: 'grunt',
1415 silly resolved prepublish: 'grunt' },
1415 silly resolved overlay: { teleport: [Object] },
1415 silly resolved directories: { test: './spec' },
1415 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\n*This is Q version 1, from the `v1` branch in Git. This documentation applies to\nthe latest of both the version 1 and version 0.9 release trains. These releases\nare stable. There will be no further releases of 0.9 after 0.9.7 which is nearly\nequivalent to version 1.0.0. All further releases of `q@~1.0` will be backward\ncompatible. The version 2 release train introduces significant but\nbackward-incompatible changes and is experimental at this time.*\n\nIf a function cannot return a value or throw an exception without\nblocking, it can return a promise instead. A promise is an object\nthat represents the return value or the thrown exception that the\nfunction may eventually provide. A promise can also be used as a\nproxy for a [remote object][Q-Connection] to overcome latency.\n\n[Q-Connection]: https://github.com/kriskowal/q-connection\n\nOn the first pass, promises can mitigate the “[Pyramid of\nDoom][POD]”: the situation where code marches to the right faster\nthan it marches forward.\n\n[POD]: http://calculist.org/blog/2011/12/14/why-coroutines-wont-work-on-the-web/\n\n```javascript\nstep1(function (value1) {\n step2(value1, function(value2) {\n step3(value2, function(value3) {\n step4(value3, function(value4) {\n // Do something with value4\n });\n });\n });\n});\n```\n\nWith a promise library, you can flatten the pyramid.\n\n```javascript\nQ.fcall(promisedStep1)\n.then(promisedStep2)\n.then(promisedStep3)\n.then(promisedStep4)\n.then(function (value4) {\n // Do something with value4\n})\n.catch(function (error) {\n // Handle any error from all above steps\n})\n.done();\n```\n\nWith this approach, you also get implicit error propagation, just like `try`,\n`catch`, and `finally`. An error in `promisedStep1` will flow all the way to\nthe `catch` function, where it’s caught and handled. (Here `promisedStepN` is\na version of `stepN` that returns a promise.)\n\nThe callback approach is called an “inversion of control”.\nA function that accepts a callback instead of a return value\nis saying, “Don’t call me, I’ll call you.”. Promises\n[un-invert][IOC] the inversion, cleanly separating the input\narguments from control flow arguments. This simplifies the\nuse and creation of API’s, particularly variadic,\nrest and spread arguments.\n\n[IOC]: http://www.slideshare.net/domenicdenicola/callbacks-promises-and-coroutines-oh-my-the-evolution-of-asynchronicity-in-javascript\n\n\n## Getting Started\n\nThe Q module can be loaded as:\n\n- A ``<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/v1/spec/q-spec.html\n\n## License\n\nCopyright 2009–2014 Kristopher Michael Kowal\nMIT License (enclosed)\n\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'q@1.0.1',
1415 silly resolved _from: 'q@~1.0.1' },
1415 silly resolved { name: 'osenv',
1415 silly resolved version: '0.0.3',
1415 silly resolved main: 'osenv.js',
1415 silly resolved directories: { test: 'test' },
1415 silly resolved dependencies: {},
1415 silly resolved devDependencies: { tap: '~0.2.5' },
1415 silly resolved scripts: { test: 'tap test/*.js' },
1415 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/osenv' },
1415 silly resolved keywords:
1415 silly resolved [ 'environment',
1415 silly resolved 'variable',
1415 silly resolved 'home',
1415 silly resolved 'tmpdir',
1415 silly resolved 'path',
1415 silly resolved 'prompt',
1415 silly resolved 'ps1' ],
1415 silly resolved author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me/' },
1415 silly resolved license: 'BSD',
1415 silly resolved description: 'Look up environment settings specific to different operating systems',
1415 silly resolved readme: '# osenv\n\nLook up environment settings specific to different operating systems.\n\n## Usage\n\n```javascript\nvar osenv = require(\'osenv\')\nvar path = osenv.path()\nvar user = osenv.user()\n// etc.\n\n// Some things are not reliably in the env, and have a fallback command:\nvar h = osenv.hostname(function (er, hostname) {\n h = hostname\n})\n// This will still cause it to be memoized, so calling osenv.hostname()\n// is now an immediate operation.\n\n// You can always send a cb, which will get called in the nextTick\n// if it\'s been memoized, or wait for the fallback data if it wasn\'t\n// found in the environment.\nosenv.hostname(function (er, hostname) {\n if (er) console.error(\'error looking up hostname\')\n else console.log(\'this machine calls itself %s\', hostname)\n})\n```\n\n## osenv.hostname()\n\nThe machine name. Calls `hostname` if not found.\n\n## osenv.user()\n\nThe currently logged-in user. Calls `whoami` if not found.\n\n## osenv.prompt()\n\nEither PS1 on unix, or PROMPT on Windows.\n\n## osenv.tmpdir()\n\nThe place where temporary files should be created.\n\n## osenv.home()\n\nNo place like it.\n\n## osenv.path()\n\nAn array of the places that the operating system will search for\nexecutables.\n\n## osenv.editor() \n\nReturn the executable name of the editor program. This uses the EDITOR\nand VISUAL environment variables, and falls back to `vi` on Unix, or\n`notepad.exe` on Windows.\n\n## osenv.shell()\n\nThe SHELL on Unix, which Windows calls the ComSpec. Defaults to \'bash\'\nor \'cmd\'.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'osenv@0.0.3',
1415 silly resolved _from: 'osenv@~0.0.3' },
1415 silly resolved { name: 'promptly',
1415 silly resolved version: '0.2.0',
1415 silly resolved description: 'Simple command line prompting utility',
1415 silly resolved main: 'index.js',
1415 silly resolved dependencies: { read: '~1.0.4' },
1415 silly resolved devDependencies: { mocha: '~1.8.1', async: '~0.1.22', 'expect.js': '~0.2.0' },
1415 silly resolved scripts: { test: 'mocha -R spec' },
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'git://github.com/IndigoUnited/node-promptly' },
1415 silly resolved bugs: { url: 'http://github.com/IndigoUnited/node-promptly/issues' },
1415 silly resolved keywords: [ 'prompt', 'choose', 'choice', 'cli', 'command', 'line' ],
1415 silly resolved author:
1415 silly resolved { name: 'IndigoUnited',
1415 silly resolved email: 'hello@indigounited.com',
1415 silly resolved url: 'http://indigounited.com' },
1415 silly resolved license: 'MIT',
1415 silly resolved readme: '# promptly\n\n[![Build Status](https://secure.travis-ci.org/IndigoUnited/node-promptly.png)](http://travis-ci.org/IndigoUnited/node-promptly.png)\n\nSimple command line prompting utility.\n\n## Installation\n\n`$ npm install promptly`\n\n\n## API\n\n\nNote that the `options` argument is optional for all the commands.\n\n\n### .prompt(message, opts, fn)\n\nPrompts for a value, printing the `message` and waiting for the input. \nWhen done, calls `fn` with `error` and `value`.\n\nDefault options:\n```js\n{\n // The default value. If not supplied, the input is mandatory\n \'default\': null,\n // Automatically trim the input\n \'trim\': true,\n // A validator or an array of validators.\n \'validator\': null,\n // Automatically retry if a validator fails\n \'retry\': true,\n // Do not print what the user types\n \'silent\': false,\n // Input and output streams to read and write to\n \'input\': process.stdin,\n \'output\': process.stdout\n}\n```\n\nThe validators have two purposes:\n```js\nfunction (value) {\n // Validation example, throwing an error when invalid\n if (value.length !== 2) {\n throw new Error(\'Length must be 2\');\n }\n\n // Parse the value, modifying it\n return value.replace(\'aa\', \'bb\');\n}\n```\n\nExample usages\n\nAsk for a name:\n```js\npromptly.prompt(\'Name: \', function (err, value) {\n // err is always null in this case, because no validators are set\n console.log(value);\n});\n```\n\nAsk for a name with a constraint (non-empty value and length > 2):\n\n```js\nvar validator = function (value) {\n if (value.length < 2) {\n throw new Error(\'Min length of 2\');\n }\n\n return value;\n};\n\npromptly.prompt(\'Name: \', { validator: validator }, function (err, value) {\n // Since retry is true by default, err is always null\n // because promptly will be prompting for a name until it validates\n // Between each prompt, the error message from the validator will be printed\n console.log(\'Name is:\', value);\n});\n```\n\nSame as above but do not retry automatically:\n\n```js\nvar validator = function (value) {\n if (value.length < 2) {\n throw new Error(\'Min length of 2\');\n }\n\n return value;\n};\n\npromptly.prompt(\'Name: \', { validator: validator, retry: false }, function (err, value) {\n if (err) {\n console.error(\'Invalid name:\', e.message);\n // Manually call retry\n // The passed error has a retry method to easily prompt again.\n return err.retry();\n }\n\n console.log(\'Name is:\', value);\n});\n```\n\n### .confirm(message, opts, fn)\n\nAsk the user to confirm something. \nCalls `fn` with `error` and `value` (true or false).\n\nTruthy values are: `y`, `yes` and `1`. \nFalsy values are `n`, `no`, and `0`. \nComparison is made in a case insensitive way.\n\nExample usage:\n\n```js\npromptly.confirm(\'Are you sure? \', function (err, value) {\n console.log(\'Answer:\', value);\n});\n```\n\n\n### .choose(message, choices, opts, fn)\n\nAsk the user to choose between multiple `choices` (array of choices). \nCalls `fn` with `error` and `value`.\n\nExample usage:\n\n```js\npromptly.choose(\'Do you want an apple or an orange? \', [\'apple\', \'orange\'], function (err, value) {\n console.log(\'Answer:\', value);\n});\n```\n\n\n### .password(message, opts, fn)\n\nPrompts for a password, printing the `message` and waiting for the input. \nWhen available, calls `fn` with `error` and `value`.\n\nThe available options are the same, except that `trim` and `silent` default to `false` and `default` is an empty string (to allow empty passwords).\n\nExample usage:\n\n```js\npromptly.password(\'Type a password: \', function (err, value) {\n console.log(\'Password is:\', value);\n});\n```\n\n\n## License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'promptly@0.2.0',
1415 silly resolved _from: 'promptly@~0.2.0' },
1415 silly resolved { name: 'request',
1415 silly resolved description: 'Simplified HTTP request client.',
1415 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
1415 silly resolved version: '2.34.0',
1415 silly resolved author: { name: 'Mikeal Rogers', email: 'mikeal.rogers@gmail.com' },
1415 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
1415 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
1415 silly resolved license: 'Apache, Version 2.0',
1415 silly resolved engines: [ 'node >= 0.8.0' ],
1415 silly resolved main: 'index.js',
1415 silly resolved dependencies:
1415 silly resolved { qs: '~0.6.0',
1415 silly resolved 'json-stringify-safe': '~5.0.0',
1415 silly resolved 'forever-agent': '~0.5.0',
1415 silly resolved 'node-uuid': '~1.4.0',
1415 silly resolved mime: '~1.2.9',
1415 silly resolved 'tough-cookie': '>=0.12.0',
1415 silly resolved 'form-data': '~0.1.0',
1415 silly resolved 'tunnel-agent': '~0.3.0',
1415 silly resolved 'http-signature': '~0.10.0',
1415 silly resolved 'oauth-sign': '~0.3.0',
1415 silly resolved hawk: '~1.0.0',
1415 silly resolved 'aws-sign2': '~0.5.0' },
1415 silly resolved optionalDependencies:
1415 silly resolved { 'tough-cookie': '>=0.12.0',
1415 silly resolved 'form-data': '~0.1.0',
1415 silly resolved 'tunnel-agent': '~0.3.0',
1415 silly resolved 'http-signature': '~0.10.0',
1415 silly resolved 'oauth-sign': '~0.3.0',
1415 silly resolved hawk: '~1.0.0',
1415 silly resolved 'aws-sign2': '~0.5.0' },
1415 silly resolved scripts: { test: 'node tests/run.js' },
1415 silly resolved readme: '# Request -- Simplified HTTP client\n\n[![NPM](https://nodei.co/npm/request.png)](https://nodei.co/npm/request/)\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require(\'request\');\nrequest(\'http://www.google.com\', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest(\'http://google.com/doodle.png\').pipe(fs.createWriteStream(\'doodle.png\'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types (in this case `application/json`) and use the proper `content-type` in the PUT request (if the headers don’t already provide one).\n\n```javascript\nfs.createReadStream(\'file.json\').pipe(request.put(\'http://mysite.com/obj.json\'))\n```\n\nRequest can also `pipe` to itself. When doing so, `content-type` and `content-length` are preserved in the PUT headers.\n\n```javascript\nrequest.get(\'http://google.com/img.png\').pipe(request.put(\'http://mysite.com/img.png\'))\n```\n\nNow let’s get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n if (req.method === \'PUT\') {\n req.pipe(request.put(\'http://mysite.com/doodle.png\'))\n } else if (req.method === \'GET\' || req.method === \'HEAD\') {\n request.get(\'http://mysite.com/doodle.png\').pipe(resp)\n }\n }\n})\n```\n\nYou can also `pipe()` from `http.ServerRequest` instances, as well as to `http.ServerResponse` instances. The HTTP method, headers, and entity-body data will be sent. Which means that, if you don\'t really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n var x = request(\'http://mysite.com/doodle.png\')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since `pipe()` returns the destination stream in ≥ Node 0.5.x you can do one line proxying. :)\n\n```javascript\nreq.pipe(request(\'http://mysite.com/doodle.png\')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({\'proxy\':\'http://localproxy.com\'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n r.get(\'http://google.com/doodle.png\').pipe(resp)\n }\n})\n```\n\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## UNIX Socket \n\n`request` supports the `unix://` protocol for all requests. The path is assumed to be absolute to the root of the host file system. \n\nHTTP paths are extracted from the supplied URL by testing each level of the full URL against net.connect for a socket response.\n\nThus the following request will GET `/httppath` from the HTTP server listening on `/tmp/unix.socket`\n\n```javascript\nrequest.get(\'unix://tmp/unix.socket/httppath\')\n```\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nURL-encoded forms are simple.\n\n```javascript\nrequest.post(\'http://service.com/upload\', {form:{key:\'value\'}})\n// or\nrequest.post(\'http://service.com/upload\').form({key:\'value\'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don’t need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post(\'http://service.com/upload\')\nvar form = r.form()\nform.append(\'my_field\', \'my_value\')\nform.append(\'my_buffer\', new Buffer([1, 2, 3]))\nform.append(\'my_file\', fs.createReadStream(path.join(__dirname, \'doodle.png\'))\nform.append(\'remote_file\', request(\'http://google.com/doodle.png\'))\n```\n\n## HTTP Authentication\n\n```javascript\nrequest.get(\'http://some.server.com/\').auth(\'username\', \'password\', false);\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'user\': \'username\',\n \'pass\': \'password\',\n \'sendImmediately\': false\n }\n});\n```\n\nIf passed as an option, `auth` should be a hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional). The method form takes parameters `auth(username, password, sendImmediately)`.\n\n`sendImmediately` defaults to `true`, which causes a basic authentication header to be sent. If `sendImmediately` is `false`, then `request` will retry with a proper authentication header after receiving a `401` response from the server (which must contain a `WWW-Authenticate` header indicating the required authentication method).\n\nDigest authentication is supported, but it only works with `sendImmediately` set to `false`; otherwise `request` will send basic authentication on the initial request, which will probably cause the request to fail.\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require(\'querystring\')\n , oauth =\n { callback: \'http://mysite.com/callback/\'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = \'https://api.twitter.com/oauth/request_token\'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Ideally, you would take the body in the response\n // and construct a URL that a user clicks on (like a sign in button).\n // The verifier is only available in the response after a user has\n // verified with twitter that they are authorizing your app.\n var access_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: access_token.oauth_verifier\n }\n , url = \'https://api.twitter.com/oauth/access_token\'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/1.1/users/show.json?\'\n , params =\n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n### Custom HTTP Headers\n\nHTTP Headers, such as `User-Agent`, can be set in the `options` object.\nIn the example below, we call the github API to find out the number\nof stars and forks for the request repository. This requires a\ncustom `User-Agent` header as well as https.\n\n```javascript\nvar request = require(\'request\');\n\nvar options = {\n\turl: \'https://api.github.com/repos/mikeal/request\',\n\theaders: {\n\t\t\'User-Agent\': \'request\'\n\t}\n};\n\nfunction callback(error, response, body) {\n\tif (!error && response.statusCode == 200) {\n\t\tvar info = JSON.parse(body);\n\t\tconsole.log(info.stargazers_count + " Stars");\n\t\tconsole.log(info.forks_count + " Forks");\n\t}\n}\n\nrequest(options, callback);\n```\n\n### request(options, callback)\n\nThe first argument can be either a `url` or an `options` object. The only required option is `uri`; all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from `url.parse()`\n* `qs` - object containing querystring values to be appended to the `uri`\n* `method` - http method (default: `"GET"`)\n* `headers` - http headers (default: `{}`)\n* `body` - entity body for PATCH, POST and PUT requests. Must be a `Buffer` or `String`.\n* `form` - when passed an object, this sets `body` to a querystring representation of value, and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no options, a `FormData` instance is returned (and is piped to request).\n* `auth` - A hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional). See documentation above.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as JSON.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects (default: `true`)\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects (default: `false`)\n* `maxRedirects` - the maximum number of redirects to follow (default: `10`)\n* `encoding` - Encoding to be used on `setEncoding` of response data. If `null`, the `body` is returned as a `Buffer`.\n* `pool` - A hash object containing the agents for these requests. If omitted, the request will use the global pool (which is set to node\'s default `maxSockets`)\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\n* `proxy` - An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the `url` parameter (by embedding the auth info in the `uri`)\n* `oauth` - Options for OAuth HMAC-SHA1 signing. See documentation above.\n* `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).\n* `strictSSL` - If `true`, requires SSL certificates be valid. **Note:** to use your own certificate authority, you need to specify an agent that was created with that CA as an option.\n* `jar` - If `true`, remember cookies for future use (or define your custom cookie jar; see examples section)\n* `aws` - `object` containing AWS signing information. Should have the properties `key`, `secret`. Also requires the property `bucket`, unless you’re specifying your `bucket` as part of the path, or the request doesn’t use a bucket (i.e. GET Services)\n* `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent\'s library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.\n* `localAddress` - Local interface to bind for network connections.\n\n\nThe callback argument gets 3 arguments: \n\n1. An `error` when applicable (usually from [`http.ClientRequest`](http://nodejs.org/api/http.html#http_class_http_clientrequest) object)\n2. An [`http.IncomingMessage`](http://nodejs.org/api/http.html#http_http_incomingmessage) object\n3. The third is the `response` body (`String` or `Buffer`, or JSON object if the `json` option is supplied)\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options)\n\nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as `request()`, but defaults to `method: "PUT"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.patch\n\nSame as `request()`, but defaults to `method: "PATCH"`.\n\n```javascript\nrequest.patch(url)\n```\n\n### request.post\n\nSame as `request()`, but defaults to `method: "POST"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: "HEAD"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as `request()`, but defaults to `method: "DELETE"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nSame as `request()` (for uniformity).\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie(\'cookie_string_here\')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require(\'request\')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: \'PUT\'\n , uri: \'http://mikeal.iriscouch.com/testjs/\' + rand\n , multipart:\n [ { \'content-type\': \'application/json\'\n , body: JSON.stringify({foo: \'bar\', _attachments: {\'message.txt\': {follows: true, length: 18, \'content_type\': \'text/plain\' }}})\n }\n , { body: \'I am an attachment\' }\n ]\n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log(\'document saved as: http://mikeal.iriscouch.com/testjs/\'+ rand)\n } else {\n console.log(\'error: \'+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\n\nCookies are disabled by default (else, they would be used in subsequent requests). To enable cookies, set `jar` to `true` (either in `defaults` or `options`).\n\n```javascript\nvar request = request.defaults({jar: true})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nTo use a custom cookie jar (instead `request`’s global cookie jar), set `jar` to an instance of `request.jar()` (either in `defaults` or `options`)\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie(\'your_cookie_here\')\nj.setCookie(cookie, uri);\nrequest({url: \'http://www.google.com\', jar: j}, function () {\n request(\'http://images.google.com\')\n})\n```\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'request@2.34.0',
1415 silly resolved _from: 'request@~2.34.0' },
1415 silly resolved { name: 'request-progress',
1415 silly resolved version: '0.3.1',
1415 silly resolved description: 'Tracks the download progress of a request made with mikeal/request',
1415 silly resolved main: 'index.js',
1415 silly resolved dependencies: { throttleit: '~0.0.2' },
1415 silly resolved devDependencies: { mocha: '~1.12.0', 'expect.js': '~0.2.0' },
1415 silly resolved scripts: { test: 'mocha -R spec' },
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'git://github.com/IndigoUnited/node-request-progress' },
1415 silly resolved bugs: { url: 'http://github.com/IndigoUnited/node-request-progress/issues' },
1415 silly resolved keywords:
1415 silly resolved [ 'progress',
1415 silly resolved 'request',
1415 silly resolved 'mikeal',
1415 silly resolved 'size',
1415 silly resolved 'bytes',
1415 silly resolved 'percent',
1415 silly resolved 'percentage' ],
1415 silly resolved author:
1415 silly resolved { name: 'IndigoUnited',
1415 silly resolved email: 'hello@indigounited.com',
1415 silly resolved url: 'http://indigounited.com' },
1415 silly resolved license: 'MIT',
1415 silly resolved readme: '# request-progress [![Build Status](https://secure.travis-ci.org/IndigoUnited/node-request-progress.png)](http://travis-ci.org/IndigoUnited/node-request-progress.png)\n\nTracks the download progress of a request made with [request](https://github.com/mikeal/request).\n\n\n## Installation\n\n`$ npm install request-progress`\n\n\n## Usage\n\n```js\nvar fs = require(\'fs\');\nvar request = require(\'request\');\nvar progress = require(\'request-progress\');\n\n// Note that the options argument is optional\nprogress(request(\'http://google.com/doodle.png\'), {\n throttle: 2000, // Throttle the progress event to 2000ms, defaults to 1000ms\n delay: 1000 // Only start to emit after 1000ms delay, defaults to 0ms\n})\n.on(\'progress\', function (state) {\n console.log(\'received size in bytes\', state.received);\n // The properties bellow can be null if response does not contain\n // the content-length header\n console.log(\'total size in bytes\', state.total);\n console.log(\'percent\', state.percent);\n})\n.on(\'error\', function (err) {\n // Do something with err\n})\n.pipe(fs.createWriteStream(\'doodle.png\'))\n.on(\'error\', function (err) {\n // Do something with err\n})\n.on(\'close\', function (err) {\n // Saved to doogle.png!\n})\n```\n\nNote that the `state` object emitted in the `progress` event is reused to avoid creating a new object for each event.\n\n\n## License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'request-progress@0.3.1',
1415 silly resolved _from: 'request-progress@~0.3.0' },
1415 silly resolved { name: 'rimraf',
1415 silly resolved version: '2.2.8',
1415 silly resolved main: 'rimraf.js',
1415 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
1415 silly resolved author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me/' },
1415 silly resolved license:
1415 silly resolved { type: 'MIT',
1415 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
1415 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
1415 silly resolved scripts: { test: 'cd test && bash run.sh' },
1415 silly resolved bin: { rimraf: './bin.js' },
1415 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
1415 silly resolved readme: '`rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of\n `opts.maxBusyTries` times before giving up.\n* `ENOENT` - If the file doesn\'t exist, rimraf will return\n successfully, since your desired outcome is already the case.\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that\'s not so good. Use\nthe async API. It\'s better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf <path>` which is useful for cross platform support.\n\n## mkdirp\n\nIf you need to create a directory recursively, check out\n[mkdirp](https://github.com/substack/node-mkdirp).\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'rimraf@2.2.8',
1415 silly resolved _from: 'rimraf@~2.2.0' },
1415 silly resolved { name: 'shell-quote',
1415 silly resolved version: '1.4.1',
1415 silly resolved description: 'quote and parse shell commands',
1415 silly resolved main: 'index.js',
1415 silly resolved devDependencies: { tape: '~2.3.0' },
1415 silly resolved scripts: { test: 'tape test/*.js' },
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'http://github.com/substack/node-shell-quote.git' },
1415 silly resolved keywords: [ 'shell', 'command', 'quote', 'parse' ],
1415 silly resolved testling: { files: 'test/*.js', browsers: [Object] },
1415 silly resolved author:
1415 silly resolved { name: 'James Halliday',
1415 silly resolved email: 'mail@substack.net',
1415 silly resolved url: 'http://substack.net' },
1415 silly resolved license: 'MIT',
1415 silly resolved dependencies:
1415 silly resolved { jsonify: '~0.0.0',
1415 silly resolved 'array-filter': '~0.0.0',
1415 silly resolved 'array-reduce': '~0.0.0',
1415 silly resolved 'array-map': '~0.0.0' },
1415 silly resolved readme: '# shell-quote\n\nParse and quote shell commands.\n\n[![build status](https://secure.travis-ci.org/substack/node-shell-quote.png)](http://travis-ci.org/substack/node-shell-quote)\n\n[![browser support](https://ci.testling.com/substack/node-shell-quote.png)](https://ci.testling.com/substack/node-shell-quote)\n\n# example\n\n## quote\n\n``` js\nvar quote = require(\'shell-quote\').quote;\nvar s = quote([ \'a\', \'b c d\', \'$f\', \'"g"\' ]);\nconsole.log(s);\n```\n\noutput\n\n```\na \'b c d\' \\$f \'"g"\'\n```\n\n## parse\n\n``` js\nvar parse = require(\'shell-quote\').parse;\nvar xs = parse(\'a "b c" \\\\$def \\\'it\\\\\\\'s great\\\'\');\nconsole.dir(xs);\n```\n\noutput\n\n```\n[ \'a\', \'b c\', \'\\\\$def\', \'it\\\'s great\' ]\n```\n\n## parse with an environment variable\n\n``` js\nvar parse = require(\'shell-quote\').parse;\nvar xs = parse(\'beep --boop="$PWD"\', { PWD: \'/home/robot\' });\nconsole.dir(xs);\n```\n\noutput\n\n```\n[ \'beep\', \'--boop=/home/robot\' ]\n```\n\n## parsing shell operators\n\n``` js\nvar parse = require(\'shell-quote\').parse;\nvar xs = parse(\'beep || boop > /byte\');\nconsole.dir(xs);\n```\n\noutput:\n\n```\n[ \'beep\', { op: \'||\' }, \'boop\', { op: \'>\' }, \'/byte\' ]\n```\n\n# methods\n\n``` js\nvar quote = require(\'shell-quote\').quote;\nvar parse = require(\'shell-quote\').parse;\n```\n\n## quote(args)\n\nReturn a quoted string for the array `args` suitable for using in shell\ncommands.\n\n## parse(cmd, env={})\n\nReturn an array of arguments from the quoted string `cmd`.\n\nInterpolate embedded bash-style `$VARNAME` and `${VARNAME}` variables with\nthe `env` object which like bash will replace undefined variables with `""`.\n\n`env` is usually an object but it can also be a function to perform lookups.\nWhen `env(key)` returns a string, its result will be output just like `env[key]`\nwould. When `env(key)` returns an object, it will be inserted into the result\narray like the operator objects.\n\nWhen a bash operator is encountered, the element in the array with be an object\nwith an `"op"` key set to the operator string. For example:\n\n```\n\'beep || boop > /byte\'\n```\n\nparses as:\n\n```\n[ \'beep\', { op: \'||\' }, \'boop\', { op: \'>\' }, \'/byte\' ]\n```\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install shell-quote\n```\n\n# license\n\nMIT\n',
1415 silly resolved readmeFilename: 'readme.markdown',
1415 silly resolved _id: 'shell-quote@1.4.1',
1415 silly resolved _from: 'shell-quote@~1.4.1' },
1415 silly resolved { author:
1415 silly resolved { name: 'Tim Koschützki',
1415 silly resolved email: 'tim@debuggable.com',
1415 silly resolved url: 'http://debuggable.com/' },
1415 silly resolved name: 'retry',
1415 silly resolved description: 'Abstraction for exponential and custom retry strategies for failed operations.',
1415 silly resolved version: '0.6.0',
1415 silly resolved homepage: 'https://github.com/tim-kos/node-retry',
1415 silly resolved repository: { type: 'git', url: 'git://github.com/felixge/node-retry.git' },
1415 silly resolved directories: { lib: './lib' },
1415 silly resolved main: 'index',
1415 silly resolved engines: { node: '*' },
1415 silly resolved dependencies: {},
1415 silly resolved devDependencies: { fake: '0.2.0', far: '0.0.1' },
1415 silly resolved readme: '# retry\n\nAbstraction for exponential and custom retry strategies for failed operations.\n\n## Installation\n\n npm install retry\n\n## Current Status\n\nThis module has been tested and is ready to be used.\n\n## Tutorial\n\nThe example below will retry a potentially failing `dns.resolve` operation\n`10` times using an exponential backoff strategy. With the default settings, this\nmeans the last attempt is made after `34 minutes and 7 seconds`.\n\n``` javascript\nvar dns = require(\'dns\');\nvar retry = require(\'retry\');\n\nfunction faultTolerantResolve(address, cb) {\n var operation = retry.operation();\n\n operation.attempt(function(currentAttempt) {\n dns.resolve(address, function(err, addresses) {\n if (operation.retry(err)) {\n return;\n }\n\n cb(operation.mainError(), addresses);\n });\n });\n}\n\nfaultTolerantResolve(\'nodejs.org\', function(err, addresses) {\n console.log(err, addresses);\n});\n```\n\nOf course you can also configure the factors that go into the exponential\nbackoff. See the API documentation below for all available settings.\ncurrentAttempt is an int representing the number of attempts so far.\n\n``` javascript\nvar operation = retry.operation({\n retries: 5,\n factor: 3,\n minTimeout: 1 * 1000,\n maxTimeout: 60 * 1000,\n randomize: true,\n});\n```\n\n## API\n\n### retry.operation([options])\n\nCreates a new `RetryOperation` object. See the `retry.timeouts()` function\nbelow for available `options`.\n\n### retry.timeouts([options])\n\nReturns an array of timeouts. All time `options` and return values are in\nmilliseconds. If `options` is an array, a copy of that array is returned.\n\n`options` is a JS object that can contain any of the following keys:\n\n* `retries`: The maximum amount of times to retry the operation. Default is `10`.\n* `factor`: The exponential factor to use. Default is `2`.\n* `minTimeout`: The amount of time before starting the first retry. Default is `1000`.\n* `maxTimeout`: The maximum amount of time between two retries. Default is `Infinity`.\n* `randomize`: Randomizes the timeouts by multiplying with a factor between `1` to `2`. Default is `false`.\n\nThe formula used to calculate the individual timeouts is:\n\n```\nvar Math.min(random * minTimeout * Math.pow(factor, attempt), maxTimeout);\n```\n\nHave a look at [this article][article] for a better explanation of approach.\n\nIf you want to tune your `factor` / `times` settings to attempt the last retry\nafter a certain amount of time, you can use wolfram alpha. For example in order\nto tune for `10` attempts in `5 minutes`, you can use this equation:\n\n![screenshot](https://github.com/tim-kos/node-retry/raw/master/equation.gif)\n\nExplaining the various values from left to right:\n\n* `k = 0 ... 9`: The `retries` value (10)\n* `1000`: The `minTimeout` value in ms (1000)\n* `x^k`: No need to change this, `x` will be your resulting factor\n* `5 * 60 * 1000`: The desired total amount of time for retrying in ms (5 minutes)\n\nTo make this a little easier for you, use wolfram alpha to do the calculations:\n\n[http://www.wolframalpha.com/input/?i=Sum%5B1000*x^k%2C+{k%2C+0%2C+9}%5D+%3D+5+*+60+*+1000]()\n\n[article]: http://dthain.blogspot.com/2009/02/exponential-backoff-in-distributed.html\n\n### new RetryOperation(timeouts)\n\nCreates a new `RetryOperation` where `timeouts` is an array where each value is\na timeout given in milliseconds.\n\n#### retryOperation.errors()\n\nReturns an array of all errors that have been passed to\n`retryOperation.retry()` so far.\n\n#### retryOperation.mainError()\n\nA reference to the error object that occured most frequently. Errors are\ncompared using the `error.message` property.\n\nIf multiple error messages occured the same amount of time, the last error\nobject with that message is returned.\n\nIf no errors occured so far, the value is `null`.\n\n#### retryOperation.attempt(fn, timeoutOps)\n\nDefines the function `fn` that is to be retried and executes it for the first\ntime right away. The `fn` function can receive an optional `currentAttempt` callback that represents the number of attempts to execute `fn` so far.\n\nOptionally defines `timeoutOps` which is an object having a property `timeout` in miliseconds and a property `cb` callback function.\nWhenever your retry operation takes longer than `timeout` to execute, the timeout callback function `cb` is called.\n\n\n#### retryOperation.try(fn)\n\nThis is an alias for `retryOperation.attempt(fn)`. This is deprecated.\n\n#### retryOperation.start(fn)\n\nThis is an alias for `retryOperation.attempt(fn)`. This is deprecated.\n\n#### retryOperation.retry(error)\n\nReturns `false` when no `error` value is given, or the maximum amount of retries\nhas been reached.\n\nOtherwise it returns `true`, and retries the operation after the timeout for\nthe current attempt number.\n\n#### retryOperation.attempts()\n\nReturns an int representing the number of attempts it took to call `fn` before it was successful.\n\n## License\n\nretry is licensed under the MIT license.\n\n\n#Changelog\n\n0.6.0 Introduced optional timeOps parameter for the attempt() function which is an object having a property timeout in miliseconds and a property cb callback function. Whenever your retry operation takes longer than timeout to execute, the timeout callback function cb is called.\n\n0.5.0 Some minor refactorings.\n\n0.4.0 Changed retryOperation.try() to retryOperation.attempt(). Deprecated the aliases start() and try() for it.\n\n0.3.0 Added retryOperation.start() which is an alias for retryOperation.try().\n\n0.2.0 Added attempts() function and parameter to retryOperation.try() representing the number of attempts it took to call fn().\n',
1415 silly resolved readmeFilename: 'Readme.md',
1415 silly resolved _id: 'retry@0.6.0',
1415 silly resolved _from: 'retry@~0.6.0' },
1415 silly resolved { name: 'semver',
1415 silly resolved version: '2.2.1',
1415 silly resolved description: 'The semantic version parser used by npm.',
1415 silly resolved main: 'semver.js',
1415 silly resolved browser: 'semver.browser.js',
1415 silly resolved min: 'semver.min.js',
1415 silly resolved scripts: { test: 'tap test/*.js', prepublish: 'make' },
1415 silly resolved devDependencies: { tap: '0.x >=0.0.4', 'uglify-js': '~2.3.6' },
1415 silly resolved license: 'BSD',
1415 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-semver.git' },
1415 silly resolved bin: { semver: './bin/semver' },
1415 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 <version> [<version> [...]] [-r <range> | -i <inc> | -d <dec>]\n Test if version(s) satisfy the supplied range(s), and sort them.\n\n Multiple versions or ranges may be supplied, unless increment\n or decrement options are specified. In that case, only a single\n version may be used, and it is incremented by the specified level\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 described by the v2.0.0 specification found at\n<http://semver.org/>.\n\nA leading `"="` or `"v"` character is stripped off and ignored.\n\n## Ranges\n\nThe following range styles are supported:\n\n* `1.2.3` A specific version. When nothing else will do. Note that\n build metadata is still ignored, so `1.2.3+build2012` will satisfy\n this range.\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than a specific version. If there is no prerelease\n tag on the version range, then no prerelease version will be allowed\n either, even though these are technically "less than".\n* `>=1.2.3` Greater than or equal to. Note that prerelease versions\n are NOT equal to their "normal" equivalents, so `1.2.3-beta` will\n not satisfy this range, but `2.3.0-beta` will.\n* `<=1.2.3` Less than or equal to. In this case, prerelease versions\n ARE allowed, so `1.2.3-beta` would satisfy.\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`\n* `~1.2.3` := `>=1.2.3-0 <1.3.0-0` "Reasonably close to 1.2.3". When\n using tilde operators, prerelease versions are supported as well,\n but a prerelease of the next significant digit will NOT be\n satisfactory, so `1.3.0-beta` will not satisfy `~1.2.3`.\n* `^1.2.3` := `>=1.2.3-0 <2.0.0-0` "Compatible with 1.2.3". When\n using caret operators, anything from the specified version (including\n prerelease) will be supported up to, but not including, the next\n major version (or its prereleases). `1.5.1` will satisfy `^1.2.3`,\n while `1.2.2` and `2.0.0-beta` will not.\n* `^0.1.3` := `>=0.1.3-0 <0.2.0-0` "Compatible with 0.1.3". 0.x.x versions are\n special: the first non-zero component indicates potentially breaking changes,\n meaning the caret operator matches any version with the same first non-zero\n component starting at the specified version.\n* `^0.0.2` := `=0.0.2` "Only the version 0.0.2 is considered compatible"\n* `~1.2` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"\n* `^1.2` := `>=1.2.0-0 <2.0.0-0` "Any version compatible with 1.2"\n* `1.2.x` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"\n* `~1` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"\n* `^1` := `>=1.0.0-0 <2.0.0-0` "Any version compatible with 1"\n* `1.x` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"\n\n\nRanges can be joined with either a space (which implies "and") or a\n`||` (which implies "or").\n\n## Functions\n\nAll methods and classes take a final `loose` boolean argument that, if\ntrue, will be more forgiving about not-quite-valid semver strings.\nThe resulting output will always be 100% strict, of course.\n\nStrict-mode Comparators and Ranges will be strict about the SemVer\nstrings that they parse.\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 prerelease), 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* gtr(version, range): Return true if version is greater than all the\n versions possible in the range.\n* ltr(version, range): Return true if version is less than all the\n versions possible in the range.\n* outside(version, range, hilo): Return true if the version is outside\n the bounds of the range in either the high or low direction. The\n `hilo` argument must be either the string `\'>\'` or `\'<\'`. (This is\n the function called by `gtr` and `ltr`.)\n\nNote that, since ranges may be non-contiguous, a version might not be\ngreater than a range, less than a range, *or* satisfy a range! For\nexample, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9`\nuntil `2.0.0`, so the version `1.2.10` would not be greater than the\nrange (because 2.0.1 satisfies, which is higher), nor less than the\nrange (since 1.2.8 satisfies, which is lower), and it also does not\nsatisfy the range.\n\nIf you want to know if a version satisfies or does not satisfy a\nrange, use the `satisfies(version, range)` function.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'semver@2.2.1',
1415 silly resolved _from: 'semver@~2.2.1' },
1415 silly resolved { name: 'stringify-object',
1415 silly resolved version: '0.2.1',
1415 silly resolved description: 'Stringify an object/array like JSON.stringify just without all the double-quotes',
1415 silly resolved license: 'BSD',
1415 silly resolved repository: { type: 'git', url: 'yeoman/stringify-object' },
1415 silly resolved main: 'stringify-object.js',
1415 silly resolved author:
1415 silly resolved { name: 'Sindre Sorhus',
1415 silly resolved email: 'sindresorhus@gmail.com',
1415 silly resolved url: 'http://sindresorhus.com' },
1415 silly resolved engines: { node: '>=0.10.0' },
1415 silly resolved scripts: { test: 'mocha' },
1415 silly resolved files: [ 'stringify-object.js' ],
1415 silly resolved keywords: [ 'object', 'stringify', 'pretty', 'print', 'dump', 'format' ],
1415 silly resolved devDependencies: { mocha: '*' },
1415 silly resolved readme: '# stringify-object [![Build Status](https://secure.travis-ci.org/yeoman/stringify-object.svg?branch=master)](http://travis-ci.org/yeoman/stringify-object)\n\n> Stringify an object/array like JSON.stringify just without all the double-quotes.\n\nUseful for when you want to get the string representation of an object in a formatted way.\n\nIt also handles circular references and let\'s you specify quote type.\n\n\n## Install\n\n```sh\n$ npm install --save stringify-object\n```\n\n```sh\n$ bower install --save stringify-object\n```\n\n```sh\n$ component install yeoman/stringify-object\n```\n\n\n## Usage\n\n```js\nvar obj = {\n foo: \'bar\',\n \'arr\': [1, 2, 3],\n nested: { hello: "world" }\n};\n\nvar pretty = stringifyObject(obj, {\n indent: \' \',\n singleQuotes: false\n});\n\nconsole.log(pretty);\n/*\n{\n foo: "bar",\n arr: [1, 2, 3],\n nested: {\n hello: "world"\n }\n}\n*/\n```\n\n\n## API\n\n### stringifyObject(object, [options])\n\nAccepts an object to stringify and optionally an option object. Circular references will be replaced with `null`.\n\n#### options\n\n##### indent\n\nType: `string` \nDefault: `\'\\t\'`\n\nChoose the indentation you prefer.\n\n##### singleQuotes\n\nType: `boolean` \nDefault: `true`\n\nSet to false to get double-quoted strings.\n\n\n## License\n\n[BSD license](http://opensource.org/licenses/bsd-license.php) and copyright Google\n',
1415 silly resolved readmeFilename: 'readme.md',
1415 silly resolved _id: 'stringify-object@0.2.1',
1415 silly resolved _from: 'stringify-object@~0.2.0' },
1415 silly resolved { name: 'update-notifier',
1415 silly resolved version: '0.1.8',
1415 silly resolved description: 'Update notifier for your package',
1415 silly resolved keywords: [ 'npm', 'update', 'notify', 'notifier', 'check', 'checker' ],
1415 silly resolved author:
1415 silly resolved { name: 'Sindre Sorhus',
1415 silly resolved email: 'sindresorhus@gmail.com',
1415 silly resolved url: 'http://sindresorhus.com' },
1415 silly resolved main: 'lib/update-notifier.js',
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'git://github.com/yeoman/update-notifier.git' },
1415 silly resolved scripts: { test: 'mocha --timeout 20000' },
1415 silly resolved dependencies:
1415 silly resolved { request: '~2.27.0',
1415 silly resolved configstore: '~0.2.2',
1415 silly resolved semver: '~2.1.0',
1415 silly resolved chalk: '~0.4.0' },
1415 silly resolved devDependencies: { mocha: '*' },
1415 silly resolved engines: { node: '>=0.10.0' },
1415 silly resolved licenses: [ [Object] ],
1415 silly resolved readme: '# update-notifier [![Build Status](https://secure.travis-ci.org/yeoman/update-notifier.png?branch=master)](http://travis-ci.org/yeoman/update-notifier)\r\n\r\n##### Update notifier for your Node.js NPM package\r\n\r\n![screenshot](https://raw.github.com/yeoman/update-notifier/master/screenshot.png)\r\n\r\nInform your package users of updates in a non-intrusive way. Mainly targets global CLI apps.\r\n\r\nWhenever you initiate the update notifier and it\'s not within the interval threshold, it will asynchronously check with NPM in the background for available updates, then persist the result. The next time the notifier is initiated the result will be loaded into the `.update` property. This prevents any impact on your package startup performance.\r\nThe check process is done with [fork](http://nodejs.org/api/child_process.html#child_process_child_fork). This means that if you call `process.exit`, the check will still be performed in its own process.\r\n\r\n\r\n## About\r\n\r\nThe idea for this module came from the desire to apply the browser update strategy to CLI tools, where everyone is always on the latest version. We first tried automatic updating, which we discovered wasn\'t popular. This is the second iteration of that idea, but limited to just update notifications.\r\n\r\nThere are a few projects using it:\r\n\r\n- [Yeoman](http://yeoman.io) - modern workflows for modern webapps\r\n\r\n- [Bower](http://bower.io) - a package manager for the web\r\n\r\n- [Roots](http://roots.cx) - a toolkit for advanced front-end development\r\n\r\n- [Automaton](https://github.com/IndigoUnited/automaton) - task automation tool\r\n\r\n- [Spoon.js CLI](https://npmjs.org/package/spoonjs)\r\n\r\n- [Node GH](http://nodegh.io) - GitHub command line tool\r\n\r\n- [Hoodie CLI](http://hood.ie) - Hoodie command line tool\r\n\r\n## Example usage\r\n\r\n```js\r\nvar updateNotifier = require(\'update-notifier\');\r\n\r\n// Checks for available update and returns an instance\r\nvar notifier = updateNotifier();\r\n\r\nif (notifier.update) {\r\n\t// Notify using the built-in convenience method\r\n\tnotifier.notify();\r\n}\r\n\r\n// `notifier.update` contains some useful info about the update\r\nconsole.log(notifier.update);\r\n/*\r\n{\r\n\tlatest: \'0.9.5\',\r\n\tcurrent: \'0.9.3\',\r\n\ttype: \'patch\', // possible values: latest, major, minor, patch\r\n\tdate: \'2012-11-05T14:32:37.603Z\',\r\n\tname: \'yeoman\'\r\n}\r\n*/\r\n```\r\n\r\n## Example with settings and custom message\r\n\r\n```js\r\nvar notifier = updateNotifier({\r\n\tupdateCheckInterval: 1000 * 60 * 60 * 24 * 7 // 1 week\r\n});\r\n\r\nif (notifier.update) {\r\n\tnotifier.notify(\'Update available: \' + notifier.update.latest);\r\n}\r\n```\r\n\r\n\r\n## Documentation\r\n\r\n\r\n### updateNotifier([settings])\r\n\r\nChecks if there is an available update. Accepts settings defined below. Returns an object with update info if there is an available update, otherwise `undefined`.\r\n\r\n### updateNotifier.notify([message || defer])\r\n\r\nA convenience method that will inform the user about an available update (see screenshot). By default it will display the message right away. However, if you supply a custom message or `true` it will be displayed right before the process exits.\r\n\r\n\r\n### Settings\r\n\r\n\r\n#### callback\r\n\r\nType: `function` \r\nDefault: `null`\r\n\r\nIf provided, a callback function will be called,\r\npassed `(error[, update])`\r\n\r\n`update` is equal to `notifier.update`\r\n\r\n\r\n#### packagePath\r\n\r\nType: `string` \r\nDefault: `\'package.json\'`\r\n\r\nRelative path to your module `package.json`.\r\n\r\n\r\n#### packageName\r\n\r\nType: `string` \r\nDefault: Inferred from `packageFile`\r\n\r\nUsed instead of inferring it from `packageFile`. \r\nRequires you to also specify `packageVersion`.\r\n\r\n\r\n#### packageVersion\r\n\r\nType: `string` \r\nDefault: Inferred from `packageFile`\r\n\r\nUsed instead of inferring it from `packageFile`. \r\nRequires you to also specify `packageName`.\r\n\r\n\r\n#### updateCheckInterval\r\n\r\nType: `number` \r\nDefault: `1000 * 60 * 60 * 24` (1 day)\r\n\r\nHow often it should check for updates.\r\n\r\n\r\n#### updateCheckTimeout\r\n\r\nType: `number` \r\nDefault: `20000` (20 secs)\r\n\r\nHow long the update can take. \r\nIf it takes longer than the timeout, it will be aborted.\r\n\r\n#### registryUrl\r\n\r\nType: `string` \r\nDefault: `\'http://registry.npmjs.org/%s\'`\r\n\r\nAlternative registry mirrors:\r\n\r\n- `http://85.10.209.91/%s`\r\n- `http://165.225.128.50:8000/%s`\r\n\r\n\r\n### Proxy settings\r\n\r\nIf you are behind a proxy server the `process.env` property is used to take the proxy server value from `HTTP_PROXY` or `HTTPS_PROXY` in order to make the call to the server. This means that you need to [set](https://github.com/sindresorhus/guides/blob/master/set-environment-variables.md) those properties as environment variables.\r\n\r\n\r\n### User settings\r\n\r\nUsers of your module have the ability to opt-out of the update notifier by changing the `optOut` property to `true` in `~/.config/configstore/update-notifier-[your-module-name].yml`. The path is available in `notifier.config.path`.\r\n\r\nYou could also let the user opt-out on a per run basis:\r\n\r\n```js\r\nif (process.argv.indexOf(\'--no-update-notifier\') === -1) {\r\n\t// run updateNotifier()\r\n}\r\n```\r\n\r\n\r\n## License\r\n\r\n[BSD license](http://opensource.org/licenses/bsd-license.php) and copyright Google\r\n',
1415 silly resolved readmeFilename: 'readme.md',
1415 silly resolved _id: 'update-notifier@0.1.8',
1415 silly resolved _from: 'update-notifier@~0.1.8' },
1415 silly resolved { author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me/' },
1415 silly resolved name: 'tar',
1415 silly resolved description: 'tar for node',
1415 silly resolved version: '0.1.19',
1415 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-tar.git' },
1415 silly resolved main: 'tar.js',
1415 silly resolved scripts: { test: 'tap test/*.js' },
1415 silly resolved dependencies: { inherits: '2', 'block-stream': '*', fstream: '~0.1.8' },
1415 silly resolved devDependencies: { tap: '0.x', rimraf: '1.x' },
1415 silly resolved license: 'BSD',
1415 silly resolved readme: '# node-tar\n\nTar for Node.js.\n\n[![NPM](https://nodei.co/npm/tar.png)](https://nodei.co/npm/tar/)\n\n## API\n\nSee `examples/` for usage examples.\n\n### var tar = require(\'tar\')\n\nReturns an object with `.Pack`, `.Extract` and `.Parse` methods.\n\n### tar.Pack([properties])\n\nReturns a through stream. Use\n[fstream](https://npmjs.org/package/fstream) to write files into the\npack stream and you will receive tar archive data from the pack\nstream.\n\nThe optional `properties` object are used to set properties in the tar\n\'Global Extended Header\'.\n\n### tar.Extract([options])\n\nReturns a through stream. Write tar data to the stream and the files\nin the tarball will be extracted onto the filesystem.\n\n`options` can be:\n\n```js\n{\n path: \'/path/to/extract/tar/into\',\n strip: 0, // how many path segments to strip from the root when extracting\n}\n```\n\n`options` also get passed to the `fstream.Writer` instance that `tar`\nuses internally.\n\n### tar.Parse()\n\nReturns a writable stream. Write tar data to it and it will emit\n`entry` events for each entry parsed from the tarball. This is used by\n`tar.Extract`.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'tar@0.1.19',
1415 silly resolved _from: 'tar@~0.1.17' },
1415 silly resolved { name: 'tmp',
1415 silly resolved version: '0.0.23',
1415 silly resolved description: 'Temporary file and directory creator',
1415 silly resolved author:
1415 silly resolved { name: 'KARASZI István',
1415 silly resolved email: 'github@spam.raszi.hu',
1415 silly resolved url: 'http://raszi.hu/' },
1415 silly resolved homepage: 'http://github.com/raszi/node-tmp',
1415 silly resolved keywords:
1415 silly resolved [ 'temporary',
1415 silly resolved 'tmp',
1415 silly resolved 'temp',
1415 silly resolved 'tempdir',
1415 silly resolved 'tempfile',
1415 silly resolved 'tmpdir',
1415 silly resolved 'tmpfile' ],
1415 silly resolved licenses: [ [Object] ],
1415 silly resolved repository: { type: 'git', url: 'git://github.com/raszi/node-tmp.git' },
1415 silly resolved bugs: { url: 'http://github.com/raszi/node-tmp/issues' },
1415 silly resolved main: 'lib/tmp.js',
1415 silly resolved scripts: { test: 'vows test/*-test.js' },
1415 silly resolved engines: { node: '>=0.4.0' },
1415 silly resolved dependencies: {},
1415 silly resolved devDependencies: { vows: '~0.7.0' },
1415 silly resolved readme: '# Tmp\n\nA simple temporary file and directory creator for [node.js.][1]\n\n[![Build Status](https://secure.travis-ci.org/raszi/node-tmp.png?branch=master)](http://travis-ci.org/raszi/node-tmp)\n\n## About\n\nThe main difference between bruce\'s [node-temp][2] is that mine more\naggressively checks for the existence of the newly created temporary file and\ncreates the new file with `O_EXCL` instead of simple `O_CREAT | O_RDRW`, so it\nis safer.\n\nThe API is slightly different as well, Tmp does not yet provide synchronous\ncalls and all the parameters are optional.\n\nYou can set whether you want to remove the temporary file on process exit or\nnot, and the destination directory can also be set.\n\n## How to install\n\n```bash\nnpm install tmp\n```\n\n## Usage\n\n### File creation\n\nSimple temporary file creation, the file will be unlinked on process exit.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.file(function _tempFileCreated(err, path, fd) {\n if (err) throw err;\n\n console.log("File: ", path);\n console.log("Filedescriptor: ", fd);\n});\n```\n\n### Directory creation\n\nSimple temporary directory creation, it will be removed on process exit.\n\nIf the directory still contains items on process exit, then it won\'t be removed.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.dir(function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log("Dir: ", path);\n});\n```\n\nIf you want to cleanup the directory even when there are entries in it, then\nyou can pass the `unsafeCleanup` option when creating it.\n\n### Filename generation\n\nIt is possible with this library to generate a unique filename in the specified\ndirectory.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.tmpName(function _tempNameGenerated(err, path) {\n if (err) throw err;\n\n console.log("Created temporary filename: ", path);\n});\n```\n\n## Advanced usage\n\n### File creation\n\nCreates a file with mode `0644`, prefix will be `prefix-` and postfix will be `.txt`.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.file({ mode: 0644, prefix: \'prefix-\', postfix: \'.txt\' }, function _tempFileCreated(err, path, fd) {\n if (err) throw err;\n\n console.log("File: ", path);\n console.log("Filedescriptor: ", fd);\n});\n```\n\n### Directory creation\n\nCreates a directory with mode `0755`, prefix will be `myTmpDir_`.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.dir({ mode: 0750, prefix: \'myTmpDir_\' }, function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log("Dir: ", path);\n});\n```\n\n### mkstemps like\n\nCreates a new temporary directory with mode `0700` and filename like `/tmp/tmp-nk2J1u`.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.dir({ template: \'/tmp/tmp-XXXXXX\' }, function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log("Dir: ", path);\n});\n```\n\n### Filename generation\n\nThe `tmpName()` function accepts the `prefix`, `postfix`, `dir`, etc. parameters also:\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.tmpName({ template: \'/tmp/tmp-XXXXXX\' }, function _tempNameGenerated(err, path) {\n if (err) throw err;\n\n console.log("Created temporary filename: ", path);\n});\n```\n\n## Graceful cleanup\n\nOne may want to cleanup the temporary files even when an uncaught exception\noccurs. To enforce this, you can call the `setGracefulCleanup()` method:\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.setGracefulCleanup();\n```\n\n## Options\n\nAll options are optional :)\n\n * `mode`: the file mode to create with, it fallbacks to `0600` on file creation and `0700` on directory creation\n * `prefix`: the optional prefix, fallbacks to `tmp-` if not provided\n * `postfix`: the optional postfix, fallbacks to `.tmp` on file creation\n * `template`: [`mkstemps`][3] like filename template, no default\n * `dir`: the optional temporary directory, fallbacks to system default (guesses from environment)\n * `tries`: how many times should the function try to get a unique filename before giving up, default `3`\n * `keep`: signals that the temporary file or directory should not be deleted on exit, default is `false`, means delete\n * `unsafeCleanup`: recursively removes the created temporary directory, even when it\'s not empty. default is `false`\n\n[1]: http://nodejs.org/\n[2]: https://github.com/bruce/node-temp\n[3]: http://www.kernel.org/doc/man-pages/online/pages/man3/mkstemp.3.html\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'tmp@0.0.23',
1415 silly resolved _from: 'tmp@~0.0.20' },
1415 silly resolved { author:
1415 silly resolved { name: 'Isaac Z. Schlueter',
1415 silly resolved email: 'i@izs.me',
1415 silly resolved url: 'http://blog.izs.me' },
1415 silly resolved name: 'which',
1415 silly resolved description: 'Like which(1) unix command. Find the first instance of an executable in the PATH.',
1415 silly resolved version: '1.0.5',
1415 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-which.git' },
1415 silly resolved main: 'which.js',
1415 silly resolved bin: { which: './bin/which' },
1415 silly resolved engines: { node: '*' },
1415 silly resolved dependencies: {},
1415 silly resolved devDependencies: {},
1415 silly resolved readme: 'The "which" util from npm\'s guts.\n\nFinds the first instance of a specified executable in the PATH\nenvironment variable. Does not cache the results, so `hash -r` is not\nneeded when the PATH changes.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'which@1.0.5',
1415 silly resolved _from: 'which@~1.0.5' },
1415 silly resolved { name: 'abbrev',
1415 silly resolved version: '1.0.5',
1415 silly resolved description: 'Like ruby\'s abbrev module, but in js',
1415 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
1415 silly resolved main: 'abbrev.js',
1415 silly resolved scripts: { test: 'node test.js' },
1415 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/abbrev-js' },
1415 silly resolved license:
1415 silly resolved { type: 'MIT',
1415 silly resolved url: 'https://github.com/isaacs/abbrev-js/raw/master/LICENSE' },
1415 silly resolved readme: '# abbrev-js\n\nJust like [ruby\'s Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n var abbrev = require("abbrev");\n abbrev("foo", "fool", "folding", "flop");\n \n // returns:\n { fl: \'flop\'\n , flo: \'flop\'\n , flop: \'flop\'\n , fol: \'folding\'\n , fold: \'folding\'\n , foldi: \'folding\'\n , foldin: \'folding\'\n , folding: \'folding\'\n , foo: \'foo\'\n , fool: \'fool\'\n }\n\nThis is handy for command-line scripts, or other cases where you want to be able to accept shorthands.\n',
1415 silly resolved readmeFilename: 'README.md',
1415 silly resolved _id: 'abbrev@1.0.5',
1415 silly resolved _from: 'abbrev@~1.0.4' },
1415 silly resolved { name: 'archy',
1415 silly resolved version: '0.0.2',
1415 silly resolved description: 'render nested hierarchies `npm ls` style with unicode pipes',
1415 silly resolved main: 'index.js',
1415 silly resolved directories: { lib: '.', example: 'example', test: 'test' },
1415 silly resolved devDependencies: { tap: '~0.2.3' },
1415 silly resolved scripts: { test: 'tap test' },
1415 silly resolved repository:
1415 silly resolved { type: 'git',
1415 silly resolved url: 'http://github.com/substack/node-archy.git' },
1415 silly resolved keywords: [ 'hierarchy', 'npm ls', 'unicode', 'pretty', 'print' ],
1415 silly resolved author:
1415 silly resolved { name: 'James Halliday',
1415 silly resolved email: 'mail@substack.net',
1415 silly resolved url: 'http://substack.net' },
1415 silly resolved license: 'MIT/X11',
1415 silly resolved engine: { node: '>=0.4' },
1415 silly resolved readme: 'archy\n=====\n\nRender nested hierarchies `npm ls` style with unicode pipes.\n\n[![build status](https://secure.travis-ci.org/substack/node-archy.png)](http://travis-ci.org/substack/node-archy)\n\nexample\n=======\n\n``` js\nvar archy = require(\'archy\');\nvar s = archy({\n label : \'beep\',\n nodes : [\n \'ity\',\n {\n label : \'boop\',\n nodes : [\n {\n label : \'o_O\',\n nodes : [\n {\n label : \'oh\',\n nodes : [ \'hello\', \'puny\' ]\n },\n \'human\'\n ]\n },\n \'party\\ntime!\'\n ]\n }\n ]\n});\nconsole.log(s);\n```\n\noutput\n\n```\nbeep\n├── ity\n└─┬ boop\n ├─┬ o_O\n │ ├─┬ oh\n │ │ ├── hello\n │ │ └── puny\n │ └── human\n └── party\n time!\n```\n\nmethods\n=======\n\nvar archy = require(\'archy\')\n\narchy(obj, prefix=\'\', opts={})\n------------------------------\n\nReturn a string representation of `obj` with unicode pipe characters like how\n`npm ls` looks.\n\n`obj` should be a tree of nested objects with `\'label\'` and `\'nodes\'` fields.\n`\'label\'` is a string of text to display at a node level and `\'nodes\'` is an\narray of the descendents of the current node.\n\nIf a node is a string, that string will be used as the `\'label\'` and an empty\narray of `\'nodes\'` will be used.\n\n`prefix` gets prepended to all the lines and is used by the algorithm to\nrecursively update.\n\nIf `\'label\'` has newlines they will be indented at the present indentation level\nwith the current prefix.\n\nTo disable unicode results in favor of all-ansi output set `opts.unicode` to\n`false`.\n\ninstall\n=======\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install archy\n```\n\nlicense\n=======\n\nMIT/X11\n',
1415 silly resolved readmeFilename: 'README.markdown',
1415 silly resolved _id: 'archy@0.0.2',
1415 silly resolved _from: 'archy@~0.0.2' } ]
1416 info install bower-endpoint-parser@0.2.1 into /usr/lib/node_modules/bower
1417 info install bower-json@0.4.0 into /usr/lib/node_modules/bower
1418 info install bower-config@0.5.1 into /usr/lib/node_modules/bower
1419 info install bower-registry-client@0.2.1 into /usr/lib/node_modules/bower
1420 info install bower-logger@0.2.2 into /usr/lib/node_modules/bower
1421 info install cardinal@0.4.4 into /usr/lib/node_modules/bower
1422 info install chalk@0.4.0 into /usr/lib/node_modules/bower
1423 info install decompress-zip@0.0.7 into /usr/lib/node_modules/bower
1424 info install fstream@0.1.25 into /usr/lib/node_modules/bower
1425 info install fstream-ignore@0.0.8 into /usr/lib/node_modules/bower
1426 info install glob@3.2.11 into /usr/lib/node_modules/bower
1427 info install chmodr@0.1.0 into /usr/lib/node_modules/bower
1428 info install graceful-fs@2.0.3 into /usr/lib/node_modules/bower
1429 info install handlebars@1.3.0 into /usr/lib/node_modules/bower
1430 info install inquirer@0.4.1 into /usr/lib/node_modules/bower
1431 info install insight@0.3.1 into /usr/lib/node_modules/bower
1432 info install junk@0.3.0 into /usr/lib/node_modules/bower
1433 info install is-root@0.1.0 into /usr/lib/node_modules/bower
1434 info install lockfile@0.4.2 into /usr/lib/node_modules/bower
1435 info install lru-cache@2.5.0 into /usr/lib/node_modules/bower
1436 info install mkdirp@0.3.5 into /usr/lib/node_modules/bower
1437 info install mout@0.9.1 into /usr/lib/node_modules/bower
1438 info install nopt@2.2.1 into /usr/lib/node_modules/bower
1439 info install opn@0.1.2 into /usr/lib/node_modules/bower
1440 info install p-throttler@0.0.1 into /usr/lib/node_modules/bower
1441 info install q@1.0.1 into /usr/lib/node_modules/bower
1442 info install osenv@0.0.3 into /usr/lib/node_modules/bower
1443 info install promptly@0.2.0 into /usr/lib/node_modules/bower
1444 info install request@2.34.0 into /usr/lib/node_modules/bower
1445 info install request-progress@0.3.1 into /usr/lib/node_modules/bower
1446 info install rimraf@2.2.8 into /usr/lib/node_modules/bower
1447 info install shell-quote@1.4.1 into /usr/lib/node_modules/bower
1448 info install retry@0.6.0 into /usr/lib/node_modules/bower
1449 info install semver@2.2.1 into /usr/lib/node_modules/bower
1450 info install stringify-object@0.2.1 into /usr/lib/node_modules/bower
1451 info install update-notifier@0.1.8 into /usr/lib/node_modules/bower
1452 info install tar@0.1.19 into /usr/lib/node_modules/bower
1453 info install tmp@0.0.23 into /usr/lib/node_modules/bower
1454 info install which@1.0.5 into /usr/lib/node_modules/bower
1455 info install abbrev@1.0.5 into /usr/lib/node_modules/bower
1456 info install archy@0.0.2 into /usr/lib/node_modules/bower
1457 info installOne bower-endpoint-parser@0.2.1
1458 info installOne bower-json@0.4.0
1459 info installOne bower-config@0.5.1
1460 info installOne bower-registry-client@0.2.1
1461 info installOne bower-logger@0.2.2
1462 info installOne cardinal@0.4.4
1463 info installOne chalk@0.4.0
1464 info installOne decompress-zip@0.0.7
1465 info installOne fstream@0.1.25
1466 info installOne fstream-ignore@0.0.8
1467 info installOne glob@3.2.11
1468 info installOne chmodr@0.1.0
1469 info installOne graceful-fs@2.0.3
1470 info installOne handlebars@1.3.0
1471 info installOne inquirer@0.4.1
1472 info installOne insight@0.3.1
1473 info installOne junk@0.3.0
1474 info installOne is-root@0.1.0
1475 info installOne lockfile@0.4.2
1476 info installOne lru-cache@2.5.0
1477 info installOne mkdirp@0.3.5
1478 info installOne mout@0.9.1
1479 info installOne nopt@2.2.1
1480 info installOne opn@0.1.2
1481 info installOne p-throttler@0.0.1
1482 info installOne q@1.0.1
1483 info installOne osenv@0.0.3
1484 info installOne promptly@0.2.0
1485 info installOne request@2.34.0
1486 info installOne request-progress@0.3.1
1487 info installOne rimraf@2.2.8
1488 info installOne shell-quote@1.4.1
1489 info installOne retry@0.6.0
1490 info installOne semver@2.2.1
1491 info installOne stringify-object@0.2.1
1492 info installOne update-notifier@0.1.8
1493 info installOne tar@0.1.19
1494 info installOne tmp@0.0.23
1495 info installOne which@1.0.5
1496 info installOne abbrev@1.0.5
1497 info installOne archy@0.0.2
1498 verbose from cache /root/.npm/bower-endpoint-parser/0.2.1/package/package.json
1499 info /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser unbuild
1500 verbose read json /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser/package.json
1501 verbose from cache /root/.npm/bower-json/0.4.0/package/package.json
1502 info /usr/lib/node_modules/bower/node_modules/bower-json unbuild
1503 verbose read json /usr/lib/node_modules/bower/node_modules/bower-json/package.json
1504 verbose from cache /root/.npm/bower-config/0.5.1/package/package.json
1505 info /usr/lib/node_modules/bower/node_modules/bower-config unbuild
1506 verbose read json /usr/lib/node_modules/bower/node_modules/bower-config/package.json
1507 verbose from cache /root/.npm/bower-registry-client/0.2.1/package/package.json
1508 info /usr/lib/node_modules/bower/node_modules/bower-registry-client unbuild
1509 verbose read json /usr/lib/node_modules/bower/node_modules/bower-registry-client/package.json
1510 verbose from cache /root/.npm/bower-logger/0.2.2/package/package.json
1511 info /usr/lib/node_modules/bower/node_modules/bower-logger unbuild
1512 verbose read json /usr/lib/node_modules/bower/node_modules/bower-logger/package.json
1513 verbose from cache /root/.npm/cardinal/0.4.4/package/package.json
1514 info /usr/lib/node_modules/bower/node_modules/cardinal unbuild
1515 verbose read json /usr/lib/node_modules/bower/node_modules/cardinal/package.json
1516 verbose from cache /root/.npm/chalk/0.4.0/package/package.json
1517 info /usr/lib/node_modules/bower/node_modules/chalk unbuild
1518 verbose read json /usr/lib/node_modules/bower/node_modules/chalk/package.json
1519 verbose from cache /root/.npm/decompress-zip/0.0.7/package/package.json
1520 info /usr/lib/node_modules/bower/node_modules/decompress-zip unbuild
1521 verbose read json /usr/lib/node_modules/bower/node_modules/decompress-zip/package.json
1522 verbose from cache /root/.npm/fstream/0.1.25/package/package.json
1523 info /usr/lib/node_modules/bower/node_modules/fstream unbuild
1524 verbose read json /usr/lib/node_modules/bower/node_modules/fstream/package.json
1525 verbose from cache /root/.npm/fstream-ignore/0.0.8/package/package.json
1526 info /usr/lib/node_modules/bower/node_modules/fstream-ignore unbuild
1527 verbose read json /usr/lib/node_modules/bower/node_modules/fstream-ignore/package.json
1528 verbose from cache /root/.npm/glob/3.2.11/package/package.json
1529 info /usr/lib/node_modules/bower/node_modules/glob unbuild
1530 verbose read json /usr/lib/node_modules/bower/node_modules/glob/package.json
1531 verbose from cache /root/.npm/chmodr/0.1.0/package/package.json
1532 info /usr/lib/node_modules/bower/node_modules/chmodr unbuild
1533 verbose read json /usr/lib/node_modules/bower/node_modules/chmodr/package.json
1534 verbose from cache /root/.npm/graceful-fs/2.0.3/package/package.json
1535 info /usr/lib/node_modules/bower/node_modules/graceful-fs unbuild
1536 verbose read json /usr/lib/node_modules/bower/node_modules/graceful-fs/package.json
1537 verbose from cache /root/.npm/handlebars/1.3.0/package/package.json
1538 info /usr/lib/node_modules/bower/node_modules/handlebars unbuild
1539 verbose read json /usr/lib/node_modules/bower/node_modules/handlebars/package.json
1540 verbose from cache /root/.npm/inquirer/0.4.1/package/package.json
1541 info /usr/lib/node_modules/bower/node_modules/inquirer unbuild
1542 verbose read json /usr/lib/node_modules/bower/node_modules/inquirer/package.json
1543 verbose from cache /root/.npm/insight/0.3.1/package/package.json
1544 info /usr/lib/node_modules/bower/node_modules/insight unbuild
1545 verbose read json /usr/lib/node_modules/bower/node_modules/insight/package.json
1546 verbose from cache /root/.npm/junk/0.3.0/package/package.json
1547 info /usr/lib/node_modules/bower/node_modules/junk unbuild
1548 verbose read json /usr/lib/node_modules/bower/node_modules/junk/package.json
1549 verbose from cache /root/.npm/is-root/0.1.0/package/package.json
1550 info /usr/lib/node_modules/bower/node_modules/is-root unbuild
1551 verbose read json /usr/lib/node_modules/bower/node_modules/is-root/package.json
1552 verbose from cache /root/.npm/lockfile/0.4.2/package/package.json
1553 info /usr/lib/node_modules/bower/node_modules/lockfile unbuild
1554 verbose read json /usr/lib/node_modules/bower/node_modules/lockfile/package.json
1555 verbose from cache /root/.npm/lru-cache/2.5.0/package/package.json
1556 info /usr/lib/node_modules/bower/node_modules/lru-cache unbuild
1557 verbose read json /usr/lib/node_modules/bower/node_modules/lru-cache/package.json
1558 verbose from cache /root/.npm/mkdirp/0.3.5/package/package.json
1559 info /usr/lib/node_modules/bower/node_modules/mkdirp unbuild
1560 verbose read json /usr/lib/node_modules/bower/node_modules/mkdirp/package.json
1561 verbose from cache /root/.npm/mout/0.9.1/package/package.json
1562 info /usr/lib/node_modules/bower/node_modules/mout unbuild
1563 verbose read json /usr/lib/node_modules/bower/node_modules/mout/package.json
1564 verbose from cache /root/.npm/nopt/2.2.1/package/package.json
1565 info /usr/lib/node_modules/bower/node_modules/nopt unbuild
1566 verbose read json /usr/lib/node_modules/bower/node_modules/nopt/package.json
1567 verbose from cache /root/.npm/opn/0.1.2/package/package.json
1568 info /usr/lib/node_modules/bower/node_modules/opn unbuild
1569 verbose read json /usr/lib/node_modules/bower/node_modules/opn/package.json
1570 verbose from cache /root/.npm/p-throttler/0.0.1/package/package.json
1571 info /usr/lib/node_modules/bower/node_modules/p-throttler unbuild
1572 verbose read json /usr/lib/node_modules/bower/node_modules/p-throttler/package.json
1573 verbose from cache /root/.npm/q/1.0.1/package/package.json
1574 info /usr/lib/node_modules/bower/node_modules/q unbuild
1575 verbose read json /usr/lib/node_modules/bower/node_modules/q/package.json
1576 verbose from cache /root/.npm/osenv/0.0.3/package/package.json
1577 info /usr/lib/node_modules/bower/node_modules/osenv unbuild
1578 verbose read json /usr/lib/node_modules/bower/node_modules/osenv/package.json
1579 verbose from cache /root/.npm/promptly/0.2.0/package/package.json
1580 info /usr/lib/node_modules/bower/node_modules/promptly unbuild
1581 verbose read json /usr/lib/node_modules/bower/node_modules/promptly/package.json
1582 verbose from cache /root/.npm/request/2.34.0/package/package.json
1583 info /usr/lib/node_modules/bower/node_modules/request unbuild
1584 verbose read json /usr/lib/node_modules/bower/node_modules/request/package.json
1585 verbose from cache /root/.npm/request-progress/0.3.1/package/package.json
1586 info /usr/lib/node_modules/bower/node_modules/request-progress unbuild
1587 verbose read json /usr/lib/node_modules/bower/node_modules/request-progress/package.json
1588 verbose from cache /root/.npm/rimraf/2.2.8/package/package.json
1589 info /usr/lib/node_modules/bower/node_modules/rimraf unbuild
1590 verbose read json /usr/lib/node_modules/bower/node_modules/rimraf/package.json
1591 verbose from cache /root/.npm/shell-quote/1.4.1/package/package.json
1592 info /usr/lib/node_modules/bower/node_modules/shell-quote unbuild
1593 verbose read json /usr/lib/node_modules/bower/node_modules/shell-quote/package.json
1594 verbose from cache /root/.npm/retry/0.6.0/package/package.json
1595 info /usr/lib/node_modules/bower/node_modules/retry unbuild
1596 verbose read json /usr/lib/node_modules/bower/node_modules/retry/package.json
1597 verbose from cache /root/.npm/semver/2.2.1/package/package.json
1598 info /usr/lib/node_modules/bower/node_modules/semver unbuild
1599 verbose read json /usr/lib/node_modules/bower/node_modules/semver/package.json
1600 verbose from cache /root/.npm/stringify-object/0.2.1/package/package.json
1601 info /usr/lib/node_modules/bower/node_modules/stringify-object unbuild
1602 verbose read json /usr/lib/node_modules/bower/node_modules/stringify-object/package.json
1603 verbose from cache /root/.npm/update-notifier/0.1.8/package/package.json
1604 info /usr/lib/node_modules/bower/node_modules/update-notifier unbuild
1605 verbose read json /usr/lib/node_modules/bower/node_modules/update-notifier/package.json
1606 verbose from cache /root/.npm/tar/0.1.19/package/package.json
1607 info /usr/lib/node_modules/bower/node_modules/tar unbuild
1608 verbose read json /usr/lib/node_modules/bower/node_modules/tar/package.json
1609 verbose from cache /root/.npm/tmp/0.0.23/package/package.json
1610 info /usr/lib/node_modules/bower/node_modules/tmp unbuild
1611 verbose read json /usr/lib/node_modules/bower/node_modules/tmp/package.json
1612 verbose from cache /root/.npm/which/1.0.5/package/package.json
1613 info /usr/lib/node_modules/bower/node_modules/which unbuild
1614 verbose read json /usr/lib/node_modules/bower/node_modules/which/package.json
1615 verbose from cache /root/.npm/abbrev/1.0.5/package/package.json
1616 info /usr/lib/node_modules/bower/node_modules/abbrev unbuild
1617 verbose read json /usr/lib/node_modules/bower/node_modules/abbrev/package.json
1618 verbose from cache /root/.npm/archy/0.0.2/package/package.json
1619 info /usr/lib/node_modules/bower/node_modules/archy unbuild
1620 verbose read json /usr/lib/node_modules/bower/node_modules/archy/package.json
1621 verbose tar unpack /root/.npm/bower-endpoint-parser/0.2.1/package.tgz
1622 silly lockFile ac593f28-de-modules-bower-endpoint-parser /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser
1623 verbose lock /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser /root/.npm/ac593f28-de-modules-bower-endpoint-parser.lock
1624 silly lockFile 4cdf3d43-ndpoint-parser-0-2-1-package-tgz /root/.npm/bower-endpoint-parser/0.2.1/package.tgz
1625 verbose lock /root/.npm/bower-endpoint-parser/0.2.1/package.tgz /root/.npm/4cdf3d43-ndpoint-parser-0-2-1-package-tgz.lock
1626 verbose tar unpack /root/.npm/bower-json/0.4.0/package.tgz
1627 silly lockFile 44ea8523-es-bower-node-modules-bower-json /usr/lib/node_modules/bower/node_modules/bower-json
1628 verbose lock /usr/lib/node_modules/bower/node_modules/bower-json /root/.npm/44ea8523-es-bower-node-modules-bower-json.lock
1629 silly lockFile 9cd70243-npm-bower-json-0-4-0-package-tgz /root/.npm/bower-json/0.4.0/package.tgz
1630 verbose lock /root/.npm/bower-json/0.4.0/package.tgz /root/.npm/9cd70243-npm-bower-json-0-4-0-package-tgz.lock
1631 verbose tar unpack /root/.npm/bower-config/0.5.1/package.tgz
1632 silly lockFile b9c26e19--bower-node-modules-bower-config /usr/lib/node_modules/bower/node_modules/bower-config
1633 verbose lock /usr/lib/node_modules/bower/node_modules/bower-config /root/.npm/b9c26e19--bower-node-modules-bower-config.lock
1634 silly lockFile be757d55-m-bower-config-0-5-1-package-tgz /root/.npm/bower-config/0.5.1/package.tgz
1635 verbose lock /root/.npm/bower-config/0.5.1/package.tgz /root/.npm/be757d55-m-bower-config-0-5-1-package-tgz.lock
1636 verbose tar unpack /root/.npm/bower-registry-client/0.2.1/package.tgz
1637 silly lockFile b38f56f3-de-modules-bower-registry-client /usr/lib/node_modules/bower/node_modules/bower-registry-client
1638 verbose lock /usr/lib/node_modules/bower/node_modules/bower-registry-client /root/.npm/b38f56f3-de-modules-bower-registry-client.lock
1639 silly lockFile 6176a676-egistry-client-0-2-1-package-tgz /root/.npm/bower-registry-client/0.2.1/package.tgz
1640 verbose lock /root/.npm/bower-registry-client/0.2.1/package.tgz /root/.npm/6176a676-egistry-client-0-2-1-package-tgz.lock
1641 verbose tar unpack /root/.npm/bower-logger/0.2.2/package.tgz
1642 silly lockFile 6461f14a--bower-node-modules-bower-logger /usr/lib/node_modules/bower/node_modules/bower-logger
1643 verbose lock /usr/lib/node_modules/bower/node_modules/bower-logger /root/.npm/6461f14a--bower-node-modules-bower-logger.lock
1644 silly lockFile 19ef3635-m-bower-logger-0-2-2-package-tgz /root/.npm/bower-logger/0.2.2/package.tgz
1645 verbose lock /root/.npm/bower-logger/0.2.2/package.tgz /root/.npm/19ef3635-m-bower-logger-0-2-2-package-tgz.lock
1646 verbose tar unpack /root/.npm/cardinal/0.4.4/package.tgz
1647 silly lockFile 15d6d58f-ules-bower-node-modules-cardinal /usr/lib/node_modules/bower/node_modules/cardinal
1648 verbose lock /usr/lib/node_modules/bower/node_modules/cardinal /root/.npm/15d6d58f-ules-bower-node-modules-cardinal.lock
1649 silly lockFile 581f303a-t-npm-cardinal-0-4-4-package-tgz /root/.npm/cardinal/0.4.4/package.tgz
1650 verbose lock /root/.npm/cardinal/0.4.4/package.tgz /root/.npm/581f303a-t-npm-cardinal-0-4-4-package-tgz.lock
1651 verbose tar unpack /root/.npm/chalk/0.4.0/package.tgz
1652 silly lockFile 8445912d-modules-bower-node-modules-chalk /usr/lib/node_modules/bower/node_modules/chalk
1653 verbose lock /usr/lib/node_modules/bower/node_modules/chalk /root/.npm/8445912d-modules-bower-node-modules-chalk.lock
1654 silly lockFile 1fe87b9f-root-npm-chalk-0-4-0-package-tgz /root/.npm/chalk/0.4.0/package.tgz
1655 verbose lock /root/.npm/chalk/0.4.0/package.tgz /root/.npm/1fe87b9f-root-npm-chalk-0-4-0-package-tgz.lock
1656 verbose tar unpack /root/.npm/decompress-zip/0.0.7/package.tgz
1657 silly lockFile d748bf59-ower-node-modules-decompress-zip /usr/lib/node_modules/bower/node_modules/decompress-zip
1658 verbose lock /usr/lib/node_modules/bower/node_modules/decompress-zip /root/.npm/d748bf59-ower-node-modules-decompress-zip.lock
1659 silly lockFile f74f65c1-decompress-zip-0-0-7-package-tgz /root/.npm/decompress-zip/0.0.7/package.tgz
1660 verbose lock /root/.npm/decompress-zip/0.0.7/package.tgz /root/.npm/f74f65c1-decompress-zip-0-0-7-package-tgz.lock
1661 verbose tar unpack /root/.npm/fstream/0.1.25/package.tgz
1662 silly lockFile 7f4ef3c0-dules-bower-node-modules-fstream /usr/lib/node_modules/bower/node_modules/fstream
1663 verbose lock /usr/lib/node_modules/bower/node_modules/fstream /root/.npm/7f4ef3c0-dules-bower-node-modules-fstream.lock
1664 silly lockFile d63623b5-t-npm-fstream-0-1-25-package-tgz /root/.npm/fstream/0.1.25/package.tgz
1665 verbose lock /root/.npm/fstream/0.1.25/package.tgz /root/.npm/d63623b5-t-npm-fstream-0-1-25-package-tgz.lock
1666 verbose tar unpack /root/.npm/fstream-ignore/0.0.8/package.tgz
1667 silly lockFile 83b05336-ower-node-modules-fstream-ignore /usr/lib/node_modules/bower/node_modules/fstream-ignore
1668 verbose lock /usr/lib/node_modules/bower/node_modules/fstream-ignore /root/.npm/83b05336-ower-node-modules-fstream-ignore.lock
1669 silly lockFile 6c774ca1-fstream-ignore-0-0-8-package-tgz /root/.npm/fstream-ignore/0.0.8/package.tgz
1670 verbose lock /root/.npm/fstream-ignore/0.0.8/package.tgz /root/.npm/6c774ca1-fstream-ignore-0-0-8-package-tgz.lock
1671 verbose tar unpack /root/.npm/glob/3.2.11/package.tgz
1672 silly lockFile dbad420e--modules-bower-node-modules-glob /usr/lib/node_modules/bower/node_modules/glob
1673 verbose lock /usr/lib/node_modules/bower/node_modules/glob /root/.npm/dbad420e--modules-bower-node-modules-glob.lock
1674 silly lockFile 29139465-root-npm-glob-3-2-11-package-tgz /root/.npm/glob/3.2.11/package.tgz
1675 verbose lock /root/.npm/glob/3.2.11/package.tgz /root/.npm/29139465-root-npm-glob-3-2-11-package-tgz.lock
1676 verbose tar unpack /root/.npm/chmodr/0.1.0/package.tgz
1677 silly lockFile c849bba1-odules-bower-node-modules-chmodr /usr/lib/node_modules/bower/node_modules/chmodr
1678 verbose lock /usr/lib/node_modules/bower/node_modules/chmodr /root/.npm/c849bba1-odules-bower-node-modules-chmodr.lock
1679 silly lockFile 089dbb77-oot-npm-chmodr-0-1-0-package-tgz /root/.npm/chmodr/0.1.0/package.tgz
1680 verbose lock /root/.npm/chmodr/0.1.0/package.tgz /root/.npm/089dbb77-oot-npm-chmodr-0-1-0-package-tgz.lock
1681 verbose tar unpack /root/.npm/graceful-fs/2.0.3/package.tgz
1682 silly lockFile f70d7add-s-bower-node-modules-graceful-fs /usr/lib/node_modules/bower/node_modules/graceful-fs
1683 verbose lock /usr/lib/node_modules/bower/node_modules/graceful-fs /root/.npm/f70d7add-s-bower-node-modules-graceful-fs.lock
1684 silly lockFile 990d02f4-pm-graceful-fs-2-0-3-package-tgz /root/.npm/graceful-fs/2.0.3/package.tgz
1685 verbose lock /root/.npm/graceful-fs/2.0.3/package.tgz /root/.npm/990d02f4-pm-graceful-fs-2-0-3-package-tgz.lock
1686 verbose tar unpack /root/.npm/handlebars/1.3.0/package.tgz
1687 silly lockFile 8b7e4af8-es-bower-node-modules-handlebars /usr/lib/node_modules/bower/node_modules/handlebars
1688 verbose lock /usr/lib/node_modules/bower/node_modules/handlebars /root/.npm/8b7e4af8-es-bower-node-modules-handlebars.lock
1689 silly lockFile 222e5ea2-npm-handlebars-1-3-0-package-tgz /root/.npm/handlebars/1.3.0/package.tgz
1690 verbose lock /root/.npm/handlebars/1.3.0/package.tgz /root/.npm/222e5ea2-npm-handlebars-1-3-0-package-tgz.lock
1691 verbose tar unpack /root/.npm/inquirer/0.4.1/package.tgz
1692 silly lockFile 9ad895e7-ules-bower-node-modules-inquirer /usr/lib/node_modules/bower/node_modules/inquirer
1693 verbose lock /usr/lib/node_modules/bower/node_modules/inquirer /root/.npm/9ad895e7-ules-bower-node-modules-inquirer.lock
1694 silly lockFile 49d2b548-t-npm-inquirer-0-4-1-package-tgz /root/.npm/inquirer/0.4.1/package.tgz
1695 verbose lock /root/.npm/inquirer/0.4.1/package.tgz /root/.npm/49d2b548-t-npm-inquirer-0-4-1-package-tgz.lock
1696 verbose tar unpack /root/.npm/insight/0.3.1/package.tgz
1697 silly lockFile dc29a76d-dules-bower-node-modules-insight /usr/lib/node_modules/bower/node_modules/insight
1698 verbose lock /usr/lib/node_modules/bower/node_modules/insight /root/.npm/dc29a76d-dules-bower-node-modules-insight.lock
1699 silly lockFile 587d9942-ot-npm-insight-0-3-1-package-tgz /root/.npm/insight/0.3.1/package.tgz
1700 verbose lock /root/.npm/insight/0.3.1/package.tgz /root/.npm/587d9942-ot-npm-insight-0-3-1-package-tgz.lock
1701 verbose tar unpack /root/.npm/junk/0.3.0/package.tgz
1702 silly lockFile faf00ae9--modules-bower-node-modules-junk /usr/lib/node_modules/bower/node_modules/junk
1703 verbose lock /usr/lib/node_modules/bower/node_modules/junk /root/.npm/faf00ae9--modules-bower-node-modules-junk.lock
1704 silly lockFile 60dd04e4-root-npm-junk-0-3-0-package-tgz /root/.npm/junk/0.3.0/package.tgz
1705 verbose lock /root/.npm/junk/0.3.0/package.tgz /root/.npm/60dd04e4-root-npm-junk-0-3-0-package-tgz.lock
1706 verbose tar unpack /root/.npm/is-root/0.1.0/package.tgz
1707 silly lockFile 16695c20-dules-bower-node-modules-is-root /usr/lib/node_modules/bower/node_modules/is-root
1708 verbose lock /usr/lib/node_modules/bower/node_modules/is-root /root/.npm/16695c20-dules-bower-node-modules-is-root.lock
1709 silly lockFile 7060e308-ot-npm-is-root-0-1-0-package-tgz /root/.npm/is-root/0.1.0/package.tgz
1710 verbose lock /root/.npm/is-root/0.1.0/package.tgz /root/.npm/7060e308-ot-npm-is-root-0-1-0-package-tgz.lock
1711 verbose tar unpack /root/.npm/lockfile/0.4.2/package.tgz
1712 silly lockFile 712163e6-ules-bower-node-modules-lockfile /usr/lib/node_modules/bower/node_modules/lockfile
1713 verbose lock /usr/lib/node_modules/bower/node_modules/lockfile /root/.npm/712163e6-ules-bower-node-modules-lockfile.lock
1714 silly lockFile 11b63125-t-npm-lockfile-0-4-2-package-tgz /root/.npm/lockfile/0.4.2/package.tgz
1715 verbose lock /root/.npm/lockfile/0.4.2/package.tgz /root/.npm/11b63125-t-npm-lockfile-0-4-2-package-tgz.lock
1716 verbose tar unpack /root/.npm/lru-cache/2.5.0/package.tgz
1717 silly lockFile 392cf60c-les-bower-node-modules-lru-cache /usr/lib/node_modules/bower/node_modules/lru-cache
1718 verbose lock /usr/lib/node_modules/bower/node_modules/lru-cache /root/.npm/392cf60c-les-bower-node-modules-lru-cache.lock
1719 silly lockFile 184edf40--npm-lru-cache-2-5-0-package-tgz /root/.npm/lru-cache/2.5.0/package.tgz
1720 verbose lock /root/.npm/lru-cache/2.5.0/package.tgz /root/.npm/184edf40--npm-lru-cache-2-5-0-package-tgz.lock
1721 verbose tar unpack /root/.npm/mkdirp/0.3.5/package.tgz
1722 silly lockFile 77c1a8b5-odules-bower-node-modules-mkdirp /usr/lib/node_modules/bower/node_modules/mkdirp
1723 verbose lock /usr/lib/node_modules/bower/node_modules/mkdirp /root/.npm/77c1a8b5-odules-bower-node-modules-mkdirp.lock
1724 silly lockFile 963312bb-oot-npm-mkdirp-0-3-5-package-tgz /root/.npm/mkdirp/0.3.5/package.tgz
1725 verbose lock /root/.npm/mkdirp/0.3.5/package.tgz /root/.npm/963312bb-oot-npm-mkdirp-0-3-5-package-tgz.lock
1726 verbose tar unpack /root/.npm/mout/0.9.1/package.tgz
1727 silly lockFile 45eabe24--modules-bower-node-modules-mout /usr/lib/node_modules/bower/node_modules/mout
1728 verbose lock /usr/lib/node_modules/bower/node_modules/mout /root/.npm/45eabe24--modules-bower-node-modules-mout.lock
1729 silly lockFile f8f90aa6-root-npm-mout-0-9-1-package-tgz /root/.npm/mout/0.9.1/package.tgz
1730 verbose lock /root/.npm/mout/0.9.1/package.tgz /root/.npm/f8f90aa6-root-npm-mout-0-9-1-package-tgz.lock
1731 verbose tar unpack /root/.npm/nopt/2.2.1/package.tgz
1732 silly lockFile 5c55dde3--modules-bower-node-modules-nopt /usr/lib/node_modules/bower/node_modules/nopt
1733 verbose lock /usr/lib/node_modules/bower/node_modules/nopt /root/.npm/5c55dde3--modules-bower-node-modules-nopt.lock
1734 silly lockFile e347361f-root-npm-nopt-2-2-1-package-tgz /root/.npm/nopt/2.2.1/package.tgz
1735 verbose lock /root/.npm/nopt/2.2.1/package.tgz /root/.npm/e347361f-root-npm-nopt-2-2-1-package-tgz.lock
1736 verbose tar unpack /root/.npm/opn/0.1.2/package.tgz
1737 silly lockFile f411f116-e-modules-bower-node-modules-opn /usr/lib/node_modules/bower/node_modules/opn
1738 verbose lock /usr/lib/node_modules/bower/node_modules/opn /root/.npm/f411f116-e-modules-bower-node-modules-opn.lock
1739 silly lockFile f74e6076-root-npm-opn-0-1-2-package-tgz /root/.npm/opn/0.1.2/package.tgz
1740 verbose lock /root/.npm/opn/0.1.2/package.tgz /root/.npm/f74e6076-root-npm-opn-0-1-2-package-tgz.lock
1741 verbose tar unpack /root/.npm/p-throttler/0.0.1/package.tgz
1742 silly lockFile 00052a4c-s-bower-node-modules-p-throttler /usr/lib/node_modules/bower/node_modules/p-throttler
1743 verbose lock /usr/lib/node_modules/bower/node_modules/p-throttler /root/.npm/00052a4c-s-bower-node-modules-p-throttler.lock
1744 silly lockFile 5f39c6d5-pm-p-throttler-0-0-1-package-tgz /root/.npm/p-throttler/0.0.1/package.tgz
1745 verbose lock /root/.npm/p-throttler/0.0.1/package.tgz /root/.npm/5f39c6d5-pm-p-throttler-0-0-1-package-tgz.lock
1746 verbose tar unpack /root/.npm/q/1.0.1/package.tgz
1747 silly lockFile 060a45e7-ode-modules-bower-node-modules-q /usr/lib/node_modules/bower/node_modules/q
1748 verbose lock /usr/lib/node_modules/bower/node_modules/q /root/.npm/060a45e7-ode-modules-bower-node-modules-q.lock
1749 silly lockFile e9a6c90b-root-npm-q-1-0-1-package-tgz /root/.npm/q/1.0.1/package.tgz
1750 verbose lock /root/.npm/q/1.0.1/package.tgz /root/.npm/e9a6c90b-root-npm-q-1-0-1-package-tgz.lock
1751 verbose tar unpack /root/.npm/osenv/0.0.3/package.tgz
1752 silly lockFile 18c05f3f-modules-bower-node-modules-osenv /usr/lib/node_modules/bower/node_modules/osenv
1753 verbose lock /usr/lib/node_modules/bower/node_modules/osenv /root/.npm/18c05f3f-modules-bower-node-modules-osenv.lock
1754 silly lockFile f1f4f0ee-root-npm-osenv-0-0-3-package-tgz /root/.npm/osenv/0.0.3/package.tgz
1755 verbose lock /root/.npm/osenv/0.0.3/package.tgz /root/.npm/f1f4f0ee-root-npm-osenv-0-0-3-package-tgz.lock
1756 verbose tar unpack /root/.npm/promptly/0.2.0/package.tgz
1757 silly lockFile 1bcd4333-ules-bower-node-modules-promptly /usr/lib/node_modules/bower/node_modules/promptly
1758 verbose lock /usr/lib/node_modules/bower/node_modules/promptly /root/.npm/1bcd4333-ules-bower-node-modules-promptly.lock
1759 silly lockFile d116e717-t-npm-promptly-0-2-0-package-tgz /root/.npm/promptly/0.2.0/package.tgz
1760 verbose lock /root/.npm/promptly/0.2.0/package.tgz /root/.npm/d116e717-t-npm-promptly-0-2-0-package-tgz.lock
1761 verbose tar unpack /root/.npm/request/2.34.0/package.tgz
1762 silly lockFile 087a35e9-dules-bower-node-modules-request /usr/lib/node_modules/bower/node_modules/request
1763 verbose lock /usr/lib/node_modules/bower/node_modules/request /root/.npm/087a35e9-dules-bower-node-modules-request.lock
1764 silly lockFile 5de9d37a-t-npm-request-2-34-0-package-tgz /root/.npm/request/2.34.0/package.tgz
1765 verbose lock /root/.npm/request/2.34.0/package.tgz /root/.npm/5de9d37a-t-npm-request-2-34-0-package-tgz.lock
1766 verbose tar unpack /root/.npm/request-progress/0.3.1/package.tgz
1767 silly lockFile ab05cd66-er-node-modules-request-progress /usr/lib/node_modules/bower/node_modules/request-progress
1768 verbose lock /usr/lib/node_modules/bower/node_modules/request-progress /root/.npm/ab05cd66-er-node-modules-request-progress.lock
1769 silly lockFile 460286a9-quest-progress-0-3-1-package-tgz /root/.npm/request-progress/0.3.1/package.tgz
1770 verbose lock /root/.npm/request-progress/0.3.1/package.tgz /root/.npm/460286a9-quest-progress-0-3-1-package-tgz.lock
1771 verbose tar unpack /root/.npm/rimraf/2.2.8/package.tgz
1772 silly lockFile 7e320fd2-odules-bower-node-modules-rimraf /usr/lib/node_modules/bower/node_modules/rimraf
1773 verbose lock /usr/lib/node_modules/bower/node_modules/rimraf /root/.npm/7e320fd2-odules-bower-node-modules-rimraf.lock
1774 silly lockFile 5d26cfd1-oot-npm-rimraf-2-2-8-package-tgz /root/.npm/rimraf/2.2.8/package.tgz
1775 verbose lock /root/.npm/rimraf/2.2.8/package.tgz /root/.npm/5d26cfd1-oot-npm-rimraf-2-2-8-package-tgz.lock
1776 verbose tar unpack /root/.npm/shell-quote/1.4.1/package.tgz
1777 silly lockFile 075745fb-s-bower-node-modules-shell-quote /usr/lib/node_modules/bower/node_modules/shell-quote
1778 verbose lock /usr/lib/node_modules/bower/node_modules/shell-quote /root/.npm/075745fb-s-bower-node-modules-shell-quote.lock
1779 silly lockFile e76de758-pm-shell-quote-1-4-1-package-tgz /root/.npm/shell-quote/1.4.1/package.tgz
1780 verbose lock /root/.npm/shell-quote/1.4.1/package.tgz /root/.npm/e76de758-pm-shell-quote-1-4-1-package-tgz.lock
1781 verbose tar unpack /root/.npm/retry/0.6.0/package.tgz
1782 silly lockFile e8c078a7-modules-bower-node-modules-retry /usr/lib/node_modules/bower/node_modules/retry
1783 verbose lock /usr/lib/node_modules/bower/node_modules/retry /root/.npm/e8c078a7-modules-bower-node-modules-retry.lock
1784 silly lockFile 598e817c-root-npm-retry-0-6-0-package-tgz /root/.npm/retry/0.6.0/package.tgz
1785 verbose lock /root/.npm/retry/0.6.0/package.tgz /root/.npm/598e817c-root-npm-retry-0-6-0-package-tgz.lock
1786 verbose tar unpack /root/.npm/semver/2.2.1/package.tgz
1787 silly lockFile 76d2f2f9-odules-bower-node-modules-semver /usr/lib/node_modules/bower/node_modules/semver
1788 verbose lock /usr/lib/node_modules/bower/node_modules/semver /root/.npm/76d2f2f9-odules-bower-node-modules-semver.lock
1789 silly lockFile 760b1963-oot-npm-semver-2-2-1-package-tgz /root/.npm/semver/2.2.1/package.tgz
1790 verbose lock /root/.npm/semver/2.2.1/package.tgz /root/.npm/760b1963-oot-npm-semver-2-2-1-package-tgz.lock
1791 verbose tar unpack /root/.npm/stringify-object/0.2.1/package.tgz
1792 silly lockFile 43d35fda-er-node-modules-stringify-object /usr/lib/node_modules/bower/node_modules/stringify-object
1793 verbose lock /usr/lib/node_modules/bower/node_modules/stringify-object /root/.npm/43d35fda-er-node-modules-stringify-object.lock
1794 silly lockFile e0df20f7-ringify-object-0-2-1-package-tgz /root/.npm/stringify-object/0.2.1/package.tgz
1795 verbose lock /root/.npm/stringify-object/0.2.1/package.tgz /root/.npm/e0df20f7-ringify-object-0-2-1-package-tgz.lock
1796 verbose tar unpack /root/.npm/update-notifier/0.1.8/package.tgz
1797 silly lockFile 35721b24-wer-node-modules-update-notifier /usr/lib/node_modules/bower/node_modules/update-notifier
1798 verbose lock /usr/lib/node_modules/bower/node_modules/update-notifier /root/.npm/35721b24-wer-node-modules-update-notifier.lock
1799 silly lockFile 06ef4502-pdate-notifier-0-1-8-package-tgz /root/.npm/update-notifier/0.1.8/package.tgz
1800 verbose lock /root/.npm/update-notifier/0.1.8/package.tgz /root/.npm/06ef4502-pdate-notifier-0-1-8-package-tgz.lock
1801 verbose tar unpack /root/.npm/tar/0.1.19/package.tgz
1802 silly lockFile b3f7da4b-e-modules-bower-node-modules-tar /usr/lib/node_modules/bower/node_modules/tar
1803 verbose lock /usr/lib/node_modules/bower/node_modules/tar /root/.npm/b3f7da4b-e-modules-bower-node-modules-tar.lock
1804 silly lockFile f9c96017-root-npm-tar-0-1-19-package-tgz /root/.npm/tar/0.1.19/package.tgz
1805 verbose lock /root/.npm/tar/0.1.19/package.tgz /root/.npm/f9c96017-root-npm-tar-0-1-19-package-tgz.lock
1806 verbose tar unpack /root/.npm/tmp/0.0.23/package.tgz
1807 silly lockFile f80aed13-e-modules-bower-node-modules-tmp /usr/lib/node_modules/bower/node_modules/tmp
1808 verbose lock /usr/lib/node_modules/bower/node_modules/tmp /root/.npm/f80aed13-e-modules-bower-node-modules-tmp.lock
1809 silly lockFile efd8bbaa-root-npm-tmp-0-0-23-package-tgz /root/.npm/tmp/0.0.23/package.tgz
1810 verbose lock /root/.npm/tmp/0.0.23/package.tgz /root/.npm/efd8bbaa-root-npm-tmp-0-0-23-package-tgz.lock
1811 verbose tar unpack /root/.npm/which/1.0.5/package.tgz
1812 silly lockFile 611c68f7-modules-bower-node-modules-which /usr/lib/node_modules/bower/node_modules/which
1813 verbose lock /usr/lib/node_modules/bower/node_modules/which /root/.npm/611c68f7-modules-bower-node-modules-which.lock
1814 silly lockFile 5ea98990-root-npm-which-1-0-5-package-tgz /root/.npm/which/1.0.5/package.tgz
1815 verbose lock /root/.npm/which/1.0.5/package.tgz /root/.npm/5ea98990-root-npm-which-1-0-5-package-tgz.lock
1816 verbose tar unpack /root/.npm/abbrev/1.0.5/package.tgz
1817 silly lockFile bb4fbb3e-odules-bower-node-modules-abbrev /usr/lib/node_modules/bower/node_modules/abbrev
1818 verbose lock /usr/lib/node_modules/bower/node_modules/abbrev /root/.npm/bb4fbb3e-odules-bower-node-modules-abbrev.lock
1819 silly lockFile 0de78867-oot-npm-abbrev-1-0-5-package-tgz /root/.npm/abbrev/1.0.5/package.tgz
1820 verbose lock /root/.npm/abbrev/1.0.5/package.tgz /root/.npm/0de78867-oot-npm-abbrev-1-0-5-package-tgz.lock
1821 verbose tar unpack /root/.npm/archy/0.0.2/package.tgz
1822 silly lockFile c78eb03a-modules-bower-node-modules-archy /usr/lib/node_modules/bower/node_modules/archy
1823 verbose lock /usr/lib/node_modules/bower/node_modules/archy /root/.npm/c78eb03a-modules-bower-node-modules-archy.lock
1824 silly lockFile 77bfdcd9-root-npm-archy-0-0-2-package-tgz /root/.npm/archy/0.0.2/package.tgz
1825 verbose lock /root/.npm/archy/0.0.2/package.tgz /root/.npm/77bfdcd9-root-npm-archy-0-0-2-package-tgz.lock
1826 silly gunzTarPerm modes [ '755', '644' ]
1827 silly gunzTarPerm modes [ '755', '644' ]
1828 silly gunzTarPerm modes [ '755', '644' ]
1829 silly gunzTarPerm modes [ '755', '644' ]
1830 silly gunzTarPerm modes [ '755', '644' ]
1831 silly gunzTarPerm modes [ '755', '644' ]
1832 silly gunzTarPerm modes [ '755', '644' ]
1833 silly gunzTarPerm modes [ '755', '644' ]
1834 silly gunzTarPerm modes [ '755', '644' ]
1835 silly gunzTarPerm modes [ '755', '644' ]
1836 silly gunzTarPerm modes [ '755', '644' ]
1837 silly gunzTarPerm modes [ '755', '644' ]
1838 silly gunzTarPerm modes [ '755', '644' ]
1839 silly gunzTarPerm modes [ '755', '644' ]
1840 silly gunzTarPerm modes [ '755', '644' ]
1841 silly gunzTarPerm modes [ '755', '644' ]
1842 silly gunzTarPerm modes [ '755', '644' ]
1843 silly gunzTarPerm modes [ '755', '644' ]
1844 silly gunzTarPerm modes [ '755', '644' ]
1845 silly gunzTarPerm modes [ '755', '644' ]
1846 silly gunzTarPerm modes [ '755', '644' ]
1847 silly gunzTarPerm modes [ '755', '644' ]
1848 silly gunzTarPerm modes [ '755', '644' ]
1849 silly gunzTarPerm modes [ '755', '644' ]
1850 silly gunzTarPerm modes [ '755', '644' ]
1851 silly gunzTarPerm modes [ '755', '644' ]
1852 silly gunzTarPerm modes [ '755', '644' ]
1853 silly gunzTarPerm modes [ '755', '644' ]
1854 silly gunzTarPerm modes [ '755', '644' ]
1855 silly gunzTarPerm modes [ '755', '644' ]
1856 silly gunzTarPerm modes [ '755', '644' ]
1857 silly gunzTarPerm modes [ '755', '644' ]
1858 silly gunzTarPerm modes [ '755', '644' ]
1859 silly gunzTarPerm modes [ '755', '644' ]
1860 silly gunzTarPerm modes [ '755', '644' ]
1861 silly gunzTarPerm modes [ '755', '644' ]
1862 silly gunzTarPerm modes [ '755', '644' ]
1863 silly gunzTarPerm modes [ '755', '644' ]
1864 silly gunzTarPerm modes [ '755', '644' ]
1865 silly gunzTarPerm extractEntry package.json
1866 silly gunzTarPerm extractEntry package.json
1867 silly gunzTarPerm extractEntry package.json
1868 silly gunzTarPerm extractEntry package.json
1869 silly gunzTarPerm extractEntry package.json
1870 silly gunzTarPerm extractEntry package.json
1871 silly gunzTarPerm extractEntry package.json
1872 silly gunzTarPerm extractEntry package.json
1873 silly gunzTarPerm extractEntry package.json
1874 silly gunzTarPerm extractEntry package.json
1875 silly gunzTarPerm extractEntry package.json
1876 silly gunzTarPerm extractEntry package.json
1877 silly gunzTarPerm extractEntry package.json
1878 silly gunzTarPerm extractEntry package.json
1879 silly gunzTarPerm extractEntry package.json
1880 silly gunzTarPerm extractEntry package.json
1881 silly gunzTarPerm extractEntry package.json
1882 silly gunzTarPerm extractEntry package.json
1883 silly gunzTarPerm extractEntry package.json
1884 silly gunzTarPerm extractEntry package.json
1885 silly gunzTarPerm extractEntry package.json
1886 silly gunzTarPerm extractEntry package.json
1887 silly gunzTarPerm extractEntry package.json
1888 silly gunzTarPerm extractEntry package.json
1889 silly gunzTarPerm extractEntry package.json
1890 silly gunzTarPerm extractEntry package.json
1891 silly gunzTarPerm extractEntry package.json
1892 silly gunzTarPerm extractEntry package.json
1893 silly gunzTarPerm extractEntry package.json
1894 silly gunzTarPerm extractEntry package.json
1895 silly gunzTarPerm extractEntry package.json
1896 silly gunzTarPerm extractEntry package.json
1897 silly gunzTarPerm extractEntry package.json
1898 silly gunzTarPerm extractEntry package.json
1899 silly gunzTarPerm extractEntry package.json
1900 silly gunzTarPerm extractEntry package.json
1901 silly gunzTarPerm extractEntry package.json
1902 silly gunzTarPerm extractEntry package.json
1903 silly gunzTarPerm extractEntry package.json
1904 silly gunzTarPerm extractEntry .npmignore
1905 silly gunzTarPerm extractEntry README.md
1906 silly gunzTarPerm extractEntry .npmignore
1907 silly gunzTarPerm extractEntry README.md
1908 silly gunzTarPerm extractEntry .npmignore
1909 silly gunzTarPerm extractEntry README.md
1910 silly gunzTarPerm extractEntry .npmignore
1911 silly gunzTarPerm extractEntry README.md
1912 silly gunzTarPerm extractEntry .npmignore
1913 silly gunzTarPerm extractEntry README.md
1914 silly gunzTarPerm extractEntry .npmignore
1915 silly gunzTarPerm extractEntry README.md
1916 silly gunzTarPerm extractEntry index.js
1917 silly gunzTarPerm extractEntry readme.md
1918 silly gunzTarPerm extractEntry .npmignore
1919 silly gunzTarPerm extractEntry README.md
1920 silly gunzTarPerm extractEntry .npmignore
1921 silly gunzTarPerm extractEntry README.md
1922 silly gunzTarPerm extractEntry .npmignore
1923 silly gunzTarPerm extractEntry README.md
1924 silly gunzTarPerm extractEntry .npmignore
1925 silly gunzTarPerm extractEntry README.md
1926 silly gunzTarPerm extractEntry README.md
1927 silly gunzTarPerm extractEntry LICENSE
1928 silly gunzTarPerm extractEntry .npmignore
1929 silly gunzTarPerm extractEntry README.md
1930 silly gunzTarPerm extractEntry .npmignore
1931 silly gunzTarPerm extractEntry README.md
1932 silly gunzTarPerm extractEntry contributing.md
1933 silly gunzTarPerm extractEntry lib/insight.js
1934 silly gunzTarPerm extractEntry index.js
1935 silly gunzTarPerm extractEntry readme.md
1936 silly gunzTarPerm extractEntry index.js
1937 silly gunzTarPerm extractEntry readme.md
1938 silly gunzTarPerm extractEntry README.md
1939 silly gunzTarPerm extractEntry LICENSE
1940 silly gunzTarPerm extractEntry .npmignore
1941 silly gunzTarPerm extractEntry README.md
1942 silly gunzTarPerm extractEntry .npmignore
1943 silly gunzTarPerm extractEntry LICENSE
1944 silly gunzTarPerm extractEntry .npmignore
1945 silly gunzTarPerm extractEntry README.md
1946 silly gunzTarPerm extractEntry cli.js
1947 silly gunzTarPerm extractEntry index.js
1948 silly gunzTarPerm extractEntry .npmignore
1949 silly gunzTarPerm extractEntry README.md
1950 silly gunzTarPerm extractEntry README.md
1951 silly gunzTarPerm extractEntry LICENSE
1952 silly gunzTarPerm extractEntry q.js
1953 silly gunzTarPerm extractEntry queue.js
1954 silly gunzTarPerm extractEntry CONTRIBUTING.md
1955 silly gunzTarPerm extractEntry benchmark/compare-with-callbacks.js
1956 silly gunzTarPerm extractEntry benchmark/scenarios.js
1957 silly gunzTarPerm extractEntry README.md
1958 silly gunzTarPerm extractEntry LICENSE
1959 silly gunzTarPerm extractEntry .npmignore
1960 silly gunzTarPerm extractEntry README.md
1961 silly gunzTarPerm extractEntry .npmignore
1962 silly gunzTarPerm extractEntry README.md
1963 silly gunzTarPerm extractEntry .npmignore
1964 silly gunzTarPerm extractEntry README.md
1965 silly gunzTarPerm extractEntry README.md
1966 silly gunzTarPerm extractEntry LICENSE
1967 silly gunzTarPerm extractEntry LICENSE
1968 silly gunzTarPerm extractEntry index.js
1969 silly gunzTarPerm extractEntry .npmignore
1970 silly gunzTarPerm extractEntry index.js
1971 silly gunzTarPerm extractEntry .npmignore
1972 silly gunzTarPerm extractEntry README.md
1973 silly gunzTarPerm extractEntry stringify-object.js
1974 silly gunzTarPerm extractEntry readme.md
1975 silly gunzTarPerm extractEntry contributing.md
1976 silly gunzTarPerm extractEntry lib/check.js
1977 silly gunzTarPerm extractEntry .npmignore
1978 silly gunzTarPerm extractEntry README.md
1979 silly gunzTarPerm extractEntry .npmignore
1980 silly gunzTarPerm extractEntry README.md
1981 silly gunzTarPerm extractEntry README.md
1982 silly gunzTarPerm extractEntry LICENSE
1983 silly gunzTarPerm extractEntry README.md
1984 silly gunzTarPerm extractEntry LICENSE
1985 silly gunzTarPerm extractEntry index.js
1986 silly gunzTarPerm extractEntry .travis.yml
1987 silly gunzTarPerm extractEntry LICENSE
1988 silly gunzTarPerm extractEntry index.js
1989 silly gunzTarPerm extractEntry chmodr.js
1990 silly gunzTarPerm extractEntry test/basic.js
1991 silly gunzTarPerm extractEntry LICENSE
1992 silly gunzTarPerm extractEntry CONTRIBUTORS
1993 silly gunzTarPerm extractEntry bin.js
1994 silly gunzTarPerm extractEntry rimraf.js
1995 silly gunzTarPerm extractEntry LICENSE
1996 silly gunzTarPerm extractEntry semver.browser.js
1997 silly gunzTarPerm extractEntry LICENCE
1998 silly gunzTarPerm extractEntry tar.js
1999 silly gunzTarPerm extractEntry which.js
2000 silly gunzTarPerm extractEntry bin/which
2001 silly gunzTarPerm extractEntry abbrev.js
2002 silly gunzTarPerm extractEntry test.js
2003 silly gunzTarPerm extractEntry LICENSE
2004 silly gunzTarPerm extractEntry Gruntfile.js
2005 silly gunzTarPerm extractEntry LICENSE
2006 silly gunzTarPerm extractEntry .editorconfig
2007 silly gunzTarPerm extractEntry LICENSE
2008 silly gunzTarPerm extractEntry Gruntfile.js
2009 silly gunzTarPerm extractEntry LICENSE
2010 silly gunzTarPerm extractEntry .editorconfig
2011 silly gunzTarPerm extractEntry LICENSE
2012 silly gunzTarPerm extractEntry settings.js
2013 silly gunzTarPerm extractEntry LICENSE
2014 silly gunzTarPerm extractEntry fstream.js
2015 silly gunzTarPerm extractEntry LICENSE
2016 silly gunzTarPerm extractEntry ignore.js
2017 silly gunzTarPerm extractEntry LICENSE
2018 silly gunzTarPerm extractEntry glob.js
2019 silly gunzTarPerm extractEntry LICENSE
2020 silly gunzTarPerm extractEntry graceful-fs.js
2021 silly gunzTarPerm extractEntry LICENSE-MIT
2022 silly gunzTarPerm extractEntry lib/inquirer.js
2023 silly gunzTarPerm extractEntry lockfile.js
2024 silly gunzTarPerm extractEntry test/basic.js
2025 silly gunzTarPerm extractEntry index.js
2026 silly gunzTarPerm extractEntry .travis.yml
2027 silly gunzTarPerm extractEntry LICENSE
2028 silly gunzTarPerm extractEntry bin/nopt.js
2029 silly gunzTarPerm extractEntry readme.md
2030 silly gunzTarPerm extractEntry xdg-open
2031 silly gunzTarPerm extractEntry LICENSE
2032 silly gunzTarPerm extractEntry index.js
2033 silly gunzTarPerm extractEntry osenv.js
2034 silly gunzTarPerm extractEntry test/unix.js
2035 silly gunzTarPerm extractEntry LICENSE
2036 silly gunzTarPerm extractEntry index.js
2037 silly gunzTarPerm extractEntry LICENSE
2038 silly gunzTarPerm extractEntry LICENSE
2039 silly gunzTarPerm extractEntry index.js
2040 silly gunzTarPerm extractEntry License
2041 silly gunzTarPerm extractEntry Makefile
2042 silly gunzTarPerm extractEntry lib/update-notifier.js
2043 silly gunzTarPerm extractEntry readme.md
2044 silly gunzTarPerm extractEntry domain-test.js
2045 silly gunzTarPerm extractEntry test.js
2046 silly gunzTarPerm extractEntry README.markdown
2047 silly gunzTarPerm extractEntry examples/beep.js
2048 silly gunzTarPerm extractEntry Gruntfile.js
2049 silly gunzTarPerm extractEntry download-test-assets.js
2050 silly gunzTarPerm extractEntry lib/providers.js
2051 silly gunzTarPerm extractEntry lib/push.js
2052 silly gunzTarPerm extractEntry .travis.yml
2053 silly gunzTarPerm extractEntry example/env.js
2054 silly gunzTarPerm extractEntry .editorconfig
2055 silly gunzTarPerm extractEntry .jshintrc
2056 silly gunzTarPerm extractEntry test/sync.js
2057 silly gunzTarPerm extractEntry lib/lru-cache.js
2058 silly gunzTarPerm extractEntry test/basic.js
2059 silly gunzTarPerm extractEntry test/foreach.js
2060 silly gunzTarPerm extractEntry test/memory-leak.js
2061 silly gunzTarPerm extractEntry foot.js
2062 silly gunzTarPerm extractEntry .travis.yml
2063 silly gunzTarPerm extractEntry examples/extracter.js
2064 silly gunzTarPerm extractEntry CONTRIBUTING.md
2065 silly gunzTarPerm extractEntry .editorconfig
2066 silly gunzTarPerm extractEntry .jshintrc
2067 silly gunzTarPerm extractEntry .jshintrc
2068 silly gunzTarPerm extractEntry .travis.yml
2069 silly gunzTarPerm extractEntry Client.js
2070 silly gunzTarPerm extractEntry .travis.yml
2071 silly gunzTarPerm extractEntry .jshintrc
2072 silly gunzTarPerm extractEntry .travis.yml
2073 silly gunzTarPerm extractEntry cardinal.js
2074 silly gunzTarPerm extractEntry utl.js
2075 silly gunzTarPerm extractEntry .travis.yml
2076 silly gunzTarPerm extractEntry examples/filter-pipe.js
2077 silly gunzTarPerm extractEntry example/basic.js
2078 silly gunzTarPerm extractEntry test/.npmignore
2079 silly gunzTarPerm extractEntry .travis.yml
2080 silly gunzTarPerm extractEntry polyfills.js
2081 silly gunzTarPerm extractEntry test/open.js
2082 silly gunzTarPerm extractEntry test/readdir-sort.js
2083 silly gunzTarPerm extractEntry lib/objects/choice.js
2084 silly gunzTarPerm extractEntry readme.md
2085 silly gunzTarPerm extractEntry examples/pow.js
2086 silly gunzTarPerm extractEntry readme.markdown
2087 silly gunzTarPerm extractEntry examples/my-program.js
2088 silly gunzTarPerm extractEntry lib/nopt.js
2089 silly gunzTarPerm extractEntry test/basic.js
2090 silly gunzTarPerm extractEntry dns-request.js
2091 silly gunzTarPerm extractEntry index.js
2092 silly gunzTarPerm extractEntry .editorconfig
2093 silly gunzTarPerm extractEntry .jshintrc
2094 silly gunzTarPerm extractEntry AUTHORS
2095 silly gunzTarPerm extractEntry test/test-async.js
2096 silly gunzTarPerm extractEntry Readme.md
2097 silly gunzTarPerm extractEntry equation.gif
2098 silly gunzTarPerm extractEntry .travis.yml
2099 silly gunzTarPerm extractEntry lib/tmp.js
2100 silly gunzTarPerm extractEntry .jshintrc
2101 silly gunzTarPerm extractEntry bin/decompress-zip
2102 silly gunzTarPerm extractEntry .jshintrc
2103 silly gunzTarPerm extractEntry .travis.yml
2104 silly gunzTarPerm extractEntry .jshintrc
2105 silly gunzTarPerm extractEntry .travis.yml
2106 silly gunzTarPerm extractEntry test/test.js
2107 silly gunzTarPerm extractEntry test/windows.js
2108 silly gunzTarPerm extractEntry examples/multi_line.js
2109 silly gunzTarPerm extractEntry test/beep.js
2110 silly gunzTarPerm extractEntry test/fixtures/bad-child.js
2111 silly gunzTarPerm extractEntry example/op.js
2112 silly gunzTarPerm extractEntry example/parse.js
2113 verbose read json /usr/lib/node_modules/bower/node_modules/is-root/package.json
2114 verbose read json /usr/lib/node_modules/bower/node_modules/junk/package.json
2115 silly gunzTarPerm extractEntry example/dns.js
2116 silly gunzTarPerm extractEntry lib/retry.js
2117 silly gunzTarPerm extractEntry lib/retry_operation.js
2118 silly gunzTarPerm extractEntry test/common.js
2119 silly gunzTarPerm extractEntry test/runner.js
2120 silly gunzTarPerm extractEntry test/integration/test-retry-operation.js
2121 silly gunzTarPerm extractEntry test/integration/test-timeouts.js
2122 silly gunzTarPerm extractEntry test/00-setup.js
2123 silly gunzTarPerm extractEntry examples/reader.js
2124 silly gunzTarPerm extractEntry lib/buffer-entry.js
2125 silly gunzTarPerm extractEntry test/chmod.js
2126 silly gunzTarPerm extractEntry test/perm.js
2127 silly gunzTarPerm extractEntry .travis.yml
2128 silly gunzTarPerm extractEntry test/test.js
2129 silly gunzTarPerm extractEntry test/test-sync.js
2130 silly gunzTarPerm extractEntry test/run.sh
2131 silly gunzTarPerm extractEntry test/multi_line.js
2132 silly gunzTarPerm extractEntry test/non_unicode.js
2133 silly gunzTarPerm extractEntry lib/Config.js
2134 silly gunzTarPerm extractEntry lib/util/defaults.js
2135 silly gunzTarPerm extractEntry examples/pipe.js
2136 silly gunzTarPerm extractEntry examples/reader.js
2137 silly gunzTarPerm extractEntry examples/symlink-write.js
2138 silly gunzTarPerm extractEntry lib/abstract.js
2139 silly gunzTarPerm extractEntry lib/dir-writer.js
2140 silly gunzTarPerm extractEntry lib/file-reader.js
2141 silly gunzTarPerm extractEntry lib/file-writer.js
2142 silly gunzTarPerm extractEntry lib/get-type.js
2143 silly gunzTarPerm extractEntry lib/dir-reader.js
2144 silly gunzTarPerm extractEntry lib/link-writer.js
2145 silly gunzTarPerm extractEntry lib/proxy-reader.js
2146 silly gunzTarPerm extractEntry lib/proxy-writer.js
2147 silly gunzTarPerm extractEntry lib/reader.js
2148 silly gunzTarPerm extractEntry lib/socket-reader.js
2149 silly gunzTarPerm extractEntry lib/collect.js
2150 silly gunzTarPerm extractEntry lib/writer.js
2151 silly gunzTarPerm extractEntry lib/link-reader.js
2152 verbose read json /usr/lib/node_modules/bower/node_modules/stringify-object/package.json
2153 silly gunzTarPerm extractEntry .travis.yml
2154 silly gunzTarPerm extractEntry test/test.js
2155 silly gunzTarPerm extractEntry lib/Logger.js
2156 silly gunzTarPerm extractEntry test/test.js
2157 silly gunzTarPerm extractEntry .travis.yml
2158 silly gunzTarPerm extractEntry lib/decompress-zip.js
2159 silly gunzTarPerm extractEntry lib/extractors.js
2160 silly gunzTarPerm extractEntry lib/file-details.js
2161 silly gunzTarPerm extractEntry lib/signatures.js
2162 silly gunzTarPerm extractEntry lib/structures.js
2163 silly gunzTarPerm extractEntry .editorconfig
2164 silly gunzTarPerm extractEntry test/test.js
2165 silly gunzTarPerm extractEntry test/fixtures/child.js
2166 silly gunzTarPerm extractEntry lib/arrayRemove.js
2167 silly gunzTarPerm extractEntry test/test.js
2168 silly gunzTarPerm extractEntry .travis.yml
2169 silly gunzTarPerm extractEntry lib/json.js
2170 verbose read json /usr/lib/node_modules/bower/node_modules/chalk/package.json
2171 silly gunzTarPerm extractEntry .editorconfig
2172 silly gunzTarPerm extractEntry lib/index.js
2173 silly gunzTarPerm extractEntry lib/list.js
2174 silly gunzTarPerm extractEntry lib/lookup.js
2175 silly gunzTarPerm extractEntry lib/register.js
2176 silly gunzTarPerm extractEntry lib/search.js
2177 silly gunzTarPerm extractEntry lib/unregister.js
2178 silly gunzTarPerm extractEntry lib/util/Cache.js
2179 silly gunzTarPerm extractEntry lib/util/createError.js
2180 silly gunzTarPerm extractEntry lib/util/md5.js
2181 silly gunzTarPerm extractEntry .jshintrc
2182 silly gunzTarPerm extractEntry test/Client.js
2183 silly gunzTarPerm extractEntry test/runner.js
2184 silly gunzTarPerm extractEntry test/core/index.js
2185 silly gunzTarPerm extractEntry test/core/list.js
2186 silly gunzTarPerm extractEntry test/core/lookup.js
2187 silly gunzTarPerm extractEntry test/core/register.js
2188 silly gunzTarPerm extractEntry test/core/search.js
2189 silly gunzTarPerm extractEntry test/core/util/Cache.js
2190 silly gunzTarPerm extractEntry test/core/util/createError.js
2191 silly gunzTarPerm extractEntry test/fixtures/search.json
2192 silly gunzTarPerm extractEntry lib/highlight.js
2193 silly gunzTarPerm extractEntry lib/highlightFile.js
2194 silly gunzTarPerm extractEntry lib/highlightFileSync.js
2195 silly gunzTarPerm extractEntry .travis.yml
2196 silly gunzTarPerm extractEntry bin/cdl.js
2197 silly gunzTarPerm extractEntry test/cardinal-highlight-block-comment.js
2198 silly gunzTarPerm extractEntry test/cardinal-highlight-file-async.js
2199 silly gunzTarPerm extractEntry test/cardinal-highlight-file-sync.js
2200 silly gunzTarPerm extractEntry test/cardinal-highlight-git-diff.js
2201 silly gunzTarPerm extractEntry test/cardinal-highlight-json-file-async.js
2202 silly gunzTarPerm extractEntry test/cardinal-highlight-diff-spike.js
2203 silly gunzTarPerm extractEntry test/cardinal-highlight-json.js
2204 silly gunzTarPerm extractEntry test/cardinal-highlight-string.js
2205 silly gunzTarPerm extractEntry test/cardinal-smoke.js
2206 silly gunzTarPerm extractEntry test/settings.js
2207 silly gunzTarPerm extractEntry test/themes.js
2208 silly gunzTarPerm extractEntry test/cardinal-highlight-json-file-sync.js
2209 silly gunzTarPerm extractEntry test/fixtures/block-comment.js
2210 silly gunzTarPerm extractEntry test/fixtures/custom.js
2211 silly gunzTarPerm extractEntry test/fixtures/foo-with-errors.js
2212 silly gunzTarPerm extractEntry test/fixtures/foo.js
2213 silly gunzTarPerm extractEntry test/fixtures/git-diff.txt
2214 silly gunzTarPerm extractEntry test/fixtures/json.json
2215 silly gunzTarPerm extractEntry test/fixtures/svn-diff.txt
2216 silly gunzTarPerm extractEntry themes/README.md
2217 silly gunzTarPerm extractEntry themes/default.js
2218 silly gunzTarPerm extractEntry themes/empty.js
2219 silly gunzTarPerm extractEntry themes/hide-semicolons.js
2220 silly gunzTarPerm extractEntry themes/tomorrow-night.js
2221 silly gunzTarPerm extractEntry examples/README.md
2222 silly gunzTarPerm extractEntry examples/highlight-json.js
2223 silly gunzTarPerm extractEntry examples/highlight-self-hide-semicolons.js
2224 silly gunzTarPerm extractEntry examples/highlight-self.js
2225 silly gunzTarPerm extractEntry examples/highlight-string.js
2226 silly gunzTarPerm extractEntry examples/.cardinalrc
2227 silly lockFile 16695c20-dules-bower-node-modules-is-root /usr/lib/node_modules/bower/node_modules/is-root
2228 silly lockFile 16695c20-dules-bower-node-modules-is-root /usr/lib/node_modules/bower/node_modules/is-root
2229 silly gunzTarPerm extractEntry test/base.js
2230 silly lockFile faf00ae9--modules-bower-node-modules-junk /usr/lib/node_modules/bower/node_modules/junk
2231 silly lockFile faf00ae9--modules-bower-node-modules-junk /usr/lib/node_modules/bower/node_modules/junk
2232 silly lockFile 7060e308-ot-npm-is-root-0-1-0-package-tgz /root/.npm/is-root/0.1.0/package.tgz
2233 silly lockFile 7060e308-ot-npm-is-root-0-1-0-package-tgz /root/.npm/is-root/0.1.0/package.tgz
2234 silly gunzTarPerm extractEntry head.js
2235 silly gunzTarPerm extractEntry semver.js
2236 silly gunzTarPerm extractEntry test/basic.js
2237 silly gunzTarPerm extractEntry test/common.js
2238 silly gunzTarPerm extractEntry test/setup.sh
2239 silly gunzTarPerm extractEntry lib/entry-writer.js
2240 silly lockFile 60dd04e4-root-npm-junk-0-3-0-package-tgz /root/.npm/junk/0.3.0/package.tgz
2241 silly lockFile 60dd04e4-root-npm-junk-0-3-0-package-tgz /root/.npm/junk/0.3.0/package.tgz
2242 silly gunzTarPerm extractEntry lib/util/expand.js
2243 silly gunzTarPerm extractEntry lib/util/paths.js
2244 silly gunzTarPerm extractEntry lib/util/rc.js
2245 silly gunzTarPerm extractEntry test/test.js
2246 silly gunzTarPerm extractEntry test/perm_sync.js
2247 silly gunzTarPerm extractEntry test/race.js
2248 silly gunzTarPerm extractEntry test/mkdirp.js
2249 silly gunzTarPerm extractEntry test/return.js
2250 silly gunzTarPerm extractEntry test/return_sync.js
2251 silly gunzTarPerm extractEntry test/root.js
2252 silly gunzTarPerm extractEntry test/sync.js
2253 silly gunzTarPerm extractEntry test/umask.js
2254 silly gunzTarPerm extractEntry test/clobber.js
2255 silly gunzTarPerm extractEntry test/umask_sync.js
2256 silly gunzTarPerm extractEntry test/rel.js
2257 silly gunzTarPerm extractEntry example/quote.js
2258 silly gunzTarPerm extractEntry readme.markdown
2259 silly lockFile 43d35fda-er-node-modules-stringify-object /usr/lib/node_modules/bower/node_modules/stringify-object
2260 silly lockFile 43d35fda-er-node-modules-stringify-object /usr/lib/node_modules/bower/node_modules/stringify-object
2261 info preinstall is-root@0.1.0
2262 silly gunzTarPerm extractEntry lib/util/createError.js
2263 silly lockFile 8445912d-modules-bower-node-modules-chalk /usr/lib/node_modules/bower/node_modules/chalk
2264 silly lockFile 8445912d-modules-bower-node-modules-chalk /usr/lib/node_modules/bower/node_modules/chalk
2265 silly lockFile e0df20f7-ringify-object-0-2-1-package-tgz /root/.npm/stringify-object/0.2.1/package.tgz
2266 silly lockFile e0df20f7-ringify-object-0-2-1-package-tgz /root/.npm/stringify-object/0.2.1/package.tgz
2267 silly gunzTarPerm extractEntry test/dir-test.js
2268 silly gunzTarPerm extractEntry test/file-test.js
2269 info preinstall junk@0.3.0
2270 verbose from cache /usr/lib/node_modules/bower/node_modules/is-root/package.json
2271 silly lockFile 1fe87b9f-root-npm-chalk-0-4-0-package-tgz /root/.npm/chalk/0.4.0/package.tgz
2272 silly lockFile 1fe87b9f-root-npm-chalk-0-4-0-package-tgz /root/.npm/chalk/0.4.0/package.tgz
2273 silly gunzTarPerm extractEntry examples/g.js
2274 silly gunzTarPerm extractEntry examples/usr-local.js
2275 silly gunzTarPerm extractEntry lib/objects/choices.js
2276 silly gunzTarPerm extractEntry lib/objects/separator.js
2277 verbose readDependencies using package.json deps
2278 verbose from cache /usr/lib/node_modules/bower/node_modules/is-root/package.json
2279 verbose from cache /usr/lib/node_modules/bower/node_modules/junk/package.json
2280 verbose readDependencies using package.json deps
2281 silly resolved []
2282 verbose about to build /usr/lib/node_modules/bower/node_modules/is-root
2283 info build /usr/lib/node_modules/bower/node_modules/is-root
2284 verbose from cache /usr/lib/node_modules/bower/node_modules/is-root/package.json
2285 verbose linkStuff [ true,
2285 verbose linkStuff '/usr/lib/node_modules',
2285 verbose linkStuff false,
2285 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2286 info linkStuff is-root@0.1.0
2287 verbose linkBins is-root@0.1.0
2288 verbose linkMans is-root@0.1.0
2289 verbose rebuildBundles is-root@0.1.0
2290 verbose readDependencies using package.json deps
2291 verbose from cache /usr/lib/node_modules/bower/node_modules/junk/package.json
2292 info install is-root@0.1.0
2293 silly gunzTarPerm extractEntry semver.min.js
2294 silly gunzTarPerm extractEntry semver.browser.js.gz
2295 verbose readDependencies using package.json deps
2296 silly resolved []
2297 verbose about to build /usr/lib/node_modules/bower/node_modules/junk
2298 info build /usr/lib/node_modules/bower/node_modules/junk
2299 verbose from cache /usr/lib/node_modules/bower/node_modules/junk/package.json
2300 verbose linkStuff [ true,
2300 verbose linkStuff '/usr/lib/node_modules',
2300 verbose linkStuff false,
2300 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2301 info linkStuff junk@0.3.0
2302 verbose linkBins junk@0.3.0
2303 verbose linkMans junk@0.3.0
2304 verbose rebuildBundles junk@0.3.0
2305 silly gunzTarPerm extractEntry test/env.js
2306 info preinstall stringify-object@0.2.1
2307 verbose read json /usr/lib/node_modules/bower/node_modules/which/package.json
2308 info install junk@0.3.0
2309 info postinstall is-root@0.1.0
2310 info preinstall chalk@0.4.0
2311 verbose from cache /usr/lib/node_modules/bower/node_modules/stringify-object/package.json
2312 info postinstall junk@0.3.0
2313 verbose readDependencies using package.json deps
2314 verbose from cache /usr/lib/node_modules/bower/node_modules/stringify-object/package.json
2315 silly gunzTarPerm extractEntry test/graceful.js
2316 silly gunzTarPerm extractEntry test/keep.js
2317 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/package.json
2318 verbose readDependencies using package.json deps
2319 silly resolved []
2320 verbose about to build /usr/lib/node_modules/bower/node_modules/stringify-object
2321 info build /usr/lib/node_modules/bower/node_modules/stringify-object
2322 verbose from cache /usr/lib/node_modules/bower/node_modules/stringify-object/package.json
2323 verbose linkStuff [ true,
2323 verbose linkStuff '/usr/lib/node_modules',
2323 verbose linkStuff false,
2323 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2324 info linkStuff stringify-object@0.2.1
2325 verbose linkBins stringify-object@0.2.1
2326 verbose linkMans stringify-object@0.2.1
2327 verbose rebuildBundles stringify-object@0.2.1
2328 silly gunzTarPerm extractEntry lib/util/isComponent.js
2329 silly gunzTarPerm extractEntry test/test.js
2330 verbose readDependencies using package.json deps
2331 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/package.json
2332 silly gunzTarPerm extractEntry request.js
2333 silly gunzTarPerm extractEntry .travis.yml
2334 info install stringify-object@0.2.1
2335 verbose readDependencies using package.json deps
2336 silly gunzTarPerm extractEntry lib/prompts/base.js
2337 silly gunzTarPerm extractEntry lib/prompts/checkbox.js
2338 silly gunzTarPerm extractEntry lib/entry.js
2339 silly gunzTarPerm extractEntry lib/extended-header-writer.js
2340 silly gunzTarPerm extractEntry test/00-setup.js
2341 silly gunzTarPerm extractEntry test/cwd-test.js
2342 info postinstall stringify-object@0.2.1
2343 verbose read json /usr/lib/node_modules/bower/node_modules/abbrev/package.json
2344 verbose cache add [ 'has-color@~0.1.0', null ]
2345 verbose cache add name=undefined spec="has-color@~0.1.0" args=["has-color@~0.1.0",null]
2346 verbose parsed url { protocol: null,
2346 verbose parsed url slashes: null,
2346 verbose parsed url auth: null,
2346 verbose parsed url host: null,
2346 verbose parsed url port: null,
2346 verbose parsed url hostname: null,
2346 verbose parsed url hash: null,
2346 verbose parsed url search: null,
2346 verbose parsed url query: null,
2346 verbose parsed url pathname: 'has-color@~0.1.0',
2346 verbose parsed url path: 'has-color@~0.1.0',
2346 verbose parsed url href: 'has-color@~0.1.0' }
2347 verbose cache add name="has-color" spec="~0.1.0" args=["has-color","~0.1.0"]
2348 verbose parsed url { protocol: null,
2348 verbose parsed url slashes: null,
2348 verbose parsed url auth: null,
2348 verbose parsed url host: null,
2348 verbose parsed url port: null,
2348 verbose parsed url hostname: null,
2348 verbose parsed url hash: null,
2348 verbose parsed url search: null,
2348 verbose parsed url query: null,
2348 verbose parsed url pathname: '~0.1.0',
2348 verbose parsed url path: '~0.1.0',
2348 verbose parsed url href: '~0.1.0' }
2349 verbose addNamed [ 'has-color', '~0.1.0' ]
2350 verbose addNamed [ null, '>=0.1.0- <0.2.0-' ]
2351 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
2352 verbose lock has-color@~0.1.0 /root/.npm/c89da621-has-color-0-1-0.lock
2353 silly addNameRange { name: 'has-color', range: '>=0.1.0- <0.2.0-', hasData: false }
2354 verbose cache add [ 'ansi-styles@~1.0.0', null ]
2355 verbose cache add name=undefined spec="ansi-styles@~1.0.0" args=["ansi-styles@~1.0.0",null]
2356 verbose parsed url { protocol: null,
2356 verbose parsed url slashes: null,
2356 verbose parsed url auth: null,
2356 verbose parsed url host: null,
2356 verbose parsed url port: null,
2356 verbose parsed url hostname: null,
2356 verbose parsed url hash: null,
2356 verbose parsed url search: null,
2356 verbose parsed url query: null,
2356 verbose parsed url pathname: 'ansi-styles@~1.0.0',
2356 verbose parsed url path: 'ansi-styles@~1.0.0',
2356 verbose parsed url href: 'ansi-styles@~1.0.0' }
2357 verbose cache add name="ansi-styles" spec="~1.0.0" args=["ansi-styles","~1.0.0"]
2358 verbose parsed url { protocol: null,
2358 verbose parsed url slashes: null,
2358 verbose parsed url auth: null,
2358 verbose parsed url host: null,
2358 verbose parsed url port: null,
2358 verbose parsed url hostname: null,
2358 verbose parsed url hash: null,
2358 verbose parsed url search: null,
2358 verbose parsed url query: null,
2358 verbose parsed url pathname: '~1.0.0',
2358 verbose parsed url path: '~1.0.0',
2358 verbose parsed url href: '~1.0.0' }
2359 verbose addNamed [ 'ansi-styles', '~1.0.0' ]
2360 verbose addNamed [ null, '>=1.0.0- <1.1.0-' ]
2361 silly lockFile 82a4f1f6-ansi-styles-1-0-0 ansi-styles@~1.0.0
2362 verbose lock ansi-styles@~1.0.0 /root/.npm/82a4f1f6-ansi-styles-1-0-0.lock
2363 verbose cache add [ 'strip-ansi@~0.1.0', null ]
2364 verbose cache add name=undefined spec="strip-ansi@~0.1.0" args=["strip-ansi@~0.1.0",null]
2365 verbose parsed url { protocol: null,
2365 verbose parsed url slashes: null,
2365 verbose parsed url auth: null,
2365 verbose parsed url host: null,
2365 verbose parsed url port: null,
2365 verbose parsed url hostname: null,
2365 verbose parsed url hash: null,
2365 verbose parsed url search: null,
2365 verbose parsed url query: null,
2365 verbose parsed url pathname: 'strip-ansi@~0.1.0',
2365 verbose parsed url path: 'strip-ansi@~0.1.0',
2365 verbose parsed url href: 'strip-ansi@~0.1.0' }
2366 verbose cache add name="strip-ansi" spec="~0.1.0" args=["strip-ansi","~0.1.0"]
2367 verbose parsed url { protocol: null,
2367 verbose parsed url slashes: null,
2367 verbose parsed url auth: null,
2367 verbose parsed url host: null,
2367 verbose parsed url port: null,
2367 verbose parsed url hostname: null,
2367 verbose parsed url hash: null,
2367 verbose parsed url search: null,
2367 verbose parsed url query: null,
2367 verbose parsed url pathname: '~0.1.0',
2367 verbose parsed url path: '~0.1.0',
2367 verbose parsed url href: '~0.1.0' }
2368 verbose addNamed [ 'strip-ansi', '~0.1.0' ]
2369 verbose addNamed [ null, '>=0.1.0- <0.2.0-' ]
2370 silly lockFile 0cdb0eaa-strip-ansi-0-1-0 strip-ansi@~0.1.0
2371 verbose lock strip-ansi@~0.1.0 /root/.npm/0cdb0eaa-strip-ansi-0-1-0.lock
2372 verbose read json /usr/lib/node_modules/bower/node_modules/chmodr/package.json
2373 silly addNameRange { name: 'ansi-styles',
2373 silly addNameRange range: '>=1.0.0- <1.1.0-',
2373 silly addNameRange hasData: false }
2374 silly addNameRange { name: 'strip-ansi', range: '>=0.1.0- <0.2.0-', hasData: false }
2375 silly gunzTarPerm extractEntry test/env_fn.js
2376 silly gunzTarPerm extractEntry test/op.js
2377 silly gunzTarPerm extractEntry test/name-test.js
2378 silly gunzTarPerm extractEntry test/spawn.js
2379 silly lockFile 611c68f7-modules-bower-node-modules-which /usr/lib/node_modules/bower/node_modules/which
2380 silly lockFile 611c68f7-modules-bower-node-modules-which /usr/lib/node_modules/bower/node_modules/which
2381 silly gunzTarPerm extractEntry test/ignore-most.js
2382 silly gunzTarPerm extractEntry test/nested-ignores.js
2383 silly lockFile 5ea98990-root-npm-which-1-0-5-package-tgz /root/.npm/which/1.0.5/package.tgz
2384 silly lockFile 5ea98990-root-npm-which-1-0-5-package-tgz /root/.npm/which/1.0.5/package.tgz
2385 silly gunzTarPerm extractEntry test/pkg-bower-json/bower.json
2386 silly gunzTarPerm extractEntry test/pkg-bower-json-invalid/bower.json
2387 verbose read json /usr/lib/node_modules/bower/node_modules/update-notifier/package.json
2388 silly gunzTarPerm extractEntry lib/extended-header.js
2389 silly gunzTarPerm extractEntry lib/extract.js
2390 verbose url raw has-color
2391 verbose url resolving [ 'https://registry.npmjs.org/', './has-color' ]
2392 verbose url resolved https://registry.npmjs.org/has-color
2393 info trying registry request attempt 1 at 23:07:48
2394 verbose etag "9ET1M9DE6H0H6XWCWO5IDMRTO"
2395 http GET https://registry.npmjs.org/has-color
2396 verbose url raw ansi-styles
2397 verbose url resolving [ 'https://registry.npmjs.org/', './ansi-styles' ]
2398 verbose url resolved https://registry.npmjs.org/ansi-styles
2399 info trying registry request attempt 1 at 23:07:48
2400 verbose etag "2KJP8DJ5XHKZUZ3CIOCAKQ7XS"
2401 http GET https://registry.npmjs.org/ansi-styles
2402 verbose url raw strip-ansi
2403 verbose url resolving [ 'https://registry.npmjs.org/', './strip-ansi' ]
2404 verbose url resolved https://registry.npmjs.org/strip-ansi
2405 info trying registry request attempt 1 at 23:07:48
2406 verbose etag "WOJXNPR1MVV9VX6KQE8Z25PH"
2407 http GET https://registry.npmjs.org/strip-ansi
2408 silly gunzTarPerm extractEntry lib/prompts/confirm.js
2409 silly gunzTarPerm extractEntry lib/prompts/expand.js
2410 verbose read json /usr/lib/node_modules/bower/node_modules/insight/package.json
2411 info preinstall which@1.0.5
2412 silly lockFile bb4fbb3e-odules-bower-node-modules-abbrev /usr/lib/node_modules/bower/node_modules/abbrev
2413 silly lockFile bb4fbb3e-odules-bower-node-modules-abbrev /usr/lib/node_modules/bower/node_modules/abbrev
2414 silly gunzTarPerm extractEntry test/parse.js
2415 silly gunzTarPerm extractEntry test/quote.js
2416 silly lockFile c849bba1-odules-bower-node-modules-chmodr /usr/lib/node_modules/bower/node_modules/chmodr
2417 silly lockFile c849bba1-odules-bower-node-modules-chmodr /usr/lib/node_modules/bower/node_modules/chmodr
2418 verbose read json /usr/lib/node_modules/bower/node_modules/osenv/package.json
2419 verbose from cache /usr/lib/node_modules/bower/node_modules/which/package.json
2420 silly lockFile 0de78867-oot-npm-abbrev-1-0-5-package-tgz /root/.npm/abbrev/1.0.5/package.tgz
2421 silly lockFile 0de78867-oot-npm-abbrev-1-0-5-package-tgz /root/.npm/abbrev/1.0.5/package.tgz
2422 silly gunzTarPerm extractEntry test/unignore-child.js
2423 silly gunzTarPerm extractEntry test/zz-cleanup.js
2424 verbose readDependencies using package.json deps
2425 verbose from cache /usr/lib/node_modules/bower/node_modules/which/package.json
2426 silly lockFile 089dbb77-oot-npm-chmodr-0-1-0-package-tgz /root/.npm/chmodr/0.1.0/package.tgz
2427 silly lockFile 089dbb77-oot-npm-chmodr-0-1-0-package-tgz /root/.npm/chmodr/0.1.0/package.tgz
2428 verbose readDependencies using package.json deps
2429 silly resolved []
2430 verbose about to build /usr/lib/node_modules/bower/node_modules/which
2431 info build /usr/lib/node_modules/bower/node_modules/which
2432 verbose from cache /usr/lib/node_modules/bower/node_modules/which/package.json
2433 verbose linkStuff [ true,
2433 verbose linkStuff '/usr/lib/node_modules',
2433 verbose linkStuff false,
2433 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2434 info linkStuff which@1.0.5
2435 verbose linkBins which@1.0.5
2436 verbose link bins [ { which: './bin/which' },
2436 verbose link bins '/usr/lib/node_modules/bower/node_modules/.bin',
2436 verbose link bins false ]
2437 verbose linkMans which@1.0.5
2438 verbose rebuildBundles which@1.0.5
2439 silly gunzTarPerm extractEntry test/pkg-bower-json-malformed/bower.json
2440 silly gunzTarPerm extractEntry test/pkg-component(1)-json/component.json
2441 silly lockFile 35721b24-wer-node-modules-update-notifier /usr/lib/node_modules/bower/node_modules/update-notifier
2442 silly lockFile 35721b24-wer-node-modules-update-notifier /usr/lib/node_modules/bower/node_modules/update-notifier
2443 silly gunzTarPerm extractEntry lib/global-header-writer.js
2444 silly gunzTarPerm extractEntry lib/header.js
2445 verbose read json /usr/lib/node_modules/bower/node_modules/opn/package.json
2446 info preinstall abbrev@1.0.5
2447 silly lockFile 06ef4502-pdate-notifier-0-1-8-package-tgz /root/.npm/update-notifier/0.1.8/package.tgz
2448 silly lockFile 06ef4502-pdate-notifier-0-1-8-package-tgz /root/.npm/update-notifier/0.1.8/package.tgz
2449 info preinstall chmodr@0.1.0
2450 silly gunzTarPerm extractEntry test/set.js
2451 verbose from cache /usr/lib/node_modules/bower/node_modules/abbrev/package.json
2452 silly gunzTarPerm extractEntry lib/prompts/input.js
2453 silly gunzTarPerm extractEntry lib/prompts/list.js
2454 silly lockFile dc29a76d-dules-bower-node-modules-insight /usr/lib/node_modules/bower/node_modules/insight
2455 silly lockFile dc29a76d-dules-bower-node-modules-insight /usr/lib/node_modules/bower/node_modules/insight
2456 info install which@1.0.5
2457 verbose readDependencies using package.json deps
2458 verbose from cache /usr/lib/node_modules/bower/node_modules/abbrev/package.json
2459 verbose from cache /usr/lib/node_modules/bower/node_modules/chmodr/package.json
2460 verbose readDependencies using package.json deps
2461 silly resolved []
2462 verbose about to build /usr/lib/node_modules/bower/node_modules/abbrev
2463 info build /usr/lib/node_modules/bower/node_modules/abbrev
2464 verbose from cache /usr/lib/node_modules/bower/node_modules/abbrev/package.json
2465 verbose linkStuff [ true,
2465 verbose linkStuff '/usr/lib/node_modules',
2465 verbose linkStuff false,
2465 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2466 info linkStuff abbrev@1.0.5
2467 verbose linkBins abbrev@1.0.5
2468 verbose linkMans abbrev@1.0.5
2469 verbose rebuildBundles abbrev@1.0.5
2470 verbose readDependencies using package.json deps
2471 verbose from cache /usr/lib/node_modules/bower/node_modules/chmodr/package.json
2472 silly lockFile 587d9942-ot-npm-insight-0-3-1-package-tgz /root/.npm/insight/0.3.1/package.tgz
2473 silly lockFile 587d9942-ot-npm-insight-0-3-1-package-tgz /root/.npm/insight/0.3.1/package.tgz
2474 silly lockFile 18c05f3f-modules-bower-node-modules-osenv /usr/lib/node_modules/bower/node_modules/osenv
2475 silly lockFile 18c05f3f-modules-bower-node-modules-osenv /usr/lib/node_modules/bower/node_modules/osenv
2476 info postinstall which@1.0.5
2477 info install abbrev@1.0.5
2478 silly gunzTarPerm extractEntry test/pkg-component-json/component.json
2479 silly gunzTarPerm extractEntry test/pkg-dot-bower-json/.bower.json
2480 silly gunzTarPerm extractEntry test/.ignore
2481 verbose readDependencies using package.json deps
2482 silly resolved []
2483 verbose about to build /usr/lib/node_modules/bower/node_modules/chmodr
2484 info build /usr/lib/node_modules/bower/node_modules/chmodr
2485 verbose from cache /usr/lib/node_modules/bower/node_modules/chmodr/package.json
2486 verbose linkStuff [ true,
2486 verbose linkStuff '/usr/lib/node_modules',
2486 verbose linkStuff false,
2486 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2487 info linkStuff chmodr@0.1.0
2488 verbose linkBins chmodr@0.1.0
2489 verbose linkMans chmodr@0.1.0
2490 verbose rebuildBundles chmodr@0.1.0
2491 silly gunzTarPerm extractEntry lib/cookies.js
2492 silly gunzTarPerm extractEntry lib/copy.js
2493 info preinstall update-notifier@0.1.8
2494 info install chmodr@0.1.0
2495 silly lockFile f1f4f0ee-root-npm-osenv-0-0-3-package-tgz /root/.npm/osenv/0.0.3/package.tgz
2496 silly lockFile f1f4f0ee-root-npm-osenv-0-0-3-package-tgz /root/.npm/osenv/0.0.3/package.tgz
2497 silly gunzTarPerm extractEntry lib/pack.js
2498 silly gunzTarPerm extractEntry lib/parse.js
2499 silly gunzTarPerm extractEntry test/unsafe.js
2500 silly gunzTarPerm extractEntry test/symlinkme/file.js
2501 info postinstall abbrev@1.0.5
2502 verbose from cache /usr/lib/node_modules/bower/node_modules/update-notifier/package.json
2503 info postinstall chmodr@0.1.0
2504 verbose readDependencies using package.json deps
2505 verbose from cache /usr/lib/node_modules/bower/node_modules/update-notifier/package.json
2506 silly lockFile f411f116-e-modules-bower-node-modules-opn /usr/lib/node_modules/bower/node_modules/opn
2507 silly lockFile f411f116-e-modules-bower-node-modules-opn /usr/lib/node_modules/bower/node_modules/opn
2508 info preinstall insight@0.3.1
2509 verbose readDependencies using package.json deps
2510 verbose cache add [ 'request@~2.27.0', null ]
2511 verbose cache add name=undefined spec="request@~2.27.0" args=["request@~2.27.0",null]
2512 verbose parsed url { protocol: null,
2512 verbose parsed url slashes: null,
2512 verbose parsed url auth: null,
2512 verbose parsed url host: null,
2512 verbose parsed url port: null,
2512 verbose parsed url hostname: null,
2512 verbose parsed url hash: null,
2512 verbose parsed url search: null,
2512 verbose parsed url query: null,
2512 verbose parsed url pathname: 'request@~2.27.0',
2512 verbose parsed url path: 'request@~2.27.0',
2512 verbose parsed url href: 'request@~2.27.0' }
2513 verbose cache add name="request" spec="~2.27.0" args=["request","~2.27.0"]
2514 verbose parsed url { protocol: null,
2514 verbose parsed url slashes: null,
2514 verbose parsed url auth: null,
2514 verbose parsed url host: null,
2514 verbose parsed url port: null,
2514 verbose parsed url hostname: null,
2514 verbose parsed url hash: null,
2514 verbose parsed url search: null,
2514 verbose parsed url query: null,
2514 verbose parsed url pathname: '~2.27.0',
2514 verbose parsed url path: '~2.27.0',
2514 verbose parsed url href: '~2.27.0' }
2515 verbose addNamed [ 'request', '~2.27.0' ]
2516 verbose addNamed [ null, '>=2.27.0- <2.28.0-' ]
2517 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
2518 verbose lock request@~2.27.0 /root/.npm/999b8a1d-request-2-27-0.lock
2519 verbose cache add [ 'configstore@~0.2.2', null ]
2520 verbose cache add name=undefined spec="configstore@~0.2.2" args=["configstore@~0.2.2",null]
2521 verbose parsed url { protocol: null,
2521 verbose parsed url slashes: null,
2521 verbose parsed url auth: null,
2521 verbose parsed url host: null,
2521 verbose parsed url port: null,
2521 verbose parsed url hostname: null,
2521 verbose parsed url hash: null,
2521 verbose parsed url search: null,
2521 verbose parsed url query: null,
2521 verbose parsed url pathname: 'configstore@~0.2.2',
2521 verbose parsed url path: 'configstore@~0.2.2',
2521 verbose parsed url href: 'configstore@~0.2.2' }
2522 verbose cache add name="configstore" spec="~0.2.2" args=["configstore","~0.2.2"]
2523 verbose parsed url { protocol: null,
2523 verbose parsed url slashes: null,
2523 verbose parsed url auth: null,
2523 verbose parsed url host: null,
2523 verbose parsed url port: null,
2523 verbose parsed url hostname: null,
2523 verbose parsed url hash: null,
2523 verbose parsed url search: null,
2523 verbose parsed url query: null,
2523 verbose parsed url pathname: '~0.2.2',
2523 verbose parsed url path: '~0.2.2',
2523 verbose parsed url href: '~0.2.2' }
2524 verbose addNamed [ 'configstore', '~0.2.2' ]
2525 verbose addNamed [ null, '>=0.2.2- <0.3.0-' ]
2526 silly lockFile e77763a0-configstore-0-2-2 configstore@~0.2.2
2527 verbose lock configstore@~0.2.2 /root/.npm/e77763a0-configstore-0-2-2.lock
2528 verbose read json /usr/lib/node_modules/bower/node_modules/archy/package.json
2529 silly lockFile f74e6076-root-npm-opn-0-1-2-package-tgz /root/.npm/opn/0.1.2/package.tgz
2530 silly lockFile f74e6076-root-npm-opn-0-1-2-package-tgz /root/.npm/opn/0.1.2/package.tgz
2531 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/package.json
2532 info preinstall osenv@0.0.3
2533 verbose read json /usr/lib/node_modules/bower/node_modules/request-progress/package.json
2534 silly addNameRange { name: 'request', range: '>=2.27.0- <2.28.0-', hasData: false }
2535 verbose cache add [ 'semver@~2.1.0', null ]
2536 verbose cache add name=undefined spec="semver@~2.1.0" args=["semver@~2.1.0",null]
2537 verbose parsed url { protocol: null,
2537 verbose parsed url slashes: null,
2537 verbose parsed url auth: null,
2537 verbose parsed url host: null,
2537 verbose parsed url port: null,
2537 verbose parsed url hostname: null,
2537 verbose parsed url hash: null,
2537 verbose parsed url search: null,
2537 verbose parsed url query: null,
2537 verbose parsed url pathname: 'semver@~2.1.0',
2537 verbose parsed url path: 'semver@~2.1.0',
2537 verbose parsed url href: 'semver@~2.1.0' }
2538 verbose cache add name="semver" spec="~2.1.0" args=["semver","~2.1.0"]
2539 verbose parsed url { protocol: null,
2539 verbose parsed url slashes: null,
2539 verbose parsed url auth: null,
2539 verbose parsed url host: null,
2539 verbose parsed url port: null,
2539 verbose parsed url hostname: null,
2539 verbose parsed url hash: null,
2539 verbose parsed url search: null,
2539 verbose parsed url query: null,
2539 verbose parsed url pathname: '~2.1.0',
2539 verbose parsed url path: '~2.1.0',
2539 verbose parsed url href: '~2.1.0' }
2540 verbose addNamed [ 'semver', '~2.1.0' ]
2541 verbose addNamed [ null, '>=2.1.0- <2.2.0-' ]
2542 silly lockFile d1b48040-semver-2-1-0 semver@~2.1.0
2543 verbose lock semver@~2.1.0 /root/.npm/d1b48040-semver-2-1-0.lock
2544 silly addNameRange { name: 'configstore',
2544 silly addNameRange range: '>=0.2.2- <0.3.0-',
2544 silly addNameRange hasData: false }
2545 verbose readDependencies using package.json deps
2546 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/package.json
2547 silly addNameRange { name: 'semver', range: '>=2.1.0- <2.2.0-', hasData: false }
2548 verbose readDependencies using package.json deps
2549 verbose from cache /usr/lib/node_modules/bower/node_modules/osenv/package.json
2550 silly gunzTarPerm extractEntry lib/debug.js
2551 silly gunzTarPerm extractEntry lib/getSafe.js
2552 verbose read json /usr/lib/node_modules/bower/node_modules/graceful-fs/package.json
2553 verbose readDependencies using package.json deps
2554 verbose from cache /usr/lib/node_modules/bower/node_modules/osenv/package.json
2555 verbose cache add [ 'object-assign@~0.1.2', null ]
2556 verbose cache add name=undefined spec="object-assign@~0.1.2" args=["object-assign@~0.1.2",null]
2557 verbose parsed url { protocol: null,
2557 verbose parsed url slashes: null,
2557 verbose parsed url auth: null,
2557 verbose parsed url host: null,
2557 verbose parsed url port: null,
2557 verbose parsed url hostname: null,
2557 verbose parsed url hash: null,
2557 verbose parsed url search: null,
2557 verbose parsed url query: null,
2557 verbose parsed url pathname: 'object-assign@~0.1.2',
2557 verbose parsed url path: 'object-assign@~0.1.2',
2557 verbose parsed url href: 'object-assign@~0.1.2' }
2558 verbose cache add name="object-assign" spec="~0.1.2" args=["object-assign","~0.1.2"]
2559 verbose parsed url { protocol: null,
2559 verbose parsed url slashes: null,
2559 verbose parsed url auth: null,
2559 verbose parsed url host: null,
2559 verbose parsed url port: null,
2559 verbose parsed url hostname: null,
2559 verbose parsed url hash: null,
2559 verbose parsed url search: null,
2559 verbose parsed url query: null,
2559 verbose parsed url pathname: '~0.1.2',
2559 verbose parsed url path: '~0.1.2',
2559 verbose parsed url href: '~0.1.2' }
2560 verbose addNamed [ 'object-assign', '~0.1.2' ]
2561 verbose addNamed [ null, '>=0.1.2- <0.2.0-' ]
2562 silly lockFile 7ab388c0-object-assign-0-1-2 object-assign@~0.1.2
2563 verbose lock object-assign@~0.1.2 /root/.npm/7ab388c0-object-assign-0-1-2.lock
2564 verbose cache add [ 'lodash.debounce@~2.4.1', null ]
2565 verbose cache add name=undefined spec="lodash.debounce@~2.4.1" args=["lodash.debounce@~2.4.1",null]
2566 verbose parsed url { protocol: null,
2566 verbose parsed url slashes: null,
2566 verbose parsed url auth: null,
2566 verbose parsed url host: null,
2566 verbose parsed url port: null,
2566 verbose parsed url hostname: null,
2566 verbose parsed url hash: null,
2566 verbose parsed url search: null,
2566 verbose parsed url query: null,
2566 verbose parsed url pathname: 'lodash.debounce@~2.4.1',
2566 verbose parsed url path: 'lodash.debounce@~2.4.1',
2566 verbose parsed url href: 'lodash.debounce@~2.4.1' }
2567 verbose cache add name="lodash.debounce" spec="~2.4.1" args=["lodash.debounce","~2.4.1"]
2568 verbose parsed url { protocol: null,
2568 verbose parsed url slashes: null,
2568 verbose parsed url auth: null,
2568 verbose parsed url host: null,
2568 verbose parsed url port: null,
2568 verbose parsed url hostname: null,
2568 verbose parsed url hash: null,
2568 verbose parsed url search: null,
2568 verbose parsed url query: null,
2568 verbose parsed url pathname: '~2.4.1',
2568 verbose parsed url path: '~2.4.1',
2568 verbose parsed url href: '~2.4.1' }
2569 verbose addNamed [ 'lodash.debounce', '~2.4.1' ]
2570 verbose addNamed [ null, '>=2.4.1- <2.5.0-' ]
2571 silly lockFile c867b369-lodash-debounce-2-4-1 lodash.debounce@~2.4.1
2572 verbose lock lodash.debounce@~2.4.1 /root/.npm/c867b369-lodash-debounce-2-4-1.lock
2573 verbose readDependencies using package.json deps
2574 silly resolved []
2575 verbose about to build /usr/lib/node_modules/bower/node_modules/osenv
2576 info build /usr/lib/node_modules/bower/node_modules/osenv
2577 verbose from cache /usr/lib/node_modules/bower/node_modules/osenv/package.json
2578 verbose linkStuff [ true,
2578 verbose linkStuff '/usr/lib/node_modules',
2578 verbose linkStuff false,
2578 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2579 info linkStuff osenv@0.0.3
2580 verbose linkBins osenv@0.0.3
2581 verbose linkMans osenv@0.0.3
2582 verbose rebuildBundles osenv@0.0.3
2583 silly addNameRange { name: 'object-assign',
2583 silly addNameRange range: '>=0.1.2- <0.2.0-',
2583 silly addNameRange hasData: false }
2584 silly addNameRange { name: 'lodash.debounce',
2584 silly addNameRange range: '>=2.4.1- <2.5.0-',
2584 silly addNameRange hasData: false }
2585 verbose cache add [ 'request@~2.27.0', null ]
2586 verbose cache add name=undefined spec="request@~2.27.0" args=["request@~2.27.0",null]
2587 verbose parsed url { protocol: null,
2587 verbose parsed url slashes: null,
2587 verbose parsed url auth: null,
2587 verbose parsed url host: null,
2587 verbose parsed url port: null,
2587 verbose parsed url hostname: null,
2587 verbose parsed url hash: null,
2587 verbose parsed url search: null,
2587 verbose parsed url query: null,
2587 verbose parsed url pathname: 'request@~2.27.0',
2587 verbose parsed url path: 'request@~2.27.0',
2587 verbose parsed url href: 'request@~2.27.0' }
2588 verbose cache add name="request" spec="~2.27.0" args=["request","~2.27.0"]
2589 verbose parsed url { protocol: null,
2589 verbose parsed url slashes: null,
2589 verbose parsed url auth: null,
2589 verbose parsed url host: null,
2589 verbose parsed url port: null,
2589 verbose parsed url hostname: null,
2589 verbose parsed url hash: null,
2589 verbose parsed url search: null,
2589 verbose parsed url query: null,
2589 verbose parsed url pathname: '~2.27.0',
2589 verbose parsed url path: '~2.27.0',
2589 verbose parsed url href: '~2.27.0' }
2590 verbose addNamed [ 'request', '~2.27.0' ]
2591 verbose cache add [ 'configstore@~0.2.1', null ]
2592 verbose cache add name=undefined spec="configstore@~0.2.1" args=["configstore@~0.2.1",null]
2593 verbose parsed url { protocol: null,
2593 verbose parsed url slashes: null,
2593 verbose parsed url auth: null,
2593 verbose parsed url host: null,
2593 verbose parsed url port: null,
2593 verbose parsed url hostname: null,
2593 verbose parsed url hash: null,
2593 verbose parsed url search: null,
2593 verbose parsed url query: null,
2593 verbose parsed url pathname: 'configstore@~0.2.1',
2593 verbose parsed url path: 'configstore@~0.2.1',
2593 verbose parsed url href: 'configstore@~0.2.1' }
2594 verbose cache add name="configstore" spec="~0.2.1" args=["configstore","~0.2.1"]
2595 verbose parsed url { protocol: null,
2595 verbose parsed url slashes: null,
2595 verbose parsed url auth: null,
2595 verbose parsed url host: null,
2595 verbose parsed url port: null,
2595 verbose parsed url hostname: null,
2595 verbose parsed url hash: null,
2595 verbose parsed url search: null,
2595 verbose parsed url query: null,
2595 verbose parsed url pathname: '~0.2.1',
2595 verbose parsed url path: '~0.2.1',
2595 verbose parsed url href: '~0.2.1' }
2596 verbose addNamed [ 'configstore', '~0.2.1' ]
2597 verbose addNamed [ null, '>=0.2.1- <0.3.0-' ]
2598 silly lockFile 8979d531-configstore-0-2-1 configstore@~0.2.1
2599 verbose lock configstore@~0.2.1 /root/.npm/8979d531-configstore-0-2-1.lock
2600 verbose cache add [ 'async@~0.2.9', null ]
2601 verbose cache add name=undefined spec="async@~0.2.9" args=["async@~0.2.9",null]
2602 verbose parsed url { protocol: null,
2602 verbose parsed url slashes: null,
2602 verbose parsed url auth: null,
2602 verbose parsed url host: null,
2602 verbose parsed url port: null,
2602 verbose parsed url hostname: null,
2602 verbose parsed url hash: null,
2602 verbose parsed url search: null,
2602 verbose parsed url query: null,
2602 verbose parsed url pathname: 'async@~0.2.9',
2602 verbose parsed url path: 'async@~0.2.9',
2602 verbose parsed url href: 'async@~0.2.9' }
2603 verbose cache add name="async" spec="~0.2.9" args=["async","~0.2.9"]
2604 verbose parsed url { protocol: null,
2604 verbose parsed url slashes: null,
2604 verbose parsed url auth: null,
2604 verbose parsed url host: null,
2604 verbose parsed url port: null,
2604 verbose parsed url hostname: null,
2604 verbose parsed url hash: null,
2604 verbose parsed url search: null,
2604 verbose parsed url query: null,
2604 verbose parsed url pathname: '~0.2.9',
2604 verbose parsed url path: '~0.2.9',
2604 verbose parsed url href: '~0.2.9' }
2605 verbose addNamed [ 'async', '~0.2.9' ]
2606 verbose addNamed [ null, '>=0.2.9- <0.3.0-' ]
2607 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
2608 verbose lock async@~0.2.9 /root/.npm/5d51c871-async-0-2-9.lock
2609 info preinstall opn@0.1.2
2610 info install osenv@0.0.3
2611 verbose registry.get request not expired, no request
2612 silly addNameRange number 2 { name: 'request', range: '>=2.27.0- <2.28.0-', hasData: true }
2613 silly addNameRange versions [ 'request',
2613 silly addNameRange [ '0.10.0',
2613 silly addNameRange '0.8.3',
2613 silly addNameRange '0.9.0',
2613 silly addNameRange '0.9.1',
2613 silly addNameRange '0.9.5',
2613 silly addNameRange '1.0.0',
2613 silly addNameRange '1.1.0',
2613 silly addNameRange '1.1.1',
2613 silly addNameRange '1.2.0',
2613 silly addNameRange '1.9.0',
2613 silly addNameRange '1.9.1',
2613 silly addNameRange '1.9.2',
2613 silly addNameRange '1.9.3',
2613 silly addNameRange '1.9.5',
2613 silly addNameRange '1.9.7',
2613 silly addNameRange '1.9.8',
2613 silly addNameRange '1.9.9',
2613 silly addNameRange '2.0.0',
2613 silly addNameRange '2.0.1',
2613 silly addNameRange '2.0.2',
2613 silly addNameRange '2.0.3',
2613 silly addNameRange '2.0.4',
2613 silly addNameRange '2.0.5',
2613 silly addNameRange '2.1.0',
2613 silly addNameRange '2.1.1',
2613 silly addNameRange '2.2.0',
2613 silly addNameRange '2.2.5',
2613 silly addNameRange '2.2.6',
2613 silly addNameRange '2.2.9',
2613 silly addNameRange '2.9.0',
2613 silly addNameRange '2.9.1',
2613 silly addNameRange '2.9.2',
2613 silly addNameRange '2.9.3',
2613 silly addNameRange '2.9.100',
2613 silly addNameRange '2.9.150',
2613 silly addNameRange '2.9.151',
2613 silly addNameRange '2.9.152',
2613 silly addNameRange '2.9.153',
2613 silly addNameRange '2.9.200',
2613 silly addNameRange '2.9.201',
2613 silly addNameRange '2.9.202',
2613 silly addNameRange '2.9.203',
2613 silly addNameRange '2.10.0',
2613 silly addNameRange '2.11.0',
2613 silly addNameRange '2.11.1',
2613 silly addNameRange '2.11.2',
2613 silly addNameRange '2.11.3',
2613 silly addNameRange '2.11.4',
2613 silly addNameRange '2.12.0',
2613 silly addNameRange '2.14.0',
2613 silly addNameRange '2.16.0',
2613 silly addNameRange '2.16.2',
2613 silly addNameRange '2.16.4',
2613 silly addNameRange '2.16.6',
2613 silly addNameRange '2.18.0',
2613 silly addNameRange '2.19.0',
2613 silly addNameRange '2.20.0',
2613 silly addNameRange '2.21.0',
2613 silly addNameRange '2.22.0',
2613 silly addNameRange '2.23.0',
2613 silly addNameRange '2.24.0',
2613 silly addNameRange '2.25.0',
2613 silly addNameRange '2.26.0',
2613 silly addNameRange '2.27.0',
2613 silly addNameRange '2.28.0',
2613 silly addNameRange '2.29.0',
2613 silly addNameRange '2.30.0',
2613 silly addNameRange '2.31.0',
2613 silly addNameRange '2.32.0',
2613 silly addNameRange '2.33.0',
2613 silly addNameRange '2.34.0',
2613 silly addNameRange '2.35.0',
2613 silly addNameRange '2.36.0' ] ]
2614 verbose addNamed [ 'request', '2.27.0' ]
2615 verbose addNamed [ '2.27.0', '2.27.0' ]
2616 silly lockFile 7b48fbe0-request-2-27-0 request@2.27.0
2617 verbose lock request@2.27.0 /root/.npm/7b48fbe0-request-2-27-0.lock
2618 silly addNameRange { name: 'configstore',
2618 silly addNameRange range: '>=0.2.1- <0.3.0-',
2618 silly addNameRange hasData: false }
2619 silly addNameRange { name: 'async', range: '>=0.2.9- <0.3.0-', hasData: false }
2620 verbose url raw configstore
2621 verbose url resolving [ 'https://registry.npmjs.org/', './configstore' ]
2622 verbose url resolved https://registry.npmjs.org/configstore
2623 info trying registry request attempt 1 at 23:07:48
2624 verbose etag "K4S3ZHWVTDGN895342DJ1DBE"
2625 http GET https://registry.npmjs.org/configstore
2626 silly gunzTarPerm extractEntry test/00-setup-fixtures.js
2627 silly gunzTarPerm extractEntry test/extract.js
2628 verbose registry.get semver not expired, no request
2629 silly addNameRange number 2 { name: 'semver', range: '>=2.1.0- <2.2.0-', hasData: true }
2630 silly addNameRange versions [ 'semver',
2630 silly addNameRange [ '1.0.0',
2630 silly addNameRange '1.0.1',
2630 silly addNameRange '1.0.2',
2630 silly addNameRange '1.0.3',
2630 silly addNameRange '1.0.4',
2630 silly addNameRange '1.0.5',
2630 silly addNameRange '1.0.6',
2630 silly addNameRange '1.0.7',
2630 silly addNameRange '1.0.8',
2630 silly addNameRange '1.0.9',
2630 silly addNameRange '1.0.10',
2630 silly addNameRange '1.0.11',
2630 silly addNameRange '1.0.12',
2630 silly addNameRange '1.0.13',
2630 silly addNameRange '1.0.14',
2630 silly addNameRange '1.1.0',
2630 silly addNameRange '1.1.1',
2630 silly addNameRange '1.1.2',
2630 silly addNameRange '1.1.3',
2630 silly addNameRange '1.1.4',
2630 silly addNameRange '2.0.0-alpha',
2630 silly addNameRange '2.0.0-beta',
2630 silly addNameRange '2.0.1',
2630 silly addNameRange '2.0.2',
2630 silly addNameRange '2.0.3',
2630 silly addNameRange '2.0.4',
2630 silly addNameRange '2.0.5',
2630 silly addNameRange '2.0.6',
2630 silly addNameRange '2.0.7',
2630 silly addNameRange '2.0.8',
2630 silly addNameRange '2.0.9',
2630 silly addNameRange '2.0.10',
2630 silly addNameRange '2.0.11',
2630 silly addNameRange '2.1.0',
2630 silly addNameRange '2.2.0',
2630 silly addNameRange '2.2.1',
2630 silly addNameRange '2.3.0' ] ]
2631 verbose addNamed [ 'semver', '2.1.0' ]
2632 verbose addNamed [ '2.1.0', '2.1.0' ]
2633 silly lockFile 386d7f9d-semver-2-1-0 semver@2.1.0
2634 verbose lock semver@2.1.0 /root/.npm/386d7f9d-semver-2-1-0.lock
2635 silly gunzTarPerm extractEntry lib/prompts/password.js
2636 silly gunzTarPerm extractEntry lib/prompts/rawlist.js
2637 verbose from cache /usr/lib/node_modules/bower/node_modules/opn/package.json
2638 info postinstall osenv@0.0.3
2639 verbose read json /root/.npm/request/2.27.0/package/package.json
2640 verbose readDependencies using package.json deps
2641 verbose from cache /usr/lib/node_modules/bower/node_modules/opn/package.json
2642 verbose read json /root/.npm/semver/2.1.0/package/package.json
2643 verbose readDependencies using package.json deps
2644 silly resolved []
2645 verbose about to build /usr/lib/node_modules/bower/node_modules/opn
2646 info build /usr/lib/node_modules/bower/node_modules/opn
2647 verbose from cache /usr/lib/node_modules/bower/node_modules/opn/package.json
2648 verbose linkStuff [ true,
2648 verbose linkStuff '/usr/lib/node_modules',
2648 verbose linkStuff false,
2648 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2649 info linkStuff opn@0.1.2
2650 verbose linkBins opn@0.1.2
2651 verbose link bins [ { opn: 'cli.js' },
2651 verbose link bins '/usr/lib/node_modules/bower/node_modules/.bin',
2651 verbose link bins false ]
2652 verbose linkMans opn@0.1.2
2653 verbose rebuildBundles opn@0.1.2
2654 silly gunzTarPerm extractEntry test-all.sh
2655 verbose url raw object-assign
2656 verbose url resolving [ 'https://registry.npmjs.org/', './object-assign' ]
2657 verbose url resolved https://registry.npmjs.org/object-assign
2658 info trying registry request attempt 1 at 23:07:48
2659 verbose etag "6BQC2FXYR4Q3O2OCKTOL4T7YA"
2660 http GET https://registry.npmjs.org/object-assign
2661 verbose url raw lodash.debounce
2662 verbose url resolving [ 'https://registry.npmjs.org/', './lodash.debounce' ]
2663 verbose url resolved https://registry.npmjs.org/lodash.debounce
2664 info trying registry request attempt 1 at 23:07:48
2665 verbose etag "AJ9AHM25PBDQ55M7D2IYDV5KM"
2666 http GET https://registry.npmjs.org/lodash.debounce
2667 silly lockFile c78eb03a-modules-bower-node-modules-archy /usr/lib/node_modules/bower/node_modules/archy
2668 silly lockFile c78eb03a-modules-bower-node-modules-archy /usr/lib/node_modules/bower/node_modules/archy
2669 verbose read json /usr/lib/node_modules/bower/node_modules/lockfile/package.json
2670 silly lockFile ab05cd66-er-node-modules-request-progress /usr/lib/node_modules/bower/node_modules/request-progress
2671 silly lockFile ab05cd66-er-node-modules-request-progress /usr/lib/node_modules/bower/node_modules/request-progress
2672 verbose url raw configstore
2673 verbose url resolving [ 'https://registry.npmjs.org/', './configstore' ]
2674 verbose url resolved https://registry.npmjs.org/configstore
2675 info trying registry request attempt 1 at 23:07:48
2676 verbose etag "K4S3ZHWVTDGN895342DJ1DBE"
2677 http GET https://registry.npmjs.org/configstore
2678 verbose url raw async
2679 verbose url resolving [ 'https://registry.npmjs.org/', './async' ]
2680 verbose url resolved https://registry.npmjs.org/async
2681 info trying registry request attempt 1 at 23:07:48
2682 verbose etag "EHV5W84S68L3J57XFTTIU9K7O"
2683 http GET https://registry.npmjs.org/async
2684 silly lockFile 77bfdcd9-root-npm-archy-0-0-2-package-tgz /root/.npm/archy/0.0.2/package.tgz
2685 silly lockFile 77bfdcd9-root-npm-archy-0-0-2-package-tgz /root/.npm/archy/0.0.2/package.tgz
2686 silly lockFile 460286a9-quest-progress-0-3-1-package-tgz /root/.npm/request-progress/0.3.1/package.tgz
2687 silly lockFile 460286a9-quest-progress-0-3-1-package-tgz /root/.npm/request-progress/0.3.1/package.tgz
2688 silly lockFile f70d7add-s-bower-node-modules-graceful-fs /usr/lib/node_modules/bower/node_modules/graceful-fs
2689 silly lockFile f70d7add-s-bower-node-modules-graceful-fs /usr/lib/node_modules/bower/node_modules/graceful-fs
2690 verbose read json /usr/lib/node_modules/bower/node_modules/rimraf/package.json
2691 silly lockFile 990d02f4-pm-graceful-fs-2-0-3-package-tgz /root/.npm/graceful-fs/2.0.3/package.tgz
2692 silly lockFile 990d02f4-pm-graceful-fs-2-0-3-package-tgz /root/.npm/graceful-fs/2.0.3/package.tgz
2693 silly gunzTarPerm extractEntry lib/ui/baseUI.js
2694 silly gunzTarPerm extractEntry lib/ui/bottom-bar.js
2695 info install opn@0.1.2
2696 info preinstall archy@0.0.2
2697 silly gunzTarPerm extractEntry test/globstar-match.js
2698 silly gunzTarPerm extractEntry test/mark.js
2699 info preinstall request-progress@0.3.1
2700 silly lockFile 7b48fbe0-request-2-27-0 request@2.27.0
2701 silly lockFile 7b48fbe0-request-2-27-0 request@2.27.0
2702 info postinstall opn@0.1.2
2703 silly gunzTarPerm extractEntry lib/optional.js
2704 silly lockFile 386d7f9d-semver-2-1-0 semver@2.1.0
2705 silly lockFile 386d7f9d-semver-2-1-0 semver@2.1.0
2706 verbose from cache /usr/lib/node_modules/bower/node_modules/archy/package.json
2707 verbose from cache /usr/lib/node_modules/bower/node_modules/request-progress/package.json
2708 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
2709 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
2710 verbose readDependencies using package.json deps
2711 verbose from cache /usr/lib/node_modules/bower/node_modules/archy/package.json
2712 info preinstall graceful-fs@2.0.3
2713 silly lockFile 712163e6-ules-bower-node-modules-lockfile /usr/lib/node_modules/bower/node_modules/lockfile
2714 silly lockFile 712163e6-ules-bower-node-modules-lockfile /usr/lib/node_modules/bower/node_modules/lockfile
2715 verbose readDependencies using package.json deps
2716 verbose from cache /usr/lib/node_modules/bower/node_modules/request-progress/package.json
2717 silly lockFile d1b48040-semver-2-1-0 semver@~2.1.0
2718 silly lockFile d1b48040-semver-2-1-0 semver@~2.1.0
2719 verbose readDependencies using package.json deps
2720 silly resolved []
2721 verbose about to build /usr/lib/node_modules/bower/node_modules/archy
2722 info build /usr/lib/node_modules/bower/node_modules/archy
2723 verbose from cache /usr/lib/node_modules/bower/node_modules/archy/package.json
2724 verbose linkStuff [ true,
2724 verbose linkStuff '/usr/lib/node_modules',
2724 verbose linkStuff false,
2724 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2725 info linkStuff archy@0.0.2
2726 verbose linkBins archy@0.0.2
2727 verbose linkMans archy@0.0.2
2728 verbose rebuildBundles archy@0.0.2
2729 verbose read json /usr/lib/node_modules/bower/node_modules/promptly/package.json
2730 verbose readDependencies using package.json deps
2731 silly gunzTarPerm extractEntry test/header.js
2732 silly gunzTarPerm extractEntry test/pack-no-proprietary.js
2733 info install archy@0.0.2
2734 verbose from cache /usr/lib/node_modules/bower/node_modules/graceful-fs/package.json
2735 silly lockFile 11b63125-t-npm-lockfile-0-4-2-package-tgz /root/.npm/lockfile/0.4.2/package.tgz
2736 silly lockFile 11b63125-t-npm-lockfile-0-4-2-package-tgz /root/.npm/lockfile/0.4.2/package.tgz
2737 silly gunzTarPerm extractEntry Makefile
2738 silly gunzTarPerm extractEntry bin/semver
2739 verbose cache add [ 'throttleit@~0.0.2', null ]
2740 verbose cache add name=undefined spec="throttleit@~0.0.2" args=["throttleit@~0.0.2",null]
2741 verbose parsed url { protocol: null,
2741 verbose parsed url slashes: null,
2741 verbose parsed url auth: null,
2741 verbose parsed url host: null,
2741 verbose parsed url port: null,
2741 verbose parsed url hostname: null,
2741 verbose parsed url hash: null,
2741 verbose parsed url search: null,
2741 verbose parsed url query: null,
2741 verbose parsed url pathname: 'throttleit@~0.0.2',
2741 verbose parsed url path: 'throttleit@~0.0.2',
2741 verbose parsed url href: 'throttleit@~0.0.2' }
2742 verbose cache add name="throttleit" spec="~0.0.2" args=["throttleit","~0.0.2"]
2743 verbose parsed url { protocol: null,
2743 verbose parsed url slashes: null,
2743 verbose parsed url auth: null,
2743 verbose parsed url host: null,
2743 verbose parsed url port: null,
2743 verbose parsed url hostname: null,
2743 verbose parsed url hash: null,
2743 verbose parsed url search: null,
2743 verbose parsed url query: null,
2743 verbose parsed url pathname: '~0.0.2',
2743 verbose parsed url path: '~0.0.2',
2743 verbose parsed url href: '~0.0.2' }
2744 verbose addNamed [ 'throttleit', '~0.0.2' ]
2745 verbose addNamed [ null, '>=0.0.2- <0.1.0-' ]
2746 silly lockFile de588288-throttleit-0-0-2 throttleit@~0.0.2
2747 verbose lock throttleit@~0.0.2 /root/.npm/de588288-throttleit-0-0-2.lock
2748 verbose readDependencies using package.json deps
2749 verbose from cache /usr/lib/node_modules/bower/node_modules/graceful-fs/package.json
2750 silly lockFile 7e320fd2-odules-bower-node-modules-rimraf /usr/lib/node_modules/bower/node_modules/rimraf
2751 silly lockFile 7e320fd2-odules-bower-node-modules-rimraf /usr/lib/node_modules/bower/node_modules/rimraf
2752 silly addNameRange { name: 'throttleit', range: '>=0.0.2- <0.1.0-', hasData: false }
2753 info postinstall archy@0.0.2
2754 silly gunzTarPerm extractEntry test/stat.js
2755 silly gunzTarPerm extractEntry test/bash-comparison.js
2756 verbose readDependencies using package.json deps
2757 silly resolved []
2758 verbose about to build /usr/lib/node_modules/bower/node_modules/graceful-fs
2759 info build /usr/lib/node_modules/bower/node_modules/graceful-fs
2760 verbose from cache /usr/lib/node_modules/bower/node_modules/graceful-fs/package.json
2761 verbose linkStuff [ true,
2761 verbose linkStuff '/usr/lib/node_modules',
2761 verbose linkStuff false,
2761 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2762 info linkStuff graceful-fs@2.0.3
2763 verbose linkBins graceful-fs@2.0.3
2764 verbose linkMans graceful-fs@2.0.3
2765 verbose rebuildBundles graceful-fs@2.0.3
2766 info install graceful-fs@2.0.3
2767 silly lockFile 5d26cfd1-oot-npm-rimraf-2-2-8-package-tgz /root/.npm/rimraf/2.2.8/package.tgz
2768 silly lockFile 5d26cfd1-oot-npm-rimraf-2-2-8-package-tgz /root/.npm/rimraf/2.2.8/package.tgz
2769 verbose read json /usr/lib/node_modules/bower/node_modules/p-throttler/package.json
2770 info postinstall graceful-fs@2.0.3
2771 info preinstall lockfile@0.4.2
2772 verbose url raw throttleit
2773 verbose url resolving [ 'https://registry.npmjs.org/', './throttleit' ]
2774 verbose url resolved https://registry.npmjs.org/throttleit
2775 info trying registry request attempt 1 at 23:07:48
2776 verbose etag "EI7SQXHOA0X2YTNUSS6H1EA2F"
2777 http GET https://registry.npmjs.org/throttleit
2778 verbose read json /usr/lib/node_modules/bower/node_modules/bower-logger/package.json
2779 verbose read json /usr/lib/node_modules/bower/node_modules/lru-cache/package.json
2780 verbose from cache /usr/lib/node_modules/bower/node_modules/lockfile/package.json
2781 verbose read json /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser/package.json
2782 verbose readDependencies using package.json deps
2783 verbose from cache /usr/lib/node_modules/bower/node_modules/lockfile/package.json
2784 info preinstall rimraf@2.2.8
2785 silly gunzTarPerm extractEntry semver.min.js.gz
2786 silly gunzTarPerm extractEntry test/amd.js
2787 verbose readDependencies using package.json deps
2788 silly resolved []
2789 verbose about to build /usr/lib/node_modules/bower/node_modules/lockfile
2790 info build /usr/lib/node_modules/bower/node_modules/lockfile
2791 verbose from cache /usr/lib/node_modules/bower/node_modules/lockfile/package.json
2792 verbose linkStuff [ true,
2792 verbose linkStuff '/usr/lib/node_modules',
2792 verbose linkStuff false,
2792 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2793 info linkStuff lockfile@0.4.2
2794 verbose linkBins lockfile@0.4.2
2795 verbose linkMans lockfile@0.4.2
2796 verbose rebuildBundles lockfile@0.4.2
2797 silly lockFile 1bcd4333-ules-bower-node-modules-promptly /usr/lib/node_modules/bower/node_modules/promptly
2798 silly lockFile 1bcd4333-ules-bower-node-modules-promptly /usr/lib/node_modules/bower/node_modules/promptly
2799 info install lockfile@0.4.2
2800 verbose from cache /usr/lib/node_modules/bower/node_modules/rimraf/package.json
2801 silly gunzTarPerm extractEntry lib/ui/prompt.js
2802 silly gunzTarPerm extractEntry lib/utils/tty.js
2803 silly lockFile d116e717-t-npm-promptly-0-2-0-package-tgz /root/.npm/promptly/0.2.0/package.tgz
2804 silly lockFile d116e717-t-npm-promptly-0-2-0-package-tgz /root/.npm/promptly/0.2.0/package.tgz
2805 verbose readDependencies using package.json deps
2806 verbose from cache /usr/lib/node_modules/bower/node_modules/rimraf/package.json
2807 silly gunzTarPerm extractEntry test/pause-resume.js
2808 silly gunzTarPerm extractEntry test/readme-issue.js
2809 info postinstall lockfile@0.4.2
2810 verbose readDependencies using package.json deps
2811 silly resolved []
2812 verbose about to build /usr/lib/node_modules/bower/node_modules/rimraf
2813 info build /usr/lib/node_modules/bower/node_modules/rimraf
2814 verbose from cache /usr/lib/node_modules/bower/node_modules/rimraf/package.json
2815 verbose linkStuff [ true,
2815 verbose linkStuff '/usr/lib/node_modules',
2815 verbose linkStuff false,
2815 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2816 info linkStuff rimraf@2.2.8
2817 verbose linkBins rimraf@2.2.8
2818 verbose link bins [ { rimraf: './bin.js' },
2818 verbose link bins '/usr/lib/node_modules/bower/node_modules/.bin',
2818 verbose link bins false ]
2819 verbose linkMans rimraf@2.2.8
2820 verbose rebuildBundles rimraf@2.2.8
2821 silly lockFile 00052a4c-s-bower-node-modules-p-throttler /usr/lib/node_modules/bower/node_modules/p-throttler
2822 silly lockFile 00052a4c-s-bower-node-modules-p-throttler /usr/lib/node_modules/bower/node_modules/p-throttler
2823 silly lockFile 5f39c6d5-pm-p-throttler-0-0-1-package-tgz /root/.npm/p-throttler/0.0.1/package.tgz
2824 silly lockFile 5f39c6d5-pm-p-throttler-0-0-1-package-tgz /root/.npm/p-throttler/0.0.1/package.tgz
2825 info preinstall promptly@0.2.0
2826 silly gunzTarPerm extractEntry test/gtr.js
2827 silly gunzTarPerm extractEntry test/index.js
2828 silly gunzTarPerm extractEntry test/pack.js
2829 silly gunzTarPerm extractEntry test/parse.js
2830 silly lockFile 6461f14a--bower-node-modules-bower-logger /usr/lib/node_modules/bower/node_modules/bower-logger
2831 silly lockFile 6461f14a--bower-node-modules-bower-logger /usr/lib/node_modules/bower/node_modules/bower-logger
2832 silly lockFile 392cf60c-les-bower-node-modules-lru-cache /usr/lib/node_modules/bower/node_modules/lru-cache
2833 silly lockFile 392cf60c-les-bower-node-modules-lru-cache /usr/lib/node_modules/bower/node_modules/lru-cache
2834 silly lockFile ac593f28-de-modules-bower-endpoint-parser /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser
2835 silly lockFile ac593f28-de-modules-bower-endpoint-parser /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser
2836 verbose read json /usr/lib/node_modules/bower/node_modules/nopt/package.json
2837 verbose from cache /usr/lib/node_modules/bower/node_modules/promptly/package.json
2838 silly lockFile 19ef3635-m-bower-logger-0-2-2-package-tgz /root/.npm/bower-logger/0.2.2/package.tgz
2839 silly lockFile 19ef3635-m-bower-logger-0-2-2-package-tgz /root/.npm/bower-logger/0.2.2/package.tgz
2840 silly gunzTarPerm extractEntry test/root-nomount.js
2841 silly gunzTarPerm extractEntry test/root.js
2842 silly lockFile 184edf40--npm-lru-cache-2-5-0-package-tgz /root/.npm/lru-cache/2.5.0/package.tgz
2843 silly lockFile 184edf40--npm-lru-cache-2-5-0-package-tgz /root/.npm/lru-cache/2.5.0/package.tgz
2844 verbose readDependencies using package.json deps
2845 verbose from cache /usr/lib/node_modules/bower/node_modules/promptly/package.json
2846 info install rimraf@2.2.8
2847 silly lockFile 4cdf3d43-ndpoint-parser-0-2-1-package-tgz /root/.npm/bower-endpoint-parser/0.2.1/package.tgz
2848 silly lockFile 4cdf3d43-ndpoint-parser-0-2-1-package-tgz /root/.npm/bower-endpoint-parser/0.2.1/package.tgz
2849 verbose readDependencies using package.json deps
2850 info preinstall p-throttler@0.0.1
2851 info postinstall rimraf@2.2.8
2852 verbose cache add [ 'read@~1.0.4', null ]
2853 verbose cache add name=undefined spec="read@~1.0.4" args=["read@~1.0.4",null]
2854 verbose parsed url { protocol: null,
2854 verbose parsed url slashes: null,
2854 verbose parsed url auth: null,
2854 verbose parsed url host: null,
2854 verbose parsed url port: null,
2854 verbose parsed url hostname: null,
2854 verbose parsed url hash: null,
2854 verbose parsed url search: null,
2854 verbose parsed url query: null,
2854 verbose parsed url pathname: 'read@~1.0.4',
2854 verbose parsed url path: 'read@~1.0.4',
2854 verbose parsed url href: 'read@~1.0.4' }
2855 verbose cache add name="read" spec="~1.0.4" args=["read","~1.0.4"]
2856 verbose parsed url { protocol: null,
2856 verbose parsed url slashes: null,
2856 verbose parsed url auth: null,
2856 verbose parsed url host: null,
2856 verbose parsed url port: null,
2856 verbose parsed url hostname: null,
2856 verbose parsed url hash: null,
2856 verbose parsed url search: null,
2856 verbose parsed url query: null,
2856 verbose parsed url pathname: '~1.0.4',
2856 verbose parsed url path: '~1.0.4',
2856 verbose parsed url href: '~1.0.4' }
2857 verbose addNamed [ 'read', '~1.0.4' ]
2858 verbose addNamed [ null, '>=1.0.4- <1.1.0-' ]
2859 silly lockFile 8e7fcd4d-read-1-0-4 read@~1.0.4
2860 verbose lock read@~1.0.4 /root/.npm/8e7fcd4d-read-1-0-4.lock
2861 verbose read json /usr/lib/node_modules/bower/node_modules/bower-config/package.json
2862 silly addNameRange { name: 'read', range: '>=1.0.4- <1.1.0-', hasData: false }
2863 verbose from cache /usr/lib/node_modules/bower/node_modules/p-throttler/package.json
2864 info preinstall bower-logger@0.2.2
2865 info preinstall lru-cache@2.5.0
2866 verbose readDependencies using package.json deps
2867 verbose from cache /usr/lib/node_modules/bower/node_modules/p-throttler/package.json
2868 info preinstall bower-endpoint-parser@0.2.1
2869 verbose readDependencies using package.json deps
2870 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-logger/package.json
2871 verbose from cache /usr/lib/node_modules/bower/node_modules/lru-cache/package.json
2872 verbose cache add [ 'q@~0.9.2', null ]
2873 verbose cache add name=undefined spec="q@~0.9.2" args=["q@~0.9.2",null]
2874 verbose parsed url { protocol: null,
2874 verbose parsed url slashes: null,
2874 verbose parsed url auth: null,
2874 verbose parsed url host: null,
2874 verbose parsed url port: null,
2874 verbose parsed url hostname: null,
2874 verbose parsed url hash: null,
2874 verbose parsed url search: null,
2874 verbose parsed url query: null,
2874 verbose parsed url pathname: 'q@~0.9.2',
2874 verbose parsed url path: 'q@~0.9.2',
2874 verbose parsed url href: 'q@~0.9.2' }
2875 verbose cache add name="q" spec="~0.9.2" args=["q","~0.9.2"]
2876 verbose parsed url { protocol: null,
2876 verbose parsed url slashes: null,
2876 verbose parsed url auth: null,
2876 verbose parsed url host: null,
2876 verbose parsed url port: null,
2876 verbose parsed url hostname: null,
2876 verbose parsed url hash: null,
2876 verbose parsed url search: null,
2876 verbose parsed url query: null,
2876 verbose parsed url pathname: '~0.9.2',
2876 verbose parsed url path: '~0.9.2',
2876 verbose parsed url href: '~0.9.2' }
2877 verbose addNamed [ 'q', '~0.9.2' ]
2878 verbose addNamed [ null, '>=0.9.2- <0.10.0-' ]
2879 silly lockFile 2778fd1e-q-0-9-2 q@~0.9.2
2880 verbose lock q@~0.9.2 /root/.npm/2778fd1e-q-0-9-2.lock
2881 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser/package.json
2882 verbose readDependencies using package.json deps
2883 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-logger/package.json
2884 verbose readDependencies using package.json deps
2885 verbose from cache /usr/lib/node_modules/bower/node_modules/lru-cache/package.json
2886 verbose url raw read
2887 verbose url resolving [ 'https://registry.npmjs.org/', './read' ]
2888 verbose url resolved https://registry.npmjs.org/read
2889 info trying registry request attempt 1 at 23:07:48
2890 verbose etag "AX4MIK1433873MQ2X0SOFZUZH"
2891 http GET https://registry.npmjs.org/read
2892 silly addNameRange { name: 'q', range: '>=0.9.2- <0.10.0-', hasData: false }
2893 verbose readDependencies using package.json deps
2894 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser/package.json
2895 verbose readDependencies using package.json deps
2896 silly resolved []
2897 verbose about to build /usr/lib/node_modules/bower/node_modules/bower-logger
2898 info build /usr/lib/node_modules/bower/node_modules/bower-logger
2899 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-logger/package.json
2900 verbose linkStuff [ true,
2900 verbose linkStuff '/usr/lib/node_modules',
2900 verbose linkStuff false,
2900 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2901 info linkStuff bower-logger@0.2.2
2902 verbose linkBins bower-logger@0.2.2
2903 verbose linkMans bower-logger@0.2.2
2904 verbose rebuildBundles bower-logger@0.2.2
2905 silly gunzTarPerm extractEntry lib/utils/utils.js
2906 verbose readDependencies using package.json deps
2907 silly resolved []
2908 verbose about to build /usr/lib/node_modules/bower/node_modules/lru-cache
2909 info build /usr/lib/node_modules/bower/node_modules/lru-cache
2910 verbose from cache /usr/lib/node_modules/bower/node_modules/lru-cache/package.json
2911 verbose linkStuff [ true,
2911 verbose linkStuff '/usr/lib/node_modules',
2911 verbose linkStuff false,
2911 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2912 info linkStuff lru-cache@2.5.0
2913 verbose linkBins lru-cache@2.5.0
2914 verbose linkMans lru-cache@2.5.0
2915 verbose rebuildBundles lru-cache@2.5.0
2916 silly lockFile 5c55dde3--modules-bower-node-modules-nopt /usr/lib/node_modules/bower/node_modules/nopt
2917 silly lockFile 5c55dde3--modules-bower-node-modules-nopt /usr/lib/node_modules/bower/node_modules/nopt
2918 verbose readDependencies using package.json deps
2919 silly resolved []
2920 verbose about to build /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser
2921 info build /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser
2922 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-endpoint-parser/package.json
2923 verbose linkStuff [ true,
2923 verbose linkStuff '/usr/lib/node_modules',
2923 verbose linkStuff false,
2923 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2924 info linkStuff bower-endpoint-parser@0.2.1
2925 verbose linkBins bower-endpoint-parser@0.2.1
2926 verbose linkMans bower-endpoint-parser@0.2.1
2927 verbose rebuildBundles bower-endpoint-parser@0.2.1
2928 info install bower-logger@0.2.2
2929 info install lru-cache@2.5.0
2930 info install bower-endpoint-parser@0.2.1
2931 silly lockFile e347361f-root-npm-nopt-2-2-1-package-tgz /root/.npm/nopt/2.2.1/package.tgz
2932 silly lockFile e347361f-root-npm-nopt-2-2-1-package-tgz /root/.npm/nopt/2.2.1/package.tgz
2933 info postinstall bower-logger@0.2.2
2934 info postinstall lru-cache@2.5.0
2935 info postinstall bower-endpoint-parser@0.2.1
2936 silly lockFile b9c26e19--bower-node-modules-bower-config /usr/lib/node_modules/bower/node_modules/bower-config
2937 silly lockFile b9c26e19--bower-node-modules-bower-config /usr/lib/node_modules/bower/node_modules/bower-config
2938 verbose registry.get q not expired, no request
2939 silly addNameRange number 2 { name: 'q', range: '>=0.9.2- <0.10.0-', hasData: true }
2940 silly addNameRange versions [ 'q',
2940 silly addNameRange [ '0.0.0',
2940 silly addNameRange '0.0.1',
2940 silly addNameRange '0.0.2',
2940 silly addNameRange '0.0.3',
2940 silly addNameRange '0.1.0',
2940 silly addNameRange '0.1.1',
2940 silly addNameRange '0.1.2',
2940 silly addNameRange '0.1.3',
2940 silly addNameRange '0.1.4',
2940 silly addNameRange '0.1.5',
2940 silly addNameRange '0.1.6',
2940 silly addNameRange '0.1.7',
2940 silly addNameRange '0.1.8',
2940 silly addNameRange '0.1.9',
2940 silly addNameRange '0.2.0-rc1',
2940 silly addNameRange '0.2.0',
2940 silly addNameRange '0.2.1',
2940 silly addNameRange '0.2.2',
2940 silly addNameRange '0.2.3',
2940 silly addNameRange '0.2.4',
2940 silly addNameRange '0.2.5',
2940 silly addNameRange '0.2.6',
2940 silly addNameRange '0.2.7',
2940 silly addNameRange '0.2.8',
2940 silly addNameRange '0.2.9',
2940 silly addNameRange '0.3.0',
2940 silly addNameRange '0.2.10',
2940 silly addNameRange '0.4.0',
2940 silly addNameRange '0.4.1',
2940 silly addNameRange '0.4.2',
2940 silly addNameRange '0.4.4',
2940 silly addNameRange '0.5.0',
2940 silly addNameRange '0.5.1',
2940 silly addNameRange '0.5.2',
2940 silly addNameRange '0.5.3',
2940 silly addNameRange '0.6.0',
2940 silly addNameRange '0.7.0',
2940 silly addNameRange '0.7.1',
2940 silly addNameRange '0.7.2',
2940 silly addNameRange '0.8.0',
2940 silly addNameRange '0.8.1',
2940 silly addNameRange '0.8.2',
2940 silly addNameRange '0.8.3',
2940 silly addNameRange '0.8.4',
2940 silly addNameRange '0.8.5',
2940 silly addNameRange '0.8.6',
2940 silly addNameRange '0.8.7',
2940 silly addNameRange '0.8.8',
2940 silly addNameRange '0.8.9',
2940 silly addNameRange '0.8.10',
2940 silly addNameRange '0.8.11',
2940 silly addNameRange '0.8.12',
2940 silly addNameRange '0.9.0',
2940 silly addNameRange '0.9.1',
2940 silly addNameRange '0.9.2',
2940 silly addNameRange '0.9.3',
2940 silly addNameRange '0.9.4',
2940 silly addNameRange '0.9.5',
2940 silly addNameRange '0.9.6',
2940 silly addNameRange '0.9.7',
2940 silly addNameRange '1.0.0',
2940 silly addNameRange '1.0.1',
2940 silly addNameRange '2.0.0',
2940 silly addNameRange '2.0.1' ] ]
2941 verbose addNamed [ 'q', '0.9.7' ]
2942 verbose addNamed [ '0.9.7', '0.9.7' ]
2943 silly lockFile cc8e51ee-q-0-9-7 q@0.9.7
2944 verbose lock q@0.9.7 /root/.npm/cc8e51ee-q-0-9-7.lock
2945 silly lockFile be757d55-m-bower-config-0-5-1-package-tgz /root/.npm/bower-config/0.5.1/package.tgz
2946 silly lockFile be757d55-m-bower-config-0-5-1-package-tgz /root/.npm/bower-config/0.5.1/package.tgz
2947 silly gunzTarPerm extractEntry test/zz-cleanup.js
2948 silly gunzTarPerm extractEntry test/fixtures.tgz
2949 verbose read json /root/.npm/q/0.9.7/package/package.json
2950 info preinstall nopt@2.2.1
2951 silly gunzTarPerm extractEntry test/new-glob-optional-options.js
2952 silly gunzTarPerm extractEntry test/zz-cleanup.js
2953 verbose from cache /usr/lib/node_modules/bower/node_modules/nopt/package.json
2954 verbose readDependencies using package.json deps
2955 verbose from cache /usr/lib/node_modules/bower/node_modules/nopt/package.json
2956 info preinstall bower-config@0.5.1
2957 verbose readDependencies using package.json deps
2958 silly resolved []
2959 verbose about to build /usr/lib/node_modules/bower/node_modules/nopt
2960 info build /usr/lib/node_modules/bower/node_modules/nopt
2961 verbose from cache /usr/lib/node_modules/bower/node_modules/nopt/package.json
2962 verbose linkStuff [ true,
2962 verbose linkStuff '/usr/lib/node_modules',
2962 verbose linkStuff false,
2962 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
2963 info linkStuff nopt@2.2.1
2964 verbose linkBins nopt@2.2.1
2965 verbose link bins [ { nopt: './bin/nopt.js' },
2965 verbose link bins '/usr/lib/node_modules/bower/node_modules/.bin',
2965 verbose link bins false ]
2966 verbose linkMans nopt@2.2.1
2967 verbose rebuildBundles nopt@2.2.1
2968 verbose read json /usr/lib/node_modules/bower/node_modules/retry/package.json
2969 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-config/package.json
2970 verbose readDependencies using package.json deps
2971 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-config/package.json
2972 verbose readDependencies using package.json deps
2973 verbose read json /usr/lib/node_modules/bower/node_modules/fstream-ignore/package.json
2974 silly lockFile cc8e51ee-q-0-9-7 q@0.9.7
2975 silly lockFile cc8e51ee-q-0-9-7 q@0.9.7
2976 verbose cache add [ 'optimist@~0.6.0', null ]
2977 verbose cache add name=undefined spec="optimist@~0.6.0" args=["optimist@~0.6.0",null]
2978 verbose parsed url { protocol: null,
2978 verbose parsed url slashes: null,
2978 verbose parsed url auth: null,
2978 verbose parsed url host: null,
2978 verbose parsed url port: null,
2978 verbose parsed url hostname: null,
2978 verbose parsed url hash: null,
2978 verbose parsed url search: null,
2978 verbose parsed url query: null,
2978 verbose parsed url pathname: 'optimist@~0.6.0',
2978 verbose parsed url path: 'optimist@~0.6.0',
2978 verbose parsed url href: 'optimist@~0.6.0' }
2979 verbose cache add name="optimist" spec="~0.6.0" args=["optimist","~0.6.0"]
2980 verbose parsed url { protocol: null,
2980 verbose parsed url slashes: null,
2980 verbose parsed url auth: null,
2980 verbose parsed url host: null,
2980 verbose parsed url port: null,
2980 verbose parsed url hostname: null,
2980 verbose parsed url hash: null,
2980 verbose parsed url search: null,
2980 verbose parsed url query: null,
2980 verbose parsed url pathname: '~0.6.0',
2980 verbose parsed url path: '~0.6.0',
2980 verbose parsed url href: '~0.6.0' }
2981 verbose addNamed [ 'optimist', '~0.6.0' ]
2982 verbose addNamed [ null, '>=0.6.0- <0.7.0-' ]
2983 silly lockFile 07193858-optimist-0-6-0 optimist@~0.6.0
2984 verbose lock optimist@~0.6.0 /root/.npm/07193858-optimist-0-6-0.lock
2985 verbose read json /usr/lib/node_modules/bower/node_modules/shell-quote/package.json
2986 silly addNameRange { name: 'optimist', range: '>=0.6.0- <0.7.0-', hasData: false }
2987 info install nopt@2.2.1
2988 silly lockFile 2778fd1e-q-0-9-2 q@~0.9.2
2989 silly lockFile 2778fd1e-q-0-9-2 q@~0.9.2
2990 silly gunzTarPerm extractEntry test/nocase-nomagic.js
2991 silly gunzTarPerm extractEntry test/bash-results.json
2992 info postinstall nopt@2.2.1
2993 silly resolved [ { name: 'q',
2993 silly resolved version: '0.9.7',
2993 silly resolved description: 'A library for promises (CommonJS/Promises/A,B,D)',
2993 silly resolved homepage: 'https://github.com/kriskowal/q',
2993 silly resolved author:
2993 silly resolved { name: 'Kris Kowal',
2993 silly resolved email: 'kris@cixar.com',
2993 silly resolved url: 'https://github.com/kriskowal' },
2993 silly resolved keywords:
2993 silly resolved [ 'q',
2993 silly resolved 'promise',
2993 silly resolved 'promises',
2993 silly resolved 'promises-a',
2993 silly resolved 'promises-aplus',
2993 silly resolved 'deferred',
2993 silly resolved 'future',
2993 silly resolved 'async',
2993 silly resolved 'flow control',
2993 silly resolved 'fluent',
2993 silly resolved 'browser',
2993 silly resolved 'node' ],
2993 silly resolved contributors: [ [Object], [Object], [Object] ],
2993 silly resolved bugs:
2993 silly resolved { mail: 'kris@cixar.com',
2993 silly resolved url: 'http://github.com/kriskowal/q/issues' },
2993 silly resolved license:
2993 silly resolved { type: 'MIT',
2993 silly resolved url: 'http://github.com/kriskowal/q/raw/master/LICENSE' },
2993 silly resolved main: 'q.js',
2993 silly resolved repository: { type: 'git', url: 'git://github.com/kriskowal/q.git' },
2993 silly resolved engines: { node: '>=0.6.0', teleport: '>=0.2.0' },
2993 silly resolved dependencies: {},
2993 silly resolved devDependencies:
2993 silly resolved { jshint: '~2.1.9',
2993 silly resolved cover: '*',
2993 silly resolved 'jasmine-node': '1.11.0',
2993 silly resolved opener: '*',
2993 silly resolved 'promises-aplus-tests': '1.x',
2993 silly resolved grunt: '~0.4.1',
2993 silly resolved 'grunt-cli': '~0.1.9',
2993 silly resolved 'grunt-contrib-uglify': '~0.2.2',
2993 silly resolved matcha: '~0.2.0' },
2993 silly resolved scripts:
2993 silly resolved { test: 'jasmine-node spec && promises-aplus-tests spec/aplus-adapter',
2993 silly resolved 'test-browser': 'opener spec/q-spec.html',
2993 silly resolved benchmark: 'matcha',
2993 silly resolved lint: 'jshint q.js',
2993 silly resolved cover: 'cover run node_modules/jasmine-node/bin/jasmine-node spec && cover report html && opener cover_html/index.html',
2993 silly resolved minify: 'grunt',
2993 silly resolved prepublish: 'grunt' },
2993 silly resolved overlay: { teleport: [Object] },
2993 silly resolved directories: { test: './spec' },
2993 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',
2993 silly resolved readmeFilename: 'README.md',
2993 silly resolved _id: 'q@0.9.7',
2993 silly resolved _from: 'q@~0.9.2' } ]
2994 info install q@0.9.7 into /usr/lib/node_modules/bower/node_modules/p-throttler
2995 info installOne q@0.9.7
2996 silly lockFile e8c078a7-modules-bower-node-modules-retry /usr/lib/node_modules/bower/node_modules/retry
2997 silly lockFile e8c078a7-modules-bower-node-modules-retry /usr/lib/node_modules/bower/node_modules/retry
2998 verbose from cache /root/.npm/q/0.9.7/package/package.json
2999 info /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q unbuild
3000 verbose read json /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q/package.json
3001 verbose url raw optimist
3002 verbose url resolving [ 'https://registry.npmjs.org/', './optimist' ]
3003 verbose url resolved https://registry.npmjs.org/optimist
3004 info trying registry request attempt 1 at 23:07:48
3005 verbose etag "1IKU6GRZMZDCQ2MB3C2XUCU7G"
3006 http GET https://registry.npmjs.org/optimist
3007 silly lockFile 598e817c-root-npm-retry-0-6-0-package-tgz /root/.npm/retry/0.6.0/package.tgz
3008 silly lockFile 598e817c-root-npm-retry-0-6-0-package-tgz /root/.npm/retry/0.6.0/package.tgz
3009 verbose tar unpack /root/.npm/q/0.9.7/package.tgz
3010 silly lockFile 37288f56-dules-p-throttler-node-modules-q /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q
3011 verbose lock /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q /root/.npm/37288f56-dules-p-throttler-node-modules-q.lock
3012 silly lockFile 5002364d-root-npm-q-0-9-7-package-tgz /root/.npm/q/0.9.7/package.tgz
3013 verbose lock /root/.npm/q/0.9.7/package.tgz /root/.npm/5002364d-root-npm-q-0-9-7-package-tgz.lock
3014 silly lockFile 83b05336-ower-node-modules-fstream-ignore /usr/lib/node_modules/bower/node_modules/fstream-ignore
3015 silly lockFile 83b05336-ower-node-modules-fstream-ignore /usr/lib/node_modules/bower/node_modules/fstream-ignore
3016 silly gunzTarPerm modes [ '755', '644' ]
3017 silly lockFile 6c774ca1-fstream-ignore-0-0-8-package-tgz /root/.npm/fstream-ignore/0.0.8/package.tgz
3018 silly lockFile 6c774ca1-fstream-ignore-0-0-8-package-tgz /root/.npm/fstream-ignore/0.0.8/package.tgz
3019 silly lockFile 075745fb-s-bower-node-modules-shell-quote /usr/lib/node_modules/bower/node_modules/shell-quote
3020 silly lockFile 075745fb-s-bower-node-modules-shell-quote /usr/lib/node_modules/bower/node_modules/shell-quote
3021 info preinstall retry@0.6.0
3022 silly lockFile e76de758-pm-shell-quote-1-4-1-package-tgz /root/.npm/shell-quote/1.4.1/package.tgz
3023 silly lockFile e76de758-pm-shell-quote-1-4-1-package-tgz /root/.npm/shell-quote/1.4.1/package.tgz
3024 verbose from cache /usr/lib/node_modules/bower/node_modules/retry/package.json
3025 verbose readDependencies using package.json deps
3026 verbose from cache /usr/lib/node_modules/bower/node_modules/retry/package.json
3027 silly gunzTarPerm extractEntry package.json
3028 info preinstall fstream-ignore@0.0.8
3029 verbose readDependencies using package.json deps
3030 silly resolved []
3031 verbose about to build /usr/lib/node_modules/bower/node_modules/retry
3032 info build /usr/lib/node_modules/bower/node_modules/retry
3033 verbose from cache /usr/lib/node_modules/bower/node_modules/retry/package.json
3034 verbose linkStuff [ true,
3034 verbose linkStuff '/usr/lib/node_modules',
3034 verbose linkStuff false,
3034 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
3035 info linkStuff retry@0.6.0
3036 verbose linkBins retry@0.6.0
3037 verbose linkMans retry@0.6.0
3038 verbose rebuildBundles retry@0.6.0
3039 info install retry@0.6.0
3040 verbose from cache /usr/lib/node_modules/bower/node_modules/fstream-ignore/package.json
3041 info preinstall shell-quote@1.4.1
3042 verbose readDependencies using package.json deps
3043 verbose from cache /usr/lib/node_modules/bower/node_modules/fstream-ignore/package.json
3044 info postinstall retry@0.6.0
3045 silly gunzTarPerm extractEntry README.md
3046 verbose readDependencies using package.json deps
3047 verbose from cache /usr/lib/node_modules/bower/node_modules/shell-quote/package.json
3048 silly gunzTarPerm extractEntry LICENSE
3049 silly gunzTarPerm extractEntry q.js
3050 silly gunzTarPerm extractEntry queue.js
3051 silly gunzTarPerm extractEntry CONTRIBUTING.md
3052 silly gunzTarPerm extractEntry benchmark/compare-with-callbacks.js
3053 silly gunzTarPerm extractEntry benchmark/scenarios.js
3054 verbose readDependencies using package.json deps
3055 verbose from cache /usr/lib/node_modules/bower/node_modules/shell-quote/package.json
3056 verbose readDependencies using package.json deps
3057 verbose cache add [ 'inherits@2', null ]
3058 verbose cache add name=undefined spec="inherits@2" args=["inherits@2",null]
3059 verbose parsed url { protocol: null,
3059 verbose parsed url slashes: null,
3059 verbose parsed url auth: null,
3059 verbose parsed url host: null,
3059 verbose parsed url port: null,
3059 verbose parsed url hostname: null,
3059 verbose parsed url hash: null,
3059 verbose parsed url search: null,
3059 verbose parsed url query: null,
3059 verbose parsed url pathname: 'inherits@2',
3059 verbose parsed url path: 'inherits@2',
3059 verbose parsed url href: 'inherits@2' }
3060 verbose cache add name="inherits" spec="2" args=["inherits","2"]
3061 verbose parsed url { protocol: null,
3061 verbose parsed url slashes: null,
3061 verbose parsed url auth: null,
3061 verbose parsed url host: null,
3061 verbose parsed url port: null,
3061 verbose parsed url hostname: null,
3061 verbose parsed url hash: null,
3061 verbose parsed url search: null,
3061 verbose parsed url query: null,
3061 verbose parsed url pathname: '2',
3061 verbose parsed url path: '2',
3061 verbose parsed url href: '2' }
3062 verbose addNamed [ 'inherits', '2' ]
3063 verbose addNamed [ null, '>=2.0.0- <3.0.0-' ]
3064 silly lockFile 1f7ff4de-inherits-2 inherits@2
3065 verbose lock inherits@2 /root/.npm/1f7ff4de-inherits-2.lock
3066 verbose cache add [ 'minimatch@^0.3.0', null ]
3067 verbose cache add name=undefined spec="minimatch@^0.3.0" args=["minimatch@^0.3.0",null]
3068 verbose parsed url { protocol: null,
3068 verbose parsed url slashes: null,
3068 verbose parsed url auth: null,
3068 verbose parsed url host: null,
3068 verbose parsed url port: null,
3068 verbose parsed url hostname: null,
3068 verbose parsed url hash: null,
3068 verbose parsed url search: null,
3068 verbose parsed url query: null,
3068 verbose parsed url pathname: 'minimatch@^0.3.0',
3068 verbose parsed url path: 'minimatch@^0.3.0',
3068 verbose parsed url href: 'minimatch@^0.3.0' }
3069 verbose cache add name="minimatch" spec="^0.3.0" args=["minimatch","^0.3.0"]
3070 verbose parsed url { protocol: null,
3070 verbose parsed url slashes: null,
3070 verbose parsed url auth: null,
3070 verbose parsed url host: null,
3070 verbose parsed url port: null,
3070 verbose parsed url hostname: null,
3070 verbose parsed url hash: null,
3070 verbose parsed url search: null,
3070 verbose parsed url query: null,
3070 verbose parsed url pathname: '^0.3.0',
3070 verbose parsed url path: '^0.3.0',
3070 verbose parsed url href: '^0.3.0' }
3071 verbose addNamed [ 'minimatch', '^0.3.0' ]
3072 verbose addNamed [ null, null ]
3073 silly lockFile 27a1ef78-minimatch-0-3-0 minimatch@^0.3.0
3074 verbose lock minimatch@^0.3.0 /root/.npm/27a1ef78-minimatch-0-3-0.lock
3075 silly addNameRange { name: 'inherits', range: '>=2.0.0- <3.0.0-', hasData: false }
3076 info addNameTag [ 'minimatch', '^0.3.0' ]
3077 verbose cache add [ 'array-reduce@~0.0.0', null ]
3078 verbose cache add name=undefined spec="array-reduce@~0.0.0" args=["array-reduce@~0.0.0",null]
3079 verbose parsed url { protocol: null,
3079 verbose parsed url slashes: null,
3079 verbose parsed url auth: null,
3079 verbose parsed url host: null,
3079 verbose parsed url port: null,
3079 verbose parsed url hostname: null,
3079 verbose parsed url hash: null,
3079 verbose parsed url search: null,
3079 verbose parsed url query: null,
3079 verbose parsed url pathname: 'array-reduce@~0.0.0',
3079 verbose parsed url path: 'array-reduce@~0.0.0',
3079 verbose parsed url href: 'array-reduce@~0.0.0' }
3080 verbose cache add name="array-reduce" spec="~0.0.0" args=["array-reduce","~0.0.0"]
3081 verbose parsed url { protocol: null,
3081 verbose parsed url slashes: null,
3081 verbose parsed url auth: null,
3081 verbose parsed url host: null,
3081 verbose parsed url port: null,
3081 verbose parsed url hostname: null,
3081 verbose parsed url hash: null,
3081 verbose parsed url search: null,
3081 verbose parsed url query: null,
3081 verbose parsed url pathname: '~0.0.0',
3081 verbose parsed url path: '~0.0.0',
3081 verbose parsed url href: '~0.0.0' }
3082 verbose addNamed [ 'array-reduce', '~0.0.0' ]
3083 verbose addNamed [ null, '>=0.0.0- <0.1.0-' ]
3084 silly lockFile ba3d3adc-array-reduce-0-0-0 array-reduce@~0.0.0
3085 verbose lock array-reduce@~0.0.0 /root/.npm/ba3d3adc-array-reduce-0-0-0.lock
3086 verbose cache add [ 'array-map@~0.0.0', null ]
3087 verbose cache add name=undefined spec="array-map@~0.0.0" args=["array-map@~0.0.0",null]
3088 verbose parsed url { protocol: null,
3088 verbose parsed url slashes: null,
3088 verbose parsed url auth: null,
3088 verbose parsed url host: null,
3088 verbose parsed url port: null,
3088 verbose parsed url hostname: null,
3088 verbose parsed url hash: null,
3088 verbose parsed url search: null,
3088 verbose parsed url query: null,
3088 verbose parsed url pathname: 'array-map@~0.0.0',
3088 verbose parsed url path: 'array-map@~0.0.0',
3088 verbose parsed url href: 'array-map@~0.0.0' }
3089 verbose cache add name="array-map" spec="~0.0.0" args=["array-map","~0.0.0"]
3090 verbose parsed url { protocol: null,
3090 verbose parsed url slashes: null,
3090 verbose parsed url auth: null,
3090 verbose parsed url host: null,
3090 verbose parsed url port: null,
3090 verbose parsed url hostname: null,
3090 verbose parsed url hash: null,
3090 verbose parsed url search: null,
3090 verbose parsed url query: null,
3090 verbose parsed url pathname: '~0.0.0',
3090 verbose parsed url path: '~0.0.0',
3090 verbose parsed url href: '~0.0.0' }
3091 verbose addNamed [ 'array-map', '~0.0.0' ]
3092 verbose addNamed [ null, '>=0.0.0- <0.1.0-' ]
3093 silly lockFile a057d804-array-map-0-0-0 array-map@~0.0.0
3094 verbose lock array-map@~0.0.0 /root/.npm/a057d804-array-map-0-0-0.lock
3095 verbose cache add [ 'jsonify@~0.0.0', null ]
3096 verbose cache add name=undefined spec="jsonify@~0.0.0" args=["jsonify@~0.0.0",null]
3097 verbose parsed url { protocol: null,
3097 verbose parsed url slashes: null,
3097 verbose parsed url auth: null,
3097 verbose parsed url host: null,
3097 verbose parsed url port: null,
3097 verbose parsed url hostname: null,
3097 verbose parsed url hash: null,
3097 verbose parsed url search: null,
3097 verbose parsed url query: null,
3097 verbose parsed url pathname: 'jsonify@~0.0.0',
3097 verbose parsed url path: 'jsonify@~0.0.0',
3097 verbose parsed url href: 'jsonify@~0.0.0' }
3098 verbose cache add name="jsonify" spec="~0.0.0" args=["jsonify","~0.0.0"]
3099 verbose parsed url { protocol: null,
3099 verbose parsed url slashes: null,
3099 verbose parsed url auth: null,
3099 verbose parsed url host: null,
3099 verbose parsed url port: null,
3099 verbose parsed url hostname: null,
3099 verbose parsed url hash: null,
3099 verbose parsed url search: null,
3099 verbose parsed url query: null,
3099 verbose parsed url pathname: '~0.0.0',
3099 verbose parsed url path: '~0.0.0',
3099 verbose parsed url href: '~0.0.0' }
3100 verbose addNamed [ 'jsonify', '~0.0.0' ]
3101 verbose addNamed [ null, '>=0.0.0- <0.1.0-' ]
3102 silly lockFile 6f82df5c-jsonify-0-0-0 jsonify@~0.0.0
3103 verbose lock jsonify@~0.0.0 /root/.npm/6f82df5c-jsonify-0-0-0.lock
3104 verbose cache add [ 'array-filter@~0.0.0', null ]
3105 verbose cache add name=undefined spec="array-filter@~0.0.0" args=["array-filter@~0.0.0",null]
3106 verbose parsed url { protocol: null,
3106 verbose parsed url slashes: null,
3106 verbose parsed url auth: null,
3106 verbose parsed url host: null,
3106 verbose parsed url port: null,
3106 verbose parsed url hostname: null,
3106 verbose parsed url hash: null,
3106 verbose parsed url search: null,
3106 verbose parsed url query: null,
3106 verbose parsed url pathname: 'array-filter@~0.0.0',
3106 verbose parsed url path: 'array-filter@~0.0.0',
3106 verbose parsed url href: 'array-filter@~0.0.0' }
3107 verbose cache add name="array-filter" spec="~0.0.0" args=["array-filter","~0.0.0"]
3108 verbose parsed url { protocol: null,
3108 verbose parsed url slashes: null,
3108 verbose parsed url auth: null,
3108 verbose parsed url host: null,
3108 verbose parsed url port: null,
3108 verbose parsed url hostname: null,
3108 verbose parsed url hash: null,
3108 verbose parsed url search: null,
3108 verbose parsed url query: null,
3108 verbose parsed url pathname: '~0.0.0',
3108 verbose parsed url path: '~0.0.0',
3108 verbose parsed url href: '~0.0.0' }
3109 verbose addNamed [ 'array-filter', '~0.0.0' ]
3110 verbose addNamed [ null, '>=0.0.0- <0.1.0-' ]
3111 silly lockFile 9ddec165-array-filter-0-0-0 array-filter@~0.0.0
3112 verbose lock array-filter@~0.0.0 /root/.npm/9ddec165-array-filter-0-0-0.lock
3113 silly addNameRange { name: 'array-reduce',
3113 silly addNameRange range: '>=0.0.0- <0.1.0-',
3113 silly addNameRange hasData: false }
3114 silly addNameRange { name: 'array-map', range: '>=0.0.0- <0.1.0-', hasData: false }
3115 silly addNameRange { name: 'jsonify', range: '>=0.0.0- <0.1.0-', hasData: false }
3116 silly addNameRange { name: 'array-filter',
3116 silly addNameRange range: '>=0.0.0- <0.1.0-',
3116 silly addNameRange hasData: false }
3117 verbose url raw inherits
3118 verbose url resolving [ 'https://registry.npmjs.org/', './inherits' ]
3119 verbose url resolved https://registry.npmjs.org/inherits
3120 info trying registry request attempt 1 at 23:07:49
3121 verbose etag "AOGM9R8UHMTA4Q3A77R3Y6L0C"
3122 http GET https://registry.npmjs.org/inherits
3123 verbose url raw minimatch
3124 verbose url resolving [ 'https://registry.npmjs.org/', './minimatch' ]
3125 verbose url resolved https://registry.npmjs.org/minimatch
3126 info trying registry request attempt 1 at 23:07:49
3127 verbose etag "64HZ0LR2MPZLWRRTTBF60QUIU"
3128 http GET https://registry.npmjs.org/minimatch
3129 verbose url raw array-reduce
3130 verbose url resolving [ 'https://registry.npmjs.org/', './array-reduce' ]
3131 verbose url resolved https://registry.npmjs.org/array-reduce
3132 info trying registry request attempt 1 at 23:07:49
3133 verbose etag "4OPNMX9RVV5FOMQLF0OFM7K8I"
3134 http GET https://registry.npmjs.org/array-reduce
3135 verbose url raw array-map
3136 verbose url resolving [ 'https://registry.npmjs.org/', './array-map' ]
3137 verbose url resolved https://registry.npmjs.org/array-map
3138 info trying registry request attempt 1 at 23:07:49
3139 verbose etag "3N0D584WC9F0JLXDUAJIMD9T6"
3140 http GET https://registry.npmjs.org/array-map
3141 verbose url raw jsonify
3142 verbose url resolving [ 'https://registry.npmjs.org/', './jsonify' ]
3143 verbose url resolved https://registry.npmjs.org/jsonify
3144 info trying registry request attempt 1 at 23:07:49
3145 verbose etag "7VU8SEPVL9CBI4OPOR1Y6QHHL"
3146 http GET https://registry.npmjs.org/jsonify
3147 verbose url raw array-filter
3148 verbose url resolving [ 'https://registry.npmjs.org/', './array-filter' ]
3149 verbose url resolved https://registry.npmjs.org/array-filter
3150 info trying registry request attempt 1 at 23:07:49
3151 verbose etag "DCUSFFZN443VF2CQG666LWFQY"
3152 http GET https://registry.npmjs.org/array-filter
3153 silly gunzTarPerm extractEntry test/ltr.js
3154 silly gunzTarPerm extractEntry test/no-module.js
3155 verbose read json /usr/lib/node_modules/bower/node_modules/mkdirp/package.json
3156 verbose read json /usr/lib/node_modules/bower/node_modules/bower-json/package.json
3157 verbose read json /usr/lib/node_modules/bower/node_modules/tmp/package.json
3158 verbose read json /usr/lib/node_modules/bower/node_modules/decompress-zip/package.json
3159 silly lockFile 77c1a8b5-odules-bower-node-modules-mkdirp /usr/lib/node_modules/bower/node_modules/mkdirp
3160 silly lockFile 77c1a8b5-odules-bower-node-modules-mkdirp /usr/lib/node_modules/bower/node_modules/mkdirp
3161 silly lockFile 44ea8523-es-bower-node-modules-bower-json /usr/lib/node_modules/bower/node_modules/bower-json
3162 silly lockFile 44ea8523-es-bower-node-modules-bower-json /usr/lib/node_modules/bower/node_modules/bower-json
3163 silly lockFile 963312bb-oot-npm-mkdirp-0-3-5-package-tgz /root/.npm/mkdirp/0.3.5/package.tgz
3164 silly lockFile 963312bb-oot-npm-mkdirp-0-3-5-package-tgz /root/.npm/mkdirp/0.3.5/package.tgz
3165 silly lockFile f80aed13-e-modules-bower-node-modules-tmp /usr/lib/node_modules/bower/node_modules/tmp
3166 silly lockFile f80aed13-e-modules-bower-node-modules-tmp /usr/lib/node_modules/bower/node_modules/tmp
3167 silly lockFile 9cd70243-npm-bower-json-0-4-0-package-tgz /root/.npm/bower-json/0.4.0/package.tgz
3168 silly lockFile 9cd70243-npm-bower-json-0-4-0-package-tgz /root/.npm/bower-json/0.4.0/package.tgz
3169 silly lockFile efd8bbaa-root-npm-tmp-0-0-23-package-tgz /root/.npm/tmp/0.0.23/package.tgz
3170 silly lockFile efd8bbaa-root-npm-tmp-0-0-23-package-tgz /root/.npm/tmp/0.0.23/package.tgz
3171 silly lockFile d748bf59-ower-node-modules-decompress-zip /usr/lib/node_modules/bower/node_modules/decompress-zip
3172 silly lockFile d748bf59-ower-node-modules-decompress-zip /usr/lib/node_modules/bower/node_modules/decompress-zip
3173 info preinstall mkdirp@0.3.5
3174 info preinstall bower-json@0.4.0
3175 silly lockFile f74f65c1-decompress-zip-0-0-7-package-tgz /root/.npm/decompress-zip/0.0.7/package.tgz
3176 silly lockFile f74f65c1-decompress-zip-0-0-7-package-tgz /root/.npm/decompress-zip/0.0.7/package.tgz
3177 verbose from cache /usr/lib/node_modules/bower/node_modules/mkdirp/package.json
3178 info preinstall tmp@0.0.23
3179 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-json/package.json
3180 verbose readDependencies using package.json deps
3181 verbose from cache /usr/lib/node_modules/bower/node_modules/mkdirp/package.json
3182 verbose readDependencies using package.json deps
3183 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-json/package.json
3184 verbose readDependencies using package.json deps
3185 silly resolved []
3186 verbose about to build /usr/lib/node_modules/bower/node_modules/mkdirp
3187 info build /usr/lib/node_modules/bower/node_modules/mkdirp
3188 verbose from cache /usr/lib/node_modules/bower/node_modules/mkdirp/package.json
3189 verbose linkStuff [ true,
3189 verbose linkStuff '/usr/lib/node_modules',
3189 verbose linkStuff false,
3189 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
3190 info linkStuff mkdirp@0.3.5
3191 verbose linkBins mkdirp@0.3.5
3192 verbose linkMans mkdirp@0.3.5
3193 verbose rebuildBundles mkdirp@0.3.5
3194 verbose from cache /usr/lib/node_modules/bower/node_modules/tmp/package.json
3195 verbose readDependencies using package.json deps
3196 info install mkdirp@0.3.5
3197 verbose readDependencies using package.json deps
3198 verbose from cache /usr/lib/node_modules/bower/node_modules/tmp/package.json
3199 info preinstall decompress-zip@0.0.7
3200 verbose readDependencies using package.json deps
3201 silly resolved []
3202 verbose about to build /usr/lib/node_modules/bower/node_modules/tmp
3203 info build /usr/lib/node_modules/bower/node_modules/tmp
3204 verbose from cache /usr/lib/node_modules/bower/node_modules/tmp/package.json
3205 verbose linkStuff [ true,
3205 verbose linkStuff '/usr/lib/node_modules',
3205 verbose linkStuff false,
3205 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
3206 info linkStuff tmp@0.0.23
3207 verbose linkBins tmp@0.0.23
3208 verbose linkMans tmp@0.0.23
3209 verbose rebuildBundles tmp@0.0.23
3210 verbose cache add [ 'deep-extend@~0.2.5', null ]
3211 verbose cache add name=undefined spec="deep-extend@~0.2.5" args=["deep-extend@~0.2.5",null]
3212 verbose parsed url { protocol: null,
3212 verbose parsed url slashes: null,
3212 verbose parsed url auth: null,
3212 verbose parsed url host: null,
3212 verbose parsed url port: null,
3212 verbose parsed url hostname: null,
3212 verbose parsed url hash: null,
3212 verbose parsed url search: null,
3212 verbose parsed url query: null,
3212 verbose parsed url pathname: 'deep-extend@~0.2.5',
3212 verbose parsed url path: 'deep-extend@~0.2.5',
3212 verbose parsed url href: 'deep-extend@~0.2.5' }
3213 verbose cache add name="deep-extend" spec="~0.2.5" args=["deep-extend","~0.2.5"]
3214 verbose parsed url { protocol: null,
3214 verbose parsed url slashes: null,
3214 verbose parsed url auth: null,
3214 verbose parsed url host: null,
3214 verbose parsed url port: null,
3214 verbose parsed url hostname: null,
3214 verbose parsed url hash: null,
3214 verbose parsed url search: null,
3214 verbose parsed url query: null,
3214 verbose parsed url pathname: '~0.2.5',
3214 verbose parsed url path: '~0.2.5',
3214 verbose parsed url href: '~0.2.5' }
3215 verbose addNamed [ 'deep-extend', '~0.2.5' ]
3216 verbose addNamed [ null, '>=0.2.5- <0.3.0-' ]
3217 silly lockFile d89fdb6e-deep-extend-0-2-5 deep-extend@~0.2.5
3218 verbose lock deep-extend@~0.2.5 /root/.npm/d89fdb6e-deep-extend-0-2-5.lock
3219 info postinstall mkdirp@0.3.5
3220 info install tmp@0.0.23
3221 silly addNameRange { name: 'deep-extend',
3221 silly addNameRange range: '>=0.2.5- <0.3.0-',
3221 silly addNameRange hasData: false }
3222 verbose cache add [ 'intersect@~0.0.3', null ]
3223 verbose cache add name=undefined spec="intersect@~0.0.3" args=["intersect@~0.0.3",null]
3224 verbose parsed url { protocol: null,
3224 verbose parsed url slashes: null,
3224 verbose parsed url auth: null,
3224 verbose parsed url host: null,
3224 verbose parsed url port: null,
3224 verbose parsed url hostname: null,
3224 verbose parsed url hash: null,
3224 verbose parsed url search: null,
3224 verbose parsed url query: null,
3224 verbose parsed url pathname: 'intersect@~0.0.3',
3224 verbose parsed url path: 'intersect@~0.0.3',
3224 verbose parsed url href: 'intersect@~0.0.3' }
3225 verbose cache add name="intersect" spec="~0.0.3" args=["intersect","~0.0.3"]
3226 verbose parsed url { protocol: null,
3226 verbose parsed url slashes: null,
3226 verbose parsed url auth: null,
3226 verbose parsed url host: null,
3226 verbose parsed url port: null,
3226 verbose parsed url hostname: null,
3226 verbose parsed url hash: null,
3226 verbose parsed url search: null,
3226 verbose parsed url query: null,
3226 verbose parsed url pathname: '~0.0.3',
3226 verbose parsed url path: '~0.0.3',
3226 verbose parsed url href: '~0.0.3' }
3227 verbose addNamed [ 'intersect', '~0.0.3' ]
3228 verbose addNamed [ null, '>=0.0.3- <0.1.0-' ]
3229 silly lockFile 4f86c7cf-intersect-0-0-3 intersect@~0.0.3
3230 verbose lock intersect@~0.0.3 /root/.npm/4f86c7cf-intersect-0-0-3.lock
3231 verbose from cache /usr/lib/node_modules/bower/node_modules/decompress-zip/package.json
3232 silly addNameRange { name: 'intersect', range: '>=0.0.3- <0.1.0-', hasData: false }
3233 verbose readDependencies using package.json deps
3234 verbose from cache /usr/lib/node_modules/bower/node_modules/decompress-zip/package.json
3235 info postinstall tmp@0.0.23
3236 verbose readDependencies using package.json deps
3237 verbose url raw deep-extend
3238 verbose url resolving [ 'https://registry.npmjs.org/', './deep-extend' ]
3239 verbose url resolved https://registry.npmjs.org/deep-extend
3240 info trying registry request attempt 1 at 23:07:49
3241 verbose etag "3NUAYLIHX3SYZSUOZY9VQBTUV"
3242 http GET https://registry.npmjs.org/deep-extend
3243 verbose cache add [ 'mkpath@~0.1.0', null ]
3244 verbose cache add name=undefined spec="mkpath@~0.1.0" args=["mkpath@~0.1.0",null]
3245 verbose parsed url { protocol: null,
3245 verbose parsed url slashes: null,
3245 verbose parsed url auth: null,
3245 verbose parsed url host: null,
3245 verbose parsed url port: null,
3245 verbose parsed url hostname: null,
3245 verbose parsed url hash: null,
3245 verbose parsed url search: null,
3245 verbose parsed url query: null,
3245 verbose parsed url pathname: 'mkpath@~0.1.0',
3245 verbose parsed url path: 'mkpath@~0.1.0',
3245 verbose parsed url href: 'mkpath@~0.1.0' }
3246 verbose cache add name="mkpath" spec="~0.1.0" args=["mkpath","~0.1.0"]
3247 verbose parsed url { protocol: null,
3247 verbose parsed url slashes: null,
3247 verbose parsed url auth: null,
3247 verbose parsed url host: null,
3247 verbose parsed url port: null,
3247 verbose parsed url hostname: null,
3247 verbose parsed url hash: null,
3247 verbose parsed url search: null,
3247 verbose parsed url query: null,
3247 verbose parsed url pathname: '~0.1.0',
3247 verbose parsed url path: '~0.1.0',
3247 verbose parsed url href: '~0.1.0' }
3248 verbose addNamed [ 'mkpath', '~0.1.0' ]
3249 verbose addNamed [ null, '>=0.1.0- <0.2.0-' ]
3250 silly lockFile 3ae958fb-mkpath-0-1-0 mkpath@~0.1.0
3251 verbose lock mkpath@~0.1.0 /root/.npm/3ae958fb-mkpath-0-1-0.lock
3252 verbose url raw intersect
3253 verbose url resolving [ 'https://registry.npmjs.org/', './intersect' ]
3254 verbose url resolved https://registry.npmjs.org/intersect
3255 info trying registry request attempt 1 at 23:07:49
3256 verbose etag "5INY0JE2N5WN8SQB3QT1L04DP"
3257 http GET https://registry.npmjs.org/intersect
3258 silly addNameRange { name: 'mkpath', range: '>=0.1.0- <0.2.0-', hasData: false }
3259 verbose cache add [ 'binary@~0.3.0', null ]
3260 verbose cache add name=undefined spec="binary@~0.3.0" args=["binary@~0.3.0",null]
3261 verbose parsed url { protocol: null,
3261 verbose parsed url slashes: null,
3261 verbose parsed url auth: null,
3261 verbose parsed url host: null,
3261 verbose parsed url port: null,
3261 verbose parsed url hostname: null,
3261 verbose parsed url hash: null,
3261 verbose parsed url search: null,
3261 verbose parsed url query: null,
3261 verbose parsed url pathname: 'binary@~0.3.0',
3261 verbose parsed url path: 'binary@~0.3.0',
3261 verbose parsed url href: 'binary@~0.3.0' }
3262 verbose cache add name="binary" spec="~0.3.0" args=["binary","~0.3.0"]
3263 verbose parsed url { protocol: null,
3263 verbose parsed url slashes: null,
3263 verbose parsed url auth: null,
3263 verbose parsed url host: null,
3263 verbose parsed url port: null,
3263 verbose parsed url hostname: null,
3263 verbose parsed url hash: null,
3263 verbose parsed url search: null,
3263 verbose parsed url query: null,
3263 verbose parsed url pathname: '~0.3.0',
3263 verbose parsed url path: '~0.3.0',
3263 verbose parsed url href: '~0.3.0' }
3264 verbose addNamed [ 'binary', '~0.3.0' ]
3265 verbose addNamed [ null, '>=0.3.0- <0.4.0-' ]
3266 silly lockFile bd38fc46-binary-0-3-0 binary@~0.3.0
3267 verbose lock binary@~0.3.0 /root/.npm/bd38fc46-binary-0-3-0.lock
3268 verbose cache add [ 'touch@0.0.2', null ]
3269 verbose cache add name=undefined spec="touch@0.0.2" args=["touch@0.0.2",null]
3270 verbose parsed url { protocol: null,
3270 verbose parsed url slashes: null,
3270 verbose parsed url auth: null,
3270 verbose parsed url host: null,
3270 verbose parsed url port: null,
3270 verbose parsed url hostname: null,
3270 verbose parsed url hash: null,
3270 verbose parsed url search: null,
3270 verbose parsed url query: null,
3270 verbose parsed url pathname: 'touch@0.0.2',
3270 verbose parsed url path: 'touch@0.0.2',
3270 verbose parsed url href: 'touch@0.0.2' }
3271 verbose cache add name="touch" spec="0.0.2" args=["touch","0.0.2"]
3272 verbose parsed url { protocol: null,
3272 verbose parsed url slashes: null,
3272 verbose parsed url auth: null,
3272 verbose parsed url host: null,
3272 verbose parsed url port: null,
3272 verbose parsed url hostname: null,
3272 verbose parsed url hash: null,
3272 verbose parsed url search: null,
3272 verbose parsed url query: null,
3272 verbose parsed url pathname: '0.0.2',
3272 verbose parsed url path: '0.0.2',
3272 verbose parsed url href: '0.0.2' }
3273 verbose addNamed [ 'touch', '0.0.2' ]
3274 verbose addNamed [ '0.0.2', '0.0.2' ]
3275 silly lockFile 16dda9ec-touch-0-0-2 touch@0.0.2
3276 verbose lock touch@0.0.2 /root/.npm/16dda9ec-touch-0-0-2.lock
3277 verbose cache add [ 'readable-stream@~1.1.8', null ]
3278 verbose cache add name=undefined spec="readable-stream@~1.1.8" args=["readable-stream@~1.1.8",null]
3279 verbose parsed url { protocol: null,
3279 verbose parsed url slashes: null,
3279 verbose parsed url auth: null,
3279 verbose parsed url host: null,
3279 verbose parsed url port: null,
3279 verbose parsed url hostname: null,
3279 verbose parsed url hash: null,
3279 verbose parsed url search: null,
3279 verbose parsed url query: null,
3279 verbose parsed url pathname: 'readable-stream@~1.1.8',
3279 verbose parsed url path: 'readable-stream@~1.1.8',
3279 verbose parsed url href: 'readable-stream@~1.1.8' }
3280 verbose cache add name="readable-stream" spec="~1.1.8" args=["readable-stream","~1.1.8"]
3281 verbose parsed url { protocol: null,
3281 verbose parsed url slashes: null,
3281 verbose parsed url auth: null,
3281 verbose parsed url host: null,
3281 verbose parsed url port: null,
3281 verbose parsed url hostname: null,
3281 verbose parsed url hash: null,
3281 verbose parsed url search: null,
3281 verbose parsed url query: null,
3281 verbose parsed url pathname: '~1.1.8',
3281 verbose parsed url path: '~1.1.8',
3281 verbose parsed url href: '~1.1.8' }
3282 verbose addNamed [ 'readable-stream', '~1.1.8' ]
3283 verbose addNamed [ null, '>=1.1.8- <1.2.0-' ]
3284 silly lockFile 01676020-readable-stream-1-1-8 readable-stream@~1.1.8
3285 verbose lock readable-stream@~1.1.8 /root/.npm/01676020-readable-stream-1-1-8.lock
3286 silly addNameRange { name: 'binary', range: '>=0.3.0- <0.4.0-', hasData: false }
3287 silly addNameRange { name: 'readable-stream',
3287 silly addNameRange range: '>=1.1.8- <1.2.0-',
3287 silly addNameRange hasData: false }
3288 http 304 https://registry.npmjs.org/strip-ansi
3289 silly registry.get cb [ 304,
3289 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
3289 silly registry.get server: 'Apache',
3289 silly registry.get via: '1.1 varnish',
3289 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:31 GMT',
3289 silly registry.get 'cache-control': 'max-age=1',
3289 silly registry.get etag: '"WOJXNPR1MVV9VX6KQE8Z25PH"',
3289 silly registry.get 'x-served-by': 'cache-sn86-SIN',
3289 silly registry.get 'x-cache': 'HIT',
3289 silly registry.get 'x-cache-hits': '1',
3289 silly registry.get 'x-timer': 'S1400857651.170231,VS0,VE235',
3289 silly registry.get vary: 'Accept',
3289 silly registry.get 'content-length': '0',
3289 silly registry.get 'keep-alive': 'timeout=10, max=50',
3289 silly registry.get connection: 'Keep-Alive' } ]
3290 verbose etag strip-ansi from cache
3291 http 304 https://registry.npmjs.org/has-color
3292 silly registry.get cb [ 304,
3292 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
3292 silly registry.get server: 'Apache',
3292 silly registry.get via: '1.1 varnish',
3292 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:31 GMT',
3292 silly registry.get 'cache-control': 'max-age=1',
3292 silly registry.get etag: '"9ET1M9DE6H0H6XWCWO5IDMRTO"',
3292 silly registry.get 'x-served-by': 'cache-sn86-SIN',
3292 silly registry.get 'x-cache': 'HIT',
3292 silly registry.get 'x-cache-hits': '1',
3292 silly registry.get 'x-timer': 'S1400857651.169736,VS0,VE246',
3292 silly registry.get vary: 'Accept',
3292 silly registry.get 'content-length': '0',
3292 silly registry.get 'keep-alive': 'timeout=10, max=50',
3292 silly registry.get connection: 'Keep-Alive' } ]
3293 verbose etag has-color from cache
3294 verbose url raw mkpath
3295 verbose url resolving [ 'https://registry.npmjs.org/', './mkpath' ]
3296 verbose url resolved https://registry.npmjs.org/mkpath
3297 info trying registry request attempt 1 at 23:07:49
3298 verbose etag "9C1KGI3NMVOZQVIMBIFKTPDH7"
3299 http GET https://registry.npmjs.org/mkpath
3300 verbose url raw binary
3301 verbose url resolving [ 'https://registry.npmjs.org/', './binary' ]
3302 verbose url resolved https://registry.npmjs.org/binary
3303 info trying registry request attempt 1 at 23:07:49
3304 verbose etag "24HH9N2I0O9ABCX5KPVESNSY0"
3305 http GET https://registry.npmjs.org/binary
3306 verbose url raw touch/0.0.2
3307 verbose url resolving [ 'https://registry.npmjs.org/', './touch/0.0.2' ]
3308 verbose url resolved https://registry.npmjs.org/touch/0.0.2
3309 info trying registry request attempt 1 at 23:07:49
3310 verbose etag "A3OMAEAXRI67QHKVBBOI55TK7"
3311 http GET https://registry.npmjs.org/touch/0.0.2
3312 verbose url raw readable-stream
3313 verbose url resolving [ 'https://registry.npmjs.org/', './readable-stream' ]
3314 verbose url resolved https://registry.npmjs.org/readable-stream
3315 info trying registry request attempt 1 at 23:07:49
3316 verbose etag "8DMIPBEK31UI812DXL8U8E97H"
3317 http GET https://registry.npmjs.org/readable-stream
3318 http 304 https://registry.npmjs.org/ansi-styles
3319 silly registry.get cb [ 304,
3319 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
3319 silly registry.get server: 'Apache',
3319 silly registry.get via: '1.1 varnish',
3319 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:31 GMT',
3319 silly registry.get 'cache-control': 'max-age=1',
3319 silly registry.get etag: '"2KJP8DJ5XHKZUZ3CIOCAKQ7XS"',
3319 silly registry.get 'x-served-by': 'cache-sn89-SIN',
3319 silly registry.get 'x-cache': 'MISS',
3319 silly registry.get 'x-cache-hits': '0',
3319 silly registry.get 'x-timer': 'S1400857651.177781,VS0,VE242',
3319 silly registry.get vary: 'Accept',
3319 silly registry.get 'content-length': '0',
3319 silly registry.get 'keep-alive': 'timeout=10, max=50',
3319 silly registry.get connection: 'Keep-Alive' } ]
3320 verbose etag ansi-styles from cache
3321 silly addNameRange number 2 { name: 'strip-ansi', range: '>=0.1.0- <0.2.0-', hasData: true }
3322 silly addNameRange versions [ 'strip-ansi', [ '0.1.0', '0.1.1', '0.2.0', '0.2.1' ] ]
3323 verbose addNamed [ 'strip-ansi', '0.1.1' ]
3324 verbose addNamed [ '0.1.1', '0.1.1' ]
3325 silly lockFile ed6fc536-strip-ansi-0-1-1 strip-ansi@0.1.1
3326 verbose lock strip-ansi@0.1.1 /root/.npm/ed6fc536-strip-ansi-0-1-1.lock
3327 silly addNameRange number 2 { name: 'has-color', range: '>=0.1.0- <0.2.0-', hasData: true }
3328 silly addNameRange versions [ 'has-color',
3328 silly addNameRange [ '0.1.0',
3328 silly addNameRange '0.1.1',
3328 silly addNameRange '0.1.2',
3328 silly addNameRange '0.1.3',
3328 silly addNameRange '0.1.4',
3328 silly addNameRange '0.1.5',
3328 silly addNameRange '0.1.6',
3328 silly addNameRange '0.1.7' ] ]
3329 verbose addNamed [ 'has-color', '0.1.7' ]
3330 verbose addNamed [ '0.1.7', '0.1.7' ]
3331 silly lockFile 397aab71-has-color-0-1-7 has-color@0.1.7
3332 verbose lock has-color@0.1.7 /root/.npm/397aab71-has-color-0-1-7.lock
3333 verbose read json /root/.npm/strip-ansi/0.1.1/package/package.json
3334 verbose read json /root/.npm/has-color/0.1.7/package/package.json
3335 silly addNameRange number 2 { name: 'ansi-styles', range: '>=1.0.0- <1.1.0-', hasData: true }
3336 silly addNameRange versions [ 'ansi-styles',
3336 silly addNameRange [ '0.1.0', '0.1.1', '0.1.2', '0.2.0', '1.0.0' ] ]
3337 verbose addNamed [ 'ansi-styles', '1.0.0' ]
3338 verbose addNamed [ '1.0.0', '1.0.0' ]
3339 silly lockFile 92057bb9-ansi-styles-1-0-0 ansi-styles@1.0.0
3340 verbose lock ansi-styles@1.0.0 /root/.npm/92057bb9-ansi-styles-1-0-0.lock
3341 verbose read json /root/.npm/ansi-styles/1.0.0/package/package.json
3342 silly lockFile ed6fc536-strip-ansi-0-1-1 strip-ansi@0.1.1
3343 silly lockFile ed6fc536-strip-ansi-0-1-1 strip-ansi@0.1.1
3344 verbose read json /usr/lib/node_modules/bower/node_modules/q/package.json
3345 silly lockFile 397aab71-has-color-0-1-7 has-color@0.1.7
3346 silly lockFile 397aab71-has-color-0-1-7 has-color@0.1.7
3347 silly lockFile 0cdb0eaa-strip-ansi-0-1-0 strip-ansi@~0.1.0
3348 silly lockFile 0cdb0eaa-strip-ansi-0-1-0 strip-ansi@~0.1.0
3349 verbose read json /usr/lib/node_modules/bower/node_modules/request/package.json
3350 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
3351 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
3352 silly lockFile 92057bb9-ansi-styles-1-0-0 ansi-styles@1.0.0
3353 silly lockFile 92057bb9-ansi-styles-1-0-0 ansi-styles@1.0.0
3354 silly lockFile 82a4f1f6-ansi-styles-1-0-0 ansi-styles@~1.0.0
3355 silly lockFile 82a4f1f6-ansi-styles-1-0-0 ansi-styles@~1.0.0
3356 silly resolved [ { name: 'strip-ansi',
3356 silly resolved version: '0.1.1',
3356 silly resolved description: 'Strip ANSI escape codes (used for colorizing strings in the terminal)',
3356 silly resolved license: 'MIT',
3356 silly resolved bin: { 'strip-ansi': 'cli.js' },
3356 silly resolved repository: { type: 'git', url: 'sindresorhus/strip-ansi' },
3356 silly resolved author:
3356 silly resolved { name: 'Sindre Sorhus',
3356 silly resolved email: 'sindresorhus@gmail.com',
3356 silly resolved url: 'http://sindresorhus.com' },
3356 silly resolved engines: { node: '>=0.8.0' },
3356 silly resolved scripts: { test: 'mocha' },
3356 silly resolved files: [ 'index.js', 'cli.js' ],
3356 silly resolved keywords:
3356 silly resolved [ 'strip',
3356 silly resolved 'trim',
3356 silly resolved 'remove',
3356 silly resolved 'ansi',
3356 silly resolved 'styles',
3356 silly resolved 'color',
3356 silly resolved 'colour',
3356 silly resolved 'colors',
3356 silly resolved 'terminal',
3356 silly resolved 'console',
3356 silly resolved 'cli',
3356 silly resolved 'string',
3356 silly resolved 'tty',
3356 silly resolved 'escape',
3356 silly resolved 'formatting',
3356 silly resolved 'rgb',
3356 silly resolved '256',
3356 silly resolved 'shell',
3356 silly resolved 'xterm',
3356 silly resolved 'log',
3356 silly resolved 'logging',
3356 silly resolved 'command-line',
3356 silly resolved 'text' ],
3356 silly resolved devDependencies: { mocha: '~1.x' },
3356 silly resolved readme: '# strip-ansi [![Build Status](https://secure.travis-ci.org/sindresorhus/strip-ansi.png?branch=master)](http://travis-ci.org/sindresorhus/strip-ansi)\n\n> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) (used for colorizing strings in the terminal)\n\nUsed in the terminal color module [chalk](https://github.com/sindresorhus/chalk).\n\n\n## Install\n\nInstall locally with [npm](https://npmjs.org/package/strip-ansi):\n\n```\nnpm install --save strip-ansi\n```\n\nOr globally if you want to use it as a CLI app:\n\n```\nnpm install --global strip-ansi\n```\n\nYou can then use it in your Terminal like:\n\n```\nstrip-ansi file-with-color-codes\n```\n\nOr pipe something to it:\n\n```\nls | strip-ansi\n```\n\n\n## Example\n\n```js\nvar stripAnsi = require(\'strip-ansi\');\nstripAnsi(\'\\x1b[4mcake\\x1b[0m\');\n//=> cake\n```\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n',
3356 silly resolved readmeFilename: 'readme.md',
3356 silly resolved _id: 'strip-ansi@0.1.1',
3356 silly resolved _from: 'strip-ansi@~0.1.0' },
3356 silly resolved { name: 'has-color',
3356 silly resolved version: '0.1.7',
3356 silly resolved description: 'Detect whether a terminal supports color',
3356 silly resolved license: 'MIT',
3356 silly resolved repository: { type: 'git', url: 'sindresorhus/has-color' },
3356 silly resolved author:
3356 silly resolved { name: 'Sindre Sorhus',
3356 silly resolved email: 'sindresorhus@gmail.com',
3356 silly resolved url: 'http://sindresorhus.com' },
3356 silly resolved engines: { node: '>=0.10.0' },
3356 silly resolved scripts: { test: 'mocha' },
3356 silly resolved files: [ 'index.js' ],
3356 silly resolved keywords:
3356 silly resolved [ 'color',
3356 silly resolved 'colour',
3356 silly resolved 'colors',
3356 silly resolved 'terminal',
3356 silly resolved 'console',
3356 silly resolved 'cli',
3356 silly resolved 'ansi',
3356 silly resolved 'styles',
3356 silly resolved 'tty',
3356 silly resolved 'rgb',
3356 silly resolved '256',
3356 silly resolved 'shell',
3356 silly resolved 'xterm',
3356 silly resolved 'command-line',
3356 silly resolved 'support',
3356 silly resolved 'capability',
3356 silly resolved 'detect' ],
3356 silly resolved devDependencies: { mocha: '*' },
3356 silly resolved readme: '# has-color [![Build Status](https://travis-ci.org/sindresorhus/has-color.svg?branch=master)](https://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\nUsed in the terminal color module [chalk](https://github.com/sindresorhus/chalk).\n\n\n## Install\n\n```bash\n$ npm install --save has-color\n```\n\n\n## Usage\n\n```js\nvar hasColor = require(\'has-color\');\n\nif (hasColor) {\n\tconsole.log(\'Terminal supports color.\');\n}\n```\n\nIt obeys the `--color` and `--no-color` CLI flags.\n\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT) © [Sindre Sorhus](http://sindresorhus.com)\n',
3356 silly resolved readmeFilename: 'readme.md',
3356 silly resolved _id: 'has-color@0.1.7',
3356 silly resolved _from: 'has-color@~0.1.0' },
3356 silly resolved { name: 'ansi-styles',
3356 silly resolved version: '1.0.0',
3356 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
3356 silly resolved keywords:
3356 silly resolved [ 'ansi',
3356 silly resolved 'styles',
3356 silly resolved 'color',
3356 silly resolved 'colour',
3356 silly resolved 'colors',
3356 silly resolved 'terminal',
3356 silly resolved 'console',
3356 silly resolved 'cli',
3356 silly resolved 'string',
3356 silly resolved 'tty',
3356 silly resolved 'escape',
3356 silly resolved 'formatting',
3356 silly resolved 'rgb',
3356 silly resolved '256',
3356 silly resolved 'shell',
3356 silly resolved 'xterm',
3356 silly resolved 'log',
3356 silly resolved 'logging',
3356 silly resolved 'command-line',
3356 silly resolved 'text' ],
3356 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
3356 silly resolved bugs: 'https://github.com/sindresorhus/ansi-styles/issues',
3356 silly resolved license: 'MIT',
3356 silly resolved author:
3356 silly resolved { name: 'Sindre Sorhus',
3356 silly resolved email: 'sindresorhus@gmail.com',
3356 silly resolved url: 'http://sindresorhus.com' },
3356 silly resolved files: [ 'ansi-styles.js' ],
3356 silly resolved main: 'ansi-styles',
3356 silly resolved repository:
3356 silly resolved { type: 'git',
3356 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
3356 silly resolved scripts: { test: 'mocha' },
3356 silly resolved devDependencies: { mocha: '~1.12.0' },
3356 silly resolved engines: { node: '>=0.8.0' },
3356 silly resolved readme: '# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require(\'ansi-styles\');\n\nconsole.log(ansi.green.open + \'Hello world!\' + ansi.green.close);\n```\n\n## API\n\nEach style has an `open` and `close` property.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n',
3356 silly resolved readmeFilename: 'readme.md',
3356 silly resolved _id: 'ansi-styles@1.0.0',
3356 silly resolved _from: 'ansi-styles@~1.0.0' } ]
3357 info install strip-ansi@0.1.1 into /usr/lib/node_modules/bower/node_modules/chalk
3358 info install has-color@0.1.7 into /usr/lib/node_modules/bower/node_modules/chalk
3359 info install ansi-styles@1.0.0 into /usr/lib/node_modules/bower/node_modules/chalk
3360 info installOne strip-ansi@0.1.1
3361 info installOne has-color@0.1.7
3362 info installOne ansi-styles@1.0.0
3363 verbose from cache /root/.npm/strip-ansi/0.1.1/package/package.json
3364 info /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi unbuild
3365 verbose read json /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi/package.json
3366 verbose from cache /root/.npm/has-color/0.1.7/package/package.json
3367 info /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color unbuild
3368 verbose read json /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color/package.json
3369 verbose from cache /root/.npm/ansi-styles/1.0.0/package/package.json
3370 info /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles unbuild
3371 verbose read json /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles/package.json
3372 silly lockFile 060a45e7-ode-modules-bower-node-modules-q /usr/lib/node_modules/bower/node_modules/q
3373 silly lockFile 060a45e7-ode-modules-bower-node-modules-q /usr/lib/node_modules/bower/node_modules/q
3374 verbose tar unpack /root/.npm/strip-ansi/0.1.1/package.tgz
3375 silly lockFile 0f3fcbf7-es-chalk-node-modules-strip-ansi /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi
3376 verbose lock /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi /root/.npm/0f3fcbf7-es-chalk-node-modules-strip-ansi.lock
3377 silly lockFile e0a09885-npm-strip-ansi-0-1-1-package-tgz /root/.npm/strip-ansi/0.1.1/package.tgz
3378 verbose lock /root/.npm/strip-ansi/0.1.1/package.tgz /root/.npm/e0a09885-npm-strip-ansi-0-1-1-package-tgz.lock
3379 verbose tar unpack /root/.npm/has-color/0.1.7/package.tgz
3380 silly lockFile ba7a6c8d-les-chalk-node-modules-has-color /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color
3381 verbose lock /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color /root/.npm/ba7a6c8d-les-chalk-node-modules-has-color.lock
3382 silly lockFile d447afe3--npm-has-color-0-1-7-package-tgz /root/.npm/has-color/0.1.7/package.tgz
3383 verbose lock /root/.npm/has-color/0.1.7/package.tgz /root/.npm/d447afe3--npm-has-color-0-1-7-package-tgz.lock
3384 verbose tar unpack /root/.npm/ansi-styles/1.0.0/package.tgz
3385 silly lockFile bc6645f8-s-chalk-node-modules-ansi-styles /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles
3386 verbose lock /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles /root/.npm/bc6645f8-s-chalk-node-modules-ansi-styles.lock
3387 silly lockFile 6fe2e3aa-pm-ansi-styles-1-0-0-package-tgz /root/.npm/ansi-styles/1.0.0/package.tgz
3388 verbose lock /root/.npm/ansi-styles/1.0.0/package.tgz /root/.npm/6fe2e3aa-pm-ansi-styles-1-0-0-package-tgz.lock
3389 silly lockFile e9a6c90b-root-npm-q-1-0-1-package-tgz /root/.npm/q/1.0.1/package.tgz
3390 silly lockFile e9a6c90b-root-npm-q-1-0-1-package-tgz /root/.npm/q/1.0.1/package.tgz
3391 silly lockFile 087a35e9-dules-bower-node-modules-request /usr/lib/node_modules/bower/node_modules/request
3392 silly lockFile 087a35e9-dules-bower-node-modules-request /usr/lib/node_modules/bower/node_modules/request
3393 silly gunzTarPerm modes [ '755', '644' ]
3394 silly gunzTarPerm modes [ '755', '644' ]
3395 silly gunzTarPerm modes [ '755', '644' ]
3396 silly lockFile 5de9d37a-t-npm-request-2-34-0-package-tgz /root/.npm/request/2.34.0/package.tgz
3397 silly lockFile 5de9d37a-t-npm-request-2-34-0-package-tgz /root/.npm/request/2.34.0/package.tgz
3398 info preinstall q@1.0.1
3399 silly gunzTarPerm extractEntry package.json
3400 verbose from cache /usr/lib/node_modules/bower/node_modules/q/package.json
3401 info preinstall request@2.34.0
3402 silly gunzTarPerm extractEntry package.json
3403 silly gunzTarPerm extractEntry package.json
3404 verbose readDependencies using package.json deps
3405 verbose from cache /usr/lib/node_modules/bower/node_modules/q/package.json
3406 verbose readDependencies using package.json deps
3407 silly resolved []
3408 verbose about to build /usr/lib/node_modules/bower/node_modules/q
3409 info build /usr/lib/node_modules/bower/node_modules/q
3410 verbose from cache /usr/lib/node_modules/bower/node_modules/q/package.json
3411 verbose linkStuff [ true,
3411 verbose linkStuff '/usr/lib/node_modules',
3411 verbose linkStuff false,
3411 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
3412 info linkStuff q@1.0.1
3413 verbose linkBins q@1.0.1
3414 verbose linkMans q@1.0.1
3415 verbose rebuildBundles q@1.0.1
3416 verbose from cache /usr/lib/node_modules/bower/node_modules/request/package.json
3417 info install q@1.0.1
3418 verbose readDependencies using package.json deps
3419 verbose from cache /usr/lib/node_modules/bower/node_modules/request/package.json
3420 silly gunzTarPerm extractEntry cli.js
3421 silly gunzTarPerm extractEntry index.js
3422 verbose readDependencies using package.json deps
3423 silly gunzTarPerm extractEntry index.js
3424 silly gunzTarPerm extractEntry readme.md
3425 silly gunzTarPerm extractEntry ansi-styles.js
3426 silly gunzTarPerm extractEntry readme.md
3427 info postinstall q@1.0.1
3428 verbose cache add [ 'forever-agent@~0.5.0', null ]
3429 verbose cache add name=undefined spec="forever-agent@~0.5.0" args=["forever-agent@~0.5.0",null]
3430 verbose parsed url { protocol: null,
3430 verbose parsed url slashes: null,
3430 verbose parsed url auth: null,
3430 verbose parsed url host: null,
3430 verbose parsed url port: null,
3430 verbose parsed url hostname: null,
3430 verbose parsed url hash: null,
3430 verbose parsed url search: null,
3430 verbose parsed url query: null,
3430 verbose parsed url pathname: 'forever-agent@~0.5.0',
3430 verbose parsed url path: 'forever-agent@~0.5.0',
3430 verbose parsed url href: 'forever-agent@~0.5.0' }
3431 verbose cache add name="forever-agent" spec="~0.5.0" args=["forever-agent","~0.5.0"]
3432 verbose parsed url { protocol: null,
3432 verbose parsed url slashes: null,
3432 verbose parsed url auth: null,
3432 verbose parsed url host: null,
3432 verbose parsed url port: null,
3432 verbose parsed url hostname: null,
3432 verbose parsed url hash: null,
3432 verbose parsed url search: null,
3432 verbose parsed url query: null,
3432 verbose parsed url pathname: '~0.5.0',
3432 verbose parsed url path: '~0.5.0',
3432 verbose parsed url href: '~0.5.0' }
3433 verbose addNamed [ 'forever-agent', '~0.5.0' ]
3434 verbose addNamed [ null, '>=0.5.0- <0.6.0-' ]
3435 silly lockFile fa463915-forever-agent-0-5-0 forever-agent@~0.5.0
3436 verbose lock forever-agent@~0.5.0 /root/.npm/fa463915-forever-agent-0-5-0.lock
3437 silly addNameRange { name: 'forever-agent',
3437 silly addNameRange range: '>=0.5.0- <0.6.0-',
3437 silly addNameRange hasData: false }
3438 verbose cache add [ 'tough-cookie@>=0.12.0', null ]
3439 verbose cache add name=undefined spec="tough-cookie@>=0.12.0" args=["tough-cookie@>=0.12.0",null]
3440 verbose parsed url { protocol: null,
3440 verbose parsed url slashes: null,
3440 verbose parsed url auth: null,
3440 verbose parsed url host: null,
3440 verbose parsed url port: null,
3440 verbose parsed url hostname: null,
3440 verbose parsed url hash: null,
3440 verbose parsed url search: null,
3440 verbose parsed url query: null,
3440 verbose parsed url pathname: 'tough-cookie@%3E=0.12.0',
3440 verbose parsed url path: 'tough-cookie@%3E=0.12.0',
3440 verbose parsed url href: 'tough-cookie@%3E=0.12.0' }
3441 verbose cache add name="tough-cookie" spec=">=0.12.0" args=["tough-cookie",">=0.12.0"]
3442 verbose parsed url { protocol: null,
3442 verbose parsed url slashes: null,
3442 verbose parsed url auth: null,
3442 verbose parsed url host: null,
3442 verbose parsed url port: null,
3442 verbose parsed url hostname: null,
3442 verbose parsed url hash: null,
3442 verbose parsed url search: null,
3442 verbose parsed url query: null,
3442 verbose parsed url pathname: '%3E=0.12.0',
3442 verbose parsed url path: '%3E=0.12.0',
3442 verbose parsed url href: '%3E=0.12.0' }
3443 verbose addNamed [ 'tough-cookie', '>=0.12.0' ]
3444 verbose addNamed [ null, '>=0.12.0' ]
3445 silly lockFile 66c18ba7-tough-cookie-0-12-0 tough-cookie@>=0.12.0
3446 verbose lock tough-cookie@>=0.12.0 /root/.npm/66c18ba7-tough-cookie-0-12-0.lock
3447 verbose cache add [ 'node-uuid@~1.4.0', null ]
3448 verbose cache add name=undefined spec="node-uuid@~1.4.0" args=["node-uuid@~1.4.0",null]
3449 verbose parsed url { protocol: null,
3449 verbose parsed url slashes: null,
3449 verbose parsed url auth: null,
3449 verbose parsed url host: null,
3449 verbose parsed url port: null,
3449 verbose parsed url hostname: null,
3449 verbose parsed url hash: null,
3449 verbose parsed url search: null,
3449 verbose parsed url query: null,
3449 verbose parsed url pathname: 'node-uuid@~1.4.0',
3449 verbose parsed url path: 'node-uuid@~1.4.0',
3449 verbose parsed url href: 'node-uuid@~1.4.0' }
3450 verbose cache add name="node-uuid" spec="~1.4.0" args=["node-uuid","~1.4.0"]
3451 verbose parsed url { protocol: null,
3451 verbose parsed url slashes: null,
3451 verbose parsed url auth: null,
3451 verbose parsed url host: null,
3451 verbose parsed url port: null,
3451 verbose parsed url hostname: null,
3451 verbose parsed url hash: null,
3451 verbose parsed url search: null,
3451 verbose parsed url query: null,
3451 verbose parsed url pathname: '~1.4.0',
3451 verbose parsed url path: '~1.4.0',
3451 verbose parsed url href: '~1.4.0' }
3452 verbose addNamed [ 'node-uuid', '~1.4.0' ]
3453 verbose addNamed [ null, '>=1.4.0- <1.5.0-' ]
3454 silly lockFile f662725f-node-uuid-1-4-0 node-uuid@~1.4.0
3455 verbose lock node-uuid@~1.4.0 /root/.npm/f662725f-node-uuid-1-4-0.lock
3456 verbose cache add [ 'form-data@~0.1.0', null ]
3457 verbose cache add name=undefined spec="form-data@~0.1.0" args=["form-data@~0.1.0",null]
3458 verbose parsed url { protocol: null,
3458 verbose parsed url slashes: null,
3458 verbose parsed url auth: null,
3458 verbose parsed url host: null,
3458 verbose parsed url port: null,
3458 verbose parsed url hostname: null,
3458 verbose parsed url hash: null,
3458 verbose parsed url search: null,
3458 verbose parsed url query: null,
3458 verbose parsed url pathname: 'form-data@~0.1.0',
3458 verbose parsed url path: 'form-data@~0.1.0',
3458 verbose parsed url href: 'form-data@~0.1.0' }
3459 verbose cache add name="form-data" spec="~0.1.0" args=["form-data","~0.1.0"]
3460 verbose parsed url { protocol: null,
3460 verbose parsed url slashes: null,
3460 verbose parsed url auth: null,
3460 verbose parsed url host: null,
3460 verbose parsed url port: null,
3460 verbose parsed url hostname: null,
3460 verbose parsed url hash: null,
3460 verbose parsed url search: null,
3460 verbose parsed url query: null,
3460 verbose parsed url pathname: '~0.1.0',
3460 verbose parsed url path: '~0.1.0',
3460 verbose parsed url href: '~0.1.0' }
3461 verbose addNamed [ 'form-data', '~0.1.0' ]
3462 verbose addNamed [ null, '>=0.1.0- <0.2.0-' ]
3463 silly lockFile 26aa13f4-form-data-0-1-0 form-data@~0.1.0
3464 verbose lock form-data@~0.1.0 /root/.npm/26aa13f4-form-data-0-1-0.lock
3465 verbose cache add [ 'mime@~1.2.9', null ]
3466 verbose cache add name=undefined spec="mime@~1.2.9" args=["mime@~1.2.9",null]
3467 verbose parsed url { protocol: null,
3467 verbose parsed url slashes: null,
3467 verbose parsed url auth: null,
3467 verbose parsed url host: null,
3467 verbose parsed url port: null,
3467 verbose parsed url hostname: null,
3467 verbose parsed url hash: null,
3467 verbose parsed url search: null,
3467 verbose parsed url query: null,
3467 verbose parsed url pathname: 'mime@~1.2.9',
3467 verbose parsed url path: 'mime@~1.2.9',
3467 verbose parsed url href: 'mime@~1.2.9' }
3468 verbose cache add name="mime" spec="~1.2.9" args=["mime","~1.2.9"]
3469 verbose parsed url { protocol: null,
3469 verbose parsed url slashes: null,
3469 verbose parsed url auth: null,
3469 verbose parsed url host: null,
3469 verbose parsed url port: null,
3469 verbose parsed url hostname: null,
3469 verbose parsed url hash: null,
3469 verbose parsed url search: null,
3469 verbose parsed url query: null,
3469 verbose parsed url pathname: '~1.2.9',
3469 verbose parsed url path: '~1.2.9',
3469 verbose parsed url href: '~1.2.9' }
3470 verbose addNamed [ 'mime', '~1.2.9' ]
3471 verbose addNamed [ null, '>=1.2.9- <1.3.0-' ]
3472 silly lockFile ccf24a67-mime-1-2-9 mime@~1.2.9
3473 verbose lock mime@~1.2.9 /root/.npm/ccf24a67-mime-1-2-9.lock
3474 verbose cache add [ 'tunnel-agent@~0.3.0', null ]
3475 verbose cache add name=undefined spec="tunnel-agent@~0.3.0" args=["tunnel-agent@~0.3.0",null]
3476 verbose parsed url { protocol: null,
3476 verbose parsed url slashes: null,
3476 verbose parsed url auth: null,
3476 verbose parsed url host: null,
3476 verbose parsed url port: null,
3476 verbose parsed url hostname: null,
3476 verbose parsed url hash: null,
3476 verbose parsed url search: null,
3476 verbose parsed url query: null,
3476 verbose parsed url pathname: 'tunnel-agent@~0.3.0',
3476 verbose parsed url path: 'tunnel-agent@~0.3.0',
3476 verbose parsed url href: 'tunnel-agent@~0.3.0' }
3477 verbose cache add name="tunnel-agent" spec="~0.3.0" args=["tunnel-agent","~0.3.0"]
3478 verbose parsed url { protocol: null,
3478 verbose parsed url slashes: null,
3478 verbose parsed url auth: null,
3478 verbose parsed url host: null,
3478 verbose parsed url port: null,
3478 verbose parsed url hostname: null,
3478 verbose parsed url hash: null,
3478 verbose parsed url search: null,
3478 verbose parsed url query: null,
3478 verbose parsed url pathname: '~0.3.0',
3478 verbose parsed url path: '~0.3.0',
3478 verbose parsed url href: '~0.3.0' }
3479 verbose addNamed [ 'tunnel-agent', '~0.3.0' ]
3480 verbose addNamed [ null, '>=0.3.0- <0.4.0-' ]
3481 silly lockFile e5681eda-tunnel-agent-0-3-0 tunnel-agent@~0.3.0
3482 verbose lock tunnel-agent@~0.3.0 /root/.npm/e5681eda-tunnel-agent-0-3-0.lock
3483 verbose cache add [ 'http-signature@~0.10.0', null ]
3484 verbose cache add name=undefined spec="http-signature@~0.10.0" args=["http-signature@~0.10.0",null]
3485 verbose parsed url { protocol: null,
3485 verbose parsed url slashes: null,
3485 verbose parsed url auth: null,
3485 verbose parsed url host: null,
3485 verbose parsed url port: null,
3485 verbose parsed url hostname: null,
3485 verbose parsed url hash: null,
3485 verbose parsed url search: null,
3485 verbose parsed url query: null,
3485 verbose parsed url pathname: 'http-signature@~0.10.0',
3485 verbose parsed url path: 'http-signature@~0.10.0',
3485 verbose parsed url href: 'http-signature@~0.10.0' }
3486 verbose cache add name="http-signature" spec="~0.10.0" args=["http-signature","~0.10.0"]
3487 verbose parsed url { protocol: null,
3487 verbose parsed url slashes: null,
3487 verbose parsed url auth: null,
3487 verbose parsed url host: null,
3487 verbose parsed url port: null,
3487 verbose parsed url hostname: null,
3487 verbose parsed url hash: null,
3487 verbose parsed url search: null,
3487 verbose parsed url query: null,
3487 verbose parsed url pathname: '~0.10.0',
3487 verbose parsed url path: '~0.10.0',
3487 verbose parsed url href: '~0.10.0' }
3488 verbose addNamed [ 'http-signature', '~0.10.0' ]
3489 verbose addNamed [ null, '>=0.10.0- <0.11.0-' ]
3490 silly lockFile 8170f292-http-signature-0-10-0 http-signature@~0.10.0
3491 verbose lock http-signature@~0.10.0 /root/.npm/8170f292-http-signature-0-10-0.lock
3492 silly addNameRange { name: 'tough-cookie', range: '>=0.12.0', hasData: false }
3493 silly addNameRange { name: 'node-uuid', range: '>=1.4.0- <1.5.0-', hasData: false }
3494 silly addNameRange { name: 'form-data', range: '>=0.1.0- <0.2.0-', hasData: false }
3495 silly addNameRange { name: 'mime', range: '>=1.2.9- <1.3.0-', hasData: false }
3496 silly addNameRange { name: 'tunnel-agent',
3496 silly addNameRange range: '>=0.3.0- <0.4.0-',
3496 silly addNameRange hasData: false }
3497 silly addNameRange { name: 'http-signature',
3497 silly addNameRange range: '>=0.10.0- <0.11.0-',
3497 silly addNameRange hasData: false }
3498 verbose cache add [ 'oauth-sign@~0.3.0', null ]
3499 verbose cache add name=undefined spec="oauth-sign@~0.3.0" args=["oauth-sign@~0.3.0",null]
3500 verbose parsed url { protocol: null,
3500 verbose parsed url slashes: null,
3500 verbose parsed url auth: null,
3500 verbose parsed url host: null,
3500 verbose parsed url port: null,
3500 verbose parsed url hostname: null,
3500 verbose parsed url hash: null,
3500 verbose parsed url search: null,
3500 verbose parsed url query: null,
3500 verbose parsed url pathname: 'oauth-sign@~0.3.0',
3500 verbose parsed url path: 'oauth-sign@~0.3.0',
3500 verbose parsed url href: 'oauth-sign@~0.3.0' }
3501 verbose cache add name="oauth-sign" spec="~0.3.0" args=["oauth-sign","~0.3.0"]
3502 verbose parsed url { protocol: null,
3502 verbose parsed url slashes: null,
3502 verbose parsed url auth: null,
3502 verbose parsed url host: null,
3502 verbose parsed url port: null,
3502 verbose parsed url hostname: null,
3502 verbose parsed url hash: null,
3502 verbose parsed url search: null,
3502 verbose parsed url query: null,
3502 verbose parsed url pathname: '~0.3.0',
3502 verbose parsed url path: '~0.3.0',
3502 verbose parsed url href: '~0.3.0' }
3503 verbose addNamed [ 'oauth-sign', '~0.3.0' ]
3504 verbose addNamed [ null, '>=0.3.0- <0.4.0-' ]
3505 silly lockFile 7fb5c7f1-oauth-sign-0-3-0 oauth-sign@~0.3.0
3506 verbose lock oauth-sign@~0.3.0 /root/.npm/7fb5c7f1-oauth-sign-0-3-0.lock
3507 verbose cache add [ 'hawk@~1.0.0', null ]
3508 verbose cache add name=undefined spec="hawk@~1.0.0" args=["hawk@~1.0.0",null]
3509 verbose parsed url { protocol: null,
3509 verbose parsed url slashes: null,
3509 verbose parsed url auth: null,
3509 verbose parsed url host: null,
3509 verbose parsed url port: null,
3509 verbose parsed url hostname: null,
3509 verbose parsed url hash: null,
3509 verbose parsed url search: null,
3509 verbose parsed url query: null,
3509 verbose parsed url pathname: 'hawk@~1.0.0',
3509 verbose parsed url path: 'hawk@~1.0.0',
3509 verbose parsed url href: 'hawk@~1.0.0' }
3510 verbose cache add name="hawk" spec="~1.0.0" args=["hawk","~1.0.0"]
3511 verbose parsed url { protocol: null,
3511 verbose parsed url slashes: null,
3511 verbose parsed url auth: null,
3511 verbose parsed url host: null,
3511 verbose parsed url port: null,
3511 verbose parsed url hostname: null,
3511 verbose parsed url hash: null,
3511 verbose parsed url search: null,
3511 verbose parsed url query: null,
3511 verbose parsed url pathname: '~1.0.0',
3511 verbose parsed url path: '~1.0.0',
3511 verbose parsed url href: '~1.0.0' }
3512 verbose addNamed [ 'hawk', '~1.0.0' ]
3513 verbose addNamed [ null, '>=1.0.0- <1.1.0-' ]
3514 silly lockFile 327094b8-hawk-1-0-0 hawk@~1.0.0
3515 verbose lock hawk@~1.0.0 /root/.npm/327094b8-hawk-1-0-0.lock
3516 verbose cache add [ 'aws-sign2@~0.5.0', null ]
3517 verbose cache add name=undefined spec="aws-sign2@~0.5.0" args=["aws-sign2@~0.5.0",null]
3518 verbose parsed url { protocol: null,
3518 verbose parsed url slashes: null,
3518 verbose parsed url auth: null,
3518 verbose parsed url host: null,
3518 verbose parsed url port: null,
3518 verbose parsed url hostname: null,
3518 verbose parsed url hash: null,
3518 verbose parsed url search: null,
3518 verbose parsed url query: null,
3518 verbose parsed url pathname: 'aws-sign2@~0.5.0',
3518 verbose parsed url path: 'aws-sign2@~0.5.0',
3518 verbose parsed url href: 'aws-sign2@~0.5.0' }
3519 verbose cache add name="aws-sign2" spec="~0.5.0" args=["aws-sign2","~0.5.0"]
3520 verbose parsed url { protocol: null,
3520 verbose parsed url slashes: null,
3520 verbose parsed url auth: null,
3520 verbose parsed url host: null,
3520 verbose parsed url port: null,
3520 verbose parsed url hostname: null,
3520 verbose parsed url hash: null,
3520 verbose parsed url search: null,
3520 verbose parsed url query: null,
3520 verbose parsed url pathname: '~0.5.0',
3520 verbose parsed url path: '~0.5.0',
3520 verbose parsed url href: '~0.5.0' }
3521 verbose addNamed [ 'aws-sign2', '~0.5.0' ]
3522 verbose addNamed [ null, '>=0.5.0- <0.6.0-' ]
3523 silly lockFile 82387911-aws-sign2-0-5-0 aws-sign2@~0.5.0
3524 verbose lock aws-sign2@~0.5.0 /root/.npm/82387911-aws-sign2-0-5-0.lock
3525 verbose cache add [ 'qs@~0.6.0', null ]
3526 verbose cache add name=undefined spec="qs@~0.6.0" args=["qs@~0.6.0",null]
3527 verbose parsed url { protocol: null,
3527 verbose parsed url slashes: null,
3527 verbose parsed url auth: null,
3527 verbose parsed url host: null,
3527 verbose parsed url port: null,
3527 verbose parsed url hostname: null,
3527 verbose parsed url hash: null,
3527 verbose parsed url search: null,
3527 verbose parsed url query: null,
3527 verbose parsed url pathname: 'qs@~0.6.0',
3527 verbose parsed url path: 'qs@~0.6.0',
3527 verbose parsed url href: 'qs@~0.6.0' }
3528 verbose cache add name="qs" spec="~0.6.0" args=["qs","~0.6.0"]
3529 verbose parsed url { protocol: null,
3529 verbose parsed url slashes: null,
3529 verbose parsed url auth: null,
3529 verbose parsed url host: null,
3529 verbose parsed url port: null,
3529 verbose parsed url hostname: null,
3529 verbose parsed url hash: null,
3529 verbose parsed url search: null,
3529 verbose parsed url query: null,
3529 verbose parsed url pathname: '~0.6.0',
3529 verbose parsed url path: '~0.6.0',
3529 verbose parsed url href: '~0.6.0' }
3530 verbose addNamed [ 'qs', '~0.6.0' ]
3531 verbose addNamed [ null, '>=0.6.0- <0.7.0-' ]
3532 silly lockFile 222bee9e-qs-0-6-0 qs@~0.6.0
3533 verbose lock qs@~0.6.0 /root/.npm/222bee9e-qs-0-6-0.lock
3534 verbose cache add [ 'json-stringify-safe@~5.0.0', null ]
3535 verbose cache add name=undefined spec="json-stringify-safe@~5.0.0" args=["json-stringify-safe@~5.0.0",null]
3536 verbose parsed url { protocol: null,
3536 verbose parsed url slashes: null,
3536 verbose parsed url auth: null,
3536 verbose parsed url host: null,
3536 verbose parsed url port: null,
3536 verbose parsed url hostname: null,
3536 verbose parsed url hash: null,
3536 verbose parsed url search: null,
3536 verbose parsed url query: null,
3536 verbose parsed url pathname: 'json-stringify-safe@~5.0.0',
3536 verbose parsed url path: 'json-stringify-safe@~5.0.0',
3536 verbose parsed url href: 'json-stringify-safe@~5.0.0' }
3537 verbose cache add name="json-stringify-safe" spec="~5.0.0" args=["json-stringify-safe","~5.0.0"]
3538 verbose parsed url { protocol: null,
3538 verbose parsed url slashes: null,
3538 verbose parsed url auth: null,
3538 verbose parsed url host: null,
3538 verbose parsed url port: null,
3538 verbose parsed url hostname: null,
3538 verbose parsed url hash: null,
3538 verbose parsed url search: null,
3538 verbose parsed url query: null,
3538 verbose parsed url pathname: '~5.0.0',
3538 verbose parsed url path: '~5.0.0',
3538 verbose parsed url href: '~5.0.0' }
3539 verbose addNamed [ 'json-stringify-safe', '~5.0.0' ]
3540 verbose addNamed [ null, '>=5.0.0- <5.1.0-' ]
3541 silly lockFile 063b1a01-json-stringify-safe-5-0-0 json-stringify-safe@~5.0.0
3542 verbose lock json-stringify-safe@~5.0.0 /root/.npm/063b1a01-json-stringify-safe-5-0-0.lock
3543 silly addNameRange { name: 'oauth-sign', range: '>=0.3.0- <0.4.0-', hasData: false }
3544 silly addNameRange { name: 'hawk', range: '>=1.0.0- <1.1.0-', hasData: false }
3545 silly addNameRange { name: 'aws-sign2', range: '>=0.5.0- <0.6.0-', hasData: false }
3546 silly addNameRange { name: 'qs', range: '>=0.6.0- <0.7.0-', hasData: false }
3547 silly addNameRange { name: 'json-stringify-safe',
3547 silly addNameRange range: '>=5.0.0- <5.1.0-',
3547 silly addNameRange hasData: false }
3548 verbose url raw forever-agent
3549 verbose url resolving [ 'https://registry.npmjs.org/', './forever-agent' ]
3550 verbose url resolved https://registry.npmjs.org/forever-agent
3551 info trying registry request attempt 1 at 23:07:49
3552 verbose etag "CYWZJILR3M157HRX9R094YZJP"
3553 http GET https://registry.npmjs.org/forever-agent
3554 silly gunzTarPerm extractEntry readme.md
3555 verbose url raw tough-cookie
3556 verbose url resolving [ 'https://registry.npmjs.org/', './tough-cookie' ]
3557 verbose url resolved https://registry.npmjs.org/tough-cookie
3558 info trying registry request attempt 1 at 23:07:49
3559 verbose etag "1UPI10TCWUXXCJDOICISVEFTA"
3560 http GET https://registry.npmjs.org/tough-cookie
3561 verbose url raw node-uuid
3562 verbose url resolving [ 'https://registry.npmjs.org/', './node-uuid' ]
3563 verbose url resolved https://registry.npmjs.org/node-uuid
3564 info trying registry request attempt 1 at 23:07:49
3565 verbose etag "7FABT1YUUDOA196UGVS9RARBL"
3566 http GET https://registry.npmjs.org/node-uuid
3567 verbose url raw form-data
3568 verbose url resolving [ 'https://registry.npmjs.org/', './form-data' ]
3569 verbose url resolved https://registry.npmjs.org/form-data
3570 info trying registry request attempt 1 at 23:07:49
3571 verbose etag "3OUFC5JBY0Q2KL9S3SQQ28XMM"
3572 http GET https://registry.npmjs.org/form-data
3573 verbose url raw mime
3574 verbose url resolving [ 'https://registry.npmjs.org/', './mime' ]
3575 verbose url resolved https://registry.npmjs.org/mime
3576 info trying registry request attempt 1 at 23:07:49
3577 verbose etag "BF4QWVYBI6CRTT3Y28SPZF3TN"
3578 http GET https://registry.npmjs.org/mime
3579 verbose url raw tunnel-agent
3580 verbose url resolving [ 'https://registry.npmjs.org/', './tunnel-agent' ]
3581 verbose url resolved https://registry.npmjs.org/tunnel-agent
3582 info trying registry request attempt 1 at 23:07:49
3583 verbose etag "4XEKZRB2KFYOS7X2FPWBM4UTK"
3584 http GET https://registry.npmjs.org/tunnel-agent
3585 verbose url raw http-signature
3586 verbose url resolving [ 'https://registry.npmjs.org/', './http-signature' ]
3587 verbose url resolved https://registry.npmjs.org/http-signature
3588 info trying registry request attempt 1 at 23:07:49
3589 verbose etag "6ZB1ETGRW1IRSY4JIA0Y1E3B2"
3590 http GET https://registry.npmjs.org/http-signature
3591 verbose read json /usr/lib/node_modules/bower/node_modules/inquirer/package.json
3592 verbose url raw oauth-sign
3593 verbose url resolving [ 'https://registry.npmjs.org/', './oauth-sign' ]
3594 verbose url resolved https://registry.npmjs.org/oauth-sign
3595 info trying registry request attempt 1 at 23:07:49
3596 verbose etag "BBEB5VBVQE0G0SOWKWBK6G3CH"
3597 http GET https://registry.npmjs.org/oauth-sign
3598 verbose url raw hawk
3599 verbose url resolving [ 'https://registry.npmjs.org/', './hawk' ]
3600 verbose url resolved https://registry.npmjs.org/hawk
3601 info trying registry request attempt 1 at 23:07:49
3602 verbose etag "8OYGUWEVR2EN7SOD8YZ0D7VKB"
3603 http GET https://registry.npmjs.org/hawk
3604 verbose url raw aws-sign2
3605 verbose url resolving [ 'https://registry.npmjs.org/', './aws-sign2' ]
3606 verbose url resolved https://registry.npmjs.org/aws-sign2
3607 info trying registry request attempt 1 at 23:07:49
3608 verbose etag "5LQVIOJRE8YGQMQ2P04WCC67A"
3609 http GET https://registry.npmjs.org/aws-sign2
3610 verbose url raw qs
3611 verbose url resolving [ 'https://registry.npmjs.org/', './qs' ]
3612 verbose url resolved https://registry.npmjs.org/qs
3613 info trying registry request attempt 1 at 23:07:49
3614 verbose etag "EY4LXYYQ4LWO235OEZP0WY4OH"
3615 http GET https://registry.npmjs.org/qs
3616 verbose url raw json-stringify-safe
3617 verbose url resolving [ 'https://registry.npmjs.org/', './json-stringify-safe' ]
3618 verbose url resolved https://registry.npmjs.org/json-stringify-safe
3619 info trying registry request attempt 1 at 23:07:49
3620 verbose etag "DCHF000C6O2GP81GD95QO2ILB"
3621 http GET https://registry.npmjs.org/json-stringify-safe
3622 silly lockFile 9ad895e7-ules-bower-node-modules-inquirer /usr/lib/node_modules/bower/node_modules/inquirer
3623 silly lockFile 9ad895e7-ules-bower-node-modules-inquirer /usr/lib/node_modules/bower/node_modules/inquirer
3624 silly lockFile 49d2b548-t-npm-inquirer-0-4-1-package-tgz /root/.npm/inquirer/0.4.1/package.tgz
3625 silly lockFile 49d2b548-t-npm-inquirer-0-4-1-package-tgz /root/.npm/inquirer/0.4.1/package.tgz
3626 http 304 https://registry.npmjs.org/configstore
3627 silly registry.get cb [ 304,
3627 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
3627 silly registry.get server: 'Apache',
3627 silly registry.get via: '1.1 varnish',
3627 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:31 GMT',
3627 silly registry.get 'cache-control': 'max-age=1',
3627 silly registry.get etag: '"K4S3ZHWVTDGN895342DJ1DBE"',
3627 silly registry.get 'x-served-by': 'cache-sn86-SIN',
3627 silly registry.get 'x-cache': 'HIT',
3627 silly registry.get 'x-cache-hits': '2',
3627 silly registry.get 'x-timer': 'S1400857651.530010,VS0,VE102',
3627 silly registry.get vary: 'Accept',
3627 silly registry.get 'content-length': '0',
3627 silly registry.get 'keep-alive': 'timeout=10, max=49',
3627 silly registry.get connection: 'Keep-Alive' } ]
3628 verbose etag configstore from cache
3629 http 304 https://registry.npmjs.org/configstore
3630 silly registry.get cb [ 304,
3630 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
3630 silly registry.get server: 'Apache',
3630 silly registry.get via: '1.1 varnish',
3630 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:31 GMT',
3630 silly registry.get 'cache-control': 'max-age=1',
3630 silly registry.get etag: '"K4S3ZHWVTDGN895342DJ1DBE"',
3630 silly registry.get 'x-served-by': 'cache-sn86-SIN',
3630 silly registry.get 'x-cache': 'HIT',
3630 silly registry.get 'x-cache-hits': '2',
3630 silly registry.get 'x-timer': 'S1400857651.352687,VS0,VE279',
3630 silly registry.get vary: 'Accept',
3630 silly registry.get 'content-length': '0',
3630 silly registry.get 'keep-alive': 'timeout=10, max=50',
3630 silly registry.get connection: 'Keep-Alive' } ]
3631 verbose etag configstore from cache
3632 http 304 https://registry.npmjs.org/object-assign
3633 silly registry.get cb [ 304,
3633 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
3633 silly registry.get server: 'Apache',
3633 silly registry.get via: '1.1 varnish',
3633 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:31 GMT',
3633 silly registry.get 'cache-control': 'max-age=1',
3633 silly registry.get etag: '"6BQC2FXYR4Q3O2OCKTOL4T7YA"',
3633 silly registry.get 'x-served-by': 'cache-sn89-SIN',
3633 silly registry.get 'x-cache': 'HIT',
3633 silly registry.get 'x-cache-hits': '1',
3633 silly registry.get 'x-timer': 'S1400857651.385812,VS0,VE260',
3633 silly registry.get vary: 'Accept',
3633 silly registry.get 'content-length': '0',
3633 silly registry.get 'keep-alive': 'timeout=10, max=50',
3633 silly registry.get connection: 'Keep-Alive' } ]
3634 verbose etag object-assign from cache
3635 verbose read json /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color/package.json
3636 info preinstall inquirer@0.4.1
3637 verbose read json /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles/package.json
3638 verbose from cache /usr/lib/node_modules/bower/node_modules/inquirer/package.json
3639 silly addNameRange number 2 { name: 'configstore', range: '>=0.2.1- <0.3.0-', hasData: true }
3640 silly addNameRange versions [ 'configstore',
3640 silly addNameRange [ '0.1.0',
3640 silly addNameRange '0.1.1',
3640 silly addNameRange '0.1.2',
3640 silly addNameRange '0.1.3',
3640 silly addNameRange '0.1.4',
3640 silly addNameRange '0.1.5',
3640 silly addNameRange '0.1.6',
3640 silly addNameRange '0.1.7',
3640 silly addNameRange '0.2.0',
3640 silly addNameRange '0.2.1',
3640 silly addNameRange '0.2.2',
3640 silly addNameRange '0.2.3',
3640 silly addNameRange '0.3.0' ] ]
3641 verbose addNamed [ 'configstore', '0.2.3' ]
3642 verbose addNamed [ '0.2.3', '0.2.3' ]
3643 silly lockFile 55113639-configstore-0-2-3 configstore@0.2.3
3644 verbose lock configstore@0.2.3 /root/.npm/55113639-configstore-0-2-3.lock
3645 silly addNameRange number 2 { name: 'configstore', range: '>=0.2.2- <0.3.0-', hasData: true }
3646 silly addNameRange versions [ 'configstore',
3646 silly addNameRange [ '0.1.0',
3646 silly addNameRange '0.1.1',
3646 silly addNameRange '0.1.2',
3646 silly addNameRange '0.1.3',
3646 silly addNameRange '0.1.4',
3646 silly addNameRange '0.1.5',
3646 silly addNameRange '0.1.6',
3646 silly addNameRange '0.1.7',
3646 silly addNameRange '0.2.0',
3646 silly addNameRange '0.2.1',
3646 silly addNameRange '0.2.2',
3646 silly addNameRange '0.2.3',
3646 silly addNameRange '0.3.0' ] ]
3647 verbose addNamed [ 'configstore', '0.2.3' ]
3648 verbose readDependencies using package.json deps
3649 verbose from cache /usr/lib/node_modules/bower/node_modules/inquirer/package.json
3650 silly addNameRange number 2 { name: 'object-assign',
3650 silly addNameRange range: '>=0.1.2- <0.2.0-',
3650 silly addNameRange hasData: true }
3651 silly addNameRange versions [ 'object-assign',
3651 silly addNameRange [ '0.1.0',
3651 silly addNameRange '0.1.1',
3651 silly addNameRange '0.1.2',
3651 silly addNameRange '0.2.0',
3651 silly addNameRange '0.2.1',
3651 silly addNameRange '0.2.2',
3651 silly addNameRange '0.3.0',
3651 silly addNameRange '0.3.1' ] ]
3652 verbose addNamed [ 'object-assign', '0.1.2' ]
3653 verbose addNamed [ '0.1.2', '0.1.2' ]
3654 silly lockFile 77d90afb-object-assign-0-1-2 object-assign@0.1.2
3655 verbose lock object-assign@0.1.2 /root/.npm/77d90afb-object-assign-0-1-2.lock
3656 verbose readDependencies using package.json deps
3657 verbose read json /root/.npm/configstore/0.2.3/package/package.json
3658 verbose cache add [ 'cli-color@~0.2.2', null ]
3659 verbose cache add name=undefined spec="cli-color@~0.2.2" args=["cli-color@~0.2.2",null]
3660 verbose parsed url { protocol: null,
3660 verbose parsed url slashes: null,
3660 verbose parsed url auth: null,
3660 verbose parsed url host: null,
3660 verbose parsed url port: null,
3660 verbose parsed url hostname: null,
3660 verbose parsed url hash: null,
3660 verbose parsed url search: null,
3660 verbose parsed url query: null,
3660 verbose parsed url pathname: 'cli-color@~0.2.2',
3660 verbose parsed url path: 'cli-color@~0.2.2',
3660 verbose parsed url href: 'cli-color@~0.2.2' }
3661 verbose cache add name="cli-color" spec="~0.2.2" args=["cli-color","~0.2.2"]
3662 verbose parsed url { protocol: null,
3662 verbose parsed url slashes: null,
3662 verbose parsed url auth: null,
3662 verbose parsed url host: null,
3662 verbose parsed url port: null,
3662 verbose parsed url hostname: null,
3662 verbose parsed url hash: null,
3662 verbose parsed url search: null,
3662 verbose parsed url query: null,
3662 verbose parsed url pathname: '~0.2.2',
3662 verbose parsed url path: '~0.2.2',
3662 verbose parsed url href: '~0.2.2' }
3663 verbose addNamed [ 'cli-color', '~0.2.2' ]
3664 verbose addNamed [ null, '>=0.2.2- <0.3.0-' ]
3665 silly lockFile d0e95799-cli-color-0-2-2 cli-color@~0.2.2
3666 verbose lock cli-color@~0.2.2 /root/.npm/d0e95799-cli-color-0-2-2.lock
3667 verbose read json /root/.npm/object-assign/0.1.2/package/package.json
3668 silly addNameRange { name: 'cli-color', range: '>=0.2.2- <0.3.0-', hasData: false }
3669 verbose cache add [ 'mute-stream@0.0.4', null ]
3670 verbose cache add name=undefined spec="mute-stream@0.0.4" args=["mute-stream@0.0.4",null]
3671 verbose parsed url { protocol: null,
3671 verbose parsed url slashes: null,
3671 verbose parsed url auth: null,
3671 verbose parsed url host: null,
3671 verbose parsed url port: null,
3671 verbose parsed url hostname: null,
3671 verbose parsed url hash: null,
3671 verbose parsed url search: null,
3671 verbose parsed url query: null,
3671 verbose parsed url pathname: 'mute-stream@0.0.4',
3671 verbose parsed url path: 'mute-stream@0.0.4',
3671 verbose parsed url href: 'mute-stream@0.0.4' }
3672 verbose cache add name="mute-stream" spec="0.0.4" args=["mute-stream","0.0.4"]
3673 verbose parsed url { protocol: null,
3673 verbose parsed url slashes: null,
3673 verbose parsed url auth: null,
3673 verbose parsed url host: null,
3673 verbose parsed url port: null,
3673 verbose parsed url hostname: null,
3673 verbose parsed url hash: null,
3673 verbose parsed url search: null,
3673 verbose parsed url query: null,
3673 verbose parsed url pathname: '0.0.4',
3673 verbose parsed url path: '0.0.4',
3673 verbose parsed url href: '0.0.4' }
3674 verbose addNamed [ 'mute-stream', '0.0.4' ]
3675 verbose addNamed [ '0.0.4', '0.0.4' ]
3676 silly lockFile 71666a8b-mute-stream-0-0-4 mute-stream@0.0.4
3677 verbose lock mute-stream@0.0.4 /root/.npm/71666a8b-mute-stream-0-0-4.lock
3678 verbose cache add [ 'through@~2.3.4', null ]
3679 verbose cache add name=undefined spec="through@~2.3.4" args=["through@~2.3.4",null]
3680 verbose parsed url { protocol: null,
3680 verbose parsed url slashes: null,
3680 verbose parsed url auth: null,
3680 verbose parsed url host: null,
3680 verbose parsed url port: null,
3680 verbose parsed url hostname: null,
3680 verbose parsed url hash: null,
3680 verbose parsed url search: null,
3680 verbose parsed url query: null,
3680 verbose parsed url pathname: 'through@~2.3.4',
3680 verbose parsed url path: 'through@~2.3.4',
3680 verbose parsed url href: 'through@~2.3.4' }
3681 verbose cache add name="through" spec="~2.3.4" args=["through","~2.3.4"]
3682 verbose parsed url { protocol: null,
3682 verbose parsed url slashes: null,
3682 verbose parsed url auth: null,
3682 verbose parsed url host: null,
3682 verbose parsed url port: null,
3682 verbose parsed url hostname: null,
3682 verbose parsed url hash: null,
3682 verbose parsed url search: null,
3682 verbose parsed url query: null,
3682 verbose parsed url pathname: '~2.3.4',
3682 verbose parsed url path: '~2.3.4',
3682 verbose parsed url href: '~2.3.4' }
3683 verbose addNamed [ 'through', '~2.3.4' ]
3684 verbose addNamed [ null, '>=2.3.4- <2.4.0-' ]
3685 silly lockFile 560c0a42-through-2-3-4 through@~2.3.4
3686 verbose lock through@~2.3.4 /root/.npm/560c0a42-through-2-3-4.lock
3687 verbose cache add [ 'readline2@~0.1.0', null ]
3688 verbose cache add name=undefined spec="readline2@~0.1.0" args=["readline2@~0.1.0",null]
3689 verbose parsed url { protocol: null,
3689 verbose parsed url slashes: null,
3689 verbose parsed url auth: null,
3689 verbose parsed url host: null,
3689 verbose parsed url port: null,
3689 verbose parsed url hostname: null,
3689 verbose parsed url hash: null,
3689 verbose parsed url search: null,
3689 verbose parsed url query: null,
3689 verbose parsed url pathname: 'readline2@~0.1.0',
3689 verbose parsed url path: 'readline2@~0.1.0',
3689 verbose parsed url href: 'readline2@~0.1.0' }
3690 verbose cache add name="readline2" spec="~0.1.0" args=["readline2","~0.1.0"]
3691 verbose parsed url { protocol: null,
3691 verbose parsed url slashes: null,
3691 verbose parsed url auth: null,
3691 verbose parsed url host: null,
3691 verbose parsed url port: null,
3691 verbose parsed url hostname: null,
3691 verbose parsed url hash: null,
3691 verbose parsed url search: null,
3691 verbose parsed url query: null,
3691 verbose parsed url pathname: '~0.1.0',
3691 verbose parsed url path: '~0.1.0',
3691 verbose parsed url href: '~0.1.0' }
3692 verbose addNamed [ 'readline2', '~0.1.0' ]
3693 verbose addNamed [ null, '>=0.1.0- <0.2.0-' ]
3694 silly lockFile b967614d-readline2-0-1-0 readline2@~0.1.0
3695 verbose lock readline2@~0.1.0 /root/.npm/b967614d-readline2-0-1-0.lock
3696 silly addNameRange { name: 'through', range: '>=2.3.4- <2.4.0-', hasData: false }
3697 silly addNameRange { name: 'readline2', range: '>=0.1.0- <0.2.0-', hasData: false }
3698 verbose cache add [ 'lodash@~2.4.1', null ]
3699 verbose cache add name=undefined spec="lodash@~2.4.1" args=["lodash@~2.4.1",null]
3700 verbose parsed url { protocol: null,
3700 verbose parsed url slashes: null,
3700 verbose parsed url auth: null,
3700 verbose parsed url host: null,
3700 verbose parsed url port: null,
3700 verbose parsed url hostname: null,
3700 verbose parsed url hash: null,
3700 verbose parsed url search: null,
3700 verbose parsed url query: null,
3700 verbose parsed url pathname: 'lodash@~2.4.1',
3700 verbose parsed url path: 'lodash@~2.4.1',
3700 verbose parsed url href: 'lodash@~2.4.1' }
3701 verbose cache add name="lodash" spec="~2.4.1" args=["lodash","~2.4.1"]
3702 verbose parsed url { protocol: null,
3702 verbose parsed url slashes: null,
3702 verbose parsed url auth: null,
3702 verbose parsed url host: null,
3702 verbose parsed url port: null,
3702 verbose parsed url hostname: null,
3702 verbose parsed url hash: null,
3702 verbose parsed url search: null,
3702 verbose parsed url query: null,
3702 verbose parsed url pathname: '~2.4.1',
3702 verbose parsed url path: '~2.4.1',
3702 verbose parsed url href: '~2.4.1' }
3703 verbose addNamed [ 'lodash', '~2.4.1' ]
3704 verbose addNamed [ null, '>=2.4.1- <2.5.0-' ]
3705 silly lockFile 257f9ab3-lodash-2-4-1 lodash@~2.4.1
3706 verbose lock lodash@~2.4.1 /root/.npm/257f9ab3-lodash-2-4-1.lock
3707 verbose cache add [ 'async@~0.2.8', null ]
3708 verbose cache add name=undefined spec="async@~0.2.8" args=["async@~0.2.8",null]
3709 verbose parsed url { protocol: null,
3709 verbose parsed url slashes: null,
3709 verbose parsed url auth: null,
3709 verbose parsed url host: null,
3709 verbose parsed url port: null,
3709 verbose parsed url hostname: null,
3709 verbose parsed url hash: null,
3709 verbose parsed url search: null,
3709 verbose parsed url query: null,
3709 verbose parsed url pathname: 'async@~0.2.8',
3709 verbose parsed url path: 'async@~0.2.8',
3709 verbose parsed url href: 'async@~0.2.8' }
3710 verbose cache add name="async" spec="~0.2.8" args=["async","~0.2.8"]
3711 verbose parsed url { protocol: null,
3711 verbose parsed url slashes: null,
3711 verbose parsed url auth: null,
3711 verbose parsed url host: null,
3711 verbose parsed url port: null,
3711 verbose parsed url hostname: null,
3711 verbose parsed url hash: null,
3711 verbose parsed url search: null,
3711 verbose parsed url query: null,
3711 verbose parsed url pathname: '~0.2.8',
3711 verbose parsed url path: '~0.2.8',
3711 verbose parsed url href: '~0.2.8' }
3712 verbose addNamed [ 'async', '~0.2.8' ]
3713 verbose addNamed [ null, '>=0.2.8- <0.3.0-' ]
3714 silly lockFile fe4c98a1-async-0-2-8 async@~0.2.8
3715 verbose lock async@~0.2.8 /root/.npm/fe4c98a1-async-0-2-8.lock
3716 verbose read json /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi/package.json
3717 silly addNameRange { name: 'lodash', range: '>=2.4.1- <2.5.0-', hasData: false }
3718 silly addNameRange { name: 'async', range: '>=0.2.8- <0.3.0-', hasData: false }
3719 silly lockFile ba7a6c8d-les-chalk-node-modules-has-color /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color
3720 silly lockFile ba7a6c8d-les-chalk-node-modules-has-color /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color
3721 silly lockFile bc6645f8-s-chalk-node-modules-ansi-styles /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles
3722 silly lockFile bc6645f8-s-chalk-node-modules-ansi-styles /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles
3723 silly lockFile d447afe3--npm-has-color-0-1-7-package-tgz /root/.npm/has-color/0.1.7/package.tgz
3724 silly lockFile d447afe3--npm-has-color-0-1-7-package-tgz /root/.npm/has-color/0.1.7/package.tgz
3725 verbose url raw cli-color
3726 verbose url resolving [ 'https://registry.npmjs.org/', './cli-color' ]
3727 verbose url resolved https://registry.npmjs.org/cli-color
3728 info trying registry request attempt 1 at 23:07:49
3729 verbose etag "4PRONCQAXXIS2FJTYA1GEJKHW"
3730 http GET https://registry.npmjs.org/cli-color
3731 silly lockFile 6fe2e3aa-pm-ansi-styles-1-0-0-package-tgz /root/.npm/ansi-styles/1.0.0/package.tgz
3732 silly lockFile 6fe2e3aa-pm-ansi-styles-1-0-0-package-tgz /root/.npm/ansi-styles/1.0.0/package.tgz
3733 verbose url raw mute-stream/0.0.4
3734 verbose url resolving [ 'https://registry.npmjs.org/', './mute-stream/0.0.4' ]
3735 verbose url resolved https://registry.npmjs.org/mute-stream/0.0.4
3736 info trying registry request attempt 1 at 23:07:49
3737 verbose etag "894HXUM1QSNIUNJ926RHD26P1"
3738 http GET https://registry.npmjs.org/mute-stream/0.0.4
3739 verbose url raw through
3740 verbose url resolving [ 'https://registry.npmjs.org/', './through' ]
3741 verbose url resolved https://registry.npmjs.org/through
3742 info trying registry request attempt 1 at 23:07:49
3743 verbose etag "CRADI8RBWTNQ0DM6MO8NN3YR5"
3744 http GET https://registry.npmjs.org/through
3745 verbose url raw readline2
3746 verbose url resolving [ 'https://registry.npmjs.org/', './readline2' ]
3747 verbose url resolved https://registry.npmjs.org/readline2
3748 info trying registry request attempt 1 at 23:07:49
3749 verbose etag "4SONYRB0305G6S4SCR9Z051YE"
3750 http GET https://registry.npmjs.org/readline2
3751 verbose url raw lodash
3752 verbose url resolving [ 'https://registry.npmjs.org/', './lodash' ]
3753 verbose url resolved https://registry.npmjs.org/lodash
3754 info trying registry request attempt 1 at 23:07:49
3755 verbose etag "5PK4FCFF4YHFYXANTN7KRLBKZ"
3756 http GET https://registry.npmjs.org/lodash
3757 verbose url raw async
3758 verbose url resolving [ 'https://registry.npmjs.org/', './async' ]
3759 verbose url resolved https://registry.npmjs.org/async
3760 info trying registry request attempt 1 at 23:07:49
3761 verbose etag "EHV5W84S68L3J57XFTTIU9K7O"
3762 http GET https://registry.npmjs.org/async
3763 silly lockFile 55113639-configstore-0-2-3 configstore@0.2.3
3764 silly lockFile 55113639-configstore-0-2-3 configstore@0.2.3
3765 http 304 https://registry.npmjs.org/async
3766 silly registry.get cb [ 304,
3766 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
3766 silly registry.get server: 'Apache',
3766 silly registry.get via: '1.1 varnish',
3766 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:31 GMT',
3766 silly registry.get 'cache-control': 'max-age=1',
3766 silly registry.get etag: '"EHV5W84S68L3J57XFTTIU9K7O"',
3766 silly registry.get 'x-served-by': 'cache-sn89-SIN',
3766 silly registry.get 'x-cache': 'HIT',
3766 silly registry.get 'x-cache-hits': '1',
3766 silly registry.get 'x-timer': 'S1400857651.556129,VS0,VE248',
3766 silly registry.get vary: 'Accept',
3766 silly registry.get 'content-length': '0',
3766 silly registry.get 'keep-alive': 'timeout=10, max=49',
3766 silly registry.get connection: 'Keep-Alive' } ]
3767 verbose etag async from cache
3768 silly lockFile 77d90afb-object-assign-0-1-2 object-assign@0.1.2
3769 silly lockFile 77d90afb-object-assign-0-1-2 object-assign@0.1.2
3770 info preinstall has-color@0.1.7
3771 silly lockFile 8979d531-configstore-0-2-1 configstore@~0.2.1
3772 silly lockFile 8979d531-configstore-0-2-1 configstore@~0.2.1
3773 silly lockFile e77763a0-configstore-0-2-2 configstore@~0.2.2
3774 silly lockFile e77763a0-configstore-0-2-2 configstore@~0.2.2
3775 info preinstall ansi-styles@1.0.0
3776 silly lockFile 7ab388c0-object-assign-0-1-2 object-assign@~0.1.2
3777 silly lockFile 7ab388c0-object-assign-0-1-2 object-assign@~0.1.2
3778 silly lockFile 0f3fcbf7-es-chalk-node-modules-strip-ansi /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi
3779 silly lockFile 0f3fcbf7-es-chalk-node-modules-strip-ansi /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi
3780 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color/package.json
3781 silly resolved [ { name: 'request',
3781 silly resolved description: 'Simplified HTTP request client.',
3781 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
3781 silly resolved version: '2.27.0',
3781 silly resolved author: { name: 'Mikeal Rogers', email: 'mikeal.rogers@gmail.com' },
3781 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
3781 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
3781 silly resolved engines: [ 'node >= 0.8.0' ],
3781 silly resolved main: 'index.js',
3781 silly resolved dependencies:
3781 silly resolved { qs: '~0.6.0',
3781 silly resolved 'json-stringify-safe': '~5.0.0',
3781 silly resolved 'forever-agent': '~0.5.0',
3781 silly resolved 'tunnel-agent': '~0.3.0',
3781 silly resolved 'http-signature': '~0.10.0',
3781 silly resolved hawk: '~1.0.0',
3781 silly resolved 'aws-sign': '~0.3.0',
3781 silly resolved 'oauth-sign': '~0.3.0',
3781 silly resolved 'cookie-jar': '~0.3.0',
3781 silly resolved 'node-uuid': '~1.4.0',
3781 silly resolved mime: '~1.2.9',
3781 silly resolved 'form-data': '~0.1.0' },
3781 silly resolved scripts: { test: 'node tests/run.js' },
3781 silly resolved readme: '# Request -- Simplified HTTP client\n\n[![NPM](https://nodei.co/npm/request.png)](https://nodei.co/npm/request/)\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require(\'request\');\nrequest(\'http://www.google.com\', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest(\'http://google.com/doodle.png\').pipe(fs.createWriteStream(\'doodle.png\'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types, in this case `application/json`, and use the proper content-type in the PUT request if one is not already provided in the headers.\n\n```javascript\nfs.createReadStream(\'file.json\').pipe(request.put(\'http://mysite.com/obj.json\'))\n```\n\nRequest can also pipe to itself. When doing so the content-type and content-length will be preserved in the PUT headers.\n\n```javascript\nrequest.get(\'http://google.com/img.png\').pipe(request.put(\'http://mysite.com/img.png\'))\n```\n\nNow let\'s get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n if (req.method === \'PUT\') {\n req.pipe(request.put(\'http://mysite.com/doodle.png\'))\n } else if (req.method === \'GET\' || req.method === \'HEAD\') {\n request.get(\'http://mysite.com/doodle.png\').pipe(resp)\n }\n }\n})\n```\n\nYou can also pipe() from a http.ServerRequest instance and to a http.ServerResponse instance. The HTTP method and headers will be sent as well as the entity-body data. Which means that, if you don\'t really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n var x = request(\'http://mysite.com/doodle.png\')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since pipe() returns the destination stream in node 0.5.x you can do one line proxying :)\n\n```javascript\nreq.pipe(request(\'http://mysite.com/doodle.png\')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({\'proxy\':\'http://localproxy.com\'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n r.get(\'http://google.com/doodle.png\').pipe(resp)\n }\n})\n```\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nUrl encoded forms are simple\n\n```javascript\nrequest.post(\'http://service.com/upload\', {form:{key:\'value\'}})\n// or\nrequest.post(\'http://service.com/upload\').form({key:\'value\'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don\'t need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post(\'http://service.com/upload\')\nvar form = r.form()\nform.append(\'my_field\', \'my_value\')\nform.append(\'my_buffer\', new Buffer([1, 2, 3]))\nform.append(\'my_file\', fs.createReadStream(path.join(__dirname, \'doodle.png\'))\nform.append(\'remote_file\', request(\'http://google.com/doodle.png\'))\n```\n\n## HTTP Authentication\n\n```javascript\nrequest.get(\'http://some.server.com/\').auth(\'username\', \'password\', false);\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'user\': \'username\',\n \'pass\': \'password\',\n \'sendImmediately\': false\n }\n});\n```\n\nIf passed as an option, `auth` should be a hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional). The method form takes parameters `auth(username, password, sendImmediately)`.\n\n`sendImmediately` defaults to true, which will cause a basic authentication header to be sent. If `sendImmediately` is `false`, then `request` will retry with a proper authentication header after receiving a 401 response from the server (which must contain a `WWW-Authenticate` header indicating the required authentication method).\n\nDigest authentication is supported, but it only works with `sendImmediately` set to `false` (otherwise `request` will send basic authentication on the initial request, which will probably cause the request to fail).\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require(\'querystring\')\n , oauth =\n { callback: \'http://mysite.com/callback/\'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = \'https://api.twitter.com/oauth/request_token\'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Ideally, you would take the body in the response\n // and construct a URL that a user clicks on (like a sign in button).\n // The verifier is only available in the response after a user has\n // verified with twitter that they are authorizing your app.\n var access_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: access_token.oauth_verifier\n }\n , url = \'https://api.twitter.com/oauth/access_token\'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/1/users/show.json?\'\n , params =\n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n\n\n### request(options, callback)\n\nThe first argument can be either a url or an options object. The only required option is uri, all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from url.parse()\n* `qs` - object containing querystring values to be appended to the uri\n* `method` - http method, defaults to GET\n* `headers` - http headers, defaults to {}\n* `body` - entity body for PATCH, POST and PUT requests. Must be buffer or string.\n* `form` - when passed an object this will set `body` but to a querystring representation of value and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no option a FormData instance is returned that will be piped to request.\n* `auth` - A hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional). See documentation above.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as json.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects. defaults to true.\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects. defaults to false.\n* `maxRedirects` - the maximum number of redirects to follow, defaults to 10.\n* `encoding` - Encoding to be used on `setEncoding` of response data. If set to `null`, the body is returned as a Buffer.\n* `pool` - A hash object containing the agents for these requests. If omitted this request will use the global pool which is set to node\'s default maxSockets.\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\n* `proxy` - An HTTP proxy to be used. Support proxy Auth with Basic Auth the same way it\'s supported with the `url` parameter by embedding the auth info in the uri.\n* `oauth` - Options for OAuth HMAC-SHA1 signing, see documentation above.\n* `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).\n* `strictSSL` - Set to `true` to require that SSL certificates be valid. Note: to use your own certificate authority, you need to specify an agent that was created with that ca as an option.\n* `jar` - Set to `true` if you want cookies to be remembered for future use, or define your custom cookie jar (see examples section)\n* `aws` - object containing aws signing information, should have the properties `key` and `secret` as well as `bucket` unless you\'re specifying your bucket as part of the path, or you are making a request that doesn\'t use a bucket (i.e. GET Services)\n* `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent\'s library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.\n* `localAddress` - Local interface to bind for network connections.\n\n\nThe callback argument gets 3 arguments. The first is an error when applicable (usually from the http.Client option not the http.ClientRequest object). The second is an http.ClientResponse object. The third is the response body String or Buffer.\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options)\n\nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as request() but defaults to `method: "PUT"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.patch\n\nSame as request() but defaults to `method: "PATCH"`.\n\n```javascript\nrequest.patch(url)\n```\n\n### request.post\n\nSame as request() but defaults to `method: "POST"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: "HEAD"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as request() but defaults to `method: "DELETE"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nAlias to normal request method for uniformity.\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie(\'cookie_string_here\')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require(\'request\')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: \'PUT\'\n , uri: \'http://mikeal.iriscouch.com/testjs/\' + rand\n , multipart:\n [ { \'content-type\': \'application/json\'\n , body: JSON.stringify({foo: \'bar\', _attachments: {\'message.txt\': {follows: true, length: 18, \'content_type\': \'text/plain\' }}})\n }\n , { body: \'I am an attachment\' }\n ]\n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log(\'document saved as: http://mikeal.iriscouch.com/testjs/\'+ rand)\n } else {\n console.log(\'error: \'+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\nCookies are disabled by default (else, they would be used in subsequent requests). To enable cookies set jar to true (either in defaults or in the options sent).\n\n```javascript\nvar request = request.defaults({jar: true})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nIf you to use a custom cookie jar (instead of letting request use its own global cookie jar) you do so by setting the jar default or by specifying it as an option:\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie(\'your_cookie_here\')\nj.add(cookie)\nrequest({url: \'http://www.google.com\', jar: j}, function () {\n request(\'http://images.google.com\')\n})\n```\n',
3781 silly resolved readmeFilename: 'README.md',
3781 silly resolved _id: 'request@2.27.0',
3781 silly resolved _from: 'request@~2.27.0' },
3781 silly resolved { name: 'semver',
3781 silly resolved version: '2.1.0',
3781 silly resolved description: 'The semantic version parser used by npm.',
3781 silly resolved main: 'semver.js',
3781 silly resolved browser: 'semver.browser.js',
3781 silly resolved min: 'semver.min.js',
3781 silly resolved scripts: { test: 'tap test/*.js', prepublish: 'make' },
3781 silly resolved devDependencies: { tap: '0.x >=0.0.4', 'uglify-js': '~2.3.6' },
3781 silly resolved license: 'BSD',
3781 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-semver.git' },
3781 silly resolved bin: { semver: './bin/semver' },
3781 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 <version> [<version> [...]] [-r <range> | -i <inc> | -d <dec>]\n Test if version(s) satisfy the supplied range(s), and sort them.\n\n Multiple versions or ranges may be supplied, unless increment\n or decrement options are specified. In that case, only a single\n version may be used, and it is incremented by the specified level\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 described by the v2.0.0 specification found at\n<http://semver.org/>.\n\nA leading `"="` or `"v"` character is stripped off and ignored.\n\n## Ranges\n\nThe following range styles are supported:\n\n* `1.2.3` A specific version. When nothing else will do. Note that\n build metadata is still ignored, so `1.2.3+build2012` will satisfy\n this range.\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than a specific version. If there is no prerelease\n tag on the version range, then no prerelease version will be allowed\n either, even though these are technically "less than".\n* `>=1.2.3` Greater than or equal to. Note that prerelease versions\n are NOT equal to their "normal" equivalents, so `1.2.3-beta` will\n not satisfy this range, but `2.3.0-beta` will.\n* `<=1.2.3` Less than or equal to. In this case, prerelease versions\n ARE allowed, so `1.2.3-beta` would satisfy.\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`\n* `~1.2.3` := `>=1.2.3-0 <1.3.0-0` "Reasonably close to 1.2.3". When\n using tilde operators, prerelease versions are supported as well,\n but a prerelease of the next significant digit will NOT be\n satisfactory, so `1.3.0-beta` will not satisfy `~1.2.3`.\n* `^1.2.3` := `>=1.2.3-0 <2.0.0-0` "Compatible with 1.2.3". When\n using caret operators, anything from the specified version (including\n prerelease) will be supported up to, but not including, the next\n major version (or its prereleases). `1.5.1` will satisfy `^1.2.3`,\n while `1.2.2` and `2.0.0-beta` will not.\n* `^0.1.3` := `>=0.1.3-0 <0.2.0-0` "Compatible with 0.1.3". 0.x.x versions are\n special: the first non-zero component indicates potentially breaking changes,\n meaning the caret operator matches any version with the same first non-zero\n component starting at the specified version.\n* `^0.0.2` := `=0.0.2` "Only the version 0.0.2 is considered compatible"\n* `~1.2` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"\n* `^1.2` := `>=1.2.0-0 <2.0.0-0` "Any version compatible with 1.2"\n* `1.2.x` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"\n* `~1` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"\n* `^1` := `>=1.0.0-0 <2.0.0-0` "Any version compatible with 1"\n* `1.x` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"\n\n\nRanges can be joined with either a space (which implies "and") or a\n`||` (which implies "or").\n\n## Functions\n\nAll methods and classes take a final `loose` boolean argument that, if\ntrue, will be more forgiving about not-quite-valid semver strings.\nThe resulting output will always be 100% strict, of course.\n\nStrict-mode Comparators and Ranges will be strict about the SemVer\nstrings that they parse.\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 prerelease), 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',
3781 silly resolved readmeFilename: 'README.md',
3781 silly resolved _id: 'semver@2.1.0',
3781 silly resolved _from: 'semver@~2.1.0' },
3781 silly resolved { name: 'configstore',
3781 silly resolved version: '0.2.3',
3781 silly resolved description: 'Easily load and save config without having to think about where and how',
3781 silly resolved keywords:
3781 silly resolved [ 'conf',
3781 silly resolved 'config',
3781 silly resolved 'configuration',
3781 silly resolved 'settings',
3781 silly resolved 'store',
3781 silly resolved 'editable',
3781 silly resolved 'yaml',
3781 silly resolved 'yml' ],
3781 silly resolved homepage: 'https://github.com/yeoman/configstore',
3781 silly resolved bugs: 'https://github.com/yeoman/configstore/issues',
3781 silly resolved author:
3781 silly resolved { name: 'Sindre Sorhus',
3781 silly resolved email: 'sindresorhus@gmail.com',
3781 silly resolved url: 'http://sindresorhus.com' },
3781 silly resolved main: 'configstore.js',
3781 silly resolved repository: { type: 'git', url: 'git://github.com/yeoman/configstore.git' },
3781 silly resolved scripts: { test: 'mocha' },
3781 silly resolved engines: { node: '>=0.10.0' },
3781 silly resolved licenses: [ [Object] ],
3781 silly resolved dependencies:
3781 silly resolved { mkdirp: '~0.3.5',
3781 silly resolved 'js-yaml': '~3.0.1',
3781 silly resolved osenv: '0.0.3',
3781 silly resolved 'graceful-fs': '~2.0.1',
3781 silly resolved uuid: '~1.4.1',
3781 silly resolved 'object-assign': '~0.1.1' },
3781 silly resolved devDependencies: { mocha: '*' },
3781 silly resolved files: [ 'configstore.js' ],
3781 silly resolved readme: '# configstore [![Build Status](https://secure.travis-ci.org/yeoman/configstore.png?branch=master)](http://travis-ci.org/yeoman/configstore)\n\nEasily load and persist config without having to think about where and how.\n\nConfig is stored in a YAML file to make it simple for users to edit the config directly themselves. The file is located in `$XDG_CONFIG_HOME` or `~/.config`. Eg: `~/.config/configstore/id-of-your-choosing.yml`\n\n\n## Example usage\n\n```js\nvar Configstore = require(\'configstore\');\nvar packageName = require(\'./package\').name;\n\n// Init a Configstore instance with an unique ID eg. package name\n// and optionally some default values\nvar conf = new Configstore(packageName, { foo: \'bar\' });\n\nconf.set(\'awesome\', true);\nconsole.log(conf.get(\'awesome\')); // true\nconsole.log(conf.get(\'foo\')); // bar\n\nconf.del(\'awesome\');\nconsole.log(conf.get(\'awesome\')); // undefined\n```\n\n\n## Documentation\n\n### Methods\n\n#### .set(key, val)\n\nSet an item\n\n#### .get(key)\n\nGet an item\n\n#### .del(key)\n\nDelete an item\n\n### Properties\n\n#### .all\n\nGet all items as an object or replace the current config with an object:\n\n```js\nconf.all = {\n\thello: \'world\'\n};\n```\n\n#### .size\n\nGet the item count\n\n#### .path\n\nGet the path to the config file. Can be used to show the user where the config file is located or even better open it for them.\n\n\n## License\n\n[BSD license](http://opensource.org/licenses/bsd-license.php) \nCopyright Google\n',
3781 silly resolved readmeFilename: 'readme.md',
3781 silly resolved _id: 'configstore@0.2.3',
3781 silly resolved _from: 'configstore@~0.2.2' } ]
3782 info install request@2.27.0 into /usr/lib/node_modules/bower/node_modules/update-notifier
3783 info install semver@2.1.0 into /usr/lib/node_modules/bower/node_modules/update-notifier
3784 info install configstore@0.2.3 into /usr/lib/node_modules/bower/node_modules/update-notifier
3785 info installOne request@2.27.0
3786 info installOne semver@2.1.0
3787 info installOne configstore@0.2.3
3788 verbose readDependencies using package.json deps
3789 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color/package.json
3790 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles/package.json
3791 verbose from cache /root/.npm/request/2.27.0/package/package.json
3792 info /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/request unbuild
3793 verbose read json /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/request/package.json
3794 verbose from cache /root/.npm/semver/2.1.0/package/package.json
3795 info /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/semver unbuild
3796 verbose read json /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/semver/package.json
3797 verbose from cache /root/.npm/configstore/0.2.3/package/package.json
3798 info /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore unbuild
3799 verbose read json /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore/package.json
3800 verbose read json /usr/lib/node_modules/bower/node_modules/fstream/package.json
3801 silly lockFile e0a09885-npm-strip-ansi-0-1-1-package-tgz /root/.npm/strip-ansi/0.1.1/package.tgz
3802 silly lockFile e0a09885-npm-strip-ansi-0-1-1-package-tgz /root/.npm/strip-ansi/0.1.1/package.tgz
3803 verbose readDependencies using package.json deps
3804 silly resolved []
3805 verbose about to build /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color
3806 info build /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color
3807 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/node_modules/has-color/package.json
3808 verbose linkStuff [ true,
3808 verbose linkStuff '/usr/lib/node_modules',
3808 verbose linkStuff false,
3808 verbose linkStuff '/usr/lib/node_modules/bower/node_modules/chalk/node_modules' ]
3809 info linkStuff has-color@0.1.7
3810 verbose linkBins has-color@0.1.7
3811 verbose linkMans has-color@0.1.7
3812 verbose rebuildBundles has-color@0.1.7
3813 verbose readDependencies using package.json deps
3814 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles/package.json
3815 info install has-color@0.1.7
3816 verbose readDependencies using package.json deps
3817 silly resolved []
3818 verbose about to build /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles
3819 info build /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles
3820 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles/package.json
3821 verbose linkStuff [ true,
3821 verbose linkStuff '/usr/lib/node_modules',
3821 verbose linkStuff false,
3821 verbose linkStuff '/usr/lib/node_modules/bower/node_modules/chalk/node_modules' ]
3822 info linkStuff ansi-styles@1.0.0
3823 verbose linkBins ansi-styles@1.0.0
3824 verbose linkMans ansi-styles@1.0.0
3825 verbose rebuildBundles ansi-styles@1.0.0
3826 silly addNameRange number 2 { name: 'async', range: '>=0.2.9- <0.3.0-', hasData: true }
3827 silly addNameRange versions [ 'async',
3827 silly addNameRange [ '0.1.0',
3827 silly addNameRange '0.1.1',
3827 silly addNameRange '0.1.2',
3827 silly addNameRange '0.1.3',
3827 silly addNameRange '0.1.4',
3827 silly addNameRange '0.1.5',
3827 silly addNameRange '0.1.6',
3827 silly addNameRange '0.1.7',
3827 silly addNameRange '0.1.8',
3827 silly addNameRange '0.1.9',
3827 silly addNameRange '0.1.10',
3827 silly addNameRange '0.1.11',
3827 silly addNameRange '0.1.12',
3827 silly addNameRange '0.1.13',
3827 silly addNameRange '0.1.14',
3827 silly addNameRange '0.1.15',
3827 silly addNameRange '0.1.16',
3827 silly addNameRange '0.1.17',
3827 silly addNameRange '0.1.18',
3827 silly addNameRange '0.1.19',
3827 silly addNameRange '0.1.20',
3827 silly addNameRange '0.1.21',
3827 silly addNameRange '0.1.22',
3827 silly addNameRange '0.2.0',
3827 silly addNameRange '0.2.1',
3827 silly addNameRange '0.2.2',
3827 silly addNameRange '0.2.3',
3827 silly addNameRange '0.2.4',
3827 silly addNameRange '0.2.5',
3827 silly addNameRange '0.2.6',
3827 silly addNameRange '0.2.7',
3827 silly addNameRange '0.2.8',
3827 silly addNameRange '0.2.9',
3827 silly addNameRange '0.2.10',
3827 silly addNameRange '0.3.0',
3827 silly addNameRange '0.4.0',
3827 silly addNameRange '0.4.1',
3827 silly addNameRange '0.5.0',
3827 silly addNameRange '0.6.0',
3827 silly addNameRange '0.6.1',
3827 silly addNameRange '0.6.2',
3827 silly addNameRange '0.7.0',
3827 silly addNameRange '0.8.0',
3827 silly addNameRange '0.9.0' ] ]
3828 verbose addNamed [ 'async', '0.2.10' ]
3829 verbose addNamed [ '0.2.10', '0.2.10' ]
3830 silly lockFile 098b530d-async-0-2-10 async@0.2.10
3831 verbose lock async@0.2.10 /root/.npm/098b530d-async-0-2-10.lock
3832 info install ansi-styles@1.0.0
3833 verbose tar unpack /root/.npm/request/2.27.0/package.tgz
3834 silly lockFile 05ce3001-te-notifier-node-modules-request /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/request
3835 verbose lock /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/request /root/.npm/05ce3001-te-notifier-node-modules-request.lock
3836 silly lockFile c8b87620-t-npm-request-2-27-0-package-tgz /root/.npm/request/2.27.0/package.tgz
3837 verbose lock /root/.npm/request/2.27.0/package.tgz /root/.npm/c8b87620-t-npm-request-2-27-0-package-tgz.lock
3838 verbose tar unpack /root/.npm/semver/2.1.0/package.tgz
3839 silly lockFile 72f2a36a-ate-notifier-node-modules-semver /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/semver
3840 verbose lock /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/semver /root/.npm/72f2a36a-ate-notifier-node-modules-semver.lock
3841 silly lockFile c60cb028-oot-npm-semver-2-1-0-package-tgz /root/.npm/semver/2.1.0/package.tgz
3842 verbose lock /root/.npm/semver/2.1.0/package.tgz /root/.npm/c60cb028-oot-npm-semver-2-1-0-package-tgz.lock
3843 verbose tar unpack /root/.npm/configstore/0.2.3/package.tgz
3844 silly lockFile de417c76-otifier-node-modules-configstore /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore
3845 verbose lock /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore /root/.npm/de417c76-otifier-node-modules-configstore.lock
3846 silly lockFile da5726b9-pm-configstore-0-2-3-package-tgz /root/.npm/configstore/0.2.3/package.tgz
3847 verbose lock /root/.npm/configstore/0.2.3/package.tgz /root/.npm/da5726b9-pm-configstore-0-2-3-package-tgz.lock
3848 info postinstall has-color@0.1.7
3849 verbose read json /root/.npm/async/0.2.10/package/package.json
3850 info postinstall ansi-styles@1.0.0
3851 silly gunzTarPerm modes [ '755', '644' ]
3852 silly gunzTarPerm modes [ '755', '644' ]
3853 http 304 https://registry.npmjs.org/lodash.debounce
3854 silly registry.get cb [ 304,
3854 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
3854 silly registry.get server: 'Apache',
3854 silly registry.get via: '1.1 varnish',
3854 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:31 GMT',
3854 silly registry.get 'cache-control': 'max-age=1',
3854 silly registry.get etag: '"AJ9AHM25PBDQ55M7D2IYDV5KM"',
3854 silly registry.get 'x-served-by': 'cache-sn86-SIN',
3854 silly registry.get 'x-cache': 'HIT',
3854 silly registry.get 'x-cache-hits': '1',
3854 silly registry.get 'x-timer': 'S1400857651.526947,VS0,VE339',
3854 silly registry.get vary: 'Accept',
3854 silly registry.get 'content-length': '0',
3854 silly registry.get 'keep-alive': 'timeout=10, max=49',
3854 silly registry.get connection: 'Keep-Alive' } ]
3855 verbose etag lodash.debounce from cache
3856 info preinstall strip-ansi@0.1.1
3857 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi/package.json
3858 verbose readDependencies using package.json deps
3859 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi/package.json
3860 verbose readDependencies using package.json deps
3861 silly resolved []
3862 verbose about to build /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi
3863 info build /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi
3864 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi/package.json
3865 verbose linkStuff [ true,
3865 verbose linkStuff '/usr/lib/node_modules',
3865 verbose linkStuff false,
3865 verbose linkStuff '/usr/lib/node_modules/bower/node_modules/chalk/node_modules' ]
3866 info linkStuff strip-ansi@0.1.1
3867 verbose linkBins strip-ansi@0.1.1
3868 verbose link bins [ { 'strip-ansi': 'cli.js' },
3868 verbose link bins '/usr/lib/node_modules/bower/node_modules/chalk/node_modules/.bin',
3868 verbose link bins false ]
3869 verbose linkMans strip-ansi@0.1.1
3870 verbose rebuildBundles strip-ansi@0.1.1
3871 silly gunzTarPerm extractEntry package.json
3872 silly lockFile 7f4ef3c0-dules-bower-node-modules-fstream /usr/lib/node_modules/bower/node_modules/fstream
3873 silly lockFile 7f4ef3c0-dules-bower-node-modules-fstream /usr/lib/node_modules/bower/node_modules/fstream
3874 silly gunzTarPerm extractEntry package.json
3875 silly addNameRange number 2 { name: 'lodash.debounce',
3875 silly addNameRange range: '>=2.4.1- <2.5.0-',
3875 silly addNameRange hasData: true }
3876 silly addNameRange versions [ 'lodash.debounce',
3876 silly addNameRange [ '2.0.0', '2.1.0', '2.2.0', '2.2.1', '2.3.0', '2.4.0', '2.4.1' ] ]
3877 verbose addNamed [ 'lodash.debounce', '2.4.1' ]
3878 verbose addNamed [ '2.4.1', '2.4.1' ]
3879 silly lockFile 11c94548-lodash-debounce-2-4-1 lodash.debounce@2.4.1
3880 verbose lock lodash.debounce@2.4.1 /root/.npm/11c94548-lodash-debounce-2-4-1.lock
3881 silly lockFile d63623b5-t-npm-fstream-0-1-25-package-tgz /root/.npm/fstream/0.1.25/package.tgz
3882 silly lockFile d63623b5-t-npm-fstream-0-1-25-package-tgz /root/.npm/fstream/0.1.25/package.tgz
3883 silly gunzTarPerm extractEntry .npmignore
3884 silly gunzTarPerm extractEntry README.md
3885 silly lockFile 098b530d-async-0-2-10 async@0.2.10
3886 silly lockFile 098b530d-async-0-2-10 async@0.2.10
3887 verbose read json /root/.npm/lodash.debounce/2.4.1/package/package.json
3888 silly gunzTarPerm extractEntry configstore.js
3889 silly gunzTarPerm extractEntry readme.md
3890 info install strip-ansi@0.1.1
3891 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
3892 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
3893 info preinstall fstream@0.1.25
3894 info postinstall strip-ansi@0.1.1
3895 verbose from cache /usr/lib/node_modules/bower/node_modules/fstream/package.json
3896 verbose about to build /usr/lib/node_modules/bower/node_modules/chalk
3897 info build /usr/lib/node_modules/bower/node_modules/chalk
3898 verbose from cache /usr/lib/node_modules/bower/node_modules/chalk/package.json
3899 verbose linkStuff [ true,
3899 verbose linkStuff '/usr/lib/node_modules',
3899 verbose linkStuff false,
3899 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
3900 info linkStuff chalk@0.4.0
3901 verbose linkBins chalk@0.4.0
3902 verbose linkMans chalk@0.4.0
3903 verbose rebuildBundles chalk@0.4.0
3904 verbose readDependencies using package.json deps
3905 verbose from cache /usr/lib/node_modules/bower/node_modules/fstream/package.json
3906 verbose read json /usr/lib/node_modules/bower/node_modules/glob/package.json
3907 verbose rebuildBundles [ '.bin', 'ansi-styles', 'has-color', 'strip-ansi' ]
3908 info install chalk@0.4.0
3909 verbose readDependencies using package.json deps
3910 info postinstall chalk@0.4.0
3911 silly gunzTarPerm extractEntry LICENSE
3912 verbose cache add [ 'inherits@~2.0.0', null ]
3913 verbose cache add name=undefined spec="inherits@~2.0.0" args=["inherits@~2.0.0",null]
3914 verbose parsed url { protocol: null,
3914 verbose parsed url slashes: null,
3914 verbose parsed url auth: null,
3914 verbose parsed url host: null,
3914 verbose parsed url port: null,
3914 verbose parsed url hostname: null,
3914 verbose parsed url hash: null,
3914 verbose parsed url search: null,
3914 verbose parsed url query: null,
3914 verbose parsed url pathname: 'inherits@~2.0.0',
3914 verbose parsed url path: 'inherits@~2.0.0',
3914 verbose parsed url href: 'inherits@~2.0.0' }
3915 verbose cache add name="inherits" spec="~2.0.0" args=["inherits","~2.0.0"]
3916 verbose parsed url { protocol: null,
3916 verbose parsed url slashes: null,
3916 verbose parsed url auth: null,
3916 verbose parsed url host: null,
3916 verbose parsed url port: null,
3916 verbose parsed url hostname: null,
3916 verbose parsed url hash: null,
3916 verbose parsed url search: null,
3916 verbose parsed url query: null,
3916 verbose parsed url pathname: '~2.0.0',
3916 verbose parsed url path: '~2.0.0',
3916 verbose parsed url href: '~2.0.0' }
3917 verbose addNamed [ 'inherits', '~2.0.0' ]
3918 verbose addNamed [ null, '>=2.0.0- <2.1.0-' ]
3919 silly lockFile e2566bb4-inherits-2-0-0 inherits@~2.0.0
3920 verbose lock inherits@~2.0.0 /root/.npm/e2566bb4-inherits-2-0-0.lock
3921 silly gunzTarPerm extractEntry index.js
3922 silly lockFile 11c94548-lodash-debounce-2-4-1 lodash.debounce@2.4.1
3923 silly lockFile 11c94548-lodash-debounce-2-4-1 lodash.debounce@2.4.1
3924 silly addNameRange { name: 'inherits', range: '>=2.0.0- <2.1.0-', hasData: false }
3925 silly lockFile c867b369-lodash-debounce-2-4-1 lodash.debounce@~2.4.1
3926 silly lockFile c867b369-lodash-debounce-2-4-1 lodash.debounce@~2.4.1
3927 silly resolved [ { name: 'request',
3927 silly resolved description: 'Simplified HTTP request client.',
3927 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
3927 silly resolved version: '2.27.0',
3927 silly resolved author: { name: 'Mikeal Rogers', email: 'mikeal.rogers@gmail.com' },
3927 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
3927 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
3927 silly resolved engines: [ 'node >= 0.8.0' ],
3927 silly resolved main: 'index.js',
3927 silly resolved dependencies:
3927 silly resolved { qs: '~0.6.0',
3927 silly resolved 'json-stringify-safe': '~5.0.0',
3927 silly resolved 'forever-agent': '~0.5.0',
3927 silly resolved 'tunnel-agent': '~0.3.0',
3927 silly resolved 'http-signature': '~0.10.0',
3927 silly resolved hawk: '~1.0.0',
3927 silly resolved 'aws-sign': '~0.3.0',
3927 silly resolved 'oauth-sign': '~0.3.0',
3927 silly resolved 'cookie-jar': '~0.3.0',
3927 silly resolved 'node-uuid': '~1.4.0',
3927 silly resolved mime: '~1.2.9',
3927 silly resolved 'form-data': '~0.1.0' },
3927 silly resolved scripts: { test: 'node tests/run.js' },
3927 silly resolved readme: '# Request -- Simplified HTTP client\n\n[![NPM](https://nodei.co/npm/request.png)](https://nodei.co/npm/request/)\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require(\'request\');\nrequest(\'http://www.google.com\', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest(\'http://google.com/doodle.png\').pipe(fs.createWriteStream(\'doodle.png\'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types, in this case `application/json`, and use the proper content-type in the PUT request if one is not already provided in the headers.\n\n```javascript\nfs.createReadStream(\'file.json\').pipe(request.put(\'http://mysite.com/obj.json\'))\n```\n\nRequest can also pipe to itself. When doing so the content-type and content-length will be preserved in the PUT headers.\n\n```javascript\nrequest.get(\'http://google.com/img.png\').pipe(request.put(\'http://mysite.com/img.png\'))\n```\n\nNow let\'s get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n if (req.method === \'PUT\') {\n req.pipe(request.put(\'http://mysite.com/doodle.png\'))\n } else if (req.method === \'GET\' || req.method === \'HEAD\') {\n request.get(\'http://mysite.com/doodle.png\').pipe(resp)\n }\n }\n})\n```\n\nYou can also pipe() from a http.ServerRequest instance and to a http.ServerResponse instance. The HTTP method and headers will be sent as well as the entity-body data. Which means that, if you don\'t really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n var x = request(\'http://mysite.com/doodle.png\')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since pipe() returns the destination stream in node 0.5.x you can do one line proxying :)\n\n```javascript\nreq.pipe(request(\'http://mysite.com/doodle.png\')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({\'proxy\':\'http://localproxy.com\'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n r.get(\'http://google.com/doodle.png\').pipe(resp)\n }\n})\n```\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nUrl encoded forms are simple\n\n```javascript\nrequest.post(\'http://service.com/upload\', {form:{key:\'value\'}})\n// or\nrequest.post(\'http://service.com/upload\').form({key:\'value\'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don\'t need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post(\'http://service.com/upload\')\nvar form = r.form()\nform.append(\'my_field\', \'my_value\')\nform.append(\'my_buffer\', new Buffer([1, 2, 3]))\nform.append(\'my_file\', fs.createReadStream(path.join(__dirname, \'doodle.png\'))\nform.append(\'remote_file\', request(\'http://google.com/doodle.png\'))\n```\n\n## HTTP Authentication\n\n```javascript\nrequest.get(\'http://some.server.com/\').auth(\'username\', \'password\', false);\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'user\': \'username\',\n \'pass\': \'password\',\n \'sendImmediately\': false\n }\n});\n```\n\nIf passed as an option, `auth` should be a hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional). The method form takes parameters `auth(username, password, sendImmediately)`.\n\n`sendImmediately` defaults to true, which will cause a basic authentication header to be sent. If `sendImmediately` is `false`, then `request` will retry with a proper authentication header after receiving a 401 response from the server (which must contain a `WWW-Authenticate` header indicating the required authentication method).\n\nDigest authentication is supported, but it only works with `sendImmediately` set to `false` (otherwise `request` will send basic authentication on the initial request, which will probably cause the request to fail).\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require(\'querystring\')\n , oauth =\n { callback: \'http://mysite.com/callback/\'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = \'https://api.twitter.com/oauth/request_token\'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Ideally, you would take the body in the response\n // and construct a URL that a user clicks on (like a sign in button).\n // The verifier is only available in the response after a user has\n // verified with twitter that they are authorizing your app.\n var access_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: access_token.oauth_verifier\n }\n , url = \'https://api.twitter.com/oauth/access_token\'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/1/users/show.json?\'\n , params =\n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n\n\n### request(options, callback)\n\nThe first argument can be either a url or an options object. The only required option is uri, all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from url.parse()\n* `qs` - object containing querystring values to be appended to the uri\n* `method` - http method, defaults to GET\n* `headers` - http headers, defaults to {}\n* `body` - entity body for PATCH, POST and PUT requests. Must be buffer or string.\n* `form` - when passed an object this will set `body` but to a querystring representation of value and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no option a FormData instance is returned that will be piped to request.\n* `auth` - A hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional). See documentation above.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as json.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects. defaults to true.\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects. defaults to false.\n* `maxRedirects` - the maximum number of redirects to follow, defaults to 10.\n* `encoding` - Encoding to be used on `setEncoding` of response data. If set to `null`, the body is returned as a Buffer.\n* `pool` - A hash object containing the agents for these requests. If omitted this request will use the global pool which is set to node\'s default maxSockets.\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\n* `proxy` - An HTTP proxy to be used. Support proxy Auth with Basic Auth the same way it\'s supported with the `url` parameter by embedding the auth info in the uri.\n* `oauth` - Options for OAuth HMAC-SHA1 signing, see documentation above.\n* `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).\n* `strictSSL` - Set to `true` to require that SSL certificates be valid. Note: to use your own certificate authority, you need to specify an agent that was created with that ca as an option.\n* `jar` - Set to `true` if you want cookies to be remembered for future use, or define your custom cookie jar (see examples section)\n* `aws` - object containing aws signing information, should have the properties `key` and `secret` as well as `bucket` unless you\'re specifying your bucket as part of the path, or you are making a request that doesn\'t use a bucket (i.e. GET Services)\n* `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent\'s library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.\n* `localAddress` - Local interface to bind for network connections.\n\n\nThe callback argument gets 3 arguments. The first is an error when applicable (usually from the http.Client option not the http.ClientRequest object). The second is an http.ClientResponse object. The third is the response body String or Buffer.\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options)\n\nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as request() but defaults to `method: "PUT"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.patch\n\nSame as request() but defaults to `method: "PATCH"`.\n\n```javascript\nrequest.patch(url)\n```\n\n### request.post\n\nSame as request() but defaults to `method: "POST"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: "HEAD"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as request() but defaults to `method: "DELETE"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nAlias to normal request method for uniformity.\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie(\'cookie_string_here\')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require(\'request\')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: \'PUT\'\n , uri: \'http://mikeal.iriscouch.com/testjs/\' + rand\n , multipart:\n [ { \'content-type\': \'application/json\'\n , body: JSON.stringify({foo: \'bar\', _attachments: {\'message.txt\': {follows: true, length: 18, \'content_type\': \'text/plain\' }}})\n }\n , { body: \'I am an attachment\' }\n ]\n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log(\'document saved as: http://mikeal.iriscouch.com/testjs/\'+ rand)\n } else {\n console.log(\'error: \'+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\nCookies are disabled by default (else, they would be used in subsequent requests). To enable cookies set jar to true (either in defaults or in the options sent).\n\n```javascript\nvar request = request.defaults({jar: true})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nIf you to use a custom cookie jar (instead of letting request use its own global cookie jar) you do so by setting the jar default or by specifying it as an option:\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie(\'your_cookie_here\')\nj.add(cookie)\nrequest({url: \'http://www.google.com\', jar: j}, function () {\n request(\'http://images.google.com\')\n})\n```\n',
3927 silly resolved readmeFilename: 'README.md',
3927 silly resolved _id: 'request@2.27.0',
3927 silly resolved _from: 'request@~2.27.0' },
3927 silly resolved { name: 'configstore',
3927 silly resolved version: '0.2.3',
3927 silly resolved description: 'Easily load and save config without having to think about where and how',
3927 silly resolved keywords:
3927 silly resolved [ 'conf',
3927 silly resolved 'config',
3927 silly resolved 'configuration',
3927 silly resolved 'settings',
3927 silly resolved 'store',
3927 silly resolved 'editable',
3927 silly resolved 'yaml',
3927 silly resolved 'yml' ],
3927 silly resolved homepage: 'https://github.com/yeoman/configstore',
3927 silly resolved bugs: 'https://github.com/yeoman/configstore/issues',
3927 silly resolved author:
3927 silly resolved { name: 'Sindre Sorhus',
3927 silly resolved email: 'sindresorhus@gmail.com',
3927 silly resolved url: 'http://sindresorhus.com' },
3927 silly resolved main: 'configstore.js',
3927 silly resolved repository: { type: 'git', url: 'git://github.com/yeoman/configstore.git' },
3927 silly resolved scripts: { test: 'mocha' },
3927 silly resolved engines: { node: '>=0.10.0' },
3927 silly resolved licenses: [ [Object] ],
3927 silly resolved dependencies:
3927 silly resolved { mkdirp: '~0.3.5',
3927 silly resolved 'js-yaml': '~3.0.1',
3927 silly resolved osenv: '0.0.3',
3927 silly resolved 'graceful-fs': '~2.0.1',
3927 silly resolved uuid: '~1.4.1',
3927 silly resolved 'object-assign': '~0.1.1' },
3927 silly resolved devDependencies: { mocha: '*' },
3927 silly resolved files: [ 'configstore.js' ],
3927 silly resolved readme: '# configstore [![Build Status](https://secure.travis-ci.org/yeoman/configstore.png?branch=master)](http://travis-ci.org/yeoman/configstore)\n\nEasily load and persist config without having to think about where and how.\n\nConfig is stored in a YAML file to make it simple for users to edit the config directly themselves. The file is located in `$XDG_CONFIG_HOME` or `~/.config`. Eg: `~/.config/configstore/id-of-your-choosing.yml`\n\n\n## Example usage\n\n```js\nvar Configstore = require(\'configstore\');\nvar packageName = require(\'./package\').name;\n\n// Init a Configstore instance with an unique ID eg. package name\n// and optionally some default values\nvar conf = new Configstore(packageName, { foo: \'bar\' });\n\nconf.set(\'awesome\', true);\nconsole.log(conf.get(\'awesome\')); // true\nconsole.log(conf.get(\'foo\')); // bar\n\nconf.del(\'awesome\');\nconsole.log(conf.get(\'awesome\')); // undefined\n```\n\n\n## Documentation\n\n### Methods\n\n#### .set(key, val)\n\nSet an item\n\n#### .get(key)\n\nGet an item\n\n#### .del(key)\n\nDelete an item\n\n### Properties\n\n#### .all\n\nGet all items as an object or replace the current config with an object:\n\n```js\nconf.all = {\n\thello: \'world\'\n};\n```\n\n#### .size\n\nGet the item count\n\n#### .path\n\nGet the path to the config file. Can be used to show the user where the config file is located or even better open it for them.\n\n\n## License\n\n[BSD license](http://opensource.org/licenses/bsd-license.php) \nCopyright Google\n',
3927 silly resolved readmeFilename: 'readme.md',
3927 silly resolved _id: 'configstore@0.2.3',
3927 silly resolved _from: 'configstore@~0.2.2' },
3927 silly resolved { name: 'object-assign',
3927 silly resolved version: '0.1.2',
3927 silly resolved description: 'ES6 Object.assign() ponyfill',
3927 silly resolved license: 'MIT',
3927 silly resolved main: 'object-assign.js',
3927 silly resolved repository: { type: 'git', url: 'sindresorhus/object-assign' },
3927 silly resolved author:
3927 silly resolved { name: 'Sindre Sorhus',
3927 silly resolved email: 'sindresorhus@gmail.com',
3927 silly resolved url: 'http://sindresorhus.com' },
3927 silly resolved engines: { node: '>=0.10.0' },
3927 silly resolved scripts: { test: 'mocha' },
3927 silly resolved files: [ 'object-assign.js' ],
3927 silly resolved keywords:
3927 silly resolved [ 'object',
3927 silly resolved 'assign',
3927 silly resolved 'extend',
3927 silly resolved 'properties',
3927 silly resolved 'es6',
3927 silly resolved 'ecmascript',
3927 silly resolved 'harmony',
3927 silly resolved 'ponyfill',
3927 silly resolved 'prollyfill',
3927 silly resolved 'polyfill',
3927 silly resolved 'shim',
3927 silly resolved 'browser' ],
3927 silly resolved devDependencies: { mocha: '*' },
3927 silly resolved readme: '# object-assign [![Build Status](https://travis-ci.org/sindresorhus/object-assign.png?branch=master)](http://travis-ci.org/sindresorhus/object-assign)\n\n> ES6 [`Object.assign()`](http://www.2ality.com/2014/01/object-assign.html) ponyfill\n\nI would love for this to be a fully compliant polyfill, but I have no idea how to read the [ES6 spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign). Help appreciated :)\n\n> Ponyfill: An almost conforming polyfill which doesn\'t overwrite the native method\n\n\n## Install\n\nDownload [manually](https://github.com/sindresorhus/object-assign/releases) or with a package-manager.\n\n#### [npm](https://npmjs.org/package/object-assign)\n\n```\nnpm install --save object-assign\n```\n\n#### [Bower](http://bower.io)\n\n```\nbower install --save object-assign\n```\n\n#### [Component](https://github.com/component/component)\n\n```\ncomponent install sindresorhus/object-assign\n```\n\n\n## Example\n\n```js\nobjectAssign({foo: 0}, {bar: 1});\n//=> {foo: 0, bar: 1}\n\n// multiple sources\n[{bar: 1}, {baz: 2}].reduce(objectAssign, {foo: 0});\n//=> {foo: 0, bar: 1, baz: 2}\n```\n\n\n## API\n\n### objectAssign(target, source)\n\nAssigns enumerable own properties of the `source` object to the `target` object and returns the `target` object.\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n',
3927 silly resolved readmeFilename: 'readme.md',
3927 silly resolved _id: 'object-assign@0.1.2',
3927 silly resolved _from: 'object-assign@~0.1.2' },
3927 silly resolved { name: 'async',
3927 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
3927 silly resolved main: './lib/async',
3927 silly resolved author: { name: 'Caolan McMahon' },
3927 silly resolved version: '0.2.10',
3927 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
3927 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
3927 silly resolved licenses: [ [Object] ],
3927 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
3927 silly resolved jam: { main: 'lib/async.js', include: [Object] },
3927 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
3927 silly resolved readme: '# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual \'functional\'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n\nasync.filter([\'file1\',\'file2\',\'file3\'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n\nasync.parallel([\n function(){ ... },\n function(){ ... }\n], callback);\n\nasync.series([\n function(){ ... },\n function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn\'t working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n squareExponent: 2,\n square: function(number, callback){ \n var result = Math.pow(number, this.squareExponent);\n setTimeout(function(){\n callback(null, result);\n }, 200);\n }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n // result is [NaN, NaN, NaN]\n // This fails because the `this.squareExponent` expression in the square\n // function is not evaluated in the context of AsyncSquaringLibrary, and is\n // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n // result is [1, 4, 9]\n // With the help of bind we can attach a context to the iterator before\n // passing it to async. Now the square function will be executed in its \n // \'home\' AsyncSquaringLibrary context and the value of `this.squareExponent`\n // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it\'s been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type="text/javascript" src="async.js"></script>\n<script type="text/javascript">\n\n async.map(data, asyncProcess, function(err, results){\n alert(results);\n });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [eachSeries](#eachSeries)\n* [eachLimit](#eachLimit)\n* [map](#map)\n* [mapSeries](#mapSeries)\n* [mapLimit](#mapLimit)\n* [filter](#filter)\n* [filterSeries](#filterSeries)\n* [reject](#reject)\n* [rejectSeries](#rejectSeries)\n* [reduce](#reduce)\n* [reduceRight](#reduceRight)\n* [detect](#detect)\n* [detectSeries](#detectSeries)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n* [concatSeries](#concatSeries)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [parallelLimit](#parallellimittasks-limit-callback)\n* [whilst](#whilst)\n* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [applyEachSeries](#applyEachSeries)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name="forEach" />\n<a name="each" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name="forEachSeries" />\n<a name="eachSeries" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name="forEachLimit" />\n<a name="eachLimit" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than "limit" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first "limit" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name="map" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name="mapSeries" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name="mapLimit" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than "limit" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first "limit" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.mapLimit([\'file1\',\'file2\',\'file3\'], 1, fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name="filter" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n```js\nasync.filter([\'file1\',\'file2\',\'file3\'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name="filterSeries" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name="reject" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name="rejectSeries" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name="reduce" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it\'s probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback(err, reduction) which accepts an optional error as its first \n argument, and the state of the reduction as the second. If an error is \n passed to the callback, the reduction is stopped and the main callback is \n immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n}, function(err, result){\n // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name="reduceRight" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name="detect" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name="detectSeries" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name="sortBy" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, sortValue) which must be called once it\n has completed with an error (which can be null) and a value to use as the sort\n criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy([\'file1\',\'file2\',\'file3\'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n}, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n});\n```\n\n---------------------------------------\n\n<a name="some" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name="every" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n```js\nasync.every([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name="concat" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, results) which must be called once it \n has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat([\'dir1\',\'dir2\',\'dir3\'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name="concatSeries" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name="series" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n function(callback){\n // do some stuff ...\n callback(null, \'one\');\n },\n function(callback){\n // do some more stuff ...\n callback(null, \'two\');\n }\n],\n// optional callback\nfunction(err, results){\n // results is now equal to [\'one\', \'two\']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name="parallel" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, \'one\');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, \'two\');\n }, 100);\n }\n],\n// optional callback\nfunction(err, results){\n // the results array will equal [\'one\',\'two\'] even though\n // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name="parallel" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of "limit" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first "limit" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name="whilst" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback(err) which must be called once it has completed with an \n optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n);\n```\n\n---------------------------------------\n\n<a name="doWhilst" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name="until" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name="doUntil" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name="forever" />\n### forever(fn, callback)\n\nCalls the asynchronous function \'fn\' repeatedly, in series, indefinitely.\nIf an error is passed to fn\'s callback then \'callback\' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name="waterfall" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n callback(err, result1, result2, ...) it must call on completion. The first\n argument is an error (which can be null) and any further arguments will be \n passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task\'s callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n function(callback){\n callback(null, \'one\', \'two\');\n },\n function(arg1, arg2, callback){\n callback(null, \'three\');\n },\n function(arg1, callback){\n // arg1 now equals \'three\'\n callback(null, \'done\');\n }\n], function (err, result) {\n // result now equals \'done\' \n});\n```\n\n---------------------------------------\n<a name="compose" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n setTimeout(function () {\n callback(null, n + 1);\n }, 10);\n}\n\nfunction mul3(n, callback) {\n setTimeout(function () {\n callback(null, n * 3);\n }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n // result now equals 15\n});\n```\n\n---------------------------------------\n<a name="applyEach" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], \'bucket\', callback);\n\n// partial application example:\nasync.each(\n buckets,\n async.applyEach([enableSearch, updateSchema]),\n callback\n);\n```\n\n---------------------------------------\n\n<a name="applyEachSeries" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name="queue" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task\'s callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task, which must call its callback(err) argument when finished, with an \n optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n console.log(\'hello \' + task.name);\n callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n console.log(\'all items have been processed\');\n}\n\n// add some items to the queue\n\nq.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\nq.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: \'baz\'},{name: \'bay\'},{name: \'bax\'}], function (err) {\n console.log(\'finished processing bar\');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\n```\n\n---------------------------------------\n\n<a name="cargo" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n queued tasks, which must call its callback(err) argument when finished, with \n an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n process per round. This property can be changed after a cargo is created to\n alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n for(var i=0; i<tasks.length; i++){\n console.log(\'hello \' + tasks[i].name);\n }\n callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\ncargo.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\ncargo.push({name: \'baz\'}, function (err) {\n console.log(\'finished processing baz\');\n});\n```\n\n---------------------------------------\n\n<a name="auto" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n readData: async.apply(fs.readFile, \'data.txt\', \'utf-8\')\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile(\'data.txt\', \'utf-8\', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n readData: function(cb, results){\n fs.readFile(\'data.txt\', \'utf-8\', cb);\n }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The \n function receives two arguments: (1) a callback(err, result) which must be \n called when finished, passing an error (which can be null) and the result of \n the function\'s execution, and (2) a results object, containing the results of\n the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n \n\n__Example__\n\n```js\nasync.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: [\'get_data\', \'make_folder\', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: [\'write_file\', function(callback, results){\n // once the file is written let\'s email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n],\nfunction(err, results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n function(callback){\n // once the file is written let\'s email a link to it...\n }\n ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name="iterator" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It\'s also possible to\n\'peek\' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n function(){ sys.p(\'one\'); },\n function(){ sys.p(\'two\'); },\n function(){ sys.p(\'three\'); }\n]);\n\nnode> var iterator2 = iterator();\n\'one\'\nnode> var iterator3 = iterator2();\n\'two\'\nnode> iterator3();\n\'three\'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n\'three\'\n```\n\n---------------------------------------\n\n<a name="apply" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n async.apply(fs.writeFile, \'testfile1\', \'test1\'),\n async.apply(fs.writeFile, \'testfile2\', \'test2\'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n function(callback){\n fs.writeFile(\'testfile1\', \'test1\', callback);\n },\n function(callback){\n fs.writeFile(\'testfile2\', \'test2\', callback);\n }\n]);\n```\n\nIt\'s possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, \'one\');\nnode> fn(\'two\', \'three\');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name="nextTick" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n call_order.push(\'two\');\n // call_order now equals [\'one\',\'two\']\n});\ncall_order.push(\'one\')\n```\n\n<a name="times" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n callback(null, {\n id: \'user\' + id\n })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n createUser(n, function(err, user) {\n next(err, user)\n })\n}, function(err, users) {\n // we should now have 5 users\n});\n```\n\n<a name="timesSeries" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name="memoize" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn(\'some name\', function () {\n // callback\n});\n```\n\n<a name="unmemoize" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name="log" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, \'hello \' + name);\n }, 1000);\n};\n```\n```js\nnode> async.log(hello, \'world\');\n\'hello world\'\n```\n\n---------------------------------------\n\n<a name="dir" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n};\n```\n```js\nnode> async.dir(hello, \'world\');\n{hello: \'world\'}\n```\n\n---------------------------------------\n\n<a name="noConflict" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n',
3927 silly resolved readmeFilename: 'README.md',
3927 silly resolved _id: 'async@0.2.10',
3927 silly resolved _from: 'async@~0.2.9' },
3927 silly resolved { name: 'lodash.debounce',
3927 silly resolved version: '2.4.1',
3927 silly resolved description: 'The Lo-Dash function `_.debounce` as a Node.js module generated by lodash-cli.',
3927 silly resolved homepage: 'http://lodash.com/custom-builds',
3927 silly resolved license: 'MIT',
3927 silly resolved keywords: [ 'functional', 'lodash', 'lodash-modularized', 'server', 'util' ],
3927 silly resolved author:
3927 silly resolved { name: 'John-David Dalton',
3927 silly resolved email: 'john.david.dalton@gmail.com',
3927 silly resolved url: 'http://allyoucanleet.com/' },
3927 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
3927 silly resolved bugs: 'https://github.com/lodash/lodash-cli/issues',
3927 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash-cli.git' },
3927 silly resolved dependencies:
3927 silly resolved { 'lodash.isfunction': '~2.4.1',
3927 silly resolved 'lodash.isobject': '~2.4.1',
3927 silly resolved 'lodash.now': '~2.4.1' },
3927 silly resolved readme: '# lodash.debounce v2.4.1\n\nThe [Lo-Dash](http://lodash.com/) function [`_.debounce`](http://lodash.com/docs#debounce) as a [Node.js](http://nodejs.org/) module generated by [lodash-cli](https://npmjs.org/package/lodash-cli).\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://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)](https://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)](https://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://www.iceddev.com/) | [Kit Cambridge](http://kitcambridge.be/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
3927 silly resolved readmeFilename: 'README.md',
3927 silly resolved _id: 'lodash.debounce@2.4.1',
3927 silly resolved _from: 'lodash.debounce@~2.4.1' } ]
3928 info install request@2.27.0 into /usr/lib/node_modules/bower/node_modules/insight
3929 info install configstore@0.2.3 into /usr/lib/node_modules/bower/node_modules/insight
3930 info install object-assign@0.1.2 into /usr/lib/node_modules/bower/node_modules/insight
3931 info install async@0.2.10 into /usr/lib/node_modules/bower/node_modules/insight
3932 info install lodash.debounce@2.4.1 into /usr/lib/node_modules/bower/node_modules/insight
3933 info installOne request@2.27.0
3934 info installOne configstore@0.2.3
3935 info installOne object-assign@0.1.2
3936 info installOne async@0.2.10
3937 info installOne lodash.debounce@2.4.1
3938 verbose from cache /root/.npm/request/2.27.0/package/package.json
3939 info /usr/lib/node_modules/bower/node_modules/insight/node_modules/request unbuild
3940 verbose read json /usr/lib/node_modules/bower/node_modules/insight/node_modules/request/package.json
3941 verbose from cache /root/.npm/configstore/0.2.3/package/package.json
3942 info /usr/lib/node_modules/bower/node_modules/insight/node_modules/configstore unbuild
3943 verbose read json /usr/lib/node_modules/bower/node_modules/insight/node_modules/configstore/package.json
3944 verbose from cache /root/.npm/object-assign/0.1.2/package/package.json
3945 info /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign unbuild
3946 verbose read json /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign/package.json
3947 verbose from cache /root/.npm/async/0.2.10/package/package.json
3948 info /usr/lib/node_modules/bower/node_modules/insight/node_modules/async unbuild
3949 verbose read json /usr/lib/node_modules/bower/node_modules/insight/node_modules/async/package.json
3950 verbose from cache /root/.npm/lodash.debounce/2.4.1/package/package.json
3951 info /usr/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce unbuild
3952 verbose read json /usr/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce/package.json
3953 verbose url raw inherits
3954 verbose url resolving [ 'https://registry.npmjs.org/', './inherits' ]
3955 verbose url resolved https://registry.npmjs.org/inherits
3956 info trying registry request attempt 1 at 23:07:49
3957 verbose etag "AOGM9R8UHMTA4Q3A77R3Y6L0C"
3958 http GET https://registry.npmjs.org/inherits
3959 silly lockFile dbad420e--modules-bower-node-modules-glob /usr/lib/node_modules/bower/node_modules/glob
3960 silly lockFile dbad420e--modules-bower-node-modules-glob /usr/lib/node_modules/bower/node_modules/glob
3961 silly gunzTarPerm extractEntry request.js
3962 silly gunzTarPerm extractEntry lib/copy.js
3963 verbose tar unpack /root/.npm/request/2.27.0/package.tgz
3964 silly lockFile 1de27d7b-les-insight-node-modules-request /usr/lib/node_modules/bower/node_modules/insight/node_modules/request
3965 verbose lock /usr/lib/node_modules/bower/node_modules/insight/node_modules/request /root/.npm/1de27d7b-les-insight-node-modules-request.lock
3966 silly lockFile c8b87620-t-npm-request-2-27-0-package-tgz /root/.npm/request/2.27.0/package.tgz
3967 verbose lock /root/.npm/request/2.27.0/package.tgz /root/.npm/c8b87620-t-npm-request-2-27-0-package-tgz.lock
3968 verbose tar unpack /root/.npm/configstore/0.2.3/package.tgz
3969 silly lockFile eb697dd7-insight-node-modules-configstore /usr/lib/node_modules/bower/node_modules/insight/node_modules/configstore
3970 verbose lock /usr/lib/node_modules/bower/node_modules/insight/node_modules/configstore /root/.npm/eb697dd7-insight-node-modules-configstore.lock
3971 silly lockFile da5726b9-pm-configstore-0-2-3-package-tgz /root/.npm/configstore/0.2.3/package.tgz
3972 verbose lock /root/.npm/configstore/0.2.3/package.tgz /root/.npm/da5726b9-pm-configstore-0-2-3-package-tgz.lock
3973 verbose tar unpack /root/.npm/object-assign/0.1.2/package.tgz
3974 silly lockFile 8d4b1d9a-sight-node-modules-object-assign /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign
3975 verbose lock /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign /root/.npm/8d4b1d9a-sight-node-modules-object-assign.lock
3976 silly lockFile fe08663b--object-assign-0-1-2-package-tgz /root/.npm/object-assign/0.1.2/package.tgz
3977 verbose lock /root/.npm/object-assign/0.1.2/package.tgz /root/.npm/fe08663b--object-assign-0-1-2-package-tgz.lock
3978 verbose tar unpack /root/.npm/async/0.2.10/package.tgz
3979 silly lockFile 251ab7bf-dules-insight-node-modules-async /usr/lib/node_modules/bower/node_modules/insight/node_modules/async
3980 verbose lock /usr/lib/node_modules/bower/node_modules/insight/node_modules/async /root/.npm/251ab7bf-dules-insight-node-modules-async.lock
3981 silly lockFile 5242c7f8-oot-npm-async-0-2-10-package-tgz /root/.npm/async/0.2.10/package.tgz
3982 verbose lock /root/.npm/async/0.2.10/package.tgz /root/.npm/5242c7f8-oot-npm-async-0-2-10-package-tgz.lock
3983 verbose tar unpack /root/.npm/lodash.debounce/2.4.1/package.tgz
3984 silly lockFile 3f17361b-ght-node-modules-lodash-debounce /usr/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce
3985 verbose lock /usr/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce /root/.npm/3f17361b-ght-node-modules-lodash-debounce.lock
3986 silly lockFile 7cfe71ec-odash-debounce-2-4-1-package-tgz /root/.npm/lodash.debounce/2.4.1/package.tgz
3987 verbose lock /root/.npm/lodash.debounce/2.4.1/package.tgz /root/.npm/7cfe71ec-odash-debounce-2-4-1-package-tgz.lock
3988 silly lockFile 29139465-root-npm-glob-3-2-11-package-tgz /root/.npm/glob/3.2.11/package.tgz
3989 silly lockFile 29139465-root-npm-glob-3-2-11-package-tgz /root/.npm/glob/3.2.11/package.tgz
3990 silly gunzTarPerm modes [ '755', '644' ]
3991 silly gunzTarPerm modes [ '755', '644' ]
3992 silly gunzTarPerm modes [ '755', '644' ]
3993 info preinstall glob@3.2.11
3994 silly gunzTarPerm extractEntry package.json
3995 verbose from cache /usr/lib/node_modules/bower/node_modules/glob/package.json
3996 silly gunzTarPerm extractEntry package.json
3997 silly gunzTarPerm extractEntry package.json
3998 verbose readDependencies using package.json deps
3999 verbose from cache /usr/lib/node_modules/bower/node_modules/glob/package.json
4000 verbose readDependencies using package.json deps
4001 silly gunzTarPerm extractEntry object-assign.js
4002 silly gunzTarPerm extractEntry readme.md
4003 silly gunzTarPerm extractEntry README.md
4004 silly gunzTarPerm extractEntry LICENSE
4005 silly gunzTarPerm extractEntry component.json
4006 silly gunzTarPerm extractEntry lib/async.js
4007 silly gunzTarPerm extractEntry README.md
4008 silly gunzTarPerm extractEntry index.js
4009 verbose cache add [ 'minimatch@0.3', null ]
4010 verbose cache add name=undefined spec="minimatch@0.3" args=["minimatch@0.3",null]
4011 verbose parsed url { protocol: null,
4011 verbose parsed url slashes: null,
4011 verbose parsed url auth: null,
4011 verbose parsed url host: null,
4011 verbose parsed url port: null,
4011 verbose parsed url hostname: null,
4011 verbose parsed url hash: null,
4011 verbose parsed url search: null,
4011 verbose parsed url query: null,
4011 verbose parsed url pathname: 'minimatch@0.3',
4011 verbose parsed url path: 'minimatch@0.3',
4011 verbose parsed url href: 'minimatch@0.3' }
4012 verbose cache add name="minimatch" spec="0.3" args=["minimatch","0.3"]
4013 verbose parsed url { protocol: null,
4013 verbose parsed url slashes: null,
4013 verbose parsed url auth: null,
4013 verbose parsed url host: null,
4013 verbose parsed url port: null,
4013 verbose parsed url hostname: null,
4013 verbose parsed url hash: null,
4013 verbose parsed url search: null,
4013 verbose parsed url query: null,
4013 verbose parsed url pathname: '0.3',
4013 verbose parsed url path: '0.3',
4013 verbose parsed url href: '0.3' }
4014 verbose addNamed [ 'minimatch', '0.3' ]
4015 verbose addNamed [ null, '>=0.3.0- <0.4.0-' ]
4016 silly lockFile d43e9cee-minimatch-0-3 minimatch@0.3
4017 verbose lock minimatch@0.3 /root/.npm/d43e9cee-minimatch-0-3.lock
4018 verbose cache add [ 'inherits@2', null ]
4019 verbose cache add name=undefined spec="inherits@2" args=["inherits@2",null]
4020 verbose parsed url { protocol: null,
4020 verbose parsed url slashes: null,
4020 verbose parsed url auth: null,
4020 verbose parsed url host: null,
4020 verbose parsed url port: null,
4020 verbose parsed url hostname: null,
4020 verbose parsed url hash: null,
4020 verbose parsed url search: null,
4020 verbose parsed url query: null,
4020 verbose parsed url pathname: 'inherits@2',
4020 verbose parsed url path: 'inherits@2',
4020 verbose parsed url href: 'inherits@2' }
4021 verbose cache add name="inherits" spec="2" args=["inherits","2"]
4022 verbose parsed url { protocol: null,
4022 verbose parsed url slashes: null,
4022 verbose parsed url auth: null,
4022 verbose parsed url host: null,
4022 verbose parsed url port: null,
4022 verbose parsed url hostname: null,
4022 verbose parsed url hash: null,
4022 verbose parsed url search: null,
4022 verbose parsed url query: null,
4022 verbose parsed url pathname: '2',
4022 verbose parsed url path: '2',
4022 verbose parsed url href: '2' }
4023 verbose addNamed [ 'inherits', '2' ]
4024 verbose read json /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore/package.json
4025 silly addNameRange { name: 'minimatch', range: '>=0.3.0- <0.4.0-', hasData: false }
4026 verbose url raw minimatch
4027 verbose url resolving [ 'https://registry.npmjs.org/', './minimatch' ]
4028 verbose url resolved https://registry.npmjs.org/minimatch
4029 info trying registry request attempt 1 at 23:07:49
4030 verbose etag "64HZ0LR2MPZLWRRTTBF60QUIU"
4031 http GET https://registry.npmjs.org/minimatch
4032 silly gunzTarPerm extractEntry LICENSE.txt
4033 silly lockFile de417c76-otifier-node-modules-configstore /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore
4034 silly lockFile de417c76-otifier-node-modules-configstore /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore
4035 verbose read json /usr/lib/node_modules/bower/node_modules/semver/package.json
4036 silly lockFile da5726b9-pm-configstore-0-2-3-package-tgz /root/.npm/configstore/0.2.3/package.tgz
4037 silly lockFile da5726b9-pm-configstore-0-2-3-package-tgz /root/.npm/configstore/0.2.3/package.tgz
4038 info preinstall configstore@0.2.3
4039 silly gunzTarPerm extractEntry lib/debug.js
4040 silly gunzTarPerm extractEntry lib/getSafe.js
4041 silly gunzTarPerm modes [ '755', '644' ]
4042 verbose from cache /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore/package.json
4043 verbose readDependencies using package.json deps
4044 verbose from cache /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore/package.json
4045 verbose readDependencies using package.json deps
4046 silly lockFile 76d2f2f9-odules-bower-node-modules-semver /usr/lib/node_modules/bower/node_modules/semver
4047 silly lockFile 76d2f2f9-odules-bower-node-modules-semver /usr/lib/node_modules/bower/node_modules/semver
4048 verbose cache add [ 'object-assign@~0.1.1', null ]
4049 verbose cache add name=undefined spec="object-assign@~0.1.1" args=["object-assign@~0.1.1",null]
4050 verbose parsed url { protocol: null,
4050 verbose parsed url slashes: null,
4050 verbose parsed url auth: null,
4050 verbose parsed url host: null,
4050 verbose parsed url port: null,
4050 verbose parsed url hostname: null,
4050 verbose parsed url hash: null,
4050 verbose parsed url search: null,
4050 verbose parsed url query: null,
4050 verbose parsed url pathname: 'object-assign@~0.1.1',
4050 verbose parsed url path: 'object-assign@~0.1.1',
4050 verbose parsed url href: 'object-assign@~0.1.1' }
4051 verbose cache add name="object-assign" spec="~0.1.1" args=["object-assign","~0.1.1"]
4052 verbose parsed url { protocol: null,
4052 verbose parsed url slashes: null,
4052 verbose parsed url auth: null,
4052 verbose parsed url host: null,
4052 verbose parsed url port: null,
4052 verbose parsed url hostname: null,
4052 verbose parsed url hash: null,
4052 verbose parsed url search: null,
4052 verbose parsed url query: null,
4052 verbose parsed url pathname: '~0.1.1',
4052 verbose parsed url path: '~0.1.1',
4052 verbose parsed url href: '~0.1.1' }
4053 verbose addNamed [ 'object-assign', '~0.1.1' ]
4054 verbose addNamed [ null, '>=0.1.1- <0.2.0-' ]
4055 silly lockFile df79a3d7-object-assign-0-1-1 object-assign@~0.1.1
4056 verbose lock object-assign@~0.1.1 /root/.npm/df79a3d7-object-assign-0-1-1.lock
4057 verbose cache add [ 'js-yaml@~3.0.1', null ]
4058 verbose cache add name=undefined spec="js-yaml@~3.0.1" args=["js-yaml@~3.0.1",null]
4059 verbose parsed url { protocol: null,
4059 verbose parsed url slashes: null,
4059 verbose parsed url auth: null,
4059 verbose parsed url host: null,
4059 verbose parsed url port: null,
4059 verbose parsed url hostname: null,
4059 verbose parsed url hash: null,
4059 verbose parsed url search: null,
4059 verbose parsed url query: null,
4059 verbose parsed url pathname: 'js-yaml@~3.0.1',
4059 verbose parsed url path: 'js-yaml@~3.0.1',
4059 verbose parsed url href: 'js-yaml@~3.0.1' }
4060 verbose cache add name="js-yaml" spec="~3.0.1" args=["js-yaml","~3.0.1"]
4061 verbose parsed url { protocol: null,
4061 verbose parsed url slashes: null,
4061 verbose parsed url auth: null,
4061 verbose parsed url host: null,
4061 verbose parsed url port: null,
4061 verbose parsed url hostname: null,
4061 verbose parsed url hash: null,
4061 verbose parsed url search: null,
4061 verbose parsed url query: null,
4061 verbose parsed url pathname: '~3.0.1',
4061 verbose parsed url path: '~3.0.1',
4061 verbose parsed url href: '~3.0.1' }
4062 verbose addNamed [ 'js-yaml', '~3.0.1' ]
4063 verbose addNamed [ null, '>=3.0.1- <3.1.0-' ]
4064 silly lockFile 48adea8c-js-yaml-3-0-1 js-yaml@~3.0.1
4065 verbose lock js-yaml@~3.0.1 /root/.npm/48adea8c-js-yaml-3-0-1.lock
4066 verbose cache add [ 'uuid@~1.4.1', null ]
4067 verbose cache add name=undefined spec="uuid@~1.4.1" args=["uuid@~1.4.1",null]
4068 verbose parsed url { protocol: null,
4068 verbose parsed url slashes: null,
4068 verbose parsed url auth: null,
4068 verbose parsed url host: null,
4068 verbose parsed url port: null,
4068 verbose parsed url hostname: null,
4068 verbose parsed url hash: null,
4068 verbose parsed url search: null,
4068 verbose parsed url query: null,
4068 verbose parsed url pathname: 'uuid@~1.4.1',
4068 verbose parsed url path: 'uuid@~1.4.1',
4068 verbose parsed url href: 'uuid@~1.4.1' }
4069 verbose cache add name="uuid" spec="~1.4.1" args=["uuid","~1.4.1"]
4070 verbose parsed url { protocol: null,
4070 verbose parsed url slashes: null,
4070 verbose parsed url auth: null,
4070 verbose parsed url host: null,
4070 verbose parsed url port: null,
4070 verbose parsed url hostname: null,
4070 verbose parsed url hash: null,
4070 verbose parsed url search: null,
4070 verbose parsed url query: null,
4070 verbose parsed url pathname: '~1.4.1',
4070 verbose parsed url path: '~1.4.1',
4070 verbose parsed url href: '~1.4.1' }
4071 verbose addNamed [ 'uuid', '~1.4.1' ]
4072 verbose addNamed [ null, '>=1.4.1- <1.5.0-' ]
4073 silly lockFile bc91a07e-uuid-1-4-1 uuid@~1.4.1
4074 verbose lock uuid@~1.4.1 /root/.npm/bc91a07e-uuid-1-4-1.lock
4075 silly addNameRange { name: 'object-assign',
4075 silly addNameRange range: '>=0.1.1- <0.2.0-',
4075 silly addNameRange hasData: false }
4076 silly addNameRange { name: 'js-yaml', range: '>=3.0.1- <3.1.0-', hasData: false }
4077 silly addNameRange { name: 'uuid', range: '>=1.4.1- <1.5.0-', hasData: false }
4078 silly lockFile 760b1963-oot-npm-semver-2-2-1-package-tgz /root/.npm/semver/2.2.1/package.tgz
4079 silly lockFile 760b1963-oot-npm-semver-2-2-1-package-tgz /root/.npm/semver/2.2.1/package.tgz
4080 silly gunzTarPerm extractEntry package.json
4081 verbose read json /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign/package.json
4082 silly gunzTarPerm extractEntry configstore.js
4083 silly gunzTarPerm extractEntry readme.md
4084 verbose registry.get object-assign not expired, no request
4085 silly addNameRange number 2 { name: 'object-assign',
4085 silly addNameRange range: '>=0.1.1- <0.2.0-',
4085 silly addNameRange hasData: true }
4086 silly addNameRange versions [ 'object-assign',
4086 silly addNameRange [ '0.1.0',
4086 silly addNameRange '0.1.1',
4086 silly addNameRange '0.1.2',
4086 silly addNameRange '0.2.0',
4086 silly addNameRange '0.2.1',
4086 silly addNameRange '0.2.2',
4086 silly addNameRange '0.3.0',
4086 silly addNameRange '0.3.1' ] ]
4087 verbose addNamed [ 'object-assign', '0.1.2' ]
4088 verbose addNamed [ '0.1.2', '0.1.2' ]
4089 silly lockFile 77d90afb-object-assign-0-1-2 object-assign@0.1.2
4090 verbose lock object-assign@0.1.2 /root/.npm/77d90afb-object-assign-0-1-2.lock
4091 verbose url raw js-yaml
4092 verbose url resolving [ 'https://registry.npmjs.org/', './js-yaml' ]
4093 verbose url resolved https://registry.npmjs.org/js-yaml
4094 info trying registry request attempt 1 at 23:07:49
4095 verbose etag "3WYNQ9AS8ZV96KJG62Y87DFW1"
4096 http GET https://registry.npmjs.org/js-yaml
4097 verbose url raw uuid
4098 verbose url resolving [ 'https://registry.npmjs.org/', './uuid' ]
4099 verbose url resolved https://registry.npmjs.org/uuid
4100 info trying registry request attempt 1 at 23:07:49
4101 verbose etag "DK3VO0OM7LPV3A1KXC77YNNVK"
4102 http GET https://registry.npmjs.org/uuid
4103 info preinstall semver@2.2.1
4104 verbose from cache /root/.npm/object-assign/0.1.2/package/package.json
4105 silly lockFile 77d90afb-object-assign-0-1-2 object-assign@0.1.2
4106 silly lockFile 77d90afb-object-assign-0-1-2 object-assign@0.1.2
4107 verbose from cache /usr/lib/node_modules/bower/node_modules/semver/package.json
4108 verbose readDependencies using package.json deps
4109 verbose from cache /usr/lib/node_modules/bower/node_modules/semver/package.json
4110 silly lockFile df79a3d7-object-assign-0-1-1 object-assign@~0.1.1
4111 silly lockFile df79a3d7-object-assign-0-1-1 object-assign@~0.1.1
4112 verbose readDependencies using package.json deps
4113 silly resolved []
4114 verbose about to build /usr/lib/node_modules/bower/node_modules/semver
4115 info build /usr/lib/node_modules/bower/node_modules/semver
4116 verbose from cache /usr/lib/node_modules/bower/node_modules/semver/package.json
4117 verbose linkStuff [ true,
4117 verbose linkStuff '/usr/lib/node_modules',
4117 verbose linkStuff false,
4117 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
4118 info linkStuff semver@2.2.1
4119 verbose linkBins semver@2.2.1
4120 verbose link bins [ { semver: './bin/semver' },
4120 verbose link bins '/usr/lib/node_modules/bower/node_modules/.bin',
4120 verbose link bins false ]
4121 verbose linkMans semver@2.2.1
4122 verbose rebuildBundles semver@2.2.1
4123 silly lockFile 8d4b1d9a-sight-node-modules-object-assign /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign
4124 silly lockFile 8d4b1d9a-sight-node-modules-object-assign /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign
4125 http 304 https://registry.npmjs.org/optimist
4126 silly registry.get cb [ 304,
4126 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
4126 silly registry.get server: 'Apache',
4126 silly registry.get via: '1.1 varnish',
4126 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:32 GMT',
4126 silly registry.get 'cache-control': 'max-age=1',
4126 silly registry.get etag: '"1IKU6GRZMZDCQ2MB3C2XUCU7G"',
4126 silly registry.get 'x-served-by': 'cache-sn89-SIN',
4126 silly registry.get 'x-cache': 'HIT',
4126 silly registry.get 'x-cache-hits': '1',
4126 silly registry.get 'x-timer': 'S1400857651.769214,VS0,VE256',
4126 silly registry.get vary: 'Accept',
4126 silly registry.get 'content-length': '0',
4126 silly registry.get 'keep-alive': 'timeout=10, max=49',
4126 silly registry.get connection: 'Keep-Alive' } ]
4127 verbose etag optimist from cache
4128 silly lockFile fe08663b--object-assign-0-1-2-package-tgz /root/.npm/object-assign/0.1.2/package.tgz
4129 silly lockFile fe08663b--object-assign-0-1-2-package-tgz /root/.npm/object-assign/0.1.2/package.tgz
4130 http 304 https://registry.npmjs.org/read
4131 silly registry.get cb [ 304,
4131 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
4131 silly registry.get server: 'Apache',
4131 silly registry.get via: '1.1 varnish',
4131 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:32 GMT',
4131 silly registry.get 'cache-control': 'max-age=1',
4131 silly registry.get etag: '"AX4MIK1433873MQ2X0SOFZUZH"',
4131 silly registry.get 'x-served-by': 'cache-sn86-SIN',
4131 silly registry.get 'x-cache': 'HIT',
4131 silly registry.get 'x-cache-hits': '1',
4131 silly registry.get 'x-timer': 'S1400857651.760320,VS0,VE275',
4131 silly registry.get vary: 'Accept',
4131 silly registry.get 'content-length': '0',
4131 silly registry.get 'keep-alive': 'timeout=10, max=49',
4131 silly registry.get connection: 'Keep-Alive' } ]
4132 verbose etag read from cache
4133 info install semver@2.2.1
4134 info postinstall semver@2.2.1
4135 silly gunzTarPerm extractEntry tests/test-https-strict.js
4136 silly gunzTarPerm extractEntry tests/test-headers.js
4137 info preinstall object-assign@0.1.2
4138 verbose read json /usr/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce/package.json
4139 silly addNameRange number 2 { name: 'optimist', range: '>=0.6.0- <0.7.0-', hasData: true }
4140 silly addNameRange versions [ 'optimist',
4140 silly addNameRange [ '0.0.1',
4140 silly addNameRange '0.0.2',
4140 silly addNameRange '0.0.4',
4140 silly addNameRange '0.0.5',
4140 silly addNameRange '0.0.6',
4140 silly addNameRange '0.0.7',
4140 silly addNameRange '0.1.0',
4140 silly addNameRange '0.1.1',
4140 silly addNameRange '0.1.2',
4140 silly addNameRange '0.1.3',
4140 silly addNameRange '0.1.4',
4140 silly addNameRange '0.1.5',
4140 silly addNameRange '0.1.6',
4140 silly addNameRange '0.1.7',
4140 silly addNameRange '0.1.8',
4140 silly addNameRange '0.1.9',
4140 silly addNameRange '0.0.3',
4140 silly addNameRange '0.2.0',
4140 silly addNameRange '0.2.1',
4140 silly addNameRange '0.2.2',
4140 silly addNameRange '0.2.3',
4140 silly addNameRange '0.2.4',
4140 silly addNameRange '0.2.5',
4140 silly addNameRange '0.2.6',
4140 silly addNameRange '0.2.7',
4140 silly addNameRange '0.2.8',
4140 silly addNameRange '0.3.0',
4140 silly addNameRange '0.3.1',
4140 silly addNameRange '0.3.3',
4140 silly addNameRange '0.3.4',
4140 silly addNameRange '0.3.5',
4140 silly addNameRange '0.3.6',
4140 silly addNameRange '0.3.7',
4140 silly addNameRange '0.4.0',
4140 silly addNameRange '0.5.0',
4140 silly addNameRange '0.5.1',
4140 silly addNameRange '0.5.2',
4140 silly addNameRange '0.6.0',
4140 silly addNameRange '0.6.1' ] ]
4141 verbose addNamed [ 'optimist', '0.6.1' ]
4142 verbose addNamed [ '0.6.1', '0.6.1' ]
4143 silly lockFile 0fc74eb8-optimist-0-6-1 optimist@0.6.1
4144 verbose lock optimist@0.6.1 /root/.npm/0fc74eb8-optimist-0-6-1.lock
4145 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign/package.json
4146 silly addNameRange number 2 { name: 'read', range: '>=1.0.4- <1.1.0-', hasData: true }
4147 silly addNameRange versions [ 'read',
4147 silly addNameRange [ '0.0.1',
4147 silly addNameRange '0.0.2',
4147 silly addNameRange '0.0.3',
4147 silly addNameRange '0.1.0',
4147 silly addNameRange '0.1.1',
4147 silly addNameRange '1.0.0',
4147 silly addNameRange '1.0.1',
4147 silly addNameRange '1.0.2',
4147 silly addNameRange '1.0.3',
4147 silly addNameRange '1.0.4',
4147 silly addNameRange '1.0.5' ] ]
4148 verbose addNamed [ 'read', '1.0.5' ]
4149 verbose addNamed [ '1.0.5', '1.0.5' ]
4150 silly lockFile 4450a55a-read-1-0-5 read@1.0.5
4151 verbose lock read@1.0.5 /root/.npm/4450a55a-read-1-0-5.lock
4152 verbose readDependencies using package.json deps
4153 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign/package.json
4154 verbose read json /root/.npm/optimist/0.6.1/package/package.json
4155 verbose readDependencies using package.json deps
4156 silly resolved []
4157 verbose about to build /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign
4158 info build /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign
4159 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/node_modules/object-assign/package.json
4160 verbose linkStuff [ true,
4160 verbose linkStuff '/usr/lib/node_modules',
4160 verbose linkStuff false,
4160 verbose linkStuff '/usr/lib/node_modules/bower/node_modules/insight/node_modules' ]
4161 info linkStuff object-assign@0.1.2
4162 verbose linkBins object-assign@0.1.2
4163 verbose linkMans object-assign@0.1.2
4164 verbose rebuildBundles object-assign@0.1.2
4165 verbose read json /root/.npm/read/1.0.5/package/package.json
4166 info install object-assign@0.1.2
4167 info postinstall object-assign@0.1.2
4168 verbose read json /usr/lib/node_modules/bower/node_modules/bower-registry-client/package.json
4169 silly lockFile 3f17361b-ght-node-modules-lodash-debounce /usr/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce
4170 silly lockFile 3f17361b-ght-node-modules-lodash-debounce /usr/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce
4171 silly lockFile 7cfe71ec-odash-debounce-2-4-1-package-tgz /root/.npm/lodash.debounce/2.4.1/package.tgz
4172 silly lockFile 7cfe71ec-odash-debounce-2-4-1-package-tgz /root/.npm/lodash.debounce/2.4.1/package.tgz
4173 silly lockFile 0fc74eb8-optimist-0-6-1 optimist@0.6.1
4174 silly lockFile 0fc74eb8-optimist-0-6-1 optimist@0.6.1
4175 verbose read json /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q/package.json
4176 silly lockFile 4450a55a-read-1-0-5 read@1.0.5
4177 silly lockFile 4450a55a-read-1-0-5 read@1.0.5
4178 verbose read json /usr/lib/node_modules/bower/node_modules/insight/node_modules/configstore/package.json
4179 silly lockFile 07193858-optimist-0-6-0 optimist@~0.6.0
4180 silly lockFile 07193858-optimist-0-6-0 optimist@~0.6.0
4181 silly lockFile 8e7fcd4d-read-1-0-4 read@~1.0.4
4182 silly lockFile 8e7fcd4d-read-1-0-4 read@~1.0.4
4183 http 304 https://registry.npmjs.org/throttleit
4184 silly registry.get cb [ 304,
4184 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
4184 silly registry.get server: 'Apache',
4184 silly registry.get via: '1.1 varnish',
4184 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:32 GMT',
4184 silly registry.get 'cache-control': 'max-age=1',
4184 silly registry.get etag: '"EI7SQXHOA0X2YTNUSS6H1EA2F"',
4184 silly registry.get 'x-served-by': 'cache-sn86-SIN',
4184 silly registry.get 'x-cache': 'HIT',
4184 silly registry.get 'x-cache-hits': '1',
4184 silly registry.get 'x-timer': 'S1400857651.759675,VS0,VE329',
4184 silly registry.get vary: 'Accept',
4184 silly registry.get 'content-length': '0',
4184 silly registry.get 'keep-alive': 'timeout=10, max=48',
4184 silly registry.get connection: 'Keep-Alive' } ]
4185 verbose etag throttleit from cache
4186 silly gunzTarPerm extractEntry tests/test-http-signature.js
4187 silly gunzTarPerm extractEntry tests/test-httpModule.js
4188 info preinstall lodash.debounce@2.4.1
4189 silly resolved [ { name: 'optimist',
4189 silly resolved version: '0.6.1',
4189 silly resolved description: 'Light-weight option parsing with an argv hash. No optstrings attached.',
4189 silly resolved main: './index.js',
4189 silly resolved dependencies: { wordwrap: '~0.0.2', minimist: '~0.0.1' },
4189 silly resolved devDependencies: { hashish: '~0.0.4', tap: '~0.4.0' },
4189 silly resolved scripts: { test: 'tap ./test/*.js' },
4189 silly resolved repository:
4189 silly resolved { type: 'git',
4189 silly resolved url: 'http://github.com/substack/node-optimist.git' },
4189 silly resolved keywords:
4189 silly resolved [ 'argument',
4189 silly resolved 'args',
4189 silly resolved 'option',
4189 silly resolved 'parser',
4189 silly resolved 'parsing',
4189 silly resolved 'cli',
4189 silly resolved 'command' ],
4189 silly resolved author:
4189 silly resolved { name: 'James Halliday',
4189 silly resolved email: 'mail@substack.net',
4189 silly resolved url: 'http://substack.net' },
4189 silly resolved license: 'MIT/X11',
4189 silly resolved engine: { node: '>=0.4' },
4189 silly resolved readme: '# DEPRECATION NOTICE\n\nI don\'t want to maintain this module anymore since I just use\n[minimist](https://npmjs.org/package/minimist), the argument parsing engine,\ndirectly instead nowadays.\n\nSee [yargs](https://github.com/chevex/yargs) for the modern, pirate-themed\nsuccessor to optimist.\n\n[![yarrrrrrrgs!](http://i.imgur.com/4WFGVJ9.png)](https://github.com/chevex/yargs)\n\nYou should also consider [nomnom](https://github.com/harthur/nomnom).\n\noptimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn\'t have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n console.log(\'Buy more riffiwobbles\');\n}\nelse {\n console.log(\'Sell the xupptumblers\');\n}\n````\n\n***\n\n $ ./xup.js --rif=55 --xup=9.52\n Buy more riffiwobbles\n \n $ ./xup.js --rif 12 --xup 8.1\n Sell the xupptumblers\n\n![This one\'s optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There\'s more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\nconsole.log(\'(%d,%d)\', argv.x, argv.y);\n````\n\n***\n\n $ ./short.js -x 10 -y 21\n (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require(\'util\');\nvar argv = require(\'optimist\').argv;\n\nif (argv.s) {\n util.print(argv.fr ? \'Le chat dit: \' : \'The cat says: \');\n}\nconsole.log(\n (argv.fr ? \'miaou\' : \'meow\') + (argv.p ? \'.\' : \'\')\n);\n````\n\n***\n\n $ ./bool.js -s\n The cat says: meow\n \n $ ./bool.js -sp\n The cat says: meow.\n\n $ ./bool.js -sp --fr\n Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\nconsole.log(\'(%d,%d)\', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n $ ./nonopt.js -x 6.82 -y 3.35 moo\n (6.82,3.35)\n [ \'moo\' ]\n \n $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n (0.54,1.12)\n [ \'foo\', \'bar\', \'baz\' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .usage(\'Usage: $0 -x [num] -y [num]\')\n .demand([\'x\',\'y\'])\n .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n $ ./divide.js -x 55 -y 11\n 5\n \n $ node ./divide.js -x 4.91 -z 2.51\n Usage: node ./divide.js -x [num] -y [num]\n\n Options:\n -x [required]\n -y [required]\n\n Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .default(\'x\', 10)\n .default(\'y\', 10)\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_singles.js -x 5\n 15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .default({ x : 10, y : 10 })\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_hash.js -y 7\n 17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .boolean(\'v\')\n .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n $ ./boolean_single.js -v foo bar baz\n true\n [ \'bar\', \'baz\', \'foo\' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .boolean([\'x\',\'y\',\'z\'])\n .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_double.js -x -z one two three\n [ true, false, true ]\n [ \'one\', \'two\', \'three\' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .usage(\'Count the lines in a file.\\nUsage: $0\')\n .demand(\'f\')\n .alias(\'f\', \'file\')\n .describe(\'f\', \'Load a file\')\n .argv\n;\n\nvar fs = require(\'fs\');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on(\'data\', function (buf) {\n lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on(\'end\', function () {\n console.log(lines);\n});\n````\n\n***\n\n $ node line_count.js\n Count the lines in a file.\n Usage: node ./line_count.js\n\n Options:\n -f, --file Load a file [required]\n\n Missing required arguments: f\n\n $ node line_count.js --file line_count.js \n 20\n \n $ node line_count.js -f line_count.js \n 20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire(\'optimist\').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire(\'optimist\')([ \'-x\', \'1\', \'-y\', \'2\' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire(\'optimist\').parse([ \'-x\', \'1\', \'-y\', \'2\' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn\'t\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require(\'optimist\')\n .options(\'f\', {\n alias : \'file\',\n default : \'/etc/passwd\',\n })\n .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require(\'optimist\')\n .alias(\'f\', \'file\')\n .default(\'f\', \'/etc/passwd\')\n .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won\'t get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n { _: [ \'-c\', \'3\', \'-d\', \'4\' ],\n \'$0\': \'node ./examples/reflect.js\',\n a: 1,\n b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n $ node examples/reflect.js -a --no-b\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n a: true,\n b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n $ node examples/reflect.js -x 5 -x 8 -x 0\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n foo: { bar: { baz: 33 }, quux: 5 } }\n\nshort numbers\n-------------\n\nShort numeric `head -n5` style argument work too:\n\n $ node reflect.js -n123 -m456\n { \'3\': true,\n \'6\': true,\n _: [],\n \'$0\': \'node ./reflect.js\',\n n: 123,\n m: 456 }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n npm install optimist\n \nor clone this project on github:\n\n git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n \n expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl\'s\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n',
4189 silly resolved readmeFilename: 'readme.markdown',
4189 silly resolved _id: 'optimist@0.6.1',
4189 silly resolved _from: 'optimist@~0.6.0' } ]
4190 info install optimist@0.6.1 into /usr/lib/node_modules/bower/node_modules/bower-config
4191 info installOne optimist@0.6.1
4192 silly lockFile b38f56f3-de-modules-bower-registry-client /usr/lib/node_modules/bower/node_modules/bower-registry-client
4193 silly lockFile b38f56f3-de-modules-bower-registry-client /usr/lib/node_modules/bower/node_modules/bower-registry-client
4194 verbose from cache /root/.npm/optimist/0.6.1/package/package.json
4195 info /usr/lib/node_modules/bower/node_modules/bower-config/node_modules/optimist unbuild
4196 verbose read json /usr/lib/node_modules/bower/node_modules/bower-config/node_modules/optimist/package.json
4197 silly resolved [ { name: 'read',
4197 silly resolved version: '1.0.5',
4197 silly resolved main: 'lib/read.js',
4197 silly resolved dependencies: { 'mute-stream': '~0.0.4' },
4197 silly resolved devDependencies: { tap: '*' },
4197 silly resolved engines: { node: '>=0.8' },
4197 silly resolved author:
4197 silly resolved { name: 'Isaac Z. Schlueter',
4197 silly resolved email: 'i@izs.me',
4197 silly resolved url: 'http://blog.izs.me/' },
4197 silly resolved description: 'read(1) for node programs',
4197 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/read.git' },
4197 silly resolved license: 'BSD',
4197 silly resolved scripts: { test: 'tap test/*.js' },
4197 silly resolved readme: '## read\n\nFor reading user input from stdin.\n\nSimilar to the `readline` builtin\'s `question()` method, but with a\nfew more features.\n\n## USAGE\n\n```javascript\nvar read = require("read")\nread(options, callback)\n```\n\nThe callback gets called with either the user input, or the default\nspecified, or an error, as `callback(error, result, isDefault)`\nnode style.\n\n## OPTIONS\n\nEvery option is optional.\n\n* `prompt` What to write to stdout before reading input.\n* `silent` Don\'t echo the output as the user types it.\n* `replace` Replace silenced characters with the supplied character value.\n* `timeout` Number of ms to wait for user input before giving up.\n* `default` The default value if the user enters nothing.\n* `edit` Allow the user to edit the default value.\n* `terminal` Treat the output as a TTY, whether it is or not.\n* `input` Readable stream to get input data from. (default `process.stdin`)\n* `output` Writeable stream to write prompts to. (default: `process.stdout`)\n\nIf silent is true, and the input is a TTY, then read will set raw\nmode, and read character by character.\n\n## COMPATIBILITY\n\nThis module works sort of with node 0.6. It does not work with node\nversions less than 0.6. It is best on node 0.8.\n\nOn node version 0.6, it will remove all listeners on the input\nstream\'s `data` and `keypress` events, because the readline module did\nnot fully clean up after itself in that version of node, and did not\nmake it possible to clean up after it in a way that has no potential\nfor side effects.\n\nAdditionally, some of the readline options (like `terminal`) will not\nfunction in versions of node before 0.8, because they were not\nimplemented in the builtin readline module.\n\n## CONTRIBUTING\n\nPatches welcome.\n',
4197 silly resolved readmeFilename: 'README.md',
4197 silly resolved _id: 'read@1.0.5',
4197 silly resolved _from: 'read@~1.0.4' } ]
4198 info install read@1.0.5 into /usr/lib/node_modules/bower/node_modules/promptly
4199 info installOne read@1.0.5
4200 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce/package.json
4201 verbose from cache /root/.npm/read/1.0.5/package/package.json
4202 info /usr/lib/node_modules/bower/node_modules/promptly/node_modules/read unbuild
4203 verbose read json /usr/lib/node_modules/bower/node_modules/promptly/node_modules/read/package.json
4204 silly lockFile 6176a676-egistry-client-0-2-1-package-tgz /root/.npm/bower-registry-client/0.2.1/package.tgz
4205 silly lockFile 6176a676-egistry-client-0-2-1-package-tgz /root/.npm/bower-registry-client/0.2.1/package.tgz
4206 verbose readDependencies using package.json deps
4207 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce/package.json
4208 verbose readDependencies using package.json deps
4209 verbose tar unpack /root/.npm/optimist/0.6.1/package.tgz
4210 silly lockFile f7534c95-wer-config-node-modules-optimist /usr/lib/node_modules/bower/node_modules/bower-config/node_modules/optimist
4211 verbose lock /usr/lib/node_modules/bower/node_modules/bower-config/node_modules/optimist /root/.npm/f7534c95-wer-config-node-modules-optimist.lock
4212 silly lockFile 47fbff43-t-npm-optimist-0-6-1-package-tgz /root/.npm/optimist/0.6.1/package.tgz
4213 verbose lock /root/.npm/optimist/0.6.1/package.tgz /root/.npm/47fbff43-t-npm-optimist-0-6-1-package-tgz.lock
4214 verbose tar unpack /root/.npm/read/1.0.5/package.tgz
4215 silly lockFile 138ed7b3-dules-promptly-node-modules-read /usr/lib/node_modules/bower/node_modules/promptly/node_modules/read
4216 verbose lock /usr/lib/node_modules/bower/node_modules/promptly/node_modules/read /root/.npm/138ed7b3-dules-promptly-node-modules-read.lock
4217 silly lockFile 1ede2f90-root-npm-read-1-0-5-package-tgz /root/.npm/read/1.0.5/package.tgz
4218 verbose lock /root/.npm/read/1.0.5/package.tgz /root/.npm/1ede2f90-root-npm-read-1-0-5-package-tgz.lock
4219 verbose cache add [ 'lodash.now@~2.4.1', null ]
4220 verbose cache add name=undefined spec="lodash.now@~2.4.1" args=["lodash.now@~2.4.1",null]
4221 verbose parsed url { protocol: null,
4221 verbose parsed url slashes: null,
4221 verbose parsed url auth: null,
4221 verbose parsed url host: null,
4221 verbose parsed url port: null,
4221 verbose parsed url hostname: null,
4221 verbose parsed url hash: null,
4221 verbose parsed url search: null,
4221 verbose parsed url query: null,
4221 verbose parsed url pathname: 'lodash.now@~2.4.1',
4221 verbose parsed url path: 'lodash.now@~2.4.1',
4221 verbose parsed url href: 'lodash.now@~2.4.1' }
4222 verbose cache add name="lodash.now" spec="~2.4.1" args=["lodash.now","~2.4.1"]
4223 verbose parsed url { protocol: null,
4223 verbose parsed url slashes: null,
4223 verbose parsed url auth: null,
4223 verbose parsed url host: null,
4223 verbose parsed url port: null,
4223 verbose parsed url hostname: null,
4223 verbose parsed url hash: null,
4223 verbose parsed url search: null,
4223 verbose parsed url query: null,
4223 verbose parsed url pathname: '~2.4.1',
4223 verbose parsed url path: '~2.4.1',
4223 verbose parsed url href: '~2.4.1' }
4224 verbose addNamed [ 'lodash.now', '~2.4.1' ]
4225 verbose addNamed [ null, '>=2.4.1- <2.5.0-' ]
4226 silly lockFile 495f3e17-lodash-now-2-4-1 lodash.now@~2.4.1
4227 verbose lock lodash.now@~2.4.1 /root/.npm/495f3e17-lodash-now-2-4-1.lock
4228 silly gunzTarPerm modes [ '755', '644' ]
4229 silly addNameRange number 2 { name: 'throttleit', range: '>=0.0.2- <0.1.0-', hasData: true }
4230 silly addNameRange versions [ 'throttleit', [ '0.0.1', '0.0.2' ] ]
4231 verbose addNamed [ 'throttleit', '0.0.2' ]
4232 verbose addNamed [ '0.0.2', '0.0.2' ]
4233 silly lockFile 3fe7da2e-throttleit-0-0-2 throttleit@0.0.2
4234 verbose lock throttleit@0.0.2 /root/.npm/3fe7da2e-throttleit-0-0-2.lock
4235 silly addNameRange { name: 'lodash.now', range: '>=2.4.1- <2.5.0-', hasData: false }
4236 verbose cache add [ 'lodash.isfunction@~2.4.1', null ]
4237 verbose cache add name=undefined spec="lodash.isfunction@~2.4.1" args=["lodash.isfunction@~2.4.1",null]
4238 verbose parsed url { protocol: null,
4238 verbose parsed url slashes: null,
4238 verbose parsed url auth: null,
4238 verbose parsed url host: null,
4238 verbose parsed url port: null,
4238 verbose parsed url hostname: null,
4238 verbose parsed url hash: null,
4238 verbose parsed url search: null,
4238 verbose parsed url query: null,
4238 verbose parsed url pathname: 'lodash.isfunction@~2.4.1',
4238 verbose parsed url path: 'lodash.isfunction@~2.4.1',
4238 verbose parsed url href: 'lodash.isfunction@~2.4.1' }
4239 verbose cache add name="lodash.isfunction" spec="~2.4.1" args=["lodash.isfunction","~2.4.1"]
4240 verbose parsed url { protocol: null,
4240 verbose parsed url slashes: null,
4240 verbose parsed url auth: null,
4240 verbose parsed url host: null,
4240 verbose parsed url port: null,
4240 verbose parsed url hostname: null,
4240 verbose parsed url hash: null,
4240 verbose parsed url search: null,
4240 verbose parsed url query: null,
4240 verbose parsed url pathname: '~2.4.1',
4240 verbose parsed url path: '~2.4.1',
4240 verbose parsed url href: '~2.4.1' }
4241 verbose addNamed [ 'lodash.isfunction', '~2.4.1' ]
4242 verbose addNamed [ null, '>=2.4.1- <2.5.0-' ]
4243 silly lockFile e3750519-lodash-isfunction-2-4-1 lodash.isfunction@~2.4.1
4244 verbose lock lodash.isfunction@~2.4.1 /root/.npm/e3750519-lodash-isfunction-2-4-1.lock
4245 silly lockFile 37288f56-dules-p-throttler-node-modules-q /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q
4246 silly lockFile 37288f56-dules-p-throttler-node-modules-q /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q
4247 silly gunzTarPerm modes [ '755', '644' ]
4248 silly addNameRange { name: 'lodash.isfunction',
4248 silly addNameRange range: '>=2.4.1- <2.5.0-',
4248 silly addNameRange hasData: false }
4249 verbose cache add [ 'lodash.isobject@~2.4.1', null ]
4250 verbose cache add name=undefined spec="lodash.isobject@~2.4.1" args=["lodash.isobject@~2.4.1",null]
4251 verbose parsed url { protocol: null,
4251 verbose parsed url slashes: null,
4251 verbose parsed url auth: null,
4251 verbose parsed url host: null,
4251 verbose parsed url port: null,
4251 verbose parsed url hostname: null,
4251 verbose parsed url hash: null,
4251 verbose parsed url search: null,
4251 verbose parsed url query: null,
4251 verbose parsed url pathname: 'lodash.isobject@~2.4.1',
4251 verbose parsed url path: 'lodash.isobject@~2.4.1',
4251 verbose parsed url href: 'lodash.isobject@~2.4.1' }
4252 verbose cache add name="lodash.isobject" spec="~2.4.1" args=["lodash.isobject","~2.4.1"]
4253 verbose parsed url { protocol: null,
4253 verbose parsed url slashes: null,
4253 verbose parsed url auth: null,
4253 verbose parsed url host: null,
4253 verbose parsed url port: null,
4253 verbose parsed url hostname: null,
4253 verbose parsed url hash: null,
4253 verbose parsed url search: null,
4253 verbose parsed url query: null,
4253 verbose parsed url pathname: '~2.4.1',
4253 verbose parsed url path: '~2.4.1',
4253 verbose parsed url href: '~2.4.1' }
4254 verbose addNamed [ 'lodash.isobject', '~2.4.1' ]
4255 verbose addNamed [ null, '>=2.4.1- <2.5.0-' ]
4256 silly lockFile 4018abef-lodash-isobject-2-4-1 lodash.isobject@~2.4.1
4257 verbose lock lodash.isobject@~2.4.1 /root/.npm/4018abef-lodash-isobject-2-4-1.lock
4258 info preinstall bower-registry-client@0.2.1
4259 silly lockFile eb697dd7-insight-node-modules-configstore /usr/lib/node_modules/bower/node_modules/insight/node_modules/configstore
4260 silly lockFile eb697dd7-insight-node-modules-configstore /usr/lib/node_modules/bower/node_modules/insight/node_modules/configstore
4261 verbose read json /root/.npm/throttleit/0.0.2/package/package.json
4262 silly addNameRange { name: 'lodash.isobject',
4262 silly addNameRange range: '>=2.4.1- <2.5.0-',
4262 silly addNameRange hasData: false }
4263 silly lockFile 5002364d-root-npm-q-0-9-7-package-tgz /root/.npm/q/0.9.7/package.tgz
4264 silly lockFile 5002364d-root-npm-q-0-9-7-package-tgz /root/.npm/q/0.9.7/package.tgz
4265 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-registry-client/package.json
4266 silly lockFile da5726b9-pm-configstore-0-2-3-package-tgz /root/.npm/configstore/0.2.3/package.tgz
4267 silly lockFile da5726b9-pm-configstore-0-2-3-package-tgz /root/.npm/configstore/0.2.3/package.tgz
4268 verbose readDependencies using package.json deps
4269 verbose from cache /usr/lib/node_modules/bower/node_modules/bower-registry-client/package.json
4270 silly gunzTarPerm extractEntry package.json
4271 verbose url raw lodash.now
4272 verbose url resolving [ 'https://registry.npmjs.org/', './lodash.now' ]
4273 verbose url resolved https://registry.npmjs.org/lodash.now
4274 info trying registry request attempt 1 at 23:07:49
4275 verbose etag "63YHQZ1PELFZYGSAJTKJX76ND"
4276 http GET https://registry.npmjs.org/lodash.now
4277 verbose readDependencies using package.json deps
4278 silly gunzTarPerm extractEntry package.json
4279 verbose url raw lodash.isfunction
4280 verbose url resolving [ 'https://registry.npmjs.org/', './lodash.isfunction' ]
4281 verbose url resolved https://registry.npmjs.org/lodash.isfunction
4282 info trying registry request attempt 1 at 23:07:49
4283 verbose etag "AA6NFJB5Z5CMQTUZ4WJ2TFFHC"
4284 http GET https://registry.npmjs.org/lodash.isfunction
4285 verbose url raw lodash.isobject
4286 verbose url resolving [ 'https://registry.npmjs.org/', './lodash.isobject' ]
4287 verbose url resolved https://registry.npmjs.org/lodash.isobject
4288 info trying registry request attempt 1 at 23:07:49
4289 verbose etag "7Q8JS9WPOE0D3DN0Q6VHCYXYC"
4290 http GET https://registry.npmjs.org/lodash.isobject
4291 verbose cache add [ 'async@~0.2.8', null ]
4292 verbose cache add name=undefined spec="async@~0.2.8" args=["async@~0.2.8",null]
4293 verbose parsed url { protocol: null,
4293 verbose parsed url slashes: null,
4293 verbose parsed url auth: null,
4293 verbose parsed url host: null,
4293 verbose parsed url port: null,
4293 verbose parsed url hostname: null,
4293 verbose parsed url hash: null,
4293 verbose parsed url search: null,
4293 verbose parsed url query: null,
4293 verbose parsed url pathname: 'async@~0.2.8',
4293 verbose parsed url path: 'async@~0.2.8',
4293 verbose parsed url href: 'async@~0.2.8' }
4294 verbose cache add name="async" spec="~0.2.8" args=["async","~0.2.8"]
4295 verbose parsed url { protocol: null,
4295 verbose parsed url slashes: null,
4295 verbose parsed url auth: null,
4295 verbose parsed url host: null,
4295 verbose parsed url port: null,
4295 verbose parsed url hostname: null,
4295 verbose parsed url hash: null,
4295 verbose parsed url search: null,
4295 verbose parsed url query: null,
4295 verbose parsed url pathname: '~0.2.8',
4295 verbose parsed url path: '~0.2.8',
4295 verbose parsed url href: '~0.2.8' }
4296 verbose addNamed [ 'async', '~0.2.8' ]
4297 verbose cache add [ 'lru-cache@~2.3.0', null ]
4298 verbose cache add name=undefined spec="lru-cache@~2.3.0" args=["lru-cache@~2.3.0",null]
4299 verbose parsed url { protocol: null,
4299 verbose parsed url slashes: null,
4299 verbose parsed url auth: null,
4299 verbose parsed url host: null,
4299 verbose parsed url port: null,
4299 verbose parsed url hostname: null,
4299 verbose parsed url hash: null,
4299 verbose parsed url search: null,
4299 verbose parsed url query: null,
4299 verbose parsed url pathname: 'lru-cache@~2.3.0',
4299 verbose parsed url path: 'lru-cache@~2.3.0',
4299 verbose parsed url href: 'lru-cache@~2.3.0' }
4300 verbose cache add name="lru-cache" spec="~2.3.0" args=["lru-cache","~2.3.0"]
4301 verbose parsed url { protocol: null,
4301 verbose parsed url slashes: null,
4301 verbose parsed url auth: null,
4301 verbose parsed url host: null,
4301 verbose parsed url port: null,
4301 verbose parsed url hostname: null,
4301 verbose parsed url hash: null,
4301 verbose parsed url search: null,
4301 verbose parsed url query: null,
4301 verbose parsed url pathname: '~2.3.0',
4301 verbose parsed url path: '~2.3.0',
4301 verbose parsed url href: '~2.3.0' }
4302 verbose addNamed [ 'lru-cache', '~2.3.0' ]
4303 verbose addNamed [ null, '>=2.3.0- <2.4.0-' ]
4304 silly lockFile 0750f2c6-lru-cache-2-3-0 lru-cache@~2.3.0
4305 verbose lock lru-cache@~2.3.0 /root/.npm/0750f2c6-lru-cache-2-3-0.lock
4306 info preinstall q@0.9.7
4307 silly addNameRange { name: 'lru-cache', range: '>=2.3.0- <2.4.0-', hasData: false }
4308 verbose cache add [ 'request@~2.27.0', null ]
4309 verbose cache add name=undefined spec="request@~2.27.0" args=["request@~2.27.0",null]
4310 verbose parsed url { protocol: null,
4310 verbose parsed url slashes: null,
4310 verbose parsed url auth: null,
4310 verbose parsed url host: null,
4310 verbose parsed url port: null,
4310 verbose parsed url hostname: null,
4310 verbose parsed url hash: null,
4310 verbose parsed url search: null,
4310 verbose parsed url query: null,
4310 verbose parsed url pathname: 'request@~2.27.0',
4310 verbose parsed url path: 'request@~2.27.0',
4310 verbose parsed url href: 'request@~2.27.0' }
4311 verbose cache add name="request" spec="~2.27.0" args=["request","~2.27.0"]
4312 verbose parsed url { protocol: null,
4312 verbose parsed url slashes: null,
4312 verbose parsed url auth: null,
4312 verbose parsed url host: null,
4312 verbose parsed url port: null,
4312 verbose parsed url hostname: null,
4312 verbose parsed url hash: null,
4312 verbose parsed url search: null,
4312 verbose parsed url query: null,
4312 verbose parsed url pathname: '~2.27.0',
4312 verbose parsed url path: '~2.27.0',
4312 verbose parsed url href: '~2.27.0' }
4313 verbose addNamed [ 'request', '~2.27.0' ]
4314 verbose addNamed [ null, '>=2.27.0- <2.28.0-' ]
4315 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
4316 verbose lock request@~2.27.0 /root/.npm/999b8a1d-request-2-27-0.lock
4317 verbose cache add [ 'request-replay@~0.2.0', null ]
4318 verbose cache add name=undefined spec="request-replay@~0.2.0" args=["request-replay@~0.2.0",null]
4319 verbose parsed url { protocol: null,
4319 verbose parsed url slashes: null,
4319 verbose parsed url auth: null,
4319 verbose parsed url host: null,
4319 verbose parsed url port: null,
4319 verbose parsed url hostname: null,
4319 verbose parsed url hash: null,
4319 verbose parsed url search: null,
4319 verbose parsed url query: null,
4319 verbose parsed url pathname: 'request-replay@~0.2.0',
4319 verbose parsed url path: 'request-replay@~0.2.0',
4319 verbose parsed url href: 'request-replay@~0.2.0' }
4320 verbose cache add name="request-replay" spec="~0.2.0" args=["request-replay","~0.2.0"]
4321 verbose parsed url { protocol: null,
4321 verbose parsed url slashes: null,
4321 verbose parsed url auth: null,
4321 verbose parsed url host: null,
4321 verbose parsed url port: null,
4321 verbose parsed url hostname: null,
4321 verbose parsed url hash: null,
4321 verbose parsed url search: null,
4321 verbose parsed url query: null,
4321 verbose parsed url pathname: '~0.2.0',
4321 verbose parsed url path: '~0.2.0',
4321 verbose parsed url href: '~0.2.0' }
4322 verbose addNamed [ 'request-replay', '~0.2.0' ]
4323 verbose addNamed [ null, '>=0.2.0- <0.3.0-' ]
4324 silly lockFile cd6af37a-request-replay-0-2-0 request-replay@~0.2.0
4325 verbose lock request-replay@~0.2.0 /root/.npm/cd6af37a-request-replay-0-2-0.lock
4326 info preinstall configstore@0.2.3
4327 silly gunzTarPerm extractEntry LICENSE
4328 silly gunzTarPerm extractEntry index.js
4329 silly addNameRange { name: 'request', range: '>=2.27.0- <2.28.0-', hasData: false }
4330 silly addNameRange { name: 'request-replay',
4330 silly addNameRange range: '>=0.2.0- <0.3.0-',
4330 silly addNameRange hasData: false }
4331 verbose from cache /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q/package.json
4332 silly gunzTarPerm extractEntry .npmignore
4333 silly gunzTarPerm extractEntry README.md
4334 verbose readDependencies using package.json deps
4335 verbose from cache /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q/package.json
4336 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/node_modules/configstore/package.json
4337 verbose readDependencies using package.json deps
4338 silly resolved []
4339 verbose about to build /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q
4340 info build /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q
4341 verbose from cache /usr/lib/node_modules/bower/node_modules/p-throttler/node_modules/q/package.json
4342 verbose linkStuff [ true,
4342 verbose linkStuff '/usr/lib/node_modules',
4342 verbose linkStuff false,
4342 verbose linkStuff '/usr/lib/node_modules/bower/node_modules/p-throttler/node_modules' ]
4343 info linkStuff q@0.9.7
4344 verbose linkBins q@0.9.7
4345 verbose linkMans q@0.9.7
4346 verbose rebuildBundles q@0.9.7
4347 verbose readDependencies using package.json deps
4348 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/node_modules/configstore/package.json
4349 silly lockFile 3fe7da2e-throttleit-0-0-2 throttleit@0.0.2
4350 silly lockFile 3fe7da2e-throttleit-0-0-2 throttleit@0.0.2
4351 info install q@0.9.7
4352 verbose readDependencies using package.json deps
4353 verbose registry.get lru-cache not expired, no request
4354 silly addNameRange number 2 { name: 'lru-cache', range: '>=2.3.0- <2.4.0-', hasData: true }
4355 silly addNameRange versions [ 'lru-cache',
4355 silly addNameRange [ '1.0.1',
4355 silly addNameRange '1.0.2',
4355 silly addNameRange '1.0.3',
4355 silly addNameRange '1.0.4',
4355 silly addNameRange '1.0.5',
4355 silly addNameRange '1.0.6',
4355 silly addNameRange '1.1.0',
4355 silly addNameRange '1.1.1',
4355 silly addNameRange '2.0.0',
4355 silly addNameRange '2.0.1',
4355 silly addNameRange '2.0.2',
4355 silly addNameRange '2.0.3',
4355 silly addNameRange '2.0.4',
4355 silly addNameRange '2.1.0',
4355 silly addNameRange '2.2.0',
4355 silly addNameRange '2.2.1',
4355 silly addNameRange '2.2.2',
4355 silly addNameRange '2.2.4',
4355 silly addNameRange '2.3.0',
4355 silly addNameRange '2.3.1',
4355 silly addNameRange '2.5.0' ] ]
4356 verbose addNamed [ 'lru-cache', '2.3.1' ]
4357 verbose addNamed [ '2.3.1', '2.3.1' ]
4358 silly lockFile ef81ebb1-lru-cache-2-3-1 lru-cache@2.3.1
4359 verbose lock lru-cache@2.3.1 /root/.npm/ef81ebb1-lru-cache-2-3-1.lock
4360 silly lockFile de588288-throttleit-0-0-2 throttleit@~0.0.2
4361 silly lockFile de588288-throttleit-0-0-2 throttleit@~0.0.2
4362 verbose registry.get request not expired, no request
4363 silly addNameRange number 2 { name: 'request', range: '>=2.27.0- <2.28.0-', hasData: true }
4364 silly addNameRange versions [ 'request',
4364 silly addNameRange [ '0.10.0',
4364 silly addNameRange '0.8.3',
4364 silly addNameRange '0.9.0',
4364 silly addNameRange '0.9.1',
4364 silly addNameRange '0.9.5',
4364 silly addNameRange '1.0.0',
4364 silly addNameRange '1.1.0',
4364 silly addNameRange '1.1.1',
4364 silly addNameRange '1.2.0',
4364 silly addNameRange '1.9.0',
4364 silly addNameRange '1.9.1',
4364 silly addNameRange '1.9.2',
4364 silly addNameRange '1.9.3',
4364 silly addNameRange '1.9.5',
4364 silly addNameRange '1.9.7',
4364 silly addNameRange '1.9.8',
4364 silly addNameRange '1.9.9',
4364 silly addNameRange '2.0.0',
4364 silly addNameRange '2.0.1',
4364 silly addNameRange '2.0.2',
4364 silly addNameRange '2.0.3',
4364 silly addNameRange '2.0.4',
4364 silly addNameRange '2.0.5',
4364 silly addNameRange '2.1.0',
4364 silly addNameRange '2.1.1',
4364 silly addNameRange '2.2.0',
4364 silly addNameRange '2.2.5',
4364 silly addNameRange '2.2.6',
4364 silly addNameRange '2.2.9',
4364 silly addNameRange '2.9.0',
4364 silly addNameRange '2.9.1',
4364 silly addNameRange '2.9.2',
4364 silly addNameRange '2.9.3',
4364 silly addNameRange '2.9.100',
4364 silly addNameRange '2.9.150',
4364 silly addNameRange '2.9.151',
4364 silly addNameRange '2.9.152',
4364 silly addNameRange '2.9.153',
4364 silly addNameRange '2.9.200',
4364 silly addNameRange '2.9.201',
4364 silly addNameRange '2.9.202',
4364 silly addNameRange '2.9.203',
4364 silly addNameRange '2.10.0',
4364 silly addNameRange '2.11.0',
4364 silly addNameRange '2.11.1',
4364 silly addNameRange '2.11.2',
4364 silly addNameRange '2.11.3',
4364 silly addNameRange '2.11.4',
4364 silly addNameRange '2.12.0',
4364 silly addNameRange '2.14.0',
4364 silly addNameRange '2.16.0',
4364 silly addNameRange '2.16.2',
4364 silly addNameRange '2.16.4',
4364 silly addNameRange '2.16.6',
4364 silly addNameRange '2.18.0',
4364 silly addNameRange '2.19.0',
4364 silly addNameRange '2.20.0',
4364 silly addNameRange '2.21.0',
4364 silly addNameRange '2.22.0',
4364 silly addNameRange '2.23.0',
4364 silly addNameRange '2.24.0',
4364 silly addNameRange '2.25.0',
4364 silly addNameRange '2.26.0',
4364 silly addNameRange '2.27.0',
4364 silly addNameRange '2.28.0',
4364 silly addNameRange '2.29.0',
4364 silly addNameRange '2.30.0',
4364 silly addNameRange '2.31.0',
4364 silly addNameRange '2.32.0',
4364 silly addNameRange '2.33.0',
4364 silly addNameRange '2.34.0',
4364 silly addNameRange '2.35.0',
4364 silly addNameRange '2.36.0' ] ]
4365 verbose addNamed [ 'request', '2.27.0' ]
4366 verbose addNamed [ '2.27.0', '2.27.0' ]
4367 silly lockFile 7b48fbe0-request-2-27-0 request@2.27.0
4368 verbose lock request@2.27.0 /root/.npm/7b48fbe0-request-2-27-0.lock
4369 verbose url raw request-replay
4370 verbose url resolving [ 'https://registry.npmjs.org/', './request-replay' ]
4371 verbose url resolved https://registry.npmjs.org/request-replay
4372 info trying registry request attempt 1 at 23:07:49
4373 verbose etag "801UYDWZI3UDCQRNWELW4QE19"
4374 http GET https://registry.npmjs.org/request-replay
4375 verbose cache add [ 'js-yaml@~3.0.1', null ]
4376 verbose cache add name=undefined spec="js-yaml@~3.0.1" args=["js-yaml@~3.0.1",null]
4377 verbose parsed url { protocol: null,
4377 verbose parsed url slashes: null,
4377 verbose parsed url auth: null,
4377 verbose parsed url host: null,
4377 verbose parsed url port: null,
4377 verbose parsed url hostname: null,
4377 verbose parsed url hash: null,
4377 verbose parsed url search: null,
4377 verbose parsed url query: null,
4377 verbose parsed url pathname: 'js-yaml@~3.0.1',
4377 verbose parsed url path: 'js-yaml@~3.0.1',
4377 verbose parsed url href: 'js-yaml@~3.0.1' }
4378 verbose cache add name="js-yaml" spec="~3.0.1" args=["js-yaml","~3.0.1"]
4379 verbose parsed url { protocol: null,
4379 verbose parsed url slashes: null,
4379 verbose parsed url auth: null,
4379 verbose parsed url host: null,
4379 verbose parsed url port: null,
4379 verbose parsed url hostname: null,
4379 verbose parsed url hash: null,
4379 verbose parsed url search: null,
4379 verbose parsed url query: null,
4379 verbose parsed url pathname: '~3.0.1',
4379 verbose parsed url path: '~3.0.1',
4379 verbose parsed url href: '~3.0.1' }
4380 verbose addNamed [ 'js-yaml', '~3.0.1' ]
4381 verbose cache add [ 'uuid@~1.4.1', null ]
4382 verbose cache add name=undefined spec="uuid@~1.4.1" args=["uuid@~1.4.1",null]
4383 verbose parsed url { protocol: null,
4383 verbose parsed url slashes: null,
4383 verbose parsed url auth: null,
4383 verbose parsed url host: null,
4383 verbose parsed url port: null,
4383 verbose parsed url hostname: null,
4383 verbose parsed url hash: null,
4383 verbose parsed url search: null,
4383 verbose parsed url query: null,
4383 verbose parsed url pathname: 'uuid@~1.4.1',
4383 verbose parsed url path: 'uuid@~1.4.1',
4383 verbose parsed url href: 'uuid@~1.4.1' }
4384 verbose cache add name="uuid" spec="~1.4.1" args=["uuid","~1.4.1"]
4385 verbose parsed url { protocol: null,
4385 verbose parsed url slashes: null,
4385 verbose parsed url auth: null,
4385 verbose parsed url host: null,
4385 verbose parsed url port: null,
4385 verbose parsed url hostname: null,
4385 verbose parsed url hash: null,
4385 verbose parsed url search: null,
4385 verbose parsed url query: null,
4385 verbose parsed url pathname: '~1.4.1',
4385 verbose parsed url path: '~1.4.1',
4385 verbose parsed url href: '~1.4.1' }
4386 verbose addNamed [ 'uuid', '~1.4.1' ]
4387 info postinstall q@0.9.7
4388 verbose read json /root/.npm/lru-cache/2.3.1/package/package.json
4389 silly resolved [ { name: 'throttleit',
4389 silly resolved description: 'Throttle a function',
4389 silly resolved version: '0.0.2',
4389 silly resolved keywords: [],
4389 silly resolved repository: { type: 'git', url: 'git://github.com/component/throttle.git' },
4389 silly resolved dependencies: {},
4389 silly resolved development: {},
4389 silly resolved license: 'MIT',
4389 silly resolved component: { scripts: [Object] },
4389 silly resolved readme: '\n# throttle\n\n Throttle a function\n\n## Installation\n\n $ component install component/throttle\n\n## API\n\n \n\n## License\n\n MIT\n',
4389 silly resolved readmeFilename: 'Readme.md',
4389 silly resolved _id: 'throttleit@0.0.2',
4389 silly resolved _from: 'throttleit@~0.0.2' } ]
4390 info install throttleit@0.0.2 into /usr/lib/node_modules/bower/node_modules/request-progress
4391 info installOne throttleit@0.0.2
4392 verbose from cache /root/.npm/request/2.27.0/package/package.json
4393 silly lockFile 7b48fbe0-request-2-27-0 request@2.27.0
4394 silly lockFile 7b48fbe0-request-2-27-0 request@2.27.0
4395 verbose about to build /usr/lib/node_modules/bower/node_modules/p-throttler
4396 info build /usr/lib/node_modules/bower/node_modules/p-throttler
4397 verbose from cache /usr/lib/node_modules/bower/node_modules/p-throttler/package.json
4398 verbose linkStuff [ true,
4398 verbose linkStuff '/usr/lib/node_modules',
4398 verbose linkStuff false,
4398 verbose linkStuff '/usr/lib/node_modules/bower/node_modules' ]
4399 info linkStuff p-throttler@0.0.1
4400 verbose linkBins p-throttler@0.0.1
4401 verbose linkMans p-throttler@0.0.1
4402 verbose rebuildBundles p-throttler@0.0.1
4403 verbose from cache /root/.npm/throttleit/0.0.2/package/package.json
4404 info /usr/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit unbuild
4405 verbose read json /usr/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit/package.json
4406 verbose rebuildBundles [ 'q' ]
4407 info install p-throttler@0.0.1
4408 silly gunzTarPerm extractEntry .travis.yml
4409 silly gunzTarPerm extractEntry example/bool.js
4410 silly gunzTarPerm extractEntry LICENCE
4411 silly gunzTarPerm extractEntry rs.js
4412 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
4413 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
4414 http 304 https://registry.npmjs.org/inherits
4415 silly registry.get cb [ 304,
4415 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
4415 silly registry.get server: 'Apache',
4415 silly registry.get via: '1.1 varnish',
4415 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:32 GMT',
4415 silly registry.get 'cache-control': 'max-age=1',
4415 silly registry.get etag: '"AOGM9R8UHMTA4Q3A77R3Y6L0C"',
4415 silly registry.get 'x-served-by': 'cache-sn89-SIN',
4415 silly registry.get 'x-cache': 'HIT',
4415 silly registry.get 'x-cache-hits': '1',
4415 silly registry.get 'x-timer': 'S1400857651.933285,VS0,VE253',
4415 silly registry.get vary: 'Accept',
4415 silly registry.get 'content-length': '0',
4415 silly registry.get 'keep-alive': 'timeout=10, max=48',
4415 silly registry.get connection: 'Keep-Alive' } ]
4416 verbose etag inherits from cache
4417 verbose read json /usr/lib/node_modules/bower/node_modules/cardinal/package.json
4418 info postinstall p-throttler@0.0.1
4419 verbose tar unpack /root/.npm/throttleit/0.0.2/package.tgz
4420 silly lockFile 56b5e825-progress-node-modules-throttleit /usr/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit
4421 verbose lock /usr/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit /root/.npm/56b5e825-progress-node-modules-throttleit.lock
4422 silly lockFile b2fb5750-npm-throttleit-0-0-2-package-tgz /root/.npm/throttleit/0.0.2/package.tgz
4423 verbose lock /root/.npm/throttleit/0.0.2/package.tgz /root/.npm/b2fb5750-npm-throttleit-0-0-2-package-tgz.lock
4424 silly lockFile ef81ebb1-lru-cache-2-3-1 lru-cache@2.3.1
4425 silly lockFile ef81ebb1-lru-cache-2-3-1 lru-cache@2.3.1
4426 silly gunzTarPerm extractEntry example/example.js
4427 silly gunzTarPerm extractEntry lib/read.js
4428 silly addNameRange number 2 { name: 'inherits', range: '>=2.0.0- <3.0.0-', hasData: true }
4429 silly addNameRange versions [ 'inherits', [ '1.0.0', '2.0.0', '2.0.1' ] ]
4430 verbose addNamed [ 'inherits', '2.0.1' ]
4431 verbose addNamed [ '2.0.1', '2.0.1' ]
4432 silly lockFile 2b2e8f1b-inherits-2-0-1 inherits@2.0.1
4433 verbose lock inherits@2.0.1 /root/.npm/2b2e8f1b-inherits-2-0-1.lock
4434 silly lockFile 0750f2c6-lru-cache-2-3-0 lru-cache@~2.3.0
4435 silly lockFile 0750f2c6-lru-cache-2-3-0 lru-cache@~2.3.0
4436 silly gunzTarPerm extractEntry example/default_singles.js
4437 silly gunzTarPerm extractEntry example/divide.js
4438 silly gunzTarPerm extractEntry example/line_count.js
4439 silly gunzTarPerm extractEntry example/default_hash.js
4440 silly gunzTarPerm extractEntry example/line_count_wrap.js
4441 silly gunzTarPerm extractEntry example/nonopt.js
4442 silly gunzTarPerm extractEntry example/reflect.js
4443 silly gunzTarPerm extractEntry example/short.js
4444 silly gunzTarPerm extractEntry example/string.js
4445 silly gunzTarPerm extractEntry example/boolean_single.js
4446 silly gunzTarPerm extractEntry example/usage-options.js
4447 silly gunzTarPerm extractEntry example/boolean_double.js
4448 silly gunzTarPerm extractEntry example/xup.js
4449 silly gunzTarPerm extractEntry example/line_count_options.js
4450 silly gunzTarPerm extractEntry readme.markdown
4451 silly gunzTarPerm extractEntry test/_.js
4452 silly gunzTarPerm extractEntry test/dash.js
4453 silly gunzTarPerm extractEntry test/parse.js
4454 silly gunzTarPerm extractEntry test/parse_modified.js
4455 silly gunzTarPerm extractEntry test/short.js
4456 silly gunzTarPerm extractEntry test/usage.js
4457 silly gunzTarPerm extractEntry test/whitespace.js
4458 silly gunzTarPerm extractEntry test/_/argv.js
4459 silly gunzTarPerm extractEntry test/_/bin.js
4460 verbose read json /root/.npm/inherits/2.0.1/package/package.json
4461 silly lockFile 15d6d58f-ules-bower-node-modules-cardinal /usr/lib/node_modules/bower/node_modules/cardinal
4462 silly lockFile 15d6d58f-ules-bower-node-modules-cardinal /usr/lib/node_modules/bower/node_modules/cardinal
4463 silly lockFile 581f303a-t-npm-cardinal-0-4-4-package-tgz /root/.npm/cardinal/0.4.4/package.tgz
4464 silly lockFile 581f303a-t-npm-cardinal-0-4-4-package-tgz /root/.npm/cardinal/0.4.4/package.tgz
4465 info preinstall cardinal@0.4.4
4466 silly gunzTarPerm extractEntry test/basic.js
4467 silly gunzTarPerm extractEntry test/defaults.js
4468 silly lockFile 2b2e8f1b-inherits-2-0-1 inherits@2.0.1
4469 silly lockFile 2b2e8f1b-inherits-2-0-1 inherits@2.0.1
4470 verbose from cache /usr/lib/node_modules/bower/node_modules/cardinal/package.json
4471 verbose readDependencies using package.json deps
4472 verbose from cache /usr/lib/node_modules/bower/node_modules/cardinal/package.json
4473 silly lockFile 1f7ff4de-inherits-2 inherits@2
4474 silly lockFile 1f7ff4de-inherits-2 inherits@2
4475 verbose readDependencies using package.json deps
4476 verbose cache add [ 'redeyed@~0.4.0', null ]
4477 verbose cache add name=undefined spec="redeyed@~0.4.0" args=["redeyed@~0.4.0",null]
4478 verbose parsed url { protocol: null,
4478 verbose parsed url slashes: null,
4478 verbose parsed url auth: null,
4478 verbose parsed url host: null,
4478 verbose parsed url port: null,
4478 verbose parsed url hostname: null,
4478 verbose parsed url hash: null,
4478 verbose parsed url search: null,
4478 verbose parsed url query: null,
4478 verbose parsed url pathname: 'redeyed@~0.4.0',
4478 verbose parsed url path: 'redeyed@~0.4.0',
4478 verbose parsed url href: 'redeyed@~0.4.0' }
4479 verbose cache add name="redeyed" spec="~0.4.0" args=["redeyed","~0.4.0"]
4480 verbose parsed url { protocol: null,
4480 verbose parsed url slashes: null,
4480 verbose parsed url auth: null,
4480 verbose parsed url host: null,
4480 verbose parsed url port: null,
4480 verbose parsed url hostname: null,
4480 verbose parsed url hash: null,
4480 verbose parsed url search: null,
4480 verbose parsed url query: null,
4480 verbose parsed url pathname: '~0.4.0',
4480 verbose parsed url path: '~0.4.0',
4480 verbose parsed url href: '~0.4.0' }
4481 verbose addNamed [ 'redeyed', '~0.4.0' ]
4482 verbose addNamed [ null, '>=0.4.0- <0.5.0-' ]
4483 silly lockFile 26d47298-redeyed-0-4-0 redeyed@~0.4.0
4484 verbose lock redeyed@~0.4.0 /root/.npm/26d47298-redeyed-0-4-0.lock
4485 verbose cache add [ 'ansicolors@~0.2.1', null ]
4486 verbose cache add name=undefined spec="ansicolors@~0.2.1" args=["ansicolors@~0.2.1",null]
4487 verbose parsed url { protocol: null,
4487 verbose parsed url slashes: null,
4487 verbose parsed url auth: null,
4487 verbose parsed url host: null,
4487 verbose parsed url port: null,
4487 verbose parsed url hostname: null,
4487 verbose parsed url hash: null,
4487 verbose parsed url search: null,
4487 verbose parsed url query: null,
4487 verbose parsed url pathname: 'ansicolors@~0.2.1',
4487 verbose parsed url path: 'ansicolors@~0.2.1',
4487 verbose parsed url href: 'ansicolors@~0.2.1' }
4488 verbose cache add name="ansicolors" spec="~0.2.1" args=["ansicolors","~0.2.1"]
4489 verbose parsed url { protocol: null,
4489 verbose parsed url slashes: null,
4489 verbose parsed url auth: null,
4489 verbose parsed url host: null,
4489 verbose parsed url port: null,
4489 verbose parsed url hostname: null,
4489 verbose parsed url hash: null,
4489 verbose parsed url search: null,
4489 verbose parsed url query: null,
4489 verbose parsed url pathname: '~0.2.1',
4489 verbose parsed url path: '~0.2.1',
4489 verbose parsed url href: '~0.2.1' }
4490 verbose addNamed [ 'ansicolors', '~0.2.1' ]
4491 verbose addNamed [ null, '>=0.2.1- <0.3.0-' ]
4492 silly lockFile 6587cbc8-ansicolors-0-2-1 ansicolors@~0.2.1
4493 verbose lock ansicolors@~0.2.1 /root/.npm/6587cbc8-ansicolors-0-2-1.lock
4494 silly addNameRange { name: 'redeyed', range: '>=0.4.0- <0.5.0-', hasData: false }
4495 silly addNameRange { name: 'ansicolors', range: '>=0.2.1- <0.3.0-', hasData: false }
4496 silly gunzTarPerm extractEntry test/many.js
4497 verbose url raw redeyed
4498 verbose url resolving [ 'https://registry.npmjs.org/', './redeyed' ]
4499 verbose url resolved https://registry.npmjs.org/redeyed
4500 info trying registry request attempt 1 at 23:07:49
4501 verbose etag "6LCOEJXI5PYRJ4JW4WH0DMQW"
4502 http GET https://registry.npmjs.org/redeyed
4503 verbose url raw ansicolors
4504 verbose url resolving [ 'https://registry.npmjs.org/', './ansicolors' ]
4505 verbose url resolved https://registry.npmjs.org/ansicolors
4506 info trying registry request attempt 1 at 23:07:49
4507 verbose etag "4HMIPZFGKFYX9KGNISEDHESGA"
4508 http GET https://registry.npmjs.org/ansicolors
4509 verbose read json /usr/lib/node_modules/bower/node_modules/tar/package.json
4510 silly lockFile b3f7da4b-e-modules-bower-node-modules-tar /usr/lib/node_modules/bower/node_modules/tar
4511 silly lockFile b3f7da4b-e-modules-bower-node-modules-tar /usr/lib/node_modules/bower/node_modules/tar
4512 silly gunzTarPerm extractEntry tests/run.js
4513 silly gunzTarPerm extractEntry tests/test-hawk.js
4514 silly lockFile f9c96017-root-npm-tar-0-1-19-package-tgz /root/.npm/tar/0.1.19/package.tgz
4515 silly lockFile f9c96017-root-npm-tar-0-1-19-package-tgz /root/.npm/tar/0.1.19/package.tgz
4516 info preinstall tar@0.1.19
4517 verbose from cache /usr/lib/node_modules/bower/node_modules/tar/package.json
4518 verbose readDependencies using package.json deps
4519 verbose from cache /usr/lib/node_modules/bower/node_modules/tar/package.json
4520 verbose readDependencies using package.json deps
4521 silly gunzTarPerm extractEntry tests/test-isUrl.js
4522 silly gunzTarPerm extractEntry tests/test-localAddress.js
4523 verbose cache add [ 'inherits@2', null ]
4524 verbose cache add name=undefined spec="inherits@2" args=["inherits@2",null]
4525 verbose parsed url { protocol: null,
4525 verbose parsed url slashes: null,
4525 verbose parsed url auth: null,
4525 verbose parsed url host: null,
4525 verbose parsed url port: null,
4525 verbose parsed url hostname: null,
4525 verbose parsed url hash: null,
4525 verbose parsed url search: null,
4525 verbose parsed url query: null,
4525 verbose parsed url pathname: 'inherits@2',
4525 verbose parsed url path: 'inherits@2',
4525 verbose parsed url href: 'inherits@2' }
4526 verbose cache add name="inherits" spec="2" args=["inherits","2"]
4527 verbose parsed url { protocol: null,
4527 verbose parsed url slashes: null,
4527 verbose parsed url auth: null,
4527 verbose parsed url host: null,
4527 verbose parsed url port: null,
4527 verbose parsed url hostname: null,
4527 verbose parsed url hash: null,
4527 verbose parsed url search: null,
4527 verbose parsed url query: null,
4527 verbose parsed url pathname: '2',
4527 verbose parsed url path: '2',
4527 verbose parsed url href: '2' }
4528 verbose addNamed [ 'inherits', '2' ]
4529 verbose addNamed [ null, '>=2.0.0- <3.0.0-' ]
4530 silly lockFile 1f7ff4de-inherits-2 inherits@2
4531 verbose lock inherits@2 /root/.npm/1f7ff4de-inherits-2.lock
4532 silly gunzTarPerm extractEntry tests/test-oauth.js
4533 silly gunzTarPerm extractEntry tests/test-onelineproxy.js
4534 silly addNameRange { name: 'inherits', range: '>=2.0.0- <3.0.0-', hasData: false }
4535 verbose cache add [ 'block-stream@*', null ]
4536 verbose cache add name=undefined spec="block-stream@*" args=["block-stream@*",null]
4537 verbose parsed url { protocol: null,
4537 verbose parsed url slashes: null,
4537 verbose parsed url auth: null,
4537 verbose parsed url host: null,
4537 verbose parsed url port: null,
4537 verbose parsed url hostname: null,
4537 verbose parsed url hash: null,
4537 verbose parsed url search: null,
4537 verbose parsed url query: null,
4537 verbose parsed url pathname: 'block-stream@*',
4537 verbose parsed url path: 'block-stream@*',
4537 verbose parsed url href: 'block-stream@*' }
4538 verbose cache add name="block-stream" spec="*" args=["block-stream","*"]
4539 verbose parsed url { protocol: null,
4539 verbose parsed url slashes: null,
4539 verbose parsed url auth: null,
4539 verbose parsed url host: null,
4539 verbose parsed url port: null,
4539 verbose parsed url hostname: null,
4539 verbose parsed url hash: null,
4539 verbose parsed url search: null,
4539 verbose parsed url query: null,
4539 verbose parsed url pathname: '*',
4539 verbose parsed url path: '*',
4539 verbose parsed url href: '*' }
4540 verbose addNamed [ 'block-stream', '*' ]
4541 verbose addNamed [ null, '' ]
4542 silly lockFile 28c964d9-block-stream block-stream@*
4543 verbose lock block-stream@* /root/.npm/28c964d9-block-stream.lock
4544 silly addNameRange { name: 'block-stream', range: '', hasData: false }
4545 verbose registry.get inherits not expired, no request
4546 silly addNameRange number 2 { name: 'inherits', range: '>=2.0.0- <3.0.0-', hasData: true }
4547 silly addNameRange versions [ 'inherits', [ '1.0.0', '2.0.0', '2.0.1' ] ]
4548 verbose addNamed [ 'inherits', '2.0.1' ]
4549 verbose addNamed [ '2.0.1', '2.0.1' ]
4550 silly lockFile 2b2e8f1b-inherits-2-0-1 inherits@2.0.1
4551 verbose lock inherits@2.0.1 /root/.npm/2b2e8f1b-inherits-2-0-1.lock
4552 verbose url raw block-stream
4553 verbose url resolving [ 'https://registry.npmjs.org/', './block-stream' ]
4554 verbose url resolved https://registry.npmjs.org/block-stream
4555 info trying registry request attempt 1 at 23:07:50
4556 verbose etag "BESVSEW8U199B9UI369ZXVW8Q"
4557 http GET https://registry.npmjs.org/block-stream
4558 verbose from cache /root/.npm/inherits/2.0.1/package/package.json
4559 silly lockFile 2b2e8f1b-inherits-2-0-1 inherits@2.0.1
4560 silly lockFile 2b2e8f1b-inherits-2-0-1 inherits@2.0.1
4561 silly gunzTarPerm extractEntry tests/test-params.js
4562 silly gunzTarPerm extractEntry tests/test-form.js
4563 silly lockFile 1f7ff4de-inherits-2 inherits@2
4564 silly lockFile 1f7ff4de-inherits-2 inherits@2
4565 verbose read json /usr/lib/node_modules/bower/node_modules/promptly/node_modules/read/package.json
4566 silly gunzTarPerm extractEntry tests/test-piped-redirect.js
4567 silly gunzTarPerm extractEntry tests/test-follow-all.js
4568 verbose read json /usr/lib/node_modules/bower/node_modules/insight/node_modules/async/package.json
4569 silly lockFile 138ed7b3-dules-promptly-node-modules-read /usr/lib/node_modules/bower/node_modules/promptly/node_modules/read
4570 silly lockFile 138ed7b3-dules-promptly-node-modules-read /usr/lib/node_modules/bower/node_modules/promptly/node_modules/read
4571 http 304 https://registry.npmjs.org/minimatch
4572 silly registry.get cb [ 304,
4572 silly registry.get { date: 'Fri, 23 May 2014 15:07:31 GMT',
4572 silly registry.get server: 'Apache',
4572 silly registry.get via: '1.1 varnish',
4572 silly registry.get 'last-modified': 'Fri, 23 May 2014 15:07:32 GMT',
4572 silly registry.get 'cache-control': 'max-age=1',
4572 silly registry.get etag: '"64HZ0LR2MPZLWRRTTBF60QUIU"',
4572 silly registry.get 'x-served-by': 'cache-sn86-SIN',
4572 silly registry.get 'x-cache': 'HIT',
4572 silly registry.get 'x-cache-hits': '1',
4572 silly registry.get 'x-timer': 'S1400857651.983347,VS0,VE331',
4572 silly registry.get vary: 'Accept',
4572 silly registry.get 'content-length': '0',
4572 silly registry.get 'keep-alive': 'timeout=10, max=48',
4572 silly registry.get connection: 'Keep-Alive' } ]
4573 verbose etag minimatch from cache
4574 silly gunzTarPerm extractEntry tests/test-pipes.js
4575 silly gunzTarPerm extractEntry tests/test-follow-all-303.js
4576 silly lockFile 1ede2f90-root-npm-read-1-0-5-package-tgz /root/.npm/read/1.0.5/package.tgz
4577 silly lockFile 1ede2f90-root-npm-read-1-0-5-package-tgz /root/.npm/read/1.0.5/package.tgz
4578 silly lockFile 251ab7bf-dules-insight-node-modules-async /usr/lib/node_modules/bower/node_modules/insight/node_modules/async
4579 silly lockFile 251ab7bf-dules-insight-node-modules-async /usr/lib/node_modules/bower/node_modules/insight/node_modules/async
4580 silly lockFile 5242c7f8-oot-npm-async-0-2-10-package-tgz /root/.npm/async/0.2.10/package.tgz
4581 silly lockFile 5242c7f8-oot-npm-async-0-2-10-package-tgz /root/.npm/async/0.2.10/package.tgz
4582 info preinstall read@1.0.5
4583 silly lockFile 27a1ef78-minimatch-0-3-0 minimatch@^0.3.0
4584 silly lockFile 27a1ef78-minimatch-0-3-0 minimatch@^0.3.0
4585 verbose from cache /usr/lib/node_modules/bower/node_modules/promptly/node_modules/read/package.json
4586 info preinstall async@0.2.10
4587 verbose readDependencies using package.json deps
4588 verbose from cache /usr/lib/node_modules/bower/node_modules/promptly/node_modules/read/package.json
4589 verbose about to build /usr/lib/node_modules/bower/node_modules/fstream-ignore
4590 info /usr/lib/node_modules/bower/node_modules/fstream-ignore unbuild
4591 verbose from cache /usr/lib/node_modules/bower/node_modules/fstream-ignore/package.json
4592 info preuninstall fstream-ignore@0.0.8
4593 verbose readDependencies using package.json deps
4594 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/node_modules/async/package.json
4595 info uninstall fstream-ignore@0.0.8
4596 verbose readDependencies using package.json deps
4597 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/node_modules/async/package.json
4598 verbose cache add [ 'mute-stream@~0.0.4', null ]
4599 verbose cache add name=undefined spec="mute-stream@~0.0.4" args=["mute-stream@~0.0.4",null]
4600 verbose parsed url { protocol: null,
4600 verbose parsed url slashes: null,
4600 verbose parsed url auth: null,
4600 verbose parsed url host: null,
4600 verbose parsed url port: null,
4600 verbose parsed url hostname: null,
4600 verbose parsed url hash: null,
4600 verbose parsed url search: null,
4600 verbose parsed url query: null,
4600 verbose parsed url pathname: 'mute-stream@~0.0.4',
4600 verbose parsed url path: 'mute-stream@~0.0.4',
4600 verbose parsed url href: 'mute-stream@~0.0.4' }
4601 verbose cache add name="mute-stream" spec="~0.0.4" args=["mute-stream","~0.0.4"]
4602 verbose parsed url { protocol: null,
4602 verbose parsed url slashes: null,
4602 verbose parsed url auth: null,
4602 verbose parsed url host: null,
4602 verbose parsed url port: null,
4602 verbose parsed url hostname: null,
4602 verbose parsed url hash: null,
4602 verbose parsed url search: null,
4602 verbose parsed url query: null,
4602 verbose parsed url pathname: '~0.0.4',
4602 verbose parsed url path: '~0.0.4',
4602 verbose parsed url href: '~0.0.4' }
4603 verbose addNamed [ 'mute-stream', '~0.0.4' ]
4604 verbose addNamed [ null, '>=0.0.4- <0.1.0-' ]
4605 silly lockFile 0cb27cfc-mute-stream-0-0-4 mute-stream@~0.0.4
4606 verbose lock mute-stream@~0.0.4 /root/.npm/0cb27cfc-mute-stream-0-0-4.lock
4607 verbose readDependencies using package.json deps
4608 silly resolved []
4609 verbose about to build /usr/lib/node_modules/bower/node_modules/insight/node_modules/async
4610 info build /usr/lib/node_modules/bower/node_modules/insight/node_modules/async
4611 verbose from cache /usr/lib/node_modules/bower/node_modules/insight/node_modules/async/package.json
4612 verbose linkStuff [ true,
4612 verbose linkStuff '/usr/lib/node_modules',
4612 verbose linkStuff false,
4612 verbose linkStuff '/usr/lib/node_modules/bower/node_modules/insight/node_modules' ]
4613 info linkStuff async@0.2.10
4614 verbose linkBins async@0.2.10
4615 verbose linkMans async@0.2.10
4616 verbose rebuildBundles async@0.2.10
4617 verbose false,/usr/lib/node_modules,/usr/lib/node_modules/bower/node_modules unbuild fstream-ignore@0.0.8
4618 info postuninstall fstream-ignore@0.0.8
4619 silly addNameRange { name: 'mute-stream',
4619 silly addNameRange range: '>=0.0.4- <0.1.0-',
4619 silly addNameRange hasData: false }
4620 info install async@0.2.10
4621 info postinstall async@0.2.10
4622 silly gunzTarPerm extractEntry tests/test-pool.js
4623 silly gunzTarPerm extractEntry tests/test-errors.js
4624 verbose url raw mute-stream
4625 verbose url resolving [ 'https://registry.npmjs.org/', './mute-stream' ]
4626 verbose url resolved https://registry.npmjs.org/mute-stream
4627 info trying registry request attempt 1 at 23:07:50
4628 verbose etag "894HXUM1QSNIUNJ926RHD26P1"
4629 http GET https://registry.npmjs.org/mute-stream
4630 verbose about to build /usr/lib/node_modules/bower
4631 info /usr/lib/node_modules/bower unbuild
4632 verbose from cache /usr/lib/node_modules/bower/package.json
4633 info preuninstall bower@1.3.3
4634 info uninstall bower@1.3.3
4635 verbose true,/usr/lib/node_modules,/usr/lib/node_modules unbuild bower@1.3.3
4636 verbose /usr/bin,[object Object] binRoot
4637 silly gunzTarPerm extractEntry tests/test-protocol-changing-redirect.js
4638 silly gunzTarPerm extractEntry tests/test-emptyBody.js
4639 info postuninstall bower@1.3.3
4640 silly gunzTarPerm extractEntry tests/test-proxy.js
4641 silly gunzTarPerm extractEntry tests/test-digest-auth.js
4642 silly gunzTarPerm extractEntry tests/test-qs.js
4643 silly gunzTarPerm extractEntry tests/test-defaults.js
4644 error Error: ENOENT, lstat '/usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/request/tests/test-isUrl.js'
4645 error If you need help, you may report this log at:
4645 error <http://github.com/isaacs/npm/issues>
4645 error or email it to:
4645 error <npm-@googlegroups.com>
4646 error System Linux 3.11.10-11-desktop
4647 error command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "bower"
4648 error cwd /home/sam
4649 error node -v v0.10.5
4650 error npm -v 1.2.18
4651 error path /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/request/tests/test-isUrl.js
4652 error fstream_path /usr/lib/node_modules/bower/node_modules/update-notifier/node_modules/request/tests/test-isUrl.js
4653 error fstream_type File
4654 error fstream_class FileWriter
4655 error code ENOENT
4656 error errno 34
4657 error fstream_stack /usr/lib/node_modules/npm/node_modules/fstream/lib/writer.js:284:26
4657 error fstream_stack Object.oncomplete (fs.js:107:15)
4658 verbose exit [ 34, true ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment