diff --git a/app/index.html b/app/index.html index 07b5d4e..a6666aa 100644 --- a/app/index.html +++ b/app/index.html @@ -28,17 +28,6 @@
- - - diff --git a/app/scripts/controllers/main.js b/app/scripts/controllers/main.js index 7467d3a..5d64069 100644 --- a/app/scripts/controllers/main.js +++ b/app/scripts/controllers/main.js @@ -1,10 +1,84 @@ 'use strict'; angular.module('angularPromisesApp') - .controller('MainCtrl', function ($scope) { - $scope.awesomeThings = [ - 'HTML5 Boilerplate', - 'AngularJS', - 'Karma' - ]; + .controller('MainCtrl', function ($scope, $http, $q, $timeout) { + + + $scope.timeout = 500 // timeout in ms for each request + + + $scope.loadData = function() { + $scope.result = null + + $http.get('/api/ngparis/_all_docs', { + params: {include_docs: true}, + timeout: $scope.timeout}) + .success(function(result){ // .success = .then(onFulfilled) + $scope.result = result + }) + } + + $scope.loadDataWithFailOver = function() { + var requestTimeout = $scope.timeout; + var retries = 10; + + var doRequest = function () { + var timedOut; + + /* + This deferred will handle the timeout of requests + and notify the promise handlers + */ + var tryRequest = $q.defer(); + + + /* + Timeout + retries of requests is actually processed here + with $timeout + */ + var timeout = $timeout(function(){ + timedOut = true; + if (retries === 0) { + tryRequest.resolve('timeout') + console.log('timeout abort request'); + } else { + console.log('trying new request') + retries--; + tryRequest.resolve('timeout') + doRequest(); + } + // }, requestTimeout); + + // Using exponential max timeout latency + }, Math.exp(requestTimeout/100)); + requestTimeout += 50; + + + /* + If the promise of the request is fulfilled or + failed, then cancel the timeout/retries processing + */ + tryRequest.promise.then(undefined, function(){ + $timeout.cancel(timeout); + }) + + + // The API call using $http + $http.get('/api/ngparis/_all_docs', { + params: {include_docs: true}, + timeout: tryRequest.promise // A promise that will abort the request if resolved + }).success(function(result){ + if (timedOut) + return; + else { + console.log('success') + tryRequest.reject('request success') + } + }) + + } + + doRequest(); + } + }); diff --git a/app/views/main.html b/app/views/main.html index 398e26b..b058278 100644 --- a/app/views/main.html +++ b/app/views/main.html @@ -1,36 +1,18 @@
- -

angular promises

+

Angular Promises

-
-

'Allo, 'Allo!

-

- I'm Yeoman
- Always a pleasure scaffolding your apps. -

-

Splendid!

-
- -
-

HTML5 Boilerplate

-

- HTML5 Boilerplate is a professional front-end template for building fast, robust, and adaptable web apps or sites. -

-

Angular

-

- AngularJS is a toolset for building the framework most suited to your application development. -

- -

Karma

-

Spectacular Test Runner for JavaScript.

-
+
+

API Call Result:

+ + +
+
+ + + + +

{{r.doc.title}}

- diff --git a/npm-debug.log b/npm-debug.log deleted file mode 100644 index bdde6fe..0000000 --- a/npm-debug.log +++ /dev/null @@ -1,19515 +0,0 @@ -4002 silly lockFile 54de923f-pike-npm-chalk-0-2-1-package-tgz tar:///home/spike/.npm/chalk/0.2.1/package.tgz -4003 silly lockFile 54de923f-pike-npm-chalk-0-2-1-package-tgz tar:///home/spike/.npm/chalk/0.2.1/package.tgz -4004 silly gunzTarPerm extractEntry readme.markdown -4005 silly gunzTarPerm extractEntry test/align.js -4006 silly gunzTarPerm extractEntry test/ansi-colors.js -4007 silly gunzTarPerm extractEntry test/center.js -4008 silly gunzTarPerm extractEntry test/dotalign.js -4009 silly gunzTarPerm extractEntry test/doubledot.js -4010 silly gunzTarPerm extractEntry test/table.js -4011 info preinstall chalk@0.2.1 -4012 verbose readDependencies using package.json deps -4013 verbose readDependencies using package.json deps -4014 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/48/7a6ae84da8e4a1ee95cf59c7df8ea436fabf4c -4015 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/4e/576c52cb630491ebcf62a77f5e81077c3be57e -4016 verbose cache add [ 'has-color@~0.1.0', null ] -4017 verbose cache add name=undefined spec="has-color@~0.1.0" args=["has-color@~0.1.0",null] -4018 verbose parsed url { protocol: null, -4018 verbose parsed url slashes: null, -4018 verbose parsed url auth: null, -4018 verbose parsed url host: null, -4018 verbose parsed url port: null, -4018 verbose parsed url hostname: null, -4018 verbose parsed url hash: null, -4018 verbose parsed url search: null, -4018 verbose parsed url query: null, -4018 verbose parsed url pathname: 'has-color@~0.1.0', -4018 verbose parsed url path: 'has-color@~0.1.0', -4018 verbose parsed url href: 'has-color@~0.1.0' } -4019 verbose cache add name="has-color" spec="~0.1.0" args=["has-color","~0.1.0"] -4020 verbose parsed url { protocol: null, -4020 verbose parsed url slashes: null, -4020 verbose parsed url auth: null, -4020 verbose parsed url host: null, -4020 verbose parsed url port: null, -4020 verbose parsed url hostname: null, -4020 verbose parsed url hash: null, -4020 verbose parsed url search: null, -4020 verbose parsed url query: null, -4020 verbose parsed url pathname: '~0.1.0', -4020 verbose parsed url path: '~0.1.0', -4020 verbose parsed url href: '~0.1.0' } -4021 verbose addNamed [ 'has-color', '~0.1.0' ] -4022 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ] -4023 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0 -4024 verbose lock has-color@~0.1.0 /home/spike/.npm/c89da621-has-color-0-1-0.lock -4025 verbose cache add [ 'ansi-styles@~0.2.0', null ] -4026 verbose cache add name=undefined spec="ansi-styles@~0.2.0" args=["ansi-styles@~0.2.0",null] -4027 verbose parsed url { protocol: null, -4027 verbose parsed url slashes: null, -4027 verbose parsed url auth: null, -4027 verbose parsed url host: null, -4027 verbose parsed url port: null, -4027 verbose parsed url hostname: null, -4027 verbose parsed url hash: null, -4027 verbose parsed url search: null, -4027 verbose parsed url query: null, -4027 verbose parsed url pathname: 'ansi-styles@~0.2.0', -4027 verbose parsed url path: 'ansi-styles@~0.2.0', -4027 verbose parsed url href: 'ansi-styles@~0.2.0' } -4028 verbose cache add name="ansi-styles" spec="~0.2.0" args=["ansi-styles","~0.2.0"] -4029 verbose parsed url { protocol: null, -4029 verbose parsed url slashes: null, -4029 verbose parsed url auth: null, -4029 verbose parsed url host: null, -4029 verbose parsed url port: null, -4029 verbose parsed url hostname: null, -4029 verbose parsed url hash: null, -4029 verbose parsed url search: null, -4029 verbose parsed url query: null, -4029 verbose parsed url pathname: '~0.2.0', -4029 verbose parsed url path: '~0.2.0', -4029 verbose parsed url href: '~0.2.0' } -4030 verbose addNamed [ 'ansi-styles', '~0.2.0' ] -4031 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ] -4032 silly lockFile 847f9987-ansi-styles-0-2-0 ansi-styles@~0.2.0 -4033 verbose lock ansi-styles@~0.2.0 /home/spike/.npm/847f9987-ansi-styles-0-2-0.lock -4034 silly addNameRange { name: 'has-color', -4034 silly addNameRange range: '>=0.1.0-0 <0.2.0-0', -4034 silly addNameRange hasData: false } -4035 silly addNameRange { name: 'ansi-styles', -4035 silly addNameRange range: '>=0.2.0-0 <0.3.0-0', -4035 silly addNameRange hasData: false } -4036 verbose url raw has-color -4037 verbose url resolving [ 'https://registry.npmjs.org/', './has-color' ] -4038 verbose url resolved https://registry.npmjs.org/has-color -4039 info trying registry request attempt 1 at 11:44:30 -4040 verbose etag "72ZL2WOI1PC39PN3SGW6SDCN6" -4041 http GET https://registry.npmjs.org/has-color -4042 verbose url raw ansi-styles -4043 verbose url resolving [ 'https://registry.npmjs.org/', './ansi-styles' ] -4044 verbose url resolved https://registry.npmjs.org/ansi-styles -4045 info trying registry request attempt 1 at 11:44:30 -4046 verbose etag "AEOYK2JSRTD248WNH6VPFMJXF" -4047 http GET https://registry.npmjs.org/ansi-styles -4048 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/52/8f8e1553e2b03aee7ab6eb9216b3ed89061784 -4049 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/68/9c63b3432aaece15106f8b2162619f982ec370 -4050 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/69/bc69fdce113f9c1566aec1392bcc79d10d454b -4051 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/6c/1354ad5764e71a3bf30650013f0f0e9a897450 -4052 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/75/7a3f84cfbf1fc94ce0c67d2f016690eb495bb5 -4053 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/7a/0419da6bb16bbccf5e07f9bcd1754108ed9d1a -4054 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/80/95211f85d5038d6f2ee248a134cf7e7d28e123 -4055 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/83/0e1eb1a47c76ecfd3c1df4ab1485dc8188cf3c -4056 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/88/259581b83fd9081b94deebf2a7632590f09f83 -4057 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/8c/ffccc175240ac0346bd2171a0d25d7c6a88c5f -4058 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/0d/af124cc7163788c501f382461e45bd1de8e7ab -4059 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/90/ed234fb0708235a733bcae0e5b90bd4fac5321 -4060 silly lockFile b8b93663--stylish-node-modules-text-table tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/text-table -4061 silly lockFile b8b93663--stylish-node-modules-text-table tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/text-table -4062 silly lockFile 220a4922-npm-text-table-0-2-0-package-tgz tar:///home/spike/.npm/text-table/0.2.0/package.tgz -4063 silly lockFile 220a4922-npm-text-table-0-2-0-package-tgz tar:///home/spike/.npm/text-table/0.2.0/package.tgz -4064 info preinstall text-table@0.2.0 -4065 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/92/afeeb69adc7fd744bb4d6556dc3d7204cb71fa -4066 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/97/17b8c32f1c6acfbe3db68df8856a6630e4772d -4067 verbose readDependencies using package.json deps -4068 verbose readDependencies using package.json deps -4069 silly resolved [] -4070 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/text-table -4071 info build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/text-table -4072 verbose linkStuff [ false, -4072 verbose linkStuff false, -4072 verbose linkStuff false, -4072 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules' ] -4073 info linkStuff text-table@0.2.0 -4074 verbose linkBins text-table@0.2.0 -4075 verbose linkMans text-table@0.2.0 -4076 verbose rebuildBundles text-table@0.2.0 -4077 info install text-table@0.2.0 -4078 info postinstall text-table@0.2.0 -4079 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/9c/7fa0117320c0c8b3f7d760143bad93c6e34b9d -4080 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/9e/1ea691c15d1fcbd4df08a43381e52c6b4b8f83 -4081 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/a2/1a15efe0034e57f1455f55ca1cd7805e25adfd -4082 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/aa/77627e06564ada85565b7fee02d9c28047f35a -4083 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/bb/01907369ff7accc18d6ec5b17d231f4217ac2d -4084 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/be/9b0e2ca43b223ab14df61b868e95cb412c6faa -4085 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/bf/7794b69000bbaa6598c3f67cc70c6a51d6ca3d -4086 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/ca/dd0beb4df19711eb9ce432608504cc21beebf3 -4087 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/d3/e127498b258d1827d03aa8980fc8db868352ad -4088 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/d7/bb417d109af63c5bcbd7f7484ddfa66f38af13 -4089 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/ec/b67101368c505a6c23f1a1966d13c6aa66483f -4090 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/ee/947ec6a8a56f6c57d3fb48d10f8c104c66f4ce -4091 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/f2/4e11fa324ac703273a03f54c3d60d840e69e24 -4092 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/f9/260e4e30eb5e9f7d08751c6348e90b505f8af0 -4093 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/f9/3f2fb92626ffd5bb9a17b5e2b2642f2c70c014 -4094 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/fb/18250b19f479c46a49a393a8f8f932ed083b55 -4095 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/pack/pack-af6aba8bdcf0fc9c7b4a690e6e2976ed7bbb8521.idx -4096 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/pack/pack-af6aba8bdcf0fc9c7b4a690e6e2976ed7bbb8521.pack -4097 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/packed-refs -4098 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/refs/heads/master -4099 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/refs/remotes/origin/HEAD -4100 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/refs/remotes/origin/master -4101 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/refs/tags/0.0.1 -4102 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/refs/tags/0.0.2 -4103 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/tortoisegit.data -4104 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/tortoisegit.index -4105 silly gunzTarPerm extractEntry test/assets/package-repo/test/file_reader.html -4106 silly gunzTarPerm extractEntry test/assets/package-repo/test/index.html -4107 silly gunzTarPerm extractEntry test/assets/package-zip-folder.zip -4108 silly gunzTarPerm extractEntry test/assets/package-zip.zip -4109 silly gunzTarPerm extractEntry test/assets/project/.npmignore -4110 silly gunzTarPerm extractEntry test/assets/project/bower.json -4111 silly gunzTarPerm extractEntry test/assets/project-complex-nest/bower.json -4112 silly gunzTarPerm extractEntry test/assets/project-dev-deps/bower.json -4113 silly gunzTarPerm extractEntry test/assets/project-nested/bower.json -4114 silly gunzTarPerm extractEntry test/assets/project-nested-conflict/bower.json -4115 silly gunzTarPerm extractEntry test/assets/project-new-deps/.npmignore -4116 silly gunzTarPerm extractEntry test/assets/project-new-deps/bower.json -4117 silly gunzTarPerm extractEntry test/assets/project-nonstandard-json/foocomponent.json -4118 silly gunzTarPerm extractEntry test/assets/project-old/component.json -4119 silly gunzTarPerm extractEntry test/assets/project-static/bower.json -4120 silly gunzTarPerm extractEntry test/assets/sprockets/.npmignore -4121 silly gunzTarPerm extractEntry test/assets/sprockets/Rakefile -4122 silly gunzTarPerm extractEntry test/assets/sprockets/assets/application.js -4123 silly gunzTarPerm extractEntry test/assets/sprockets/bower.json -4124 silly lockFile 4e30e0d0-nt-google-cdn-node-modules-bower tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower -4125 silly lockFile 4e30e0d0-nt-google-cdn-node-modules-bower tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower -4126 silly lockFile 1b2e6ea5-pike-npm-bower-0-9-2-package-tgz tar:///home/spike/.npm/bower/0.9.2/package.tgz -4127 silly lockFile 1b2e6ea5-pike-npm-bower-0-9-2-package-tgz tar:///home/spike/.npm/bower/0.9.2/package.tgz -4128 info preinstall bower@0.9.2 -4129 verbose readDependencies using package.json deps -4130 verbose readDependencies using package.json deps -4131 verbose cache add [ 'abbrev@~1.0.4', null ] -4132 verbose cache add name=undefined spec="abbrev@~1.0.4" args=["abbrev@~1.0.4",null] -4133 verbose parsed url { protocol: null, -4133 verbose parsed url slashes: null, -4133 verbose parsed url auth: null, -4133 verbose parsed url host: null, -4133 verbose parsed url port: null, -4133 verbose parsed url hostname: null, -4133 verbose parsed url hash: null, -4133 verbose parsed url search: null, -4133 verbose parsed url query: null, -4133 verbose parsed url pathname: 'abbrev@~1.0.4', -4133 verbose parsed url path: 'abbrev@~1.0.4', -4133 verbose parsed url href: 'abbrev@~1.0.4' } -4134 verbose cache add name="abbrev" spec="~1.0.4" args=["abbrev","~1.0.4"] -4135 verbose parsed url { protocol: null, -4135 verbose parsed url slashes: null, -4135 verbose parsed url auth: null, -4135 verbose parsed url host: null, -4135 verbose parsed url port: null, -4135 verbose parsed url hostname: null, -4135 verbose parsed url hash: null, -4135 verbose parsed url search: null, -4135 verbose parsed url query: null, -4135 verbose parsed url pathname: '~1.0.4', -4135 verbose parsed url path: '~1.0.4', -4135 verbose parsed url href: '~1.0.4' } -4136 verbose addNamed [ 'abbrev', '~1.0.4' ] -4137 verbose addNamed [ null, '>=1.0.4-0 <1.1.0-0' ] -4138 silly lockFile efa0e9e0-abbrev-1-0-4 abbrev@~1.0.4 -4139 verbose lock abbrev@~1.0.4 /home/spike/.npm/efa0e9e0-abbrev-1-0-4.lock -4140 verbose cache add [ 'archy@~0.0.2', null ] -4141 verbose cache add name=undefined spec="archy@~0.0.2" args=["archy@~0.0.2",null] -4142 verbose parsed url { protocol: null, -4142 verbose parsed url slashes: null, -4142 verbose parsed url auth: null, -4142 verbose parsed url host: null, -4142 verbose parsed url port: null, -4142 verbose parsed url hostname: null, -4142 verbose parsed url hash: null, -4142 verbose parsed url search: null, -4142 verbose parsed url query: null, -4142 verbose parsed url pathname: 'archy@~0.0.2', -4142 verbose parsed url path: 'archy@~0.0.2', -4142 verbose parsed url href: 'archy@~0.0.2' } -4143 verbose cache add name="archy" spec="~0.0.2" args=["archy","~0.0.2"] -4144 verbose parsed url { protocol: null, -4144 verbose parsed url slashes: null, -4144 verbose parsed url auth: null, -4144 verbose parsed url host: null, -4144 verbose parsed url port: null, -4144 verbose parsed url hostname: null, -4144 verbose parsed url hash: null, -4144 verbose parsed url search: null, -4144 verbose parsed url query: null, -4144 verbose parsed url pathname: '~0.0.2', -4144 verbose parsed url path: '~0.0.2', -4144 verbose parsed url href: '~0.0.2' } -4145 verbose addNamed [ 'archy', '~0.0.2' ] -4146 verbose addNamed [ null, '>=0.0.2-0 <0.1.0-0' ] -4147 silly lockFile 835d25e0-archy-0-0-2 archy@~0.0.2 -4148 verbose lock archy@~0.0.2 /home/spike/.npm/835d25e0-archy-0-0-2.lock -4149 verbose cache add [ 'async@~0.2.5', null ] -4150 verbose cache add name=undefined spec="async@~0.2.5" args=["async@~0.2.5",null] -4151 verbose parsed url { protocol: null, -4151 verbose parsed url slashes: null, -4151 verbose parsed url auth: null, -4151 verbose parsed url host: null, -4151 verbose parsed url port: null, -4151 verbose parsed url hostname: null, -4151 verbose parsed url hash: null, -4151 verbose parsed url search: null, -4151 verbose parsed url query: null, -4151 verbose parsed url pathname: 'async@~0.2.5', -4151 verbose parsed url path: 'async@~0.2.5', -4151 verbose parsed url href: 'async@~0.2.5' } -4152 verbose cache add name="async" spec="~0.2.5" args=["async","~0.2.5"] -4153 verbose parsed url { protocol: null, -4153 verbose parsed url slashes: null, -4153 verbose parsed url auth: null, -4153 verbose parsed url host: null, -4153 verbose parsed url port: null, -4153 verbose parsed url hostname: null, -4153 verbose parsed url hash: null, -4153 verbose parsed url search: null, -4153 verbose parsed url query: null, -4153 verbose parsed url pathname: '~0.2.5', -4153 verbose parsed url path: '~0.2.5', -4153 verbose parsed url href: '~0.2.5' } -4154 verbose addNamed [ 'async', '~0.2.5' ] -4155 verbose addNamed [ null, '>=0.2.5-0 <0.3.0-0' ] -4156 silly lockFile cf5596a4-async-0-2-5 async@~0.2.5 -4157 verbose lock async@~0.2.5 /home/spike/.npm/cf5596a4-async-0-2-5.lock -4158 silly addNameRange { name: 'abbrev', range: '>=1.0.4-0 <1.1.0-0', hasData: false } -4159 silly addNameRange { name: 'archy', range: '>=0.0.2-0 <0.1.0-0', hasData: false } -4160 silly addNameRange { name: 'async', range: '>=0.2.5-0 <0.3.0-0', hasData: false } -4161 verbose url raw abbrev -4162 verbose url resolving [ 'https://registry.npmjs.org/', './abbrev' ] -4163 verbose url resolved https://registry.npmjs.org/abbrev -4164 info trying registry request attempt 1 at 11:44:30 -4165 verbose etag "1A2R6SP5BL9S0252UX3EHXNP4" -4166 http GET https://registry.npmjs.org/abbrev -4167 verbose cache add [ 'fstream@~0.1.19', null ] -4168 verbose cache add name=undefined spec="fstream@~0.1.19" args=["fstream@~0.1.19",null] -4169 verbose parsed url { protocol: null, -4169 verbose parsed url slashes: null, -4169 verbose parsed url auth: null, -4169 verbose parsed url host: null, -4169 verbose parsed url port: null, -4169 verbose parsed url hostname: null, -4169 verbose parsed url hash: null, -4169 verbose parsed url search: null, -4169 verbose parsed url query: null, -4169 verbose parsed url pathname: 'fstream@~0.1.19', -4169 verbose parsed url path: 'fstream@~0.1.19', -4169 verbose parsed url href: 'fstream@~0.1.19' } -4170 verbose cache add name="fstream" spec="~0.1.19" args=["fstream","~0.1.19"] -4171 verbose parsed url { protocol: null, -4171 verbose parsed url slashes: null, -4171 verbose parsed url auth: null, -4171 verbose parsed url host: null, -4171 verbose parsed url port: null, -4171 verbose parsed url hostname: null, -4171 verbose parsed url hash: null, -4171 verbose parsed url search: null, -4171 verbose parsed url query: null, -4171 verbose parsed url pathname: '~0.1.19', -4171 verbose parsed url path: '~0.1.19', -4171 verbose parsed url href: '~0.1.19' } -4172 verbose addNamed [ 'fstream', '~0.1.19' ] -4173 verbose addNamed [ null, '>=0.1.19-0 <0.2.0-0' ] -4174 silly lockFile 41db2e12-fstream-0-1-19 fstream@~0.1.19 -4175 verbose lock fstream@~0.1.19 /home/spike/.npm/41db2e12-fstream-0-1-19.lock -4176 verbose cache add [ 'colors@~0.6.0-1', null ] -4177 verbose cache add name=undefined spec="colors@~0.6.0-1" args=["colors@~0.6.0-1",null] -4178 verbose parsed url { protocol: null, -4178 verbose parsed url slashes: null, -4178 verbose parsed url auth: null, -4178 verbose parsed url host: null, -4178 verbose parsed url port: null, -4178 verbose parsed url hostname: null, -4178 verbose parsed url hash: null, -4178 verbose parsed url search: null, -4178 verbose parsed url query: null, -4178 verbose parsed url pathname: 'colors@~0.6.0-1', -4178 verbose parsed url path: 'colors@~0.6.0-1', -4178 verbose parsed url href: 'colors@~0.6.0-1' } -4179 verbose cache add name="colors" spec="~0.6.0-1" args=["colors","~0.6.0-1"] -4180 verbose parsed url { protocol: null, -4180 verbose parsed url slashes: null, -4180 verbose parsed url auth: null, -4180 verbose parsed url host: null, -4180 verbose parsed url port: null, -4180 verbose parsed url hostname: null, -4180 verbose parsed url hash: null, -4180 verbose parsed url search: null, -4180 verbose parsed url query: null, -4180 verbose parsed url pathname: '~0.6.0-1', -4180 verbose parsed url path: '~0.6.0-1', -4180 verbose parsed url href: '~0.6.0-1' } -4181 verbose addNamed [ 'colors', '~0.6.0-1' ] -4182 verbose addNamed [ null, '>=0.6.0-1 <0.7.0-0' ] -4183 silly lockFile f29bff6b-colors-0-6-0-1 colors@~0.6.0-1 -4184 verbose lock colors@~0.6.0-1 /home/spike/.npm/f29bff6b-colors-0-6-0-1.lock -4185 verbose cache add [ 'glob@~3.1.14', null ] -4186 verbose cache add name=undefined spec="glob@~3.1.14" args=["glob@~3.1.14",null] -4187 verbose parsed url { protocol: null, -4187 verbose parsed url slashes: null, -4187 verbose parsed url auth: null, -4187 verbose parsed url host: null, -4187 verbose parsed url port: null, -4187 verbose parsed url hostname: null, -4187 verbose parsed url hash: null, -4187 verbose parsed url search: null, -4187 verbose parsed url query: null, -4187 verbose parsed url pathname: 'glob@~3.1.14', -4187 verbose parsed url path: 'glob@~3.1.14', -4187 verbose parsed url href: 'glob@~3.1.14' } -4188 verbose cache add name="glob" spec="~3.1.14" args=["glob","~3.1.14"] -4189 verbose parsed url { protocol: null, -4189 verbose parsed url slashes: null, -4189 verbose parsed url auth: null, -4189 verbose parsed url host: null, -4189 verbose parsed url port: null, -4189 verbose parsed url hostname: null, -4189 verbose parsed url hash: null, -4189 verbose parsed url search: null, -4189 verbose parsed url query: null, -4189 verbose parsed url pathname: '~3.1.14', -4189 verbose parsed url path: '~3.1.14', -4189 verbose parsed url href: '~3.1.14' } -4190 verbose addNamed [ 'glob', '~3.1.14' ] -4191 verbose addNamed [ null, '>=3.1.14-0 <3.2.0-0' ] -4192 silly lockFile 2d83dc71-glob-3-1-14 glob@~3.1.14 -4193 verbose lock glob@~3.1.14 /home/spike/.npm/2d83dc71-glob-3-1-14.lock -4194 verbose url raw async -4195 verbose url resolving [ 'https://registry.npmjs.org/', './async' ] -4196 verbose url resolved https://registry.npmjs.org/async -4197 info trying registry request attempt 1 at 11:44:30 -4198 verbose etag "6SZA38IP3YTXC2N3QXR6NZ7CH" -4199 http GET https://registry.npmjs.org/async -4200 silly addNameRange { name: 'fstream', range: '>=0.1.19-0 <0.2.0-0', hasData: false } -4201 verbose cache add [ 'hogan.js@~2.0.0', null ] -4202 verbose cache add name=undefined spec="hogan.js@~2.0.0" args=["hogan.js@~2.0.0",null] -4203 verbose parsed url { protocol: null, -4203 verbose parsed url slashes: null, -4203 verbose parsed url auth: null, -4203 verbose parsed url host: null, -4203 verbose parsed url port: null, -4203 verbose parsed url hostname: null, -4203 verbose parsed url hash: null, -4203 verbose parsed url search: null, -4203 verbose parsed url query: null, -4203 verbose parsed url pathname: 'hogan.js@~2.0.0', -4203 verbose parsed url path: 'hogan.js@~2.0.0', -4203 verbose parsed url href: 'hogan.js@~2.0.0' } -4204 verbose cache add name="hogan.js" spec="~2.0.0" args=["hogan.js","~2.0.0"] -4205 verbose parsed url { protocol: null, -4205 verbose parsed url slashes: null, -4205 verbose parsed url auth: null, -4205 verbose parsed url host: null, -4205 verbose parsed url port: null, -4205 verbose parsed url hostname: null, -4205 verbose parsed url hash: null, -4205 verbose parsed url search: null, -4205 verbose parsed url query: null, -4205 verbose parsed url pathname: '~2.0.0', -4205 verbose parsed url path: '~2.0.0', -4205 verbose parsed url href: '~2.0.0' } -4206 verbose addNamed [ 'hogan.js', '~2.0.0' ] -4207 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ] -4208 silly lockFile 09df9878-hogan-js-2-0-0 hogan.js@~2.0.0 -4209 verbose lock hogan.js@~2.0.0 /home/spike/.npm/09df9878-hogan-js-2-0-0.lock -4210 verbose cache add [ 'lodash@~1.0.1', null ] -4211 verbose cache add name=undefined spec="lodash@~1.0.1" args=["lodash@~1.0.1",null] -4212 verbose parsed url { protocol: null, -4212 verbose parsed url slashes: null, -4212 verbose parsed url auth: null, -4212 verbose parsed url host: null, -4212 verbose parsed url port: null, -4212 verbose parsed url hostname: null, -4212 verbose parsed url hash: null, -4212 verbose parsed url search: null, -4212 verbose parsed url query: null, -4212 verbose parsed url pathname: 'lodash@~1.0.1', -4212 verbose parsed url path: 'lodash@~1.0.1', -4212 verbose parsed url href: 'lodash@~1.0.1' } -4213 verbose cache add name="lodash" spec="~1.0.1" args=["lodash","~1.0.1"] -4214 verbose parsed url { protocol: null, -4214 verbose parsed url slashes: null, -4214 verbose parsed url auth: null, -4214 verbose parsed url host: null, -4214 verbose parsed url port: null, -4214 verbose parsed url hostname: null, -4214 verbose parsed url hash: null, -4214 verbose parsed url search: null, -4214 verbose parsed url query: null, -4214 verbose parsed url pathname: '~1.0.1', -4214 verbose parsed url path: '~1.0.1', -4214 verbose parsed url href: '~1.0.1' } -4215 verbose addNamed [ 'lodash', '~1.0.1' ] -4216 verbose cache add [ 'mkdirp@~0.3.4', null ] -4217 verbose cache add name=undefined spec="mkdirp@~0.3.4" args=["mkdirp@~0.3.4",null] -4218 verbose parsed url { protocol: null, -4218 verbose parsed url slashes: null, -4218 verbose parsed url auth: null, -4218 verbose parsed url host: null, -4218 verbose parsed url port: null, -4218 verbose parsed url hostname: null, -4218 verbose parsed url hash: null, -4218 verbose parsed url search: null, -4218 verbose parsed url query: null, -4218 verbose parsed url pathname: 'mkdirp@~0.3.4', -4218 verbose parsed url path: 'mkdirp@~0.3.4', -4218 verbose parsed url href: 'mkdirp@~0.3.4' } -4219 verbose cache add name="mkdirp" spec="~0.3.4" args=["mkdirp","~0.3.4"] -4220 verbose parsed url { protocol: null, -4220 verbose parsed url slashes: null, -4220 verbose parsed url auth: null, -4220 verbose parsed url host: null, -4220 verbose parsed url port: null, -4220 verbose parsed url hostname: null, -4220 verbose parsed url hash: null, -4220 verbose parsed url search: null, -4220 verbose parsed url query: null, -4220 verbose parsed url pathname: '~0.3.4', -4220 verbose parsed url path: '~0.3.4', -4220 verbose parsed url href: '~0.3.4' } -4221 verbose addNamed [ 'mkdirp', '~0.3.4' ] -4222 verbose addNamed [ null, '>=0.3.4-0 <0.4.0-0' ] -4223 silly lockFile f185e6bf-mkdirp-0-3-4 mkdirp@~0.3.4 -4224 verbose lock mkdirp@~0.3.4 /home/spike/.npm/f185e6bf-mkdirp-0-3-4.lock -4225 verbose cache add [ 'nopt@~2.0.0', null ] -4226 verbose cache add name=undefined spec="nopt@~2.0.0" args=["nopt@~2.0.0",null] -4227 verbose parsed url { protocol: null, -4227 verbose parsed url slashes: null, -4227 verbose parsed url auth: null, -4227 verbose parsed url host: null, -4227 verbose parsed url port: null, -4227 verbose parsed url hostname: null, -4227 verbose parsed url hash: null, -4227 verbose parsed url search: null, -4227 verbose parsed url query: null, -4227 verbose parsed url pathname: 'nopt@~2.0.0', -4227 verbose parsed url path: 'nopt@~2.0.0', -4227 verbose parsed url href: 'nopt@~2.0.0' } -4228 verbose cache add name="nopt" spec="~2.0.0" args=["nopt","~2.0.0"] -4229 verbose parsed url { protocol: null, -4229 verbose parsed url slashes: null, -4229 verbose parsed url auth: null, -4229 verbose parsed url host: null, -4229 verbose parsed url port: null, -4229 verbose parsed url hostname: null, -4229 verbose parsed url hash: null, -4229 verbose parsed url search: null, -4229 verbose parsed url query: null, -4229 verbose parsed url pathname: '~2.0.0', -4229 verbose parsed url path: '~2.0.0', -4229 verbose parsed url href: '~2.0.0' } -4230 verbose addNamed [ 'nopt', '~2.0.0' ] -4231 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ] -4232 silly lockFile 42399ddd-nopt-2-0-0 nopt@~2.0.0 -4233 verbose lock nopt@~2.0.0 /home/spike/.npm/42399ddd-nopt-2-0-0.lock -4234 verbose cache add [ 'promptly@~0.1.0', null ] -4235 verbose cache add name=undefined spec="promptly@~0.1.0" args=["promptly@~0.1.0",null] -4236 verbose parsed url { protocol: null, -4236 verbose parsed url slashes: null, -4236 verbose parsed url auth: null, -4236 verbose parsed url host: null, -4236 verbose parsed url port: null, -4236 verbose parsed url hostname: null, -4236 verbose parsed url hash: null, -4236 verbose parsed url search: null, -4236 verbose parsed url query: null, -4236 verbose parsed url pathname: 'promptly@~0.1.0', -4236 verbose parsed url path: 'promptly@~0.1.0', -4236 verbose parsed url href: 'promptly@~0.1.0' } -4237 verbose cache add name="promptly" spec="~0.1.0" args=["promptly","~0.1.0"] -4238 verbose parsed url { protocol: null, -4238 verbose parsed url slashes: null, -4238 verbose parsed url auth: null, -4238 verbose parsed url host: null, -4238 verbose parsed url port: null, -4238 verbose parsed url hostname: null, -4238 verbose parsed url hash: null, -4238 verbose parsed url search: null, -4238 verbose parsed url query: null, -4238 verbose parsed url pathname: '~0.1.0', -4238 verbose parsed url path: '~0.1.0', -4238 verbose parsed url href: '~0.1.0' } -4239 verbose addNamed [ 'promptly', '~0.1.0' ] -4240 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ] -4241 silly lockFile 00921d95-promptly-0-1-0 promptly@~0.1.0 -4242 verbose lock promptly@~0.1.0 /home/spike/.npm/00921d95-promptly-0-1-0.lock -4243 verbose cache add [ 'rc@~0.0.6', null ] -4244 verbose cache add name=undefined spec="rc@~0.0.6" args=["rc@~0.0.6",null] -4245 verbose parsed url { protocol: null, -4245 verbose parsed url slashes: null, -4245 verbose parsed url auth: null, -4245 verbose parsed url host: null, -4245 verbose parsed url port: null, -4245 verbose parsed url hostname: null, -4245 verbose parsed url hash: null, -4245 verbose parsed url search: null, -4245 verbose parsed url query: null, -4245 verbose parsed url pathname: 'rc@~0.0.6', -4245 verbose parsed url path: 'rc@~0.0.6', -4245 verbose parsed url href: 'rc@~0.0.6' } -4246 verbose cache add name="rc" spec="~0.0.6" args=["rc","~0.0.6"] -4247 verbose parsed url { protocol: null, -4247 verbose parsed url slashes: null, -4247 verbose parsed url auth: null, -4247 verbose parsed url host: null, -4247 verbose parsed url port: null, -4247 verbose parsed url hostname: null, -4247 verbose parsed url hash: null, -4247 verbose parsed url search: null, -4247 verbose parsed url query: null, -4247 verbose parsed url pathname: '~0.0.6', -4247 verbose parsed url path: '~0.0.6', -4247 verbose parsed url href: '~0.0.6' } -4248 verbose addNamed [ 'rc', '~0.0.6' ] -4249 verbose addNamed [ null, '>=0.0.6-0 <0.1.0-0' ] -4250 silly lockFile 35fe02d3-rc-0-0-6 rc@~0.0.6 -4251 verbose lock rc@~0.0.6 /home/spike/.npm/35fe02d3-rc-0-0-6.lock -4252 verbose cache add [ 'read-package-json@~0.1.8', null ] -4253 verbose cache add name=undefined spec="read-package-json@~0.1.8" args=["read-package-json@~0.1.8",null] -4254 verbose parsed url { protocol: null, -4254 verbose parsed url slashes: null, -4254 verbose parsed url auth: null, -4254 verbose parsed url host: null, -4254 verbose parsed url port: null, -4254 verbose parsed url hostname: null, -4254 verbose parsed url hash: null, -4254 verbose parsed url search: null, -4254 verbose parsed url query: null, -4254 verbose parsed url pathname: 'read-package-json@~0.1.8', -4254 verbose parsed url path: 'read-package-json@~0.1.8', -4254 verbose parsed url href: 'read-package-json@~0.1.8' } -4255 verbose cache add name="read-package-json" spec="~0.1.8" args=["read-package-json","~0.1.8"] -4256 verbose parsed url { protocol: null, -4256 verbose parsed url slashes: null, -4256 verbose parsed url auth: null, -4256 verbose parsed url host: null, -4256 verbose parsed url port: null, -4256 verbose parsed url hostname: null, -4256 verbose parsed url hash: null, -4256 verbose parsed url search: null, -4256 verbose parsed url query: null, -4256 verbose parsed url pathname: '~0.1.8', -4256 verbose parsed url path: '~0.1.8', -4256 verbose parsed url href: '~0.1.8' } -4257 verbose addNamed [ 'read-package-json', '~0.1.8' ] -4258 verbose addNamed [ null, '>=0.1.8-0 <0.2.0-0' ] -4259 silly lockFile b3dc094e-read-package-json-0-1-8 read-package-json@~0.1.8 -4260 verbose lock read-package-json@~0.1.8 /home/spike/.npm/b3dc094e-read-package-json-0-1-8.lock -4261 verbose cache add [ 'request@~2.11.4', null ] -4262 verbose cache add name=undefined spec="request@~2.11.4" args=["request@~2.11.4",null] -4263 verbose parsed url { protocol: null, -4263 verbose parsed url slashes: null, -4263 verbose parsed url auth: null, -4263 verbose parsed url host: null, -4263 verbose parsed url port: null, -4263 verbose parsed url hostname: null, -4263 verbose parsed url hash: null, -4263 verbose parsed url search: null, -4263 verbose parsed url query: null, -4263 verbose parsed url pathname: 'request@~2.11.4', -4263 verbose parsed url path: 'request@~2.11.4', -4263 verbose parsed url href: 'request@~2.11.4' } -4264 verbose cache add name="request" spec="~2.11.4" args=["request","~2.11.4"] -4265 verbose parsed url { protocol: null, -4265 verbose parsed url slashes: null, -4265 verbose parsed url auth: null, -4265 verbose parsed url host: null, -4265 verbose parsed url port: null, -4265 verbose parsed url hostname: null, -4265 verbose parsed url hash: null, -4265 verbose parsed url search: null, -4265 verbose parsed url query: null, -4265 verbose parsed url pathname: '~2.11.4', -4265 verbose parsed url path: '~2.11.4', -4265 verbose parsed url href: '~2.11.4' } -4266 verbose addNamed [ 'request', '~2.11.4' ] -4267 verbose addNamed [ null, '>=2.11.4-0 <2.12.0-0' ] -4268 silly lockFile c2e2f8c3-request-2-11-4 request@~2.11.4 -4269 verbose lock request@~2.11.4 /home/spike/.npm/c2e2f8c3-request-2-11-4.lock -4270 verbose cache add [ 'rimraf@~2.0.3', null ] -4271 verbose cache add name=undefined spec="rimraf@~2.0.3" args=["rimraf@~2.0.3",null] -4272 verbose parsed url { protocol: null, -4272 verbose parsed url slashes: null, -4272 verbose parsed url auth: null, -4272 verbose parsed url host: null, -4272 verbose parsed url port: null, -4272 verbose parsed url hostname: null, -4272 verbose parsed url hash: null, -4272 verbose parsed url search: null, -4272 verbose parsed url query: null, -4272 verbose parsed url pathname: 'rimraf@~2.0.3', -4272 verbose parsed url path: 'rimraf@~2.0.3', -4272 verbose parsed url href: 'rimraf@~2.0.3' } -4273 verbose cache add name="rimraf" spec="~2.0.3" args=["rimraf","~2.0.3"] -4274 verbose parsed url { protocol: null, -4274 verbose parsed url slashes: null, -4274 verbose parsed url auth: null, -4274 verbose parsed url host: null, -4274 verbose parsed url port: null, -4274 verbose parsed url hostname: null, -4274 verbose parsed url hash: null, -4274 verbose parsed url search: null, -4274 verbose parsed url query: null, -4274 verbose parsed url pathname: '~2.0.3', -4274 verbose parsed url path: '~2.0.3', -4274 verbose parsed url href: '~2.0.3' } -4275 verbose addNamed [ 'rimraf', '~2.0.3' ] -4276 verbose cache add [ 'semver@~1.1.0', null ] -4277 verbose cache add name=undefined spec="semver@~1.1.0" args=["semver@~1.1.0",null] -4278 verbose parsed url { protocol: null, -4278 verbose parsed url slashes: null, -4278 verbose parsed url auth: null, -4278 verbose parsed url host: null, -4278 verbose parsed url port: null, -4278 verbose parsed url hostname: null, -4278 verbose parsed url hash: null, -4278 verbose parsed url search: null, -4278 verbose parsed url query: null, -4278 verbose parsed url pathname: 'semver@~1.1.0', -4278 verbose parsed url path: 'semver@~1.1.0', -4278 verbose parsed url href: 'semver@~1.1.0' } -4279 verbose cache add name="semver" spec="~1.1.0" args=["semver","~1.1.0"] -4280 verbose parsed url { protocol: null, -4280 verbose parsed url slashes: null, -4280 verbose parsed url auth: null, -4280 verbose parsed url host: null, -4280 verbose parsed url port: null, -4280 verbose parsed url hostname: null, -4280 verbose parsed url hash: null, -4280 verbose parsed url search: null, -4280 verbose parsed url query: null, -4280 verbose parsed url pathname: '~1.1.0', -4280 verbose parsed url path: '~1.1.0', -4280 verbose parsed url href: '~1.1.0' } -4281 verbose addNamed [ 'semver', '~1.1.0' ] -4282 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ] -4283 silly lockFile 384d7ac7-semver-1-1-0 semver@~1.1.0 -4284 verbose lock semver@~1.1.0 /home/spike/.npm/384d7ac7-semver-1-1-0.lock -4285 verbose cache add [ 'stable@~0.1.2', null ] -4286 verbose cache add name=undefined spec="stable@~0.1.2" args=["stable@~0.1.2",null] -4287 verbose parsed url { protocol: null, -4287 verbose parsed url slashes: null, -4287 verbose parsed url auth: null, -4287 verbose parsed url host: null, -4287 verbose parsed url port: null, -4287 verbose parsed url hostname: null, -4287 verbose parsed url hash: null, -4287 verbose parsed url search: null, -4287 verbose parsed url query: null, -4287 verbose parsed url pathname: 'stable@~0.1.2', -4287 verbose parsed url path: 'stable@~0.1.2', -4287 verbose parsed url href: 'stable@~0.1.2' } -4288 verbose cache add name="stable" spec="~0.1.2" args=["stable","~0.1.2"] -4289 verbose parsed url { protocol: null, -4289 verbose parsed url slashes: null, -4289 verbose parsed url auth: null, -4289 verbose parsed url host: null, -4289 verbose parsed url port: null, -4289 verbose parsed url hostname: null, -4289 verbose parsed url hash: null, -4289 verbose parsed url search: null, -4289 verbose parsed url query: null, -4289 verbose parsed url pathname: '~0.1.2', -4289 verbose parsed url path: '~0.1.2', -4289 verbose parsed url href: '~0.1.2' } -4290 verbose addNamed [ 'stable', '~0.1.2' ] -4291 verbose addNamed [ null, '>=0.1.2-0 <0.2.0-0' ] -4292 silly lockFile 248113cb-stable-0-1-2 stable@~0.1.2 -4293 verbose lock stable@~0.1.2 /home/spike/.npm/248113cb-stable-0-1-2.lock -4294 verbose cache add [ 'tar@~0.1.13', null ] -4295 verbose cache add name=undefined spec="tar@~0.1.13" args=["tar@~0.1.13",null] -4296 verbose parsed url { protocol: null, -4296 verbose parsed url slashes: null, -4296 verbose parsed url auth: null, -4296 verbose parsed url host: null, -4296 verbose parsed url port: null, -4296 verbose parsed url hostname: null, -4296 verbose parsed url hash: null, -4296 verbose parsed url search: null, -4296 verbose parsed url query: null, -4296 verbose parsed url pathname: 'tar@~0.1.13', -4296 verbose parsed url path: 'tar@~0.1.13', -4296 verbose parsed url href: 'tar@~0.1.13' } -4297 verbose cache add name="tar" spec="~0.1.13" args=["tar","~0.1.13"] -4298 verbose parsed url { protocol: null, -4298 verbose parsed url slashes: null, -4298 verbose parsed url auth: null, -4298 verbose parsed url host: null, -4298 verbose parsed url port: null, -4298 verbose parsed url hostname: null, -4298 verbose parsed url hash: null, -4298 verbose parsed url search: null, -4298 verbose parsed url query: null, -4298 verbose parsed url pathname: '~0.1.13', -4298 verbose parsed url path: '~0.1.13', -4298 verbose parsed url href: '~0.1.13' } -4299 verbose addNamed [ 'tar', '~0.1.13' ] -4300 verbose addNamed [ null, '>=0.1.13-0 <0.2.0-0' ] -4301 silly lockFile e648d358-tar-0-1-13 tar@~0.1.13 -4302 verbose lock tar@~0.1.13 /home/spike/.npm/e648d358-tar-0-1-13.lock -4303 verbose cache add [ 'tmp@~0.0.17', null ] -4304 verbose cache add name=undefined spec="tmp@~0.0.17" args=["tmp@~0.0.17",null] -4305 verbose parsed url { protocol: null, -4305 verbose parsed url slashes: null, -4305 verbose parsed url auth: null, -4305 verbose parsed url host: null, -4305 verbose parsed url port: null, -4305 verbose parsed url hostname: null, -4305 verbose parsed url hash: null, -4305 verbose parsed url search: null, -4305 verbose parsed url query: null, -4305 verbose parsed url pathname: 'tmp@~0.0.17', -4305 verbose parsed url path: 'tmp@~0.0.17', -4305 verbose parsed url href: 'tmp@~0.0.17' } -4306 verbose cache add name="tmp" spec="~0.0.17" args=["tmp","~0.0.17"] -4307 verbose parsed url { protocol: null, -4307 verbose parsed url slashes: null, -4307 verbose parsed url auth: null, -4307 verbose parsed url host: null, -4307 verbose parsed url port: null, -4307 verbose parsed url hostname: null, -4307 verbose parsed url hash: null, -4307 verbose parsed url search: null, -4307 verbose parsed url query: null, -4307 verbose parsed url pathname: '~0.0.17', -4307 verbose parsed url path: '~0.0.17', -4307 verbose parsed url href: '~0.0.17' } -4308 verbose addNamed [ 'tmp', '~0.0.17' ] -4309 verbose addNamed [ null, '>=0.0.17-0 <0.1.0-0' ] -4310 silly lockFile af2449f1-tmp-0-0-17 tmp@~0.0.17 -4311 verbose lock tmp@~0.0.17 /home/spike/.npm/af2449f1-tmp-0-0-17.lock -4312 verbose cache add [ 'unzip@0.1.7', null ] -4313 verbose cache add name=undefined spec="unzip@0.1.7" args=["unzip@0.1.7",null] -4314 verbose parsed url { protocol: null, -4314 verbose parsed url slashes: null, -4314 verbose parsed url auth: null, -4314 verbose parsed url host: null, -4314 verbose parsed url port: null, -4314 verbose parsed url hostname: null, -4314 verbose parsed url hash: null, -4314 verbose parsed url search: null, -4314 verbose parsed url query: null, -4314 verbose parsed url pathname: 'unzip@0.1.7', -4314 verbose parsed url path: 'unzip@0.1.7', -4314 verbose parsed url href: 'unzip@0.1.7' } -4315 verbose cache add name="unzip" spec="0.1.7" args=["unzip","0.1.7"] -4316 verbose parsed url { protocol: null, -4316 verbose parsed url slashes: null, -4316 verbose parsed url auth: null, -4316 verbose parsed url host: null, -4316 verbose parsed url port: null, -4316 verbose parsed url hostname: null, -4316 verbose parsed url hash: null, -4316 verbose parsed url search: null, -4316 verbose parsed url query: null, -4316 verbose parsed url pathname: '0.1.7', -4316 verbose parsed url path: '0.1.7', -4316 verbose parsed url href: '0.1.7' } -4317 verbose addNamed [ 'unzip', '0.1.7' ] -4318 verbose addNamed [ '0.1.7', '0.1.7' ] -4319 silly lockFile d9f02e72-unzip-0-1-7 unzip@0.1.7 -4320 verbose lock unzip@0.1.7 /home/spike/.npm/d9f02e72-unzip-0-1-7.lock -4321 verbose cache add [ 'update-notifier@~0.1.3', null ] -4322 verbose cache add name=undefined spec="update-notifier@~0.1.3" args=["update-notifier@~0.1.3",null] -4323 verbose parsed url { protocol: null, -4323 verbose parsed url slashes: null, -4323 verbose parsed url auth: null, -4323 verbose parsed url host: null, -4323 verbose parsed url port: null, -4323 verbose parsed url hostname: null, -4323 verbose parsed url hash: null, -4323 verbose parsed url search: null, -4323 verbose parsed url query: null, -4323 verbose parsed url pathname: 'update-notifier@~0.1.3', -4323 verbose parsed url path: 'update-notifier@~0.1.3', -4323 verbose parsed url href: 'update-notifier@~0.1.3' } -4324 verbose cache add name="update-notifier" spec="~0.1.3" args=["update-notifier","~0.1.3"] -4325 verbose parsed url { protocol: null, -4325 verbose parsed url slashes: null, -4325 verbose parsed url auth: null, -4325 verbose parsed url host: null, -4325 verbose parsed url port: null, -4325 verbose parsed url hostname: null, -4325 verbose parsed url hash: null, -4325 verbose parsed url search: null, -4325 verbose parsed url query: null, -4325 verbose parsed url pathname: '~0.1.3', -4325 verbose parsed url path: '~0.1.3', -4325 verbose parsed url href: '~0.1.3' } -4326 verbose addNamed [ 'update-notifier', '~0.1.3' ] -4327 verbose addNamed [ null, '>=0.1.3-0 <0.2.0-0' ] -4328 silly lockFile a5119d99-update-notifier-0-1-3 update-notifier@~0.1.3 -4329 verbose lock update-notifier@~0.1.3 /home/spike/.npm/a5119d99-update-notifier-0-1-3.lock -4330 silly addNameRange { name: 'colors', range: '>=0.6.0-1 <0.7.0-0', hasData: false } -4331 silly addNameRange { name: 'glob', range: '>=3.1.14-0 <3.2.0-0', hasData: false } -4332 silly addNameRange { name: 'hogan.js', range: '>=2.0.0-0 <2.1.0-0', hasData: false } -4333 silly addNameRange { name: 'mkdirp', range: '>=0.3.4-0 <0.4.0-0', hasData: false } -4334 silly addNameRange { name: 'nopt', range: '>=2.0.0-0 <2.1.0-0', hasData: false } -4335 silly addNameRange { name: 'promptly', range: '>=0.1.0-0 <0.2.0-0', hasData: false } -4336 silly addNameRange { name: 'rc', range: '>=0.0.6-0 <0.1.0-0', hasData: false } -4337 silly addNameRange { name: 'read-package-json', -4337 silly addNameRange range: '>=0.1.8-0 <0.2.0-0', -4337 silly addNameRange hasData: false } -4338 silly addNameRange { name: 'request', -4338 silly addNameRange range: '>=2.11.4-0 <2.12.0-0', -4338 silly addNameRange hasData: false } -4339 silly addNameRange { name: 'semver', range: '>=1.1.0-0 <1.2.0-0', hasData: false } -4340 silly addNameRange { name: 'stable', range: '>=0.1.2-0 <0.2.0-0', hasData: false } -4341 silly addNameRange { name: 'tar', range: '>=0.1.13-0 <0.2.0-0', hasData: false } -4342 silly addNameRange { name: 'tmp', range: '>=0.0.17-0 <0.1.0-0', hasData: false } -4343 silly addNameRange { name: 'update-notifier', -4343 silly addNameRange range: '>=0.1.3-0 <0.2.0-0', -4343 silly addNameRange hasData: false } -4344 verbose url raw archy -4345 verbose url resolving [ 'https://registry.npmjs.org/', './archy' ] -4346 verbose url resolved https://registry.npmjs.org/archy -4347 info trying registry request attempt 1 at 11:44:30 -4348 verbose etag "867DQUZZNM40PUQBF21OSQVZ0" -4349 http GET https://registry.npmjs.org/archy -4350 verbose url raw fstream -4351 verbose url resolving [ 'https://registry.npmjs.org/', './fstream' ] -4352 verbose url resolved https://registry.npmjs.org/fstream -4353 info trying registry request attempt 1 at 11:44:30 -4354 verbose etag "4PAJYM04YHRR9CLAUIH2N261V" -4355 http GET https://registry.npmjs.org/fstream -4356 verbose url raw colors -4357 verbose url resolving [ 'https://registry.npmjs.org/', './colors' ] -4358 verbose url resolved https://registry.npmjs.org/colors -4359 info trying registry request attempt 1 at 11:44:30 -4360 verbose etag "6A8GBHDKZ62PGBI3M1NRGH6L7" -4361 http GET https://registry.npmjs.org/colors -4362 verbose url raw mkdirp -4363 verbose url resolving [ 'https://registry.npmjs.org/', './mkdirp' ] -4364 verbose url resolved https://registry.npmjs.org/mkdirp -4365 info trying registry request attempt 1 at 11:44:30 -4366 verbose etag "3RS91FMPQ85XXI3EBHF4SIKOZ" -4367 http GET https://registry.npmjs.org/mkdirp -4368 verbose url raw glob -4369 verbose url resolving [ 'https://registry.npmjs.org/', './glob' ] -4370 verbose url resolved https://registry.npmjs.org/glob -4371 info trying registry request attempt 1 at 11:44:30 -4372 verbose etag "B1JO7OQNPSICFIYFPFTZR9ASE" -4373 http GET https://registry.npmjs.org/glob -4374 verbose url raw nopt -4375 verbose url resolving [ 'https://registry.npmjs.org/', './nopt' ] -4376 verbose url resolved https://registry.npmjs.org/nopt -4377 info trying registry request attempt 1 at 11:44:30 -4378 verbose etag "7ZWLQPPM56VM8XQ0VW9DU43K7" -4379 http GET https://registry.npmjs.org/nopt -4380 verbose url raw promptly -4381 verbose url resolving [ 'https://registry.npmjs.org/', './promptly' ] -4382 verbose url resolved https://registry.npmjs.org/promptly -4383 info trying registry request attempt 1 at 11:44:30 -4384 verbose etag "6A4RSOE7FMK8P3KXS7DQK17XU" -4385 http GET https://registry.npmjs.org/promptly -4386 verbose url raw semver -4387 verbose url resolving [ 'https://registry.npmjs.org/', './semver' ] -4388 verbose url resolved https://registry.npmjs.org/semver -4389 info trying registry request attempt 1 at 11:44:30 -4390 verbose etag "2YZHDULC16W0A4C1OJM44P25I" -4391 http GET https://registry.npmjs.org/semver -4392 verbose url raw tar -4393 verbose url resolving [ 'https://registry.npmjs.org/', './tar' ] -4394 verbose url resolved https://registry.npmjs.org/tar -4395 info trying registry request attempt 1 at 11:44:30 -4396 verbose etag "3MM61I8LY97G51H65LC31BGAF" -4397 http GET https://registry.npmjs.org/tar -4398 verbose url raw tmp -4399 verbose url resolving [ 'https://registry.npmjs.org/', './tmp' ] -4400 verbose url resolved https://registry.npmjs.org/tmp -4401 info trying registry request attempt 1 at 11:44:30 -4402 verbose etag "9DCK0BIFCYG9MVH5I3BGY34DT" -4403 http GET https://registry.npmjs.org/tmp -4404 verbose url raw request -4405 verbose url resolving [ 'https://registry.npmjs.org/', './request' ] -4406 verbose url resolved https://registry.npmjs.org/request -4407 info trying registry request attempt 1 at 11:44:30 -4408 verbose etag "80WKAG7N9W84VX89SY65IEUDQ" -4409 http GET https://registry.npmjs.org/request -4410 verbose url raw update-notifier -4411 verbose url resolving [ 'https://registry.npmjs.org/', './update-notifier' ] -4412 verbose url resolved https://registry.npmjs.org/update-notifier -4413 info trying registry request attempt 1 at 11:44:30 -4414 verbose etag "44POGZHWTNMQH683ASPC6NSHM" -4415 http GET https://registry.npmjs.org/update-notifier -4416 verbose url raw hogan.js -4417 verbose url resolving [ 'https://registry.npmjs.org/', './hogan.js' ] -4418 verbose url resolved https://registry.npmjs.org/hogan.js -4419 info trying registry request attempt 1 at 11:44:30 -4420 verbose etag "DYCORUQ64EHETEQ641X7T84U9" -4421 http GET https://registry.npmjs.org/hogan.js -4422 verbose url raw rc -4423 verbose url resolving [ 'https://registry.npmjs.org/', './rc' ] -4424 verbose url resolved https://registry.npmjs.org/rc -4425 info trying registry request attempt 1 at 11:44:30 -4426 verbose etag "23PRV37Q2GM068NCY4M4C354C" -4427 http GET https://registry.npmjs.org/rc -4428 verbose url raw unzip/0.1.7 -4429 verbose url resolving [ 'https://registry.npmjs.org/', './unzip/0.1.7' ] -4430 verbose url resolved https://registry.npmjs.org/unzip/0.1.7 -4431 info trying registry request attempt 1 at 11:44:30 -4432 verbose etag "E6584NK23PN8TPSGIAYW6VLTW" -4433 http GET https://registry.npmjs.org/unzip/0.1.7 -4434 verbose url raw stable -4435 verbose url resolving [ 'https://registry.npmjs.org/', './stable' ] -4436 verbose url resolved https://registry.npmjs.org/stable -4437 info trying registry request attempt 1 at 11:44:30 -4438 verbose etag "EX66EI6UU6X9YGXB4JDRJV09Z" -4439 http GET https://registry.npmjs.org/stable -4440 verbose url raw read-package-json -4441 verbose url resolving [ 'https://registry.npmjs.org/', './read-package-json' ] -4442 verbose url resolved https://registry.npmjs.org/read-package-json -4443 info trying registry request attempt 1 at 11:44:30 -4444 verbose etag "72N0PHRCLBLHC6YNX7NMMHO1D" -4445 http GET https://registry.npmjs.org/read-package-json -4446 http 200 https://registry.npmjs.org/lpad -4447 silly registry.get cb [ 200, -4447 silly registry.get { vary: 'Accept', -4447 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)', -4447 silly registry.get etag: '"6CMGWZ1ZI0QSBNEIRBHTWQILV"', -4447 silly registry.get date: 'Mon, 16 Dec 2013 10:44:30 GMT', -4447 silly registry.get 'content-type': 'application/json', -4447 silly registry.get 'content-length': '4268' } ] -4448 silly addNameRange number 2 { name: 'lpad', range: '>=0.1.0-0 <0.2.0-0', hasData: true } -4449 silly addNameRange versions [ 'lpad', [ '0.1.0' ] ] -4450 verbose addNamed [ 'lpad', '0.1.0' ] -4451 verbose addNamed [ '0.1.0', '0.1.0' ] -4452 silly lockFile c3589278-lpad-0-1-0 lpad@0.1.0 -4453 verbose lock lpad@0.1.0 /home/spike/.npm/c3589278-lpad-0-1-0.lock -4454 silly lockFile c3589278-lpad-0-1-0 lpad@0.1.0 -4455 silly lockFile c3589278-lpad-0-1-0 lpad@0.1.0 -4456 silly lockFile e072c835-lpad-0-1-0 lpad@~0.1.0 -4457 silly lockFile e072c835-lpad-0-1-0 lpad@~0.1.0 -4458 http 200 https://registry.npmjs.org/ms/-/ms-0.6.2.tgz -4459 http 200 https://registry.npmjs.org/optipng-bin -4460 silly registry.get cb [ 200, -4460 silly registry.get { vary: 'Accept', -4460 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)', -4460 silly registry.get etag: '"27JJ9H7P4HY9BYEYGR7ZEKYB7"', -4460 silly registry.get date: 'Mon, 16 Dec 2013 10:44:31 GMT', -4460 silly registry.get 'content-type': 'application/json', -4460 silly registry.get 'content-length': '27197' } ] -4461 silly addNameRange number 2 { name: 'optipng-bin', -4461 silly addNameRange range: '>=0.3.0-0 <0.4.0-0', -4461 silly addNameRange hasData: true } -4462 silly addNameRange versions [ 'optipng-bin', -4462 silly addNameRange [ '0.1.0', -4462 silly addNameRange '0.2.0', -4462 silly addNameRange '0.2.1', -4462 silly addNameRange '0.2.2', -4462 silly addNameRange '0.2.3', -4462 silly addNameRange '0.2.4', -4462 silly addNameRange '0.2.5', -4462 silly addNameRange '0.2.6', -4462 silly addNameRange '0.3.0', -4462 silly addNameRange '0.3.1' ] ] -4463 verbose addNamed [ 'optipng-bin', '0.3.1' ] -4464 verbose addNamed [ '0.3.1', '0.3.1' ] -4465 silly lockFile fb0a2585-optipng-bin-0-3-1 optipng-bin@0.3.1 -4466 verbose lock optipng-bin@0.3.1 /home/spike/.npm/fb0a2585-optipng-bin-0-3-1.lock -4467 silly lockFile ef3bb5f1-ptipng-bin-optipng-bin-0-3-1-tgz https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz -4468 verbose lock https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz /home/spike/.npm/ef3bb5f1-ptipng-bin-optipng-bin-0-3-1-tgz.lock -4469 verbose addRemoteTarball [ 'https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz', -4469 verbose addRemoteTarball 'd3eee5ee9dfcc8d7ae2086fd8f9dcec084c6e79b' ] -4470 info retry fetch attempt 1 at 11:44:31 -4471 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/tmp.tgz -4472 http GET https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz -4473 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/tmp.tgz -4474 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package -4475 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package /home/spike/.npm/86e259f1-0495-0-31165669905021787-package.lock -4476 silly lockFile 6f5eec1e-0495-0-31165669905021787-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/tmp.tgz -4477 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/tmp.tgz /home/spike/.npm/6f5eec1e-0495-0-31165669905021787-tmp-tgz.lock -4478 silly gunzTarPerm modes [ '755', '644' ] -4479 silly gunzTarPerm extractEntry package.json -4480 silly gunzTarPerm extractEntry .npmignore -4481 silly gunzTarPerm extractEntry README.md -4482 silly gunzTarPerm extractEntry index.js -4483 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package -4484 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package -4485 silly lockFile 6f5eec1e-0495-0-31165669905021787-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/tmp.tgz -4486 silly lockFile 6f5eec1e-0495-0-31165669905021787-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/tmp.tgz -4487 verbose tar pack [ '/home/spike/.npm/ms/0.6.2/package.tgz', -4487 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package' ] -4488 verbose tarball /home/spike/.npm/ms/0.6.2/package.tgz -4489 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package -4490 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package -4491 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package /home/spike/.npm/86e259f1-0495-0-31165669905021787-package.lock -4492 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz -4493 verbose lock tar:///home/spike/.npm/ms/0.6.2/package.tgz /home/spike/.npm/5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz.lock -4494 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package -4495 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package -4496 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz -4497 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz -4498 silly lockFile c2351323-home-spike-npm-ms-0-6-2-package /home/spike/.npm/ms/0.6.2/package -4499 verbose lock /home/spike/.npm/ms/0.6.2/package /home/spike/.npm/c2351323-home-spike-npm-ms-0-6-2-package.lock -4500 silly lockFile c2351323-home-spike-npm-ms-0-6-2-package /home/spike/.npm/ms/0.6.2/package -4501 silly lockFile c2351323-home-spike-npm-ms-0-6-2-package /home/spike/.npm/ms/0.6.2/package -4502 verbose tar unpack /home/spike/.npm/ms/0.6.2/package.tgz -4503 silly lockFile 7bae951b--home-spike-npm-ms-0-6-2-package tar:///home/spike/.npm/ms/0.6.2/package -4504 verbose lock tar:///home/spike/.npm/ms/0.6.2/package /home/spike/.npm/7bae951b--home-spike-npm-ms-0-6-2-package.lock -4505 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz -4506 verbose lock tar:///home/spike/.npm/ms/0.6.2/package.tgz /home/spike/.npm/5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz.lock -4507 silly gunzTarPerm modes [ '755', '644' ] -4508 silly gunzTarPerm extractEntry package.json -4509 silly gunzTarPerm extractEntry .npmignore -4510 silly gunzTarPerm extractEntry README.md -4511 silly gunzTarPerm extractEntry index.js -4512 silly lockFile 7bae951b--home-spike-npm-ms-0-6-2-package tar:///home/spike/.npm/ms/0.6.2/package -4513 silly lockFile 7bae951b--home-spike-npm-ms-0-6-2-package tar:///home/spike/.npm/ms/0.6.2/package -4514 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz -4515 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz -4516 verbose chmod /home/spike/.npm/ms/0.6.2/package.tgz 644 -4517 verbose chown /home/spike/.npm/ms/0.6.2/package.tgz [ 1000, 1000 ] -4518 silly lockFile 7bcd2b3d-gistry-npmjs-org-ms-ms-0-6-2-tgz https://registry.npmjs.org/ms/-/ms-0.6.2.tgz -4519 silly lockFile 7bcd2b3d-gistry-npmjs-org-ms-ms-0-6-2-tgz https://registry.npmjs.org/ms/-/ms-0.6.2.tgz -4520 silly lockFile 549cc243-ms-0-6-2 ms@0.6.2 -4521 silly lockFile 549cc243-ms-0-6-2 ms@0.6.2 -4522 silly lockFile ca2beeee-ms-0-6-1 ms@~0.6.1 -4523 silly lockFile ca2beeee-ms-0-6-1 ms@~0.6.1 -4524 silly resolved [ { name: 'hooker', -4524 silly resolved description: 'Monkey-patch (hook) functions for debugging and stuff.', -4524 silly resolved version: '0.2.3', -4524 silly resolved homepage: 'http://github.com/cowboy/javascript-hooker', -4524 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' }, -4524 silly resolved repository: -4524 silly resolved { type: 'git', -4524 silly resolved url: 'git://github.com/cowboy/javascript-hooker.git' }, -4524 silly resolved bugs: { url: 'https://github.com/cowboy/javascript-hooker/issues' }, -4524 silly resolved licenses: [ [Object] ], -4524 silly resolved dependencies: {}, -4524 silly resolved devDependencies: { grunt: '~0.2.1' }, -4524 silly resolved keywords: [ 'patch', 'hook', 'function', 'debug', 'aop' ], -4524 silly resolved engines: { node: '*' }, -4524 silly resolved main: 'lib/hooker', -4524 silly resolved scripts: { test: 'grunt test' }, -4524 silly resolved readme: '# JavaScript Hooker\n\nMonkey-patch (hook) functions for debugging and stuff.\n\n## Getting Started\n\nThis code should work just fine in Node.js:\n\nFirst, install the module with: `npm install hooker`\n\n```javascript\nvar hooker = require(\'hooker\');\nhooker.hook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n```\n\nOr in the browser:\n\n```html\n\n\n```\n\nIn the browser, you can attach Hooker\'s methods to any object.\n\n```html\n\n\n\n```\n\n## Documentation\n\n### hooker.hook\nMonkey-patch (hook) one or more methods of an object.\n#### Signature:\n`hooker.hook(object, [ props, ] [options | prehookFunction])`\n#### `props`\nThe optional `props` argument can be a method name, array of method names or null. If null (or omitted), all enumerable methods of `object` will be hooked.\n#### `options`\n* `pre` - (Function) a pre-hook function to be executed before the original function. Arguments passed into the method will be passed into the pre-hook function as well.\n* `post` - (Function) a post-hook function to be executed after the original function. The original function\'s result is passed into the post-hook function as its first argument, followed by the method arguments.\n* `once` - (Boolean) if true, auto-unhook the function after the first execution.\n* `passName` - (Boolean) if true, pass the name of the method into the pre-hook function as its first arg (preceding all other arguments), and into the post-hook function as the second arg (after result but preceding all other arguments).\n\n#### Returns:\nAn array of hooked method names.\n\n### hooker.unhook\nUn-monkey-patch (unhook) one or more methods of an object.\n#### Signature:\n`hooker.unhook(object [, props ])`\n#### `props`\nThe optional `props` argument can be a method name, array of method names or null. If null (or omitted), all methods of `object` will be unhooked.\n#### Returns:\nAn array of unhooked method names.\n\n### hooker.orig\nGet a reference to the original method from a hooked function.\n#### Signature:\n`hooker.orig(object, props)`\n\n### hooker.override\nWhen a pre- or post-hook returns the result of this function, the value\npassed will be used in place of the original function\'s return value. Any\npost-hook override value will take precedence over a pre-hook override value.\n#### Signature:\n`hooker.override(value)`\n\n### hooker.preempt\nWhen a pre-hook returns the result of this function, the value passed will\nbe used in place of the original function\'s return value, and the original\nfunction will NOT be executed.\n#### Signature:\n`hooker.preempt(value)`\n\n### hooker.filter\nWhen a pre-hook returns the result of this function, the context and\narguments passed will be applied into the original function.\n#### Signature:\n`hooker.filter(context, arguments)`\n\n\n## Examples\nSee the unit tests for more examples.\n\n```javascript\nvar hooker = require(\'hooker\');\n// Simple logging.\nhooker.hook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n\nhooker.unhook(Math, "max"); // (This is assumed between all further examples)\nMath.max(5, 6, 7) // 7\n\n// Returning hooker.override(value) overrides the original value.\nhooker.hook(Math, "max", function() {\n if (arguments.length === 0) {\n return hooker.override(9000);\n }\n});\nMath.max(5, 6, 7) // 7\nMath.max() // 9000\n\n// Auto-unhook after one execution.\nhooker.hook(Math, "max", {\n once: true,\n pre: function() {\n console.log("Init something here");\n }\n});\nMath.max(5, 6, 7) // logs: "Init something here", returns 7\nMath.max(5, 6, 7) // 7\n\n// Filter `this` and arguments through a pre-hook function.\nhooker.hook(Math, "max", {\n pre: function() {\n var args = [].map.call(arguments, function(num) {\n return num * 2;\n });\n return hooker.filter(this, args); // thisValue, arguments\n }\n});\nMath.max(5, 6, 7) // 14\n\n// Modify the original function\'s result with a post-hook function.\nhooker.hook(Math, "max", {\n post: function(result) {\n return hooker.override(result * 100);\n }\n});\nMath.max(5, 6, 7) // 700\n\n// Hook every Math method. Note: if Math\'s methods were enumerable, the second\n// argument could be omitted. Since they aren\'t, an array of properties to hook\n// must be explicitly passed. Non-method properties will be skipped.\n// See a more generic example here: http://bit.ly/vvJlrS\nhooker.hook(Math, Object.getOwnPropertyNames(Math), {\n passName: true,\n pre: function(name) {\n console.log("=> Math." + name, [].slice.call(arguments, 1));\n },\n post: function(result, name) {\n console.log("<= Math." + name, result);\n }\n});\n\nvar result = Math.max(5, 6, 7);\n// => Math.max [ 5, 6, 7 ]\n// <= Math.max 7\nresult // 7\n\nresult = Math.ceil(3.456);\n// => Math.ceil [ 3.456 ]\n// <= Math.ceil 4\nresult // 4\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [grunt](https://github.com/cowboy/grunt).\n\n_Also, please don\'t edit files in the "dist" subdirectory as they are generated via grunt. You\'ll find source code in the "lib" subdirectory!_\n\n## Release History\n2012/01/09 - v0.2.3 - First official release.\n\n## License\nCopyright (c) 2012 "Cowboy" Ben Alman \nLicensed under the MIT license. \n\n', -4524 silly resolved readmeFilename: 'README.md', -4524 silly resolved _id: 'hooker@0.2.3', -4524 silly resolved _from: 'hooker@~0.2.3' }, -4524 silly resolved { name: 'chalk', -4524 silly resolved version: '0.3.0', -4524 silly resolved description: 'Terminal string styling done right', -4524 silly resolved keywords: -4524 silly resolved [ 'color', -4524 silly resolved 'colour', -4524 silly resolved 'colors', -4524 silly resolved 'terminal', -4524 silly resolved 'console', -4524 silly resolved 'cli', -4524 silly resolved 'string', -4524 silly resolved 'ansi', -4524 silly resolved 'styles', -4524 silly resolved 'tty', -4524 silly resolved 'formatting', -4524 silly resolved 'rgb', -4524 silly resolved '256', -4524 silly resolved 'shell', -4524 silly resolved 'xterm', -4524 silly resolved 'log', -4524 silly resolved 'logging', -4524 silly resolved 'command-line', -4524 silly resolved 'text' ], -4524 silly resolved homepage: 'https://github.com/sindresorhus/chalk', -4524 silly resolved bugs: { url: 'https://github.com/sindresorhus/chalk/issues' }, -4524 silly resolved license: 'MIT', -4524 silly resolved author: -4524 silly resolved { name: 'Sindre Sorhus', -4524 silly resolved email: 'sindresorhus@gmail.com', -4524 silly resolved url: 'http://sindresorhus.com' }, -4524 silly resolved files: [ 'chalk.js' ], -4524 silly resolved main: 'chalk', -4524 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/chalk.git' }, -4524 silly resolved scripts: { test: 'mocha' }, -4524 silly resolved dependencies: { 'has-color': '~0.1.0', 'ansi-styles': '~0.2.0' }, -4524 silly resolved devDependencies: { mocha: '~1.12.0' }, -4524 silly resolved engines: { node: '>=0.8.0' }, -4524 silly resolved readme: '# chalk [![Build Status](https://secure.travis-ci.org/sindresorhus/chalk.png?branch=master)](http://travis-ci.org/sindresorhus/chalk)\n\n> Terminal string styling done right.\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. 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\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 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\nchalk.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.\\