Skip to content

Instantly share code, notes, and snippets.

@AlecTaylor
Created June 16, 2014 11:36
Show Gist options
  • Save AlecTaylor/5caaeaac0480dbc670fa to your computer and use it in GitHub Desktop.
Save AlecTaylor/5caaeaac0480dbc670fa to your computer and use it in GitHub Desktop.
npm failing on bower (`sudo npm install -g bower`)
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli '/usr/local/bin/npm',
1 verbose cli 'install',
1 verbose cli '-g',
1 verbose cli 'bower' ]
2 info using [email protected]
3 info using [email protected]
4 verbose cache add [ 'bower', null ]
5 verbose cache add name=undefined spec="bower" args=["bower",null]
6 verbose parsed url { protocol: null,
6 verbose parsed url slashes: null,
6 verbose parsed url auth: null,
6 verbose parsed url host: null,
6 verbose parsed url port: null,
6 verbose parsed url hostname: null,
6 verbose parsed url hash: null,
6 verbose parsed url search: null,
6 verbose parsed url query: null,
6 verbose parsed url pathname: 'bower',
6 verbose parsed url path: 'bower',
6 verbose parsed url href: 'bower' }
7 silly lockFile 206e3ce5-bower bower
8 verbose lock bower /home/alectaylor/.npm/206e3ce5-bower.lock
9 silly lockFile 206e3ce5-bower bower
10 silly lockFile 206e3ce5-bower bower
11 verbose addNamed [ 'bower', '' ]
12 verbose addNamed [ null, '*' ]
13 silly lockFile 1240aab1-bower bower@
14 verbose lock bower@ /home/alectaylor/.npm/1240aab1-bower.lock
15 silly addNameRange { name: 'bower', range: '*', hasData: false }
16 verbose url raw bower
17 verbose url resolving [ 'https://registry.npmjs.org/', './bower' ]
18 verbose url resolved https://registry.npmjs.org/bower
19 info trying registry request attempt 1 at 11:33:14
20 verbose etag "DP3LZ84X7XJXE35FCC8I23EXL"
21 http GET https://registry.npmjs.org/bower
22 http 304 https://registry.npmjs.org/bower
23 silly registry.get cb [ 304,
23 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:14 GMT',
23 silly registry.get server: 'Apache',
23 silly registry.get via: '1.1 varnish',
23 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:55 GMT',
23 silly registry.get 'cache-control': 'max-age=30',
23 silly registry.get etag: '"DP3LZ84X7XJXE35FCC8I23EXL"',
23 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
23 silly registry.get 'x-cache': 'HIT',
23 silly registry.get 'x-cache-hits': '3',
23 silly registry.get 'x-timer': 'S1402918394.690094,VS0,VE0',
23 silly registry.get vary: 'Accept',
23 silly registry.get 'content-length': '0',
23 silly registry.get 'keep-alive': 'timeout=10, max=50',
23 silly registry.get connection: 'Keep-Alive' } ]
24 verbose etag bower from cache
25 silly addNameRange number 2 { name: 'bower', range: '*', hasData: true }
26 silly addNameRange versions [ 'bower',
26 silly addNameRange [ '0.1.0',
26 silly addNameRange '0.1.2',
26 silly addNameRange '0.1.3',
26 silly addNameRange '0.2.0',
26 silly addNameRange '0.3.0',
26 silly addNameRange '0.3.1',
26 silly addNameRange '0.3.2',
26 silly addNameRange '0.4.0',
26 silly addNameRange '0.5.0',
26 silly addNameRange '0.5.1',
26 silly addNameRange '0.6.0',
26 silly addNameRange '0.6.1',
26 silly addNameRange '0.6.2',
26 silly addNameRange '0.6.3',
26 silly addNameRange '0.6.4',
26 silly addNameRange '0.6.5',
26 silly addNameRange '0.6.6',
26 silly addNameRange '0.6.7',
26 silly addNameRange '0.6.8',
26 silly addNameRange '0.7.0',
26 silly addNameRange '0.7.1',
26 silly addNameRange '0.8.0',
26 silly addNameRange '0.8.1',
26 silly addNameRange '0.8.2',
26 silly addNameRange '0.8.3',
26 silly addNameRange '0.8.4',
26 silly addNameRange '0.8.5',
26 silly addNameRange '0.8.6',
26 silly addNameRange '0.9.0',
26 silly addNameRange '0.9.1',
26 silly addNameRange '0.9.2',
26 silly addNameRange '0.10.0',
26 silly addNameRange '1.0.0',
26 silly addNameRange '1.0.1',
26 silly addNameRange '1.0.2',
26 silly addNameRange '1.0.3',
26 silly addNameRange '1.1.0',
26 silly addNameRange '1.1.1',
26 silly addNameRange '1.1.2',
26 silly addNameRange '1.2.0',
26 silly addNameRange '1.2.1',
26 silly addNameRange '1.2.2',
26 silly addNameRange '1.2.3',
26 silly addNameRange '1.2.4',
26 silly addNameRange '1.2.5',
26 silly addNameRange '1.2.6',
26 silly addNameRange '1.2.7',
26 silly addNameRange '1.2.8',
26 silly addNameRange '1.3.0',
26 silly addNameRange '1.3.1',
26 silly addNameRange '1.3.2',
26 silly addNameRange '1.3.3',
26 silly addNameRange '1.3.4',
26 silly addNameRange '1.3.5' ] ]
27 verbose addNamed [ 'bower', '1.3.5' ]
28 verbose addNamed [ '1.3.5', '1.3.5' ]
29 silly lockFile ba50d98b-bower-1-3-5 [email protected]
30 verbose lock [email protected] /home/alectaylor/.npm/ba50d98b-bower-1-3-5.lock
31 silly lockFile ba50d98b-bower-1-3-5 [email protected]
32 silly lockFile ba50d98b-bower-1-3-5 [email protected]
33 silly lockFile 1240aab1-bower bower@
34 silly lockFile 1240aab1-bower bower@
35 silly resolved [ { name: 'bower',
35 silly resolved version: '1.3.5',
35 silly resolved description: 'The browser package manager',
35 silly resolved author: { name: 'Twitter' },
35 silly resolved licenses: [ [Object] ],
35 silly resolved repository: { type: 'git', url: 'git://github.com/bower/bower' },
35 silly resolved main: 'lib',
35 silly resolved homepage: 'http://bower.io',
35 silly resolved engines: { node: '>=0.10.0' },
35 silly resolved dependencies:
35 silly resolved { abbrev: '~1.0.4',
35 silly resolved archy: '~0.0.2',
35 silly resolved 'bower-config': '~0.5.0',
35 silly resolved 'bower-endpoint-parser': '~0.2.0',
35 silly resolved 'bower-json': '~0.4.0',
35 silly resolved 'bower-logger': '~0.2.2',
35 silly resolved 'bower-registry-client': '~0.2.0',
35 silly resolved cardinal: '~0.4.0',
35 silly resolved chalk: '~0.4.0',
35 silly resolved chmodr: '~0.1.0',
35 silly resolved 'decompress-zip': '~0.0.6',
35 silly resolved fstream: '~0.1.22',
35 silly resolved 'fstream-ignore': '~0.0.6',
35 silly resolved glob: '~3.2.9',
35 silly resolved 'graceful-fs': '~2.0.0',
35 silly resolved handlebars: '~1.3.0',
35 silly resolved inquirer: '~0.4.0',
35 silly resolved insight: '~0.3.0',
35 silly resolved 'is-root': '~0.1.0',
35 silly resolved junk: '~0.3.0',
35 silly resolved lockfile: '~0.4.2',
35 silly resolved 'lru-cache': '~2.5.0',
35 silly resolved mkdirp: '~0.3.5',
35 silly resolved mout: '~0.9.1',
35 silly resolved nopt: '~2.2.0',
35 silly resolved opn: '~0.1.1',
35 silly resolved osenv: '~0.0.3',
35 silly resolved 'p-throttler': '~0.0.1',
35 silly resolved promptly: '~0.2.0',
35 silly resolved q: '~1.0.1',
35 silly resolved request: '~2.34.0',
35 silly resolved 'request-progress': '~0.3.0',
35 silly resolved retry: '~0.6.0',
35 silly resolved rimraf: '~2.2.0',
35 silly resolved semver: '~2.2.1',
35 silly resolved 'shell-quote': '~1.4.1',
35 silly resolved 'stringify-object': '~0.2.0',
35 silly resolved tar: '~0.1.17',
35 silly resolved tmp: '~0.0.20',
35 silly resolved 'update-notifier': '~0.1.8',
35 silly resolved which: '~1.0.5' },
35 silly resolved devDependencies:
35 silly resolved { 'expect.js': '~0.3.1',
35 silly resolved grunt: '~0.4.4',
35 silly resolved 'grunt-contrib-jshint': '~0.10.0',
35 silly resolved 'grunt-contrib-watch': '~0.6.1',
35 silly resolved 'grunt-exec': '~0.4.2',
35 silly resolved 'grunt-simple-mocha': '~0.4.0',
35 silly resolved istanbul: '~0.2.4',
35 silly resolved 'load-grunt-tasks': '~0.4.0',
35 silly resolved mocha: '~1.18',
35 silly resolved nock: '~0.28.2',
35 silly resolved proxyquire: '~0.6.0' },
35 silly resolved scripts: { test: 'grunt test' },
35 silly resolved bin: { bower: 'bin/bower' },
35 silly resolved preferGlobal: true,
35 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., `[email protected]: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 the `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## Analytics\n\nBower collects anonymous usage statistics in order to be able to improve bower, and to publically display package and command usage rankings. Data is tracked using Google Analytics and is made available to all bower team members.\n\nIf you\'d prefer to disable analytics in Bower altogether, then create either a local, or global `.bowerrc` file with `analytics = false`.\n\n```json\n{\n "analytics": false\n}\n```\n\n\n\n## Support\n\n* [StackOverflow](http://stackoverflow.com/questions/tagged/bower)\n* [Mailinglist](http://groups.google.com/group/twitter-bower) - [email protected]\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',
35 silly resolved readmeFilename: 'README.md',
35 silly resolved bugs: { url: 'https://github.com/bower/bower/issues' },
35 silly resolved _id: '[email protected]',
35 silly resolved _shasum: '36a749fa8d0ac4d96609f721d15c93834bdaf98b',
35 silly resolved _from: 'bower@',
35 silly resolved _resolved: 'https://registry.npmjs.org/bower/-/bower-1.3.5.tgz' } ]
36 info install [email protected] into /usr/local/lib
37 info installOne [email protected]
38 info /usr/local/lib/node_modules/bower unbuild
39 verbose tar unpack /home/alectaylor/.npm/bower/1.3.5/package.tgz
40 silly lockFile 1396471b-usr-local-lib-node-modules-bower tar:///usr/local/lib/node_modules/bower
41 verbose lock tar:///usr/local/lib/node_modules/bower /home/alectaylor/.npm/1396471b-usr-local-lib-node-modules-bower.lock
42 silly lockFile 8889460c-muel-npm-bower-1-3-5-package-tgz tar:///home/alectaylor/.npm/bower/1.3.5/package.tgz
43 verbose lock tar:///home/alectaylor/.npm/bower/1.3.5/package.tgz /home/alectaylor/.npm/8889460c-muel-npm-bower-1-3-5-package-tgz.lock
44 silly gunzTarPerm modes [ '755', '644' ]
45 silly gunzTarPerm extractEntry package.json
46 silly gunzTarPerm extractEntry .npmignore
47 silly gunzTarPerm extractEntry README.md
48 silly gunzTarPerm extractEntry LICENSE
49 silly gunzTarPerm extractEntry Gruntfile.js
50 silly gunzTarPerm extractEntry HOOKS.md
51 silly gunzTarPerm extractEntry .editorconfig
52 silly gunzTarPerm extractEntry .jshintrc
53 silly gunzTarPerm extractEntry .travis.yml
54 silly gunzTarPerm extractEntry CHANGELOG.md
55 silly gunzTarPerm extractEntry bin/bower
56 silly gunzTarPerm extractEntry lib/config.js
57 silly gunzTarPerm extractEntry lib/index.js
58 silly gunzTarPerm extractEntry lib/commands/version.js
59 silly gunzTarPerm extractEntry lib/commands/info.js
60 silly gunzTarPerm extractEntry lib/commands/init.js
61 silly gunzTarPerm extractEntry lib/commands/install.js
62 silly gunzTarPerm extractEntry lib/commands/index.js
63 silly gunzTarPerm extractEntry lib/commands/list.js
64 silly gunzTarPerm extractEntry lib/commands/lookup.js
65 silly gunzTarPerm extractEntry lib/commands/prune.js
66 silly gunzTarPerm extractEntry lib/commands/register.js
67 silly gunzTarPerm extractEntry lib/commands/search.js
68 silly gunzTarPerm extractEntry lib/commands/home.js
69 silly gunzTarPerm extractEntry lib/commands/uninstall.js
70 silly gunzTarPerm extractEntry lib/commands/help.js
71 silly gunzTarPerm extractEntry lib/commands/update.js
72 silly gunzTarPerm extractEntry lib/commands/completion.js
73 silly gunzTarPerm extractEntry lib/commands/link.js
74 silly gunzTarPerm extractEntry lib/commands/cache/clean.js
75 silly gunzTarPerm extractEntry lib/commands/cache/list.js
76 silly gunzTarPerm extractEntry lib/core/Manager.js
77 silly gunzTarPerm extractEntry lib/core/PackageRepository.js
78 silly gunzTarPerm extractEntry lib/core/Project.js
79 silly gunzTarPerm extractEntry lib/core/ResolveCache.js
80 silly gunzTarPerm extractEntry lib/core/resolverFactory.js
81 silly gunzTarPerm extractEntry lib/core/scripts.js
82 silly gunzTarPerm extractEntry lib/core/resolvers/FsResolver.js
83 silly gunzTarPerm extractEntry lib/core/resolvers/GitFsResolver.js
84 silly gunzTarPerm extractEntry lib/core/resolvers/GitHubResolver.js
85 silly gunzTarPerm extractEntry lib/core/resolvers/GitRemoteResolver.js
86 silly gunzTarPerm extractEntry lib/core/resolvers/GitResolver.js
87 silly gunzTarPerm extractEntry lib/core/resolvers/Resolver.js
88 silly gunzTarPerm extractEntry lib/core/resolvers/SvnResolver.js
89 silly gunzTarPerm extractEntry lib/core/resolvers/UrlResolver.js
90 silly gunzTarPerm extractEntry lib/core/resolvers/index.js
91 silly gunzTarPerm extractEntry lib/renderers/JsonRenderer.js
92 silly gunzTarPerm extractEntry lib/renderers/StandardRenderer.js
93 silly gunzTarPerm extractEntry lib/renderers/index.js
94 silly gunzTarPerm extractEntry lib/util/analytics.js
95 silly gunzTarPerm extractEntry lib/util/createError.js
96 silly gunzTarPerm extractEntry lib/util/createLink.js
97 silly gunzTarPerm extractEntry lib/util/download.js
98 silly gunzTarPerm extractEntry lib/util/copy.js
99 silly gunzTarPerm extractEntry lib/util/md5.js
100 silly gunzTarPerm extractEntry lib/util/readJson.js
101 silly gunzTarPerm extractEntry lib/util/removeIgnores.js
102 silly gunzTarPerm extractEntry lib/util/rootCheck.js
103 silly gunzTarPerm extractEntry lib/util/semver.js
104 silly gunzTarPerm extractEntry lib/util/cmd.js
105 silly gunzTarPerm extractEntry lib/util/template.js
106 silly gunzTarPerm extractEntry lib/util/cli.js
107 silly gunzTarPerm extractEntry lib/util/validLink.js
108 silly gunzTarPerm extractEntry lib/util/extract.js
109 silly gunzTarPerm extractEntry CONTRIBUTING.md
110 silly gunzTarPerm extractEntry templates/helpers/colors.js
111 silly gunzTarPerm extractEntry templates/helpers/condense.js
112 silly gunzTarPerm extractEntry templates/helpers/indent.js
113 silly gunzTarPerm extractEntry templates/helpers/index.js
114 silly gunzTarPerm extractEntry templates/helpers/rpad.js
115 silly gunzTarPerm extractEntry templates/helpers/sum.js
116 silly gunzTarPerm extractEntry templates/json/help-lookup.json
117 silly gunzTarPerm extractEntry templates/json/help-cache/clean.json
118 silly gunzTarPerm extractEntry templates/json/help-cache/list.json
119 silly gunzTarPerm extractEntry templates/json/help-home.json
120 silly gunzTarPerm extractEntry templates/json/help-info.json
121 silly gunzTarPerm extractEntry templates/json/help-init.json
122 silly gunzTarPerm extractEntry templates/json/help-install.json
123 silly gunzTarPerm extractEntry templates/json/help-link.json
124 silly gunzTarPerm extractEntry templates/json/help-list.json
125 silly gunzTarPerm extractEntry templates/json/help-cache.json
126 silly gunzTarPerm extractEntry templates/json/help-prune.json
127 silly gunzTarPerm extractEntry templates/json/help-register.json
128 silly gunzTarPerm extractEntry templates/json/help-search.json
129 silly gunzTarPerm extractEntry templates/json/help-uninstall.json
130 silly gunzTarPerm extractEntry templates/json/help-update.json
131 silly gunzTarPerm extractEntry templates/json/help-version.json
132 silly gunzTarPerm extractEntry templates/json/help.json
133 silly gunzTarPerm extractEntry templates/std/conflict-resolved.std
134 silly gunzTarPerm extractEntry templates/std/conflict.std
135 silly gunzTarPerm extractEntry templates/std/help-cache.std
136 silly gunzTarPerm extractEntry templates/std/help-generic.std
137 silly gunzTarPerm extractEntry templates/std/help.std
138 silly gunzTarPerm extractEntry templates/std/info.std
139 silly gunzTarPerm extractEntry templates/std/lookup.std
140 silly gunzTarPerm extractEntry templates/std/register.std
141 silly gunzTarPerm extractEntry templates/std/search-results.std
142 silly gunzTarPerm extractEntry templates/std/update-notice.std
143 silly gunzTarPerm extractEntry test/packages-svn.js
144 silly gunzTarPerm extractEntry test/packages.js
145 silly gunzTarPerm extractEntry test/test.js
146 silly gunzTarPerm extractEntry test/assets/package-tar.tar.gz
147 silly gunzTarPerm extractEntry test/assets/package-zip-folder-single-file.zip
148 silly gunzTarPerm extractEntry test/assets/package-zip-folder.zip
149 silly gunzTarPerm extractEntry test/assets/package-zip-single-bower-json.zip
150 silly gunzTarPerm extractEntry test/assets/package-zip-single-component-json.zip
151 silly gunzTarPerm extractEntry test/assets/package-zip-single-file.zip
152 silly gunzTarPerm extractEntry test/assets/package-zip.zip
153 silly gunzTarPerm extractEntry test/assets/resolve-cache/list-json-1.json
154 silly gunzTarPerm extractEntry test/assets/test-temp-dir/test-exception.js
155 silly gunzTarPerm extractEntry test/assets/test-temp-dir/test.js
156 silly gunzTarPerm extractEntry test/core/Manager.js
157 silly gunzTarPerm extractEntry test/core/packageRepository.js
158 silly gunzTarPerm extractEntry test/core/resolveCache.js
159 silly gunzTarPerm extractEntry test/core/resolverFactory.js
160 silly gunzTarPerm extractEntry test/core/scripts.js
161 silly gunzTarPerm extractEntry test/core/resolvers/fsResolver.js
162 silly gunzTarPerm extractEntry test/core/resolvers/gitFsResolver.js
163 silly gunzTarPerm extractEntry test/core/resolvers/gitHubResolver.js
164 silly gunzTarPerm extractEntry test/core/resolvers/gitRemoteResolver.js
165 silly gunzTarPerm extractEntry test/core/resolvers/gitResolver.js
166 silly gunzTarPerm extractEntry test/core/resolvers/resolver.js
167 silly gunzTarPerm extractEntry test/core/resolvers/svnResolver.js
168 silly gunzTarPerm extractEntry test/core/resolvers/urlResolver.js
169 silly gunzTarPerm extractEntry test/packages-svn.json
170 silly gunzTarPerm extractEntry test/packages.json
171 silly lockFile 1396471b-usr-local-lib-node-modules-bower tar:///usr/local/lib/node_modules/bower
172 silly lockFile 1396471b-usr-local-lib-node-modules-bower tar:///usr/local/lib/node_modules/bower
173 silly lockFile 8889460c-muel-npm-bower-1-3-5-package-tgz tar:///home/alectaylor/.npm/bower/1.3.5/package.tgz
174 silly lockFile 8889460c-muel-npm-bower-1-3-5-package-tgz tar:///home/alectaylor/.npm/bower/1.3.5/package.tgz
175 info preinstall [email protected]
176 verbose readDependencies using package.json deps
177 verbose readDependencies using package.json deps
178 verbose cache add [ 'abbrev@~1.0.4', null ]
179 verbose cache add name=undefined spec="abbrev@~1.0.4" args=["abbrev@~1.0.4",null]
180 verbose parsed url { protocol: null,
180 verbose parsed url slashes: null,
180 verbose parsed url auth: null,
180 verbose parsed url host: null,
180 verbose parsed url port: null,
180 verbose parsed url hostname: null,
180 verbose parsed url hash: null,
180 verbose parsed url search: null,
180 verbose parsed url query: null,
180 verbose parsed url pathname: 'abbrev@~1.0.4',
180 verbose parsed url path: 'abbrev@~1.0.4',
180 verbose parsed url href: 'abbrev@~1.0.4' }
181 verbose cache add [ 'archy@~0.0.2', null ]
182 verbose cache add name=undefined spec="archy@~0.0.2" args=["archy@~0.0.2",null]
183 verbose parsed url { protocol: null,
183 verbose parsed url slashes: null,
183 verbose parsed url auth: null,
183 verbose parsed url host: null,
183 verbose parsed url port: null,
183 verbose parsed url hostname: null,
183 verbose parsed url hash: null,
183 verbose parsed url search: null,
183 verbose parsed url query: null,
183 verbose parsed url pathname: 'archy@~0.0.2',
183 verbose parsed url path: 'archy@~0.0.2',
183 verbose parsed url href: 'archy@~0.0.2' }
184 verbose cache add name="abbrev" spec="~1.0.4" args=["abbrev","~1.0.4"]
185 verbose parsed url { protocol: null,
185 verbose parsed url slashes: null,
185 verbose parsed url auth: null,
185 verbose parsed url host: null,
185 verbose parsed url port: null,
185 verbose parsed url hostname: null,
185 verbose parsed url hash: null,
185 verbose parsed url search: null,
185 verbose parsed url query: null,
185 verbose parsed url pathname: '~1.0.4',
185 verbose parsed url path: '~1.0.4',
185 verbose parsed url href: '~1.0.4' }
186 verbose addNamed [ 'abbrev', '~1.0.4' ]
187 verbose addNamed [ null, '>=1.0.4-0 <1.1.0-0' ]
188 silly lockFile efa0e9e0-abbrev-1-0-4 abbrev@~1.0.4
189 verbose lock abbrev@~1.0.4 /home/alectaylor/.npm/efa0e9e0-abbrev-1-0-4.lock
190 verbose cache add name="archy" spec="~0.0.2" args=["archy","~0.0.2"]
191 verbose parsed url { protocol: null,
191 verbose parsed url slashes: null,
191 verbose parsed url auth: null,
191 verbose parsed url host: null,
191 verbose parsed url port: null,
191 verbose parsed url hostname: null,
191 verbose parsed url hash: null,
191 verbose parsed url search: null,
191 verbose parsed url query: null,
191 verbose parsed url pathname: '~0.0.2',
191 verbose parsed url path: '~0.0.2',
191 verbose parsed url href: '~0.0.2' }
192 verbose addNamed [ 'archy', '~0.0.2' ]
193 verbose addNamed [ null, '>=0.0.2-0 <0.1.0-0' ]
194 silly lockFile 835d25e0-archy-0-0-2 archy@~0.0.2
195 verbose lock archy@~0.0.2 /home/alectaylor/.npm/835d25e0-archy-0-0-2.lock
196 verbose cache add [ 'bower-config@~0.5.0', null ]
197 verbose cache add name=undefined spec="bower-config@~0.5.0" args=["bower-config@~0.5.0",null]
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: 'bower-config@~0.5.0',
198 verbose parsed url path: 'bower-config@~0.5.0',
198 verbose parsed url href: 'bower-config@~0.5.0' }
199 verbose cache add [ 'bower-endpoint-parser@~0.2.0', null ]
200 verbose cache add name=undefined spec="bower-endpoint-parser@~0.2.0" args=["bower-endpoint-parser@~0.2.0",null]
201 verbose parsed url { protocol: null,
201 verbose parsed url slashes: null,
201 verbose parsed url auth: null,
201 verbose parsed url host: null,
201 verbose parsed url port: null,
201 verbose parsed url hostname: null,
201 verbose parsed url hash: null,
201 verbose parsed url search: null,
201 verbose parsed url query: null,
201 verbose parsed url pathname: 'bower-endpoint-parser@~0.2.0',
201 verbose parsed url path: 'bower-endpoint-parser@~0.2.0',
201 verbose parsed url href: 'bower-endpoint-parser@~0.2.0' }
202 verbose cache add name="bower-config" spec="~0.5.0" args=["bower-config","~0.5.0"]
203 verbose parsed url { protocol: null,
203 verbose parsed url slashes: null,
203 verbose parsed url auth: null,
203 verbose parsed url host: null,
203 verbose parsed url port: null,
203 verbose parsed url hostname: null,
203 verbose parsed url hash: null,
203 verbose parsed url search: null,
203 verbose parsed url query: null,
203 verbose parsed url pathname: '~0.5.0',
203 verbose parsed url path: '~0.5.0',
203 verbose parsed url href: '~0.5.0' }
204 verbose addNamed [ 'bower-config', '~0.5.0' ]
205 verbose addNamed [ null, '>=0.5.0-0 <0.6.0-0' ]
206 silly lockFile 58b6f241-bower-config-0-5-0 bower-config@~0.5.0
207 verbose lock bower-config@~0.5.0 /home/alectaylor/.npm/58b6f241-bower-config-0-5-0.lock
208 verbose cache add [ 'bower-json@~0.4.0', null ]
209 verbose cache add name=undefined spec="bower-json@~0.4.0" args=["bower-json@~0.4.0",null]
210 verbose parsed url { protocol: null,
210 verbose parsed url slashes: null,
210 verbose parsed url auth: null,
210 verbose parsed url host: null,
210 verbose parsed url port: null,
210 verbose parsed url hostname: null,
210 verbose parsed url hash: null,
210 verbose parsed url search: null,
210 verbose parsed url query: null,
210 verbose parsed url pathname: 'bower-json@~0.4.0',
210 verbose parsed url path: 'bower-json@~0.4.0',
210 verbose parsed url href: 'bower-json@~0.4.0' }
211 verbose cache add name="bower-endpoint-parser" spec="~0.2.0" args=["bower-endpoint-parser","~0.2.0"]
212 verbose parsed url { protocol: null,
212 verbose parsed url slashes: null,
212 verbose parsed url auth: null,
212 verbose parsed url host: null,
212 verbose parsed url port: null,
212 verbose parsed url hostname: null,
212 verbose parsed url hash: null,
212 verbose parsed url search: null,
212 verbose parsed url query: null,
212 verbose parsed url pathname: '~0.2.0',
212 verbose parsed url path: '~0.2.0',
212 verbose parsed url href: '~0.2.0' }
213 verbose addNamed [ 'bower-endpoint-parser', '~0.2.0' ]
214 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
215 silly lockFile bf43e285-bower-endpoint-parser-0-2-0 bower-endpoint-parser@~0.2.0
216 verbose lock bower-endpoint-parser@~0.2.0 /home/alectaylor/.npm/bf43e285-bower-endpoint-parser-0-2-0.lock
217 silly addNameRange { name: 'abbrev', range: '>=1.0.4-0 <1.1.0-0', hasData: false }
218 silly addNameRange { name: 'archy', range: '>=0.0.2-0 <0.1.0-0', hasData: false }
219 verbose cache add [ 'bower-logger@~0.2.2', null ]
220 verbose cache add name=undefined spec="bower-logger@~0.2.2" args=["bower-logger@~0.2.2",null]
221 verbose parsed url { protocol: null,
221 verbose parsed url slashes: null,
221 verbose parsed url auth: null,
221 verbose parsed url host: null,
221 verbose parsed url port: null,
221 verbose parsed url hostname: null,
221 verbose parsed url hash: null,
221 verbose parsed url search: null,
221 verbose parsed url query: null,
221 verbose parsed url pathname: 'bower-logger@~0.2.2',
221 verbose parsed url path: 'bower-logger@~0.2.2',
221 verbose parsed url href: 'bower-logger@~0.2.2' }
222 verbose cache add [ 'bower-registry-client@~0.2.0', null ]
223 verbose cache add name=undefined spec="bower-registry-client@~0.2.0" args=["bower-registry-client@~0.2.0",null]
224 verbose parsed url { protocol: null,
224 verbose parsed url slashes: null,
224 verbose parsed url auth: null,
224 verbose parsed url host: null,
224 verbose parsed url port: null,
224 verbose parsed url hostname: null,
224 verbose parsed url hash: null,
224 verbose parsed url search: null,
224 verbose parsed url query: null,
224 verbose parsed url pathname: 'bower-registry-client@~0.2.0',
224 verbose parsed url path: 'bower-registry-client@~0.2.0',
224 verbose parsed url href: 'bower-registry-client@~0.2.0' }
225 verbose cache add name="bower-json" spec="~0.4.0" args=["bower-json","~0.4.0"]
226 verbose parsed url { protocol: null,
226 verbose parsed url slashes: null,
226 verbose parsed url auth: null,
226 verbose parsed url host: null,
226 verbose parsed url port: null,
226 verbose parsed url hostname: null,
226 verbose parsed url hash: null,
226 verbose parsed url search: null,
226 verbose parsed url query: null,
226 verbose parsed url pathname: '~0.4.0',
226 verbose parsed url path: '~0.4.0',
226 verbose parsed url href: '~0.4.0' }
227 verbose addNamed [ 'bower-json', '~0.4.0' ]
228 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
229 silly lockFile ea848668-bower-json-0-4-0 bower-json@~0.4.0
230 verbose lock bower-json@~0.4.0 /home/alectaylor/.npm/ea848668-bower-json-0-4-0.lock
231 silly addNameRange { name: 'bower-config',
231 silly addNameRange range: '>=0.5.0-0 <0.6.0-0',
231 silly addNameRange hasData: false }
232 verbose cache add name="bower-logger" spec="~0.2.2" args=["bower-logger","~0.2.2"]
233 verbose parsed url { protocol: null,
233 verbose parsed url slashes: null,
233 verbose parsed url auth: null,
233 verbose parsed url host: null,
233 verbose parsed url port: null,
233 verbose parsed url hostname: null,
233 verbose parsed url hash: null,
233 verbose parsed url search: null,
233 verbose parsed url query: null,
233 verbose parsed url pathname: '~0.2.2',
233 verbose parsed url path: '~0.2.2',
233 verbose parsed url href: '~0.2.2' }
234 verbose addNamed [ 'bower-logger', '~0.2.2' ]
235 verbose addNamed [ null, '>=0.2.2-0 <0.3.0-0' ]
236 silly lockFile 4dfc8f43-bower-logger-0-2-2 bower-logger@~0.2.2
237 verbose lock bower-logger@~0.2.2 /home/alectaylor/.npm/4dfc8f43-bower-logger-0-2-2.lock
238 verbose cache add [ 'cardinal@~0.4.0', null ]
239 verbose cache add name=undefined spec="cardinal@~0.4.0" args=["cardinal@~0.4.0",null]
240 verbose parsed url { protocol: null,
240 verbose parsed url slashes: null,
240 verbose parsed url auth: null,
240 verbose parsed url host: null,
240 verbose parsed url port: null,
240 verbose parsed url hostname: null,
240 verbose parsed url hash: null,
240 verbose parsed url search: null,
240 verbose parsed url query: null,
240 verbose parsed url pathname: 'cardinal@~0.4.0',
240 verbose parsed url path: 'cardinal@~0.4.0',
240 verbose parsed url href: 'cardinal@~0.4.0' }
241 verbose cache add [ 'chalk@~0.4.0', null ]
242 verbose cache add name=undefined spec="chalk@~0.4.0" args=["chalk@~0.4.0",null]
243 verbose parsed url { protocol: null,
243 verbose parsed url slashes: null,
243 verbose parsed url auth: null,
243 verbose parsed url host: null,
243 verbose parsed url port: null,
243 verbose parsed url hostname: null,
243 verbose parsed url hash: null,
243 verbose parsed url search: null,
243 verbose parsed url query: null,
243 verbose parsed url pathname: 'chalk@~0.4.0',
243 verbose parsed url path: 'chalk@~0.4.0',
243 verbose parsed url href: 'chalk@~0.4.0' }
244 verbose cache add [ 'chmodr@~0.1.0', null ]
245 verbose cache add name=undefined spec="chmodr@~0.1.0" args=["chmodr@~0.1.0",null]
246 verbose parsed url { protocol: null,
246 verbose parsed url slashes: null,
246 verbose parsed url auth: null,
246 verbose parsed url host: null,
246 verbose parsed url port: null,
246 verbose parsed url hostname: null,
246 verbose parsed url hash: null,
246 verbose parsed url search: null,
246 verbose parsed url query: null,
246 verbose parsed url pathname: 'chmodr@~0.1.0',
246 verbose parsed url path: 'chmodr@~0.1.0',
246 verbose parsed url href: 'chmodr@~0.1.0' }
247 verbose cache add [ 'decompress-zip@~0.0.6', null ]
248 verbose cache add name=undefined spec="decompress-zip@~0.0.6" args=["decompress-zip@~0.0.6",null]
249 verbose parsed url { protocol: null,
249 verbose parsed url slashes: null,
249 verbose parsed url auth: null,
249 verbose parsed url host: null,
249 verbose parsed url port: null,
249 verbose parsed url hostname: null,
249 verbose parsed url hash: null,
249 verbose parsed url search: null,
249 verbose parsed url query: null,
249 verbose parsed url pathname: 'decompress-zip@~0.0.6',
249 verbose parsed url path: 'decompress-zip@~0.0.6',
249 verbose parsed url href: 'decompress-zip@~0.0.6' }
250 verbose cache add name="bower-registry-client" spec="~0.2.0" args=["bower-registry-client","~0.2.0"]
251 verbose parsed url { protocol: null,
251 verbose parsed url slashes: null,
251 verbose parsed url auth: null,
251 verbose parsed url host: null,
251 verbose parsed url port: null,
251 verbose parsed url hostname: null,
251 verbose parsed url hash: null,
251 verbose parsed url search: null,
251 verbose parsed url query: null,
251 verbose parsed url pathname: '~0.2.0',
251 verbose parsed url path: '~0.2.0',
251 verbose parsed url href: '~0.2.0' }
252 verbose addNamed [ 'bower-registry-client', '~0.2.0' ]
253 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
254 silly lockFile f1b922af-bower-registry-client-0-2-0 bower-registry-client@~0.2.0
255 verbose lock bower-registry-client@~0.2.0 /home/alectaylor/.npm/f1b922af-bower-registry-client-0-2-0.lock
256 silly addNameRange { name: 'bower-endpoint-parser',
256 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
256 silly addNameRange hasData: false }
257 verbose cache add name="cardinal" spec="~0.4.0" args=["cardinal","~0.4.0"]
258 verbose parsed url { protocol: null,
258 verbose parsed url slashes: null,
258 verbose parsed url auth: null,
258 verbose parsed url host: null,
258 verbose parsed url port: null,
258 verbose parsed url hostname: null,
258 verbose parsed url hash: null,
258 verbose parsed url search: null,
258 verbose parsed url query: null,
258 verbose parsed url pathname: '~0.4.0',
258 verbose parsed url path: '~0.4.0',
258 verbose parsed url href: '~0.4.0' }
259 verbose addNamed [ 'cardinal', '~0.4.0' ]
260 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
261 silly lockFile acc8665e-cardinal-0-4-0 cardinal@~0.4.0
262 verbose lock cardinal@~0.4.0 /home/alectaylor/.npm/acc8665e-cardinal-0-4-0.lock
263 verbose cache add name="chalk" spec="~0.4.0" args=["chalk","~0.4.0"]
264 verbose parsed url { protocol: null,
264 verbose parsed url slashes: null,
264 verbose parsed url auth: null,
264 verbose parsed url host: null,
264 verbose parsed url port: null,
264 verbose parsed url hostname: null,
264 verbose parsed url hash: null,
264 verbose parsed url search: null,
264 verbose parsed url query: null,
264 verbose parsed url pathname: '~0.4.0',
264 verbose parsed url path: '~0.4.0',
264 verbose parsed url href: '~0.4.0' }
265 verbose addNamed [ 'chalk', '~0.4.0' ]
266 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
267 silly lockFile bc9fb696-chalk-0-4-0 chalk@~0.4.0
268 verbose lock chalk@~0.4.0 /home/alectaylor/.npm/bc9fb696-chalk-0-4-0.lock
269 verbose cache add name="chmodr" spec="~0.1.0" args=["chmodr","~0.1.0"]
270 verbose parsed url { protocol: null,
270 verbose parsed url slashes: null,
270 verbose parsed url auth: null,
270 verbose parsed url host: null,
270 verbose parsed url port: null,
270 verbose parsed url hostname: null,
270 verbose parsed url hash: null,
270 verbose parsed url search: null,
270 verbose parsed url query: null,
270 verbose parsed url pathname: '~0.1.0',
270 verbose parsed url path: '~0.1.0',
270 verbose parsed url href: '~0.1.0' }
271 verbose addNamed [ 'chmodr', '~0.1.0' ]
272 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
273 silly lockFile 5c476fe4-chmodr-0-1-0 chmodr@~0.1.0
274 verbose lock chmodr@~0.1.0 /home/alectaylor/.npm/5c476fe4-chmodr-0-1-0.lock
275 verbose cache add name="decompress-zip" spec="~0.0.6" args=["decompress-zip","~0.0.6"]
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: '~0.0.6',
276 verbose parsed url path: '~0.0.6',
276 verbose parsed url href: '~0.0.6' }
277 verbose addNamed [ 'decompress-zip', '~0.0.6' ]
278 verbose addNamed [ null, '>=0.0.6-0 <0.1.0-0' ]
279 silly lockFile 67b19ab4-decompress-zip-0-0-6 decompress-zip@~0.0.6
280 verbose lock decompress-zip@~0.0.6 /home/alectaylor/.npm/67b19ab4-decompress-zip-0-0-6.lock
281 verbose cache add [ 'fstream@~0.1.22', null ]
282 verbose cache add name=undefined spec="fstream@~0.1.22" args=["fstream@~0.1.22",null]
283 verbose parsed url { protocol: null,
283 verbose parsed url slashes: null,
283 verbose parsed url auth: null,
283 verbose parsed url host: null,
283 verbose parsed url port: null,
283 verbose parsed url hostname: null,
283 verbose parsed url hash: null,
283 verbose parsed url search: null,
283 verbose parsed url query: null,
283 verbose parsed url pathname: 'fstream@~0.1.22',
283 verbose parsed url path: 'fstream@~0.1.22',
283 verbose parsed url href: 'fstream@~0.1.22' }
284 verbose cache add [ 'fstream-ignore@~0.0.6', null ]
285 verbose cache add name=undefined spec="fstream-ignore@~0.0.6" args=["fstream-ignore@~0.0.6",null]
286 verbose parsed url { protocol: null,
286 verbose parsed url slashes: null,
286 verbose parsed url auth: null,
286 verbose parsed url host: null,
286 verbose parsed url port: null,
286 verbose parsed url hostname: null,
286 verbose parsed url hash: null,
286 verbose parsed url search: null,
286 verbose parsed url query: null,
286 verbose parsed url pathname: 'fstream-ignore@~0.0.6',
286 verbose parsed url path: 'fstream-ignore@~0.0.6',
286 verbose parsed url href: 'fstream-ignore@~0.0.6' }
287 verbose cache add [ 'glob@~3.2.9', null ]
288 verbose cache add name=undefined spec="glob@~3.2.9" args=["glob@~3.2.9",null]
289 verbose parsed url { protocol: null,
289 verbose parsed url slashes: null,
289 verbose parsed url auth: null,
289 verbose parsed url host: null,
289 verbose parsed url port: null,
289 verbose parsed url hostname: null,
289 verbose parsed url hash: null,
289 verbose parsed url search: null,
289 verbose parsed url query: null,
289 verbose parsed url pathname: 'glob@~3.2.9',
289 verbose parsed url path: 'glob@~3.2.9',
289 verbose parsed url href: 'glob@~3.2.9' }
290 verbose cache add [ 'graceful-fs@~2.0.0', null ]
291 verbose cache add name=undefined spec="graceful-fs@~2.0.0" args=["graceful-fs@~2.0.0",null]
292 verbose parsed url { protocol: null,
292 verbose parsed url slashes: null,
292 verbose parsed url auth: null,
292 verbose parsed url host: null,
292 verbose parsed url port: null,
292 verbose parsed url hostname: null,
292 verbose parsed url hash: null,
292 verbose parsed url search: null,
292 verbose parsed url query: null,
292 verbose parsed url pathname: 'graceful-fs@~2.0.0',
292 verbose parsed url path: 'graceful-fs@~2.0.0',
292 verbose parsed url href: 'graceful-fs@~2.0.0' }
293 verbose cache add [ 'handlebars@~1.3.0', null ]
294 verbose cache add name=undefined spec="handlebars@~1.3.0" args=["handlebars@~1.3.0",null]
295 verbose parsed url { protocol: null,
295 verbose parsed url slashes: null,
295 verbose parsed url auth: null,
295 verbose parsed url host: null,
295 verbose parsed url port: null,
295 verbose parsed url hostname: null,
295 verbose parsed url hash: null,
295 verbose parsed url search: null,
295 verbose parsed url query: null,
295 verbose parsed url pathname: 'handlebars@~1.3.0',
295 verbose parsed url path: 'handlebars@~1.3.0',
295 verbose parsed url href: 'handlebars@~1.3.0' }
296 verbose cache add [ 'inquirer@~0.4.0', null ]
297 verbose cache add name=undefined spec="inquirer@~0.4.0" args=["inquirer@~0.4.0",null]
298 verbose parsed url { protocol: null,
298 verbose parsed url slashes: null,
298 verbose parsed url auth: null,
298 verbose parsed url host: null,
298 verbose parsed url port: null,
298 verbose parsed url hostname: null,
298 verbose parsed url hash: null,
298 verbose parsed url search: null,
298 verbose parsed url query: null,
298 verbose parsed url pathname: 'inquirer@~0.4.0',
298 verbose parsed url path: 'inquirer@~0.4.0',
298 verbose parsed url href: 'inquirer@~0.4.0' }
299 verbose cache add [ 'insight@~0.3.0', null ]
300 verbose cache add name=undefined spec="insight@~0.3.0" args=["insight@~0.3.0",null]
301 verbose parsed url { protocol: null,
301 verbose parsed url slashes: null,
301 verbose parsed url auth: null,
301 verbose parsed url host: null,
301 verbose parsed url port: null,
301 verbose parsed url hostname: null,
301 verbose parsed url hash: null,
301 verbose parsed url search: null,
301 verbose parsed url query: null,
301 verbose parsed url pathname: 'insight@~0.3.0',
301 verbose parsed url path: 'insight@~0.3.0',
301 verbose parsed url href: 'insight@~0.3.0' }
302 verbose cache add [ 'is-root@~0.1.0', null ]
303 verbose cache add name=undefined spec="is-root@~0.1.0" args=["is-root@~0.1.0",null]
304 verbose parsed url { protocol: null,
304 verbose parsed url slashes: null,
304 verbose parsed url auth: null,
304 verbose parsed url host: null,
304 verbose parsed url port: null,
304 verbose parsed url hostname: null,
304 verbose parsed url hash: null,
304 verbose parsed url search: null,
304 verbose parsed url query: null,
304 verbose parsed url pathname: 'is-root@~0.1.0',
304 verbose parsed url path: 'is-root@~0.1.0',
304 verbose parsed url href: 'is-root@~0.1.0' }
305 verbose cache add [ 'junk@~0.3.0', null ]
306 verbose cache add name=undefined spec="junk@~0.3.0" args=["junk@~0.3.0",null]
307 verbose parsed url { protocol: null,
307 verbose parsed url slashes: null,
307 verbose parsed url auth: null,
307 verbose parsed url host: null,
307 verbose parsed url port: null,
307 verbose parsed url hostname: null,
307 verbose parsed url hash: null,
307 verbose parsed url search: null,
307 verbose parsed url query: null,
307 verbose parsed url pathname: 'junk@~0.3.0',
307 verbose parsed url path: 'junk@~0.3.0',
307 verbose parsed url href: 'junk@~0.3.0' }
308 silly addNameRange { name: 'bower-json',
308 silly addNameRange range: '>=0.4.0-0 <0.5.0-0',
308 silly addNameRange hasData: false }
309 silly addNameRange { name: 'bower-logger',
309 silly addNameRange range: '>=0.2.2-0 <0.3.0-0',
309 silly addNameRange hasData: false }
310 verbose cache add name="fstream" spec="~0.1.22" args=["fstream","~0.1.22"]
311 verbose parsed url { protocol: null,
311 verbose parsed url slashes: null,
311 verbose parsed url auth: null,
311 verbose parsed url host: null,
311 verbose parsed url port: null,
311 verbose parsed url hostname: null,
311 verbose parsed url hash: null,
311 verbose parsed url search: null,
311 verbose parsed url query: null,
311 verbose parsed url pathname: '~0.1.22',
311 verbose parsed url path: '~0.1.22',
311 verbose parsed url href: '~0.1.22' }
312 verbose addNamed [ 'fstream', '~0.1.22' ]
313 verbose addNamed [ null, '>=0.1.22-0 <0.2.0-0' ]
314 silly lockFile 75ffa414-fstream-0-1-22 fstream@~0.1.22
315 verbose lock fstream@~0.1.22 /home/alectaylor/.npm/75ffa414-fstream-0-1-22.lock
316 verbose cache add name="fstream-ignore" spec="~0.0.6" args=["fstream-ignore","~0.0.6"]
317 verbose parsed url { protocol: null,
317 verbose parsed url slashes: null,
317 verbose parsed url auth: null,
317 verbose parsed url host: null,
317 verbose parsed url port: null,
317 verbose parsed url hostname: null,
317 verbose parsed url hash: null,
317 verbose parsed url search: null,
317 verbose parsed url query: null,
317 verbose parsed url pathname: '~0.0.6',
317 verbose parsed url path: '~0.0.6',
317 verbose parsed url href: '~0.0.6' }
318 verbose addNamed [ 'fstream-ignore', '~0.0.6' ]
319 verbose addNamed [ null, '>=0.0.6-0 <0.1.0-0' ]
320 silly lockFile faf433bd-fstream-ignore-0-0-6 fstream-ignore@~0.0.6
321 verbose lock fstream-ignore@~0.0.6 /home/alectaylor/.npm/faf433bd-fstream-ignore-0-0-6.lock
322 verbose cache add name="glob" spec="~3.2.9" args=["glob","~3.2.9"]
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: '~3.2.9',
323 verbose parsed url path: '~3.2.9',
323 verbose parsed url href: '~3.2.9' }
324 verbose addNamed [ 'glob', '~3.2.9' ]
325 verbose addNamed [ null, '>=3.2.9-0 <3.3.0-0' ]
326 silly lockFile 200db29c-glob-3-2-9 glob@~3.2.9
327 verbose lock glob@~3.2.9 /home/alectaylor/.npm/200db29c-glob-3-2-9.lock
328 verbose cache add name="graceful-fs" spec="~2.0.0" args=["graceful-fs","~2.0.0"]
329 verbose parsed url { protocol: null,
329 verbose parsed url slashes: null,
329 verbose parsed url auth: null,
329 verbose parsed url host: null,
329 verbose parsed url port: null,
329 verbose parsed url hostname: null,
329 verbose parsed url hash: null,
329 verbose parsed url search: null,
329 verbose parsed url query: null,
329 verbose parsed url pathname: '~2.0.0',
329 verbose parsed url path: '~2.0.0',
329 verbose parsed url href: '~2.0.0' }
330 verbose addNamed [ 'graceful-fs', '~2.0.0' ]
331 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ]
332 silly lockFile 8863dcc9-graceful-fs-2-0-0 graceful-fs@~2.0.0
333 verbose lock graceful-fs@~2.0.0 /home/alectaylor/.npm/8863dcc9-graceful-fs-2-0-0.lock
334 verbose cache add name="handlebars" spec="~1.3.0" args=["handlebars","~1.3.0"]
335 verbose parsed url { protocol: null,
335 verbose parsed url slashes: null,
335 verbose parsed url auth: null,
335 verbose parsed url host: null,
335 verbose parsed url port: null,
335 verbose parsed url hostname: null,
335 verbose parsed url hash: null,
335 verbose parsed url search: null,
335 verbose parsed url query: null,
335 verbose parsed url pathname: '~1.3.0',
335 verbose parsed url path: '~1.3.0',
335 verbose parsed url href: '~1.3.0' }
336 verbose addNamed [ 'handlebars', '~1.3.0' ]
337 verbose addNamed [ null, '>=1.3.0-0 <1.4.0-0' ]
338 silly lockFile 080fb592-handlebars-1-3-0 handlebars@~1.3.0
339 verbose lock handlebars@~1.3.0 /home/alectaylor/.npm/080fb592-handlebars-1-3-0.lock
340 verbose cache add name="inquirer" spec="~0.4.0" args=["inquirer","~0.4.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.4.0',
341 verbose parsed url path: '~0.4.0',
341 verbose parsed url href: '~0.4.0' }
342 verbose addNamed [ 'inquirer', '~0.4.0' ]
343 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
344 silly lockFile 24c291dd-inquirer-0-4-0 inquirer@~0.4.0
345 verbose lock inquirer@~0.4.0 /home/alectaylor/.npm/24c291dd-inquirer-0-4-0.lock
346 verbose cache add name="insight" spec="~0.3.0" args=["insight","~0.3.0"]
347 verbose parsed url { protocol: null,
347 verbose parsed url slashes: null,
347 verbose parsed url auth: null,
347 verbose parsed url host: null,
347 verbose parsed url port: null,
347 verbose parsed url hostname: null,
347 verbose parsed url hash: null,
347 verbose parsed url search: null,
347 verbose parsed url query: null,
347 verbose parsed url pathname: '~0.3.0',
347 verbose parsed url path: '~0.3.0',
347 verbose parsed url href: '~0.3.0' }
348 verbose addNamed [ 'insight', '~0.3.0' ]
349 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
350 silly lockFile ce14d85c-insight-0-3-0 insight@~0.3.0
351 verbose lock insight@~0.3.0 /home/alectaylor/.npm/ce14d85c-insight-0-3-0.lock
352 verbose cache add name="is-root" spec="~0.1.0" args=["is-root","~0.1.0"]
353 verbose parsed url { protocol: null,
353 verbose parsed url slashes: null,
353 verbose parsed url auth: null,
353 verbose parsed url host: null,
353 verbose parsed url port: null,
353 verbose parsed url hostname: null,
353 verbose parsed url hash: null,
353 verbose parsed url search: null,
353 verbose parsed url query: null,
353 verbose parsed url pathname: '~0.1.0',
353 verbose parsed url path: '~0.1.0',
353 verbose parsed url href: '~0.1.0' }
354 verbose addNamed [ 'is-root', '~0.1.0' ]
355 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
356 silly lockFile 3dc75358-is-root-0-1-0 is-root@~0.1.0
357 verbose lock is-root@~0.1.0 /home/alectaylor/.npm/3dc75358-is-root-0-1-0.lock
358 verbose cache add name="junk" spec="~0.3.0" args=["junk","~0.3.0"]
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.3.0',
359 verbose parsed url path: '~0.3.0',
359 verbose parsed url href: '~0.3.0' }
360 verbose addNamed [ 'junk', '~0.3.0' ]
361 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
362 silly lockFile 41579b5e-junk-0-3-0 junk@~0.3.0
363 verbose lock junk@~0.3.0 /home/alectaylor/.npm/41579b5e-junk-0-3-0.lock
364 verbose cache add [ 'lockfile@~0.4.2', null ]
365 verbose cache add name=undefined spec="lockfile@~0.4.2" args=["lockfile@~0.4.2",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: 'lockfile@~0.4.2',
366 verbose parsed url path: 'lockfile@~0.4.2',
366 verbose parsed url href: 'lockfile@~0.4.2' }
367 verbose cache add [ 'lru-cache@~2.5.0', null ]
368 verbose cache add name=undefined spec="lru-cache@~2.5.0" args=["lru-cache@~2.5.0",null]
369 verbose parsed url { protocol: null,
369 verbose parsed url slashes: null,
369 verbose parsed url auth: null,
369 verbose parsed url host: null,
369 verbose parsed url port: null,
369 verbose parsed url hostname: null,
369 verbose parsed url hash: null,
369 verbose parsed url search: null,
369 verbose parsed url query: null,
369 verbose parsed url pathname: 'lru-cache@~2.5.0',
369 verbose parsed url path: 'lru-cache@~2.5.0',
369 verbose parsed url href: 'lru-cache@~2.5.0' }
370 verbose cache add [ 'mkdirp@~0.3.5', null ]
371 verbose cache add name=undefined spec="mkdirp@~0.3.5" args=["mkdirp@~0.3.5",null]
372 verbose parsed url { protocol: null,
372 verbose parsed url slashes: null,
372 verbose parsed url auth: null,
372 verbose parsed url host: null,
372 verbose parsed url port: null,
372 verbose parsed url hostname: null,
372 verbose parsed url hash: null,
372 verbose parsed url search: null,
372 verbose parsed url query: null,
372 verbose parsed url pathname: 'mkdirp@~0.3.5',
372 verbose parsed url path: 'mkdirp@~0.3.5',
372 verbose parsed url href: 'mkdirp@~0.3.5' }
373 verbose cache add [ 'mout@~0.9.1', null ]
374 verbose cache add name=undefined spec="mout@~0.9.1" args=["mout@~0.9.1",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: 'mout@~0.9.1',
375 verbose parsed url path: 'mout@~0.9.1',
375 verbose parsed url href: 'mout@~0.9.1' }
376 verbose cache add [ 'nopt@~2.2.0', null ]
377 verbose cache add name=undefined spec="nopt@~2.2.0" args=["nopt@~2.2.0",null]
378 verbose parsed url { protocol: null,
378 verbose parsed url slashes: null,
378 verbose parsed url auth: null,
378 verbose parsed url host: null,
378 verbose parsed url port: null,
378 verbose parsed url hostname: null,
378 verbose parsed url hash: null,
378 verbose parsed url search: null,
378 verbose parsed url query: null,
378 verbose parsed url pathname: 'nopt@~2.2.0',
378 verbose parsed url path: 'nopt@~2.2.0',
378 verbose parsed url href: 'nopt@~2.2.0' }
379 verbose cache add [ 'opn@~0.1.1', null ]
380 verbose cache add name=undefined spec="opn@~0.1.1" args=["opn@~0.1.1",null]
381 verbose parsed url { protocol: null,
381 verbose parsed url slashes: null,
381 verbose parsed url auth: null,
381 verbose parsed url host: null,
381 verbose parsed url port: null,
381 verbose parsed url hostname: null,
381 verbose parsed url hash: null,
381 verbose parsed url search: null,
381 verbose parsed url query: null,
381 verbose parsed url pathname: 'opn@~0.1.1',
381 verbose parsed url path: 'opn@~0.1.1',
381 verbose parsed url href: 'opn@~0.1.1' }
382 verbose cache add [ 'osenv@~0.0.3', null ]
383 verbose cache add name=undefined spec="osenv@~0.0.3" args=["osenv@~0.0.3",null]
384 verbose parsed url { protocol: null,
384 verbose parsed url slashes: null,
384 verbose parsed url auth: null,
384 verbose parsed url host: null,
384 verbose parsed url port: null,
384 verbose parsed url hostname: null,
384 verbose parsed url hash: null,
384 verbose parsed url search: null,
384 verbose parsed url query: null,
384 verbose parsed url pathname: 'osenv@~0.0.3',
384 verbose parsed url path: 'osenv@~0.0.3',
384 verbose parsed url href: 'osenv@~0.0.3' }
385 verbose cache add [ 'p-throttler@~0.0.1', null ]
386 verbose cache add name=undefined spec="p-throttler@~0.0.1" args=["p-throttler@~0.0.1",null]
387 verbose parsed url { protocol: null,
387 verbose parsed url slashes: null,
387 verbose parsed url auth: null,
387 verbose parsed url host: null,
387 verbose parsed url port: null,
387 verbose parsed url hostname: null,
387 verbose parsed url hash: null,
387 verbose parsed url search: null,
387 verbose parsed url query: null,
387 verbose parsed url pathname: 'p-throttler@~0.0.1',
387 verbose parsed url path: 'p-throttler@~0.0.1',
387 verbose parsed url href: 'p-throttler@~0.0.1' }
388 verbose cache add [ 'promptly@~0.2.0', null ]
389 verbose cache add name=undefined spec="promptly@~0.2.0" args=["promptly@~0.2.0",null]
390 verbose parsed url { protocol: null,
390 verbose parsed url slashes: null,
390 verbose parsed url auth: null,
390 verbose parsed url host: null,
390 verbose parsed url port: null,
390 verbose parsed url hostname: null,
390 verbose parsed url hash: null,
390 verbose parsed url search: null,
390 verbose parsed url query: null,
390 verbose parsed url pathname: 'promptly@~0.2.0',
390 verbose parsed url path: 'promptly@~0.2.0',
390 verbose parsed url href: 'promptly@~0.2.0' }
391 verbose cache add [ 'q@~1.0.1', null ]
392 verbose cache add name=undefined spec="q@~1.0.1" args=["q@~1.0.1",null]
393 verbose parsed url { protocol: null,
393 verbose parsed url slashes: null,
393 verbose parsed url auth: null,
393 verbose parsed url host: null,
393 verbose parsed url port: null,
393 verbose parsed url hostname: null,
393 verbose parsed url hash: null,
393 verbose parsed url search: null,
393 verbose parsed url query: null,
393 verbose parsed url pathname: 'q@~1.0.1',
393 verbose parsed url path: 'q@~1.0.1',
393 verbose parsed url href: 'q@~1.0.1' }
394 verbose cache add [ 'request@~2.34.0', null ]
395 verbose cache add name=undefined spec="request@~2.34.0" args=["request@~2.34.0",null]
396 verbose parsed url { protocol: null,
396 verbose parsed url slashes: null,
396 verbose parsed url auth: null,
396 verbose parsed url host: null,
396 verbose parsed url port: null,
396 verbose parsed url hostname: null,
396 verbose parsed url hash: null,
396 verbose parsed url search: null,
396 verbose parsed url query: null,
396 verbose parsed url pathname: 'request@~2.34.0',
396 verbose parsed url path: 'request@~2.34.0',
396 verbose parsed url href: 'request@~2.34.0' }
397 verbose cache add [ 'request-progress@~0.3.0', null ]
398 verbose cache add name=undefined spec="request-progress@~0.3.0" args=["request-progress@~0.3.0",null]
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: 'request-progress@~0.3.0',
399 verbose parsed url path: 'request-progress@~0.3.0',
399 verbose parsed url href: 'request-progress@~0.3.0' }
400 verbose cache add [ 'retry@~0.6.0', null ]
401 verbose cache add name=undefined spec="retry@~0.6.0" args=["retry@~0.6.0",null]
402 verbose parsed url { protocol: null,
402 verbose parsed url slashes: null,
402 verbose parsed url auth: null,
402 verbose parsed url host: null,
402 verbose parsed url port: null,
402 verbose parsed url hostname: null,
402 verbose parsed url hash: null,
402 verbose parsed url search: null,
402 verbose parsed url query: null,
402 verbose parsed url pathname: 'retry@~0.6.0',
402 verbose parsed url path: 'retry@~0.6.0',
402 verbose parsed url href: 'retry@~0.6.0' }
403 verbose cache add [ 'rimraf@~2.2.0', null ]
404 verbose cache add name=undefined spec="rimraf@~2.2.0" args=["rimraf@~2.2.0",null]
405 verbose parsed url { protocol: null,
405 verbose parsed url slashes: null,
405 verbose parsed url auth: null,
405 verbose parsed url host: null,
405 verbose parsed url port: null,
405 verbose parsed url hostname: null,
405 verbose parsed url hash: null,
405 verbose parsed url search: null,
405 verbose parsed url query: null,
405 verbose parsed url pathname: 'rimraf@~2.2.0',
405 verbose parsed url path: 'rimraf@~2.2.0',
405 verbose parsed url href: 'rimraf@~2.2.0' }
406 verbose cache add [ 'semver@~2.2.1', null ]
407 verbose cache add name=undefined spec="semver@~2.2.1" args=["semver@~2.2.1",null]
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: 'semver@~2.2.1',
408 verbose parsed url path: 'semver@~2.2.1',
408 verbose parsed url href: 'semver@~2.2.1' }
409 silly addNameRange { name: 'bower-registry-client',
409 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
409 silly addNameRange hasData: false }
410 silly addNameRange { name: 'cardinal', range: '>=0.4.0-0 <0.5.0-0', hasData: false }
411 silly addNameRange { name: 'chalk', range: '>=0.4.0-0 <0.5.0-0', hasData: false }
412 silly addNameRange { name: 'chmodr', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
413 silly addNameRange { name: 'decompress-zip',
413 silly addNameRange range: '>=0.0.6-0 <0.1.0-0',
413 silly addNameRange hasData: false }
414 verbose cache add name="lockfile" spec="~0.4.2" args=["lockfile","~0.4.2"]
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: '~0.4.2',
415 verbose parsed url path: '~0.4.2',
415 verbose parsed url href: '~0.4.2' }
416 verbose addNamed [ 'lockfile', '~0.4.2' ]
417 verbose addNamed [ null, '>=0.4.2-0 <0.5.0-0' ]
418 silly lockFile 734876a6-lockfile-0-4-2 lockfile@~0.4.2
419 verbose lock lockfile@~0.4.2 /home/alectaylor/.npm/734876a6-lockfile-0-4-2.lock
420 verbose cache add name="lru-cache" spec="~2.5.0" args=["lru-cache","~2.5.0"]
421 verbose parsed url { protocol: null,
421 verbose parsed url slashes: null,
421 verbose parsed url auth: null,
421 verbose parsed url host: null,
421 verbose parsed url port: null,
421 verbose parsed url hostname: null,
421 verbose parsed url hash: null,
421 verbose parsed url search: null,
421 verbose parsed url query: null,
421 verbose parsed url pathname: '~2.5.0',
421 verbose parsed url path: '~2.5.0',
421 verbose parsed url href: '~2.5.0' }
422 verbose addNamed [ 'lru-cache', '~2.5.0' ]
423 verbose addNamed [ null, '>=2.5.0-0 <2.6.0-0' ]
424 silly lockFile d9ec30b5-lru-cache-2-5-0 lru-cache@~2.5.0
425 verbose lock lru-cache@~2.5.0 /home/alectaylor/.npm/d9ec30b5-lru-cache-2-5-0.lock
426 verbose cache add name="mkdirp" spec="~0.3.5" args=["mkdirp","~0.3.5"]
427 verbose parsed url { protocol: null,
427 verbose parsed url slashes: null,
427 verbose parsed url auth: null,
427 verbose parsed url host: null,
427 verbose parsed url port: null,
427 verbose parsed url hostname: null,
427 verbose parsed url hash: null,
427 verbose parsed url search: null,
427 verbose parsed url query: null,
427 verbose parsed url pathname: '~0.3.5',
427 verbose parsed url path: '~0.3.5',
427 verbose parsed url href: '~0.3.5' }
428 verbose addNamed [ 'mkdirp', '~0.3.5' ]
429 verbose addNamed [ null, '>=0.3.5-0 <0.4.0-0' ]
430 silly lockFile c3f0fe9b-mkdirp-0-3-5 mkdirp@~0.3.5
431 verbose lock mkdirp@~0.3.5 /home/alectaylor/.npm/c3f0fe9b-mkdirp-0-3-5.lock
432 verbose cache add name="mout" spec="~0.9.1" args=["mout","~0.9.1"]
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: '~0.9.1',
433 verbose parsed url path: '~0.9.1',
433 verbose parsed url href: '~0.9.1' }
434 verbose addNamed [ 'mout', '~0.9.1' ]
435 verbose addNamed [ null, '>=0.9.1-0 <0.10.0-0' ]
436 silly lockFile 192577f3-mout-0-9-1 mout@~0.9.1
437 verbose lock mout@~0.9.1 /home/alectaylor/.npm/192577f3-mout-0-9-1.lock
438 verbose cache add name="nopt" spec="~2.2.0" args=["nopt","~2.2.0"]
439 verbose parsed url { protocol: null,
439 verbose parsed url slashes: null,
439 verbose parsed url auth: null,
439 verbose parsed url host: null,
439 verbose parsed url port: null,
439 verbose parsed url hostname: null,
439 verbose parsed url hash: null,
439 verbose parsed url search: null,
439 verbose parsed url query: null,
439 verbose parsed url pathname: '~2.2.0',
439 verbose parsed url path: '~2.2.0',
439 verbose parsed url href: '~2.2.0' }
440 verbose addNamed [ 'nopt', '~2.2.0' ]
441 verbose addNamed [ null, '>=2.2.0-0 <2.3.0-0' ]
442 silly lockFile 84cb411c-nopt-2-2-0 nopt@~2.2.0
443 verbose lock nopt@~2.2.0 /home/alectaylor/.npm/84cb411c-nopt-2-2-0.lock
444 verbose cache add name="opn" spec="~0.1.1" args=["opn","~0.1.1"]
445 verbose parsed url { protocol: null,
445 verbose parsed url slashes: null,
445 verbose parsed url auth: null,
445 verbose parsed url host: null,
445 verbose parsed url port: null,
445 verbose parsed url hostname: null,
445 verbose parsed url hash: null,
445 verbose parsed url search: null,
445 verbose parsed url query: null,
445 verbose parsed url pathname: '~0.1.1',
445 verbose parsed url path: '~0.1.1',
445 verbose parsed url href: '~0.1.1' }
446 verbose addNamed [ 'opn', '~0.1.1' ]
447 verbose addNamed [ null, '>=0.1.1-0 <0.2.0-0' ]
448 silly lockFile 445f6667-opn-0-1-1 opn@~0.1.1
449 verbose lock opn@~0.1.1 /home/alectaylor/.npm/445f6667-opn-0-1-1.lock
450 verbose cache add name="osenv" spec="~0.0.3" args=["osenv","~0.0.3"]
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: '~0.0.3',
451 verbose parsed url path: '~0.0.3',
451 verbose parsed url href: '~0.0.3' }
452 verbose addNamed [ 'osenv', '~0.0.3' ]
453 verbose addNamed [ null, '>=0.0.3-0 <0.1.0-0' ]
454 silly lockFile 7367c0c9-osenv-0-0-3 osenv@~0.0.3
455 verbose lock osenv@~0.0.3 /home/alectaylor/.npm/7367c0c9-osenv-0-0-3.lock
456 verbose cache add name="p-throttler" spec="~0.0.1" args=["p-throttler","~0.0.1"]
457 verbose parsed url { protocol: null,
457 verbose parsed url slashes: null,
457 verbose parsed url auth: null,
457 verbose parsed url host: null,
457 verbose parsed url port: null,
457 verbose parsed url hostname: null,
457 verbose parsed url hash: null,
457 verbose parsed url search: null,
457 verbose parsed url query: null,
457 verbose parsed url pathname: '~0.0.1',
457 verbose parsed url path: '~0.0.1',
457 verbose parsed url href: '~0.0.1' }
458 verbose addNamed [ 'p-throttler', '~0.0.1' ]
459 verbose addNamed [ null, '>=0.0.1-0 <0.1.0-0' ]
460 silly lockFile 52064f95-p-throttler-0-0-1 p-throttler@~0.0.1
461 verbose lock p-throttler@~0.0.1 /home/alectaylor/.npm/52064f95-p-throttler-0-0-1.lock
462 verbose cache add name="promptly" spec="~0.2.0" args=["promptly","~0.2.0"]
463 verbose parsed url { protocol: null,
463 verbose parsed url slashes: null,
463 verbose parsed url auth: null,
463 verbose parsed url host: null,
463 verbose parsed url port: null,
463 verbose parsed url hostname: null,
463 verbose parsed url hash: null,
463 verbose parsed url search: null,
463 verbose parsed url query: null,
463 verbose parsed url pathname: '~0.2.0',
463 verbose parsed url path: '~0.2.0',
463 verbose parsed url href: '~0.2.0' }
464 verbose addNamed [ 'promptly', '~0.2.0' ]
465 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
466 silly lockFile 6286f2d5-promptly-0-2-0 promptly@~0.2.0
467 verbose lock promptly@~0.2.0 /home/alectaylor/.npm/6286f2d5-promptly-0-2-0.lock
468 verbose cache add name="q" spec="~1.0.1" args=["q","~1.0.1"]
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: '~1.0.1',
469 verbose parsed url path: '~1.0.1',
469 verbose parsed url href: '~1.0.1' }
470 verbose addNamed [ 'q', '~1.0.1' ]
471 verbose addNamed [ null, '>=1.0.1-0 <1.1.0-0' ]
472 silly lockFile bfcfee2e-q-1-0-1 q@~1.0.1
473 verbose lock q@~1.0.1 /home/alectaylor/.npm/bfcfee2e-q-1-0-1.lock
474 verbose cache add name="request" spec="~2.34.0" args=["request","~2.34.0"]
475 verbose parsed url { protocol: null,
475 verbose parsed url slashes: null,
475 verbose parsed url auth: null,
475 verbose parsed url host: null,
475 verbose parsed url port: null,
475 verbose parsed url hostname: null,
475 verbose parsed url hash: null,
475 verbose parsed url search: null,
475 verbose parsed url query: null,
475 verbose parsed url pathname: '~2.34.0',
475 verbose parsed url path: '~2.34.0',
475 verbose parsed url href: '~2.34.0' }
476 verbose addNamed [ 'request', '~2.34.0' ]
477 verbose addNamed [ null, '>=2.34.0-0 <2.35.0-0' ]
478 silly lockFile 1fb009df-request-2-34-0 request@~2.34.0
479 verbose lock request@~2.34.0 /home/alectaylor/.npm/1fb009df-request-2-34-0.lock
480 verbose cache add name="request-progress" spec="~0.3.0" args=["request-progress","~0.3.0"]
481 verbose parsed url { protocol: null,
481 verbose parsed url slashes: null,
481 verbose parsed url auth: null,
481 verbose parsed url host: null,
481 verbose parsed url port: null,
481 verbose parsed url hostname: null,
481 verbose parsed url hash: null,
481 verbose parsed url search: null,
481 verbose parsed url query: null,
481 verbose parsed url pathname: '~0.3.0',
481 verbose parsed url path: '~0.3.0',
481 verbose parsed url href: '~0.3.0' }
482 verbose addNamed [ 'request-progress', '~0.3.0' ]
483 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
484 silly lockFile 4fa06f6c-request-progress-0-3-0 request-progress@~0.3.0
485 verbose lock request-progress@~0.3.0 /home/alectaylor/.npm/4fa06f6c-request-progress-0-3-0.lock
486 verbose cache add name="retry" spec="~0.6.0" args=["retry","~0.6.0"]
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: '~0.6.0',
487 verbose parsed url path: '~0.6.0',
487 verbose parsed url href: '~0.6.0' }
488 verbose addNamed [ 'retry', '~0.6.0' ]
489 verbose addNamed [ null, '>=0.6.0-0 <0.7.0-0' ]
490 silly lockFile 51b5c643-retry-0-6-0 retry@~0.6.0
491 verbose lock retry@~0.6.0 /home/alectaylor/.npm/51b5c643-retry-0-6-0.lock
492 verbose cache add name="rimraf" spec="~2.2.0" args=["rimraf","~2.2.0"]
493 verbose parsed url { protocol: null,
493 verbose parsed url slashes: null,
493 verbose parsed url auth: null,
493 verbose parsed url host: null,
493 verbose parsed url port: null,
493 verbose parsed url hostname: null,
493 verbose parsed url hash: null,
493 verbose parsed url search: null,
493 verbose parsed url query: null,
493 verbose parsed url pathname: '~2.2.0',
493 verbose parsed url path: '~2.2.0',
493 verbose parsed url href: '~2.2.0' }
494 verbose addNamed [ 'rimraf', '~2.2.0' ]
495 verbose addNamed [ null, '>=2.2.0-0 <2.3.0-0' ]
496 silly lockFile 69dbd68f-rimraf-2-2-0 rimraf@~2.2.0
497 verbose lock rimraf@~2.2.0 /home/alectaylor/.npm/69dbd68f-rimraf-2-2-0.lock
498 verbose cache add [ 'shell-quote@~1.4.1', null ]
499 verbose cache add name=undefined spec="shell-quote@~1.4.1" args=["shell-quote@~1.4.1",null]
500 verbose parsed url { protocol: null,
500 verbose parsed url slashes: null,
500 verbose parsed url auth: null,
500 verbose parsed url host: null,
500 verbose parsed url port: null,
500 verbose parsed url hostname: null,
500 verbose parsed url hash: null,
500 verbose parsed url search: null,
500 verbose parsed url query: null,
500 verbose parsed url pathname: 'shell-quote@~1.4.1',
500 verbose parsed url path: 'shell-quote@~1.4.1',
500 verbose parsed url href: 'shell-quote@~1.4.1' }
501 verbose cache add [ 'stringify-object@~0.2.0', null ]
502 verbose cache add name=undefined spec="stringify-object@~0.2.0" args=["stringify-object@~0.2.0",null]
503 verbose parsed url { protocol: null,
503 verbose parsed url slashes: null,
503 verbose parsed url auth: null,
503 verbose parsed url host: null,
503 verbose parsed url port: null,
503 verbose parsed url hostname: null,
503 verbose parsed url hash: null,
503 verbose parsed url search: null,
503 verbose parsed url query: null,
503 verbose parsed url pathname: 'stringify-object@~0.2.0',
503 verbose parsed url path: 'stringify-object@~0.2.0',
503 verbose parsed url href: 'stringify-object@~0.2.0' }
504 verbose cache add [ 'tar@~0.1.17', null ]
505 verbose cache add name=undefined spec="tar@~0.1.17" args=["tar@~0.1.17",null]
506 verbose parsed url { protocol: null,
506 verbose parsed url slashes: null,
506 verbose parsed url auth: null,
506 verbose parsed url host: null,
506 verbose parsed url port: null,
506 verbose parsed url hostname: null,
506 verbose parsed url hash: null,
506 verbose parsed url search: null,
506 verbose parsed url query: null,
506 verbose parsed url pathname: 'tar@~0.1.17',
506 verbose parsed url path: 'tar@~0.1.17',
506 verbose parsed url href: 'tar@~0.1.17' }
507 verbose cache add [ 'tmp@~0.0.20', null ]
508 verbose cache add name=undefined spec="tmp@~0.0.20" args=["tmp@~0.0.20",null]
509 verbose parsed url { protocol: null,
509 verbose parsed url slashes: null,
509 verbose parsed url auth: null,
509 verbose parsed url host: null,
509 verbose parsed url port: null,
509 verbose parsed url hostname: null,
509 verbose parsed url hash: null,
509 verbose parsed url search: null,
509 verbose parsed url query: null,
509 verbose parsed url pathname: 'tmp@~0.0.20',
509 verbose parsed url path: 'tmp@~0.0.20',
509 verbose parsed url href: 'tmp@~0.0.20' }
510 verbose cache add [ 'update-notifier@~0.1.8', null ]
511 verbose cache add name=undefined spec="update-notifier@~0.1.8" args=["update-notifier@~0.1.8",null]
512 verbose parsed url { protocol: null,
512 verbose parsed url slashes: null,
512 verbose parsed url auth: null,
512 verbose parsed url host: null,
512 verbose parsed url port: null,
512 verbose parsed url hostname: null,
512 verbose parsed url hash: null,
512 verbose parsed url search: null,
512 verbose parsed url query: null,
512 verbose parsed url pathname: 'update-notifier@~0.1.8',
512 verbose parsed url path: 'update-notifier@~0.1.8',
512 verbose parsed url href: 'update-notifier@~0.1.8' }
513 verbose cache add [ 'which@~1.0.5', null ]
514 verbose cache add name=undefined spec="which@~1.0.5" args=["which@~1.0.5",null]
515 verbose parsed url { protocol: null,
515 verbose parsed url slashes: null,
515 verbose parsed url auth: null,
515 verbose parsed url host: null,
515 verbose parsed url port: null,
515 verbose parsed url hostname: null,
515 verbose parsed url hash: null,
515 verbose parsed url search: null,
515 verbose parsed url query: null,
515 verbose parsed url pathname: 'which@~1.0.5',
515 verbose parsed url path: 'which@~1.0.5',
515 verbose parsed url href: 'which@~1.0.5' }
516 verbose cache add name="semver" spec="~2.2.1" args=["semver","~2.2.1"]
517 verbose parsed url { protocol: null,
517 verbose parsed url slashes: null,
517 verbose parsed url auth: null,
517 verbose parsed url host: null,
517 verbose parsed url port: null,
517 verbose parsed url hostname: null,
517 verbose parsed url hash: null,
517 verbose parsed url search: null,
517 verbose parsed url query: null,
517 verbose parsed url pathname: '~2.2.1',
517 verbose parsed url path: '~2.2.1',
517 verbose parsed url href: '~2.2.1' }
518 verbose addNamed [ 'semver', '~2.2.1' ]
519 verbose addNamed [ null, '>=2.2.1-0 <2.3.0-0' ]
520 silly lockFile 1708eccd-semver-2-2-1 semver@~2.2.1
521 verbose lock semver@~2.2.1 /home/alectaylor/.npm/1708eccd-semver-2-2-1.lock
522 verbose url raw abbrev
523 verbose url resolving [ 'https://registry.npmjs.org/', './abbrev' ]
524 verbose url resolved https://registry.npmjs.org/abbrev
525 info trying registry request attempt 1 at 11:33:14
526 verbose etag "562MFFHMNLG6OBIB7FGGMIS35"
527 http GET https://registry.npmjs.org/abbrev
528 verbose url raw archy
529 verbose url resolving [ 'https://registry.npmjs.org/', './archy' ]
530 verbose url resolved https://registry.npmjs.org/archy
531 info trying registry request attempt 1 at 11:33:14
532 verbose etag "1896SOVEFOO0AU9N6HHSVIPJK"
533 http GET https://registry.npmjs.org/archy
534 silly addNameRange { name: 'fstream', range: '>=0.1.22-0 <0.2.0-0', hasData: false }
535 silly addNameRange { name: 'fstream-ignore',
535 silly addNameRange range: '>=0.0.6-0 <0.1.0-0',
535 silly addNameRange hasData: false }
536 silly addNameRange { name: 'glob', range: '>=3.2.9-0 <3.3.0-0', hasData: false }
537 silly addNameRange { name: 'graceful-fs',
537 silly addNameRange range: '>=2.0.0-0 <2.1.0-0',
537 silly addNameRange hasData: false }
538 silly addNameRange { name: 'handlebars',
538 silly addNameRange range: '>=1.3.0-0 <1.4.0-0',
538 silly addNameRange hasData: false }
539 silly addNameRange { name: 'inquirer', range: '>=0.4.0-0 <0.5.0-0', hasData: false }
540 silly addNameRange { name: 'insight', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
541 silly addNameRange { name: 'is-root', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
542 silly addNameRange { name: 'junk', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
543 verbose cache add name="shell-quote" spec="~1.4.1" args=["shell-quote","~1.4.1"]
544 verbose parsed url { protocol: null,
544 verbose parsed url slashes: null,
544 verbose parsed url auth: null,
544 verbose parsed url host: null,
544 verbose parsed url port: null,
544 verbose parsed url hostname: null,
544 verbose parsed url hash: null,
544 verbose parsed url search: null,
544 verbose parsed url query: null,
544 verbose parsed url pathname: '~1.4.1',
544 verbose parsed url path: '~1.4.1',
544 verbose parsed url href: '~1.4.1' }
545 verbose addNamed [ 'shell-quote', '~1.4.1' ]
546 verbose addNamed [ null, '>=1.4.1-0 <1.5.0-0' ]
547 silly lockFile cfbfb4a3-shell-quote-1-4-1 shell-quote@~1.4.1
548 verbose lock shell-quote@~1.4.1 /home/alectaylor/.npm/cfbfb4a3-shell-quote-1-4-1.lock
549 verbose cache add name="stringify-object" spec="~0.2.0" args=["stringify-object","~0.2.0"]
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: '~0.2.0',
550 verbose parsed url path: '~0.2.0',
550 verbose parsed url href: '~0.2.0' }
551 verbose addNamed [ 'stringify-object', '~0.2.0' ]
552 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
553 silly lockFile 6527850d-stringify-object-0-2-0 stringify-object@~0.2.0
554 verbose lock stringify-object@~0.2.0 /home/alectaylor/.npm/6527850d-stringify-object-0-2-0.lock
555 verbose cache add name="tar" spec="~0.1.17" args=["tar","~0.1.17"]
556 verbose parsed url { protocol: null,
556 verbose parsed url slashes: null,
556 verbose parsed url auth: null,
556 verbose parsed url host: null,
556 verbose parsed url port: null,
556 verbose parsed url hostname: null,
556 verbose parsed url hash: null,
556 verbose parsed url search: null,
556 verbose parsed url query: null,
556 verbose parsed url pathname: '~0.1.17',
556 verbose parsed url path: '~0.1.17',
556 verbose parsed url href: '~0.1.17' }
557 verbose addNamed [ 'tar', '~0.1.17' ]
558 verbose addNamed [ null, '>=0.1.17-0 <0.2.0-0' ]
559 silly lockFile 27b9f27e-tar-0-1-17 tar@~0.1.17
560 verbose lock tar@~0.1.17 /home/alectaylor/.npm/27b9f27e-tar-0-1-17.lock
561 verbose cache add name="tmp" spec="~0.0.20" args=["tmp","~0.0.20"]
562 verbose parsed url { protocol: null,
562 verbose parsed url slashes: null,
562 verbose parsed url auth: null,
562 verbose parsed url host: null,
562 verbose parsed url port: null,
562 verbose parsed url hostname: null,
562 verbose parsed url hash: null,
562 verbose parsed url search: null,
562 verbose parsed url query: null,
562 verbose parsed url pathname: '~0.0.20',
562 verbose parsed url path: '~0.0.20',
562 verbose parsed url href: '~0.0.20' }
563 verbose addNamed [ 'tmp', '~0.0.20' ]
564 verbose addNamed [ null, '>=0.0.20-0 <0.1.0-0' ]
565 silly lockFile d5057ccc-tmp-0-0-20 tmp@~0.0.20
566 verbose lock tmp@~0.0.20 /home/alectaylor/.npm/d5057ccc-tmp-0-0-20.lock
567 verbose cache add name="update-notifier" spec="~0.1.8" args=["update-notifier","~0.1.8"]
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: '~0.1.8',
568 verbose parsed url path: '~0.1.8',
568 verbose parsed url href: '~0.1.8' }
569 verbose addNamed [ 'update-notifier', '~0.1.8' ]
570 verbose addNamed [ null, '>=0.1.8-0 <0.2.0-0' ]
571 silly lockFile 162cceb2-update-notifier-0-1-8 update-notifier@~0.1.8
572 verbose lock update-notifier@~0.1.8 /home/alectaylor/.npm/162cceb2-update-notifier-0-1-8.lock
573 verbose cache add name="which" spec="~1.0.5" args=["which","~1.0.5"]
574 verbose parsed url { protocol: null,
574 verbose parsed url slashes: null,
574 verbose parsed url auth: null,
574 verbose parsed url host: null,
574 verbose parsed url port: null,
574 verbose parsed url hostname: null,
574 verbose parsed url hash: null,
574 verbose parsed url search: null,
574 verbose parsed url query: null,
574 verbose parsed url pathname: '~1.0.5',
574 verbose parsed url path: '~1.0.5',
574 verbose parsed url href: '~1.0.5' }
575 verbose addNamed [ 'which', '~1.0.5' ]
576 verbose addNamed [ null, '>=1.0.5-0 <1.1.0-0' ]
577 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
578 verbose lock which@~1.0.5 /home/alectaylor/.npm/d158d65e-which-1-0-5.lock
579 verbose url raw bower-config
580 verbose url resolving [ 'https://registry.npmjs.org/', './bower-config' ]
581 verbose url resolved https://registry.npmjs.org/bower-config
582 info trying registry request attempt 1 at 11:33:14
583 verbose etag "7DB7VTPAISH37832FURGDJPPW"
584 http GET https://registry.npmjs.org/bower-config
585 silly addNameRange { name: 'lockfile', range: '>=0.4.2-0 <0.5.0-0', hasData: false }
586 silly addNameRange { name: 'lru-cache',
586 silly addNameRange range: '>=2.5.0-0 <2.6.0-0',
586 silly addNameRange hasData: false }
587 silly addNameRange { name: 'mkdirp', range: '>=0.3.5-0 <0.4.0-0', hasData: false }
588 silly addNameRange { name: 'mout', range: '>=0.9.1-0 <0.10.0-0', hasData: false }
589 silly addNameRange { name: 'nopt', range: '>=2.2.0-0 <2.3.0-0', hasData: false }
590 silly addNameRange { name: 'opn', range: '>=0.1.1-0 <0.2.0-0', hasData: false }
591 silly addNameRange { name: 'osenv', range: '>=0.0.3-0 <0.1.0-0', hasData: false }
592 silly addNameRange { name: 'p-throttler',
592 silly addNameRange range: '>=0.0.1-0 <0.1.0-0',
592 silly addNameRange hasData: false }
593 silly addNameRange { name: 'promptly', range: '>=0.2.0-0 <0.3.0-0', hasData: false }
594 silly addNameRange { name: 'q', range: '>=1.0.1-0 <1.1.0-0', hasData: false }
595 silly addNameRange { name: 'request',
595 silly addNameRange range: '>=2.34.0-0 <2.35.0-0',
595 silly addNameRange hasData: false }
596 silly addNameRange { name: 'request-progress',
596 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
596 silly addNameRange hasData: false }
597 silly addNameRange { name: 'retry', range: '>=0.6.0-0 <0.7.0-0', hasData: false }
598 silly addNameRange { name: 'rimraf', range: '>=2.2.0-0 <2.3.0-0', hasData: false }
599 silly addNameRange { name: 'semver', range: '>=2.2.1-0 <2.3.0-0', hasData: false }
600 verbose url raw bower-endpoint-parser
601 verbose url resolving [ 'https://registry.npmjs.org/', './bower-endpoint-parser' ]
602 verbose url resolved https://registry.npmjs.org/bower-endpoint-parser
603 info trying registry request attempt 1 at 11:33:14
604 verbose etag "7QKNUTZCNYRGMOM9SMJTMVS5P"
605 http GET https://registry.npmjs.org/bower-endpoint-parser
606 silly addNameRange { name: 'shell-quote',
606 silly addNameRange range: '>=1.4.1-0 <1.5.0-0',
606 silly addNameRange hasData: false }
607 silly addNameRange { name: 'stringify-object',
607 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
607 silly addNameRange hasData: false }
608 silly addNameRange { name: 'tar', range: '>=0.1.17-0 <0.2.0-0', hasData: false }
609 silly addNameRange { name: 'tmp', range: '>=0.0.20-0 <0.1.0-0', hasData: false }
610 silly addNameRange { name: 'update-notifier',
610 silly addNameRange range: '>=0.1.8-0 <0.2.0-0',
610 silly addNameRange hasData: false }
611 silly addNameRange { name: 'which', range: '>=1.0.5-0 <1.1.0-0', hasData: false }
612 verbose url raw bower-json
613 verbose url resolving [ 'https://registry.npmjs.org/', './bower-json' ]
614 verbose url resolved https://registry.npmjs.org/bower-json
615 info trying registry request attempt 1 at 11:33:14
616 verbose etag "F17HJ6K9ZIM4FVSJ5O46ISS2L"
617 http GET https://registry.npmjs.org/bower-json
618 verbose url raw bower-logger
619 verbose url resolving [ 'https://registry.npmjs.org/', './bower-logger' ]
620 verbose url resolved https://registry.npmjs.org/bower-logger
621 info trying registry request attempt 1 at 11:33:15
622 verbose etag "86JMPIKZA2O1XENJDL0CA4WPK"
623 http GET https://registry.npmjs.org/bower-logger
624 verbose url raw bower-registry-client
625 verbose url resolving [ 'https://registry.npmjs.org/', './bower-registry-client' ]
626 verbose url resolved https://registry.npmjs.org/bower-registry-client
627 info trying registry request attempt 1 at 11:33:15
628 verbose etag "329NNQHG9AY6Z5NEL42FUEJRE"
629 http GET https://registry.npmjs.org/bower-registry-client
630 verbose url raw cardinal
631 verbose url resolving [ 'https://registry.npmjs.org/', './cardinal' ]
632 verbose url resolved https://registry.npmjs.org/cardinal
633 info trying registry request attempt 1 at 11:33:15
634 verbose etag "2U37I1LUMOQHSXJXTWPF7KSGU"
635 http GET https://registry.npmjs.org/cardinal
636 verbose url raw chalk
637 verbose url resolving [ 'https://registry.npmjs.org/', './chalk' ]
638 verbose url resolved https://registry.npmjs.org/chalk
639 info trying registry request attempt 1 at 11:33:15
640 verbose etag "9Q8BQPJ0UTH3JF5RDUAJW0NJK"
641 http GET https://registry.npmjs.org/chalk
642 verbose url raw decompress-zip
643 verbose url resolving [ 'https://registry.npmjs.org/', './decompress-zip' ]
644 verbose url resolved https://registry.npmjs.org/decompress-zip
645 info trying registry request attempt 1 at 11:33:15
646 verbose etag "17BFPAYDD2M9U33NM66STWQS"
647 http GET https://registry.npmjs.org/decompress-zip
648 verbose url raw chmodr
649 verbose url resolving [ 'https://registry.npmjs.org/', './chmodr' ]
650 verbose url resolved https://registry.npmjs.org/chmodr
651 info trying registry request attempt 1 at 11:33:15
652 verbose etag "AFSD6L8HHVJ4KTV3OAI8WCEEN"
653 http GET https://registry.npmjs.org/chmodr
654 verbose url raw fstream
655 verbose url resolving [ 'https://registry.npmjs.org/', './fstream' ]
656 verbose url resolved https://registry.npmjs.org/fstream
657 info trying registry request attempt 1 at 11:33:15
658 verbose etag "ACNLII85RJK6ZEMKTNBBX0TIF"
659 http GET https://registry.npmjs.org/fstream
660 verbose url raw fstream-ignore
661 verbose url resolving [ 'https://registry.npmjs.org/', './fstream-ignore' ]
662 verbose url resolved https://registry.npmjs.org/fstream-ignore
663 info trying registry request attempt 1 at 11:33:15
664 verbose etag "1O62VL9T7C2KOML1PS81J54HB"
665 http GET https://registry.npmjs.org/fstream-ignore
666 verbose url raw glob
667 verbose url resolving [ 'https://registry.npmjs.org/', './glob' ]
668 verbose url resolved https://registry.npmjs.org/glob
669 info trying registry request attempt 1 at 11:33:15
670 verbose etag "EA6G9IRYHWJWLP2479GLGXMUM"
671 http GET https://registry.npmjs.org/glob
672 verbose url raw graceful-fs
673 verbose url resolving [ 'https://registry.npmjs.org/', './graceful-fs' ]
674 verbose url resolved https://registry.npmjs.org/graceful-fs
675 info trying registry request attempt 1 at 11:33:15
676 verbose etag "7881TQ05KQ3DAZ7CNQZNRDGYP"
677 http GET https://registry.npmjs.org/graceful-fs
678 verbose url raw handlebars
679 verbose url resolving [ 'https://registry.npmjs.org/', './handlebars' ]
680 verbose url resolved https://registry.npmjs.org/handlebars
681 info trying registry request attempt 1 at 11:33:15
682 verbose etag "9W2KE4RNU5THF8PLCN5WUTC7Z"
683 http GET https://registry.npmjs.org/handlebars
684 verbose url raw inquirer
685 verbose url resolving [ 'https://registry.npmjs.org/', './inquirer' ]
686 verbose url resolved https://registry.npmjs.org/inquirer
687 info trying registry request attempt 1 at 11:33:15
688 verbose etag "2ZW0AM61NMN0Y6UX4ZIOKCEKD"
689 http GET https://registry.npmjs.org/inquirer
690 verbose url raw insight
691 verbose url resolving [ 'https://registry.npmjs.org/', './insight' ]
692 verbose url resolved https://registry.npmjs.org/insight
693 info trying registry request attempt 1 at 11:33:15
694 verbose etag "9YGD1BBPIH1G9HDGZQFHL2CFS"
695 http GET https://registry.npmjs.org/insight
696 verbose url raw is-root
697 verbose url resolving [ 'https://registry.npmjs.org/', './is-root' ]
698 verbose url resolved https://registry.npmjs.org/is-root
699 info trying registry request attempt 1 at 11:33:15
700 verbose etag "DO5OE6EOI4QAGTOEFMMXUSV4F"
701 http GET https://registry.npmjs.org/is-root
702 verbose url raw junk
703 verbose url resolving [ 'https://registry.npmjs.org/', './junk' ]
704 verbose url resolved https://registry.npmjs.org/junk
705 info trying registry request attempt 1 at 11:33:15
706 verbose etag "570K5D8QDMTCRMOHPGBWLK9AD"
707 http GET https://registry.npmjs.org/junk
708 verbose url raw lockfile
709 verbose url resolving [ 'https://registry.npmjs.org/', './lockfile' ]
710 verbose url resolved https://registry.npmjs.org/lockfile
711 info trying registry request attempt 1 at 11:33:15
712 verbose etag "BE6HUPSNPXI5QOIOUTQKTZG1O"
713 http GET https://registry.npmjs.org/lockfile
714 verbose url raw lru-cache
715 verbose url resolving [ 'https://registry.npmjs.org/', './lru-cache' ]
716 verbose url resolved https://registry.npmjs.org/lru-cache
717 info trying registry request attempt 1 at 11:33:15
718 verbose etag "6EAH4E2XKATH9G2WW7G1L4L00"
719 http GET https://registry.npmjs.org/lru-cache
720 verbose url raw mkdirp
721 verbose url resolving [ 'https://registry.npmjs.org/', './mkdirp' ]
722 verbose url resolved https://registry.npmjs.org/mkdirp
723 info trying registry request attempt 1 at 11:33:15
724 verbose etag "K7730OV2C5Q7YNJN8DD6AB0Z"
725 http GET https://registry.npmjs.org/mkdirp
726 verbose url raw nopt
727 verbose url resolving [ 'https://registry.npmjs.org/', './nopt' ]
728 verbose url resolved https://registry.npmjs.org/nopt
729 info trying registry request attempt 1 at 11:33:15
730 verbose etag "BA5T6RGWU2CVIS5XHWZEBR2W7"
731 http GET https://registry.npmjs.org/nopt
732 verbose url raw mout
733 verbose url resolving [ 'https://registry.npmjs.org/', './mout' ]
734 verbose url resolved https://registry.npmjs.org/mout
735 info trying registry request attempt 1 at 11:33:15
736 verbose etag "DAV4K4JPL3MIW538VHXQIFVFI"
737 http GET https://registry.npmjs.org/mout
738 verbose url raw opn
739 verbose url resolving [ 'https://registry.npmjs.org/', './opn' ]
740 verbose url resolved https://registry.npmjs.org/opn
741 info trying registry request attempt 1 at 11:33:15
742 verbose etag "79G5YZ1U850OWGYELFST2KOCO"
743 http GET https://registry.npmjs.org/opn
744 verbose url raw osenv
745 verbose url resolving [ 'https://registry.npmjs.org/', './osenv' ]
746 verbose url resolved https://registry.npmjs.org/osenv
747 info trying registry request attempt 1 at 11:33:15
748 verbose etag "CHNEP04M2C3TA964JJ6PU7ILN"
749 http GET https://registry.npmjs.org/osenv
750 verbose url raw p-throttler
751 verbose url resolving [ 'https://registry.npmjs.org/', './p-throttler' ]
752 verbose url resolved https://registry.npmjs.org/p-throttler
753 info trying registry request attempt 1 at 11:33:15
754 verbose etag "68WEPGHPQAO4AMIJTX2ILZ86T"
755 http GET https://registry.npmjs.org/p-throttler
756 verbose url raw promptly
757 verbose url resolving [ 'https://registry.npmjs.org/', './promptly' ]
758 verbose url resolved https://registry.npmjs.org/promptly
759 info trying registry request attempt 1 at 11:33:15
760 verbose etag "7XQ80S52I0TQ5Y1XM3S96X706"
761 http GET https://registry.npmjs.org/promptly
762 verbose url raw q
763 verbose url resolving [ 'https://registry.npmjs.org/', './q' ]
764 verbose url resolved https://registry.npmjs.org/q
765 info trying registry request attempt 1 at 11:33:15
766 verbose etag "9LYMG6NY8JBZJBFGFSYHS9CW1"
767 http GET https://registry.npmjs.org/q
768 verbose url raw request-progress
769 verbose url resolving [ 'https://registry.npmjs.org/', './request-progress' ]
770 verbose url resolved https://registry.npmjs.org/request-progress
771 info trying registry request attempt 1 at 11:33:15
772 verbose etag "2WKUQLWDEA3BQ81OQNNS5NV4F"
773 http GET https://registry.npmjs.org/request-progress
774 verbose url raw retry
775 verbose url resolving [ 'https://registry.npmjs.org/', './retry' ]
776 verbose url resolved https://registry.npmjs.org/retry
777 info trying registry request attempt 1 at 11:33:15
778 verbose etag "CYGCHTT54PZV8D99ORYCFYHNQ"
779 http GET https://registry.npmjs.org/retry
780 verbose url raw request
781 verbose url resolving [ 'https://registry.npmjs.org/', './request' ]
782 verbose url resolved https://registry.npmjs.org/request
783 info trying registry request attempt 1 at 11:33:15
784 verbose etag "9271PBDKLF6XPIWS3YVYBGL27"
785 http GET https://registry.npmjs.org/request
786 verbose url raw rimraf
787 verbose url resolving [ 'https://registry.npmjs.org/', './rimraf' ]
788 verbose url resolved https://registry.npmjs.org/rimraf
789 info trying registry request attempt 1 at 11:33:15
790 verbose etag "SJJ9VKTE3URJTS7YF788CTZ6"
791 http GET https://registry.npmjs.org/rimraf
792 verbose url raw semver
793 verbose url resolving [ 'https://registry.npmjs.org/', './semver' ]
794 verbose url resolved https://registry.npmjs.org/semver
795 info trying registry request attempt 1 at 11:33:15
796 verbose etag "392DT6ZXYL68VV0ADP21BAUE"
797 http GET https://registry.npmjs.org/semver
798 verbose url raw stringify-object
799 verbose url resolving [ 'https://registry.npmjs.org/', './stringify-object' ]
800 verbose url resolved https://registry.npmjs.org/stringify-object
801 info trying registry request attempt 1 at 11:33:15
802 verbose etag "8ERZSV3JQWA4O1EG656JF8UYY"
803 http GET https://registry.npmjs.org/stringify-object
804 verbose url raw shell-quote
805 verbose url resolving [ 'https://registry.npmjs.org/', './shell-quote' ]
806 verbose url resolved https://registry.npmjs.org/shell-quote
807 info trying registry request attempt 1 at 11:33:15
808 verbose etag "7OHON4SBUC9KLVFHPXQW0WPA2"
809 http GET https://registry.npmjs.org/shell-quote
810 verbose url raw tar
811 verbose url resolving [ 'https://registry.npmjs.org/', './tar' ]
812 verbose url resolved https://registry.npmjs.org/tar
813 info trying registry request attempt 1 at 11:33:15
814 verbose etag "BDF74SXF2S741NDFKFUG0P0VD"
815 http GET https://registry.npmjs.org/tar
816 verbose url raw tmp
817 verbose url resolving [ 'https://registry.npmjs.org/', './tmp' ]
818 verbose url resolved https://registry.npmjs.org/tmp
819 info trying registry request attempt 1 at 11:33:15
820 verbose etag "7EEX0B275AFWTKLXBU24JHYBQ"
821 http GET https://registry.npmjs.org/tmp
822 verbose url raw update-notifier
823 verbose url resolving [ 'https://registry.npmjs.org/', './update-notifier' ]
824 verbose url resolved https://registry.npmjs.org/update-notifier
825 info trying registry request attempt 1 at 11:33:15
826 verbose etag "772AA9H9JXGCAFT3VBUBVZWOR"
827 http GET https://registry.npmjs.org/update-notifier
828 verbose url raw which
829 verbose url resolving [ 'https://registry.npmjs.org/', './which' ]
830 verbose url resolved https://registry.npmjs.org/which
831 info trying registry request attempt 1 at 11:33:15
832 verbose etag "E4JEKC1OOIDK0CUCTQBI1CZ35"
833 http GET https://registry.npmjs.org/which
834 http 304 https://registry.npmjs.org/abbrev
835 silly registry.get cb [ 304,
835 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
835 silly registry.get server: 'Apache',
835 silly registry.get via: '1.1 varnish',
835 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:54 GMT',
835 silly registry.get 'cache-control': 'max-age=30',
835 silly registry.get etag: '"562MFFHMNLG6OBIB7FGGMIS35"',
835 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
835 silly registry.get 'x-cache': 'HIT',
835 silly registry.get 'x-cache-hits': '4',
835 silly registry.get 'x-timer': 'S1402918395.321890,VS0,VE0',
835 silly registry.get vary: 'Accept',
835 silly registry.get 'content-length': '0',
835 silly registry.get 'keep-alive': 'timeout=10, max=50',
835 silly registry.get connection: 'Keep-Alive' } ]
836 verbose etag abbrev from cache
837 http 304 https://registry.npmjs.org/archy
838 silly registry.get cb [ 304,
838 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
838 silly registry.get server: 'Apache',
838 silly registry.get via: '1.1 varnish',
838 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:57 GMT',
838 silly registry.get 'cache-control': 'max-age=30',
838 silly registry.get etag: '"1896SOVEFOO0AU9N6HHSVIPJK"',
838 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
838 silly registry.get 'x-cache': 'HIT',
838 silly registry.get 'x-cache-hits': '2',
838 silly registry.get 'x-timer': 'S1402918395.324427,VS0,VE0',
838 silly registry.get vary: 'Accept',
838 silly registry.get 'content-length': '0',
838 silly registry.get 'keep-alive': 'timeout=10, max=50',
838 silly registry.get connection: 'Keep-Alive' } ]
839 verbose etag archy from cache
840 silly addNameRange number 2 { name: 'abbrev', range: '>=1.0.4-0 <1.1.0-0', hasData: true }
841 silly addNameRange versions [ 'abbrev', [ '1.0.3', '1.0.4', '1.0.5' ] ]
842 verbose addNamed [ 'abbrev', '1.0.5' ]
843 verbose addNamed [ '1.0.5', '1.0.5' ]
844 silly lockFile 55d90b2f-abbrev-1-0-5 [email protected]
845 verbose lock [email protected] /home/alectaylor/.npm/55d90b2f-abbrev-1-0-5.lock
846 silly addNameRange number 2 { name: 'archy', range: '>=0.0.2-0 <0.1.0-0', hasData: true }
847 silly addNameRange versions [ 'archy', [ '0.0.0', '0.0.1', '0.0.2' ] ]
848 verbose addNamed [ 'archy', '0.0.2' ]
849 verbose addNamed [ '0.0.2', '0.0.2' ]
850 silly lockFile c97e9070-archy-0-0-2 [email protected]
851 verbose lock [email protected] /home/alectaylor/.npm/c97e9070-archy-0-0-2.lock
852 http 304 https://registry.npmjs.org/bower-config
853 silly registry.get cb [ 304,
853 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
853 silly registry.get server: 'Apache',
853 silly registry.get via: '1.1 varnish',
853 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:27:26 GMT',
853 silly registry.get 'cache-control': 'max-age=30',
853 silly registry.get etag: '"7DB7VTPAISH37832FURGDJPPW"',
853 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
853 silly registry.get 'x-cache': 'HIT',
853 silly registry.get 'x-cache-hits': '3',
853 silly registry.get 'x-timer': 'S1402918395.333781,VS0,VE0',
853 silly registry.get vary: 'Accept',
853 silly registry.get 'content-length': '0',
853 silly registry.get 'keep-alive': 'timeout=10, max=50',
853 silly registry.get connection: 'Keep-Alive' } ]
854 verbose etag bower-config from cache
855 http 304 https://registry.npmjs.org/bower-endpoint-parser
856 silly registry.get cb [ 304,
856 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
856 silly registry.get server: 'Apache',
856 silly registry.get via: '1.1 varnish',
856 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:00 GMT',
856 silly registry.get 'cache-control': 'max-age=30',
856 silly registry.get etag: '"7QKNUTZCNYRGMOM9SMJTMVS5P"',
856 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
856 silly registry.get 'x-cache': 'HIT',
856 silly registry.get 'x-cache-hits': '2',
856 silly registry.get 'x-timer': 'S1402918395.341190,VS0,VE0',
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-endpoint-parser from cache
858 http 304 https://registry.npmjs.org/bower-json
859 silly registry.get cb [ 304,
859 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
859 silly registry.get server: 'Apache',
859 silly registry.get via: '1.1 varnish',
859 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:17 GMT',
859 silly registry.get 'cache-control': 'max-age=30',
859 silly registry.get etag: '"F17HJ6K9ZIM4FVSJ5O46ISS2L"',
859 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
859 silly registry.get 'x-cache': 'HIT',
859 silly registry.get 'x-cache-hits': '2',
859 silly registry.get 'x-timer': 'S1402918395.344014,VS0,VE0',
859 silly registry.get vary: 'Accept',
859 silly registry.get 'content-length': '0',
859 silly registry.get 'keep-alive': 'timeout=10, max=50',
859 silly registry.get connection: 'Keep-Alive' } ]
860 verbose etag bower-json from cache
861 silly lockFile 55d90b2f-abbrev-1-0-5 [email protected]
862 silly lockFile 55d90b2f-abbrev-1-0-5 [email protected]
863 silly addNameRange number 2 { name: 'bower-config',
863 silly addNameRange range: '>=0.5.0-0 <0.6.0-0',
863 silly addNameRange hasData: true }
864 silly addNameRange versions [ 'bower-config',
864 silly addNameRange [ '0.1.0-rc.1',
864 silly addNameRange '0.1.0-rc.2',
864 silly addNameRange '0.1.0-rc.3',
864 silly addNameRange '0.1.0-rc.4',
864 silly addNameRange '0.1.0-rc.5',
864 silly addNameRange '0.2.0-rc.1',
864 silly addNameRange '0.2.0-rc.2',
864 silly addNameRange '0.3.0',
864 silly addNameRange '0.3.1',
864 silly addNameRange '0.3.3',
864 silly addNameRange '0.3.4',
864 silly addNameRange '0.3.5',
864 silly addNameRange '0.4.0',
864 silly addNameRange '0.4.1',
864 silly addNameRange '0.4.2',
864 silly addNameRange '0.4.3',
864 silly addNameRange '0.4.4',
864 silly addNameRange '0.4.5',
864 silly addNameRange '0.5.0',
864 silly addNameRange '0.5.1' ] ]
865 verbose addNamed [ 'bower-config', '0.5.1' ]
866 verbose addNamed [ '0.5.1', '0.5.1' ]
867 silly lockFile 6ee025d4-bower-config-0-5-1 [email protected]
868 verbose lock [email protected] /home/alectaylor/.npm/6ee025d4-bower-config-0-5-1.lock
869 silly lockFile c97e9070-archy-0-0-2 [email protected]
870 silly lockFile c97e9070-archy-0-0-2 [email protected]
871 silly lockFile efa0e9e0-abbrev-1-0-4 abbrev@~1.0.4
872 silly lockFile efa0e9e0-abbrev-1-0-4 abbrev@~1.0.4
873 http 304 https://registry.npmjs.org/bower-logger
874 silly registry.get cb [ 304,
874 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
874 silly registry.get server: 'Apache',
874 silly registry.get via: '1.1 varnish',
874 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:55 GMT',
874 silly registry.get 'cache-control': 'max-age=30',
874 silly registry.get etag: '"86JMPIKZA2O1XENJDL0CA4WPK"',
874 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
874 silly registry.get 'x-cache': 'HIT',
874 silly registry.get 'x-cache-hits': '2',
874 silly registry.get 'x-timer': 'S1402918395.352041,VS0,VE0',
874 silly registry.get vary: 'Accept',
874 silly registry.get 'content-length': '0',
874 silly registry.get 'keep-alive': 'timeout=10, max=49',
874 silly registry.get connection: 'Keep-Alive' } ]
875 verbose etag bower-logger from cache
876 http 304 https://registry.npmjs.org/bower-registry-client
877 silly registry.get cb [ 304,
877 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
877 silly registry.get server: 'Apache',
877 silly registry.get via: '1.1 varnish',
877 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:55 GMT',
877 silly registry.get 'cache-control': 'max-age=30',
877 silly registry.get etag: '"329NNQHG9AY6Z5NEL42FUEJRE"',
877 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
877 silly registry.get 'x-cache': 'HIT',
877 silly registry.get 'x-cache-hits': '2',
877 silly registry.get 'x-timer': 'S1402918395.357199,VS0,VE0',
877 silly registry.get vary: 'Accept',
877 silly registry.get 'content-length': '0',
877 silly registry.get 'keep-alive': 'timeout=10, max=49',
877 silly registry.get connection: 'Keep-Alive' } ]
878 verbose etag bower-registry-client from cache
879 silly lockFile 835d25e0-archy-0-0-2 archy@~0.0.2
880 silly lockFile 835d25e0-archy-0-0-2 archy@~0.0.2
881 http 304 https://registry.npmjs.org/cardinal
882 silly registry.get cb [ 304,
882 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
882 silly registry.get server: 'Apache',
882 silly registry.get via: '1.1 varnish',
882 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:55 GMT',
882 silly registry.get 'cache-control': 'max-age=30',
882 silly registry.get etag: '"2U37I1LUMOQHSXJXTWPF7KSGU"',
882 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
882 silly registry.get 'x-cache': 'HIT',
882 silly registry.get 'x-cache-hits': '1',
882 silly registry.get 'x-timer': 'S1402918395.363020,VS0,VE0',
882 silly registry.get vary: 'Accept',
882 silly registry.get 'content-length': '0',
882 silly registry.get 'keep-alive': 'timeout=10, max=49',
882 silly registry.get connection: 'Keep-Alive' } ]
883 verbose etag cardinal from cache
884 silly addNameRange number 2 { name: 'bower-endpoint-parser',
884 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
884 silly addNameRange hasData: true }
885 silly addNameRange versions [ 'bower-endpoint-parser',
885 silly addNameRange [ '0.1.0-rc.1', '0.1.0', '0.2.0', '0.2.1' ] ]
886 verbose addNamed [ 'bower-endpoint-parser', '0.2.1' ]
887 verbose addNamed [ '0.2.1', '0.2.1' ]
888 silly lockFile 9acb0392-bower-endpoint-parser-0-2-1 [email protected]
889 verbose lock [email protected] /home/alectaylor/.npm/9acb0392-bower-endpoint-parser-0-2-1.lock
890 silly addNameRange number 2 { name: 'bower-json',
890 silly addNameRange range: '>=0.4.0-0 <0.5.0-0',
890 silly addNameRange hasData: true }
891 silly addNameRange versions [ 'bower-json', [ '0.1.0-rc.1', '0.2.0', '0.3.0', '0.4.0' ] ]
892 verbose addNamed [ 'bower-json', '0.4.0' ]
893 verbose addNamed [ '0.4.0', '0.4.0' ]
894 silly lockFile d39b341c-bower-json-0-4-0 [email protected]
895 verbose lock [email protected] /home/alectaylor/.npm/d39b341c-bower-json-0-4-0.lock
896 http 304 https://registry.npmjs.org/chalk
897 silly registry.get cb [ 304,
897 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
897 silly registry.get server: 'Apache',
897 silly registry.get via: '1.1 varnish',
897 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:33:13 GMT',
897 silly registry.get 'cache-control': 'max-age=30',
897 silly registry.get etag: '"9Q8BQPJ0UTH3JF5RDUAJW0NJK"',
897 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
897 silly registry.get 'x-cache': 'HIT',
897 silly registry.get 'x-cache-hits': '2',
897 silly registry.get 'x-timer': 'S1402918395.367802,VS0,VE0',
897 silly registry.get vary: 'Accept',
897 silly registry.get 'content-length': '0',
897 silly registry.get 'keep-alive': 'timeout=10, max=49',
897 silly registry.get connection: 'Keep-Alive' } ]
898 verbose etag chalk from cache
899 silly addNameRange number 2 { name: 'bower-logger',
899 silly addNameRange range: '>=0.2.2-0 <0.3.0-0',
899 silly addNameRange hasData: true }
900 silly addNameRange versions [ 'bower-logger',
900 silly addNameRange [ '0.1.0-rc.1', '0.1.0', '0.2.0', '0.2.1', '0.2.2' ] ]
901 verbose addNamed [ 'bower-logger', '0.2.2' ]
902 verbose addNamed [ '0.2.2', '0.2.2' ]
903 silly lockFile 4a38f198-bower-logger-0-2-2 [email protected]
904 verbose lock [email protected] /home/alectaylor/.npm/4a38f198-bower-logger-0-2-2.lock
905 silly lockFile 6ee025d4-bower-config-0-5-1 [email protected]
906 silly lockFile 6ee025d4-bower-config-0-5-1 [email protected]
907 silly addNameRange number 2 { name: 'bower-registry-client',
907 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
907 silly addNameRange hasData: true }
908 silly addNameRange versions [ 'bower-registry-client',
908 silly addNameRange [ '0.1.0-rc.1',
908 silly addNameRange '0.1.0-rc.2',
908 silly addNameRange '0.1.0-rc.3',
908 silly addNameRange '0.1.0-rc.4',
908 silly addNameRange '0.1.0-rc.5',
908 silly addNameRange '0.1.0',
908 silly addNameRange '0.1.1',
908 silly addNameRange '0.1.2',
908 silly addNameRange '0.1.3',
908 silly addNameRange '0.1.4',
908 silly addNameRange '0.1.5',
908 silly addNameRange '0.1.6',
908 silly addNameRange '0.2.0',
908 silly addNameRange '0.2.1' ] ]
909 verbose addNamed [ 'bower-registry-client', '0.2.1' ]
910 verbose addNamed [ '0.2.1', '0.2.1' ]
911 silly lockFile 0d38f597-bower-registry-client-0-2-1 [email protected]
912 verbose lock [email protected] /home/alectaylor/.npm/0d38f597-bower-registry-client-0-2-1.lock
913 silly lockFile 58b6f241-bower-config-0-5-0 bower-config@~0.5.0
914 silly lockFile 58b6f241-bower-config-0-5-0 bower-config@~0.5.0
915 silly addNameRange number 2 { name: 'cardinal', range: '>=0.4.0-0 <0.5.0-0', hasData: true }
916 silly addNameRange versions [ 'cardinal',
916 silly addNameRange [ '0.1.0',
916 silly addNameRange '0.1.1',
916 silly addNameRange '0.1.2',
916 silly addNameRange '0.1.3',
916 silly addNameRange '0.2.0',
916 silly addNameRange '0.3.0',
916 silly addNameRange '0.3.1',
916 silly addNameRange '0.3.2',
916 silly addNameRange '0.4.0',
916 silly addNameRange '0.4.1',
916 silly addNameRange '0.4.2',
916 silly addNameRange '0.4.3',
916 silly addNameRange '0.4.4' ] ]
917 verbose addNamed [ 'cardinal', '0.4.4' ]
918 verbose addNamed [ '0.4.4', '0.4.4' ]
919 silly lockFile 6295c634-cardinal-0-4-4 [email protected]
920 verbose lock [email protected] /home/alectaylor/.npm/6295c634-cardinal-0-4-4.lock
921 silly lockFile 9acb0392-bower-endpoint-parser-0-2-1 [email protected]
922 silly lockFile 9acb0392-bower-endpoint-parser-0-2-1 [email protected]
923 silly lockFile bf43e285-bower-endpoint-parser-0-2-0 bower-endpoint-parser@~0.2.0
924 silly lockFile bf43e285-bower-endpoint-parser-0-2-0 bower-endpoint-parser@~0.2.0
925 silly lockFile d39b341c-bower-json-0-4-0 [email protected]
926 silly lockFile d39b341c-bower-json-0-4-0 [email protected]
927 silly addNameRange number 2 { name: 'chalk', range: '>=0.4.0-0 <0.5.0-0', hasData: true }
928 silly addNameRange versions [ 'chalk',
928 silly addNameRange [ '0.1.0', '0.1.1', '0.2.0', '0.2.1', '0.3.0', '0.4.0' ] ]
929 verbose addNamed [ 'chalk', '0.4.0' ]
930 verbose addNamed [ '0.4.0', '0.4.0' ]
931 silly lockFile 1efe4790-chalk-0-4-0 [email protected]
932 verbose lock [email protected] /home/alectaylor/.npm/1efe4790-chalk-0-4-0.lock
933 silly lockFile ea848668-bower-json-0-4-0 bower-json@~0.4.0
934 silly lockFile ea848668-bower-json-0-4-0 bower-json@~0.4.0
935 http 304 https://registry.npmjs.org/chmodr
936 silly registry.get cb [ 304,
936 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
936 silly registry.get server: 'Apache',
936 silly registry.get via: '1.1 varnish',
936 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
936 silly registry.get 'cache-control': 'max-age=30',
936 silly registry.get etag: '"AFSD6L8HHVJ4KTV3OAI8WCEEN"',
936 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
936 silly registry.get 'x-cache': 'HIT',
936 silly registry.get 'x-cache-hits': '2',
936 silly registry.get 'x-timer': 'S1402918395.383257,VS0,VE0',
936 silly registry.get vary: 'Accept',
936 silly registry.get 'content-length': '0',
936 silly registry.get 'keep-alive': 'timeout=10, max=48',
936 silly registry.get connection: 'Keep-Alive' } ]
937 verbose etag chmodr from cache
938 silly lockFile 4a38f198-bower-logger-0-2-2 [email protected]
939 silly lockFile 4a38f198-bower-logger-0-2-2 [email protected]
940 silly lockFile 0d38f597-bower-registry-client-0-2-1 [email protected]
941 silly lockFile 0d38f597-bower-registry-client-0-2-1 [email protected]
942 silly lockFile 4dfc8f43-bower-logger-0-2-2 bower-logger@~0.2.2
943 silly lockFile 4dfc8f43-bower-logger-0-2-2 bower-logger@~0.2.2
944 silly lockFile f1b922af-bower-registry-client-0-2-0 bower-registry-client@~0.2.0
945 silly lockFile f1b922af-bower-registry-client-0-2-0 bower-registry-client@~0.2.0
946 http 304 https://registry.npmjs.org/fstream
947 silly registry.get cb [ 304,
947 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
947 silly registry.get server: 'Apache',
947 silly registry.get via: '1.1 varnish',
947 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
947 silly registry.get 'cache-control': 'max-age=30',
947 silly registry.get etag: '"ACNLII85RJK6ZEMKTNBBX0TIF"',
947 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
947 silly registry.get 'x-cache': 'HIT',
947 silly registry.get 'x-cache-hits': '2',
947 silly registry.get 'x-timer': 'S1402918395.387621,VS0,VE0',
947 silly registry.get vary: 'Accept',
947 silly registry.get 'content-length': '0',
947 silly registry.get 'keep-alive': 'timeout=10, max=48',
947 silly registry.get connection: 'Keep-Alive' } ]
948 verbose etag fstream from cache
949 http 304 https://registry.npmjs.org/fstream-ignore
950 silly registry.get cb [ 304,
950 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
950 silly registry.get server: 'Apache',
950 silly registry.get via: '1.1 varnish',
950 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:01 GMT',
950 silly registry.get 'cache-control': 'max-age=30',
950 silly registry.get etag: '"1O62VL9T7C2KOML1PS81J54HB"',
950 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
950 silly registry.get 'x-cache': 'HIT',
950 silly registry.get 'x-cache-hits': '1',
950 silly registry.get 'x-timer': 'S1402918395.388182,VS0,VE0',
950 silly registry.get vary: 'Accept',
950 silly registry.get 'content-length': '0',
950 silly registry.get 'keep-alive': 'timeout=10, max=48',
950 silly registry.get connection: 'Keep-Alive' } ]
951 verbose etag fstream-ignore from cache
952 silly lockFile 6295c634-cardinal-0-4-4 [email protected]
953 silly lockFile 6295c634-cardinal-0-4-4 [email protected]
954 http 304 https://registry.npmjs.org/glob
955 silly registry.get cb [ 304,
955 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
955 silly registry.get server: 'Apache',
955 silly registry.get via: '1.1 varnish',
955 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:06 GMT',
955 silly registry.get 'cache-control': 'max-age=30',
955 silly registry.get etag: '"EA6G9IRYHWJWLP2479GLGXMUM"',
955 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
955 silly registry.get 'x-cache': 'HIT',
955 silly registry.get 'x-cache-hits': '16',
955 silly registry.get 'x-timer': 'S1402918395.393679,VS0,VE0',
955 silly registry.get vary: 'Accept',
955 silly registry.get 'content-length': '0',
955 silly registry.get 'keep-alive': 'timeout=10, max=48',
955 silly registry.get connection: 'Keep-Alive' } ]
956 verbose etag glob from cache
957 silly lockFile acc8665e-cardinal-0-4-0 cardinal@~0.4.0
958 silly lockFile acc8665e-cardinal-0-4-0 cardinal@~0.4.0
959 http 304 https://registry.npmjs.org/graceful-fs
960 silly registry.get cb [ 304,
960 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
960 silly registry.get server: 'Apache',
960 silly registry.get via: '1.1 varnish',
960 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:55 GMT',
960 silly registry.get 'cache-control': 'max-age=30',
960 silly registry.get etag: '"7881TQ05KQ3DAZ7CNQZNRDGYP"',
960 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
960 silly registry.get 'x-cache': 'HIT',
960 silly registry.get 'x-cache-hits': '5',
960 silly registry.get 'x-timer': 'S1402918395.404508,VS0,VE0',
960 silly registry.get vary: 'Accept',
960 silly registry.get 'content-length': '0',
960 silly registry.get 'keep-alive': 'timeout=10, max=47',
960 silly registry.get connection: 'Keep-Alive' } ]
961 verbose etag graceful-fs from cache
962 silly lockFile 1efe4790-chalk-0-4-0 [email protected]
963 silly lockFile 1efe4790-chalk-0-4-0 [email protected]
964 silly addNameRange number 2 { name: 'chmodr', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
965 silly addNameRange versions [ 'chmodr', [ '0.0.1', '0.1.0' ] ]
966 verbose addNamed [ 'chmodr', '0.1.0' ]
967 verbose addNamed [ '0.1.0', '0.1.0' ]
968 silly lockFile 3c50e6b3-chmodr-0-1-0 [email protected]
969 verbose lock [email protected] /home/alectaylor/.npm/3c50e6b3-chmodr-0-1-0.lock
970 silly lockFile bc9fb696-chalk-0-4-0 chalk@~0.4.0
971 silly lockFile bc9fb696-chalk-0-4-0 chalk@~0.4.0
972 silly addNameRange number 2 { name: 'fstream-ignore',
972 silly addNameRange range: '>=0.0.6-0 <0.1.0-0',
972 silly addNameRange hasData: true }
973 silly addNameRange versions [ 'fstream-ignore',
973 silly addNameRange [ '0.0.1',
973 silly addNameRange '0.0.2',
973 silly addNameRange '0.0.3',
973 silly addNameRange '0.0.4',
973 silly addNameRange '0.0.5',
973 silly addNameRange '0.0.6',
973 silly addNameRange '0.0.7',
973 silly addNameRange '0.0.8' ] ]
974 verbose addNamed [ 'fstream-ignore', '0.0.8' ]
975 verbose addNamed [ '0.0.8', '0.0.8' ]
976 silly lockFile 26b575d8-fstream-ignore-0-0-8 [email protected]
977 verbose lock [email protected] /home/alectaylor/.npm/26b575d8-fstream-ignore-0-0-8.lock
978 silly addNameRange number 2 { name: 'fstream', range: '>=0.1.22-0 <0.2.0-0', hasData: true }
979 silly addNameRange versions [ 'fstream',
979 silly addNameRange [ '0.0.0',
979 silly addNameRange '0.0.1',
979 silly addNameRange '0.1.0',
979 silly addNameRange '0.1.1',
979 silly addNameRange '0.1.2',
979 silly addNameRange '0.1.3',
979 silly addNameRange '0.1.5',
979 silly addNameRange '0.1.6',
979 silly addNameRange '0.1.7',
979 silly addNameRange '0.1.8',
979 silly addNameRange '0.1.9',
979 silly addNameRange '0.1.10',
979 silly addNameRange '0.1.11',
979 silly addNameRange '0.1.12',
979 silly addNameRange '0.1.13',
979 silly addNameRange '0.1.14',
979 silly addNameRange '0.1.15',
979 silly addNameRange '0.1.16',
979 silly addNameRange '0.1.17',
979 silly addNameRange '0.1.18',
979 silly addNameRange '0.1.19',
979 silly addNameRange '0.1.20',
979 silly addNameRange '0.1.21',
979 silly addNameRange '0.1.22',
979 silly addNameRange '0.1.23',
979 silly addNameRange '0.1.24',
979 silly addNameRange '0.1.25',
979 silly addNameRange '0.1.26',
979 silly addNameRange '0.1.27' ] ]
980 verbose addNamed [ 'fstream', '0.1.27' ]
981 verbose addNamed [ '0.1.27', '0.1.27' ]
982 silly lockFile 1edfae0f-fstream-0-1-27 [email protected]
983 verbose lock [email protected] /home/alectaylor/.npm/1edfae0f-fstream-0-1-27.lock
984 silly addNameRange number 2 { name: 'glob', range: '>=3.2.9-0 <3.3.0-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',
985 silly addNameRange '4.0.1',
985 silly addNameRange '4.0.2' ] ]
986 verbose addNamed [ 'glob', '3.2.11' ]
987 verbose addNamed [ '3.2.11', '3.2.11' ]
988 silly lockFile 3fffafa6-glob-3-2-11 [email protected]
989 verbose lock [email protected] /home/alectaylor/.npm/3fffafa6-glob-3-2-11.lock
990 http 304 https://registry.npmjs.org/handlebars
991 silly registry.get cb [ 304,
991 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
991 silly registry.get server: 'Apache',
991 silly registry.get via: '1.1 varnish',
991 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:18 GMT',
991 silly registry.get 'cache-control': 'max-age=30',
991 silly registry.get etag: '"9W2KE4RNU5THF8PLCN5WUTC7Z"',
991 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
991 silly registry.get 'x-cache': 'HIT',
991 silly registry.get 'x-cache-hits': '3',
991 silly registry.get 'x-timer': 'S1402918395.426869,VS0,VE0',
991 silly registry.get vary: 'Accept',
991 silly registry.get 'content-length': '0',
991 silly registry.get 'keep-alive': 'timeout=10, max=47',
991 silly registry.get connection: 'Keep-Alive' } ]
992 verbose etag handlebars from cache
993 silly addNameRange number 2 { name: 'graceful-fs',
993 silly addNameRange range: '>=2.0.0-0 <2.1.0-0',
993 silly addNameRange hasData: true }
994 silly addNameRange versions [ 'graceful-fs',
994 silly addNameRange [ '1.0.0',
994 silly addNameRange '1.0.1',
994 silly addNameRange '1.0.2',
994 silly addNameRange '1.1.0',
994 silly addNameRange '1.1.1',
994 silly addNameRange '1.1.2',
994 silly addNameRange '1.1.3',
994 silly addNameRange '1.1.4',
994 silly addNameRange '1.1.5',
994 silly addNameRange '1.1.6',
994 silly addNameRange '1.1.7',
994 silly addNameRange '1.1.8',
994 silly addNameRange '1.1.9',
994 silly addNameRange '1.1.10',
994 silly addNameRange '1.1.11',
994 silly addNameRange '1.1.12',
994 silly addNameRange '1.1.13',
994 silly addNameRange '1.1.14',
994 silly addNameRange '1.2.0',
994 silly addNameRange '1.2.1',
994 silly addNameRange '1.2.2',
994 silly addNameRange '1.2.3',
994 silly addNameRange '2.0.0',
994 silly addNameRange '2.0.1',
994 silly addNameRange '2.0.2',
994 silly addNameRange '2.0.3',
994 silly addNameRange '3.0.0',
994 silly addNameRange '3.0.1',
994 silly addNameRange '3.0.2' ] ]
995 verbose addNamed [ 'graceful-fs', '2.0.3' ]
996 verbose addNamed [ '2.0.3', '2.0.3' ]
997 silly lockFile aa717173-graceful-fs-2-0-3 [email protected]
998 verbose lock [email protected] /home/alectaylor/.npm/aa717173-graceful-fs-2-0-3.lock
999 http 304 https://registry.npmjs.org/inquirer
1000 silly registry.get cb [ 304,
1000 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1000 silly registry.get server: 'Apache',
1000 silly registry.get via: '1.1 varnish',
1000 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:01 GMT',
1000 silly registry.get 'cache-control': 'max-age=30',
1000 silly registry.get etag: '"2ZW0AM61NMN0Y6UX4ZIOKCEKD"',
1000 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1000 silly registry.get 'x-cache': 'HIT',
1000 silly registry.get 'x-cache-hits': '5',
1000 silly registry.get 'x-timer': 'S1402918395.426514,VS0,VE0',
1000 silly registry.get vary: 'Accept',
1000 silly registry.get 'content-length': '0',
1000 silly registry.get 'keep-alive': 'timeout=10, max=47',
1000 silly registry.get connection: 'Keep-Alive' } ]
1001 verbose etag inquirer from cache
1002 http 304 https://registry.npmjs.org/insight
1003 silly registry.get cb [ 304,
1003 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1003 silly registry.get server: 'Apache',
1003 silly registry.get via: '1.1 varnish',
1003 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
1003 silly registry.get 'cache-control': 'max-age=30',
1003 silly registry.get etag: '"9YGD1BBPIH1G9HDGZQFHL2CFS"',
1003 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1003 silly registry.get 'x-cache': 'HIT',
1003 silly registry.get 'x-cache-hits': '2',
1003 silly registry.get 'x-timer': 'S1402918395.428877,VS0,VE0',
1003 silly registry.get vary: 'Accept',
1003 silly registry.get 'content-length': '0',
1003 silly registry.get 'keep-alive': 'timeout=10, max=47',
1003 silly registry.get connection: 'Keep-Alive' } ]
1004 verbose etag insight from cache
1005 http 304 https://registry.npmjs.org/is-root
1006 silly registry.get cb [ 304,
1006 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1006 silly registry.get server: 'Apache',
1006 silly registry.get via: '1.1 varnish',
1006 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:02 GMT',
1006 silly registry.get 'cache-control': 'max-age=30',
1006 silly registry.get etag: '"DO5OE6EOI4QAGTOEFMMXUSV4F"',
1006 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1006 silly registry.get 'x-cache': 'HIT',
1006 silly registry.get 'x-cache-hits': '2',
1006 silly registry.get 'x-timer': 'S1402918395.431842,VS0,VE0',
1006 silly registry.get vary: 'Accept',
1006 silly registry.get 'content-length': '0',
1006 silly registry.get 'keep-alive': 'timeout=10, max=46',
1006 silly registry.get connection: 'Keep-Alive' } ]
1007 verbose etag is-root from cache
1008 silly lockFile 3c50e6b3-chmodr-0-1-0 [email protected]
1009 silly lockFile 3c50e6b3-chmodr-0-1-0 [email protected]
1010 silly lockFile 5c476fe4-chmodr-0-1-0 chmodr@~0.1.0
1011 silly lockFile 5c476fe4-chmodr-0-1-0 chmodr@~0.1.0
1012 http 304 https://registry.npmjs.org/junk
1013 silly registry.get cb [ 304,
1013 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1013 silly registry.get server: 'Apache',
1013 silly registry.get via: '1.1 varnish',
1013 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
1013 silly registry.get 'cache-control': 'max-age=30',
1013 silly registry.get etag: '"570K5D8QDMTCRMOHPGBWLK9AD"',
1013 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
1013 silly registry.get 'x-cache': 'HIT',
1013 silly registry.get 'x-cache-hits': '2',
1013 silly registry.get 'x-timer': 'S1402918395.452838,VS0,VE0',
1013 silly registry.get vary: 'Accept',
1013 silly registry.get 'content-length': '0',
1013 silly registry.get 'keep-alive': 'timeout=10, max=46',
1013 silly registry.get connection: 'Keep-Alive' } ]
1014 verbose etag junk from cache
1015 http 304 https://registry.npmjs.org/lockfile
1016 silly registry.get cb [ 304,
1016 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1016 silly registry.get server: 'Apache',
1016 silly registry.get via: '1.1 varnish',
1016 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:02 GMT',
1016 silly registry.get 'cache-control': 'max-age=30',
1016 silly registry.get etag: '"BE6HUPSNPXI5QOIOUTQKTZG1O"',
1016 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1016 silly registry.get 'x-cache': 'HIT',
1016 silly registry.get 'x-cache-hits': '3',
1016 silly registry.get 'x-timer': 'S1402918395.456505,VS0,VE0',
1016 silly registry.get vary: 'Accept',
1016 silly registry.get 'content-length': '0',
1016 silly registry.get 'keep-alive': 'timeout=10, max=46',
1016 silly registry.get connection: 'Keep-Alive' } ]
1017 verbose etag lockfile from cache
1018 http 304 https://registry.npmjs.org/lru-cache
1019 silly registry.get cb [ 304,
1019 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1019 silly registry.get server: 'Apache',
1019 silly registry.get via: '1.1 varnish',
1019 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:54 GMT',
1019 silly registry.get 'cache-control': 'max-age=30',
1019 silly registry.get etag: '"6EAH4E2XKATH9G2WW7G1L4L00"',
1019 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1019 silly registry.get 'x-cache': 'HIT',
1019 silly registry.get 'x-cache-hits': '4',
1019 silly registry.get 'x-timer': 'S1402918395.459981,VS0,VE0',
1019 silly registry.get vary: 'Accept',
1019 silly registry.get 'content-length': '0',
1019 silly registry.get 'keep-alive': 'timeout=10, max=46',
1019 silly registry.get connection: 'Keep-Alive' } ]
1020 verbose etag lru-cache from cache
1021 http 304 https://registry.npmjs.org/mkdirp
1022 silly registry.get cb [ 304,
1022 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1022 silly registry.get server: 'Apache',
1022 silly registry.get via: '1.1 varnish',
1022 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:19 GMT',
1022 silly registry.get 'cache-control': 'max-age=30',
1022 silly registry.get etag: '"K7730OV2C5Q7YNJN8DD6AB0Z"',
1022 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1022 silly registry.get 'x-cache': 'HIT',
1022 silly registry.get 'x-cache-hits': '10',
1022 silly registry.get 'x-timer': 'S1402918395.461532,VS0,VE0',
1022 silly registry.get vary: 'Accept',
1022 silly registry.get 'content-length': '0',
1022 silly registry.get 'keep-alive': 'timeout=10, max=45',
1022 silly registry.get connection: 'Keep-Alive' } ]
1023 verbose etag mkdirp from cache
1024 silly lockFile 26b575d8-fstream-ignore-0-0-8 [email protected]
1025 silly lockFile 26b575d8-fstream-ignore-0-0-8 [email protected]
1026 silly lockFile 1edfae0f-fstream-0-1-27 [email protected]
1027 silly lockFile 1edfae0f-fstream-0-1-27 [email protected]
1028 silly lockFile 3fffafa6-glob-3-2-11 [email protected]
1029 silly lockFile 3fffafa6-glob-3-2-11 [email protected]
1030 silly lockFile faf433bd-fstream-ignore-0-0-6 fstream-ignore@~0.0.6
1031 silly lockFile faf433bd-fstream-ignore-0-0-6 fstream-ignore@~0.0.6
1032 silly lockFile 75ffa414-fstream-0-1-22 fstream@~0.1.22
1033 silly lockFile 75ffa414-fstream-0-1-22 fstream@~0.1.22
1034 silly addNameRange number 2 { name: 'handlebars',
1034 silly addNameRange range: '>=1.3.0-0 <1.4.0-0',
1034 silly addNameRange hasData: true }
1035 silly addNameRange versions [ 'handlebars',
1035 silly addNameRange [ '1.0.6',
1035 silly addNameRange '1.0.6-2',
1035 silly addNameRange '1.0.7',
1035 silly addNameRange '1.0.8',
1035 silly addNameRange '1.0.9',
1035 silly addNameRange '1.0.10',
1035 silly addNameRange '1.0.11',
1035 silly addNameRange '1.0.12',
1035 silly addNameRange '1.1.0',
1035 silly addNameRange '1.1.1',
1035 silly addNameRange '1.1.2',
1035 silly addNameRange '1.2.0',
1035 silly addNameRange '1.2.1',
1035 silly addNameRange '1.3.0',
1035 silly addNameRange '2.0.0-alpha.1',
1035 silly addNameRange '2.0.0-alpha.2',
1035 silly addNameRange '2.0.0-alpha.3',
1035 silly addNameRange '2.0.0-alpha.4',
1035 silly addNameRange '1.0.2-beta',
1035 silly addNameRange '1.0.4-beta',
1035 silly addNameRange '1.0.5-beta' ] ]
1036 verbose addNamed [ 'handlebars', '1.3.0' ]
1037 verbose addNamed [ '1.3.0', '1.3.0' ]
1038 silly lockFile 15405714-handlebars-1-3-0 [email protected]
1039 verbose lock [email protected] /home/alectaylor/.npm/15405714-handlebars-1-3-0.lock
1040 silly lockFile 200db29c-glob-3-2-9 glob@~3.2.9
1041 silly lockFile 200db29c-glob-3-2-9 glob@~3.2.9
1042 silly addNameRange number 2 { name: 'inquirer', range: '>=0.4.0-0 <0.5.0-0', hasData: true }
1043 silly addNameRange versions [ 'inquirer',
1043 silly addNameRange [ '0.1.0',
1043 silly addNameRange '0.1.1',
1043 silly addNameRange '0.1.2',
1043 silly addNameRange '0.1.3',
1043 silly addNameRange '0.1.4',
1043 silly addNameRange '0.1.5',
1043 silly addNameRange '0.1.6',
1043 silly addNameRange '0.1.7',
1043 silly addNameRange '0.1.8',
1043 silly addNameRange '0.1.9',
1043 silly addNameRange '0.2.0',
1043 silly addNameRange '0.2.1',
1043 silly addNameRange '0.1.11',
1043 silly addNameRange '0.1.12',
1043 silly addNameRange '0.2.2',
1043 silly addNameRange '0.2.3',
1043 silly addNameRange '0.2.4',
1043 silly addNameRange '0.2.5',
1043 silly addNameRange '0.3.0',
1043 silly addNameRange '0.3.1',
1043 silly addNameRange '0.3.2',
1043 silly addNameRange '0.3.3',
1043 silly addNameRange '0.3.4',
1043 silly addNameRange '0.3.5',
1043 silly addNameRange '0.4.0',
1043 silly addNameRange '0.4.1',
1043 silly addNameRange '0.5.0',
1043 silly addNameRange '0.5.1' ] ]
1044 verbose addNamed [ 'inquirer', '0.4.1' ]
1045 verbose addNamed [ '0.4.1', '0.4.1' ]
1046 silly lockFile caff4c32-inquirer-0-4-1 [email protected]
1047 verbose lock [email protected] /home/alectaylor/.npm/caff4c32-inquirer-0-4-1.lock
1048 silly lockFile aa717173-graceful-fs-2-0-3 [email protected]
1049 silly lockFile aa717173-graceful-fs-2-0-3 [email protected]
1050 silly addNameRange number 2 { name: 'insight', range: '>=0.3.0-0 <0.4.0-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 [email protected]
1055 verbose lock [email protected] /home/alectaylor/.npm/10741e2f-insight-0-3-1.lock
1056 silly lockFile 8863dcc9-graceful-fs-2-0-0 graceful-fs@~2.0.0
1057 silly lockFile 8863dcc9-graceful-fs-2-0-0 graceful-fs@~2.0.0
1058 silly addNameRange number 2 { name: 'is-root', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
1059 silly addNameRange versions [ 'is-root', [ '0.1.0' ] ]
1060 verbose addNamed [ 'is-root', '0.1.0' ]
1061 verbose addNamed [ '0.1.0', '0.1.0' ]
1062 silly lockFile 2bd5d7e4-is-root-0-1-0 [email protected]
1063 verbose lock [email protected] /home/alectaylor/.npm/2bd5d7e4-is-root-0-1-0.lock
1064 silly addNameRange number 2 { name: 'junk', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
1065 silly addNameRange versions [ 'junk', [ '0.1.0', '0.2.0', '0.2.1', '0.2.2', '0.3.0' ] ]
1066 verbose addNamed [ 'junk', '0.3.0' ]
1067 verbose addNamed [ '0.3.0', '0.3.0' ]
1068 silly lockFile f3f60bec-junk-0-3-0 [email protected]
1069 verbose lock [email protected] /home/alectaylor/.npm/f3f60bec-junk-0-3-0.lock
1070 silly addNameRange number 2 { name: 'lockfile', range: '>=0.4.2-0 <0.5.0-0', hasData: true }
1071 silly addNameRange versions [ 'lockfile',
1071 silly addNameRange [ '0.1.0',
1071 silly addNameRange '0.1.1',
1071 silly addNameRange '0.2.0',
1071 silly addNameRange '0.2.1',
1071 silly addNameRange '0.2.2',
1071 silly addNameRange '0.3.0',
1071 silly addNameRange '0.3.1',
1071 silly addNameRange '0.3.2',
1071 silly addNameRange '0.3.3',
1071 silly addNameRange '0.3.4',
1071 silly addNameRange '0.4.0',
1071 silly addNameRange '0.4.1',
1071 silly addNameRange '0.4.2' ] ]
1072 verbose addNamed [ 'lockfile', '0.4.2' ]
1073 verbose addNamed [ '0.4.2', '0.4.2' ]
1074 silly lockFile a8695a62-lockfile-0-4-2 [email protected]
1075 verbose lock [email protected] /home/alectaylor/.npm/a8695a62-lockfile-0-4-2.lock
1076 silly addNameRange number 2 { name: 'lru-cache', range: '>=2.5.0-0 <2.6.0-0', hasData: true }
1077 silly addNameRange versions [ 'lru-cache',
1077 silly addNameRange [ '1.0.1',
1077 silly addNameRange '1.0.2',
1077 silly addNameRange '1.0.3',
1077 silly addNameRange '1.0.4',
1077 silly addNameRange '1.0.5',
1077 silly addNameRange '1.0.6',
1077 silly addNameRange '1.1.0',
1077 silly addNameRange '1.1.1',
1077 silly addNameRange '2.0.0',
1077 silly addNameRange '2.0.1',
1077 silly addNameRange '2.0.2',
1077 silly addNameRange '2.0.3',
1077 silly addNameRange '2.0.4',
1077 silly addNameRange '2.1.0',
1077 silly addNameRange '2.2.0',
1077 silly addNameRange '2.2.1',
1077 silly addNameRange '2.2.2',
1077 silly addNameRange '2.2.4',
1077 silly addNameRange '2.3.0',
1077 silly addNameRange '2.3.1',
1077 silly addNameRange '2.5.0' ] ]
1078 verbose addNamed [ 'lru-cache', '2.5.0' ]
1079 verbose addNamed [ '2.5.0', '2.5.0' ]
1080 silly lockFile 30aa630e-lru-cache-2-5-0 [email protected]
1081 verbose lock [email protected] /home/alectaylor/.npm/30aa630e-lru-cache-2-5-0.lock
1082 silly addNameRange number 2 { name: 'mkdirp', range: '>=0.3.5-0 <0.4.0-0', hasData: true }
1083 silly addNameRange versions [ 'mkdirp',
1083 silly addNameRange [ '0.0.1',
1083 silly addNameRange '0.0.2',
1083 silly addNameRange '0.0.3',
1083 silly addNameRange '0.0.4',
1083 silly addNameRange '0.0.5',
1083 silly addNameRange '0.0.6',
1083 silly addNameRange '0.0.7',
1083 silly addNameRange '0.1.0',
1083 silly addNameRange '0.2.0',
1083 silly addNameRange '0.2.1',
1083 silly addNameRange '0.2.2',
1083 silly addNameRange '0.3.0',
1083 silly addNameRange '0.3.1',
1083 silly addNameRange '0.3.2',
1083 silly addNameRange '0.3.3',
1083 silly addNameRange '0.3.4',
1083 silly addNameRange '0.3.5',
1083 silly addNameRange '0.4.0',
1083 silly addNameRange '0.4.1',
1083 silly addNameRange '0.4.2',
1083 silly addNameRange '0.5.0' ] ]
1084 verbose addNamed [ 'mkdirp', '0.3.5' ]
1085 verbose addNamed [ '0.3.5', '0.3.5' ]
1086 silly lockFile 67d2df2a-mkdirp-0-3-5 [email protected]
1087 verbose lock [email protected] /home/alectaylor/.npm/67d2df2a-mkdirp-0-3-5.lock
1088 http 304 https://registry.npmjs.org/nopt
1089 silly registry.get cb [ 304,
1089 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1089 silly registry.get server: 'Apache',
1089 silly registry.get via: '1.1 varnish',
1089 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
1089 silly registry.get 'cache-control': 'max-age=30',
1089 silly registry.get etag: '"BA5T6RGWU2CVIS5XHWZEBR2W7"',
1089 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
1089 silly registry.get 'x-cache': 'HIT',
1089 silly registry.get 'x-cache-hits': '5',
1089 silly registry.get 'x-timer': 'S1402918395.488209,VS0,VE0',
1089 silly registry.get vary: 'Accept',
1089 silly registry.get 'content-length': '0',
1089 silly registry.get 'keep-alive': 'timeout=10, max=45',
1089 silly registry.get connection: 'Keep-Alive' } ]
1090 verbose etag nopt from cache
1091 http 304 https://registry.npmjs.org/mout
1092 silly registry.get cb [ 304,
1092 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1092 silly registry.get server: 'Apache',
1092 silly registry.get via: '1.1 varnish',
1092 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:49 GMT',
1092 silly registry.get 'cache-control': 'max-age=30',
1092 silly registry.get etag: '"DAV4K4JPL3MIW538VHXQIFVFI"',
1092 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1092 silly registry.get 'x-cache': 'HIT',
1092 silly registry.get 'x-cache-hits': '4',
1092 silly registry.get 'x-timer': 'S1402918395.487942,VS0,VE0',
1092 silly registry.get vary: 'Accept',
1092 silly registry.get 'content-length': '0',
1092 silly registry.get 'keep-alive': 'timeout=10, max=45',
1092 silly registry.get connection: 'Keep-Alive' } ]
1093 verbose etag mout from cache
1094 http 304 https://registry.npmjs.org/opn
1095 silly registry.get cb [ 304,
1095 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1095 silly registry.get server: 'Apache',
1095 silly registry.get via: '1.1 varnish',
1095 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
1095 silly registry.get 'cache-control': 'max-age=30',
1095 silly registry.get etag: '"79G5YZ1U850OWGYELFST2KOCO"',
1095 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1095 silly registry.get 'x-cache': 'HIT',
1095 silly registry.get 'x-cache-hits': '1',
1095 silly registry.get 'x-timer': 'S1402918395.492777,VS0,VE0',
1095 silly registry.get vary: 'Accept',
1095 silly registry.get 'content-length': '0',
1095 silly registry.get 'keep-alive': 'timeout=10, max=45',
1095 silly registry.get connection: 'Keep-Alive' } ]
1096 verbose etag opn from cache
1097 http 304 https://registry.npmjs.org/osenv
1098 silly registry.get cb [ 304,
1098 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1098 silly registry.get server: 'Apache',
1098 silly registry.get via: '1.1 varnish',
1098 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
1098 silly registry.get 'cache-control': 'max-age=30',
1098 silly registry.get etag: '"CHNEP04M2C3TA964JJ6PU7ILN"',
1098 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1098 silly registry.get 'x-cache': 'HIT',
1098 silly registry.get 'x-cache-hits': '2',
1098 silly registry.get 'x-timer': 'S1402918395.493757,VS0,VE0',
1098 silly registry.get vary: 'Accept',
1098 silly registry.get 'content-length': '0',
1098 silly registry.get 'keep-alive': 'timeout=10, max=44',
1098 silly registry.get connection: 'Keep-Alive' } ]
1099 verbose etag osenv from cache
1100 silly lockFile 15405714-handlebars-1-3-0 [email protected]
1101 silly lockFile 15405714-handlebars-1-3-0 [email protected]
1102 silly lockFile 080fb592-handlebars-1-3-0 handlebars@~1.3.0
1103 silly lockFile 080fb592-handlebars-1-3-0 handlebars@~1.3.0
1104 silly lockFile caff4c32-inquirer-0-4-1 [email protected]
1105 silly lockFile caff4c32-inquirer-0-4-1 [email protected]
1106 silly lockFile 10741e2f-insight-0-3-1 [email protected]
1107 silly lockFile 10741e2f-insight-0-3-1 [email protected]
1108 silly lockFile 24c291dd-inquirer-0-4-0 inquirer@~0.4.0
1109 silly lockFile 24c291dd-inquirer-0-4-0 inquirer@~0.4.0
1110 silly lockFile 2bd5d7e4-is-root-0-1-0 [email protected]
1111 silly lockFile 2bd5d7e4-is-root-0-1-0 [email protected]
1112 silly lockFile ce14d85c-insight-0-3-0 insight@~0.3.0
1113 silly lockFile ce14d85c-insight-0-3-0 insight@~0.3.0
1114 silly lockFile 3dc75358-is-root-0-1-0 is-root@~0.1.0
1115 silly lockFile 3dc75358-is-root-0-1-0 is-root@~0.1.0
1116 silly lockFile f3f60bec-junk-0-3-0 [email protected]
1117 silly lockFile f3f60bec-junk-0-3-0 [email protected]
1118 silly lockFile a8695a62-lockfile-0-4-2 [email protected]
1119 silly lockFile a8695a62-lockfile-0-4-2 [email protected]
1120 silly addNameRange number 2 { name: 'nopt', range: '>=2.2.0-0 <2.3.0-0', hasData: true }
1121 silly addNameRange versions [ 'nopt',
1121 silly addNameRange [ '1.0.0',
1121 silly addNameRange '1.0.1',
1121 silly addNameRange '1.0.2',
1121 silly addNameRange '1.0.3',
1121 silly addNameRange '1.0.4',
1121 silly addNameRange '1.0.5',
1121 silly addNameRange '1.0.6',
1121 silly addNameRange '1.0.7',
1121 silly addNameRange '1.0.8',
1121 silly addNameRange '1.0.9',
1121 silly addNameRange '1.0.10',
1121 silly addNameRange '2.0.0',
1121 silly addNameRange '2.1.0',
1121 silly addNameRange '2.1.1',
1121 silly addNameRange '2.1.2',
1121 silly addNameRange '2.2.0',
1121 silly addNameRange '2.2.1',
1121 silly addNameRange '3.0.0' ] ]
1122 verbose addNamed [ 'nopt', '2.2.1' ]
1123 verbose addNamed [ '2.2.1', '2.2.1' ]
1124 silly lockFile d02d193f-nopt-2-2-1 [email protected]
1125 verbose lock [email protected] /home/alectaylor/.npm/d02d193f-nopt-2-2-1.lock
1126 silly addNameRange number 2 { name: 'mout', range: '>=0.9.1-0 <0.10.0-0', hasData: true }
1127 silly addNameRange versions [ 'mout',
1127 silly addNameRange [ '0.1.0',
1127 silly addNameRange '0.2.0',
1127 silly addNameRange '0.3.0',
1127 silly addNameRange '0.4.0',
1127 silly addNameRange '0.5.0',
1127 silly addNameRange '0.6.0',
1127 silly addNameRange '0.7.0',
1127 silly addNameRange '0.7.1',
1127 silly addNameRange '0.8.0',
1127 silly addNameRange '0.9.0',
1127 silly addNameRange '0.9.1' ] ]
1128 verbose addNamed [ 'mout', '0.9.1' ]
1129 verbose addNamed [ '0.9.1', '0.9.1' ]
1130 silly lockFile 87454de7-mout-0-9-1 [email protected]
1131 verbose lock [email protected] /home/alectaylor/.npm/87454de7-mout-0-9-1.lock
1132 silly lockFile 41579b5e-junk-0-3-0 junk@~0.3.0
1133 silly lockFile 41579b5e-junk-0-3-0 junk@~0.3.0
1134 silly lockFile 734876a6-lockfile-0-4-2 lockfile@~0.4.2
1135 silly lockFile 734876a6-lockfile-0-4-2 lockfile@~0.4.2
1136 silly lockFile 30aa630e-lru-cache-2-5-0 [email protected]
1137 silly lockFile 30aa630e-lru-cache-2-5-0 [email protected]
1138 silly lockFile 67d2df2a-mkdirp-0-3-5 [email protected]
1139 silly lockFile 67d2df2a-mkdirp-0-3-5 [email protected]
1140 silly addNameRange number 2 { name: 'opn', range: '>=0.1.1-0 <0.2.0-0', hasData: true }
1141 silly addNameRange versions [ 'opn', [ '0.1.0', '0.1.1', '0.1.2' ] ]
1142 verbose addNamed [ 'opn', '0.1.2' ]
1143 verbose addNamed [ '0.1.2', '0.1.2' ]
1144 silly lockFile 976bcbd2-opn-0-1-2 [email protected]
1145 verbose lock [email protected] /home/alectaylor/.npm/976bcbd2-opn-0-1-2.lock
1146 silly addNameRange number 2 { name: 'osenv', range: '>=0.0.3-0 <0.1.0-0', hasData: true }
1147 silly addNameRange versions [ 'osenv', [ '0.0.1', '0.0.2', '0.0.3', '0.1.0' ] ]
1148 verbose addNamed [ 'osenv', '0.0.3' ]
1149 verbose addNamed [ '0.0.3', '0.0.3' ]
1150 silly lockFile 4085d016-osenv-0-0-3 [email protected]
1151 verbose lock [email protected] /home/alectaylor/.npm/4085d016-osenv-0-0-3.lock
1152 silly lockFile d9ec30b5-lru-cache-2-5-0 lru-cache@~2.5.0
1153 silly lockFile d9ec30b5-lru-cache-2-5-0 lru-cache@~2.5.0
1154 silly lockFile c3f0fe9b-mkdirp-0-3-5 mkdirp@~0.3.5
1155 silly lockFile c3f0fe9b-mkdirp-0-3-5 mkdirp@~0.3.5
1156 http 304 https://registry.npmjs.org/p-throttler
1157 silly registry.get cb [ 304,
1157 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1157 silly registry.get server: 'Apache',
1157 silly registry.get via: '1.1 varnish',
1157 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
1157 silly registry.get 'cache-control': 'max-age=30',
1157 silly registry.get etag: '"68WEPGHPQAO4AMIJTX2ILZ86T"',
1157 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
1157 silly registry.get 'x-cache': 'HIT',
1157 silly registry.get 'x-cache-hits': '2',
1157 silly registry.get 'x-timer': 'S1402918395.523001,VS0,VE0',
1157 silly registry.get vary: 'Accept',
1157 silly registry.get 'content-length': '0',
1157 silly registry.get 'keep-alive': 'timeout=10, max=44',
1157 silly registry.get connection: 'Keep-Alive' } ]
1158 verbose etag p-throttler from cache
1159 http 304 https://registry.npmjs.org/promptly
1160 silly registry.get cb [ 304,
1160 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1160 silly registry.get server: 'Apache',
1160 silly registry.get via: '1.1 varnish',
1160 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:30:27 GMT',
1160 silly registry.get 'cache-control': 'max-age=1',
1160 silly registry.get etag: '"7XQ80S52I0TQ5Y1XM3S96X706"',
1160 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1160 silly registry.get 'x-cache': 'HIT',
1160 silly registry.get 'x-cache-hits': '5',
1160 silly registry.get 'x-timer': 'S1402918395.522478,VS0,VE0',
1160 silly registry.get vary: 'Accept',
1160 silly registry.get 'content-length': '0',
1160 silly registry.get 'keep-alive': 'timeout=10, max=44',
1160 silly registry.get connection: 'Keep-Alive' } ]
1161 verbose etag promptly from cache
1162 http 304 https://registry.npmjs.org/q
1163 silly registry.get cb [ 304,
1163 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1163 silly registry.get server: 'Apache',
1163 silly registry.get via: '1.1 varnish',
1163 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:33:09 GMT',
1163 silly registry.get 'cache-control': 'max-age=30',
1163 silly registry.get etag: '"9LYMG6NY8JBZJBFGFSYHS9CW1"',
1163 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1163 silly registry.get 'x-cache': 'HIT',
1163 silly registry.get 'x-cache-hits': '3',
1163 silly registry.get 'x-timer': 'S1402918395.526959,VS0,VE0',
1163 silly registry.get vary: 'Accept',
1163 silly registry.get 'content-length': '0',
1163 silly registry.get 'keep-alive': 'timeout=10, max=44',
1163 silly registry.get connection: 'Keep-Alive' } ]
1164 verbose etag q from cache
1165 silly lockFile d02d193f-nopt-2-2-1 [email protected]
1166 silly lockFile d02d193f-nopt-2-2-1 [email protected]
1167 silly lockFile 87454de7-mout-0-9-1 [email protected]
1168 silly lockFile 87454de7-mout-0-9-1 [email protected]
1169 http 304 https://registry.npmjs.org/request-progress
1170 silly registry.get cb [ 304,
1170 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1170 silly registry.get server: 'Apache',
1170 silly registry.get via: '1.1 varnish',
1170 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:03 GMT',
1170 silly registry.get 'cache-control': 'max-age=30',
1170 silly registry.get etag: '"2WKUQLWDEA3BQ81OQNNS5NV4F"',
1170 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1170 silly registry.get 'x-cache': 'HIT',
1170 silly registry.get 'x-cache-hits': '2',
1170 silly registry.get 'x-timer': 'S1402918395.528455,VS0,VE0',
1170 silly registry.get vary: 'Accept',
1170 silly registry.get 'content-length': '0',
1170 silly registry.get 'keep-alive': 'timeout=10, max=43',
1170 silly registry.get connection: 'Keep-Alive' } ]
1171 verbose etag request-progress from cache
1172 silly lockFile 84cb411c-nopt-2-2-0 nopt@~2.2.0
1173 silly lockFile 84cb411c-nopt-2-2-0 nopt@~2.2.0
1174 silly lockFile 976bcbd2-opn-0-1-2 [email protected]
1175 silly lockFile 976bcbd2-opn-0-1-2 [email protected]
1176 silly lockFile 4085d016-osenv-0-0-3 [email protected]
1177 silly lockFile 4085d016-osenv-0-0-3 [email protected]
1178 silly lockFile 192577f3-mout-0-9-1 mout@~0.9.1
1179 silly lockFile 192577f3-mout-0-9-1 mout@~0.9.1
1180 silly addNameRange number 2 { name: 'p-throttler',
1180 silly addNameRange range: '>=0.0.1-0 <0.1.0-0',
1180 silly addNameRange 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 [email protected]
1185 verbose lock [email protected] /home/alectaylor/.npm/def2f925-p-throttler-0-0-1.lock
1186 silly lockFile 445f6667-opn-0-1-1 opn@~0.1.1
1187 silly lockFile 445f6667-opn-0-1-1 opn@~0.1.1
1188 silly lockFile 7367c0c9-osenv-0-0-3 osenv@~0.0.3
1189 silly lockFile 7367c0c9-osenv-0-0-3 osenv@~0.0.3
1190 silly addNameRange number 2 { name: 'promptly', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
1191 silly addNameRange versions [ 'promptly', [ '0.0.0', '0.0.1', '0.1.0', '0.2.0' ] ]
1192 verbose addNamed [ 'promptly', '0.2.0' ]
1193 verbose addNamed [ '0.2.0', '0.2.0' ]
1194 silly lockFile c940dc36-promptly-0-2-0 [email protected]
1195 verbose lock [email protected] /home/alectaylor/.npm/c940dc36-promptly-0-2-0.lock
1196 silly addNameRange number 2 { name: 'q', range: '>=1.0.1-0 <1.1.0-0', hasData: true }
1197 silly addNameRange versions [ 'q',
1197 silly addNameRange [ '0.0.0',
1197 silly addNameRange '0.0.1',
1197 silly addNameRange '0.0.2',
1197 silly addNameRange '0.0.3',
1197 silly addNameRange '0.1.0',
1197 silly addNameRange '0.1.1',
1197 silly addNameRange '0.1.2',
1197 silly addNameRange '0.1.3',
1197 silly addNameRange '0.1.4',
1197 silly addNameRange '0.1.5',
1197 silly addNameRange '0.1.6',
1197 silly addNameRange '0.1.7',
1197 silly addNameRange '0.1.8',
1197 silly addNameRange '0.1.9',
1197 silly addNameRange '0.2.0-rc1',
1197 silly addNameRange '0.2.0',
1197 silly addNameRange '0.2.1',
1197 silly addNameRange '0.2.2',
1197 silly addNameRange '0.2.3',
1197 silly addNameRange '0.2.4',
1197 silly addNameRange '0.2.5',
1197 silly addNameRange '0.2.6',
1197 silly addNameRange '0.2.7',
1197 silly addNameRange '0.2.8',
1197 silly addNameRange '0.2.9',
1197 silly addNameRange '0.3.0',
1197 silly addNameRange '0.2.10',
1197 silly addNameRange '0.4.0',
1197 silly addNameRange '0.4.1',
1197 silly addNameRange '0.4.2',
1197 silly addNameRange '0.4.4',
1197 silly addNameRange '0.5.0',
1197 silly addNameRange '0.5.1',
1197 silly addNameRange '0.5.2',
1197 silly addNameRange '0.5.3',
1197 silly addNameRange '0.6.0',
1197 silly addNameRange '0.7.0',
1197 silly addNameRange '0.7.1',
1197 silly addNameRange '0.7.2',
1197 silly addNameRange '0.8.0',
1197 silly addNameRange '0.8.1',
1197 silly addNameRange '0.8.2',
1197 silly addNameRange '0.8.3',
1197 silly addNameRange '0.8.4',
1197 silly addNameRange '0.8.5',
1197 silly addNameRange '0.8.6',
1197 silly addNameRange '0.8.7',
1197 silly addNameRange '0.8.8',
1197 silly addNameRange '0.8.9',
1197 silly addNameRange '0.8.10',
1197 silly addNameRange '0.8.11',
1197 silly addNameRange '0.8.12',
1197 silly addNameRange '0.9.0',
1197 silly addNameRange '0.9.1',
1197 silly addNameRange '0.9.2',
1197 silly addNameRange '0.9.3',
1197 silly addNameRange '0.9.4',
1197 silly addNameRange '0.9.5',
1197 silly addNameRange '0.9.6',
1197 silly addNameRange '0.9.7',
1197 silly addNameRange '1.0.0',
1197 silly addNameRange '1.0.1',
1197 silly addNameRange '2.0.0',
1197 silly addNameRange '2.0.1',
1197 silly addNameRange '2.0.2' ] ]
1198 verbose addNamed [ 'q', '1.0.1' ]
1199 verbose addNamed [ '1.0.1', '1.0.1' ]
1200 silly lockFile 5720ee24-q-1-0-1 [email protected]
1201 verbose lock [email protected] /home/alectaylor/.npm/5720ee24-q-1-0-1.lock
1202 silly addNameRange number 2 { name: 'request-progress',
1202 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
1202 silly addNameRange hasData: true }
1203 silly addNameRange versions [ 'request-progress',
1203 silly addNameRange [ '0.1.0',
1203 silly addNameRange '0.1.1',
1203 silly addNameRange '0.2.0',
1203 silly addNameRange '0.2.1',
1203 silly addNameRange '0.2.2',
1203 silly addNameRange '0.2.3',
1203 silly addNameRange '0.3.0',
1203 silly addNameRange '0.3.1' ] ]
1204 verbose addNamed [ 'request-progress', '0.3.1' ]
1205 verbose addNamed [ '0.3.1', '0.3.1' ]
1206 silly lockFile a2b190cd-request-progress-0-3-1 [email protected]
1207 verbose lock [email protected] /home/alectaylor/.npm/a2b190cd-request-progress-0-3-1.lock
1208 silly lockFile def2f925-p-throttler-0-0-1 [email protected]
1209 silly lockFile def2f925-p-throttler-0-0-1 [email protected]
1210 silly lockFile 52064f95-p-throttler-0-0-1 p-throttler@~0.0.1
1211 silly lockFile 52064f95-p-throttler-0-0-1 p-throttler@~0.0.1
1212 silly lockFile c940dc36-promptly-0-2-0 [email protected]
1213 silly lockFile c940dc36-promptly-0-2-0 [email protected]
1214 silly lockFile 6286f2d5-promptly-0-2-0 promptly@~0.2.0
1215 silly lockFile 6286f2d5-promptly-0-2-0 promptly@~0.2.0
1216 silly lockFile 5720ee24-q-1-0-1 [email protected]
1217 silly lockFile 5720ee24-q-1-0-1 [email protected]
1218 silly lockFile bfcfee2e-q-1-0-1 q@~1.0.1
1219 silly lockFile bfcfee2e-q-1-0-1 q@~1.0.1
1220 http 304 https://registry.npmjs.org/retry
1221 silly registry.get cb [ 304,
1221 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1221 silly registry.get server: 'Apache',
1221 silly registry.get via: '1.1 varnish',
1221 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:29:24 GMT',
1221 silly registry.get 'cache-control': 'max-age=30',
1221 silly registry.get etag: '"CYGCHTT54PZV8D99ORYCFYHNQ"',
1221 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
1221 silly registry.get 'x-cache': 'HIT',
1221 silly registry.get 'x-cache-hits': '2',
1221 silly registry.get 'x-timer': 'S1402918395.551571,VS0,VE0',
1221 silly registry.get vary: 'Accept',
1221 silly registry.get 'content-length': '0',
1221 silly registry.get 'keep-alive': 'timeout=10, max=43',
1221 silly registry.get connection: 'Keep-Alive' } ]
1222 verbose etag retry from cache
1223 silly lockFile a2b190cd-request-progress-0-3-1 [email protected]
1224 silly lockFile a2b190cd-request-progress-0-3-1 [email protected]
1225 http 304 https://registry.npmjs.org/request
1226 silly registry.get cb [ 304,
1226 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1226 silly registry.get server: 'Apache',
1226 silly registry.get via: '1.1 varnish',
1226 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:44 GMT',
1226 silly registry.get 'cache-control': 'max-age=30',
1226 silly registry.get etag: '"9271PBDKLF6XPIWS3YVYBGL27"',
1226 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1226 silly registry.get 'x-cache': 'HIT',
1226 silly registry.get 'x-cache-hits': '12',
1226 silly registry.get 'x-timer': 'S1402918395.551910,VS0,VE0',
1226 silly registry.get vary: 'Accept',
1226 silly registry.get 'content-length': '0',
1226 silly registry.get 'keep-alive': 'timeout=10, max=43',
1226 silly registry.get connection: 'Keep-Alive' } ]
1227 verbose etag request from cache
1228 silly lockFile 4fa06f6c-request-progress-0-3-0 request-progress@~0.3.0
1229 silly lockFile 4fa06f6c-request-progress-0-3-0 request-progress@~0.3.0
1230 http 304 https://registry.npmjs.org/rimraf
1231 silly registry.get cb [ 304,
1231 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1231 silly registry.get server: 'Apache',
1231 silly registry.get via: '1.1 varnish',
1231 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
1231 silly registry.get 'cache-control': 'max-age=30',
1231 silly registry.get etag: '"SJJ9VKTE3URJTS7YF788CTZ6"',
1231 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1231 silly registry.get 'x-cache': 'HIT',
1231 silly registry.get 'x-cache-hits': '5',
1231 silly registry.get 'x-timer': 'S1402918395.554553,VS0,VE0',
1231 silly registry.get vary: 'Accept',
1231 silly registry.get 'content-length': '0',
1231 silly registry.get 'keep-alive': 'timeout=10, max=43',
1231 silly registry.get connection: 'Keep-Alive' } ]
1232 verbose etag rimraf from cache
1233 http 304 https://registry.npmjs.org/semver
1234 silly registry.get cb [ 304,
1234 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1234 silly registry.get server: 'Apache',
1234 silly registry.get via: '1.1 varnish',
1234 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:52 GMT',
1234 silly registry.get 'cache-control': 'max-age=30',
1234 silly registry.get etag: '"392DT6ZXYL68VV0ADP21BAUE"',
1234 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1234 silly registry.get 'x-cache': 'HIT',
1234 silly registry.get 'x-cache-hits': '4',
1234 silly registry.get 'x-timer': 'S1402918395.557852,VS0,VE0',
1234 silly registry.get vary: 'Accept',
1234 silly registry.get 'content-length': '0',
1234 silly registry.get 'keep-alive': 'timeout=10, max=42',
1234 silly registry.get connection: 'Keep-Alive' } ]
1235 verbose etag semver from cache
1236 silly addNameRange number 2 { name: 'retry', range: '>=0.6.0-0 <0.7.0-0', hasData: true }
1237 silly addNameRange versions [ 'retry',
1237 silly addNameRange [ '0.0.1', '0.1.0', '0.2.0', '0.3.0', '0.4.0', '0.5.0', '0.6.0' ] ]
1238 verbose addNamed [ 'retry', '0.6.0' ]
1239 verbose addNamed [ '0.6.0', '0.6.0' ]
1240 silly lockFile 874cb068-retry-0-6-0 [email protected]
1241 verbose lock [email protected] /home/alectaylor/.npm/874cb068-retry-0-6-0.lock
1242 silly addNameRange number 2 { name: 'request', range: '>=2.34.0-0 <2.35.0-0', hasData: true }
1243 silly addNameRange versions [ 'request',
1243 silly addNameRange [ '0.10.0',
1243 silly addNameRange '0.8.3',
1243 silly addNameRange '0.9.0',
1243 silly addNameRange '0.9.1',
1243 silly addNameRange '0.9.5',
1243 silly addNameRange '1.0.0',
1243 silly addNameRange '1.1.0',
1243 silly addNameRange '1.1.1',
1243 silly addNameRange '1.2.0',
1243 silly addNameRange '1.9.0',
1243 silly addNameRange '1.9.1',
1243 silly addNameRange '1.9.2',
1243 silly addNameRange '1.9.3',
1243 silly addNameRange '1.9.5',
1243 silly addNameRange '1.9.7',
1243 silly addNameRange '1.9.8',
1243 silly addNameRange '1.9.9',
1243 silly addNameRange '2.0.0',
1243 silly addNameRange '2.0.1',
1243 silly addNameRange '2.0.2',
1243 silly addNameRange '2.0.3',
1243 silly addNameRange '2.0.4',
1243 silly addNameRange '2.0.5',
1243 silly addNameRange '2.1.0',
1243 silly addNameRange '2.1.1',
1243 silly addNameRange '2.2.0',
1243 silly addNameRange '2.2.5',
1243 silly addNameRange '2.2.6',
1243 silly addNameRange '2.2.9',
1243 silly addNameRange '2.9.0',
1243 silly addNameRange '2.9.1',
1243 silly addNameRange '2.9.2',
1243 silly addNameRange '2.9.3',
1243 silly addNameRange '2.9.100',
1243 silly addNameRange '2.9.150',
1243 silly addNameRange '2.9.151',
1243 silly addNameRange '2.9.152',
1243 silly addNameRange '2.9.153',
1243 silly addNameRange '2.9.200',
1243 silly addNameRange '2.9.201',
1243 silly addNameRange '2.9.202',
1243 silly addNameRange '2.9.203',
1243 silly addNameRange '2.10.0',
1243 silly addNameRange '2.11.0',
1243 silly addNameRange '2.11.1',
1243 silly addNameRange '2.11.2',
1243 silly addNameRange '2.11.3',
1243 silly addNameRange '2.11.4',
1243 silly addNameRange '2.12.0',
1243 silly addNameRange '2.14.0',
1243 silly addNameRange '2.16.0',
1243 silly addNameRange '2.16.2',
1243 silly addNameRange '2.16.4',
1243 silly addNameRange '2.16.6',
1243 silly addNameRange '2.18.0',
1243 silly addNameRange '2.19.0',
1243 silly addNameRange '2.20.0',
1243 silly addNameRange '2.21.0',
1243 silly addNameRange '2.22.0',
1243 silly addNameRange '2.23.0',
1243 silly addNameRange '2.24.0',
1243 silly addNameRange '2.25.0',
1243 silly addNameRange '2.26.0',
1243 silly addNameRange '2.27.0',
1243 silly addNameRange '2.28.0',
1243 silly addNameRange '2.29.0',
1243 silly addNameRange '2.30.0',
1243 silly addNameRange '2.31.0',
1243 silly addNameRange '2.32.0',
1243 silly addNameRange '2.33.0',
1243 silly addNameRange '2.34.0',
1243 silly addNameRange '2.35.0',
1243 silly addNameRange '2.36.0' ] ]
1244 verbose addNamed [ 'request', '2.34.0' ]
1245 verbose addNamed [ '2.34.0', '2.34.0' ]
1246 silly lockFile a8edf972-request-2-34-0 [email protected]
1247 verbose lock [email protected] /home/alectaylor/.npm/a8edf972-request-2-34-0.lock
1248 silly addNameRange number 2 { name: 'rimraf', range: '>=2.2.0-0 <2.3.0-0', hasData: true }
1249 silly addNameRange versions [ 'rimraf',
1249 silly addNameRange [ '1.0.0',
1249 silly addNameRange '1.0.1',
1249 silly addNameRange '1.0.2',
1249 silly addNameRange '1.0.4',
1249 silly addNameRange '1.0.5',
1249 silly addNameRange '1.0.6',
1249 silly addNameRange '1.0.7',
1249 silly addNameRange '1.0.8',
1249 silly addNameRange '1.0.9',
1249 silly addNameRange '2.0.0',
1249 silly addNameRange '2.0.1',
1249 silly addNameRange '2.0.2',
1249 silly addNameRange '2.0.3',
1249 silly addNameRange '2.1.0',
1249 silly addNameRange '2.1.1',
1249 silly addNameRange '2.1.2',
1249 silly addNameRange '2.1.3',
1249 silly addNameRange '2.1.4',
1249 silly addNameRange '2.2.0',
1249 silly addNameRange '2.2.1',
1249 silly addNameRange '2.2.2',
1249 silly addNameRange '2.2.3',
1249 silly addNameRange '2.2.4',
1249 silly addNameRange '2.2.5',
1249 silly addNameRange '2.2.6',
1249 silly addNameRange '2.2.8' ] ]
1250 verbose addNamed [ 'rimraf', '2.2.8' ]
1251 verbose addNamed [ '2.2.8', '2.2.8' ]
1252 silly lockFile b87241a4-rimraf-2-2-8 [email protected]
1253 verbose lock [email protected] /home/alectaylor/.npm/b87241a4-rimraf-2-2-8.lock
1254 http 304 https://registry.npmjs.org/stringify-object
1255 silly registry.get cb [ 304,
1255 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1255 silly registry.get server: 'Apache',
1255 silly registry.get via: '1.1 varnish',
1255 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
1255 silly registry.get 'cache-control': 'max-age=30',
1255 silly registry.get etag: '"8ERZSV3JQWA4O1EG656JF8UYY"',
1255 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
1255 silly registry.get 'x-cache': 'HIT',
1255 silly registry.get 'x-cache-hits': '2',
1255 silly registry.get 'x-timer': 'S1402918395.578053,VS0,VE0',
1255 silly registry.get vary: 'Accept',
1255 silly registry.get 'content-length': '0',
1255 silly registry.get 'keep-alive': 'timeout=10, max=42',
1255 silly registry.get connection: 'Keep-Alive' } ]
1256 verbose etag stringify-object from cache
1257 http 304 https://registry.npmjs.org/shell-quote
1258 silly registry.get cb [ 304,
1258 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1258 silly registry.get server: 'Apache',
1258 silly registry.get via: '1.1 varnish',
1258 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:03 GMT',
1258 silly registry.get 'cache-control': 'max-age=30',
1258 silly registry.get etag: '"7OHON4SBUC9KLVFHPXQW0WPA2"',
1258 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1258 silly registry.get 'x-cache': 'HIT',
1258 silly registry.get 'x-cache-hits': '2',
1258 silly registry.get 'x-timer': 'S1402918395.577863,VS0,VE0',
1258 silly registry.get vary: 'Accept',
1258 silly registry.get 'content-length': '0',
1258 silly registry.get 'keep-alive': 'timeout=10, max=42',
1258 silly registry.get connection: 'Keep-Alive' } ]
1259 verbose etag shell-quote from cache
1260 silly addNameRange number 2 { name: 'semver', range: '>=2.2.1-0 <2.3.0-0', hasData: true }
1261 silly addNameRange versions [ 'semver',
1261 silly addNameRange [ '1.0.0',
1261 silly addNameRange '1.0.1',
1261 silly addNameRange '1.0.2',
1261 silly addNameRange '1.0.3',
1261 silly addNameRange '1.0.4',
1261 silly addNameRange '1.0.5',
1261 silly addNameRange '1.0.6',
1261 silly addNameRange '1.0.7',
1261 silly addNameRange '1.0.8',
1261 silly addNameRange '1.0.9',
1261 silly addNameRange '1.0.10',
1261 silly addNameRange '1.0.11',
1261 silly addNameRange '1.0.12',
1261 silly addNameRange '1.0.13',
1261 silly addNameRange '1.0.14',
1261 silly addNameRange '1.1.0',
1261 silly addNameRange '1.1.1',
1261 silly addNameRange '1.1.2',
1261 silly addNameRange '1.1.3',
1261 silly addNameRange '1.1.4',
1261 silly addNameRange '2.0.0-alpha',
1261 silly addNameRange '2.0.0-beta',
1261 silly addNameRange '2.0.1',
1261 silly addNameRange '2.0.2',
1261 silly addNameRange '2.0.3',
1261 silly addNameRange '2.0.4',
1261 silly addNameRange '2.0.5',
1261 silly addNameRange '2.0.6',
1261 silly addNameRange '2.0.7',
1261 silly addNameRange '2.0.8',
1261 silly addNameRange '2.0.9',
1261 silly addNameRange '2.0.10',
1261 silly addNameRange '2.0.11',
1261 silly addNameRange '2.1.0',
1261 silly addNameRange '2.2.0',
1261 silly addNameRange '2.2.1',
1261 silly addNameRange '2.3.0' ] ]
1262 verbose addNamed [ 'semver', '2.2.1' ]
1263 verbose addNamed [ '2.2.1', '2.2.1' ]
1264 silly lockFile 609d7676-semver-2-2-1 [email protected]
1265 verbose lock [email protected] /home/alectaylor/.npm/609d7676-semver-2-2-1.lock
1266 http 304 https://registry.npmjs.org/tar
1267 silly registry.get cb [ 304,
1267 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1267 silly registry.get server: 'Apache',
1267 silly registry.get via: '1.1 varnish',
1267 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:19 GMT',
1267 silly registry.get 'cache-control': 'max-age=30',
1267 silly registry.get etag: '"BDF74SXF2S741NDFKFUG0P0VD"',
1267 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1267 silly registry.get 'x-cache': 'HIT',
1267 silly registry.get 'x-cache-hits': '3',
1267 silly registry.get 'x-timer': 'S1402918395.581725,VS0,VE0',
1267 silly registry.get vary: 'Accept',
1267 silly registry.get 'content-length': '0',
1267 silly registry.get 'keep-alive': 'timeout=10, max=42',
1267 silly registry.get connection: 'Keep-Alive' } ]
1268 verbose etag tar from cache
1269 http 304 https://registry.npmjs.org/tmp
1270 silly registry.get cb [ 304,
1270 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1270 silly registry.get server: 'Apache',
1270 silly registry.get via: '1.1 varnish',
1270 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:57 GMT',
1270 silly registry.get 'cache-control': 'max-age=30',
1270 silly registry.get etag: '"7EEX0B275AFWTKLXBU24JHYBQ"',
1270 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1270 silly registry.get 'x-cache': 'HIT',
1270 silly registry.get 'x-cache-hits': '2',
1270 silly registry.get 'x-timer': 'S1402918395.585114,VS0,VE0',
1270 silly registry.get vary: 'Accept',
1270 silly registry.get 'content-length': '0',
1270 silly registry.get 'keep-alive': 'timeout=10, max=41',
1270 silly registry.get connection: 'Keep-Alive' } ]
1271 verbose etag tmp from cache
1272 silly lockFile 874cb068-retry-0-6-0 [email protected]
1273 silly lockFile 874cb068-retry-0-6-0 [email protected]
1274 silly lockFile 51b5c643-retry-0-6-0 retry@~0.6.0
1275 silly lockFile 51b5c643-retry-0-6-0 retry@~0.6.0
1276 silly lockFile a8edf972-request-2-34-0 [email protected]
1277 silly lockFile a8edf972-request-2-34-0 [email protected]
1278 http 304 https://registry.npmjs.org/decompress-zip
1279 silly registry.get cb [ 304,
1279 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1279 silly registry.get server: 'Apache',
1279 silly registry.get via: '1.1 varnish',
1279 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:56 GMT',
1279 silly registry.get 'cache-control': 'max-age=30',
1279 silly registry.get etag: '"17BFPAYDD2M9U33NM66STWQS"',
1279 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1279 silly registry.get 'x-cache': 'HIT',
1279 silly registry.get 'x-cache-hits': '2',
1279 silly registry.get 'x-timer': 'S1402918395.597028,VS0,VE0',
1279 silly registry.get vary: 'Accept',
1279 silly registry.get 'content-length': '0',
1279 silly registry.get 'keep-alive': 'timeout=10, max=49',
1279 silly registry.get connection: 'Keep-Alive' } ]
1280 verbose etag decompress-zip from cache
1281 silly lockFile 1fb009df-request-2-34-0 request@~2.34.0
1282 silly lockFile 1fb009df-request-2-34-0 request@~2.34.0
1283 silly lockFile b87241a4-rimraf-2-2-8 [email protected]
1284 silly lockFile b87241a4-rimraf-2-2-8 [email protected]
1285 silly addNameRange number 2 { name: 'stringify-object',
1285 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
1285 silly addNameRange hasData: true }
1286 silly addNameRange versions [ 'stringify-object',
1286 silly addNameRange [ '0.1.0',
1286 silly addNameRange '0.1.1',
1286 silly addNameRange '0.1.2',
1286 silly addNameRange '0.1.3',
1286 silly addNameRange '0.1.4',
1286 silly addNameRange '0.1.5',
1286 silly addNameRange '0.1.6',
1286 silly addNameRange '0.1.7',
1286 silly addNameRange '0.1.8',
1286 silly addNameRange '0.2.0',
1286 silly addNameRange '0.2.1' ] ]
1287 verbose addNamed [ 'stringify-object', '0.2.1' ]
1288 verbose addNamed [ '0.2.1', '0.2.1' ]
1289 silly lockFile 8b60337e-stringify-object-0-2-1 [email protected]
1290 verbose lock [email protected] /home/alectaylor/.npm/8b60337e-stringify-object-0-2-1.lock
1291 silly addNameRange number 2 { name: 'shell-quote',
1291 silly addNameRange range: '>=1.4.1-0 <1.5.0-0',
1291 silly addNameRange hasData: true }
1292 silly addNameRange versions [ 'shell-quote',
1292 silly addNameRange [ '0.0.0',
1292 silly addNameRange '0.0.1',
1292 silly addNameRange '0.1.0',
1292 silly addNameRange '0.1.1',
1292 silly addNameRange '1.0.0',
1292 silly addNameRange '1.1.0',
1292 silly addNameRange '1.2.0',
1292 silly addNameRange '1.3.0',
1292 silly addNameRange '1.3.1',
1292 silly addNameRange '1.3.2',
1292 silly addNameRange '1.3.3',
1292 silly addNameRange '1.4.0',
1292 silly addNameRange '1.4.1' ] ]
1293 verbose addNamed [ 'shell-quote', '1.4.1' ]
1294 verbose addNamed [ '1.4.1', '1.4.1' ]
1295 silly lockFile 9c5cf85e-shell-quote-1-4-1 [email protected]
1296 verbose lock [email protected] /home/alectaylor/.npm/9c5cf85e-shell-quote-1-4-1.lock
1297 silly lockFile 69dbd68f-rimraf-2-2-0 rimraf@~2.2.0
1298 silly lockFile 69dbd68f-rimraf-2-2-0 rimraf@~2.2.0
1299 silly lockFile 609d7676-semver-2-2-1 [email protected]
1300 silly lockFile 609d7676-semver-2-2-1 [email protected]
1301 silly addNameRange number 2 { name: 'tar', range: '>=0.1.17-0 <0.2.0-0', hasData: true }
1302 silly addNameRange versions [ 'tar',
1302 silly addNameRange [ '0.0.1',
1302 silly addNameRange '0.1.0',
1302 silly addNameRange '0.1.2',
1302 silly addNameRange '0.1.3',
1302 silly addNameRange '0.1.4',
1302 silly addNameRange '0.1.5',
1302 silly addNameRange '0.1.6',
1302 silly addNameRange '0.1.7',
1302 silly addNameRange '0.1.8',
1302 silly addNameRange '0.1.9',
1302 silly addNameRange '0.1.10',
1302 silly addNameRange '0.1.11',
1302 silly addNameRange '0.1.12',
1302 silly addNameRange '0.1.13',
1302 silly addNameRange '0.1.14',
1302 silly addNameRange '0.1.15',
1302 silly addNameRange '0.1.16',
1302 silly addNameRange '0.1.17',
1302 silly addNameRange '0.1.18',
1302 silly addNameRange '0.1.19' ] ]
1303 verbose addNamed [ 'tar', '0.1.19' ]
1304 verbose addNamed [ '0.1.19', '0.1.19' ]
1305 silly lockFile 9cd6579d-tar-0-1-19 [email protected]
1306 verbose lock [email protected] /home/alectaylor/.npm/9cd6579d-tar-0-1-19.lock
1307 silly addNameRange number 2 { name: 'tmp', range: '>=0.0.20-0 <0.1.0-0', hasData: true }
1308 silly addNameRange versions [ 'tmp',
1308 silly addNameRange [ '0.0.1',
1308 silly addNameRange '0.0.2',
1308 silly addNameRange '0.0.3',
1308 silly addNameRange '0.0.4',
1308 silly addNameRange '0.0.5',
1308 silly addNameRange '0.0.6',
1308 silly addNameRange '0.0.7',
1308 silly addNameRange '0.0.8',
1308 silly addNameRange '0.0.9',
1308 silly addNameRange '0.0.10',
1308 silly addNameRange '0.0.11',
1308 silly addNameRange '0.0.12',
1308 silly addNameRange '0.0.13',
1308 silly addNameRange '0.0.14',
1308 silly addNameRange '0.0.15',
1308 silly addNameRange '0.0.16',
1308 silly addNameRange '0.0.17',
1308 silly addNameRange '0.0.18',
1308 silly addNameRange '0.0.20',
1308 silly addNameRange '0.0.21',
1308 silly addNameRange '0.0.22',
1308 silly addNameRange '0.0.23' ] ]
1309 verbose addNamed [ 'tmp', '0.0.23' ]
1310 verbose addNamed [ '0.0.23', '0.0.23' ]
1311 silly lockFile f7638ceb-tmp-0-0-23 [email protected]
1312 verbose lock [email protected] /home/alectaylor/.npm/f7638ceb-tmp-0-0-23.lock
1313 silly lockFile 1708eccd-semver-2-2-1 semver@~2.2.1
1314 silly lockFile 1708eccd-semver-2-2-1 semver@~2.2.1
1315 http 304 https://registry.npmjs.org/update-notifier
1316 silly registry.get cb [ 304,
1316 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1316 silly registry.get server: 'Apache',
1316 silly registry.get via: '1.1 varnish',
1316 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:20 GMT',
1316 silly registry.get 'cache-control': 'max-age=30',
1316 silly registry.get etag: '"772AA9H9JXGCAFT3VBUBVZWOR"',
1316 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
1316 silly registry.get 'x-cache': 'HIT',
1316 silly registry.get 'x-cache-hits': '4',
1316 silly registry.get 'x-timer': 'S1402918395.606528,VS0,VE0',
1316 silly registry.get vary: 'Accept',
1316 silly registry.get 'content-length': '0',
1316 silly registry.get 'keep-alive': 'timeout=10, max=41',
1316 silly registry.get connection: 'Keep-Alive' } ]
1317 verbose etag update-notifier from cache
1318 http 304 https://registry.npmjs.org/which
1319 silly registry.get cb [ 304,
1319 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:15 GMT',
1319 silly registry.get server: 'Apache',
1319 silly registry.get via: '1.1 varnish',
1319 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:04 GMT',
1319 silly registry.get 'cache-control': 'max-age=30',
1319 silly registry.get etag: '"E4JEKC1OOIDK0CUCTQBI1CZ35"',
1319 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
1319 silly registry.get 'x-cache': 'HIT',
1319 silly registry.get 'x-cache-hits': '9',
1319 silly registry.get 'x-timer': 'S1402918395.605840,VS0,VE0',
1319 silly registry.get vary: 'Accept',
1319 silly registry.get 'content-length': '0',
1319 silly registry.get 'keep-alive': 'timeout=10, max=41',
1319 silly registry.get connection: 'Keep-Alive' } ]
1320 verbose etag which from cache
1321 silly addNameRange number 2 { name: 'decompress-zip',
1321 silly addNameRange range: '>=0.0.6-0 <0.1.0-0',
1321 silly addNameRange hasData: true }
1322 silly addNameRange versions [ 'decompress-zip',
1322 silly addNameRange [ '0.0.1',
1322 silly addNameRange '0.0.2',
1322 silly addNameRange '0.0.3',
1322 silly addNameRange '0.0.4',
1322 silly addNameRange '0.0.5',
1322 silly addNameRange '0.0.6',
1322 silly addNameRange '0.0.7',
1322 silly addNameRange '0.0.8' ] ]
1323 verbose addNamed [ 'decompress-zip', '0.0.8' ]
1324 verbose addNamed [ '0.0.8', '0.0.8' ]
1325 silly lockFile 7a56c733-decompress-zip-0-0-8 [email protected]
1326 verbose lock [email protected] /home/alectaylor/.npm/7a56c733-decompress-zip-0-0-8.lock
1327 silly lockFile 8b60337e-stringify-object-0-2-1 [email protected]
1328 silly lockFile 8b60337e-stringify-object-0-2-1 [email protected]
1329 silly lockFile 9c5cf85e-shell-quote-1-4-1 [email protected]
1330 silly lockFile 9c5cf85e-shell-quote-1-4-1 [email protected]
1331 silly lockFile 6527850d-stringify-object-0-2-0 stringify-object@~0.2.0
1332 silly lockFile 6527850d-stringify-object-0-2-0 stringify-object@~0.2.0
1333 silly lockFile cfbfb4a3-shell-quote-1-4-1 shell-quote@~1.4.1
1334 silly lockFile cfbfb4a3-shell-quote-1-4-1 shell-quote@~1.4.1
1335 silly lockFile 9cd6579d-tar-0-1-19 [email protected]
1336 silly lockFile 9cd6579d-tar-0-1-19 [email protected]
1337 silly lockFile f7638ceb-tmp-0-0-23 [email protected]
1338 silly lockFile f7638ceb-tmp-0-0-23 [email protected]
1339 silly addNameRange number 2 { name: 'update-notifier',
1339 silly addNameRange range: '>=0.1.8-0 <0.2.0-0',
1339 silly addNameRange hasData: true }
1340 silly addNameRange versions [ 'update-notifier',
1340 silly addNameRange [ '0.1.0',
1340 silly addNameRange '0.1.1',
1340 silly addNameRange '0.1.2',
1340 silly addNameRange '0.1.3',
1340 silly addNameRange '0.1.4',
1340 silly addNameRange '0.1.5',
1340 silly addNameRange '0.1.6',
1340 silly addNameRange '0.1.7',
1340 silly addNameRange '0.1.8',
1340 silly addNameRange '0.1.9',
1340 silly addNameRange '0.1.10' ] ]
1341 verbose addNamed [ 'update-notifier', '0.1.10' ]
1342 verbose addNamed [ '0.1.10', '0.1.10' ]
1343 silly lockFile 21a7571c-update-notifier-0-1-10 [email protected]
1344 verbose lock [email protected] /home/alectaylor/.npm/21a7571c-update-notifier-0-1-10.lock
1345 silly addNameRange number 2 { name: 'which', range: '>=1.0.5-0 <1.1.0-0', hasData: true }
1346 silly addNameRange versions [ 'which', [ '1.0.0', '1.0.1', '1.0.2', '1.0.3', '1.0.5' ] ]
1347 verbose addNamed [ 'which', '1.0.5' ]
1348 verbose addNamed [ '1.0.5', '1.0.5' ]
1349 silly lockFile 4aed4494-which-1-0-5 [email protected]
1350 verbose lock [email protected] /home/alectaylor/.npm/4aed4494-which-1-0-5.lock
1351 silly lockFile 27b9f27e-tar-0-1-17 tar@~0.1.17
1352 silly lockFile 27b9f27e-tar-0-1-17 tar@~0.1.17
1353 silly lockFile d5057ccc-tmp-0-0-20 tmp@~0.0.20
1354 silly lockFile d5057ccc-tmp-0-0-20 tmp@~0.0.20
1355 silly lockFile 7a56c733-decompress-zip-0-0-8 [email protected]
1356 silly lockFile 7a56c733-decompress-zip-0-0-8 [email protected]
1357 silly lockFile 67b19ab4-decompress-zip-0-0-6 decompress-zip@~0.0.6
1358 silly lockFile 67b19ab4-decompress-zip-0-0-6 decompress-zip@~0.0.6
1359 silly lockFile 21a7571c-update-notifier-0-1-10 [email protected]
1360 silly lockFile 21a7571c-update-notifier-0-1-10 [email protected]
1361 silly lockFile 4aed4494-which-1-0-5 [email protected]
1362 silly lockFile 4aed4494-which-1-0-5 [email protected]
1363 silly lockFile 162cceb2-update-notifier-0-1-8 update-notifier@~0.1.8
1364 silly lockFile 162cceb2-update-notifier-0-1-8 update-notifier@~0.1.8
1365 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
1366 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
1367 silly resolved [ { name: 'abbrev',
1367 silly resolved version: '1.0.5',
1367 silly resolved description: 'Like ruby\'s abbrev module, but in js',
1367 silly resolved author: { name: 'Isaac Z. Schlueter', email: '[email protected]' },
1367 silly resolved main: 'abbrev.js',
1367 silly resolved scripts: { test: 'node test.js' },
1367 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/abbrev-js' },
1367 silly resolved license:
1367 silly resolved { type: 'MIT',
1367 silly resolved url: 'https://github.com/isaacs/abbrev-js/raw/master/LICENSE' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/abbrev-js/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/abbrev-js',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'abbrev@~1.0.4' },
1367 silly resolved { name: 'archy',
1367 silly resolved version: '0.0.2',
1367 silly resolved description: 'render nested hierarchies `npm ls` style with unicode pipes',
1367 silly resolved main: 'index.js',
1367 silly resolved directories: { lib: '.', example: 'example', test: 'test' },
1367 silly resolved devDependencies: { tap: '~0.2.3' },
1367 silly resolved scripts: { test: 'tap test' },
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'http://github.com/substack/node-archy.git' },
1367 silly resolved keywords: [ 'hierarchy', 'npm ls', 'unicode', 'pretty', 'print' ],
1367 silly resolved author:
1367 silly resolved { name: 'James Halliday',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://substack.net' },
1367 silly resolved license: 'MIT/X11',
1367 silly resolved engine: { node: '>=0.4' },
1367 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',
1367 silly resolved readmeFilename: 'README.markdown',
1367 silly resolved bugs: { url: 'https://github.com/substack/node-archy/issues' },
1367 silly resolved homepage: 'https://github.com/substack/node-archy',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'archy@~0.0.2' },
1367 silly resolved { name: 'bower-config',
1367 silly resolved version: '0.5.1',
1367 silly resolved description: 'The Bower config reader and writer.',
1367 silly resolved author: { name: 'Twitter' },
1367 silly resolved licenses: [ [Object] ],
1367 silly resolved repository: { type: 'git', url: 'git://github.com/bower/config.git' },
1367 silly resolved main: 'lib/Config',
1367 silly resolved homepage: 'http://bower.io',
1367 silly resolved engines: { node: '>=0.8.0' },
1367 silly resolved dependencies:
1367 silly resolved { 'graceful-fs': '~2.0.0',
1367 silly resolved mout: '~0.9.0',
1367 silly resolved optimist: '~0.6.0',
1367 silly resolved osenv: '0.0.3' },
1367 silly resolved devDependencies: { 'expect.js': '~0.2.0', mocha: '~1.12.0' },
1367 silly resolved scripts: { test: 'mocha -R spec' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/bower/config/issues' },
1367 silly resolved _id: '[email protected]',
1367 silly resolved _shasum: 'dbcfac40734f5e7c61c5c8353c1dfb0ed5f51ce1',
1367 silly resolved _from: 'bower-config@~0.5.0',
1367 silly resolved _resolved: 'https://registry.npmjs.org/bower-config/-/bower-config-0.5.1.tgz' },
1367 silly resolved { name: 'bower-endpoint-parser',
1367 silly resolved version: '0.2.1',
1367 silly resolved description: 'Little module that helps with endpoints parsing.',
1367 silly resolved author: { name: 'Twitter' },
1367 silly resolved licenses: [ [Object] ],
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'git://github.com/bower/endpoint-parser.git' },
1367 silly resolved main: 'index.js',
1367 silly resolved engines: { node: '>=0.8.0' },
1367 silly resolved devDependencies: { 'expect.js': '~0.2.0', mocha: '~1.12.0', mout: '~0.6.0' },
1367 silly resolved scripts: { test: 'mocha -R spec' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/bower/endpoint-parser/issues' },
1367 silly resolved homepage: 'https://github.com/bower/endpoint-parser',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'bower-endpoint-parser@~0.2.0' },
1367 silly resolved { name: 'bower-json',
1367 silly resolved version: '0.4.0',
1367 silly resolved description: 'Read bower.json files with semantics, normalisation, defaults and validation.',
1367 silly resolved author: { name: 'Twitter' },
1367 silly resolved licenses: [ [Object] ],
1367 silly resolved repository: { type: 'git', url: 'git://github.com/bower/json.git' },
1367 silly resolved main: 'lib/json',
1367 silly resolved engines: { node: '>=0.8.0' },
1367 silly resolved dependencies:
1367 silly resolved { 'deep-extend': '~0.2.5',
1367 silly resolved 'graceful-fs': '~2.0.0',
1367 silly resolved intersect: '~0.0.3' },
1367 silly resolved devDependencies:
1367 silly resolved { 'expect.js': '~0.2.0',
1367 silly resolved mocha: '~1.12.0',
1367 silly resolved grunt: '~0.4.1',
1367 silly resolved 'grunt-contrib-watch': '~0.4.4',
1367 silly resolved 'grunt-contrib-jshint': '~0.6.0',
1367 silly resolved 'grunt-simple-mocha': '~0.4.0' },
1367 silly resolved scripts: { test: 'grunt test' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/bower/json/issues' },
1367 silly resolved homepage: 'https://github.com/bower/json',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'bower-json@~0.4.0' },
1367 silly resolved { name: 'bower-logger',
1367 silly resolved version: '0.2.2',
1367 silly resolved description: 'The logger used in the various architecture components of Bower.',
1367 silly resolved author: { name: 'Twitter' },
1367 silly resolved licenses: [ [Object] ],
1367 silly resolved repository: { type: 'git', url: 'git://github.com/bower/logger.git' },
1367 silly resolved main: 'lib/Logger',
1367 silly resolved engines: { node: '>=0.8.0' },
1367 silly resolved devDependencies: { 'expect.js': '~0.2.0', mocha: '~1.12.0' },
1367 silly resolved scripts: { test: 'mocha -R spec' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/bower/logger/issues' },
1367 silly resolved homepage: 'https://github.com/bower/logger',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'bower-logger@~0.2.2' },
1367 silly resolved { name: 'bower-registry-client',
1367 silly resolved version: '0.2.1',
1367 silly resolved description: 'Provides easy interaction with the Bower registry.',
1367 silly resolved author: { name: 'Twitter' },
1367 silly resolved licenses: [ [Object] ],
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'git://github.com/bower/registry-client.git' },
1367 silly resolved main: 'Client',
1367 silly resolved engines: { node: '>=0.8.0' },
1367 silly resolved dependencies:
1367 silly resolved { async: '~0.2.8',
1367 silly resolved 'bower-config': '~0.5.0',
1367 silly resolved 'graceful-fs': '~2.0.0',
1367 silly resolved 'lru-cache': '~2.3.0',
1367 silly resolved request: '~2.27.0',
1367 silly resolved 'request-replay': '~0.2.0',
1367 silly resolved rimraf: '~2.2.0',
1367 silly resolved mkdirp: '~0.3.5' },
1367 silly resolved devDependencies:
1367 silly resolved { 'expect.js': '~0.2.0',
1367 silly resolved grunt: '~0.4.1',
1367 silly resolved 'grunt-contrib-watch': '~0.5.0',
1367 silly resolved 'grunt-contrib-jshint': '~0.6.0',
1367 silly resolved 'grunt-simple-mocha': '~0.4.0',
1367 silly resolved mocha: '~1.12.0',
1367 silly resolved nock: '~0.22.0' },
1367 silly resolved scripts: { test: 'grunt test' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/bower/registry-client/issues' },
1367 silly resolved homepage: 'https://github.com/bower/registry-client',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _shasum: '06fbff982f82a4a4045dc53ac9dcb1c43d9cd591',
1367 silly resolved _from: 'bower-registry-client@~0.2.0',
1367 silly resolved _resolved: 'https://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.2.1.tgz' },
1367 silly resolved { name: 'cardinal',
1367 silly resolved version: '0.4.4',
1367 silly resolved description: 'Syntax highlights JavaScript code with ANSI colors to be printed to the terminal.',
1367 silly resolved main: 'cardinal.js',
1367 silly resolved scripts:
1367 silly resolved { test: 'tap ./test/*.js',
1367 silly resolved demo: 'node examples/highlight-string.js; node examples/highlight-self; node examples/highlight-self-hide-semicolons;' },
1367 silly resolved bin: { cdl: './bin/cdl.js' },
1367 silly resolved repository: { type: 'git', url: 'git://github.com/thlorenz/cardinal.git' },
1367 silly resolved keywords:
1367 silly resolved [ 'syntax',
1367 silly resolved 'highlight',
1367 silly resolved 'theme',
1367 silly resolved 'javascript',
1367 silly resolved 'json',
1367 silly resolved 'terminal',
1367 silly resolved 'console',
1367 silly resolved 'print',
1367 silly resolved 'output' ],
1367 silly resolved author:
1367 silly resolved { name: 'Thorsten Lorenz',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'thlorenz.com' },
1367 silly resolved license: 'MIT',
1367 silly resolved dependencies: { redeyed: '~0.4.0', ansicolors: '~0.2.1' },
1367 silly resolved devDependencies: { tap: '~0.3.1', readdirp: '~0.2.1' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/thlorenz/cardinal/issues' },
1367 silly resolved homepage: 'https://github.com/thlorenz/cardinal',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'cardinal@~0.4.0' },
1367 silly resolved { name: 'chalk',
1367 silly resolved version: '0.4.0',
1367 silly resolved description: 'Terminal string styling done right. Created because the `colors` module does some really horrible things.',
1367 silly resolved license: 'MIT',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/chalk' },
1367 silly resolved author:
1367 silly resolved { name: 'Sindre Sorhus',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://sindresorhus.com' },
1367 silly resolved engines: { node: '>=0.8.0' },
1367 silly resolved scripts: { test: 'mocha' },
1367 silly resolved files: [ 'index.js' ],
1367 silly resolved keywords:
1367 silly resolved [ 'color',
1367 silly resolved 'colour',
1367 silly resolved 'colors',
1367 silly resolved 'terminal',
1367 silly resolved 'console',
1367 silly resolved 'cli',
1367 silly resolved 'string',
1367 silly resolved 'ansi',
1367 silly resolved 'styles',
1367 silly resolved 'tty',
1367 silly resolved 'formatting',
1367 silly resolved 'rgb',
1367 silly resolved '256',
1367 silly resolved 'shell',
1367 silly resolved 'xterm',
1367 silly resolved 'log',
1367 silly resolved 'logging',
1367 silly resolved 'command-line',
1367 silly resolved 'text' ],
1367 silly resolved dependencies:
1367 silly resolved { 'has-color': '~0.1.0',
1367 silly resolved 'ansi-styles': '~1.0.0',
1367 silly resolved 'strip-ansi': '~0.1.0' },
1367 silly resolved devDependencies: { mocha: '~1.x' },
1367 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',
1367 silly resolved readmeFilename: 'readme.md',
1367 silly resolved bugs: { url: 'https://github.com/sindresorhus/chalk/issues' },
1367 silly resolved homepage: 'https://github.com/sindresorhus/chalk',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'chalk@~0.4.0' },
1367 silly resolved { author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me/' },
1367 silly resolved name: 'chmodr',
1367 silly resolved description: 'like `chmod -R`',
1367 silly resolved version: '0.1.0',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/chmodr.git' },
1367 silly resolved main: 'chmodr.js',
1367 silly resolved devDependencies: { tap: '0.2', mkdirp: '0.3', rimraf: '' },
1367 silly resolved scripts: { test: 'tap test/*.js' },
1367 silly resolved license: 'BSD',
1367 silly resolved readme: 'Like `chmod -R`.\n\nTakes the same arguments as `fs.chmod()`\n',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/chmodr/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/chmodr',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'chmodr@~0.1.0' },
1367 silly resolved { author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me/' },
1367 silly resolved name: 'fstream-ignore',
1367 silly resolved description: 'A thing for ignoring files based on globs',
1367 silly resolved version: '0.0.8',
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'git://github.com/isaacs/fstream-ignore.git' },
1367 silly resolved main: 'ignore.js',
1367 silly resolved scripts: { test: 'tap test/*.js' },
1367 silly resolved dependencies: { fstream: '~0.1.17', inherits: '2', minimatch: '^0.3.0' },
1367 silly resolved devDependencies: { tap: '', rimraf: '', mkdirp: '' },
1367 silly resolved license: 'BSD',
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/fstream-ignore/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/fstream-ignore',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _shasum: 'cc4830fb9963178be5d9eb37569a4a0785cf9e53',
1367 silly resolved _from: 'fstream-ignore@~0.0.6',
1367 silly resolved _resolved: 'https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.8.tgz' },
1367 silly resolved { author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me/' },
1367 silly resolved name: 'fstream',
1367 silly resolved description: 'Advanced file system stream things',
1367 silly resolved version: '0.1.27',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/fstream.git' },
1367 silly resolved main: 'fstream.js',
1367 silly resolved engines: { node: '>=0.6' },
1367 silly resolved dependencies:
1367 silly resolved { 'graceful-fs': '~3.0.2',
1367 silly resolved inherits: '~2.0.0',
1367 silly resolved mkdirp: '0.3',
1367 silly resolved rimraf: '2' },
1367 silly resolved devDependencies: { tap: '' },
1367 silly resolved scripts: { test: 'tap examples/*.js' },
1367 silly resolved license: 'BSD',
1367 silly resolved gitHead: 'f20c223a2d0edce458c6443a89f8274824eb29b0',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/fstream/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/fstream',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _shasum: '80f0a1e56efef322a3f55a1a29774ca64ab7341e',
1367 silly resolved _from: 'fstream@~0.1.22',
1367 silly resolved _npmVersion: '1.4.15',
1367 silly resolved _npmUser: { name: 'isaacs', email: '[email protected]' },
1367 silly resolved maintainers: [ [Object] ],
1367 silly resolved dist:
1367 silly resolved { shasum: '80f0a1e56efef322a3f55a1a29774ca64ab7341e',
1367 silly resolved tarball: 'http://registry.npmjs.org/fstream/-/fstream-0.1.27.tgz' },
1367 silly resolved directories: {},
1367 silly resolved _resolved: 'https://registry.npmjs.org/fstream/-/fstream-0.1.27.tgz',
1367 silly resolved readme: 'ERROR: No README data found!' },
1367 silly resolved { author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me/' },
1367 silly resolved name: 'glob',
1367 silly resolved description: 'a little globber',
1367 silly resolved version: '3.2.11',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
1367 silly resolved main: 'glob.js',
1367 silly resolved engines: { node: '*' },
1367 silly resolved dependencies: { inherits: '2', minimatch: '0.3' },
1367 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
1367 silly resolved scripts:
1367 silly resolved { test: 'tap test/*.js',
1367 silly resolved 'test-regen': 'TEST_REGEN=1 node test/00-setup.js' },
1367 silly resolved license: 'BSD',
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/node-glob',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _shasum: '4a973f635b9190f715d10987d5c00fd2815ebe3d',
1367 silly resolved _from: 'glob@~3.2.9',
1367 silly resolved _resolved: 'https://registry.npmjs.org/glob/-/glob-3.2.11.tgz' },
1367 silly resolved { author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me' },
1367 silly resolved name: 'graceful-fs',
1367 silly resolved description: 'A drop-in replacement for fs, making various improvements.',
1367 silly resolved version: '2.0.3',
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
1367 silly resolved main: 'graceful-fs.js',
1367 silly resolved engines: { node: '>=0.4.0' },
1367 silly resolved directories: { test: 'test' },
1367 silly resolved scripts: { test: 'tap test/*.js' },
1367 silly resolved keywords:
1367 silly resolved [ 'fs',
1367 silly resolved 'module',
1367 silly resolved 'reading',
1367 silly resolved 'retry',
1367 silly resolved 'retries',
1367 silly resolved 'queue',
1367 silly resolved 'error',
1367 silly resolved 'errors',
1367 silly resolved 'handling',
1367 silly resolved 'EMFILE',
1367 silly resolved 'EAGAIN',
1367 silly resolved 'EINVAL',
1367 silly resolved 'EPERM',
1367 silly resolved 'EACCESS' ],
1367 silly resolved license: 'BSD',
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/node-graceful-fs/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/node-graceful-fs',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'graceful-fs@~2.0.0' },
1367 silly resolved { name: 'handlebars',
1367 silly resolved barename: 'handlebars',
1367 silly resolved version: '1.3.0',
1367 silly resolved description: 'Handlebars provides the power necessary to let you build semantic templates effectively with no frustration',
1367 silly resolved homepage: 'http://www.handlebarsjs.com/',
1367 silly resolved keywords: [ 'handlebars', 'mustache', 'template', 'html' ],
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'https://github.com/wycats/handlebars.js.git' },
1367 silly resolved author: { name: 'Yehuda Katz' },
1367 silly resolved license: 'MIT',
1367 silly resolved readmeFilename: 'README.markdown',
1367 silly resolved engines: { node: '>=0.4.7' },
1367 silly resolved dependencies: { optimist: '~0.3', 'uglify-js': '~2.3' },
1367 silly resolved optionalDependencies: { 'uglify-js': '~2.3' },
1367 silly resolved devDependencies:
1367 silly resolved { async: '~0.2.9',
1367 silly resolved 'aws-sdk': '~1.5.0',
1367 silly resolved benchmark: '~1.0',
1367 silly resolved 'dustjs-linkedin': '~2.0.2',
1367 silly resolved eco: '~1.1.0-rc-3',
1367 silly resolved grunt: '~0.4.1',
1367 silly resolved 'grunt-cli': '~0.1.10',
1367 silly resolved 'grunt-contrib-clean': '~0.4.1',
1367 silly resolved 'grunt-contrib-concat': '~0.3.0',
1367 silly resolved 'grunt-contrib-connect': '~0.5.0',
1367 silly resolved 'grunt-contrib-copy': '~0.4.1',
1367 silly resolved 'grunt-contrib-jshint': '0.x',
1367 silly resolved 'grunt-contrib-requirejs': '~0.4.1',
1367 silly resolved 'grunt-contrib-uglify': '~0.2.2',
1367 silly resolved 'grunt-contrib-watch': '~0.5.3',
1367 silly resolved 'grunt-saucelabs': '~4.1.2',
1367 silly resolved 'es6-module-packager': '0.x',
1367 silly resolved jison: '~0.3.0',
1367 silly resolved 'keen.io': '0.0.3',
1367 silly resolved mocha: '*',
1367 silly resolved mustache: '~0.7.2',
1367 silly resolved semver: '~2.1.0',
1367 silly resolved underscore: '~1.5.1' },
1367 silly resolved main: 'lib/index.js',
1367 silly resolved bin: { handlebars: 'bin/handlebars' },
1367 silly resolved scripts: { test: 'grunt' },
1367 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',
1367 silly resolved bugs: { url: 'https://github.com/wycats/handlebars.js/issues' },
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'handlebars@~1.3.0' },
1367 silly resolved { name: 'inquirer',
1367 silly resolved version: '0.4.1',
1367 silly resolved description: 'A collection of common interactive command line user interfaces.',
1367 silly resolved main: 'lib/inquirer.js',
1367 silly resolved scripts: { test: 'grunt --verbose' },
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'git://github.com/SBoudrias/Inquirer.js.git' },
1367 silly resolved keywords: [ 'command', 'prompt', 'stdin', 'cli' ],
1367 silly resolved author: { name: 'Simon Boudrias', email: '[email protected]' },
1367 silly resolved license: 'MIT',
1367 silly resolved dependencies:
1367 silly resolved { lodash: '~2.4.1',
1367 silly resolved async: '~0.2.8',
1367 silly resolved 'cli-color': '~0.2.2',
1367 silly resolved 'mute-stream': '0.0.4',
1367 silly resolved through: '~2.3.4',
1367 silly resolved readline2: '~0.1.0' },
1367 silly resolved devDependencies:
1367 silly resolved { grunt: '~0.4.1',
1367 silly resolved 'grunt-cli': '~0.1.8',
1367 silly resolved mocha: '~1.17.1',
1367 silly resolved chai: '~1.9.0',
1367 silly resolved 'grunt-contrib-jshint': '~0.8.0',
1367 silly resolved sinon: '~1.7.2',
1367 silly resolved 'grunt-release': '~0.6.0',
1367 silly resolved mockery: '~1.4.0',
1367 silly resolved 'grunt-mocha-test': '~0.9.0',
1367 silly resolved cmdify: '0.0.4' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/SBoudrias/Inquirer.js/issues' },
1367 silly resolved homepage: 'https://github.com/SBoudrias/Inquirer.js',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'inquirer@~0.4.0' },
1367 silly resolved { name: 'insight',
1367 silly resolved version: '0.3.1',
1367 silly resolved description: 'Understand how your tool is being used by anonymously reporting usage metrics to Google Analytics',
1367 silly resolved keywords:
1367 silly resolved [ 'npm',
1367 silly resolved 'package',
1367 silly resolved 'stats',
1367 silly resolved 'google',
1367 silly resolved 'analytics',
1367 silly resolved 'track',
1367 silly resolved 'metrics' ],
1367 silly resolved homepage: 'https://github.com/yeoman/insight',
1367 silly resolved bugs: { url: 'https://github.com/yeoman/insight/issues' },
1367 silly resolved author:
1367 silly resolved { name: 'Sindre Sorhus',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://sindresorhus.com' },
1367 silly resolved main: 'lib/insight.js',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/yeoman/insight.git' },
1367 silly resolved scripts: { test: 'mocha test/test-*.js' },
1367 silly resolved dependencies:
1367 silly resolved { chalk: '~0.4.0',
1367 silly resolved request: '~2.27.0',
1367 silly resolved configstore: '~0.2.1',
1367 silly resolved async: '~0.2.9',
1367 silly resolved inquirer: '~0.4.0',
1367 silly resolved 'object-assign': '~0.1.2',
1367 silly resolved 'lodash.debounce': '~2.4.1' },
1367 silly resolved devDependencies: { mocha: '*', sinon: '*' },
1367 silly resolved engines: { node: '>=0.10.0' },
1367 silly resolved licenses: [ [Object] ],
1367 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',
1367 silly resolved readmeFilename: 'readme.md',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'insight@~0.3.0' },
1367 silly resolved { name: 'is-root',
1367 silly resolved version: '0.1.0',
1367 silly resolved description: 'Check if the process is running as root user. Eg. started with `sudo`.',
1367 silly resolved license: 'MIT',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/is-root' },
1367 silly resolved author:
1367 silly resolved { name: 'Sindre Sorhus',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://sindresorhus.com' },
1367 silly resolved engines: { node: '>=0.10.0' },
1367 silly resolved scripts: { test: 'mocha' },
1367 silly resolved files: [ 'index.js' ],
1367 silly resolved keywords: [ 'sudo', 'root', 'user', 'permissions', 'uid', 'process', 'posix' ],
1367 silly resolved devDependencies: { mocha: '*' },
1367 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',
1367 silly resolved readmeFilename: 'readme.md',
1367 silly resolved bugs: { url: 'https://github.com/sindresorhus/is-root/issues' },
1367 silly resolved homepage: 'https://github.com/sindresorhus/is-root',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'is-root@~0.1.0' },
1367 silly resolved { name: 'lockfile',
1367 silly resolved version: '0.4.2',
1367 silly resolved main: 'lockfile.js',
1367 silly resolved directories: { test: 'test' },
1367 silly resolved dependencies: {},
1367 silly resolved devDependencies: { tap: '~0.2.5', touch: '0' },
1367 silly resolved scripts: { test: 'tap test/*.js' },
1367 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/lockfile' },
1367 silly resolved keywords: [ 'lockfile', 'lock', 'file', 'fs', 'O_EXCL' ],
1367 silly resolved author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me/' },
1367 silly resolved license: 'BSD',
1367 silly resolved description: 'A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.',
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/lockfile/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/lockfile',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'lockfile@~0.4.2' },
1367 silly resolved { name: 'junk',
1367 silly resolved version: '0.3.0',
1367 silly resolved description: 'Filter out OS junk files like .DS_Store and Thumbs.db',
1367 silly resolved license: 'MIT',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/junk' },
1367 silly resolved author:
1367 silly resolved { name: 'Sindre Sorhus',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://sindresorhus.com' },
1367 silly resolved engines: { node: '>=0.10.0' },
1367 silly resolved scripts: { test: 'mocha' },
1367 silly resolved files: [ 'index.js' ],
1367 silly resolved keywords:
1367 silly resolved [ 'junk',
1367 silly resolved 'trash',
1367 silly resolved 'garbage',
1367 silly resolved 'files',
1367 silly resolved 'os',
1367 silly resolved 'ignore',
1367 silly resolved 'exclude',
1367 silly resolved 'filter',
1367 silly resolved 'temp',
1367 silly resolved 'tmp' ],
1367 silly resolved devDependencies: { mocha: '*' },
1367 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',
1367 silly resolved readmeFilename: 'readme.md',
1367 silly resolved bugs: { url: 'https://github.com/sindresorhus/junk/issues' },
1367 silly resolved homepage: 'https://github.com/sindresorhus/junk',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'junk@~0.3.0' },
1367 silly resolved { name: 'mkdirp',
1367 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
1367 silly resolved version: '0.3.5',
1367 silly resolved author:
1367 silly resolved { name: 'James Halliday',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://substack.net' },
1367 silly resolved main: './index',
1367 silly resolved keywords: [ 'mkdir', 'directory' ],
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
1367 silly resolved scripts: { test: 'tap test/*.js' },
1367 silly resolved devDependencies: { tap: '~0.4.0' },
1367 silly resolved license: 'MIT',
1367 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',
1367 silly resolved readmeFilename: 'readme.markdown',
1367 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
1367 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'mkdirp@~0.3.5' },
1367 silly resolved { name: 'lru-cache',
1367 silly resolved description: 'A cache object that deletes the least-recently-used items.',
1367 silly resolved version: '2.5.0',
1367 silly resolved author: { name: 'Isaac Z. Schlueter', email: '[email protected]' },
1367 silly resolved scripts: { test: 'tap test --gc' },
1367 silly resolved main: 'lib/lru-cache.js',
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'git://github.com/isaacs/node-lru-cache.git' },
1367 silly resolved devDependencies: { tap: '', weak: '' },
1367 silly resolved license:
1367 silly resolved { type: 'MIT',
1367 silly resolved url: 'http://github.com/isaacs/node-lru-cache/raw/master/LICENSE' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/node-lru-cache/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/node-lru-cache',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'lru-cache@~2.5.0' },
1367 silly resolved { name: 'osenv',
1367 silly resolved version: '0.0.3',
1367 silly resolved main: 'osenv.js',
1367 silly resolved directories: { test: 'test' },
1367 silly resolved dependencies: {},
1367 silly resolved devDependencies: { tap: '~0.2.5' },
1367 silly resolved scripts: { test: 'tap test/*.js' },
1367 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/osenv' },
1367 silly resolved keywords:
1367 silly resolved [ 'environment',
1367 silly resolved 'variable',
1367 silly resolved 'home',
1367 silly resolved 'tmpdir',
1367 silly resolved 'path',
1367 silly resolved 'prompt',
1367 silly resolved 'ps1' ],
1367 silly resolved author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me/' },
1367 silly resolved license: 'BSD',
1367 silly resolved description: 'Look up environment settings specific to different operating systems',
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/osenv/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/osenv',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'osenv@~0.0.3' },
1367 silly resolved { name: 'mout',
1367 silly resolved description: 'Modular Utilities',
1367 silly resolved version: '0.9.1',
1367 silly resolved homepage: 'http://moutjs.com/',
1367 silly resolved contributors:
1367 silly resolved [ [Object],
1367 silly resolved [Object],
1367 silly resolved [Object],
1367 silly resolved [Object],
1367 silly resolved [Object],
1367 silly resolved [Object],
1367 silly resolved [Object],
1367 silly resolved [Object],
1367 silly resolved [Object] ],
1367 silly resolved keywords: [ 'utilities', 'functional', 'amd-utils', 'stdlib' ],
1367 silly resolved repository: { type: 'git', url: 'git://github.com/mout/mout.git' },
1367 silly resolved licenses: [ [Object] ],
1367 silly resolved bugs: { url: 'https://github.com/mout/mout/issues/' },
1367 silly resolved main: './index.js',
1367 silly resolved scripts:
1367 silly resolved { pretest: 'node build pkg',
1367 silly resolved test: 'istanbul test tests/runner.js --hook-run-in-context' },
1367 silly resolved directories: { doc: './doc' },
1367 silly resolved devDependencies:
1367 silly resolved { istanbul: '~0.1.27',
1367 silly resolved 'jasmine-node': '~1.2.2',
1367 silly resolved requirejs: '2.x',
1367 silly resolved nodefy: '*',
1367 silly resolved mdoc: '~0.3.2',
1367 silly resolved handlebars: '~1.0.6',
1367 silly resolved commander: '~1.0.5',
1367 silly resolved rocambole: '~0.2.3',
1367 silly resolved jshint: '2.x',
1367 silly resolved rimraf: '~2.2.2',
1367 silly resolved regenerate: '~0.5.4' },
1367 silly resolved testling:
1367 silly resolved { preprocess: 'node build testling',
1367 silly resolved browsers: [Object],
1367 silly resolved scripts: [Object] },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'mout@~0.9.1' },
1367 silly resolved { name: 'nopt',
1367 silly resolved version: '2.2.1',
1367 silly resolved description: 'Option parsing for Node, supporting types, shorthands, etc. Used by npm.',
1367 silly resolved author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me/' },
1367 silly resolved main: 'lib/nopt.js',
1367 silly resolved scripts: { test: 'tap test/*.js' },
1367 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/nopt' },
1367 silly resolved bin: { nopt: './bin/nopt.js' },
1367 silly resolved license:
1367 silly resolved { type: 'MIT',
1367 silly resolved url: 'https://github.com/isaacs/nopt/raw/master/LICENSE' },
1367 silly resolved dependencies: { abbrev: '1' },
1367 silly resolved devDependencies: { tap: '~0.4.8' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/nopt/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/nopt',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'nopt@~2.2.0' },
1367 silly resolved { name: 'opn',
1367 silly resolved version: '0.1.2',
1367 silly resolved description: 'A better node-open. Opens stuff like websites, files, executables. Cross-platform.',
1367 silly resolved license: 'MIT',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/opn' },
1367 silly resolved bin: { opn: 'cli.js' },
1367 silly resolved author:
1367 silly resolved { name: 'Sindre Sorhus',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://sindresorhus.com' },
1367 silly resolved engines: { node: '>=0.10.0' },
1367 silly resolved scripts: { test: 'mocha' },
1367 silly resolved files: [ 'cli.js', 'index.js', 'xdg-open' ],
1367 silly resolved keywords:
1367 silly resolved [ 'cli',
1367 silly resolved 'bin',
1367 silly resolved 'app',
1367 silly resolved 'open',
1367 silly resolved 'opn',
1367 silly resolved 'launch',
1367 silly resolved 'start',
1367 silly resolved 'xdg-open',
1367 silly resolved 'default',
1367 silly resolved 'cmd',
1367 silly resolved 'browser',
1367 silly resolved 'editor',
1367 silly resolved 'executable' ],
1367 silly resolved devDependencies: { mocha: '*' },
1367 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',
1367 silly resolved readmeFilename: 'readme.md',
1367 silly resolved bugs: { url: 'https://github.com/sindresorhus/opn/issues' },
1367 silly resolved homepage: 'https://github.com/sindresorhus/opn',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _shasum: 'c527832cfd964d52096b524d0035ecaece51db4f',
1367 silly resolved _from: 'opn@~0.1.1',
1367 silly resolved _resolved: 'https://registry.npmjs.org/opn/-/opn-0.1.2.tgz' },
1367 silly resolved { name: 'p-throttler',
1367 silly resolved version: '0.0.1',
1367 silly resolved description: 'A promise based throttler capable of limiting execution of parallel tasks',
1367 silly resolved main: 'index.js',
1367 silly resolved dependencies: { q: '~0.9.2' },
1367 silly resolved devDependencies: { mocha: '~1.10.0', 'expect.js': '~0.2.0' },
1367 silly resolved scripts: { test: 'mocha -R spec' },
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'git://github.com/IndigoUnited/node-p-throttler' },
1367 silly resolved bugs: { url: 'http://github.com/IndigoUnited/node-p-throttler/issues' },
1367 silly resolved keywords:
1367 silly resolved [ 'promise',
1367 silly resolved 'throttler',
1367 silly resolved 'trottle',
1367 silly resolved 'deferred',
1367 silly resolved 'worker',
1367 silly resolved 'tasks',
1367 silly resolved 'parallel' ],
1367 silly resolved author:
1367 silly resolved { name: 'IndigoUnited',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://indigounited.com' },
1367 silly resolved license: 'MIT',
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved homepage: 'https://github.com/IndigoUnited/node-p-throttler',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'p-throttler@~0.0.1' },
1367 silly resolved { name: 'promptly',
1367 silly resolved version: '0.2.0',
1367 silly resolved description: 'Simple command line prompting utility',
1367 silly resolved main: 'index.js',
1367 silly resolved dependencies: { read: '~1.0.4' },
1367 silly resolved devDependencies: { mocha: '~1.8.1', async: '~0.1.22', 'expect.js': '~0.2.0' },
1367 silly resolved scripts: { test: 'mocha -R spec' },
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'git://github.com/IndigoUnited/node-promptly' },
1367 silly resolved bugs: { url: 'http://github.com/IndigoUnited/node-promptly/issues' },
1367 silly resolved keywords: [ 'prompt', 'choose', 'choice', 'cli', 'command', 'line' ],
1367 silly resolved author:
1367 silly resolved { name: 'IndigoUnited',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://indigounited.com' },
1367 silly resolved license: 'MIT',
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved homepage: 'https://github.com/IndigoUnited/node-promptly',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'promptly@~0.2.0' },
1367 silly resolved { name: 'q',
1367 silly resolved version: '1.0.1',
1367 silly resolved description: 'A library for promises (CommonJS/Promises/A,B,D)',
1367 silly resolved homepage: 'https://github.com/kriskowal/q',
1367 silly resolved author:
1367 silly resolved { name: 'Kris Kowal',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'https://github.com/kriskowal' },
1367 silly resolved keywords:
1367 silly resolved [ 'q',
1367 silly resolved 'promise',
1367 silly resolved 'promises',
1367 silly resolved 'promises-a',
1367 silly resolved 'promises-aplus',
1367 silly resolved 'deferred',
1367 silly resolved 'future',
1367 silly resolved 'async',
1367 silly resolved 'flow control',
1367 silly resolved 'fluent',
1367 silly resolved 'browser',
1367 silly resolved 'node' ],
1367 silly resolved contributors: [ [Object], [Object], [Object] ],
1367 silly resolved bugs: { url: 'http://github.com/kriskowal/q/issues' },
1367 silly resolved license:
1367 silly resolved { type: 'MIT',
1367 silly resolved url: 'http://github.com/kriskowal/q/raw/master/LICENSE' },
1367 silly resolved main: 'q.js',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/kriskowal/q.git' },
1367 silly resolved engines: { node: '>=0.6.0', teleport: '>=0.2.0' },
1367 silly resolved dependencies: {},
1367 silly resolved devDependencies:
1367 silly resolved { jshint: '~2.1.9',
1367 silly resolved cover: '*',
1367 silly resolved 'jasmine-node': '1.11.0',
1367 silly resolved opener: '*',
1367 silly resolved 'promises-aplus-tests': '1.x',
1367 silly resolved grunt: '~0.4.1',
1367 silly resolved 'grunt-cli': '~0.1.9',
1367 silly resolved 'grunt-contrib-uglify': '~0.2.2',
1367 silly resolved matcha: '~0.2.0' },
1367 silly resolved scripts:
1367 silly resolved { test: 'jasmine-node spec && promises-aplus-tests spec/aplus-adapter',
1367 silly resolved 'test-browser': 'opener spec/q-spec.html',
1367 silly resolved benchmark: 'matcha',
1367 silly resolved lint: 'jshint q.js',
1367 silly resolved cover: 'cover run node_modules/jasmine-node/bin/jasmine-node spec && cover report html && opener cover_html/index.html',
1367 silly resolved minify: 'grunt',
1367 silly resolved prepublish: 'grunt' },
1367 silly resolved overlay: { teleport: [Object] },
1367 silly resolved directories: { test: './spec' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'q@~1.0.1' },
1367 silly resolved { name: 'request-progress',
1367 silly resolved version: '0.3.1',
1367 silly resolved description: 'Tracks the download progress of a request made with mikeal/request',
1367 silly resolved main: 'index.js',
1367 silly resolved dependencies: { throttleit: '~0.0.2' },
1367 silly resolved devDependencies: { mocha: '~1.12.0', 'expect.js': '~0.2.0' },
1367 silly resolved scripts: { test: 'mocha -R spec' },
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'git://github.com/IndigoUnited/node-request-progress' },
1367 silly resolved bugs: { url: 'http://github.com/IndigoUnited/node-request-progress/issues' },
1367 silly resolved keywords:
1367 silly resolved [ 'progress',
1367 silly resolved 'request',
1367 silly resolved 'mikeal',
1367 silly resolved 'size',
1367 silly resolved 'bytes',
1367 silly resolved 'percent',
1367 silly resolved 'percentage' ],
1367 silly resolved author:
1367 silly resolved { name: 'IndigoUnited',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://indigounited.com' },
1367 silly resolved license: 'MIT',
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved homepage: 'https://github.com/IndigoUnited/node-request-progress',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'request-progress@~0.3.0' },
1367 silly resolved { author:
1367 silly resolved { name: 'Tim Koschützki',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://debuggable.com/' },
1367 silly resolved name: 'retry',
1367 silly resolved description: 'Abstraction for exponential and custom retry strategies for failed operations.',
1367 silly resolved version: '0.6.0',
1367 silly resolved homepage: 'https://github.com/tim-kos/node-retry',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/felixge/node-retry.git' },
1367 silly resolved directories: { lib: './lib' },
1367 silly resolved main: 'index',
1367 silly resolved engines: { node: '*' },
1367 silly resolved dependencies: {},
1367 silly resolved devDependencies: { fake: '0.2.0', far: '0.0.1' },
1367 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',
1367 silly resolved readmeFilename: 'Readme.md',
1367 silly resolved bugs: { url: 'https://github.com/felixge/node-retry/issues' },
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'retry@~0.6.0',
1367 silly resolved scripts: {} },
1367 silly resolved { name: 'request',
1367 silly resolved description: 'Simplified HTTP request client.',
1367 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
1367 silly resolved version: '2.34.0',
1367 silly resolved author: { name: 'Mikeal Rogers', email: '[email protected]' },
1367 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
1367 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
1367 silly resolved license: 'Apache, Version 2.0',
1367 silly resolved engines: [ 'node >= 0.8.0' ],
1367 silly resolved main: 'index.js',
1367 silly resolved dependencies:
1367 silly resolved { qs: '~0.6.0',
1367 silly resolved 'json-stringify-safe': '~5.0.0',
1367 silly resolved 'forever-agent': '~0.5.0',
1367 silly resolved 'node-uuid': '~1.4.0',
1367 silly resolved mime: '~1.2.9',
1367 silly resolved 'tough-cookie': '>=0.12.0',
1367 silly resolved 'form-data': '~0.1.0',
1367 silly resolved 'tunnel-agent': '~0.3.0',
1367 silly resolved 'http-signature': '~0.10.0',
1367 silly resolved 'oauth-sign': '~0.3.0',
1367 silly resolved hawk: '~1.0.0',
1367 silly resolved 'aws-sign2': '~0.5.0' },
1367 silly resolved optionalDependencies:
1367 silly resolved { 'tough-cookie': '>=0.12.0',
1367 silly resolved 'form-data': '~0.1.0',
1367 silly resolved 'tunnel-agent': '~0.3.0',
1367 silly resolved 'http-signature': '~0.10.0',
1367 silly resolved 'oauth-sign': '~0.3.0',
1367 silly resolved hawk: '~1.0.0',
1367 silly resolved 'aws-sign2': '~0.5.0' },
1367 silly resolved scripts: { test: 'node tests/run.js' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved homepage: 'https://github.com/mikeal/request',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'request@~2.34.0' },
1367 silly resolved { name: 'rimraf',
1367 silly resolved version: '2.2.8',
1367 silly resolved main: 'rimraf.js',
1367 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
1367 silly resolved author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me/' },
1367 silly resolved license:
1367 silly resolved { type: 'MIT',
1367 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
1367 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
1367 silly resolved scripts: { test: 'cd test && bash run.sh' },
1367 silly resolved bin: { rimraf: './bin.js' },
1367 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/rimraf',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _shasum: 'e439be2aaee327321952730f99a8929e4fc50582',
1367 silly resolved _from: 'rimraf@~2.2.0',
1367 silly resolved _resolved: 'https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz' },
1367 silly resolved { name: 'semver',
1367 silly resolved version: '2.2.1',
1367 silly resolved description: 'The semantic version parser used by npm.',
1367 silly resolved main: 'semver.js',
1367 silly resolved browser: 'semver.browser.js',
1367 silly resolved min: 'semver.min.js',
1367 silly resolved scripts: { test: 'tap test/*.js', prepublish: 'make' },
1367 silly resolved devDependencies: { tap: '0.x >=0.0.4', 'uglify-js': '~2.3.6' },
1367 silly resolved license: 'BSD',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-semver.git' },
1367 silly resolved bin: { semver: './bin/semver' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/node-semver/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/node-semver',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'semver@~2.2.1' },
1367 silly resolved { name: 'stringify-object',
1367 silly resolved version: '0.2.1',
1367 silly resolved description: 'Stringify an object/array like JSON.stringify just without all the double-quotes',
1367 silly resolved license: 'BSD',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/yeoman/stringify-object' },
1367 silly resolved main: 'stringify-object.js',
1367 silly resolved author:
1367 silly resolved { name: 'Sindre Sorhus',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://sindresorhus.com' },
1367 silly resolved engines: { node: '>=0.10.0' },
1367 silly resolved scripts: { test: 'mocha' },
1367 silly resolved files: [ 'stringify-object.js' ],
1367 silly resolved keywords: [ 'object', 'stringify', 'pretty', 'print', 'dump', 'format' ],
1367 silly resolved devDependencies: { mocha: '*' },
1367 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',
1367 silly resolved readmeFilename: 'readme.md',
1367 silly resolved bugs: { url: 'https://github.com/yeoman/stringify-object/issues' },
1367 silly resolved homepage: 'https://github.com/yeoman/stringify-object',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'stringify-object@~0.2.0' },
1367 silly resolved { name: 'shell-quote',
1367 silly resolved version: '1.4.1',
1367 silly resolved description: 'quote and parse shell commands',
1367 silly resolved main: 'index.js',
1367 silly resolved devDependencies: { tape: '~2.3.0' },
1367 silly resolved scripts: { test: 'tape test/*.js' },
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'http://github.com/substack/node-shell-quote.git' },
1367 silly resolved keywords: [ 'shell', 'command', 'quote', 'parse' ],
1367 silly resolved testling: { files: 'test/*.js', browsers: [Object] },
1367 silly resolved author:
1367 silly resolved { name: 'James Halliday',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://substack.net' },
1367 silly resolved license: 'MIT',
1367 silly resolved dependencies:
1367 silly resolved { jsonify: '~0.0.0',
1367 silly resolved 'array-filter': '~0.0.0',
1367 silly resolved 'array-reduce': '~0.0.0',
1367 silly resolved 'array-map': '~0.0.0' },
1367 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',
1367 silly resolved readmeFilename: 'readme.markdown',
1367 silly resolved bugs: { url: 'https://github.com/substack/node-shell-quote/issues' },
1367 silly resolved homepage: 'https://github.com/substack/node-shell-quote',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'shell-quote@~1.4.1' },
1367 silly resolved { author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me/' },
1367 silly resolved name: 'tar',
1367 silly resolved description: 'tar for node',
1367 silly resolved version: '0.1.19',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-tar.git' },
1367 silly resolved main: 'tar.js',
1367 silly resolved scripts: { test: 'tap test/*.js' },
1367 silly resolved dependencies: { inherits: '2', 'block-stream': '*', fstream: '~0.1.8' },
1367 silly resolved devDependencies: { tap: '0.x', rimraf: '1.x' },
1367 silly resolved license: 'BSD',
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/node-tar/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/node-tar',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'tar@~0.1.17' },
1367 silly resolved { name: 'tmp',
1367 silly resolved version: '0.0.23',
1367 silly resolved description: 'Temporary file and directory creator',
1367 silly resolved author:
1367 silly resolved { name: 'KARASZI István',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://raszi.hu/' },
1367 silly resolved homepage: 'http://github.com/raszi/node-tmp',
1367 silly resolved keywords:
1367 silly resolved [ 'temporary',
1367 silly resolved 'tmp',
1367 silly resolved 'temp',
1367 silly resolved 'tempdir',
1367 silly resolved 'tempfile',
1367 silly resolved 'tmpdir',
1367 silly resolved 'tmpfile' ],
1367 silly resolved licenses: [ [Object] ],
1367 silly resolved repository: { type: 'git', url: 'git://github.com/raszi/node-tmp.git' },
1367 silly resolved bugs: { url: 'http://github.com/raszi/node-tmp/issues' },
1367 silly resolved main: 'lib/tmp.js',
1367 silly resolved scripts: { test: 'vows test/*-test.js' },
1367 silly resolved engines: { node: '>=0.4.0' },
1367 silly resolved dependencies: {},
1367 silly resolved devDependencies: { vows: '~0.7.0' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'tmp@~0.0.20' },
1367 silly resolved { name: 'decompress-zip',
1367 silly resolved version: '0.0.8',
1367 silly resolved description: 'A library for reading data from zip files',
1367 silly resolved main: 'lib/decompress-zip.js',
1367 silly resolved scripts: { test: 'grunt test' },
1367 silly resolved bin: { 'decompress-zip': 'bin/decompress-zip' },
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'https://github.com/bower/decompress-zip.git' },
1367 silly resolved engines: { node: '>=0.8.0' },
1367 silly resolved keywords:
1367 silly resolved [ 'zip',
1367 silly resolved 'unzip',
1367 silly resolved 'tar',
1367 silly resolved 'untar',
1367 silly resolved 'compress',
1367 silly resolved 'decompress',
1367 silly resolved 'archive',
1367 silly resolved 'extract',
1367 silly resolved 'zlib' ],
1367 silly resolved author: { name: 'The Bower authors' },
1367 silly resolved licenses: [ [Object] ],
1367 silly resolved bugs: { url: 'https://github.com/bower/decompress-zip/issues' },
1367 silly resolved devDependencies:
1367 silly resolved { 'grunt-exec': '~0.4.2',
1367 silly resolved chai: '~1.8.0',
1367 silly resolved 'grunt-contrib-jshint': '~0.6.2',
1367 silly resolved 'grunt-contrib-watch': '~0.5.1',
1367 silly resolved grunt: '~0.4.1',
1367 silly resolved istanbul: '~0.1.43',
1367 silly resolved 'grunt-simple-mocha': '~0.4.0',
1367 silly resolved mocha: '~1.13.0',
1367 silly resolved glob: '~3.2.6',
1367 silly resolved tmp: '0.0.21',
1367 silly resolved request: '~2.27.0' },
1367 silly resolved dependencies:
1367 silly resolved { q: '~1.0.0',
1367 silly resolved mkpath: '~0.1.0',
1367 silly resolved binary: '~0.3.0',
1367 silly resolved touch: '0.0.2',
1367 silly resolved 'readable-stream': '~1.1.8',
1367 silly resolved nopt: '~2.2.0',
1367 silly resolved 'graceful-fs': '~3.0.0' },
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved homepage: 'https://github.com/bower/decompress-zip',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _shasum: '4a265b22c7b209d7b24fa66f2b2dfbced59044f3',
1367 silly resolved _from: 'decompress-zip@~0.0.6',
1367 silly resolved _resolved: 'https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.8.tgz' },
1367 silly resolved { author:
1367 silly resolved { name: 'Isaac Z. Schlueter',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://blog.izs.me' },
1367 silly resolved name: 'which',
1367 silly resolved description: 'Like which(1) unix command. Find the first instance of an executable in the PATH.',
1367 silly resolved version: '1.0.5',
1367 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-which.git' },
1367 silly resolved main: 'which.js',
1367 silly resolved bin: { which: './bin/which' },
1367 silly resolved engines: { node: '*' },
1367 silly resolved dependencies: {},
1367 silly resolved devDependencies: {},
1367 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',
1367 silly resolved readmeFilename: 'README.md',
1367 silly resolved bugs: { url: 'https://github.com/isaacs/node-which/issues' },
1367 silly resolved homepage: 'https://github.com/isaacs/node-which',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _from: 'which@~1.0.5',
1367 silly resolved scripts: {} },
1367 silly resolved { name: 'update-notifier',
1367 silly resolved version: '0.1.10',
1367 silly resolved description: 'Update notifier for your package',
1367 silly resolved keywords: [ 'npm', 'update', 'notify', 'notifier', 'check', 'checker' ],
1367 silly resolved author:
1367 silly resolved { name: 'Sindre Sorhus',
1367 silly resolved email: '[email protected]',
1367 silly resolved url: 'http://sindresorhus.com' },
1367 silly resolved main: 'lib/update-notifier.js',
1367 silly resolved repository:
1367 silly resolved { type: 'git',
1367 silly resolved url: 'git://github.com/yeoman/update-notifier.git' },
1367 silly resolved scripts: { test: 'mocha --timeout 20000' },
1367 silly resolved dependencies:
1367 silly resolved { chalk: '^0.4.0',
1367 silly resolved configstore: '^0.3.0',
1367 silly resolved request: '^2.36.0',
1367 silly resolved semver: '^2.3.0' },
1367 silly resolved devDependencies: { mocha: '*' },
1367 silly resolved engines: { node: '>=0.10.0' },
1367 silly resolved licenses: [ [Object] ],
1367 silly resolved readme: '# update-notifier [![Build Status](https://secure.travis-ci.org/yeoman/update-notifier.svg?branch=master)](http://travis-ci.org/yeoman/update-notifier)\n\n##### Update notifier for your Node.js NPM package\n\n![screenshot](https://raw.github.com/yeoman/update-notifier/master/screenshot.png)\n\nInform your package users of updates in a non-intrusive way. Mainly targets global CLI apps.\n\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.\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.\n\n#### Table of Contents\n\n* [Examples](#examples)\n* [Docs](#documentation)\n* [Settings](#settings)\n\n## About\n\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.\n\nThere are a few projects using it:\n\n- [Yeoman](http://yeoman.io) - modern workflows for modern webapps\n\n- [Bower](http://bower.io) - a package manager for the web\n\n- [Roots](http://roots.cx) - a toolkit for advanced front-end development\n\n- [Automaton](https://github.com/IndigoUnited/automaton) - task automation tool\n\n- [Spoon.js CLI](https://npmjs.org/package/spoonjs)\n\n- [Node GH](http://nodegh.io) - GitHub command line tool\n\n- [Hoodie CLI](http://hood.ie) - Hoodie command line tool\n\n- [pullr](https://github.com/mojotech/pullr) - GitHub pull requests from the command line\n\n## Examples\n\n### Example usage\n\n```js\nvar updateNotifier = require(\'update-notifier\');\n\n// Checks for available update and returns an instance\nvar notifier = updateNotifier();\n\nif (notifier.update) {\n\t// Notify using the built-in convenience method\n\tnotifier.notify();\n}\n\n// `notifier.update` contains some useful info about the update\nconsole.log(notifier.update);\n/*\n{\n\tlatest: \'0.9.5\',\n\tcurrent: \'0.9.3\',\n\ttype: \'patch\', // possible values: latest, major, minor, patch\n\tdate: \'2012-11-05T14:32:37.603Z\',\n\tname: \'yeoman\'\n}\n*/\n```\n\n### Example with settings and custom message\n\n```js\nvar notifier = updateNotifier({\n\tupdateCheckInterval: 1000 * 60 * 60 * 24 * 7 // 1 week\n});\n\nif (notifier.update) {\n\tnotifier.notify(\'Update available: \' + notifier.update.latest);\n}\n```\n\n\n## Documentation\n\n\n### updateNotifier([settings])\n\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`.\n\n### updateNotifier.notify([message || defer])\n\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.\n\n\n### Settings\n\n\n#### callback\n\nType: `function` \nDefault: `null`\n\nIf provided, a callback function will be called,\npassed `(error[, update])`\n\n`update` is equal to `notifier.update`\n\n\n#### packagePath\n\nType: `string` \nDefault: `\'package.json\'`\n\nRelative path to your module `package.json`.\n\n\n#### packageName\n\nType: `string` \nDefault: Inferred from `packageFile`\n\nUsed instead of inferring it from `packageFile`. \nRequires you to also specify `packageVersion`.\n\n\n#### packageVersion\n\nType: `string` \nDefault: Inferred from `packageFile`\n\nUsed instead of inferring it from `packageFile`. \nRequires you to also specify `packageName`.\n\n\n#### updateCheckInterval\n\nType: `number` \nDefault: `1000 * 60 * 60 * 24` (1 day)\n\nHow often it should check for updates.\n\n\n#### updateCheckTimeout\n\nType: `number` \nDefault: `20000` (20 secs)\n\nHow long the update can take. \nIf it takes longer than the timeout, it will be aborted.\n\n#### registryUrl\n\nType: `string` \nDefault: `\'http://registry.npmjs.org/%s\'`\n\nAlternative registry mirrors:\n\n- `http://85.10.209.91/%s`\n- `http://165.225.128.50:8000/%s`\n\n\n### Proxy settings\n\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.\n\n\n### User settings\n\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`.\n\nYou could also let the user opt-out on a per run basis:\n\n```js\nif (process.argv.indexOf(\'--no-update-notifier\') === -1) {\n\t// run updateNotifier()\n}\n```\n\n\n## License\n\n[BSD license](http://opensource.org/licenses/bsd-license.php) and copyright Google\n',
1367 silly resolved readmeFilename: 'readme.md',
1367 silly resolved bugs: { url: 'https://github.com/yeoman/update-notifier/issues' },
1367 silly resolved homepage: 'https://github.com/yeoman/update-notifier',
1367 silly resolved _id: '[email protected]',
1367 silly resolved _shasum: '215cbe1053369f0d4a44f84b51eba7cb80484695',
1367 silly resolved _from: 'update-notifier@~0.1.8',
1367 silly resolved _resolved: 'https://registry.npmjs.org/update-notifier/-/update-notifier-0.1.10.tgz' } ]
1368 info install [email protected] into /usr/local/lib/node_modules/bower
1369 info install [email protected] into /usr/local/lib/node_modules/bower
1370 info install [email protected] into /usr/local/lib/node_modules/bower
1371 info install [email protected] into /usr/local/lib/node_modules/bower
1372 info install [email protected] into /usr/local/lib/node_modules/bower
1373 info install [email protected] into /usr/local/lib/node_modules/bower
1374 info install [email protected] into /usr/local/lib/node_modules/bower
1375 info install [email protected] into /usr/local/lib/node_modules/bower
1376 info install [email protected] into /usr/local/lib/node_modules/bower
1377 info install [email protected] into /usr/local/lib/node_modules/bower
1378 info install [email protected] into /usr/local/lib/node_modules/bower
1379 info install [email protected] into /usr/local/lib/node_modules/bower
1380 info install [email protected] into /usr/local/lib/node_modules/bower
1381 info install [email protected] into /usr/local/lib/node_modules/bower
1382 info install [email protected] into /usr/local/lib/node_modules/bower
1383 info install [email protected] into /usr/local/lib/node_modules/bower
1384 info install [email protected] into /usr/local/lib/node_modules/bower
1385 info install [email protected] into /usr/local/lib/node_modules/bower
1386 info install [email protected] into /usr/local/lib/node_modules/bower
1387 info install [email protected] into /usr/local/lib/node_modules/bower
1388 info install [email protected] into /usr/local/lib/node_modules/bower
1389 info install [email protected] into /usr/local/lib/node_modules/bower
1390 info install [email protected] into /usr/local/lib/node_modules/bower
1391 info install [email protected] into /usr/local/lib/node_modules/bower
1392 info install [email protected] into /usr/local/lib/node_modules/bower
1393 info install [email protected] into /usr/local/lib/node_modules/bower
1394 info install [email protected] into /usr/local/lib/node_modules/bower
1395 info install [email protected] into /usr/local/lib/node_modules/bower
1396 info install [email protected] into /usr/local/lib/node_modules/bower
1397 info install [email protected] into /usr/local/lib/node_modules/bower
1398 info install [email protected] into /usr/local/lib/node_modules/bower
1399 info install [email protected] into /usr/local/lib/node_modules/bower
1400 info install [email protected] into /usr/local/lib/node_modules/bower
1401 info install [email protected] into /usr/local/lib/node_modules/bower
1402 info install [email protected] into /usr/local/lib/node_modules/bower
1403 info install [email protected] into /usr/local/lib/node_modules/bower
1404 info install [email protected] into /usr/local/lib/node_modules/bower
1405 info install [email protected] into /usr/local/lib/node_modules/bower
1406 info install [email protected] into /usr/local/lib/node_modules/bower
1407 info install [email protected] into /usr/local/lib/node_modules/bower
1408 info install [email protected] into /usr/local/lib/node_modules/bower
1409 info installOne [email protected]
1410 info installOne [email protected]
1411 info installOne [email protected]
1412 info installOne [email protected]
1413 info installOne [email protected]
1414 info installOne [email protected]
1415 info installOne [email protected]
1416 info installOne [email protected]
1417 info installOne [email protected]
1418 info installOne [email protected]
1419 info installOne [email protected]
1420 info installOne [email protected]
1421 info installOne [email protected]
1422 info installOne [email protected]
1423 info installOne [email protected]
1424 info installOne [email protected]
1425 info installOne [email protected]
1426 info installOne [email protected]
1427 info installOne [email protected]
1428 info installOne [email protected]
1429 info installOne [email protected]
1430 info installOne [email protected]
1431 info installOne [email protected]
1432 info installOne [email protected]
1433 info installOne [email protected]
1434 info installOne [email protected]
1435 info installOne [email protected]
1436 info installOne [email protected]
1437 info installOne [email protected]
1438 info installOne [email protected]
1439 info installOne [email protected]
1440 info installOne [email protected]
1441 info installOne [email protected]
1442 info installOne [email protected]
1443 info installOne [email protected]
1444 info installOne [email protected]
1445 info installOne [email protected]
1446 info installOne [email protected]
1447 info installOne [email protected]
1448 info installOne [email protected]
1449 info installOne [email protected]
1450 info /usr/local/lib/node_modules/bower/node_modules/abbrev unbuild
1451 info /usr/local/lib/node_modules/bower/node_modules/archy unbuild
1452 info /usr/local/lib/node_modules/bower/node_modules/bower-config unbuild
1453 info /usr/local/lib/node_modules/bower/node_modules/bower-endpoint-parser unbuild
1454 info /usr/local/lib/node_modules/bower/node_modules/bower-json unbuild
1455 info /usr/local/lib/node_modules/bower/node_modules/bower-logger unbuild
1456 info /usr/local/lib/node_modules/bower/node_modules/bower-registry-client unbuild
1457 info /usr/local/lib/node_modules/bower/node_modules/cardinal unbuild
1458 info /usr/local/lib/node_modules/bower/node_modules/chalk unbuild
1459 info /usr/local/lib/node_modules/bower/node_modules/chmodr unbuild
1460 info /usr/local/lib/node_modules/bower/node_modules/fstream-ignore unbuild
1461 info /usr/local/lib/node_modules/bower/node_modules/fstream unbuild
1462 info /usr/local/lib/node_modules/bower/node_modules/glob unbuild
1463 info /usr/local/lib/node_modules/bower/node_modules/graceful-fs unbuild
1464 info /usr/local/lib/node_modules/bower/node_modules/handlebars unbuild
1465 info /usr/local/lib/node_modules/bower/node_modules/inquirer unbuild
1466 info /usr/local/lib/node_modules/bower/node_modules/insight unbuild
1467 info /usr/local/lib/node_modules/bower/node_modules/is-root unbuild
1468 info /usr/local/lib/node_modules/bower/node_modules/lockfile unbuild
1469 info /usr/local/lib/node_modules/bower/node_modules/junk unbuild
1470 info /usr/local/lib/node_modules/bower/node_modules/mkdirp unbuild
1471 info /usr/local/lib/node_modules/bower/node_modules/lru-cache unbuild
1472 info /usr/local/lib/node_modules/bower/node_modules/osenv unbuild
1473 info /usr/local/lib/node_modules/bower/node_modules/mout unbuild
1474 info /usr/local/lib/node_modules/bower/node_modules/nopt unbuild
1475 info /usr/local/lib/node_modules/bower/node_modules/opn unbuild
1476 info /usr/local/lib/node_modules/bower/node_modules/p-throttler unbuild
1477 info /usr/local/lib/node_modules/bower/node_modules/promptly unbuild
1478 info /usr/local/lib/node_modules/bower/node_modules/q unbuild
1479 info /usr/local/lib/node_modules/bower/node_modules/request-progress unbuild
1480 info /usr/local/lib/node_modules/bower/node_modules/retry unbuild
1481 info /usr/local/lib/node_modules/bower/node_modules/request unbuild
1482 info /usr/local/lib/node_modules/bower/node_modules/rimraf unbuild
1483 info /usr/local/lib/node_modules/bower/node_modules/semver unbuild
1484 info /usr/local/lib/node_modules/bower/node_modules/stringify-object unbuild
1485 info /usr/local/lib/node_modules/bower/node_modules/shell-quote unbuild
1486 info /usr/local/lib/node_modules/bower/node_modules/tar unbuild
1487 info /usr/local/lib/node_modules/bower/node_modules/tmp unbuild
1488 info /usr/local/lib/node_modules/bower/node_modules/decompress-zip unbuild
1489 info /usr/local/lib/node_modules/bower/node_modules/which unbuild
1490 info /usr/local/lib/node_modules/bower/node_modules/update-notifier unbuild
1491 verbose tar unpack /home/alectaylor/.npm/abbrev/1.0.5/package.tgz
1492 silly lockFile 7cad2df3-odules-bower-node-modules-abbrev tar:///usr/local/lib/node_modules/bower/node_modules/abbrev
1493 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/abbrev /home/alectaylor/.npm/7cad2df3-odules-bower-node-modules-abbrev.lock
1494 silly lockFile 12c2cc63-uel-npm-abbrev-1-0-5-package-tgz tar:///home/alectaylor/.npm/abbrev/1.0.5/package.tgz
1495 verbose lock tar:///home/alectaylor/.npm/abbrev/1.0.5/package.tgz /home/alectaylor/.npm/12c2cc63-uel-npm-abbrev-1-0-5-package-tgz.lock
1496 verbose tar unpack /home/alectaylor/.npm/archy/0.0.2/package.tgz
1497 silly lockFile ac70db34-modules-bower-node-modules-archy tar:///usr/local/lib/node_modules/bower/node_modules/archy
1498 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/archy /home/alectaylor/.npm/ac70db34-modules-bower-node-modules-archy.lock
1499 silly lockFile 9ed4ded5-muel-npm-archy-0-0-2-package-tgz tar:///home/alectaylor/.npm/archy/0.0.2/package.tgz
1500 verbose lock tar:///home/alectaylor/.npm/archy/0.0.2/package.tgz /home/alectaylor/.npm/9ed4ded5-muel-npm-archy-0-0-2-package-tgz.lock
1501 verbose tar unpack /home/alectaylor/.npm/bower-config/0.5.1/package.tgz
1502 silly lockFile 538a9c9b--bower-node-modules-bower-config tar:///usr/local/lib/node_modules/bower/node_modules/bower-config
1503 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/bower-config /home/alectaylor/.npm/538a9c9b--bower-node-modules-bower-config.lock
1504 silly lockFile 2fbe3542-m-bower-config-0-5-1-package-tgz tar:///home/alectaylor/.npm/bower-config/0.5.1/package.tgz
1505 verbose lock tar:///home/alectaylor/.npm/bower-config/0.5.1/package.tgz /home/alectaylor/.npm/2fbe3542-m-bower-config-0-5-1-package-tgz.lock
1506 verbose tar unpack /home/alectaylor/.npm/bower-endpoint-parser/0.2.1/package.tgz
1507 silly lockFile 96e69500-de-modules-bower-endpoint-parser tar:///usr/local/lib/node_modules/bower/node_modules/bower-endpoint-parser
1508 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/bower-endpoint-parser /home/alectaylor/.npm/96e69500-de-modules-bower-endpoint-parser.lock
1509 silly lockFile 7ff95fd1-ndpoint-parser-0-2-1-package-tgz tar:///home/alectaylor/.npm/bower-endpoint-parser/0.2.1/package.tgz
1510 verbose lock tar:///home/alectaylor/.npm/bower-endpoint-parser/0.2.1/package.tgz /home/alectaylor/.npm/7ff95fd1-ndpoint-parser-0-2-1-package-tgz.lock
1511 verbose tar unpack /home/alectaylor/.npm/bower-json/0.4.0/package.tgz
1512 silly lockFile d6ca8ca7-es-bower-node-modules-bower-json tar:///usr/local/lib/node_modules/bower/node_modules/bower-json
1513 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/bower-json /home/alectaylor/.npm/d6ca8ca7-es-bower-node-modules-bower-json.lock
1514 silly lockFile 7841f140-npm-bower-json-0-4-0-package-tgz tar:///home/alectaylor/.npm/bower-json/0.4.0/package.tgz
1515 verbose lock tar:///home/alectaylor/.npm/bower-json/0.4.0/package.tgz /home/alectaylor/.npm/7841f140-npm-bower-json-0-4-0-package-tgz.lock
1516 verbose tar unpack /home/alectaylor/.npm/bower-logger/0.2.2/package.tgz
1517 silly lockFile f1649cea--bower-node-modules-bower-logger tar:///usr/local/lib/node_modules/bower/node_modules/bower-logger
1518 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/bower-logger /home/alectaylor/.npm/f1649cea--bower-node-modules-bower-logger.lock
1519 silly lockFile e3874397-m-bower-logger-0-2-2-package-tgz tar:///home/alectaylor/.npm/bower-logger/0.2.2/package.tgz
1520 verbose lock tar:///home/alectaylor/.npm/bower-logger/0.2.2/package.tgz /home/alectaylor/.npm/e3874397-m-bower-logger-0-2-2-package-tgz.lock
1521 verbose tar unpack /home/alectaylor/.npm/bower-registry-client/0.2.1/package.tgz
1522 silly lockFile cbda95f0-de-modules-bower-registry-client tar:///usr/local/lib/node_modules/bower/node_modules/bower-registry-client
1523 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/bower-registry-client /home/alectaylor/.npm/cbda95f0-de-modules-bower-registry-client.lock
1524 silly lockFile 3da29cf3-egistry-client-0-2-1-package-tgz tar:///home/alectaylor/.npm/bower-registry-client/0.2.1/package.tgz
1525 verbose lock tar:///home/alectaylor/.npm/bower-registry-client/0.2.1/package.tgz /home/alectaylor/.npm/3da29cf3-egistry-client-0-2-1-package-tgz.lock
1526 verbose tar unpack /home/alectaylor/.npm/cardinal/0.4.4/package.tgz
1527 silly lockFile 864858cf-ules-bower-node-modules-cardinal tar:///usr/local/lib/node_modules/bower/node_modules/cardinal
1528 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/cardinal /home/alectaylor/.npm/864858cf-ules-bower-node-modules-cardinal.lock
1529 silly lockFile 676c7df8-l-npm-cardinal-0-4-4-package-tgz tar:///home/alectaylor/.npm/cardinal/0.4.4/package.tgz
1530 verbose lock tar:///home/alectaylor/.npm/cardinal/0.4.4/package.tgz /home/alectaylor/.npm/676c7df8-l-npm-cardinal-0-4-4-package-tgz.lock
1531 verbose tar unpack /home/alectaylor/.npm/chalk/0.4.0/package.tgz
1532 silly lockFile 40bdd571-modules-bower-node-modules-chalk tar:///usr/local/lib/node_modules/bower/node_modules/chalk
1533 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/chalk /home/alectaylor/.npm/40bdd571-modules-bower-node-modules-chalk.lock
1534 silly lockFile 1d9c4d4d-muel-npm-chalk-0-4-0-package-tgz tar:///home/alectaylor/.npm/chalk/0.4.0/package.tgz
1535 verbose lock tar:///home/alectaylor/.npm/chalk/0.4.0/package.tgz /home/alectaylor/.npm/1d9c4d4d-muel-npm-chalk-0-4-0-package-tgz.lock
1536 verbose tar unpack /home/alectaylor/.npm/chmodr/0.1.0/package.tgz
1537 silly lockFile c400b6da-odules-bower-node-modules-chmodr tar:///usr/local/lib/node_modules/bower/node_modules/chmodr
1538 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/chmodr /home/alectaylor/.npm/c400b6da-odules-bower-node-modules-chmodr.lock
1539 silly lockFile eb127652-uel-npm-chmodr-0-1-0-package-tgz tar:///home/alectaylor/.npm/chmodr/0.1.0/package.tgz
1540 verbose lock tar:///home/alectaylor/.npm/chmodr/0.1.0/package.tgz /home/alectaylor/.npm/eb127652-uel-npm-chmodr-0-1-0-package-tgz.lock
1541 verbose tar unpack /home/alectaylor/.npm/fstream-ignore/0.0.8/package.tgz
1542 silly lockFile ed18379a-ower-node-modules-fstream-ignore tar:///usr/local/lib/node_modules/bower/node_modules/fstream-ignore
1543 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/fstream-ignore /home/alectaylor/.npm/ed18379a-ower-node-modules-fstream-ignore.lock
1544 silly lockFile e9626d49-fstream-ignore-0-0-8-package-tgz tar:///home/alectaylor/.npm/fstream-ignore/0.0.8/package.tgz
1545 verbose lock tar:///home/alectaylor/.npm/fstream-ignore/0.0.8/package.tgz /home/alectaylor/.npm/e9626d49-fstream-ignore-0-0-8-package-tgz.lock
1546 verbose tar unpack /home/alectaylor/.npm/fstream/0.1.27/package.tgz
1547 silly lockFile 23c04c36-dules-bower-node-modules-fstream tar:///usr/local/lib/node_modules/bower/node_modules/fstream
1548 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/fstream /home/alectaylor/.npm/23c04c36-dules-bower-node-modules-fstream.lock
1549 silly lockFile 3d676587-l-npm-fstream-0-1-27-package-tgz tar:///home/alectaylor/.npm/fstream/0.1.27/package.tgz
1550 verbose lock tar:///home/alectaylor/.npm/fstream/0.1.27/package.tgz /home/alectaylor/.npm/3d676587-l-npm-fstream-0-1-27-package-tgz.lock
1551 verbose tar unpack /home/alectaylor/.npm/glob/3.2.11/package.tgz
1552 silly lockFile 5560de8a--modules-bower-node-modules-glob tar:///usr/local/lib/node_modules/bower/node_modules/glob
1553 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/glob /home/alectaylor/.npm/5560de8a--modules-bower-node-modules-glob.lock
1554 silly lockFile 839b34f8-muel-npm-glob-3-2-11-package-tgz tar:///home/alectaylor/.npm/glob/3.2.11/package.tgz
1555 verbose lock tar:///home/alectaylor/.npm/glob/3.2.11/package.tgz /home/alectaylor/.npm/839b34f8-muel-npm-glob-3-2-11-package-tgz.lock
1556 verbose tar unpack /home/alectaylor/.npm/graceful-fs/2.0.3/package.tgz
1557 silly lockFile 02d16c1c-s-bower-node-modules-graceful-fs tar:///usr/local/lib/node_modules/bower/node_modules/graceful-fs
1558 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/graceful-fs /home/alectaylor/.npm/02d16c1c-s-bower-node-modules-graceful-fs.lock
1559 silly lockFile 612cbd62-pm-graceful-fs-2-0-3-package-tgz tar:///home/alectaylor/.npm/graceful-fs/2.0.3/package.tgz
1560 verbose lock tar:///home/alectaylor/.npm/graceful-fs/2.0.3/package.tgz /home/alectaylor/.npm/612cbd62-pm-graceful-fs-2-0-3-package-tgz.lock
1561 verbose tar unpack /home/alectaylor/.npm/handlebars/1.3.0/package.tgz
1562 silly lockFile 6e2c6179-es-bower-node-modules-handlebars tar:///usr/local/lib/node_modules/bower/node_modules/handlebars
1563 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/handlebars /home/alectaylor/.npm/6e2c6179-es-bower-node-modules-handlebars.lock
1564 silly lockFile 710f5ec6-npm-handlebars-1-3-0-package-tgz tar:///home/alectaylor/.npm/handlebars/1.3.0/package.tgz
1565 verbose lock tar:///home/alectaylor/.npm/handlebars/1.3.0/package.tgz /home/alectaylor/.npm/710f5ec6-npm-handlebars-1-3-0-package-tgz.lock
1566 verbose tar unpack /home/alectaylor/.npm/inquirer/0.4.1/package.tgz
1567 silly lockFile fd6af3fa-ules-bower-node-modules-inquirer tar:///usr/local/lib/node_modules/bower/node_modules/inquirer
1568 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/inquirer /home/alectaylor/.npm/fd6af3fa-ules-bower-node-modules-inquirer.lock
1569 silly lockFile 20d8e8c9-l-npm-inquirer-0-4-1-package-tgz tar:///home/alectaylor/.npm/inquirer/0.4.1/package.tgz
1570 verbose lock tar:///home/alectaylor/.npm/inquirer/0.4.1/package.tgz /home/alectaylor/.npm/20d8e8c9-l-npm-inquirer-0-4-1-package-tgz.lock
1571 verbose tar unpack /home/alectaylor/.npm/insight/0.3.1/package.tgz
1572 silly lockFile 0bdda146-dules-bower-node-modules-insight tar:///usr/local/lib/node_modules/bower/node_modules/insight
1573 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/insight /home/alectaylor/.npm/0bdda146-dules-bower-node-modules-insight.lock
1574 silly lockFile c09d8303-el-npm-insight-0-3-1-package-tgz tar:///home/alectaylor/.npm/insight/0.3.1/package.tgz
1575 verbose lock tar:///home/alectaylor/.npm/insight/0.3.1/package.tgz /home/alectaylor/.npm/c09d8303-el-npm-insight-0-3-1-package-tgz.lock
1576 verbose tar unpack /home/alectaylor/.npm/is-root/0.1.0/package.tgz
1577 silly lockFile 884b33b4-dules-bower-node-modules-is-root tar:///usr/local/lib/node_modules/bower/node_modules/is-root
1578 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/is-root /home/alectaylor/.npm/884b33b4-dules-bower-node-modules-is-root.lock
1579 silly lockFile 0d4fafda-el-npm-is-root-0-1-0-package-tgz tar:///home/alectaylor/.npm/is-root/0.1.0/package.tgz
1580 verbose lock tar:///home/alectaylor/.npm/is-root/0.1.0/package.tgz /home/alectaylor/.npm/0d4fafda-el-npm-is-root-0-1-0-package-tgz.lock
1581 verbose tar unpack /home/alectaylor/.npm/lockfile/0.4.2/package.tgz
1582 silly lockFile 3f1f33f8-ules-bower-node-modules-lockfile tar:///usr/local/lib/node_modules/bower/node_modules/lockfile
1583 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/lockfile /home/alectaylor/.npm/3f1f33f8-ules-bower-node-modules-lockfile.lock
1584 silly lockFile d5f908eb-l-npm-lockfile-0-4-2-package-tgz tar:///home/alectaylor/.npm/lockfile/0.4.2/package.tgz
1585 verbose lock tar:///home/alectaylor/.npm/lockfile/0.4.2/package.tgz /home/alectaylor/.npm/d5f908eb-l-npm-lockfile-0-4-2-package-tgz.lock
1586 verbose tar unpack /home/alectaylor/.npm/junk/0.3.0/package.tgz
1587 silly lockFile e6b9d418--modules-bower-node-modules-junk tar:///usr/local/lib/node_modules/bower/node_modules/junk
1588 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/junk /home/alectaylor/.npm/e6b9d418--modules-bower-node-modules-junk.lock
1589 silly lockFile ed835453-amuel-npm-junk-0-3-0-package-tgz tar:///home/alectaylor/.npm/junk/0.3.0/package.tgz
1590 verbose lock tar:///home/alectaylor/.npm/junk/0.3.0/package.tgz /home/alectaylor/.npm/ed835453-amuel-npm-junk-0-3-0-package-tgz.lock
1591 verbose tar unpack /home/alectaylor/.npm/mkdirp/0.3.5/package.tgz
1592 silly lockFile f70b5cb7-odules-bower-node-modules-mkdirp tar:///usr/local/lib/node_modules/bower/node_modules/mkdirp
1593 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/mkdirp /home/alectaylor/.npm/f70b5cb7-odules-bower-node-modules-mkdirp.lock
1594 silly lockFile aa959775-uel-npm-mkdirp-0-3-5-package-tgz tar:///home/alectaylor/.npm/mkdirp/0.3.5/package.tgz
1595 verbose lock tar:///home/alectaylor/.npm/mkdirp/0.3.5/package.tgz /home/alectaylor/.npm/aa959775-uel-npm-mkdirp-0-3-5-package-tgz.lock
1596 verbose tar unpack /home/alectaylor/.npm/lru-cache/2.5.0/package.tgz
1597 silly lockFile 5daf4fb9-les-bower-node-modules-lru-cache tar:///usr/local/lib/node_modules/bower/node_modules/lru-cache
1598 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/lru-cache /home/alectaylor/.npm/5daf4fb9-les-bower-node-modules-lru-cache.lock
1599 silly lockFile a02ae091--npm-lru-cache-2-5-0-package-tgz tar:///home/alectaylor/.npm/lru-cache/2.5.0/package.tgz
1600 verbose lock tar:///home/alectaylor/.npm/lru-cache/2.5.0/package.tgz /home/alectaylor/.npm/a02ae091--npm-lru-cache-2-5-0-package-tgz.lock
1601 verbose tar unpack /home/alectaylor/.npm/osenv/0.0.3/package.tgz
1602 silly lockFile b0ab5c7d-modules-bower-node-modules-osenv tar:///usr/local/lib/node_modules/bower/node_modules/osenv
1603 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/osenv /home/alectaylor/.npm/b0ab5c7d-modules-bower-node-modules-osenv.lock
1604 silly lockFile e20f0385-muel-npm-osenv-0-0-3-package-tgz tar:///home/alectaylor/.npm/osenv/0.0.3/package.tgz
1605 verbose lock tar:///home/alectaylor/.npm/osenv/0.0.3/package.tgz /home/alectaylor/.npm/e20f0385-muel-npm-osenv-0-0-3-package-tgz.lock
1606 verbose tar unpack /home/alectaylor/.npm/mout/0.9.1/package.tgz
1607 silly lockFile e22adeed--modules-bower-node-modules-mout tar:///usr/local/lib/node_modules/bower/node_modules/mout
1608 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/mout /home/alectaylor/.npm/e22adeed--modules-bower-node-modules-mout.lock
1609 silly lockFile a6bf8493-amuel-npm-mout-0-9-1-package-tgz tar:///home/alectaylor/.npm/mout/0.9.1/package.tgz
1610 verbose lock tar:///home/alectaylor/.npm/mout/0.9.1/package.tgz /home/alectaylor/.npm/a6bf8493-amuel-npm-mout-0-9-1-package-tgz.lock
1611 verbose tar unpack /home/alectaylor/.npm/nopt/2.2.1/package.tgz
1612 silly lockFile b315fc86--modules-bower-node-modules-nopt tar:///usr/local/lib/node_modules/bower/node_modules/nopt
1613 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/nopt /home/alectaylor/.npm/b315fc86--modules-bower-node-modules-nopt.lock
1614 silly lockFile 3f63c554-amuel-npm-nopt-2-2-1-package-tgz tar:///home/alectaylor/.npm/nopt/2.2.1/package.tgz
1615 verbose lock tar:///home/alectaylor/.npm/nopt/2.2.1/package.tgz /home/alectaylor/.npm/3f63c554-amuel-npm-nopt-2-2-1-package-tgz.lock
1616 verbose tar unpack /home/alectaylor/.npm/opn/0.1.2/package.tgz
1617 silly lockFile 9edeb23d-e-modules-bower-node-modules-opn tar:///usr/local/lib/node_modules/bower/node_modules/opn
1618 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/opn /home/alectaylor/.npm/9edeb23d-e-modules-bower-node-modules-opn.lock
1619 silly lockFile 37ad077c-alectaylor-npm-opn-0-1-2-package-tgz tar:///home/alectaylor/.npm/opn/0.1.2/package.tgz
1620 verbose lock tar:///home/alectaylor/.npm/opn/0.1.2/package.tgz /home/alectaylor/.npm/37ad077c-alectaylor-npm-opn-0-1-2-package-tgz.lock
1621 verbose tar unpack /home/alectaylor/.npm/p-throttler/0.0.1/package.tgz
1622 silly lockFile 694126e0-s-bower-node-modules-p-throttler tar:///usr/local/lib/node_modules/bower/node_modules/p-throttler
1623 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/p-throttler /home/alectaylor/.npm/694126e0-s-bower-node-modules-p-throttler.lock
1624 silly lockFile fa992122-pm-p-throttler-0-0-1-package-tgz tar:///home/alectaylor/.npm/p-throttler/0.0.1/package.tgz
1625 verbose lock tar:///home/alectaylor/.npm/p-throttler/0.0.1/package.tgz /home/alectaylor/.npm/fa992122-pm-p-throttler-0-0-1-package-tgz.lock
1626 verbose tar unpack /home/alectaylor/.npm/promptly/0.2.0/package.tgz
1627 silly lockFile 3e517809-ules-bower-node-modules-promptly tar:///usr/local/lib/node_modules/bower/node_modules/promptly
1628 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/promptly /home/alectaylor/.npm/3e517809-ules-bower-node-modules-promptly.lock
1629 silly lockFile 84676da7-l-npm-promptly-0-2-0-package-tgz tar:///home/alectaylor/.npm/promptly/0.2.0/package.tgz
1630 verbose lock tar:///home/alectaylor/.npm/promptly/0.2.0/package.tgz /home/alectaylor/.npm/84676da7-l-npm-promptly-0-2-0-package-tgz.lock
1631 verbose tar unpack /home/alectaylor/.npm/q/1.0.1/package.tgz
1632 silly lockFile dd7cf0be-ode-modules-bower-node-modules-q tar:///usr/local/lib/node_modules/bower/node_modules/q
1633 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/q /home/alectaylor/.npm/dd7cf0be-ode-modules-bower-node-modules-q.lock
1634 silly lockFile 445c1efb-e-alectaylor-npm-q-1-0-1-package-tgz tar:///home/alectaylor/.npm/q/1.0.1/package.tgz
1635 verbose lock tar:///home/alectaylor/.npm/q/1.0.1/package.tgz /home/alectaylor/.npm/445c1efb-e-alectaylor-npm-q-1-0-1-package-tgz.lock
1636 verbose tar unpack /home/alectaylor/.npm/request-progress/0.3.1/package.tgz
1637 silly lockFile 683e7957-er-node-modules-request-progress tar:///usr/local/lib/node_modules/bower/node_modules/request-progress
1638 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/request-progress /home/alectaylor/.npm/683e7957-er-node-modules-request-progress.lock
1639 silly lockFile 2e4e3662-quest-progress-0-3-1-package-tgz tar:///home/alectaylor/.npm/request-progress/0.3.1/package.tgz
1640 verbose lock tar:///home/alectaylor/.npm/request-progress/0.3.1/package.tgz /home/alectaylor/.npm/2e4e3662-quest-progress-0-3-1-package-tgz.lock
1641 verbose tar unpack /home/alectaylor/.npm/retry/0.6.0/package.tgz
1642 silly lockFile c472c099-modules-bower-node-modules-retry tar:///usr/local/lib/node_modules/bower/node_modules/retry
1643 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/retry /home/alectaylor/.npm/c472c099-modules-bower-node-modules-retry.lock
1644 silly lockFile 6bfa8006-muel-npm-retry-0-6-0-package-tgz tar:///home/alectaylor/.npm/retry/0.6.0/package.tgz
1645 verbose lock tar:///home/alectaylor/.npm/retry/0.6.0/package.tgz /home/alectaylor/.npm/6bfa8006-muel-npm-retry-0-6-0-package-tgz.lock
1646 verbose tar unpack /home/alectaylor/.npm/request/2.34.0/package.tgz
1647 silly lockFile ad8401fa-dules-bower-node-modules-request tar:///usr/local/lib/node_modules/bower/node_modules/request
1648 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/request /home/alectaylor/.npm/ad8401fa-dules-bower-node-modules-request.lock
1649 silly lockFile 27344930-l-npm-request-2-34-0-package-tgz tar:///home/alectaylor/.npm/request/2.34.0/package.tgz
1650 verbose lock tar:///home/alectaylor/.npm/request/2.34.0/package.tgz /home/alectaylor/.npm/27344930-l-npm-request-2-34-0-package-tgz.lock
1651 verbose tar unpack /home/alectaylor/.npm/rimraf/2.2.8/package.tgz
1652 silly lockFile e69dffe9-odules-bower-node-modules-rimraf tar:///usr/local/lib/node_modules/bower/node_modules/rimraf
1653 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/rimraf /home/alectaylor/.npm/e69dffe9-odules-bower-node-modules-rimraf.lock
1654 silly lockFile 9d0a4777-uel-npm-rimraf-2-2-8-package-tgz tar:///home/alectaylor/.npm/rimraf/2.2.8/package.tgz
1655 verbose lock tar:///home/alectaylor/.npm/rimraf/2.2.8/package.tgz /home/alectaylor/.npm/9d0a4777-uel-npm-rimraf-2-2-8-package-tgz.lock
1656 verbose tar unpack /home/alectaylor/.npm/semver/2.2.1/package.tgz
1657 silly lockFile 3700ae3f-odules-bower-node-modules-semver tar:///usr/local/lib/node_modules/bower/node_modules/semver
1658 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/semver /home/alectaylor/.npm/3700ae3f-odules-bower-node-modules-semver.lock
1659 silly lockFile f69809d0-uel-npm-semver-2-2-1-package-tgz tar:///home/alectaylor/.npm/semver/2.2.1/package.tgz
1660 verbose lock tar:///home/alectaylor/.npm/semver/2.2.1/package.tgz /home/alectaylor/.npm/f69809d0-uel-npm-semver-2-2-1-package-tgz.lock
1661 verbose tar unpack /home/alectaylor/.npm/stringify-object/0.2.1/package.tgz
1662 silly lockFile aa19ae64-er-node-modules-stringify-object tar:///usr/local/lib/node_modules/bower/node_modules/stringify-object
1663 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/stringify-object /home/alectaylor/.npm/aa19ae64-er-node-modules-stringify-object.lock
1664 silly lockFile 42e3e55d-ringify-object-0-2-1-package-tgz tar:///home/alectaylor/.npm/stringify-object/0.2.1/package.tgz
1665 verbose lock tar:///home/alectaylor/.npm/stringify-object/0.2.1/package.tgz /home/alectaylor/.npm/42e3e55d-ringify-object-0-2-1-package-tgz.lock
1666 verbose tar unpack /home/alectaylor/.npm/shell-quote/1.4.1/package.tgz
1667 silly lockFile 5e88575f-s-bower-node-modules-shell-quote tar:///usr/local/lib/node_modules/bower/node_modules/shell-quote
1668 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/shell-quote /home/alectaylor/.npm/5e88575f-s-bower-node-modules-shell-quote.lock
1669 silly lockFile 50513f02-pm-shell-quote-1-4-1-package-tgz tar:///home/alectaylor/.npm/shell-quote/1.4.1/package.tgz
1670 verbose lock tar:///home/alectaylor/.npm/shell-quote/1.4.1/package.tgz /home/alectaylor/.npm/50513f02-pm-shell-quote-1-4-1-package-tgz.lock
1671 verbose tar unpack /home/alectaylor/.npm/tar/0.1.19/package.tgz
1672 silly lockFile ead510a5-e-modules-bower-node-modules-tar tar:///usr/local/lib/node_modules/bower/node_modules/tar
1673 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/tar /home/alectaylor/.npm/ead510a5-e-modules-bower-node-modules-tar.lock
1674 silly lockFile e7058a6f-amuel-npm-tar-0-1-19-package-tgz tar:///home/alectaylor/.npm/tar/0.1.19/package.tgz
1675 verbose lock tar:///home/alectaylor/.npm/tar/0.1.19/package.tgz /home/alectaylor/.npm/e7058a6f-amuel-npm-tar-0-1-19-package-tgz.lock
1676 verbose tar unpack /home/alectaylor/.npm/tmp/0.0.23/package.tgz
1677 silly lockFile 3f56f42b-e-modules-bower-node-modules-tmp tar:///usr/local/lib/node_modules/bower/node_modules/tmp
1678 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/tmp /home/alectaylor/.npm/3f56f42b-e-modules-bower-node-modules-tmp.lock
1679 silly lockFile 89acd37a-amuel-npm-tmp-0-0-23-package-tgz tar:///home/alectaylor/.npm/tmp/0.0.23/package.tgz
1680 verbose lock tar:///home/alectaylor/.npm/tmp/0.0.23/package.tgz /home/alectaylor/.npm/89acd37a-amuel-npm-tmp-0-0-23-package-tgz.lock
1681 verbose tar unpack /home/alectaylor/.npm/decompress-zip/0.0.8/package.tgz
1682 silly lockFile 80c81b02-ower-node-modules-decompress-zip tar:///usr/local/lib/node_modules/bower/node_modules/decompress-zip
1683 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/decompress-zip /home/alectaylor/.npm/80c81b02-ower-node-modules-decompress-zip.lock
1684 silly lockFile f34478ce-decompress-zip-0-0-8-package-tgz tar:///home/alectaylor/.npm/decompress-zip/0.0.8/package.tgz
1685 verbose lock tar:///home/alectaylor/.npm/decompress-zip/0.0.8/package.tgz /home/alectaylor/.npm/f34478ce-decompress-zip-0-0-8-package-tgz.lock
1686 verbose tar unpack /home/alectaylor/.npm/which/1.0.5/package.tgz
1687 silly lockFile 99d77cb0-modules-bower-node-modules-which tar:///usr/local/lib/node_modules/bower/node_modules/which
1688 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/which /home/alectaylor/.npm/99d77cb0-modules-bower-node-modules-which.lock
1689 silly lockFile 5dc11acf-muel-npm-which-1-0-5-package-tgz tar:///home/alectaylor/.npm/which/1.0.5/package.tgz
1690 verbose lock tar:///home/alectaylor/.npm/which/1.0.5/package.tgz /home/alectaylor/.npm/5dc11acf-muel-npm-which-1-0-5-package-tgz.lock
1691 verbose tar unpack /home/alectaylor/.npm/update-notifier/0.1.10/package.tgz
1692 silly lockFile 2af4c72d-wer-node-modules-update-notifier tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier
1693 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier /home/alectaylor/.npm/2af4c72d-wer-node-modules-update-notifier.lock
1694 silly lockFile 8671930d-date-notifier-0-1-10-package-tgz tar:///home/alectaylor/.npm/update-notifier/0.1.10/package.tgz
1695 verbose lock tar:///home/alectaylor/.npm/update-notifier/0.1.10/package.tgz /home/alectaylor/.npm/8671930d-date-notifier-0-1-10-package-tgz.lock
1696 silly gunzTarPerm modes [ '755', '644' ]
1697 silly gunzTarPerm modes [ '755', '644' ]
1698 silly gunzTarPerm modes [ '755', '644' ]
1699 silly gunzTarPerm modes [ '755', '644' ]
1700 silly gunzTarPerm modes [ '755', '644' ]
1701 silly gunzTarPerm modes [ '755', '644' ]
1702 silly gunzTarPerm modes [ '755', '644' ]
1703 silly gunzTarPerm modes [ '755', '644' ]
1704 silly gunzTarPerm modes [ '755', '644' ]
1705 silly gunzTarPerm modes [ '755', '644' ]
1706 silly gunzTarPerm modes [ '755', '644' ]
1707 silly gunzTarPerm modes [ '755', '644' ]
1708 silly gunzTarPerm modes [ '755', '644' ]
1709 silly gunzTarPerm modes [ '755', '644' ]
1710 silly gunzTarPerm modes [ '755', '644' ]
1711 silly gunzTarPerm modes [ '755', '644' ]
1712 silly gunzTarPerm modes [ '755', '644' ]
1713 silly gunzTarPerm modes [ '755', '644' ]
1714 silly gunzTarPerm modes [ '755', '644' ]
1715 silly gunzTarPerm modes [ '755', '644' ]
1716 silly gunzTarPerm modes [ '755', '644' ]
1717 silly gunzTarPerm modes [ '755', '644' ]
1718 silly gunzTarPerm modes [ '755', '644' ]
1719 silly gunzTarPerm modes [ '755', '644' ]
1720 silly gunzTarPerm modes [ '755', '644' ]
1721 silly gunzTarPerm modes [ '755', '644' ]
1722 silly gunzTarPerm modes [ '755', '644' ]
1723 silly gunzTarPerm modes [ '755', '644' ]
1724 silly gunzTarPerm modes [ '755', '644' ]
1725 silly gunzTarPerm modes [ '755', '644' ]
1726 silly gunzTarPerm modes [ '755', '644' ]
1727 silly gunzTarPerm modes [ '755', '644' ]
1728 silly gunzTarPerm modes [ '755', '644' ]
1729 silly gunzTarPerm modes [ '755', '644' ]
1730 silly gunzTarPerm extractEntry package.json
1731 silly gunzTarPerm extractEntry package.json
1732 silly gunzTarPerm extractEntry package.json
1733 silly gunzTarPerm modified mode [ 'package.json', 416, 420 ]
1734 silly gunzTarPerm extractEntry package.json
1735 silly gunzTarPerm extractEntry package.json
1736 silly gunzTarPerm extractEntry package.json
1737 silly gunzTarPerm extractEntry package.json
1738 silly gunzTarPerm extractEntry package.json
1739 silly gunzTarPerm extractEntry package.json
1740 silly gunzTarPerm extractEntry package.json
1741 silly gunzTarPerm extractEntry package.json
1742 silly gunzTarPerm extractEntry package.json
1743 silly gunzTarPerm extractEntry package.json
1744 silly gunzTarPerm extractEntry package.json
1745 silly gunzTarPerm extractEntry package.json
1746 silly gunzTarPerm extractEntry package.json
1747 silly gunzTarPerm extractEntry package.json
1748 silly gunzTarPerm extractEntry package.json
1749 silly gunzTarPerm extractEntry package.json
1750 silly gunzTarPerm extractEntry package.json
1751 silly gunzTarPerm extractEntry package.json
1752 silly gunzTarPerm extractEntry package.json
1753 silly gunzTarPerm extractEntry package.json
1754 silly gunzTarPerm extractEntry package.json
1755 silly gunzTarPerm extractEntry package.json
1756 silly gunzTarPerm extractEntry package.json
1757 silly gunzTarPerm extractEntry package.json
1758 silly gunzTarPerm extractEntry package.json
1759 silly gunzTarPerm extractEntry package.json
1760 silly gunzTarPerm extractEntry package.json
1761 silly gunzTarPerm extractEntry package.json
1762 silly gunzTarPerm extractEntry package.json
1763 silly gunzTarPerm modified mode [ 'package.json', 416, 420 ]
1764 silly gunzTarPerm extractEntry package.json
1765 silly gunzTarPerm extractEntry package.json
1766 silly gunzTarPerm extractEntry README.md
1767 silly gunzTarPerm extractEntry LICENSE
1768 silly gunzTarPerm extractEntry index.js
1769 silly gunzTarPerm extractEntry .travis.yml
1770 silly gunzTarPerm extractEntry .npmignore
1771 silly gunzTarPerm modified mode [ '.npmignore', 416, 420 ]
1772 silly gunzTarPerm extractEntry README.md
1773 silly gunzTarPerm modified mode [ 'README.md', 416, 420 ]
1774 silly gunzTarPerm extractEntry .npmignore
1775 silly gunzTarPerm extractEntry README.md
1776 silly gunzTarPerm extractEntry .npmignore
1777 silly gunzTarPerm extractEntry README.md
1778 silly gunzTarPerm extractEntry .npmignore
1779 silly gunzTarPerm extractEntry README.md
1780 silly gunzTarPerm extractEntry .npmignore
1781 silly gunzTarPerm extractEntry README.md
1782 silly gunzTarPerm extractEntry index.js
1783 silly gunzTarPerm extractEntry readme.md
1784 silly gunzTarPerm extractEntry README.md
1785 silly gunzTarPerm extractEntry LICENSE
1786 silly gunzTarPerm extractEntry .npmignore
1787 silly gunzTarPerm extractEntry README.md
1788 silly gunzTarPerm extractEntry .npmignore
1789 silly gunzTarPerm extractEntry README.md
1790 silly gunzTarPerm extractEntry .npmignore
1791 silly gunzTarPerm extractEntry README.md
1792 silly gunzTarPerm extractEntry contributing.md
1793 silly gunzTarPerm extractEntry lib/insight.js
1794 silly gunzTarPerm extractEntry index.js
1795 silly gunzTarPerm extractEntry readme.md
1796 silly gunzTarPerm extractEntry README.md
1797 silly gunzTarPerm extractEntry LICENSE
1798 silly gunzTarPerm extractEntry index.js
1799 silly gunzTarPerm extractEntry readme.md
1800 silly gunzTarPerm extractEntry .npmignore
1801 silly gunzTarPerm extractEntry LICENSE
1802 silly gunzTarPerm extractEntry .npmignore
1803 silly gunzTarPerm extractEntry README.md
1804 silly gunzTarPerm extractEntry README.md
1805 silly gunzTarPerm extractEntry LICENSE
1806 silly gunzTarPerm extractEntry .npmignore
1807 silly gunzTarPerm extractEntry README.md
1808 silly gunzTarPerm extractEntry cli.js
1809 silly gunzTarPerm extractEntry index.js
1810 silly gunzTarPerm extractEntry .npmignore
1811 silly gunzTarPerm extractEntry README.md
1812 silly gunzTarPerm extractEntry .npmignore
1813 silly gunzTarPerm extractEntry README.md
1814 silly gunzTarPerm extractEntry README.md
1815 silly gunzTarPerm extractEntry LICENSE
1816 silly gunzTarPerm extractEntry q.js
1817 silly gunzTarPerm extractEntry queue.js
1818 silly gunzTarPerm extractEntry CONTRIBUTING.md
1819 silly gunzTarPerm extractEntry benchmark/compare-with-callbacks.js
1820 silly gunzTarPerm extractEntry benchmark/scenarios.js
1821 silly gunzTarPerm extractEntry .npmignore
1822 silly gunzTarPerm extractEntry README.md
1823 silly gunzTarPerm extractEntry .npmignore
1824 silly gunzTarPerm extractEntry index.js
1825 silly gunzTarPerm extractEntry .npmignore
1826 silly gunzTarPerm extractEntry README.md
1827 silly gunzTarPerm extractEntry README.md
1828 silly gunzTarPerm extractEntry LICENSE
1829 silly gunzTarPerm extractEntry stringify-object.js
1830 silly gunzTarPerm extractEntry readme.md
1831 silly gunzTarPerm extractEntry LICENSE
1832 silly gunzTarPerm extractEntry index.js
1833 silly gunzTarPerm extractEntry .npmignore
1834 silly gunzTarPerm extractEntry README.md
1835 silly gunzTarPerm extractEntry .npmignore
1836 silly gunzTarPerm modified mode [ '.npmignore', 416, 420 ]
1837 silly gunzTarPerm extractEntry README.md
1838 silly gunzTarPerm modified mode [ 'README.md', 416, 420 ]
1839 silly gunzTarPerm extractEntry README.md
1840 silly gunzTarPerm extractEntry LICENSE
1841 silly gunzTarPerm extractEntry contributing.md
1842 silly gunzTarPerm extractEntry lib/check.js
1843 silly gunzTarPerm extractEntry abbrev.js
1844 silly gunzTarPerm extractEntry test.js
1845 silly gunzTarPerm extractEntry chmodr.js
1846 silly gunzTarPerm extractEntry test/basic.js
1847 silly gunzTarPerm extractEntry LICENSE
1848 silly gunzTarPerm extractEntry CONTRIBUTORS
1849 silly gunzTarPerm extractEntry bin.js
1850 silly gunzTarPerm extractEntry rimraf.js
1851 silly gunzTarPerm extractEntry which.js
1852 silly gunzTarPerm extractEntry bin/which
1853 silly gunzTarPerm extractEntry LICENSE
1854 silly gunzTarPerm modified mode [ 'LICENSE', 416, 420 ]
1855 silly gunzTarPerm extractEntry .editorconfig
1856 silly gunzTarPerm modified mode [ '.editorconfig', 416, 420 ]
1857 silly gunzTarPerm extractEntry README.markdown
1858 silly gunzTarPerm extractEntry examples/beep.js
1859 silly gunzTarPerm extractEntry LICENSE
1860 silly gunzTarPerm extractEntry index.js
1861 silly gunzTarPerm extractEntry LICENSE
1862 silly gunzTarPerm extractEntry Gruntfile.js
1863 silly gunzTarPerm extractEntry LICENSE
1864 silly gunzTarPerm extractEntry Gruntfile.js
1865 silly gunzTarPerm extractEntry LICENSE
1866 silly gunzTarPerm extractEntry .editorconfig
1867 silly gunzTarPerm extractEntry LICENSE
1868 silly gunzTarPerm extractEntry ignore.js
1869 silly gunzTarPerm extractEntry LICENSE
1870 silly gunzTarPerm extractEntry graceful-fs.js
1871 silly gunzTarPerm extractEntry LICENSE-MIT
1872 silly gunzTarPerm extractEntry lib/inquirer.js
1873 silly gunzTarPerm extractEntry lockfile.js
1874 silly gunzTarPerm extractEntry test/basic.js
1875 silly gunzTarPerm extractEntry index.js
1876 silly gunzTarPerm extractEntry .travis.yml
1877 silly gunzTarPerm extractEntry osenv.js
1878 silly gunzTarPerm extractEntry test/unix.js
1879 silly gunzTarPerm extractEntry LICENSE
1880 silly gunzTarPerm extractEntry bin/nopt.js
1881 silly gunzTarPerm extractEntry readme.md
1882 silly gunzTarPerm extractEntry xdg-open
1883 silly gunzTarPerm extractEntry LICENSE
1884 silly gunzTarPerm extractEntry index.js
1885 silly gunzTarPerm extractEntry LICENSE
1886 silly gunzTarPerm extractEntry index.js
1887 silly gunzTarPerm extractEntry LICENSE
1888 silly gunzTarPerm extractEntry index.js
1889 silly gunzTarPerm extractEntry License
1890 silly gunzTarPerm extractEntry Makefile
1891 silly gunzTarPerm extractEntry LICENSE
1892 silly gunzTarPerm extractEntry domain-test.js
1893 silly gunzTarPerm extractEntry test.js
1894 silly gunzTarPerm extractEntry lib/update-notifier.js
1895 silly gunzTarPerm extractEntry readme.md
1896 silly gunzTarPerm extractEntry lib/providers.js
1897 silly gunzTarPerm extractEntry lib/push.js
1898 silly gunzTarPerm extractEntry .travis.yml
1899 silly gunzTarPerm extractEntry example/env.js
1900 silly gunzTarPerm extractEntry Gruntfile.js
1901 silly gunzTarPerm modified mode [ 'Gruntfile.js', 416, 420 ]
1902 silly gunzTarPerm extractEntry download-test-assets.js
1903 silly gunzTarPerm modified mode [ 'download-test-assets.js', 416, 420 ]
1904 silly gunzTarPerm extractEntry CONTRIBUTING.md
1905 silly gunzTarPerm extractEntry test/sync.js
1906 silly gunzTarPerm extractEntry lib/lru-cache.js
1907 silly gunzTarPerm extractEntry test/basic.js
1908 silly gunzTarPerm extractEntry test/foreach.js
1909 silly gunzTarPerm extractEntry test/memory-leak.js
1910 silly gunzTarPerm extractEntry .jshintrc
1911 silly gunzTarPerm modified mode [ '.jshintrc', 416, 420 ]
1912 silly gunzTarPerm extractEntry .travis.yml
1913 silly gunzTarPerm modified mode [ '.travis.yml', 416, 420 ]
1914 silly gunzTarPerm extractEntry .editorconfig
1915 silly gunzTarPerm extractEntry .jshintrc
1916 silly gunzTarPerm extractEntry .editorconfig
1917 silly gunzTarPerm extractEntry .jshintrc
1918 silly gunzTarPerm extractEntry Client.js
1919 silly gunzTarPerm extractEntry .travis.yml
1920 silly gunzTarPerm extractEntry .jshintrc
1921 silly gunzTarPerm extractEntry .travis.yml
1922 silly gunzTarPerm extractEntry example/basic.js
1923 silly gunzTarPerm extractEntry test/.npmignore
1924 silly gunzTarPerm extractEntry polyfills.js
1925 silly gunzTarPerm extractEntry test/open.js
1926 silly gunzTarPerm extractEntry test/readdir-sort.js
1927 silly gunzTarPerm extractEntry lib/objects/choice.js
1928 silly gunzTarPerm extractEntry readme.md
1929 silly gunzTarPerm extractEntry examples/pow.js
1930 silly gunzTarPerm extractEntry readme.markdown
1931 silly gunzTarPerm extractEntry examples/my-program.js
1932 silly gunzTarPerm extractEntry lib/nopt.js
1933 silly gunzTarPerm extractEntry test/basic.js
1934 silly gunzTarPerm extractEntry .editorconfig
1935 silly gunzTarPerm extractEntry .jshintrc
1936 silly gunzTarPerm extractEntry Readme.md
1937 silly gunzTarPerm extractEntry equation.gif
1938 silly gunzTarPerm extractEntry dns-request.js
1939 silly gunzTarPerm extractEntry index.js
1940 silly gunzTarPerm extractEntry AUTHORS
1941 silly gunzTarPerm extractEntry test/test-async.js
1942 silly gunzTarPerm extractEntry .travis.yml
1943 silly gunzTarPerm extractEntry lib/tmp.js
1944 silly gunzTarPerm extractEntry .jshintrc
1945 silly gunzTarPerm extractEntry .travis.yml
1946 silly gunzTarPerm extractEntry .jshintrc
1947 silly gunzTarPerm extractEntry .travis.yml
1948 silly gunzTarPerm extractEntry test/test.js
1949 silly gunzTarPerm extractEntry bin/decompress-zip
1950 silly gunzTarPerm extractEntry .travis.yml
1951 silly gunzTarPerm modified mode [ '.travis.yml', 416, 420 ]
1952 silly gunzTarPerm extractEntry examples/multi_line.js
1953 silly gunzTarPerm extractEntry test/beep.js
1954 silly gunzTarPerm extractEntry test/windows.js
1955 silly gunzTarPerm extractEntry test/fixtures/bad-child.js
1956 silly gunzTarPerm extractEntry example/op.js
1957 silly gunzTarPerm extractEntry example/parse.js
1958 silly gunzTarPerm extractEntry example/dns.js
1959 silly gunzTarPerm extractEntry lib/retry.js
1960 silly gunzTarPerm extractEntry lib/retry_operation.js
1961 silly gunzTarPerm extractEntry test/common.js
1962 silly gunzTarPerm extractEntry test/runner.js
1963 silly gunzTarPerm extractEntry test/integration/test-retry-operation.js
1964 silly gunzTarPerm extractEntry test/integration/test-timeouts.js
1965 silly gunzTarPerm extractEntry test/00-setup.js
1966 silly gunzTarPerm extractEntry test/multi_line.js
1967 silly gunzTarPerm extractEntry test/non_unicode.js
1968 silly gunzTarPerm extractEntry test/chmod.js
1969 silly gunzTarPerm extractEntry test/perm.js
1970 silly gunzTarPerm extractEntry .travis.yml
1971 silly gunzTarPerm extractEntry test/test.js
1972 silly gunzTarPerm extractEntry test/test-sync.js
1973 silly gunzTarPerm extractEntry test/run.sh
1974 silly gunzTarPerm extractEntry lib/Config.js
1975 silly gunzTarPerm modified mode [ 'lib/Config.js', 416, 420 ]
1976 silly gunzTarPerm extractEntry lib/util/defaults.js
1977 silly gunzTarPerm modified mode [ 'lib/util/defaults.js', 416, 420 ]
1978 silly gunzTarPerm extractEntry lib/Logger.js
1979 silly gunzTarPerm extractEntry test/test.js
1980 silly gunzTarPerm extractEntry test/fixtures/child.js
1981 silly gunzTarPerm extractEntry lib/arrayRemove.js
1982 silly gunzTarPerm extractEntry test/test.js
1983 silly gunzTarPerm extractEntry .editorconfig
1984 silly gunzTarPerm modified mode [ '.editorconfig', 416, 420 ]
1985 silly gunzTarPerm extractEntry lib/decompress-zip.js
1986 silly gunzTarPerm modified mode [ 'lib/decompress-zip.js', 416, 420 ]
1987 silly gunzTarPerm extractEntry .travis.yml
1988 silly gunzTarPerm extractEntry test/test.js
1989 silly gunzTarPerm extractEntry .travis.yml
1990 silly gunzTarPerm extractEntry lib/json.js
1991 silly gunzTarPerm extractEntry .editorconfig
1992 silly gunzTarPerm extractEntry lib/index.js
1993 silly gunzTarPerm extractEntry lib/list.js
1994 silly gunzTarPerm extractEntry lib/lookup.js
1995 silly gunzTarPerm extractEntry lib/register.js
1996 silly gunzTarPerm extractEntry lib/search.js
1997 silly gunzTarPerm extractEntry lib/unregister.js
1998 silly gunzTarPerm extractEntry lib/util/Cache.js
1999 silly gunzTarPerm extractEntry lib/util/createError.js
2000 silly gunzTarPerm extractEntry lib/util/md5.js
2001 silly gunzTarPerm extractEntry .jshintrc
2002 silly gunzTarPerm extractEntry test/Client.js
2003 silly gunzTarPerm extractEntry test/runner.js
2004 silly gunzTarPerm extractEntry test/core/index.js
2005 silly gunzTarPerm extractEntry test/core/list.js
2006 silly gunzTarPerm extractEntry test/core/lookup.js
2007 silly gunzTarPerm extractEntry test/core/register.js
2008 silly gunzTarPerm extractEntry test/core/search.js
2009 silly gunzTarPerm extractEntry test/core/util/Cache.js
2010 silly gunzTarPerm extractEntry test/core/util/createError.js
2011 silly gunzTarPerm extractEntry test/fixtures/search.json
2012 silly lockFile 884b33b4-dules-bower-node-modules-is-root tar:///usr/local/lib/node_modules/bower/node_modules/is-root
2013 silly lockFile 884b33b4-dules-bower-node-modules-is-root tar:///usr/local/lib/node_modules/bower/node_modules/is-root
2014 silly gunzTarPerm extractEntry test/base.js
2015 silly lockFile 0d4fafda-el-npm-is-root-0-1-0-package-tgz tar:///home/alectaylor/.npm/is-root/0.1.0/package.tgz
2016 silly lockFile 0d4fafda-el-npm-is-root-0-1-0-package-tgz tar:///home/alectaylor/.npm/is-root/0.1.0/package.tgz
2017 silly lockFile e6b9d418--modules-bower-node-modules-junk tar:///usr/local/lib/node_modules/bower/node_modules/junk
2018 silly lockFile e6b9d418--modules-bower-node-modules-junk tar:///usr/local/lib/node_modules/bower/node_modules/junk
2019 silly gunzTarPerm extractEntry test/basic.js
2020 silly gunzTarPerm extractEntry test/common.js
2021 silly lockFile ed835453-amuel-npm-junk-0-3-0-package-tgz tar:///home/alectaylor/.npm/junk/0.3.0/package.tgz
2022 silly lockFile ed835453-amuel-npm-junk-0-3-0-package-tgz tar:///home/alectaylor/.npm/junk/0.3.0/package.tgz
2023 silly gunzTarPerm extractEntry test/setup.sh
2024 silly gunzTarPerm extractEntry lib/util/expand.js
2025 silly gunzTarPerm modified mode [ 'lib/util/expand.js', 416, 420 ]
2026 silly gunzTarPerm extractEntry lib/util/paths.js
2027 silly gunzTarPerm modified mode [ 'lib/util/paths.js', 416, 420 ]
2028 silly gunzTarPerm extractEntry lib/util/rc.js
2029 silly gunzTarPerm modified mode [ 'lib/util/rc.js', 416, 420 ]
2030 silly gunzTarPerm extractEntry test/test.js
2031 silly gunzTarPerm modified mode [ 'test/test.js', 416, 420 ]
2032 info preinstall [email protected]
2033 silly gunzTarPerm extractEntry test/perm_sync.js
2034 silly gunzTarPerm extractEntry test/race.js
2035 silly gunzTarPerm extractEntry test/mkdirp.js
2036 silly gunzTarPerm extractEntry test/return.js
2037 silly gunzTarPerm extractEntry test/return_sync.js
2038 silly gunzTarPerm extractEntry test/root.js
2039 silly gunzTarPerm extractEntry test/sync.js
2040 silly gunzTarPerm extractEntry test/umask.js
2041 silly gunzTarPerm extractEntry test/clobber.js
2042 silly gunzTarPerm extractEntry test/umask_sync.js
2043 silly gunzTarPerm extractEntry test/rel.js
2044 silly gunzTarPerm extractEntry example/quote.js
2045 silly gunzTarPerm extractEntry readme.markdown
2046 silly lockFile aa19ae64-er-node-modules-stringify-object tar:///usr/local/lib/node_modules/bower/node_modules/stringify-object
2047 silly lockFile aa19ae64-er-node-modules-stringify-object tar:///usr/local/lib/node_modules/bower/node_modules/stringify-object
2048 info preinstall [email protected]
2049 silly lockFile 42e3e55d-ringify-object-0-2-1-package-tgz tar:///home/alectaylor/.npm/stringify-object/0.2.1/package.tgz
2050 silly lockFile 42e3e55d-ringify-object-0-2-1-package-tgz tar:///home/alectaylor/.npm/stringify-object/0.2.1/package.tgz
2051 silly gunzTarPerm extractEntry lib/extractors.js
2052 silly gunzTarPerm modified mode [ 'lib/extractors.js', 416, 420 ]
2053 silly gunzTarPerm extractEntry lib/util/createError.js
2054 silly lockFile 40bdd571-modules-bower-node-modules-chalk tar:///usr/local/lib/node_modules/bower/node_modules/chalk
2055 silly lockFile 40bdd571-modules-bower-node-modules-chalk tar:///usr/local/lib/node_modules/bower/node_modules/chalk
2056 verbose readDependencies using package.json deps
2057 silly gunzTarPerm extractEntry test/dir-test.js
2058 silly gunzTarPerm extractEntry test/file-test.js
2059 silly lockFile 1d9c4d4d-muel-npm-chalk-0-4-0-package-tgz tar:///home/alectaylor/.npm/chalk/0.4.0/package.tgz
2060 silly lockFile 1d9c4d4d-muel-npm-chalk-0-4-0-package-tgz tar:///home/alectaylor/.npm/chalk/0.4.0/package.tgz
2061 verbose readDependencies using package.json deps
2062 silly resolved []
2063 verbose about to build /usr/local/lib/node_modules/bower/node_modules/is-root
2064 info build /usr/local/lib/node_modules/bower/node_modules/is-root
2065 verbose linkStuff [ true,
2065 verbose linkStuff '/usr/local/lib/node_modules',
2065 verbose linkStuff false,
2065 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2066 info linkStuff [email protected]
2067 silly gunzTarPerm extractEntry lib/objects/choices.js
2068 silly gunzTarPerm extractEntry lib/objects/separator.js
2069 verbose readDependencies using package.json deps
2070 verbose linkBins [email protected]
2071 verbose linkMans [email protected]
2072 verbose rebuildBundles [email protected]
2073 verbose readDependencies using package.json deps
2074 silly resolved []
2075 verbose about to build /usr/local/lib/node_modules/bower/node_modules/junk
2076 info build /usr/local/lib/node_modules/bower/node_modules/junk
2077 verbose linkStuff [ true,
2077 verbose linkStuff '/usr/local/lib/node_modules',
2077 verbose linkStuff false,
2077 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2078 info linkStuff [email protected]
2079 info preinstall [email protected]
2080 info install [email protected]
2081 info preinstall [email protected]
2082 verbose linkBins [email protected]
2083 verbose linkMans [email protected]
2084 verbose rebuildBundles [email protected]
2085 silly gunzTarPerm extractEntry test/env.js
2086 info postinstall [email protected]
2087 info install [email protected]
2088 verbose readDependencies using package.json deps
2089 verbose readDependencies using package.json deps
2090 silly resolved []
2091 verbose about to build /usr/local/lib/node_modules/bower/node_modules/stringify-object
2092 info build /usr/local/lib/node_modules/bower/node_modules/stringify-object
2093 verbose linkStuff [ true,
2093 verbose linkStuff '/usr/local/lib/node_modules',
2093 verbose linkStuff false,
2093 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2094 info linkStuff [email protected]
2095 verbose readDependencies using package.json deps
2096 info postinstall [email protected]
2097 silly gunzTarPerm extractEntry test/graceful.js
2098 silly gunzTarPerm extractEntry test/keep.js
2099 silly gunzTarPerm extractEntry lib/file-details.js
2100 silly gunzTarPerm modified mode [ 'lib/file-details.js', 416, 420 ]
2101 silly gunzTarPerm extractEntry lib/signatures.js
2102 silly gunzTarPerm modified mode [ 'lib/signatures.js', 416, 420 ]
2103 verbose readDependencies using package.json deps
2104 verbose linkBins [email protected]
2105 verbose linkMans [email protected]
2106 verbose rebuildBundles [email protected]
2107 silly gunzTarPerm extractEntry lib/util/isComponent.js
2108 silly gunzTarPerm extractEntry test/test.js
2109 verbose cache add [ 'has-color@~0.1.0', null ]
2110 verbose cache add name=undefined spec="has-color@~0.1.0" args=["has-color@~0.1.0",null]
2111 verbose parsed url { protocol: null,
2111 verbose parsed url slashes: null,
2111 verbose parsed url auth: null,
2111 verbose parsed url host: null,
2111 verbose parsed url port: null,
2111 verbose parsed url hostname: null,
2111 verbose parsed url hash: null,
2111 verbose parsed url search: null,
2111 verbose parsed url query: null,
2111 verbose parsed url pathname: 'has-color@~0.1.0',
2111 verbose parsed url path: 'has-color@~0.1.0',
2111 verbose parsed url href: 'has-color@~0.1.0' }
2112 silly gunzTarPerm extractEntry request.js
2113 silly gunzTarPerm extractEntry .travis.yml
2114 info install [email protected]
2115 silly gunzTarPerm extractEntry lib/prompts/base.js
2116 silly gunzTarPerm extractEntry lib/prompts/checkbox.js
2117 verbose cache add name="has-color" spec="~0.1.0" args=["has-color","~0.1.0"]
2118 verbose parsed url { protocol: null,
2118 verbose parsed url slashes: null,
2118 verbose parsed url auth: null,
2118 verbose parsed url host: null,
2118 verbose parsed url port: null,
2118 verbose parsed url hostname: null,
2118 verbose parsed url hash: null,
2118 verbose parsed url search: null,
2118 verbose parsed url query: null,
2118 verbose parsed url pathname: '~0.1.0',
2118 verbose parsed url path: '~0.1.0',
2118 verbose parsed url href: '~0.1.0' }
2119 verbose addNamed [ 'has-color', '~0.1.0' ]
2120 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
2121 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
2122 verbose lock has-color@~0.1.0 /home/alectaylor/.npm/c89da621-has-color-0-1-0.lock
2123 verbose cache add [ 'ansi-styles@~1.0.0', null ]
2124 verbose cache add name=undefined spec="ansi-styles@~1.0.0" args=["ansi-styles@~1.0.0",null]
2125 verbose parsed url { protocol: null,
2125 verbose parsed url slashes: null,
2125 verbose parsed url auth: null,
2125 verbose parsed url host: null,
2125 verbose parsed url port: null,
2125 verbose parsed url hostname: null,
2125 verbose parsed url hash: null,
2125 verbose parsed url search: null,
2125 verbose parsed url query: null,
2125 verbose parsed url pathname: 'ansi-styles@~1.0.0',
2125 verbose parsed url path: 'ansi-styles@~1.0.0',
2125 verbose parsed url href: 'ansi-styles@~1.0.0' }
2126 verbose cache add [ 'strip-ansi@~0.1.0', null ]
2127 verbose cache add name=undefined spec="strip-ansi@~0.1.0" args=["strip-ansi@~0.1.0",null]
2128 verbose parsed url { protocol: null,
2128 verbose parsed url slashes: null,
2128 verbose parsed url auth: null,
2128 verbose parsed url host: null,
2128 verbose parsed url port: null,
2128 verbose parsed url hostname: null,
2128 verbose parsed url hash: null,
2128 verbose parsed url search: null,
2128 verbose parsed url query: null,
2128 verbose parsed url pathname: 'strip-ansi@~0.1.0',
2128 verbose parsed url path: 'strip-ansi@~0.1.0',
2128 verbose parsed url href: 'strip-ansi@~0.1.0' }
2129 verbose cache add name="ansi-styles" spec="~1.0.0" args=["ansi-styles","~1.0.0"]
2130 verbose parsed url { protocol: null,
2130 verbose parsed url slashes: null,
2130 verbose parsed url auth: null,
2130 verbose parsed url host: null,
2130 verbose parsed url port: null,
2130 verbose parsed url hostname: null,
2130 verbose parsed url hash: null,
2130 verbose parsed url search: null,
2130 verbose parsed url query: null,
2130 verbose parsed url pathname: '~1.0.0',
2130 verbose parsed url path: '~1.0.0',
2130 verbose parsed url href: '~1.0.0' }
2131 verbose addNamed [ 'ansi-styles', '~1.0.0' ]
2132 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
2133 silly lockFile 82a4f1f6-ansi-styles-1-0-0 ansi-styles@~1.0.0
2134 verbose lock ansi-styles@~1.0.0 /home/alectaylor/.npm/82a4f1f6-ansi-styles-1-0-0.lock
2135 verbose cache add name="strip-ansi" spec="~0.1.0" args=["strip-ansi","~0.1.0"]
2136 verbose parsed url { protocol: null,
2136 verbose parsed url slashes: null,
2136 verbose parsed url auth: null,
2136 verbose parsed url host: null,
2136 verbose parsed url port: null,
2136 verbose parsed url hostname: null,
2136 verbose parsed url hash: null,
2136 verbose parsed url search: null,
2136 verbose parsed url query: null,
2136 verbose parsed url pathname: '~0.1.0',
2136 verbose parsed url path: '~0.1.0',
2136 verbose parsed url href: '~0.1.0' }
2137 verbose addNamed [ 'strip-ansi', '~0.1.0' ]
2138 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
2139 silly lockFile 0cdb0eaa-strip-ansi-0-1-0 strip-ansi@~0.1.0
2140 verbose lock strip-ansi@~0.1.0 /home/alectaylor/.npm/0cdb0eaa-strip-ansi-0-1-0.lock
2141 info postinstall [email protected]
2142 silly addNameRange { name: 'has-color',
2142 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
2142 silly addNameRange hasData: false }
2143 silly addNameRange { name: 'ansi-styles',
2143 silly addNameRange range: '>=1.0.0-0 <1.1.0-0',
2143 silly addNameRange hasData: false }
2144 silly addNameRange { name: 'strip-ansi',
2144 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
2144 silly addNameRange hasData: false }
2145 silly gunzTarPerm extractEntry test/env_fn.js
2146 silly gunzTarPerm extractEntry test/op.js
2147 silly gunzTarPerm extractEntry test/name-test.js
2148 silly gunzTarPerm extractEntry test/spawn.js
2149 silly lockFile 99d77cb0-modules-bower-node-modules-which tar:///usr/local/lib/node_modules/bower/node_modules/which
2150 silly lockFile 99d77cb0-modules-bower-node-modules-which tar:///usr/local/lib/node_modules/bower/node_modules/which
2151 silly gunzTarPerm extractEntry test/ignore-most.js
2152 silly gunzTarPerm extractEntry test/nested-ignores.js
2153 silly lockFile 5dc11acf-muel-npm-which-1-0-5-package-tgz tar:///home/alectaylor/.npm/which/1.0.5/package.tgz
2154 silly lockFile 5dc11acf-muel-npm-which-1-0-5-package-tgz tar:///home/alectaylor/.npm/which/1.0.5/package.tgz
2155 silly gunzTarPerm extractEntry test/pkg-bower-json/bower.json
2156 silly gunzTarPerm extractEntry test/pkg-bower-json-invalid/bower.json
2157 verbose url raw has-color
2158 verbose url resolving [ 'https://registry.npmjs.org/', './has-color' ]
2159 verbose url resolved https://registry.npmjs.org/has-color
2160 info trying registry request attempt 1 at 11:33:15
2161 verbose etag "9ET1M9DE6H0H6XWCWO5IDMRTO"
2162 http GET https://registry.npmjs.org/has-color
2163 verbose url raw ansi-styles
2164 verbose url resolving [ 'https://registry.npmjs.org/', './ansi-styles' ]
2165 verbose url resolved https://registry.npmjs.org/ansi-styles
2166 info trying registry request attempt 1 at 11:33:15
2167 verbose etag "UK3985B3MGET9EN8RXZGQQWF"
2168 http GET https://registry.npmjs.org/ansi-styles
2169 verbose url raw strip-ansi
2170 verbose url resolving [ 'https://registry.npmjs.org/', './strip-ansi' ]
2171 verbose url resolved https://registry.npmjs.org/strip-ansi
2172 info trying registry request attempt 1 at 11:33:15
2173 verbose etag "4E0EYSVMBNL39PXYIQ63C62UW"
2174 http GET https://registry.npmjs.org/strip-ansi
2175 info preinstall [email protected]
2176 silly gunzTarPerm extractEntry lib/prompts/confirm.js
2177 silly gunzTarPerm extractEntry lib/prompts/expand.js
2178 silly gunzTarPerm extractEntry lib/structures.js
2179 silly gunzTarPerm modified mode [ 'lib/structures.js', 416, 420 ]
2180 silly gunzTarPerm extractEntry .jshintrc
2181 silly gunzTarPerm modified mode [ '.jshintrc', 416, 420 ]
2182 silly lockFile 7cad2df3-odules-bower-node-modules-abbrev tar:///usr/local/lib/node_modules/bower/node_modules/abbrev
2183 silly lockFile 7cad2df3-odules-bower-node-modules-abbrev tar:///usr/local/lib/node_modules/bower/node_modules/abbrev
2184 silly gunzTarPerm extractEntry test/parse.js
2185 silly gunzTarPerm extractEntry test/quote.js
2186 verbose readDependencies using package.json deps
2187 silly lockFile 12c2cc63-uel-npm-abbrev-1-0-5-package-tgz tar:///home/alectaylor/.npm/abbrev/1.0.5/package.tgz
2188 silly lockFile 12c2cc63-uel-npm-abbrev-1-0-5-package-tgz tar:///home/alectaylor/.npm/abbrev/1.0.5/package.tgz
2189 silly lockFile c400b6da-odules-bower-node-modules-chmodr tar:///usr/local/lib/node_modules/bower/node_modules/chmodr
2190 silly lockFile c400b6da-odules-bower-node-modules-chmodr tar:///usr/local/lib/node_modules/bower/node_modules/chmodr
2191 verbose readDependencies using package.json deps
2192 silly resolved []
2193 verbose about to build /usr/local/lib/node_modules/bower/node_modules/which
2194 info build /usr/local/lib/node_modules/bower/node_modules/which
2195 verbose linkStuff [ true,
2195 verbose linkStuff '/usr/local/lib/node_modules',
2195 verbose linkStuff false,
2195 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2196 info linkStuff [email protected]
2197 silly gunzTarPerm extractEntry test/unignore-child.js
2198 silly gunzTarPerm extractEntry test/zz-cleanup.js
2199 silly lockFile eb127652-uel-npm-chmodr-0-1-0-package-tgz tar:///home/alectaylor/.npm/chmodr/0.1.0/package.tgz
2200 silly lockFile eb127652-uel-npm-chmodr-0-1-0-package-tgz tar:///home/alectaylor/.npm/chmodr/0.1.0/package.tgz
2201 verbose linkBins [email protected]
2202 verbose link bins [ { which: './bin/which' },
2202 verbose link bins '/usr/local/lib/node_modules/bower/node_modules/.bin',
2202 verbose link bins false ]
2203 verbose linkMans [email protected]
2204 verbose rebuildBundles [email protected]
2205 info preinstall [email protected]
2206 silly gunzTarPerm extractEntry test/pkg-bower-json-malformed/bower.json
2207 silly gunzTarPerm extractEntry test/pkg-component(1)-json/component.json
2208 silly lockFile 2af4c72d-wer-node-modules-update-notifier tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier
2209 silly lockFile 2af4c72d-wer-node-modules-update-notifier tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier
2210 info preinstall [email protected]
2211 silly lockFile 8671930d-date-notifier-0-1-10-package-tgz tar:///home/alectaylor/.npm/update-notifier/0.1.10/package.tgz
2212 silly lockFile 8671930d-date-notifier-0-1-10-package-tgz tar:///home/alectaylor/.npm/update-notifier/0.1.10/package.tgz
2213 silly gunzTarPerm extractEntry test/test.js
2214 silly gunzTarPerm modified mode [ 'test/test.js', 416, 420 ]
2215 verbose readDependencies using package.json deps
2216 silly gunzTarPerm extractEntry test/set.js
2217 verbose readDependencies using package.json deps
2218 silly resolved []
2219 verbose about to build /usr/local/lib/node_modules/bower/node_modules/abbrev
2220 info build /usr/local/lib/node_modules/bower/node_modules/abbrev
2221 verbose linkStuff [ true,
2221 verbose linkStuff '/usr/local/lib/node_modules',
2221 verbose linkStuff false,
2221 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2222 info linkStuff [email protected]
2223 verbose readDependencies using package.json deps
2224 silly gunzTarPerm extractEntry lib/prompts/input.js
2225 silly gunzTarPerm extractEntry lib/prompts/list.js
2226 silly lockFile 0bdda146-dules-bower-node-modules-insight tar:///usr/local/lib/node_modules/bower/node_modules/insight
2227 silly lockFile 0bdda146-dules-bower-node-modules-insight tar:///usr/local/lib/node_modules/bower/node_modules/insight
2228 info install [email protected]
2229 verbose readDependencies using package.json deps
2230 silly resolved []
2231 verbose about to build /usr/local/lib/node_modules/bower/node_modules/chmodr
2232 info build /usr/local/lib/node_modules/bower/node_modules/chmodr
2233 verbose linkStuff [ true,
2233 verbose linkStuff '/usr/local/lib/node_modules',
2233 verbose linkStuff false,
2233 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2234 info linkStuff [email protected]
2235 silly lockFile c09d8303-el-npm-insight-0-3-1-package-tgz tar:///home/alectaylor/.npm/insight/0.3.1/package.tgz
2236 silly lockFile c09d8303-el-npm-insight-0-3-1-package-tgz tar:///home/alectaylor/.npm/insight/0.3.1/package.tgz
2237 verbose linkBins [email protected]
2238 verbose linkMans [email protected]
2239 verbose rebuildBundles [email protected]
2240 info preinstall [email protected]
2241 silly lockFile b0ab5c7d-modules-bower-node-modules-osenv tar:///usr/local/lib/node_modules/bower/node_modules/osenv
2242 silly lockFile b0ab5c7d-modules-bower-node-modules-osenv tar:///usr/local/lib/node_modules/bower/node_modules/osenv
2243 info postinstall [email protected]
2244 info install [email protected]
2245 silly gunzTarPerm extractEntry test/pkg-component-json/component.json
2246 silly gunzTarPerm extractEntry test/pkg-dot-bower-json/.bower.json
2247 silly gunzTarPerm extractEntry test/.ignore
2248 verbose linkBins [email protected]
2249 verbose linkMans [email protected]
2250 verbose rebuildBundles [email protected]
2251 silly lockFile e20f0385-muel-npm-osenv-0-0-3-package-tgz tar:///home/alectaylor/.npm/osenv/0.0.3/package.tgz
2252 silly lockFile e20f0385-muel-npm-osenv-0-0-3-package-tgz tar:///home/alectaylor/.npm/osenv/0.0.3/package.tgz
2253 silly gunzTarPerm extractEntry lib/cookies.js
2254 silly gunzTarPerm extractEntry lib/copy.js
2255 info install [email protected]
2256 http 304 https://registry.npmjs.org/has-color
2257 silly registry.get cb [ 304,
2257 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
2257 silly registry.get server: 'Apache',
2257 silly registry.get via: '1.1 varnish',
2257 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:58 GMT',
2257 silly registry.get 'cache-control': 'max-age=30',
2257 silly registry.get etag: '"9ET1M9DE6H0H6XWCWO5IDMRTO"',
2257 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
2257 silly registry.get 'x-cache': 'HIT',
2257 silly registry.get 'x-cache-hits': '5',
2257 silly registry.get 'x-timer': 'S1402918396.144730,VS0,VE0',
2257 silly registry.get vary: 'Accept',
2257 silly registry.get 'content-length': '0',
2257 silly registry.get 'keep-alive': 'timeout=10, max=50',
2257 silly registry.get connection: 'Keep-Alive' } ]
2258 verbose etag has-color from cache
2259 silly gunzTarPerm extractEntry test/unsafe.js
2260 silly gunzTarPerm extractEntry test/symlinkme/file.js
2261 info postinstall [email protected]
2262 verbose readDependencies using package.json deps
2263 http 304 https://registry.npmjs.org/ansi-styles
2264 silly registry.get cb [ 304,
2264 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
2264 silly registry.get server: 'Apache',
2264 silly registry.get via: '1.1 varnish',
2264 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:44 GMT',
2264 silly registry.get 'cache-control': 'max-age=30',
2264 silly registry.get etag: '"UK3985B3MGET9EN8RXZGQQWF"',
2264 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
2264 silly registry.get 'x-cache': 'HIT',
2264 silly registry.get 'x-cache-hits': '9',
2264 silly registry.get 'x-timer': 'S1402918396.146552,VS0,VE0',
2264 silly registry.get vary: 'Accept',
2264 silly registry.get 'content-length': '0',
2264 silly registry.get 'keep-alive': 'timeout=10, max=50',
2264 silly registry.get connection: 'Keep-Alive' } ]
2265 verbose etag ansi-styles from cache
2266 info preinstall [email protected]
2267 verbose readDependencies using package.json deps
2268 info postinstall [email protected]
2269 http 304 https://registry.npmjs.org/strip-ansi
2270 silly registry.get cb [ 304,
2270 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
2270 silly registry.get server: 'Apache',
2270 silly registry.get via: '1.1 varnish',
2270 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:11 GMT',
2270 silly registry.get 'cache-control': 'max-age=30',
2270 silly registry.get etag: '"4E0EYSVMBNL39PXYIQ63C62UW"',
2270 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
2270 silly registry.get 'x-cache': 'HIT',
2270 silly registry.get 'x-cache-hits': '10',
2270 silly registry.get 'x-timer': 'S1402918396.155919,VS0,VE0',
2270 silly registry.get vary: 'Accept',
2270 silly registry.get 'content-length': '0',
2270 silly registry.get 'keep-alive': 'timeout=10, max=50',
2270 silly registry.get connection: 'Keep-Alive' } ]
2271 verbose etag strip-ansi from cache
2272 verbose cache add [ 'configstore@^0.3.0', null ]
2273 verbose cache add name=undefined spec="configstore@^0.3.0" args=["configstore@^0.3.0",null]
2274 verbose parsed url { protocol: null,
2274 verbose parsed url slashes: null,
2274 verbose parsed url auth: null,
2274 verbose parsed url host: null,
2274 verbose parsed url port: null,
2274 verbose parsed url hostname: null,
2274 verbose parsed url hash: null,
2274 verbose parsed url search: null,
2274 verbose parsed url query: null,
2274 verbose parsed url pathname: 'configstore@^0.3.0',
2274 verbose parsed url path: 'configstore@^0.3.0',
2274 verbose parsed url href: 'configstore@^0.3.0' }
2275 verbose cache add [ 'request@^2.36.0', null ]
2276 verbose cache add name=undefined spec="request@^2.36.0" args=["request@^2.36.0",null]
2277 verbose parsed url { protocol: null,
2277 verbose parsed url slashes: null,
2277 verbose parsed url auth: null,
2277 verbose parsed url host: null,
2277 verbose parsed url port: null,
2277 verbose parsed url hostname: null,
2277 verbose parsed url hash: null,
2277 verbose parsed url search: null,
2277 verbose parsed url query: null,
2277 verbose parsed url pathname: 'request@^2.36.0',
2277 verbose parsed url path: 'request@^2.36.0',
2277 verbose parsed url href: 'request@^2.36.0' }
2278 info preinstall [email protected]
2279 silly lockFile 9edeb23d-e-modules-bower-node-modules-opn tar:///usr/local/lib/node_modules/bower/node_modules/opn
2280 silly lockFile 9edeb23d-e-modules-bower-node-modules-opn tar:///usr/local/lib/node_modules/bower/node_modules/opn
2281 verbose cache add name="configstore" spec="^0.3.0" args=["configstore","^0.3.0"]
2282 verbose parsed url { protocol: null,
2282 verbose parsed url slashes: null,
2282 verbose parsed url auth: null,
2282 verbose parsed url host: null,
2282 verbose parsed url port: null,
2282 verbose parsed url hostname: null,
2282 verbose parsed url hash: null,
2282 verbose parsed url search: null,
2282 verbose parsed url query: null,
2282 verbose parsed url pathname: '^0.3.0',
2282 verbose parsed url path: '^0.3.0',
2282 verbose parsed url href: '^0.3.0' }
2283 verbose addNamed [ 'configstore', '^0.3.0' ]
2284 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
2285 silly lockFile 5d6e0360-configstore-0-3-0 configstore@^0.3.0
2286 verbose lock configstore@^0.3.0 /home/alectaylor/.npm/5d6e0360-configstore-0-3-0.lock
2287 verbose cache add [ 'semver@^2.3.0', null ]
2288 verbose cache add name=undefined spec="semver@^2.3.0" args=["semver@^2.3.0",null]
2289 verbose parsed url { protocol: null,
2289 verbose parsed url slashes: null,
2289 verbose parsed url auth: null,
2289 verbose parsed url host: null,
2289 verbose parsed url port: null,
2289 verbose parsed url hostname: null,
2289 verbose parsed url hash: null,
2289 verbose parsed url search: null,
2289 verbose parsed url query: null,
2289 verbose parsed url pathname: 'semver@^2.3.0',
2289 verbose parsed url path: 'semver@^2.3.0',
2289 verbose parsed url href: 'semver@^2.3.0' }
2290 verbose cache add name="request" spec="^2.36.0" args=["request","^2.36.0"]
2291 verbose parsed url { protocol: null,
2291 verbose parsed url slashes: null,
2291 verbose parsed url auth: null,
2291 verbose parsed url host: null,
2291 verbose parsed url port: null,
2291 verbose parsed url hostname: null,
2291 verbose parsed url hash: null,
2291 verbose parsed url search: null,
2291 verbose parsed url query: null,
2291 verbose parsed url pathname: '^2.36.0',
2291 verbose parsed url path: '^2.36.0',
2291 verbose parsed url href: '^2.36.0' }
2292 verbose addNamed [ 'request', '^2.36.0' ]
2293 verbose addNamed [ null, '>=2.36.0-0 <3.0.0-0' ]
2294 silly lockFile b70a8d49-request-2-36-0 request@^2.36.0
2295 verbose lock request@^2.36.0 /home/alectaylor/.npm/b70a8d49-request-2-36-0.lock
2296 verbose readDependencies using package.json deps
2297 silly lockFile 37ad077c-alectaylor-npm-opn-0-1-2-package-tgz tar:///home/alectaylor/.npm/opn/0.1.2/package.tgz
2298 silly lockFile 37ad077c-alectaylor-npm-opn-0-1-2-package-tgz tar:///home/alectaylor/.npm/opn/0.1.2/package.tgz
2299 verbose cache add name="semver" spec="^2.3.0" args=["semver","^2.3.0"]
2300 verbose parsed url { protocol: null,
2300 verbose parsed url slashes: null,
2300 verbose parsed url auth: null,
2300 verbose parsed url host: null,
2300 verbose parsed url port: null,
2300 verbose parsed url hostname: null,
2300 verbose parsed url hash: null,
2300 verbose parsed url search: null,
2300 verbose parsed url query: null,
2300 verbose parsed url pathname: '^2.3.0',
2300 verbose parsed url path: '^2.3.0',
2300 verbose parsed url href: '^2.3.0' }
2301 verbose addNamed [ 'semver', '^2.3.0' ]
2302 verbose addNamed [ null, '>=2.3.0-0 <3.0.0-0' ]
2303 silly lockFile 85d2d02f-semver-2-3-0 semver@^2.3.0
2304 verbose lock semver@^2.3.0 /home/alectaylor/.npm/85d2d02f-semver-2-3-0.lock
2305 verbose readDependencies using package.json deps
2306 silly addNameRange { name: 'configstore',
2306 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
2306 silly addNameRange hasData: false }
2307 silly addNameRange { name: 'request', range: '>=2.36.0-0 <3.0.0-0', hasData: false }
2308 verbose readDependencies using package.json deps
2309 silly addNameRange number 2 { name: 'has-color', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
2310 silly addNameRange versions [ 'has-color',
2310 silly addNameRange [ '0.1.0',
2310 silly addNameRange '0.1.1',
2310 silly addNameRange '0.1.2',
2310 silly addNameRange '0.1.3',
2310 silly addNameRange '0.1.4',
2310 silly addNameRange '0.1.5',
2310 silly addNameRange '0.1.6',
2310 silly addNameRange '0.1.7' ] ]
2311 verbose addNamed [ 'has-color', '0.1.7' ]
2312 verbose addNamed [ '0.1.7', '0.1.7' ]
2313 silly lockFile 397aab71-has-color-0-1-7 [email protected]
2314 verbose lock [email protected] /home/alectaylor/.npm/397aab71-has-color-0-1-7.lock
2315 verbose cache add [ 'lodash.debounce@~2.4.1', null ]
2316 verbose cache add name=undefined spec="lodash.debounce@~2.4.1" args=["lodash.debounce@~2.4.1",null]
2317 verbose parsed url { protocol: null,
2317 verbose parsed url slashes: null,
2317 verbose parsed url auth: null,
2317 verbose parsed url host: null,
2317 verbose parsed url port: null,
2317 verbose parsed url hostname: null,
2317 verbose parsed url hash: null,
2317 verbose parsed url search: null,
2317 verbose parsed url query: null,
2317 verbose parsed url pathname: 'lodash.debounce@~2.4.1',
2317 verbose parsed url path: 'lodash.debounce@~2.4.1',
2317 verbose parsed url href: 'lodash.debounce@~2.4.1' }
2318 silly addNameRange { name: 'semver', range: '>=2.3.0-0 <3.0.0-0', hasData: false }
2319 verbose readDependencies using package.json deps
2320 silly resolved []
2321 verbose about to build /usr/local/lib/node_modules/bower/node_modules/osenv
2322 info build /usr/local/lib/node_modules/bower/node_modules/osenv
2323 verbose linkStuff [ true,
2323 verbose linkStuff '/usr/local/lib/node_modules',
2323 verbose linkStuff false,
2323 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2324 info linkStuff [email protected]
2325 silly gunzTarPerm extractEntry lib/debug.js
2326 silly gunzTarPerm extractEntry lib/getSafe.js
2327 silly addNameRange number 2 { name: 'ansi-styles',
2327 silly addNameRange range: '>=1.0.0-0 <1.1.0-0',
2327 silly addNameRange hasData: true }
2328 silly addNameRange versions [ 'ansi-styles',
2328 silly addNameRange [ '0.1.0', '0.1.1', '0.1.2', '0.2.0', '1.0.0', '1.1.0' ] ]
2329 verbose addNamed [ 'ansi-styles', '1.0.0' ]
2330 verbose addNamed [ '1.0.0', '1.0.0' ]
2331 silly lockFile 92057bb9-ansi-styles-1-0-0 [email protected]
2332 verbose lock [email protected] /home/alectaylor/.npm/92057bb9-ansi-styles-1-0-0.lock
2333 verbose cache add name="lodash.debounce" spec="~2.4.1" args=["lodash.debounce","~2.4.1"]
2334 verbose parsed url { protocol: null,
2334 verbose parsed url slashes: null,
2334 verbose parsed url auth: null,
2334 verbose parsed url host: null,
2334 verbose parsed url port: null,
2334 verbose parsed url hostname: null,
2334 verbose parsed url hash: null,
2334 verbose parsed url search: null,
2334 verbose parsed url query: null,
2334 verbose parsed url pathname: '~2.4.1',
2334 verbose parsed url path: '~2.4.1',
2334 verbose parsed url href: '~2.4.1' }
2335 verbose addNamed [ 'lodash.debounce', '~2.4.1' ]
2336 verbose addNamed [ null, '>=2.4.1-0 <2.5.0-0' ]
2337 silly lockFile c867b369-lodash-debounce-2-4-1 lodash.debounce@~2.4.1
2338 verbose lock lodash.debounce@~2.4.1 /home/alectaylor/.npm/c867b369-lodash-debounce-2-4-1.lock
2339 verbose cache add [ 'request@~2.27.0', null ]
2340 verbose cache add name=undefined spec="request@~2.27.0" args=["request@~2.27.0",null]
2341 verbose parsed url { protocol: null,
2341 verbose parsed url slashes: null,
2341 verbose parsed url auth: null,
2341 verbose parsed url host: null,
2341 verbose parsed url port: null,
2341 verbose parsed url hostname: null,
2341 verbose parsed url hash: null,
2341 verbose parsed url search: null,
2341 verbose parsed url query: null,
2341 verbose parsed url pathname: 'request@~2.27.0',
2341 verbose parsed url path: 'request@~2.27.0',
2341 verbose parsed url href: 'request@~2.27.0' }
2342 verbose cache add [ 'configstore@~0.2.1', null ]
2343 verbose cache add name=undefined spec="configstore@~0.2.1" args=["configstore@~0.2.1",null]
2344 verbose parsed url { protocol: null,
2344 verbose parsed url slashes: null,
2344 verbose parsed url auth: null,
2344 verbose parsed url host: null,
2344 verbose parsed url port: null,
2344 verbose parsed url hostname: null,
2344 verbose parsed url hash: null,
2344 verbose parsed url search: null,
2344 verbose parsed url query: null,
2344 verbose parsed url pathname: 'configstore@~0.2.1',
2344 verbose parsed url path: 'configstore@~0.2.1',
2344 verbose parsed url href: 'configstore@~0.2.1' }
2345 verbose cache add [ 'async@~0.2.9', null ]
2346 verbose cache add name=undefined spec="async@~0.2.9" args=["async@~0.2.9",null]
2347 verbose parsed url { protocol: null,
2347 verbose parsed url slashes: null,
2347 verbose parsed url auth: null,
2347 verbose parsed url host: null,
2347 verbose parsed url port: null,
2347 verbose parsed url hostname: null,
2347 verbose parsed url hash: null,
2347 verbose parsed url search: null,
2347 verbose parsed url query: null,
2347 verbose parsed url pathname: 'async@~0.2.9',
2347 verbose parsed url path: 'async@~0.2.9',
2347 verbose parsed url href: 'async@~0.2.9' }
2348 verbose cache add [ 'object-assign@~0.1.2', null ]
2349 verbose cache add name=undefined spec="object-assign@~0.1.2" args=["object-assign@~0.1.2",null]
2350 verbose parsed url { protocol: null,
2350 verbose parsed url slashes: null,
2350 verbose parsed url auth: null,
2350 verbose parsed url host: null,
2350 verbose parsed url port: null,
2350 verbose parsed url hostname: null,
2350 verbose parsed url hash: null,
2350 verbose parsed url search: null,
2350 verbose parsed url query: null,
2350 verbose parsed url pathname: 'object-assign@~0.1.2',
2350 verbose parsed url path: 'object-assign@~0.1.2',
2350 verbose parsed url href: 'object-assign@~0.1.2' }
2351 info preinstall [email protected]
2352 silly addNameRange number 2 { name: 'strip-ansi',
2352 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
2352 silly addNameRange hasData: true }
2353 silly addNameRange versions [ 'strip-ansi',
2353 silly addNameRange [ '0.1.0', '0.1.1', '0.2.0', '0.2.1', '0.2.2' ] ]
2354 verbose addNamed [ 'strip-ansi', '0.1.1' ]
2355 verbose addNamed [ '0.1.1', '0.1.1' ]
2356 silly lockFile ed6fc536-strip-ansi-0-1-1 [email protected]
2357 verbose lock [email protected] /home/alectaylor/.npm/ed6fc536-strip-ansi-0-1-1.lock
2358 verbose cache add name="request" spec="~2.27.0" args=["request","~2.27.0"]
2359 verbose parsed url { protocol: null,
2359 verbose parsed url slashes: null,
2359 verbose parsed url auth: null,
2359 verbose parsed url host: null,
2359 verbose parsed url port: null,
2359 verbose parsed url hostname: null,
2359 verbose parsed url hash: null,
2359 verbose parsed url search: null,
2359 verbose parsed url query: null,
2359 verbose parsed url pathname: '~2.27.0',
2359 verbose parsed url path: '~2.27.0',
2359 verbose parsed url href: '~2.27.0' }
2360 verbose addNamed [ 'request', '~2.27.0' ]
2361 verbose addNamed [ null, '>=2.27.0-0 <2.28.0-0' ]
2362 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
2363 verbose lock request@~2.27.0 /home/alectaylor/.npm/999b8a1d-request-2-27-0.lock
2364 verbose cache add name="configstore" spec="~0.2.1" args=["configstore","~0.2.1"]
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: '~0.2.1',
2365 verbose parsed url path: '~0.2.1',
2365 verbose parsed url href: '~0.2.1' }
2366 verbose addNamed [ 'configstore', '~0.2.1' ]
2367 verbose addNamed [ null, '>=0.2.1-0 <0.3.0-0' ]
2368 silly lockFile 8979d531-configstore-0-2-1 configstore@~0.2.1
2369 verbose lock configstore@~0.2.1 /home/alectaylor/.npm/8979d531-configstore-0-2-1.lock
2370 verbose cache add name="async" spec="~0.2.9" args=["async","~0.2.9"]
2371 verbose parsed url { protocol: null,
2371 verbose parsed url slashes: null,
2371 verbose parsed url auth: null,
2371 verbose parsed url host: null,
2371 verbose parsed url port: null,
2371 verbose parsed url hostname: null,
2371 verbose parsed url hash: null,
2371 verbose parsed url search: null,
2371 verbose parsed url query: null,
2371 verbose parsed url pathname: '~0.2.9',
2371 verbose parsed url path: '~0.2.9',
2371 verbose parsed url href: '~0.2.9' }
2372 verbose addNamed [ 'async', '~0.2.9' ]
2373 verbose addNamed [ null, '>=0.2.9-0 <0.3.0-0' ]
2374 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
2375 verbose lock async@~0.2.9 /home/alectaylor/.npm/5d51c871-async-0-2-9.lock
2376 verbose cache add name="object-assign" spec="~0.1.2" args=["object-assign","~0.1.2"]
2377 verbose parsed url { protocol: null,
2377 verbose parsed url slashes: null,
2377 verbose parsed url auth: null,
2377 verbose parsed url host: null,
2377 verbose parsed url port: null,
2377 verbose parsed url hostname: null,
2377 verbose parsed url hash: null,
2377 verbose parsed url search: null,
2377 verbose parsed url query: null,
2377 verbose parsed url pathname: '~0.1.2',
2377 verbose parsed url path: '~0.1.2',
2377 verbose parsed url href: '~0.1.2' }
2378 verbose addNamed [ 'object-assign', '~0.1.2' ]
2379 verbose addNamed [ null, '>=0.1.2-0 <0.2.0-0' ]
2380 silly lockFile 7ab388c0-object-assign-0-1-2 object-assign@~0.1.2
2381 verbose lock object-assign@~0.1.2 /home/alectaylor/.npm/7ab388c0-object-assign-0-1-2.lock
2382 verbose linkBins [email protected]
2383 verbose linkMans [email protected]
2384 verbose rebuildBundles [email protected]
2385 silly addNameRange { name: 'lodash.debounce',
2385 silly addNameRange range: '>=2.4.1-0 <2.5.0-0',
2385 silly addNameRange hasData: false }
2386 info install [email protected]
2387 verbose url raw configstore
2388 verbose url resolving [ 'https://registry.npmjs.org/', './configstore' ]
2389 verbose url resolved https://registry.npmjs.org/configstore
2390 info trying registry request attempt 1 at 11:33:16
2391 verbose etag "7J5Q7XMBIRVKVUHXVHARFF6J1"
2392 http GET https://registry.npmjs.org/configstore
2393 silly addNameRange { name: 'request',
2393 silly addNameRange range: '>=2.27.0-0 <2.28.0-0',
2393 silly addNameRange hasData: false }
2394 silly addNameRange { name: 'configstore',
2394 silly addNameRange range: '>=0.2.1-0 <0.3.0-0',
2394 silly addNameRange hasData: false }
2395 silly addNameRange { name: 'async', range: '>=0.2.9-0 <0.3.0-0', hasData: false }
2396 silly addNameRange { name: 'object-assign',
2396 silly addNameRange range: '>=0.1.2-0 <0.2.0-0',
2396 silly addNameRange hasData: false }
2397 verbose registry.get request not expired, no request
2398 silly addNameRange number 2 { name: 'request', range: '>=2.36.0-0 <3.0.0-0', hasData: true }
2399 silly addNameRange versions [ 'request',
2399 silly addNameRange [ '0.10.0',
2399 silly addNameRange '0.8.3',
2399 silly addNameRange '0.9.0',
2399 silly addNameRange '0.9.1',
2399 silly addNameRange '0.9.5',
2399 silly addNameRange '1.0.0',
2399 silly addNameRange '1.1.0',
2399 silly addNameRange '1.1.1',
2399 silly addNameRange '1.2.0',
2399 silly addNameRange '1.9.0',
2399 silly addNameRange '1.9.1',
2399 silly addNameRange '1.9.2',
2399 silly addNameRange '1.9.3',
2399 silly addNameRange '1.9.5',
2399 silly addNameRange '1.9.7',
2399 silly addNameRange '1.9.8',
2399 silly addNameRange '1.9.9',
2399 silly addNameRange '2.0.0',
2399 silly addNameRange '2.0.1',
2399 silly addNameRange '2.0.2',
2399 silly addNameRange '2.0.3',
2399 silly addNameRange '2.0.4',
2399 silly addNameRange '2.0.5',
2399 silly addNameRange '2.1.0',
2399 silly addNameRange '2.1.1',
2399 silly addNameRange '2.2.0',
2399 silly addNameRange '2.2.5',
2399 silly addNameRange '2.2.6',
2399 silly addNameRange '2.2.9',
2399 silly addNameRange '2.9.0',
2399 silly addNameRange '2.9.1',
2399 silly addNameRange '2.9.2',
2399 silly addNameRange '2.9.3',
2399 silly addNameRange '2.9.100',
2399 silly addNameRange '2.9.150',
2399 silly addNameRange '2.9.151',
2399 silly addNameRange '2.9.152',
2399 silly addNameRange '2.9.153',
2399 silly addNameRange '2.9.200',
2399 silly addNameRange '2.9.201',
2399 silly addNameRange '2.9.202',
2399 silly addNameRange '2.9.203',
2399 silly addNameRange '2.10.0',
2399 silly addNameRange '2.11.0',
2399 silly addNameRange '2.11.1',
2399 silly addNameRange '2.11.2',
2399 silly addNameRange '2.11.3',
2399 silly addNameRange '2.11.4',
2399 silly addNameRange '2.12.0',
2399 silly addNameRange '2.14.0',
2399 silly addNameRange '2.16.0',
2399 silly addNameRange '2.16.2',
2399 silly addNameRange '2.16.4',
2399 silly addNameRange '2.16.6',
2399 silly addNameRange '2.18.0',
2399 silly addNameRange '2.19.0',
2399 silly addNameRange '2.20.0',
2399 silly addNameRange '2.21.0',
2399 silly addNameRange '2.22.0',
2399 silly addNameRange '2.23.0',
2399 silly addNameRange '2.24.0',
2399 silly addNameRange '2.25.0',
2399 silly addNameRange '2.26.0',
2399 silly addNameRange '2.27.0',
2399 silly addNameRange '2.28.0',
2399 silly addNameRange '2.29.0',
2399 silly addNameRange '2.30.0',
2399 silly addNameRange '2.31.0',
2399 silly addNameRange '2.32.0',
2399 silly addNameRange '2.33.0',
2399 silly addNameRange '2.34.0',
2399 silly addNameRange '2.35.0',
2399 silly addNameRange '2.36.0' ] ]
2400 verbose addNamed [ 'request', '2.36.0' ]
2401 verbose addNamed [ '2.36.0', '2.36.0' ]
2402 silly lockFile 56e6d156-request-2-36-0 [email protected]
2403 verbose lock [email protected] /home/alectaylor/.npm/56e6d156-request-2-36-0.lock
2404 verbose readDependencies using package.json deps
2405 silly gunzTarPerm extractEntry lib/prompts/password.js
2406 silly gunzTarPerm extractEntry lib/prompts/rawlist.js
2407 verbose registry.get semver not expired, no request
2408 silly addNameRange number 2 { name: 'semver', range: '>=2.3.0-0 <3.0.0-0', hasData: true }
2409 silly addNameRange versions [ 'semver',
2409 silly addNameRange [ '1.0.0',
2409 silly addNameRange '1.0.1',
2409 silly addNameRange '1.0.2',
2409 silly addNameRange '1.0.3',
2409 silly addNameRange '1.0.4',
2409 silly addNameRange '1.0.5',
2409 silly addNameRange '1.0.6',
2409 silly addNameRange '1.0.7',
2409 silly addNameRange '1.0.8',
2409 silly addNameRange '1.0.9',
2409 silly addNameRange '1.0.10',
2409 silly addNameRange '1.0.11',
2409 silly addNameRange '1.0.12',
2409 silly addNameRange '1.0.13',
2409 silly addNameRange '1.0.14',
2409 silly addNameRange '1.1.0',
2409 silly addNameRange '1.1.1',
2409 silly addNameRange '1.1.2',
2409 silly addNameRange '1.1.3',
2409 silly addNameRange '1.1.4',
2409 silly addNameRange '2.0.0-alpha',
2409 silly addNameRange '2.0.0-beta',
2409 silly addNameRange '2.0.1',
2409 silly addNameRange '2.0.2',
2409 silly addNameRange '2.0.3',
2409 silly addNameRange '2.0.4',
2409 silly addNameRange '2.0.5',
2409 silly addNameRange '2.0.6',
2409 silly addNameRange '2.0.7',
2409 silly addNameRange '2.0.8',
2409 silly addNameRange '2.0.9',
2409 silly addNameRange '2.0.10',
2409 silly addNameRange '2.0.11',
2409 silly addNameRange '2.1.0',
2409 silly addNameRange '2.2.0',
2409 silly addNameRange '2.2.1',
2409 silly addNameRange '2.3.0' ] ]
2410 verbose addNamed [ 'semver', '2.3.0' ]
2411 verbose addNamed [ '2.3.0', '2.3.0' ]
2412 silly lockFile 71b0cc45-semver-2-3-0 [email protected]
2413 verbose lock [email protected] /home/alectaylor/.npm/71b0cc45-semver-2-3-0.lock
2414 info postinstall [email protected]
2415 verbose readDependencies using package.json deps
2416 silly resolved []
2417 verbose about to build /usr/local/lib/node_modules/bower/node_modules/opn
2418 info build /usr/local/lib/node_modules/bower/node_modules/opn
2419 verbose linkStuff [ true,
2419 verbose linkStuff '/usr/local/lib/node_modules',
2419 verbose linkStuff false,
2419 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2420 info linkStuff [email protected]
2421 silly lockFile ac70db34-modules-bower-node-modules-archy tar:///usr/local/lib/node_modules/bower/node_modules/archy
2422 silly lockFile ac70db34-modules-bower-node-modules-archy tar:///usr/local/lib/node_modules/bower/node_modules/archy
2423 verbose linkBins [email protected]
2424 verbose link bins [ { opn: 'cli.js' },
2424 verbose link bins '/usr/local/lib/node_modules/bower/node_modules/.bin',
2424 verbose link bins false ]
2425 verbose linkMans [email protected]
2426 verbose rebuildBundles [email protected]
2427 silly lockFile 9ed4ded5-muel-npm-archy-0-0-2-package-tgz tar:///home/alectaylor/.npm/archy/0.0.2/package.tgz
2428 silly lockFile 9ed4ded5-muel-npm-archy-0-0-2-package-tgz tar:///home/alectaylor/.npm/archy/0.0.2/package.tgz
2429 silly gunzTarPerm extractEntry test-all.sh
2430 silly lockFile 397aab71-has-color-0-1-7 [email protected]
2431 silly lockFile 397aab71-has-color-0-1-7 [email protected]
2432 verbose url raw lodash.debounce
2433 verbose url resolving [ 'https://registry.npmjs.org/', './lodash.debounce' ]
2434 verbose url resolved https://registry.npmjs.org/lodash.debounce
2435 info trying registry request attempt 1 at 11:33:16
2436 verbose etag "AJ9AHM25PBDQ55M7D2IYDV5KM"
2437 http GET https://registry.npmjs.org/lodash.debounce
2438 silly lockFile 683e7957-er-node-modules-request-progress tar:///usr/local/lib/node_modules/bower/node_modules/request-progress
2439 silly lockFile 683e7957-er-node-modules-request-progress tar:///usr/local/lib/node_modules/bower/node_modules/request-progress
2440 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
2441 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
2442 silly lockFile 92057bb9-ansi-styles-1-0-0 [email protected]
2443 silly lockFile 92057bb9-ansi-styles-1-0-0 [email protected]
2444 verbose registry.get request not expired, no request
2445 silly addNameRange number 2 { name: 'request', range: '>=2.27.0-0 <2.28.0-0', hasData: true }
2446 silly addNameRange versions [ 'request',
2446 silly addNameRange [ '0.10.0',
2446 silly addNameRange '0.8.3',
2446 silly addNameRange '0.9.0',
2446 silly addNameRange '0.9.1',
2446 silly addNameRange '0.9.5',
2446 silly addNameRange '1.0.0',
2446 silly addNameRange '1.1.0',
2446 silly addNameRange '1.1.1',
2446 silly addNameRange '1.2.0',
2446 silly addNameRange '1.9.0',
2446 silly addNameRange '1.9.1',
2446 silly addNameRange '1.9.2',
2446 silly addNameRange '1.9.3',
2446 silly addNameRange '1.9.5',
2446 silly addNameRange '1.9.7',
2446 silly addNameRange '1.9.8',
2446 silly addNameRange '1.9.9',
2446 silly addNameRange '2.0.0',
2446 silly addNameRange '2.0.1',
2446 silly addNameRange '2.0.2',
2446 silly addNameRange '2.0.3',
2446 silly addNameRange '2.0.4',
2446 silly addNameRange '2.0.5',
2446 silly addNameRange '2.1.0',
2446 silly addNameRange '2.1.1',
2446 silly addNameRange '2.2.0',
2446 silly addNameRange '2.2.5',
2446 silly addNameRange '2.2.6',
2446 silly addNameRange '2.2.9',
2446 silly addNameRange '2.9.0',
2446 silly addNameRange '2.9.1',
2446 silly addNameRange '2.9.2',
2446 silly addNameRange '2.9.3',
2446 silly addNameRange '2.9.100',
2446 silly addNameRange '2.9.150',
2446 silly addNameRange '2.9.151',
2446 silly addNameRange '2.9.152',
2446 silly addNameRange '2.9.153',
2446 silly addNameRange '2.9.200',
2446 silly addNameRange '2.9.201',
2446 silly addNameRange '2.9.202',
2446 silly addNameRange '2.9.203',
2446 silly addNameRange '2.10.0',
2446 silly addNameRange '2.11.0',
2446 silly addNameRange '2.11.1',
2446 silly addNameRange '2.11.2',
2446 silly addNameRange '2.11.3',
2446 silly addNameRange '2.11.4',
2446 silly addNameRange '2.12.0',
2446 silly addNameRange '2.14.0',
2446 silly addNameRange '2.16.0',
2446 silly addNameRange '2.16.2',
2446 silly addNameRange '2.16.4',
2446 silly addNameRange '2.16.6',
2446 silly addNameRange '2.18.0',
2446 silly addNameRange '2.19.0',
2446 silly addNameRange '2.20.0',
2446 silly addNameRange '2.21.0',
2446 silly addNameRange '2.22.0',
2446 silly addNameRange '2.23.0',
2446 silly addNameRange '2.24.0',
2446 silly addNameRange '2.25.0',
2446 silly addNameRange '2.26.0',
2446 silly addNameRange '2.27.0',
2446 silly addNameRange '2.28.0',
2446 silly addNameRange '2.29.0',
2446 silly addNameRange '2.30.0',
2446 silly addNameRange '2.31.0',
2446 silly addNameRange '2.32.0',
2446 silly addNameRange '2.33.0',
2446 silly addNameRange '2.34.0',
2446 silly addNameRange '2.35.0',
2446 silly addNameRange '2.36.0' ] ]
2447 verbose addNamed [ 'request', '2.27.0' ]
2448 verbose addNamed [ '2.27.0', '2.27.0' ]
2449 silly lockFile 7b48fbe0-request-2-27-0 [email protected]
2450 verbose lock [email protected] /home/alectaylor/.npm/7b48fbe0-request-2-27-0.lock
2451 verbose url raw configstore
2452 verbose url resolving [ 'https://registry.npmjs.org/', './configstore' ]
2453 verbose url resolved https://registry.npmjs.org/configstore
2454 info trying registry request attempt 1 at 11:33:16
2455 verbose etag "7J5Q7XMBIRVKVUHXVHARFF6J1"
2456 http GET https://registry.npmjs.org/configstore
2457 verbose url raw async
2458 verbose url resolving [ 'https://registry.npmjs.org/', './async' ]
2459 verbose url resolved https://registry.npmjs.org/async
2460 info trying registry request attempt 1 at 11:33:16
2461 verbose etag "CIW2AQEJLGDJ1SITA29H2YRN3"
2462 http GET https://registry.npmjs.org/async
2463 verbose url raw object-assign
2464 verbose url resolving [ 'https://registry.npmjs.org/', './object-assign' ]
2465 verbose url resolved https://registry.npmjs.org/object-assign
2466 info trying registry request attempt 1 at 11:33:16
2467 verbose etag "6BQC2FXYR4Q3O2OCKTOL4T7YA"
2468 http GET https://registry.npmjs.org/object-assign
2469 silly lockFile 2e4e3662-quest-progress-0-3-1-package-tgz tar:///home/alectaylor/.npm/request-progress/0.3.1/package.tgz
2470 silly lockFile 2e4e3662-quest-progress-0-3-1-package-tgz tar:///home/alectaylor/.npm/request-progress/0.3.1/package.tgz
2471 silly lockFile 82a4f1f6-ansi-styles-1-0-0 ansi-styles@~1.0.0
2472 silly lockFile 82a4f1f6-ansi-styles-1-0-0 ansi-styles@~1.0.0
2473 silly lockFile ed6fc536-strip-ansi-0-1-1 [email protected]
2474 silly lockFile ed6fc536-strip-ansi-0-1-1 [email protected]
2475 silly lockFile 02d16c1c-s-bower-node-modules-graceful-fs tar:///usr/local/lib/node_modules/bower/node_modules/graceful-fs
2476 silly lockFile 02d16c1c-s-bower-node-modules-graceful-fs tar:///usr/local/lib/node_modules/bower/node_modules/graceful-fs
2477 silly lockFile 0cdb0eaa-strip-ansi-0-1-0 strip-ansi@~0.1.0
2478 silly lockFile 0cdb0eaa-strip-ansi-0-1-0 strip-ansi@~0.1.0
2479 info preinstall [email protected]
2480 silly lockFile 612cbd62-pm-graceful-fs-2-0-3-package-tgz tar:///home/alectaylor/.npm/graceful-fs/2.0.3/package.tgz
2481 silly lockFile 612cbd62-pm-graceful-fs-2-0-3-package-tgz tar:///home/alectaylor/.npm/graceful-fs/2.0.3/package.tgz
2482 silly lockFile 56e6d156-request-2-36-0 [email protected]
2483 silly lockFile 56e6d156-request-2-36-0 [email protected]
2484 silly gunzTarPerm extractEntry lib/ui/baseUI.js
2485 silly gunzTarPerm extractEntry lib/ui/bottom-bar.js
2486 silly lockFile b70a8d49-request-2-36-0 request@^2.36.0
2487 silly lockFile b70a8d49-request-2-36-0 request@^2.36.0
2488 silly lockFile 71b0cc45-semver-2-3-0 [email protected]
2489 silly lockFile 71b0cc45-semver-2-3-0 [email protected]
2490 info preinstall [email protected]
2491 silly lockFile 85d2d02f-semver-2-3-0 semver@^2.3.0
2492 silly lockFile 85d2d02f-semver-2-3-0 semver@^2.3.0
2493 info install [email protected]
2494 verbose readDependencies using package.json deps
2495 verbose readDependencies using package.json deps
2496 silly resolved []
2497 verbose about to build /usr/local/lib/node_modules/bower/node_modules/archy
2498 info build /usr/local/lib/node_modules/bower/node_modules/archy
2499 verbose linkStuff [ true,
2499 verbose linkStuff '/usr/local/lib/node_modules',
2499 verbose linkStuff false,
2499 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2500 info linkStuff [email protected]
2501 info preinstall [email protected]
2502 info postinstall [email protected]
2503 verbose readDependencies using package.json deps
2504 silly gunzTarPerm extractEntry lib/optional.js
2505 silly lockFile 7b48fbe0-request-2-27-0 [email protected]
2506 silly lockFile 7b48fbe0-request-2-27-0 [email protected]
2507 verbose readDependencies using package.json deps
2508 verbose linkBins [email protected]
2509 verbose linkMans [email protected]
2510 verbose rebuildBundles [email protected]
2511 silly lockFile 3f1f33f8-ules-bower-node-modules-lockfile tar:///usr/local/lib/node_modules/bower/node_modules/lockfile
2512 silly lockFile 3f1f33f8-ules-bower-node-modules-lockfile tar:///usr/local/lib/node_modules/bower/node_modules/lockfile
2513 silly resolved [ { name: 'has-color',
2513 silly resolved version: '0.1.7',
2513 silly resolved description: 'Detect whether a terminal supports color',
2513 silly resolved license: 'MIT',
2513 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/has-color' },
2513 silly resolved author:
2513 silly resolved { name: 'Sindre Sorhus',
2513 silly resolved email: '[email protected]',
2513 silly resolved url: 'http://sindresorhus.com' },
2513 silly resolved engines: { node: '>=0.10.0' },
2513 silly resolved scripts: { test: 'mocha' },
2513 silly resolved files: [ 'index.js' ],
2513 silly resolved keywords:
2513 silly resolved [ 'color',
2513 silly resolved 'colour',
2513 silly resolved 'colors',
2513 silly resolved 'terminal',
2513 silly resolved 'console',
2513 silly resolved 'cli',
2513 silly resolved 'ansi',
2513 silly resolved 'styles',
2513 silly resolved 'tty',
2513 silly resolved 'rgb',
2513 silly resolved '256',
2513 silly resolved 'shell',
2513 silly resolved 'xterm',
2513 silly resolved 'command-line',
2513 silly resolved 'support',
2513 silly resolved 'capability',
2513 silly resolved 'detect' ],
2513 silly resolved devDependencies: { mocha: '*' },
2513 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',
2513 silly resolved readmeFilename: 'readme.md',
2513 silly resolved bugs: { url: 'https://github.com/sindresorhus/has-color/issues' },
2513 silly resolved homepage: 'https://github.com/sindresorhus/has-color',
2513 silly resolved _id: '[email protected]',
2513 silly resolved _from: 'has-color@~0.1.0' },
2513 silly resolved { name: 'ansi-styles',
2513 silly resolved version: '1.0.0',
2513 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
2513 silly resolved keywords:
2513 silly resolved [ 'ansi',
2513 silly resolved 'styles',
2513 silly resolved 'color',
2513 silly resolved 'colour',
2513 silly resolved 'colors',
2513 silly resolved 'terminal',
2513 silly resolved 'console',
2513 silly resolved 'cli',
2513 silly resolved 'string',
2513 silly resolved 'tty',
2513 silly resolved 'escape',
2513 silly resolved 'formatting',
2513 silly resolved 'rgb',
2513 silly resolved '256',
2513 silly resolved 'shell',
2513 silly resolved 'xterm',
2513 silly resolved 'log',
2513 silly resolved 'logging',
2513 silly resolved 'command-line',
2513 silly resolved 'text' ],
2513 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
2513 silly resolved bugs: { url: 'https://github.com/sindresorhus/ansi-styles/issues' },
2513 silly resolved license: 'MIT',
2513 silly resolved author:
2513 silly resolved { name: 'Sindre Sorhus',
2513 silly resolved email: '[email protected]',
2513 silly resolved url: 'http://sindresorhus.com' },
2513 silly resolved files: [ 'ansi-styles.js' ],
2513 silly resolved main: 'ansi-styles',
2513 silly resolved repository:
2513 silly resolved { type: 'git',
2513 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
2513 silly resolved scripts: { test: 'mocha' },
2513 silly resolved devDependencies: { mocha: '~1.12.0' },
2513 silly resolved engines: { node: '>=0.8.0' },
2513 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',
2513 silly resolved readmeFilename: 'readme.md',
2513 silly resolved _id: '[email protected]',
2513 silly resolved _from: 'ansi-styles@~1.0.0' },
2513 silly resolved { name: 'strip-ansi',
2513 silly resolved version: '0.1.1',
2513 silly resolved description: 'Strip ANSI escape codes (used for colorizing strings in the terminal)',
2513 silly resolved license: 'MIT',
2513 silly resolved bin: { 'strip-ansi': 'cli.js' },
2513 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/strip-ansi' },
2513 silly resolved author:
2513 silly resolved { name: 'Sindre Sorhus',
2513 silly resolved email: '[email protected]',
2513 silly resolved url: 'http://sindresorhus.com' },
2513 silly resolved engines: { node: '>=0.8.0' },
2513 silly resolved scripts: { test: 'mocha' },
2513 silly resolved files: [ 'index.js', 'cli.js' ],
2513 silly resolved keywords:
2513 silly resolved [ 'strip',
2513 silly resolved 'trim',
2513 silly resolved 'remove',
2513 silly resolved 'ansi',
2513 silly resolved 'styles',
2513 silly resolved 'color',
2513 silly resolved 'colour',
2513 silly resolved 'colors',
2513 silly resolved 'terminal',
2513 silly resolved 'console',
2513 silly resolved 'cli',
2513 silly resolved 'string',
2513 silly resolved 'tty',
2513 silly resolved 'escape',
2513 silly resolved 'formatting',
2513 silly resolved 'rgb',
2513 silly resolved '256',
2513 silly resolved 'shell',
2513 silly resolved 'xterm',
2513 silly resolved 'log',
2513 silly resolved 'logging',
2513 silly resolved 'command-line',
2513 silly resolved 'text' ],
2513 silly resolved devDependencies: { mocha: '~1.x' },
2513 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',
2513 silly resolved readmeFilename: 'readme.md',
2513 silly resolved bugs: { url: 'https://github.com/sindresorhus/strip-ansi/issues' },
2513 silly resolved homepage: 'https://github.com/sindresorhus/strip-ansi',
2513 silly resolved _id: '[email protected]',
2513 silly resolved _from: 'strip-ansi@~0.1.0' } ]
2514 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/chalk
2515 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/chalk
2516 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/chalk
2517 info installOne [email protected]
2518 info installOne [email protected]
2519 info installOne [email protected]
2520 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
2521 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
2522 info install [email protected]
2523 silly lockFile d5f908eb-l-npm-lockfile-0-4-2-package-tgz tar:///home/alectaylor/.npm/lockfile/0.4.2/package.tgz
2524 silly lockFile d5f908eb-l-npm-lockfile-0-4-2-package-tgz tar:///home/alectaylor/.npm/lockfile/0.4.2/package.tgz
2525 verbose readDependencies using package.json deps
2526 http 304 https://registry.npmjs.org/configstore
2527 silly registry.get cb [ 304,
2527 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
2527 silly registry.get server: 'Apache',
2527 silly registry.get via: '1.1 varnish',
2527 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:58 GMT',
2527 silly registry.get 'cache-control': 'max-age=30',
2527 silly registry.get etag: '"7J5Q7XMBIRVKVUHXVHARFF6J1"',
2527 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
2527 silly registry.get 'x-cache': 'HIT',
2527 silly registry.get 'x-cache-hits': '3',
2527 silly registry.get 'x-timer': 'S1402918396.344135,VS0,VE0',
2527 silly registry.get vary: 'Accept',
2527 silly registry.get 'content-length': '0',
2527 silly registry.get 'keep-alive': 'timeout=10, max=50',
2527 silly registry.get connection: 'Keep-Alive' } ]
2528 verbose etag configstore from cache
2529 verbose cache add [ 'throttleit@~0.0.2', null ]
2530 verbose cache add name=undefined spec="throttleit@~0.0.2" args=["throttleit@~0.0.2",null]
2531 verbose parsed url { protocol: null,
2531 verbose parsed url slashes: null,
2531 verbose parsed url auth: null,
2531 verbose parsed url host: null,
2531 verbose parsed url port: null,
2531 verbose parsed url hostname: null,
2531 verbose parsed url hash: null,
2531 verbose parsed url search: null,
2531 verbose parsed url query: null,
2531 verbose parsed url pathname: 'throttleit@~0.0.2',
2531 verbose parsed url path: 'throttleit@~0.0.2',
2531 verbose parsed url href: 'throttleit@~0.0.2' }
2532 info /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/has-color unbuild
2533 info /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles unbuild
2534 info /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi unbuild
2535 verbose readDependencies using package.json deps
2536 silly resolved []
2537 verbose about to build /usr/local/lib/node_modules/bower/node_modules/graceful-fs
2538 info build /usr/local/lib/node_modules/bower/node_modules/graceful-fs
2539 verbose linkStuff [ true,
2539 verbose linkStuff '/usr/local/lib/node_modules',
2539 verbose linkStuff false,
2539 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2540 info linkStuff [email protected]
2541 verbose cache add name="throttleit" spec="~0.0.2" args=["throttleit","~0.0.2"]
2542 verbose parsed url { protocol: null,
2542 verbose parsed url slashes: null,
2542 verbose parsed url auth: null,
2542 verbose parsed url host: null,
2542 verbose parsed url port: null,
2542 verbose parsed url hostname: null,
2542 verbose parsed url hash: null,
2542 verbose parsed url search: null,
2542 verbose parsed url query: null,
2542 verbose parsed url pathname: '~0.0.2',
2542 verbose parsed url path: '~0.0.2',
2542 verbose parsed url href: '~0.0.2' }
2543 verbose addNamed [ 'throttleit', '~0.0.2' ]
2544 verbose addNamed [ null, '>=0.0.2-0 <0.1.0-0' ]
2545 silly lockFile de588288-throttleit-0-0-2 throttleit@~0.0.2
2546 verbose lock throttleit@~0.0.2 /home/alectaylor/.npm/de588288-throttleit-0-0-2.lock
2547 info postinstall [email protected]
2548 silly lockFile e69dffe9-odules-bower-node-modules-rimraf tar:///usr/local/lib/node_modules/bower/node_modules/rimraf
2549 silly lockFile e69dffe9-odules-bower-node-modules-rimraf tar:///usr/local/lib/node_modules/bower/node_modules/rimraf
2550 verbose linkBins [email protected]
2551 verbose linkMans [email protected]
2552 verbose rebuildBundles [email protected]
2553 silly addNameRange { name: 'throttleit',
2553 silly addNameRange range: '>=0.0.2-0 <0.1.0-0',
2553 silly addNameRange hasData: false }
2554 http 304 https://registry.npmjs.org/lodash.debounce
2555 silly registry.get cb [ 304,
2555 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
2555 silly registry.get server: 'Apache',
2555 silly registry.get via: '1.1 varnish',
2555 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:58 GMT',
2555 silly registry.get 'cache-control': 'max-age=30',
2555 silly registry.get etag: '"AJ9AHM25PBDQ55M7D2IYDV5KM"',
2555 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
2555 silly registry.get 'x-cache': 'HIT',
2555 silly registry.get 'x-cache-hits': '2',
2555 silly registry.get 'x-timer': 'S1402918396.358673,VS0,VE0',
2555 silly registry.get vary: 'Accept',
2555 silly registry.get 'content-length': '0',
2555 silly registry.get 'keep-alive': 'timeout=10, max=50',
2555 silly registry.get connection: 'Keep-Alive' } ]
2556 verbose etag lodash.debounce from cache
2557 verbose tar unpack /home/alectaylor/.npm/has-color/0.1.7/package.tgz
2558 silly lockFile 0a7db5ee-les-chalk-node-modules-has-color tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/has-color
2559 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/has-color /home/alectaylor/.npm/0a7db5ee-les-chalk-node-modules-has-color.lock
2560 silly lockFile f248f9c2--npm-has-color-0-1-7-package-tgz tar:///home/alectaylor/.npm/has-color/0.1.7/package.tgz
2561 verbose lock tar:///home/alectaylor/.npm/has-color/0.1.7/package.tgz /home/alectaylor/.npm/f248f9c2--npm-has-color-0-1-7-package-tgz.lock
2562 verbose tar unpack /home/alectaylor/.npm/ansi-styles/1.0.0/package.tgz
2563 silly lockFile d0717b67-s-chalk-node-modules-ansi-styles tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles
2564 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles /home/alectaylor/.npm/d0717b67-s-chalk-node-modules-ansi-styles.lock
2565 silly lockFile 334de472-pm-ansi-styles-1-0-0-package-tgz tar:///home/alectaylor/.npm/ansi-styles/1.0.0/package.tgz
2566 verbose lock tar:///home/alectaylor/.npm/ansi-styles/1.0.0/package.tgz /home/alectaylor/.npm/334de472-pm-ansi-styles-1-0-0-package-tgz.lock
2567 verbose tar unpack /home/alectaylor/.npm/strip-ansi/0.1.1/package.tgz
2568 silly lockFile e6db7ce7-es-chalk-node-modules-strip-ansi tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi
2569 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi /home/alectaylor/.npm/e6db7ce7-es-chalk-node-modules-strip-ansi.lock
2570 silly lockFile 603c0640-npm-strip-ansi-0-1-1-package-tgz tar:///home/alectaylor/.npm/strip-ansi/0.1.1/package.tgz
2571 verbose lock tar:///home/alectaylor/.npm/strip-ansi/0.1.1/package.tgz /home/alectaylor/.npm/603c0640-npm-strip-ansi-0-1-1-package-tgz.lock
2572 silly lockFile 9d0a4777-uel-npm-rimraf-2-2-8-package-tgz tar:///home/alectaylor/.npm/rimraf/2.2.8/package.tgz
2573 silly lockFile 9d0a4777-uel-npm-rimraf-2-2-8-package-tgz tar:///home/alectaylor/.npm/rimraf/2.2.8/package.tgz
2574 info preinstall [email protected]
2575 info install [email protected]
2576 http 304 https://registry.npmjs.org/configstore
2577 silly registry.get cb [ 304,
2577 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
2577 silly registry.get server: 'Apache',
2577 silly registry.get via: '1.1 varnish',
2577 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:58 GMT',
2577 silly registry.get 'cache-control': 'max-age=30',
2577 silly registry.get etag: '"7J5Q7XMBIRVKVUHXVHARFF6J1"',
2577 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
2577 silly registry.get 'x-cache': 'HIT',
2577 silly registry.get 'x-cache-hits': '4',
2577 silly registry.get 'x-timer': 'S1402918396.365950,VS0,VE0',
2577 silly registry.get vary: 'Accept',
2577 silly registry.get 'content-length': '0',
2577 silly registry.get 'keep-alive': 'timeout=10, max=50',
2577 silly registry.get connection: 'Keep-Alive' } ]
2578 verbose etag configstore from cache
2579 http 304 https://registry.npmjs.org/async
2580 silly registry.get cb [ 304,
2580 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
2580 silly registry.get server: 'Apache',
2580 silly registry.get via: '1.1 varnish',
2580 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:04 GMT',
2580 silly registry.get 'cache-control': 'max-age=30',
2580 silly registry.get etag: '"CIW2AQEJLGDJ1SITA29H2YRN3"',
2580 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
2580 silly registry.get 'x-cache': 'HIT',
2580 silly registry.get 'x-cache-hits': '20',
2580 silly registry.get 'x-timer': 'S1402918396.364807,VS0,VE0',
2580 silly registry.get vary: 'Accept',
2580 silly registry.get 'content-length': '0',
2580 silly registry.get 'keep-alive': 'timeout=10, max=50',
2580 silly registry.get connection: 'Keep-Alive' } ]
2581 verbose etag async from cache
2582 info postinstall [email protected]
2583 http 304 https://registry.npmjs.org/object-assign
2584 silly registry.get cb [ 304,
2584 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
2584 silly registry.get server: 'Apache',
2584 silly registry.get via: '1.1 varnish',
2584 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:59 GMT',
2584 silly registry.get 'cache-control': 'max-age=30',
2584 silly registry.get etag: '"6BQC2FXYR4Q3O2OCKTOL4T7YA"',
2584 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
2584 silly registry.get 'x-cache': 'HIT',
2584 silly registry.get 'x-cache-hits': '2',
2584 silly registry.get 'x-timer': 'S1402918396.369850,VS0,VE0',
2584 silly registry.get vary: 'Accept',
2584 silly registry.get 'content-length': '0',
2584 silly registry.get 'keep-alive': 'timeout=10, max=50',
2584 silly registry.get connection: 'Keep-Alive' } ]
2585 verbose etag object-assign from cache
2586 silly gunzTarPerm modes [ '755', '644' ]
2587 silly gunzTarPerm modes [ '755', '644' ]
2588 silly gunzTarPerm modes [ '755', '644' ]
2589 verbose readDependencies using package.json deps
2590 silly addNameRange number 2 { name: 'configstore',
2590 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
2590 silly addNameRange hasData: true }
2591 silly addNameRange versions [ 'configstore',
2591 silly addNameRange [ '0.1.0',
2591 silly addNameRange '0.1.1',
2591 silly addNameRange '0.1.2',
2591 silly addNameRange '0.1.3',
2591 silly addNameRange '0.1.4',
2591 silly addNameRange '0.1.5',
2591 silly addNameRange '0.1.6',
2591 silly addNameRange '0.1.7',
2591 silly addNameRange '0.2.0',
2591 silly addNameRange '0.2.1',
2591 silly addNameRange '0.2.2',
2591 silly addNameRange '0.2.3',
2591 silly addNameRange '0.3.0',
2591 silly addNameRange '0.3.1' ] ]
2592 verbose addNamed [ 'configstore', '0.3.1' ]
2593 verbose addNamed [ '0.3.1', '0.3.1' ]
2594 silly lockFile a478c21a-configstore-0-3-1 [email protected]
2595 verbose lock [email protected] /home/alectaylor/.npm/a478c21a-configstore-0-3-1.lock
2596 info preinstall [email protected]
2597 verbose readDependencies using package.json deps
2598 silly resolved []
2599 verbose about to build /usr/local/lib/node_modules/bower/node_modules/lockfile
2600 info build /usr/local/lib/node_modules/bower/node_modules/lockfile
2601 verbose linkStuff [ true,
2601 verbose linkStuff '/usr/local/lib/node_modules',
2601 verbose linkStuff false,
2601 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2602 info linkStuff [email protected]
2603 verbose url raw throttleit
2604 verbose url resolving [ 'https://registry.npmjs.org/', './throttleit' ]
2605 verbose url resolved https://registry.npmjs.org/throttleit
2606 info trying registry request attempt 1 at 11:33:16
2607 verbose etag "7TMVW9JLVPUBI3UAYYYZ3LNZ"
2608 http GET https://registry.npmjs.org/throttleit
2609 verbose linkBins [email protected]
2610 verbose linkMans [email protected]
2611 verbose rebuildBundles [email protected]
2612 silly addNameRange number 2 { name: 'lodash.debounce',
2612 silly addNameRange range: '>=2.4.1-0 <2.5.0-0',
2612 silly addNameRange hasData: true }
2613 silly addNameRange versions [ 'lodash.debounce',
2613 silly addNameRange [ '2.0.0', '2.1.0', '2.2.0', '2.2.1', '2.3.0', '2.4.0', '2.4.1' ] ]
2614 verbose addNamed [ 'lodash.debounce', '2.4.1' ]
2615 verbose addNamed [ '2.4.1', '2.4.1' ]
2616 silly lockFile 11c94548-lodash-debounce-2-4-1 [email protected]
2617 verbose lock [email protected] /home/alectaylor/.npm/11c94548-lodash-debounce-2-4-1.lock
2618 silly lockFile 3e517809-ules-bower-node-modules-promptly tar:///usr/local/lib/node_modules/bower/node_modules/promptly
2619 silly lockFile 3e517809-ules-bower-node-modules-promptly tar:///usr/local/lib/node_modules/bower/node_modules/promptly
2620 verbose readDependencies using package.json deps
2621 info install [email protected]
2622 silly gunzTarPerm extractEntry package.json
2623 silly lockFile 84676da7-l-npm-promptly-0-2-0-package-tgz tar:///home/alectaylor/.npm/promptly/0.2.0/package.tgz
2624 silly lockFile 84676da7-l-npm-promptly-0-2-0-package-tgz tar:///home/alectaylor/.npm/promptly/0.2.0/package.tgz
2625 verbose readDependencies using package.json deps
2626 silly resolved []
2627 verbose about to build /usr/local/lib/node_modules/bower/node_modules/rimraf
2628 info build /usr/local/lib/node_modules/bower/node_modules/rimraf
2629 verbose linkStuff [ true,
2629 verbose linkStuff '/usr/local/lib/node_modules',
2629 verbose linkStuff false,
2629 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2630 info linkStuff [email protected]
2631 silly gunzTarPerm extractEntry lib/ui/prompt.js
2632 silly gunzTarPerm extractEntry lib/utils/tty.js
2633 silly addNameRange number 2 { name: 'configstore',
2633 silly addNameRange range: '>=0.2.1-0 <0.3.0-0',
2633 silly addNameRange hasData: true }
2634 silly addNameRange versions [ 'configstore',
2634 silly addNameRange [ '0.1.0',
2634 silly addNameRange '0.1.1',
2634 silly addNameRange '0.1.2',
2634 silly addNameRange '0.1.3',
2634 silly addNameRange '0.1.4',
2634 silly addNameRange '0.1.5',
2634 silly addNameRange '0.1.6',
2634 silly addNameRange '0.1.7',
2634 silly addNameRange '0.2.0',
2634 silly addNameRange '0.2.1',
2634 silly addNameRange '0.2.2',
2634 silly addNameRange '0.2.3',
2634 silly addNameRange '0.3.0',
2634 silly addNameRange '0.3.1' ] ]
2635 verbose addNamed [ 'configstore', '0.2.3' ]
2636 verbose addNamed [ '0.2.3', '0.2.3' ]
2637 silly lockFile 55113639-configstore-0-2-3 [email protected]
2638 verbose lock [email protected] /home/alectaylor/.npm/55113639-configstore-0-2-3.lock
2639 silly addNameRange number 2 { name: 'async', range: '>=0.2.9-0 <0.3.0-0', hasData: true }
2640 silly addNameRange versions [ 'async',
2640 silly addNameRange [ '0.1.0',
2640 silly addNameRange '0.1.1',
2640 silly addNameRange '0.1.2',
2640 silly addNameRange '0.1.3',
2640 silly addNameRange '0.1.4',
2640 silly addNameRange '0.1.5',
2640 silly addNameRange '0.1.6',
2640 silly addNameRange '0.1.7',
2640 silly addNameRange '0.1.8',
2640 silly addNameRange '0.1.9',
2640 silly addNameRange '0.1.10',
2640 silly addNameRange '0.1.11',
2640 silly addNameRange '0.1.12',
2640 silly addNameRange '0.1.13',
2640 silly addNameRange '0.1.14',
2640 silly addNameRange '0.1.15',
2640 silly addNameRange '0.1.16',
2640 silly addNameRange '0.1.17',
2640 silly addNameRange '0.1.18',
2640 silly addNameRange '0.1.19',
2640 silly addNameRange '0.1.20',
2640 silly addNameRange '0.1.21',
2640 silly addNameRange '0.1.22',
2640 silly addNameRange '0.2.0',
2640 silly addNameRange '0.2.1',
2640 silly addNameRange '0.2.2',
2640 silly addNameRange '0.2.3',
2640 silly addNameRange '0.2.4',
2640 silly addNameRange '0.2.5',
2640 silly addNameRange '0.2.6',
2640 silly addNameRange '0.2.7',
2640 silly addNameRange '0.2.8',
2640 silly addNameRange '0.2.9',
2640 silly addNameRange '0.2.10',
2640 silly addNameRange '0.3.0',
2640 silly addNameRange '0.4.0',
2640 silly addNameRange '0.4.1',
2640 silly addNameRange '0.5.0',
2640 silly addNameRange '0.6.0',
2640 silly addNameRange '0.6.1',
2640 silly addNameRange '0.6.2',
2640 silly addNameRange '0.7.0',
2640 silly addNameRange '0.8.0',
2640 silly addNameRange '0.9.0' ] ]
2641 verbose addNamed [ 'async', '0.2.10' ]
2642 verbose addNamed [ '0.2.10', '0.2.10' ]
2643 silly lockFile 098b530d-async-0-2-10 [email protected]
2644 verbose lock [email protected] /home/alectaylor/.npm/098b530d-async-0-2-10.lock
2645 silly gunzTarPerm extractEntry package.json
2646 silly gunzTarPerm extractEntry package.json
2647 info postinstall [email protected]
2648 silly addNameRange number 2 { name: 'object-assign',
2648 silly addNameRange range: '>=0.1.2-0 <0.2.0-0',
2648 silly addNameRange hasData: true }
2649 silly addNameRange versions [ 'object-assign',
2649 silly addNameRange [ '0.1.0',
2649 silly addNameRange '0.1.1',
2649 silly addNameRange '0.1.2',
2649 silly addNameRange '0.2.0',
2649 silly addNameRange '0.2.1',
2649 silly addNameRange '0.2.2',
2649 silly addNameRange '0.3.0',
2649 silly addNameRange '0.3.1' ] ]
2650 verbose addNamed [ 'object-assign', '0.1.2' ]
2651 verbose addNamed [ '0.1.2', '0.1.2' ]
2652 silly lockFile 77d90afb-object-assign-0-1-2 [email protected]
2653 verbose lock [email protected] /home/alectaylor/.npm/77d90afb-object-assign-0-1-2.lock
2654 verbose linkBins [email protected]
2655 verbose link bins [ { rimraf: './bin.js' },
2655 verbose link bins '/usr/local/lib/node_modules/bower/node_modules/.bin',
2655 verbose link bins false ]
2656 verbose linkMans [email protected]
2657 verbose rebuildBundles [email protected]
2658 silly lockFile a478c21a-configstore-0-3-1 [email protected]
2659 silly lockFile a478c21a-configstore-0-3-1 [email protected]
2660 silly gunzTarPerm extractEntry index.js
2661 silly gunzTarPerm extractEntry readme.md
2662 silly lockFile 694126e0-s-bower-node-modules-p-throttler tar:///usr/local/lib/node_modules/bower/node_modules/p-throttler
2663 silly lockFile 694126e0-s-bower-node-modules-p-throttler tar:///usr/local/lib/node_modules/bower/node_modules/p-throttler
2664 info preinstall [email protected]
2665 silly lockFile 5d6e0360-configstore-0-3-0 configstore@^0.3.0
2666 silly lockFile 5d6e0360-configstore-0-3-0 configstore@^0.3.0
2667 silly gunzTarPerm extractEntry ansi-styles.js
2668 silly gunzTarPerm extractEntry readme.md
2669 silly gunzTarPerm extractEntry cli.js
2670 silly gunzTarPerm extractEntry index.js
2671 silly lockFile fa992122-pm-p-throttler-0-0-1-package-tgz tar:///home/alectaylor/.npm/p-throttler/0.0.1/package.tgz
2672 silly lockFile fa992122-pm-p-throttler-0-0-1-package-tgz tar:///home/alectaylor/.npm/p-throttler/0.0.1/package.tgz
2673 silly lockFile 96e69500-de-modules-bower-endpoint-parser tar:///usr/local/lib/node_modules/bower/node_modules/bower-endpoint-parser
2674 silly lockFile 96e69500-de-modules-bower-endpoint-parser tar:///usr/local/lib/node_modules/bower/node_modules/bower-endpoint-parser
2675 silly lockFile f1649cea--bower-node-modules-bower-logger tar:///usr/local/lib/node_modules/bower/node_modules/bower-logger
2676 silly lockFile f1649cea--bower-node-modules-bower-logger tar:///usr/local/lib/node_modules/bower/node_modules/bower-logger
2677 silly lockFile 11c94548-lodash-debounce-2-4-1 [email protected]
2678 silly lockFile 11c94548-lodash-debounce-2-4-1 [email protected]
2679 silly lockFile 5daf4fb9-les-bower-node-modules-lru-cache tar:///usr/local/lib/node_modules/bower/node_modules/lru-cache
2680 silly lockFile 5daf4fb9-les-bower-node-modules-lru-cache tar:///usr/local/lib/node_modules/bower/node_modules/lru-cache
2681 verbose readDependencies using package.json deps
2682 silly lockFile 7ff95fd1-ndpoint-parser-0-2-1-package-tgz tar:///home/alectaylor/.npm/bower-endpoint-parser/0.2.1/package.tgz
2683 silly lockFile 7ff95fd1-ndpoint-parser-0-2-1-package-tgz tar:///home/alectaylor/.npm/bower-endpoint-parser/0.2.1/package.tgz
2684 silly lockFile e3874397-m-bower-logger-0-2-2-package-tgz tar:///home/alectaylor/.npm/bower-logger/0.2.2/package.tgz
2685 silly lockFile e3874397-m-bower-logger-0-2-2-package-tgz tar:///home/alectaylor/.npm/bower-logger/0.2.2/package.tgz
2686 silly lockFile c867b369-lodash-debounce-2-4-1 lodash.debounce@~2.4.1
2687 silly lockFile c867b369-lodash-debounce-2-4-1 lodash.debounce@~2.4.1
2688 silly lockFile a02ae091--npm-lru-cache-2-5-0-package-tgz tar:///home/alectaylor/.npm/lru-cache/2.5.0/package.tgz
2689 silly lockFile a02ae091--npm-lru-cache-2-5-0-package-tgz tar:///home/alectaylor/.npm/lru-cache/2.5.0/package.tgz
2690 verbose readDependencies using package.json deps
2691 silly lockFile 55113639-configstore-0-2-3 [email protected]
2692 silly lockFile 55113639-configstore-0-2-3 [email protected]
2693 silly lockFile 098b530d-async-0-2-10 [email protected]
2694 silly lockFile 098b530d-async-0-2-10 [email protected]
2695 info preinstall [email protected]
2696 info install [email protected]
2697 verbose cache add [ 'read@~1.0.4', null ]
2698 verbose cache add name=undefined spec="read@~1.0.4" args=["read@~1.0.4",null]
2699 verbose parsed url { protocol: null,
2699 verbose parsed url slashes: null,
2699 verbose parsed url auth: null,
2699 verbose parsed url host: null,
2699 verbose parsed url port: null,
2699 verbose parsed url hostname: null,
2699 verbose parsed url hash: null,
2699 verbose parsed url search: null,
2699 verbose parsed url query: null,
2699 verbose parsed url pathname: 'read@~1.0.4',
2699 verbose parsed url path: 'read@~1.0.4',
2699 verbose parsed url href: 'read@~1.0.4' }
2700 silly lockFile 8979d531-configstore-0-2-1 configstore@~0.2.1
2701 silly lockFile 8979d531-configstore-0-2-1 configstore@~0.2.1
2702 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
2703 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
2704 silly lockFile 77d90afb-object-assign-0-1-2 [email protected]
2705 silly lockFile 77d90afb-object-assign-0-1-2 [email protected]
2706 verbose cache add name="read" spec="~1.0.4" args=["read","~1.0.4"]
2707 verbose parsed url { protocol: null,
2707 verbose parsed url slashes: null,
2707 verbose parsed url auth: null,
2707 verbose parsed url host: null,
2707 verbose parsed url port: null,
2707 verbose parsed url hostname: null,
2707 verbose parsed url hash: null,
2707 verbose parsed url search: null,
2707 verbose parsed url query: null,
2707 verbose parsed url pathname: '~1.0.4',
2707 verbose parsed url path: '~1.0.4',
2707 verbose parsed url href: '~1.0.4' }
2708 verbose addNamed [ 'read', '~1.0.4' ]
2709 verbose addNamed [ null, '>=1.0.4-0 <1.1.0-0' ]
2710 silly lockFile 8e7fcd4d-read-1-0-4 read@~1.0.4
2711 verbose lock read@~1.0.4 /home/alectaylor/.npm/8e7fcd4d-read-1-0-4.lock
2712 silly lockFile 7ab388c0-object-assign-0-1-2 object-assign@~0.1.2
2713 silly lockFile 7ab388c0-object-assign-0-1-2 object-assign@~0.1.2
2714 info postinstall [email protected]
2715 info preinstall [email protected]
2716 info preinstall [email protected]
2717 silly resolved [ { name: 'request',
2717 silly resolved description: 'Simplified HTTP request client.',
2717 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
2717 silly resolved version: '2.36.0',
2717 silly resolved author: { name: 'Mikeal Rogers', email: '[email protected]' },
2717 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
2717 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
2717 silly resolved license: 'Apache, Version 2.0',
2717 silly resolved engines: [ 'node >= 0.8.0' ],
2717 silly resolved main: 'index.js',
2717 silly resolved dependencies:
2717 silly resolved { qs: '~0.6.0',
2717 silly resolved 'json-stringify-safe': '~5.0.0',
2717 silly resolved mime: '~1.2.9',
2717 silly resolved 'forever-agent': '~0.5.0',
2717 silly resolved 'node-uuid': '~1.4.0',
2717 silly resolved 'tough-cookie': '>=0.12.0',
2717 silly resolved 'form-data': '~0.1.0',
2717 silly resolved 'tunnel-agent': '~0.4.0',
2717 silly resolved 'http-signature': '~0.10.0',
2717 silly resolved 'oauth-sign': '~0.3.0',
2717 silly resolved hawk: '~1.0.0',
2717 silly resolved 'aws-sign2': '~0.5.0' },
2717 silly resolved optionalDependencies:
2717 silly resolved { 'tough-cookie': '>=0.12.0',
2717 silly resolved 'form-data': '~0.1.0',
2717 silly resolved 'tunnel-agent': '~0.4.0',
2717 silly resolved 'http-signature': '~0.10.0',
2717 silly resolved 'oauth-sign': '~0.3.0',
2717 silly resolved hawk: '~1.0.0',
2717 silly resolved 'aws-sign2': '~0.5.0' },
2717 silly resolved scripts: { test: 'node tests/run.js' },
2717 silly resolved readme: '# Request -- Simplified HTTP client\n\n[![NPM](https://nodei.co/npm/request.png)](https://nodei.co/npm/request/)\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require(\'request\');\nrequest(\'http://www.google.com\', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest(\'http://google.com/doodle.png\').pipe(fs.createWriteStream(\'doodle.png\'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types (in this case `application/json`) and use the proper `content-type` in the PUT request (if the headers don’t already provide one).\n\n```javascript\nfs.createReadStream(\'file.json\').pipe(request.put(\'http://mysite.com/obj.json\'))\n```\n\nRequest can also `pipe` to itself. When doing so, `content-type` and `content-length` are preserved in the PUT headers.\n\n```javascript\nrequest.get(\'http://google.com/img.png\').pipe(request.put(\'http://mysite.com/img.png\'))\n```\n\nNow let’s get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n if (req.method === \'PUT\') {\n req.pipe(request.put(\'http://mysite.com/doodle.png\'))\n } else if (req.method === \'GET\' || req.method === \'HEAD\') {\n request.get(\'http://mysite.com/doodle.png\').pipe(resp)\n }\n }\n})\n```\n\nYou can also `pipe()` from `http.ServerRequest` instances, as well as to `http.ServerResponse` instances. The HTTP method, headers, and entity-body data will be sent. Which means that, if you don\'t really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n var x = request(\'http://mysite.com/doodle.png\')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since `pipe()` returns the destination stream in ≥ Node 0.5.x you can do one line proxying. :)\n\n```javascript\nreq.pipe(request(\'http://mysite.com/doodle.png\')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({\'proxy\':\'http://localproxy.com\'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n r.get(\'http://google.com/doodle.png\').pipe(resp)\n }\n})\n```\n\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## UNIX Socket \n\n`request` supports the `unix://` protocol for all requests. The path is assumed to be absolute to the root of the host file system. \n\nHTTP paths are extracted from the supplied URL by testing each level of the full URL against net.connect for a socket response.\n\nThus the following request will GET `/httppath` from the HTTP server listening on `/tmp/unix.socket`\n\n```javascript\nrequest.get(\'unix://tmp/unix.socket/httppath\')\n```\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nURL-encoded forms are simple.\n\n```javascript\nrequest.post(\'http://service.com/upload\', {form:{key:\'value\'}})\n// or\nrequest.post(\'http://service.com/upload\').form({key:\'value\'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don’t need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post(\'http://service.com/upload\', function optionalCallback (err, httpResponse, body) {\n if (err) {\n return console.error(\'upload failed:\', err);\n }\n console.log(\'Upload successful! Server responded with:\', body);\n})\nvar form = r.form()\nform.append(\'my_field\', \'my_value\')\nform.append(\'my_buffer\', new Buffer([1, 2, 3]))\nform.append(\'my_file\', fs.createReadStream(path.join(__dirname, \'doodle.png\')))\nform.append(\'remote_file\', request(\'http://google.com/doodle.png\'))\n\n// Just like always, `r` is a writable stream, and can be used as such (you have until nextTick to pipe it, etc.)\n// Alternatively, you can provide a callback (that\'s what this example does-- see `optionalCallback` above).\n```\n\n## HTTP Authentication\n\n```javascript\nrequest.get(\'http://some.server.com/\').auth(\'username\', \'password\', false);\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'user\': \'username\',\n \'pass\': \'password\',\n \'sendImmediately\': false\n }\n});\n// or\nrequest.get(\'http://some.server.com/\').auth(null, null, true, \'bearerToken\');\n// or\nrequest.get(\'http://some.server.com/\', {\n \'auth\': {\n \'bearer\': \'bearerToken\'\n }\n});\n```\n\nIf passed as an option, `auth` should be a hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). The method form takes parameters `auth(username, password, sendImmediately)`.\n\n`sendImmediately` defaults to `true`, which causes a basic authentication header to be sent. If `sendImmediately` is `false`, then `request` will retry with a proper authentication header after receiving a `401` response from the server (which must contain a `WWW-Authenticate` header indicating the required authentication method).\n\nDigest authentication is supported, but it only works with `sendImmediately` set to `false`; otherwise `request` will send basic authentication on the initial request, which will probably cause the request to fail.\n\nBearer authentication is supported, and is activated when the `bearer` value is available. The value may be either a `String` or a `Function` returning a `String`. Using a function to supply the bearer token is particularly useful if used in conjuction with `defaults` to allow a single function to supply the last known token at the time or sending a request or to compute one on the fly.\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require(\'querystring\')\n , oauth =\n { callback: \'http://mysite.com/callback/\'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = \'https://api.twitter.com/oauth/request_token\'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Ideally, you would take the body in the response\n // and construct a URL that a user clicks on (like a sign in button).\n // The verifier is only available in the response after a user has\n // verified with twitter that they are authorizing your app.\n var access_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: access_token.oauth_verifier\n }\n , url = \'https://api.twitter.com/oauth/access_token\'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/1.1/users/show.json?\'\n , params =\n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n### Custom HTTP Headers\n\nHTTP Headers, such as `User-Agent`, can be set in the `options` object.\nIn the example below, we call the github API to find out the number\nof stars and forks for the request repository. This requires a\ncustom `User-Agent` header as well as https.\n\n```javascript\nvar request = require(\'request\');\n\nvar options = {\n\turl: \'https://api.github.com/repos/mikeal/request\',\n\theaders: {\n\t\t\'User-Agent\': \'request\'\n\t}\n};\n\nfunction callback(error, response, body) {\n\tif (!error && response.statusCode == 200) {\n\t\tvar info = JSON.parse(body);\n\t\tconsole.log(info.stargazers_count + " Stars");\n\t\tconsole.log(info.forks_count + " Forks");\n\t}\n}\n\nrequest(options, callback);\n```\n\n### request(options, callback)\n\nThe first argument can be either a `url` or an `options` object. The only required option is `uri`; all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from `url.parse()`\n* `qs` - object containing querystring values to be appended to the `uri`\n* `method` - http method (default: `"GET"`)\n* `headers` - http headers (default: `{}`)\n* `body` - entity body for PATCH, POST and PUT requests. Must be a `Buffer` or `String`.\n* `form` - when passed an object, this sets `body` to a querystring representation of value, and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no options, a `FormData` instance is returned (and is piped to request).\n* `auth` - A hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). See documentation above.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as JSON.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects (default: `true`)\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects (default: `false`)\n* `maxRedirects` - the maximum number of redirects to follow (default: `10`)\n* `encoding` - Encoding to be used on `setEncoding` of response data. If `null`, the `body` is returned as a `Buffer`.\n* `pool` - A hash object containing the agents for these requests. If omitted, the request will use the global pool (which is set to node\'s default `maxSockets`)\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\n* `proxy` - An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the `url` parameter (by embedding the auth info in the `uri`)\n* `oauth` - Options for OAuth HMAC-SHA1 signing. See documentation above.\n* `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).\n* `strictSSL` - If `true`, requires SSL certificates be valid. **Note:** to use your own certificate authority, you need to specify an agent that was created with that CA as an option.\n* `jar` - If `true`, remember cookies for future use (or define your custom cookie jar; see examples section)\n* `aws` - `object` containing AWS signing information. Should have the properties `key`, `secret`. Also requires the property `bucket`, unless you’re specifying your `bucket` as part of the path, or the request doesn’t use a bucket (i.e. GET Services)\n* `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent\'s library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.\n* `localAddress` - Local interface to bind for network connections.\n\n\nThe callback argument gets 3 arguments: \n\n1. An `error` when applicable (usually from [`http.ClientRequest`](http://nodejs.org/api/http.html#http_class_http_clientrequest) object)\n2. An [`http.IncomingMessage`](http://nodejs.org/api/http.html#http_http_incomingmessage) object\n3. The third is the `response` body (`String` or `Buffer`, or JSON object if the `json` option is supplied)\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options)\n\nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as `request()`, but defaults to `method: "PUT"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.patch\n\nSame as `request()`, but defaults to `method: "PATCH"`.\n\n```javascript\nrequest.patch(url)\n```\n\n### request.post\n\nSame as `request()`, but defaults to `method: "POST"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: "HEAD"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as `request()`, but defaults to `method: "DELETE"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nSame as `request()` (for uniformity).\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie(\'cookie_string_here\')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require(\'request\')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: \'PUT\'\n , uri: \'http://mikeal.iriscouch.com/testjs/\' + rand\n , multipart:\n [ { \'content-type\': \'application/json\'\n , body: JSON.stringify({foo: \'bar\', _attachments: {\'message.txt\': {follows: true, length: 18, \'content_type\': \'text/plain\' }}})\n }\n , { body: \'I am an attachment\' }\n ]\n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log(\'document saved as: http://mikeal.iriscouch.com/testjs/\'+ rand)\n } else {\n console.log(\'error: \'+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\n\nCookies are disabled by default (else, they would be used in subsequent requests). To enable cookies, set `jar` to `true` (either in `defaults` or `options`).\n\n```javascript\nvar request = request.defaults({jar: true})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nTo use a custom cookie jar (instead of `request`’s global cookie jar), set `jar` to an instance of `request.jar()` (either in `defaults` or `options`)\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie(\'your_cookie_here\')\nj.setCookie(cookie, uri);\nrequest({url: \'http://www.google.com\', jar: j}, function () {\n request(\'http://images.google.com\')\n})\n```\n',
2717 silly resolved readmeFilename: 'README.md',
2717 silly resolved homepage: 'https://github.com/mikeal/request',
2717 silly resolved _id: '[email protected]',
2717 silly resolved _shasum: '28c6c04262c7b9ffdd21b9255374517ee6d943f5',
2717 silly resolved _from: 'request@^2.36.0',
2717 silly resolved _resolved: 'https://registry.npmjs.org/request/-/request-2.36.0.tgz' },
2717 silly resolved { name: 'semver',
2717 silly resolved version: '2.3.0',
2717 silly resolved description: 'The semantic version parser used by npm.',
2717 silly resolved main: 'semver.js',
2717 silly resolved browser: 'semver.browser.js',
2717 silly resolved min: 'semver.min.js',
2717 silly resolved scripts: { test: 'tap test/*.js', prepublish: 'make' },
2717 silly resolved devDependencies: { tap: '0.x >=0.0.4', 'uglify-js': '~2.3.6' },
2717 silly resolved license: 'BSD',
2717 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-semver.git' },
2717 silly resolved bin: { semver: './bin/semver' },
2717 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. Must be a full\n version number, with major, minor, and patch versions specified.\n Note that build metadata is still ignored, so `1.2.3+build2012` will\n satisfy 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.2.*` Same as `1.2.x`.\n* `1.2` Same as `1.2.x`.\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* `1.*` Same as `1.x`.\n* `1` Same as `1.x`.\n* `*` Any version whatsoever.\n* `x` Same as `*`.\n* `""` (just an empty string) Same as `*`.\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\n type (`major`, `premajor`, `minor`, `preminor`, `patch`,\n `prepatch`, or `prerelease`), or null if it\'s not valid\n * `premajor` in one call will bump the version up to the next major\n version and down to a prerelease of that major version.\n `preminor`, and `prepatch` work the same way.\n * If called from a non-prerelease version, the `prerelease` will work the\n same as `prepatch`. It increments the patch version, then makes a\n prerelease. If the input version is already a prerelease it simply\n increments it.\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',
2717 silly resolved readmeFilename: 'README.md',
2717 silly resolved bugs: { url: 'https://github.com/isaacs/node-semver/issues' },
2717 silly resolved homepage: 'https://github.com/isaacs/node-semver',
2717 silly resolved _id: '[email protected]',
2717 silly resolved _shasum: 'd31b2903ebe2a1806c05b8e763916a7183108a15',
2717 silly resolved _from: 'semver@^2.3.0',
2717 silly resolved _resolved: 'https://registry.npmjs.org/semver/-/semver-2.3.0.tgz' },
2717 silly resolved { name: 'configstore',
2717 silly resolved version: '0.3.1',
2717 silly resolved description: 'Easily load and save config without having to think about where and how',
2717 silly resolved keywords:
2717 silly resolved [ 'conf',
2717 silly resolved 'config',
2717 silly resolved 'configuration',
2717 silly resolved 'settings',
2717 silly resolved 'store',
2717 silly resolved 'editable',
2717 silly resolved 'yaml',
2717 silly resolved 'yml' ],
2717 silly resolved author:
2717 silly resolved { name: 'Sindre Sorhus',
2717 silly resolved email: '[email protected]',
2717 silly resolved url: 'http://sindresorhus.com' },
2717 silly resolved main: 'configstore.js',
2717 silly resolved repository: { type: 'git', url: 'git://github.com/yeoman/configstore' },
2717 silly resolved scripts: { test: 'mocha' },
2717 silly resolved engines: { node: '>=0.10.0' },
2717 silly resolved license: 'BSD',
2717 silly resolved dependencies:
2717 silly resolved { 'graceful-fs': '~3.0.1',
2717 silly resolved 'js-yaml': '~3.0.1',
2717 silly resolved mkdirp: '~0.5.0',
2717 silly resolved 'object-assign': '~0.3.1',
2717 silly resolved osenv: '~0.1.0',
2717 silly resolved uuid: '~1.4.1' },
2717 silly resolved devDependencies: { mocha: '*' },
2717 silly resolved files: [ 'configstore.js' ],
2717 silly resolved readme: '# configstore [![Build Status](https://secure.travis-ci.org/yeoman/configstore.svg?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',
2717 silly resolved readmeFilename: 'readme.md',
2717 silly resolved bugs: { url: 'https://github.com/yeoman/configstore/issues' },
2717 silly resolved homepage: 'https://github.com/yeoman/configstore',
2717 silly resolved _id: '[email protected]',
2717 silly resolved _shasum: 'e1b4715994fe5f8e22e69b21d54c7a448339314d',
2717 silly resolved _from: 'configstore@^0.3.0',
2717 silly resolved _resolved: 'https://registry.npmjs.org/configstore/-/configstore-0.3.1.tgz' } ]
2718 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/update-notifier
2719 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/update-notifier
2720 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/update-notifier
2721 info installOne [email protected]
2722 info installOne [email protected]
2723 info installOne [email protected]
2724 info preinstall [email protected]
2725 verbose readDependencies using package.json deps
2726 silly addNameRange { name: 'read', range: '>=1.0.4-0 <1.1.0-0', hasData: false }
2727 info /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/request unbuild
2728 info /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/semver unbuild
2729 info /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore unbuild
2730 verbose readDependencies using package.json deps
2731 silly gunzTarPerm extractEntry readme.md
2732 verbose readDependencies using package.json deps
2733 http 304 https://registry.npmjs.org/throttleit
2734 silly registry.get cb [ 304,
2734 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
2734 silly registry.get server: 'Apache',
2734 silly registry.get via: '1.1 varnish',
2734 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:58 GMT',
2734 silly registry.get 'cache-control': 'max-age=30',
2734 silly registry.get etag: '"7TMVW9JLVPUBI3UAYYYZ3LNZ"',
2734 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
2734 silly registry.get 'x-cache': 'HIT',
2734 silly registry.get 'x-cache-hits': '1',
2734 silly registry.get 'x-timer': 'S1402918396.463672,VS0,VE0',
2734 silly registry.get vary: 'Accept',
2734 silly registry.get 'content-length': '0',
2734 silly registry.get 'keep-alive': 'timeout=10, max=50',
2734 silly registry.get connection: 'Keep-Alive' } ]
2735 verbose etag throttleit from cache
2736 verbose cache add [ 'q@~0.9.2', null ]
2737 verbose cache add name=undefined spec="q@~0.9.2" args=["q@~0.9.2",null]
2738 verbose parsed url { protocol: null,
2738 verbose parsed url slashes: null,
2738 verbose parsed url auth: null,
2738 verbose parsed url host: null,
2738 verbose parsed url port: null,
2738 verbose parsed url hostname: null,
2738 verbose parsed url hash: null,
2738 verbose parsed url search: null,
2738 verbose parsed url query: null,
2738 verbose parsed url pathname: 'q@~0.9.2',
2738 verbose parsed url path: 'q@~0.9.2',
2738 verbose parsed url href: 'q@~0.9.2' }
2739 verbose readDependencies using package.json deps
2740 verbose readDependencies using package.json deps
2741 verbose readDependencies using package.json deps
2742 silly resolved []
2743 verbose about to build /usr/local/lib/node_modules/bower/node_modules/bower-endpoint-parser
2744 info build /usr/local/lib/node_modules/bower/node_modules/bower-endpoint-parser
2745 verbose linkStuff [ true,
2745 verbose linkStuff '/usr/local/lib/node_modules',
2745 verbose linkStuff false,
2745 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2746 info linkStuff [email protected]
2747 verbose cache add name="q" spec="~0.9.2" args=["q","~0.9.2"]
2748 verbose parsed url { protocol: null,
2748 verbose parsed url slashes: null,
2748 verbose parsed url auth: null,
2748 verbose parsed url host: null,
2748 verbose parsed url port: null,
2748 verbose parsed url hostname: null,
2748 verbose parsed url hash: null,
2748 verbose parsed url search: null,
2748 verbose parsed url query: null,
2748 verbose parsed url pathname: '~0.9.2',
2748 verbose parsed url path: '~0.9.2',
2748 verbose parsed url href: '~0.9.2' }
2749 verbose addNamed [ 'q', '~0.9.2' ]
2750 verbose addNamed [ null, '>=0.9.2-0 <0.10.0-0' ]
2751 silly lockFile 2778fd1e-q-0-9-2 q@~0.9.2
2752 verbose lock q@~0.9.2 /home/alectaylor/.npm/2778fd1e-q-0-9-2.lock
2753 verbose readDependencies using package.json deps
2754 silly resolved []
2755 verbose about to build /usr/local/lib/node_modules/bower/node_modules/bower-logger
2756 info build /usr/local/lib/node_modules/bower/node_modules/bower-logger
2757 verbose linkStuff [ true,
2757 verbose linkStuff '/usr/local/lib/node_modules',
2757 verbose linkStuff false,
2757 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2758 info linkStuff [email protected]
2759 verbose tar unpack /home/alectaylor/.npm/request/2.36.0/package.tgz
2760 silly lockFile d62f558d-te-notifier-node-modules-request tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/request
2761 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/request /home/alectaylor/.npm/d62f558d-te-notifier-node-modules-request.lock
2762 silly lockFile 1fd5db2e-l-npm-request-2-36-0-package-tgz tar:///home/alectaylor/.npm/request/2.36.0/package.tgz
2763 verbose lock tar:///home/alectaylor/.npm/request/2.36.0/package.tgz /home/alectaylor/.npm/1fd5db2e-l-npm-request-2-36-0-package-tgz.lock
2764 verbose tar unpack /home/alectaylor/.npm/semver/2.3.0/package.tgz
2765 silly lockFile e3e4e995-ate-notifier-node-modules-semver tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/semver
2766 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/semver /home/alectaylor/.npm/e3e4e995-ate-notifier-node-modules-semver.lock
2767 silly lockFile e4869c69-uel-npm-semver-2-3-0-package-tgz tar:///home/alectaylor/.npm/semver/2.3.0/package.tgz
2768 verbose lock tar:///home/alectaylor/.npm/semver/2.3.0/package.tgz /home/alectaylor/.npm/e4869c69-uel-npm-semver-2-3-0-package-tgz.lock
2769 verbose tar unpack /home/alectaylor/.npm/configstore/0.3.1/package.tgz
2770 silly lockFile 41c285f0-otifier-node-modules-configstore tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore
2771 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore /home/alectaylor/.npm/41c285f0-otifier-node-modules-configstore.lock
2772 silly lockFile be404b76-pm-configstore-0-3-1-package-tgz tar:///home/alectaylor/.npm/configstore/0.3.1/package.tgz
2773 verbose lock tar:///home/alectaylor/.npm/configstore/0.3.1/package.tgz /home/alectaylor/.npm/be404b76-pm-configstore-0-3-1-package-tgz.lock
2774 verbose readDependencies using package.json deps
2775 silly resolved []
2776 verbose about to build /usr/local/lib/node_modules/bower/node_modules/lru-cache
2777 info build /usr/local/lib/node_modules/bower/node_modules/lru-cache
2778 verbose linkStuff [ true,
2778 verbose linkStuff '/usr/local/lib/node_modules',
2778 verbose linkStuff false,
2778 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2779 info linkStuff [email protected]
2780 verbose linkBins [email protected]
2781 verbose linkMans [email protected]
2782 verbose rebuildBundles [email protected]
2783 verbose url raw read
2784 verbose url resolving [ 'https://registry.npmjs.org/', './read' ]
2785 verbose url resolved https://registry.npmjs.org/read
2786 info trying registry request attempt 1 at 11:33:16
2787 verbose etag "AX4MIK1433873MQ2X0SOFZUZH"
2788 http GET https://registry.npmjs.org/read
2789 silly addNameRange { name: 'q', range: '>=0.9.2-0 <0.10.0-0', hasData: false }
2790 verbose linkBins [email protected]
2791 verbose linkMans [email protected]
2792 verbose rebuildBundles [email protected]
2793 silly gunzTarPerm extractEntry lib/utils/utils.js
2794 silly resolved [ { name: 'request',
2794 silly resolved description: 'Simplified HTTP request client.',
2794 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
2794 silly resolved version: '2.27.0',
2794 silly resolved author: { name: 'Mikeal Rogers', email: '[email protected]' },
2794 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
2794 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
2794 silly resolved engines: [ 'node >= 0.8.0' ],
2794 silly resolved main: 'index.js',
2794 silly resolved dependencies:
2794 silly resolved { qs: '~0.6.0',
2794 silly resolved 'json-stringify-safe': '~5.0.0',
2794 silly resolved 'forever-agent': '~0.5.0',
2794 silly resolved 'tunnel-agent': '~0.3.0',
2794 silly resolved 'http-signature': '~0.10.0',
2794 silly resolved hawk: '~1.0.0',
2794 silly resolved 'aws-sign': '~0.3.0',
2794 silly resolved 'oauth-sign': '~0.3.0',
2794 silly resolved 'cookie-jar': '~0.3.0',
2794 silly resolved 'node-uuid': '~1.4.0',
2794 silly resolved mime: '~1.2.9',
2794 silly resolved 'form-data': '~0.1.0' },
2794 silly resolved scripts: { test: 'node tests/run.js' },
2794 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',
2794 silly resolved readmeFilename: 'README.md',
2794 silly resolved homepage: 'https://github.com/mikeal/request',
2794 silly resolved _id: '[email protected]',
2794 silly resolved _from: 'request@~2.27.0' },
2794 silly resolved { name: 'lodash.debounce',
2794 silly resolved version: '2.4.1',
2794 silly resolved description: 'The Lo-Dash function `_.debounce` as a Node.js module generated by lodash-cli.',
2794 silly resolved homepage: 'http://lodash.com/custom-builds',
2794 silly resolved license: 'MIT',
2794 silly resolved keywords: [ 'functional', 'lodash', 'lodash-modularized', 'server', 'util' ],
2794 silly resolved author:
2794 silly resolved { name: 'John-David Dalton',
2794 silly resolved email: '[email protected]',
2794 silly resolved url: 'http://allyoucanleet.com/' },
2794 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
2794 silly resolved bugs: { url: 'https://github.com/lodash/lodash-cli/issues' },
2794 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash-cli.git' },
2794 silly resolved dependencies:
2794 silly resolved { 'lodash.isfunction': '~2.4.1',
2794 silly resolved 'lodash.isobject': '~2.4.1',
2794 silly resolved 'lodash.now': '~2.4.1' },
2794 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',
2794 silly resolved readmeFilename: 'README.md',
2794 silly resolved _id: '[email protected]',
2794 silly resolved _from: 'lodash.debounce@~2.4.1' },
2794 silly resolved { name: 'configstore',
2794 silly resolved version: '0.2.3',
2794 silly resolved description: 'Easily load and save config without having to think about where and how',
2794 silly resolved keywords:
2794 silly resolved [ 'conf',
2794 silly resolved 'config',
2794 silly resolved 'configuration',
2794 silly resolved 'settings',
2794 silly resolved 'store',
2794 silly resolved 'editable',
2794 silly resolved 'yaml',
2794 silly resolved 'yml' ],
2794 silly resolved homepage: 'https://github.com/yeoman/configstore',
2794 silly resolved bugs: { url: 'https://github.com/yeoman/configstore/issues' },
2794 silly resolved author:
2794 silly resolved { name: 'Sindre Sorhus',
2794 silly resolved email: '[email protected]',
2794 silly resolved url: 'http://sindresorhus.com' },
2794 silly resolved main: 'configstore.js',
2794 silly resolved repository: { type: 'git', url: 'git://github.com/yeoman/configstore.git' },
2794 silly resolved scripts: { test: 'mocha' },
2794 silly resolved engines: { node: '>=0.10.0' },
2794 silly resolved licenses: [ [Object] ],
2794 silly resolved dependencies:
2794 silly resolved { mkdirp: '~0.3.5',
2794 silly resolved 'js-yaml': '~3.0.1',
2794 silly resolved osenv: '0.0.3',
2794 silly resolved 'graceful-fs': '~2.0.1',
2794 silly resolved uuid: '~1.4.1',
2794 silly resolved 'object-assign': '~0.1.1' },
2794 silly resolved devDependencies: { mocha: '*' },
2794 silly resolved files: [ 'configstore.js' ],
2794 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',
2794 silly resolved readmeFilename: 'readme.md',
2794 silly resolved _id: '[email protected]',
2794 silly resolved _from: 'configstore@~0.2.1' },
2794 silly resolved { name: 'async',
2794 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
2794 silly resolved main: './lib/async',
2794 silly resolved author: { name: 'Caolan McMahon' },
2794 silly resolved version: '0.2.10',
2794 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
2794 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
2794 silly resolved licenses: [ [Object] ],
2794 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
2794 silly resolved jam: { main: 'lib/async.js', include: [Object] },
2794 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
2794 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',
2794 silly resolved readmeFilename: 'README.md',
2794 silly resolved homepage: 'https://github.com/caolan/async',
2794 silly resolved _id: '[email protected]',
2794 silly resolved _from: 'async@~0.2.9' },
2794 silly resolved { name: 'object-assign',
2794 silly resolved version: '0.1.2',
2794 silly resolved description: 'ES6 Object.assign() ponyfill',
2794 silly resolved license: 'MIT',
2794 silly resolved main: 'object-assign.js',
2794 silly resolved repository:
2794 silly resolved { type: 'git',
2794 silly resolved url: 'git://github.com/sindresorhus/object-assign' },
2794 silly resolved author:
2794 silly resolved { name: 'Sindre Sorhus',
2794 silly resolved email: '[email protected]',
2794 silly resolved url: 'http://sindresorhus.com' },
2794 silly resolved engines: { node: '>=0.10.0' },
2794 silly resolved scripts: { test: 'mocha' },
2794 silly resolved files: [ 'object-assign.js' ],
2794 silly resolved keywords:
2794 silly resolved [ 'object',
2794 silly resolved 'assign',
2794 silly resolved 'extend',
2794 silly resolved 'properties',
2794 silly resolved 'es6',
2794 silly resolved 'ecmascript',
2794 silly resolved 'harmony',
2794 silly resolved 'ponyfill',
2794 silly resolved 'prollyfill',
2794 silly resolved 'polyfill',
2794 silly resolved 'shim',
2794 silly resolved 'browser' ],
2794 silly resolved devDependencies: { mocha: '*' },
2794 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',
2794 silly resolved readmeFilename: 'readme.md',
2794 silly resolved bugs: { url: 'https://github.com/sindresorhus/object-assign/issues' },
2794 silly resolved homepage: 'https://github.com/sindresorhus/object-assign',
2794 silly resolved _id: '[email protected]',
2794 silly resolved _from: 'object-assign@~0.1.2' } ]
2795 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/insight
2796 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/insight
2797 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/insight
2798 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/insight
2799 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/insight
2800 info installOne [email protected]
2801 info installOne [email protected]
2802 info installOne [email protected]
2803 info installOne [email protected]
2804 info installOne [email protected]
2805 verbose linkBins [email protected]
2806 verbose linkMans [email protected]
2807 verbose rebuildBundles [email protected]
2808 silly lockFile b315fc86--modules-bower-node-modules-nopt tar:///usr/local/lib/node_modules/bower/node_modules/nopt
2809 silly lockFile b315fc86--modules-bower-node-modules-nopt tar:///usr/local/lib/node_modules/bower/node_modules/nopt
2810 info install [email protected]
2811 info install [email protected]
2812 silly gunzTarPerm modes [ '755', '644' ]
2813 info /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/request unbuild
2814 info /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce unbuild
2815 info /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/configstore unbuild
2816 info /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/async unbuild
2817 info /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/object-assign unbuild
2818 info install [email protected]
2819 silly lockFile 3f63c554-amuel-npm-nopt-2-2-1-package-tgz tar:///home/alectaylor/.npm/nopt/2.2.1/package.tgz
2820 silly lockFile 3f63c554-amuel-npm-nopt-2-2-1-package-tgz tar:///home/alectaylor/.npm/nopt/2.2.1/package.tgz
2821 info postinstall [email protected]
2822 info postinstall [email protected]
2823 info postinstall [email protected]
2824 silly lockFile 538a9c9b--bower-node-modules-bower-config tar:///usr/local/lib/node_modules/bower/node_modules/bower-config
2825 silly lockFile 538a9c9b--bower-node-modules-bower-config tar:///usr/local/lib/node_modules/bower/node_modules/bower-config
2826 silly addNameRange number 2 { name: 'throttleit',
2826 silly addNameRange range: '>=0.0.2-0 <0.1.0-0',
2826 silly addNameRange hasData: true }
2827 silly addNameRange versions [ 'throttleit', [ '0.0.1', '0.0.2' ] ]
2828 verbose addNamed [ 'throttleit', '0.0.2' ]
2829 verbose addNamed [ '0.0.2', '0.0.2' ]
2830 silly lockFile 3fe7da2e-throttleit-0-0-2 [email protected]
2831 verbose lock [email protected] /home/alectaylor/.npm/3fe7da2e-throttleit-0-0-2.lock
2832 verbose tar unpack /home/alectaylor/.npm/request/2.27.0/package.tgz
2833 silly lockFile f5030e1a-les-insight-node-modules-request tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/request
2834 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/request /home/alectaylor/.npm/f5030e1a-les-insight-node-modules-request.lock
2835 silly lockFile ce8ac384-l-npm-request-2-27-0-package-tgz tar:///home/alectaylor/.npm/request/2.27.0/package.tgz
2836 verbose lock tar:///home/alectaylor/.npm/request/2.27.0/package.tgz /home/alectaylor/.npm/ce8ac384-l-npm-request-2-27-0-package-tgz.lock
2837 verbose tar unpack /home/alectaylor/.npm/lodash.debounce/2.4.1/package.tgz
2838 silly lockFile 0f7d6b62-ght-node-modules-lodash-debounce tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce
2839 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce /home/alectaylor/.npm/0f7d6b62-ght-node-modules-lodash-debounce.lock
2840 silly lockFile 2e26d26c-odash-debounce-2-4-1-package-tgz tar:///home/alectaylor/.npm/lodash.debounce/2.4.1/package.tgz
2841 verbose lock tar:///home/alectaylor/.npm/lodash.debounce/2.4.1/package.tgz /home/alectaylor/.npm/2e26d26c-odash-debounce-2-4-1-package-tgz.lock
2842 verbose tar unpack /home/alectaylor/.npm/configstore/0.2.3/package.tgz
2843 silly lockFile d19a120b-insight-node-modules-configstore tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/configstore
2844 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/configstore /home/alectaylor/.npm/d19a120b-insight-node-modules-configstore.lock
2845 silly lockFile e4949059-pm-configstore-0-2-3-package-tgz tar:///home/alectaylor/.npm/configstore/0.2.3/package.tgz
2846 verbose lock tar:///home/alectaylor/.npm/configstore/0.2.3/package.tgz /home/alectaylor/.npm/e4949059-pm-configstore-0-2-3-package-tgz.lock
2847 verbose tar unpack /home/alectaylor/.npm/async/0.2.10/package.tgz
2848 silly lockFile 09aa7995-dules-insight-node-modules-async tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/async
2849 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/async /home/alectaylor/.npm/09aa7995-dules-insight-node-modules-async.lock
2850 silly lockFile 35fd7cd2-uel-npm-async-0-2-10-package-tgz tar:///home/alectaylor/.npm/async/0.2.10/package.tgz
2851 verbose lock tar:///home/alectaylor/.npm/async/0.2.10/package.tgz /home/alectaylor/.npm/35fd7cd2-uel-npm-async-0-2-10-package-tgz.lock
2852 verbose tar unpack /home/alectaylor/.npm/object-assign/0.1.2/package.tgz
2853 silly lockFile 050699a8-sight-node-modules-object-assign tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/object-assign
2854 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/object-assign /home/alectaylor/.npm/050699a8-sight-node-modules-object-assign.lock
2855 silly lockFile d299a7ba--object-assign-0-1-2-package-tgz tar:///home/alectaylor/.npm/object-assign/0.1.2/package.tgz
2856 verbose lock tar:///home/alectaylor/.npm/object-assign/0.1.2/package.tgz /home/alectaylor/.npm/d299a7ba--object-assign-0-1-2-package-tgz.lock
2857 silly lockFile 2fbe3542-m-bower-config-0-5-1-package-tgz tar:///home/alectaylor/.npm/bower-config/0.5.1/package.tgz
2858 silly lockFile 2fbe3542-m-bower-config-0-5-1-package-tgz tar:///home/alectaylor/.npm/bower-config/0.5.1/package.tgz
2859 verbose registry.get q not expired, no request
2860 silly addNameRange number 2 { name: 'q', range: '>=0.9.2-0 <0.10.0-0', hasData: true }
2861 silly addNameRange versions [ 'q',
2861 silly addNameRange [ '0.0.0',
2861 silly addNameRange '0.0.1',
2861 silly addNameRange '0.0.2',
2861 silly addNameRange '0.0.3',
2861 silly addNameRange '0.1.0',
2861 silly addNameRange '0.1.1',
2861 silly addNameRange '0.1.2',
2861 silly addNameRange '0.1.3',
2861 silly addNameRange '0.1.4',
2861 silly addNameRange '0.1.5',
2861 silly addNameRange '0.1.6',
2861 silly addNameRange '0.1.7',
2861 silly addNameRange '0.1.8',
2861 silly addNameRange '0.1.9',
2861 silly addNameRange '0.2.0-rc1',
2861 silly addNameRange '0.2.0',
2861 silly addNameRange '0.2.1',
2861 silly addNameRange '0.2.2',
2861 silly addNameRange '0.2.3',
2861 silly addNameRange '0.2.4',
2861 silly addNameRange '0.2.5',
2861 silly addNameRange '0.2.6',
2861 silly addNameRange '0.2.7',
2861 silly addNameRange '0.2.8',
2861 silly addNameRange '0.2.9',
2861 silly addNameRange '0.3.0',
2861 silly addNameRange '0.2.10',
2861 silly addNameRange '0.4.0',
2861 silly addNameRange '0.4.1',
2861 silly addNameRange '0.4.2',
2861 silly addNameRange '0.4.4',
2861 silly addNameRange '0.5.0',
2861 silly addNameRange '0.5.1',
2861 silly addNameRange '0.5.2',
2861 silly addNameRange '0.5.3',
2861 silly addNameRange '0.6.0',
2861 silly addNameRange '0.7.0',
2861 silly addNameRange '0.7.1',
2861 silly addNameRange '0.7.2',
2861 silly addNameRange '0.8.0',
2861 silly addNameRange '0.8.1',
2861 silly addNameRange '0.8.2',
2861 silly addNameRange '0.8.3',
2861 silly addNameRange '0.8.4',
2861 silly addNameRange '0.8.5',
2861 silly addNameRange '0.8.6',
2861 silly addNameRange '0.8.7',
2861 silly addNameRange '0.8.8',
2861 silly addNameRange '0.8.9',
2861 silly addNameRange '0.8.10',
2861 silly addNameRange '0.8.11',
2861 silly addNameRange '0.8.12',
2861 silly addNameRange '0.9.0',
2861 silly addNameRange '0.9.1',
2861 silly addNameRange '0.9.2',
2861 silly addNameRange '0.9.3',
2861 silly addNameRange '0.9.4',
2861 silly addNameRange '0.9.5',
2861 silly addNameRange '0.9.6',
2861 silly addNameRange '0.9.7',
2861 silly addNameRange '1.0.0',
2861 silly addNameRange '1.0.1',
2861 silly addNameRange '2.0.0',
2861 silly addNameRange '2.0.1',
2861 silly addNameRange '2.0.2' ] ]
2862 verbose addNamed [ 'q', '0.9.7' ]
2863 verbose addNamed [ '0.9.7', '0.9.7' ]
2864 silly lockFile cc8e51ee-q-0-9-7 [email protected]
2865 verbose lock [email protected] /home/alectaylor/.npm/cc8e51ee-q-0-9-7.lock
2866 info preinstall [email protected]
2867 silly gunzTarPerm extractEntry package.json
2868 silly gunzTarPerm modes [ '755', '644' ]
2869 silly gunzTarPerm modes [ '755', '644' ]
2870 silly gunzTarPerm modes [ '755', '644' ]
2871 silly gunzTarPerm modes [ '755', '644' ]
2872 silly gunzTarPerm modes [ '755', '644' ]
2873 verbose readDependencies using package.json deps
2874 info preinstall [email protected]
2875 verbose readDependencies using package.json deps
2876 silly resolved []
2877 verbose about to build /usr/local/lib/node_modules/bower/node_modules/nopt
2878 info build /usr/local/lib/node_modules/bower/node_modules/nopt
2879 verbose linkStuff [ true,
2879 verbose linkStuff '/usr/local/lib/node_modules',
2879 verbose linkStuff false,
2879 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2880 info linkStuff [email protected]
2881 silly gunzTarPerm extractEntry configstore.js
2882 silly gunzTarPerm extractEntry readme.md
2883 verbose linkBins [email protected]
2884 verbose link bins [ { nopt: './bin/nopt.js' },
2884 verbose link bins '/usr/local/lib/node_modules/bower/node_modules/.bin',
2884 verbose link bins false ]
2885 verbose linkMans [email protected]
2886 verbose rebuildBundles [email protected]
2887 verbose readDependencies using package.json deps
2888 silly lockFile 3fe7da2e-throttleit-0-0-2 [email protected]
2889 silly lockFile 3fe7da2e-throttleit-0-0-2 [email protected]
2890 silly gunzTarPerm extractEntry package.json
2891 verbose readDependencies using package.json deps
2892 silly lockFile de588288-throttleit-0-0-2 throttleit@~0.0.2
2893 silly lockFile de588288-throttleit-0-0-2 throttleit@~0.0.2
2894 silly lockFile cc8e51ee-q-0-9-7 [email protected]
2895 silly lockFile cc8e51ee-q-0-9-7 [email protected]
2896 silly gunzTarPerm extractEntry package.json
2897 silly gunzTarPerm extractEntry package.json
2898 silly gunzTarPerm extractEntry package.json
2899 silly gunzTarPerm extractEntry package.json
2900 silly lockFile 2778fd1e-q-0-9-2 q@~0.9.2
2901 silly lockFile 2778fd1e-q-0-9-2 q@~0.9.2
2902 verbose cache add [ 'optimist@~0.6.0', null ]
2903 verbose cache add name=undefined spec="optimist@~0.6.0" args=["optimist@~0.6.0",null]
2904 verbose parsed url { protocol: null,
2904 verbose parsed url slashes: null,
2904 verbose parsed url auth: null,
2904 verbose parsed url host: null,
2904 verbose parsed url port: null,
2904 verbose parsed url hostname: null,
2904 verbose parsed url hash: null,
2904 verbose parsed url search: null,
2904 verbose parsed url query: null,
2904 verbose parsed url pathname: 'optimist@~0.6.0',
2904 verbose parsed url path: 'optimist@~0.6.0',
2904 verbose parsed url href: 'optimist@~0.6.0' }
2905 verbose cache add name="optimist" spec="~0.6.0" args=["optimist","~0.6.0"]
2906 verbose parsed url { protocol: null,
2906 verbose parsed url slashes: null,
2906 verbose parsed url auth: null,
2906 verbose parsed url host: null,
2906 verbose parsed url port: null,
2906 verbose parsed url hostname: null,
2906 verbose parsed url hash: null,
2906 verbose parsed url search: null,
2906 verbose parsed url query: null,
2906 verbose parsed url pathname: '~0.6.0',
2906 verbose parsed url path: '~0.6.0',
2906 verbose parsed url href: '~0.6.0' }
2907 verbose addNamed [ 'optimist', '~0.6.0' ]
2908 verbose addNamed [ null, '>=0.6.0-0 <0.7.0-0' ]
2909 silly lockFile 07193858-optimist-0-6-0 optimist@~0.6.0
2910 verbose lock optimist@~0.6.0 /home/alectaylor/.npm/07193858-optimist-0-6-0.lock
2911 silly gunzTarPerm extractEntry .npmignore
2912 silly gunzTarPerm extractEntry README.md
2913 silly gunzTarPerm extractEntry README.md
2914 silly gunzTarPerm extractEntry index.js
2915 silly gunzTarPerm extractEntry configstore.js
2916 silly gunzTarPerm extractEntry readme.md
2917 silly gunzTarPerm extractEntry README.md
2918 silly gunzTarPerm extractEntry LICENSE
2919 silly gunzTarPerm extractEntry component.json
2920 silly gunzTarPerm extractEntry lib/async.js
2921 silly gunzTarPerm extractEntry object-assign.js
2922 silly gunzTarPerm extractEntry readme.md
2923 silly addNameRange { name: 'optimist', range: '>=0.6.0-0 <0.7.0-0', hasData: false }
2924 info install [email protected]
2925 silly resolved [ { name: 'throttleit',
2925 silly resolved description: 'Throttle a function',
2925 silly resolved version: '0.0.2',
2925 silly resolved keywords: [],
2925 silly resolved repository: { type: 'git', url: 'git://github.com/component/throttle.git' },
2925 silly resolved dependencies: {},
2925 silly resolved development: {},
2925 silly resolved license: 'MIT',
2925 silly resolved component: { scripts: [Object] },
2925 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',
2925 silly resolved readmeFilename: 'Readme.md',
2925 silly resolved bugs: { url: 'https://github.com/component/throttle/issues' },
2925 silly resolved homepage: 'https://github.com/component/throttle',
2925 silly resolved _id: '[email protected]',
2925 silly resolved _from: 'throttleit@~0.0.2',
2925 silly resolved scripts: {} } ]
2926 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/request-progress
2927 info installOne [email protected]
2928 info postinstall [email protected]
2929 info /usr/local/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit unbuild
2930 silly resolved [ { name: 'q',
2930 silly resolved version: '0.9.7',
2930 silly resolved description: 'A library for promises (CommonJS/Promises/A,B,D)',
2930 silly resolved homepage: 'https://github.com/kriskowal/q',
2930 silly resolved author:
2930 silly resolved { name: 'Kris Kowal',
2930 silly resolved email: '[email protected]',
2930 silly resolved url: 'https://github.com/kriskowal' },
2930 silly resolved keywords:
2930 silly resolved [ 'q',
2930 silly resolved 'promise',
2930 silly resolved 'promises',
2930 silly resolved 'promises-a',
2930 silly resolved 'promises-aplus',
2930 silly resolved 'deferred',
2930 silly resolved 'future',
2930 silly resolved 'async',
2930 silly resolved 'flow control',
2930 silly resolved 'fluent',
2930 silly resolved 'browser',
2930 silly resolved 'node' ],
2930 silly resolved contributors: [ [Object], [Object], [Object] ],
2930 silly resolved bugs: { url: 'http://github.com/kriskowal/q/issues' },
2930 silly resolved license:
2930 silly resolved { type: 'MIT',
2930 silly resolved url: 'http://github.com/kriskowal/q/raw/master/LICENSE' },
2930 silly resolved main: 'q.js',
2930 silly resolved repository: { type: 'git', url: 'git://github.com/kriskowal/q.git' },
2930 silly resolved engines: { node: '>=0.6.0', teleport: '>=0.2.0' },
2930 silly resolved dependencies: {},
2930 silly resolved devDependencies:
2930 silly resolved { jshint: '~2.1.9',
2930 silly resolved cover: '*',
2930 silly resolved 'jasmine-node': '1.11.0',
2930 silly resolved opener: '*',
2930 silly resolved 'promises-aplus-tests': '1.x',
2930 silly resolved grunt: '~0.4.1',
2930 silly resolved 'grunt-cli': '~0.1.9',
2930 silly resolved 'grunt-contrib-uglify': '~0.2.2',
2930 silly resolved matcha: '~0.2.0' },
2930 silly resolved scripts:
2930 silly resolved { test: 'jasmine-node spec && promises-aplus-tests spec/aplus-adapter',
2930 silly resolved 'test-browser': 'opener spec/q-spec.html',
2930 silly resolved benchmark: 'matcha',
2930 silly resolved lint: 'jshint q.js',
2930 silly resolved cover: 'cover run node_modules/jasmine-node/bin/jasmine-node spec && cover report html && opener cover_html/index.html',
2930 silly resolved minify: 'grunt',
2930 silly resolved prepublish: 'grunt' },
2930 silly resolved overlay: { teleport: [Object] },
2930 silly resolved directories: { test: './spec' },
2930 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',
2930 silly resolved readmeFilename: 'README.md',
2930 silly resolved _id: '[email protected]',
2930 silly resolved _from: 'q@~0.9.2' } ]
2931 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/p-throttler
2932 info installOne [email protected]
2933 silly lockFile c472c099-modules-bower-node-modules-retry tar:///usr/local/lib/node_modules/bower/node_modules/retry
2934 silly lockFile c472c099-modules-bower-node-modules-retry tar:///usr/local/lib/node_modules/bower/node_modules/retry
2935 info /usr/local/lib/node_modules/bower/node_modules/p-throttler/node_modules/q unbuild
2936 verbose url raw optimist
2937 verbose url resolving [ 'https://registry.npmjs.org/', './optimist' ]
2938 verbose url resolved https://registry.npmjs.org/optimist
2939 info trying registry request attempt 1 at 11:33:16
2940 verbose etag "BMGZNB88P2VOF6NEE1NU4HOCW"
2941 http GET https://registry.npmjs.org/optimist
2942 silly lockFile 6bfa8006-muel-npm-retry-0-6-0-package-tgz tar:///home/alectaylor/.npm/retry/0.6.0/package.tgz
2943 silly lockFile 6bfa8006-muel-npm-retry-0-6-0-package-tgz tar:///home/alectaylor/.npm/retry/0.6.0/package.tgz
2944 silly lockFile d0717b67-s-chalk-node-modules-ansi-styles tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles
2945 silly lockFile d0717b67-s-chalk-node-modules-ansi-styles tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles
2946 silly lockFile 0a7db5ee-les-chalk-node-modules-has-color tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/has-color
2947 silly lockFile 0a7db5ee-les-chalk-node-modules-has-color tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/has-color
2948 http 304 https://registry.npmjs.org/read
2949 silly registry.get cb [ 304,
2949 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
2949 silly registry.get server: 'Apache',
2949 silly registry.get via: '1.1 varnish',
2949 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:58 GMT',
2949 silly registry.get 'cache-control': 'max-age=30',
2949 silly registry.get etag: '"AX4MIK1433873MQ2X0SOFZUZH"',
2949 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
2949 silly registry.get 'x-cache': 'HIT',
2949 silly registry.get 'x-cache-hits': '2',
2949 silly registry.get 'x-timer': 'S1402918396.592036,VS0,VE0',
2949 silly registry.get vary: 'Accept',
2949 silly registry.get 'content-length': '0',
2949 silly registry.get 'keep-alive': 'timeout=10, max=50',
2949 silly registry.get connection: 'Keep-Alive' } ]
2950 verbose etag read from cache
2951 verbose tar unpack /home/alectaylor/.npm/throttleit/0.0.2/package.tgz
2952 silly lockFile 3b7d1b51-progress-node-modules-throttleit tar:///usr/local/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit
2953 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit /home/alectaylor/.npm/3b7d1b51-progress-node-modules-throttleit.lock
2954 silly lockFile da654728-npm-throttleit-0-0-2-package-tgz tar:///home/alectaylor/.npm/throttleit/0.0.2/package.tgz
2955 verbose lock tar:///home/alectaylor/.npm/throttleit/0.0.2/package.tgz /home/alectaylor/.npm/da654728-npm-throttleit-0-0-2-package-tgz.lock
2956 silly lockFile 334de472-pm-ansi-styles-1-0-0-package-tgz tar:///home/alectaylor/.npm/ansi-styles/1.0.0/package.tgz
2957 silly lockFile 334de472-pm-ansi-styles-1-0-0-package-tgz tar:///home/alectaylor/.npm/ansi-styles/1.0.0/package.tgz
2958 silly lockFile f248f9c2--npm-has-color-0-1-7-package-tgz tar:///home/alectaylor/.npm/has-color/0.1.7/package.tgz
2959 silly lockFile f248f9c2--npm-has-color-0-1-7-package-tgz tar:///home/alectaylor/.npm/has-color/0.1.7/package.tgz
2960 silly lockFile ed18379a-ower-node-modules-fstream-ignore tar:///usr/local/lib/node_modules/bower/node_modules/fstream-ignore
2961 silly lockFile ed18379a-ower-node-modules-fstream-ignore tar:///usr/local/lib/node_modules/bower/node_modules/fstream-ignore
2962 verbose tar unpack /home/alectaylor/.npm/q/0.9.7/package.tgz
2963 silly lockFile b485caa1-dules-p-throttler-node-modules-q tar:///usr/local/lib/node_modules/bower/node_modules/p-throttler/node_modules/q
2964 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/p-throttler/node_modules/q /home/alectaylor/.npm/b485caa1-dules-p-throttler-node-modules-q.lock
2965 silly lockFile 3df6c19b-e-alectaylor-npm-q-0-9-7-package-tgz tar:///home/alectaylor/.npm/q/0.9.7/package.tgz
2966 verbose lock tar:///home/alectaylor/.npm/q/0.9.7/package.tgz /home/alectaylor/.npm/3df6c19b-e-alectaylor-npm-q-0-9-7-package-tgz.lock
2967 silly gunzTarPerm extractEntry LICENSE
2968 silly lockFile e9626d49-fstream-ignore-0-0-8-package-tgz tar:///home/alectaylor/.npm/fstream-ignore/0.0.8/package.tgz
2969 silly lockFile e9626d49-fstream-ignore-0-0-8-package-tgz tar:///home/alectaylor/.npm/fstream-ignore/0.0.8/package.tgz
2970 silly gunzTarPerm extractEntry index.js
2971 silly gunzTarPerm extractEntry LICENSE.txt
2972 info preinstall [email protected]
2973 silly gunzTarPerm modes [ '755', '644' ]
2974 silly lockFile 5e88575f-s-bower-node-modules-shell-quote tar:///usr/local/lib/node_modules/bower/node_modules/shell-quote
2975 silly lockFile 5e88575f-s-bower-node-modules-shell-quote tar:///usr/local/lib/node_modules/bower/node_modules/shell-quote
2976 info preinstall [email protected]
2977 info preinstall [email protected]
2978 silly lockFile 50513f02-pm-shell-quote-1-4-1-package-tgz tar:///home/alectaylor/.npm/shell-quote/1.4.1/package.tgz
2979 silly lockFile 50513f02-pm-shell-quote-1-4-1-package-tgz tar:///home/alectaylor/.npm/shell-quote/1.4.1/package.tgz
2980 verbose readDependencies using package.json deps
2981 info preinstall [email protected]
2982 silly lockFile e6db7ce7-es-chalk-node-modules-strip-ansi tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi
2983 silly lockFile e6db7ce7-es-chalk-node-modules-strip-ansi tar:///usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi
2984 silly addNameRange number 2 { name: 'read', range: '>=1.0.4-0 <1.1.0-0', hasData: true }
2985 silly addNameRange versions [ 'read',
2985 silly addNameRange [ '0.0.1',
2985 silly addNameRange '0.0.2',
2985 silly addNameRange '0.0.3',
2985 silly addNameRange '0.1.0',
2985 silly addNameRange '0.1.1',
2985 silly addNameRange '1.0.0',
2985 silly addNameRange '1.0.1',
2985 silly addNameRange '1.0.2',
2985 silly addNameRange '1.0.3',
2985 silly addNameRange '1.0.4',
2985 silly addNameRange '1.0.5' ] ]
2986 verbose addNamed [ 'read', '1.0.5' ]
2987 verbose addNamed [ '1.0.5', '1.0.5' ]
2988 silly lockFile 4450a55a-read-1-0-5 [email protected]
2989 verbose lock [email protected] /home/alectaylor/.npm/4450a55a-read-1-0-5.lock
2990 verbose readDependencies using package.json deps
2991 silly resolved []
2992 verbose about to build /usr/local/lib/node_modules/bower/node_modules/retry
2993 info build /usr/local/lib/node_modules/bower/node_modules/retry
2994 verbose linkStuff [ true,
2994 verbose linkStuff '/usr/local/lib/node_modules',
2994 verbose linkStuff false,
2994 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
2995 info linkStuff [email protected]
2996 silly lockFile 603c0640-npm-strip-ansi-0-1-1-package-tgz tar:///home/alectaylor/.npm/strip-ansi/0.1.1/package.tgz
2997 silly lockFile 603c0640-npm-strip-ansi-0-1-1-package-tgz tar:///home/alectaylor/.npm/strip-ansi/0.1.1/package.tgz
2998 verbose readDependencies using package.json deps
2999 verbose readDependencies using package.json deps
3000 silly gunzTarPerm extractEntry package.json
3001 verbose readDependencies using package.json deps
3002 silly resolved []
3003 verbose about to build /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles
3004 info build /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/ansi-styles
3005 verbose linkStuff [ true,
3005 verbose linkStuff '/usr/local/lib/node_modules',
3005 verbose linkStuff false,
3005 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules/chalk/node_modules' ]
3006 info linkStuff [email protected]
3007 verbose readDependencies using package.json deps
3008 silly resolved []
3009 verbose about to build /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/has-color
3010 info build /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/has-color
3011 verbose linkStuff [ true,
3011 verbose linkStuff '/usr/local/lib/node_modules',
3011 verbose linkStuff false,
3011 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules/chalk/node_modules' ]
3012 info linkStuff [email protected]
3013 info preinstall [email protected]
3014 verbose linkBins [email protected]
3015 verbose linkMans [email protected]
3016 verbose rebuildBundles [email protected]
3017 verbose readDependencies using package.json deps
3018 silly gunzTarPerm extractEntry request.js
3019 silly gunzTarPerm extractEntry lib/copy.js
3020 info install [email protected]
3021 verbose readDependencies using package.json deps
3022 verbose linkBins [email protected]
3023 verbose linkMans [email protected]
3024 verbose rebuildBundles [email protected]
3025 verbose linkBins [email protected]
3026 verbose linkMans [email protected]
3027 verbose rebuildBundles [email protected]
3028 verbose cache add [ 'inherits@2', null ]
3029 verbose cache add name=undefined spec="inherits@2" args=["inherits@2",null]
3030 verbose parsed url { protocol: null,
3030 verbose parsed url slashes: null,
3030 verbose parsed url auth: null,
3030 verbose parsed url host: null,
3030 verbose parsed url port: null,
3030 verbose parsed url hostname: null,
3030 verbose parsed url hash: null,
3030 verbose parsed url search: null,
3030 verbose parsed url query: null,
3030 verbose parsed url pathname: 'inherits@2',
3030 verbose parsed url path: 'inherits@2',
3030 verbose parsed url href: 'inherits@2' }
3031 info preinstall [email protected]
3032 info install [email protected]
3033 info install [email protected]
3034 verbose readDependencies using package.json deps
3035 info postinstall [email protected]
3036 silly gunzTarPerm extractEntry .npmignore
3037 silly gunzTarPerm extractEntry example.js
3038 verbose cache add name="inherits" spec="2" args=["inherits","2"]
3039 verbose parsed url { protocol: null,
3039 verbose parsed url slashes: null,
3039 verbose parsed url auth: null,
3039 verbose parsed url host: null,
3039 verbose parsed url port: null,
3039 verbose parsed url hostname: null,
3039 verbose parsed url hash: null,
3039 verbose parsed url search: null,
3039 verbose parsed url query: null,
3039 verbose parsed url pathname: '2',
3039 verbose parsed url path: '2',
3039 verbose parsed url href: '2' }
3040 verbose addNamed [ 'inherits', '2' ]
3041 verbose addNamed [ null, '>=2.0.0-0 <3.0.0-0' ]
3042 silly lockFile 1f7ff4de-inherits-2 inherits@2
3043 verbose lock inherits@2 /home/alectaylor/.npm/1f7ff4de-inherits-2.lock
3044 verbose cache add [ 'minimatch@^0.3.0', null ]
3045 verbose cache add name=undefined spec="minimatch@^0.3.0" args=["minimatch@^0.3.0",null]
3046 verbose parsed url { protocol: null,
3046 verbose parsed url slashes: null,
3046 verbose parsed url auth: null,
3046 verbose parsed url host: null,
3046 verbose parsed url port: null,
3046 verbose parsed url hostname: null,
3046 verbose parsed url hash: null,
3046 verbose parsed url search: null,
3046 verbose parsed url query: null,
3046 verbose parsed url pathname: 'minimatch@^0.3.0',
3046 verbose parsed url path: 'minimatch@^0.3.0',
3046 verbose parsed url href: 'minimatch@^0.3.0' }
3047 verbose readDependencies using package.json deps
3048 verbose cache add name="minimatch" spec="^0.3.0" args=["minimatch","^0.3.0"]
3049 verbose parsed url { protocol: null,
3049 verbose parsed url slashes: null,
3049 verbose parsed url auth: null,
3049 verbose parsed url host: null,
3049 verbose parsed url port: null,
3049 verbose parsed url hostname: null,
3049 verbose parsed url hash: null,
3049 verbose parsed url search: null,
3049 verbose parsed url query: null,
3049 verbose parsed url pathname: '^0.3.0',
3049 verbose parsed url path: '^0.3.0',
3049 verbose parsed url href: '^0.3.0' }
3050 verbose addNamed [ 'minimatch', '^0.3.0' ]
3051 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
3052 silly lockFile 27a1ef78-minimatch-0-3-0 minimatch@^0.3.0
3053 verbose lock minimatch@^0.3.0 /home/alectaylor/.npm/27a1ef78-minimatch-0-3-0.lock
3054 info postinstall [email protected]
3055 info postinstall [email protected]
3056 silly addNameRange { name: 'inherits', range: '>=2.0.0-0 <3.0.0-0', hasData: false }
3057 verbose cache add [ 'array-map@~0.0.0', null ]
3058 verbose cache add name=undefined spec="array-map@~0.0.0" args=["array-map@~0.0.0",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: 'array-map@~0.0.0',
3059 verbose parsed url path: 'array-map@~0.0.0',
3059 verbose parsed url href: 'array-map@~0.0.0' }
3060 verbose readDependencies using package.json deps
3061 silly lockFile 4450a55a-read-1-0-5 [email protected]
3062 silly lockFile 4450a55a-read-1-0-5 [email protected]
3063 verbose cache add [ 'jsonify@~0.0.0', null ]
3064 verbose cache add name=undefined spec="jsonify@~0.0.0" args=["jsonify@~0.0.0",null]
3065 verbose parsed url { protocol: null,
3065 verbose parsed url slashes: null,
3065 verbose parsed url auth: null,
3065 verbose parsed url host: null,
3065 verbose parsed url port: null,
3065 verbose parsed url hostname: null,
3065 verbose parsed url hash: null,
3065 verbose parsed url search: null,
3065 verbose parsed url query: null,
3065 verbose parsed url pathname: 'jsonify@~0.0.0',
3065 verbose parsed url path: 'jsonify@~0.0.0',
3065 verbose parsed url href: 'jsonify@~0.0.0' }
3066 verbose cache add [ 'array-filter@~0.0.0', null ]
3067 verbose cache add name=undefined spec="array-filter@~0.0.0" args=["array-filter@~0.0.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: 'array-filter@~0.0.0',
3068 verbose parsed url path: 'array-filter@~0.0.0',
3068 verbose parsed url href: 'array-filter@~0.0.0' }
3069 verbose cache add name="array-map" spec="~0.0.0" args=["array-map","~0.0.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.0.0',
3070 verbose parsed url path: '~0.0.0',
3070 verbose parsed url href: '~0.0.0' }
3071 verbose addNamed [ 'array-map', '~0.0.0' ]
3072 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
3073 silly lockFile a057d804-array-map-0-0-0 array-map@~0.0.0
3074 verbose lock array-map@~0.0.0 /home/alectaylor/.npm/a057d804-array-map-0-0-0.lock
3075 silly addNameRange { name: 'minimatch',
3075 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
3075 silly addNameRange hasData: false }
3076 verbose readDependencies using package.json deps
3077 silly resolved []
3078 verbose about to build /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi
3079 info build /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/strip-ansi
3080 verbose linkStuff [ true,
3080 verbose linkStuff '/usr/local/lib/node_modules',
3080 verbose linkStuff false,
3080 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules/chalk/node_modules' ]
3081 info linkStuff [email protected]
3082 silly lockFile 8e7fcd4d-read-1-0-4 read@~1.0.4
3083 silly lockFile 8e7fcd4d-read-1-0-4 read@~1.0.4
3084 verbose cache add name="jsonify" spec="~0.0.0" args=["jsonify","~0.0.0"]
3085 verbose parsed url { protocol: null,
3085 verbose parsed url slashes: null,
3085 verbose parsed url auth: null,
3085 verbose parsed url host: null,
3085 verbose parsed url port: null,
3085 verbose parsed url hostname: null,
3085 verbose parsed url hash: null,
3085 verbose parsed url search: null,
3085 verbose parsed url query: null,
3085 verbose parsed url pathname: '~0.0.0',
3085 verbose parsed url path: '~0.0.0',
3085 verbose parsed url href: '~0.0.0' }
3086 verbose addNamed [ 'jsonify', '~0.0.0' ]
3087 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
3088 silly lockFile 6f82df5c-jsonify-0-0-0 jsonify@~0.0.0
3089 verbose lock jsonify@~0.0.0 /home/alectaylor/.npm/6f82df5c-jsonify-0-0-0.lock
3090 verbose cache add [ 'array-reduce@~0.0.0', null ]
3091 verbose cache add name=undefined spec="array-reduce@~0.0.0" args=["array-reduce@~0.0.0",null]
3092 verbose parsed url { protocol: null,
3092 verbose parsed url slashes: null,
3092 verbose parsed url auth: null,
3092 verbose parsed url host: null,
3092 verbose parsed url port: null,
3092 verbose parsed url hostname: null,
3092 verbose parsed url hash: null,
3092 verbose parsed url search: null,
3092 verbose parsed url query: null,
3092 verbose parsed url pathname: 'array-reduce@~0.0.0',
3092 verbose parsed url path: 'array-reduce@~0.0.0',
3092 verbose parsed url href: 'array-reduce@~0.0.0' }
3093 verbose cache add name="array-filter" spec="~0.0.0" args=["array-filter","~0.0.0"]
3094 verbose parsed url { protocol: null,
3094 verbose parsed url slashes: null,
3094 verbose parsed url auth: null,
3094 verbose parsed url host: null,
3094 verbose parsed url port: null,
3094 verbose parsed url hostname: null,
3094 verbose parsed url hash: null,
3094 verbose parsed url search: null,
3094 verbose parsed url query: null,
3094 verbose parsed url pathname: '~0.0.0',
3094 verbose parsed url path: '~0.0.0',
3094 verbose parsed url href: '~0.0.0' }
3095 verbose addNamed [ 'array-filter', '~0.0.0' ]
3096 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
3097 silly lockFile 9ddec165-array-filter-0-0-0 array-filter@~0.0.0
3098 verbose lock array-filter@~0.0.0 /home/alectaylor/.npm/9ddec165-array-filter-0-0-0.lock
3099 verbose cache add name="array-reduce" spec="~0.0.0" args=["array-reduce","~0.0.0"]
3100 verbose parsed url { protocol: null,
3100 verbose parsed url slashes: null,
3100 verbose parsed url auth: null,
3100 verbose parsed url host: null,
3100 verbose parsed url port: null,
3100 verbose parsed url hostname: null,
3100 verbose parsed url hash: null,
3100 verbose parsed url search: null,
3100 verbose parsed url query: null,
3100 verbose parsed url pathname: '~0.0.0',
3100 verbose parsed url path: '~0.0.0',
3100 verbose parsed url href: '~0.0.0' }
3101 verbose addNamed [ 'array-reduce', '~0.0.0' ]
3102 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
3103 silly lockFile ba3d3adc-array-reduce-0-0-0 array-reduce@~0.0.0
3104 verbose lock array-reduce@~0.0.0 /home/alectaylor/.npm/ba3d3adc-array-reduce-0-0-0.lock
3105 silly addNameRange { name: 'array-map',
3105 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
3105 silly addNameRange hasData: false }
3106 verbose linkBins [email protected]
3107 verbose link bins [ { 'strip-ansi': 'cli.js' },
3107 verbose link bins '/usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/.bin',
3107 verbose link bins false ]
3108 verbose linkMans [email protected]
3109 verbose rebuildBundles [email protected]
3110 silly addNameRange { name: 'jsonify', range: '>=0.0.0-0 <0.1.0-0', hasData: false }
3111 silly addNameRange { name: 'array-filter',
3111 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
3111 silly addNameRange hasData: false }
3112 verbose url raw inherits
3113 verbose url resolving [ 'https://registry.npmjs.org/', './inherits' ]
3114 verbose url resolved https://registry.npmjs.org/inherits
3115 info trying registry request attempt 1 at 11:33:16
3116 verbose etag "4AL2M2PJABZWUVUHFYQEADS5P"
3117 http GET https://registry.npmjs.org/inherits
3118 silly addNameRange { name: 'array-reduce',
3118 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
3118 silly addNameRange hasData: false }
3119 silly gunzTarPerm extractEntry index.js
3120 silly gunzTarPerm extractEntry History.md
3121 verbose url raw minimatch
3122 verbose url resolving [ 'https://registry.npmjs.org/', './minimatch' ]
3123 verbose url resolved https://registry.npmjs.org/minimatch
3124 info trying registry request attempt 1 at 11:33:16
3125 verbose etag "T2D632AF88V60ERSIPWY8ZQD"
3126 http GET https://registry.npmjs.org/minimatch
3127 verbose url raw array-map
3128 verbose url resolving [ 'https://registry.npmjs.org/', './array-map' ]
3129 verbose url resolved https://registry.npmjs.org/array-map
3130 info trying registry request attempt 1 at 11:33:16
3131 verbose etag "3N0D584WC9F0JLXDUAJIMD9T6"
3132 http GET https://registry.npmjs.org/array-map
3133 silly resolved [ { name: 'read',
3133 silly resolved version: '1.0.5',
3133 silly resolved main: 'lib/read.js',
3133 silly resolved dependencies: { 'mute-stream': '~0.0.4' },
3133 silly resolved devDependencies: { tap: '*' },
3133 silly resolved engines: { node: '>=0.8' },
3133 silly resolved author:
3133 silly resolved { name: 'Isaac Z. Schlueter',
3133 silly resolved email: '[email protected]',
3133 silly resolved url: 'http://blog.izs.me/' },
3133 silly resolved description: 'read(1) for node programs',
3133 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/read.git' },
3133 silly resolved license: 'BSD',
3133 silly resolved scripts: { test: 'tap test/*.js' },
3133 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',
3133 silly resolved readmeFilename: 'README.md',
3133 silly resolved bugs: { url: 'https://github.com/isaacs/read/issues' },
3133 silly resolved homepage: 'https://github.com/isaacs/read',
3133 silly resolved _id: '[email protected]',
3133 silly resolved _from: 'read@~1.0.4' } ]
3134 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/promptly
3135 info installOne [email protected]
3136 verbose url raw jsonify
3137 verbose url resolving [ 'https://registry.npmjs.org/', './jsonify' ]
3138 verbose url resolved https://registry.npmjs.org/jsonify
3139 info trying registry request attempt 1 at 11:33:16
3140 verbose etag "7VU8SEPVL9CBI4OPOR1Y6QHHL"
3141 http GET https://registry.npmjs.org/jsonify
3142 verbose url raw array-filter
3143 verbose url resolving [ 'https://registry.npmjs.org/', './array-filter' ]
3144 verbose url resolved https://registry.npmjs.org/array-filter
3145 info trying registry request attempt 1 at 11:33:16
3146 verbose etag "DCUSFFZN443VF2CQG666LWFQY"
3147 http GET https://registry.npmjs.org/array-filter
3148 info install [email protected]
3149 info /usr/local/lib/node_modules/bower/node_modules/promptly/node_modules/read unbuild
3150 verbose url raw array-reduce
3151 verbose url resolving [ 'https://registry.npmjs.org/', './array-reduce' ]
3152 verbose url resolved https://registry.npmjs.org/array-reduce
3153 info trying registry request attempt 1 at 11:33:16
3154 verbose etag "4OPNMX9RVV5FOMQLF0OFM7K8I"
3155 http GET https://registry.npmjs.org/array-reduce
3156 info postinstall [email protected]
3157 verbose tar unpack /home/alectaylor/.npm/read/1.0.5/package.tgz
3158 silly lockFile 097f996f-dules-promptly-node-modules-read tar:///usr/local/lib/node_modules/bower/node_modules/promptly/node_modules/read
3159 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/promptly/node_modules/read /home/alectaylor/.npm/097f996f-dules-promptly-node-modules-read.lock
3160 silly lockFile 87906e56-amuel-npm-read-1-0-5-package-tgz tar:///home/alectaylor/.npm/read/1.0.5/package.tgz
3161 verbose lock tar:///home/alectaylor/.npm/read/1.0.5/package.tgz /home/alectaylor/.npm/87906e56-amuel-npm-read-1-0-5-package-tgz.lock
3162 verbose about to build /usr/local/lib/node_modules/bower/node_modules/chalk
3163 info build /usr/local/lib/node_modules/bower/node_modules/chalk
3164 verbose linkStuff [ true,
3164 verbose linkStuff '/usr/local/lib/node_modules',
3164 verbose linkStuff false,
3164 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
3165 info linkStuff [email protected]
3166 silly gunzTarPerm extractEntry Makefile
3167 silly gunzTarPerm extractEntry Readme.md
3168 silly lockFile 41c285f0-otifier-node-modules-configstore tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore
3169 silly lockFile 41c285f0-otifier-node-modules-configstore tar:///usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore
3170 silly lockFile be404b76-pm-configstore-0-3-1-package-tgz tar:///home/alectaylor/.npm/configstore/0.3.1/package.tgz
3171 silly lockFile be404b76-pm-configstore-0-3-1-package-tgz tar:///home/alectaylor/.npm/configstore/0.3.1/package.tgz
3172 silly lockFile 050699a8-sight-node-modules-object-assign tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/object-assign
3173 silly lockFile 050699a8-sight-node-modules-object-assign tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/object-assign
3174 verbose linkBins [email protected]
3175 verbose linkMans [email protected]
3176 verbose rebuildBundles [email protected]
3177 silly gunzTarPerm modes [ '755', '644' ]
3178 silly lockFile d299a7ba--object-assign-0-1-2-package-tgz tar:///home/alectaylor/.npm/object-assign/0.1.2/package.tgz
3179 silly lockFile d299a7ba--object-assign-0-1-2-package-tgz tar:///home/alectaylor/.npm/object-assign/0.1.2/package.tgz
3180 verbose rebuildBundles [ '.bin', 'ansi-styles', 'has-color', 'strip-ansi' ]
3181 info install [email protected]
3182 info postinstall [email protected]
3183 silly lockFile d19a120b-insight-node-modules-configstore tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/configstore
3184 silly lockFile d19a120b-insight-node-modules-configstore tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/configstore
3185 info preinstall [email protected]
3186 silly lockFile e4949059-pm-configstore-0-2-3-package-tgz tar:///home/alectaylor/.npm/configstore/0.2.3/package.tgz
3187 silly lockFile e4949059-pm-configstore-0-2-3-package-tgz tar:///home/alectaylor/.npm/configstore/0.2.3/package.tgz
3188 info preinstall [email protected]
3189 silly gunzTarPerm extractEntry package.json
3190 silly gunzTarPerm extractEntry component.json
3191 verbose readDependencies using package.json deps
3192 verbose readDependencies using package.json deps
3193 verbose readDependencies using package.json deps
3194 info preinstall [email protected]
3195 verbose readDependencies using package.json deps
3196 silly resolved []
3197 verbose about to build /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/object-assign
3198 info build /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/object-assign
3199 verbose linkStuff [ true,
3199 verbose linkStuff '/usr/local/lib/node_modules',
3199 verbose linkStuff false,
3199 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules/insight/node_modules' ]
3200 info linkStuff [email protected]
3201 silly lockFile f70b5cb7-odules-bower-node-modules-mkdirp tar:///usr/local/lib/node_modules/bower/node_modules/mkdirp
3202 silly lockFile f70b5cb7-odules-bower-node-modules-mkdirp tar:///usr/local/lib/node_modules/bower/node_modules/mkdirp
3203 silly gunzTarPerm extractEntry .npmignore
3204 silly gunzTarPerm extractEntry README.md
3205 silly lockFile d6ca8ca7-es-bower-node-modules-bower-json tar:///usr/local/lib/node_modules/bower/node_modules/bower-json
3206 silly lockFile d6ca8ca7-es-bower-node-modules-bower-json tar:///usr/local/lib/node_modules/bower/node_modules/bower-json
3207 verbose cache add [ 'mkdirp@~0.5.0', null ]
3208 verbose cache add name=undefined spec="mkdirp@~0.5.0" args=["mkdirp@~0.5.0",null]
3209 verbose parsed url { protocol: null,
3209 verbose parsed url slashes: null,
3209 verbose parsed url auth: null,
3209 verbose parsed url host: null,
3209 verbose parsed url port: null,
3209 verbose parsed url hostname: null,
3209 verbose parsed url hash: null,
3209 verbose parsed url search: null,
3209 verbose parsed url query: null,
3209 verbose parsed url pathname: 'mkdirp@~0.5.0',
3209 verbose parsed url path: 'mkdirp@~0.5.0',
3209 verbose parsed url href: 'mkdirp@~0.5.0' }
3210 verbose cache add [ 'object-assign@~0.3.1', null ]
3211 verbose cache add name=undefined spec="object-assign@~0.3.1" args=["object-assign@~0.3.1",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: 'object-assign@~0.3.1',
3212 verbose parsed url path: 'object-assign@~0.3.1',
3212 verbose parsed url href: 'object-assign@~0.3.1' }
3213 verbose cache add [ 'osenv@~0.1.0', null ]
3214 verbose cache add name=undefined spec="osenv@~0.1.0" args=["osenv@~0.1.0",null]
3215 verbose parsed url { protocol: null,
3215 verbose parsed url slashes: null,
3215 verbose parsed url auth: null,
3215 verbose parsed url host: null,
3215 verbose parsed url port: null,
3215 verbose parsed url hostname: null,
3215 verbose parsed url hash: null,
3215 verbose parsed url search: null,
3215 verbose parsed url query: null,
3215 verbose parsed url pathname: 'osenv@~0.1.0',
3215 verbose parsed url path: 'osenv@~0.1.0',
3215 verbose parsed url href: 'osenv@~0.1.0' }
3216 silly lockFile aa959775-uel-npm-mkdirp-0-3-5-package-tgz tar:///home/alectaylor/.npm/mkdirp/0.3.5/package.tgz
3217 silly lockFile aa959775-uel-npm-mkdirp-0-3-5-package-tgz tar:///home/alectaylor/.npm/mkdirp/0.3.5/package.tgz
3218 silly lockFile 7841f140-npm-bower-json-0-4-0-package-tgz tar:///home/alectaylor/.npm/bower-json/0.4.0/package.tgz
3219 silly lockFile 7841f140-npm-bower-json-0-4-0-package-tgz tar:///home/alectaylor/.npm/bower-json/0.4.0/package.tgz
3220 verbose cache add name="mkdirp" spec="~0.5.0" args=["mkdirp","~0.5.0"]
3221 verbose parsed url { protocol: null,
3221 verbose parsed url slashes: null,
3221 verbose parsed url auth: null,
3221 verbose parsed url host: null,
3221 verbose parsed url port: null,
3221 verbose parsed url hostname: null,
3221 verbose parsed url hash: null,
3221 verbose parsed url search: null,
3221 verbose parsed url query: null,
3221 verbose parsed url pathname: '~0.5.0',
3221 verbose parsed url path: '~0.5.0',
3221 verbose parsed url href: '~0.5.0' }
3222 verbose addNamed [ 'mkdirp', '~0.5.0' ]
3223 verbose addNamed [ null, '>=0.5.0-0 <0.6.0-0' ]
3224 silly lockFile 3880d7a6-mkdirp-0-5-0 mkdirp@~0.5.0
3225 verbose lock mkdirp@~0.5.0 /home/alectaylor/.npm/3880d7a6-mkdirp-0-5-0.lock
3226 verbose cache add name="object-assign" spec="~0.3.1" args=["object-assign","~0.3.1"]
3227 verbose parsed url { protocol: null,
3227 verbose parsed url slashes: null,
3227 verbose parsed url auth: null,
3227 verbose parsed url host: null,
3227 verbose parsed url port: null,
3227 verbose parsed url hostname: null,
3227 verbose parsed url hash: null,
3227 verbose parsed url search: null,
3227 verbose parsed url query: null,
3227 verbose parsed url pathname: '~0.3.1',
3227 verbose parsed url path: '~0.3.1',
3227 verbose parsed url href: '~0.3.1' }
3228 verbose addNamed [ 'object-assign', '~0.3.1' ]
3229 verbose addNamed [ null, '>=0.3.1-0 <0.4.0-0' ]
3230 silly lockFile 97432c71-object-assign-0-3-1 object-assign@~0.3.1
3231 verbose lock object-assign@~0.3.1 /home/alectaylor/.npm/97432c71-object-assign-0-3-1.lock
3232 verbose cache add [ 'uuid@~1.4.1', null ]
3233 verbose cache add name=undefined spec="uuid@~1.4.1" args=["uuid@~1.4.1",null]
3234 verbose parsed url { protocol: null,
3234 verbose parsed url slashes: null,
3234 verbose parsed url auth: null,
3234 verbose parsed url host: null,
3234 verbose parsed url port: null,
3234 verbose parsed url hostname: null,
3234 verbose parsed url hash: null,
3234 verbose parsed url search: null,
3234 verbose parsed url query: null,
3234 verbose parsed url pathname: 'uuid@~1.4.1',
3234 verbose parsed url path: 'uuid@~1.4.1',
3234 verbose parsed url href: 'uuid@~1.4.1' }
3235 verbose cache add [ 'graceful-fs@~3.0.1', null ]
3236 verbose cache add name=undefined spec="graceful-fs@~3.0.1" args=["graceful-fs@~3.0.1",null]
3237 verbose parsed url { protocol: null,
3237 verbose parsed url slashes: null,
3237 verbose parsed url auth: null,
3237 verbose parsed url host: null,
3237 verbose parsed url port: null,
3237 verbose parsed url hostname: null,
3237 verbose parsed url hash: null,
3237 verbose parsed url search: null,
3237 verbose parsed url query: null,
3237 verbose parsed url pathname: 'graceful-fs@~3.0.1',
3237 verbose parsed url path: 'graceful-fs@~3.0.1',
3237 verbose parsed url href: 'graceful-fs@~3.0.1' }
3238 verbose cache add name="osenv" spec="~0.1.0" args=["osenv","~0.1.0"]
3239 verbose parsed url { protocol: null,
3239 verbose parsed url slashes: null,
3239 verbose parsed url auth: null,
3239 verbose parsed url host: null,
3239 verbose parsed url port: null,
3239 verbose parsed url hostname: null,
3239 verbose parsed url hash: null,
3239 verbose parsed url search: null,
3239 verbose parsed url query: null,
3239 verbose parsed url pathname: '~0.1.0',
3239 verbose parsed url path: '~0.1.0',
3239 verbose parsed url href: '~0.1.0' }
3240 verbose addNamed [ 'osenv', '~0.1.0' ]
3241 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
3242 silly lockFile f81c148e-osenv-0-1-0 osenv@~0.1.0
3243 verbose lock osenv@~0.1.0 /home/alectaylor/.npm/f81c148e-osenv-0-1-0.lock
3244 verbose linkBins [email protected]
3245 verbose linkMans [email protected]
3246 verbose rebuildBundles [email protected]
3247 silly lockFile 3f56f42b-e-modules-bower-node-modules-tmp tar:///usr/local/lib/node_modules/bower/node_modules/tmp
3248 silly lockFile 3f56f42b-e-modules-bower-node-modules-tmp tar:///usr/local/lib/node_modules/bower/node_modules/tmp
3249 verbose cache add name="uuid" spec="~1.4.1" args=["uuid","~1.4.1"]
3250 verbose parsed url { protocol: null,
3250 verbose parsed url slashes: null,
3250 verbose parsed url auth: null,
3250 verbose parsed url host: null,
3250 verbose parsed url port: null,
3250 verbose parsed url hostname: null,
3250 verbose parsed url hash: null,
3250 verbose parsed url search: null,
3250 verbose parsed url query: null,
3250 verbose parsed url pathname: '~1.4.1',
3250 verbose parsed url path: '~1.4.1',
3250 verbose parsed url href: '~1.4.1' }
3251 verbose addNamed [ 'uuid', '~1.4.1' ]
3252 verbose addNamed [ null, '>=1.4.1-0 <1.5.0-0' ]
3253 silly lockFile bc91a07e-uuid-1-4-1 uuid@~1.4.1
3254 verbose lock uuid@~1.4.1 /home/alectaylor/.npm/bc91a07e-uuid-1-4-1.lock
3255 verbose cache add name="graceful-fs" spec="~3.0.1" args=["graceful-fs","~3.0.1"]
3256 verbose parsed url { protocol: null,
3256 verbose parsed url slashes: null,
3256 verbose parsed url auth: null,
3256 verbose parsed url host: null,
3256 verbose parsed url port: null,
3256 verbose parsed url hostname: null,
3256 verbose parsed url hash: null,
3256 verbose parsed url search: null,
3256 verbose parsed url query: null,
3256 verbose parsed url pathname: '~3.0.1',
3256 verbose parsed url path: '~3.0.1',
3256 verbose parsed url href: '~3.0.1' }
3257 verbose addNamed [ 'graceful-fs', '~3.0.1' ]
3258 verbose addNamed [ null, '>=3.0.1-0 <3.1.0-0' ]
3259 silly lockFile 901920ca-graceful-fs-3-0-1 graceful-fs@~3.0.1
3260 verbose lock graceful-fs@~3.0.1 /home/alectaylor/.npm/901920ca-graceful-fs-3-0-1.lock
3261 verbose cache add [ 'js-yaml@~3.0.1', null ]
3262 verbose cache add name=undefined spec="js-yaml@~3.0.1" args=["js-yaml@~3.0.1",null]
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: 'js-yaml@~3.0.1',
3263 verbose parsed url path: 'js-yaml@~3.0.1',
3263 verbose parsed url href: 'js-yaml@~3.0.1' }
3264 verbose readDependencies using package.json deps
3265 silly gunzTarPerm extractEntry lib/debug.js
3266 silly gunzTarPerm extractEntry lib/getSafe.js
3267 info install [email protected]
3268 silly lockFile 89acd37a-amuel-npm-tmp-0-0-23-package-tgz tar:///home/alectaylor/.npm/tmp/0.0.23/package.tgz
3269 silly lockFile 89acd37a-amuel-npm-tmp-0-0-23-package-tgz tar:///home/alectaylor/.npm/tmp/0.0.23/package.tgz
3270 silly addNameRange { name: 'mkdirp', range: '>=0.5.0-0 <0.6.0-0', hasData: false }
3271 silly addNameRange { name: 'object-assign',
3271 silly addNameRange range: '>=0.3.1-0 <0.4.0-0',
3271 silly addNameRange hasData: false }
3272 verbose cache add name="js-yaml" spec="~3.0.1" args=["js-yaml","~3.0.1"]
3273 verbose parsed url { protocol: null,
3273 verbose parsed url slashes: null,
3273 verbose parsed url auth: null,
3273 verbose parsed url host: null,
3273 verbose parsed url port: null,
3273 verbose parsed url hostname: null,
3273 verbose parsed url hash: null,
3273 verbose parsed url search: null,
3273 verbose parsed url query: null,
3273 verbose parsed url pathname: '~3.0.1',
3273 verbose parsed url path: '~3.0.1',
3273 verbose parsed url href: '~3.0.1' }
3274 verbose addNamed [ 'js-yaml', '~3.0.1' ]
3275 verbose addNamed [ null, '>=3.0.1-0 <3.1.0-0' ]
3276 silly lockFile 48adea8c-js-yaml-3-0-1 js-yaml@~3.0.1
3277 verbose lock js-yaml@~3.0.1 /home/alectaylor/.npm/48adea8c-js-yaml-3-0-1.lock
3278 silly addNameRange { name: 'osenv', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
3279 verbose readDependencies using package.json deps
3280 silly addNameRange { name: 'uuid', range: '>=1.4.1-0 <1.5.0-0', hasData: false }
3281 silly addNameRange { name: 'graceful-fs',
3281 silly addNameRange range: '>=3.0.1-0 <3.1.0-0',
3281 silly addNameRange hasData: false }
3282 info postinstall [email protected]
3283 info preinstall [email protected]
3284 info preinstall [email protected]
3285 silly addNameRange { name: 'js-yaml', range: '>=3.0.1-0 <3.1.0-0', hasData: false }
3286 http 304 https://registry.npmjs.org/optimist
3287 silly registry.get cb [ 304,
3287 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3287 silly registry.get server: 'Apache',
3287 silly registry.get via: '1.1 varnish',
3287 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:34 GMT',
3287 silly registry.get 'cache-control': 'max-age=30',
3287 silly registry.get etag: '"BMGZNB88P2VOF6NEE1NU4HOCW"',
3287 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3287 silly registry.get 'x-cache': 'HIT',
3287 silly registry.get 'x-cache-hits': '11',
3287 silly registry.get 'x-timer': 'S1402918396.715815,VS0,VE0',
3287 silly registry.get vary: 'Accept',
3287 silly registry.get 'content-length': '0',
3287 silly registry.get 'keep-alive': 'timeout=10, max=50',
3287 silly registry.get connection: 'Keep-Alive' } ]
3288 verbose etag optimist from cache
3289 verbose cache add [ 'js-yaml@~3.0.1', null ]
3290 verbose cache add name=undefined spec="js-yaml@~3.0.1" args=["js-yaml@~3.0.1",null]
3291 verbose parsed url { protocol: null,
3291 verbose parsed url slashes: null,
3291 verbose parsed url auth: null,
3291 verbose parsed url host: null,
3291 verbose parsed url port: null,
3291 verbose parsed url hostname: null,
3291 verbose parsed url hash: null,
3291 verbose parsed url search: null,
3291 verbose parsed url query: null,
3291 verbose parsed url pathname: 'js-yaml@~3.0.1',
3291 verbose parsed url path: 'js-yaml@~3.0.1',
3291 verbose parsed url href: 'js-yaml@~3.0.1' }
3292 verbose cache add [ 'uuid@~1.4.1', null ]
3293 verbose cache add name=undefined spec="uuid@~1.4.1" args=["uuid@~1.4.1",null]
3294 verbose parsed url { protocol: null,
3294 verbose parsed url slashes: null,
3294 verbose parsed url auth: null,
3294 verbose parsed url host: null,
3294 verbose parsed url port: null,
3294 verbose parsed url hostname: null,
3294 verbose parsed url hash: null,
3294 verbose parsed url search: null,
3294 verbose parsed url query: null,
3294 verbose parsed url pathname: 'uuid@~1.4.1',
3294 verbose parsed url path: 'uuid@~1.4.1',
3294 verbose parsed url href: 'uuid@~1.4.1' }
3295 silly lockFile 80c81b02-ower-node-modules-decompress-zip tar:///usr/local/lib/node_modules/bower/node_modules/decompress-zip
3296 silly lockFile 80c81b02-ower-node-modules-decompress-zip tar:///usr/local/lib/node_modules/bower/node_modules/decompress-zip
3297 verbose cache add name="js-yaml" spec="~3.0.1" args=["js-yaml","~3.0.1"]
3298 verbose parsed url { protocol: null,
3298 verbose parsed url slashes: null,
3298 verbose parsed url auth: null,
3298 verbose parsed url host: null,
3298 verbose parsed url port: null,
3298 verbose parsed url hostname: null,
3298 verbose parsed url hash: null,
3298 verbose parsed url search: null,
3298 verbose parsed url query: null,
3298 verbose parsed url pathname: '~3.0.1',
3298 verbose parsed url path: '~3.0.1',
3298 verbose parsed url href: '~3.0.1' }
3299 verbose addNamed [ 'js-yaml', '~3.0.1' ]
3300 verbose cache add name="uuid" spec="~1.4.1" args=["uuid","~1.4.1"]
3301 verbose parsed url { protocol: null,
3301 verbose parsed url slashes: null,
3301 verbose parsed url auth: null,
3301 verbose parsed url host: null,
3301 verbose parsed url port: null,
3301 verbose parsed url hostname: null,
3301 verbose parsed url hash: null,
3301 verbose parsed url search: null,
3301 verbose parsed url query: null,
3301 verbose parsed url pathname: '~1.4.1',
3301 verbose parsed url path: '~1.4.1',
3301 verbose parsed url href: '~1.4.1' }
3302 verbose addNamed [ 'uuid', '~1.4.1' ]
3303 info preinstall [email protected]
3304 silly lockFile f34478ce-decompress-zip-0-0-8-package-tgz tar:///home/alectaylor/.npm/decompress-zip/0.0.8/package.tgz
3305 silly lockFile f34478ce-decompress-zip-0-0-8-package-tgz tar:///home/alectaylor/.npm/decompress-zip/0.0.8/package.tgz
3306 verbose readDependencies using package.json deps
3307 silly gunzTarPerm extractEntry LICENCE
3308 silly gunzTarPerm extractEntry rs.js
3309 verbose readDependencies using package.json deps
3310 verbose registry.get mkdirp not expired, no request
3311 silly addNameRange number 2 { name: 'mkdirp', range: '>=0.5.0-0 <0.6.0-0', hasData: true }
3312 silly addNameRange versions [ 'mkdirp',
3312 silly addNameRange [ '0.0.1',
3312 silly addNameRange '0.0.2',
3312 silly addNameRange '0.0.3',
3312 silly addNameRange '0.0.4',
3312 silly addNameRange '0.0.5',
3312 silly addNameRange '0.0.6',
3312 silly addNameRange '0.0.7',
3312 silly addNameRange '0.1.0',
3312 silly addNameRange '0.2.0',
3312 silly addNameRange '0.2.1',
3312 silly addNameRange '0.2.2',
3312 silly addNameRange '0.3.0',
3312 silly addNameRange '0.3.1',
3312 silly addNameRange '0.3.2',
3312 silly addNameRange '0.3.3',
3312 silly addNameRange '0.3.4',
3312 silly addNameRange '0.3.5',
3312 silly addNameRange '0.4.0',
3312 silly addNameRange '0.4.1',
3312 silly addNameRange '0.4.2',
3312 silly addNameRange '0.5.0' ] ]
3313 verbose addNamed [ 'mkdirp', '0.5.0' ]
3314 verbose addNamed [ '0.5.0', '0.5.0' ]
3315 silly lockFile bf9ae38d-mkdirp-0-5-0 [email protected]
3316 verbose lock [email protected] /home/alectaylor/.npm/bf9ae38d-mkdirp-0-5-0.lock
3317 verbose registry.get object-assign not expired, no request
3318 silly addNameRange number 2 { name: 'object-assign',
3318 silly addNameRange range: '>=0.3.1-0 <0.4.0-0',
3318 silly addNameRange hasData: true }
3319 silly addNameRange versions [ 'object-assign',
3319 silly addNameRange [ '0.1.0',
3319 silly addNameRange '0.1.1',
3319 silly addNameRange '0.1.2',
3319 silly addNameRange '0.2.0',
3319 silly addNameRange '0.2.1',
3319 silly addNameRange '0.2.2',
3319 silly addNameRange '0.3.0',
3319 silly addNameRange '0.3.1' ] ]
3320 verbose addNamed [ 'object-assign', '0.3.1' ]
3321 verbose addNamed [ '0.3.1', '0.3.1' ]
3322 silly lockFile e3ab6b96-object-assign-0-3-1 [email protected]
3323 verbose lock [email protected] /home/alectaylor/.npm/e3ab6b96-object-assign-0-3-1.lock
3324 verbose registry.get osenv not expired, no request
3325 silly addNameRange number 2 { name: 'osenv', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
3326 silly addNameRange versions [ 'osenv', [ '0.0.1', '0.0.2', '0.0.3', '0.1.0' ] ]
3327 verbose addNamed [ 'osenv', '0.1.0' ]
3328 verbose addNamed [ '0.1.0', '0.1.0' ]
3329 silly lockFile 8f25476a-osenv-0-1-0 [email protected]
3330 verbose lock [email protected] /home/alectaylor/.npm/8f25476a-osenv-0-1-0.lock
3331 silly lockFile 0f7d6b62-ght-node-modules-lodash-debounce tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce
3332 silly lockFile 0f7d6b62-ght-node-modules-lodash-debounce tar:///usr/local/lib/node_modules/bower/node_modules/insight/node_modules/lodash.debounce
3333 verbose readDependencies using package.json deps
3334 silly resolved []
3335 verbose about to build /usr/local/lib/node_modules/bower/node_modules/mkdirp
3336 info build /usr/local/lib/node_modules/bower/node_modules/mkdirp
3337 verbose linkStuff [ true,
3337 verbose linkStuff '/usr/local/lib/node_modules',
3337 verbose linkStuff false,
3337 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
3338 info linkStuff [email protected]
3339 verbose readDependencies using package.json deps
3340 verbose url raw uuid
3341 verbose url resolving [ 'https://registry.npmjs.org/', './uuid' ]
3342 verbose url resolved https://registry.npmjs.org/uuid
3343 info trying registry request attempt 1 at 11:33:16
3344 verbose etag "1TVG2S4RMJUU18OQBHIVXZYJN"
3345 http GET https://registry.npmjs.org/uuid
3346 verbose registry.get graceful-fs not expired, no request
3347 silly addNameRange number 2 { name: 'graceful-fs',
3347 silly addNameRange range: '>=3.0.1-0 <3.1.0-0',
3347 silly addNameRange hasData: true }
3348 silly addNameRange versions [ 'graceful-fs',
3348 silly addNameRange [ '1.0.0',
3348 silly addNameRange '1.0.1',
3348 silly addNameRange '1.0.2',
3348 silly addNameRange '1.1.0',
3348 silly addNameRange '1.1.1',
3348 silly addNameRange '1.1.2',
3348 silly addNameRange '1.1.3',
3348 silly addNameRange '1.1.4',
3348 silly addNameRange '1.1.5',
3348 silly addNameRange '1.1.6',
3348 silly addNameRange '1.1.7',
3348 silly addNameRange '1.1.8',
3348 silly addNameRange '1.1.9',
3348 silly addNameRange '1.1.10',
3348 silly addNameRange '1.1.11',
3348 silly addNameRange '1.1.12',
3348 silly addNameRange '1.1.13',
3348 silly addNameRange '1.1.14',
3348 silly addNameRange '1.2.0',
3348 silly addNameRange '1.2.1',
3348 silly addNameRange '1.2.2',
3348 silly addNameRange '1.2.3',
3348 silly addNameRange '2.0.0',
3348 silly addNameRange '2.0.1',
3348 silly addNameRange '2.0.2',
3348 silly addNameRange '2.0.3',
3348 silly addNameRange '3.0.0',
3348 silly addNameRange '3.0.1',
3348 silly addNameRange '3.0.2' ] ]
3349 verbose addNamed [ 'graceful-fs', '3.0.2' ]
3350 verbose addNamed [ '3.0.2', '3.0.2' ]
3351 silly lockFile 0ab50cb9-graceful-fs-3-0-2 [email protected]
3352 verbose lock [email protected] /home/alectaylor/.npm/0ab50cb9-graceful-fs-3-0-2.lock
3353 silly lockFile 2e26d26c-odash-debounce-2-4-1-package-tgz tar:///home/alectaylor/.npm/lodash.debounce/2.4.1/package.tgz
3354 silly lockFile 2e26d26c-odash-debounce-2-4-1-package-tgz tar:///home/alectaylor/.npm/lodash.debounce/2.4.1/package.tgz
3355 verbose readDependencies using package.json deps
3356 verbose url raw js-yaml
3357 verbose url resolving [ 'https://registry.npmjs.org/', './js-yaml' ]
3358 verbose url resolved https://registry.npmjs.org/js-yaml
3359 info trying registry request attempt 1 at 11:33:16
3360 verbose etag "3WYNQ9AS8ZV96KJG62Y87DFW1"
3361 http GET https://registry.npmjs.org/js-yaml
3362 verbose cache add [ 'deep-extend@~0.2.5', null ]
3363 verbose cache add name=undefined spec="deep-extend@~0.2.5" args=["deep-extend@~0.2.5",null]
3364 verbose parsed url { protocol: null,
3364 verbose parsed url slashes: null,
3364 verbose parsed url auth: null,
3364 verbose parsed url host: null,
3364 verbose parsed url port: null,
3364 verbose parsed url hostname: null,
3364 verbose parsed url hash: null,
3364 verbose parsed url search: null,
3364 verbose parsed url query: null,
3364 verbose parsed url pathname: 'deep-extend@~0.2.5',
3364 verbose parsed url path: 'deep-extend@~0.2.5',
3364 verbose parsed url href: 'deep-extend@~0.2.5' }
3365 verbose cache add [ 'intersect@~0.0.3', null ]
3366 verbose cache add name=undefined spec="intersect@~0.0.3" args=["intersect@~0.0.3",null]
3367 verbose parsed url { protocol: null,
3367 verbose parsed url slashes: null,
3367 verbose parsed url auth: null,
3367 verbose parsed url host: null,
3367 verbose parsed url port: null,
3367 verbose parsed url hostname: null,
3367 verbose parsed url hash: null,
3367 verbose parsed url search: null,
3367 verbose parsed url query: null,
3367 verbose parsed url pathname: 'intersect@~0.0.3',
3367 verbose parsed url path: 'intersect@~0.0.3',
3367 verbose parsed url href: 'intersect@~0.0.3' }
3368 verbose linkBins [email protected]
3369 verbose linkMans [email protected]
3370 verbose rebuildBundles [email protected]
3371 verbose readDependencies using package.json deps
3372 silly resolved []
3373 verbose about to build /usr/local/lib/node_modules/bower/node_modules/tmp
3374 info build /usr/local/lib/node_modules/bower/node_modules/tmp
3375 verbose linkStuff [ true,
3375 verbose linkStuff '/usr/local/lib/node_modules',
3375 verbose linkStuff false,
3375 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
3376 info linkStuff [email protected]
3377 info preinstall [email protected]
3378 verbose cache add name="deep-extend" spec="~0.2.5" args=["deep-extend","~0.2.5"]
3379 verbose parsed url { protocol: null,
3379 verbose parsed url slashes: null,
3379 verbose parsed url auth: null,
3379 verbose parsed url host: null,
3379 verbose parsed url port: null,
3379 verbose parsed url hostname: null,
3379 verbose parsed url hash: null,
3379 verbose parsed url search: null,
3379 verbose parsed url query: null,
3379 verbose parsed url pathname: '~0.2.5',
3379 verbose parsed url path: '~0.2.5',
3379 verbose parsed url href: '~0.2.5' }
3380 verbose addNamed [ 'deep-extend', '~0.2.5' ]
3381 verbose addNamed [ null, '>=0.2.5-0 <0.3.0-0' ]
3382 silly lockFile d89fdb6e-deep-extend-0-2-5 deep-extend@~0.2.5
3383 verbose lock deep-extend@~0.2.5 /home/alectaylor/.npm/d89fdb6e-deep-extend-0-2-5.lock
3384 http 304 https://registry.npmjs.org/array-filter
3385 silly registry.get cb [ 304,
3385 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3385 silly registry.get server: 'Apache',
3385 silly registry.get via: '1.1 varnish',
3385 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:59 GMT',
3385 silly registry.get 'cache-control': 'max-age=30',
3385 silly registry.get etag: '"DCUSFFZN443VF2CQG666LWFQY"',
3385 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3385 silly registry.get 'x-cache': 'HIT',
3385 silly registry.get 'x-cache-hits': '1',
3385 silly registry.get 'x-timer': 'S1402918396.748695,VS0,VE0',
3385 silly registry.get vary: 'Accept',
3385 silly registry.get 'content-length': '0',
3385 silly registry.get 'keep-alive': 'timeout=10, max=49',
3385 silly registry.get connection: 'Keep-Alive' } ]
3386 verbose etag array-filter from cache
3387 verbose cache add name="intersect" spec="~0.0.3" args=["intersect","~0.0.3"]
3388 verbose parsed url { protocol: null,
3388 verbose parsed url slashes: null,
3388 verbose parsed url auth: null,
3388 verbose parsed url host: null,
3388 verbose parsed url port: null,
3388 verbose parsed url hostname: null,
3388 verbose parsed url hash: null,
3388 verbose parsed url search: null,
3388 verbose parsed url query: null,
3388 verbose parsed url pathname: '~0.0.3',
3388 verbose parsed url path: '~0.0.3',
3388 verbose parsed url href: '~0.0.3' }
3389 verbose addNamed [ 'intersect', '~0.0.3' ]
3390 verbose addNamed [ null, '>=0.0.3-0 <0.1.0-0' ]
3391 silly lockFile 4f86c7cf-intersect-0-0-3 intersect@~0.0.3
3392 verbose lock intersect@~0.0.3 /home/alectaylor/.npm/4f86c7cf-intersect-0-0-3.lock
3393 info install [email protected]
3394 silly addNameRange number 2 { name: 'optimist', range: '>=0.6.0-0 <0.7.0-0', hasData: true }
3395 silly addNameRange versions [ 'optimist',
3395 silly addNameRange [ '0.0.1',
3395 silly addNameRange '0.0.2',
3395 silly addNameRange '0.0.4',
3395 silly addNameRange '0.0.5',
3395 silly addNameRange '0.0.6',
3395 silly addNameRange '0.0.7',
3395 silly addNameRange '0.1.0',
3395 silly addNameRange '0.1.1',
3395 silly addNameRange '0.1.2',
3395 silly addNameRange '0.1.3',
3395 silly addNameRange '0.1.4',
3395 silly addNameRange '0.1.5',
3395 silly addNameRange '0.1.6',
3395 silly addNameRange '0.1.7',
3395 silly addNameRange '0.1.8',
3395 silly addNameRange '0.1.9',
3395 silly addNameRange '0.0.3',
3395 silly addNameRange '0.2.0',
3395 silly addNameRange '0.2.1',
3395 silly addNameRange '0.2.2',
3395 silly addNameRange '0.2.3',
3395 silly addNameRange '0.2.4',
3395 silly addNameRange '0.2.5',
3395 silly addNameRange '0.2.6',
3395 silly addNameRange '0.2.7',
3395 silly addNameRange '0.2.8',
3395 silly addNameRange '0.3.0',
3395 silly addNameRange '0.3.1',
3395 silly addNameRange '0.3.3',
3395 silly addNameRange '0.3.4',
3395 silly addNameRange '0.3.5',
3395 silly addNameRange '0.3.6',
3395 silly addNameRange '0.3.7',
3395 silly addNameRange '0.4.0',
3395 silly addNameRange '0.5.0',
3395 silly addNameRange '0.5.1',
3395 silly addNameRange '0.5.2',
3395 silly addNameRange '0.6.0',
3395 silly addNameRange '0.6.1' ] ]
3396 verbose addNamed [ 'optimist', '0.6.1' ]
3397 verbose addNamed [ '0.6.1', '0.6.1' ]
3398 silly lockFile 0fc74eb8-optimist-0-6-1 [email protected]
3399 verbose lock [email protected] /home/alectaylor/.npm/0fc74eb8-optimist-0-6-1.lock
3400 verbose linkBins [email protected]
3401 verbose linkMans [email protected]
3402 verbose rebuildBundles [email protected]
3403 silly addNameRange { name: 'deep-extend',
3403 silly addNameRange range: '>=0.2.5-0 <0.3.0-0',
3403 silly addNameRange hasData: false }
3404 silly addNameRange { name: 'intersect',
3404 silly addNameRange range: '>=0.0.3-0 <0.1.0-0',
3404 silly addNameRange hasData: false }
3405 info preinstall [email protected]
3406 info postinstall [email protected]
3407 info install [email protected]
3408 verbose readDependencies using package.json deps
3409 verbose readDependencies using package.json deps
3410 info postinstall [email protected]
3411 silly gunzTarPerm extractEntry example/example.js
3412 silly gunzTarPerm extractEntry lib/read.js
3413 silly lockFile bf9ae38d-mkdirp-0-5-0 [email protected]
3414 silly lockFile bf9ae38d-mkdirp-0-5-0 [email protected]
3415 silly lockFile e3ab6b96-object-assign-0-3-1 [email protected]
3416 silly lockFile e3ab6b96-object-assign-0-3-1 [email protected]
3417 silly lockFile 0ab50cb9-graceful-fs-3-0-2 [email protected]
3418 silly lockFile 0ab50cb9-graceful-fs-3-0-2 [email protected]
3419 http 304 https://registry.npmjs.org/inherits
3420 silly registry.get cb [ 304,
3420 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3420 silly registry.get server: 'Apache',
3420 silly registry.get via: '1.1 varnish',
3420 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:51 GMT',
3420 silly registry.get 'cache-control': 'max-age=30',
3420 silly registry.get etag: '"4AL2M2PJABZWUVUHFYQEADS5P"',
3420 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3420 silly registry.get 'x-cache': 'HIT',
3420 silly registry.get 'x-cache-hits': '5',
3420 silly registry.get 'x-timer': 'S1402918396.775370,VS0,VE0',
3420 silly registry.get vary: 'Accept',
3420 silly registry.get 'content-length': '0',
3420 silly registry.get 'keep-alive': 'timeout=10, max=50',
3420 silly registry.get connection: 'Keep-Alive' } ]
3421 verbose etag inherits from cache
3422 verbose cache add [ 'readable-stream@~1.1.8', null ]
3423 verbose cache add name=undefined spec="readable-stream@~1.1.8" args=["readable-stream@~1.1.8",null]
3424 verbose parsed url { protocol: null,
3424 verbose parsed url slashes: null,
3424 verbose parsed url auth: null,
3424 verbose parsed url host: null,
3424 verbose parsed url port: null,
3424 verbose parsed url hostname: null,
3424 verbose parsed url hash: null,
3424 verbose parsed url search: null,
3424 verbose parsed url query: null,
3424 verbose parsed url pathname: 'readable-stream@~1.1.8',
3424 verbose parsed url path: 'readable-stream@~1.1.8',
3424 verbose parsed url href: 'readable-stream@~1.1.8' }
3425 verbose cache add [ 'graceful-fs@~3.0.0', null ]
3426 verbose cache add name=undefined spec="graceful-fs@~3.0.0" args=["graceful-fs@~3.0.0",null]
3427 verbose parsed url { protocol: null,
3427 verbose parsed url slashes: null,
3427 verbose parsed url auth: null,
3427 verbose parsed url host: null,
3427 verbose parsed url port: null,
3427 verbose parsed url hostname: null,
3427 verbose parsed url hash: null,
3427 verbose parsed url search: null,
3427 verbose parsed url query: null,
3427 verbose parsed url pathname: 'graceful-fs@~3.0.0',
3427 verbose parsed url path: 'graceful-fs@~3.0.0',
3427 verbose parsed url href: 'graceful-fs@~3.0.0' }
3428 verbose cache add [ 'mkpath@~0.1.0', null ]
3429 verbose cache add name=undefined spec="mkpath@~0.1.0" args=["mkpath@~0.1.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: 'mkpath@~0.1.0',
3430 verbose parsed url path: 'mkpath@~0.1.0',
3430 verbose parsed url href: 'mkpath@~0.1.0' }
3431 verbose cache add [ 'binary@~0.3.0', null ]
3432 verbose cache add name=undefined spec="binary@~0.3.0" args=["binary@~0.3.0",null]
3433 verbose parsed url { protocol: null,
3433 verbose parsed url slashes: null,
3433 verbose parsed url auth: null,
3433 verbose parsed url host: null,
3433 verbose parsed url port: null,
3433 verbose parsed url hostname: null,
3433 verbose parsed url hash: null,
3433 verbose parsed url search: null,
3433 verbose parsed url query: null,
3433 verbose parsed url pathname: 'binary@~0.3.0',
3433 verbose parsed url path: 'binary@~0.3.0',
3433 verbose parsed url href: 'binary@~0.3.0' }
3434 verbose cache add [ '[email protected]', null ]
3435 verbose cache add name=undefined spec="[email protected]" args=["[email protected]",null]
3436 verbose parsed url { protocol: null,
3436 verbose parsed url slashes: null,
3436 verbose parsed url auth: null,
3436 verbose parsed url host: null,
3436 verbose parsed url port: null,
3436 verbose parsed url hostname: null,
3436 verbose parsed url hash: null,
3436 verbose parsed url search: null,
3436 verbose parsed url query: null,
3436 verbose parsed url pathname: '[email protected]',
3436 verbose parsed url path: '[email protected]',
3436 verbose parsed url href: '[email protected]' }
3437 silly lockFile 8f25476a-osenv-0-1-0 [email protected]
3438 silly lockFile 8f25476a-osenv-0-1-0 [email protected]
3439 verbose readDependencies using package.json deps
3440 silly lockFile 3880d7a6-mkdirp-0-5-0 mkdirp@~0.5.0
3441 silly lockFile 3880d7a6-mkdirp-0-5-0 mkdirp@~0.5.0
3442 silly lockFile 97432c71-object-assign-0-3-1 object-assign@~0.3.1
3443 silly lockFile 97432c71-object-assign-0-3-1 object-assign@~0.3.1
3444 silly lockFile 901920ca-graceful-fs-3-0-1 graceful-fs@~3.0.1
3445 silly lockFile 901920ca-graceful-fs-3-0-1 graceful-fs@~3.0.1
3446 verbose cache add name="readable-stream" spec="~1.1.8" args=["readable-stream","~1.1.8"]
3447 verbose parsed url { protocol: null,
3447 verbose parsed url slashes: null,
3447 verbose parsed url auth: null,
3447 verbose parsed url host: null,
3447 verbose parsed url port: null,
3447 verbose parsed url hostname: null,
3447 verbose parsed url hash: null,
3447 verbose parsed url search: null,
3447 verbose parsed url query: null,
3447 verbose parsed url pathname: '~1.1.8',
3447 verbose parsed url path: '~1.1.8',
3447 verbose parsed url href: '~1.1.8' }
3448 verbose addNamed [ 'readable-stream', '~1.1.8' ]
3449 verbose addNamed [ null, '>=1.1.8-0 <1.2.0-0' ]
3450 silly lockFile 01676020-readable-stream-1-1-8 readable-stream@~1.1.8
3451 verbose lock readable-stream@~1.1.8 /home/alectaylor/.npm/01676020-readable-stream-1-1-8.lock
3452 verbose cache add name="graceful-fs" spec="~3.0.0" args=["graceful-fs","~3.0.0"]
3453 verbose parsed url { protocol: null,
3453 verbose parsed url slashes: null,
3453 verbose parsed url auth: null,
3453 verbose parsed url host: null,
3453 verbose parsed url port: null,
3453 verbose parsed url hostname: null,
3453 verbose parsed url hash: null,
3453 verbose parsed url search: null,
3453 verbose parsed url query: null,
3453 verbose parsed url pathname: '~3.0.0',
3453 verbose parsed url path: '~3.0.0',
3453 verbose parsed url href: '~3.0.0' }
3454 verbose addNamed [ 'graceful-fs', '~3.0.0' ]
3455 verbose addNamed [ null, '>=3.0.0-0 <3.1.0-0' ]
3456 silly lockFile 5e98cbb9-graceful-fs-3-0-0 graceful-fs@~3.0.0
3457 verbose lock graceful-fs@~3.0.0 /home/alectaylor/.npm/5e98cbb9-graceful-fs-3-0-0.lock
3458 verbose cache add name="mkpath" spec="~0.1.0" args=["mkpath","~0.1.0"]
3459 verbose parsed url { protocol: null,
3459 verbose parsed url slashes: null,
3459 verbose parsed url auth: null,
3459 verbose parsed url host: null,
3459 verbose parsed url port: null,
3459 verbose parsed url hostname: null,
3459 verbose parsed url hash: null,
3459 verbose parsed url search: null,
3459 verbose parsed url query: null,
3459 verbose parsed url pathname: '~0.1.0',
3459 verbose parsed url path: '~0.1.0',
3459 verbose parsed url href: '~0.1.0' }
3460 verbose addNamed [ 'mkpath', '~0.1.0' ]
3461 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
3462 silly lockFile 3ae958fb-mkpath-0-1-0 mkpath@~0.1.0
3463 verbose lock mkpath@~0.1.0 /home/alectaylor/.npm/3ae958fb-mkpath-0-1-0.lock
3464 verbose cache add name="binary" spec="~0.3.0" args=["binary","~0.3.0"]
3465 verbose parsed url { protocol: null,
3465 verbose parsed url slashes: null,
3465 verbose parsed url auth: null,
3465 verbose parsed url host: null,
3465 verbose parsed url port: null,
3465 verbose parsed url hostname: null,
3465 verbose parsed url hash: null,
3465 verbose parsed url search: null,
3465 verbose parsed url query: null,
3465 verbose parsed url pathname: '~0.3.0',
3465 verbose parsed url path: '~0.3.0',
3465 verbose parsed url href: '~0.3.0' }
3466 verbose addNamed [ 'binary', '~0.3.0' ]
3467 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
3468 silly lockFile bd38fc46-binary-0-3-0 binary@~0.3.0
3469 verbose lock binary@~0.3.0 /home/alectaylor/.npm/bd38fc46-binary-0-3-0.lock
3470 verbose cache add name="touch" spec="0.0.2" args=["touch","0.0.2"]
3471 verbose parsed url { protocol: null,
3471 verbose parsed url slashes: null,
3471 verbose parsed url auth: null,
3471 verbose parsed url host: null,
3471 verbose parsed url port: null,
3471 verbose parsed url hostname: null,
3471 verbose parsed url hash: null,
3471 verbose parsed url search: null,
3471 verbose parsed url query: null,
3471 verbose parsed url pathname: '0.0.2',
3471 verbose parsed url path: '0.0.2',
3471 verbose parsed url href: '0.0.2' }
3472 verbose addNamed [ 'touch', '0.0.2' ]
3473 verbose addNamed [ '0.0.2', '0.0.2' ]
3474 silly lockFile 16dda9ec-touch-0-0-2 [email protected]
3475 verbose lock [email protected] /home/alectaylor/.npm/16dda9ec-touch-0-0-2.lock
3476 http 304 https://registry.npmjs.org/array-reduce
3477 silly registry.get cb [ 304,
3477 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3477 silly registry.get server: 'Apache',
3477 silly registry.get via: '1.1 varnish',
3477 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:24 GMT',
3477 silly registry.get 'cache-control': 'max-age=30',
3477 silly registry.get etag: '"4OPNMX9RVV5FOMQLF0OFM7K8I"',
3477 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3477 silly registry.get 'x-cache': 'HIT',
3477 silly registry.get 'x-cache-hits': '1',
3477 silly registry.get 'x-timer': 'S1402918396.783536,VS0,VE0',
3477 silly registry.get vary: 'Accept',
3477 silly registry.get 'content-length': '0',
3477 silly registry.get 'keep-alive': 'timeout=10, max=48',
3477 silly registry.get connection: 'Keep-Alive' } ]
3478 verbose etag array-reduce from cache
3479 http 304 https://registry.npmjs.org/minimatch
3480 silly registry.get cb [ 304,
3480 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3480 silly registry.get server: 'Apache',
3480 silly registry.get via: '1.1 varnish',
3480 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:58 GMT',
3480 silly registry.get 'cache-control': 'max-age=30',
3480 silly registry.get etag: '"T2D632AF88V60ERSIPWY8ZQD"',
3480 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
3480 silly registry.get 'x-cache': 'HIT',
3480 silly registry.get 'x-cache-hits': '5',
3480 silly registry.get 'x-timer': 'S1402918396.786303,VS0,VE0',
3480 silly registry.get vary: 'Accept',
3480 silly registry.get 'content-length': '0',
3480 silly registry.get 'keep-alive': 'timeout=10, max=50',
3480 silly registry.get connection: 'Keep-Alive' } ]
3481 verbose etag minimatch from cache
3482 silly lockFile f81c148e-osenv-0-1-0 osenv@~0.1.0
3483 silly lockFile f81c148e-osenv-0-1-0 osenv@~0.1.0
3484 verbose readDependencies using package.json deps
3485 verbose about to build /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore
3486 info /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore unbuild
3487 info preuninstall [email protected]
3488 verbose url raw deep-extend
3489 verbose url resolving [ 'https://registry.npmjs.org/', './deep-extend' ]
3490 verbose url resolved https://registry.npmjs.org/deep-extend
3491 info trying registry request attempt 1 at 11:33:16
3492 verbose etag "40VV541H4B7JNLFIGM43EX3DX"
3493 http GET https://registry.npmjs.org/deep-extend
3494 silly addNameRange number 2 { name: 'array-filter',
3494 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
3494 silly addNameRange hasData: true }
3495 silly addNameRange versions [ 'array-filter', [ '0.0.0', '0.0.1', '0.1.0', '0.2.0' ] ]
3496 verbose addNamed [ 'array-filter', '0.0.1' ]
3497 verbose addNamed [ '0.0.1', '0.0.1' ]
3498 silly lockFile 037658bd-array-filter-0-0-1 [email protected]
3499 verbose lock [email protected] /home/alectaylor/.npm/037658bd-array-filter-0-0-1.lock
3500 verbose url raw intersect
3501 verbose url resolving [ 'https://registry.npmjs.org/', './intersect' ]
3502 verbose url resolved https://registry.npmjs.org/intersect
3503 info trying registry request attempt 1 at 11:33:16
3504 verbose etag "5INY0JE2N5WN8SQB3QT1L04DP"
3505 http GET https://registry.npmjs.org/intersect
3506 silly addNameRange { name: 'readable-stream',
3506 silly addNameRange range: '>=1.1.8-0 <1.2.0-0',
3506 silly addNameRange hasData: false }
3507 silly addNameRange { name: 'graceful-fs',
3507 silly addNameRange range: '>=3.0.0-0 <3.1.0-0',
3507 silly addNameRange hasData: false }
3508 silly addNameRange { name: 'mkpath', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
3509 silly addNameRange { name: 'binary', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
3510 http 304 https://registry.npmjs.org/uuid
3511 silly registry.get cb [ 304,
3511 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3511 silly registry.get server: 'Apache',
3511 silly registry.get via: '1.1 varnish',
3511 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:33:01 GMT',
3511 silly registry.get 'cache-control': 'max-age=30',
3511 silly registry.get etag: '"1TVG2S4RMJUU18OQBHIVXZYJN"',
3511 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3511 silly registry.get 'x-cache': 'HIT',
3511 silly registry.get 'x-cache-hits': '2',
3511 silly registry.get 'x-timer': 'S1402918396.809706,VS0,VE0',
3511 silly registry.get vary: 'Accept',
3511 silly registry.get 'content-length': '0',
3511 silly registry.get 'keep-alive': 'timeout=10, max=49',
3511 silly registry.get connection: 'Keep-Alive' } ]
3512 verbose etag uuid from cache
3513 verbose cache add [ 'lodash.isfunction@~2.4.1', null ]
3514 verbose cache add name=undefined spec="lodash.isfunction@~2.4.1" args=["lodash.isfunction@~2.4.1",null]
3515 verbose parsed url { protocol: null,
3515 verbose parsed url slashes: null,
3515 verbose parsed url auth: null,
3515 verbose parsed url host: null,
3515 verbose parsed url port: null,
3515 verbose parsed url hostname: null,
3515 verbose parsed url hash: null,
3515 verbose parsed url search: null,
3515 verbose parsed url query: null,
3515 verbose parsed url pathname: 'lodash.isfunction@~2.4.1',
3515 verbose parsed url path: 'lodash.isfunction@~2.4.1',
3515 verbose parsed url href: 'lodash.isfunction@~2.4.1' }
3516 verbose cache add [ 'lodash.isobject@~2.4.1', null ]
3517 verbose cache add name=undefined spec="lodash.isobject@~2.4.1" args=["lodash.isobject@~2.4.1",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: 'lodash.isobject@~2.4.1',
3518 verbose parsed url path: 'lodash.isobject@~2.4.1',
3518 verbose parsed url href: 'lodash.isobject@~2.4.1' }
3519 verbose cache add [ 'lodash.now@~2.4.1', null ]
3520 verbose cache add name=undefined spec="lodash.now@~2.4.1" args=["lodash.now@~2.4.1",null]
3521 verbose parsed url { protocol: null,
3521 verbose parsed url slashes: null,
3521 verbose parsed url auth: null,
3521 verbose parsed url host: null,
3521 verbose parsed url port: null,
3521 verbose parsed url hostname: null,
3521 verbose parsed url hash: null,
3521 verbose parsed url search: null,
3521 verbose parsed url query: null,
3521 verbose parsed url pathname: 'lodash.now@~2.4.1',
3521 verbose parsed url path: 'lodash.now@~2.4.1',
3521 verbose parsed url href: 'lodash.now@~2.4.1' }
3522 info uninstall [email protected]
3523 silly lockFile 0fc74eb8-optimist-0-6-1 [email protected]
3524 silly lockFile 0fc74eb8-optimist-0-6-1 [email protected]
3525 verbose cache add name="lodash.isfunction" spec="~2.4.1" args=["lodash.isfunction","~2.4.1"]
3526 verbose parsed url { protocol: null,
3526 verbose parsed url slashes: null,
3526 verbose parsed url auth: null,
3526 verbose parsed url host: null,
3526 verbose parsed url port: null,
3526 verbose parsed url hostname: null,
3526 verbose parsed url hash: null,
3526 verbose parsed url search: null,
3526 verbose parsed url query: null,
3526 verbose parsed url pathname: '~2.4.1',
3526 verbose parsed url path: '~2.4.1',
3526 verbose parsed url href: '~2.4.1' }
3527 verbose addNamed [ 'lodash.isfunction', '~2.4.1' ]
3528 verbose addNamed [ null, '>=2.4.1-0 <2.5.0-0' ]
3529 silly lockFile e3750519-lodash-isfunction-2-4-1 lodash.isfunction@~2.4.1
3530 verbose lock lodash.isfunction@~2.4.1 /home/alectaylor/.npm/e3750519-lodash-isfunction-2-4-1.lock
3531 verbose cache add name="lodash.isobject" spec="~2.4.1" args=["lodash.isobject","~2.4.1"]
3532 verbose parsed url { protocol: null,
3532 verbose parsed url slashes: null,
3532 verbose parsed url auth: null,
3532 verbose parsed url host: null,
3532 verbose parsed url port: null,
3532 verbose parsed url hostname: null,
3532 verbose parsed url hash: null,
3532 verbose parsed url search: null,
3532 verbose parsed url query: null,
3532 verbose parsed url pathname: '~2.4.1',
3532 verbose parsed url path: '~2.4.1',
3532 verbose parsed url href: '~2.4.1' }
3533 verbose addNamed [ 'lodash.isobject', '~2.4.1' ]
3534 verbose addNamed [ null, '>=2.4.1-0 <2.5.0-0' ]
3535 silly lockFile 4018abef-lodash-isobject-2-4-1 lodash.isobject@~2.4.1
3536 verbose lock lodash.isobject@~2.4.1 /home/alectaylor/.npm/4018abef-lodash-isobject-2-4-1.lock
3537 verbose cache add name="lodash.now" spec="~2.4.1" args=["lodash.now","~2.4.1"]
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: '~2.4.1',
3538 verbose parsed url path: '~2.4.1',
3538 verbose parsed url href: '~2.4.1' }
3539 verbose addNamed [ 'lodash.now', '~2.4.1' ]
3540 verbose addNamed [ null, '>=2.4.1-0 <2.5.0-0' ]
3541 silly lockFile 495f3e17-lodash-now-2-4-1 lodash.now@~2.4.1
3542 verbose lock lodash.now@~2.4.1 /home/alectaylor/.npm/495f3e17-lodash-now-2-4-1.lock
3543 http 304 https://registry.npmjs.org/js-yaml
3544 silly registry.get cb [ 304,
3544 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3544 silly registry.get server: 'Apache',
3544 silly registry.get via: '1.1 varnish',
3544 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:31:46 GMT',
3544 silly registry.get 'cache-control': 'max-age=30',
3544 silly registry.get etag: '"3WYNQ9AS8ZV96KJG62Y87DFW1"',
3544 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3544 silly registry.get 'x-cache': 'HIT',
3544 silly registry.get 'x-cache-hits': '9',
3544 silly registry.get 'x-timer': 'S1402918396.823900,VS0,VE0',
3544 silly registry.get vary: 'Accept',
3544 silly registry.get 'content-length': '0',
3544 silly registry.get 'keep-alive': 'timeout=10, max=47',
3544 silly registry.get connection: 'Keep-Alive' } ]
3545 verbose etag js-yaml from cache
3546 silly lockFile 07193858-optimist-0-6-0 optimist@~0.6.0
3547 silly lockFile 07193858-optimist-0-6-0 optimist@~0.6.0
3548 verbose false,/usr/local/lib/node_modules,/usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules unbuild [email protected]
3549 info postuninstall [email protected]
3550 silly addNameRange { name: 'lodash.isfunction',
3550 silly addNameRange range: '>=2.4.1-0 <2.5.0-0',
3550 silly addNameRange hasData: false }
3551 silly addNameRange { name: 'lodash.isobject',
3551 silly addNameRange range: '>=2.4.1-0 <2.5.0-0',
3551 silly addNameRange hasData: false }
3552 silly addNameRange { name: 'lodash.now',
3552 silly addNameRange range: '>=2.4.1-0 <2.5.0-0',
3552 silly addNameRange hasData: false }
3553 silly addNameRange number 2 { name: 'inherits', range: '>=2.0.0-0 <3.0.0-0', hasData: true }
3554 silly addNameRange versions [ 'inherits', [ '1.0.0', '2.0.0', '2.0.1' ] ]
3555 verbose addNamed [ 'inherits', '2.0.1' ]
3556 verbose addNamed [ '2.0.1', '2.0.1' ]
3557 silly lockFile 2b2e8f1b-inherits-2-0-1 [email protected]
3558 verbose lock [email protected] /home/alectaylor/.npm/2b2e8f1b-inherits-2-0-1.lock
3559 verbose url raw readable-stream
3560 verbose url resolving [ 'https://registry.npmjs.org/', './readable-stream' ]
3561 verbose url resolved https://registry.npmjs.org/readable-stream
3562 info trying registry request attempt 1 at 11:33:16
3563 verbose etag "YVHTVA1TD82J1GVC84ACF21N"
3564 http GET https://registry.npmjs.org/readable-stream
3565 verbose registry.get graceful-fs not expired, no request
3566 silly addNameRange number 2 { name: 'graceful-fs',
3566 silly addNameRange range: '>=3.0.0-0 <3.1.0-0',
3566 silly addNameRange hasData: true }
3567 silly addNameRange versions [ 'graceful-fs',
3567 silly addNameRange [ '1.0.0',
3567 silly addNameRange '1.0.1',
3567 silly addNameRange '1.0.2',
3567 silly addNameRange '1.1.0',
3567 silly addNameRange '1.1.1',
3567 silly addNameRange '1.1.2',
3567 silly addNameRange '1.1.3',
3567 silly addNameRange '1.1.4',
3567 silly addNameRange '1.1.5',
3567 silly addNameRange '1.1.6',
3567 silly addNameRange '1.1.7',
3567 silly addNameRange '1.1.8',
3567 silly addNameRange '1.1.9',
3567 silly addNameRange '1.1.10',
3567 silly addNameRange '1.1.11',
3567 silly addNameRange '1.1.12',
3567 silly addNameRange '1.1.13',
3567 silly addNameRange '1.1.14',
3567 silly addNameRange '1.2.0',
3567 silly addNameRange '1.2.1',
3567 silly addNameRange '1.2.2',
3567 silly addNameRange '1.2.3',
3567 silly addNameRange '2.0.0',
3567 silly addNameRange '2.0.1',
3567 silly addNameRange '2.0.2',
3567 silly addNameRange '2.0.3',
3567 silly addNameRange '3.0.0',
3567 silly addNameRange '3.0.1',
3567 silly addNameRange '3.0.2' ] ]
3568 verbose addNamed [ 'graceful-fs', '3.0.2' ]
3569 verbose addNamed [ '3.0.2', '3.0.2' ]
3570 silly lockFile 0ab50cb9-graceful-fs-3-0-2 [email protected]
3571 verbose lock [email protected] /home/alectaylor/.npm/0ab50cb9-graceful-fs-3-0-2.lock
3572 verbose url raw mkpath
3573 verbose url resolving [ 'https://registry.npmjs.org/', './mkpath' ]
3574 verbose url resolved https://registry.npmjs.org/mkpath
3575 info trying registry request attempt 1 at 11:33:16
3576 verbose etag "9C1KGI3NMVOZQVIMBIFKTPDH7"
3577 http GET https://registry.npmjs.org/mkpath
3578 verbose url raw touch
3579 verbose url resolving [ 'https://registry.npmjs.org/', './touch' ]
3580 verbose url resolved https://registry.npmjs.org/touch
3581 info trying registry request attempt 1 at 11:33:16
3582 verbose etag "A3OMAEAXRI67QHKVBBOI55TK7"
3583 http GET https://registry.npmjs.org/touch
3584 verbose url raw binary
3585 verbose url resolving [ 'https://registry.npmjs.org/', './binary' ]
3586 verbose url resolved https://registry.npmjs.org/binary
3587 info trying registry request attempt 1 at 11:33:16
3588 verbose etag "24HH9N2I0O9ABCX5KPVESNSY0"
3589 http GET https://registry.npmjs.org/binary
3590 silly addNameRange number 2 { name: 'array-reduce',
3590 silly addNameRange range: '>=0.0.0-0 <0.1.0-0',
3590 silly addNameRange hasData: true }
3591 silly addNameRange versions [ 'array-reduce', [ '0.0.0' ] ]
3592 verbose addNamed [ 'array-reduce', '0.0.0' ]
3593 verbose addNamed [ '0.0.0', '0.0.0' ]
3594 silly lockFile 41042851-array-reduce-0-0-0 [email protected]
3595 verbose lock [email protected] /home/alectaylor/.npm/41042851-array-reduce-0-0-0.lock
3596 silly addNameRange number 2 { name: 'minimatch', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
3597 silly addNameRange versions [ 'minimatch',
3597 silly addNameRange [ '0.0.1',
3597 silly addNameRange '0.0.2',
3597 silly addNameRange '0.0.4',
3597 silly addNameRange '0.0.5',
3597 silly addNameRange '0.1.1',
3597 silly addNameRange '0.1.2',
3597 silly addNameRange '0.1.3',
3597 silly addNameRange '0.1.4',
3597 silly addNameRange '0.1.5',
3597 silly addNameRange '0.2.0',
3597 silly addNameRange '0.2.2',
3597 silly addNameRange '0.2.3',
3597 silly addNameRange '0.2.4',
3597 silly addNameRange '0.2.5',
3597 silly addNameRange '0.2.6',
3597 silly addNameRange '0.2.7',
3597 silly addNameRange '0.2.8',
3597 silly addNameRange '0.2.9',
3597 silly addNameRange '0.2.10',
3597 silly addNameRange '0.2.11',
3597 silly addNameRange '0.2.12',
3597 silly addNameRange '0.2.13',
3597 silly addNameRange '0.2.14',
3597 silly addNameRange '0.3.0' ] ]
3598 verbose addNamed [ 'minimatch', '0.3.0' ]
3599 verbose addNamed [ '0.3.0', '0.3.0' ]
3600 silly lockFile fbcfe8c1-minimatch-0-3-0 [email protected]
3601 verbose lock [email protected] /home/alectaylor/.npm/fbcfe8c1-minimatch-0-3-0.lock
3602 http 304 https://registry.npmjs.org/intersect
3603 silly registry.get cb [ 304,
3603 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3603 silly registry.get server: 'Apache',
3603 silly registry.get via: '1.1 varnish',
3603 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:24 GMT',
3603 silly registry.get 'cache-control': 'max-age=30',
3603 silly registry.get etag: '"5INY0JE2N5WN8SQB3QT1L04DP"',
3603 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3603 silly registry.get 'x-cache': 'HIT',
3603 silly registry.get 'x-cache-hits': '1',
3603 silly registry.get 'x-timer': 'S1402918396.850722,VS0,VE0',
3603 silly registry.get vary: 'Accept',
3603 silly registry.get 'content-length': '0',
3603 silly registry.get 'keep-alive': 'timeout=10, max=48',
3603 silly registry.get connection: 'Keep-Alive' } ]
3604 verbose etag intersect from cache
3605 silly addNameRange number 2 { name: 'uuid', range: '>=1.4.1-0 <1.5.0-0', hasData: true }
3606 silly addNameRange versions [ 'uuid', [ '0.0.1', '0.0.2', '1.4.0', '1.4.1' ] ]
3607 verbose addNamed [ 'uuid', '1.4.1' ]
3608 verbose addNamed [ '1.4.1', '1.4.1' ]
3609 silly lockFile 0ac31546-uuid-1-4-1 [email protected]
3610 verbose lock [email protected] /home/alectaylor/.npm/0ac31546-uuid-1-4-1.lock
3611 silly lockFile 037658bd-array-filter-0-0-1 [email protected]
3612 silly lockFile 037658bd-array-filter-0-0-1 [email protected]
3613 silly gunzTarPerm extractEntry test/basic.js
3614 silly gunzTarPerm extractEntry test/defaults.js
3615 verbose url raw lodash.isfunction
3616 verbose url resolving [ 'https://registry.npmjs.org/', './lodash.isfunction' ]
3617 verbose url resolved https://registry.npmjs.org/lodash.isfunction
3618 info trying registry request attempt 1 at 11:33:16
3619 verbose etag "AA6NFJB5Z5CMQTUZ4WJ2TFFHC"
3620 http GET https://registry.npmjs.org/lodash.isfunction
3621 verbose url raw lodash.isobject
3622 verbose url resolving [ 'https://registry.npmjs.org/', './lodash.isobject' ]
3623 verbose url resolved https://registry.npmjs.org/lodash.isobject
3624 info trying registry request attempt 1 at 11:33:16
3625 verbose etag "7Q8JS9WPOE0D3DN0Q6VHCYXYC"
3626 http GET https://registry.npmjs.org/lodash.isobject
3627 verbose url raw lodash.now
3628 verbose url resolving [ 'https://registry.npmjs.org/', './lodash.now' ]
3629 verbose url resolved https://registry.npmjs.org/lodash.now
3630 info trying registry request attempt 1 at 11:33:16
3631 verbose etag "63YHQZ1PELFZYGSAJTKJX76ND"
3632 http GET https://registry.npmjs.org/lodash.now
3633 silly lockFile 9ddec165-array-filter-0-0-0 array-filter@~0.0.0
3634 silly lockFile 9ddec165-array-filter-0-0-0 array-filter@~0.0.0
3635 silly addNameRange number 2 { name: 'js-yaml', range: '>=3.0.1-0 <3.1.0-0', hasData: true }
3636 silly addNameRange versions [ 'js-yaml',
3636 silly addNameRange [ '0.2.0',
3636 silly addNameRange '0.2.1',
3636 silly addNameRange '0.2.2',
3636 silly addNameRange '0.3.0',
3636 silly addNameRange '0.3.1',
3636 silly addNameRange '0.3.2',
3636 silly addNameRange '0.3.3',
3636 silly addNameRange '0.3.4',
3636 silly addNameRange '0.3.5',
3636 silly addNameRange '0.3.6',
3636 silly addNameRange '0.3.7',
3636 silly addNameRange '1.0.0',
3636 silly addNameRange '1.0.1',
3636 silly addNameRange '1.0.2',
3636 silly addNameRange '1.0.3',
3636 silly addNameRange '2.0.0',
3636 silly addNameRange '2.0.1',
3636 silly addNameRange '2.0.2',
3636 silly addNameRange '2.0.3',
3636 silly addNameRange '2.0.4',
3636 silly addNameRange '2.0.5',
3636 silly addNameRange '2.1.0',
3636 silly addNameRange '2.1.1',
3636 silly addNameRange '2.1.2',
3636 silly addNameRange '2.1.3',
3636 silly addNameRange '3.0.0',
3636 silly addNameRange '3.0.1',
3636 silly addNameRange '3.0.2' ] ]
3637 verbose addNamed [ 'js-yaml', '3.0.2' ]
3638 verbose addNamed [ '3.0.2', '3.0.2' ]
3639 silly lockFile e0b3565c-js-yaml-3-0-2 [email protected]
3640 verbose lock [email protected] /home/alectaylor/.npm/e0b3565c-js-yaml-3-0-2.lock
3641 silly gunzTarPerm extractEntry tests/test-https-strict.js
3642 silly gunzTarPerm extractEntry tests/test-headers.js
3643 silly resolved [ { name: 'optimist',
3643 silly resolved version: '0.6.1',
3643 silly resolved description: 'Light-weight option parsing with an argv hash. No optstrings attached.',
3643 silly resolved main: './index.js',
3643 silly resolved dependencies: { wordwrap: '~0.0.2', minimist: '~0.0.1' },
3643 silly resolved devDependencies: { hashish: '~0.0.4', tap: '~0.4.0' },
3643 silly resolved scripts: { test: 'tap ./test/*.js' },
3643 silly resolved repository:
3643 silly resolved { type: 'git',
3643 silly resolved url: 'http://github.com/substack/node-optimist.git' },
3643 silly resolved keywords:
3643 silly resolved [ 'argument',
3643 silly resolved 'args',
3643 silly resolved 'option',
3643 silly resolved 'parser',
3643 silly resolved 'parsing',
3643 silly resolved 'cli',
3643 silly resolved 'command' ],
3643 silly resolved author:
3643 silly resolved { name: 'James Halliday',
3643 silly resolved email: '[email protected]',
3643 silly resolved url: 'http://substack.net' },
3643 silly resolved license: 'MIT/X11',
3643 silly resolved engine: { node: '>=0.4' },
3643 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',
3643 silly resolved readmeFilename: 'readme.markdown',
3643 silly resolved bugs: { url: 'https://github.com/substack/node-optimist/issues' },
3643 silly resolved homepage: 'https://github.com/substack/node-optimist',
3643 silly resolved _id: '[email protected]',
3643 silly resolved _from: 'optimist@~0.6.0' } ]
3644 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/bower-config
3645 info installOne [email protected]
3646 verbose about to build /usr/local/lib/node_modules/bower/node_modules/update-notifier
3647 info /usr/local/lib/node_modules/bower/node_modules/update-notifier unbuild
3648 info preuninstall [email protected]
3649 info /usr/local/lib/node_modules/bower/node_modules/bower-config/node_modules/optimist unbuild
3650 http 304 https://registry.npmjs.org/mkpath
3651 silly registry.get cb [ 304,
3651 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3651 silly registry.get server: 'Apache',
3651 silly registry.get via: '1.1 varnish',
3651 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:59 GMT',
3651 silly registry.get 'cache-control': 'max-age=30',
3651 silly registry.get etag: '"9C1KGI3NMVOZQVIMBIFKTPDH7"',
3651 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3651 silly registry.get 'x-cache': 'HIT',
3651 silly registry.get 'x-cache-hits': '2',
3651 silly registry.get 'x-timer': 'S1402918396.900461,VS0,VE0',
3651 silly registry.get vary: 'Accept',
3651 silly registry.get 'content-length': '0',
3651 silly registry.get 'keep-alive': 'timeout=10, max=47',
3651 silly registry.get connection: 'Keep-Alive' } ]
3652 verbose etag mkpath from cache
3653 info uninstall [email protected]
3654 silly lockFile 0ab50cb9-graceful-fs-3-0-2 [email protected]
3655 silly lockFile 0ab50cb9-graceful-fs-3-0-2 [email protected]
3656 silly lockFile 2b2e8f1b-inherits-2-0-1 [email protected]
3657 silly lockFile 2b2e8f1b-inherits-2-0-1 [email protected]
3658 silly addNameRange number 2 { name: 'intersect', range: '>=0.0.3-0 <0.1.0-0', hasData: true }
3659 silly addNameRange versions [ 'intersect', [ '0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.1.0' ] ]
3660 verbose addNamed [ 'intersect', '0.0.3' ]
3661 verbose addNamed [ '0.0.3', '0.0.3' ]
3662 silly lockFile 2c2c1b85-intersect-0-0-3 [email protected]
3663 verbose lock [email protected] /home/alectaylor/.npm/2c2c1b85-intersect-0-0-3.lock
3664 verbose tar unpack /home/alectaylor/.npm/optimist/0.6.1/package.tgz
3665 silly lockFile ccc0fc64-wer-config-node-modules-optimist tar:///usr/local/lib/node_modules/bower/node_modules/bower-config/node_modules/optimist
3666 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/bower-config/node_modules/optimist /home/alectaylor/.npm/ccc0fc64-wer-config-node-modules-optimist.lock
3667 silly lockFile 096e10ad-l-npm-optimist-0-6-1-package-tgz tar:///home/alectaylor/.npm/optimist/0.6.1/package.tgz
3668 verbose lock tar:///home/alectaylor/.npm/optimist/0.6.1/package.tgz /home/alectaylor/.npm/096e10ad-l-npm-optimist-0-6-1-package-tgz.lock
3669 silly lockFile 5e98cbb9-graceful-fs-3-0-0 graceful-fs@~3.0.0
3670 silly lockFile 5e98cbb9-graceful-fs-3-0-0 graceful-fs@~3.0.0
3671 silly lockFile 1f7ff4de-inherits-2 inherits@2
3672 silly lockFile 1f7ff4de-inherits-2 inherits@2
3673 silly lockFile 41042851-array-reduce-0-0-0 [email protected]
3674 silly lockFile 41042851-array-reduce-0-0-0 [email protected]
3675 silly lockFile fbcfe8c1-minimatch-0-3-0 [email protected]
3676 silly lockFile fbcfe8c1-minimatch-0-3-0 [email protected]
3677 verbose false,/usr/local/lib/node_modules,/usr/local/lib/node_modules/bower/node_modules unbuild [email protected]
3678 info postuninstall [email protected]
3679 verbose about to build /usr/local/lib/node_modules/bower/node_modules/decompress-zip
3680 info /usr/local/lib/node_modules/bower/node_modules/decompress-zip unbuild
3681 info preuninstall [email protected]
3682 silly lockFile ba3d3adc-array-reduce-0-0-0 array-reduce@~0.0.0
3683 silly lockFile ba3d3adc-array-reduce-0-0-0 array-reduce@~0.0.0
3684 silly lockFile 27a1ef78-minimatch-0-3-0 minimatch@^0.3.0
3685 silly lockFile 27a1ef78-minimatch-0-3-0 minimatch@^0.3.0
3686 silly lockFile 0ac31546-uuid-1-4-1 [email protected]
3687 silly lockFile 0ac31546-uuid-1-4-1 [email protected]
3688 silly lockFile e0b3565c-js-yaml-3-0-2 [email protected]
3689 silly lockFile e0b3565c-js-yaml-3-0-2 [email protected]
3690 silly gunzTarPerm modes [ '755', '644' ]
3691 info uninstall [email protected]
3692 silly lockFile bc91a07e-uuid-1-4-1 uuid@~1.4.1
3693 silly lockFile bc91a07e-uuid-1-4-1 uuid@~1.4.1
3694 silly lockFile 48adea8c-js-yaml-3-0-1 js-yaml@~3.0.1
3695 silly lockFile 48adea8c-js-yaml-3-0-1 js-yaml@~3.0.1
3696 silly addNameRange number 2 { name: 'mkpath', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
3697 silly addNameRange versions [ 'mkpath', [ '0.1.0' ] ]
3698 verbose addNamed [ 'mkpath', '0.1.0' ]
3699 verbose addNamed [ '0.1.0', '0.1.0' ]
3700 silly lockFile b7844a39-mkpath-0-1-0 [email protected]
3701 verbose lock [email protected] /home/alectaylor/.npm/b7844a39-mkpath-0-1-0.lock
3702 verbose about to build /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/configstore
3703 info /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/configstore unbuild
3704 info preuninstall [email protected]
3705 silly gunzTarPerm extractEntry test/many.js
3706 verbose false,/usr/local/lib/node_modules,/usr/local/lib/node_modules/bower/node_modules unbuild [email protected]
3707 verbose /usr/local/lib/node_modules/bower/node_modules/.bin,[object Object] binRoot
3708 info uninstall [email protected]
3709 info postuninstall [email protected]
3710 silly lockFile 2c2c1b85-intersect-0-0-3 [email protected]
3711 silly lockFile 2c2c1b85-intersect-0-0-3 [email protected]
3712 silly gunzTarPerm extractEntry package.json
3713 silly resolved [ { name: 'inherits',
3713 silly resolved description: 'Browser-friendly inheritance fully compatible with standard node.js inherits()',
3713 silly resolved version: '2.0.1',
3713 silly resolved keywords:
3713 silly resolved [ 'inheritance',
3713 silly resolved 'class',
3713 silly resolved 'klass',
3713 silly resolved 'oop',
3713 silly resolved 'object-oriented',
3713 silly resolved 'inherits',
3713 silly resolved 'browser',
3713 silly resolved 'browserify' ],
3713 silly resolved main: './inherits.js',
3713 silly resolved browser: './inherits_browser.js',
3713 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/inherits' },
3713 silly resolved license: 'ISC',
3713 silly resolved scripts: { test: 'node test' },
3713 silly resolved readme: 'Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt\'s recommended to use this package instead of\n`require(\'util\').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require(\'inherits\');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n superclass\n* new version overwrites current prototype while old one preserves any\n existing fields on it\n',
3713 silly resolved readmeFilename: 'README.md',
3713 silly resolved bugs: { url: 'https://github.com/isaacs/inherits/issues' },
3713 silly resolved homepage: 'https://github.com/isaacs/inherits',
3713 silly resolved _id: '[email protected]',
3713 silly resolved _from: 'inherits@2' },
3713 silly resolved { author:
3713 silly resolved { name: 'Isaac Z. Schlueter',
3713 silly resolved email: '[email protected]',
3713 silly resolved url: 'http://blog.izs.me' },
3713 silly resolved name: 'minimatch',
3713 silly resolved description: 'a glob matcher in javascript',
3713 silly resolved version: '0.3.0',
3713 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
3713 silly resolved main: 'minimatch.js',
3713 silly resolved scripts: { test: 'tap test/*.js' },
3713 silly resolved engines: { node: '*' },
3713 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
3713 silly resolved devDependencies: { tap: '' },
3713 silly resolved license:
3713 silly resolved { type: 'MIT',
3713 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
3713 silly resolved readme: '# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require("minimatch")\n\nminimatch("bar.foo", "*.foo") // true!\nminimatch("bar.foo", "*.bar") // false!\nminimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require("minimatch").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn\'t have any "magic" in it\n (that is, it\'s something like `"foo"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `""`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, "*.js", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable "extglob" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself if this option is set. When not set, an empty list\nis returned if there are no matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n',
3713 silly resolved readmeFilename: 'README.md',
3713 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
3713 silly resolved homepage: 'https://github.com/isaacs/minimatch',
3713 silly resolved _id: '[email protected]',
3713 silly resolved _shasum: '275d8edaac4f1bb3326472089e7949c8394699dd',
3713 silly resolved _from: 'minimatch@^0.3.0',
3713 silly resolved _resolved: 'https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz' } ]
3714 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/fstream-ignore
3715 info install [email protected] into /usr/local/lib/node_modules/bower/node_modules/fstream-ignore
3716 info installOne [email protected]
3717 info installOne [email protected]
3718 silly lockFile 4f86c7cf-intersect-0-0-3 intersect@~0.0.3
3719 silly lockFile 4f86c7cf-intersect-0-0-3 intersect@~0.0.3
3720 verbose false,/usr/local/lib/node_modules,/usr/local/lib/node_modules/bower/node_modules/insight/node_modules unbuild [email protected]
3721 info postuninstall [email protected]
3722 http 304 https://registry.npmjs.org/touch
3723 silly registry.get cb [ 304,
3723 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3723 silly registry.get server: 'Apache',
3723 silly registry.get via: '1.1 varnish',
3723 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:33:00 GMT',
3723 silly registry.get 'cache-control': 'max-age=30',
3723 silly registry.get etag: '"A3OMAEAXRI67QHKVBBOI55TK7"',
3723 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3723 silly registry.get 'x-cache': 'HIT',
3723 silly registry.get 'x-cache-hits': '2',
3723 silly registry.get 'x-timer': 'S1402918396.935848,VS0,VE0',
3723 silly registry.get vary: 'Accept',
3723 silly registry.get 'content-length': '0',
3723 silly registry.get 'keep-alive': 'timeout=10, max=46',
3723 silly registry.get connection: 'Keep-Alive' } ]
3724 verbose etag touch from cache
3725 info /usr/local/lib/node_modules/bower/node_modules/fstream-ignore/node_modules/inherits unbuild
3726 info /usr/local/lib/node_modules/bower/node_modules/fstream-ignore/node_modules/minimatch unbuild
3727 verbose about to build /usr/local/lib/node_modules/bower
3728 info /usr/local/lib/node_modules/bower unbuild
3729 info preuninstall [email protected]
3730 silly gunzTarPerm extractEntry LICENSE
3731 silly gunzTarPerm extractEntry index.js
3732 verbose tar unpack /home/alectaylor/.npm/inherits/2.0.1/package.tgz
3733 silly lockFile 14948c15-eam-ignore-node-modules-inherits tar:///usr/local/lib/node_modules/bower/node_modules/fstream-ignore/node_modules/inherits
3734 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/fstream-ignore/node_modules/inherits /home/alectaylor/.npm/14948c15-eam-ignore-node-modules-inherits.lock
3735 silly lockFile ffc5ea46-l-npm-inherits-2-0-1-package-tgz tar:///home/alectaylor/.npm/inherits/2.0.1/package.tgz
3736 verbose lock tar:///home/alectaylor/.npm/inherits/2.0.1/package.tgz /home/alectaylor/.npm/ffc5ea46-l-npm-inherits-2-0-1-package-tgz.lock
3737 verbose tar unpack /home/alectaylor/.npm/minimatch/0.3.0/package.tgz
3738 silly lockFile bee04903-am-ignore-node-modules-minimatch tar:///usr/local/lib/node_modules/bower/node_modules/fstream-ignore/node_modules/minimatch
3739 verbose lock tar:///usr/local/lib/node_modules/bower/node_modules/fstream-ignore/node_modules/minimatch /home/alectaylor/.npm/bee04903-am-ignore-node-modules-minimatch.lock
3740 silly lockFile 57f9b3f8--npm-minimatch-0-3-0-package-tgz tar:///home/alectaylor/.npm/minimatch/0.3.0/package.tgz
3741 verbose lock tar:///home/alectaylor/.npm/minimatch/0.3.0/package.tgz /home/alectaylor/.npm/57f9b3f8--npm-minimatch-0-3-0-package-tgz.lock
3742 silly lockFile b7844a39-mkpath-0-1-0 [email protected]
3743 silly lockFile b7844a39-mkpath-0-1-0 [email protected]
3744 silly gunzTarPerm extractEntry tests/test-http-signature.js
3745 silly gunzTarPerm extractEntry tests/test-httpModule.js
3746 silly lockFile 3ae958fb-mkpath-0-1-0 mkpath@~0.1.0
3747 silly lockFile 3ae958fb-mkpath-0-1-0 mkpath@~0.1.0
3748 info uninstall [email protected]
3749 silly gunzTarPerm modes [ '755', '644' ]
3750 silly gunzTarPerm modes [ '755', '644' ]
3751 verbose about to build /usr/local/lib/node_modules/bower/node_modules/insight
3752 info /usr/local/lib/node_modules/bower/node_modules/insight unbuild
3753 info preuninstall [email protected]
3754 silly lockFile 3b7d1b51-progress-node-modules-throttleit tar:///usr/local/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit
3755 silly lockFile 3b7d1b51-progress-node-modules-throttleit tar:///usr/local/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit
3756 verbose true,/usr/local/lib/node_modules,/usr/local/lib/node_modules unbuild [email protected]
3757 verbose /usr/local/bin,[object Object] binRoot
3758 silly lockFile da654728-npm-throttleit-0-0-2-package-tgz tar:///home/alectaylor/.npm/throttleit/0.0.2/package.tgz
3759 silly lockFile da654728-npm-throttleit-0-0-2-package-tgz tar:///home/alectaylor/.npm/throttleit/0.0.2/package.tgz
3760 info uninstall [email protected]
3761 info postuninstall [email protected]
3762 http 304 https://registry.npmjs.org/binary
3763 silly registry.get cb [ 304,
3763 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3763 silly registry.get server: 'Apache',
3763 silly registry.get via: '1.1 varnish',
3763 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:59 GMT',
3763 silly registry.get 'cache-control': 'max-age=30',
3763 silly registry.get etag: '"24HH9N2I0O9ABCX5KPVESNSY0"',
3763 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3763 silly registry.get 'x-cache': 'HIT',
3763 silly registry.get 'x-cache-hits': '2',
3763 silly registry.get 'x-timer': 'S1402918396.966869,VS0,VE0',
3763 silly registry.get vary: 'Accept',
3763 silly registry.get 'content-length': '0',
3763 silly registry.get 'keep-alive': 'timeout=10, max=45',
3763 silly registry.get connection: 'Keep-Alive' } ]
3764 verbose etag binary from cache
3765 verbose false,/usr/local/lib/node_modules,/usr/local/lib/node_modules/bower/node_modules unbuild [email protected]
3766 info postuninstall [email protected]
3767 silly lockFile dd7cf0be-ode-modules-bower-node-modules-q tar:///usr/local/lib/node_modules/bower/node_modules/q
3768 silly lockFile dd7cf0be-ode-modules-bower-node-modules-q tar:///usr/local/lib/node_modules/bower/node_modules/q
3769 silly gunzTarPerm extractEntry package.json
3770 silly lockFile 445c1efb-e-alectaylor-npm-q-1-0-1-package-tgz tar:///home/alectaylor/.npm/q/1.0.1/package.tgz
3771 silly lockFile 445c1efb-e-alectaylor-npm-q-1-0-1-package-tgz tar:///home/alectaylor/.npm/q/1.0.1/package.tgz
3772 info preinstall [email protected]
3773 silly gunzTarPerm extractEntry .travis.yml
3774 silly gunzTarPerm extractEntry example/bool.js
3775 silly gunzTarPerm extractEntry package.json
3776 silly lockFile ad8401fa-dules-bower-node-modules-request tar:///usr/local/lib/node_modules/bower/node_modules/request
3777 silly lockFile ad8401fa-dules-bower-node-modules-request tar:///usr/local/lib/node_modules/bower/node_modules/request
3778 silly lockFile 16dda9ec-touch-0-0-2 [email protected]
3779 silly lockFile 16dda9ec-touch-0-0-2 [email protected]
3780 http 304 https://registry.npmjs.org/readable-stream
3781 silly registry.get cb [ 304,
3781 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3781 silly registry.get server: 'Apache',
3781 silly registry.get via: '1.1 varnish',
3781 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:25 GMT',
3781 silly registry.get 'cache-control': 'max-age=30',
3781 silly registry.get etag: '"YVHTVA1TD82J1GVC84ACF21N"',
3781 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3781 silly registry.get 'x-cache': 'HIT',
3781 silly registry.get 'x-cache-hits': '4',
3781 silly registry.get 'x-timer': 'S1402918396.989382,VS0,VE0',
3781 silly registry.get vary: 'Accept',
3781 silly registry.get 'content-length': '0',
3781 silly registry.get 'keep-alive': 'timeout=10, max=50',
3781 silly registry.get connection: 'Keep-Alive' } ]
3782 verbose etag readable-stream from cache
3783 silly lockFile 27344930-l-npm-request-2-34-0-package-tgz tar:///home/alectaylor/.npm/request/2.34.0/package.tgz
3784 silly lockFile 27344930-l-npm-request-2-34-0-package-tgz tar:///home/alectaylor/.npm/request/2.34.0/package.tgz
3785 http 304 https://registry.npmjs.org/lodash.isfunction
3786 silly registry.get cb [ 304,
3786 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3786 silly registry.get server: 'Apache',
3786 silly registry.get via: '1.1 varnish',
3786 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:33:00 GMT',
3786 silly registry.get 'cache-control': 'max-age=30',
3786 silly registry.get etag: '"AA6NFJB5Z5CMQTUZ4WJ2TFFHC"',
3786 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3786 silly registry.get 'x-cache': 'HIT',
3786 silly registry.get 'x-cache-hits': '2',
3786 silly registry.get 'x-timer': 'S1402918396.994614,VS0,VE0',
3786 silly registry.get vary: 'Accept',
3786 silly registry.get 'content-length': '0',
3786 silly registry.get 'keep-alive': 'timeout=10, max=44',
3786 silly registry.get connection: 'Keep-Alive' } ]
3787 verbose etag lodash.isfunction from cache
3788 http 304 https://registry.npmjs.org/jsonify
3789 silly registry.get cb [ 304,
3789 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:16 GMT',
3789 silly registry.get server: 'Apache',
3789 silly registry.get via: '1.1 varnish',
3789 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:59 GMT',
3789 silly registry.get 'cache-control': 'max-age=30',
3789 silly registry.get etag: '"7VU8SEPVL9CBI4OPOR1Y6QHHL"',
3789 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
3789 silly registry.get 'x-cache': 'HIT',
3789 silly registry.get 'x-cache-hits': '2',
3789 silly registry.get 'x-timer': 'S1402918396.997309,VS0,VE0',
3789 silly registry.get vary: 'Accept',
3789 silly registry.get 'content-length': '0',
3789 silly registry.get 'keep-alive': 'timeout=10, max=50',
3789 silly registry.get connection: 'Keep-Alive' } ]
3790 verbose etag jsonify from cache
3791 http 304 https://registry.npmjs.org/array-map
3792 silly registry.get cb [ 304,
3792 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:17 GMT',
3792 silly registry.get server: 'Apache',
3792 silly registry.get via: '1.1 varnish',
3792 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:59 GMT',
3792 silly registry.get 'cache-control': 'max-age=30',
3792 silly registry.get etag: '"3N0D584WC9F0JLXDUAJIMD9T6"',
3792 silly registry.get 'x-served-by': 'cache-syd1623-SYD',
3792 silly registry.get 'x-cache': 'HIT',
3792 silly registry.get 'x-cache-hits': '1',
3792 silly registry.get 'x-timer': 'S1402918397.009564,VS0,VE0',
3792 silly registry.get vary: 'Accept',
3792 silly registry.get 'content-length': '0',
3792 silly registry.get 'keep-alive': 'timeout=10, max=50',
3792 silly registry.get connection: 'Keep-Alive' } ]
3793 verbose etag array-map from cache
3794 verbose readDependencies using package.json deps
3795 silly gunzTarPerm extractEntry README.md
3796 silly gunzTarPerm extractEntry LICENSE
3797 info preinstall [email protected]
3798 verbose readDependencies using package.json deps
3799 silly resolved []
3800 verbose about to build /usr/local/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit
3801 info build /usr/local/lib/node_modules/bower/node_modules/request-progress/node_modules/throttleit
3802 verbose linkStuff [ true,
3802 verbose linkStuff '/usr/local/lib/node_modules',
3802 verbose linkStuff false,
3802 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules/request-progress/node_modules' ]
3803 info linkStuff [email protected]
3804 silly gunzTarPerm extractEntry .npmignore
3805 silly gunzTarPerm extractEntry README.md
3806 silly addNameRange number 2 { name: 'binary', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
3807 silly addNameRange versions [ 'binary',
3807 silly addNameRange [ '0.0.1',
3807 silly addNameRange '0.0.2',
3807 silly addNameRange '0.0.3',
3807 silly addNameRange '0.0.4',
3807 silly addNameRange '0.0.5',
3807 silly addNameRange '0.0.6',
3807 silly addNameRange '0.0.8',
3807 silly addNameRange '0.1.0',
3807 silly addNameRange '0.1.1',
3807 silly addNameRange '0.1.2',
3807 silly addNameRange '0.1.3',
3807 silly addNameRange '0.1.4',
3807 silly addNameRange '0.1.5',
3807 silly addNameRange '0.1.6',
3807 silly addNameRange '0.1.7',
3807 silly addNameRange '0.1.8',
3807 silly addNameRange '0.1.9',
3807 silly addNameRange '0.2.0',
3807 silly addNameRange '0.2.1',
3807 silly addNameRange '0.2.2',
3807 silly addNameRange '0.2.3',
3807 silly addNameRange '0.2.4',
3807 silly addNameRange '0.2.5',
3807 silly addNameRange '0.2.6',
3807 silly addNameRange '0.3.0' ] ]
3808 verbose addNamed [ 'binary', '0.3.0' ]
3809 verbose addNamed [ '0.3.0', '0.3.0' ]
3810 silly lockFile 4c22eedf-binary-0-3-0 [email protected]
3811 verbose lock [email protected] /home/alectaylor/.npm/4c22eedf-binary-0-3-0.lock
3812 info preinstall [email protected]
3813 verbose linkBins [email protected]
3814 verbose linkMans [email protected]
3815 verbose rebuildBundles [email protected]
3816 verbose readDependencies using package.json deps
3817 info install [email protected]
3818 verbose readDependencies using package.json deps
3819 silly resolved []
3820 verbose about to build /usr/local/lib/node_modules/bower/node_modules/q
3821 info build /usr/local/lib/node_modules/bower/node_modules/q
3822 verbose linkStuff [ true,
3822 verbose linkStuff '/usr/local/lib/node_modules',
3822 verbose linkStuff false,
3822 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
3823 info linkStuff [email protected]
3824 http 304 https://registry.npmjs.org/lodash.isobject
3825 silly registry.get cb [ 304,
3825 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:17 GMT',
3825 silly registry.get server: 'Apache',
3825 silly registry.get via: '1.1 varnish',
3825 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:32:26 GMT',
3825 silly registry.get 'cache-control': 'max-age=30',
3825 silly registry.get etag: '"7Q8JS9WPOE0D3DN0Q6VHCYXYC"',
3825 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3825 silly registry.get 'x-cache': 'HIT',
3825 silly registry.get 'x-cache-hits': '2',
3825 silly registry.get 'x-timer': 'S1402918397.032731,VS0,VE0',
3825 silly registry.get vary: 'Accept',
3825 silly registry.get 'content-length': '0',
3825 silly registry.get 'keep-alive': 'timeout=10, max=49',
3825 silly registry.get connection: 'Keep-Alive' } ]
3826 verbose etag lodash.isobject from cache
3827 http 304 https://registry.npmjs.org/lodash.now
3828 silly registry.get cb [ 304,
3828 silly registry.get { date: 'Mon, 16 Jun 2014 11:33:17 GMT',
3828 silly registry.get server: 'Apache',
3828 silly registry.get via: '1.1 varnish',
3828 silly registry.get 'last-modified': 'Mon, 16 Jun 2014 11:33:00 GMT',
3828 silly registry.get 'cache-control': 'max-age=30',
3828 silly registry.get etag: '"63YHQZ1PELFZYGSAJTKJX76ND"',
3828 silly registry.get 'x-served-by': 'cache-syd1621-SYD',
3828 silly registry.get 'x-cache': 'HIT',
3828 silly registry.get 'x-cache-hits': '2',
3828 silly registry.get 'x-timer': 'S1402918397.034210,VS0,VE0',
3828 silly registry.get vary: 'Accept',
3828 silly registry.get 'content-length': '0',
3828 silly registry.get 'keep-alive': 'timeout=10, max=43',
3828 silly registry.get connection: 'Keep-Alive' } ]
3829 verbose etag lodash.now from cache
3830 silly addNameRange number 2 { name: 'readable-stream',
3830 silly addNameRange range: '>=1.1.8-0 <1.2.0-0',
3830 silly addNameRange hasData: true }
3831 silly addNameRange versions [ 'readable-stream',
3831 silly addNameRange [ '0.0.1',
3831 silly addNameRange '0.0.2',
3831 silly addNameRange '0.0.3',
3831 silly addNameRange '0.0.4',
3831 silly addNameRange '0.1.0',
3831 silly addNameRange '0.2.0',
3831 silly addNameRange '0.3.0',
3831 silly addNameRange '0.3.1',
3831 silly addNameRange '1.0.0',
3831 silly addNameRange '1.0.1',
3831 silly addNameRange '1.0.2',
3831 silly addNameRange '1.0.15',
3831 silly addNameRange '1.0.17',
3831 silly addNameRange '1.1.7',
3831 silly addNameRange '1.1.8',
3831 silly addNameRange '1.1.9',
3831 silly addNameRange '1.0.24',
3831 silly addNameRange '1.0.25',
3831 silly addNameRange '1.1.10',
3831 silly addNameRange '1.0.25-1',
3831 silly addNameRange '1.1.11',
3831 silly addNameRange '1.0.26',
3831 silly addNameRange '1.0.26-1',
3831 silly addNameRange '1.1.11-1',
3831 silly addNameRange '1.0.26-2',
3831 silly addNameRange '1.1.12',
3831 silly addNameRange '1.0.26-3',
3831 silly addNameRange '1.0.26-4',
3831 silly addNameRange '1.1.12-1',
3831 silly addNameRange '1.0.27-1',
3831 silly addNameRange '1.1.13-1' ] ]
3832 verbose addNamed [ 'readable-stream', '1.1.13-1' ]
3833 verbose addNamed [ '1.1.13-1', '1.1.13-1' ]
3834 silly lockFile 3d47898c-readable-stream-1-1-13-1 [email protected]
3835 verbose lock [email protected] /home/alectaylor/.npm/3d47898c-readable-stream-1-1-13-1.lock
3836 verbose readDependencies using package.json deps
3837 info postinstall [email protected]
3838 verbose linkBins [email protected]
3839 verbose linkMans [email protected]
3840 verbose rebuildBundles [email protected]
3841 silly addNameRange number 2 { name: 'lodash.isfunction',
3841 silly addNameRange range: '>=2.4.1-0 <2.5.0-0',
3841 silly addNameRange hasData: true }
3842 silly addNameRange versions [ 'lodash.isfunction',
3842 silly addNameRange [ '2.0.0', '2.1.0', '2.2.0', '2.2.1', '2.3.0', '2.4.0', '2.4.1' ] ]
3843 verbose addNamed [ 'lodash.isfunction', '2.4.1' ]
3844 verbose addNamed [ '2.4.1', '2.4.1' ]
3845 silly lockFile 6538fdb8-lodash-isfunction-2-4-1 [email protected]
3846 verbose lock [email protected] /home/alectaylor/.npm/6538fdb8-lodash-isfunction-2-4-1.lock
3847 silly addNameRange number 2 { name: 'jsonify', range: '>=0.0.0-0 <0.1.0-0', hasData: true }
3848 silly addNameRange versions [ 'jsonify', [ '0.0.0' ] ]
3849 verbose addNamed [ 'jsonify', '0.0.0' ]
3850 verbose addNamed [ '0.0.0', '0.0.0' ]
3851 silly lockFile e3f559e0-jsonify-0-0-0 [email protected]
3852 verbose lock [email protected] /home/alectaylor/.npm/e3f559e0-jsonify-0-0-0.lock
3853 silly addNameRange number 2 { name: 'array-map', range: '>=0.0.0-0 <0.1.0-0', hasData: true }
3854 silly addNameRange versions [ 'array-map', [ '0.0.0' ] ]
3855 verbose addNamed [ 'array-map', '0.0.0' ]
3856 verbose addNamed [ '0.0.0', '0.0.0' ]
3857 silly lockFile 837fdf2d-array-map-0-0-0 [email protected]
3858 verbose lock [email protected] /home/alectaylor/.npm/837fdf2d-array-map-0-0-0.lock
3859 verbose readDependencies using package.json deps
3860 silly gunzTarPerm extractEntry example/default_singles.js
3861 silly gunzTarPerm extractEntry example/divide.js
3862 silly gunzTarPerm extractEntry example/line_count.js
3863 silly gunzTarPerm extractEntry example/default_hash.js
3864 silly gunzTarPerm extractEntry example/line_count_wrap.js
3865 silly gunzTarPerm extractEntry example/nonopt.js
3866 silly gunzTarPerm extractEntry example/reflect.js
3867 silly gunzTarPerm extractEntry example/short.js
3868 silly gunzTarPerm extractEntry example/string.js
3869 silly gunzTarPerm extractEntry example/boolean_single.js
3870 silly gunzTarPerm extractEntry example/usage-options.js
3871 silly gunzTarPerm extractEntry example/boolean_double.js
3872 silly gunzTarPerm extractEntry example/xup.js
3873 silly gunzTarPerm extractEntry example/line_count_options.js
3874 silly gunzTarPerm extractEntry readme.markdown
3875 silly gunzTarPerm extractEntry test/_.js
3876 silly gunzTarPerm extractEntry test/dash.js
3877 silly gunzTarPerm extractEntry test/parse.js
3878 silly gunzTarPerm extractEntry test/parse_modified.js
3879 silly gunzTarPerm extractEntry test/short.js
3880 silly gunzTarPerm extractEntry test/usage.js
3881 silly gunzTarPerm extractEntry test/whitespace.js
3882 silly gunzTarPerm extractEntry test/_/argv.js
3883 silly gunzTarPerm extractEntry test/_/bin.js
3884 info install [email protected]
3885 verbose about to build /usr/local/lib/node_modules/bower/node_modules/request-progress
3886 info build /usr/local/lib/node_modules/bower/node_modules/request-progress
3887 verbose linkStuff [ true,
3887 verbose linkStuff '/usr/local/lib/node_modules',
3887 verbose linkStuff false,
3887 verbose linkStuff '/usr/local/lib/node_modules/bower/node_modules' ]
3888 info linkStuff [email protected]
3889 silly gunzTarPerm extractEntry inherits.js
3890 silly gunzTarPerm extractEntry inherits_browser.js
3891 error EEXIST, mkdir '/usr/local/lib/node_modules/bower/node_modules/insight/node_modules/async'
File exists: /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/async
Move it away, and try again.
3892 error System Linux 3.13.0-29-generic
3893 error command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "bower"
3894 error cwd /home/alectaylor
3895 error node -v v0.10.29
3896 error npm -v 1.4.14
3897 error path /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/async
3898 error fstream_path /usr/local/lib/node_modules/bower/node_modules/insight/node_modules/async/component.json
3899 error fstream_type File
3900 error fstream_class FileWriter
3901 error code EEXIST
3902 error errno 47
3903 error fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/writer.js:171:23
3903 error fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53
3903 error fstream_stack Object.oncomplete (fs.js:107:15)
3904 verbose exit [ 47, true ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment