Skip to content

Instantly share code, notes, and snippets.

@mrjcleaver
Created August 12, 2014 23:55
Show Gist options
  • Save mrjcleaver/2b99d5a50783fea21ec7 to your computer and use it in GitHub Desktop.
Save mrjcleaver/2b99d5a50783fea21ec7 to your computer and use it in GitHub Desktop.
Yeoman/npm-debug.log
This file has been truncated, but you can view the full file.
0 info it worked if it ends with ok
1 verbose cli [ 'node',
1 verbose cli '/usr/local/bin/npm',
1 verbose cli 'install',
1 verbose cli 'karma-phantomjs-launcher',
1 verbose cli 'karma-jasmine',
1 verbose cli 'grunt-karma',
1 verbose cli '--save-dev' ]
2 info using npm@1.4.3
3 info using node@v0.10.26
4 warn package.json yeoman@0.0.0 No description
5 warn package.json yeoman@0.0.0 No repository field.
6 warn package.json yeoman@0.0.0 No README data
7 verbose readDependencies using package.json deps
8 verbose cache add [ 'karma-phantomjs-launcher', null ]
9 verbose cache add name=undefined spec="karma-phantomjs-launcher" args=["karma-phantomjs-launcher",null]
10 verbose parsed url { protocol: null,
10 verbose parsed url slashes: null,
10 verbose parsed url auth: null,
10 verbose parsed url host: null,
10 verbose parsed url port: null,
10 verbose parsed url hostname: null,
10 verbose parsed url hash: null,
10 verbose parsed url search: null,
10 verbose parsed url query: null,
10 verbose parsed url pathname: 'karma-phantomjs-launcher',
10 verbose parsed url path: 'karma-phantomjs-launcher',
10 verbose parsed url href: 'karma-phantomjs-launcher' }
11 verbose cache add [ 'karma-jasmine', null ]
12 verbose cache add name=undefined spec="karma-jasmine" args=["karma-jasmine",null]
13 verbose parsed url { protocol: null,
13 verbose parsed url slashes: null,
13 verbose parsed url auth: null,
13 verbose parsed url host: null,
13 verbose parsed url port: null,
13 verbose parsed url hostname: null,
13 verbose parsed url hash: null,
13 verbose parsed url search: null,
13 verbose parsed url query: null,
13 verbose parsed url pathname: 'karma-jasmine',
13 verbose parsed url path: 'karma-jasmine',
13 verbose parsed url href: 'karma-jasmine' }
14 verbose cache add [ 'grunt-karma', null ]
15 verbose cache add name=undefined spec="grunt-karma" args=["grunt-karma",null]
16 verbose parsed url { protocol: null,
16 verbose parsed url slashes: null,
16 verbose parsed url auth: null,
16 verbose parsed url host: null,
16 verbose parsed url port: null,
16 verbose parsed url hostname: null,
16 verbose parsed url hash: null,
16 verbose parsed url search: null,
16 verbose parsed url query: null,
16 verbose parsed url pathname: 'grunt-karma',
16 verbose parsed url path: 'grunt-karma',
16 verbose parsed url href: 'grunt-karma' }
17 silly lockFile e0cbf986-karma-phantomjs-launcher karma-phantomjs-launcher
18 verbose lock karma-phantomjs-launcher /Volumes/Storage/martincleaver/.npm/e0cbf986-karma-phantomjs-launcher.lock
19 silly lockFile df56d5e8-karma-jasmine karma-jasmine
20 verbose lock karma-jasmine /Volumes/Storage/martincleaver/.npm/df56d5e8-karma-jasmine.lock
21 silly lockFile 707ccff9-grunt-karma grunt-karma
22 verbose lock grunt-karma /Volumes/Storage/martincleaver/.npm/707ccff9-grunt-karma.lock
23 silly lockFile e0cbf986-karma-phantomjs-launcher karma-phantomjs-launcher
24 silly lockFile e0cbf986-karma-phantomjs-launcher karma-phantomjs-launcher
25 silly lockFile df56d5e8-karma-jasmine karma-jasmine
26 silly lockFile df56d5e8-karma-jasmine karma-jasmine
27 verbose addNamed [ 'karma-phantomjs-launcher', '' ]
28 verbose addNamed [ null, '*' ]
29 silly lockFile cdd40d81-karma-phantomjs-launcher karma-phantomjs-launcher@
30 verbose lock karma-phantomjs-launcher@ /Volumes/Storage/martincleaver/.npm/cdd40d81-karma-phantomjs-launcher.lock
31 silly lockFile 707ccff9-grunt-karma grunt-karma
32 silly lockFile 707ccff9-grunt-karma grunt-karma
33 verbose addNamed [ 'karma-jasmine', '' ]
34 verbose addNamed [ null, '*' ]
35 silly lockFile a9316641-karma-jasmine karma-jasmine@
36 verbose lock karma-jasmine@ /Volumes/Storage/martincleaver/.npm/a9316641-karma-jasmine.lock
37 verbose addNamed [ 'grunt-karma', '' ]
38 verbose addNamed [ null, '*' ]
39 silly lockFile 94531edb-grunt-karma grunt-karma@
40 verbose lock grunt-karma@ /Volumes/Storage/martincleaver/.npm/94531edb-grunt-karma.lock
41 silly addNameRange { name: 'karma-phantomjs-launcher', range: '*', hasData: false }
42 verbose url raw karma-phantomjs-launcher
43 verbose url resolving [ 'https://registry.npmjs.org/', './karma-phantomjs-launcher' ]
44 verbose url resolved https://registry.npmjs.org/karma-phantomjs-launcher
45 info trying registry request attempt 1 at 19:41:48
46 http GET https://registry.npmjs.org/karma-phantomjs-launcher
47 silly addNameRange { name: 'karma-jasmine', range: '*', hasData: false }
48 silly addNameRange { name: 'grunt-karma', range: '*', hasData: false }
49 verbose url raw karma-jasmine
50 verbose url resolving [ 'https://registry.npmjs.org/', './karma-jasmine' ]
51 verbose url resolved https://registry.npmjs.org/karma-jasmine
52 info trying registry request attempt 1 at 19:41:48
53 http GET https://registry.npmjs.org/karma-jasmine
54 verbose url raw grunt-karma
55 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-karma' ]
56 verbose url resolved https://registry.npmjs.org/grunt-karma
57 info trying registry request attempt 1 at 19:41:48
58 http GET https://registry.npmjs.org/grunt-karma
59 http 200 https://registry.npmjs.org/karma-phantomjs-launcher
60 silly registry.get cb [ 200,
60 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:49 GMT',
60 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
60 silly registry.get etag: '"E5NWTBDOP9CP8FSM0BBN6VT3Y"',
60 silly registry.get 'content-type': 'application/json',
60 silly registry.get 'cache-control': 'max-age=60',
60 silly registry.get 'content-length': '12757',
60 silly registry.get 'accept-ranges': 'bytes',
60 silly registry.get via: '1.1 varnish',
60 silly registry.get age: '139',
60 silly registry.get 'x-served-by': 'cache-iad2121-IAD',
60 silly registry.get 'x-cache': 'HIT',
60 silly registry.get 'x-cache-hits': '1',
60 silly registry.get 'x-timer': 'S1407886909.834543,VS0,VE0',
60 silly registry.get vary: 'Accept',
60 silly registry.get 'keep-alive': 'timeout=10, max=50',
60 silly registry.get connection: 'Keep-Alive' } ]
61 silly addNameRange number 2 { name: 'karma-phantomjs-launcher', range: '*', hasData: true }
62 silly addNameRange versions [ 'karma-phantomjs-launcher',
62 silly addNameRange [ '0.0.1',
62 silly addNameRange '0.0.2',
62 silly addNameRange '0.0.3',
62 silly addNameRange '0.1.0',
62 silly addNameRange '0.1.1',
62 silly addNameRange '0.1.2',
62 silly addNameRange '0.1.3',
62 silly addNameRange '0.1.4' ] ]
63 verbose addNamed [ 'karma-phantomjs-launcher', '0.1.4' ]
64 verbose addNamed [ '0.1.4', '0.1.4' ]
65 silly lockFile 5b4ecc13-karma-phantomjs-launcher-0-1-4 karma-phantomjs-launcher@0.1.4
66 verbose lock karma-phantomjs-launcher@0.1.4 /Volumes/Storage/martincleaver/.npm/5b4ecc13-karma-phantomjs-launcher-0-1-4.lock
67 silly lockFile 6f63103b-rma-phantomjs-launcher-0-1-4-tgz https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.4.tgz
68 verbose lock https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.4.tgz /Volumes/Storage/martincleaver/.npm/6f63103b-rma-phantomjs-launcher-0-1-4-tgz.lock
69 verbose addRemoteTarball [ 'https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.4.tgz',
69 verbose addRemoteTarball '4ef96e4322ff63ae5d918e51c25b213723238f30' ]
70 info retry fetch attempt 1 at 19:41:49
71 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/tmp.tgz
72 http GET https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.4.tgz
73 http 200 https://registry.npmjs.org/karma-jasmine
74 silly registry.get cb [ 200,
74 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:49 GMT',
74 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
74 silly registry.get etag: '"7ZNEOI35SD5IMB78WTULK8A5C"',
74 silly registry.get 'content-type': 'application/json',
74 silly registry.get 'cache-control': 'max-age=60',
74 silly registry.get 'content-length': '17003',
74 silly registry.get 'accept-ranges': 'bytes',
74 silly registry.get via: '1.1 varnish',
74 silly registry.get age: '418',
74 silly registry.get 'x-served-by': 'cache-iad2124-IAD',
74 silly registry.get 'x-cache': 'HIT',
74 silly registry.get 'x-cache-hits': '2',
74 silly registry.get 'x-timer': 'S1407886909.847166,VS0,VE0',
74 silly registry.get vary: 'Accept',
74 silly registry.get 'keep-alive': 'timeout=10, max=50',
74 silly registry.get connection: 'Keep-Alive' } ]
75 silly addNameRange number 2 { name: 'karma-jasmine', range: '*', hasData: true }
76 silly addNameRange versions [ 'karma-jasmine',
76 silly addNameRange [ '0.0.1',
76 silly addNameRange '0.0.2',
76 silly addNameRange '0.0.3',
76 silly addNameRange '0.1.0',
76 silly addNameRange '0.1.1',
76 silly addNameRange '0.1.2',
76 silly addNameRange '0.1.3',
76 silly addNameRange '0.1.4',
76 silly addNameRange '0.1.5',
76 silly addNameRange '0.2.0',
76 silly addNameRange '0.2.1',
76 silly addNameRange '0.2.2' ] ]
77 verbose addNamed [ 'karma-jasmine', '0.1.5' ]
78 verbose addNamed [ '0.1.5', '0.1.5' ]
79 silly lockFile 46898725-karma-jasmine-0-1-5 karma-jasmine@0.1.5
80 verbose lock karma-jasmine@0.1.5 /Volumes/Storage/martincleaver/.npm/46898725-karma-jasmine-0-1-5.lock
81 silly lockFile cf8824d5--jasmine-karma-jasmine-0-1-5-tgz https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz
82 verbose lock https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz /Volumes/Storage/martincleaver/.npm/cf8824d5--jasmine-karma-jasmine-0-1-5-tgz.lock
83 verbose addRemoteTarball [ 'https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz',
83 verbose addRemoteTarball '924c02ddb5d93737eb82832cffd5d75186d34a26' ]
84 info retry fetch attempt 1 at 19:41:49
85 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/tmp.tgz
86 http GET https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz
87 http 200 https://registry.npmjs.org/grunt-karma
88 silly registry.get cb [ 200,
88 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:49 GMT',
88 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
88 silly registry.get etag: '"6O0R8S99M4VLBP0AO771HRBNS"',
88 silly registry.get 'content-type': 'application/json',
88 silly registry.get 'cache-control': 'max-age=60',
88 silly registry.get 'content-length': '34302',
88 silly registry.get 'accept-ranges': 'bytes',
88 silly registry.get via: '1.1 varnish',
88 silly registry.get age: '68',
88 silly registry.get 'x-served-by': 'cache-iad2120-IAD',
88 silly registry.get 'x-cache': 'HIT',
88 silly registry.get 'x-cache-hits': '1',
88 silly registry.get 'x-timer': 'S1407886909.840218,VS0,VE19',
88 silly registry.get vary: 'Accept',
88 silly registry.get 'keep-alive': 'timeout=10, max=50',
88 silly registry.get connection: 'Keep-Alive' } ]
89 silly addNameRange number 2 { name: 'grunt-karma', range: '*', hasData: true }
90 silly addNameRange versions [ 'grunt-karma',
90 silly addNameRange [ '0.3.0',
90 silly addNameRange '0.4.0',
90 silly addNameRange '0.4.1',
90 silly addNameRange '0.4.2',
90 silly addNameRange '0.4.3',
90 silly addNameRange '0.4.4',
90 silly addNameRange '0.5.0',
90 silly addNameRange '0.4.5',
90 silly addNameRange '0.5.1',
90 silly addNameRange '0.5.2',
90 silly addNameRange '0.4.6',
90 silly addNameRange '0.5.3',
90 silly addNameRange '0.5.4',
90 silly addNameRange '0.6.0',
90 silly addNameRange '0.6.1',
90 silly addNameRange '0.7.0',
90 silly addNameRange '0.6.2',
90 silly addNameRange '0.7.1',
90 silly addNameRange '0.7.2',
90 silly addNameRange '0.7.3',
90 silly addNameRange '0.8.0',
90 silly addNameRange '0.8.1',
90 silly addNameRange '0.8.2',
90 silly addNameRange '0.8.3' ] ]
91 verbose addNamed [ 'grunt-karma', '0.8.3' ]
92 verbose addNamed [ '0.8.3', '0.8.3' ]
93 silly lockFile e0300b7e-grunt-karma-0-8-3 grunt-karma@0.8.3
94 verbose lock grunt-karma@0.8.3 /Volumes/Storage/martincleaver/.npm/e0300b7e-grunt-karma-0-8-3.lock
95 silly lockFile 3ebd4da4-runt-karma-grunt-karma-0-8-3-tgz https://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz
96 verbose lock https://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz /Volumes/Storage/martincleaver/.npm/3ebd4da4-runt-karma-grunt-karma-0-8-3-tgz.lock
97 verbose addRemoteTarball [ 'https://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz',
97 verbose addRemoteTarball 'e9ecf718153af1914aa53602a37f85de04310e7f' ]
98 info retry fetch attempt 1 at 19:41:49
99 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/tmp.tgz
100 http GET https://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz
101 http 200 https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.4.tgz
102 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/tmp.tgz
103 silly lockFile 0aa2b9e9-09372-0-4429100805427879-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/package
104 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/package /Volumes/Storage/martincleaver/.npm/0aa2b9e9-09372-0-4429100805427879-package.lock
105 silly lockFile a54a8e8d-09372-0-4429100805427879-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/tmp.tgz
106 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/tmp.tgz /Volumes/Storage/martincleaver/.npm/a54a8e8d-09372-0-4429100805427879-tmp-tgz.lock
107 silly gunzTarPerm modes [ '755', '644' ]
108 silly gunzTarPerm extractEntry package.json
109 silly gunzTarPerm extractEntry LICENSE
110 silly gunzTarPerm extractEntry index.js
111 http 200 https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz
112 silly lockFile 0aa2b9e9-09372-0-4429100805427879-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/package
113 silly lockFile 0aa2b9e9-09372-0-4429100805427879-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/package
114 silly lockFile a54a8e8d-09372-0-4429100805427879-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/tmp.tgz
115 silly lockFile a54a8e8d-09372-0-4429100805427879-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/tmp.tgz
116 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz',
116 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/package' ]
117 verbose tarball /Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
118 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/package
119 silly lockFile 0aa2b9e9-09372-0-4429100805427879-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/package
120 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/package /Volumes/Storage/martincleaver/.npm/0aa2b9e9-09372-0-4429100805427879-package.lock
121 silly lockFile 57c3be0f-tomjs-launcher-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
122 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz /Volumes/Storage/martincleaver/.npm/57c3be0f-tomjs-launcher-0-1-4-package-tgz.lock
123 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/tmp.tgz
124 silly lockFile 438ab1f0-09401-0-5663729226216674-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/package
125 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/package /Volumes/Storage/martincleaver/.npm/438ab1f0-09401-0-5663729226216674-package.lock
126 silly lockFile 81d5623b-09401-0-5663729226216674-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/tmp.tgz
127 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/tmp.tgz /Volumes/Storage/martincleaver/.npm/81d5623b-09401-0-5663729226216674-tmp-tgz.lock
128 silly gunzTarPerm modes [ '755', '644' ]
129 silly gunzTarPerm extractEntry package.json
130 silly gunzTarPerm extractEntry README.md
131 silly gunzTarPerm extractEntry LICENSE
132 http 200 https://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz
133 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/tmp.tgz
134 silly lockFile d60431ec-9448-0-37991896201856434-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/package
135 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/package /Volumes/Storage/martincleaver/.npm/d60431ec-9448-0-37991896201856434-package.lock
136 silly lockFile 79198fee-9448-0-37991896201856434-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/tmp.tgz
137 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/tmp.tgz /Volumes/Storage/martincleaver/.npm/79198fee-9448-0-37991896201856434-tmp-tgz.lock
138 silly lockFile 0aa2b9e9-09372-0-4429100805427879-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/package
139 silly lockFile 0aa2b9e9-09372-0-4429100805427879-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909372-0.4429100805427879/package
140 silly gunzTarPerm extractEntry lib/adapter.js
141 silly gunzTarPerm extractEntry lib/index.js
142 silly gunzTarPerm extractEntry lib/jasmine.js
143 silly lockFile 438ab1f0-09401-0-5663729226216674-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/package
144 silly lockFile 438ab1f0-09401-0-5663729226216674-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/package
145 silly lockFile 81d5623b-09401-0-5663729226216674-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/tmp.tgz
146 silly lockFile 81d5623b-09401-0-5663729226216674-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/tmp.tgz
147 silly lockFile 57c3be0f-tomjs-launcher-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
148 silly lockFile 57c3be0f-tomjs-launcher-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
149 silly gunzTarPerm modes [ '755', '644' ]
150 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz',
150 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/package' ]
151 verbose tarball /Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
152 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/package
153 silly lockFile 438ab1f0-09401-0-5663729226216674-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/package
154 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/package /Volumes/Storage/martincleaver/.npm/438ab1f0-09401-0-5663729226216674-package.lock
155 silly lockFile 0394fc37--karma-jasmine-0-1-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
156 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz /Volumes/Storage/martincleaver/.npm/0394fc37--karma-jasmine-0-1-5-package-tgz.lock
157 silly lockFile 1220fb53-phantomjs-launcher-0-1-4-package /Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package
158 verbose lock /Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package /Volumes/Storage/martincleaver/.npm/1220fb53-phantomjs-launcher-0-1-4-package.lock
159 silly gunzTarPerm extractEntry package.json
160 silly lockFile 1220fb53-phantomjs-launcher-0-1-4-package /Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package
161 silly lockFile 1220fb53-phantomjs-launcher-0-1-4-package /Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package
162 verbose tar unpack /Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
163 silly lockFile df51264f-phantomjs-launcher-0-1-4-package tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package
164 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package /Volumes/Storage/martincleaver/.npm/df51264f-phantomjs-launcher-0-1-4-package.lock
165 silly lockFile 57c3be0f-tomjs-launcher-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
166 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz /Volumes/Storage/martincleaver/.npm/57c3be0f-tomjs-launcher-0-1-4-package-tgz.lock
167 silly gunzTarPerm extractEntry .npmignore
168 silly gunzTarPerm extractEntry README.md
169 silly gunzTarPerm modes [ '755', '644' ]
170 silly gunzTarPerm extractEntry package.json
171 silly gunzTarPerm extractEntry LICENSE
172 silly gunzTarPerm extractEntry Gruntfile.js
173 silly gunzTarPerm extractEntry LICENSE
174 silly gunzTarPerm extractEntry index.js
175 silly gunzTarPerm extractEntry .travis.yml
176 silly gunzTarPerm extractEntry TODO.md
177 silly gunzTarPerm extractEntry lib/background.js
178 silly gunzTarPerm extractEntry CHANGELOG.md
179 silly gunzTarPerm extractEntry tasks/grunt-karma.js
180 silly lockFile df51264f-phantomjs-launcher-0-1-4-package tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package
181 silly lockFile df51264f-phantomjs-launcher-0-1-4-package tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package
182 silly lockFile 57c3be0f-tomjs-launcher-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
183 silly lockFile 57c3be0f-tomjs-launcher-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
184 verbose chmod /Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz 644
185 verbose chown /Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz [ 501, 20 ]
186 silly lockFile 6f63103b-rma-phantomjs-launcher-0-1-4-tgz https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.4.tgz
187 silly lockFile 6f63103b-rma-phantomjs-launcher-0-1-4-tgz https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.4.tgz
188 silly gunzTarPerm extractEntry test/grunt-karma-test.js
189 silly lockFile 5b4ecc13-karma-phantomjs-launcher-0-1-4 karma-phantomjs-launcher@0.1.4
190 silly lockFile 5b4ecc13-karma-phantomjs-launcher-0-1-4 karma-phantomjs-launcher@0.1.4
191 silly lockFile cdd40d81-karma-phantomjs-launcher karma-phantomjs-launcher@
192 silly lockFile cdd40d81-karma-phantomjs-launcher karma-phantomjs-launcher@
193 silly lockFile d60431ec-9448-0-37991896201856434-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/package
194 silly lockFile d60431ec-9448-0-37991896201856434-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/package
195 silly lockFile 79198fee-9448-0-37991896201856434-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/tmp.tgz
196 silly lockFile 79198fee-9448-0-37991896201856434-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/tmp.tgz
197 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz',
197 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/package' ]
198 verbose tarball /Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
199 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/package
200 silly lockFile d60431ec-9448-0-37991896201856434-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/package
201 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/package /Volumes/Storage/martincleaver/.npm/d60431ec-9448-0-37991896201856434-package.lock
202 silly lockFile dc4d23e6-pm-grunt-karma-0-8-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
203 verbose lock tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz /Volumes/Storage/martincleaver/.npm/dc4d23e6-pm-grunt-karma-0-8-3-package-tgz.lock
204 silly lockFile 438ab1f0-09401-0-5663729226216674-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/package
205 silly lockFile 438ab1f0-09401-0-5663729226216674-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909401-0.5663729226216674/package
206 silly lockFile 0394fc37--karma-jasmine-0-1-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
207 silly lockFile 0394fc37--karma-jasmine-0-1-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
208 silly lockFile 469f557e--npm-karma-jasmine-0-1-5-package /Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package
209 verbose lock /Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package /Volumes/Storage/martincleaver/.npm/469f557e--npm-karma-jasmine-0-1-5-package.lock
210 silly lockFile 469f557e--npm-karma-jasmine-0-1-5-package /Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package
211 silly lockFile 469f557e--npm-karma-jasmine-0-1-5-package /Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package
212 verbose tar unpack /Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
213 silly lockFile 39532600--npm-karma-jasmine-0-1-5-package tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package
214 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package /Volumes/Storage/martincleaver/.npm/39532600--npm-karma-jasmine-0-1-5-package.lock
215 silly lockFile 0394fc37--karma-jasmine-0-1-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
216 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz /Volumes/Storage/martincleaver/.npm/0394fc37--karma-jasmine-0-1-5-package-tgz.lock
217 silly gunzTarPerm modes [ '755', '644' ]
218 silly gunzTarPerm extractEntry package.json
219 silly gunzTarPerm extractEntry README.md
220 silly gunzTarPerm extractEntry LICENSE
221 silly lockFile d60431ec-9448-0-37991896201856434-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/package
222 silly lockFile d60431ec-9448-0-37991896201856434-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886909448-0.37991896201856434/package
223 silly lockFile dc4d23e6-pm-grunt-karma-0-8-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
224 silly lockFile dc4d23e6-pm-grunt-karma-0-8-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
225 silly gunzTarPerm extractEntry lib/adapter.js
226 silly gunzTarPerm extractEntry lib/index.js
227 silly lockFile d955eb08-er-npm-grunt-karma-0-8-3-package /Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package
228 verbose lock /Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package /Volumes/Storage/martincleaver/.npm/d955eb08-er-npm-grunt-karma-0-8-3-package.lock
229 silly gunzTarPerm extractEntry lib/jasmine.js
230 silly lockFile d955eb08-er-npm-grunt-karma-0-8-3-package /Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package
231 silly lockFile d955eb08-er-npm-grunt-karma-0-8-3-package /Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package
232 verbose tar unpack /Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
233 silly lockFile 964eedf0-er-npm-grunt-karma-0-8-3-package tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package
234 verbose lock tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package /Volumes/Storage/martincleaver/.npm/964eedf0-er-npm-grunt-karma-0-8-3-package.lock
235 silly lockFile dc4d23e6-pm-grunt-karma-0-8-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
236 verbose lock tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz /Volumes/Storage/martincleaver/.npm/dc4d23e6-pm-grunt-karma-0-8-3-package-tgz.lock
237 silly gunzTarPerm modes [ '755', '644' ]
238 silly gunzTarPerm extractEntry package.json
239 silly gunzTarPerm extractEntry .npmignore
240 silly gunzTarPerm extractEntry README.md
241 silly gunzTarPerm extractEntry LICENSE
242 silly gunzTarPerm extractEntry Gruntfile.js
243 silly gunzTarPerm extractEntry .travis.yml
244 silly gunzTarPerm extractEntry TODO.md
245 silly gunzTarPerm extractEntry lib/background.js
246 silly gunzTarPerm extractEntry CHANGELOG.md
247 silly gunzTarPerm extractEntry tasks/grunt-karma.js
248 silly gunzTarPerm extractEntry test/grunt-karma-test.js
249 silly lockFile 39532600--npm-karma-jasmine-0-1-5-package tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package
250 silly lockFile 39532600--npm-karma-jasmine-0-1-5-package tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package
251 silly lockFile 964eedf0-er-npm-grunt-karma-0-8-3-package tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package
252 silly lockFile 964eedf0-er-npm-grunt-karma-0-8-3-package tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package
253 silly lockFile 0394fc37--karma-jasmine-0-1-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
254 silly lockFile 0394fc37--karma-jasmine-0-1-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
255 silly lockFile dc4d23e6-pm-grunt-karma-0-8-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
256 silly lockFile dc4d23e6-pm-grunt-karma-0-8-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
257 verbose chmod /Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz 644
258 verbose chown /Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz [ 501, 20 ]
259 verbose chmod /Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz 644
260 verbose chown /Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz [ 501, 20 ]
261 silly lockFile cf8824d5--jasmine-karma-jasmine-0-1-5-tgz https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz
262 silly lockFile cf8824d5--jasmine-karma-jasmine-0-1-5-tgz https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz
263 silly lockFile 3ebd4da4-runt-karma-grunt-karma-0-8-3-tgz https://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz
264 silly lockFile 3ebd4da4-runt-karma-grunt-karma-0-8-3-tgz https://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz
265 silly lockFile 46898725-karma-jasmine-0-1-5 karma-jasmine@0.1.5
266 silly lockFile 46898725-karma-jasmine-0-1-5 karma-jasmine@0.1.5
267 silly lockFile e0300b7e-grunt-karma-0-8-3 grunt-karma@0.8.3
268 silly lockFile e0300b7e-grunt-karma-0-8-3 grunt-karma@0.8.3
269 silly lockFile a9316641-karma-jasmine karma-jasmine@
270 silly lockFile a9316641-karma-jasmine karma-jasmine@
271 silly lockFile 94531edb-grunt-karma grunt-karma@
272 silly lockFile 94531edb-grunt-karma grunt-karma@
273 silly resolved [ { name: 'karma-phantomjs-launcher',
273 silly resolved version: '0.1.4',
273 silly resolved description: 'A Karma plugin. Launcher for PhantomJS.',
273 silly resolved main: 'index.js',
273 silly resolved scripts: { test: 'echo "Error: no test specified" && exit 1' },
273 silly resolved repository:
273 silly resolved { type: 'git',
273 silly resolved url: 'git://github.com/karma-runner/karma-phantomjs-launcher.git' },
273 silly resolved keywords: [ 'karma-plugin', 'karma-launcher', 'phantomjs' ],
273 silly resolved author: { name: 'Vojta Jina', email: 'vojta.jina@gmail.com' },
273 silly resolved dependencies: { phantomjs: '~1.9' },
273 silly resolved peerDependencies: { karma: '>=0.9' },
273 silly resolved license: 'MIT',
273 silly resolved devDependencies:
273 silly resolved { grunt: '~0.4.1',
273 silly resolved 'grunt-npm': '~0.0.2',
273 silly resolved 'grunt-bump': '~0.0.7',
273 silly resolved 'grunt-auto-release': '~0.0.2' },
273 silly resolved contributors:
273 silly resolved [ [Object],
273 silly resolved [Object],
273 silly resolved [Object],
273 silly resolved [Object],
273 silly resolved [Object],
273 silly resolved [Object],
273 silly resolved [Object],
273 silly resolved [Object],
273 silly resolved [Object],
273 silly resolved [Object] ],
273 silly resolved bugs: { url: 'https://github.com/karma-runner/karma-phantomjs-launcher/issues' },
273 silly resolved readme: 'ERROR: No README data found!',
273 silly resolved homepage: 'https://github.com/karma-runner/karma-phantomjs-launcher',
273 silly resolved _id: 'karma-phantomjs-launcher@0.1.4',
273 silly resolved dist: { shasum: 'f768aa6d31607125f676e112044506bc8a32d67d' },
273 silly resolved _from: 'karma-phantomjs-launcher@',
273 silly resolved _resolved: 'https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.4.tgz' },
273 silly resolved { name: 'karma-jasmine',
273 silly resolved version: '0.1.5',
273 silly resolved description: 'A Karma plugin - adapter for Jasmine testing framework.',
273 silly resolved main: 'lib/index.js',
273 silly resolved scripts: { test: 'grunt test' },
273 silly resolved repository:
273 silly resolved { type: 'git',
273 silly resolved url: 'git://github.com/karma-runner/karma-jasmine.git' },
273 silly resolved keywords: [ 'karma-plugin', 'karma-adapter', 'jasmine' ],
273 silly resolved author: { name: 'Vojta Jina', email: 'vojta.jina@gmail.com' },
273 silly resolved dependencies: {},
273 silly resolved devDependencies:
273 silly resolved { grunt: '~0.4.1',
273 silly resolved 'grunt-contrib-jshint': '~0.6',
273 silly resolved karma: '~0.9',
273 silly resolved 'karma-jasmine': '*',
273 silly resolved 'grunt-karma': '~0.4',
273 silly resolved 'grunt-auto-release': '~0.0.2',
273 silly resolved 'grunt-npm': '~0.0.2',
273 silly resolved 'grunt-bump': '~0.0.7' },
273 silly resolved peerDependencies: { karma: '>=0.9' },
273 silly resolved license: 'MIT',
273 silly resolved contributors: [ [Object], [Object] ],
273 silly resolved readme: '# karma-jasmine [![Build Status](https://travis-ci.org/karma-runner/karma-jasmine.png?branch=master)](https://travis-ci.org/karma-runner/karma-jasmine)\n\n> Adapter for the [Jasmine](http://pivotal.github.io/jasmine/) testing framework.\n\n## Installation\n\n**This plugin ships with Karma by default, so you don\'t need to install it, it should just work ;-)**\n\nThe easiest way is to keep `karma-jasmine` as a devDependency in your `package.json`.\n```json\n{\n "devDependencies": {\n "karma": "~0.10",\n "karma-jasmine": "~0.1"\n }\n}\n```\n\nYou can simple do it by:\n```bash\nnpm install karma-jasmine --save-dev\n```\n\n## Configuration\n```js\n// karma.conf.js\nmodule.exports = function(config) {\n config.set({\n frameworks: [\'jasmine\'],\n\n files: [\n \'*.js\'\n ]\n });\n};\n```\n\n----\n\nFor more information on Karma see the [homepage].\n\n\n[homepage]: http://karma-runner.github.com\n',
273 silly resolved readmeFilename: 'README.md',
273 silly resolved bugs: { url: 'https://github.com/karma-runner/karma-jasmine/issues' },
273 silly resolved homepage: 'https://github.com/karma-runner/karma-jasmine',
273 silly resolved _id: 'karma-jasmine@0.1.5',
273 silly resolved dist: { shasum: 'c8c6686ee5ff2af1d78d6cc273b7e7bf760d0322' },
273 silly resolved _from: 'karma-jasmine@',
273 silly resolved _resolved: 'https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz' },
273 silly resolved { name: 'grunt-karma',
273 silly resolved version: '0.8.3',
273 silly resolved description: 'grunt plugin for karma test runner',
273 silly resolved main: 'tasks/grunt-karma.js',
273 silly resolved repository:
273 silly resolved { type: 'git',
273 silly resolved url: 'https://github.com/karma-runner/grunt-karma.git' },
273 silly resolved keywords: [ 'gruntplugin', 'karma', 'grunt', 'test', 'unit', 'runner', 'TDD' ],
273 silly resolved scripts: { test: 'grunt test' },
273 silly resolved author: { name: 'Dave Geddes' },
273 silly resolved license: 'MIT',
273 silly resolved readmeFilename: 'README.md',
273 silly resolved dependencies: { lodash: '~2.4.1' },
273 silly resolved devDependencies:
273 silly resolved { grunt: '~0.4.3',
273 silly resolved 'expect.js': '~0.2.0',
273 silly resolved 'grunt-release': '~0.5.1',
273 silly resolved 'grunt-contrib-watch': '~0.2.0',
273 silly resolved 'grunt-conventional-changelog': '~0.0.12',
273 silly resolved 'karma-mocha': '~0.1.3',
273 silly resolved karma: '~0.12.0',
273 silly resolved 'karma-firefox-launcher': '~0.1.3',
273 silly resolved 'karma-chrome-launcher': '~0.1.2' },
273 silly resolved peerDependencies: { grunt: '0.4.x', karma: '~0.12.0' },
273 silly resolved readme: '# grunt-karma [![Build Status](https://travis-ci.org/karma-runner/grunt-karma.png?branch=master)](https://travis-ci.org/karma-runner/grunt-karma)\n\n> Grunt plugin for [Karma](https://github.com/karma-runner/karma)\n\nThis current version `0.8.0` uses `karma@0.12.x`. For using older versions see the\nold releases of grunt-karma.\n\n## Getting Started\nFrom the same directory as your project\'s Gruntfile and package.json, install\nthis plugin with the following command:\n\n```bash\n$ npm install grunt-karma --save-dev\n```\n\nOnce that\'s done, add this line to your project\'s Gruntfile:\n\n```js\ngrunt.loadNpmTasks(\'grunt-karma\');\n```\n\n## Config\nInside your `Gruntfile.js` file, add a section named `karma`, containing\nany number of configurations for running karma. You can either put your\nconfig in a [karma config file] or leave it all in your Gruntfile (recommended).\n\n### Here\'s an example that points to the config file:\n\n```js\nkarma: {\n unit: {\n configFile: \'karma.conf.js\'\n }\n}\n```\n\n### Here\'s an example that puts the config in the Gruntfile:\n\n```js\nkarma: {\n unit: {\n options: {\n files: [\'test/**/*.js\']\n }\n }\n}\n```\n\nYou can override any of the config file\'s settings by putting them\ndirectly in the Gruntfile:\n\n```js\nkarma: {\n unit: {\n configFile: \'karma.conf.js\',\n runnerPort: 9999,\n singleRun: true,\n browsers: [\'PhantomJS\'],\n logLevel: \'ERROR\'\n }\n}\n```\n\nTo change the `logLevel` in the grunt config file instead of the karma config, use one of the following strings:\n`OFF`, `ERROR`, `WARN`, `INFO`, `DEBUG`\n\n### Config with Grunt Template Strings in `files`\n\nWhen using template strings in the `files` option, the results will flattened. Therefore, if you include a variable that includes an array, the array will be flattened before being passed to Karma.\n\nExample:\n\n```js\nmeta: {\n jsFiles: [\'jquery.js\',\'angular.js\']\n},\nkarma: {\n options: {\n files: [\'<%= meta.jsFiles %>\',\'angular-mocks.js\',\'**/*-spec.js\']\n }\n}\n```\n\n## Sharing Configs\nIf you have multiple targets, it may be helpful to share common\nconfiguration settings between them. Grunt-karma supports this by\nusing the `options` property:\n\n```js\nkarma: {\n options: {\n configFile: \'karma.conf.js\',\n runnerPort: 9999,\n browsers: [\'Chrome\', \'Firefox\']\n },\n continuous: {\n singleRun: true,\n browsers: [\'PhantomJS\']\n },\n dev: {\n reporters: \'dots\'\n }\n}\n```\n\nIn this example the `continuous` and `dev` targets will both use\nthe `configFile` and `runnerPort` specified in the `options`. But\nthe `continuous` target will override the browser setting to use\nPhantomJS, and also run as a singleRun. The `dev` target will simply\nchange the reporter to dots.\n\n## Running tests\nThere are three ways to run your tests with karma:\n\n### Karma Server with Auto Runs on File Change\nSetting the `autoWatch` option to true will instruct karma to start\na server and watch for changes to files, running tests automatically:\n\n```js\nkarma: {\n unit: {\n configFile: \'karma.conf.js\',\n autoWatch: true\n }\n}\n```\nNow run `$ grunt karma`\n\n### Karma Server with Grunt Watch\nMany Grunt projects watch several types of files using [grunt-contrib-watch].\nConfig karma like usual (without the autoWatch option), and add\n`background:true`:\n\n```js\nkarma: {\n unit: {\n configFile: \'karma.conf.js\',\n background: true\n }\n}\n```\nThe `background` option will tell grunt to run karma in a child process\nso it doesn\'t block subsequent grunt tasks.\n\nConfig your `watch` task to run the karma task with the `:run` flag. For example:\n\n```js\nwatch: {\n //run unit tests with karma (server needs to be already running)\n karma: {\n files: [\'app/js/**/*.js\', \'test/browser/**/*.js\'],\n tasks: [\'karma:unit:run\'] //NOTE the :run flag\n }\n},\n```\n\nIn your terminal window run `$ grunt karma:unit:start watch`, which starts the\nkarma server and the watch task. Now when grunt watch detects a change to\none of your watched files, it will run the tests specified in the `unit`\ntarget using the already running karma server. This is the preferred method\nfor development.\n\n### Single Run\nKeeping a browser window & karma server running during development is\nproductive, but not a good solution for build processes. For that reason karma\nprovides a "continuous integration" mode, which will launch the specified\nbrowser(s), run the tests, and close the browser(s). It also supports running\ntests in [PhantomJS], a headless webkit browser which is great for running tests as part of a build. To run tests in continous integration mode just add the `singleRun` option:\n\n```js\nkarma: {\n unit: {\n configFile: \'config/karma.conf.js\',\n },\n //continuous integration mode: run tests once in PhantomJS browser.\n continuous: {\n configFile: \'config/karma.conf.js\',\n singleRun: true,\n browsers: [\'PhantomJS\']\n },\n}\n```\n\nThe build would then run `grunt karma:continuous` to start PhantomJS,\nrun tests, and close PhantomJS.\n\n## Using additional client.args\nYou can pass arbitrary `client.args` through the commandline like this:\n\n```bash\n$ grunt karma:dev watch --grep=mypattern\n```\n\n\n## License\nMIT License\n\n[karma-config-file]: http://karma-runner.github.com/0.8/config/configuration-file.html\n[grunt-contrib-watch]: https://github.com/gruntjs/grunt-contrib-watch\n[PhantomJS]: http://phantomjs.org/\n[karma-mocha]: https://github.com/karma-runner/karma-mocha\n',
273 silly resolved bugs: { url: 'https://github.com/karma-runner/grunt-karma/issues' },
273 silly resolved homepage: 'https://github.com/karma-runner/grunt-karma',
273 silly resolved _id: 'grunt-karma@0.8.3',
273 silly resolved dist: { shasum: 'e9ecf718153af1914aa53602a37f85de04310e7f' },
273 silly resolved _from: 'grunt-karma@',
273 silly resolved _resolved: 'https://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz' } ]
274 info install karma-phantomjs-launcher@0.1.4 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman
275 info install karma-jasmine@0.1.5 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman
276 info install grunt-karma@0.8.3 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman
277 info installOne karma-phantomjs-launcher@0.1.4
278 info installOne karma-jasmine@0.1.5
279 info installOne grunt-karma@0.8.3
280 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher unbuild
281 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-jasmine unbuild
282 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma unbuild
283 verbose tar unpack /Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
284 silly lockFile b41de8bf-modules-karma-phantomjs-launcher tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher
285 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher /Volumes/Storage/martincleaver/.npm/b41de8bf-modules-karma-phantomjs-launcher.lock
286 silly lockFile 57c3be0f-tomjs-launcher-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
287 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz /Volumes/Storage/martincleaver/.npm/57c3be0f-tomjs-launcher-0-1-4-package-tgz.lock
288 verbose tar unpack /Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
289 silly lockFile f0fd8d61-eoman-node-modules-karma-jasmine tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-jasmine
290 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-jasmine /Volumes/Storage/martincleaver/.npm/f0fd8d61-eoman-node-modules-karma-jasmine.lock
291 silly lockFile 0394fc37--karma-jasmine-0-1-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
292 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz /Volumes/Storage/martincleaver/.npm/0394fc37--karma-jasmine-0-1-5-package-tgz.lock
293 verbose tar unpack /Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
294 silly lockFile 048ca8d9--Yeoman-node-modules-grunt-karma tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma
295 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma /Volumes/Storage/martincleaver/.npm/048ca8d9--Yeoman-node-modules-grunt-karma.lock
296 silly lockFile dc4d23e6-pm-grunt-karma-0-8-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
297 verbose lock tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz /Volumes/Storage/martincleaver/.npm/dc4d23e6-pm-grunt-karma-0-8-3-package-tgz.lock
298 silly gunzTarPerm modes [ '755', '644' ]
299 silly gunzTarPerm modes [ '755', '644' ]
300 silly gunzTarPerm modes [ '755', '644' ]
301 silly gunzTarPerm extractEntry package.json
302 silly gunzTarPerm extractEntry package.json
303 silly gunzTarPerm extractEntry package.json
304 silly gunzTarPerm extractEntry LICENSE
305 silly gunzTarPerm extractEntry index.js
306 silly gunzTarPerm extractEntry README.md
307 silly gunzTarPerm extractEntry LICENSE
308 silly gunzTarPerm extractEntry .npmignore
309 silly gunzTarPerm extractEntry README.md
310 silly gunzTarPerm extractEntry lib/adapter.js
311 silly gunzTarPerm extractEntry lib/index.js
312 silly gunzTarPerm extractEntry LICENSE
313 silly gunzTarPerm extractEntry Gruntfile.js
314 silly gunzTarPerm extractEntry lib/jasmine.js
315 silly gunzTarPerm extractEntry .travis.yml
316 silly gunzTarPerm extractEntry TODO.md
317 silly lockFile b41de8bf-modules-karma-phantomjs-launcher tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher
318 silly lockFile b41de8bf-modules-karma-phantomjs-launcher tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher
319 silly lockFile 57c3be0f-tomjs-launcher-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
320 silly lockFile 57c3be0f-tomjs-launcher-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-phantomjs-launcher/0.1.4/package.tgz
321 silly gunzTarPerm extractEntry lib/background.js
322 silly gunzTarPerm extractEntry CHANGELOG.md
323 info preinstall karma-phantomjs-launcher@0.1.4
324 verbose readDependencies using package.json deps
325 verbose readDependencies using package.json deps
326 silly gunzTarPerm extractEntry tasks/grunt-karma.js
327 verbose cache add [ 'phantomjs@~1.9', null ]
328 verbose cache add name=undefined spec="phantomjs@~1.9" args=["phantomjs@~1.9",null]
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: 'phantomjs@~1.9',
329 verbose parsed url path: 'phantomjs@~1.9',
329 verbose parsed url href: 'phantomjs@~1.9' }
330 verbose cache add name="phantomjs" spec="~1.9" args=["phantomjs","~1.9"]
331 verbose parsed url { protocol: null,
331 verbose parsed url slashes: null,
331 verbose parsed url auth: null,
331 verbose parsed url host: null,
331 verbose parsed url port: null,
331 verbose parsed url hostname: null,
331 verbose parsed url hash: null,
331 verbose parsed url search: null,
331 verbose parsed url query: null,
331 verbose parsed url pathname: '~1.9',
331 verbose parsed url path: '~1.9',
331 verbose parsed url href: '~1.9' }
332 verbose addNamed [ 'phantomjs', '~1.9' ]
333 verbose addNamed [ null, '>=1.9.0-0 <1.10.0-0' ]
334 silly lockFile 472de541-phantomjs-1-9 phantomjs@~1.9
335 verbose lock phantomjs@~1.9 /Volumes/Storage/martincleaver/.npm/472de541-phantomjs-1-9.lock
336 silly addNameRange { name: 'phantomjs',
336 silly addNameRange range: '>=1.9.0-0 <1.10.0-0',
336 silly addNameRange hasData: false }
337 verbose url raw phantomjs
338 verbose url resolving [ 'https://registry.npmjs.org/', './phantomjs' ]
339 verbose url resolved https://registry.npmjs.org/phantomjs
340 info trying registry request attempt 1 at 19:41:49
341 http GET https://registry.npmjs.org/phantomjs
342 silly gunzTarPerm extractEntry test/grunt-karma-test.js
343 silly lockFile 048ca8d9--Yeoman-node-modules-grunt-karma tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma
344 silly lockFile 048ca8d9--Yeoman-node-modules-grunt-karma tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma
345 silly lockFile dc4d23e6-pm-grunt-karma-0-8-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
346 silly lockFile dc4d23e6-pm-grunt-karma-0-8-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt-karma/0.8.3/package.tgz
347 info preinstall grunt-karma@0.8.3
348 verbose readDependencies using package.json deps
349 verbose readDependencies using package.json deps
350 verbose cache add [ 'lodash@~2.4.1', null ]
351 verbose cache add name=undefined spec="lodash@~2.4.1" args=["lodash@~2.4.1",null]
352 verbose parsed url { protocol: null,
352 verbose parsed url slashes: null,
352 verbose parsed url auth: null,
352 verbose parsed url host: null,
352 verbose parsed url port: null,
352 verbose parsed url hostname: null,
352 verbose parsed url hash: null,
352 verbose parsed url search: null,
352 verbose parsed url query: null,
352 verbose parsed url pathname: 'lodash@~2.4.1',
352 verbose parsed url path: 'lodash@~2.4.1',
352 verbose parsed url href: 'lodash@~2.4.1' }
353 verbose cache add name="lodash" spec="~2.4.1" args=["lodash","~2.4.1"]
354 verbose parsed url { protocol: null,
354 verbose parsed url slashes: null,
354 verbose parsed url auth: null,
354 verbose parsed url host: null,
354 verbose parsed url port: null,
354 verbose parsed url hostname: null,
354 verbose parsed url hash: null,
354 verbose parsed url search: null,
354 verbose parsed url query: null,
354 verbose parsed url pathname: '~2.4.1',
354 verbose parsed url path: '~2.4.1',
354 verbose parsed url href: '~2.4.1' }
355 verbose addNamed [ 'lodash', '~2.4.1' ]
356 verbose addNamed [ null, '>=2.4.1-0 <2.5.0-0' ]
357 silly lockFile 257f9ab3-lodash-2-4-1 lodash@~2.4.1
358 verbose lock lodash@~2.4.1 /Volumes/Storage/martincleaver/.npm/257f9ab3-lodash-2-4-1.lock
359 silly addNameRange { name: 'lodash', range: '>=2.4.1-0 <2.5.0-0', hasData: false }
360 silly lockFile f0fd8d61-eoman-node-modules-karma-jasmine tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-jasmine
361 silly lockFile f0fd8d61-eoman-node-modules-karma-jasmine tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-jasmine
362 silly lockFile 0394fc37--karma-jasmine-0-1-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
363 silly lockFile 0394fc37--karma-jasmine-0-1-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma-jasmine/0.1.5/package.tgz
364 info preinstall karma-jasmine@0.1.5
365 verbose readDependencies using package.json deps
366 verbose readDependencies using package.json deps
367 silly resolved []
368 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-jasmine
369 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-jasmine
370 verbose linkStuff [ false,
370 verbose linkStuff false,
370 verbose linkStuff false,
370 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules' ]
371 info linkStuff karma-jasmine@0.1.5
372 verbose linkBins karma-jasmine@0.1.5
373 verbose linkMans karma-jasmine@0.1.5
374 verbose rebuildBundles karma-jasmine@0.1.5
375 info install karma-jasmine@0.1.5
376 verbose url raw lodash
377 verbose url resolving [ 'https://registry.npmjs.org/', './lodash' ]
378 verbose url resolved https://registry.npmjs.org/lodash
379 info trying registry request attempt 1 at 19:41:49
380 verbose etag "3CBQ7NW81C9QECW2WR9Y3QRQ2"
381 http GET https://registry.npmjs.org/lodash
382 info postinstall karma-jasmine@0.1.5
383 verbose readDependencies using package.json deps
384 verbose cache add [ 'karma@>=0.9', null ]
385 verbose cache add name=undefined spec="karma@>=0.9" args=["karma@>=0.9",null]
386 verbose parsed url { protocol: null,
386 verbose parsed url slashes: null,
386 verbose parsed url auth: null,
386 verbose parsed url host: null,
386 verbose parsed url port: null,
386 verbose parsed url hostname: null,
386 verbose parsed url hash: null,
386 verbose parsed url search: null,
386 verbose parsed url query: null,
386 verbose parsed url pathname: 'karma@%3E=0.9',
386 verbose parsed url path: 'karma@%3E=0.9',
386 verbose parsed url href: 'karma@%3E=0.9' }
387 verbose cache add name="karma" spec=">=0.9" args=["karma",">=0.9"]
388 verbose parsed url { protocol: null,
388 verbose parsed url slashes: null,
388 verbose parsed url auth: null,
388 verbose parsed url host: null,
388 verbose parsed url port: null,
388 verbose parsed url hostname: null,
388 verbose parsed url hash: null,
388 verbose parsed url search: null,
388 verbose parsed url query: null,
388 verbose parsed url pathname: '%3E=0.9',
388 verbose parsed url path: '%3E=0.9',
388 verbose parsed url href: '%3E=0.9' }
389 verbose addNamed [ 'karma', '>=0.9' ]
390 verbose addNamed [ null, '>=0.9.0-0' ]
391 silly lockFile 0ddc6e0a-karma-0-9 karma@>=0.9
392 verbose lock karma@>=0.9 /Volumes/Storage/martincleaver/.npm/0ddc6e0a-karma-0-9.lock
393 silly addNameRange { name: 'karma', range: '>=0.9.0-0', hasData: false }
394 verbose url raw karma
395 verbose url resolving [ 'https://registry.npmjs.org/', './karma' ]
396 verbose url resolved https://registry.npmjs.org/karma
397 info trying registry request attempt 1 at 19:41:49
398 http GET https://registry.npmjs.org/karma
399 http 304 https://registry.npmjs.org/lodash
400 silly registry.get cb [ 304,
400 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:50 GMT',
400 silly registry.get server: 'Apache',
400 silly registry.get via: '1.1 varnish',
400 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:44 GMT',
400 silly registry.get 'cache-control': 'max-age=60',
400 silly registry.get etag: '"3CBQ7NW81C9QECW2WR9Y3QRQ2"',
400 silly registry.get 'x-served-by': 'cache-iad2134-IAD',
400 silly registry.get 'x-cache': 'HIT',
400 silly registry.get 'x-cache-hits': '2',
400 silly registry.get 'x-timer': 'S1407886910.551716,VS0,VE0',
400 silly registry.get vary: 'Accept',
400 silly registry.get 'content-length': '0',
400 silly registry.get 'keep-alive': 'timeout=10, max=50',
400 silly registry.get connection: 'Keep-Alive' } ]
401 verbose etag lodash from cache
402 silly addNameRange number 2 { name: 'lodash', range: '>=2.4.1-0 <2.5.0-0', hasData: true }
403 silly addNameRange versions [ 'lodash',
403 silly addNameRange [ '0.1.0',
403 silly addNameRange '0.2.0',
403 silly addNameRange '0.2.1',
403 silly addNameRange '0.2.2',
403 silly addNameRange '0.3.0',
403 silly addNameRange '0.3.1',
403 silly addNameRange '0.3.2',
403 silly addNameRange '0.4.0',
403 silly addNameRange '0.4.1',
403 silly addNameRange '0.4.2',
403 silly addNameRange '0.5.0-rc.1',
403 silly addNameRange '0.5.0',
403 silly addNameRange '0.5.1',
403 silly addNameRange '0.5.2',
403 silly addNameRange '0.6.0',
403 silly addNameRange '0.6.1',
403 silly addNameRange '0.7.0',
403 silly addNameRange '0.8.0',
403 silly addNameRange '0.8.1',
403 silly addNameRange '0.8.2',
403 silly addNameRange '0.9.0',
403 silly addNameRange '0.9.1',
403 silly addNameRange '0.9.2',
403 silly addNameRange '0.10.0',
403 silly addNameRange '1.0.0-rc.1',
403 silly addNameRange '1.0.0-rc.2',
403 silly addNameRange '1.0.0-rc.3',
403 silly addNameRange '1.0.0',
403 silly addNameRange '1.0.1',
403 silly addNameRange '1.1.0',
403 silly addNameRange '1.1.1',
403 silly addNameRange '1.2.0',
403 silly addNameRange '1.2.1',
403 silly addNameRange '1.3.0',
403 silly addNameRange '1.3.1',
403 silly addNameRange '2.0.0',
403 silly addNameRange '2.1.0',
403 silly addNameRange '2.2.0',
403 silly addNameRange '2.2.1',
403 silly addNameRange '2.3.0',
403 silly addNameRange '2.4.0',
403 silly addNameRange '2.4.1' ] ]
404 verbose addNamed [ 'lodash', '2.4.1' ]
405 verbose addNamed [ '2.4.1', '2.4.1' ]
406 silly lockFile 8502be2a-lodash-2-4-1 lodash@2.4.1
407 verbose lock lodash@2.4.1 /Volumes/Storage/martincleaver/.npm/8502be2a-lodash-2-4-1.lock
408 silly lockFile 8502be2a-lodash-2-4-1 lodash@2.4.1
409 silly lockFile 8502be2a-lodash-2-4-1 lodash@2.4.1
410 silly lockFile 257f9ab3-lodash-2-4-1 lodash@~2.4.1
411 silly lockFile 257f9ab3-lodash-2-4-1 lodash@~2.4.1
412 silly resolved [ { name: 'lodash',
412 silly resolved version: '2.4.1',
412 silly resolved description: 'A utility library delivering consistency, customization, performance, & extras.',
412 silly resolved homepage: 'http://lodash.com/',
412 silly resolved license: 'MIT',
412 silly resolved main: 'dist/lodash.js',
412 silly resolved keywords:
412 silly resolved [ 'amd',
412 silly resolved 'browser',
412 silly resolved 'client',
412 silly resolved 'customize',
412 silly resolved 'functional',
412 silly resolved 'server',
412 silly resolved 'util' ],
412 silly resolved author:
412 silly resolved { name: 'John-David Dalton',
412 silly resolved email: 'john.david.dalton@gmail.com',
412 silly resolved url: 'http://allyoucanleet.com/' },
412 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
412 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
412 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
412 silly resolved engines: [ 'node', 'rhino' ],
412 silly resolved files:
412 silly resolved [ 'LICENSE.txt',
412 silly resolved 'lodash.js',
412 silly resolved 'dist/lodash.js',
412 silly resolved 'dist/lodash.min.js',
412 silly resolved 'dist/lodash.compat.js',
412 silly resolved 'dist/lodash.compat.min.js',
412 silly resolved 'dist/lodash.underscore.js',
412 silly resolved 'dist/lodash.underscore.min.js' ],
412 silly resolved jam: { main: 'dist/lodash.compat.js', include: [Object] },
412 silly resolved volo: { type: 'directory', ignore: [Object] },
412 silly resolved readme: '# Lo-Dash v2.4.1\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\nCheck out our [wiki]([https://github.com/lodash/lodash/wiki/build-differences]) for details over the differences between builds.\n\n* Modern builds perfect for newer browsers/environments:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.min.js)\n\n* Compatibility builds for older environment support too:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.compat.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.compat.min.js)\n\n* Underscore builds to use as a drop-in replacement:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.underscore.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.underscore.min.js)\n\nCDN copies are available on [cdnjs](http://cdnjs.com/libraries/lodash.js/) & [jsDelivr](http://www.jsdelivr.com/#!lodash). For smaller file sizes, create [custom builds](http://lodash.com/custom-builds) with only the features needed.\n\nLove modules? We’ve got you covered with [lodash-amd](https://npmjs.org/package/lodash-amd), [lodash-es6](https://github.com/lodash/lodash-es6), [lodash-node](https://npmjs.org/package/lodash-node), & [npm packages](https://npmjs.org/browse/keyword/lodash-modularized) per method.\n\n## Dive in\n\nThere’s plenty of **[documentation](http://lodash.com/docs)**, [unit tests](http://lodash.com/tests), & [benchmarks](http://lodash.com/benchmarks).<br>\nCheck out <a href="http://devdocs.io/lodash/">DevDocs</a> as a fast, organized, & searchable interface for our documentation.\n\nThe full changelog for this release is available on our [wiki](https://github.com/lodash/lodash/wiki/Changelog).<br>\nA list of upcoming features is available on our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Features *not* in Underscore\n\n * AMD loader support ([curl](https://github.com/cujojs/curl), [dojo](http://dojotoolkit.org/), [requirejs](http://requirejs.org/), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”*](http://michaux.ca/articles/lazy-function-definition-pattern) defined methods\n * [_.clone](http://lodash.com/docs#clone) supports shallow cloning of `Date` & `RegExp` objects\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays & objects\n * [_.constant](http://lodash.com/docs#constant) & [_.property](http://lodash.com/docs#property) function generators for composing functions\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex`\n * [_.create](http://lodash.com/docs#create) for easier object inheritance\n * [_.createCallback](http://lodash.com/docs#createCallback) for extending callbacks in methods & mixins\n * [_.curry](http://lodash.com/docs#curry) for creating [curried](http://hughfdjackson.com/javascript/2013/07/06/why-curry-helps/) functions\n * [_.debounce](http://lodash.com/docs#debounce) & [_.throttle](http://lodash.com/docs#throttle) accept additional `options` for more control\n * [_.findIndex](http://lodash.com/docs#findIndex) & [_.findKey](http://lodash.com/docs#findKey) for finding indexes & keys\n * [_.forEach](http://lodash.com/docs#forEach) is chainable & supports exiting early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating own & inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) for checking if values are created by `Object`\n * [_.mapValues](http://lodash.com/docs#mapValues) for [mapping](http://lodash.com/docs#map) values to an object\n * [_.memoize](http://lodash.com/docs#memoize) exposes the `cache` of memoized functions\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.noop](http://lodash.com/docs#noop) for function placeholders\n * [_.now](http://lodash.com/docs#now) as a cross-browser `Date.now` alternative\n * [_.parseInt](http://lodash.com/docs#parseInt) for consistent behavior\n * [_.pull](http://lodash.com/docs#pull) & [_.remove](http://lodash.com/docs#remove) for mutating arrays\n * [_.random](http://lodash.com/docs#random) supports returning floating-point numbers\n * [_.runInContext](http://lodash.com/docs#runInContext) for easier mocking\n * [_.sortBy](http://lodash.com/docs#sortBy) supports sorting by multiple properties\n * [_.support](http://lodash.com/docs#support) for flagging environment features\n * [_.template](http://lodash.com/docs#template) supports [*“imports”*](http://lodash.com/docs#templateSettings_imports) options & [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals)\n * [_.transform](http://lodash.com/docs#transform) as a powerful alternative to [_.reduce](http://lodash.com/docs#reduce) for transforming objects\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.xor](http://lodash.com/docs#xor) as a companion to [_.difference](http://lodash.com/docs#difference), [_.intersection](http://lodash.com/docs#intersection), & [_.union](http://lodash.com/docs#union)\n * [_.zip](http://lodash.com/docs#zip) is capable of unzipping values\n * [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick), &\n [more](http://lodash.com/docs "_.assign, _.clone, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest") accept callbacks\n * [_.contains](http://lodash.com/docs#contains), [_.toArray](http://lodash.com/docs#toArray), &\n [more](http://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.forEachRight, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.size, _.some, _.sortBy, _.where") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.map](http://lodash.com/docs#map), &\n [more](http://lodash.com/docs "_.countBy, _.every, _.find, _.findKey, _.findLast, _.findLastIndex, _.findLastKey, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq") support *“_.pluck”* & *“_.where”* shorthands\n * [_.findLast](http://lodash.com/docs#findLast), [_.findLastIndex](http://lodash.com/docs#findLastIndex), &\n [more](http://lodash.com/docs "_.findLastKey, _.forEachRight, _.forInRight, _.forOwnRight, _.partialRight") right-associative methods\n\n## Resources\n\n * Podcasts\n - [JavaScript Jabber](http://javascriptjabber.com/079-jsj-lo-dash-with-john-david-dalton/)\n\n * Posts\n - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n - [Custom builds in Lo-Dash 2.0](http://kitcambridge.be/blog/custom-builds-in-lo-dash-2-dot-0/)\n\n * Videos\n - [Introduction](https://vimeo.com/44154599)\n - [Origins](https://vimeo.com/44154600)\n - [Optimizations & builds](https://vimeo.com/44154601)\n - [Native method use](https://vimeo.com/48576012)\n - [Testing](https://vimeo.com/45865290)\n - [CascadiaJS ’12](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n A list of other community created podcasts, posts, & videos is available on our [wiki](https://github.com/lodash/lodash/wiki/Resources).\n\n## Support\n\nTested in Chrome 5~31, Firefox 2~25, IE 6-11, Opera 9.25~17, Safari 3-7, Node.js 0.6.21~0.10.22, Narwhal 0.3.2, PhantomJS 1.9.2, RingoJS 0.9, & Rhino 1.7RC5.<br>\nAutomated browser test results [are available](https://saucelabs.com/u/lodash) as well as [Travis CI](https://travis-ci.org/) builds for [lodash](https://travis-ci.org/lodash/lodash/), [lodash-cli](https://travis-ci.org/lodash/lodash-cli/), [lodash-amd](https://travis-ci.org/lodash/lodash-amd/), [lodash-node](https://travis-ci.org/lodash/lodash-node/), & [grunt-lodash](https://travis-ci.org/lodash/grunt-lodash).\n\nSpecial thanks to [Sauce Labs](https://saucelabs.com/) for providing automated browser testing.<br>\n[![Sauce Labs](http://lodash.com/_img/sauce.png)](https://saucelabs.com/ "Sauce Labs: Selenium Testing & More")\n\n## Installation & usage\n\nIn browsers:\n\n```html\n<script src="lodash.js"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm i --save lodash\n\n{sudo} npm i -g lodash\nnpm ln lodash\n```\n\nIn [Node.js](http://nodejs.org/) & [Ringo](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\');\n// or as Underscore\nvar _ = require(\'lodash/dist/lodash.underscore\');\n```\n\n**Notes:**\n * Don’t assign values to [special variable](http://nodejs.org/api/repl.html#repl_repl_features) `_` when in the REPL\n * If Lo-Dash is installed globally, run [`npm ln lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory *before* requiring it\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'lodash.js\');\n```\n\nIn an AMD loader:\n\n```js\nrequire({\n \'packages\': [\n { \'name\': \'lodash\', \'location\': \'path/to/lodash\', \'main\': \'lodash\' }\n ]\n},\n[\'lodash\'], function(_) {\n console.log(_.VERSION);\n});\n```\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\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/lodash/lodash/trend.png)](https://bitdeli.com/free "Bitdeli Badge")\n',
412 silly resolved readmeFilename: 'README.md',
412 silly resolved _id: 'lodash@2.4.1',
412 silly resolved _from: 'lodash@~2.4.1' } ]
413 info install lodash@2.4.1 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma
414 info installOne lodash@2.4.1
415 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma/node_modules/lodash unbuild
416 verbose tar unpack /Volumes/Storage/martincleaver/.npm/lodash/2.4.1/package.tgz
417 silly lockFile ee828382--grunt-karma-node-modules-lodash tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma/node_modules/lodash
418 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma/node_modules/lodash /Volumes/Storage/martincleaver/.npm/ee828382--grunt-karma-node-modules-lodash.lock
419 silly lockFile 85f673f4-ver-npm-lodash-2-4-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/lodash/2.4.1/package.tgz
420 verbose lock tar:///Volumes/Storage/martincleaver/.npm/lodash/2.4.1/package.tgz /Volumes/Storage/martincleaver/.npm/85f673f4-ver-npm-lodash-2-4-1-package-tgz.lock
421 silly gunzTarPerm modes [ '755', '644' ]
422 silly gunzTarPerm extractEntry package.json
423 silly gunzTarPerm extractEntry README.md
424 silly gunzTarPerm extractEntry lodash.js
425 silly gunzTarPerm extractEntry LICENSE.txt
426 silly gunzTarPerm extractEntry dist/lodash.compat.js
427 silly gunzTarPerm extractEntry dist/lodash.compat.min.js
428 http 200 https://registry.npmjs.org/phantomjs
429 silly registry.get cb [ 200,
429 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:50 GMT',
429 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
429 silly registry.get etag: '"3RKVXAHG79WQOT5AA3ZRZYLAU"',
429 silly registry.get 'content-type': 'application/json',
429 silly registry.get 'cache-control': 'max-age=60',
429 silly registry.get 'content-length': '80670',
429 silly registry.get 'accept-ranges': 'bytes',
429 silly registry.get via: '1.1 varnish',
429 silly registry.get age: '643',
429 silly registry.get 'x-served-by': 'cache-iad2131-IAD',
429 silly registry.get 'x-cache': 'HIT',
429 silly registry.get 'x-cache-hits': '1',
429 silly registry.get 'x-timer': 'S1407886910.530394,VS0,VE0',
429 silly registry.get vary: 'Accept',
429 silly registry.get 'keep-alive': 'timeout=10, max=50',
429 silly registry.get connection: 'Keep-Alive' } ]
430 silly addNameRange number 2 { name: 'phantomjs',
430 silly addNameRange range: '>=1.9.0-0 <1.10.0-0',
430 silly addNameRange hasData: true }
431 silly addNameRange versions [ 'phantomjs',
431 silly addNameRange [ '0.0.1',
431 silly addNameRange '0.0.2',
431 silly addNameRange '0.0.3',
431 silly addNameRange '0.0.4',
431 silly addNameRange '0.0.5',
431 silly addNameRange '0.0.6',
431 silly addNameRange '0.0.7',
431 silly addNameRange '0.0.8',
431 silly addNameRange '0.0.9',
431 silly addNameRange '0.1.0',
431 silly addNameRange '0.1.1',
431 silly addNameRange '0.2.0',
431 silly addNameRange '0.2.1',
431 silly addNameRange '0.2.2',
431 silly addNameRange '0.2.3',
431 silly addNameRange '0.2.4',
431 silly addNameRange '0.2.5',
431 silly addNameRange '0.2.6',
431 silly addNameRange '1.8.0-1',
431 silly addNameRange '1.8.1-1',
431 silly addNameRange '1.8.1-2',
431 silly addNameRange '1.8.1-3',
431 silly addNameRange '1.8.2-0',
431 silly addNameRange '1.8.2-1',
431 silly addNameRange '1.8.2-2',
431 silly addNameRange '1.9.0-0',
431 silly addNameRange '1.9.0-1',
431 silly addNameRange '1.9.0-2',
431 silly addNameRange '1.9.0-3',
431 silly addNameRange '1.9.0-4',
431 silly addNameRange '1.9.0-5',
431 silly addNameRange '1.9.0-6',
431 silly addNameRange '1.9.1-0',
431 silly addNameRange '1.9.1-2',
431 silly addNameRange '1.9.1-3',
431 silly addNameRange '1.9.1-4',
431 silly addNameRange '1.9.1-5',
431 silly addNameRange '1.9.1-6',
431 silly addNameRange '1.9.1-7',
431 silly addNameRange '1.9.1-8',
431 silly addNameRange '1.9.1-9',
431 silly addNameRange '1.9.2-0',
431 silly addNameRange '1.9.2-1',
431 silly addNameRange '1.9.2-2',
431 silly addNameRange '1.9.2-3',
431 silly addNameRange '1.9.2-4',
431 silly addNameRange '1.9.2-5',
431 silly addNameRange '1.9.2-6',
431 silly addNameRange '1.9.6-0',
431 silly addNameRange '1.9.7-1',
431 silly addNameRange '1.9.7-3',
431 silly addNameRange '1.9.7-4',
431 silly addNameRange '1.9.7-5',
431 silly addNameRange '1.9.7-6',
431 silly addNameRange '1.9.7-7',
431 silly addNameRange '1.9.7-8',
431 silly addNameRange '1.9.7-9',
431 silly addNameRange '1.9.7-10',
431 silly addNameRange '1.9.7-11',
431 silly addNameRange '1.9.7-12',
431 silly addNameRange '1.9.7-13',
431 silly addNameRange '1.9.7-14',
431 silly addNameRange '1.9.7-15' ] ]
432 verbose addNamed [ 'phantomjs', '1.9.7-15' ]
433 verbose addNamed [ '1.9.7-15', '1.9.7-15' ]
434 silly lockFile da9b7bdb-phantomjs-1-9-7-15 phantomjs@1.9.7-15
435 verbose lock phantomjs@1.9.7-15 /Volumes/Storage/martincleaver/.npm/da9b7bdb-phantomjs-1-9-7-15.lock
436 silly lockFile d59245da-phantomjs-phantomjs-1-9-7-15-tgz https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz
437 verbose lock https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz /Volumes/Storage/martincleaver/.npm/d59245da-phantomjs-phantomjs-1-9-7-15-tgz.lock
438 verbose addRemoteTarball [ 'https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz',
438 verbose addRemoteTarball '0b3a7ce630486a83be91ff4e832eee20e971115b' ]
439 info retry fetch attempt 1 at 19:41:50
440 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/tmp.tgz
441 http GET https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz
442 silly gunzTarPerm extractEntry dist/lodash.js
443 silly gunzTarPerm extractEntry dist/lodash.min.js
444 silly gunzTarPerm extractEntry dist/lodash.underscore.js
445 silly gunzTarPerm extractEntry dist/lodash.underscore.min.js
446 silly lockFile ee828382--grunt-karma-node-modules-lodash tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma/node_modules/lodash
447 silly lockFile ee828382--grunt-karma-node-modules-lodash tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma/node_modules/lodash
448 silly lockFile 85f673f4-ver-npm-lodash-2-4-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/lodash/2.4.1/package.tgz
449 silly lockFile 85f673f4-ver-npm-lodash-2-4-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/lodash/2.4.1/package.tgz
450 info preinstall lodash@2.4.1
451 verbose readDependencies using package.json deps
452 verbose readDependencies using package.json deps
453 silly resolved []
454 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma/node_modules/lodash
455 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma/node_modules/lodash
456 verbose linkStuff [ false,
456 verbose linkStuff false,
456 verbose linkStuff false,
456 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma/node_modules' ]
457 info linkStuff lodash@2.4.1
458 verbose linkBins lodash@2.4.1
459 verbose linkMans lodash@2.4.1
460 verbose rebuildBundles lodash@2.4.1
461 info install lodash@2.4.1
462 info postinstall lodash@2.4.1
463 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma
464 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt-karma
465 verbose linkStuff [ false,
465 verbose linkStuff false,
465 verbose linkStuff false,
465 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules' ]
466 info linkStuff grunt-karma@0.8.3
467 verbose linkBins grunt-karma@0.8.3
468 verbose linkMans grunt-karma@0.8.3
469 verbose rebuildBundles grunt-karma@0.8.3
470 verbose rebuildBundles [ 'lodash' ]
471 info install grunt-karma@0.8.3
472 info postinstall grunt-karma@0.8.3
473 verbose readDependencies using package.json deps
474 verbose cache add [ 'grunt@0.4.x', null ]
475 verbose cache add name=undefined spec="grunt@0.4.x" args=["grunt@0.4.x",null]
476 verbose parsed url { protocol: null,
476 verbose parsed url slashes: null,
476 verbose parsed url auth: null,
476 verbose parsed url host: null,
476 verbose parsed url port: null,
476 verbose parsed url hostname: null,
476 verbose parsed url hash: null,
476 verbose parsed url search: null,
476 verbose parsed url query: null,
476 verbose parsed url pathname: 'grunt@0.4.x',
476 verbose parsed url path: 'grunt@0.4.x',
476 verbose parsed url href: 'grunt@0.4.x' }
477 verbose cache add name="grunt" spec="0.4.x" args=["grunt","0.4.x"]
478 verbose parsed url { protocol: null,
478 verbose parsed url slashes: null,
478 verbose parsed url auth: null,
478 verbose parsed url host: null,
478 verbose parsed url port: null,
478 verbose parsed url hostname: null,
478 verbose parsed url hash: null,
478 verbose parsed url search: null,
478 verbose parsed url query: null,
478 verbose parsed url pathname: '0.4.x',
478 verbose parsed url path: '0.4.x',
478 verbose parsed url href: '0.4.x' }
479 verbose addNamed [ 'grunt', '0.4.x' ]
480 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
481 silly lockFile 6aebe2f8-grunt-0-4-x grunt@0.4.x
482 verbose lock grunt@0.4.x /Volumes/Storage/martincleaver/.npm/6aebe2f8-grunt-0-4-x.lock
483 verbose cache add [ 'karma@~0.12.0', null ]
484 verbose cache add name=undefined spec="karma@~0.12.0" args=["karma@~0.12.0",null]
485 verbose parsed url { protocol: null,
485 verbose parsed url slashes: null,
485 verbose parsed url auth: null,
485 verbose parsed url host: null,
485 verbose parsed url port: null,
485 verbose parsed url hostname: null,
485 verbose parsed url hash: null,
485 verbose parsed url search: null,
485 verbose parsed url query: null,
485 verbose parsed url pathname: 'karma@~0.12.0',
485 verbose parsed url path: 'karma@~0.12.0',
485 verbose parsed url href: 'karma@~0.12.0' }
486 verbose cache add name="karma" spec="~0.12.0" args=["karma","~0.12.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.12.0',
487 verbose parsed url path: '~0.12.0',
487 verbose parsed url href: '~0.12.0' }
488 verbose addNamed [ 'karma', '~0.12.0' ]
489 verbose addNamed [ null, '>=0.12.0-0 <0.13.0-0' ]
490 silly lockFile 9f4f2022-karma-0-12-0 karma@~0.12.0
491 verbose lock karma@~0.12.0 /Volumes/Storage/martincleaver/.npm/9f4f2022-karma-0-12-0.lock
492 silly addNameRange { name: 'grunt', range: '>=0.4.0-0 <0.5.0-0', hasData: false }
493 silly addNameRange { name: 'karma', range: '>=0.12.0-0 <0.13.0-0', hasData: false }
494 verbose url raw karma
495 verbose url resolving [ 'https://registry.npmjs.org/', './karma' ]
496 verbose url resolved https://registry.npmjs.org/karma
497 info trying registry request attempt 1 at 19:41:50
498 http GET https://registry.npmjs.org/karma
499 verbose registry.get grunt not expired, no request
500 silly addNameRange number 2 { name: 'grunt', range: '>=0.4.0-0 <0.5.0-0', hasData: true }
501 silly addNameRange versions [ 'grunt',
501 silly addNameRange [ '0.1.0',
501 silly addNameRange '0.1.1',
501 silly addNameRange '0.1.2',
501 silly addNameRange '0.2.0',
501 silly addNameRange '0.2.1',
501 silly addNameRange '0.2.2',
501 silly addNameRange '0.2.3',
501 silly addNameRange '0.2.4',
501 silly addNameRange '0.2.5',
501 silly addNameRange '0.2.6',
501 silly addNameRange '0.2.7',
501 silly addNameRange '0.2.8',
501 silly addNameRange '0.2.9',
501 silly addNameRange '0.2.10',
501 silly addNameRange '0.2.11',
501 silly addNameRange '0.2.12',
501 silly addNameRange '0.2.13',
501 silly addNameRange '0.2.14',
501 silly addNameRange '0.2.15',
501 silly addNameRange '0.3.0',
501 silly addNameRange '0.3.1',
501 silly addNameRange '0.3.2',
501 silly addNameRange '0.3.3',
501 silly addNameRange '0.3.4',
501 silly addNameRange '0.3.5',
501 silly addNameRange '0.3.6',
501 silly addNameRange '0.3.7',
501 silly addNameRange '0.3.8',
501 silly addNameRange '0.3.9',
501 silly addNameRange '0.3.10',
501 silly addNameRange '0.3.11',
501 silly addNameRange '0.3.12',
501 silly addNameRange '0.3.13',
501 silly addNameRange '0.3.14',
501 silly addNameRange '0.3.15',
501 silly addNameRange '0.3.16',
501 silly addNameRange '0.3.17',
501 silly addNameRange '0.4.0',
501 silly addNameRange '0.4.1',
501 silly addNameRange '0.4.2',
501 silly addNameRange '0.4.3',
501 silly addNameRange '0.4.4',
501 silly addNameRange '0.4.5',
501 silly addNameRange '0.3.13-a',
501 silly addNameRange '0.4.0-a',
501 silly addNameRange '0.4.0-rc1',
501 silly addNameRange '0.4.0-rc2',
501 silly addNameRange '0.4.0-rc3',
501 silly addNameRange '0.4.0-rc4',
501 silly addNameRange '0.4.0-rc5',
501 silly addNameRange '0.4.0-rc6',
501 silly addNameRange '0.4.0-rc7',
501 silly addNameRange '0.4.0-rc8' ] ]
502 verbose addNamed [ 'grunt', '0.4.5' ]
503 verbose addNamed [ '0.4.5', '0.4.5' ]
504 silly lockFile 81abf7ad-grunt-0-4-5 grunt@0.4.5
505 verbose lock grunt@0.4.5 /Volumes/Storage/martincleaver/.npm/81abf7ad-grunt-0-4-5.lock
506 http 200 https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz
507 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/tmp.tgz
508 silly lockFile 2e0c3c38-910220-0-971854749135673-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/package
509 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/package /Volumes/Storage/martincleaver/.npm/2e0c3c38-910220-0-971854749135673-package.lock
510 silly lockFile a5ae8bff-910220-0-971854749135673-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/tmp.tgz
511 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/tmp.tgz /Volumes/Storage/martincleaver/.npm/a5ae8bff-910220-0-971854749135673-tmp-tgz.lock
512 silly gunzTarPerm modes [ '755', '644' ]
513 silly lockFile 81abf7ad-grunt-0-4-5 grunt@0.4.5
514 silly lockFile 81abf7ad-grunt-0-4-5 grunt@0.4.5
515 silly lockFile 6aebe2f8-grunt-0-4-x grunt@0.4.x
516 silly lockFile 6aebe2f8-grunt-0-4-x grunt@0.4.x
517 silly gunzTarPerm extractEntry package.json
518 silly gunzTarPerm extractEntry .npmignore
519 silly gunzTarPerm extractEntry README.md
520 silly gunzTarPerm extractEntry install.js
521 silly gunzTarPerm extractEntry test/exit.js
522 silly gunzTarPerm extractEntry test/loadspeed.js
523 silly gunzTarPerm extractEntry test/tests.js
524 silly gunzTarPerm extractEntry .jshintrc
525 silly gunzTarPerm extractEntry .travis.yml
526 silly gunzTarPerm extractEntry lib/phantomjs.js
527 silly gunzTarPerm extractEntry LICENSE.txt
528 silly gunzTarPerm extractEntry bin/phantomjs
529 silly lockFile 2e0c3c38-910220-0-971854749135673-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/package
530 silly lockFile 2e0c3c38-910220-0-971854749135673-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/package
531 silly lockFile a5ae8bff-910220-0-971854749135673-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/tmp.tgz
532 silly lockFile a5ae8bff-910220-0-971854749135673-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/tmp.tgz
533 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz',
533 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/package' ]
534 verbose tarball /Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
535 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/package
536 silly lockFile 2e0c3c38-910220-0-971854749135673-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/package
537 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/package /Volumes/Storage/martincleaver/.npm/2e0c3c38-910220-0-971854749135673-package.lock
538 silly lockFile d508eb24-m-phantomjs-1-9-7-15-package-tgz tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
539 verbose lock tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz /Volumes/Storage/martincleaver/.npm/d508eb24-m-phantomjs-1-9-7-15-package-tgz.lock
540 silly lockFile 2e0c3c38-910220-0-971854749135673-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/package
541 silly lockFile 2e0c3c38-910220-0-971854749135673-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910220-0.971854749135673/package
542 silly lockFile d508eb24-m-phantomjs-1-9-7-15-package-tgz tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
543 silly lockFile d508eb24-m-phantomjs-1-9-7-15-package-tgz tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
544 silly lockFile 238cc0be-r-npm-phantomjs-1-9-7-15-package /Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package
545 verbose lock /Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package /Volumes/Storage/martincleaver/.npm/238cc0be-r-npm-phantomjs-1-9-7-15-package.lock
546 silly lockFile 238cc0be-r-npm-phantomjs-1-9-7-15-package /Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package
547 silly lockFile 238cc0be-r-npm-phantomjs-1-9-7-15-package /Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package
548 verbose tar unpack /Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
549 silly lockFile 23b118b8-r-npm-phantomjs-1-9-7-15-package tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package
550 verbose lock tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package /Volumes/Storage/martincleaver/.npm/23b118b8-r-npm-phantomjs-1-9-7-15-package.lock
551 silly lockFile d508eb24-m-phantomjs-1-9-7-15-package-tgz tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
552 verbose lock tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz /Volumes/Storage/martincleaver/.npm/d508eb24-m-phantomjs-1-9-7-15-package-tgz.lock
553 silly gunzTarPerm modes [ '755', '644' ]
554 silly gunzTarPerm extractEntry package.json
555 silly gunzTarPerm extractEntry .npmignore
556 silly gunzTarPerm extractEntry README.md
557 silly gunzTarPerm extractEntry install.js
558 silly gunzTarPerm extractEntry .jshintrc
559 silly gunzTarPerm extractEntry .travis.yml
560 silly gunzTarPerm extractEntry LICENSE.txt
561 silly gunzTarPerm extractEntry bin/phantomjs
562 silly gunzTarPerm extractEntry lib/phantomjs.js
563 silly gunzTarPerm extractEntry test/exit.js
564 silly gunzTarPerm extractEntry test/loadspeed.js
565 silly gunzTarPerm extractEntry test/tests.js
566 http 200 https://registry.npmjs.org/karma
567 silly registry.get cb [ 200,
567 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:50 GMT',
567 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
567 silly registry.get etag: '"9WQUDFORT8ZSHBNJSN1Q7HWBA"',
567 silly registry.get 'content-type': 'application/json',
567 silly registry.get 'cache-control': 'max-age=60',
567 silly registry.get 'content-length': '485015',
567 silly registry.get 'accept-ranges': 'bytes',
567 silly registry.get via: '1.1 varnish',
567 silly registry.get age: '540',
567 silly registry.get 'x-served-by': 'cache-iad2128-IAD',
567 silly registry.get 'x-cache': 'HIT',
567 silly registry.get 'x-cache-hits': '2',
567 silly registry.get 'x-timer': 'S1407886910.583226,VS0,VE0',
567 silly registry.get vary: 'Accept',
567 silly registry.get 'keep-alive': 'timeout=10, max=50',
567 silly registry.get connection: 'Keep-Alive' } ]
568 silly addNameRange number 2 { name: 'karma', range: '>=0.9.0-0', hasData: true }
569 silly addNameRange versions [ 'karma',
569 silly addNameRange [ '0.8.0',
569 silly addNameRange '0.9.0-dart',
569 silly addNameRange '0.8.1',
569 silly addNameRange '0.8.2',
569 silly addNameRange '0.8.3',
569 silly addNameRange '0.9.0',
569 silly addNameRange '0.8.4',
569 silly addNameRange '0.9.1',
569 silly addNameRange '0.8.5',
569 silly addNameRange '0.9.2',
569 silly addNameRange '0.9.2-dart',
569 silly addNameRange '0.9.3',
569 silly addNameRange '0.8.6',
569 silly addNameRange '0.9.4',
569 silly addNameRange '0.8.7',
569 silly addNameRange '0.9.5',
569 silly addNameRange '0.9.6',
569 silly addNameRange '0.8.8',
569 silly addNameRange '0.9.7',
569 silly addNameRange '0.9.8',
569 silly addNameRange '0.10.0',
569 silly addNameRange '0.10.1',
569 silly addNameRange '0.10.2',
569 silly addNameRange '0.11.0',
569 silly addNameRange '0.11.1',
569 silly addNameRange '0.10.3',
569 silly addNameRange '0.10.4',
569 silly addNameRange '0.11.2',
569 silly addNameRange '0.11.3',
569 silly addNameRange '0.10.5',
569 silly addNameRange '0.11.4',
569 silly addNameRange '0.11.5',
569 silly addNameRange '0.10.6',
569 silly addNameRange '0.11.6',
569 silly addNameRange '0.10.7',
569 silly addNameRange '0.11.7',
569 silly addNameRange '0.11.8',
569 silly addNameRange '0.11.9',
569 silly addNameRange '0.10.8',
569 silly addNameRange '0.11.10',
569 silly addNameRange '0.11.11',
569 silly addNameRange '0.11.12',
569 silly addNameRange '0.11.11-dev',
569 silly addNameRange '0.10.9',
569 silly addNameRange '0.11.12-dev',
569 silly addNameRange '0.11.12-dev2',
569 silly addNameRange '0.11.13',
569 silly addNameRange '0.11.14',
569 silly addNameRange '0.12.0',
569 silly addNameRange '0.10.10',
569 silly addNameRange '0.12.1',
569 silly addNameRange '0.12.2',
569 silly addNameRange '0.12.3',
569 silly addNameRange '0.12.4',
569 silly addNameRange '0.12.5',
569 silly addNameRange '0.12.6',
569 silly addNameRange '0.12.6-beta-43e6e28',
569 silly addNameRange '0.12.7',
569 silly addNameRange '0.12.8',
569 silly addNameRange '0.12.9',
569 silly addNameRange '0.12.10',
569 silly addNameRange '0.12.11',
569 silly addNameRange '0.12.12',
569 silly addNameRange '0.12.11-beta-3029418',
569 silly addNameRange '0.12.13',
569 silly addNameRange '0.12.14',
569 silly addNameRange '0.12.15',
569 silly addNameRange '0.12.16',
569 silly addNameRange '0.12.16-beta-905422d',
569 silly addNameRange '0.12.17',
569 silly addNameRange '0.12.18',
569 silly addNameRange '0.12.19',
569 silly addNameRange '0.12.20',
569 silly addNameRange '0.12.21' ] ]
570 verbose addNamed [ 'karma', '0.12.21' ]
571 verbose addNamed [ '0.12.21', '0.12.21' ]
572 silly lockFile ddd891ea-karma-0-12-21 karma@0.12.21
573 verbose lock karma@0.12.21 /Volumes/Storage/martincleaver/.npm/ddd891ea-karma-0-12-21.lock
574 silly lockFile 6989f714-pmjs-org-karma-karma-0-12-21-tgz https://registry.npmjs.org/karma/-/karma-0.12.21.tgz
575 verbose lock https://registry.npmjs.org/karma/-/karma-0.12.21.tgz /Volumes/Storage/martincleaver/.npm/6989f714-pmjs-org-karma-karma-0-12-21-tgz.lock
576 verbose addRemoteTarball [ 'https://registry.npmjs.org/karma/-/karma-0.12.21.tgz',
576 verbose addRemoteTarball 'a6b3d9b870ab0d96368915bcbb45a64ce02e4b1a' ]
577 info retry fetch attempt 1 at 19:41:50
578 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/tmp.tgz
579 http GET https://registry.npmjs.org/karma/-/karma-0.12.21.tgz
580 silly lockFile 23b118b8-r-npm-phantomjs-1-9-7-15-package tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package
581 silly lockFile 23b118b8-r-npm-phantomjs-1-9-7-15-package tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package
582 silly lockFile d508eb24-m-phantomjs-1-9-7-15-package-tgz tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
583 silly lockFile d508eb24-m-phantomjs-1-9-7-15-package-tgz tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
584 verbose chmod /Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz 644
585 verbose chown /Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz [ 501, 20 ]
586 silly lockFile d59245da-phantomjs-phantomjs-1-9-7-15-tgz https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz
587 silly lockFile d59245da-phantomjs-phantomjs-1-9-7-15-tgz https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz
588 silly lockFile da9b7bdb-phantomjs-1-9-7-15 phantomjs@1.9.7-15
589 silly lockFile da9b7bdb-phantomjs-1-9-7-15 phantomjs@1.9.7-15
590 silly lockFile 472de541-phantomjs-1-9 phantomjs@~1.9
591 silly lockFile 472de541-phantomjs-1-9 phantomjs@~1.9
592 silly resolved [ { name: 'phantomjs',
592 silly resolved version: '1.9.7-15',
592 silly resolved keywords: [ 'phantomjs', 'headless', 'webkit' ],
592 silly resolved description: 'Headless WebKit with JS API',
592 silly resolved homepage: 'https://github.com/Obvious/phantomjs',
592 silly resolved repository: { type: 'git', url: 'git://github.com/Obvious/phantomjs.git' },
592 silly resolved licenses: [ [Object] ],
592 silly resolved author:
592 silly resolved { name: 'Dan Pupius',
592 silly resolved email: 'dan@obvious.com',
592 silly resolved url: 'http://pupius.co.uk' },
592 silly resolved maintainers: [ [Object] ],
592 silly resolved main: 'lib/phantomjs',
592 silly resolved bin: { phantomjs: './bin/phantomjs' },
592 silly resolved scripts:
592 silly resolved { install: 'node install.js',
592 silly resolved test: 'nodeunit --reporter=minimal test/tests.js' },
592 silly resolved dependencies:
592 silly resolved { 'adm-zip': '0.2.1',
592 silly resolved kew: '~0.1.7',
592 silly resolved ncp: '0.4.2',
592 silly resolved npmconf: '0.0.24',
592 silly resolved mkdirp: '0.3.5',
592 silly resolved progress: '^1.1.5',
592 silly resolved request: '2.36.0',
592 silly resolved 'request-progress': '^0.3.1',
592 silly resolved rimraf: '~2.2.2',
592 silly resolved which: '~1.0.5' },
592 silly resolved devDependencies: { nodeunit: '~0.7.4' },
592 silly resolved readme: 'phantomjs\n=========\n\nAn NPM wrapper for [PhantomJS](http://phantomjs.org/), headless webkit with JS API.\n\nBuilding and Installing\n-----------------------\n\n```shell\nnpm install phantomjs\n```\n\nOr grab the source and\n\n```shell\nnode ./install.js\n```\n\nTo use a mirror of the phantomjs binaries, set `$PHANTOMJS_CDNURL`,\ndefault is `https://bitbucket.org/ariya/phantomjs/downloads`\n\n```shell\nPHANTOMJS_CDNURL=http://cnpmjs.org/downloads npm install phantomjs\n```\n\nWhat this installer is really doing is just grabbing a particular "blessed" (by\nthis module) version of Phantom. As new versions of Phantom are released\nand vetted, this module will be updated accordingly.\n\nThe package has been set up to fetch and run Phantom for MacOS (darwin),\nLinux based platforms (as identified by nodejs), and -- as of version 0.2.0 --\nWindows (thanks to [Domenic Denicola](https://github.com/domenic)). If you\nspot any platform weirdnesses, let us know or send a patch.\n\nRunning\n-------\n\n```shell\nbin/phantomjs [phantom arguments]\n```\n\nAnd npm will install a link to the binary in `node_modules/.bin` as\nit is wont to do.\n\nRunning via node\n----------------\n\nThe package exports a `path` string that contains the path to the\nphantomjs binary/executable.\n\nBelow is an example of using this package via node.\n\n```javascript\nvar path = require(\'path\')\nvar childProcess = require(\'child_process\')\nvar phantomjs = require(\'phantomjs\')\nvar binPath = phantomjs.path\n\nvar childArgs = [\n path.join(__dirname, \'phantomjs-script.js\'),\n \'some other argument (passed to phantomjs script)\'\n]\n\nchildProcess.execFile(binPath, childArgs, function(err, stdout, stderr) {\n // handle results\n})\n\n```\n\nVersioning\n----------\n\nThe NPM package version tracks the version of PhantomJS that will be installed,\nwith an additional build number that is used for revisions to the installer.\n\nAs such `1.8.0-1` and `1.8.0-2` will both install PhantomJs 1.8 but the latter\nhas newer changes to the installer.\n\nA Note on PhantomJS\n-------------------\n\nPhantomJS is not a library for NodeJS. It\'s a separate environment and code\nwritten for node is unlikely to be compatible. In particular PhantomJS does\nnot expose a Common JS package loader.\n\nThis is an _NPM wrapper_ and can be used to conveniently make Phantom available\nIt is not a Node JS wrapper.\n\nI have had reasonable experiences writing standalone Phantom scripts which I\nthen drive from within a node program by spawning phantom in a child process.\n\nRead the PhantomJS FAQ for more details: http://phantomjs.org/faq.html\n\n### Linux Note\n\nAn extra note on Linux usage, from the PhantomJS download page:\n\n > This package is built on CentOS 5.8. It should run successfully on Lucid or\n > more modern systems (including other distributions). There is no requirement\n > to install Qt, WebKit, or any other libraries. It is however expected that\n > some base libraries necessary for rendering (FreeType, Fontconfig) and the\n > basic font files are available in the system.\n\nTroubleshooting\n---------------\n\n##### Installation fails with `Error: read ECONNRESET` or `Error: connect ETIMEDOUT`\n\nThis error means that something went wront with your internet connection, and the installer\nwas not able to download the PhantomJS binary for your platform. Please try again.\n\n##### I tried again, but I get `ECONNRESET` or `ETIMEDOUT` consistently.\n\nDo you live in China, or a country with an authoritarian government? We\'ve seen problems where\nthe GFW or local ISP blocks bitbucket, preventing the installer from downloading the binary.\n\nTry visiting the [the download page](http://cdn.bitbucket.org/ariya/phantomjs/downloads) manually.\nIf that page is blocked, you can try using a different CDN with the `PHANTOMJS_CDNURL`\nenv variable described above.\n\n##### I am behind a corporate proxy that uses self-signed SSL certificates to intercept encrypted traffic.\n\nYou can tell NPM and the PhantomJS installer to skip validation of ssl keys with NPM\'s \n[strict-ssl](https://www.npmjs.org/doc/misc/npm-config.html#strict-ssl) setting:\n\n```\nnpm set strict-ssl false\n```\n\nWARNING: Turning off `strict-ssl` leaves you vulnerable to attackers reading\nyour encrypted traffic, so run this at your own risk!\n\n##### I tried everything, but my network is b0rked. What do I do?\n\nIf you install PhantomJS manually, and put it on PATH, the installer will try to\nuse the manually-installed binaries.\n\n##### I\'m on Debian or Ubuntu, and the installer failed because it couldn\'t find `node`\n\nSome Linux distros tried to rename `node` to `nodejs` due to a package\nconflict. This is a non-portable change, and we do not try to support this. The\n[official documentation](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#ubuntu-mint-elementary-os)\nrecommends that you symlink `node` to `nodejs` on those platforms, or many\nNodeJS programs won\'t work properly.\n\nContributing\n------------\n\nQuestions, comments, bug reports, and pull requests are all welcome. Submit them at\n[the project on GitHub](https://github.com/Obvious/phantomjs/). If you haven\'t contributed to an\n[Obvious](http://github.com/Obvious/) project before please head over to the\n[Open Source Project](https://github.com/Obvious/open-source#note-to-external-contributors) and fill\nout an OCLA (it should be pretty painless).\n\nBug reports that include steps-to-reproduce (including code) are the\nbest. Even better, make them in the form of pull requests.\n\nAuthor\n------\n\n[Dan Pupius](https://github.com/dpup)\n([personal website](http://pupius.co.uk)), supported by\n[The Obvious Corporation](http://obvious.com/).\n\nLicense\n-------\n\nCopyright 2012 [The Obvious Corporation](http://obvious.com/).\n\nLicensed under the Apache License, Version 2.0.\nSee the top-level file `LICENSE.txt` and\n(http://www.apache.org/licenses/LICENSE-2.0).\n',
592 silly resolved readmeFilename: 'README.md',
592 silly resolved bugs: { url: 'https://github.com/Obvious/phantomjs/issues' },
592 silly resolved _id: 'phantomjs@1.9.7-15',
592 silly resolved dist: { shasum: '2267c09695f2d5d0c6adafc3f2662af878d7b518' },
592 silly resolved _from: 'phantomjs@~1.9',
592 silly resolved _resolved: 'https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz' } ]
593 info install phantomjs@1.9.7-15 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher
594 info installOne phantomjs@1.9.7-15
595 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs unbuild
596 verbose tar unpack /Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
597 silly lockFile 69cfe74a--launcher-node-modules-phantomjs tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
598 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs /Volumes/Storage/martincleaver/.npm/69cfe74a--launcher-node-modules-phantomjs.lock
599 silly lockFile d508eb24-m-phantomjs-1-9-7-15-package-tgz tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
600 verbose lock tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz /Volumes/Storage/martincleaver/.npm/d508eb24-m-phantomjs-1-9-7-15-package-tgz.lock
601 silly gunzTarPerm modes [ '755', '644' ]
602 silly gunzTarPerm extractEntry package.json
603 silly gunzTarPerm extractEntry .npmignore
604 silly gunzTarPerm extractEntry README.md
605 silly gunzTarPerm extractEntry install.js
606 silly gunzTarPerm extractEntry .jshintrc
607 silly gunzTarPerm extractEntry .travis.yml
608 silly gunzTarPerm extractEntry LICENSE.txt
609 silly gunzTarPerm extractEntry bin/phantomjs
610 silly gunzTarPerm extractEntry lib/phantomjs.js
611 silly gunzTarPerm extractEntry test/exit.js
612 silly gunzTarPerm extractEntry test/loadspeed.js
613 silly gunzTarPerm extractEntry test/tests.js
614 silly lockFile 69cfe74a--launcher-node-modules-phantomjs tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
615 silly lockFile 69cfe74a--launcher-node-modules-phantomjs tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
616 silly lockFile d508eb24-m-phantomjs-1-9-7-15-package-tgz tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
617 silly lockFile d508eb24-m-phantomjs-1-9-7-15-package-tgz tar:///Volumes/Storage/martincleaver/.npm/phantomjs/1.9.7-15/package.tgz
618 info preinstall phantomjs@1.9.7-15
619 verbose readDependencies using package.json deps
620 verbose readDependencies using package.json deps
621 verbose cache add [ 'adm-zip@0.2.1', null ]
622 verbose cache add name=undefined spec="adm-zip@0.2.1" args=["adm-zip@0.2.1",null]
623 verbose parsed url { protocol: null,
623 verbose parsed url slashes: null,
623 verbose parsed url auth: null,
623 verbose parsed url host: null,
623 verbose parsed url port: null,
623 verbose parsed url hostname: null,
623 verbose parsed url hash: null,
623 verbose parsed url search: null,
623 verbose parsed url query: null,
623 verbose parsed url pathname: 'adm-zip@0.2.1',
623 verbose parsed url path: 'adm-zip@0.2.1',
623 verbose parsed url href: 'adm-zip@0.2.1' }
624 verbose cache add name="adm-zip" spec="0.2.1" args=["adm-zip","0.2.1"]
625 verbose parsed url { protocol: null,
625 verbose parsed url slashes: null,
625 verbose parsed url auth: null,
625 verbose parsed url host: null,
625 verbose parsed url port: null,
625 verbose parsed url hostname: null,
625 verbose parsed url hash: null,
625 verbose parsed url search: null,
625 verbose parsed url query: null,
625 verbose parsed url pathname: '0.2.1',
625 verbose parsed url path: '0.2.1',
625 verbose parsed url href: '0.2.1' }
626 verbose addNamed [ 'adm-zip', '0.2.1' ]
627 verbose addNamed [ '0.2.1', '0.2.1' ]
628 silly lockFile 56d2b9bc-adm-zip-0-2-1 adm-zip@0.2.1
629 verbose lock adm-zip@0.2.1 /Volumes/Storage/martincleaver/.npm/56d2b9bc-adm-zip-0-2-1.lock
630 verbose cache add [ 'kew@~0.1.7', null ]
631 verbose cache add name=undefined spec="kew@~0.1.7" args=["kew@~0.1.7",null]
632 verbose parsed url { protocol: null,
632 verbose parsed url slashes: null,
632 verbose parsed url auth: null,
632 verbose parsed url host: null,
632 verbose parsed url port: null,
632 verbose parsed url hostname: null,
632 verbose parsed url hash: null,
632 verbose parsed url search: null,
632 verbose parsed url query: null,
632 verbose parsed url pathname: 'kew@~0.1.7',
632 verbose parsed url path: 'kew@~0.1.7',
632 verbose parsed url href: 'kew@~0.1.7' }
633 verbose cache add name="kew" spec="~0.1.7" args=["kew","~0.1.7"]
634 verbose parsed url { protocol: null,
634 verbose parsed url slashes: null,
634 verbose parsed url auth: null,
634 verbose parsed url host: null,
634 verbose parsed url port: null,
634 verbose parsed url hostname: null,
634 verbose parsed url hash: null,
634 verbose parsed url search: null,
634 verbose parsed url query: null,
634 verbose parsed url pathname: '~0.1.7',
634 verbose parsed url path: '~0.1.7',
634 verbose parsed url href: '~0.1.7' }
635 verbose addNamed [ 'kew', '~0.1.7' ]
636 verbose addNamed [ null, '>=0.1.7-0 <0.2.0-0' ]
637 silly lockFile fbc33e87-kew-0-1-7 kew@~0.1.7
638 verbose lock kew@~0.1.7 /Volumes/Storage/martincleaver/.npm/fbc33e87-kew-0-1-7.lock
639 verbose cache add [ 'ncp@0.4.2', null ]
640 verbose cache add name=undefined spec="ncp@0.4.2" args=["ncp@0.4.2",null]
641 verbose parsed url { protocol: null,
641 verbose parsed url slashes: null,
641 verbose parsed url auth: null,
641 verbose parsed url host: null,
641 verbose parsed url port: null,
641 verbose parsed url hostname: null,
641 verbose parsed url hash: null,
641 verbose parsed url search: null,
641 verbose parsed url query: null,
641 verbose parsed url pathname: 'ncp@0.4.2',
641 verbose parsed url path: 'ncp@0.4.2',
641 verbose parsed url href: 'ncp@0.4.2' }
642 verbose cache add name="ncp" spec="0.4.2" args=["ncp","0.4.2"]
643 verbose parsed url { protocol: null,
643 verbose parsed url slashes: null,
643 verbose parsed url auth: null,
643 verbose parsed url host: null,
643 verbose parsed url port: null,
643 verbose parsed url hostname: null,
643 verbose parsed url hash: null,
643 verbose parsed url search: null,
643 verbose parsed url query: null,
643 verbose parsed url pathname: '0.4.2',
643 verbose parsed url path: '0.4.2',
643 verbose parsed url href: '0.4.2' }
644 verbose addNamed [ 'ncp', '0.4.2' ]
645 verbose addNamed [ '0.4.2', '0.4.2' ]
646 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
647 verbose lock ncp@0.4.2 /Volumes/Storage/martincleaver/.npm/e43cb36a-ncp-0-4-2.lock
648 verbose cache add [ 'npmconf@0.0.24', null ]
649 verbose cache add name=undefined spec="npmconf@0.0.24" args=["npmconf@0.0.24",null]
650 verbose parsed url { protocol: null,
650 verbose parsed url slashes: null,
650 verbose parsed url auth: null,
650 verbose parsed url host: null,
650 verbose parsed url port: null,
650 verbose parsed url hostname: null,
650 verbose parsed url hash: null,
650 verbose parsed url search: null,
650 verbose parsed url query: null,
650 verbose parsed url pathname: 'npmconf@0.0.24',
650 verbose parsed url path: 'npmconf@0.0.24',
650 verbose parsed url href: 'npmconf@0.0.24' }
651 verbose cache add name="npmconf" spec="0.0.24" args=["npmconf","0.0.24"]
652 verbose parsed url { protocol: null,
652 verbose parsed url slashes: null,
652 verbose parsed url auth: null,
652 verbose parsed url host: null,
652 verbose parsed url port: null,
652 verbose parsed url hostname: null,
652 verbose parsed url hash: null,
652 verbose parsed url search: null,
652 verbose parsed url query: null,
652 verbose parsed url pathname: '0.0.24',
652 verbose parsed url path: '0.0.24',
652 verbose parsed url href: '0.0.24' }
653 verbose addNamed [ 'npmconf', '0.0.24' ]
654 verbose addNamed [ '0.0.24', '0.0.24' ]
655 silly lockFile af02651e-npmconf-0-0-24 npmconf@0.0.24
656 verbose lock npmconf@0.0.24 /Volumes/Storage/martincleaver/.npm/af02651e-npmconf-0-0-24.lock
657 silly addNameRange { name: 'kew', range: '>=0.1.7-0 <0.2.0-0', hasData: false }
658 verbose cache add [ 'mkdirp@0.3.5', null ]
659 verbose cache add name=undefined spec="mkdirp@0.3.5" args=["mkdirp@0.3.5",null]
660 verbose parsed url { protocol: null,
660 verbose parsed url slashes: null,
660 verbose parsed url auth: null,
660 verbose parsed url host: null,
660 verbose parsed url port: null,
660 verbose parsed url hostname: null,
660 verbose parsed url hash: null,
660 verbose parsed url search: null,
660 verbose parsed url query: null,
660 verbose parsed url pathname: 'mkdirp@0.3.5',
660 verbose parsed url path: 'mkdirp@0.3.5',
660 verbose parsed url href: 'mkdirp@0.3.5' }
661 verbose cache add name="mkdirp" spec="0.3.5" args=["mkdirp","0.3.5"]
662 verbose parsed url { protocol: null,
662 verbose parsed url slashes: null,
662 verbose parsed url auth: null,
662 verbose parsed url host: null,
662 verbose parsed url port: null,
662 verbose parsed url hostname: null,
662 verbose parsed url hash: null,
662 verbose parsed url search: null,
662 verbose parsed url query: null,
662 verbose parsed url pathname: '0.3.5',
662 verbose parsed url path: '0.3.5',
662 verbose parsed url href: '0.3.5' }
663 verbose addNamed [ 'mkdirp', '0.3.5' ]
664 verbose addNamed [ '0.3.5', '0.3.5' ]
665 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
666 verbose lock mkdirp@0.3.5 /Volumes/Storage/martincleaver/.npm/67d2df2a-mkdirp-0-3-5.lock
667 verbose cache add [ 'progress@^1.1.5', null ]
668 verbose cache add name=undefined spec="progress@^1.1.5" args=["progress@^1.1.5",null]
669 verbose parsed url { protocol: null,
669 verbose parsed url slashes: null,
669 verbose parsed url auth: null,
669 verbose parsed url host: null,
669 verbose parsed url port: null,
669 verbose parsed url hostname: null,
669 verbose parsed url hash: null,
669 verbose parsed url search: null,
669 verbose parsed url query: null,
669 verbose parsed url pathname: 'progress@^1.1.5',
669 verbose parsed url path: 'progress@^1.1.5',
669 verbose parsed url href: 'progress@^1.1.5' }
670 verbose cache add name="progress" spec="^1.1.5" args=["progress","^1.1.5"]
671 verbose parsed url { protocol: null,
671 verbose parsed url slashes: null,
671 verbose parsed url auth: null,
671 verbose parsed url host: null,
671 verbose parsed url port: null,
671 verbose parsed url hostname: null,
671 verbose parsed url hash: null,
671 verbose parsed url search: null,
671 verbose parsed url query: null,
671 verbose parsed url pathname: '^1.1.5',
671 verbose parsed url path: '^1.1.5',
671 verbose parsed url href: '^1.1.5' }
672 verbose addNamed [ 'progress', '^1.1.5' ]
673 verbose addNamed [ null, '>=1.1.5-0 <2.0.0-0' ]
674 silly lockFile 1621e448-progress-1-1-5 progress@^1.1.5
675 verbose lock progress@^1.1.5 /Volumes/Storage/martincleaver/.npm/1621e448-progress-1-1-5.lock
676 verbose cache add [ 'request@2.36.0', null ]
677 verbose cache add name=undefined spec="request@2.36.0" args=["request@2.36.0",null]
678 verbose parsed url { protocol: null,
678 verbose parsed url slashes: null,
678 verbose parsed url auth: null,
678 verbose parsed url host: null,
678 verbose parsed url port: null,
678 verbose parsed url hostname: null,
678 verbose parsed url hash: null,
678 verbose parsed url search: null,
678 verbose parsed url query: null,
678 verbose parsed url pathname: 'request@2.36.0',
678 verbose parsed url path: 'request@2.36.0',
678 verbose parsed url href: 'request@2.36.0' }
679 verbose cache add name="request" spec="2.36.0" args=["request","2.36.0"]
680 verbose parsed url { protocol: null,
680 verbose parsed url slashes: null,
680 verbose parsed url auth: null,
680 verbose parsed url host: null,
680 verbose parsed url port: null,
680 verbose parsed url hostname: null,
680 verbose parsed url hash: null,
680 verbose parsed url search: null,
680 verbose parsed url query: null,
680 verbose parsed url pathname: '2.36.0',
680 verbose parsed url path: '2.36.0',
680 verbose parsed url href: '2.36.0' }
681 verbose addNamed [ 'request', '2.36.0' ]
682 verbose addNamed [ '2.36.0', '2.36.0' ]
683 silly lockFile 56e6d156-request-2-36-0 request@2.36.0
684 verbose lock request@2.36.0 /Volumes/Storage/martincleaver/.npm/56e6d156-request-2-36-0.lock
685 verbose cache add [ 'request-progress@^0.3.1', null ]
686 verbose cache add name=undefined spec="request-progress@^0.3.1" args=["request-progress@^0.3.1",null]
687 verbose parsed url { protocol: null,
687 verbose parsed url slashes: null,
687 verbose parsed url auth: null,
687 verbose parsed url host: null,
687 verbose parsed url port: null,
687 verbose parsed url hostname: null,
687 verbose parsed url hash: null,
687 verbose parsed url search: null,
687 verbose parsed url query: null,
687 verbose parsed url pathname: 'request-progress@^0.3.1',
687 verbose parsed url path: 'request-progress@^0.3.1',
687 verbose parsed url href: 'request-progress@^0.3.1' }
688 verbose cache add name="request-progress" spec="^0.3.1" args=["request-progress","^0.3.1"]
689 verbose parsed url { protocol: null,
689 verbose parsed url slashes: null,
689 verbose parsed url auth: null,
689 verbose parsed url host: null,
689 verbose parsed url port: null,
689 verbose parsed url hostname: null,
689 verbose parsed url hash: null,
689 verbose parsed url search: null,
689 verbose parsed url query: null,
689 verbose parsed url pathname: '^0.3.1',
689 verbose parsed url path: '^0.3.1',
689 verbose parsed url href: '^0.3.1' }
690 verbose addNamed [ 'request-progress', '^0.3.1' ]
691 verbose addNamed [ null, '>=0.3.1-0 <0.4.0-0' ]
692 silly lockFile f4030858-request-progress-0-3-1 request-progress@^0.3.1
693 verbose lock request-progress@^0.3.1 /Volumes/Storage/martincleaver/.npm/f4030858-request-progress-0-3-1.lock
694 verbose cache add [ 'rimraf@~2.2.2', null ]
695 verbose cache add name=undefined spec="rimraf@~2.2.2" args=["rimraf@~2.2.2",null]
696 verbose parsed url { protocol: null,
696 verbose parsed url slashes: null,
696 verbose parsed url auth: null,
696 verbose parsed url host: null,
696 verbose parsed url port: null,
696 verbose parsed url hostname: null,
696 verbose parsed url hash: null,
696 verbose parsed url search: null,
696 verbose parsed url query: null,
696 verbose parsed url pathname: 'rimraf@~2.2.2',
696 verbose parsed url path: 'rimraf@~2.2.2',
696 verbose parsed url href: 'rimraf@~2.2.2' }
697 verbose cache add name="rimraf" spec="~2.2.2" args=["rimraf","~2.2.2"]
698 verbose parsed url { protocol: null,
698 verbose parsed url slashes: null,
698 verbose parsed url auth: null,
698 verbose parsed url host: null,
698 verbose parsed url port: null,
698 verbose parsed url hostname: null,
698 verbose parsed url hash: null,
698 verbose parsed url search: null,
698 verbose parsed url query: null,
698 verbose parsed url pathname: '~2.2.2',
698 verbose parsed url path: '~2.2.2',
698 verbose parsed url href: '~2.2.2' }
699 verbose addNamed [ 'rimraf', '~2.2.2' ]
700 verbose addNamed [ null, '>=2.2.2-0 <2.3.0-0' ]
701 silly lockFile 6c46433c-rimraf-2-2-2 rimraf@~2.2.2
702 verbose lock rimraf@~2.2.2 /Volumes/Storage/martincleaver/.npm/6c46433c-rimraf-2-2-2.lock
703 verbose cache add [ 'which@~1.0.5', null ]
704 verbose cache add name=undefined spec="which@~1.0.5" args=["which@~1.0.5",null]
705 verbose parsed url { protocol: null,
705 verbose parsed url slashes: null,
705 verbose parsed url auth: null,
705 verbose parsed url host: null,
705 verbose parsed url port: null,
705 verbose parsed url hostname: null,
705 verbose parsed url hash: null,
705 verbose parsed url search: null,
705 verbose parsed url query: null,
705 verbose parsed url pathname: 'which@~1.0.5',
705 verbose parsed url path: 'which@~1.0.5',
705 verbose parsed url href: 'which@~1.0.5' }
706 verbose cache add name="which" spec="~1.0.5" args=["which","~1.0.5"]
707 verbose parsed url { protocol: null,
707 verbose parsed url slashes: null,
707 verbose parsed url auth: null,
707 verbose parsed url host: null,
707 verbose parsed url port: null,
707 verbose parsed url hostname: null,
707 verbose parsed url hash: null,
707 verbose parsed url search: null,
707 verbose parsed url query: null,
707 verbose parsed url pathname: '~1.0.5',
707 verbose parsed url path: '~1.0.5',
707 verbose parsed url href: '~1.0.5' }
708 verbose addNamed [ 'which', '~1.0.5' ]
709 verbose addNamed [ null, '>=1.0.5-0 <1.1.0-0' ]
710 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
711 verbose lock which@~1.0.5 /Volumes/Storage/martincleaver/.npm/d158d65e-which-1-0-5.lock
712 verbose url raw kew
713 verbose url resolving [ 'https://registry.npmjs.org/', './kew' ]
714 verbose url resolved https://registry.npmjs.org/kew
715 info trying registry request attempt 1 at 19:41:50
716 http GET https://registry.npmjs.org/kew
717 verbose url raw adm-zip/0.2.1
718 verbose url resolving [ 'https://registry.npmjs.org/', './adm-zip/0.2.1' ]
719 verbose url resolved https://registry.npmjs.org/adm-zip/0.2.1
720 info trying registry request attempt 1 at 19:41:50
721 http GET https://registry.npmjs.org/adm-zip/0.2.1
722 silly addNameRange { name: 'progress', range: '>=1.1.5-0 <2.0.0-0', hasData: false }
723 silly addNameRange { name: 'request-progress',
723 silly addNameRange range: '>=0.3.1-0 <0.4.0-0',
723 silly addNameRange hasData: false }
724 verbose url raw ncp/0.4.2
725 verbose url resolving [ 'https://registry.npmjs.org/', './ncp/0.4.2' ]
726 verbose url resolved https://registry.npmjs.org/ncp/0.4.2
727 info trying registry request attempt 1 at 19:41:50
728 http GET https://registry.npmjs.org/ncp/0.4.2
729 silly addNameRange { name: 'rimraf', range: '>=2.2.2-0 <2.3.0-0', hasData: false }
730 silly addNameRange { name: 'which', range: '>=1.0.5-0 <1.1.0-0', hasData: false }
731 verbose url raw npmconf/0.0.24
732 verbose url resolving [ 'https://registry.npmjs.org/', './npmconf/0.0.24' ]
733 verbose url resolved https://registry.npmjs.org/npmconf/0.0.24
734 info trying registry request attempt 1 at 19:41:50
735 http GET https://registry.npmjs.org/npmconf/0.0.24
736 verbose url raw request/2.36.0
737 verbose url resolving [ 'https://registry.npmjs.org/', './request/2.36.0' ]
738 verbose url resolved https://registry.npmjs.org/request/2.36.0
739 info trying registry request attempt 1 at 19:41:50
740 http GET https://registry.npmjs.org/request/2.36.0
741 http 200 https://registry.npmjs.org/karma
742 silly registry.get cb [ 200,
742 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:50 GMT',
742 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
742 silly registry.get etag: '"9WQUDFORT8ZSHBNJSN1Q7HWBA"',
742 silly registry.get 'content-type': 'application/json',
742 silly registry.get 'cache-control': 'max-age=60',
742 silly registry.get 'content-length': '485015',
742 silly registry.get 'accept-ranges': 'bytes',
742 silly registry.get via: '1.1 varnish',
742 silly registry.get age: '541',
742 silly registry.get 'x-served-by': 'cache-iad2128-IAD',
742 silly registry.get 'x-cache': 'HIT',
742 silly registry.get 'x-cache-hits': '3',
742 silly registry.get 'x-timer': 'S1407886910.997918,VS0,VE0',
742 silly registry.get vary: 'Accept',
742 silly registry.get 'keep-alive': 'timeout=10, max=50',
742 silly registry.get connection: 'Keep-Alive' } ]
743 verbose url raw mkdirp/0.3.5
744 verbose url resolving [ 'https://registry.npmjs.org/', './mkdirp/0.3.5' ]
745 verbose url resolved https://registry.npmjs.org/mkdirp/0.3.5
746 info trying registry request attempt 1 at 19:41:50
747 verbose etag "ABVUF2V8SJ2V5A09LGERBSCDG"
748 http GET https://registry.npmjs.org/mkdirp/0.3.5
749 verbose url raw rimraf
750 verbose url resolving [ 'https://registry.npmjs.org/', './rimraf' ]
751 verbose url resolved https://registry.npmjs.org/rimraf
752 info trying registry request attempt 1 at 19:41:50
753 verbose etag "EHAQTVXOBJCQKE3YC66ET358S"
754 http GET https://registry.npmjs.org/rimraf
755 http 200 https://registry.npmjs.org/request/2.36.0
756 silly registry.get cb [ 200,
756 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:51 GMT',
756 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
756 silly registry.get etag: '"4TC6LHSH3ELKT7JZYWV564D1V"',
756 silly registry.get 'content-type': 'application/json',
756 silly registry.get 'cache-control': 'max-age=60',
756 silly registry.get 'content-length': '1285',
756 silly registry.get 'accept-ranges': 'bytes',
756 silly registry.get via: '1.1 varnish',
756 silly registry.get age: '75',
756 silly registry.get 'x-served-by': 'cache-iad2128-IAD',
756 silly registry.get 'x-cache': 'HIT',
756 silly registry.get 'x-cache-hits': '1',
756 silly registry.get 'x-timer': 'S1407886911.300715,VS0,VE0',
756 silly registry.get vary: 'Accept',
756 silly registry.get 'keep-alive': 'timeout=10, max=49',
756 silly registry.get connection: 'Keep-Alive' } ]
757 http 200 https://registry.npmjs.org/karma/-/karma-0.12.21.tgz
758 silly addNameRange number 2 { name: 'karma', range: '>=0.12.0-0 <0.13.0-0', hasData: true }
759 silly addNameRange versions [ 'karma',
759 silly addNameRange [ '0.8.0',
759 silly addNameRange '0.9.0-dart',
759 silly addNameRange '0.8.1',
759 silly addNameRange '0.8.2',
759 silly addNameRange '0.8.3',
759 silly addNameRange '0.9.0',
759 silly addNameRange '0.8.4',
759 silly addNameRange '0.9.1',
759 silly addNameRange '0.8.5',
759 silly addNameRange '0.9.2',
759 silly addNameRange '0.9.2-dart',
759 silly addNameRange '0.9.3',
759 silly addNameRange '0.8.6',
759 silly addNameRange '0.9.4',
759 silly addNameRange '0.8.7',
759 silly addNameRange '0.9.5',
759 silly addNameRange '0.9.6',
759 silly addNameRange '0.8.8',
759 silly addNameRange '0.9.7',
759 silly addNameRange '0.9.8',
759 silly addNameRange '0.10.0',
759 silly addNameRange '0.10.1',
759 silly addNameRange '0.10.2',
759 silly addNameRange '0.11.0',
759 silly addNameRange '0.11.1',
759 silly addNameRange '0.10.3',
759 silly addNameRange '0.10.4',
759 silly addNameRange '0.11.2',
759 silly addNameRange '0.11.3',
759 silly addNameRange '0.10.5',
759 silly addNameRange '0.11.4',
759 silly addNameRange '0.11.5',
759 silly addNameRange '0.10.6',
759 silly addNameRange '0.11.6',
759 silly addNameRange '0.10.7',
759 silly addNameRange '0.11.7',
759 silly addNameRange '0.11.8',
759 silly addNameRange '0.11.9',
759 silly addNameRange '0.10.8',
759 silly addNameRange '0.11.10',
759 silly addNameRange '0.11.11',
759 silly addNameRange '0.11.12',
759 silly addNameRange '0.11.11-dev',
759 silly addNameRange '0.10.9',
759 silly addNameRange '0.11.12-dev',
759 silly addNameRange '0.11.12-dev2',
759 silly addNameRange '0.11.13',
759 silly addNameRange '0.11.14',
759 silly addNameRange '0.12.0',
759 silly addNameRange '0.10.10',
759 silly addNameRange '0.12.1',
759 silly addNameRange '0.12.2',
759 silly addNameRange '0.12.3',
759 silly addNameRange '0.12.4',
759 silly addNameRange '0.12.5',
759 silly addNameRange '0.12.6',
759 silly addNameRange '0.12.6-beta-43e6e28',
759 silly addNameRange '0.12.7',
759 silly addNameRange '0.12.8',
759 silly addNameRange '0.12.9',
759 silly addNameRange '0.12.10',
759 silly addNameRange '0.12.11',
759 silly addNameRange '0.12.12',
759 silly addNameRange '0.12.11-beta-3029418',
759 silly addNameRange '0.12.13',
759 silly addNameRange '0.12.14',
759 silly addNameRange '0.12.15',
759 silly addNameRange '0.12.16',
759 silly addNameRange '0.12.16-beta-905422d',
759 silly addNameRange '0.12.17',
759 silly addNameRange '0.12.18',
759 silly addNameRange '0.12.19',
759 silly addNameRange '0.12.20',
759 silly addNameRange '0.12.21' ] ]
760 verbose addNamed [ 'karma', '0.12.21' ]
761 silly lockFile 6d2d5533-s-org-request-request-2-36-0-tgz https://registry.npmjs.org/request/-/request-2.36.0.tgz
762 verbose lock https://registry.npmjs.org/request/-/request-2.36.0.tgz /Volumes/Storage/martincleaver/.npm/6d2d5533-s-org-request-request-2-36-0-tgz.lock
763 verbose addRemoteTarball [ 'https://registry.npmjs.org/request/-/request-2.36.0.tgz',
763 verbose addRemoteTarball '28c6c04262c7b9ffdd21b9255374517ee6d943f5' ]
764 info retry fetch attempt 1 at 19:41:50
765 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/tmp.tgz
766 http GET https://registry.npmjs.org/request/-/request-2.36.0.tgz
767 http 200 https://registry.npmjs.org/mkdirp/0.3.5
768 silly registry.get cb [ 200,
768 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:51 GMT',
768 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
768 silly registry.get etag: '"F17Q7UKYGSABJTXY4YCL38IZK"',
768 silly registry.get 'content-type': 'application/json',
768 silly registry.get 'cache-control': 'max-age=60',
768 silly registry.get 'content-length': '712',
768 silly registry.get 'accept-ranges': 'bytes',
768 silly registry.get via: '1.1 varnish',
768 silly registry.get age: '1934',
768 silly registry.get 'x-served-by': 'cache-iad2128-IAD',
768 silly registry.get 'x-cache': 'HIT',
768 silly registry.get 'x-cache-hits': '1',
768 silly registry.get 'x-timer': 'S1407886911.360822,VS0,VE0',
768 silly registry.get vary: 'Accept',
768 silly registry.get 'keep-alive': 'timeout=10, max=48',
768 silly registry.get connection: 'Keep-Alive' } ]
769 http 304 https://registry.npmjs.org/rimraf
770 silly registry.get cb [ 304,
770 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:51 GMT',
770 silly registry.get server: 'Apache',
770 silly registry.get via: '1.1 varnish',
770 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:40:54 GMT',
770 silly registry.get 'cache-control': 'max-age=60',
770 silly registry.get etag: '"EHAQTVXOBJCQKE3YC66ET358S"',
770 silly registry.get 'x-served-by': 'cache-iad2128-IAD',
770 silly registry.get 'x-cache': 'HIT',
770 silly registry.get 'x-cache-hits': '5',
770 silly registry.get 'x-timer': 'S1407886911.395840,VS0,VE0',
770 silly registry.get vary: 'Accept',
770 silly registry.get 'content-length': '0',
770 silly registry.get 'keep-alive': 'timeout=10, max=47',
770 silly registry.get connection: 'Keep-Alive' } ]
771 verbose etag rimraf from cache
772 http 200 https://registry.npmjs.org/ncp/0.4.2
773 silly registry.get cb [ 200,
773 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:51 GMT',
773 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
773 silly registry.get etag: '"C7464TO8R5VVXQRAK18ZO3CPL"',
773 silly registry.get 'content-type': 'application/json',
773 silly registry.get 'cache-control': 'max-age=60',
773 silly registry.get 'content-length': '796',
773 silly registry.get 'accept-ranges': 'bytes',
773 silly registry.get via: '1.1 varnish',
773 silly registry.get age: '139',
773 silly registry.get 'x-served-by': 'cache-iad2132-IAD',
773 silly registry.get 'x-cache': 'HIT',
773 silly registry.get 'x-cache-hits': '1',
773 silly registry.get 'x-timer': 'S1407886911.399708,VS0,VE0',
773 silly registry.get vary: 'Accept',
773 silly registry.get 'keep-alive': 'timeout=10, max=50',
773 silly registry.get connection: 'Keep-Alive' } ]
774 http 200 https://registry.npmjs.org/adm-zip/0.2.1
775 silly registry.get cb [ 200,
775 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:51 GMT',
775 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
775 silly registry.get etag: '"DDQSILSYFXVXQW3TT53EYI45O"',
775 silly registry.get 'content-type': 'application/json',
775 silly registry.get 'cache-control': 'max-age=60',
775 silly registry.get 'content-length': '1018',
775 silly registry.get 'accept-ranges': 'bytes',
775 silly registry.get via: '1.1 varnish',
775 silly registry.get age: '544',
775 silly registry.get 'x-served-by': 'cache-iad2133-IAD',
775 silly registry.get 'x-cache': 'HIT',
775 silly registry.get 'x-cache-hits': '1',
775 silly registry.get 'x-timer': 'S1407886911.402844,VS0,VE0',
775 silly registry.get vary: 'Accept',
775 silly registry.get 'keep-alive': 'timeout=10, max=50',
775 silly registry.get connection: 'Keep-Alive' } ]
776 http 200 https://registry.npmjs.org/npmconf/0.0.24
777 silly registry.get cb [ 200,
777 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:51 GMT',
777 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
777 silly registry.get etag: '"2V3BDVXHQBXUF1PTU3O5KKXQ8"',
777 silly registry.get 'content-type': 'application/json',
777 silly registry.get 'cache-control': 'max-age=60',
777 silly registry.get 'content-length': '852',
777 silly registry.get 'accept-ranges': 'bytes',
777 silly registry.get via: '1.1 varnish',
777 silly registry.get age: '822',
777 silly registry.get 'x-served-by': 'cache-iad2121-IAD',
777 silly registry.get 'x-cache': 'HIT',
777 silly registry.get 'x-cache-hits': '1',
777 silly registry.get 'x-timer': 'S1407886911.400518,VS0,VE0',
777 silly registry.get vary: 'Accept',
777 silly registry.get 'keep-alive': 'timeout=10, max=50',
777 silly registry.get connection: 'Keep-Alive' } ]
778 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/tmp.tgz
779 silly lockFile b9257b58-0631-0-08721110131591558-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/package
780 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/package /Volumes/Storage/martincleaver/.npm/b9257b58-0631-0-08721110131591558-package.lock
781 silly lockFile 6e6d1a73-0631-0-08721110131591558-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/tmp.tgz
782 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/tmp.tgz /Volumes/Storage/martincleaver/.npm/6e6d1a73-0631-0-08721110131591558-tmp-tgz.lock
783 verbose url raw which
784 verbose url resolving [ 'https://registry.npmjs.org/', './which' ]
785 verbose url resolved https://registry.npmjs.org/which
786 info trying registry request attempt 1 at 19:41:50
787 verbose etag "C5OZGLPWJXOUCFFVEHEOJPH1W"
788 http GET https://registry.npmjs.org/which
789 verbose url raw request-progress
790 verbose url resolving [ 'https://registry.npmjs.org/', './request-progress' ]
791 verbose url resolved https://registry.npmjs.org/request-progress
792 info trying registry request attempt 1 at 19:41:50
793 verbose etag "B88PH1RS5POG6U7T8DJ4EQGHH"
794 http GET https://registry.npmjs.org/request-progress
795 verbose url raw progress
796 verbose url resolving [ 'https://registry.npmjs.org/', './progress' ]
797 verbose url resolved https://registry.npmjs.org/progress
798 info trying registry request attempt 1 at 19:41:50
799 verbose etag "CNZMFSSQMBHGWFWNWML5HYK46"
800 http GET https://registry.npmjs.org/progress
801 http 200 https://registry.npmjs.org/kew
802 silly registry.get cb [ 200,
802 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:51 GMT',
802 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
802 silly registry.get etag: '"CHQ36986F05XMW5R8HRE8XLDR"',
802 silly registry.get 'content-type': 'application/json',
802 silly registry.get 'cache-control': 'max-age=60',
802 silly registry.get 'content-length': '29169',
802 silly registry.get 'accept-ranges': 'bytes',
802 silly registry.get via: '1.1 varnish',
802 silly registry.get age: '1695',
802 silly registry.get 'x-served-by': 'cache-iad2135-IAD',
802 silly registry.get 'x-cache': 'HIT',
802 silly registry.get 'x-cache-hits': '1',
802 silly registry.get 'x-timer': 'S1407886911.400692,VS0,VE0',
802 silly registry.get vary: 'Accept',
802 silly registry.get 'keep-alive': 'timeout=10, max=50',
802 silly registry.get connection: 'Keep-Alive' } ]
803 silly gunzTarPerm modes [ '755', '644' ]
804 silly lockFile 7b2ebe55-pmjs-org-mkdirp-mkdirp-0-3-5-tgz https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
805 verbose lock https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz /Volumes/Storage/martincleaver/.npm/7b2ebe55-pmjs-org-mkdirp-mkdirp-0-3-5-tgz.lock
806 silly addNameRange number 2 { name: 'rimraf', range: '>=2.2.2-0 <2.3.0-0', hasData: true }
807 silly addNameRange versions [ 'rimraf',
807 silly addNameRange [ '1.0.0',
807 silly addNameRange '1.0.1',
807 silly addNameRange '1.0.2',
807 silly addNameRange '1.0.4',
807 silly addNameRange '1.0.5',
807 silly addNameRange '1.0.6',
807 silly addNameRange '1.0.7',
807 silly addNameRange '1.0.8',
807 silly addNameRange '1.0.9',
807 silly addNameRange '2.0.0',
807 silly addNameRange '2.0.1',
807 silly addNameRange '2.0.2',
807 silly addNameRange '2.0.3',
807 silly addNameRange '2.1.0',
807 silly addNameRange '2.1.1',
807 silly addNameRange '2.1.2',
807 silly addNameRange '2.1.3',
807 silly addNameRange '2.1.4',
807 silly addNameRange '2.2.0',
807 silly addNameRange '2.2.1',
807 silly addNameRange '2.2.2',
807 silly addNameRange '2.2.3',
807 silly addNameRange '2.2.4',
807 silly addNameRange '2.2.5',
807 silly addNameRange '2.2.6',
807 silly addNameRange '2.2.8' ] ]
808 verbose addNamed [ 'rimraf', '2.2.8' ]
809 verbose addNamed [ '2.2.8', '2.2.8' ]
810 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
811 verbose lock rimraf@2.2.8 /Volumes/Storage/martincleaver/.npm/b87241a4-rimraf-2-2-8.lock
812 verbose addRemoteTarball [ 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz',
812 verbose addRemoteTarball 'de3e5f8961c88c787ee1368df849ac4413eca8d7' ]
813 info retry fetch attempt 1 at 19:41:50
814 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/tmp.tgz
815 silly lockFile b3172d45-stry-npmjs-org-ncp-ncp-0-4-2-tgz https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz
816 verbose lock https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz /Volumes/Storage/martincleaver/.npm/b3172d45-stry-npmjs-org-ncp-ncp-0-4-2-tgz.lock
817 silly lockFile 4638a7dc-js-org-adm-zip-adm-zip-0-2-1-tgz https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz
818 verbose lock https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz /Volumes/Storage/martincleaver/.npm/4638a7dc-js-org-adm-zip-adm-zip-0-2-1-tgz.lock
819 silly lockFile 9d788611-s-org-npmconf-npmconf-0-0-24-tgz https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz
820 verbose lock https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz /Volumes/Storage/martincleaver/.npm/9d788611-s-org-npmconf-npmconf-0-0-24-tgz.lock
821 http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
822 verbose addRemoteTarball [ 'https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz',
822 verbose addRemoteTarball 'abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574' ]
823 silly gunzTarPerm extractEntry package.json
824 silly gunzTarPerm modified mode [ 'package.json', 436, 420 ]
825 verbose addRemoteTarball [ 'https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz',
825 verbose addRemoteTarball 'e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf' ]
826 verbose addRemoteTarball [ 'https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz',
826 verbose addRemoteTarball 'b78875b088ccc3c0afa3eceb3ce3244b1b52390c' ]
827 info retry fetch attempt 1 at 19:41:50
828 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/tmp.tgz
829 info retry fetch attempt 1 at 19:41:50
830 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/tmp.tgz
831 info retry fetch attempt 1 at 19:41:50
832 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/tmp.tgz
833 silly addNameRange number 2 { name: 'kew', range: '>=0.1.7-0 <0.2.0-0', hasData: true }
834 silly addNameRange versions [ 'kew',
834 silly addNameRange [ '0.0.1',
834 silly addNameRange '0.0.2',
834 silly addNameRange '0.0.3',
834 silly addNameRange '0.0.4',
834 silly addNameRange '0.1.0',
834 silly addNameRange '0.1.1',
834 silly addNameRange '0.1.2',
834 silly addNameRange '0.1.3',
834 silly addNameRange '0.1.4',
834 silly addNameRange '0.1.5',
834 silly addNameRange '0.1.6',
834 silly addNameRange '0.1.7',
834 silly addNameRange '0.2.1',
834 silly addNameRange '0.2.2',
834 silly addNameRange '0.3.0',
834 silly addNameRange '0.3.1',
834 silly addNameRange '0.3.2',
834 silly addNameRange '0.3.3',
834 silly addNameRange '0.3.4',
834 silly addNameRange '0.4.0' ] ]
835 verbose addNamed [ 'kew', '0.1.7' ]
836 verbose addNamed [ '0.1.7', '0.1.7' ]
837 silly lockFile 69cee516-kew-0-1-7 kew@0.1.7
838 verbose lock kew@0.1.7 /Volumes/Storage/martincleaver/.npm/69cee516-kew-0-1-7.lock
839 http GET https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz
840 http GET https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz
841 http GET https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz
842 silly gunzTarPerm extractEntry README.md
843 silly gunzTarPerm modified mode [ 'README.md', 436, 420 ]
844 silly gunzTarPerm extractEntry LICENSE
845 silly gunzTarPerm modified mode [ 'LICENSE', 436, 420 ]
846 silly lockFile aec53095-stry-npmjs-org-kew-kew-0-1-7-tgz https://registry.npmjs.org/kew/-/kew-0.1.7.tgz
847 verbose lock https://registry.npmjs.org/kew/-/kew-0.1.7.tgz /Volumes/Storage/martincleaver/.npm/aec53095-stry-npmjs-org-kew-kew-0-1-7-tgz.lock
848 verbose addRemoteTarball [ 'https://registry.npmjs.org/kew/-/kew-0.1.7.tgz',
848 verbose addRemoteTarball '0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72' ]
849 info retry fetch attempt 1 at 19:41:50
850 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/tmp.tgz
851 http GET https://registry.npmjs.org/kew/-/kew-0.1.7.tgz
852 silly gunzTarPerm extractEntry config.tpl.js
853 silly gunzTarPerm modified mode [ 'config.tpl.js', 436, 420 ]
854 silly gunzTarPerm extractEntry requirejs.config.tpl.js
855 silly gunzTarPerm modified mode [ 'requirejs.config.tpl.js', 436, 420 ]
856 silly gunzTarPerm extractEntry CHANGELOG.md
857 silly gunzTarPerm modified mode [ 'CHANGELOG.md', 436, 420 ]
858 silly gunzTarPerm extractEntry bin/karma
859 silly gunzTarPerm modified mode [ 'bin/karma', 509, 493 ]
860 silly gunzTarPerm extractEntry config.tpl.coffee
861 silly gunzTarPerm modified mode [ 'config.tpl.coffee', 436, 420 ]
862 silly gunzTarPerm extractEntry config.tpl.ls
863 silly gunzTarPerm modified mode [ 'config.tpl.ls', 436, 420 ]
864 silly gunzTarPerm extractEntry karma-completion.sh
865 silly gunzTarPerm modified mode [ 'karma-completion.sh', 436, 420 ]
866 silly gunzTarPerm extractEntry lib/browser.js
867 silly gunzTarPerm modified mode [ 'lib/browser.js', 436, 420 ]
868 silly gunzTarPerm extractEntry lib/events.js
869 silly gunzTarPerm modified mode [ 'lib/events.js', 436, 420 ]
870 silly gunzTarPerm extractEntry lib/executor.js
871 silly gunzTarPerm modified mode [ 'lib/executor.js', 436, 420 ]
872 silly gunzTarPerm extractEntry lib/file_list.js
873 silly gunzTarPerm modified mode [ 'lib/file_list.js', 436, 420 ]
874 silly gunzTarPerm extractEntry lib/helper.js
875 silly gunzTarPerm modified mode [ 'lib/helper.js', 436, 420 ]
876 silly gunzTarPerm extractEntry lib/emitter_wrapper.js
877 silly gunzTarPerm modified mode [ 'lib/emitter_wrapper.js', 436, 420 ]
878 silly gunzTarPerm extractEntry lib/watcher.js
879 silly gunzTarPerm modified mode [ 'lib/watcher.js', 436, 420 ]
880 silly gunzTarPerm extractEntry lib/browser_collection.js
881 silly gunzTarPerm modified mode [ 'lib/browser_collection.js', 436, 420 ]
882 silly gunzTarPerm extractEntry lib/launcher.js
883 silly gunzTarPerm modified mode [ 'lib/launcher.js', 436, 420 ]
884 silly gunzTarPerm extractEntry lib/temp_dir.js
885 silly gunzTarPerm modified mode [ 'lib/temp_dir.js', 436, 420 ]
886 silly gunzTarPerm extractEntry lib/logger.js
887 silly gunzTarPerm modified mode [ 'lib/logger.js', 436, 420 ]
888 silly gunzTarPerm extractEntry lib/constants.js
889 silly gunzTarPerm modified mode [ 'lib/constants.js', 436, 420 ]
890 silly gunzTarPerm extractEntry lib/server.js
891 silly gunzTarPerm modified mode [ 'lib/server.js', 436, 420 ]
892 silly gunzTarPerm extractEntry lib/config.js
893 silly gunzTarPerm modified mode [ 'lib/config.js', 436, 420 ]
894 silly gunzTarPerm extractEntry lib/plugin.js
895 silly gunzTarPerm modified mode [ 'lib/plugin.js', 436, 420 ]
896 silly gunzTarPerm extractEntry lib/completion.js
897 silly gunzTarPerm modified mode [ 'lib/completion.js', 436, 420 ]
898 silly gunzTarPerm extractEntry lib/preprocessor.js
899 silly gunzTarPerm modified mode [ 'lib/preprocessor.js', 436, 420 ]
900 silly gunzTarPerm extractEntry lib/cli.js
901 silly gunzTarPerm modified mode [ 'lib/cli.js', 436, 420 ]
902 silly gunzTarPerm extractEntry lib/reporter.js
903 silly gunzTarPerm modified mode [ 'lib/reporter.js', 436, 420 ]
904 silly gunzTarPerm extractEntry lib/browser_result.js
905 silly gunzTarPerm modified mode [ 'lib/browser_result.js', 436, 420 ]
906 silly gunzTarPerm extractEntry lib/runner.js
907 silly gunzTarPerm modified mode [ 'lib/runner.js', 436, 420 ]
908 silly gunzTarPerm extractEntry lib/index.js
909 silly gunzTarPerm modified mode [ 'lib/index.js', 436, 420 ]
910 silly gunzTarPerm extractEntry lib/web-server.js
911 silly gunzTarPerm modified mode [ 'lib/web-server.js', 436, 420 ]
912 silly gunzTarPerm extractEntry lib/init.js
913 silly gunzTarPerm modified mode [ 'lib/init.js', 509, 493 ]
914 silly gunzTarPerm extractEntry lib/reporters/base.js
915 silly gunzTarPerm modified mode [ 'lib/reporters/base.js', 436, 420 ]
916 silly gunzTarPerm extractEntry lib/reporters/base_color.js
917 silly gunzTarPerm modified mode [ 'lib/reporters/base_color.js', 436, 420 ]
918 silly gunzTarPerm extractEntry lib/reporters/dots.js
919 silly gunzTarPerm modified mode [ 'lib/reporters/dots.js', 436, 420 ]
920 silly gunzTarPerm extractEntry lib/reporters/dots_color.js
921 silly gunzTarPerm modified mode [ 'lib/reporters/dots_color.js', 436, 420 ]
922 silly gunzTarPerm extractEntry lib/reporters/multi.js
923 silly gunzTarPerm modified mode [ 'lib/reporters/multi.js', 436, 420 ]
924 silly gunzTarPerm extractEntry lib/reporters/progress.js
925 silly gunzTarPerm modified mode [ 'lib/reporters/progress.js', 436, 420 ]
926 silly gunzTarPerm extractEntry lib/reporters/progress_color.js
927 silly gunzTarPerm modified mode [ 'lib/reporters/progress_color.js', 436, 420 ]
928 silly gunzTarPerm extractEntry lib/middleware/common.js
929 silly gunzTarPerm modified mode [ 'lib/middleware/common.js', 436, 420 ]
930 silly gunzTarPerm extractEntry lib/middleware/karma.js
931 silly gunzTarPerm modified mode [ 'lib/middleware/karma.js', 436, 420 ]
932 silly gunzTarPerm extractEntry lib/middleware/proxy.js
933 silly gunzTarPerm modified mode [ 'lib/middleware/proxy.js', 436, 420 ]
934 silly gunzTarPerm extractEntry lib/middleware/runner.js
935 silly gunzTarPerm modified mode [ 'lib/middleware/runner.js', 436, 420 ]
936 silly gunzTarPerm extractEntry lib/middleware/source_files.js
937 silly gunzTarPerm modified mode [ 'lib/middleware/source_files.js', 436, 420 ]
938 silly gunzTarPerm extractEntry lib/middleware/strip_host.js
939 silly gunzTarPerm modified mode [ 'lib/middleware/strip_host.js', 436, 420 ]
940 silly gunzTarPerm extractEntry lib/launchers/base.js
941 silly gunzTarPerm modified mode [ 'lib/launchers/base.js', 436, 420 ]
942 silly gunzTarPerm extractEntry lib/launchers/capture_timeout.js
943 silly gunzTarPerm modified mode [ 'lib/launchers/capture_timeout.js', 436, 420 ]
944 silly gunzTarPerm extractEntry lib/launchers/process.js
945 silly gunzTarPerm modified mode [ 'lib/launchers/process.js', 436, 420 ]
946 silly gunzTarPerm extractEntry lib/launchers/retry.js
947 silly gunzTarPerm modified mode [ 'lib/launchers/retry.js', 436, 420 ]
948 silly gunzTarPerm extractEntry lib/init/color_schemes.js
949 silly gunzTarPerm modified mode [ 'lib/init/color_schemes.js', 436, 420 ]
950 silly gunzTarPerm extractEntry lib/init/formatters.js
951 silly gunzTarPerm modified mode [ 'lib/init/formatters.js', 436, 420 ]
952 silly gunzTarPerm extractEntry lib/init/state_machine.js
953 silly gunzTarPerm modified mode [ 'lib/init/state_machine.js', 436, 420 ]
954 silly gunzTarPerm extractEntry requirejs.config.tpl.coffee
955 silly gunzTarPerm modified mode [ 'requirejs.config.tpl.coffee', 436, 420 ]
956 silly gunzTarPerm extractEntry static/karma.js
957 silly gunzTarPerm modified mode [ 'static/karma.js', 436, 420 ]
958 silly gunzTarPerm extractEntry static/client.html
959 silly gunzTarPerm modified mode [ 'static/client.html', 436, 420 ]
960 silly gunzTarPerm extractEntry static/context.html
961 silly gunzTarPerm modified mode [ 'static/context.html', 436, 420 ]
962 silly gunzTarPerm extractEntry static/debug.html
963 silly gunzTarPerm modified mode [ 'static/debug.html', 436, 420 ]
964 http 200 https://registry.npmjs.org/request/-/request-2.36.0.tgz
965 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
966 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
967 silly lockFile 6c46433c-rimraf-2-2-2 rimraf@~2.2.2
968 silly lockFile 6c46433c-rimraf-2-2-2 rimraf@~2.2.2
969 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/tmp.tgz
970 silly lockFile 3c34559d-0874-0-36668627709150314-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/package
971 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/package /Volumes/Storage/martincleaver/.npm/3c34559d-0874-0-36668627709150314-package.lock
972 silly lockFile b6c80901-0874-0-36668627709150314-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/tmp.tgz
973 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/tmp.tgz /Volumes/Storage/martincleaver/.npm/b6c80901-0874-0-36668627709150314-tmp-tgz.lock
974 silly gunzTarPerm modes [ '755', '644' ]
975 silly gunzTarPerm extractEntry package.json
976 silly gunzTarPerm extractEntry .npmignore
977 silly gunzTarPerm extractEntry README.md
978 silly gunzTarPerm extractEntry LICENSE
979 silly gunzTarPerm extractEntry index.js
980 silly gunzTarPerm extractEntry request.js
981 http 200 https://registry.npmjs.org/kew/-/kew-0.1.7.tgz
982 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/tmp.tgz
983 silly lockFile 56e31bb3-10976-0-5739483973011374-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/package
984 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/package /Volumes/Storage/martincleaver/.npm/56e31bb3-10976-0-5739483973011374-package.lock
985 silly lockFile eceb0a6d-10976-0-5739483973011374-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/tmp.tgz
986 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/tmp.tgz /Volumes/Storage/martincleaver/.npm/eceb0a6d-10976-0-5739483973011374-tmp-tgz.lock
987 silly gunzTarPerm modes [ '755', '644' ]
988 silly gunzTarPerm extractEntry .travis.yml
989 silly gunzTarPerm extractEntry CHANGELOG.md
990 silly gunzTarPerm extractEntry package.json
991 silly gunzTarPerm extractEntry .npmignore
992 silly gunzTarPerm extractEntry README.md
993 silly gunzTarPerm extractEntry kew.js
994 silly gunzTarPerm extractEntry LICENSE.TXT
995 silly gunzTarPerm extractEntry test/chain.js
996 silly gunzTarPerm extractEntry test/context.js
997 silly gunzTarPerm extractEntry test/defer.js
998 silly gunzTarPerm extractEntry test/static.js
999 silly gunzTarPerm extractEntry lib/cookies.js
1000 silly gunzTarPerm extractEntry lib/copy.js
1001 silly gunzTarPerm extractEntry lib/debug.js
1002 silly gunzTarPerm extractEntry lib/getSafe.js
1003 silly gunzTarPerm extractEntry lib/optional.js
1004 http 304 https://registry.npmjs.org/which
1005 silly registry.get cb [ 304,
1005 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:51 GMT',
1005 silly registry.get server: 'Apache',
1005 silly registry.get via: '1.1 varnish',
1005 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:11 GMT',
1005 silly registry.get 'cache-control': 'max-age=60',
1005 silly registry.get etag: '"C5OZGLPWJXOUCFFVEHEOJPH1W"',
1005 silly registry.get 'x-served-by': 'cache-iad2120-IAD',
1005 silly registry.get 'x-cache': 'HIT',
1005 silly registry.get 'x-cache-hits': '3',
1005 silly registry.get 'x-timer': 'S1407886911.588684,VS0,VE0',
1005 silly registry.get vary: 'Accept',
1005 silly registry.get 'content-length': '0',
1005 silly registry.get 'keep-alive': 'timeout=10, max=50',
1005 silly registry.get connection: 'Keep-Alive' } ]
1006 verbose etag which from cache
1007 silly addNameRange number 2 { name: 'which', range: '>=1.0.5-0 <1.1.0-0', hasData: true }
1008 silly addNameRange versions [ 'which', [ '1.0.0', '1.0.1', '1.0.2', '1.0.3', '1.0.5' ] ]
1009 verbose addNamed [ 'which', '1.0.5' ]
1010 verbose addNamed [ '1.0.5', '1.0.5' ]
1011 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
1012 verbose lock which@1.0.5 /Volumes/Storage/martincleaver/.npm/4aed4494-which-1-0-5.lock
1013 http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
1014 http 200 https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz
1015 http 200 https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz
1016 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/tmp.tgz
1017 silly lockFile bee06d11-0952-0-21447357418946922-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/package
1018 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/package /Volumes/Storage/martincleaver/.npm/bee06d11-0952-0-21447357418946922-package.lock
1019 silly lockFile 30910859-0952-0-21447357418946922-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/tmp.tgz
1020 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/tmp.tgz /Volumes/Storage/martincleaver/.npm/30910859-0952-0-21447357418946922-tmp-tgz.lock
1021 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/tmp.tgz
1022 silly lockFile 06440c6b-10956-0-2744334687013179-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/package
1023 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/package /Volumes/Storage/martincleaver/.npm/06440c6b-10956-0-2744334687013179-package.lock
1024 silly lockFile 6658aa9f-10956-0-2744334687013179-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/tmp.tgz
1025 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/tmp.tgz /Volumes/Storage/martincleaver/.npm/6658aa9f-10956-0-2744334687013179-tmp-tgz.lock
1026 http 200 https://registry.npmjs.org/progress
1027 silly registry.get cb [ 200,
1027 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:51 GMT',
1027 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
1027 silly registry.get etag: '"82D4FIJF02N99VZ9RSMZF7YQO"',
1027 silly registry.get 'content-type': 'application/json',
1027 silly registry.get 'cache-control': 'max-age=60',
1027 silly registry.get 'content-length': '16387',
1027 silly registry.get 'accept-ranges': 'bytes',
1027 silly registry.get via: '1.1 varnish',
1027 silly registry.get age: '1393',
1027 silly registry.get 'x-served-by': 'cache-iad2133-IAD',
1027 silly registry.get 'x-cache': 'HIT',
1027 silly registry.get 'x-cache-hits': '106',
1027 silly registry.get 'x-timer': 'S1407886911.590350,VS0,VE0',
1027 silly registry.get vary: 'Accept',
1027 silly registry.get 'keep-alive': 'timeout=10, max=50',
1027 silly registry.get connection: 'Keep-Alive' } ]
1028 http 200 https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz
1029 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/tmp.tgz
1030 silly lockFile 194a4529-910957-0-983272970886901-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/package
1031 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/package /Volumes/Storage/martincleaver/.npm/194a4529-910957-0-983272970886901-package.lock
1032 silly lockFile 8ae9d99a-910957-0-983272970886901-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/tmp.tgz
1033 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/tmp.tgz /Volumes/Storage/martincleaver/.npm/8ae9d99a-910957-0-983272970886901-tmp-tgz.lock
1034 silly gunzTarPerm modes [ '755', '644' ]
1035 silly gunzTarPerm modes [ '755', '644' ]
1036 silly gunzTarPerm modes [ '755', '644' ]
1037 silly addNameRange number 2 { name: 'progress', range: '>=1.1.5-0 <2.0.0-0', hasData: true }
1038 silly addNameRange versions [ 'progress',
1038 silly addNameRange [ '0.0.1',
1038 silly addNameRange '0.0.2',
1038 silly addNameRange '0.0.3',
1038 silly addNameRange '0.0.4',
1038 silly addNameRange '0.0.5',
1038 silly addNameRange '0.1.0',
1038 silly addNameRange '1.0.0',
1038 silly addNameRange '1.0.1',
1038 silly addNameRange '1.1.0',
1038 silly addNameRange '1.1.2',
1038 silly addNameRange '1.1.3',
1038 silly addNameRange '1.1.4',
1038 silly addNameRange '1.1.5',
1038 silly addNameRange '1.1.6',
1038 silly addNameRange '1.1.7',
1038 silly addNameRange '1.1.8' ] ]
1039 verbose addNamed [ 'progress', '1.1.8' ]
1040 verbose addNamed [ '1.1.8', '1.1.8' ]
1041 silly lockFile caa8d10f-progress-1-1-8 progress@1.1.8
1042 verbose lock progress@1.1.8 /Volumes/Storage/martincleaver/.npm/caa8d10f-progress-1-1-8.lock
1043 silly gunzTarPerm extractEntry package.json
1044 silly gunzTarPerm extractEntry package.json
1045 silly lockFile 6df68d67--org-progress-progress-1-1-8-tgz https://registry.npmjs.org/progress/-/progress-1.1.8.tgz
1046 verbose lock https://registry.npmjs.org/progress/-/progress-1.1.8.tgz /Volumes/Storage/martincleaver/.npm/6df68d67--org-progress-progress-1-1-8-tgz.lock
1047 silly gunzTarPerm extractEntry .npmignore
1048 silly gunzTarPerm extractEntry README.md
1049 verbose addRemoteTarball [ 'https://registry.npmjs.org/progress/-/progress-1.1.8.tgz',
1049 verbose addRemoteTarball 'e260c78f6161cdd9b0e56cc3e0a85de17c7a57be' ]
1050 silly gunzTarPerm extractEntry .npmignore
1051 silly gunzTarPerm extractEntry LICENSE
1052 silly gunzTarPerm extractEntry package.json
1053 info retry fetch attempt 1 at 19:41:51
1054 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/tmp.tgz
1055 http GET https://registry.npmjs.org/progress/-/progress-1.1.8.tgz
1056 silly gunzTarPerm extractEntry .npmignore
1057 silly gunzTarPerm extractEntry README.md
1058 silly gunzTarPerm extractEntry .travis.yml
1059 silly gunzTarPerm extractEntry bin/ncp
1060 silly gunzTarPerm extractEntry index.js
1061 silly gunzTarPerm extractEntry examples/pow.js
1062 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/tmp.tgz
1063 silly lockFile 87922752-0956-0-10829407582059503-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/package
1064 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/package /Volumes/Storage/martincleaver/.npm/87922752-0956-0-10829407582059503-package.lock
1065 silly lockFile 2abee6ec-0956-0-10829407582059503-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/tmp.tgz
1066 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/tmp.tgz /Volumes/Storage/martincleaver/.npm/2abee6ec-0956-0-10829407582059503-tmp-tgz.lock
1067 silly gunzTarPerm modes [ '755', '644' ]
1068 silly gunzTarPerm extractEntry LICENSE
1069 silly gunzTarPerm extractEntry config-defs.js
1070 silly lockFile 56e31bb3-10976-0-5739483973011374-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/package
1071 silly lockFile 56e31bb3-10976-0-5739483973011374-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/package
1072 silly lockFile eceb0a6d-10976-0-5739483973011374-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/tmp.tgz
1073 silly lockFile eceb0a6d-10976-0-5739483973011374-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/tmp.tgz
1074 silly gunzTarPerm extractEntry lib/ncp.js
1075 silly gunzTarPerm extractEntry LICENSE.md
1076 silly gunzTarPerm extractEntry readme.markdown
1077 silly gunzTarPerm extractEntry test/perm.js
1078 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz',
1078 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/package' ]
1079 verbose tarball /Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1080 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/package
1081 silly lockFile 56e31bb3-10976-0-5739483973011374-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/package
1082 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/package /Volumes/Storage/martincleaver/.npm/56e31bb3-10976-0-5739483973011374-package.lock
1083 silly lockFile 29e82e11-leaver-npm-kew-0-1-7-package-tgz tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1084 verbose lock tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz /Volumes/Storage/martincleaver/.npm/29e82e11-leaver-npm-kew-0-1-7-package-tgz.lock
1085 silly gunzTarPerm extractEntry package.json
1086 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
1087 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
1088 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
1089 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
1090 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
1091 silly gunzTarPerm extractEntry npmconf.js
1092 silly gunzTarPerm extractEntry README.md
1093 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
1094 silly gunzTarPerm extractEntry zipEntry.js
1095 silly gunzTarPerm modified mode [ 'zipEntry.js', 438, 420 ]
1096 silly gunzTarPerm extractEntry test/ncp-test.js
1097 silly gunzTarPerm extractEntry test/fixtures/src/a
1098 silly gunzTarPerm extractEntry test/fixtures/src/b
1099 silly gunzTarPerm extractEntry test/fixtures/src/c
1100 silly gunzTarPerm extractEntry test/fixtures/src/d
1101 silly gunzTarPerm extractEntry test/fixtures/src/e
1102 silly gunzTarPerm extractEntry test/fixtures/src/f
1103 silly gunzTarPerm extractEntry test/fixtures/src/sub/a
1104 silly gunzTarPerm extractEntry test/fixtures/src/sub/b
1105 silly gunzTarPerm extractEntry test/perm_sync.js
1106 silly gunzTarPerm extractEntry test/race.js
1107 silly gunzTarPerm extractEntry sandbox.js
1108 silly gunzTarPerm modified mode [ 'sandbox.js', 438, 420 ]
1109 silly gunzTarPerm extractEntry adm-zip.js
1110 silly gunzTarPerm modified mode [ 'adm-zip.js', 438, 420 ]
1111 silly gunzTarPerm extractEntry test/00-setup.js
1112 silly gunzTarPerm extractEntry test/basic.js
1113 silly gunzTarPerm extractEntry test/rel.js
1114 silly gunzTarPerm extractEntry test/builtin.js
1115 silly gunzTarPerm extractEntry test/save.js
1116 silly gunzTarPerm extractEntry zipFile.js
1117 silly gunzTarPerm modified mode [ 'zipFile.js', 438, 420 ]
1118 silly gunzTarPerm extractEntry test/return.js
1119 silly gunzTarPerm extractEntry test/clobber.js
1120 silly gunzTarPerm extractEntry test/root.js
1121 silly gunzTarPerm extractEntry test/umask.js
1122 silly lockFile 3c34559d-0874-0-36668627709150314-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/package
1123 silly lockFile 3c34559d-0874-0-36668627709150314-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/package
1124 silly lockFile b6c80901-0874-0-36668627709150314-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/tmp.tgz
1125 silly lockFile b6c80901-0874-0-36668627709150314-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/tmp.tgz
1126 silly gunzTarPerm extractEntry test/sync.js
1127 silly gunzTarPerm extractEntry test/chmod.js
1128 silly gunzTarPerm extractEntry MIT-LICENSE.txt
1129 silly gunzTarPerm modified mode [ 'MIT-LICENSE.txt', 438, 420 ]
1130 silly gunzTarPerm extractEntry methods/deflater.js
1131 silly gunzTarPerm modified mode [ 'methods/deflater.js', 438, 420 ]
1132 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz',
1132 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/package' ]
1133 verbose tarball /Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
1134 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/package
1135 silly lockFile 3c34559d-0874-0-36668627709150314-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/package
1136 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/package /Volumes/Storage/martincleaver/.npm/3c34559d-0874-0-36668627709150314-package.lock
1137 silly lockFile 26101e0f-r-npm-request-2-36-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
1138 verbose lock tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz /Volumes/Storage/martincleaver/.npm/26101e0f-r-npm-request-2-36-0-package-tgz.lock
1139 silly gunzTarPerm extractEntry test/fixtures/builtin
1140 silly gunzTarPerm extractEntry test/fixtures/globalconfig
1141 silly gunzTarPerm extractEntry methods/index.js
1142 silly gunzTarPerm modified mode [ 'methods/index.js', 438, 420 ]
1143 silly gunzTarPerm extractEntry methods/inflater.js
1144 silly gunzTarPerm modified mode [ 'methods/inflater.js', 438, 420 ]
1145 silly gunzTarPerm extractEntry test/umask_sync.js
1146 silly gunzTarPerm extractEntry test/return_sync.js
1147 silly gunzTarPerm extractEntry test/mkdirp.js
1148 silly gunzTarPerm extractEntry .travis.yml
1149 silly gunzTarPerm extractEntry test/fixtures/userconfig
1150 silly gunzTarPerm extractEntry util/constants.js
1151 silly gunzTarPerm modified mode [ 'util/constants.js', 438, 420 ]
1152 silly gunzTarPerm extractEntry util/errors.js
1153 silly gunzTarPerm modified mode [ 'util/errors.js', 438, 420 ]
1154 http 200 https://registry.npmjs.org/progress/-/progress-1.1.8.tgz
1155 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/tmp.tgz
1156 silly lockFile 1b432d57-11160-0-1757402941584587-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/package
1157 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/package /Volumes/Storage/martincleaver/.npm/1b432d57-11160-0-1757402941584587-package.lock
1158 silly lockFile fb39e3da-11160-0-1757402941584587-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/tmp.tgz
1159 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/tmp.tgz /Volumes/Storage/martincleaver/.npm/fb39e3da-11160-0-1757402941584587-tmp-tgz.lock
1160 silly gunzTarPerm modes [ '755', '644' ]
1161 http 304 https://registry.npmjs.org/request-progress
1162 silly registry.get cb [ 304,
1162 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:51 GMT',
1162 silly registry.get server: 'Apache',
1162 silly registry.get via: '1.1 varnish',
1162 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:51 GMT',
1162 silly registry.get 'cache-control': 'max-age=60',
1162 silly registry.get etag: '"B88PH1RS5POG6U7T8DJ4EQGHH"',
1162 silly registry.get 'x-served-by': 'cache-iad2130-IAD',
1162 silly registry.get 'x-cache': 'MISS',
1162 silly registry.get 'x-cache-hits': '0',
1162 silly registry.get 'x-timer': 'S1407886911.590825,VS0,VE196',
1162 silly registry.get vary: 'Accept',
1162 silly registry.get 'content-length': '0',
1162 silly registry.get 'keep-alive': 'timeout=10, max=50',
1162 silly registry.get connection: 'Keep-Alive' } ]
1163 verbose etag request-progress from cache
1164 silly gunzTarPerm extractEntry util/fattr.js
1165 silly gunzTarPerm modified mode [ 'util/fattr.js', 438, 420 ]
1166 silly gunzTarPerm extractEntry util/index.js
1167 silly gunzTarPerm modified mode [ 'util/index.js', 438, 420 ]
1168 silly gunzTarPerm extractEntry package.json
1169 silly addNameRange number 2 { name: 'request-progress',
1169 silly addNameRange range: '>=0.3.1-0 <0.4.0-0',
1169 silly addNameRange hasData: true }
1170 silly addNameRange versions [ 'request-progress',
1170 silly addNameRange [ '0.1.0',
1170 silly addNameRange '0.1.1',
1170 silly addNameRange '0.2.0',
1170 silly addNameRange '0.2.1',
1170 silly addNameRange '0.2.2',
1170 silly addNameRange '0.2.3',
1170 silly addNameRange '0.3.0',
1170 silly addNameRange '0.3.1' ] ]
1171 verbose addNamed [ 'request-progress', '0.3.1' ]
1172 verbose addNamed [ '0.3.1', '0.3.1' ]
1173 silly lockFile a2b190cd-request-progress-0-3-1 request-progress@0.3.1
1174 verbose lock request-progress@0.3.1 /Volumes/Storage/martincleaver/.npm/a2b190cd-request-progress-0-3-1.lock
1175 silly gunzTarPerm extractEntry .npmignore
1176 silly gunzTarPerm extractEntry LICENSE
1177 silly gunzTarPerm extractEntry util/utils.js
1178 silly gunzTarPerm modified mode [ 'util/utils.js', 438, 420 ]
1179 silly gunzTarPerm extractEntry headers/dataHeader.js
1180 silly gunzTarPerm modified mode [ 'headers/dataHeader.js', 438, 420 ]
1181 silly lockFile 56e31bb3-10976-0-5739483973011374-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/package
1182 silly lockFile 56e31bb3-10976-0-5739483973011374-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910976-0.5739483973011374/package
1183 silly lockFile 29e82e11-leaver-npm-kew-0-1-7-package-tgz tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1184 silly lockFile 29e82e11-leaver-npm-kew-0-1-7-package-tgz tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1185 silly gunzTarPerm extractEntry index.js
1186 silly gunzTarPerm extractEntry History.md
1187 silly lockFile f67648c5-tincleaver-npm-kew-0-1-7-package /Volumes/Storage/martincleaver/.npm/kew/0.1.7/package
1188 verbose lock /Volumes/Storage/martincleaver/.npm/kew/0.1.7/package /Volumes/Storage/martincleaver/.npm/f67648c5-tincleaver-npm-kew-0-1-7-package.lock
1189 silly lockFile f67648c5-tincleaver-npm-kew-0-1-7-package /Volumes/Storage/martincleaver/.npm/kew/0.1.7/package
1190 silly lockFile f67648c5-tincleaver-npm-kew-0-1-7-package /Volumes/Storage/martincleaver/.npm/kew/0.1.7/package
1191 verbose tar unpack /Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1192 silly lockFile 704c9f7a-tincleaver-npm-kew-0-1-7-package tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package
1193 verbose lock tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package /Volumes/Storage/martincleaver/.npm/704c9f7a-tincleaver-npm-kew-0-1-7-package.lock
1194 silly lockFile 29e82e11-leaver-npm-kew-0-1-7-package-tgz tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1195 verbose lock tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz /Volumes/Storage/martincleaver/.npm/29e82e11-leaver-npm-kew-0-1-7-package-tgz.lock
1196 silly gunzTarPerm modes [ '755', '644' ]
1197 silly gunzTarPerm extractEntry Makefile
1198 silly gunzTarPerm extractEntry Readme.md
1199 silly lockFile 06440c6b-10956-0-2744334687013179-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/package
1200 silly lockFile 06440c6b-10956-0-2744334687013179-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/package
1201 silly lockFile 6658aa9f-10956-0-2744334687013179-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/tmp.tgz
1202 silly lockFile 6658aa9f-10956-0-2744334687013179-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/tmp.tgz
1203 silly gunzTarPerm extractEntry package.json
1204 silly lockFile a2b190cd-request-progress-0-3-1 request-progress@0.3.1
1205 silly lockFile a2b190cd-request-progress-0-3-1 request-progress@0.3.1
1206 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz',
1206 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/package' ]
1207 verbose tarball /Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1208 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/package
1209 silly lockFile 06440c6b-10956-0-2744334687013179-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/package
1210 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/package /Volumes/Storage/martincleaver/.npm/06440c6b-10956-0-2744334687013179-package.lock
1211 silly lockFile c396664f-leaver-npm-ncp-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1212 verbose lock tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz /Volumes/Storage/martincleaver/.npm/c396664f-leaver-npm-ncp-0-4-2-package-tgz.lock
1213 silly lockFile f4030858-request-progress-0-3-1 request-progress@^0.3.1
1214 silly lockFile f4030858-request-progress-0-3-1 request-progress@^0.3.1
1215 silly gunzTarPerm extractEntry .npmignore
1216 silly gunzTarPerm extractEntry README.md
1217 silly gunzTarPerm extractEntry lib/node-progress.js
1218 silly lockFile 194a4529-910957-0-983272970886901-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/package
1219 silly lockFile 194a4529-910957-0-983272970886901-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/package
1220 silly gunzTarPerm extractEntry kew.js
1221 silly gunzTarPerm extractEntry LICENSE.TXT
1222 silly gunzTarPerm extractEntry test/chain.js
1223 silly gunzTarPerm extractEntry test/context.js
1224 silly gunzTarPerm extractEntry test/defer.js
1225 silly gunzTarPerm extractEntry test/static.js
1226 silly lockFile 8ae9d99a-910957-0-983272970886901-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/tmp.tgz
1227 silly lockFile 8ae9d99a-910957-0-983272970886901-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/tmp.tgz
1228 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz',
1228 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/package' ]
1229 verbose tarball /Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1230 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/package
1231 silly lockFile 194a4529-910957-0-983272970886901-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/package
1232 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/package /Volumes/Storage/martincleaver/.npm/194a4529-910957-0-983272970886901-package.lock
1233 silly lockFile f863b850-r-npm-npmconf-0-0-24-package-tgz tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1234 verbose lock tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz /Volumes/Storage/martincleaver/.npm/f863b850-r-npm-npmconf-0-0-24-package-tgz.lock
1235 silly lockFile bee06d11-0952-0-21447357418946922-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/package
1236 silly lockFile bee06d11-0952-0-21447357418946922-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/package
1237 silly lockFile 30910859-0952-0-21447357418946922-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/tmp.tgz
1238 silly lockFile 30910859-0952-0-21447357418946922-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/tmp.tgz
1239 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz',
1239 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/package' ]
1240 verbose tarball /Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
1241 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/package
1242 silly lockFile bee06d11-0952-0-21447357418946922-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/package
1243 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/package /Volumes/Storage/martincleaver/.npm/bee06d11-0952-0-21447357418946922-package.lock
1244 silly lockFile d19fba63-ver-npm-mkdirp-0-3-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
1245 verbose lock tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz /Volumes/Storage/martincleaver/.npm/d19fba63-ver-npm-mkdirp-0-3-5-package-tgz.lock
1246 silly gunzTarPerm extractEntry headers/entryHeader.js
1247 silly gunzTarPerm modified mode [ 'headers/entryHeader.js', 438, 420 ]
1248 silly gunzTarPerm extractEntry headers/index.js
1249 silly gunzTarPerm modified mode [ 'headers/index.js', 438, 420 ]
1250 silly gunzTarPerm extractEntry headers/mainHeader.js
1251 silly gunzTarPerm modified mode [ 'headers/mainHeader.js', 438, 420 ]
1252 silly gunzTarPerm extractEntry .travis.yml
1253 silly gunzTarPerm modified mode [ '.travis.yml', 438, 420 ]
1254 silly lockFile 1b432d57-11160-0-1757402941584587-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/package
1255 silly lockFile 1b432d57-11160-0-1757402941584587-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/package
1256 silly lockFile fb39e3da-11160-0-1757402941584587-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/tmp.tgz
1257 silly lockFile fb39e3da-11160-0-1757402941584587-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/tmp.tgz
1258 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz',
1258 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/package' ]
1259 verbose tarball /Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1260 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/package
1261 silly lockFile 1b432d57-11160-0-1757402941584587-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/package
1262 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/package /Volumes/Storage/martincleaver/.npm/1b432d57-11160-0-1757402941584587-package.lock
1263 silly lockFile 258c5333-r-npm-progress-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1264 verbose lock tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz /Volumes/Storage/martincleaver/.npm/258c5333-r-npm-progress-1-1-8-package-tgz.lock
1265 silly lockFile 06440c6b-10956-0-2744334687013179-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/package
1266 silly lockFile 06440c6b-10956-0-2744334687013179-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.2744334687013179/package
1267 silly lockFile c396664f-leaver-npm-ncp-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1268 silly lockFile c396664f-leaver-npm-ncp-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1269 silly lockFile 8627c788-tincleaver-npm-ncp-0-4-2-package /Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package
1270 verbose lock /Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package /Volumes/Storage/martincleaver/.npm/8627c788-tincleaver-npm-ncp-0-4-2-package.lock
1271 silly lockFile 8627c788-tincleaver-npm-ncp-0-4-2-package /Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package
1272 silly lockFile 8627c788-tincleaver-npm-ncp-0-4-2-package /Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package
1273 verbose tar unpack /Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1274 silly lockFile 19f5528a-tincleaver-npm-ncp-0-4-2-package tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package
1275 verbose lock tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package /Volumes/Storage/martincleaver/.npm/19f5528a-tincleaver-npm-ncp-0-4-2-package.lock
1276 silly lockFile c396664f-leaver-npm-ncp-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1277 verbose lock tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz /Volumes/Storage/martincleaver/.npm/c396664f-leaver-npm-ncp-0-4-2-package-tgz.lock
1278 silly gunzTarPerm modes [ '755', '644' ]
1279 silly gunzTarPerm extractEntry package.json
1280 silly lockFile 1b432d57-11160-0-1757402941584587-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/package
1281 silly lockFile 1b432d57-11160-0-1757402941584587-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886911160-0.1757402941584587/package
1282 silly gunzTarPerm extractEntry .npmignore
1283 silly gunzTarPerm extractEntry README.md
1284 silly lockFile 258c5333-r-npm-progress-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1285 silly lockFile 258c5333-r-npm-progress-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1286 silly lockFile 194a4529-910957-0-983272970886901-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/package
1287 silly lockFile 194a4529-910957-0-983272970886901-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910957-0.983272970886901/package
1288 silly lockFile f863b850-r-npm-npmconf-0-0-24-package-tgz tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1289 silly lockFile f863b850-r-npm-npmconf-0-0-24-package-tgz tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1290 silly lockFile 59611716-eaver-npm-progress-1-1-8-package /Volumes/Storage/martincleaver/.npm/progress/1.1.8/package
1291 verbose lock /Volumes/Storage/martincleaver/.npm/progress/1.1.8/package /Volumes/Storage/martincleaver/.npm/59611716-eaver-npm-progress-1-1-8-package.lock
1292 silly lockFile e980ef81-eaver-npm-npmconf-0-0-24-package /Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package
1293 verbose lock /Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package /Volumes/Storage/martincleaver/.npm/e980ef81-eaver-npm-npmconf-0-0-24-package.lock
1294 silly gunzTarPerm extractEntry .travis.yml
1295 silly gunzTarPerm extractEntry LICENSE.md
1296 silly lockFile 59611716-eaver-npm-progress-1-1-8-package /Volumes/Storage/martincleaver/.npm/progress/1.1.8/package
1297 silly lockFile 59611716-eaver-npm-progress-1-1-8-package /Volumes/Storage/martincleaver/.npm/progress/1.1.8/package
1298 silly lockFile e980ef81-eaver-npm-npmconf-0-0-24-package /Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package
1299 silly lockFile e980ef81-eaver-npm-npmconf-0-0-24-package /Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package
1300 verbose tar unpack /Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1301 silly lockFile 9b0afda5-eaver-npm-progress-1-1-8-package tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package
1302 verbose lock tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package /Volumes/Storage/martincleaver/.npm/9b0afda5-eaver-npm-progress-1-1-8-package.lock
1303 silly lockFile 258c5333-r-npm-progress-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1304 verbose lock tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz /Volumes/Storage/martincleaver/.npm/258c5333-r-npm-progress-1-1-8-package-tgz.lock
1305 verbose tar unpack /Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1306 silly lockFile 4e28dbf1-eaver-npm-npmconf-0-0-24-package tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package
1307 verbose lock tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package /Volumes/Storage/martincleaver/.npm/4e28dbf1-eaver-npm-npmconf-0-0-24-package.lock
1308 silly lockFile f863b850-r-npm-npmconf-0-0-24-package-tgz tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1309 verbose lock tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz /Volumes/Storage/martincleaver/.npm/f863b850-r-npm-npmconf-0-0-24-package-tgz.lock
1310 silly lockFile 3c34559d-0874-0-36668627709150314-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/package
1311 silly lockFile 3c34559d-0874-0-36668627709150314-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910874-0.36668627709150314/package
1312 silly lockFile 26101e0f-r-npm-request-2-36-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
1313 silly lockFile 26101e0f-r-npm-request-2-36-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
1314 silly gunzTarPerm modes [ '755', '644' ]
1315 silly gunzTarPerm modes [ '755', '644' ]
1316 silly lockFile a4c28f57-eaver-npm-request-2-36-0-package /Volumes/Storage/martincleaver/.npm/request/2.36.0/package
1317 verbose lock /Volumes/Storage/martincleaver/.npm/request/2.36.0/package /Volumes/Storage/martincleaver/.npm/a4c28f57-eaver-npm-request-2-36-0-package.lock
1318 silly gunzTarPerm extractEntry bin/ncp
1319 silly gunzTarPerm extractEntry lib/ncp.js
1320 silly gunzTarPerm extractEntry package.json
1321 silly gunzTarPerm extractEntry package.json
1322 silly gunzTarPerm extractEntry .npmignore
1323 silly gunzTarPerm extractEntry LICENSE
1324 silly gunzTarPerm extractEntry .npmignore
1325 silly gunzTarPerm extractEntry README.md
1326 silly lockFile 704c9f7a-tincleaver-npm-kew-0-1-7-package tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package
1327 silly lockFile 704c9f7a-tincleaver-npm-kew-0-1-7-package tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package
1328 silly gunzTarPerm extractEntry test/ncp-test.js
1329 silly gunzTarPerm extractEntry test/fixtures/src/a
1330 silly gunzTarPerm extractEntry test/fixtures/src/b
1331 silly gunzTarPerm extractEntry test/fixtures/src/c
1332 silly gunzTarPerm extractEntry test/fixtures/src/d
1333 silly gunzTarPerm extractEntry test/fixtures/src/e
1334 silly gunzTarPerm extractEntry test/fixtures/src/f
1335 silly gunzTarPerm extractEntry test/fixtures/src/sub/a
1336 silly gunzTarPerm extractEntry test/fixtures/src/sub/b
1337 silly lockFile 29e82e11-leaver-npm-kew-0-1-7-package-tgz tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1338 silly lockFile 29e82e11-leaver-npm-kew-0-1-7-package-tgz tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1339 silly lockFile bee06d11-0952-0-21447357418946922-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/package
1340 silly lockFile bee06d11-0952-0-21447357418946922-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910952-0.21447357418946922/package
1341 silly lockFile d19fba63-ver-npm-mkdirp-0-3-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
1342 silly lockFile d19fba63-ver-npm-mkdirp-0-3-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
1343 silly lockFile a4c28f57-eaver-npm-request-2-36-0-package /Volumes/Storage/martincleaver/.npm/request/2.36.0/package
1344 silly lockFile a4c28f57-eaver-npm-request-2-36-0-package /Volumes/Storage/martincleaver/.npm/request/2.36.0/package
1345 verbose tar unpack /Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
1346 silly lockFile a5c17cc9-eaver-npm-request-2-36-0-package tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package
1347 verbose lock tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package /Volumes/Storage/martincleaver/.npm/a5c17cc9-eaver-npm-request-2-36-0-package.lock
1348 silly lockFile 26101e0f-r-npm-request-2-36-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
1349 verbose lock tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz /Volumes/Storage/martincleaver/.npm/26101e0f-r-npm-request-2-36-0-package-tgz.lock
1350 verbose chmod /Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz 644
1351 verbose chown /Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz [ 501, 20 ]
1352 silly gunzTarPerm extractEntry LICENSE
1353 silly gunzTarPerm extractEntry config-defs.js
1354 silly lockFile aa6b9f39-cleaver-npm-mkdirp-0-3-5-package /Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package
1355 verbose lock /Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package /Volumes/Storage/martincleaver/.npm/aa6b9f39-cleaver-npm-mkdirp-0-3-5-package.lock
1356 silly gunzTarPerm extractEntry index.js
1357 silly gunzTarPerm extractEntry History.md
1358 silly lockFile aec53095-stry-npmjs-org-kew-kew-0-1-7-tgz https://registry.npmjs.org/kew/-/kew-0.1.7.tgz
1359 silly lockFile aec53095-stry-npmjs-org-kew-kew-0-1-7-tgz https://registry.npmjs.org/kew/-/kew-0.1.7.tgz
1360 silly lockFile 69cee516-kew-0-1-7 kew@0.1.7
1361 silly lockFile 69cee516-kew-0-1-7 kew@0.1.7
1362 silly gunzTarPerm modes [ '755', '644' ]
1363 silly lockFile fbc33e87-kew-0-1-7 kew@~0.1.7
1364 silly lockFile fbc33e87-kew-0-1-7 kew@~0.1.7
1365 silly gunzTarPerm extractEntry npmconf.js
1366 silly gunzTarPerm extractEntry Makefile
1367 silly gunzTarPerm extractEntry Readme.md
1368 silly gunzTarPerm extractEntry package.json
1369 silly gunzTarPerm extractEntry .npmignore
1370 silly gunzTarPerm extractEntry README.md
1371 silly lockFile aa6b9f39-cleaver-npm-mkdirp-0-3-5-package /Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package
1372 silly lockFile aa6b9f39-cleaver-npm-mkdirp-0-3-5-package /Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package
1373 verbose tar unpack /Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
1374 silly lockFile 1eb22a3a-cleaver-npm-mkdirp-0-3-5-package tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package
1375 verbose lock tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package /Volumes/Storage/martincleaver/.npm/1eb22a3a-cleaver-npm-mkdirp-0-3-5-package.lock
1376 silly lockFile d19fba63-ver-npm-mkdirp-0-3-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
1377 verbose lock tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz /Volumes/Storage/martincleaver/.npm/d19fba63-ver-npm-mkdirp-0-3-5-package-tgz.lock
1378 silly gunzTarPerm extractEntry test/00-setup.js
1379 silly gunzTarPerm extractEntry test/basic.js
1380 silly gunzTarPerm modes [ '755', '644' ]
1381 silly gunzTarPerm extractEntry lib/node-progress.js
1382 silly gunzTarPerm extractEntry LICENSE
1383 silly gunzTarPerm extractEntry package.json
1384 silly gunzTarPerm extractEntry test/builtin.js
1385 silly gunzTarPerm extractEntry test/save.js
1386 silly gunzTarPerm extractEntry .npmignore
1387 silly gunzTarPerm extractEntry LICENSE
1388 silly gunzTarPerm extractEntry index.js
1389 silly gunzTarPerm extractEntry request.js
1390 silly gunzTarPerm extractEntry index.js
1391 silly gunzTarPerm extractEntry .travis.yml
1392 silly gunzTarPerm extractEntry examples/pow.js
1393 silly gunzTarPerm extractEntry readme.markdown
1394 silly lockFile 87922752-0956-0-10829407582059503-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/package
1395 silly lockFile 87922752-0956-0-10829407582059503-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/package
1396 silly lockFile 2abee6ec-0956-0-10829407582059503-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/tmp.tgz
1397 silly lockFile 2abee6ec-0956-0-10829407582059503-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/tmp.tgz
1398 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz',
1398 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/package' ]
1399 verbose tarball /Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
1400 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/package
1401 silly lockFile 87922752-0956-0-10829407582059503-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/package
1402 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/package /Volumes/Storage/martincleaver/.npm/87922752-0956-0-10829407582059503-package.lock
1403 silly lockFile 422404b4-er-npm-adm-zip-0-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
1404 verbose lock tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz /Volumes/Storage/martincleaver/.npm/422404b4-er-npm-adm-zip-0-2-1-package-tgz.lock
1405 silly gunzTarPerm extractEntry test/chmod.js
1406 silly gunzTarPerm extractEntry test/perm.js
1407 silly gunzTarPerm extractEntry test/fixtures/builtin
1408 silly gunzTarPerm extractEntry test/fixtures/globalconfig
1409 silly gunzTarPerm extractEntry .travis.yml
1410 silly gunzTarPerm extractEntry CHANGELOG.md
1411 silly gunzTarPerm extractEntry test/perm_sync.js
1412 silly gunzTarPerm extractEntry test/race.js
1413 silly gunzTarPerm extractEntry test/mkdirp.js
1414 silly gunzTarPerm extractEntry test/return.js
1415 silly gunzTarPerm extractEntry test/return_sync.js
1416 silly gunzTarPerm extractEntry test/root.js
1417 silly gunzTarPerm extractEntry test/sync.js
1418 silly gunzTarPerm extractEntry test/umask.js
1419 silly gunzTarPerm extractEntry test/clobber.js
1420 silly gunzTarPerm extractEntry test/umask_sync.js
1421 silly gunzTarPerm extractEntry test/rel.js
1422 silly lockFile 9b0afda5-eaver-npm-progress-1-1-8-package tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package
1423 silly lockFile 9b0afda5-eaver-npm-progress-1-1-8-package tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package
1424 silly lockFile 258c5333-r-npm-progress-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1425 silly lockFile 258c5333-r-npm-progress-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1426 silly gunzTarPerm extractEntry test/fixtures/userconfig
1427 verbose chmod /Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz 644
1428 verbose chown /Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz [ 501, 20 ]
1429 silly gunzTarPerm extractEntry lib/cookies.js
1430 silly gunzTarPerm extractEntry lib/copy.js
1431 silly lockFile 6df68d67--org-progress-progress-1-1-8-tgz https://registry.npmjs.org/progress/-/progress-1.1.8.tgz
1432 silly lockFile 6df68d67--org-progress-progress-1-1-8-tgz https://registry.npmjs.org/progress/-/progress-1.1.8.tgz
1433 silly lockFile caa8d10f-progress-1-1-8 progress@1.1.8
1434 silly lockFile caa8d10f-progress-1-1-8 progress@1.1.8
1435 silly lockFile 1621e448-progress-1-1-5 progress@^1.1.5
1436 silly lockFile 1621e448-progress-1-1-5 progress@^1.1.5
1437 silly gunzTarPerm extractEntry lib/debug.js
1438 silly gunzTarPerm extractEntry lib/getSafe.js
1439 silly lockFile 19f5528a-tincleaver-npm-ncp-0-4-2-package tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package
1440 silly lockFile 19f5528a-tincleaver-npm-ncp-0-4-2-package tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package
1441 silly lockFile c396664f-leaver-npm-ncp-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1442 silly lockFile c396664f-leaver-npm-ncp-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1443 verbose chmod /Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz 644
1444 verbose chown /Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz [ 501, 20 ]
1445 silly lockFile b3172d45-stry-npmjs-org-ncp-ncp-0-4-2-tgz https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz
1446 silly lockFile b3172d45-stry-npmjs-org-ncp-ncp-0-4-2-tgz https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz
1447 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
1448 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
1449 silly lockFile 4e28dbf1-eaver-npm-npmconf-0-0-24-package tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package
1450 silly lockFile 4e28dbf1-eaver-npm-npmconf-0-0-24-package tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package
1451 silly lockFile f863b850-r-npm-npmconf-0-0-24-package-tgz tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1452 silly lockFile f863b850-r-npm-npmconf-0-0-24-package-tgz tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1453 verbose chmod /Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz 644
1454 verbose chown /Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz [ 501, 20 ]
1455 silly lockFile 9d788611-s-org-npmconf-npmconf-0-0-24-tgz https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz
1456 silly lockFile 9d788611-s-org-npmconf-npmconf-0-0-24-tgz https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz
1457 silly lockFile af02651e-npmconf-0-0-24 npmconf@0.0.24
1458 silly lockFile af02651e-npmconf-0-0-24 npmconf@0.0.24
1459 silly gunzTarPerm extractEntry lib/optional.js
1460 silly lockFile 1eb22a3a-cleaver-npm-mkdirp-0-3-5-package tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package
1461 silly lockFile 1eb22a3a-cleaver-npm-mkdirp-0-3-5-package tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package
1462 silly lockFile d19fba63-ver-npm-mkdirp-0-3-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
1463 silly lockFile d19fba63-ver-npm-mkdirp-0-3-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
1464 verbose chmod /Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz 644
1465 verbose chown /Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz [ 501, 20 ]
1466 silly lockFile 7b2ebe55-pmjs-org-mkdirp-mkdirp-0-3-5-tgz https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
1467 silly lockFile 7b2ebe55-pmjs-org-mkdirp-mkdirp-0-3-5-tgz https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
1468 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
1469 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
1470 silly lockFile b9257b58-0631-0-08721110131591558-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/package
1471 silly lockFile b9257b58-0631-0-08721110131591558-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/package
1472 silly lockFile 6e6d1a73-0631-0-08721110131591558-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/tmp.tgz
1473 silly lockFile 6e6d1a73-0631-0-08721110131591558-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/tmp.tgz
1474 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz',
1474 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/package' ]
1475 verbose tarball /Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
1476 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/package
1477 silly lockFile b9257b58-0631-0-08721110131591558-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/package
1478 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/package /Volumes/Storage/martincleaver/.npm/b9257b58-0631-0-08721110131591558-package.lock
1479 silly lockFile 11feaccf-er-npm-karma-0-12-21-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
1480 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz /Volumes/Storage/martincleaver/.npm/11feaccf-er-npm-karma-0-12-21-package-tgz.lock
1481 silly lockFile a5c17cc9-eaver-npm-request-2-36-0-package tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package
1482 silly lockFile a5c17cc9-eaver-npm-request-2-36-0-package tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package
1483 silly lockFile 26101e0f-r-npm-request-2-36-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
1484 silly lockFile 26101e0f-r-npm-request-2-36-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
1485 verbose chmod /Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz 644
1486 verbose chown /Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz [ 501, 20 ]
1487 silly lockFile 6d2d5533-s-org-request-request-2-36-0-tgz https://registry.npmjs.org/request/-/request-2.36.0.tgz
1488 silly lockFile 6d2d5533-s-org-request-request-2-36-0-tgz https://registry.npmjs.org/request/-/request-2.36.0.tgz
1489 silly lockFile 56e6d156-request-2-36-0 request@2.36.0
1490 silly lockFile 56e6d156-request-2-36-0 request@2.36.0
1491 silly lockFile 87922752-0956-0-10829407582059503-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/package
1492 silly lockFile 87922752-0956-0-10829407582059503-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910956-0.10829407582059503/package
1493 silly lockFile 422404b4-er-npm-adm-zip-0-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
1494 silly lockFile 422404b4-er-npm-adm-zip-0-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
1495 silly lockFile 48c38ac9-leaver-npm-adm-zip-0-2-1-package /Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package
1496 verbose lock /Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package /Volumes/Storage/martincleaver/.npm/48c38ac9-leaver-npm-adm-zip-0-2-1-package.lock
1497 silly lockFile 48c38ac9-leaver-npm-adm-zip-0-2-1-package /Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package
1498 silly lockFile 48c38ac9-leaver-npm-adm-zip-0-2-1-package /Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package
1499 verbose tar unpack /Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
1500 silly lockFile 6de7c704-leaver-npm-adm-zip-0-2-1-package tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package
1501 verbose lock tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package /Volumes/Storage/martincleaver/.npm/6de7c704-leaver-npm-adm-zip-0-2-1-package.lock
1502 silly lockFile 422404b4-er-npm-adm-zip-0-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
1503 verbose lock tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz /Volumes/Storage/martincleaver/.npm/422404b4-er-npm-adm-zip-0-2-1-package-tgz.lock
1504 silly gunzTarPerm modes [ '755', '644' ]
1505 silly gunzTarPerm extractEntry package.json
1506 silly gunzTarPerm extractEntry README.md
1507 silly gunzTarPerm extractEntry zipFile.js
1508 silly gunzTarPerm extractEntry adm-zip.js
1509 silly gunzTarPerm extractEntry sandbox.js
1510 silly gunzTarPerm extractEntry zipEntry.js
1511 silly gunzTarPerm extractEntry .travis.yml
1512 silly gunzTarPerm extractEntry headers/dataHeader.js
1513 silly gunzTarPerm extractEntry headers/entryHeader.js
1514 silly gunzTarPerm extractEntry headers/index.js
1515 silly gunzTarPerm extractEntry headers/mainHeader.js
1516 silly gunzTarPerm extractEntry util/constants.js
1517 silly gunzTarPerm extractEntry util/errors.js
1518 silly gunzTarPerm extractEntry util/fattr.js
1519 silly gunzTarPerm extractEntry util/index.js
1520 silly gunzTarPerm extractEntry util/utils.js
1521 silly gunzTarPerm extractEntry MIT-LICENSE.txt
1522 silly gunzTarPerm extractEntry methods/deflater.js
1523 silly gunzTarPerm extractEntry methods/index.js
1524 silly gunzTarPerm extractEntry methods/inflater.js
1525 silly lockFile 6de7c704-leaver-npm-adm-zip-0-2-1-package tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package
1526 silly lockFile 6de7c704-leaver-npm-adm-zip-0-2-1-package tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package
1527 silly lockFile 422404b4-er-npm-adm-zip-0-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
1528 silly lockFile 422404b4-er-npm-adm-zip-0-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
1529 verbose chmod /Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz 644
1530 verbose chown /Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz [ 501, 20 ]
1531 silly lockFile 4638a7dc-js-org-adm-zip-adm-zip-0-2-1-tgz https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz
1532 silly lockFile 4638a7dc-js-org-adm-zip-adm-zip-0-2-1-tgz https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz
1533 silly lockFile 56d2b9bc-adm-zip-0-2-1 adm-zip@0.2.1
1534 silly lockFile 56d2b9bc-adm-zip-0-2-1 adm-zip@0.2.1
1535 silly resolved [ { name: 'rimraf',
1535 silly resolved version: '2.2.8',
1535 silly resolved main: 'rimraf.js',
1535 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
1535 silly resolved author:
1535 silly resolved { name: 'Isaac Z. Schlueter',
1535 silly resolved email: 'i@izs.me',
1535 silly resolved url: 'http://blog.izs.me/' },
1535 silly resolved license:
1535 silly resolved { type: 'MIT',
1535 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
1535 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
1535 silly resolved scripts: { test: 'cd test && bash run.sh' },
1535 silly resolved bin: { rimraf: './bin.js' },
1535 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
1535 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',
1535 silly resolved readmeFilename: 'README.md',
1535 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
1535 silly resolved homepage: 'https://github.com/isaacs/rimraf',
1535 silly resolved _id: 'rimraf@2.2.8',
1535 silly resolved _from: 'rimraf@~2.2.2' },
1535 silly resolved { author:
1535 silly resolved { name: 'Isaac Z. Schlueter',
1535 silly resolved email: 'i@izs.me',
1535 silly resolved url: 'http://blog.izs.me' },
1535 silly resolved name: 'which',
1535 silly resolved description: 'Like which(1) unix command. Find the first instance of an executable in the PATH.',
1535 silly resolved version: '1.0.5',
1535 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-which.git' },
1535 silly resolved main: 'which.js',
1535 silly resolved bin: { which: './bin/which' },
1535 silly resolved engines: { node: '*' },
1535 silly resolved dependencies: {},
1535 silly resolved devDependencies: {},
1535 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',
1535 silly resolved readmeFilename: 'README.md',
1535 silly resolved bugs: { url: 'https://github.com/isaacs/node-which/issues' },
1535 silly resolved homepage: 'https://github.com/isaacs/node-which',
1535 silly resolved _id: 'which@1.0.5',
1535 silly resolved _from: 'which@~1.0.5' },
1535 silly resolved { name: 'request-progress',
1535 silly resolved version: '0.3.1',
1535 silly resolved description: 'Tracks the download progress of a request made with mikeal/request',
1535 silly resolved main: 'index.js',
1535 silly resolved dependencies: { throttleit: '~0.0.2' },
1535 silly resolved devDependencies: { mocha: '~1.12.0', 'expect.js': '~0.2.0' },
1535 silly resolved scripts: { test: 'mocha -R spec' },
1535 silly resolved repository:
1535 silly resolved { type: 'git',
1535 silly resolved url: 'git://github.com/IndigoUnited/node-request-progress' },
1535 silly resolved bugs: { url: 'http://github.com/IndigoUnited/node-request-progress/issues' },
1535 silly resolved keywords:
1535 silly resolved [ 'progress',
1535 silly resolved 'request',
1535 silly resolved 'mikeal',
1535 silly resolved 'size',
1535 silly resolved 'bytes',
1535 silly resolved 'percent',
1535 silly resolved 'percentage' ],
1535 silly resolved author:
1535 silly resolved { name: 'IndigoUnited',
1535 silly resolved email: 'hello@indigounited.com',
1535 silly resolved url: 'http://indigounited.com' },
1535 silly resolved license: 'MIT',
1535 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',
1535 silly resolved readmeFilename: 'README.md',
1535 silly resolved homepage: 'https://github.com/IndigoUnited/node-request-progress',
1535 silly resolved _id: 'request-progress@0.3.1',
1535 silly resolved _from: 'request-progress@^0.3.1' },
1535 silly resolved { name: 'kew',
1535 silly resolved description: 'a lightweight promise library for node',
1535 silly resolved version: '0.1.7',
1535 silly resolved homepage: 'https://github.com/Obvious/kew',
1535 silly resolved authors: [ 'Jeremy Stanley <github@azulus.com> (https://github.com/azulus)' ],
1535 silly resolved contributors: [],
1535 silly resolved keywords: [ 'kew', 'promises' ],
1535 silly resolved main: './kew.js',
1535 silly resolved repository: { type: 'git', url: 'https://github.com/Obvious/kew.git' },
1535 silly resolved dependencies: {},
1535 silly resolved devDependencies: { nodeunit: '0.7.4' },
1535 silly resolved scripts: { test: './node_modules/nodeunit/bin/nodeunit test' },
1535 silly resolved readme: 'kew: a lightweight (and super fast) promise/deferred framework for node.js\n==================================\n\n**kew** is a lightweight promise framework with an aim of providing a base set of functionality similar to that provided by the [Q library](https://github.com/kriskowal/q "Q").\n\nA few answers (for a few questions)\n-------\n\n*Why\'d we write it?*\n\nDuring our initial usage of **Q** we found that it was consuming 80% of the cpu under load (primarily in chained database callbacks). We spent some time looking at patching **Q** and ultimately found that creating our own lightweight library for server-usage would suit our needs better than figuring out how to make a large cross-platform library more performant on one very specific platform.\n\n*So this does everything Q does?*\n\nNope! **Q** is still an awesome library and does *way* more than **kew**. We support a tiny subset of the **Q** functionality (the subset that we happen to use in our actual use cases).\n\nWhat are Promises?\n-------\n\nAt its core, a *Promise* is a promise to return a value at some point in the future. A *Promise* represents a value that will be (or may return an error if something goes wrong). *Promises* heavily reduce the complexity of asynchronous coding in node.js-like environments. Example:\n\n```javascript\n// assuming the getUrlContent() function exists and retrieves the content of a url\nvar htmlPromise = getUrlContent(myUrl)\n\n// we can then filter that through an http parser (our imaginary parseHtml() function) asynchronously (or maybe synchronously, who knows)\nvar tagsPromise = htmlPromise.then(parseHtml)\n\n// and then filter it through another function (getLinks()) which retrieves only the link tags\nvar linksPromise = tagsPromise.then(getLinks)\n\n// and then parses the actual urls from the links (using parseUrlsFromLinks())\nvar urlsPromise = linksPromise.then(linksPromise)\n\n// finally, we have a promise that should only provide us with the urls and will run once all the previous steps have ran\nurlsPromise.then(function (urls) {\n // do something with the urls\n})\n```\n\nHow do I use **kew**?\n-------\n\nAs a precursor to all the examples, the following code must be at the top of your page:\n\n```javascript\nvar Q = require(\'kew\')\n```\n\n### Convert a literal into a promise\n\nThe easiest way to start a promise chain is by creating a new promise with a specified literal using Q.resolve() or Q.reject()\n\n```javascript\n// create a promise which passes a value to the next then() call\nvar successPromise = Q.resolve(val)\n\n// create a promise which throws an error to be caught by the next fail() call\nvar failPromise = Q.reject(err)\n```\n\nIn addition, you can create deferreds which can be used if you need to create a promise but resolve it later:\n\n```javascript\n// create the deferreds\nvar successDefer = Q.defer()\nvar failDefer = Q.defer()\n\n// resolve or reject the defers in 1 second\nsetTimeout(function () {\n successDefer.resolve("ok")\n failDefer.reject(new Error("this failed"))\n}, 1000)\n\n// extract promises from the deferreds\nvar successPromise = successDefer.promise\nvar failPromise = failDefer.promise\n```\n\nIf you have a node-style callback (taking an **Error** as the first parameter and a response as the second), you can call the magic `makeNodeResolver()` function on a defer to allow the defer to handle the callbacks:\n\n```javascript\n// create the deferred\nvar defer = Q.defer()\n\n// some node-style function\ngetObjectFromDatabase(myObjectId, defer.makeNodeResolver())\n\n// grab the output\ndefer.promise\n .then(function (obj) {\n // successfully retrieved the object\n })\n .fail(function (e) {\n // failed retrieving the object\n })\n```\n\n### Handling successful results with `.then()`\n\nWhen a promise is resolved, you may call the `.then()` method to retrieve the value of the promise:\n\n```javascript\npromise.then(function (result) {\n // do something with the result here\n})\n```\n\n`.then()` will in turn return a promise which will return the results of whatever it returns (asynchronously or not), allowing it to be chained indefinitely:\n\n```javascript\nQ.resolve(\'a\')\n .then(function (result) {\n return result + \'b\'\n })\n .then(function (result) {\n return result + \'c\'\n })\n .then(function (result) {\n // result should be \'abc\'\n })\n```\n\nIn addition, `.then()` calls may return promises themselves, allowing for complex nesting of asynchronous calls in a flat manner:\n\n```javascript\nvar htmlPromise = getUrlContent(myUrl)\n\nvar tagsPromise = htmlPromise.then(function (html) {\n if (!validHtml(html)) throw new Error("Invalid HTML")\n\n // pretend that parseHtml() returns a promise and is asynchronous\n return parseHtml(html)\n})\n```\n\n### Handling errors with `.fail()`\n\nIf a promise is rejected for some reason, you may handle the failure case with the `.fail()` function:\n\n```javascript\ngetObjectPromise\n .fail(function (e) {\n console.error("Failed to retrieve object", e)\n })\n```\n\nLike `.then()`, `.fail()` also returns a promise. If the `.fail()` call does not throw an error, it will pass the return value of the `.fail()` handler to any `.then()` calls chained to it:\n\n```javascript\ngetObjectPromise\n .fail(function (e) {\n return retryGetObject(objId)\n })\n .then(function (obj) {\n // yay, we received an object\n })\n .fail(function (e) {\n // the retry failed :(\n console.error("Retrieving the object \'" + objId + "\' failed")\n })\n})\n```\n\nIf you\'ve reached the end of your promise chain, you may call `.end()` which signifies that the promise chain is ended and any errors should be thrown in whatever scope the code is currently in:\n\n```javascript\ngetObjectPromise\n // this will throw an error to the uncaught exception handler if the getObjectPromise call is asynchronous\n .end()\n```\n\n### `.fin()` when things are finished\n\nYou may attach a handler to a promise which will be ran regardless of whether the promise was resolved or rejected (but will only run upon completion). This is useful in the cases where you may have set up resources to run a request and wish to tear them down afterwards. `.fin()` will return the promise it is called upon:\n\n```javascript\nvar connection = db.connect()\n\nvar itemPromise = db.getItem(itemId)\n .fin(function () {\n db.close()\n })\n```\n\nOther utility methods\n-------\n\nThere\'s only one utility method as of now:\n\n### `.all()` for many things\n\nIf you\'re waiting for multiple promises to return, you may pass them (mixed in with literals if you desire) into `.all()` which will create a promise that resolves successfully with an array of the results of the promises:\n\n```javascript\nvar promises = []\npromises.push(getUrlContent(url1))\npromises.push(getUrlContent(url2))\npromises.push(getUrlContent(url3))\n\nQ.all(promises)\n .then(function (content) {\n // content[0] === content for url 1\n // content[1] === content for url 2\n // content[2] === content for url 3\n })\n```\n\nIf any of the promises fail, Q.all will fail as well (so make sure to guard your promises with a `.fail()` call beforehand if you don\'t care whether they succeed or not):\n\n```javascript\nvar promises = []\npromises.push(getUrlContent(url1))\npromises.push(getUrlContent(url2))\npromises.push(getUrlContent(url3))\n\nQ.all(promises)\n .fail(function (e) {\n console.log("Failed retrieving a url", e)\n })\n```\n\nContributing\n------------\n\nQuestions, comments, bug reports, and pull requests are all welcome.\nSubmit them at [the project on GitHub](https://github.com/Obvious/kew/).\n\nBug reports that include steps-to-reproduce (including code) are the\nbest. Even better, make them in the form of pull requests that update\nthe test suite. Thanks!\n\n\nAuthor\n------\n\n[Jeremy Stanley](https://github.com/azulus)\nsupported by\n[The Obvious Corporation](http://obvious.com/).\n\n\nLicense\n-------\n\nCopyright 2013 [The Obvious Corporation](http://obvious.com/).\n\nLicensed under the Apache License, Version 2.0.\nSee the top-level file `LICENSE.TXT` and\n(http://www.apache.org/licenses/LICENSE-2.0).\n',
1535 silly resolved readmeFilename: 'README.md',
1535 silly resolved bugs: { url: 'https://github.com/Obvious/kew/issues' },
1535 silly resolved _id: 'kew@0.1.7',
1535 silly resolved dist: { shasum: '0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72' },
1535 silly resolved _from: 'kew@~0.1.7',
1535 silly resolved _resolved: 'https://registry.npmjs.org/kew/-/kew-0.1.7.tgz' },
1535 silly resolved { name: 'progress',
1535 silly resolved version: '1.1.8',
1535 silly resolved description: 'Flexible ascii progress bar',
1535 silly resolved keywords: [ 'cli', 'progress' ],
1535 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
1535 silly resolved contributors: [ [Object], [Object] ],
1535 silly resolved dependencies: {},
1535 silly resolved main: 'index',
1535 silly resolved engines: { node: '>=0.4.0' },
1535 silly resolved repository:
1535 silly resolved { type: 'git',
1535 silly resolved url: 'git://github.com/visionmedia/node-progress' },
1535 silly resolved readme: 'Flexible ascii progress bar.\n\n## Installation\n\n```bash\n$ npm install progress\n```\n\n## Usage\n\nFirst we create a `ProgressBar`, giving it a format string\nas well as the `total`, telling the progress bar when it will\nbe considered complete. After that all we need to do is `tick()` appropriately.\n\n```javascript\nvar ProgressBar = require(\'progress\');\n\nvar bar = new ProgressBar(\':bar\', { total: 10 });\nvar timer = setInterval(function () {\n bar.tick();\n if (bar.complete) {\n console.log(\'\\ncomplete\\n\');\n clearInterval(timer);\n }\n}, 100);\n```\n\n### Options\n\nThese are keys in the options object you can pass to the progress bar along with\n`total` as seen in the example above.\n\n- `total` total number of ticks to complete\n- `width` the displayed width of the progress bar defaulting to total\n- `stream` the output stream defaulting to stderr\n- `complete` completion character defaulting to "="\n- `incomplete` incomplete character defaulting to "-"\n- `clear` option to clear the bar on completion defaulting to false\n- `callback` optional function to call when the progress bar completes\n\n### Tokens\n\nThese are tokens you can use in the format of your progress bar.\n\n- `:bar` the progress bar itself\n- `:current` current tick number\n- `:total` total ticks\n- `:elapsed` time elapsed in seconds\n- `:percent` completion percentage\n- `:eta` estimated completion time in seconds\n\n## Examples\n\n### Download\n\nIn our download example each tick has a variable influence, so we pass the chunk\nlength which adjusts the progress bar appropriately relative to the total\nlength.\n\n```javascript\nvar ProgressBar = require(\'../\');\nvar https = require(\'https\');\n\nvar req = https.request({\n host: \'download.github.com\',\n port: 443,\n path: \'/visionmedia-node-jscoverage-0d4608a.zip\'\n});\n\nreq.on(\'response\', function(res){\n var len = parseInt(res.headers[\'content-length\'], 10);\n\n console.log();\n var bar = new ProgressBar(\' downloading [:bar] :percent :etas\', {\n complete: \'=\',\n incomplete: \' \',\n width: 20,\n total: len\n });\n\n res.on(\'data\', function (chunk) {\n bar.tick(chunk.length);\n });\n\n res.on(\'end\', function () {\n console.log(\'\\n\');\n });\n});\n\nreq.end();\n```\n\nThe above example result in a progress bar like the one below.\n\n```\ndownloading [===== ] 29% 3.7s\n```\n\nYou can see more examples in the `examples` folder.\n\n## License\n\nMIT\n',
1535 silly resolved readmeFilename: 'Readme.md',
1535 silly resolved bugs: { url: 'https://github.com/visionmedia/node-progress/issues' },
1535 silly resolved homepage: 'https://github.com/visionmedia/node-progress',
1535 silly resolved _id: 'progress@1.1.8',
1535 silly resolved dist: { shasum: 'e260c78f6161cdd9b0e56cc3e0a85de17c7a57be' },
1535 silly resolved _from: 'progress@^1.1.5',
1535 silly resolved _resolved: 'https://registry.npmjs.org/progress/-/progress-1.1.8.tgz' },
1535 silly resolved { name: 'ncp',
1535 silly resolved version: '0.4.2',
1535 silly resolved author: { name: 'AvianFlu', email: 'charlie@charlieistheman.com' },
1535 silly resolved description: 'Asynchronous recursive file copy utility.',
1535 silly resolved bin: { ncp: './bin/ncp' },
1535 silly resolved devDependencies: { vows: '0.6.x', rimraf: '1.0.x', 'read-dir-files': '0.0.x' },
1535 silly resolved main: './lib/ncp.js',
1535 silly resolved repository: { type: 'git', url: 'https://github.com/AvianFlu/ncp.git' },
1535 silly resolved keywords: [ 'cli', 'copy' ],
1535 silly resolved license: 'MIT',
1535 silly resolved engine: { node: '>=0.4' },
1535 silly resolved scripts: { test: 'vows --isolate --spec' },
1535 silly resolved readme: '# ncp - Asynchronous recursive file & directory copying\n\n[![Build Status](https://secure.travis-ci.org/AvianFlu/ncp.png)](http://travis-ci.org/AvianFlu/ncp)\n\nThink `cp -r`, but pure node, and asynchronous. `ncp` can be used both as a CLI tool and programmatically.\n\n## Command Line usage\n\nUsage is simple: `ncp [source] [dest] [--limit=concurrency limit]\n[--filter=filter] --stopOnErr`\n\nThe \'filter\' is a Regular Expression - matched files will be copied.\n\nThe \'concurrency limit\' is an integer that represents how many pending file system requests `ncp` has at a time.\n\n\'stopOnErr\' is a boolean flag that will tell `ncp` to stop immediately if any\nerrors arise, rather than attempting to continue while logging errors.\n\nIf there are no errors, `ncp` will output `done.` when complete. If there are errors, the error messages will be logged to `stdout` and to `./ncp-debug.log`, and the copy operation will attempt to continue.\n\n## Programmatic usage\n\nProgrammatic usage of `ncp` is just as simple. The only argument to the completion callback is a possible error. \n\n```javascript\nvar ncp = require(\'ncp\').ncp;\n\nncp.limit = 16;\n\nncp(source, destination, function (err) {\n if (err) {\n return console.error(err);\n }\n console.log(\'done!\');\n});\n```\n\nYou can also call ncp like `ncp(source, destination, options, callback)`. \n`options` should be a dictionary. Currently, such options are available:\n\n * `options.filter` - a `RegExp` instance, against which each file name is\n tested to determine whether to copy it or not, or a function taking single\n parameter: copied file name, returning `true` or `false`, determining\n whether to copy file or not.\n\n * `options.transform` - a function: `function (read, write) { read.pipe(write) }`\n used to apply streaming transforms while copying.\n\n * `options.clobber` - boolean=true. if set to false, `ncp` will not overwrite \n destination files that already exist.\n\nPlease open an issue if any bugs arise. As always, I accept (working) pull requests, and refunds are available at `/dev/null`.\n',
1535 silly resolved readmeFilename: 'README.md',
1535 silly resolved bugs: { url: 'https://github.com/AvianFlu/ncp/issues' },
1535 silly resolved homepage: 'https://github.com/AvianFlu/ncp',
1535 silly resolved _id: 'ncp@0.4.2',
1535 silly resolved dist: { shasum: '8297bf1c0e2db3201064dd94f5ca3193afd73627' },
1535 silly resolved _from: 'ncp@0.4.2',
1535 silly resolved _resolved: 'https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz' },
1535 silly resolved { name: 'npmconf',
1535 silly resolved version: '0.0.24',
1535 silly resolved description: 'The config thing npm uses',
1535 silly resolved main: 'npmconf.js',
1535 silly resolved directories: { test: 'test' },
1535 silly resolved dependencies:
1535 silly resolved { 'config-chain': '~1.1.1',
1535 silly resolved inherits: '~1.0.0',
1535 silly resolved once: '~1.1.1',
1535 silly resolved mkdirp: '~0.3.3',
1535 silly resolved osenv: '0.0.3',
1535 silly resolved nopt: '2',
1535 silly resolved semver: '~1.1.0',
1535 silly resolved ini: '~1.1.0' },
1535 silly resolved devDependencies: {},
1535 silly resolved scripts: { test: 'tap test/*.js' },
1535 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/npmconf' },
1535 silly resolved keywords: [ 'npm', 'config', 'config-chain', 'conf', 'ini' ],
1535 silly resolved author:
1535 silly resolved { name: 'Isaac Z. Schlueter',
1535 silly resolved email: 'i@izs.me',
1535 silly resolved url: 'http://blog.izs.me' },
1535 silly resolved license: 'BSD',
1535 silly resolved readme: '# npmconf\n\nThe config thing npm uses\n\nIf you are interested in interacting with the config settings that npm\nuses, then use this module.\n\nHowever, if you are writing a new Node.js program, and want\nconfiguration functionality similar to what npm has, but for your\nown thing, then I\'d recommend using [rc](https://github.com/dominictarr/rc),\nwhich is probably what you want.\n\nIf I were to do it all over again, that\'s what I\'d do for npm. But,\nalas, there are many systems depending on many of the particulars of\nnpm\'s configuration setup, so it\'s not worth the cost of changing.\n\n## USAGE\n\n```javascript\nvar npmconf = require(\'npmconf\')\n\n// pass in the cli options that you read from the cli\n// or whatever top-level configs you want npm to use for now.\nnpmconf.load({some:\'configs\'}, function (er, conf) {\n // do stuff with conf\n conf.get(\'some\', \'cli\') // \'configs\'\n conf.get(\'username\') // \'joebobwhatevers\'\n conf.set(\'foo\', \'bar\', \'user\')\n conf.save(\'user\', function (er) {\n // foo = bar is now saved to ~/.npmrc or wherever\n })\n})\n```\n',
1535 silly resolved readmeFilename: 'README.md',
1535 silly resolved bugs: { url: 'https://github.com/isaacs/npmconf/issues' },
1535 silly resolved homepage: 'https://github.com/isaacs/npmconf',
1535 silly resolved _id: 'npmconf@0.0.24',
1535 silly resolved dist: { shasum: 'e3198457f14790720330358b815ecc56afa6be6a' },
1535 silly resolved _from: 'npmconf@0.0.24',
1535 silly resolved _resolved: 'https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz' },
1535 silly resolved { name: 'mkdirp',
1535 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
1535 silly resolved version: '0.3.5',
1535 silly resolved author:
1535 silly resolved { name: 'James Halliday',
1535 silly resolved email: 'mail@substack.net',
1535 silly resolved url: 'http://substack.net' },
1535 silly resolved main: './index',
1535 silly resolved keywords: [ 'mkdir', 'directory' ],
1535 silly resolved repository:
1535 silly resolved { type: 'git',
1535 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
1535 silly resolved scripts: { test: 'tap test/*.js' },
1535 silly resolved devDependencies: { tap: '~0.4.0' },
1535 silly resolved license: 'MIT',
1535 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',
1535 silly resolved readmeFilename: 'readme.markdown',
1535 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
1535 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
1535 silly resolved _id: 'mkdirp@0.3.5',
1535 silly resolved dist: { shasum: '3ca8fc91ed924e281236eec99e74505873ac5a45' },
1535 silly resolved _from: 'mkdirp@0.3.5',
1535 silly resolved _resolved: 'https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz' },
1535 silly resolved { name: 'request',
1535 silly resolved description: 'Simplified HTTP request client.',
1535 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
1535 silly resolved version: '2.36.0',
1535 silly resolved author: { name: 'Mikeal Rogers', email: 'mikeal.rogers@gmail.com' },
1535 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
1535 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
1535 silly resolved license: 'Apache, Version 2.0',
1535 silly resolved engines: [ 'node >= 0.8.0' ],
1535 silly resolved main: 'index.js',
1535 silly resolved dependencies:
1535 silly resolved { qs: '~0.6.0',
1535 silly resolved 'json-stringify-safe': '~5.0.0',
1535 silly resolved mime: '~1.2.9',
1535 silly resolved 'forever-agent': '~0.5.0',
1535 silly resolved 'node-uuid': '~1.4.0',
1535 silly resolved 'tough-cookie': '>=0.12.0',
1535 silly resolved 'form-data': '~0.1.0',
1535 silly resolved 'tunnel-agent': '~0.4.0',
1535 silly resolved 'http-signature': '~0.10.0',
1535 silly resolved 'oauth-sign': '~0.3.0',
1535 silly resolved hawk: '~1.0.0',
1535 silly resolved 'aws-sign2': '~0.5.0' },
1535 silly resolved optionalDependencies:
1535 silly resolved { 'tough-cookie': '>=0.12.0',
1535 silly resolved 'form-data': '~0.1.0',
1535 silly resolved 'tunnel-agent': '~0.4.0',
1535 silly resolved 'http-signature': '~0.10.0',
1535 silly resolved 'oauth-sign': '~0.3.0',
1535 silly resolved hawk: '~1.0.0',
1535 silly resolved 'aws-sign2': '~0.5.0' },
1535 silly resolved scripts: { test: 'node tests/run.js' },
1535 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',
1535 silly resolved readmeFilename: 'README.md',
1535 silly resolved homepage: 'https://github.com/mikeal/request',
1535 silly resolved _id: 'request@2.36.0',
1535 silly resolved dist: { shasum: '28c6c04262c7b9ffdd21b9255374517ee6d943f5' },
1535 silly resolved _from: 'request@2.36.0',
1535 silly resolved _resolved: 'https://registry.npmjs.org/request/-/request-2.36.0.tgz' },
1535 silly resolved { name: 'adm-zip',
1535 silly resolved version: '0.2.1',
1535 silly resolved description: 'A Javascript implementation of zip for nodejs. Allows user to create or extract zip files both in memory or to/from disk',
1535 silly resolved keywords: [ 'zip', 'methods', 'archive', 'unzip' ],
1535 silly resolved homepage: 'http://github.com/cthackers/adm-zip',
1535 silly resolved author:
1535 silly resolved { name: 'Nasca Iacob',
1535 silly resolved email: 'sy@another-d-mention.ro',
1535 silly resolved url: 'https://github.com/cthackers' },
1535 silly resolved bugs:
1535 silly resolved { url: 'https://github.com/cthackers/adm-zip/issues',
1535 silly resolved email: 'sy@another-d-mention.ro' },
1535 silly resolved licenses: [ [Object] ],
1535 silly resolved main: 'adm-zip.js',
1535 silly resolved repository:
1535 silly resolved { type: 'git',
1535 silly resolved url: 'git://github.com/git@github.com:cthackers/adm-zip.git' },
1535 silly resolved engines: { node: '>=0.3.0' },
1535 silly resolved readme: '# ADM-ZIP for NodeJS\r\n\r\nADM-ZIP is a pure JavaScript implementation for zip data compression for [NodeJS](http://nodejs.org/). \r\n\r\n# Installation\r\n\r\nWith [npm](http://npmjs.org) do:\r\n\r\n $ npm install adm-zip\r\n\t\r\n## What is it good for?\r\nThe library allows you to:\r\n\r\n* decompress zip files directly to disk or in memory buffers\r\n* compress files and store them to disk in .zip format or in compressed buffers\r\n* update content of/add new/delete files from an existing .zip\r\n\r\n# Dependencies\r\nThere are no other nodeJS libraries that ADM-ZIP is dependent of\r\n\r\n# Examples\r\n\r\n## Basic usage\r\n```javascript\r\n\r\n\tvar AdmZip = require(\'adm-zip\');\r\n\r\n\t// reading archives\r\n\tvar zip = new AdmZip("./my_file.zip");\r\n\tvar zipEntries = zip.getEntries(); // an array of ZipEntry records\r\n\r\n\tzipEntries.forEach(function(zipEntry) {\r\n\t console.log(zipEntry.toString()); // outputs zip entries information\r\n\t\tif (zipEntry.entryName == "my_file.txt") {\r\n\t\t console.log(zipEntry.data.toString(\'utf8\')); \r\n\t\t}\r\n\t});\r\n\t// outputs the content of some_folder/my_file.txt\r\n\tconsole.log(zip.readAsText("some_folder/my_file.txt")); \r\n\t// extracts the specified file to the specified location\r\n\tzip.extractEntryTo(/*entry name*/"some_folder/my_file.txt", /*target path*/"/home/me/tempfolder", /*overwrite*/true)\r\n\t// extracts everything\r\n\tzip.extractAllTo(/*target path*/"/home/me/zipcontent/", /*overwrite*/true);\r\n\t\r\n\t\r\n\t// creating archives\r\n\tvar zip = new AdmZip();\r\n\t\r\n\t// add file directly\r\n\tzip.addFile("test.txt", new Buffer("inner content of the file"), "entry comment goes here");\r\n\t// add local file\r\n\tzip.addLocalFile("/home/me/some_picture.png");\r\n\t// get everything as a buffer\r\n\tvar willSendthis = zip.toBuffer();\r\n\t// or write everything to disk\r\n\tzip.writeZip(/*target file name*/"/home/me/files.zip");\r\n\t\r\n\t\r\n\t// ... more examples in the wiki\r\n```\r\n\r\nFor more detailed information please check out the [wiki](https://github.com/cthackers/adm-zip/wiki).\n\n[![build status](https://secure.travis-ci.org/cthackers/adm-zip.png)](http://travis-ci.org/cthackers/adm-zip)',
1535 silly resolved readmeFilename: 'README.md',
1535 silly resolved _id: 'adm-zip@0.2.1',
1535 silly resolved dist: { shasum: '1d1a2b79fb7834659ad1a79c4c637ec9b546d4ec' },
1535 silly resolved _from: 'adm-zip@0.2.1',
1535 silly resolved _resolved: 'https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz' } ]
1536 info install rimraf@2.2.8 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
1537 info install which@1.0.5 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
1538 info install request-progress@0.3.1 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
1539 info install kew@0.1.7 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
1540 info install progress@1.1.8 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
1541 info install ncp@0.4.2 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
1542 info install npmconf@0.0.24 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
1543 info install mkdirp@0.3.5 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
1544 info install request@2.36.0 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
1545 info install adm-zip@0.2.1 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
1546 info installOne rimraf@2.2.8
1547 info installOne which@1.0.5
1548 info installOne request-progress@0.3.1
1549 info installOne kew@0.1.7
1550 info installOne progress@1.1.8
1551 info installOne ncp@0.4.2
1552 info installOne npmconf@0.0.24
1553 info installOne mkdirp@0.3.5
1554 info installOne request@2.36.0
1555 info installOne adm-zip@0.2.1
1556 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf unbuild
1557 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which unbuild
1558 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress unbuild
1559 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew unbuild
1560 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/progress unbuild
1561 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp unbuild
1562 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf unbuild
1563 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp unbuild
1564 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request unbuild
1565 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip unbuild
1566 verbose tar unpack /Volumes/Storage/martincleaver/.npm/rimraf/2.2.8/package.tgz
1567 silly lockFile f9931978-es-phantomjs-node-modules-rimraf tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf
1568 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf /Volumes/Storage/martincleaver/.npm/f9931978-es-phantomjs-node-modules-rimraf.lock
1569 silly lockFile 6028032a-ver-npm-rimraf-2-2-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/rimraf/2.2.8/package.tgz
1570 verbose lock tar:///Volumes/Storage/martincleaver/.npm/rimraf/2.2.8/package.tgz /Volumes/Storage/martincleaver/.npm/6028032a-ver-npm-rimraf-2-2-8-package-tgz.lock
1571 verbose tar unpack /Volumes/Storage/martincleaver/.npm/which/1.0.5/package.tgz
1572 silly lockFile 797673d6-les-phantomjs-node-modules-which tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which
1573 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which /Volumes/Storage/martincleaver/.npm/797673d6-les-phantomjs-node-modules-which.lock
1574 silly lockFile 155ee854-aver-npm-which-1-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/which/1.0.5/package.tgz
1575 verbose lock tar:///Volumes/Storage/martincleaver/.npm/which/1.0.5/package.tgz /Volumes/Storage/martincleaver/.npm/155ee854-aver-npm-which-1-0-5-package-tgz.lock
1576 verbose tar unpack /Volumes/Storage/martincleaver/.npm/request-progress/0.3.1/package.tgz
1577 silly lockFile 2cca67a9-js-node-modules-request-progress tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress
1578 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress /Volumes/Storage/martincleaver/.npm/2cca67a9-js-node-modules-request-progress.lock
1579 silly lockFile 69eade9f-quest-progress-0-3-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request-progress/0.3.1/package.tgz
1580 verbose lock tar:///Volumes/Storage/martincleaver/.npm/request-progress/0.3.1/package.tgz /Volumes/Storage/martincleaver/.npm/69eade9f-quest-progress-0-3-1-package-tgz.lock
1581 verbose tar unpack /Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1582 silly lockFile 03574ccc-dules-phantomjs-node-modules-kew tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew
1583 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew /Volumes/Storage/martincleaver/.npm/03574ccc-dules-phantomjs-node-modules-kew.lock
1584 silly lockFile 29e82e11-leaver-npm-kew-0-1-7-package-tgz tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1585 verbose lock tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz /Volumes/Storage/martincleaver/.npm/29e82e11-leaver-npm-kew-0-1-7-package-tgz.lock
1586 verbose tar unpack /Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1587 silly lockFile 0e2c1e6c--phantomjs-node-modules-progress tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/progress
1588 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/progress /Volumes/Storage/martincleaver/.npm/0e2c1e6c--phantomjs-node-modules-progress.lock
1589 silly lockFile 258c5333-r-npm-progress-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1590 verbose lock tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz /Volumes/Storage/martincleaver/.npm/258c5333-r-npm-progress-1-1-8-package-tgz.lock
1591 verbose tar unpack /Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1592 silly lockFile cc26e854-dules-phantomjs-node-modules-ncp tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp
1593 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp /Volumes/Storage/martincleaver/.npm/cc26e854-dules-phantomjs-node-modules-ncp.lock
1594 silly lockFile c396664f-leaver-npm-ncp-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1595 verbose lock tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz /Volumes/Storage/martincleaver/.npm/c396664f-leaver-npm-ncp-0-4-2-package-tgz.lock
1596 verbose tar unpack /Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1597 silly lockFile 519a8293-s-phantomjs-node-modules-npmconf tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
1598 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf /Volumes/Storage/martincleaver/.npm/519a8293-s-phantomjs-node-modules-npmconf.lock
1599 silly lockFile f863b850-r-npm-npmconf-0-0-24-package-tgz tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1600 verbose lock tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz /Volumes/Storage/martincleaver/.npm/f863b850-r-npm-npmconf-0-0-24-package-tgz.lock
1601 verbose tar unpack /Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
1602 silly lockFile 3a951cf9-es-phantomjs-node-modules-mkdirp tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp
1603 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp /Volumes/Storage/martincleaver/.npm/3a951cf9-es-phantomjs-node-modules-mkdirp.lock
1604 silly lockFile d19fba63-ver-npm-mkdirp-0-3-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
1605 verbose lock tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz /Volumes/Storage/martincleaver/.npm/d19fba63-ver-npm-mkdirp-0-3-5-package-tgz.lock
1606 verbose tar unpack /Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
1607 silly lockFile 9fb2f8d2-s-phantomjs-node-modules-request tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
1608 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request /Volumes/Storage/martincleaver/.npm/9fb2f8d2-s-phantomjs-node-modules-request.lock
1609 silly lockFile 26101e0f-r-npm-request-2-36-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
1610 verbose lock tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz /Volumes/Storage/martincleaver/.npm/26101e0f-r-npm-request-2-36-0-package-tgz.lock
1611 verbose tar unpack /Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
1612 silly lockFile 8fb645af-s-phantomjs-node-modules-adm-zip tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip
1613 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip /Volumes/Storage/martincleaver/.npm/8fb645af-s-phantomjs-node-modules-adm-zip.lock
1614 silly lockFile 422404b4-er-npm-adm-zip-0-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
1615 verbose lock tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz /Volumes/Storage/martincleaver/.npm/422404b4-er-npm-adm-zip-0-2-1-package-tgz.lock
1616 silly gunzTarPerm modes [ '755', '644' ]
1617 silly gunzTarPerm modes [ '755', '644' ]
1618 silly gunzTarPerm modes [ '755', '644' ]
1619 silly gunzTarPerm modes [ '755', '644' ]
1620 silly gunzTarPerm modes [ '755', '644' ]
1621 silly gunzTarPerm modes [ '755', '644' ]
1622 silly gunzTarPerm modes [ '755', '644' ]
1623 silly gunzTarPerm modes [ '755', '644' ]
1624 silly gunzTarPerm modes [ '755', '644' ]
1625 silly gunzTarPerm modes [ '755', '644' ]
1626 silly gunzTarPerm extractEntry package.json
1627 silly gunzTarPerm extractEntry package.json
1628 silly gunzTarPerm extractEntry package.json
1629 silly gunzTarPerm extractEntry package.json
1630 silly gunzTarPerm extractEntry package.json
1631 silly gunzTarPerm extractEntry package.json
1632 silly gunzTarPerm extractEntry package.json
1633 silly gunzTarPerm extractEntry .npmignore
1634 silly gunzTarPerm extractEntry README.md
1635 silly gunzTarPerm extractEntry .npmignore
1636 silly gunzTarPerm extractEntry LICENSE
1637 silly gunzTarPerm extractEntry .npmignore
1638 silly gunzTarPerm extractEntry README.md
1639 silly gunzTarPerm extractEntry .npmignore
1640 silly gunzTarPerm extractEntry README.md
1641 silly gunzTarPerm extractEntry .npmignore
1642 silly gunzTarPerm extractEntry LICENSE
1643 silly gunzTarPerm extractEntry .npmignore
1644 silly gunzTarPerm extractEntry README.md
1645 silly gunzTarPerm extractEntry README.md
1646 silly gunzTarPerm extractEntry zipFile.js
1647 silly gunzTarPerm extractEntry kew.js
1648 silly gunzTarPerm extractEntry LICENSE.TXT
1649 silly gunzTarPerm extractEntry test/chain.js
1650 silly gunzTarPerm extractEntry test/context.js
1651 silly gunzTarPerm extractEntry test/defer.js
1652 silly gunzTarPerm extractEntry test/static.js
1653 silly gunzTarPerm extractEntry index.js
1654 silly gunzTarPerm extractEntry History.md
1655 silly gunzTarPerm extractEntry .travis.yml
1656 silly gunzTarPerm extractEntry LICENSE.md
1657 silly gunzTarPerm extractEntry LICENSE
1658 silly gunzTarPerm extractEntry config-defs.js
1659 silly gunzTarPerm extractEntry index.js
1660 silly gunzTarPerm extractEntry .travis.yml
1661 silly gunzTarPerm extractEntry LICENSE
1662 silly gunzTarPerm extractEntry adm-zip.js
1663 silly gunzTarPerm extractEntry sandbox.js
1664 silly gunzTarPerm extractEntry zipEntry.js
1665 silly gunzTarPerm extractEntry .travis.yml
1666 silly gunzTarPerm extractEntry headers/dataHeader.js
1667 silly gunzTarPerm extractEntry headers/entryHeader.js
1668 silly gunzTarPerm extractEntry headers/index.js
1669 silly gunzTarPerm extractEntry headers/mainHeader.js
1670 silly gunzTarPerm extractEntry util/constants.js
1671 silly gunzTarPerm extractEntry util/errors.js
1672 silly gunzTarPerm extractEntry util/fattr.js
1673 silly gunzTarPerm extractEntry util/index.js
1674 silly gunzTarPerm extractEntry util/utils.js
1675 silly gunzTarPerm extractEntry MIT-LICENSE.txt
1676 silly gunzTarPerm extractEntry methods/deflater.js
1677 silly gunzTarPerm extractEntry methods/index.js
1678 silly gunzTarPerm extractEntry methods/inflater.js
1679 silly gunzTarPerm extractEntry Makefile
1680 silly gunzTarPerm extractEntry Readme.md
1681 silly gunzTarPerm extractEntry bin/ncp
1682 silly gunzTarPerm extractEntry lib/ncp.js
1683 silly gunzTarPerm extractEntry npmconf.js
1684 silly gunzTarPerm extractEntry examples/pow.js
1685 silly gunzTarPerm extractEntry readme.markdown
1686 silly gunzTarPerm extractEntry index.js
1687 silly gunzTarPerm extractEntry request.js
1688 silly gunzTarPerm extractEntry lib/node-progress.js
1689 silly gunzTarPerm extractEntry test/00-setup.js
1690 silly gunzTarPerm extractEntry test/basic.js
1691 silly gunzTarPerm extractEntry test/chmod.js
1692 silly gunzTarPerm extractEntry test/perm.js
1693 silly gunzTarPerm extractEntry test/ncp-test.js
1694 silly gunzTarPerm extractEntry test/fixtures/src/a
1695 silly gunzTarPerm extractEntry test/fixtures/src/b
1696 silly gunzTarPerm extractEntry test/fixtures/src/c
1697 silly gunzTarPerm extractEntry test/fixtures/src/d
1698 silly gunzTarPerm extractEntry test/fixtures/src/e
1699 silly gunzTarPerm extractEntry test/fixtures/src/f
1700 silly gunzTarPerm extractEntry test/fixtures/src/sub/a
1701 silly gunzTarPerm extractEntry test/fixtures/src/sub/b
1702 silly gunzTarPerm extractEntry test/builtin.js
1703 silly gunzTarPerm extractEntry test/save.js
1704 silly gunzTarPerm extractEntry test/perm_sync.js
1705 silly gunzTarPerm extractEntry test/race.js
1706 silly gunzTarPerm extractEntry test/mkdirp.js
1707 silly gunzTarPerm extractEntry test/return.js
1708 silly gunzTarPerm extractEntry test/return_sync.js
1709 silly gunzTarPerm extractEntry test/root.js
1710 silly gunzTarPerm extractEntry test/sync.js
1711 silly gunzTarPerm extractEntry test/umask.js
1712 silly gunzTarPerm extractEntry test/clobber.js
1713 silly gunzTarPerm extractEntry test/umask_sync.js
1714 silly gunzTarPerm extractEntry test/rel.js
1715 silly gunzTarPerm extractEntry .travis.yml
1716 silly gunzTarPerm extractEntry CHANGELOG.md
1717 silly gunzTarPerm extractEntry test/fixtures/builtin
1718 silly gunzTarPerm extractEntry test/fixtures/globalconfig
1719 silly gunzTarPerm extractEntry lib/cookies.js
1720 silly gunzTarPerm extractEntry lib/copy.js
1721 silly gunzTarPerm extractEntry package.json
1722 silly gunzTarPerm extractEntry package.json
1723 silly gunzTarPerm extractEntry package.json
1724 silly lockFile b9257b58-0631-0-08721110131591558-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/package
1725 silly lockFile b9257b58-0631-0-08721110131591558-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886910631-0.08721110131591558/package
1726 silly lockFile 0e2c1e6c--phantomjs-node-modules-progress tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/progress
1727 silly lockFile 0e2c1e6c--phantomjs-node-modules-progress tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/progress
1728 silly gunzTarPerm extractEntry README.md
1729 silly gunzTarPerm extractEntry LICENSE
1730 silly lockFile 11feaccf-er-npm-karma-0-12-21-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
1731 silly lockFile 11feaccf-er-npm-karma-0-12-21-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
1732 silly gunzTarPerm extractEntry README.md
1733 silly gunzTarPerm extractEntry LICENSE
1734 silly gunzTarPerm extractEntry .npmignore
1735 silly gunzTarPerm extractEntry README.md
1736 silly lockFile 258c5333-r-npm-progress-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1737 silly lockFile 258c5333-r-npm-progress-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/progress/1.1.8/package.tgz
1738 silly gunzTarPerm extractEntry lib/debug.js
1739 silly gunzTarPerm extractEntry lib/getSafe.js
1740 silly gunzTarPerm extractEntry test/fixtures/userconfig
1741 info preinstall progress@1.1.8
1742 silly lockFile cb83b7aa-leaver-npm-karma-0-12-21-package /Volumes/Storage/martincleaver/.npm/karma/0.12.21/package
1743 verbose lock /Volumes/Storage/martincleaver/.npm/karma/0.12.21/package /Volumes/Storage/martincleaver/.npm/cb83b7aa-leaver-npm-karma-0-12-21-package.lock
1744 verbose readDependencies using package.json deps
1745 silly gunzTarPerm extractEntry which.js
1746 silly gunzTarPerm extractEntry bin/which
1747 silly gunzTarPerm extractEntry bin.js
1748 silly gunzTarPerm extractEntry rimraf.js
1749 silly lockFile cb83b7aa-leaver-npm-karma-0-12-21-package /Volumes/Storage/martincleaver/.npm/karma/0.12.21/package
1750 silly lockFile cb83b7aa-leaver-npm-karma-0-12-21-package /Volumes/Storage/martincleaver/.npm/karma/0.12.21/package
1751 verbose readDependencies using package.json deps
1752 silly resolved []
1753 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/progress
1754 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/progress
1755 verbose linkStuff [ false,
1755 verbose linkStuff false,
1755 verbose linkStuff false,
1755 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
1756 info linkStuff progress@1.1.8
1757 verbose linkBins progress@1.1.8
1758 verbose linkMans progress@1.1.8
1759 verbose rebuildBundles progress@1.1.8
1760 verbose tar unpack /Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
1761 silly lockFile 44c4fd32-leaver-npm-karma-0-12-21-package tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package
1762 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package /Volumes/Storage/martincleaver/.npm/44c4fd32-leaver-npm-karma-0-12-21-package.lock
1763 silly lockFile 11feaccf-er-npm-karma-0-12-21-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
1764 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz /Volumes/Storage/martincleaver/.npm/11feaccf-er-npm-karma-0-12-21-package-tgz.lock
1765 silly gunzTarPerm extractEntry LICENSE
1766 silly gunzTarPerm extractEntry index.js
1767 info install progress@1.1.8
1768 info postinstall progress@1.1.8
1769 silly gunzTarPerm modes [ '755', '644' ]
1770 silly gunzTarPerm extractEntry AUTHORS
1771 silly gunzTarPerm extractEntry test/test-async.js
1772 silly gunzTarPerm extractEntry .editorconfig
1773 silly gunzTarPerm extractEntry .jshintrc
1774 silly gunzTarPerm extractEntry test/test-sync.js
1775 silly gunzTarPerm extractEntry test/run.sh
1776 silly gunzTarPerm extractEntry .travis.yml
1777 silly gunzTarPerm extractEntry test/test.js
1778 silly gunzTarPerm extractEntry test/setup.sh
1779 silly gunzTarPerm extractEntry package.json
1780 silly lockFile cc26e854-dules-phantomjs-node-modules-ncp tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp
1781 silly lockFile cc26e854-dules-phantomjs-node-modules-ncp tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp
1782 silly gunzTarPerm extractEntry README.md
1783 silly gunzTarPerm extractEntry LICENSE
1784 silly lockFile c396664f-leaver-npm-ncp-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1785 silly lockFile c396664f-leaver-npm-ncp-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ncp/0.4.2/package.tgz
1786 info preinstall ncp@0.4.2
1787 silly lockFile 03574ccc-dules-phantomjs-node-modules-kew tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew
1788 silly lockFile 03574ccc-dules-phantomjs-node-modules-kew tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew
1789 silly lockFile 29e82e11-leaver-npm-kew-0-1-7-package-tgz tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1790 silly lockFile 29e82e11-leaver-npm-kew-0-1-7-package-tgz tar:///Volumes/Storage/martincleaver/.npm/kew/0.1.7/package.tgz
1791 verbose readDependencies using package.json deps
1792 verbose readDependencies using package.json deps
1793 silly resolved []
1794 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp
1795 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/ncp
1796 verbose linkStuff [ false,
1796 verbose linkStuff false,
1796 verbose linkStuff false,
1796 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
1797 info linkStuff ncp@0.4.2
1798 verbose linkBins ncp@0.4.2
1799 verbose link bins [ { ncp: './bin/ncp' },
1799 verbose link bins '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/.bin',
1799 verbose link bins false ]
1800 verbose linkMans ncp@0.4.2
1801 verbose rebuildBundles ncp@0.4.2
1802 silly lockFile 519a8293-s-phantomjs-node-modules-npmconf tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
1803 silly lockFile 519a8293-s-phantomjs-node-modules-npmconf tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
1804 silly lockFile f863b850-r-npm-npmconf-0-0-24-package-tgz tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1805 silly lockFile f863b850-r-npm-npmconf-0-0-24-package-tgz tar:///Volumes/Storage/martincleaver/.npm/npmconf/0.0.24/package.tgz
1806 info preinstall kew@0.1.7
1807 info preinstall npmconf@0.0.24
1808 info install ncp@0.4.2
1809 verbose readDependencies using package.json deps
1810 verbose readDependencies using package.json deps
1811 silly resolved []
1812 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew
1813 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/kew
1814 verbose linkStuff [ false,
1814 verbose linkStuff false,
1814 verbose linkStuff false,
1814 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
1815 info linkStuff kew@0.1.7
1816 verbose linkBins kew@0.1.7
1817 verbose linkMans kew@0.1.7
1818 verbose rebuildBundles kew@0.1.7
1819 info postinstall ncp@0.4.2
1820 verbose readDependencies using package.json deps
1821 info install kew@0.1.7
1822 verbose readDependencies using package.json deps
1823 silly gunzTarPerm extractEntry config.tpl.js
1824 silly gunzTarPerm extractEntry requirejs.config.tpl.js
1825 silly gunzTarPerm extractEntry config.tpl.ls
1826 silly gunzTarPerm extractEntry bin/karma
1827 silly gunzTarPerm extractEntry karma-completion.sh
1828 silly gunzTarPerm extractEntry lib/browser.js
1829 silly gunzTarPerm extractEntry lib/events.js
1830 silly gunzTarPerm extractEntry lib/executor.js
1831 silly gunzTarPerm extractEntry lib/file_list.js
1832 silly gunzTarPerm extractEntry lib/helper.js
1833 silly gunzTarPerm extractEntry lib/emitter_wrapper.js
1834 silly gunzTarPerm extractEntry lib/watcher.js
1835 silly gunzTarPerm extractEntry lib/browser_collection.js
1836 silly gunzTarPerm extractEntry lib/launcher.js
1837 silly gunzTarPerm extractEntry lib/temp_dir.js
1838 silly gunzTarPerm extractEntry lib/logger.js
1839 silly gunzTarPerm extractEntry lib/constants.js
1840 silly gunzTarPerm extractEntry lib/server.js
1841 silly gunzTarPerm extractEntry lib/config.js
1842 silly gunzTarPerm extractEntry lib/plugin.js
1843 silly gunzTarPerm extractEntry lib/completion.js
1844 silly gunzTarPerm extractEntry lib/preprocessor.js
1845 silly gunzTarPerm extractEntry lib/cli.js
1846 silly gunzTarPerm extractEntry lib/reporter.js
1847 silly gunzTarPerm extractEntry lib/browser_result.js
1848 silly gunzTarPerm extractEntry lib/runner.js
1849 silly gunzTarPerm extractEntry lib/index.js
1850 silly gunzTarPerm extractEntry lib/web-server.js
1851 silly gunzTarPerm extractEntry lib/init.js
1852 silly gunzTarPerm extractEntry lib/reporters/base.js
1853 silly gunzTarPerm extractEntry lib/reporters/base_color.js
1854 silly gunzTarPerm extractEntry lib/reporters/dots.js
1855 silly gunzTarPerm extractEntry lib/reporters/dots_color.js
1856 silly gunzTarPerm extractEntry lib/reporters/multi.js
1857 silly gunzTarPerm extractEntry lib/reporters/progress.js
1858 silly gunzTarPerm extractEntry lib/reporters/progress_color.js
1859 silly gunzTarPerm extractEntry lib/middleware/common.js
1860 silly gunzTarPerm extractEntry lib/middleware/karma.js
1861 silly gunzTarPerm extractEntry lib/middleware/proxy.js
1862 silly gunzTarPerm extractEntry lib/middleware/runner.js
1863 silly gunzTarPerm extractEntry lib/middleware/source_files.js
1864 silly gunzTarPerm extractEntry lib/middleware/strip_host.js
1865 silly gunzTarPerm extractEntry lib/launchers/base.js
1866 silly gunzTarPerm extractEntry lib/launchers/capture_timeout.js
1867 silly gunzTarPerm extractEntry lib/launchers/process.js
1868 silly gunzTarPerm extractEntry lib/launchers/retry.js
1869 silly gunzTarPerm extractEntry lib/init/color_schemes.js
1870 silly gunzTarPerm extractEntry lib/init/formatters.js
1871 silly gunzTarPerm extractEntry lib/init/state_machine.js
1872 silly gunzTarPerm extractEntry config.tpl.coffee
1873 silly gunzTarPerm extractEntry requirejs.config.tpl.coffee
1874 silly gunzTarPerm extractEntry CHANGELOG.md
1875 silly gunzTarPerm extractEntry static/karma.js
1876 silly gunzTarPerm extractEntry static/client.html
1877 silly gunzTarPerm extractEntry static/context.html
1878 silly gunzTarPerm extractEntry static/debug.html
1879 silly gunzTarPerm extractEntry lib/optional.js
1880 info postinstall kew@0.1.7
1881 verbose cache add [ 'nopt@2', null ]
1882 verbose cache add name=undefined spec="nopt@2" args=["nopt@2",null]
1883 verbose parsed url { protocol: null,
1883 verbose parsed url slashes: null,
1883 verbose parsed url auth: null,
1883 verbose parsed url host: null,
1883 verbose parsed url port: null,
1883 verbose parsed url hostname: null,
1883 verbose parsed url hash: null,
1883 verbose parsed url search: null,
1883 verbose parsed url query: null,
1883 verbose parsed url pathname: 'nopt@2',
1883 verbose parsed url path: 'nopt@2',
1883 verbose parsed url href: 'nopt@2' }
1884 verbose cache add name="nopt" spec="2" args=["nopt","2"]
1885 verbose parsed url { protocol: null,
1885 verbose parsed url slashes: null,
1885 verbose parsed url auth: null,
1885 verbose parsed url host: null,
1885 verbose parsed url port: null,
1885 verbose parsed url hostname: null,
1885 verbose parsed url hash: null,
1885 verbose parsed url search: null,
1885 verbose parsed url query: null,
1885 verbose parsed url pathname: '2',
1885 verbose parsed url path: '2',
1885 verbose parsed url href: '2' }
1886 verbose addNamed [ 'nopt', '2' ]
1887 verbose addNamed [ null, '>=2.0.0-0 <3.0.0-0' ]
1888 silly lockFile 64594a3f-nopt-2 nopt@2
1889 verbose lock nopt@2 /Volumes/Storage/martincleaver/.npm/64594a3f-nopt-2.lock
1890 verbose cache add [ 'osenv@0.0.3', null ]
1891 verbose cache add name=undefined spec="osenv@0.0.3" args=["osenv@0.0.3",null]
1892 verbose parsed url { protocol: null,
1892 verbose parsed url slashes: null,
1892 verbose parsed url auth: null,
1892 verbose parsed url host: null,
1892 verbose parsed url port: null,
1892 verbose parsed url hostname: null,
1892 verbose parsed url hash: null,
1892 verbose parsed url search: null,
1892 verbose parsed url query: null,
1892 verbose parsed url pathname: 'osenv@0.0.3',
1892 verbose parsed url path: 'osenv@0.0.3',
1892 verbose parsed url href: 'osenv@0.0.3' }
1893 verbose cache add name="osenv" spec="0.0.3" args=["osenv","0.0.3"]
1894 verbose parsed url { protocol: null,
1894 verbose parsed url slashes: null,
1894 verbose parsed url auth: null,
1894 verbose parsed url host: null,
1894 verbose parsed url port: null,
1894 verbose parsed url hostname: null,
1894 verbose parsed url hash: null,
1894 verbose parsed url search: null,
1894 verbose parsed url query: null,
1894 verbose parsed url pathname: '0.0.3',
1894 verbose parsed url path: '0.0.3',
1894 verbose parsed url href: '0.0.3' }
1895 verbose addNamed [ 'osenv', '0.0.3' ]
1896 verbose addNamed [ '0.0.3', '0.0.3' ]
1897 silly lockFile 4085d016-osenv-0-0-3 osenv@0.0.3
1898 verbose lock osenv@0.0.3 /Volumes/Storage/martincleaver/.npm/4085d016-osenv-0-0-3.lock
1899 verbose cache add [ 'semver@~1.1.0', null ]
1900 verbose cache add name=undefined spec="semver@~1.1.0" args=["semver@~1.1.0",null]
1901 verbose parsed url { protocol: null,
1901 verbose parsed url slashes: null,
1901 verbose parsed url auth: null,
1901 verbose parsed url host: null,
1901 verbose parsed url port: null,
1901 verbose parsed url hostname: null,
1901 verbose parsed url hash: null,
1901 verbose parsed url search: null,
1901 verbose parsed url query: null,
1901 verbose parsed url pathname: 'semver@~1.1.0',
1901 verbose parsed url path: 'semver@~1.1.0',
1901 verbose parsed url href: 'semver@~1.1.0' }
1902 verbose cache add name="semver" spec="~1.1.0" args=["semver","~1.1.0"]
1903 verbose parsed url { protocol: null,
1903 verbose parsed url slashes: null,
1903 verbose parsed url auth: null,
1903 verbose parsed url host: null,
1903 verbose parsed url port: null,
1903 verbose parsed url hostname: null,
1903 verbose parsed url hash: null,
1903 verbose parsed url search: null,
1903 verbose parsed url query: null,
1903 verbose parsed url pathname: '~1.1.0',
1903 verbose parsed url path: '~1.1.0',
1903 verbose parsed url href: '~1.1.0' }
1904 verbose addNamed [ 'semver', '~1.1.0' ]
1905 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
1906 silly lockFile 384d7ac7-semver-1-1-0 semver@~1.1.0
1907 verbose lock semver@~1.1.0 /Volumes/Storage/martincleaver/.npm/384d7ac7-semver-1-1-0.lock
1908 verbose cache add [ 'ini@~1.1.0', null ]
1909 verbose cache add name=undefined spec="ini@~1.1.0" args=["ini@~1.1.0",null]
1910 verbose parsed url { protocol: null,
1910 verbose parsed url slashes: null,
1910 verbose parsed url auth: null,
1910 verbose parsed url host: null,
1910 verbose parsed url port: null,
1910 verbose parsed url hostname: null,
1910 verbose parsed url hash: null,
1910 verbose parsed url search: null,
1910 verbose parsed url query: null,
1910 verbose parsed url pathname: 'ini@~1.1.0',
1910 verbose parsed url path: 'ini@~1.1.0',
1910 verbose parsed url href: 'ini@~1.1.0' }
1911 verbose cache add name="ini" spec="~1.1.0" args=["ini","~1.1.0"]
1912 verbose parsed url { protocol: null,
1912 verbose parsed url slashes: null,
1912 verbose parsed url auth: null,
1912 verbose parsed url host: null,
1912 verbose parsed url port: null,
1912 verbose parsed url hostname: null,
1912 verbose parsed url hash: null,
1912 verbose parsed url search: null,
1912 verbose parsed url query: null,
1912 verbose parsed url pathname: '~1.1.0',
1912 verbose parsed url path: '~1.1.0',
1912 verbose parsed url href: '~1.1.0' }
1913 verbose addNamed [ 'ini', '~1.1.0' ]
1914 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
1915 silly lockFile d6a0c59d-ini-1-1-0 ini@~1.1.0
1916 verbose lock ini@~1.1.0 /Volumes/Storage/martincleaver/.npm/d6a0c59d-ini-1-1-0.lock
1917 verbose cache add [ 'config-chain@~1.1.1', null ]
1918 verbose cache add name=undefined spec="config-chain@~1.1.1" args=["config-chain@~1.1.1",null]
1919 verbose parsed url { protocol: null,
1919 verbose parsed url slashes: null,
1919 verbose parsed url auth: null,
1919 verbose parsed url host: null,
1919 verbose parsed url port: null,
1919 verbose parsed url hostname: null,
1919 verbose parsed url hash: null,
1919 verbose parsed url search: null,
1919 verbose parsed url query: null,
1919 verbose parsed url pathname: 'config-chain@~1.1.1',
1919 verbose parsed url path: 'config-chain@~1.1.1',
1919 verbose parsed url href: 'config-chain@~1.1.1' }
1920 verbose cache add name="config-chain" spec="~1.1.1" args=["config-chain","~1.1.1"]
1921 verbose parsed url { protocol: null,
1921 verbose parsed url slashes: null,
1921 verbose parsed url auth: null,
1921 verbose parsed url host: null,
1921 verbose parsed url port: null,
1921 verbose parsed url hostname: null,
1921 verbose parsed url hash: null,
1921 verbose parsed url search: null,
1921 verbose parsed url query: null,
1921 verbose parsed url pathname: '~1.1.1',
1921 verbose parsed url path: '~1.1.1',
1921 verbose parsed url href: '~1.1.1' }
1922 verbose addNamed [ 'config-chain', '~1.1.1' ]
1923 verbose addNamed [ null, '>=1.1.1-0 <1.2.0-0' ]
1924 silly lockFile b9689009-config-chain-1-1-1 config-chain@~1.1.1
1925 verbose lock config-chain@~1.1.1 /Volumes/Storage/martincleaver/.npm/b9689009-config-chain-1-1-1.lock
1926 verbose cache add [ 'inherits@~1.0.0', null ]
1927 verbose cache add name=undefined spec="inherits@~1.0.0" args=["inherits@~1.0.0",null]
1928 verbose parsed url { protocol: null,
1928 verbose parsed url slashes: null,
1928 verbose parsed url auth: null,
1928 verbose parsed url host: null,
1928 verbose parsed url port: null,
1928 verbose parsed url hostname: null,
1928 verbose parsed url hash: null,
1928 verbose parsed url search: null,
1928 verbose parsed url query: null,
1928 verbose parsed url pathname: 'inherits@~1.0.0',
1928 verbose parsed url path: 'inherits@~1.0.0',
1928 verbose parsed url href: 'inherits@~1.0.0' }
1929 verbose cache add name="inherits" spec="~1.0.0" args=["inherits","~1.0.0"]
1930 verbose parsed url { protocol: null,
1930 verbose parsed url slashes: null,
1930 verbose parsed url auth: null,
1930 verbose parsed url host: null,
1930 verbose parsed url port: null,
1930 verbose parsed url hostname: null,
1930 verbose parsed url hash: null,
1930 verbose parsed url search: null,
1930 verbose parsed url query: null,
1930 verbose parsed url pathname: '~1.0.0',
1930 verbose parsed url path: '~1.0.0',
1930 verbose parsed url href: '~1.0.0' }
1931 verbose addNamed [ 'inherits', '~1.0.0' ]
1932 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
1933 silly lockFile 9a68ae75-inherits-1-0-0 inherits@~1.0.0
1934 verbose lock inherits@~1.0.0 /Volumes/Storage/martincleaver/.npm/9a68ae75-inherits-1-0-0.lock
1935 verbose cache add [ 'once@~1.1.1', null ]
1936 verbose cache add name=undefined spec="once@~1.1.1" args=["once@~1.1.1",null]
1937 verbose parsed url { protocol: null,
1937 verbose parsed url slashes: null,
1937 verbose parsed url auth: null,
1937 verbose parsed url host: null,
1937 verbose parsed url port: null,
1937 verbose parsed url hostname: null,
1937 verbose parsed url hash: null,
1937 verbose parsed url search: null,
1937 verbose parsed url query: null,
1937 verbose parsed url pathname: 'once@~1.1.1',
1937 verbose parsed url path: 'once@~1.1.1',
1937 verbose parsed url href: 'once@~1.1.1' }
1938 verbose cache add name="once" spec="~1.1.1" args=["once","~1.1.1"]
1939 verbose parsed url { protocol: null,
1939 verbose parsed url slashes: null,
1939 verbose parsed url auth: null,
1939 verbose parsed url host: null,
1939 verbose parsed url port: null,
1939 verbose parsed url hostname: null,
1939 verbose parsed url hash: null,
1939 verbose parsed url search: null,
1939 verbose parsed url query: null,
1939 verbose parsed url pathname: '~1.1.1',
1939 verbose parsed url path: '~1.1.1',
1939 verbose parsed url href: '~1.1.1' }
1940 verbose addNamed [ 'once', '~1.1.1' ]
1941 verbose addNamed [ null, '>=1.1.1-0 <1.2.0-0' ]
1942 silly lockFile 062b4488-once-1-1-1 once@~1.1.1
1943 verbose lock once@~1.1.1 /Volumes/Storage/martincleaver/.npm/062b4488-once-1-1-1.lock
1944 silly lockFile 797673d6-les-phantomjs-node-modules-which tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which
1945 silly lockFile 797673d6-les-phantomjs-node-modules-which tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which
1946 silly lockFile 155ee854-aver-npm-which-1-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/which/1.0.5/package.tgz
1947 silly lockFile 155ee854-aver-npm-which-1-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/which/1.0.5/package.tgz
1948 silly addNameRange { name: 'nopt', range: '>=2.0.0-0 <3.0.0-0', hasData: false }
1949 silly addNameRange { name: 'semver', range: '>=1.1.0-0 <1.2.0-0', hasData: false }
1950 silly addNameRange { name: 'ini', range: '>=1.1.0-0 <1.2.0-0', hasData: false }
1951 silly addNameRange { name: 'config-chain',
1951 silly addNameRange range: '>=1.1.1-0 <1.2.0-0',
1951 silly addNameRange hasData: false }
1952 silly addNameRange { name: 'inherits', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
1953 silly addNameRange { name: 'once', range: '>=1.1.1-0 <1.2.0-0', hasData: false }
1954 silly lockFile 2cca67a9-js-node-modules-request-progress tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress
1955 silly lockFile 2cca67a9-js-node-modules-request-progress tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress
1956 silly lockFile 69eade9f-quest-progress-0-3-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request-progress/0.3.1/package.tgz
1957 silly lockFile 69eade9f-quest-progress-0-3-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request-progress/0.3.1/package.tgz
1958 info preinstall which@1.0.5
1959 verbose url raw ini
1960 verbose url resolving [ 'https://registry.npmjs.org/', './ini' ]
1961 verbose url resolved https://registry.npmjs.org/ini
1962 info trying registry request attempt 1 at 19:41:52
1963 verbose etag "8AL1KMD2II3YUG0R86LXE453T"
1964 http GET https://registry.npmjs.org/ini
1965 verbose url raw osenv/0.0.3
1966 verbose url resolving [ 'https://registry.npmjs.org/', './osenv/0.0.3' ]
1967 verbose url resolved https://registry.npmjs.org/osenv/0.0.3
1968 info trying registry request attempt 1 at 19:41:52
1969 verbose etag "4U9OADNPRFTP7VFOYE678RAN2"
1970 http GET https://registry.npmjs.org/osenv/0.0.3
1971 verbose url raw nopt
1972 verbose url resolving [ 'https://registry.npmjs.org/', './nopt' ]
1973 verbose url resolved https://registry.npmjs.org/nopt
1974 info trying registry request attempt 1 at 19:41:52
1975 verbose etag "CTII6RLF5JTZRLDKXLM9P498V"
1976 http GET https://registry.npmjs.org/nopt
1977 verbose url raw inherits
1978 verbose url resolving [ 'https://registry.npmjs.org/', './inherits' ]
1979 verbose url resolved https://registry.npmjs.org/inherits
1980 info trying registry request attempt 1 at 19:41:52
1981 verbose etag "BCIWT1Q7RLZNUZRQ3GO6GVLNQ"
1982 http GET https://registry.npmjs.org/inherits
1983 verbose url raw once
1984 verbose url resolving [ 'https://registry.npmjs.org/', './once' ]
1985 verbose url resolved https://registry.npmjs.org/once
1986 info trying registry request attempt 1 at 19:41:52
1987 verbose etag "A2LP3V15AL8FT43KDVW6CZQD3"
1988 http GET https://registry.npmjs.org/once
1989 verbose url raw semver
1990 verbose url resolving [ 'https://registry.npmjs.org/', './semver' ]
1991 verbose url resolved https://registry.npmjs.org/semver
1992 info trying registry request attempt 1 at 19:41:52
1993 verbose etag "84X3DLTVMGT6J4FAGBC989MRV"
1994 http GET https://registry.npmjs.org/semver
1995 http 304 https://registry.npmjs.org/ini
1996 silly registry.get cb [ 304,
1996 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
1996 silly registry.get server: 'Apache',
1996 silly registry.get via: '1.1 varnish',
1996 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:40:57 GMT',
1996 silly registry.get 'cache-control': 'max-age=60',
1996 silly registry.get etag: '"8AL1KMD2II3YUG0R86LXE453T"',
1996 silly registry.get 'x-served-by': 'cache-iad2133-IAD',
1996 silly registry.get 'x-cache': 'HIT',
1996 silly registry.get 'x-cache-hits': '4',
1996 silly registry.get 'x-timer': 'S1407886913.242490,VS0,VE0',
1996 silly registry.get vary: 'Accept',
1996 silly registry.get 'content-length': '0',
1996 silly registry.get 'keep-alive': 'timeout=10, max=50',
1996 silly registry.get connection: 'Keep-Alive' } ]
1997 verbose etag ini from cache
1998 http 304 https://registry.npmjs.org/nopt
1999 silly registry.get cb [ 304,
1999 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
1999 silly registry.get server: 'Apache',
1999 silly registry.get via: '1.1 varnish',
1999 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
1999 silly registry.get 'cache-control': 'max-age=60',
1999 silly registry.get etag: '"CTII6RLF5JTZRLDKXLM9P498V"',
1999 silly registry.get 'x-served-by': 'cache-iad2120-IAD',
1999 silly registry.get 'x-cache': 'HIT',
1999 silly registry.get 'x-cache-hits': '1',
1999 silly registry.get 'x-timer': 'S1407886913.241193,VS0,VE0',
1999 silly registry.get vary: 'Accept',
1999 silly registry.get 'content-length': '0',
1999 silly registry.get 'keep-alive': 'timeout=10, max=50',
1999 silly registry.get connection: 'Keep-Alive' } ]
2000 verbose etag nopt from cache
2001 http 304 https://registry.npmjs.org/osenv/0.0.3
2002 silly registry.get cb [ 304,
2002 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2002 silly registry.get server: 'Apache',
2002 silly registry.get via: '1.1 varnish',
2002 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
2002 silly registry.get 'cache-control': 'max-age=60',
2002 silly registry.get etag: '"4U9OADNPRFTP7VFOYE678RAN2"',
2002 silly registry.get 'x-served-by': 'cache-iad2124-IAD',
2002 silly registry.get 'x-cache': 'HIT',
2002 silly registry.get 'x-cache-hits': '1',
2002 silly registry.get 'x-timer': 'S1407886913.245086,VS0,VE0',
2002 silly registry.get vary: 'Accept',
2002 silly registry.get 'content-length': '0',
2002 silly registry.get 'keep-alive': 'timeout=10, max=50',
2002 silly registry.get connection: 'Keep-Alive' } ]
2003 verbose etag osenv/0.0.3 from cache
2004 verbose url raw config-chain
2005 verbose url resolving [ 'https://registry.npmjs.org/', './config-chain' ]
2006 verbose url resolved https://registry.npmjs.org/config-chain
2007 info trying registry request attempt 1 at 19:41:52
2008 verbose etag "BTV6YERII0J6PP569T7JDV3GK"
2009 http GET https://registry.npmjs.org/config-chain
2010 verbose readDependencies using package.json deps
2011 info preinstall request-progress@0.3.1
2012 verbose readDependencies using package.json deps
2013 silly resolved []
2014 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which
2015 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/which
2016 verbose linkStuff [ false,
2016 verbose linkStuff false,
2016 verbose linkStuff false,
2016 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
2017 info linkStuff which@1.0.5
2018 verbose linkBins which@1.0.5
2019 verbose link bins [ { which: './bin/which' },
2019 verbose link bins '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/.bin',
2019 verbose link bins false ]
2020 verbose linkMans which@1.0.5
2021 verbose rebuildBundles which@1.0.5
2022 http 304 https://registry.npmjs.org/semver
2023 silly registry.get cb [ 304,
2023 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2023 silly registry.get server: 'Apache',
2023 silly registry.get via: '1.1 varnish',
2023 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
2023 silly registry.get 'cache-control': 'max-age=60',
2023 silly registry.get etag: '"84X3DLTVMGT6J4FAGBC989MRV"',
2023 silly registry.get 'x-served-by': 'cache-iad2133-IAD',
2023 silly registry.get 'x-cache': 'HIT',
2023 silly registry.get 'x-cache-hits': '1',
2023 silly registry.get 'x-timer': 'S1407886913.271708,VS0,VE0',
2023 silly registry.get vary: 'Accept',
2023 silly registry.get 'content-length': '0',
2023 silly registry.get 'keep-alive': 'timeout=10, max=49',
2023 silly registry.get connection: 'Keep-Alive' } ]
2024 verbose etag semver from cache
2025 verbose readDependencies using package.json deps
2026 verbose readDependencies using package.json deps
2027 silly lockFile 3a951cf9-es-phantomjs-node-modules-mkdirp tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp
2028 silly lockFile 3a951cf9-es-phantomjs-node-modules-mkdirp tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp
2029 verbose cache add [ 'throttleit@~0.0.2', null ]
2030 verbose cache add name=undefined spec="throttleit@~0.0.2" args=["throttleit@~0.0.2",null]
2031 verbose parsed url { protocol: null,
2031 verbose parsed url slashes: null,
2031 verbose parsed url auth: null,
2031 verbose parsed url host: null,
2031 verbose parsed url port: null,
2031 verbose parsed url hostname: null,
2031 verbose parsed url hash: null,
2031 verbose parsed url search: null,
2031 verbose parsed url query: null,
2031 verbose parsed url pathname: 'throttleit@~0.0.2',
2031 verbose parsed url path: 'throttleit@~0.0.2',
2031 verbose parsed url href: 'throttleit@~0.0.2' }
2032 verbose cache add name="throttleit" spec="~0.0.2" args=["throttleit","~0.0.2"]
2033 verbose parsed url { protocol: null,
2033 verbose parsed url slashes: null,
2033 verbose parsed url auth: null,
2033 verbose parsed url host: null,
2033 verbose parsed url port: null,
2033 verbose parsed url hostname: null,
2033 verbose parsed url hash: null,
2033 verbose parsed url search: null,
2033 verbose parsed url query: null,
2033 verbose parsed url pathname: '~0.0.2',
2033 verbose parsed url path: '~0.0.2',
2033 verbose parsed url href: '~0.0.2' }
2034 verbose addNamed [ 'throttleit', '~0.0.2' ]
2035 verbose addNamed [ null, '>=0.0.2-0 <0.1.0-0' ]
2036 silly lockFile de588288-throttleit-0-0-2 throttleit@~0.0.2
2037 verbose lock throttleit@~0.0.2 /Volumes/Storage/martincleaver/.npm/de588288-throttleit-0-0-2.lock
2038 silly addNameRange number 2 { name: 'ini', range: '>=1.1.0-0 <1.2.0-0', hasData: true }
2039 silly addNameRange versions [ 'ini',
2039 silly addNameRange [ '1.0.0',
2039 silly addNameRange '1.0.1',
2039 silly addNameRange '1.0.2',
2039 silly addNameRange '1.0.3',
2039 silly addNameRange '1.0.4',
2039 silly addNameRange '1.0.5',
2039 silly addNameRange '1.1.0',
2039 silly addNameRange '1.2.0',
2039 silly addNameRange '1.2.1' ] ]
2040 verbose addNamed [ 'ini', '1.1.0' ]
2041 verbose addNamed [ '1.1.0', '1.1.0' ]
2042 silly lockFile f80c58e4-ini-1-1-0 ini@1.1.0
2043 verbose lock ini@1.1.0 /Volumes/Storage/martincleaver/.npm/f80c58e4-ini-1-1-0.lock
2044 silly addNameRange number 2 { name: 'nopt', range: '>=2.0.0-0 <3.0.0-0', hasData: true }
2045 silly addNameRange versions [ 'nopt',
2045 silly addNameRange [ '1.0.0',
2045 silly addNameRange '1.0.1',
2045 silly addNameRange '1.0.2',
2045 silly addNameRange '1.0.3',
2045 silly addNameRange '1.0.4',
2045 silly addNameRange '1.0.5',
2045 silly addNameRange '1.0.6',
2045 silly addNameRange '1.0.7',
2045 silly addNameRange '1.0.8',
2045 silly addNameRange '1.0.9',
2045 silly addNameRange '1.0.10',
2045 silly addNameRange '2.0.0',
2045 silly addNameRange '2.1.0',
2045 silly addNameRange '2.1.1',
2045 silly addNameRange '2.1.2',
2045 silly addNameRange '2.2.0',
2045 silly addNameRange '2.2.1',
2045 silly addNameRange '3.0.0',
2045 silly addNameRange '3.0.1' ] ]
2046 verbose addNamed [ 'nopt', '2.2.1' ]
2047 verbose addNamed [ '2.2.1', '2.2.1' ]
2048 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
2049 verbose lock nopt@2.2.1 /Volumes/Storage/martincleaver/.npm/d02d193f-nopt-2-2-1.lock
2050 silly lockFile d19fba63-ver-npm-mkdirp-0-3-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
2051 silly lockFile d19fba63-ver-npm-mkdirp-0-3-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mkdirp/0.3.5/package.tgz
2052 info install which@1.0.5
2053 silly addNameRange { name: 'throttleit',
2053 silly addNameRange range: '>=0.0.2-0 <0.1.0-0',
2053 silly addNameRange hasData: false }
2054 silly addNameRange number 2 { name: 'semver', range: '>=1.1.0-0 <1.2.0-0', hasData: true }
2055 silly addNameRange versions [ 'semver',
2055 silly addNameRange [ '1.0.0',
2055 silly addNameRange '1.0.1',
2055 silly addNameRange '1.0.2',
2055 silly addNameRange '1.0.3',
2055 silly addNameRange '1.0.4',
2055 silly addNameRange '1.0.5',
2055 silly addNameRange '1.0.6',
2055 silly addNameRange '1.0.7',
2055 silly addNameRange '1.0.8',
2055 silly addNameRange '1.0.9',
2055 silly addNameRange '1.0.10',
2055 silly addNameRange '1.0.11',
2055 silly addNameRange '1.0.12',
2055 silly addNameRange '1.0.13',
2055 silly addNameRange '1.0.14',
2055 silly addNameRange '1.1.0',
2055 silly addNameRange '1.1.1',
2055 silly addNameRange '1.1.2',
2055 silly addNameRange '1.1.3',
2055 silly addNameRange '1.1.4',
2055 silly addNameRange '2.0.0-alpha',
2055 silly addNameRange '2.0.0-beta',
2055 silly addNameRange '2.0.1',
2055 silly addNameRange '2.0.2',
2055 silly addNameRange '2.0.3',
2055 silly addNameRange '2.0.4',
2055 silly addNameRange '2.0.5',
2055 silly addNameRange '2.0.6',
2055 silly addNameRange '2.0.7',
2055 silly addNameRange '2.0.8',
2055 silly addNameRange '2.0.9',
2055 silly addNameRange '2.0.10',
2055 silly addNameRange '2.0.11',
2055 silly addNameRange '2.1.0',
2055 silly addNameRange '2.2.0',
2055 silly addNameRange '2.2.1',
2055 silly addNameRange '2.3.0',
2055 silly addNameRange '2.3.1',
2055 silly addNameRange '2.3.2',
2055 silly addNameRange '3.0.0',
2055 silly addNameRange '3.0.1' ] ]
2056 verbose addNamed [ 'semver', '1.1.4' ]
2057 verbose addNamed [ '1.1.4', '1.1.4' ]
2058 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
2059 verbose lock semver@1.1.4 /Volumes/Storage/martincleaver/.npm/da52979e-semver-1-1-4.lock
2060 silly lockFile 0256e224-stry-npmjs-org-ini-ini-1-1-0-tgz https://registry.npmjs.org/ini/-/ini-1.1.0.tgz
2061 verbose lock https://registry.npmjs.org/ini/-/ini-1.1.0.tgz /Volumes/Storage/martincleaver/.npm/0256e224-stry-npmjs-org-ini-ini-1-1-0-tgz.lock
2062 info postinstall which@1.0.5
2063 http 304 https://registry.npmjs.org/once
2064 silly registry.get cb [ 304,
2064 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2064 silly registry.get server: 'Apache',
2064 silly registry.get via: '1.1 varnish',
2064 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
2064 silly registry.get 'cache-control': 'max-age=60',
2064 silly registry.get etag: '"A2LP3V15AL8FT43KDVW6CZQD3"',
2064 silly registry.get 'x-served-by': 'cache-iad2125-IAD',
2064 silly registry.get 'x-cache': 'HIT',
2064 silly registry.get 'x-cache-hits': '1',
2064 silly registry.get 'x-timer': 'S1407886913.334788,VS0,VE0',
2064 silly registry.get vary: 'Accept',
2064 silly registry.get 'content-length': '0',
2064 silly registry.get 'keep-alive': 'timeout=10, max=50',
2064 silly registry.get connection: 'Keep-Alive' } ]
2065 verbose etag once from cache
2066 silly lockFile f9931978-es-phantomjs-node-modules-rimraf tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf
2067 silly lockFile f9931978-es-phantomjs-node-modules-rimraf tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf
2068 info preinstall mkdirp@0.3.5
2069 silly lockFile 6028032a-ver-npm-rimraf-2-2-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/rimraf/2.2.8/package.tgz
2070 silly lockFile 6028032a-ver-npm-rimraf-2-2-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/rimraf/2.2.8/package.tgz
2071 verbose addRemoteTarball [ 'https://registry.npmjs.org/ini/-/ini-1.1.0.tgz',
2071 verbose addRemoteTarball '4e808c2ce144c6c1788918e034d6797bc6cf6281' ]
2072 info retry fetch attempt 1 at 19:41:52
2073 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/tmp.tgz
2074 verbose readDependencies using package.json deps
2075 http 304 https://registry.npmjs.org/config-chain
2076 silly registry.get cb [ 304,
2076 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2076 silly registry.get server: 'Apache',
2076 silly registry.get via: '1.1 varnish',
2076 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:14 GMT',
2076 silly registry.get 'cache-control': 'max-age=60',
2076 silly registry.get etag: '"BTV6YERII0J6PP569T7JDV3GK"',
2076 silly registry.get 'x-served-by': 'cache-iad2133-IAD',
2076 silly registry.get 'x-cache': 'HIT',
2076 silly registry.get 'x-cache-hits': '2',
2076 silly registry.get 'x-timer': 'S1407886913.391709,VS0,VE0',
2076 silly registry.get vary: 'Accept',
2076 silly registry.get 'content-length': '0',
2076 silly registry.get 'keep-alive': 'timeout=10, max=50',
2076 silly registry.get connection: 'Keep-Alive' } ]
2077 verbose etag config-chain from cache
2078 verbose readDependencies using package.json deps
2079 silly resolved []
2080 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp
2081 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/mkdirp
2082 verbose linkStuff [ false,
2082 verbose linkStuff false,
2082 verbose linkStuff false,
2082 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
2083 info linkStuff mkdirp@0.3.5
2084 verbose linkBins mkdirp@0.3.5
2085 verbose linkMans mkdirp@0.3.5
2086 verbose rebuildBundles mkdirp@0.3.5
2087 http GET https://registry.npmjs.org/ini/-/ini-1.1.0.tgz
2088 info install mkdirp@0.3.5
2089 verbose url raw throttleit
2090 verbose url resolving [ 'https://registry.npmjs.org/', './throttleit' ]
2091 verbose url resolved https://registry.npmjs.org/throttleit
2092 info trying registry request attempt 1 at 19:41:52
2093 verbose etag "47WJDR07IX5EMSP8T9C1UWKH0"
2094 http GET https://registry.npmjs.org/throttleit
2095 info preinstall rimraf@2.2.8
2096 silly addNameRange number 2 { name: 'once', range: '>=1.1.1-0 <1.2.0-0', hasData: true }
2097 silly addNameRange versions [ 'once', [ '1.1.1', '1.2.0', '1.3.0' ] ]
2098 verbose addNamed [ 'once', '1.1.1' ]
2099 verbose addNamed [ '1.1.1', '1.1.1' ]
2100 silly lockFile 6beab3c4-once-1-1-1 once@1.1.1
2101 verbose lock once@1.1.1 /Volumes/Storage/martincleaver/.npm/6beab3c4-once-1-1-1.lock
2102 info postinstall mkdirp@0.3.5
2103 verbose readDependencies using package.json deps
2104 http 304 https://registry.npmjs.org/inherits
2105 silly registry.get cb [ 304,
2105 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2105 silly registry.get server: 'Apache',
2105 silly registry.get via: '1.1 varnish',
2105 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
2105 silly registry.get 'cache-control': 'max-age=60',
2105 silly registry.get etag: '"BCIWT1Q7RLZNUZRQ3GO6GVLNQ"',
2105 silly registry.get 'x-served-by': 'cache-iad2127-IAD',
2105 silly registry.get 'x-cache': 'HIT',
2105 silly registry.get 'x-cache-hits': '1',
2105 silly registry.get 'x-timer': 'S1407886913.341890,VS0,VE97',
2105 silly registry.get vary: 'Accept',
2105 silly registry.get 'content-length': '0',
2105 silly registry.get 'keep-alive': 'timeout=10, max=50',
2105 silly registry.get connection: 'Keep-Alive' } ]
2106 verbose etag inherits from cache
2107 silly lockFile 3dedf4f9-ry-npmjs-org-once-once-1-1-1-tgz https://registry.npmjs.org/once/-/once-1.1.1.tgz
2108 verbose lock https://registry.npmjs.org/once/-/once-1.1.1.tgz /Volumes/Storage/martincleaver/.npm/3dedf4f9-ry-npmjs-org-once-once-1-1-1-tgz.lock
2109 silly lockFile 4085d016-osenv-0-0-3 osenv@0.0.3
2110 silly lockFile 4085d016-osenv-0-0-3 osenv@0.0.3
2111 verbose readDependencies using package.json deps
2112 silly resolved []
2113 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf
2114 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/rimraf
2115 verbose linkStuff [ false,
2115 verbose linkStuff false,
2115 verbose linkStuff false,
2115 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
2116 info linkStuff rimraf@2.2.8
2117 verbose linkBins rimraf@2.2.8
2118 verbose link bins [ { rimraf: './bin.js' },
2118 verbose link bins '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/.bin',
2118 verbose link bins false ]
2119 verbose linkMans rimraf@2.2.8
2120 verbose rebuildBundles rimraf@2.2.8
2121 silly addNameRange number 2 { name: 'config-chain',
2121 silly addNameRange range: '>=1.1.1-0 <1.2.0-0',
2121 silly addNameRange hasData: true }
2122 silly addNameRange versions [ 'config-chain',
2122 silly addNameRange [ '0.1.0',
2122 silly addNameRange '0.1.1',
2122 silly addNameRange '0.2.0',
2122 silly addNameRange '0.3.0',
2122 silly addNameRange '0.3.1',
2122 silly addNameRange '0.3.2',
2122 silly addNameRange '0.3.3',
2122 silly addNameRange '1.0.0',
2122 silly addNameRange '1.0.1',
2122 silly addNameRange '1.1.0',
2122 silly addNameRange '1.1.1',
2122 silly addNameRange '1.1.2',
2122 silly addNameRange '1.1.3',
2122 silly addNameRange '1.1.4',
2122 silly addNameRange '1.1.5',
2122 silly addNameRange '1.1.6',
2122 silly addNameRange '0.3.4',
2122 silly addNameRange '1.1.7',
2122 silly addNameRange '1.1.8' ] ]
2123 verbose addNamed [ 'config-chain', '1.1.8' ]
2124 verbose addNamed [ '1.1.8', '1.1.8' ]
2125 silly lockFile f184139b-config-chain-1-1-8 config-chain@1.1.8
2126 verbose lock config-chain@1.1.8 /Volumes/Storage/martincleaver/.npm/f184139b-config-chain-1-1-8.lock
2127 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
2128 silly lockFile d02d193f-nopt-2-2-1 nopt@2.2.1
2129 verbose addRemoteTarball [ 'https://registry.npmjs.org/once/-/once-1.1.1.tgz',
2129 verbose addRemoteTarball '9db574933ccb08c3a7614d154032c09ea6f339e7' ]
2130 silly lockFile 64594a3f-nopt-2 nopt@2
2131 silly lockFile 64594a3f-nopt-2 nopt@2
2132 info retry fetch attempt 1 at 19:41:52
2133 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/tmp.tgz
2134 http GET https://registry.npmjs.org/once/-/once-1.1.1.tgz
2135 silly addNameRange number 2 { name: 'inherits', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
2136 silly addNameRange versions [ 'inherits', [ '1.0.0', '2.0.0', '2.0.1' ] ]
2137 verbose addNamed [ 'inherits', '1.0.0' ]
2138 verbose addNamed [ '1.0.0', '1.0.0' ]
2139 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
2140 verbose lock inherits@1.0.0 /Volumes/Storage/martincleaver/.npm/776fbe77-inherits-1-0-0.lock
2141 info install rimraf@2.2.8
2142 info postinstall rimraf@2.2.8
2143 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
2144 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
2145 silly lockFile 384d7ac7-semver-1-1-0 semver@~1.1.0
2146 silly lockFile 384d7ac7-semver-1-1-0 semver@~1.1.0
2147 silly lockFile f184139b-config-chain-1-1-8 config-chain@1.1.8
2148 silly lockFile f184139b-config-chain-1-1-8 config-chain@1.1.8
2149 silly lockFile b9689009-config-chain-1-1-1 config-chain@~1.1.1
2150 silly lockFile b9689009-config-chain-1-1-1 config-chain@~1.1.1
2151 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
2152 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
2153 silly lockFile 9a68ae75-inherits-1-0-0 inherits@~1.0.0
2154 silly lockFile 9a68ae75-inherits-1-0-0 inherits@~1.0.0
2155 silly lockFile 9fb2f8d2-s-phantomjs-node-modules-request tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2156 silly lockFile 9fb2f8d2-s-phantomjs-node-modules-request tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2157 silly lockFile 26101e0f-r-npm-request-2-36-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
2158 silly lockFile 26101e0f-r-npm-request-2-36-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/request/2.36.0/package.tgz
2159 info preinstall request@2.36.0
2160 verbose readDependencies using package.json deps
2161 verbose readDependencies using package.json deps
2162 verbose cache add [ 'qs@~0.6.0', null ]
2163 verbose cache add name=undefined spec="qs@~0.6.0" args=["qs@~0.6.0",null]
2164 verbose parsed url { protocol: null,
2164 verbose parsed url slashes: null,
2164 verbose parsed url auth: null,
2164 verbose parsed url host: null,
2164 verbose parsed url port: null,
2164 verbose parsed url hostname: null,
2164 verbose parsed url hash: null,
2164 verbose parsed url search: null,
2164 verbose parsed url query: null,
2164 verbose parsed url pathname: 'qs@~0.6.0',
2164 verbose parsed url path: 'qs@~0.6.0',
2164 verbose parsed url href: 'qs@~0.6.0' }
2165 verbose cache add name="qs" spec="~0.6.0" args=["qs","~0.6.0"]
2166 verbose parsed url { protocol: null,
2166 verbose parsed url slashes: null,
2166 verbose parsed url auth: null,
2166 verbose parsed url host: null,
2166 verbose parsed url port: null,
2166 verbose parsed url hostname: null,
2166 verbose parsed url hash: null,
2166 verbose parsed url search: null,
2166 verbose parsed url query: null,
2166 verbose parsed url pathname: '~0.6.0',
2166 verbose parsed url path: '~0.6.0',
2166 verbose parsed url href: '~0.6.0' }
2167 verbose addNamed [ 'qs', '~0.6.0' ]
2168 verbose addNamed [ null, '>=0.6.0-0 <0.7.0-0' ]
2169 silly lockFile 222bee9e-qs-0-6-0 qs@~0.6.0
2170 verbose lock qs@~0.6.0 /Volumes/Storage/martincleaver/.npm/222bee9e-qs-0-6-0.lock
2171 verbose cache add [ 'json-stringify-safe@~5.0.0', null ]
2172 verbose cache add name=undefined spec="json-stringify-safe@~5.0.0" args=["json-stringify-safe@~5.0.0",null]
2173 verbose parsed url { protocol: null,
2173 verbose parsed url slashes: null,
2173 verbose parsed url auth: null,
2173 verbose parsed url host: null,
2173 verbose parsed url port: null,
2173 verbose parsed url hostname: null,
2173 verbose parsed url hash: null,
2173 verbose parsed url search: null,
2173 verbose parsed url query: null,
2173 verbose parsed url pathname: 'json-stringify-safe@~5.0.0',
2173 verbose parsed url path: 'json-stringify-safe@~5.0.0',
2173 verbose parsed url href: 'json-stringify-safe@~5.0.0' }
2174 verbose cache add name="json-stringify-safe" spec="~5.0.0" args=["json-stringify-safe","~5.0.0"]
2175 verbose parsed url { protocol: null,
2175 verbose parsed url slashes: null,
2175 verbose parsed url auth: null,
2175 verbose parsed url host: null,
2175 verbose parsed url port: null,
2175 verbose parsed url hostname: null,
2175 verbose parsed url hash: null,
2175 verbose parsed url search: null,
2175 verbose parsed url query: null,
2175 verbose parsed url pathname: '~5.0.0',
2175 verbose parsed url path: '~5.0.0',
2175 verbose parsed url href: '~5.0.0' }
2176 verbose addNamed [ 'json-stringify-safe', '~5.0.0' ]
2177 verbose addNamed [ null, '>=5.0.0-0 <5.1.0-0' ]
2178 silly lockFile 063b1a01-json-stringify-safe-5-0-0 json-stringify-safe@~5.0.0
2179 verbose lock json-stringify-safe@~5.0.0 /Volumes/Storage/martincleaver/.npm/063b1a01-json-stringify-safe-5-0-0.lock
2180 verbose cache add [ 'mime@~1.2.9', null ]
2181 verbose cache add name=undefined spec="mime@~1.2.9" args=["mime@~1.2.9",null]
2182 verbose parsed url { protocol: null,
2182 verbose parsed url slashes: null,
2182 verbose parsed url auth: null,
2182 verbose parsed url host: null,
2182 verbose parsed url port: null,
2182 verbose parsed url hostname: null,
2182 verbose parsed url hash: null,
2182 verbose parsed url search: null,
2182 verbose parsed url query: null,
2182 verbose parsed url pathname: 'mime@~1.2.9',
2182 verbose parsed url path: 'mime@~1.2.9',
2182 verbose parsed url href: 'mime@~1.2.9' }
2183 verbose cache add name="mime" spec="~1.2.9" args=["mime","~1.2.9"]
2184 verbose parsed url { protocol: null,
2184 verbose parsed url slashes: null,
2184 verbose parsed url auth: null,
2184 verbose parsed url host: null,
2184 verbose parsed url port: null,
2184 verbose parsed url hostname: null,
2184 verbose parsed url hash: null,
2184 verbose parsed url search: null,
2184 verbose parsed url query: null,
2184 verbose parsed url pathname: '~1.2.9',
2184 verbose parsed url path: '~1.2.9',
2184 verbose parsed url href: '~1.2.9' }
2185 verbose addNamed [ 'mime', '~1.2.9' ]
2186 verbose addNamed [ null, '>=1.2.9-0 <1.3.0-0' ]
2187 silly lockFile ccf24a67-mime-1-2-9 mime@~1.2.9
2188 verbose lock mime@~1.2.9 /Volumes/Storage/martincleaver/.npm/ccf24a67-mime-1-2-9.lock
2189 silly addNameRange { name: 'qs', range: '>=0.6.0-0 <0.7.0-0', hasData: false }
2190 verbose cache add [ 'node-uuid@~1.4.0', null ]
2191 verbose cache add name=undefined spec="node-uuid@~1.4.0" args=["node-uuid@~1.4.0",null]
2192 verbose parsed url { protocol: null,
2192 verbose parsed url slashes: null,
2192 verbose parsed url auth: null,
2192 verbose parsed url host: null,
2192 verbose parsed url port: null,
2192 verbose parsed url hostname: null,
2192 verbose parsed url hash: null,
2192 verbose parsed url search: null,
2192 verbose parsed url query: null,
2192 verbose parsed url pathname: 'node-uuid@~1.4.0',
2192 verbose parsed url path: 'node-uuid@~1.4.0',
2192 verbose parsed url href: 'node-uuid@~1.4.0' }
2193 verbose cache add name="node-uuid" spec="~1.4.0" args=["node-uuid","~1.4.0"]
2194 verbose parsed url { protocol: null,
2194 verbose parsed url slashes: null,
2194 verbose parsed url auth: null,
2194 verbose parsed url host: null,
2194 verbose parsed url port: null,
2194 verbose parsed url hostname: null,
2194 verbose parsed url hash: null,
2194 verbose parsed url search: null,
2194 verbose parsed url query: null,
2194 verbose parsed url pathname: '~1.4.0',
2194 verbose parsed url path: '~1.4.0',
2194 verbose parsed url href: '~1.4.0' }
2195 verbose addNamed [ 'node-uuid', '~1.4.0' ]
2196 verbose addNamed [ null, '>=1.4.0-0 <1.5.0-0' ]
2197 silly lockFile f662725f-node-uuid-1-4-0 node-uuid@~1.4.0
2198 verbose lock node-uuid@~1.4.0 /Volumes/Storage/martincleaver/.npm/f662725f-node-uuid-1-4-0.lock
2199 verbose cache add [ 'forever-agent@~0.5.0', null ]
2200 verbose cache add name=undefined spec="forever-agent@~0.5.0" args=["forever-agent@~0.5.0",null]
2201 verbose parsed url { protocol: null,
2201 verbose parsed url slashes: null,
2201 verbose parsed url auth: null,
2201 verbose parsed url host: null,
2201 verbose parsed url port: null,
2201 verbose parsed url hostname: null,
2201 verbose parsed url hash: null,
2201 verbose parsed url search: null,
2201 verbose parsed url query: null,
2201 verbose parsed url pathname: 'forever-agent@~0.5.0',
2201 verbose parsed url path: 'forever-agent@~0.5.0',
2201 verbose parsed url href: 'forever-agent@~0.5.0' }
2202 verbose cache add name="forever-agent" spec="~0.5.0" args=["forever-agent","~0.5.0"]
2203 verbose parsed url { protocol: null,
2203 verbose parsed url slashes: null,
2203 verbose parsed url auth: null,
2203 verbose parsed url host: null,
2203 verbose parsed url port: null,
2203 verbose parsed url hostname: null,
2203 verbose parsed url hash: null,
2203 verbose parsed url search: null,
2203 verbose parsed url query: null,
2203 verbose parsed url pathname: '~0.5.0',
2203 verbose parsed url path: '~0.5.0',
2203 verbose parsed url href: '~0.5.0' }
2204 verbose addNamed [ 'forever-agent', '~0.5.0' ]
2205 verbose addNamed [ null, '>=0.5.0-0 <0.6.0-0' ]
2206 silly lockFile fa463915-forever-agent-0-5-0 forever-agent@~0.5.0
2207 verbose lock forever-agent@~0.5.0 /Volumes/Storage/martincleaver/.npm/fa463915-forever-agent-0-5-0.lock
2208 verbose cache add [ 'tough-cookie@>=0.12.0', null ]
2209 verbose cache add name=undefined spec="tough-cookie@>=0.12.0" args=["tough-cookie@>=0.12.0",null]
2210 verbose parsed url { protocol: null,
2210 verbose parsed url slashes: null,
2210 verbose parsed url auth: null,
2210 verbose parsed url host: null,
2210 verbose parsed url port: null,
2210 verbose parsed url hostname: null,
2210 verbose parsed url hash: null,
2210 verbose parsed url search: null,
2210 verbose parsed url query: null,
2210 verbose parsed url pathname: 'tough-cookie@%3E=0.12.0',
2210 verbose parsed url path: 'tough-cookie@%3E=0.12.0',
2210 verbose parsed url href: 'tough-cookie@%3E=0.12.0' }
2211 verbose cache add name="tough-cookie" spec=">=0.12.0" args=["tough-cookie",">=0.12.0"]
2212 verbose parsed url { protocol: null,
2212 verbose parsed url slashes: null,
2212 verbose parsed url auth: null,
2212 verbose parsed url host: null,
2212 verbose parsed url port: null,
2212 verbose parsed url hostname: null,
2212 verbose parsed url hash: null,
2212 verbose parsed url search: null,
2212 verbose parsed url query: null,
2212 verbose parsed url pathname: '%3E=0.12.0',
2212 verbose parsed url path: '%3E=0.12.0',
2212 verbose parsed url href: '%3E=0.12.0' }
2213 verbose addNamed [ 'tough-cookie', '>=0.12.0' ]
2214 verbose addNamed [ null, '>=0.12.0' ]
2215 silly lockFile 66c18ba7-tough-cookie-0-12-0 tough-cookie@>=0.12.0
2216 verbose lock tough-cookie@>=0.12.0 /Volumes/Storage/martincleaver/.npm/66c18ba7-tough-cookie-0-12-0.lock
2217 silly addNameRange { name: 'json-stringify-safe',
2217 silly addNameRange range: '>=5.0.0-0 <5.1.0-0',
2217 silly addNameRange hasData: false }
2218 verbose cache add [ 'form-data@~0.1.0', null ]
2219 verbose cache add name=undefined spec="form-data@~0.1.0" args=["form-data@~0.1.0",null]
2220 verbose parsed url { protocol: null,
2220 verbose parsed url slashes: null,
2220 verbose parsed url auth: null,
2220 verbose parsed url host: null,
2220 verbose parsed url port: null,
2220 verbose parsed url hostname: null,
2220 verbose parsed url hash: null,
2220 verbose parsed url search: null,
2220 verbose parsed url query: null,
2220 verbose parsed url pathname: 'form-data@~0.1.0',
2220 verbose parsed url path: 'form-data@~0.1.0',
2220 verbose parsed url href: 'form-data@~0.1.0' }
2221 verbose cache add name="form-data" spec="~0.1.0" args=["form-data","~0.1.0"]
2222 verbose parsed url { protocol: null,
2222 verbose parsed url slashes: null,
2222 verbose parsed url auth: null,
2222 verbose parsed url host: null,
2222 verbose parsed url port: null,
2222 verbose parsed url hostname: null,
2222 verbose parsed url hash: null,
2222 verbose parsed url search: null,
2222 verbose parsed url query: null,
2222 verbose parsed url pathname: '~0.1.0',
2222 verbose parsed url path: '~0.1.0',
2222 verbose parsed url href: '~0.1.0' }
2223 verbose addNamed [ 'form-data', '~0.1.0' ]
2224 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
2225 silly lockFile 26aa13f4-form-data-0-1-0 form-data@~0.1.0
2226 verbose lock form-data@~0.1.0 /Volumes/Storage/martincleaver/.npm/26aa13f4-form-data-0-1-0.lock
2227 verbose cache add [ 'tunnel-agent@~0.4.0', null ]
2228 verbose cache add name=undefined spec="tunnel-agent@~0.4.0" args=["tunnel-agent@~0.4.0",null]
2229 verbose parsed url { protocol: null,
2229 verbose parsed url slashes: null,
2229 verbose parsed url auth: null,
2229 verbose parsed url host: null,
2229 verbose parsed url port: null,
2229 verbose parsed url hostname: null,
2229 verbose parsed url hash: null,
2229 verbose parsed url search: null,
2229 verbose parsed url query: null,
2229 verbose parsed url pathname: 'tunnel-agent@~0.4.0',
2229 verbose parsed url path: 'tunnel-agent@~0.4.0',
2229 verbose parsed url href: 'tunnel-agent@~0.4.0' }
2230 verbose cache add name="tunnel-agent" spec="~0.4.0" args=["tunnel-agent","~0.4.0"]
2231 verbose parsed url { protocol: null,
2231 verbose parsed url slashes: null,
2231 verbose parsed url auth: null,
2231 verbose parsed url host: null,
2231 verbose parsed url port: null,
2231 verbose parsed url hostname: null,
2231 verbose parsed url hash: null,
2231 verbose parsed url search: null,
2231 verbose parsed url query: null,
2231 verbose parsed url pathname: '~0.4.0',
2231 verbose parsed url path: '~0.4.0',
2231 verbose parsed url href: '~0.4.0' }
2232 verbose addNamed [ 'tunnel-agent', '~0.4.0' ]
2233 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
2234 silly lockFile 2550750e-tunnel-agent-0-4-0 tunnel-agent@~0.4.0
2235 verbose lock tunnel-agent@~0.4.0 /Volumes/Storage/martincleaver/.npm/2550750e-tunnel-agent-0-4-0.lock
2236 verbose cache add [ 'http-signature@~0.10.0', null ]
2237 verbose cache add name=undefined spec="http-signature@~0.10.0" args=["http-signature@~0.10.0",null]
2238 verbose parsed url { protocol: null,
2238 verbose parsed url slashes: null,
2238 verbose parsed url auth: null,
2238 verbose parsed url host: null,
2238 verbose parsed url port: null,
2238 verbose parsed url hostname: null,
2238 verbose parsed url hash: null,
2238 verbose parsed url search: null,
2238 verbose parsed url query: null,
2238 verbose parsed url pathname: 'http-signature@~0.10.0',
2238 verbose parsed url path: 'http-signature@~0.10.0',
2238 verbose parsed url href: 'http-signature@~0.10.0' }
2239 verbose cache add name="http-signature" spec="~0.10.0" args=["http-signature","~0.10.0"]
2240 verbose parsed url { protocol: null,
2240 verbose parsed url slashes: null,
2240 verbose parsed url auth: null,
2240 verbose parsed url host: null,
2240 verbose parsed url port: null,
2240 verbose parsed url hostname: null,
2240 verbose parsed url hash: null,
2240 verbose parsed url search: null,
2240 verbose parsed url query: null,
2240 verbose parsed url pathname: '~0.10.0',
2240 verbose parsed url path: '~0.10.0',
2240 verbose parsed url href: '~0.10.0' }
2241 verbose addNamed [ 'http-signature', '~0.10.0' ]
2242 verbose addNamed [ null, '>=0.10.0-0 <0.11.0-0' ]
2243 silly lockFile 8170f292-http-signature-0-10-0 http-signature@~0.10.0
2244 verbose lock http-signature@~0.10.0 /Volumes/Storage/martincleaver/.npm/8170f292-http-signature-0-10-0.lock
2245 silly addNameRange { name: 'mime', range: '>=1.2.9-0 <1.3.0-0', hasData: false }
2246 silly addNameRange { name: 'node-uuid',
2246 silly addNameRange range: '>=1.4.0-0 <1.5.0-0',
2246 silly addNameRange hasData: false }
2247 silly addNameRange { name: 'forever-agent',
2247 silly addNameRange range: '>=0.5.0-0 <0.6.0-0',
2247 silly addNameRange hasData: false }
2248 verbose cache add [ 'oauth-sign@~0.3.0', null ]
2249 verbose cache add name=undefined spec="oauth-sign@~0.3.0" args=["oauth-sign@~0.3.0",null]
2250 verbose parsed url { protocol: null,
2250 verbose parsed url slashes: null,
2250 verbose parsed url auth: null,
2250 verbose parsed url host: null,
2250 verbose parsed url port: null,
2250 verbose parsed url hostname: null,
2250 verbose parsed url hash: null,
2250 verbose parsed url search: null,
2250 verbose parsed url query: null,
2250 verbose parsed url pathname: 'oauth-sign@~0.3.0',
2250 verbose parsed url path: 'oauth-sign@~0.3.0',
2250 verbose parsed url href: 'oauth-sign@~0.3.0' }
2251 verbose cache add name="oauth-sign" spec="~0.3.0" args=["oauth-sign","~0.3.0"]
2252 verbose parsed url { protocol: null,
2252 verbose parsed url slashes: null,
2252 verbose parsed url auth: null,
2252 verbose parsed url host: null,
2252 verbose parsed url port: null,
2252 verbose parsed url hostname: null,
2252 verbose parsed url hash: null,
2252 verbose parsed url search: null,
2252 verbose parsed url query: null,
2252 verbose parsed url pathname: '~0.3.0',
2252 verbose parsed url path: '~0.3.0',
2252 verbose parsed url href: '~0.3.0' }
2253 verbose addNamed [ 'oauth-sign', '~0.3.0' ]
2254 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
2255 silly lockFile 7fb5c7f1-oauth-sign-0-3-0 oauth-sign@~0.3.0
2256 verbose lock oauth-sign@~0.3.0 /Volumes/Storage/martincleaver/.npm/7fb5c7f1-oauth-sign-0-3-0.lock
2257 verbose cache add [ 'hawk@~1.0.0', null ]
2258 verbose cache add name=undefined spec="hawk@~1.0.0" args=["hawk@~1.0.0",null]
2259 verbose parsed url { protocol: null,
2259 verbose parsed url slashes: null,
2259 verbose parsed url auth: null,
2259 verbose parsed url host: null,
2259 verbose parsed url port: null,
2259 verbose parsed url hostname: null,
2259 verbose parsed url hash: null,
2259 verbose parsed url search: null,
2259 verbose parsed url query: null,
2259 verbose parsed url pathname: 'hawk@~1.0.0',
2259 verbose parsed url path: 'hawk@~1.0.0',
2259 verbose parsed url href: 'hawk@~1.0.0' }
2260 verbose cache add name="hawk" spec="~1.0.0" args=["hawk","~1.0.0"]
2261 verbose parsed url { protocol: null,
2261 verbose parsed url slashes: null,
2261 verbose parsed url auth: null,
2261 verbose parsed url host: null,
2261 verbose parsed url port: null,
2261 verbose parsed url hostname: null,
2261 verbose parsed url hash: null,
2261 verbose parsed url search: null,
2261 verbose parsed url query: null,
2261 verbose parsed url pathname: '~1.0.0',
2261 verbose parsed url path: '~1.0.0',
2261 verbose parsed url href: '~1.0.0' }
2262 verbose addNamed [ 'hawk', '~1.0.0' ]
2263 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
2264 silly lockFile 327094b8-hawk-1-0-0 hawk@~1.0.0
2265 verbose lock hawk@~1.0.0 /Volumes/Storage/martincleaver/.npm/327094b8-hawk-1-0-0.lock
2266 verbose cache add [ 'aws-sign2@~0.5.0', null ]
2267 verbose cache add name=undefined spec="aws-sign2@~0.5.0" args=["aws-sign2@~0.5.0",null]
2268 verbose parsed url { protocol: null,
2268 verbose parsed url slashes: null,
2268 verbose parsed url auth: null,
2268 verbose parsed url host: null,
2268 verbose parsed url port: null,
2268 verbose parsed url hostname: null,
2268 verbose parsed url hash: null,
2268 verbose parsed url search: null,
2268 verbose parsed url query: null,
2268 verbose parsed url pathname: 'aws-sign2@~0.5.0',
2268 verbose parsed url path: 'aws-sign2@~0.5.0',
2268 verbose parsed url href: 'aws-sign2@~0.5.0' }
2269 verbose cache add name="aws-sign2" spec="~0.5.0" args=["aws-sign2","~0.5.0"]
2270 verbose parsed url { protocol: null,
2270 verbose parsed url slashes: null,
2270 verbose parsed url auth: null,
2270 verbose parsed url host: null,
2270 verbose parsed url port: null,
2270 verbose parsed url hostname: null,
2270 verbose parsed url hash: null,
2270 verbose parsed url search: null,
2270 verbose parsed url query: null,
2270 verbose parsed url pathname: '~0.5.0',
2270 verbose parsed url path: '~0.5.0',
2270 verbose parsed url href: '~0.5.0' }
2271 verbose addNamed [ 'aws-sign2', '~0.5.0' ]
2272 verbose addNamed [ null, '>=0.5.0-0 <0.6.0-0' ]
2273 silly lockFile 82387911-aws-sign2-0-5-0 aws-sign2@~0.5.0
2274 verbose lock aws-sign2@~0.5.0 /Volumes/Storage/martincleaver/.npm/82387911-aws-sign2-0-5-0.lock
2275 silly addNameRange { name: 'tough-cookie', range: '>=0.12.0', hasData: false }
2276 silly addNameRange { name: 'form-data',
2276 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
2276 silly addNameRange hasData: false }
2277 silly addNameRange { name: 'tunnel-agent',
2277 silly addNameRange range: '>=0.4.0-0 <0.5.0-0',
2277 silly addNameRange hasData: false }
2278 silly addNameRange { name: 'http-signature',
2278 silly addNameRange range: '>=0.10.0-0 <0.11.0-0',
2278 silly addNameRange hasData: false }
2279 silly addNameRange { name: 'oauth-sign',
2279 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
2279 silly addNameRange hasData: false }
2280 silly addNameRange { name: 'hawk', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
2281 silly addNameRange { name: 'aws-sign2',
2281 silly addNameRange range: '>=0.5.0-0 <0.6.0-0',
2281 silly addNameRange hasData: false }
2282 http 200 https://registry.npmjs.org/ini/-/ini-1.1.0.tgz
2283 http 200 https://registry.npmjs.org/throttleit
2284 silly registry.get cb [ 200,
2284 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2284 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
2284 silly registry.get etag: '"6TQWAETRO4R4EYFU0ZT5IKPNO"',
2284 silly registry.get 'content-type': 'application/json',
2284 silly registry.get 'cache-control': 'max-age=60',
2284 silly registry.get 'content-length': '3180',
2284 silly registry.get 'accept-ranges': 'bytes',
2284 silly registry.get via: '1.1 varnish',
2284 silly registry.get age: '1316',
2284 silly registry.get 'x-served-by': 'cache-iad2130-IAD',
2284 silly registry.get 'x-cache': 'HIT',
2284 silly registry.get 'x-cache-hits': '2',
2284 silly registry.get 'x-timer': 'S1407886913.576212,VS0,VE0',
2284 silly registry.get vary: 'Accept',
2284 silly registry.get 'keep-alive': 'timeout=10, max=50',
2284 silly registry.get connection: 'Keep-Alive' } ]
2285 verbose url raw json-stringify-safe
2286 verbose url resolving [ 'https://registry.npmjs.org/', './json-stringify-safe' ]
2287 verbose url resolved https://registry.npmjs.org/json-stringify-safe
2288 info trying registry request attempt 1 at 19:41:53
2289 verbose etag "4QZ5Y162O62W1DX965WIFXG4L"
2290 http GET https://registry.npmjs.org/json-stringify-safe
2291 verbose url raw node-uuid
2292 verbose url resolving [ 'https://registry.npmjs.org/', './node-uuid' ]
2293 verbose url resolved https://registry.npmjs.org/node-uuid
2294 info trying registry request attempt 1 at 19:41:53
2295 verbose etag "SKK9XTQF1Y27FOJ3EHMQH16S"
2296 http GET https://registry.npmjs.org/node-uuid
2297 verbose url raw qs
2298 verbose url resolving [ 'https://registry.npmjs.org/', './qs' ]
2299 verbose url resolved https://registry.npmjs.org/qs
2300 info trying registry request attempt 1 at 19:41:53
2301 verbose etag "99QMEMSO67YEOCK2QHYSD73ZR"
2302 http GET https://registry.npmjs.org/qs
2303 verbose url raw forever-agent
2304 verbose url resolving [ 'https://registry.npmjs.org/', './forever-agent' ]
2305 verbose url resolved https://registry.npmjs.org/forever-agent
2306 info trying registry request attempt 1 at 19:41:53
2307 verbose etag "44FXK5D32OYQLEGTK8FXPBKOR"
2308 http GET https://registry.npmjs.org/forever-agent
2309 verbose url raw mime
2310 verbose url resolving [ 'https://registry.npmjs.org/', './mime' ]
2311 verbose url resolved https://registry.npmjs.org/mime
2312 info trying registry request attempt 1 at 19:41:53
2313 verbose etag "CEJZVOVXB5WZU5YLFJXV413MB"
2314 http GET https://registry.npmjs.org/mime
2315 http 200 https://registry.npmjs.org/once/-/once-1.1.1.tgz
2316 verbose url raw http-signature
2317 verbose url resolving [ 'https://registry.npmjs.org/', './http-signature' ]
2318 verbose url resolved https://registry.npmjs.org/http-signature
2319 info trying registry request attempt 1 at 19:41:53
2320 verbose etag "3LD4VFP3WRB2PYQ6G6M9SDPSV"
2321 http GET https://registry.npmjs.org/http-signature
2322 verbose url raw form-data
2323 verbose url resolving [ 'https://registry.npmjs.org/', './form-data' ]
2324 verbose url resolved https://registry.npmjs.org/form-data
2325 info trying registry request attempt 1 at 19:41:53
2326 verbose etag "1CKM8PYUFZQNA38HU8Y8YO7NH"
2327 http GET https://registry.npmjs.org/form-data
2328 verbose url raw tunnel-agent
2329 verbose url resolving [ 'https://registry.npmjs.org/', './tunnel-agent' ]
2330 verbose url resolved https://registry.npmjs.org/tunnel-agent
2331 info trying registry request attempt 1 at 19:41:53
2332 verbose etag "8H7EMV3ZRS0R7SH3ZLXNFUROZ"
2333 http GET https://registry.npmjs.org/tunnel-agent
2334 verbose url raw tough-cookie
2335 verbose url resolving [ 'https://registry.npmjs.org/', './tough-cookie' ]
2336 verbose url resolved https://registry.npmjs.org/tough-cookie
2337 info trying registry request attempt 1 at 19:41:53
2338 verbose etag "2P7Q2Z8DH3IKS3NCHPSE9FIQZ"
2339 http GET https://registry.npmjs.org/tough-cookie
2340 verbose url raw oauth-sign
2341 verbose url resolving [ 'https://registry.npmjs.org/', './oauth-sign' ]
2342 verbose url resolved https://registry.npmjs.org/oauth-sign
2343 info trying registry request attempt 1 at 19:41:53
2344 verbose etag "4ANBO3JGGPSJKJKB7D07ITSI3"
2345 http GET https://registry.npmjs.org/oauth-sign
2346 verbose url raw aws-sign2
2347 verbose url resolving [ 'https://registry.npmjs.org/', './aws-sign2' ]
2348 verbose url resolved https://registry.npmjs.org/aws-sign2
2349 info trying registry request attempt 1 at 19:41:53
2350 verbose etag "CPHOMDH4L0I9IWJ00BYTG2XPN"
2351 http GET https://registry.npmjs.org/aws-sign2
2352 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/tmp.tgz
2353 silly lockFile 2aa34b8b-2821-0-19748937897384167-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/package
2354 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/package /Volumes/Storage/martincleaver/.npm/2aa34b8b-2821-0-19748937897384167-package.lock
2355 silly lockFile b934d6e1-2821-0-19748937897384167-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/tmp.tgz
2356 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/tmp.tgz /Volumes/Storage/martincleaver/.npm/b934d6e1-2821-0-19748937897384167-tmp-tgz.lock
2357 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/tmp.tgz
2358 silly lockFile fa57a09a-12960-0-0392686421982944-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/package
2359 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/package /Volumes/Storage/martincleaver/.npm/fa57a09a-12960-0-0392686421982944-package.lock
2360 silly lockFile f4cbca33-12960-0-0392686421982944-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/tmp.tgz
2361 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/tmp.tgz /Volumes/Storage/martincleaver/.npm/f4cbca33-12960-0-0392686421982944-tmp-tgz.lock
2362 verbose url raw hawk
2363 verbose url resolving [ 'https://registry.npmjs.org/', './hawk' ]
2364 verbose url resolved https://registry.npmjs.org/hawk
2365 info trying registry request attempt 1 at 19:41:53
2366 verbose etag "F313REH4YI37O5TLZHQLJTUEZ"
2367 http GET https://registry.npmjs.org/hawk
2368 silly gunzTarPerm modes [ '755', '644' ]
2369 silly addNameRange number 2 { name: 'throttleit',
2369 silly addNameRange range: '>=0.0.2-0 <0.1.0-0',
2369 silly addNameRange hasData: true }
2370 silly addNameRange versions [ 'throttleit', [ '0.0.1', '0.0.2' ] ]
2371 verbose addNamed [ 'throttleit', '0.0.2' ]
2372 verbose addNamed [ '0.0.2', '0.0.2' ]
2373 silly lockFile 3fe7da2e-throttleit-0-0-2 throttleit@0.0.2
2374 verbose lock throttleit@0.0.2 /Volumes/Storage/martincleaver/.npm/3fe7da2e-throttleit-0-0-2.lock
2375 silly gunzTarPerm modes [ '755', '644' ]
2376 silly gunzTarPerm extractEntry package.json
2377 silly gunzTarPerm extractEntry package.json
2378 silly gunzTarPerm extractEntry README.md
2379 silly gunzTarPerm extractEntry LICENSE
2380 http 304 https://registry.npmjs.org/node-uuid
2381 silly registry.get cb [ 304,
2381 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2381 silly registry.get server: 'Apache',
2381 silly registry.get via: '1.1 varnish',
2381 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:51 GMT',
2381 silly registry.get 'cache-control': 'max-age=60',
2381 silly registry.get etag: '"SKK9XTQF1Y27FOJ3EHMQH16S"',
2381 silly registry.get 'x-served-by': 'cache-iad2133-IAD',
2381 silly registry.get 'x-cache': 'HIT',
2381 silly registry.get 'x-cache-hits': '2',
2381 silly registry.get 'x-timer': 'S1407886913.729168,VS0,VE0',
2381 silly registry.get vary: 'Accept',
2381 silly registry.get 'content-length': '0',
2381 silly registry.get 'keep-alive': 'timeout=10, max=50',
2381 silly registry.get connection: 'Keep-Alive' } ]
2382 verbose etag node-uuid from cache
2383 http 304 https://registry.npmjs.org/json-stringify-safe
2384 silly registry.get cb [ 304,
2384 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2384 silly registry.get server: 'Apache',
2384 silly registry.get via: '1.1 varnish',
2384 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:30 GMT',
2384 silly registry.get 'cache-control': 'max-age=60',
2384 silly registry.get etag: '"4QZ5Y162O62W1DX965WIFXG4L"',
2384 silly registry.get 'x-served-by': 'cache-iad2123-IAD',
2384 silly registry.get 'x-cache': 'HIT',
2384 silly registry.get 'x-cache-hits': '4',
2384 silly registry.get 'x-timer': 'S1407886913.729767,VS0,VE0',
2384 silly registry.get vary: 'Accept',
2384 silly registry.get 'content-length': '0',
2384 silly registry.get 'keep-alive': 'timeout=10, max=50',
2384 silly registry.get connection: 'Keep-Alive' } ]
2385 verbose etag json-stringify-safe from cache
2386 silly gunzTarPerm extractEntry README.md
2387 silly gunzTarPerm extractEntry LICENSE
2388 silly addNameRange number 2 { name: 'node-uuid', range: '>=1.4.0-0 <1.5.0-0', hasData: true }
2389 silly addNameRange versions [ 'node-uuid',
2389 silly addNameRange [ '1.2.0',
2389 silly addNameRange '1.3.0',
2389 silly addNameRange '1.3.1',
2389 silly addNameRange '1.3.2',
2389 silly addNameRange '1.1.0',
2389 silly addNameRange '1.0.0',
2389 silly addNameRange '1.3.3',
2389 silly addNameRange '1.4.0',
2389 silly addNameRange '1.4.1' ] ]
2390 verbose addNamed [ 'node-uuid', '1.4.1' ]
2391 verbose addNamed [ '1.4.1', '1.4.1' ]
2392 silly lockFile 7c2028cd-node-uuid-1-4-1 node-uuid@1.4.1
2393 verbose lock node-uuid@1.4.1 /Volumes/Storage/martincleaver/.npm/7c2028cd-node-uuid-1-4-1.lock
2394 silly addNameRange number 2 { name: 'json-stringify-safe',
2394 silly addNameRange range: '>=5.0.0-0 <5.1.0-0',
2394 silly addNameRange hasData: true }
2395 silly addNameRange versions [ 'json-stringify-safe',
2395 silly addNameRange [ '2.0.0', '3.0.0', '4.0.0', '5.0.0' ] ]
2396 verbose addNamed [ 'json-stringify-safe', '5.0.0' ]
2397 verbose addNamed [ '5.0.0', '5.0.0' ]
2398 silly lockFile 1d9ebe76-json-stringify-safe-5-0-0 json-stringify-safe@5.0.0
2399 verbose lock json-stringify-safe@5.0.0 /Volumes/Storage/martincleaver/.npm/1d9ebe76-json-stringify-safe-5-0-0.lock
2400 http 304 https://registry.npmjs.org/qs
2401 silly registry.get cb [ 304,
2401 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2401 silly registry.get server: 'Apache',
2401 silly registry.get via: '1.1 varnish',
2401 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:39 GMT',
2401 silly registry.get 'cache-control': 'max-age=60',
2401 silly registry.get etag: '"99QMEMSO67YEOCK2QHYSD73ZR"',
2401 silly registry.get 'x-served-by': 'cache-iad2120-IAD',
2401 silly registry.get 'x-cache': 'HIT',
2401 silly registry.get 'x-cache-hits': '3',
2401 silly registry.get 'x-timer': 'S1407886913.743220,VS0,VE0',
2401 silly registry.get vary: 'Accept',
2401 silly registry.get 'content-length': '0',
2401 silly registry.get 'keep-alive': 'timeout=10, max=50',
2401 silly registry.get connection: 'Keep-Alive' } ]
2402 verbose etag qs from cache
2403 silly gunzTarPerm extractEntry ini.js
2404 silly gunzTarPerm extractEntry test/bar.js
2405 silly gunzTarPerm extractEntry once.js
2406 silly gunzTarPerm extractEntry test/once.js
2407 silly addNameRange number 2 { name: 'qs', range: '>=0.6.0-0 <0.7.0-0', hasData: true }
2408 silly addNameRange versions [ 'qs',
2408 silly addNameRange [ '0.0.1',
2408 silly addNameRange '0.0.2',
2408 silly addNameRange '0.0.3',
2408 silly addNameRange '0.0.4',
2408 silly addNameRange '0.0.5',
2408 silly addNameRange '0.0.6',
2408 silly addNameRange '0.0.7',
2408 silly addNameRange '0.1.0',
2408 silly addNameRange '0.2.0',
2408 silly addNameRange '0.3.0',
2408 silly addNameRange '0.3.1',
2408 silly addNameRange '0.3.2',
2408 silly addNameRange '0.4.0',
2408 silly addNameRange '0.4.1',
2408 silly addNameRange '0.4.2',
2408 silly addNameRange '0.5.0',
2408 silly addNameRange '0.5.1',
2408 silly addNameRange '0.5.2',
2408 silly addNameRange '0.5.3',
2408 silly addNameRange '0.5.4',
2408 silly addNameRange '0.5.5',
2408 silly addNameRange '0.5.6',
2408 silly addNameRange '0.6.0',
2408 silly addNameRange '0.6.1',
2408 silly addNameRange '0.6.2',
2408 silly addNameRange '0.6.3',
2408 silly addNameRange '0.6.4',
2408 silly addNameRange '0.6.5',
2408 silly addNameRange '0.6.6',
2408 silly addNameRange '1.0.0',
2408 silly addNameRange '1.0.1',
2408 silly addNameRange '1.0.2',
2408 silly addNameRange '1.1.0',
2408 silly addNameRange '1.2.0',
2408 silly addNameRange '1.2.1' ] ]
2409 verbose addNamed [ 'qs', '0.6.6' ]
2410 verbose addNamed [ '0.6.6', '0.6.6' ]
2411 silly lockFile b8bccda2-qs-0-6-6 qs@0.6.6
2412 verbose lock qs@0.6.6 /Volumes/Storage/martincleaver/.npm/b8bccda2-qs-0-6-6.lock
2413 http 304 https://registry.npmjs.org/http-signature
2414 silly registry.get cb [ 304,
2414 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2414 silly registry.get server: 'Apache',
2414 silly registry.get via: '1.1 varnish',
2414 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:40:53 GMT',
2414 silly registry.get 'cache-control': 'max-age=60',
2414 silly registry.get etag: '"3LD4VFP3WRB2PYQ6G6M9SDPSV"',
2414 silly registry.get 'x-served-by': 'cache-iad2133-IAD',
2414 silly registry.get 'x-cache': 'HIT',
2414 silly registry.get 'x-cache-hits': '6',
2414 silly registry.get 'x-timer': 'S1407886913.757680,VS0,VE0',
2414 silly registry.get vary: 'Accept',
2414 silly registry.get 'content-length': '0',
2414 silly registry.get 'keep-alive': 'timeout=10, max=49',
2414 silly registry.get connection: 'Keep-Alive' } ]
2415 verbose etag http-signature from cache
2416 http 304 https://registry.npmjs.org/form-data
2417 silly registry.get cb [ 304,
2417 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2417 silly registry.get server: 'Apache',
2417 silly registry.get via: '1.1 varnish',
2417 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:10 GMT',
2417 silly registry.get 'cache-control': 'max-age=60',
2417 silly registry.get etag: '"1CKM8PYUFZQNA38HU8Y8YO7NH"',
2417 silly registry.get 'x-served-by': 'cache-iad2123-IAD',
2417 silly registry.get 'x-cache': 'HIT',
2417 silly registry.get 'x-cache-hits': '4',
2417 silly registry.get 'x-timer': 'S1407886913.757426,VS0,VE0',
2417 silly registry.get vary: 'Accept',
2417 silly registry.get 'content-length': '0',
2417 silly registry.get 'keep-alive': 'timeout=10, max=49',
2417 silly registry.get connection: 'Keep-Alive' } ]
2418 verbose etag form-data from cache
2419 silly gunzTarPerm extractEntry test/foo.js
2420 silly gunzTarPerm extractEntry test/fixtures/foo.ini
2421 silly lockFile 3fe7da2e-throttleit-0-0-2 throttleit@0.0.2
2422 silly lockFile 3fe7da2e-throttleit-0-0-2 throttleit@0.0.2
2423 silly lockFile de588288-throttleit-0-0-2 throttleit@~0.0.2
2424 silly lockFile de588288-throttleit-0-0-2 throttleit@~0.0.2
2425 silly resolved [ { name: 'throttleit',
2425 silly resolved description: 'Throttle a function',
2425 silly resolved version: '0.0.2',
2425 silly resolved keywords: [],
2425 silly resolved repository: { type: 'git', url: 'git://github.com/component/throttle.git' },
2425 silly resolved dependencies: {},
2425 silly resolved development: {},
2425 silly resolved license: 'MIT',
2425 silly resolved component: { scripts: [Object] },
2425 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',
2425 silly resolved readmeFilename: 'Readme.md',
2425 silly resolved bugs: { url: 'https://github.com/component/throttle/issues' },
2425 silly resolved homepage: 'https://github.com/component/throttle',
2425 silly resolved _id: 'throttleit@0.0.2',
2425 silly resolved _from: 'throttleit@~0.0.2' } ]
2426 info install throttleit@0.0.2 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress
2427 info installOne throttleit@0.0.2
2428 silly addNameRange number 2 { name: 'http-signature',
2428 silly addNameRange range: '>=0.10.0-0 <0.11.0-0',
2428 silly addNameRange hasData: true }
2429 silly addNameRange versions [ 'http-signature',
2429 silly addNameRange [ '0.9.0',
2429 silly addNameRange '0.9.2',
2429 silly addNameRange '0.9.3',
2429 silly addNameRange '0.9.4',
2429 silly addNameRange '0.9.5',
2429 silly addNameRange '0.9.6',
2429 silly addNameRange '0.9.7',
2429 silly addNameRange '0.9.8',
2429 silly addNameRange '0.9.9',
2429 silly addNameRange '0.9.10',
2429 silly addNameRange '0.9.11',
2429 silly addNameRange '0.10.0' ] ]
2430 verbose addNamed [ 'http-signature', '0.10.0' ]
2431 verbose addNamed [ '0.10.0', '0.10.0' ]
2432 silly lockFile f628681c-http-signature-0-10-0 http-signature@0.10.0
2433 verbose lock http-signature@0.10.0 /Volumes/Storage/martincleaver/.npm/f628681c-http-signature-0-10-0.lock
2434 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress/node_modules/throttleit unbuild
2435 http 304 https://registry.npmjs.org/forever-agent
2436 silly registry.get cb [ 304,
2436 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2436 silly registry.get server: 'Apache',
2436 silly registry.get via: '1.1 varnish',
2436 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
2436 silly registry.get 'cache-control': 'max-age=60',
2436 silly registry.get etag: '"44FXK5D32OYQLEGTK8FXPBKOR"',
2436 silly registry.get 'x-served-by': 'cache-iad2134-IAD',
2436 silly registry.get 'x-cache': 'HIT',
2436 silly registry.get 'x-cache-hits': '1',
2436 silly registry.get 'x-timer': 'S1407886913.764727,VS0,VE0',
2436 silly registry.get vary: 'Accept',
2436 silly registry.get 'content-length': '0',
2436 silly registry.get 'keep-alive': 'timeout=10, max=50',
2436 silly registry.get connection: 'Keep-Alive' } ]
2437 verbose etag forever-agent from cache
2438 silly addNameRange number 2 { name: 'form-data', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
2439 silly addNameRange versions [ 'form-data',
2439 silly addNameRange [ '0.0.0',
2439 silly addNameRange '0.0.2',
2439 silly addNameRange '0.0.3',
2439 silly addNameRange '0.0.4',
2439 silly addNameRange '0.0.5',
2439 silly addNameRange '0.0.6',
2439 silly addNameRange '0.0.7',
2439 silly addNameRange '0.0.8',
2439 silly addNameRange '0.0.9',
2439 silly addNameRange '0.0.10',
2439 silly addNameRange '0.1.0',
2439 silly addNameRange '0.1.1',
2439 silly addNameRange '0.1.2',
2439 silly addNameRange '0.1.3',
2439 silly addNameRange '0.1.4' ] ]
2440 verbose addNamed [ 'form-data', '0.1.4' ]
2441 verbose addNamed [ '0.1.4', '0.1.4' ]
2442 silly lockFile 3912a592-form-data-0-1-4 form-data@0.1.4
2443 verbose lock form-data@0.1.4 /Volumes/Storage/martincleaver/.npm/3912a592-form-data-0-1-4.lock
2444 http 304 https://registry.npmjs.org/mime
2445 silly registry.get cb [ 304,
2445 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2445 silly registry.get server: 'Apache',
2445 silly registry.get via: '1.1 varnish',
2445 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
2445 silly registry.get 'cache-control': 'max-age=60',
2445 silly registry.get etag: '"CEJZVOVXB5WZU5YLFJXV413MB"',
2445 silly registry.get 'x-served-by': 'cache-iad2129-IAD',
2445 silly registry.get 'x-cache': 'HIT',
2445 silly registry.get 'x-cache-hits': '1',
2445 silly registry.get 'x-timer': 'S1407886913.774002,VS0,VE0',
2445 silly registry.get vary: 'Accept',
2445 silly registry.get 'content-length': '0',
2445 silly registry.get 'keep-alive': 'timeout=10, max=50',
2445 silly registry.get connection: 'Keep-Alive' } ]
2446 verbose etag mime from cache
2447 verbose tar unpack /Volumes/Storage/martincleaver/.npm/throttleit/0.0.2/package.tgz
2448 silly lockFile 1eaeae6b-progress-node-modules-throttleit tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress/node_modules/throttleit
2449 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress/node_modules/throttleit /Volumes/Storage/martincleaver/.npm/1eaeae6b-progress-node-modules-throttleit.lock
2450 silly lockFile dd4257df-npm-throttleit-0-0-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/throttleit/0.0.2/package.tgz
2451 verbose lock tar:///Volumes/Storage/martincleaver/.npm/throttleit/0.0.2/package.tgz /Volumes/Storage/martincleaver/.npm/dd4257df-npm-throttleit-0-0-2-package-tgz.lock
2452 http 304 https://registry.npmjs.org/tunnel-agent
2453 silly registry.get cb [ 304,
2453 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2453 silly registry.get server: 'Apache',
2453 silly registry.get via: '1.1 varnish',
2453 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:27 GMT',
2453 silly registry.get 'cache-control': 'max-age=60',
2453 silly registry.get etag: '"8H7EMV3ZRS0R7SH3ZLXNFUROZ"',
2453 silly registry.get 'x-served-by': 'cache-iad2120-IAD',
2453 silly registry.get 'x-cache': 'HIT',
2453 silly registry.get 'x-cache-hits': '3',
2453 silly registry.get 'x-timer': 'S1407886913.773506,VS0,VE0',
2453 silly registry.get vary: 'Accept',
2453 silly registry.get 'content-length': '0',
2453 silly registry.get 'keep-alive': 'timeout=10, max=49',
2453 silly registry.get connection: 'Keep-Alive' } ]
2454 verbose etag tunnel-agent from cache
2455 silly gunzTarPerm modes [ '755', '644' ]
2456 silly addNameRange number 2 { name: 'forever-agent',
2456 silly addNameRange range: '>=0.5.0-0 <0.6.0-0',
2456 silly addNameRange hasData: true }
2457 silly addNameRange versions [ 'forever-agent',
2457 silly addNameRange [ '0.2.0', '0.3.0', '0.4.0', '0.5.0', '0.5.2' ] ]
2458 verbose addNamed [ 'forever-agent', '0.5.2' ]
2459 verbose addNamed [ '0.5.2', '0.5.2' ]
2460 silly lockFile 20c7a74d-forever-agent-0-5-2 forever-agent@0.5.2
2461 verbose lock forever-agent@0.5.2 /Volumes/Storage/martincleaver/.npm/20c7a74d-forever-agent-0-5-2.lock
2462 http 304 https://registry.npmjs.org/oauth-sign
2463 silly registry.get cb [ 304,
2463 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2463 silly registry.get server: 'Apache',
2463 silly registry.get via: '1.1 varnish',
2463 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
2463 silly registry.get 'cache-control': 'max-age=60',
2463 silly registry.get etag: '"4ANBO3JGGPSJKJKB7D07ITSI3"',
2463 silly registry.get 'x-served-by': 'cache-iad2123-IAD',
2463 silly registry.get 'x-cache': 'HIT',
2463 silly registry.get 'x-cache-hits': '2',
2463 silly registry.get 'x-timer': 'S1407886913.787685,VS0,VE0',
2463 silly registry.get vary: 'Accept',
2463 silly registry.get 'content-length': '0',
2463 silly registry.get 'keep-alive': 'timeout=10, max=48',
2463 silly registry.get connection: 'Keep-Alive' } ]
2464 verbose etag oauth-sign from cache
2465 http 304 https://registry.npmjs.org/tough-cookie
2466 silly registry.get cb [ 304,
2466 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2466 silly registry.get server: 'Apache',
2466 silly registry.get via: '1.1 varnish',
2466 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
2466 silly registry.get 'cache-control': 'max-age=60',
2466 silly registry.get etag: '"2P7Q2Z8DH3IKS3NCHPSE9FIQZ"',
2466 silly registry.get 'x-served-by': 'cache-iad2133-IAD',
2466 silly registry.get 'x-cache': 'HIT',
2466 silly registry.get 'x-cache-hits': '1',
2466 silly registry.get 'x-timer': 'S1407886913.787392,VS0,VE2',
2466 silly registry.get vary: 'Accept',
2466 silly registry.get 'content-length': '0',
2466 silly registry.get 'keep-alive': 'timeout=10, max=48',
2466 silly registry.get connection: 'Keep-Alive' } ]
2467 verbose etag tough-cookie from cache
2468 http 304 https://registry.npmjs.org/aws-sign2
2469 silly registry.get cb [ 304,
2469 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2469 silly registry.get server: 'Apache',
2469 silly registry.get via: '1.1 varnish',
2469 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
2469 silly registry.get 'cache-control': 'max-age=60',
2469 silly registry.get etag: '"CPHOMDH4L0I9IWJ00BYTG2XPN"',
2469 silly registry.get 'x-served-by': 'cache-iad2134-IAD',
2469 silly registry.get 'x-cache': 'HIT',
2469 silly registry.get 'x-cache-hits': '1',
2469 silly registry.get 'x-timer': 'S1407886913.795804,VS0,VE0',
2469 silly registry.get vary: 'Accept',
2469 silly registry.get 'content-length': '0',
2469 silly registry.get 'keep-alive': 'timeout=10, max=49',
2469 silly registry.get connection: 'Keep-Alive' } ]
2470 verbose etag aws-sign2 from cache
2471 silly addNameRange number 2 { name: 'mime', range: '>=1.2.9-0 <1.3.0-0', hasData: true }
2472 silly addNameRange versions [ 'mime',
2472 silly addNameRange [ '1.0.0',
2472 silly addNameRange '1.1.0',
2472 silly addNameRange '1.2.1',
2472 silly addNameRange '1.2.2',
2472 silly addNameRange '1.2.3',
2472 silly addNameRange '1.2.4',
2472 silly addNameRange '1.2.5',
2472 silly addNameRange '1.2.6',
2472 silly addNameRange '1.2.7',
2472 silly addNameRange '1.2.8',
2472 silly addNameRange '1.2.9',
2472 silly addNameRange '1.2.10',
2472 silly addNameRange '1.2.11' ] ]
2473 verbose addNamed [ 'mime', '1.2.11' ]
2474 verbose addNamed [ '1.2.11', '1.2.11' ]
2475 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
2476 verbose lock mime@1.2.11 /Volumes/Storage/martincleaver/.npm/c4b0741f-mime-1-2-11.lock
2477 http 304 https://registry.npmjs.org/hawk
2478 silly registry.get cb [ 304,
2478 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:53 GMT',
2478 silly registry.get server: 'Apache',
2478 silly registry.get via: '1.1 varnish',
2478 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:53 GMT',
2478 silly registry.get 'cache-control': 'max-age=60',
2478 silly registry.get etag: '"F313REH4YI37O5TLZHQLJTUEZ"',
2478 silly registry.get 'x-served-by': 'cache-iad2129-IAD',
2478 silly registry.get 'x-cache': 'HIT',
2478 silly registry.get 'x-cache-hits': '1',
2478 silly registry.get 'x-timer': 'S1407886913.804077,VS0,VE0',
2478 silly registry.get vary: 'Accept',
2478 silly registry.get 'content-length': '0',
2478 silly registry.get 'keep-alive': 'timeout=10, max=49',
2478 silly registry.get connection: 'Keep-Alive' } ]
2479 verbose etag hawk from cache
2480 silly addNameRange number 2 { name: 'tunnel-agent',
2480 silly addNameRange range: '>=0.4.0-0 <0.5.0-0',
2480 silly addNameRange hasData: true }
2481 silly addNameRange versions [ 'tunnel-agent', [ '0.2.0', '0.3.0', '0.4.0' ] ]
2482 verbose addNamed [ 'tunnel-agent', '0.4.0' ]
2483 verbose addNamed [ '0.4.0', '0.4.0' ]
2484 silly lockFile d3ccfadd-tunnel-agent-0-4-0 tunnel-agent@0.4.0
2485 verbose lock tunnel-agent@0.4.0 /Volumes/Storage/martincleaver/.npm/d3ccfadd-tunnel-agent-0-4-0.lock
2486 silly lockFile 7c2028cd-node-uuid-1-4-1 node-uuid@1.4.1
2487 silly lockFile 7c2028cd-node-uuid-1-4-1 node-uuid@1.4.1
2488 silly gunzTarPerm extractEntry package.json
2489 silly lockFile 1d9ebe76-json-stringify-safe-5-0-0 json-stringify-safe@5.0.0
2490 silly lockFile 1d9ebe76-json-stringify-safe-5-0-0 json-stringify-safe@5.0.0
2491 silly lockFile f662725f-node-uuid-1-4-0 node-uuid@~1.4.0
2492 silly lockFile f662725f-node-uuid-1-4-0 node-uuid@~1.4.0
2493 silly addNameRange number 2 { name: 'oauth-sign',
2493 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
2493 silly addNameRange hasData: true }
2494 silly addNameRange versions [ 'oauth-sign', [ '0.2.0', '0.3.0', '0.4.0' ] ]
2495 verbose addNamed [ 'oauth-sign', '0.3.0' ]
2496 verbose addNamed [ '0.3.0', '0.3.0' ]
2497 silly lockFile ae61e7c5-oauth-sign-0-3-0 oauth-sign@0.3.0
2498 verbose lock oauth-sign@0.3.0 /Volumes/Storage/martincleaver/.npm/ae61e7c5-oauth-sign-0-3-0.lock
2499 silly addNameRange number 2 { name: 'aws-sign2', range: '>=0.5.0-0 <0.6.0-0', hasData: true }
2500 silly addNameRange versions [ 'aws-sign2', [ '0.4.0', '0.5.0' ] ]
2501 verbose addNamed [ 'aws-sign2', '0.5.0' ]
2502 verbose addNamed [ '0.5.0', '0.5.0' ]
2503 silly lockFile 5a1dbd9b-aws-sign2-0-5-0 aws-sign2@0.5.0
2504 verbose lock aws-sign2@0.5.0 /Volumes/Storage/martincleaver/.npm/5a1dbd9b-aws-sign2-0-5-0.lock
2505 silly lockFile 063b1a01-json-stringify-safe-5-0-0 json-stringify-safe@~5.0.0
2506 silly lockFile 063b1a01-json-stringify-safe-5-0-0 json-stringify-safe@~5.0.0
2507 silly addNameRange number 2 { name: 'tough-cookie', range: '>=0.12.0', hasData: true }
2508 silly addNameRange versions [ 'tough-cookie',
2508 silly addNameRange [ '0.9.0',
2508 silly addNameRange '0.9.1',
2508 silly addNameRange '0.9.3',
2508 silly addNameRange '0.9.4',
2508 silly addNameRange '0.9.5',
2508 silly addNameRange '0.9.6',
2508 silly addNameRange '0.9.7',
2508 silly addNameRange '0.9.8',
2508 silly addNameRange '0.9.9',
2508 silly addNameRange '0.9.11',
2508 silly addNameRange '0.9.12',
2508 silly addNameRange '0.9.13',
2508 silly addNameRange '0.9.14',
2508 silly addNameRange '0.9.15',
2508 silly addNameRange '0.10.0',
2508 silly addNameRange '0.11.0',
2508 silly addNameRange '0.12.0',
2508 silly addNameRange '0.12.1' ] ]
2509 verbose addNamed [ 'tough-cookie', '0.12.1' ]
2510 verbose addNamed [ '0.12.1', '0.12.1' ]
2511 silly lockFile 9dd6163b-tough-cookie-0-12-1 tough-cookie@0.12.1
2512 verbose lock tough-cookie@0.12.1 /Volumes/Storage/martincleaver/.npm/9dd6163b-tough-cookie-0-12-1.lock
2513 silly lockFile 8fb645af-s-phantomjs-node-modules-adm-zip tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip
2514 silly lockFile 8fb645af-s-phantomjs-node-modules-adm-zip tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip
2515 silly lockFile b8bccda2-qs-0-6-6 qs@0.6.6
2516 silly lockFile b8bccda2-qs-0-6-6 qs@0.6.6
2517 silly addNameRange number 2 { name: 'hawk', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
2518 silly addNameRange versions [ 'hawk',
2518 silly addNameRange [ '0.0.1',
2518 silly addNameRange '0.0.2',
2518 silly addNameRange '0.0.3',
2518 silly addNameRange '0.0.4',
2518 silly addNameRange '0.0.5',
2518 silly addNameRange '0.0.6',
2518 silly addNameRange '0.0.7',
2518 silly addNameRange '0.0.8',
2518 silly addNameRange '0.1.0',
2518 silly addNameRange '0.2.0',
2518 silly addNameRange '0.3.0',
2518 silly addNameRange '0.4.0',
2518 silly addNameRange '0.5.0',
2518 silly addNameRange '0.5.1',
2518 silly addNameRange '0.5.2',
2518 silly addNameRange '0.5.3',
2518 silly addNameRange '0.6.0',
2518 silly addNameRange '0.6.1',
2518 silly addNameRange '0.7.0',
2518 silly addNameRange '0.7.1',
2518 silly addNameRange '0.8.1',
2518 silly addNameRange '0.9.0',
2518 silly addNameRange '0.10.0',
2518 silly addNameRange '0.10.1',
2518 silly addNameRange '0.10.2',
2518 silly addNameRange '0.11.0',
2518 silly addNameRange '0.11.1',
2518 silly addNameRange '0.12.0',
2518 silly addNameRange '0.12.1',
2518 silly addNameRange '0.12.2',
2518 silly addNameRange '0.13.0',
2518 silly addNameRange '0.13.1',
2518 silly addNameRange '0.14.0',
2518 silly addNameRange '0.15.0',
2518 silly addNameRange '1.0.0',
2518 silly addNameRange '1.1.0-pre',
2518 silly addNameRange '1.1.1',
2518 silly addNameRange '1.1.2',
2518 silly addNameRange '2.0.0',
2518 silly addNameRange '2.1.0',
2518 silly addNameRange '2.1.1',
2518 silly addNameRange '2.1.2',
2518 silly addNameRange '2.1.3',
2518 silly addNameRange '2.2.0',
2518 silly addNameRange '2.2.1',
2518 silly addNameRange '2.2.2',
2518 silly addNameRange '2.2.3' ] ]
2519 verbose addNamed [ 'hawk', '1.0.0' ]
2520 verbose addNamed [ '1.0.0', '1.0.0' ]
2521 silly lockFile 1ca87dbe-hawk-1-0-0 hawk@1.0.0
2522 verbose lock hawk@1.0.0 /Volumes/Storage/martincleaver/.npm/1ca87dbe-hawk-1-0-0.lock
2523 silly gunzTarPerm extractEntry .npmignore
2524 silly gunzTarPerm extractEntry example.js
2525 silly lockFile f628681c-http-signature-0-10-0 http-signature@0.10.0
2526 silly lockFile f628681c-http-signature-0-10-0 http-signature@0.10.0
2527 silly lockFile 422404b4-er-npm-adm-zip-0-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
2528 silly lockFile 422404b4-er-npm-adm-zip-0-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/adm-zip/0.2.1/package.tgz
2529 silly lockFile 222bee9e-qs-0-6-0 qs@~0.6.0
2530 silly lockFile 222bee9e-qs-0-6-0 qs@~0.6.0
2531 silly lockFile 3912a592-form-data-0-1-4 form-data@0.1.4
2532 silly lockFile 3912a592-form-data-0-1-4 form-data@0.1.4
2533 silly lockFile 8170f292-http-signature-0-10-0 http-signature@~0.10.0
2534 silly lockFile 8170f292-http-signature-0-10-0 http-signature@~0.10.0
2535 silly lockFile 26aa13f4-form-data-0-1-0 form-data@~0.1.0
2536 silly lockFile 26aa13f4-form-data-0-1-0 form-data@~0.1.0
2537 info preinstall adm-zip@0.2.1
2538 silly lockFile 20c7a74d-forever-agent-0-5-2 forever-agent@0.5.2
2539 silly lockFile 20c7a74d-forever-agent-0-5-2 forever-agent@0.5.2
2540 silly lockFile fa463915-forever-agent-0-5-0 forever-agent@~0.5.0
2541 silly lockFile fa463915-forever-agent-0-5-0 forever-agent@~0.5.0
2542 verbose readDependencies using package.json deps
2543 silly gunzTarPerm extractEntry index.js
2544 silly gunzTarPerm extractEntry History.md
2545 verbose readDependencies using package.json deps
2546 silly resolved []
2547 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip
2548 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/adm-zip
2549 verbose linkStuff [ false,
2549 verbose linkStuff false,
2549 verbose linkStuff false,
2549 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
2550 info linkStuff adm-zip@0.2.1
2551 verbose linkBins adm-zip@0.2.1
2552 verbose linkMans adm-zip@0.2.1
2553 verbose rebuildBundles adm-zip@0.2.1
2554 info install adm-zip@0.2.1
2555 info postinstall adm-zip@0.2.1
2556 silly lockFile fa57a09a-12960-0-0392686421982944-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/package
2557 silly lockFile fa57a09a-12960-0-0392686421982944-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/package
2558 silly lockFile ae61e7c5-oauth-sign-0-3-0 oauth-sign@0.3.0
2559 silly lockFile ae61e7c5-oauth-sign-0-3-0 oauth-sign@0.3.0
2560 silly lockFile 5a1dbd9b-aws-sign2-0-5-0 aws-sign2@0.5.0
2561 silly lockFile 5a1dbd9b-aws-sign2-0-5-0 aws-sign2@0.5.0
2562 silly lockFile f4cbca33-12960-0-0392686421982944-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/tmp.tgz
2563 silly lockFile f4cbca33-12960-0-0392686421982944-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/tmp.tgz
2564 silly lockFile 7fb5c7f1-oauth-sign-0-3-0 oauth-sign@~0.3.0
2565 silly lockFile 7fb5c7f1-oauth-sign-0-3-0 oauth-sign@~0.3.0
2566 silly lockFile 82387911-aws-sign2-0-5-0 aws-sign2@~0.5.0
2567 silly lockFile 82387911-aws-sign2-0-5-0 aws-sign2@~0.5.0
2568 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz',
2568 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/package' ]
2569 verbose tarball /Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
2570 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/package
2571 silly lockFile fa57a09a-12960-0-0392686421982944-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/package
2572 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/package /Volumes/Storage/martincleaver/.npm/fa57a09a-12960-0-0392686421982944-package.lock
2573 silly lockFile 26db3178-eaver-npm-once-1-1-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
2574 verbose lock tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz /Volumes/Storage/martincleaver/.npm/26db3178-eaver-npm-once-1-1-1-package-tgz.lock
2575 silly gunzTarPerm extractEntry Makefile
2576 silly gunzTarPerm extractEntry Readme.md
2577 silly lockFile d3ccfadd-tunnel-agent-0-4-0 tunnel-agent@0.4.0
2578 silly lockFile d3ccfadd-tunnel-agent-0-4-0 tunnel-agent@0.4.0
2579 silly lockFile 2550750e-tunnel-agent-0-4-0 tunnel-agent@~0.4.0
2580 silly lockFile 2550750e-tunnel-agent-0-4-0 tunnel-agent@~0.4.0
2581 silly gunzTarPerm extractEntry component.json
2582 silly lockFile 2aa34b8b-2821-0-19748937897384167-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/package
2583 silly lockFile 2aa34b8b-2821-0-19748937897384167-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/package
2584 silly lockFile b934d6e1-2821-0-19748937897384167-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/tmp.tgz
2585 silly lockFile b934d6e1-2821-0-19748937897384167-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/tmp.tgz
2586 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz',
2586 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/package' ]
2587 verbose tarball /Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
2588 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/package
2589 silly lockFile 2aa34b8b-2821-0-19748937897384167-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/package
2590 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/package /Volumes/Storage/martincleaver/.npm/2aa34b8b-2821-0-19748937897384167-package.lock
2591 silly lockFile 9f41a675-leaver-npm-ini-1-1-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
2592 verbose lock tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz /Volumes/Storage/martincleaver/.npm/9f41a675-leaver-npm-ini-1-1-0-package-tgz.lock
2593 silly lockFile fa57a09a-12960-0-0392686421982944-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/package
2594 silly lockFile fa57a09a-12960-0-0392686421982944-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912960-0.0392686421982944/package
2595 silly lockFile 26db3178-eaver-npm-once-1-1-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
2596 silly lockFile 26db3178-eaver-npm-once-1-1-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
2597 silly lockFile 563a7fbe-incleaver-npm-once-1-1-1-package /Volumes/Storage/martincleaver/.npm/once/1.1.1/package
2598 verbose lock /Volumes/Storage/martincleaver/.npm/once/1.1.1/package /Volumes/Storage/martincleaver/.npm/563a7fbe-incleaver-npm-once-1-1-1-package.lock
2599 silly lockFile 9dd6163b-tough-cookie-0-12-1 tough-cookie@0.12.1
2600 silly lockFile 9dd6163b-tough-cookie-0-12-1 tough-cookie@0.12.1
2601 silly lockFile 1ca87dbe-hawk-1-0-0 hawk@1.0.0
2602 silly lockFile 1ca87dbe-hawk-1-0-0 hawk@1.0.0
2603 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
2604 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
2605 silly lockFile 66c18ba7-tough-cookie-0-12-0 tough-cookie@>=0.12.0
2606 silly lockFile 66c18ba7-tough-cookie-0-12-0 tough-cookie@>=0.12.0
2607 silly lockFile 327094b8-hawk-1-0-0 hawk@~1.0.0
2608 silly lockFile 327094b8-hawk-1-0-0 hawk@~1.0.0
2609 silly lockFile ccf24a67-mime-1-2-9 mime@~1.2.9
2610 silly lockFile ccf24a67-mime-1-2-9 mime@~1.2.9
2611 silly lockFile 563a7fbe-incleaver-npm-once-1-1-1-package /Volumes/Storage/martincleaver/.npm/once/1.1.1/package
2612 silly lockFile 563a7fbe-incleaver-npm-once-1-1-1-package /Volumes/Storage/martincleaver/.npm/once/1.1.1/package
2613 silly resolved [ { name: 'node-uuid',
2613 silly resolved description: 'Rigorous implementation of RFC4122 (v1 and v4) UUIDs.',
2613 silly resolved url: 'http://github.com/broofa/node-uuid',
2613 silly resolved keywords: [ 'uuid', 'guid', 'rfc4122' ],
2613 silly resolved author: { name: 'Robert Kieffer', email: 'robert@broofa.com' },
2613 silly resolved contributors: [ [Object] ],
2613 silly resolved lib: '.',
2613 silly resolved main: './uuid.js',
2613 silly resolved repository: { type: 'git', url: 'https://github.com/broofa/node-uuid.git' },
2613 silly resolved version: '1.4.1',
2613 silly resolved readme: '# node-uuid\n\nSimple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.\n\nFeatures:\n\n* Generate RFC4122 version 1 or version 4 UUIDs\n* Runs in node.js and all browsers.\n* Registered as a [ComponentJS](https://github.com/component/component) [component](https://github.com/component/component/wiki/Components) (\'broofa/node-uuid\').\n* Cryptographically strong random # generation on supporting platforms\n* 1.1K minified and gzip\'ed (Want something smaller? Check this [crazy shit](https://gist.github.com/982883) out! )\n* [Annotated source code](http://broofa.github.com/node-uuid/docs/uuid.html)\n\n## Getting Started\n\nInstall it in your browser:\n\n```html\n<script src="uuid.js"></script>\n```\n\nOr in node.js:\n\n```\nnpm install node-uuid\n```\n\n```javascript\nvar uuid = require(\'node-uuid\');\n```\n\nThen create some ids ...\n\n```javascript\n// Generate a v1 (time-based) id\nuuid.v1(); // -> \'6c84fb90-12c4-11e1-840d-7b25c5ee775a\'\n\n// Generate a v4 (random) id\nuuid.v4(); // -> \'110ec58a-a0f2-4ac4-8393-c866d813b8d1\'\n```\n\n## API\n\n### uuid.v1([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v1 (timestamp-based) UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID. See note 1.\n * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence. Default: An internally maintained clockseq is used.\n * `msecs` - (Number | Date) Time in milliseconds since unix Epoch. Default: The current time is used.\n * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nNotes:\n\n1. The randomly generated node id is only guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.)\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v1({\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date(\'2011-11-01\').getTime(),\n nsecs: 5678\n}); // -> "710b962e-041c-11e1-9234-0123456789ab"\n```\n\nExample: In-place generation of two binary IDs\n\n```javascript\n// Generate two ids in an array\nvar arr = new Array(32); // -> []\nuuid.v1(null, arr, 0); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\nuuid.v1(null, arr, 16); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\n\n// Optionally use uuid.unparse() to get stringify the ids\nuuid.unparse(buffer); // -> \'02a2ce90-1432-11e1-8558-0b488e4fc115\'\nuuid.unparse(buffer, 16) // -> \'02a31cb0-1432-11e1-8558-0b488e4fc115\'\n```\n\n### uuid.v4([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v4 UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values\n * `rng` - (Function) Random # generator to use. Set to one of the built-in generators - `uuid.mathRNG` (all platforms), `uuid.nodeRNG` (node.js only), `uuid.whatwgRNG` (WebKit only) - or a custom function that returns an array[16] of byte values.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v4({\n random: [\n 0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,\n 0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36\n ]\n});\n// -> "109156be-c4fb-41ea-b1b4-efe1671c5836"\n```\n\nExample: Generate two IDs in a single buffer\n\n```javascript\nvar buffer = new Array(32); // (or \'new Buffer\' in node.js)\nuuid.v4(null, buffer, 0);\nuuid.v4(null, buffer, 16);\n```\n\n### uuid.parse(id[, buffer[, offset]])\n### uuid.unparse(buffer[, offset])\n\nParse and unparse UUIDs\n\n * `id` - (String) UUID(-like) string\n * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. Default: A new Array or Buffer is used\n * `offset` - (Number) Starting index in `buffer` at which to begin writing. Default: 0\n\nExample parsing and unparsing a UUID string\n\n```javascript\nvar bytes = uuid.parse(\'797ff043-11eb-11e1-80d6-510998755d10\'); // -> <Buffer 79 7f f0 43 11 eb 11 e1 80 d6 51 09 98 75 5d 10>\nvar string = uuid.unparse(bytes); // -> \'797ff043-11eb-11e1-80d6-510998755d10\'\n```\n\n### uuid.noConflict()\n\n(Browsers only) Set `uuid` property back to it\'s previous value.\n\nReturns the node-uuid object.\n\nExample:\n\n```javascript\nvar myUuid = uuid.noConflict();\nmyUuid.v1(); // -> \'6c84fb90-12c4-11e1-840d-7b25c5ee775a\'\n```\n\n## Deprecated APIs\n\nSupport for the following v1.2 APIs is available in v1.3, but is deprecated and will be removed in the next major version.\n\n### uuid([format [, buffer [, offset]]])\n\nuuid() has become uuid.v4(), and the `format` argument is now implicit in the `buffer` argument. (i.e. if you specify a buffer, the format is assumed to be binary).\n\n### uuid.BufferClass\n\nThe class of container created when generating binary uuid data if no buffer argument is specified. This is expected to go away, with no replacement API.\n\n## Testing\n\nIn node.js\n\n```\n> cd test\n> node test.js\n```\n\nIn Browser\n\n```\nopen test/test.html\n```\n\n### Benchmarking\n\nRequires node.js\n\n```\nnpm install uuid uuid-js\nnode benchmark/benchmark.js\n```\n\nFor a more complete discussion of node-uuid performance, please see the `benchmark/README.md` file, and the [benchmark wiki](https://github.com/broofa/node-uuid/wiki/Benchmark)\n\nFor browser performance [checkout the JSPerf tests](http://jsperf.com/node-uuid-performance).\n\n## Release notes\n\n### 1.4.0\n\n* Improved module context detection\n* Removed public RNG functions\n\n### 1.3.2\n\n* Improve tests and handling of v1() options (Issue #24)\n* Expose RNG option to allow for perf testing with different generators\n\n### 1.3.0\n\n* Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)!\n* Support for node.js crypto API\n* De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code\n',
2613 silly resolved readmeFilename: 'README.md',
2613 silly resolved bugs: { url: 'https://github.com/broofa/node-uuid/issues' },
2613 silly resolved homepage: 'https://github.com/broofa/node-uuid',
2613 silly resolved _id: 'node-uuid@1.4.1',
2613 silly resolved _from: 'node-uuid@~1.4.0' },
2613 silly resolved { name: 'json-stringify-safe',
2613 silly resolved version: '5.0.0',
2613 silly resolved description: 'Like JSON.stringify, but doesn\'t blow up on circular refs',
2613 silly resolved main: 'stringify.js',
2613 silly resolved scripts: { test: 'node test.js' },
2613 silly resolved repository:
2613 silly resolved { type: 'git',
2613 silly resolved url: 'git://github.com/isaacs/json-stringify-safe' },
2613 silly resolved keywords: [ 'json', 'stringify', 'circular', 'safe' ],
2613 silly resolved author:
2613 silly resolved { name: 'Isaac Z. Schlueter',
2613 silly resolved email: 'i@izs.me',
2613 silly resolved url: 'http://blog.izs.me' },
2613 silly resolved license: 'BSD',
2613 silly resolved readmeFilename: 'README.md',
2613 silly resolved readme: '# json-stringify-safe\n\nLike JSON.stringify, but doesn\'t throw on circular references.\n\n## Usage\n\nTakes the same arguments as `JSON.stringify`.\n\n```javascript\nvar stringify = require(\'json-stringify-safe\');\nvar circularObj = {};\ncircularObj.circularRef = circularObj;\ncircularObj.list = [ circularObj, circularObj ];\nconsole.log(stringify(circularObj, null, 2));\n```\n\nOutput:\n\n```json\n{\n "circularRef": "[Circular]",\n "list": [\n "[Circular]",\n "[Circular]"\n ]\n}\n```\n\n## Details\n\n```\nstringify(obj, serializer, indent, decycler)\n```\n\nThe first three arguments are the same as to JSON.stringify. The last\nis an argument that\'s only used when the object has been seen already.\n\nThe default `decycler` function returns the string `\'[Circular]\'`.\nIf, for example, you pass in `function(k,v){}` (return nothing) then it\nwill prune cycles. If you pass in `function(k,v){ return {foo: \'bar\'}}`,\nthen cyclical objects will always be represented as `{"foo":"bar"}` in\nthe result.\n\n```\nstringify.getSerialize(serializer, decycler)\n```\n\nReturns a serializer that can be used elsewhere. This is the actual\nfunction that\'s passed to JSON.stringify.\n',
2613 silly resolved bugs: { url: 'https://github.com/isaacs/json-stringify-safe/issues' },
2613 silly resolved homepage: 'https://github.com/isaacs/json-stringify-safe',
2613 silly resolved _id: 'json-stringify-safe@5.0.0',
2613 silly resolved _from: 'json-stringify-safe@~5.0.0' },
2613 silly resolved { name: 'qs',
2613 silly resolved description: 'querystring parser',
2613 silly resolved version: '0.6.6',
2613 silly resolved keywords: [ 'query string', 'parser', 'component' ],
2613 silly resolved repository:
2613 silly resolved { type: 'git',
2613 silly resolved url: 'git://github.com/visionmedia/node-querystring.git' },
2613 silly resolved devDependencies: { mocha: '*', 'expect.js': '*' },
2613 silly resolved scripts: { test: 'make test' },
2613 silly resolved author:
2613 silly resolved { name: 'TJ Holowaychuk',
2613 silly resolved email: 'tj@vision-media.ca',
2613 silly resolved url: 'http://tjholowaychuk.com' },
2613 silly resolved main: 'index',
2613 silly resolved engines: { node: '*' },
2613 silly resolved readme: '# node-querystring\n\n query string parser for node and the browser supporting nesting, as it was removed from `0.3.x`, so this library provides the previous and commonly desired behaviour (and twice as fast). Used by [express](http://expressjs.com), [connect](http://senchalabs.github.com/connect) and others.\n\n## Installation\n\n $ npm install qs\n\n## Examples\n\n```js\nvar qs = require(\'qs\');\n\nqs.parse(\'user[name][first]=Tobi&user[email]=tobi@learnboost.com\');\n// => { user: { name: { first: \'Tobi\' }, email: \'tobi@learnboost.com\' } }\n\nqs.stringify({ user: { name: \'Tobi\', email: \'tobi@learnboost.com\' }})\n// => user[name]=Tobi&user[email]=tobi%40learnboost.com\n```\n\n## Testing\n\nInstall dev dependencies:\n\n $ npm install -d\n\nand execute:\n\n $ make test\n\nbrowser:\n\n $ open test/browser/index.html\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2010 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\'Software\'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.',
2613 silly resolved readmeFilename: 'Readme.md',
2613 silly resolved bugs: { url: 'https://github.com/visionmedia/node-querystring/issues' },
2613 silly resolved homepage: 'https://github.com/visionmedia/node-querystring',
2613 silly resolved _id: 'qs@0.6.6',
2613 silly resolved _from: 'qs@~0.6.0' },
2613 silly resolved { author: { name: 'Joyent, Inc' },
2613 silly resolved name: 'http-signature',
2613 silly resolved description: 'Reference implementation of Joyent\'s HTTP Signature Scheme',
2613 silly resolved version: '0.10.0',
2613 silly resolved repository:
2613 silly resolved { type: 'git',
2613 silly resolved url: 'git://github.com/joyent/node-http-signature.git' },
2613 silly resolved engines: { node: '>=0.8' },
2613 silly resolved main: 'lib/index.js',
2613 silly resolved scripts: { test: 'tap tst/*.js' },
2613 silly resolved dependencies: { 'assert-plus': '0.1.2', asn1: '0.1.11', ctype: '0.5.2' },
2613 silly resolved devDependencies: { 'node-uuid': '1.4.0', tap: '0.4.2' },
2613 silly resolved readme: '# node-http-signature\n\nnode-http-signature is a node.js library that has client and server components\nfor Joyent\'s [HTTP Signature Scheme](http_signing.md).\n\n## Usage\n\nNote the example below signs a request with the same key/cert used to start an\nHTTP server. This is almost certainly not what you actaully want, but is just\nused to illustrate the API calls; you will need to provide your own key\nmanagement in addition to this library.\n\n### Client\n\n var fs = require(\'fs\');\n var https = require(\'https\');\n var httpSignature = require(\'http-signature\');\n\n var key = fs.readFileSync(\'./key.pem\', \'ascii\');\n\n var options = {\n host: \'localhost\',\n port: 8443,\n path: \'/\',\n method: \'GET\',\n headers: {}\n };\n\n // Adds a \'Date\' header in, signs it, and adds the\n // \'Authorization\' header in.\n var req = https.request(options, function(res) {\n console.log(res.statusCode);\n });\n\n\n httpSignature.sign(req, {\n key: key,\n keyId: \'./cert.pem\'\n });\n\n req.end();\n\n### Server\n\n var fs = require(\'fs\');\n var https = require(\'https\');\n var httpSignature = require(\'http-signature\');\n\n var options = {\n key: fs.readFileSync(\'./key.pem\'),\n cert: fs.readFileSync(\'./cert.pem\')\n };\n\n https.createServer(options, function (req, res) {\n var rc = 200;\n var parsed = httpSignature.parseRequest(req);\n var pub = fs.readFileSync(parsed.keyId, \'ascii\');\n if (!httpSignature.verifySignature(parsed, pub))\n rc = 401;\n\n res.writeHead(rc);\n res.end();\n }).listen(8443);\n\n## Installation\n\n npm install http-signature\n\n## License\n\nMIT.\n\n## Bugs\n\nSee <https://github.com/joyent/node-http-signature/issues>.\n',
2613 silly resolved readmeFilename: 'README.md',
2613 silly resolved bugs: { url: 'https://github.com/joyent/node-http-signature/issues' },
2613 silly resolved homepage: 'https://github.com/joyent/node-http-signature',
2613 silly resolved _id: 'http-signature@0.10.0',
2613 silly resolved _from: 'http-signature@~0.10.0' },
2613 silly resolved { author:
2613 silly resolved { name: 'Felix Geisendörfer',
2613 silly resolved email: 'felix@debuggable.com',
2613 silly resolved url: 'http://debuggable.com/' },
2613 silly resolved name: 'form-data',
2613 silly resolved description: 'A module to create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.',
2613 silly resolved version: '0.1.4',
2613 silly resolved repository:
2613 silly resolved { type: 'git',
2613 silly resolved url: 'git://github.com/felixge/node-form-data.git' },
2613 silly resolved main: './lib/form_data',
2613 silly resolved scripts: { test: 'node test/run.js' },
2613 silly resolved engines: { node: '>= 0.8' },
2613 silly resolved dependencies: { 'combined-stream': '~0.0.4', mime: '~1.2.11', async: '~0.9.0' },
2613 silly resolved licenses: [ [Object] ],
2613 silly resolved devDependencies:
2613 silly resolved { fake: '~0.2.2',
2613 silly resolved far: '~0.0.7',
2613 silly resolved formidable: '~1.0.14',
2613 silly resolved request: '~2.36.0' },
2613 silly resolved readme: '# Form-Data [![Build Status](https://travis-ci.org/felixge/node-form-data.png?branch=master)](https://travis-ci.org/felixge/node-form-data) [![Dependency Status](https://gemnasium.com/felixge/node-form-data.png)](https://gemnasium.com/felixge/node-form-data)\n\nA module to create readable ```"multipart/form-data"``` streams. Can be used to submit forms and file uploads to other web applications.\n\nThe API of this module is inspired by the [XMLHttpRequest-2 FormData Interface][xhr2-fd].\n\n[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface\n[streams2-thing]: http://nodejs.org/api/stream.html#stream_compatibility_with_older_node_versions\n\n## Install\n\n```\nnpm install form-data\n```\n\n## Usage\n\nIn this example we are constructing a form with 3 fields that contain a string,\na buffer and a file stream.\n\n``` javascript\nvar FormData = require(\'form-data\');\nvar fs = require(\'fs\');\n\nvar form = new FormData();\nform.append(\'my_field\', \'my value\');\nform.append(\'my_buffer\', new Buffer(10));\nform.append(\'my_file\', fs.createReadStream(\'/foo/bar.jpg\'));\n```\n\nAlso you can use http-response stream:\n\n``` javascript\nvar FormData = require(\'form-data\');\nvar http = require(\'http\');\n\nvar form = new FormData();\n\nhttp.request(\'http://nodejs.org/images/logo.png\', function(response) {\n form.append(\'my_field\', \'my value\');\n form.append(\'my_buffer\', new Buffer(10));\n form.append(\'my_logo\', response);\n});\n```\n\nOr @mikeal\'s request stream:\n\n``` javascript\nvar FormData = require(\'form-data\');\nvar request = require(\'request\');\n\nvar form = new FormData();\n\nform.append(\'my_field\', \'my value\');\nform.append(\'my_buffer\', new Buffer(10));\nform.append(\'my_logo\', request(\'http://nodejs.org/images/logo.png\'));\n```\n\nIn order to submit this form to a web application, call ```submit(url, [callback])``` method:\n\n``` javascript\nform.submit(\'http://example.org/\', function(err, res) {\n // res – response object (http.IncomingMessage) //\n res.resume(); // for node-0.10.x\n});\n\n```\n\nFor more advanced request manipulations ```submit()``` method returns ```http.ClientRequest``` object, or you can choose from one of the alternative submission methods.\n\n### Alternative submission methods\n\nYou can use node\'s http client interface:\n\n``` javascript\nvar http = require(\'http\');\n\nvar request = http.request({\n method: \'post\',\n host: \'example.org\',\n path: \'/upload\',\n headers: form.getHeaders()\n});\n\nform.pipe(request);\n\nrequest.on(\'response\', function(res) {\n console.log(res.statusCode);\n});\n```\n\nOr if you would prefer the `\'Content-Length\'` header to be set for you:\n\n``` javascript\nform.submit(\'example.org/upload\', function(err, res) {\n console.log(res.statusCode);\n});\n```\n\nTo use custom headers and pre-known length in parts:\n\n``` javascript\nvar CRLF = \'\\r\\n\';\nvar form = new FormData();\n\nvar options = {\n header: CRLF + \'--\' + form.getBoundary() + CRLF + \'X-Custom-Header: 123\' + CRLF + CRLF,\n knownLength: 1\n};\n\nform.append(\'my_buffer\', buffer, options);\n\nform.submit(\'http://example.com/\', function(err, res) {\n if (err) throw err;\n console.log(\'Done\');\n});\n```\n\nForm-Data can recognize and fetch all the required information from common types of streams (```fs.readStream```, ```http.response``` and ```mikeal\'s request```), for some other types of streams you\'d need to provide "file"-related information manually:\n\n``` javascript\nsomeModule.stream(function(err, stdout, stderr) {\n if (err) throw err;\n\n var form = new FormData();\n\n form.append(\'file\', stdout, {\n filename: \'unicycle.jpg\',\n contentType: \'image/jpg\',\n knownLength: 19806\n });\n\n form.submit(\'http://example.com/\', function(err, res) {\n if (err) throw err;\n console.log(\'Done\');\n });\n});\n```\n\nFor edge cases, like POST request to URL with query string or to pass HTTP auth credentials, object can be passed to `form.submit()` as first parameter:\n\n``` javascript\nform.submit({\n host: \'example.com\',\n path: \'/probably.php?extra=params\',\n auth: \'username:password\'\n}, function(err, res) {\n console.log(res.statusCode);\n});\n```\n\nIn case you need to also send custom HTTP headers with the POST request, you can use the `headers` key in first parameter of `form.submit()`:\n\n``` javascript\nform.submit({\n host: \'example.com\',\n path: \'/surelynot.php\',\n headers: {\'x-test-header\': \'test-header-value\'}\n}, function(err, res) {\n console.log(res.statusCode);\n});\n```\n\n## Notes\n\n- ```getLengthSync()``` method DOESN\'T calculate length for streams, use ```knownLength``` options as workaround.\n- If it feels like FormData hangs after submit and you\'re on ```node-0.10```, please check [Compatibility with Older Node Versions][streams2-thing]\n\n## TODO\n\n- Add new streams (0.10) support and try really hard not to break it for 0.8.x.\n\n## License\n\nForm-Data is licensed under the MIT license.\n',
2613 silly resolved readmeFilename: 'Readme.md',
2613 silly resolved bugs: { url: 'https://github.com/felixge/node-form-data/issues' },
2613 silly resolved homepage: 'https://github.com/felixge/node-form-data',
2613 silly resolved _id: 'form-data@0.1.4',
2613 silly resolved _from: 'form-data@~0.1.0' },
2613 silly resolved { author:
2613 silly resolved { name: 'Mikeal Rogers',
2613 silly resolved email: 'mikeal.rogers@gmail.com',
2613 silly resolved url: 'http://www.futurealoof.com' },
2613 silly resolved name: 'forever-agent',
2613 silly resolved description: 'HTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.',
2613 silly resolved version: '0.5.2',
2613 silly resolved repository: { url: 'https://github.com/mikeal/forever-agent' },
2613 silly resolved main: 'index.js',
2613 silly resolved dependencies: {},
2613 silly resolved devDependencies: {},
2613 silly resolved optionalDependencies: {},
2613 silly resolved engines: { node: '*' },
2613 silly resolved readme: 'forever-agent\n=============\n\nHTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.\n',
2613 silly resolved readmeFilename: 'README.md',
2613 silly resolved bugs: { url: 'https://github.com/mikeal/forever-agent/issues' },
2613 silly resolved homepage: 'https://github.com/mikeal/forever-agent',
2613 silly resolved _id: 'forever-agent@0.5.2',
2613 silly resolved _from: 'forever-agent@~0.5.0' },
2613 silly resolved { author:
2613 silly resolved { name: 'Mikeal Rogers',
2613 silly resolved email: 'mikeal.rogers@gmail.com',
2613 silly resolved url: 'http://www.futurealoof.com' },
2613 silly resolved name: 'oauth-sign',
2613 silly resolved description: 'OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.',
2613 silly resolved version: '0.3.0',
2613 silly resolved repository: { url: 'https://github.com/mikeal/oauth-sign' },
2613 silly resolved main: 'index.js',
2613 silly resolved dependencies: {},
2613 silly resolved devDependencies: {},
2613 silly resolved optionalDependencies: {},
2613 silly resolved engines: { node: '*' },
2613 silly resolved scripts: { test: 'node test.js' },
2613 silly resolved readme: 'oauth-sign\n==========\n\nOAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module. \n',
2613 silly resolved readmeFilename: 'README.md',
2613 silly resolved bugs: { url: 'https://github.com/mikeal/oauth-sign/issues' },
2613 silly resolved homepage: 'https://github.com/mikeal/oauth-sign',
2613 silly resolved _id: 'oauth-sign@0.3.0',
2613 silly resolved _from: 'oauth-sign@~0.3.0' },
2613 silly resolved { author:
2613 silly resolved { name: 'Mikeal Rogers',
2613 silly resolved email: 'mikeal.rogers@gmail.com',
2613 silly resolved url: 'http://www.futurealoof.com' },
2613 silly resolved name: 'aws-sign2',
2613 silly resolved description: 'AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.',
2613 silly resolved version: '0.5.0',
2613 silly resolved repository: { url: 'https://github.com/mikeal/aws-sign' },
2613 silly resolved main: 'index.js',
2613 silly resolved dependencies: {},
2613 silly resolved devDependencies: {},
2613 silly resolved optionalDependencies: {},
2613 silly resolved engines: { node: '*' },
2613 silly resolved readme: 'aws-sign\n========\n\nAWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.\n',
2613 silly resolved readmeFilename: 'README.md',
2613 silly resolved bugs: { url: 'https://github.com/mikeal/aws-sign/issues' },
2613 silly resolved homepage: 'https://github.com/mikeal/aws-sign',
2613 silly resolved _id: 'aws-sign2@0.5.0',
2613 silly resolved _from: 'aws-sign2@~0.5.0' },
2613 silly resolved { author:
2613 silly resolved { name: 'Mikeal Rogers',
2613 silly resolved email: 'mikeal.rogers@gmail.com',
2613 silly resolved url: 'http://www.futurealoof.com' },
2613 silly resolved name: 'tunnel-agent',
2613 silly resolved description: 'HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.',
2613 silly resolved version: '0.4.0',
2613 silly resolved repository: { url: 'https://github.com/mikeal/tunnel-agent' },
2613 silly resolved main: 'index.js',
2613 silly resolved dependencies: {},
2613 silly resolved devDependencies: {},
2613 silly resolved optionalDependencies: {},
2613 silly resolved engines: { node: '*' },
2613 silly resolved readme: 'tunnel-agent\n============\n\nHTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.\n',
2613 silly resolved readmeFilename: 'README.md',
2613 silly resolved bugs: { url: 'https://github.com/mikeal/tunnel-agent/issues' },
2613 silly resolved homepage: 'https://github.com/mikeal/tunnel-agent',
2613 silly resolved _id: 'tunnel-agent@0.4.0',
2613 silly resolved _from: 'tunnel-agent@~0.4.0' },
2613 silly resolved { author: { name: 'GoInstant Inc., a salesforce.com company' },
2613 silly resolved license: 'MIT',
2613 silly resolved name: 'tough-cookie',
2613 silly resolved description: 'RFC6265 Cookies and Cookie Jar for node.js',
2613 silly resolved keywords:
2613 silly resolved [ 'HTTP',
2613 silly resolved 'cookie',
2613 silly resolved 'cookies',
2613 silly resolved 'set-cookie',
2613 silly resolved 'cookiejar',
2613 silly resolved 'jar',
2613 silly resolved 'RFC6265',
2613 silly resolved 'RFC2965' ],
2613 silly resolved version: '0.12.1',
2613 silly resolved homepage: 'https://github.com/goinstant/tough-cookie',
2613 silly resolved repository:
2613 silly resolved { type: 'git',
2613 silly resolved url: 'git://github.com/goinstant/tough-cookie.git' },
2613 silly resolved bugs: { url: 'https://github.com/goinstant/tough-cookie/issues' },
2613 silly resolved main: './lib/cookie',
2613 silly resolved scripts: { test: 'vows test.js' },
2613 silly resolved engines: { node: '>=0.4.12' },
2613 silly resolved dependencies: { punycode: '>=0.2.0' },
2613 silly resolved devDependencies: { vows: '0.7.0', async: '>=0.1.12' },
2613 silly resolved readme: '[RFC6265](http://tools.ietf.org/html/rfc6265) Cookies and CookieJar for Node.js\n\n![Tough Cookie](http://www.goinstant.com.s3.amazonaws.com/tough-cookie.jpg)\n\n[![Build Status](https://travis-ci.org/goinstant/node-cookie.png?branch=master)](https://travis-ci.org/goinstant/node-cookie)\n\n[![NPM Stats](https://nodei.co/npm/tough-cookie.png?downloads=true&stars=true)](https://npmjs.org/package/tough-cookie)\n![NPM Downloads](https://nodei.co/npm-dl/tough-cookie.png?months=9)\n\n# Synopsis\n\n``` javascript\nvar tough = require(\'tough-cookie\'); // note: not \'cookie\', \'cookies\' or \'node-cookie\'\nvar Cookie = tough.Cookie;\nvar cookie = Cookie.parse(header);\ncookie.value = \'somethingdifferent\';\nheader = cookie.toString();\n\nvar cookiejar = new tough.CookieJar();\ncookiejar.setCookie(cookie, \'http://currentdomain.example.com/path\', cb);\n// ...\ncookiejar.getCookies(\'http://example.com/otherpath\',function(err,cookies) {\n res.headers[\'cookie\'] = cookies.join(\'; \');\n});\n```\n\n# Installation\n\nIt\'s _so_ easy!\n\n`npm install tough-cookie`\n\nRequires `punycode`, which should get installed automatically for you. Note that node.js v0.6.2+ bundles punycode by default.\n\nWhy the name? NPM modules `cookie`, `cookies` and `cookiejar` were already taken.\n\n# API\n\ntough\n=====\n\nFunctions on the module you get from `require(\'tough-cookie\')`. All can be used as pure functions and don\'t need to be "bound".\n\nparseDate(string[,strict])\n-----------------\n\nParse a cookie date string into a `Date`. Parses according to RFC6265 Section 5.1.1, not `Date.parse()`. If strict is set to true then leading/trailing non-seperator characters around the time part will cause the parsing to fail (e.g. "Thu, 01 Jan 1970 00:00:010 GMT" has an extra trailing zero but Chrome, an assumedly RFC-compliant browser, treats this as valid).\n\nformatDate(date)\n----------------\n\nFormat a Date into a RFC1123 string (the RFC6265-recommended format).\n\ncanonicalDomain(str)\n--------------------\n\nTransforms a domain-name into a canonical domain-name. The canonical domain-name is a trimmed, lowercased, stripped-of-leading-dot and optionally punycode-encoded domain-name (Section 5.1.2 of RFC6265). For the most part, this function is idempotent (can be run again on its output without ill effects).\n\ndomainMatch(str,domStr[,canonicalize=true])\n-------------------------------------------\n\nAnswers "does this real domain match the domain in a cookie?". The `str` is the "current" domain-name and the `domStr` is the "cookie" domain-name. Matches according to RFC6265 Section 5.1.3, but it helps to think of it as a "suffix match".\n\nThe `canonicalize` parameter will run the other two paramters through `canonicalDomain` or not.\n\ndefaultPath(path)\n-----------------\n\nGiven a current request/response path, gives the Path apropriate for storing in a cookie. This is basically the "directory" of a "file" in the path, but is specified by Section 5.1.4 of the RFC.\n\nThe `path` parameter MUST be _only_ the pathname part of a URI (i.e. excludes the hostname, query, fragment, etc.). This is the `.pathname` property of node\'s `uri.parse()` output.\n\npathMatch(reqPath,cookiePath)\n-----------------------------\n\nAnswers "does the request-path path-match a given cookie-path?" as per RFC6265 Section 5.1.4. Returns a boolean.\n\nThis is essentially a prefix-match where `cookiePath` is a prefix of `reqPath`.\n\nparse(header[,strict=false])\n----------------------------\n\nalias for `Cookie.parse(header[,strict])`\n\nfromJSON(string)\n----------------\n\nalias for `Cookie.fromJSON(string)`\n\ngetPublicSuffix(hostname)\n-------------------------\n\nReturns the public suffix of this hostname. The public suffix is the shortest domain-name upon which a cookie can be set. Returns `null` if the hostname cannot have cookies set for it.\n\nFor example: `www.example.com` and `www.subdomain.example.com` both have public suffix `example.com`.\n\nFor further information, see http://publicsuffix.org/. This module derives its list from that site.\n\ncookieCompare(a,b)\n------------------\n\nFor use with `.sort()`, sorts a list of cookies into the recommended order given in the RFC (Section 5.4 step 2). Longest `.path`s go first, then sorted oldest to youngest.\n\n``` javascript\nvar cookies = [ /* unsorted array of Cookie objects */ ];\ncookies = cookies.sort(cookieCompare);\n```\n\npermuteDomain(domain)\n---------------------\n\nGenerates a list of all possible domains that `domainMatch()` the parameter. May be handy for implementing cookie stores.\n\n\npermutePath(path)\n-----------------\n\nGenerates a list of all possible paths that `pathMatch()` the parameter. May be handy for implementing cookie stores.\n\nCookie\n======\n\nCookie.parse(header[,strict=false])\n-----------------------------------\n\nParses a single Cookie or Set-Cookie HTTP header into a `Cookie` object. Returns `undefined` if the string can\'t be parsed. If in strict mode, returns `undefined` if the cookie doesn\'t follow the guidelines in section 4 of RFC6265. Generally speaking, strict mode can be used to validate your own generated Set-Cookie headers, but acting as a client you want to be lenient and leave strict mode off.\n\nHere\'s how to process the Set-Cookie header(s) on a node HTTP/HTTPS response:\n\n``` javascript\nif (res.headers[\'set-cookie\'] instanceof Array)\n cookies = res.headers[\'set-cookie\'].map(function (c) { return (Cookie.parse(c)); });\nelse\n cookies = [Cookie.parse(res.headers[\'set-cookie\'])];\n```\n\nCookie.fromJSON(string)\n-----------------------\n\nConvert a JSON string to a `Cookie` object. Does a `JSON.parse()` and converts the `.created`, `.lastAccessed` and `.expires` properties into `Date` objects.\n\nProperties\n==========\n\n * _key_ - string - the name or key of the cookie (default "")\n * _value_ - string - the value of the cookie (default "")\n * _expires_ - `Date` - if set, the `Expires=` attribute of the cookie (defaults to the string `"Infinity"`). See `setExpires()`\n * _maxAge_ - seconds - if set, the `Max-Age=` attribute _in seconds_ of the cookie. May also be set to strings `"Infinity"` and `"-Infinity"` for non-expiry and immediate-expiry, respectively. See `setMaxAge()`\n * _domain_ - string - the `Domain=` attribute of the cookie\n * _path_ - string - the `Path=` of the cookie\n * _secure_ - boolean - the `Secure` cookie flag\n * _httpOnly_ - boolean - the `HttpOnly` cookie flag\n * _extensions_ - `Array` - any unrecognized cookie attributes as strings (even if equal-signs inside)\n\nAfter a cookie has been passed through `CookieJar.setCookie()` it will have the following additional attributes:\n\n * _hostOnly_ - boolean - is this a host-only cookie (i.e. no Domain field was set, but was instead implied)\n * _pathIsDefault_ - boolean - if true, there was no Path field on the cookie and `defaultPath()` was used to derive one.\n * _created_ - `Date` - when this cookie was added to the jar\n * _lastAccessed_ - `Date` - last time the cookie got accessed. Will affect cookie cleaning once implemented. Using `cookiejar.getCookies(...)` will update this attribute.\n\nConstruction([{options}])\n------------\n\nReceives an options object that can contain any Cookie properties, uses the default for unspecified properties.\n\n.toString()\n-----------\n\nencode to a Set-Cookie header value. The Expires cookie field is set using `formatDate()`, but is omitted entirely if `.expires` is `Infinity`.\n\n.cookieString()\n---------------\n\nencode to a Cookie header value (i.e. the `.key` and `.value` properties joined with \'=\').\n\n.setExpires(String)\n-------------------\n\nsets the expiry based on a date-string passed through `parseDate()`. If parseDate returns `null` (i.e. can\'t parse this date string), `.expires` is set to `"Infinity"` (a string) is set.\n\n.setMaxAge(number)\n-------------------\n\nsets the maxAge in seconds. Coerces `-Infinity` to `"-Infinity"` and `Infinity` to `"Infinity"` so it JSON serializes correctly.\n\n.expiryTime([now=Date.now()])\n-----------------------------\n\n.expiryDate([now=Date.now()])\n-----------------------------\n\nexpiryTime() Computes the absolute unix-epoch milliseconds that this cookie expires. expiryDate() works similarly, except it returns a `Date` object. Note that in both cases the `now` parameter should be milliseconds.\n\nMax-Age takes precedence over Expires (as per the RFC). The `.created` attribute -- or, by default, the `now` paramter -- is used to offset the `.maxAge` attribute.\n\nIf Expires (`.expires`) is set, that\'s returned.\n\nOtherwise, `expiryTime()` returns `Infinity` and `expiryDate()` returns a `Date` object for "Tue, 19 Jan 2038 03:14:07 GMT" (latest date that can be expressed by a 32-bit `time_t`; the common limit for most user-agents).\n\n.TTL([now=Date.now()])\n---------\n\ncompute the TTL relative to `now` (milliseconds). The same precedence rules as for `expiryTime`/`expiryDate` apply.\n\nThe "number" `Infinity` is returned for cookies without an explicit expiry and `0` is returned if the cookie is expired. Otherwise a time-to-live in milliseconds is returned.\n\n.canonicalizedDoman()\n---------------------\n\n.cdomain()\n----------\n\nreturn the canonicalized `.domain` field. This is lower-cased and punycode (RFC3490) encoded if the domain has any non-ASCII characters.\n\n.validate()\n-----------\n\nStatus: *IN PROGRESS*. Works for a few things, but is by no means comprehensive.\n\nvalidates cookie attributes for semantic correctness. Useful for "lint" checking any Set-Cookie headers you generate. For now, it returns a boolean, but eventually could return a reason string -- you can future-proof with this construct:\n\n``` javascript\nif (cookie.validate() === true) {\n // it\'s tasty\n} else {\n // yuck!\n}\n```\n\nCookieJar\n=========\n\nConstruction([store = new MemoryCookieStore()][, rejectPublicSuffixes])\n------------\n\nSimply use `new CookieJar()`. If you\'d like to use a custom store, pass that to the constructor otherwise a `MemoryCookieStore` will be created and used.\n\n\nAttributes\n----------\n\n * _rejectPublicSuffixes_ - boolean - reject cookies with domains like "com" and "co.uk" (default: `true`)\n\nSince eventually this module would like to support database/remote/etc. CookieJars, continuation passing style is used for CookieJar methods.\n\n.setCookie(cookieOrString, currentUrl, [{options},] cb(err,cookie))\n-------------------------------------------------------------------\n\nAttempt to set the cookie in the cookie jar. If the operation fails, an error will be given to the callback `cb`, otherwise the cookie is passed through. The cookie will have updated `.created`, `.lastAccessed` and `.hostOnly` properties.\n\nThe `options` object can be omitted and can have the following properties:\n\n * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API. Affects HttpOnly cookies.\n * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API. If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`.\n * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies\n * _strict_ - boolean - default `false` - perform extra checks\n * _ignoreError_ - boolean - default `false` - silently ignore things like parse errors and invalid domains. CookieStore errors aren\'t ignored by this option.\n\nAs per the RFC, the `.hostOnly` property is set if there was no "Domain=" parameter in the cookie string (or `.domain` was null on the Cookie object). The `.domain` property is set to the fully-qualified hostname of `currentUrl` in this case. Matching this cookie requires an exact hostname match (not a `domainMatch` as per usual).\n\n.setCookieSync(cookieOrString, currentUrl, [{options}])\n-------------------------------------------------------\n\nSynchronous version of `setCookie`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).\n\n.storeCookie(cookie, [{options},] cb(err,cookie))\n-------------------------------------------------\n\n__REMOVED__ removed in lieu of the CookieStore API below\n\n.getCookies(currentUrl, [{options},] cb(err,cookies))\n-----------------------------------------------------\n\nRetrieve the list of cookies that can be sent in a Cookie header for the current url.\n\nIf an error is encountered, that\'s passed as `err` to the callback, otherwise an `Array` of `Cookie` objects is passed. The array is sorted with `cookieCompare()` unless the `{sort:false}` option is given.\n\nThe `options` object can be omitted and can have the following properties:\n\n * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API. Affects HttpOnly cookies.\n * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API. If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`.\n * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies\n * _expire_ - boolean - default `true` - perform expiry-time checking of cookies and asynchronously remove expired cookies from the store. Using `false` will return expired cookies and **not** remove them from the store (which is useful for replaying Set-Cookie headers, potentially).\n * _allPaths_ - boolean - default `false` - if `true`, do not scope cookies by path. The default uses RFC-compliant path scoping. **Note**: may not be supported by the CookieStore `fetchCookies` function (the default MemoryCookieStore supports it).\n\nThe `.lastAccessed` property of the returned cookies will have been updated.\n\n.getCookiesSync(currentUrl, [{options}])\n----------------------------------------\n\nSynchronous version of `getCookies`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).\n\n.getCookieString(...)\n---------------------\n\nAccepts the same options as `.getCookies()` but passes a string suitable for a Cookie header rather than an array to the callback. Simply maps the `Cookie` array via `.cookieString()`.\n\n.getCookieStringSync(...)\n-------------------------\n\nSynchronous version of `getCookieString`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).\n\n.getSetCookieStrings(...)\n-------------------------\n\nReturns an array of strings suitable for **Set-Cookie** headers. Accepts the same options as `.getCookies()`. Simply maps the cookie array via `.toString()`.\n\n.getSetCookieStringsSync(...)\n-----------------------------\n\nSynchronous version of `getSetCookieStrings`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).\n\nStore\n=====\n\nBase class for CookieJar stores.\n\n# CookieStore API\n\nThe storage model for each `CookieJar` instance can be replaced with a custom implementation. The default is `MemoryCookieStore` which can be found in the `lib/memstore.js` file. The API uses continuation-passing-style to allow for asynchronous stores.\n\nStores should inherit from the base `Store` class, which is available as `require(\'tough-cookie\').Store`. Stores are asynchronous by default, but if `store.synchronous` is set, then the `*Sync` methods on the CookieJar can be used.\n\nAll `domain` parameters will have been normalized before calling.\n\nThe Cookie store must have all of the following methods.\n\nstore.findCookie(domain, path, key, cb(err,cookie))\n---------------------------------------------------\n\nRetrieve a cookie with the given domain, path and key (a.k.a. name). The RFC maintains that exactly one of these cookies should exist in a store. If the store is using versioning, this means that the latest/newest such cookie should be returned.\n\nCallback takes an error and the resulting `Cookie` object. If no cookie is found then `null` MUST be passed instead (i.e. not an error).\n\nstore.findCookies(domain, path, cb(err,cookies))\n------------------------------------------------\n\nLocates cookies matching the given domain and path. This is most often called in the context of `cookiejar.getCookies()` above.\n\nIf no cookies are found, the callback MUST be passed an empty array.\n\nThe resulting list will be checked for applicability to the current request according to the RFC (domain-match, path-match, http-only-flag, secure-flag, expiry, etc.), so it\'s OK to use an optimistic search algorithm when implementing this method. However, the search algorithm used SHOULD try to find cookies that `domainMatch()` the domain and `pathMatch()` the path in order to limit the amount of checking that needs to be done.\n\nAs of version 0.9.12, the `allPaths` option to `cookiejar.getCookies()` above will cause the path here to be `null`. If the path is `null`, path-matching MUST NOT be performed (i.e. domain-matching only).\n\nstore.putCookie(cookie, cb(err))\n--------------------------------\n\nAdds a new cookie to the store. The implementation SHOULD replace any existing cookie with the same `.domain`, `.path`, and `.key` properties -- depending on the nature of the implementation, it\'s possible that between the call to `fetchCookie` and `putCookie` that a duplicate `putCookie` can occur.\n\nThe `cookie` object MUST NOT be modified; the caller will have already updated the `.creation` and `.lastAccessed` properties.\n\nPass an error if the cookie cannot be stored.\n\nstore.updateCookie(oldCookie, newCookie, cb(err))\n-------------------------------------------------\n\nUpdate an existing cookie. The implementation MUST update the `.value` for a cookie with the same `domain`, `.path` and `.key`. The implementation SHOULD check that the old value in the store is equivalent to `oldCookie` - how the conflict is resolved is up to the store.\n\nThe `.lastAccessed` property will always be different between the two objects and `.created` will always be the same. Stores MAY ignore or defer the `.lastAccessed` change at the cost of affecting how cookies are sorted (or selected for deletion).\n\nStores may wish to optimize changing the `.value` of the cookie in the store versus storing a new cookie. If the implementation doesn\'t define this method a stub that calls `putCookie(newCookie,cb)` will be added to the store object.\n\nThe `newCookie` and `oldCookie` objects MUST NOT be modified.\n\nPass an error if the newCookie cannot be stored.\n\nstore.removeCookie(domain, path, key, cb(err))\n----------------------------------------------\n\nRemove a cookie from the store (see notes on `findCookie` about the uniqueness constraint).\n\nThe implementation MUST NOT pass an error if the cookie doesn\'t exist; only pass an error due to the failure to remove an existing cookie.\n\nstore.removeCookies(domain, path, cb(err))\n------------------------------------------\n\nRemoves matching cookies from the store. The `path` paramter is optional, and if missing means all paths in a domain should be removed.\n\nPass an error ONLY if removing any existing cookies failed.\n\n# TODO\n\n * _full_ RFC5890/RFC5891 canonicalization for domains in `cdomain()`\n * the optional `punycode` requirement implements RFC3492, but RFC6265 requires RFC5891\n * better tests for `validate()`?\n\n# Copyright and License\n\n(tl;dr: MIT with some MPL/1.1)\n\nCopyright 2012- GoInstant, Inc. and other contributors. All rights reserved.\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\nIN THE SOFTWARE.\n\nPortions may be licensed under different licenses (in particular public-suffix.txt is MPL/1.1); please read the LICENSE file for full details.\n',
2613 silly resolved readmeFilename: 'README.md',
2613 silly resolved _id: 'tough-cookie@0.12.1',
2613 silly resolved _from: 'tough-cookie@>=0.12.0' },
2613 silly resolved { name: 'hawk',
2613 silly resolved description: 'HTTP Hawk Authentication Scheme',
2613 silly resolved version: '1.0.0',
2613 silly resolved author:
2613 silly resolved { name: 'Eran Hammer',
2613 silly resolved email: 'eran@hueniverse.com',
2613 silly resolved url: 'http://hueniverse.com' },
2613 silly resolved contributors: [],
2613 silly resolved repository: { type: 'git', url: 'git://github.com/hueniverse/hawk' },
2613 silly resolved main: 'index',
2613 silly resolved keywords: [ 'http', 'authentication', 'scheme', 'hawk' ],
2613 silly resolved engines: { node: '>=0.8.0' },
2613 silly resolved dependencies:
2613 silly resolved { hoek: '0.9.x',
2613 silly resolved boom: '0.4.x',
2613 silly resolved cryptiles: '0.2.x',
2613 silly resolved sntp: '0.2.x' },
2613 silly resolved devDependencies:
2613 silly resolved { lab: '0.1.x',
2613 silly resolved 'complexity-report': '0.x.x',
2613 silly resolved localStorage: '1.0.x' },
2613 silly resolved scripts: { test: 'make test-cov' },
2613 silly resolved licenses: [ [Object] ],
2613 silly resolved readme: '![hawk Logo](https://raw.github.com/hueniverse/hawk/master/images/hawk.png)\n\n<img align="right" src="https://raw.github.com/hueniverse/hawk/master/images/logo.png" /> **Hawk** is an HTTP authentication scheme using a message authentication code (MAC) algorithm to provide partial\nHTTP request cryptographic verification. For more complex use cases such as access delegation, see [Oz](https://github.com/hueniverse/oz).\n\nCurrent version: **1.0**\n\n[![Build Status](https://secure.travis-ci.org/hueniverse/hawk.png)](http://travis-ci.org/hueniverse/hawk)\n\n# Table of Content\n\n- [**Introduction**](#introduction)\n - [Replay Protection](#replay-protection)\n - [Usage Example](#usage-example)\n - [Protocol Example](#protocol-example)\n - [Payload Validation](#payload-validation)\n - [Response Payload Validation](#response-payload-validation)\n - [Browser Support and Considerations](#browser-support-and-considerations)\n<p></p>\n- [**Single URI Authorization**](#single-uri-authorization)\n - [Usage Example](#bewit-usage-example)\n<p></p>\n- [**Security Considerations**](#security-considerations)\n - [MAC Keys Transmission](#mac-keys-transmission)\n - [Confidentiality of Requests](#confidentiality-of-requests)\n - [Spoofing by Counterfeit Servers](#spoofing-by-counterfeit-servers)\n - [Plaintext Storage of Credentials](#plaintext-storage-of-credentials)\n - [Entropy of Keys](#entropy-of-keys)\n - [Coverage Limitations](#coverage-limitations)\n - [Future Time Manipulation](#future-time-manipulation)\n - [Client Clock Poisoning](#client-clock-poisoning)\n - [Bewit Limitations](#bewit-limitations)\n - [Host Header Forgery](#host-header-forgery)\n<p></p>\n- [**Frequently Asked Questions**](#frequently-asked-questions)\n<p></p>\n- [**Acknowledgements**](#acknowledgements)\n\n# Introduction\n\n**Hawk** is an HTTP authentication scheme providing mechanisms for making authenticated HTTP requests with\npartial cryptographic verification of the request and response, covering the HTTP method, request URI, host,\nand optionally the request payload.\n\nSimilar to the HTTP [Digest access authentication schemes](http://www.ietf.org/rfc/rfc2617.txt), **Hawk** uses a set of\nclient credentials which include an identifier (e.g. username) and key (e.g. password). Likewise, just as with the Digest scheme,\nthe key is never included in authenticated requests. Instead, it is used to calculate a request MAC value which is\nincluded in its place.\n\nHowever, **Hawk** has several differences from Digest. In particular, while both use a nonce to limit the possibility of\nreplay attacks, in **Hawk** the client generates the nonce and uses it in combination with a timestamp, leading to less\n"chattiness" (interaction with the server).\n\nAlso unlike Digest, this scheme is not intended to protect the key itself (the password in Digest) because\nthe client and server must both have access to the key material in the clear.\n\nThe primary design goals of this scheme are to:\n* simplify and improve HTTP authentication for services that are unwilling or unable to deploy TLS for all resources,\n* secure credentials against leakage (e.g., when the client uses some form of dynamic configuration to determine where\n to send an authenticated request), and\n* avoid the exposure of credentials sent to a malicious server over an unauthenticated secure channel due to client\n failure to validate the server\'s identity as part of its TLS handshake.\n\nIn addition, **Hawk** supports a method for granting third-parties temporary access to individual resources using\na query parameter called _bewit_ (in falconry, a leather strap used to attach a tracking device to the leg of a hawk).\n\nThe **Hawk** scheme requires the establishment of a shared symmetric key between the client and the server,\nwhich is beyond the scope of this module. Typically, the shared credentials are established via an initial\nTLS-protected phase or derived from some other shared confidential information available to both the client\nand the server.\n\n\n## Replay Protection\n\nWithout replay protection, an attacker can use a compromised (but otherwise valid and authenticated) request more \nthan once, gaining access to a protected resource. To mitigate this, clients include both a nonce and a timestamp when \nmaking requests. This gives the server enough information to prevent replay attacks.\n\nThe nonce is generated by the client, and is a string unique across all requests with the same timestamp and\nkey identifier combination. \n\nThe timestamp enables the server to restrict the validity period of the credentials where requests occuring afterwards\nare rejected. It also removes the need for the server to retain an unbounded number of nonce values for future checks.\nBy default, **Hawk** uses a time window of 1 minute to allow for time skew between the client and server (which in\npractice translates to a maximum of 2 minutes as the skew can be positive or negative).\n\nUsing a timestamp requires the client\'s clock to be in sync with the server\'s clock. **Hawk** requires both the client\nclock and the server clock to use NTP to ensure synchronization. However, given the limitations of some client types\n(e.g. browsers) to deploy NTP, the server provides the client with its current time (in seconds precision) in response\nto a bad timestamp.\n\nThere is no expectation that the client will adjust its system clock to match the server (in fact, this would be a\npotential attack vector). Instead, the client only uses the server\'s time to calculate an offset used only\nfor communications with that particular server. The protocol rewards clients with synchronized clocks by reducing\nthe number of round trips required to authenticate the first request.\n\n\n## Usage Example\n\nServer code:\n\n```javascript\nvar Http = require(\'http\');\nvar Hawk = require(\'hawk\');\n\n\n// Credentials lookup function\n\nvar credentialsFunc = function (id, callback) {\n\n var credentials = {\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\',\n user: \'Steve\'\n };\n\n return callback(null, credentials);\n};\n\n// Create HTTP server\n\nvar handler = function (req, res) {\n\n // Authenticate incoming request\n\n Hawk.server.authenticate(req, credentialsFunc, {}, function (err, credentials, artifacts) {\n\n // Prepare response\n\n var payload = (!err ? \'Hello \' + credentials.user + \' \' + artifacts.ext : \'Shoosh!\');\n var headers = { \'Content-Type\': \'text/plain\' };\n\n // Generate Server-Authorization response header\n\n var header = Hawk.server.header(credentials, artifacts, { payload: payload, contentType: headers[\'Content-Type\'] });\n headers[\'Server-Authorization\'] = header;\n\n // Send the response back\n\n res.writeHead(!err ? 200 : 401, headers);\n res.end(payload);\n });\n};\n\n// Start server\n\nHttp.createServer(handler).listen(8000, \'example.com\');\n```\n\nClient code:\n\n```javascript\nvar Request = require(\'request\');\nvar Hawk = require(\'hawk\');\n\n\n// Client credentials\n\nvar credentials = {\n id: \'dh37fgj492je\',\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\'\n}\n\n// Request options\n\nvar requestOptions = {\n uri: \'http://example.com:8000/resource/1?b=1&a=2\',\n method: \'GET\',\n headers: {}\n};\n\n// Generate Authorization request header\n\nvar header = Hawk.client.header(\'http://example.com:8000/resource/1?b=1&a=2\', \'GET\', { credentials: credentials, ext: \'some-app-data\' });\nrequestOptions.headers.Authorization = header.field;\n\n// Send authenticated request\n\nRequest(requestOptions, function (error, response, body) {\n\n // Authenticate the server\'s response\n\n var isValid = Hawk.client.authenticate(response, credentials, header.artifacts, { payload: body });\n\n // Output results\n\n console.log(response.statusCode + \': \' + body + (isValid ? \' (valid)\' : \' (invalid)\'));\n});\n```\n\n**Hawk** utilized the [**SNTP**](https://github.com/hueniverse/sntp) module for time sync management. By default, the local\nmachine time is used. To automatically retrieve and synchronice the clock within the application, use the SNTP \'start()\' method.\n\n```javascript\nHawk.sntp.start();\n```\n\n\n## Protocol Example\n\nThe client attempts to access a protected resource without authentication, sending the following HTTP request to\nthe resource server:\n\n```\nGET /resource/1?b=1&a=2 HTTP/1.1\nHost: example.com:8000\n```\n\nThe resource server returns an authentication challenge.\n\n```\nHTTP/1.1 401 Unauthorized\nWWW-Authenticate: Hawk\n```\n\nThe client has previously obtained a set of **Hawk** credentials for accessing resources on the "http://example.com/"\nserver. The **Hawk** credentials issued to the client include the following attributes:\n\n* Key identifier: dh37fgj492je\n* Key: werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\n* Algorithm: sha256\n\nThe client generates the authentication header by calculating a timestamp (e.g. the number of seconds since January 1,\n1970 00:00:00 GMT), generating a nonce, and constructing the normalized request string (each value followed by a newline\ncharacter):\n\n```\nhawk.1.header\n1353832234\nj4h3g2\nGET\n/resource/1?b=1&a=2\nexample.com\n8000\n\nsome-app-ext-data\n\n```\n\nThe request MAC is calculated using HMAC with the specified hash algorithm "sha256" and the key over the normalized request string.\nThe result is base64-encoded to produce the request MAC:\n\n```\n6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE=\n```\n\nThe client includes the **Hawk** key identifier, timestamp, nonce, application specific data, and request MAC with the request using\nthe HTTP `Authorization` request header field:\n\n```\nGET /resource/1?b=1&a=2 HTTP/1.1\nHost: example.com:8000\nAuthorization: Hawk id="dh37fgj492je", ts="1353832234", nonce="j4h3g2", ext="some-app-ext-data", mac="6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE="\n```\n\nThe server validates the request by calculating the request MAC again based on the request received and verifies the validity\nand scope of the **Hawk** credentials. If valid, the server responds with the requested resource.\n\n\n### Payload Validation\n\n**Hawk** provides optional payload validation. When generating the authentication header, the client calculates a payload hash\nusing the specified hash algorithm. The hash is calculated over the concatenated value of (each followed by a newline character):\n* `hawk.1.payload`\n* the content-type in lowercase, without any parameters (e.g. `application/json`)\n* the request payload prior to any content encoding (the exact representation requirements should be specified by the server for payloads other than simple single-part ascii to ensure interoperability)\n\nFor example:\n\n* Payload: `Thank you for flying Hawk`\n* Content Type: `text/plain`\n* Hash (sha256): `Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=`\n\nResults in the following input to the payload hash function (newline terminated values):\n\n```\nhawk.1.payload\ntext/plain\nThank you for flying Hawk\n\n```\n\nWhich produces the following hash value:\n\n```\nYi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=\n```\n\nThe client constructs the normalized request string (newline terminated values):\n\n```\nhawk.1.header\n1353832234\nj4h3g2\nPOST\n/resource/1?a=1&b=2\nexample.com\n8000\nYi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=\nsome-app-ext-data\n\n```\n\nThen calculates the request MAC and includes the **Hawk** key identifier, timestamp, nonce, payload hash, application specific data,\nand request MAC, with the request using the HTTP `Authorization` request header field:\n\n```\nPOST /resource/1?a=1&b=2 HTTP/1.1\nHost: example.com:8000\nAuthorization: Hawk id="dh37fgj492je", ts="1353832234", nonce="j4h3g2", hash="Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=", ext="some-app-ext-data", mac="aSe1DERmZuRl3pI36/9BdZmnErTw3sNzOOAUlfeKjVw="\n```\n\nIt is up to the server if and when it validates the payload for any given request, based solely on it\'s security policy\nand the nature of the data included.\n\nIf the payload is available at the time of authentication, the server uses the hash value provided by the client to construct\nthe normalized string and validates the MAC. If the MAC is valid, the server calculates the payload hash and compares the value\nwith the provided payload hash in the header. In many cases, checking the MAC first is faster than calculating the payload hash.\n\nHowever, if the payload is not available at authentication time (e.g. too large to fit in memory, streamed elsewhere, or processed\nat a different stage in the application), the server may choose to defer payload validation for later by retaining the hash value\nprovided by the client after validating the MAC.\n\nIt is important to note that MAC validation does not mean the hash value provided by the client is valid, only that the value\nincluded in the header was not modified. Without calculating the payload hash on the server and comparing it to the value provided\nby the client, the payload may be modified by an attacker.\n\n\n## Response Payload Validation\n\n**Hawk** provides partial response payload validation. The server includes the `Server-Authorization` response header which enables the\nclient to authenticate the response and ensure it is talking to the right server. **Hawk** defines the HTTP `Server-Authorization` header\nas a response header using the exact same syntax as the `Authorization` request header field.\n\nThe header is contructed using the same process as the client\'s request header. The server uses the same credentials and other\nartifacts provided by the client to constructs the normalized request string. The `ext` and `hash` values are replaced with\nnew values based on the server response. The rest as identical to those used by the client.\n\nThe result MAC digest is included with the optional `hash` and `ext` values:\n\n```\nServer-Authorization: Hawk mac="XIJRsMl/4oL+nn+vKoeVZPdCHXB4yJkNnBbTbHFZUYE=", hash="f9cDF/TDm7TkYRLnGwRMfeDzT6LixQVLvrIKhh0vgmM=", ext="response-specific"\n```\n\n\n## Browser Support and Considerations\n\nA browser script is provided for including using a `<script>` tag in [lib/browser.js](/lib/browser.js).\n\n**Hawk** relies on the _Server-Authorization_ and _WWW-Authenticate_ headers in its response to communicate with the client.\nTherefore, in case of CORS requests, it is important to consider sending _Access-Control-Expose-Headers_ with the value\n_"WWW-Authenticate, Server-Authorization"_ on each response from your server. As explained in the\n[specifications](http://www.w3.org/TR/cors/#access-control-expose-headers-response-header), it will indicate that these headers\ncan safely be accessed by the client (using getResponseHeader() on the XmlHttpRequest object). Otherwise you will be met with a\n["simple response header"](http://www.w3.org/TR/cors/#simple-response-header) which excludes these fields and would prevent the\nHawk client from authenticating the requests.You can read more about the why and how in this\n[article](http://www.html5rocks.com/en/tutorials/cors/#toc-adding-cors-support-to-the-server)\n\n\n# Single URI Authorization\n\nThere are cases in which limited and short-term access to a protected resource is granted to a third party which does not\nhave access to the shared credentials. For example, displaying a protected image on a web page accessed by anyone. **Hawk**\nprovides limited support for such URIs in the form of a _bewit_ - a URI query parameter appended to the request URI which contains\nthe necessary credentials to authenticate the request.\n\nBecause of the significant security risks involved in issuing such access, bewit usage is purposely limited only to GET requests\nand for a finite period of time. Both the client and server can issue bewit credentials, however, the server should not use the same\ncredentials as the client to maintain clear traceability as to who issued which credentials.\n\nIn order to simplify implementation, bewit credentials do not support single-use policy and can be replayed multiple times within\nthe granted access timeframe. \n\n\n## Bewit Usage Example\n\nServer code:\n\n```javascript\nvar Http = require(\'http\');\nvar Hawk = require(\'hawk\');\n\n\n// Credentials lookup function\n\nvar credentialsFunc = function (id, callback) {\n\n var credentials = {\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\'\n };\n\n return callback(null, credentials);\n};\n\n// Create HTTP server\n\nvar handler = function (req, res) {\n\n Hawk.uri.authenticate(req, credentialsFunc, {}, function (err, credentials, attributes) {\n\n res.writeHead(!err ? 200 : 401, { \'Content-Type\': \'text/plain\' });\n res.end(!err ? \'Access granted\' : \'Shoosh!\');\n });\n};\n\nHttp.createServer(handler).listen(8000, \'example.com\');\n```\n\nBewit code generation:\n\n```javascript\nvar Request = require(\'request\');\nvar Hawk = require(\'hawk\');\n\n\n// Client credentials\n\nvar credentials = {\n id: \'dh37fgj492je\',\n key: \'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\',\n algorithm: \'sha256\'\n}\n\n// Generate bewit\n\nvar duration = 60 * 5; // 5 Minutes\nvar bewit = Hawk.uri.getBewit(\'http://example.com:8080/resource/1?b=1&a=2\', { credentials: credentials, ttlSec: duration, ext: \'some-app-data\' });\nvar uri = \'http://example.com:8000/resource/1?b=1&a=2\' + \'&bewit=\' + bewit;\n```\n\n\n# Security Considerations\n\nThe greatest sources of security risks are usually found not in **Hawk** but in the policies and procedures surrounding its use.\nImplementers are strongly encouraged to assess how this module addresses their security requirements. This section includes\nan incomplete list of security considerations that must be reviewed and understood before deploying **Hawk** on the server.\nMany of the protections provided in **Hawk** depends on whether and how they are used.\n\n### MAC Keys Transmission\n\n**Hawk** does not provide any mechanism for obtaining or transmitting the set of shared credentials required. Any mechanism used\nto obtain **Hawk** credentials must ensure that these transmissions are protected using transport-layer mechanisms such as TLS.\n\n### Confidentiality of Requests\n\nWhile **Hawk** provides a mechanism for verifying the integrity of HTTP requests, it provides no guarantee of request\nconfidentiality. Unless other precautions are taken, eavesdroppers will have full access to the request content. Servers should\ncarefully consider the types of data likely to be sent as part of such requests, and employ transport-layer security mechanisms\nto protect sensitive resources.\n\n### Spoofing by Counterfeit Servers\n\n**Hawk** provides limited verification of the server authenticity. When receiving a response back from the server, the server\nmay choose to include a response `Server-Authorization` header which the client can use to verify the response. However, it is up to\nthe server to determine when such measure is included, to up to the client to enforce that policy.\n\nA hostile party could take advantage of this by intercepting the client\'s requests and returning misleading or otherwise\nincorrect responses. Service providers should consider such attacks when developing services using this protocol, and should\nrequire transport-layer security for any requests where the authenticity of the resource server or of server responses is an issue.\n\n### Plaintext Storage of Credentials\n\nThe **Hawk** key functions the same way passwords do in traditional authentication systems. In order to compute the request MAC,\nthe server must have access to the key in plaintext form. This is in contrast, for example, to modern operating systems, which\nstore only a one-way hash of user credentials.\n\nIf an attacker were to gain access to these keys - or worse, to the server\'s database of all such keys - he or she would be able\nto perform any action on behalf of any resource owner. Accordingly, it is critical that servers protect these keys from unauthorized\naccess.\n\n### Entropy of Keys\n\nUnless a transport-layer security protocol is used, eavesdroppers will have full access to authenticated requests and request\nMAC values, and will thus be able to mount offline brute-force attacks to recover the key used. Servers should be careful to\nassign keys which are long enough, and random enough, to resist such attacks for at least the length of time that the **Hawk**\ncredentials are valid.\n\nFor example, if the credentials are valid for two weeks, servers should ensure that it is not possible to mount a brute force\nattack that recovers the key in less than two weeks. Of course, servers are urged to err on the side of caution, and use the\nlongest key reasonable.\n\nIt is equally important that the pseudo-random number generator (PRNG) used to generate these keys be of sufficiently high\nquality. Many PRNG implementations generate number sequences that may appear to be random, but which nevertheless exhibit\npatterns or other weaknesses which make cryptanalysis or brute force attacks easier. Implementers should be careful to use\ncryptographically secure PRNGs to avoid these problems.\n\n### Coverage Limitations\n\nThe request MAC only covers the HTTP `Host` header and optionally the `Content-Type` header. It does not cover any other headers\nwhich can often affect how the request body is interpreted by the server. If the server behavior is influenced by the presence\nor value of such headers, an attacker can manipulate the request headers without being detected. Implementers should use the\n`ext` feature to pass application-specific information via the `Authorization` header which is protected by the request MAC.\n\nThe response authentication, when performed, only covers the response payload, content-type, and the request information \nprovided by the client in it\'s request (method, resource, timestamp, nonce, etc.). It does not cover the HTTP status code or\nany other response header field (e.g. Location) which can affect the client\'s behaviour.\n\n### Future Time Manipulation\n\nThe protocol relies on a clock sync between the client and server. To accomplish this, the server informs the client of its\ncurrent time when an invalid timestamp is received.\n\nIf an attacker is able to manipulate this information and cause the client to use an incorrect time, it would be able to cause\nthe client to generate authenticated requests using time in the future. Such requests will fail when sent by the client, and will\nnot likely leave a trace on the server (given the common implementation of nonce, if at all enforced). The attacker will then\nbe able to replay the request at the correct time without detection.\n\nThe client must only use the time information provided by the server if:\n* it was delivered over a TLS connection and the server identity has been verified, or\n* the `tsm` MAC digest calculated using the same client credentials over the timestamp has been verified.\n\n### Client Clock Poisoning\n\nWhen receiving a request with a bad timestamp, the server provides the client with its current time. The client must never use\nthe time received from the server to adjust its own clock, and must only use it to calculate an offset for communicating with\nthat particular server.\n\n### Bewit Limitations\n\nSpecial care must be taken when issuing bewit credentials to third parties. Bewit credentials are valid until expiration and cannot\nbe revoked or limited without using other means. Whatever resource they grant access to will be completely exposed to anyone with\naccess to the bewit credentials which act as bearer credentials for that particular resource. While bewit usage is limited to GET\nrequests only and therefore cannot be used to perform transactions or change server state, it can still be used to expose private\nand sensitive information.\n\n### Host Header Forgery\n\nHawk validates the incoming request MAC against the incoming HTTP Host header. However, unless the optional `host` and `port`\noptions are used with `server.authenticate()`, a malicous client can mint new host names pointing to the server\'s IP address and\nuse that to craft an attack by sending a valid request that\'s meant for another hostname than the one used by the server. Server\nimplementors must manually verify that the host header received matches their expectation (or use the options mentioned above).\n\n# Frequently Asked Questions\n\n### Where is the protocol specification?\n\nIf you are looking for some prose explaining how all this works, **this is it**. **Hawk** is being developed as an open source\nproject instead of a standard. In other words, the [code](/hueniverse/hawk/tree/master/lib) is the specification. Not sure about\nsomething? Open an issue!\n\n### Is it done?\n\nAt if version 0.10.0, **Hawk** is feature-complete. However, until this module reaches version 1.0.0 it is considered experimental\nand is likely to change. This also means your feedback and contribution are very welcome. Feel free to open issues with questions\nand suggestions.\n\n### Where can I find **Hawk** implementations in other languages?\n\n**Hawk**\'s only reference implementation is provided in JavaScript as a node.js module. However, others are actively porting it to other\nplatforms. There is already a [PHP](https://github.com/alexbilbie/PHP-Hawk),\n[.NET](https://github.com/pcibraro/hawknet), and [JAVA](https://github.com/wealdtech/hawk) libraries available. The full list\nis maintained [here](https://github.com/hueniverse/hawk/issues?labels=port). Please add an issue if you are working on another\nport. A cross-platform test-suite is in the works.\n\n### Why isn\'t the algorithm part of the challenge or dynamically negotiated?\n\nThe algorithm used is closely related to the key issued as different algorithms require different key sizes (and other\nrequirements). While some keys can be used for multiple algorithm, the protocol is designed to closely bind the key and algorithm\ntogether as part of the issued credentials.\n\n### Why is Host and Content-Type the only headers covered by the request MAC?\n\nIt is really hard to include other headers. Headers can be changed by proxies and other intermediaries and there is no\nwell-established way to normalize them. Many platforms change the case of header field names and values. The only\nstraight-forward solution is to include the headers in some blob (say, base64 encoded JSON) and include that with the request,\nan approach taken by JWT and other such formats. However, that design violates the HTTP header boundaries, repeats information,\nand introduces other security issues because firewalls will not be aware of these "hidden" headers. In addition, any information\nrepeated must be compared to the duplicated information in the header and therefore only moves the problem elsewhere.\n\n### Why not just use HTTP Digest?\n\nDigest requires pre-negotiation to establish a nonce. This means you can\'t just make a request - you must first send\na protocol handshake to the server. This pattern has become unacceptable for most web services, especially mobile\nwhere extra round-trip are costly.\n\n### Why bother with all this nonce and timestamp business?\n\n**Hawk** is an attempt to find a reasonable, practical compromise between security and usability. OAuth 1.0 got timestamp\nand nonces halfway right but failed when it came to scalability and consistent developer experience. **Hawk** addresses\nit by requiring the client to sync its clock, but provides it with tools to accomplish it.\n\nIn general, replay protection is a matter of application-specific threat model. It is less of an issue on a TLS-protected\nsystem where the clients are implemented using best practices and are under the control of the server. Instead of dropping\nreplay protection, **Hawk** offers a required time window and an optional nonce verification. Together, it provides developers\nwith the ability to decide how to enforce their security policy without impacting the client\'s implementation.\n\n### What are `app` and `dlg` in the authorization header and normalized mac string?\n\nThe original motivation for **Hawk** was to replace the OAuth 1.0 use cases. This included both a simple client-server mode which\nthis module is specifically designed for, and a delegated access mode which is being developed separately in\n[Oz](https://github.com/hueniverse/oz). In addition to the **Hawk** use cases, Oz requires another attribute: the application id `app`.\nThis provides binding between the credentials and the application in a way that prevents an attacker from tricking an application\nto use credentials issued to someone else. It also has an optional \'delegated-by\' attribute `dlg` which is the application id of the\napplication the credentials were directly issued to. The goal of these two additions is to allow Oz to utilize **Hawk** directly,\nbut with the additional security of delegated credentials.\n\n### What is the purpose of the static strings used in each normalized MAC input?\n\nWhen calculating a hash or MAC, a static prefix (tag) is added. The prefix is used to prevent MAC values from being\nused or reused for a purpose other than what they were created for (i.e. prevents switching MAC values between a request,\nresponse, and a bewit use cases). It also protects against expliots created after a potential change in how the protocol\ncreates the normalized string. For example, if a future version would switch the order of nonce and timestamp, it\ncan create an exploit opportunity for cases where the nonce is similar in format to a timestamp.\n\n### Does **Hawk** have anything to do with OAuth?\n\nShort answer: no.\n\n**Hawk** was originally proposed as the OAuth MAC Token specification. However, the OAuth working group in its consistent\nincompetence failed to produce a final, usable solution to address one of the most popular use cases of OAuth 1.0 - using it\nto authenticate simple client-server transactions (i.e. two-legged). As you can guess, the OAuth working group is still hard\nat work to produce more garbage.\n\n**Hawk** provides a simple HTTP authentication scheme for making client-server requests. It does not address the OAuth use case\nof delegating access to a third party. If you are looking for an OAuth alternative, check out [Oz](https://github.com/hueniverse/oz).\n\n\n# Acknowledgements\n\n**Hawk** is a derivative work of the [HTTP MAC Authentication Scheme](http://tools.ietf.org/html/draft-hammer-oauth-v2-mac-token-05) proposal\nco-authored by Ben Adida, Adam Barth, and Eran Hammer, which in turn was based on the OAuth 1.0 community specification.\n\nSpecial thanks to Ben Laurie for his always insightful feedback and advice.\n\nThe **Hawk** logo was created by [Chris Carrasco](http://chriscarrasco.com).\n',
2613 silly resolved readmeFilename: 'README.md',
2613 silly resolved bugs: { url: 'https://github.com/hueniverse/hawk/issues' },
2613 silly resolved homepage: 'https://github.com/hueniverse/hawk',
2613 silly resolved _id: 'hawk@1.0.0',
2613 silly resolved _from: 'hawk@~1.0.0' },
2613 silly resolved { author:
2613 silly resolved { name: 'Robert Kieffer',
2613 silly resolved email: 'robert@broofa.com',
2613 silly resolved url: 'http://github.com/broofa' },
2613 silly resolved contributors: [ [Object] ],
2613 silly resolved dependencies: {},
2613 silly resolved description: 'A comprehensive library for mime-type mapping',
2613 silly resolved devDependencies: {},
2613 silly resolved keywords: [ 'util', 'mime' ],
2613 silly resolved main: 'mime.js',
2613 silly resolved name: 'mime',
2613 silly resolved repository: { url: 'https://github.com/broofa/node-mime', type: 'git' },
2613 silly resolved version: '1.2.11',
2613 silly resolved readme: '# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last \'/\' or \'.\'). E.g.\n\n var mime = require(\'mime\');\n\n mime.lookup(\'/path/to/file.txt\'); // => \'text/plain\'\n mime.lookup(\'file.txt\'); // => \'text/plain\'\n mime.lookup(\'.TXT\'); // => \'text/plain\'\n mime.lookup(\'htm\'); // => \'text/html\'\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n mime.extension(\'text/html\'); // => \'html\'\n mime.extension(\'application/octet-stream\'); // => \'bin\'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n mime.charsets.lookup(\'text/plain\'); // => \'UTF-8\'\n\n(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project. If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n mime.define({\n \'text/x-some-format\': [\'x-sf\', \'x-sft\', \'x-sfml\'],\n \'application/x-my-type\': [\'x-mt\', \'x-mtt\'],\n // etc ...\n });\n\n mime.lookup(\'x-sft\'); // => \'text/x-some-format\'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n mime.extension(\'text/x-some-format\'); // => \'x-sf\'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache ".types" format file\n\n mime.load(\'./my_project.types\');\n\nThe .types file format is simple - See the `types` dir for examples.\n',
2613 silly resolved readmeFilename: 'README.md',
2613 silly resolved bugs: { url: 'https://github.com/broofa/node-mime/issues' },
2613 silly resolved homepage: 'https://github.com/broofa/node-mime',
2613 silly resolved _id: 'mime@1.2.11',
2613 silly resolved _from: 'mime@~1.2.9' } ]
2614 info install node-uuid@1.4.1 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2615 info install json-stringify-safe@5.0.0 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2616 info install qs@0.6.6 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2617 info install http-signature@0.10.0 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2618 info install form-data@0.1.4 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2619 info install forever-agent@0.5.2 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2620 info install oauth-sign@0.3.0 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2621 info install aws-sign2@0.5.0 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2622 info install tunnel-agent@0.4.0 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2623 info install tough-cookie@0.12.1 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2624 info install hawk@1.0.0 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2625 info install mime@1.2.11 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request
2626 info installOne node-uuid@1.4.1
2627 info installOne json-stringify-safe@5.0.0
2628 info installOne qs@0.6.6
2629 info installOne http-signature@0.10.0
2630 info installOne form-data@0.1.4
2631 info installOne forever-agent@0.5.2
2632 info installOne oauth-sign@0.3.0
2633 info installOne aws-sign2@0.5.0
2634 info installOne tunnel-agent@0.4.0
2635 info installOne tough-cookie@0.12.1
2636 info installOne hawk@1.0.0
2637 info installOne mime@1.2.11
2638 verbose tar unpack /Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
2639 silly lockFile 5453c6ff-incleaver-npm-once-1-1-1-package tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package
2640 verbose lock tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package /Volumes/Storage/martincleaver/.npm/5453c6ff-incleaver-npm-once-1-1-1-package.lock
2641 silly lockFile 26db3178-eaver-npm-once-1-1-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
2642 verbose lock tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz /Volumes/Storage/martincleaver/.npm/26db3178-eaver-npm-once-1-1-1-package-tgz.lock
2643 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/node-uuid unbuild
2644 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/json-stringify-safe unbuild
2645 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/qs unbuild
2646 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/http-signature unbuild
2647 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data unbuild
2648 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/forever-agent unbuild
2649 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/oauth-sign unbuild
2650 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/aws-sign2 unbuild
2651 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tunnel-agent unbuild
2652 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie unbuild
2653 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk unbuild
2654 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/mime unbuild
2655 silly lockFile 1eaeae6b-progress-node-modules-throttleit tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress/node_modules/throttleit
2656 silly lockFile 1eaeae6b-progress-node-modules-throttleit tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress/node_modules/throttleit
2657 verbose tar unpack /Volumes/Storage/martincleaver/.npm/node-uuid/1.4.1/package.tgz
2658 silly lockFile d96cfb06-s-request-node-modules-node-uuid tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/node-uuid
2659 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/node-uuid /Volumes/Storage/martincleaver/.npm/d96cfb06-s-request-node-modules-node-uuid.lock
2660 silly lockFile cbe698a5--npm-node-uuid-1-4-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/node-uuid/1.4.1/package.tgz
2661 verbose lock tar:///Volumes/Storage/martincleaver/.npm/node-uuid/1.4.1/package.tgz /Volumes/Storage/martincleaver/.npm/cbe698a5--npm-node-uuid-1-4-1-package-tgz.lock
2662 verbose tar unpack /Volumes/Storage/martincleaver/.npm/json-stringify-safe/5.0.0/package.tgz
2663 silly lockFile a6f50f4b-node-modules-json-stringify-safe tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/json-stringify-safe
2664 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/json-stringify-safe /Volumes/Storage/martincleaver/.npm/a6f50f4b-node-modules-json-stringify-safe.lock
2665 silly lockFile 22aa6e99-stringify-safe-5-0-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/json-stringify-safe/5.0.0/package.tgz
2666 verbose lock tar:///Volumes/Storage/martincleaver/.npm/json-stringify-safe/5.0.0/package.tgz /Volumes/Storage/martincleaver/.npm/22aa6e99-stringify-safe-5-0-0-package-tgz.lock
2667 verbose tar unpack /Volumes/Storage/martincleaver/.npm/qs/0.6.6/package.tgz
2668 silly lockFile 70ef472e--modules-request-node-modules-qs tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/qs
2669 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/qs /Volumes/Storage/martincleaver/.npm/70ef472e--modules-request-node-modules-qs.lock
2670 silly lockFile e32ed248-cleaver-npm-qs-0-6-6-package-tgz tar:///Volumes/Storage/martincleaver/.npm/qs/0.6.6/package.tgz
2671 verbose lock tar:///Volumes/Storage/martincleaver/.npm/qs/0.6.6/package.tgz /Volumes/Storage/martincleaver/.npm/e32ed248-cleaver-npm-qs-0-6-6-package-tgz.lock
2672 verbose tar unpack /Volumes/Storage/martincleaver/.npm/http-signature/0.10.0/package.tgz
2673 silly lockFile 3d42b109-uest-node-modules-http-signature tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/http-signature
2674 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/http-signature /Volumes/Storage/martincleaver/.npm/3d42b109-uest-node-modules-http-signature.lock
2675 silly lockFile b4d40cf8-ttp-signature-0-10-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/http-signature/0.10.0/package.tgz
2676 verbose lock tar:///Volumes/Storage/martincleaver/.npm/http-signature/0.10.0/package.tgz /Volumes/Storage/martincleaver/.npm/b4d40cf8-ttp-signature-0-10-0-package-tgz.lock
2677 verbose tar unpack /Volumes/Storage/martincleaver/.npm/form-data/0.1.4/package.tgz
2678 silly lockFile 4cd519e6-s-request-node-modules-form-data tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data
2679 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data /Volumes/Storage/martincleaver/.npm/4cd519e6-s-request-node-modules-form-data.lock
2680 silly lockFile eb1abbaa--npm-form-data-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/form-data/0.1.4/package.tgz
2681 verbose lock tar:///Volumes/Storage/martincleaver/.npm/form-data/0.1.4/package.tgz /Volumes/Storage/martincleaver/.npm/eb1abbaa--npm-form-data-0-1-4-package-tgz.lock
2682 verbose tar unpack /Volumes/Storage/martincleaver/.npm/forever-agent/0.5.2/package.tgz
2683 silly lockFile 881f8a39-quest-node-modules-forever-agent tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/forever-agent
2684 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/forever-agent /Volumes/Storage/martincleaver/.npm/881f8a39-quest-node-modules-forever-agent.lock
2685 silly lockFile 3088f69f--forever-agent-0-5-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/forever-agent/0.5.2/package.tgz
2686 verbose lock tar:///Volumes/Storage/martincleaver/.npm/forever-agent/0.5.2/package.tgz /Volumes/Storage/martincleaver/.npm/3088f69f--forever-agent-0-5-2-package-tgz.lock
2687 verbose tar unpack /Volumes/Storage/martincleaver/.npm/oauth-sign/0.3.0/package.tgz
2688 silly lockFile 288294c5--request-node-modules-oauth-sign tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/oauth-sign
2689 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/oauth-sign /Volumes/Storage/martincleaver/.npm/288294c5--request-node-modules-oauth-sign.lock
2690 silly lockFile 078c0291-npm-oauth-sign-0-3-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/oauth-sign/0.3.0/package.tgz
2691 verbose lock tar:///Volumes/Storage/martincleaver/.npm/oauth-sign/0.3.0/package.tgz /Volumes/Storage/martincleaver/.npm/078c0291-npm-oauth-sign-0-3-0-package-tgz.lock
2692 verbose tar unpack /Volumes/Storage/martincleaver/.npm/aws-sign2/0.5.0/package.tgz
2693 silly lockFile 30763914-s-request-node-modules-aws-sign2 tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/aws-sign2
2694 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/aws-sign2 /Volumes/Storage/martincleaver/.npm/30763914-s-request-node-modules-aws-sign2.lock
2695 silly lockFile abea8c4e--npm-aws-sign2-0-5-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/aws-sign2/0.5.0/package.tgz
2696 verbose lock tar:///Volumes/Storage/martincleaver/.npm/aws-sign2/0.5.0/package.tgz /Volumes/Storage/martincleaver/.npm/abea8c4e--npm-aws-sign2-0-5-0-package-tgz.lock
2697 verbose tar unpack /Volumes/Storage/martincleaver/.npm/tunnel-agent/0.4.0/package.tgz
2698 silly lockFile 644a5f89-equest-node-modules-tunnel-agent tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tunnel-agent
2699 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tunnel-agent /Volumes/Storage/martincleaver/.npm/644a5f89-equest-node-modules-tunnel-agent.lock
2700 silly lockFile f91a5c49-m-tunnel-agent-0-4-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/tunnel-agent/0.4.0/package.tgz
2701 verbose lock tar:///Volumes/Storage/martincleaver/.npm/tunnel-agent/0.4.0/package.tgz /Volumes/Storage/martincleaver/.npm/f91a5c49-m-tunnel-agent-0-4-0-package-tgz.lock
2702 verbose tar unpack /Volumes/Storage/martincleaver/.npm/tough-cookie/0.12.1/package.tgz
2703 silly lockFile 08df5e81-equest-node-modules-tough-cookie tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie
2704 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie /Volumes/Storage/martincleaver/.npm/08df5e81-equest-node-modules-tough-cookie.lock
2705 silly lockFile 49faec31--tough-cookie-0-12-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/tough-cookie/0.12.1/package.tgz
2706 verbose lock tar:///Volumes/Storage/martincleaver/.npm/tough-cookie/0.12.1/package.tgz /Volumes/Storage/martincleaver/.npm/49faec31--tough-cookie-0-12-1-package-tgz.lock
2707 verbose tar unpack /Volumes/Storage/martincleaver/.npm/hawk/1.0.0/package.tgz
2708 silly lockFile a33ad648-odules-request-node-modules-hawk tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk
2709 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk /Volumes/Storage/martincleaver/.npm/a33ad648-odules-request-node-modules-hawk.lock
2710 silly lockFile e190a95c-eaver-npm-hawk-1-0-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/hawk/1.0.0/package.tgz
2711 verbose lock tar:///Volumes/Storage/martincleaver/.npm/hawk/1.0.0/package.tgz /Volumes/Storage/martincleaver/.npm/e190a95c-eaver-npm-hawk-1-0-0-package-tgz.lock
2712 verbose tar unpack /Volumes/Storage/martincleaver/.npm/mime/1.2.11/package.tgz
2713 silly lockFile 64935d62-odules-request-node-modules-mime tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/mime
2714 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/mime /Volumes/Storage/martincleaver/.npm/64935d62-odules-request-node-modules-mime.lock
2715 silly lockFile 3a4e49e5-aver-npm-mime-1-2-11-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mime/1.2.11/package.tgz
2716 verbose lock tar:///Volumes/Storage/martincleaver/.npm/mime/1.2.11/package.tgz /Volumes/Storage/martincleaver/.npm/3a4e49e5-aver-npm-mime-1-2-11-package-tgz.lock
2717 silly lockFile dd4257df-npm-throttleit-0-0-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/throttleit/0.0.2/package.tgz
2718 silly lockFile dd4257df-npm-throttleit-0-0-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/throttleit/0.0.2/package.tgz
2719 silly gunzTarPerm modes [ '755', '644' ]
2720 silly gunzTarPerm modes [ '755', '644' ]
2721 silly gunzTarPerm modes [ '755', '644' ]
2722 silly gunzTarPerm modes [ '755', '644' ]
2723 silly gunzTarPerm modes [ '755', '644' ]
2724 silly gunzTarPerm modes [ '755', '644' ]
2725 silly gunzTarPerm modes [ '755', '644' ]
2726 silly gunzTarPerm modes [ '755', '644' ]
2727 silly gunzTarPerm modes [ '755', '644' ]
2728 silly gunzTarPerm modes [ '755', '644' ]
2729 silly gunzTarPerm modes [ '755', '644' ]
2730 silly gunzTarPerm modes [ '755', '644' ]
2731 silly gunzTarPerm modes [ '755', '644' ]
2732 info preinstall throttleit@0.0.2
2733 silly gunzTarPerm extractEntry package.json
2734 silly gunzTarPerm extractEntry package.json
2735 silly gunzTarPerm extractEntry package.json
2736 silly gunzTarPerm extractEntry package.json
2737 silly gunzTarPerm extractEntry package.json
2738 silly gunzTarPerm extractEntry package.json
2739 silly gunzTarPerm extractEntry package.json
2740 silly gunzTarPerm extractEntry package.json
2741 verbose readDependencies using package.json deps
2742 silly gunzTarPerm extractEntry package.json
2743 verbose readDependencies using package.json deps
2744 silly resolved []
2745 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress/node_modules/throttleit
2746 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress/node_modules/throttleit
2747 verbose linkStuff [ false,
2747 verbose linkStuff false,
2747 verbose linkStuff false,
2747 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress/node_modules' ]
2748 info linkStuff throttleit@0.0.2
2749 verbose linkBins throttleit@0.0.2
2750 verbose linkMans throttleit@0.0.2
2751 verbose rebuildBundles throttleit@0.0.2
2752 silly gunzTarPerm extractEntry package.json
2753 silly gunzTarPerm extractEntry package.json
2754 silly gunzTarPerm extractEntry package.json
2755 info install throttleit@0.0.2
2756 silly gunzTarPerm extractEntry .npmignore
2757 silly gunzTarPerm extractEntry README.md
2758 silly gunzTarPerm extractEntry README.md
2759 silly gunzTarPerm extractEntry LICENSE
2760 silly gunzTarPerm extractEntry .npmignore
2761 silly gunzTarPerm extractEntry README.md
2762 silly gunzTarPerm extractEntry README.md
2763 silly gunzTarPerm extractEntry LICENSE
2764 silly gunzTarPerm extractEntry README.md
2765 silly gunzTarPerm extractEntry LICENSE
2766 silly gunzTarPerm extractEntry README.md
2767 silly gunzTarPerm extractEntry LICENSE
2768 silly gunzTarPerm extractEntry License
2769 silly gunzTarPerm extractEntry Readme.md
2770 silly gunzTarPerm extractEntry README.md
2771 silly gunzTarPerm extractEntry LICENSE
2772 info postinstall throttleit@0.0.2
2773 silly gunzTarPerm extractEntry .npmignore
2774 silly gunzTarPerm extractEntry index.js
2775 silly gunzTarPerm extractEntry README.md
2776 silly gunzTarPerm extractEntry LICENSE
2777 silly gunzTarPerm extractEntry .npmignore
2778 silly gunzTarPerm extractEntry README.md
2779 silly gunzTarPerm extractEntry .npmignore
2780 silly gunzTarPerm extractEntry README.md
2781 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress
2782 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request-progress
2783 verbose linkStuff [ false,
2783 verbose linkStuff false,
2783 verbose linkStuff false,
2783 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
2784 info linkStuff request-progress@0.3.1
2785 verbose linkBins request-progress@0.3.1
2786 verbose linkMans request-progress@0.3.1
2787 verbose rebuildBundles request-progress@0.3.1
2788 verbose rebuildBundles [ 'throttleit' ]
2789 info install request-progress@0.3.1
2790 silly gunzTarPerm extractEntry package.json
2791 info postinstall request-progress@0.3.1
2792 silly gunzTarPerm extractEntry uuid.js
2793 silly gunzTarPerm extractEntry LICENSE.md
2794 silly gunzTarPerm extractEntry benchmark/README.md
2795 silly gunzTarPerm extractEntry benchmark/benchmark.js
2796 silly gunzTarPerm extractEntry benchmark/bench.gnu
2797 silly gunzTarPerm extractEntry benchmark/bench.sh
2798 silly gunzTarPerm extractEntry benchmark/benchmark-native.c
2799 silly gunzTarPerm extractEntry component.json
2800 silly gunzTarPerm extractEntry test/compare_v1.js
2801 silly gunzTarPerm extractEntry test/test.js
2802 silly gunzTarPerm extractEntry test/test.html
2803 silly gunzTarPerm extractEntry README.md
2804 silly gunzTarPerm extractEntry LICENSE
2805 silly gunzTarPerm extractEntry index.js
2806 silly gunzTarPerm extractEntry test.js
2807 silly gunzTarPerm extractEntry stringify.js
2808 silly gunzTarPerm extractEntry test.js
2809 silly gunzTarPerm extractEntry index.js
2810 silly gunzTarPerm extractEntry index.js
2811 silly gunzTarPerm extractEntry .jshintrc
2812 silly gunzTarPerm extractEntry once.js
2813 silly gunzTarPerm extractEntry test/once.js
2814 silly gunzTarPerm extractEntry .gitmodules
2815 silly gunzTarPerm extractEntry Readme.md
2816 silly gunzTarPerm extractEntry LICENSE
2817 silly gunzTarPerm extractEntry .dir-locals.el
2818 silly gunzTarPerm extractEntry lib/form_data.js
2819 silly gunzTarPerm extractEntry index.js
2820 silly gunzTarPerm extractEntry LICENSE
2821 silly gunzTarPerm extractEntry LICENSE
2822 silly lockFile 2aa34b8b-2821-0-19748937897384167-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/package
2823 silly lockFile 2aa34b8b-2821-0-19748937897384167-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886912821-0.19748937897384167/package
2824 silly gunzTarPerm extractEntry http_signing.md
2825 silly gunzTarPerm extractEntry lib/index.js
2826 silly gunzTarPerm extractEntry lib/parser.js
2827 silly gunzTarPerm extractEntry lib/signer.js
2828 silly gunzTarPerm extractEntry lib/util.js
2829 silly gunzTarPerm extractEntry lib/verify.js
2830 silly gunzTarPerm extractEntry mime.js
2831 silly gunzTarPerm extractEntry test.js
2832 silly lockFile 9f41a675-leaver-npm-ini-1-1-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
2833 silly lockFile 9f41a675-leaver-npm-ini-1-1-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
2834 silly gunzTarPerm extractEntry generate-pubsuffix.js
2835 silly gunzTarPerm extractEntry test.js
2836 silly gunzTarPerm extractEntry index.js
2837 silly gunzTarPerm extractEntry .travis.yml
2838 silly lockFile 04533513-tincleaver-npm-ini-1-1-0-package /Volumes/Storage/martincleaver/.npm/ini/1.1.0/package
2839 verbose lock /Volumes/Storage/martincleaver/.npm/ini/1.1.0/package /Volumes/Storage/martincleaver/.npm/04533513-tincleaver-npm-ini-1-1-0-package.lock
2840 silly lockFile 04533513-tincleaver-npm-ini-1-1-0-package /Volumes/Storage/martincleaver/.npm/ini/1.1.0/package
2841 silly lockFile 04533513-tincleaver-npm-ini-1-1-0-package /Volumes/Storage/martincleaver/.npm/ini/1.1.0/package
2842 verbose tar unpack /Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
2843 silly lockFile 5901737b-tincleaver-npm-ini-1-1-0-package tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package
2844 verbose lock tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package /Volumes/Storage/martincleaver/.npm/5901737b-tincleaver-npm-ini-1-1-0-package.lock
2845 silly lockFile 9f41a675-leaver-npm-ini-1-1-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
2846 verbose lock tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz /Volumes/Storage/martincleaver/.npm/9f41a675-leaver-npm-ini-1-1-0-package-tgz.lock
2847 silly gunzTarPerm extractEntry types/mime.types
2848 silly gunzTarPerm extractEntry types/node.types
2849 silly gunzTarPerm modes [ '755', '644' ]
2850 silly gunzTarPerm extractEntry package.json
2851 silly gunzTarPerm extractEntry README.md
2852 silly gunzTarPerm extractEntry LICENSE
2853 silly gunzTarPerm extractEntry ini.js
2854 silly gunzTarPerm extractEntry test/bar.js
2855 silly lockFile 5453c6ff-incleaver-npm-once-1-1-1-package tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package
2856 silly lockFile 5453c6ff-incleaver-npm-once-1-1-1-package tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package
2857 silly lockFile 26db3178-eaver-npm-once-1-1-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
2858 silly lockFile 26db3178-eaver-npm-once-1-1-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
2859 silly lockFile a6f50f4b-node-modules-json-stringify-safe tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/json-stringify-safe
2860 silly lockFile a6f50f4b-node-modules-json-stringify-safe tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/json-stringify-safe
2861 verbose chmod /Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz 644
2862 verbose chown /Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz [ 501, 20 ]
2863 silly lockFile 22aa6e99-stringify-safe-5-0-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/json-stringify-safe/5.0.0/package.tgz
2864 silly lockFile 22aa6e99-stringify-safe-5-0-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/json-stringify-safe/5.0.0/package.tgz
2865 silly lockFile 3dedf4f9-ry-npmjs-org-once-once-1-1-1-tgz https://registry.npmjs.org/once/-/once-1.1.1.tgz
2866 silly lockFile 3dedf4f9-ry-npmjs-org-once-once-1-1-1-tgz https://registry.npmjs.org/once/-/once-1.1.1.tgz
2867 silly lockFile 6beab3c4-once-1-1-1 once@1.1.1
2868 silly lockFile 6beab3c4-once-1-1-1 once@1.1.1
2869 silly gunzTarPerm extractEntry test/foo.js
2870 silly gunzTarPerm extractEntry test/fixtures/foo.ini
2871 silly lockFile 062b4488-once-1-1-1 once@~1.1.1
2872 silly lockFile 062b4488-once-1-1-1 once@~1.1.1
2873 info preinstall json-stringify-safe@5.0.0
2874 silly lockFile 881f8a39-quest-node-modules-forever-agent tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/forever-agent
2875 silly lockFile 881f8a39-quest-node-modules-forever-agent tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/forever-agent
2876 silly lockFile 3088f69f--forever-agent-0-5-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/forever-agent/0.5.2/package.tgz
2877 silly lockFile 3088f69f--forever-agent-0-5-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/forever-agent/0.5.2/package.tgz
2878 silly lockFile 30763914-s-request-node-modules-aws-sign2 tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/aws-sign2
2879 silly lockFile 30763914-s-request-node-modules-aws-sign2 tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/aws-sign2
2880 silly gunzTarPerm extractEntry .jshintrc
2881 silly gunzTarPerm extractEntry .travis.yml
2882 verbose readDependencies using package.json deps
2883 silly lockFile abea8c4e--npm-aws-sign2-0-5-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/aws-sign2/0.5.0/package.tgz
2884 silly lockFile abea8c4e--npm-aws-sign2-0-5-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/aws-sign2/0.5.0/package.tgz
2885 verbose readDependencies using package.json deps
2886 silly resolved []
2887 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/json-stringify-safe
2888 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/json-stringify-safe
2889 verbose linkStuff [ false,
2889 verbose linkStuff false,
2889 verbose linkStuff false,
2889 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
2890 info linkStuff json-stringify-safe@5.0.0
2891 verbose linkBins json-stringify-safe@5.0.0
2892 verbose linkMans json-stringify-safe@5.0.0
2893 verbose rebuildBundles json-stringify-safe@5.0.0
2894 info install json-stringify-safe@5.0.0
2895 info preinstall forever-agent@0.5.2
2896 silly lockFile 288294c5--request-node-modules-oauth-sign tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/oauth-sign
2897 silly lockFile 288294c5--request-node-modules-oauth-sign tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/oauth-sign
2898 info postinstall json-stringify-safe@5.0.0
2899 info preinstall aws-sign2@0.5.0
2900 silly lockFile 078c0291-npm-oauth-sign-0-3-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/oauth-sign/0.3.0/package.tgz
2901 silly lockFile 078c0291-npm-oauth-sign-0-3-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/oauth-sign/0.3.0/package.tgz
2902 verbose readDependencies using package.json deps
2903 verbose readDependencies using package.json deps
2904 silly resolved []
2905 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/forever-agent
2906 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/forever-agent
2907 verbose linkStuff [ false,
2907 verbose linkStuff false,
2907 verbose linkStuff false,
2907 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
2908 info linkStuff forever-agent@0.5.2
2909 verbose linkBins forever-agent@0.5.2
2910 verbose linkMans forever-agent@0.5.2
2911 verbose rebuildBundles forever-agent@0.5.2
2912 verbose readDependencies using package.json deps
2913 info install forever-agent@0.5.2
2914 verbose readDependencies using package.json deps
2915 silly resolved []
2916 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/aws-sign2
2917 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/aws-sign2
2918 verbose linkStuff [ false,
2918 verbose linkStuff false,
2918 verbose linkStuff false,
2918 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
2919 info linkStuff aws-sign2@0.5.0
2920 verbose linkBins aws-sign2@0.5.0
2921 verbose linkMans aws-sign2@0.5.0
2922 verbose rebuildBundles aws-sign2@0.5.0
2923 info preinstall oauth-sign@0.3.0
2924 info install aws-sign2@0.5.0
2925 info postinstall forever-agent@0.5.2
2926 silly lockFile 644a5f89-equest-node-modules-tunnel-agent tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tunnel-agent
2927 silly lockFile 644a5f89-equest-node-modules-tunnel-agent tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tunnel-agent
2928 silly lockFile f91a5c49-m-tunnel-agent-0-4-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/tunnel-agent/0.4.0/package.tgz
2929 silly lockFile f91a5c49-m-tunnel-agent-0-4-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/tunnel-agent/0.4.0/package.tgz
2930 info postinstall aws-sign2@0.5.0
2931 verbose readDependencies using package.json deps
2932 verbose readDependencies using package.json deps
2933 silly resolved []
2934 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/oauth-sign
2935 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/oauth-sign
2936 verbose linkStuff [ false,
2936 verbose linkStuff false,
2936 verbose linkStuff false,
2936 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
2937 info linkStuff oauth-sign@0.3.0
2938 verbose linkBins oauth-sign@0.3.0
2939 verbose linkMans oauth-sign@0.3.0
2940 verbose rebuildBundles oauth-sign@0.3.0
2941 info install oauth-sign@0.3.0
2942 silly gunzTarPerm extractEntry lib/cookie.js
2943 silly gunzTarPerm extractEntry lib/memstore.js
2944 info preinstall tunnel-agent@0.4.0
2945 info postinstall oauth-sign@0.3.0
2946 verbose readDependencies using package.json deps
2947 silly gunzTarPerm extractEntry images/hawk.png
2948 silly gunzTarPerm extractEntry images/logo.png
2949 verbose readDependencies using package.json deps
2950 silly resolved []
2951 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tunnel-agent
2952 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tunnel-agent
2953 verbose linkStuff [ false,
2953 verbose linkStuff false,
2953 verbose linkStuff false,
2953 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
2954 info linkStuff tunnel-agent@0.4.0
2955 verbose linkBins tunnel-agent@0.4.0
2956 verbose linkMans tunnel-agent@0.4.0
2957 verbose rebuildBundles tunnel-agent@0.4.0
2958 info install tunnel-agent@0.4.0
2959 info postinstall tunnel-agent@0.4.0
2960 silly lockFile 4cd519e6-s-request-node-modules-form-data tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data
2961 silly lockFile 4cd519e6-s-request-node-modules-form-data tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data
2962 silly gunzTarPerm extractEntry Makefile
2963 silly lockFile eb1abbaa--npm-form-data-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/form-data/0.1.4/package.tgz
2964 silly lockFile eb1abbaa--npm-form-data-0-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/form-data/0.1.4/package.tgz
2965 silly gunzTarPerm extractEntry lib/pubsuffix.js
2966 silly gunzTarPerm extractEntry lib/store.js
2967 silly gunzTarPerm extractEntry lib/browser.js
2968 silly gunzTarPerm extractEntry lib/client.js
2969 info preinstall form-data@0.1.4
2970 verbose readDependencies using package.json deps
2971 verbose readDependencies using package.json deps
2972 verbose cache add [ 'combined-stream@~0.0.4', null ]
2973 verbose cache add name=undefined spec="combined-stream@~0.0.4" args=["combined-stream@~0.0.4",null]
2974 verbose parsed url { protocol: null,
2974 verbose parsed url slashes: null,
2974 verbose parsed url auth: null,
2974 verbose parsed url host: null,
2974 verbose parsed url port: null,
2974 verbose parsed url hostname: null,
2974 verbose parsed url hash: null,
2974 verbose parsed url search: null,
2974 verbose parsed url query: null,
2974 verbose parsed url pathname: 'combined-stream@~0.0.4',
2974 verbose parsed url path: 'combined-stream@~0.0.4',
2974 verbose parsed url href: 'combined-stream@~0.0.4' }
2975 verbose cache add name="combined-stream" spec="~0.0.4" args=["combined-stream","~0.0.4"]
2976 verbose parsed url { protocol: null,
2976 verbose parsed url slashes: null,
2976 verbose parsed url auth: null,
2976 verbose parsed url host: null,
2976 verbose parsed url port: null,
2976 verbose parsed url hostname: null,
2976 verbose parsed url hash: null,
2976 verbose parsed url search: null,
2976 verbose parsed url query: null,
2976 verbose parsed url pathname: '~0.0.4',
2976 verbose parsed url path: '~0.0.4',
2976 verbose parsed url href: '~0.0.4' }
2977 verbose addNamed [ 'combined-stream', '~0.0.4' ]
2978 verbose addNamed [ null, '>=0.0.4-0 <0.1.0-0' ]
2979 silly lockFile 97e270a8-combined-stream-0-0-4 combined-stream@~0.0.4
2980 verbose lock combined-stream@~0.0.4 /Volumes/Storage/martincleaver/.npm/97e270a8-combined-stream-0-0-4.lock
2981 verbose cache add [ 'async@~0.9.0', null ]
2982 verbose cache add name=undefined spec="async@~0.9.0" args=["async@~0.9.0",null]
2983 verbose parsed url { protocol: null,
2983 verbose parsed url slashes: null,
2983 verbose parsed url auth: null,
2983 verbose parsed url host: null,
2983 verbose parsed url port: null,
2983 verbose parsed url hostname: null,
2983 verbose parsed url hash: null,
2983 verbose parsed url search: null,
2983 verbose parsed url query: null,
2983 verbose parsed url pathname: 'async@~0.9.0',
2983 verbose parsed url path: 'async@~0.9.0',
2983 verbose parsed url href: 'async@~0.9.0' }
2984 verbose cache add name="async" spec="~0.9.0" args=["async","~0.9.0"]
2985 verbose parsed url { protocol: null,
2985 verbose parsed url slashes: null,
2985 verbose parsed url auth: null,
2985 verbose parsed url host: null,
2985 verbose parsed url port: null,
2985 verbose parsed url hostname: null,
2985 verbose parsed url hash: null,
2985 verbose parsed url search: null,
2985 verbose parsed url query: null,
2985 verbose parsed url pathname: '~0.9.0',
2985 verbose parsed url path: '~0.9.0',
2985 verbose parsed url href: '~0.9.0' }
2986 verbose addNamed [ 'async', '~0.9.0' ]
2987 verbose addNamed [ null, '>=0.9.0-0 <0.10.0-0' ]
2988 silly lockFile 38be4a8c-async-0-9-0 async@~0.9.0
2989 verbose lock async@~0.9.0 /Volumes/Storage/martincleaver/.npm/38be4a8c-async-0-9-0.lock
2990 silly gunzTarPerm extractEntry lib/crypto.js
2991 silly gunzTarPerm extractEntry lib/index.js
2992 silly addNameRange { name: 'combined-stream',
2992 silly addNameRange range: '>=0.0.4-0 <0.1.0-0',
2992 silly addNameRange hasData: false }
2993 silly addNameRange { name: 'async', range: '>=0.9.0-0 <0.10.0-0', hasData: false }
2994 verbose registry.get async not expired, no request
2995 silly addNameRange number 2 { name: 'async', range: '>=0.9.0-0 <0.10.0-0', hasData: true }
2996 silly addNameRange versions [ 'async',
2996 silly addNameRange [ '0.1.0',
2996 silly addNameRange '0.1.1',
2996 silly addNameRange '0.1.2',
2996 silly addNameRange '0.1.3',
2996 silly addNameRange '0.1.4',
2996 silly addNameRange '0.1.5',
2996 silly addNameRange '0.1.6',
2996 silly addNameRange '0.1.7',
2996 silly addNameRange '0.1.8',
2996 silly addNameRange '0.1.9',
2996 silly addNameRange '0.1.10',
2996 silly addNameRange '0.1.11',
2996 silly addNameRange '0.1.12',
2996 silly addNameRange '0.1.13',
2996 silly addNameRange '0.1.14',
2996 silly addNameRange '0.1.15',
2996 silly addNameRange '0.1.16',
2996 silly addNameRange '0.1.17',
2996 silly addNameRange '0.1.18',
2996 silly addNameRange '0.1.19',
2996 silly addNameRange '0.1.20',
2996 silly addNameRange '0.1.21',
2996 silly addNameRange '0.1.22',
2996 silly addNameRange '0.2.0',
2996 silly addNameRange '0.2.1',
2996 silly addNameRange '0.2.2',
2996 silly addNameRange '0.2.3',
2996 silly addNameRange '0.2.4',
2996 silly addNameRange '0.2.5',
2996 silly addNameRange '0.2.6',
2996 silly addNameRange '0.2.7',
2996 silly addNameRange '0.2.8',
2996 silly addNameRange '0.2.9',
2996 silly addNameRange '0.2.10',
2996 silly addNameRange '0.3.0',
2996 silly addNameRange '0.4.0',
2996 silly addNameRange '0.4.1',
2996 silly addNameRange '0.5.0',
2996 silly addNameRange '0.6.0',
2996 silly addNameRange '0.6.1',
2996 silly addNameRange '0.6.2',
2996 silly addNameRange '0.7.0',
2996 silly addNameRange '0.8.0',
2996 silly addNameRange '0.9.0' ] ]
2997 verbose addNamed [ 'async', '0.9.0' ]
2998 verbose addNamed [ '0.9.0', '0.9.0' ]
2999 silly lockFile 9a58a886-async-0-9-0 async@0.9.0
3000 verbose lock async@0.9.0 /Volumes/Storage/martincleaver/.npm/9a58a886-async-0-9-0.lock
3001 silly lockFile 70ef472e--modules-request-node-modules-qs tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/qs
3002 silly lockFile 70ef472e--modules-request-node-modules-qs tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/qs
3003 silly lockFile e32ed248-cleaver-npm-qs-0-6-6-package-tgz tar:///Volumes/Storage/martincleaver/.npm/qs/0.6.6/package.tgz
3004 silly lockFile e32ed248-cleaver-npm-qs-0-6-6-package-tgz tar:///Volumes/Storage/martincleaver/.npm/qs/0.6.6/package.tgz
3005 info preinstall qs@0.6.6
3006 verbose readDependencies using package.json deps
3007 silly lockFile 5901737b-tincleaver-npm-ini-1-1-0-package tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package
3008 silly lockFile 5901737b-tincleaver-npm-ini-1-1-0-package tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package
3009 verbose readDependencies using package.json deps
3010 silly resolved []
3011 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/qs
3012 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/qs
3013 verbose linkStuff [ false,
3013 verbose linkStuff false,
3013 verbose linkStuff false,
3013 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
3014 info linkStuff qs@0.6.6
3015 verbose linkBins qs@0.6.6
3016 verbose linkMans qs@0.6.6
3017 verbose rebuildBundles qs@0.6.6
3018 silly lockFile 9f41a675-leaver-npm-ini-1-1-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
3019 silly lockFile 9f41a675-leaver-npm-ini-1-1-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
3020 info install qs@0.6.6
3021 info postinstall qs@0.6.6
3022 verbose chmod /Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz 644
3023 verbose chown /Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz [ 501, 20 ]
3024 silly lockFile 0256e224-stry-npmjs-org-ini-ini-1-1-0-tgz https://registry.npmjs.org/ini/-/ini-1.1.0.tgz
3025 silly lockFile 0256e224-stry-npmjs-org-ini-ini-1-1-0-tgz https://registry.npmjs.org/ini/-/ini-1.1.0.tgz
3026 silly gunzTarPerm extractEntry lib/server.js
3027 silly gunzTarPerm extractEntry lib/utils.js
3028 silly lockFile f80c58e4-ini-1-1-0 ini@1.1.0
3029 silly lockFile f80c58e4-ini-1-1-0 ini@1.1.0
3030 silly lockFile d6a0c59d-ini-1-1-0 ini@~1.1.0
3031 silly lockFile d6a0c59d-ini-1-1-0 ini@~1.1.0
3032 silly resolved [ { name: 'osenv',
3032 silly resolved version: '0.0.3',
3032 silly resolved main: 'osenv.js',
3032 silly resolved directories: { test: 'test' },
3032 silly resolved dependencies: {},
3032 silly resolved devDependencies: { tap: '~0.2.5' },
3032 silly resolved scripts: { test: 'tap test/*.js' },
3032 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/osenv' },
3032 silly resolved keywords:
3032 silly resolved [ 'environment',
3032 silly resolved 'variable',
3032 silly resolved 'home',
3032 silly resolved 'tmpdir',
3032 silly resolved 'path',
3032 silly resolved 'prompt',
3032 silly resolved 'ps1' ],
3032 silly resolved author:
3032 silly resolved { name: 'Isaac Z. Schlueter',
3032 silly resolved email: 'i@izs.me',
3032 silly resolved url: 'http://blog.izs.me/' },
3032 silly resolved license: 'BSD',
3032 silly resolved description: 'Look up environment settings specific to different operating systems',
3032 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',
3032 silly resolved readmeFilename: 'README.md',
3032 silly resolved bugs: { url: 'https://github.com/isaacs/osenv/issues' },
3032 silly resolved homepage: 'https://github.com/isaacs/osenv',
3032 silly resolved _id: 'osenv@0.0.3',
3032 silly resolved _from: 'osenv@0.0.3' },
3032 silly resolved { name: 'nopt',
3032 silly resolved version: '2.2.1',
3032 silly resolved description: 'Option parsing for Node, supporting types, shorthands, etc. Used by npm.',
3032 silly resolved author:
3032 silly resolved { name: 'Isaac Z. Schlueter',
3032 silly resolved email: 'i@izs.me',
3032 silly resolved url: 'http://blog.izs.me/' },
3032 silly resolved main: 'lib/nopt.js',
3032 silly resolved scripts: { test: 'tap test/*.js' },
3032 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/nopt' },
3032 silly resolved bin: { nopt: './bin/nopt.js' },
3032 silly resolved license:
3032 silly resolved { type: 'MIT',
3032 silly resolved url: 'https://github.com/isaacs/nopt/raw/master/LICENSE' },
3032 silly resolved dependencies: { abbrev: '1' },
3032 silly resolved devDependencies: { tap: '~0.4.8' },
3032 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',
3032 silly resolved readmeFilename: 'README.md',
3032 silly resolved bugs: { url: 'https://github.com/isaacs/nopt/issues' },
3032 silly resolved homepage: 'https://github.com/isaacs/nopt',
3032 silly resolved _id: 'nopt@2.2.1',
3032 silly resolved _from: 'nopt@2' },
3032 silly resolved { name: 'semver',
3032 silly resolved version: '1.1.4',
3032 silly resolved description: 'The semantic version parser used by npm.',
3032 silly resolved main: 'semver.js',
3032 silly resolved scripts: { test: 'tap test.js' },
3032 silly resolved devDependencies: { tap: '0.x >=0.0.4' },
3032 silly resolved license:
3032 silly resolved { type: 'MIT',
3032 silly resolved url: 'https://github.com/isaacs/semver/raw/master/LICENSE' },
3032 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-semver.git' },
3032 silly resolved bin: { semver: './bin/semver' },
3032 silly resolved readme: 'semver(1) -- The semantic versioner for npm\n===========================================\n\n## Usage\n\n $ npm install semver\n\n semver.valid(\'1.2.3\') // \'1.2.3\'\n semver.valid(\'a.b.c\') // null\n semver.clean(\' =v1.2.3 \') // \'1.2.3\'\n semver.satisfies(\'1.2.3\', \'1.x || >=2.5.0 || 5.0.0 - 7.2.3\') // true\n semver.gt(\'1.2.3\', \'9.8.7\') // false\n semver.lt(\'1.2.3\', \'9.8.7\') // true\n\nAs a command-line utility:\n\n $ semver -h\n\n Usage: semver -v <version> [-r <range>]\n Test if version(s) satisfy the supplied range(s),\n and sort them.\n\n Multiple versions or ranges may be supplied.\n\n Program exits successfully if any valid version satisfies\n all supplied ranges, and prints all satisfying versions.\n\n If no versions are valid, or ranges are not satisfied,\n then exits failure.\n\n Versions are printed in ascending order, so supplying\n multiple versions to the utility will just sort them.\n\n## Versions\n\nA version is the following things, in this order:\n\n* a number (Major)\n* a period\n* a number (minor)\n* a period\n* a number (patch)\n* OPTIONAL: a hyphen, followed by a number (build)\n* OPTIONAL: a collection of pretty much any non-whitespace characters\n (tag)\n\nA leading `"="` or `"v"` character is stripped off and ignored.\n\n## Comparisons\n\nThe ordering of versions is done using the following algorithm, given\ntwo versions and asked to find the greater of the two:\n\n* If the majors are numerically different, then take the one\n with a bigger major number. `2.3.4 > 1.3.4`\n* If the minors are numerically different, then take the one\n with the bigger minor number. `2.3.4 > 2.2.4`\n* If the patches are numerically different, then take the one with the\n bigger patch number. `2.3.4 > 2.3.3`\n* If only one of them has a build number, then take the one with the\n build number. `2.3.4-0 > 2.3.4`\n* If they both have build numbers, and the build numbers are numerically\n different, then take the one with the bigger build number.\n `2.3.4-10 > 2.3.4-9`\n* If only one of them has a tag, then take the one without the tag.\n `2.3.4 > 2.3.4-beta`\n* If they both have tags, then take the one with the lexicographically\n larger tag. `2.3.4-beta > 2.3.4-alpha`\n* At this point, they\'re equal.\n\n## Ranges\n\nThe following range styles are supported:\n\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`\n* `~1.2.3` := `>=1.2.3 <1.3.0`\n* `~1.2` := `>=1.2.0 <1.3.0`\n* `~1` := `>=1.0.0 <2.0.0`\n* `1.2.x` := `>=1.2.0 <1.3.0`\n* `1.x` := `>=1.0.0 <2.0.0`\n\nRanges can be joined with either a space (which implies "and") or a\n`||` (which implies "or").\n\n## Functions\n\n* valid(v): Return the parsed version, or null if it\'s not valid.\n* inc(v, release): Return the version incremented by the release type\n (major, minor, patch, or build), or null if it\'s not valid.\n\n### Comparison\n\n* gt(v1, v2): `v1 > v2`\n* gte(v1, v2): `v1 >= v2`\n* lt(v1, v2): `v1 < v2`\n* lte(v1, v2): `v1 <= v2`\n* eq(v1, v2): `v1 == v2` This is true if they\'re logically equivalent,\n even if they\'re not the exact same string. You already know how to\n compare strings.\n* neq(v1, v2): `v1 != v2` The opposite of eq.\n* cmp(v1, comparator, v2): Pass in a comparison string, and it\'ll call\n the corresponding function above. `"==="` and `"!=="` do simple\n string comparison, but are included for completeness. Throws if an\n invalid comparison string is provided.\n* compare(v1, v2): Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if\n v2 is greater. Sorts in ascending order if passed to Array.sort().\n* rcompare(v1, v2): The reverse of compare. Sorts an array of versions\n in descending order when passed to Array.sort().\n\n\n### Ranges\n\n* validRange(range): Return the valid range or null if it\'s not valid\n* satisfies(version, range): Return true if the version satisfies the\n range.\n* maxSatisfying(versions, range): Return the highest version in the list\n that satisfies the range, or null if none of them do.\n',
3032 silly resolved readmeFilename: 'README.md',
3032 silly resolved bugs: { url: 'https://github.com/isaacs/node-semver/issues' },
3032 silly resolved homepage: 'https://github.com/isaacs/node-semver',
3032 silly resolved _id: 'semver@1.1.4',
3032 silly resolved _from: 'semver@~1.1.0' },
3032 silly resolved { name: 'config-chain',
3032 silly resolved version: '1.1.8',
3032 silly resolved description: 'HANDLE CONFIGURATION ONCE AND FOR ALL',
3032 silly resolved homepage: 'http://github.com/dominictarr/config-chain',
3032 silly resolved repository:
3032 silly resolved { type: 'git',
3032 silly resolved url: 'https://github.com/dominictarr/config-chain.git' },
3032 silly resolved dependencies: { 'proto-list': '~1.2.1', ini: '1' },
3032 silly resolved devDependencies: { tap: '0.3.0' },
3032 silly resolved author:
3032 silly resolved { name: 'Dominic Tarr',
3032 silly resolved email: 'dominic.tarr@gmail.com',
3032 silly resolved url: 'http://dominictarr.com' },
3032 silly resolved scripts: { test: 'tap test/' },
3032 silly resolved readme: '#config-chain\n\nUSE THIS MODULE TO LOAD ALL YOUR CONFIGURATIONS\n\n``` js\n\n //npm install config-chain\n\n var cc = require(\'config-chain\')\n , opts = require(\'optimist\').argv //ALWAYS USE OPTIMIST FOR COMMAND LINE OPTIONS.\n , env = opts.env || process.env.YOUR_APP_ENV || \'dev\' //SET YOUR ENV LIKE THIS.\n\n // EACH ARG TO CONFIGURATOR IS LOADED INTO CONFIGURATION CHAIN\n // EARLIER ITEMS OVERIDE LATER ITEMS\n // PUTS COMMAND LINE OPTS FIRST, AND DEFAULTS LAST!\n\n //strings are interpereted as filenames.\n //will be loaded synchronously\n\n var conf =\n cc(\n //OVERRIDE SETTINGS WITH COMMAND LINE OPTS\n opts,\n\n //ENV VARS IF PREFIXED WITH \'myApp_\'\n\n cc.env(\'myApp_\'), //myApp_foo = \'like this\'\n\n //FILE NAMED BY ENV\n path.join(__dirname, \'config.\' + env + \'.json\'),\n\n //IF `env` is PRODUCTION\n env === \'prod\'\n ? path.join(__dirname, \'special.json\') //load a special file\n : null //NULL IS IGNORED!\n\n //SUBDIR FOR ENV CONFIG\n path.join(__dirname, \'config\', env, \'config.json\'),\n\n //SEARCH PARENT DIRECTORIES FROM CURRENT DIR FOR FILE\n cc.find(\'config.json\'),\n\n //PUT DEFAULTS LAST\n {\n host: \'localhost\'\n port: 8000\n })\n\n var host = conf.get(\'host\')\n\n // or\n\n var host = conf.store.host\n\n```\n\nFINALLY, EASY FLEXIBLE CONFIGURATIONS!\n\n##see also: [proto-list](https://github.com/isaacs/proto-list/)\n\nWHATS THAT YOU SAY?\n\nYOU WANT A "CLASS" SO THAT YOU CAN DO CRAYCRAY JQUERY CRAPS?\n\nEXTEND WITH YOUR OWN FUNCTIONALTY!?\n\n## CONFIGCHAIN LIVES TO SERVE ONLY YOU!\n\n```javascript\nvar cc = require(\'config-chain\')\n\n// all the stuff you did before\nvar config = cc({\n some: \'object\'\n },\n cc.find(\'config.json\'),\n cc.env(\'myApp_\')\n )\n // CONFIGS AS A SERVICE, aka "CaaS", aka EVERY DEVOPS DREAM OMG!\n .addUrl(\'http://configurator:1234/my-configs\')\n // ASYNC FTW!\n .addFile(\'/path/to/file.json\')\n\n // OBJECTS ARE OK TOO, they\'re SYNC but they still ORDER RIGHT\n // BECAUSE PROMISES ARE USED BUT NO, NOT *THOSE* PROMISES, JUST\n // ACTUAL PROMISES LIKE YOU MAKE TO YOUR MOM, KEPT OUT OF LOVE\n .add({ another: \'object\' })\n\n // DIE A THOUSAND DEATHS IF THIS EVER HAPPENS!!\n .on(\'error\', function (er) {\n // IF ONLY THERE WAS SOMETHIGN HARDER THAN THROW\n // MY SORROW COULD BE ADEQUATELY EXPRESSED. /o\\\n throw er\n })\n\n // THROW A PARTY IN YOUR FACE WHEN ITS ALL LOADED!!\n .on(\'load\', function (config) {\n console.awesome(\'HOLY SHIT!\')\n })\n```\n\n# BORING API DOCS\n\n## cc(...args)\n\nMAKE A CHAIN AND ADD ALL THE ARGS.\n\nIf the arg is a STRING, then it shall be a JSON FILENAME.\n\nSYNC I/O!\n\nRETURN THE CHAIN!\n\n## cc.json(...args)\n\nJoin the args INTO A JSON FILENAME!\n\nSYNC I/O!\n\n## cc.find(relativePath)\n\nSEEK the RELATIVE PATH by climbing the TREE OF DIRECTORIES.\n\nRETURN THE FOUND PATH!\n\nSYNC I/O!\n\n## cc.parse(content, file, type)\n\nParse the content string, and guess the type from either the\nspecified type or the filename.\n\nRETURN THE RESULTING OBJECT!\n\nNO I/O!\n\n## cc.env(prefix, env=process.env)\n\nGet all the keys on the provided env object (or process.env) which are\nprefixed by the specified prefix, and put the values on a new object.\n\nRETURN THE RESULTING OBJECT!\n\nNO I/O!\n\n## cc.ConfigChain()\n\nThe ConfigChain class for CRAY CRAY JQUERY STYLE METHOD CHAINING!\n\nOne of these is returned by the main exported function, as well.\n\nIt inherits (prototypically) from\n[ProtoList](https://github.com/isaacs/proto-list/), and also inherits\n(parasitically) from\n[EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter)\n\nIt has all the methods from both, and except where noted, they are\nunchanged.\n\n### LET IT BE KNOWN THAT chain IS AN INSTANCE OF ConfigChain.\n\n## chain.sources\n\nA list of all the places where it got stuff. The keys are the names\npassed to addFile or addUrl etc, and the value is an object with some\ninfo about the data source.\n\n## chain.addFile(filename, type, [name=filename])\n\nFilename is the name of the file. Name is an arbitrary string to be\nused later if you desire. Type is either \'ini\' or \'json\', and will\ntry to guess intelligently if omitted.\n\nLoaded files can be saved later.\n\n## chain.addUrl(url, type, [name=url])\n\nSame as the filename thing, but with a url.\n\nCan\'t be saved later.\n\n## chain.addEnv(prefix, env, [name=\'env\'])\n\nAdd all the keys from the env object that start with the prefix.\n\n## chain.addString(data, file, type, [name])\n\nParse the string and add it to the set. (Mainly used internally.)\n\n## chain.add(object, [name])\n\nAdd the object to the set.\n\n## chain.root {Object}\n\nThe root from which all the other config objects in the set descend\nprototypically.\n\nPut your defaults here.\n\n## chain.set(key, value, name)\n\nSet the key to the value on the named config object. If name is\nunset, then set it on the first config object in the set. (That is,\nthe one with the highest priority, which was added first.)\n\n## chain.get(key, [name])\n\nGet the key from the named config object explicitly, or from the\nresolved configs if not specified.\n\n## chain.save(name, type)\n\nWrite the named config object back to its origin.\n\nCurrently only supported for env and file config types.\n\nFor files, encode the data according to the type.\n\n## chain.on(\'save\', function () {})\n\nWhen one or more files are saved, emits `save` event when they\'re all\nsaved.\n\n## chain.on(\'load\', function (chain) {})\n\nWhen the config chain has loaded all the specified files and urls and\nsuch, the \'load\' event fires.\n',
3032 silly resolved readmeFilename: 'readme.markdown',
3032 silly resolved bugs: { url: 'https://github.com/dominictarr/config-chain/issues' },
3032 silly resolved _id: 'config-chain@1.1.8',
3032 silly resolved _from: 'config-chain@~1.1.1' },
3032 silly resolved { name: 'inherits',
3032 silly resolved description: 'A tiny simple way to do classic inheritance in js',
3032 silly resolved version: '1.0.0',
3032 silly resolved keywords: [ 'inheritance', 'class', 'klass', 'oop', 'object-oriented' ],
3032 silly resolved main: './inherits.js',
3032 silly resolved repository: { type: 'git', url: 'https://github.com/isaacs/inherits' },
3032 silly resolved author:
3032 silly resolved { name: 'Isaac Z. Schlueter',
3032 silly resolved email: 'i@izs.me',
3032 silly resolved url: 'http://blog.izs.me/' },
3032 silly resolved readme: 'A dead simple way to do inheritance in JS.\n\n var inherits = require("inherits")\n\n function Animal () {\n this.alive = true\n }\n Animal.prototype.say = function (what) {\n console.log(what)\n }\n\n inherits(Dog, Animal)\n function Dog () {\n Dog.super.apply(this)\n }\n Dog.prototype.sniff = function () {\n this.say("sniff sniff")\n }\n Dog.prototype.bark = function () {\n this.say("woof woof")\n }\n\n inherits(Chihuahua, Dog)\n function Chihuahua () {\n Chihuahua.super.apply(this)\n }\n Chihuahua.prototype.bark = function () {\n this.say("yip yip")\n }\n\n // also works\n function Cat () {\n Cat.super.apply(this)\n }\n Cat.prototype.hiss = function () {\n this.say("CHSKKSS!!")\n }\n inherits(Cat, Animal, {\n meow: function () { this.say("miao miao") }\n })\n Cat.prototype.purr = function () {\n this.say("purr purr")\n }\n\n\n var c = new Chihuahua\n assert(c instanceof Chihuahua)\n assert(c instanceof Dog)\n assert(c instanceof Animal)\n\nThe actual function is laughably small. 10-lines small.\n',
3032 silly resolved readmeFilename: 'README.md',
3032 silly resolved bugs: { url: 'https://github.com/isaacs/inherits/issues' },
3032 silly resolved homepage: 'https://github.com/isaacs/inherits',
3032 silly resolved _id: 'inherits@1.0.0',
3032 silly resolved _from: 'inherits@~1.0.0' },
3032 silly resolved { name: 'once',
3032 silly resolved version: '1.1.1',
3032 silly resolved description: 'Run a function exactly one time',
3032 silly resolved main: 'once.js',
3032 silly resolved directories: { test: 'test' },
3032 silly resolved dependencies: {},
3032 silly resolved devDependencies: { tap: '~0.3.0' },
3032 silly resolved scripts: { test: 'tap test/*.js' },
3032 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/once' },
3032 silly resolved keywords: [ 'once', 'function', 'one', 'single' ],
3032 silly resolved author:
3032 silly resolved { name: 'Isaac Z. Schlueter',
3032 silly resolved email: 'i@izs.me',
3032 silly resolved url: 'http://blog.izs.me/' },
3032 silly resolved license: 'BSD',
3032 silly resolved readme: '# once\n\nOnly call a function once.\n\n## usage\n\n```javascript\nvar once = require(\'once\')\n\nfunction load (file, cb) {\n cb = once(cb)\n loader.load(\'file\')\n loader.once(\'load\', cb)\n loader.once(\'error\', cb)\n}\n```\n\nOr add to the Function.prototype in a responsible way:\n\n```javascript\n// only has to be done once\nrequire(\'once\').proto()\n\nfunction load (file, cb) {\n cb = cb.once()\n loader.load(\'file\')\n loader.once(\'load\', cb)\n loader.once(\'error\', cb)\n}\n```\n\nIronically, the prototype feature makes this module twice as\ncomplicated as necessary.\n',
3032 silly resolved readmeFilename: 'README.md',
3032 silly resolved bugs: { url: 'https://github.com/isaacs/once/issues' },
3032 silly resolved homepage: 'https://github.com/isaacs/once',
3032 silly resolved _id: 'once@1.1.1',
3032 silly resolved dist: { shasum: '67fe9acc72dc7e1bd71b6b99b3d2787a4fd92584' },
3032 silly resolved _from: 'once@~1.1.1',
3032 silly resolved _resolved: 'https://registry.npmjs.org/once/-/once-1.1.1.tgz' },
3032 silly resolved { author:
3032 silly resolved { name: 'Isaac Z. Schlueter',
3032 silly resolved email: 'i@izs.me',
3032 silly resolved url: 'http://blog.izs.me/' },
3032 silly resolved name: 'ini',
3032 silly resolved description: 'An ini encoder/decoder for node',
3032 silly resolved version: '1.1.0',
3032 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/ini.git' },
3032 silly resolved main: 'ini.js',
3032 silly resolved scripts: { test: 'tap test/*.js' },
3032 silly resolved engines: { node: '*' },
3032 silly resolved dependencies: {},
3032 silly resolved devDependencies: { tap: '~0.0.9' },
3032 silly resolved readme: 'An ini format parser and serializer for node.\n\nSections are treated as nested objects. Items before the first heading\nare saved on the object directly.\n\n## Usage\n\nConsider an ini-file `config.ini` that looks like this:\n\n ; this comment is being ignored\n scope = global\n\n [database]\n user = dbuser\n password = dbpassword\n database = use_this_database\n\n [paths.default]\n datadir = /var/lib/data\n array[] = first value\n array[] = second value\n array[] = third value\n\nYou can read, manipulate and write the ini-file like so:\n\n var fs = require(\'fs\')\n , ini = require(\'ini\')\n\n var config = ini.parse(fs.readFileSync(\'./config.ini\', \'utf-8\'))\n\n config.scope = \'local\'\n config.database.database = \'use_another_database\'\n config.paths.default.tmpdir = \'/tmp\'\n delete config.paths.default.datadir\n config.paths.default.array.push(\'fourth value\')\n\n fs.writeFileSync(\'./config_modified.ini\', ini.stringify(config, \'section\'))\n\nThis will result in a file called `config_modified.ini` being written to the filesystem with the following content:\n\n [section]\n scope = local\n [section.database]\n user = dbuser\n password = dbpassword\n database = use_another_database\n [section.paths.default]\n tmpdir = /tmp\n array[] = first value\n array[] = second value\n array[] = third value\n array[] = fourth value\n\n\n## API\n\n### decode(inistring)\nDecode the ini-style formatted `inistring` into a nested object.\n\n### parse(inistring)\nAlias for `decode(inistring)`\n\n### encode(object, [section])\nEncode the object `object` into an ini-style formatted string. If the optional parameter `section` is given, then all top-level properties of the object are put into this section and the `section`-string is prepended to all sub-sections, see the usage example above.\n\n### stringify(object, [section])\nAlias for `encode(object, [section])`\n\n### safe(val)\nEscapes the string `val` such that it is safe to be used as a key or value in an ini-file. Basically escapes quotes. For example\n\n ini.safe(\'"unsafe string"\')\n\nwould result in\n\n "\\"unsafe string\\""\n\n### unsafe(val)\nUnescapes the string `val`\n',
3032 silly resolved readmeFilename: 'README.md',
3032 silly resolved bugs: { url: 'https://github.com/isaacs/ini/issues' },
3032 silly resolved homepage: 'https://github.com/isaacs/ini',
3032 silly resolved _id: 'ini@1.1.0',
3032 silly resolved dist: { shasum: '98de2537d42b5112c6c385b31bcc928f201de29d' },
3032 silly resolved _from: 'ini@~1.1.0',
3032 silly resolved _resolved: 'https://registry.npmjs.org/ini/-/ini-1.1.0.tgz' } ]
3033 info install osenv@0.0.3 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
3034 info install nopt@2.2.1 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
3035 info install semver@1.1.4 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
3036 info install config-chain@1.1.8 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
3037 info install inherits@1.0.0 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
3038 info install once@1.1.1 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
3039 info install ini@1.1.0 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
3040 info installOne osenv@0.0.3
3041 info installOne nopt@2.2.1
3042 info installOne semver@1.1.4
3043 info installOne config-chain@1.1.8
3044 info installOne inherits@1.0.0
3045 info installOne once@1.1.1
3046 info installOne ini@1.1.0
3047 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/osenv unbuild
3048 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt unbuild
3049 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/semver unbuild
3050 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain unbuild
3051 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/inherits unbuild
3052 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/once unbuild
3053 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/ini unbuild
3054 verbose tar unpack /Volumes/Storage/martincleaver/.npm/osenv/0.0.3/package.tgz
3055 silly lockFile f606b962-dules-npmconf-node-modules-osenv tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/osenv
3056 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/osenv /Volumes/Storage/martincleaver/.npm/f606b962-dules-npmconf-node-modules-osenv.lock
3057 silly lockFile 25a4d033-aver-npm-osenv-0-0-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/osenv/0.0.3/package.tgz
3058 verbose lock tar:///Volumes/Storage/martincleaver/.npm/osenv/0.0.3/package.tgz /Volumes/Storage/martincleaver/.npm/25a4d033-aver-npm-osenv-0-0-3-package-tgz.lock
3059 verbose tar unpack /Volumes/Storage/martincleaver/.npm/nopt/2.2.1/package.tgz
3060 silly lockFile bd574634-odules-npmconf-node-modules-nopt tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt
3061 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt /Volumes/Storage/martincleaver/.npm/bd574634-odules-npmconf-node-modules-nopt.lock
3062 silly lockFile 8caf3634-eaver-npm-nopt-2-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/nopt/2.2.1/package.tgz
3063 verbose lock tar:///Volumes/Storage/martincleaver/.npm/nopt/2.2.1/package.tgz /Volumes/Storage/martincleaver/.npm/8caf3634-eaver-npm-nopt-2-2-1-package-tgz.lock
3064 verbose tar unpack /Volumes/Storage/martincleaver/.npm/semver/1.1.4/package.tgz
3065 silly lockFile aff94ba4-ules-npmconf-node-modules-semver tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/semver
3066 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/semver /Volumes/Storage/martincleaver/.npm/aff94ba4-ules-npmconf-node-modules-semver.lock
3067 silly lockFile ccb0b235-ver-npm-semver-1-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/semver/1.1.4/package.tgz
3068 verbose lock tar:///Volumes/Storage/martincleaver/.npm/semver/1.1.4/package.tgz /Volumes/Storage/martincleaver/.npm/ccb0b235-ver-npm-semver-1-1-4-package-tgz.lock
3069 verbose tar unpack /Volumes/Storage/martincleaver/.npm/config-chain/1.1.8/package.tgz
3070 silly lockFile b6268fd9-pmconf-node-modules-config-chain tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain
3071 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain /Volumes/Storage/martincleaver/.npm/b6268fd9-pmconf-node-modules-config-chain.lock
3072 silly lockFile 9ed234b0-m-config-chain-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/config-chain/1.1.8/package.tgz
3073 verbose lock tar:///Volumes/Storage/martincleaver/.npm/config-chain/1.1.8/package.tgz /Volumes/Storage/martincleaver/.npm/9ed234b0-m-config-chain-1-1-8-package-tgz.lock
3074 verbose tar unpack /Volumes/Storage/martincleaver/.npm/inherits/1.0.0/package.tgz
3075 silly lockFile fccb9bc2-es-npmconf-node-modules-inherits tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/inherits
3076 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/inherits /Volumes/Storage/martincleaver/.npm/fccb9bc2-es-npmconf-node-modules-inherits.lock
3077 silly lockFile 0cde1f7e-r-npm-inherits-1-0-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/inherits/1.0.0/package.tgz
3078 verbose lock tar:///Volumes/Storage/martincleaver/.npm/inherits/1.0.0/package.tgz /Volumes/Storage/martincleaver/.npm/0cde1f7e-r-npm-inherits-1-0-0-package-tgz.lock
3079 verbose tar unpack /Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
3080 silly lockFile 5e526a51-odules-npmconf-node-modules-once tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/once
3081 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/once /Volumes/Storage/martincleaver/.npm/5e526a51-odules-npmconf-node-modules-once.lock
3082 silly lockFile 26db3178-eaver-npm-once-1-1-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
3083 verbose lock tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz /Volumes/Storage/martincleaver/.npm/26db3178-eaver-npm-once-1-1-1-package-tgz.lock
3084 verbose tar unpack /Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
3085 silly lockFile 0b299ab1-modules-npmconf-node-modules-ini tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/ini
3086 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/ini /Volumes/Storage/martincleaver/.npm/0b299ab1-modules-npmconf-node-modules-ini.lock
3087 silly lockFile 9f41a675-leaver-npm-ini-1-1-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
3088 verbose lock tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz /Volumes/Storage/martincleaver/.npm/9f41a675-leaver-npm-ini-1-1-0-package-tgz.lock
3089 silly gunzTarPerm modes [ '755', '644' ]
3090 silly gunzTarPerm modes [ '755', '644' ]
3091 silly gunzTarPerm modes [ '755', '644' ]
3092 silly gunzTarPerm modes [ '755', '644' ]
3093 silly gunzTarPerm modes [ '755', '644' ]
3094 silly gunzTarPerm modes [ '755', '644' ]
3095 silly gunzTarPerm modes [ '755', '644' ]
3096 verbose url raw combined-stream
3097 verbose url resolving [ 'https://registry.npmjs.org/', './combined-stream' ]
3098 verbose url resolved https://registry.npmjs.org/combined-stream
3099 info trying registry request attempt 1 at 19:41:54
3100 verbose etag "20CIWBBN21QC5XLY89TMVKQYU"
3101 http GET https://registry.npmjs.org/combined-stream
3102 silly gunzTarPerm extractEntry package.json
3103 silly gunzTarPerm extractEntry package.json
3104 silly gunzTarPerm extractEntry package.json
3105 silly gunzTarPerm extractEntry package.json
3106 silly gunzTarPerm extractEntry package.json
3107 silly gunzTarPerm extractEntry README.md
3108 silly gunzTarPerm extractEntry LICENSE
3109 silly gunzTarPerm extractEntry package.json
3110 silly gunzTarPerm extractEntry inherits.js
3111 silly lockFile 3d42b109-uest-node-modules-http-signature tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/http-signature
3112 silly lockFile 3d42b109-uest-node-modules-http-signature tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/http-signature
3113 silly gunzTarPerm extractEntry .npmignore
3114 silly gunzTarPerm extractEntry README.md
3115 silly gunzTarPerm extractEntry README.md
3116 silly gunzTarPerm extractEntry LICENSE
3117 silly gunzTarPerm extractEntry README.md
3118 silly gunzTarPerm extractEntry LICENSE
3119 silly lockFile b4d40cf8-ttp-signature-0-10-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/http-signature/0.10.0/package.tgz
3120 silly lockFile b4d40cf8-ttp-signature-0-10-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/http-signature/0.10.0/package.tgz
3121 silly gunzTarPerm extractEntry .npmignore
3122 silly gunzTarPerm extractEntry LICENCE
3123 silly gunzTarPerm extractEntry README.md
3124 silly gunzTarPerm extractEntry LICENSE
3125 silly gunzTarPerm extractEntry package.json
3126 silly gunzTarPerm extractEntry README.md
3127 info preinstall http-signature@0.10.0
3128 silly gunzTarPerm extractEntry osenv.js
3129 silly gunzTarPerm extractEntry test/unix.js
3130 verbose readDependencies using package.json deps
3131 silly gunzTarPerm extractEntry ini.js
3132 silly gunzTarPerm extractEntry test/bar.js
3133 silly gunzTarPerm extractEntry LICENSE
3134 silly gunzTarPerm extractEntry bin/nopt.js
3135 silly gunzTarPerm extractEntry once.js
3136 silly gunzTarPerm extractEntry test/once.js
3137 silly gunzTarPerm extractEntry index.js
3138 silly gunzTarPerm extractEntry readme.markdown
3139 verbose readDependencies using package.json deps
3140 silly lockFile 9a58a886-async-0-9-0 async@0.9.0
3141 silly lockFile 9a58a886-async-0-9-0 async@0.9.0
3142 verbose cache add [ 'ctype@0.5.2', null ]
3143 verbose cache add name=undefined spec="ctype@0.5.2" args=["ctype@0.5.2",null]
3144 verbose parsed url { protocol: null,
3144 verbose parsed url slashes: null,
3144 verbose parsed url auth: null,
3144 verbose parsed url host: null,
3144 verbose parsed url port: null,
3144 verbose parsed url hostname: null,
3144 verbose parsed url hash: null,
3144 verbose parsed url search: null,
3144 verbose parsed url query: null,
3144 verbose parsed url pathname: 'ctype@0.5.2',
3144 verbose parsed url path: 'ctype@0.5.2',
3144 verbose parsed url href: 'ctype@0.5.2' }
3145 verbose cache add name="ctype" spec="0.5.2" args=["ctype","0.5.2"]
3146 verbose parsed url { protocol: null,
3146 verbose parsed url slashes: null,
3146 verbose parsed url auth: null,
3146 verbose parsed url host: null,
3146 verbose parsed url port: null,
3146 verbose parsed url hostname: null,
3146 verbose parsed url hash: null,
3146 verbose parsed url search: null,
3146 verbose parsed url query: null,
3146 verbose parsed url pathname: '0.5.2',
3146 verbose parsed url path: '0.5.2',
3146 verbose parsed url href: '0.5.2' }
3147 verbose addNamed [ 'ctype', '0.5.2' ]
3148 verbose addNamed [ '0.5.2', '0.5.2' ]
3149 silly lockFile c556016e-ctype-0-5-2 ctype@0.5.2
3150 verbose lock ctype@0.5.2 /Volumes/Storage/martincleaver/.npm/c556016e-ctype-0-5-2.lock
3151 silly lockFile 38be4a8c-async-0-9-0 async@~0.9.0
3152 silly lockFile 38be4a8c-async-0-9-0 async@~0.9.0
3153 silly gunzTarPerm extractEntry semver.js
3154 silly gunzTarPerm extractEntry test.js
3155 silly gunzTarPerm extractEntry bin/semver
3156 verbose cache add [ 'assert-plus@0.1.2', null ]
3157 verbose cache add name=undefined spec="assert-plus@0.1.2" args=["assert-plus@0.1.2",null]
3158 verbose parsed url { protocol: null,
3158 verbose parsed url slashes: null,
3158 verbose parsed url auth: null,
3158 verbose parsed url host: null,
3158 verbose parsed url port: null,
3158 verbose parsed url hostname: null,
3158 verbose parsed url hash: null,
3158 verbose parsed url search: null,
3158 verbose parsed url query: null,
3158 verbose parsed url pathname: 'assert-plus@0.1.2',
3158 verbose parsed url path: 'assert-plus@0.1.2',
3158 verbose parsed url href: 'assert-plus@0.1.2' }
3159 verbose cache add name="assert-plus" spec="0.1.2" args=["assert-plus","0.1.2"]
3160 verbose parsed url { protocol: null,
3160 verbose parsed url slashes: null,
3160 verbose parsed url auth: null,
3160 verbose parsed url host: null,
3160 verbose parsed url port: null,
3160 verbose parsed url hostname: null,
3160 verbose parsed url hash: null,
3160 verbose parsed url search: null,
3160 verbose parsed url query: null,
3160 verbose parsed url pathname: '0.1.2',
3160 verbose parsed url path: '0.1.2',
3160 verbose parsed url href: '0.1.2' }
3161 verbose addNamed [ 'assert-plus', '0.1.2' ]
3162 verbose addNamed [ '0.1.2', '0.1.2' ]
3163 silly lockFile 46222085-assert-plus-0-1-2 assert-plus@0.1.2
3164 verbose lock assert-plus@0.1.2 /Volumes/Storage/martincleaver/.npm/46222085-assert-plus-0-1-2.lock
3165 verbose cache add [ 'asn1@0.1.11', null ]
3166 verbose cache add name=undefined spec="asn1@0.1.11" args=["asn1@0.1.11",null]
3167 verbose parsed url { protocol: null,
3167 verbose parsed url slashes: null,
3167 verbose parsed url auth: null,
3167 verbose parsed url host: null,
3167 verbose parsed url port: null,
3167 verbose parsed url hostname: null,
3167 verbose parsed url hash: null,
3167 verbose parsed url search: null,
3167 verbose parsed url query: null,
3167 verbose parsed url pathname: 'asn1@0.1.11',
3167 verbose parsed url path: 'asn1@0.1.11',
3167 verbose parsed url href: 'asn1@0.1.11' }
3168 verbose cache add name="asn1" spec="0.1.11" args=["asn1","0.1.11"]
3169 verbose parsed url { protocol: null,
3169 verbose parsed url slashes: null,
3169 verbose parsed url auth: null,
3169 verbose parsed url host: null,
3169 verbose parsed url port: null,
3169 verbose parsed url hostname: null,
3169 verbose parsed url hash: null,
3169 verbose parsed url search: null,
3169 verbose parsed url query: null,
3169 verbose parsed url pathname: '0.1.11',
3169 verbose parsed url path: '0.1.11',
3169 verbose parsed url href: '0.1.11' }
3170 verbose addNamed [ 'asn1', '0.1.11' ]
3171 verbose addNamed [ '0.1.11', '0.1.11' ]
3172 silly lockFile 41ecb821-asn1-0-1-11 asn1@0.1.11
3173 verbose lock asn1@0.1.11 /Volumes/Storage/martincleaver/.npm/41ecb821-asn1-0-1-11.lock
3174 silly gunzTarPerm extractEntry examples/my-program.js
3175 silly gunzTarPerm extractEntry lib/nopt.js
3176 silly gunzTarPerm extractEntry test/basic.js
3177 silly gunzTarPerm extractEntry test/broken.js
3178 silly gunzTarPerm extractEntry test/windows.js
3179 silly gunzTarPerm extractEntry test/foo.js
3180 silly gunzTarPerm extractEntry test/fixtures/foo.ini
3181 http 304 https://registry.npmjs.org/combined-stream
3182 silly registry.get cb [ 304,
3182 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:55 GMT',
3182 silly registry.get server: 'Apache',
3182 silly registry.get via: '1.1 varnish',
3182 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:55 GMT',
3182 silly registry.get 'cache-control': 'max-age=60',
3182 silly registry.get etag: '"20CIWBBN21QC5XLY89TMVKQYU"',
3182 silly registry.get 'x-served-by': 'cache-iad2127-IAD',
3182 silly registry.get 'x-cache': 'HIT',
3182 silly registry.get 'x-cache-hits': '1',
3182 silly registry.get 'x-timer': 'S1407886915.406980,VS0,VE0',
3182 silly registry.get vary: 'Accept',
3182 silly registry.get 'content-length': '0',
3182 silly registry.get 'keep-alive': 'timeout=10, max=50',
3182 silly registry.get connection: 'Keep-Alive' } ]
3183 verbose etag combined-stream from cache
3184 silly lockFile d96cfb06-s-request-node-modules-node-uuid tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/node-uuid
3185 silly lockFile d96cfb06-s-request-node-modules-node-uuid tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/node-uuid
3186 silly lockFile cbe698a5--npm-node-uuid-1-4-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/node-uuid/1.4.1/package.tgz
3187 silly lockFile cbe698a5--npm-node-uuid-1-4-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/node-uuid/1.4.1/package.tgz
3188 silly gunzTarPerm extractEntry test/chain-class.js
3189 silly gunzTarPerm extractEntry test/env.js
3190 info preinstall node-uuid@1.4.1
3191 silly addNameRange number 2 { name: 'combined-stream',
3191 silly addNameRange range: '>=0.0.4-0 <0.1.0-0',
3191 silly addNameRange hasData: true }
3192 silly addNameRange versions [ 'combined-stream',
3192 silly addNameRange [ '0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5' ] ]
3193 verbose addNamed [ 'combined-stream', '0.0.5' ]
3194 verbose addNamed [ '0.0.5', '0.0.5' ]
3195 silly lockFile a9334ff4-combined-stream-0-0-5 combined-stream@0.0.5
3196 verbose lock combined-stream@0.0.5 /Volumes/Storage/martincleaver/.npm/a9334ff4-combined-stream-0-0-5.lock
3197 verbose readDependencies using package.json deps
3198 verbose readDependencies using package.json deps
3199 silly resolved []
3200 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/node-uuid
3201 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/node-uuid
3202 verbose linkStuff [ false,
3202 verbose linkStuff false,
3202 verbose linkStuff false,
3202 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
3203 info linkStuff node-uuid@1.4.1
3204 verbose linkBins node-uuid@1.4.1
3205 verbose linkMans node-uuid@1.4.1
3206 verbose rebuildBundles node-uuid@1.4.1
3207 info install node-uuid@1.4.1
3208 silly lockFile 64935d62-odules-request-node-modules-mime tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/mime
3209 silly lockFile 64935d62-odules-request-node-modules-mime tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/mime
3210 info postinstall node-uuid@1.4.1
3211 silly lockFile 3a4e49e5-aver-npm-mime-1-2-11-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mime/1.2.11/package.tgz
3212 silly lockFile 3a4e49e5-aver-npm-mime-1-2-11-package-tgz tar:///Volumes/Storage/martincleaver/.npm/mime/1.2.11/package.tgz
3213 verbose url raw ctype/0.5.2
3214 verbose url resolving [ 'https://registry.npmjs.org/', './ctype/0.5.2' ]
3215 verbose url resolved https://registry.npmjs.org/ctype/0.5.2
3216 info trying registry request attempt 1 at 19:41:54
3217 verbose etag "5JSX2BK8B0RV60UFH593EDYTD"
3218 http GET https://registry.npmjs.org/ctype/0.5.2
3219 verbose url raw assert-plus/0.1.2
3220 verbose url resolving [ 'https://registry.npmjs.org/', './assert-plus/0.1.2' ]
3221 verbose url resolved https://registry.npmjs.org/assert-plus/0.1.2
3222 info trying registry request attempt 1 at 19:41:54
3223 verbose etag "8QCRMJXYDLBEE50NNHNQATXZM"
3224 http GET https://registry.npmjs.org/assert-plus/0.1.2
3225 verbose url raw asn1/0.1.11
3226 verbose url resolving [ 'https://registry.npmjs.org/', './asn1/0.1.11' ]
3227 verbose url resolved https://registry.npmjs.org/asn1/0.1.11
3228 info trying registry request attempt 1 at 19:41:54
3229 verbose etag "B74JHOHEJXMOVF1G3A5W2PJAM"
3230 http GET https://registry.npmjs.org/asn1/0.1.11
3231 info preinstall mime@1.2.11
3232 verbose readDependencies using package.json deps
3233 verbose readDependencies using package.json deps
3234 silly resolved []
3235 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/mime
3236 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/mime
3237 verbose linkStuff [ false,
3237 verbose linkStuff false,
3237 verbose linkStuff false,
3237 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
3238 info linkStuff mime@1.2.11
3239 verbose linkBins mime@1.2.11
3240 verbose linkMans mime@1.2.11
3241 verbose rebuildBundles mime@1.2.11
3242 info install mime@1.2.11
3243 info postinstall mime@1.2.11
3244 silly gunzTarPerm extractEntry test/find-file.js
3245 silly gunzTarPerm extractEntry test/get.js
3246 http 200 https://registry.npmjs.org/ctype/0.5.2
3247 silly registry.get cb [ 200,
3247 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:55 GMT',
3247 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
3247 silly registry.get etag: '"DH8KIILDZNSG4A0BO7HW5BHHL"',
3247 silly registry.get 'content-type': 'application/json',
3247 silly registry.get 'cache-control': 'max-age=60',
3247 silly registry.get 'content-length': '552',
3247 silly registry.get 'accept-ranges': 'bytes',
3247 silly registry.get via: '1.1 varnish',
3247 silly registry.get age: '929',
3247 silly registry.get 'x-served-by': 'cache-iad2132-IAD',
3247 silly registry.get 'x-cache': 'HIT',
3247 silly registry.get 'x-cache-hits': '2',
3247 silly registry.get 'x-timer': 'S1407886915.563991,VS0,VE0',
3247 silly registry.get vary: 'Accept',
3247 silly registry.get 'keep-alive': 'timeout=10, max=50',
3247 silly registry.get connection: 'Keep-Alive' } ]
3248 http 304 https://registry.npmjs.org/assert-plus/0.1.2
3249 silly registry.get cb [ 304,
3249 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:55 GMT',
3249 silly registry.get server: 'Apache',
3249 silly registry.get via: '1.1 varnish',
3249 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:31:59 GMT',
3249 silly registry.get 'cache-control': 'max-age=60',
3249 silly registry.get etag: '"8QCRMJXYDLBEE50NNHNQATXZM"',
3249 silly registry.get 'x-served-by': 'cache-iad2127-IAD',
3249 silly registry.get 'x-cache': 'HIT',
3249 silly registry.get 'x-cache-hits': '65',
3249 silly registry.get 'x-timer': 'S1407886915.564956,VS0,VE0',
3249 silly registry.get vary: 'Accept',
3249 silly registry.get 'content-length': '0',
3249 silly registry.get 'keep-alive': 'timeout=10, max=50',
3249 silly registry.get connection: 'Keep-Alive' } ]
3250 verbose etag assert-plus/0.1.2 from cache
3251 http 200 https://registry.npmjs.org/asn1/0.1.11
3252 silly registry.get cb [ 200,
3252 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:55 GMT',
3252 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
3252 silly registry.get etag: '"6JJ9XTCBMVDIS52H4DHMM4CCJ"',
3252 silly registry.get 'content-type': 'application/json',
3252 silly registry.get 'cache-control': 'max-age=60',
3252 silly registry.get 'content-length': '1039',
3252 silly registry.get 'accept-ranges': 'bytes',
3252 silly registry.get via: '1.1 varnish',
3252 silly registry.get age: '1532',
3252 silly registry.get 'x-served-by': 'cache-iad2129-IAD',
3252 silly registry.get 'x-cache': 'HIT',
3252 silly registry.get 'x-cache-hits': '1',
3252 silly registry.get 'x-timer': 'S1407886915.572099,VS0,VE0',
3252 silly registry.get vary: 'Accept',
3252 silly registry.get 'keep-alive': 'timeout=10, max=50',
3252 silly registry.get connection: 'Keep-Alive' } ]
3253 silly lockFile fccb9bc2-es-npmconf-node-modules-inherits tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/inherits
3254 silly lockFile fccb9bc2-es-npmconf-node-modules-inherits tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/inherits
3255 silly lockFile 0cde1f7e-r-npm-inherits-1-0-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/inherits/1.0.0/package.tgz
3256 silly lockFile 0cde1f7e-r-npm-inherits-1-0-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/inherits/1.0.0/package.tgz
3257 silly lockFile 5e526a51-odules-npmconf-node-modules-once tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/once
3258 silly lockFile 5e526a51-odules-npmconf-node-modules-once tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/once
3259 silly lockFile 26db3178-eaver-npm-once-1-1-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
3260 silly lockFile 26db3178-eaver-npm-once-1-1-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/once/1.1.1/package.tgz
3261 info preinstall inherits@1.0.0
3262 silly lockFile 5a238869--npmjs-org-ctype-ctype-0-5-2-tgz https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz
3263 verbose lock https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz /Volumes/Storage/martincleaver/.npm/5a238869--npmjs-org-ctype-ctype-0-5-2-tgz.lock
3264 silly lockFile 1acbaaf5-y-npmjs-org-asn1-asn1-0-1-11-tgz https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
3265 verbose lock https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz /Volumes/Storage/martincleaver/.npm/1acbaaf5-y-npmjs-org-asn1-asn1-0-1-11-tgz.lock
3266 info preinstall once@1.1.1
3267 verbose addRemoteTarball [ 'https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz',
3267 verbose addRemoteTarball 'fe8091d468a373a0b0c9ff8bbfb3425c00973a1d' ]
3268 verbose addRemoteTarball [ 'https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz',
3268 verbose addRemoteTarball '559be18376d08a4ec4dbe80877d27818639b2df7' ]
3269 verbose readDependencies using package.json deps
3270 info retry fetch attempt 1 at 19:41:55
3271 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/tmp.tgz
3272 info retry fetch attempt 1 at 19:41:55
3273 verbose fetch to= /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/tmp.tgz
3274 verbose readDependencies using package.json deps
3275 silly resolved []
3276 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/inherits
3277 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/inherits
3278 verbose linkStuff [ false,
3278 verbose linkStuff false,
3278 verbose linkStuff false,
3278 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules' ]
3279 info linkStuff inherits@1.0.0
3280 verbose linkBins inherits@1.0.0
3281 verbose linkMans inherits@1.0.0
3282 verbose rebuildBundles inherits@1.0.0
3283 verbose readDependencies using package.json deps
3284 info install inherits@1.0.0
3285 verbose readDependencies using package.json deps
3286 silly resolved []
3287 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/once
3288 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/once
3289 verbose linkStuff [ false,
3289 verbose linkStuff false,
3289 verbose linkStuff false,
3289 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules' ]
3290 info linkStuff once@1.1.1
3291 verbose linkBins once@1.1.1
3292 verbose linkMans once@1.1.1
3293 verbose rebuildBundles once@1.1.1
3294 http GET https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz
3295 http GET https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
3296 info install once@1.1.1
3297 silly gunzTarPerm extractEntry public-suffix.txt
3298 info postinstall inherits@1.0.0
3299 info postinstall once@1.1.1
3300 silly lockFile a9334ff4-combined-stream-0-0-5 combined-stream@0.0.5
3301 silly lockFile a9334ff4-combined-stream-0-0-5 combined-stream@0.0.5
3302 silly lockFile 97e270a8-combined-stream-0-0-4 combined-stream@~0.0.4
3303 silly lockFile 97e270a8-combined-stream-0-0-4 combined-stream@~0.0.4
3304 silly resolved [ { name: 'async',
3304 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
3304 silly resolved main: './lib/async',
3304 silly resolved author: { name: 'Caolan McMahon' },
3304 silly resolved version: '0.9.0',
3304 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
3304 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
3304 silly resolved licenses: [ [Object] ],
3304 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
3304 silly resolved jam: { main: 'lib/async.js', include: [Object] },
3304 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
3304 silly resolved readme: '# Async.js\n\n[![Build Status via Travis CI](https://travis-ci.org/caolan/async.svg?branch=master)](https://travis-ci.org/caolan/async)\n\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. \n\nUsage:\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`](#seriestasks-callback)\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* [`seq`](#seq)\n* [`applyEach`](#applyEach)\n* [`applyEachSeries`](#applyEachSeries)\n* [`queue`](#queue)\n* [`priorityQueue`](#priorityQueue)\n* [`cargo`](#cargo)\n* [`auto`](#auto)\n* [`retry`](#retry)\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 the function `iterator` to each item in `arr`, 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 its `callback`, the main\n`callback` (for the `each` function) is immediately called with the error.\n\nNote, that since this function applies `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 `arr`.\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 when all `iterator` functions\n have finished, or an error occurs.\n\n__Examples__\n\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```js\n// assuming openFiles is an array of file names \n\nasync.each(openFiles, function( file, callback) {\n \n // Perform operation on file here.\n console.log(\'Processing file \' + file);\n \n if( file.length > 32 ) {\n console.log(\'This file name is too long\');\n callback(\'File name too long\');\n } else {\n // Do work to process file here\n console.log(\'File processed\');\n callback();\n }\n}, function(err){\n // if any of the file processing produced an error, err would equal that error\n if( err ) {\n // One of the iterations produced an error.\n // All processing will now stop.\n console.log(\'A file failed to process\');\n } else {\n console.log(\'All files have been processed successfully\');\n }\n});\n```\n\n---------------------------------------\n\n<a name="forEachSeries" />\n<a name="eachSeries" />\n### eachSeries(arr, iterator, callback)\n\nThe same as [`each`](#each), only `iterator` is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThis 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`](#each), only no more than `limit` `iterator`s will be simultaneously \nrunning at any time.\n\nNote that the items in `arr` are not processed in batches, so there is no guarantee that \nthe first `limit` `iterator` functions will complete before any others are started.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `limit` - The maximum number of `iterator`s to run at any time.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\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 when all `iterator` functions\n have finished, or an error occurs.\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 `arr` through\nthe `iterator` function. The `iterator` is called with an item from `arr` and a\ncallback for when it has finished processing. Each of these callback takes 2 arguments: \nan `error`, and the transformed item from `arr`. If `iterator` passes an error to this \ncallback, the main `callback` (for the `map` 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. \nHowever, the results array will be in the same order as the original `arr`.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\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 when all `iterator`\n functions have finished, or an error occurs. Results is an array of the\n transformed items from the `arr`.\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`](#map), only the `iterator` is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThe 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`](#map), only no more than `limit` `iterator`s will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that \nthe first `limit` `iterator` functions will complete before any others are started.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `limit` - The maximum number of `iterator`s to run at any time.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\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 when all `iterator`\n calls have finished, or an error occurs. The result is an array of the\n transformed items from the original `arr`.\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="select" />\n<a name="filter" />\n### filter(arr, iterator, callback)\n\n__Alias:__ `select`\n\nReturns a new array of all the values in `arr` which pass an async truth test.\n_The callback for each `iterator` call only accepts a single argument of `true` or\n`false`; 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 `arr`.\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="selectSeries" />\n<a name="filterSeries" />\n### filterSeries(arr, iterator, callback)\n\n__Alias:__ `selectSeries`\n\nThe same as [`filter`](#filter) only the `iterator` is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThe 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`](#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`](#reject), only the `iterator` is applied to each item in `arr`\nin series.\n\n\n---------------------------------------\n\n<a name="reduce" />\n### reduce(arr, memo, iterator, callback)\n\n__Aliases:__ `inject`, `foldl`\n\nReduces `arr` into a single value using an async `iterator` to return\neach successive step. `memo` is the initial state of the reduction. \nThis function only operates in series. \n\nFor performance reasons, it may make sense to split a call to this function into \na parallel map, and then use the normal `Array.prototype.reduce` on the results. \nThis function is for situations where each step in the reduction needs to be async; \nif you can get the data before reducing 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`](#reduce), only operates on `arr` in reverse order.\n\n\n---------------------------------------\n\n<a name="detect" />\n### detect(arr, iterator, callback)\n\nReturns the first value in `arr` that passes an async truth test. The\n`iterator` 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 `arr` (in terms of order) that passes the test.\n\nIf order within the original `arr` is important, then look at [`detectSeries`](#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 `arr`.\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`](#detect), only the `iterator` is applied to each item in `arr`\nin series. This means the result is always the first in the original `arr` (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 `arr` 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 `arr`.\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 occurs. Results is the items from\n the original `arr` 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__Sort Order__\n\nBy modifying the callback parameter the sorting order can be influenced:\n\n```js\n//ascending order\nasync.sortBy([1,9,3,5], function(x, callback){\n callback(err, x);\n}, function(err,result){\n //result callback\n} );\n\n//descending order\nasync.sortBy([1,9,3,5], function(x, callback){\n callback(err, x*-1); //<- x*-1 instead of x, turns the order around\n}, function(err,result){\n //result callback\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 `arr` satisfies an async test.\n_The callback for each iterator call only accepts a single argument of `true` or\n`false`; 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 in parallel. The iterator is passed a callback(truthValue) which must be \n called with a 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 `arr` satisfies an async test.\n_The callback for each `iterator` call only accepts a single argument of `true` or\n`false`; 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 in parallel. The iterator is passed a callback(truthValue) which must be \n called with a 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 `iterator` to each item in `arr`, concatenating the results. Returns the\nconcatenated list. The `iterator`s 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 `arr` 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 `arr`.\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 occurs. 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 [`concat`](#concat), but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name="series" />\n### series(tasks, [callback])\n\nRun the functions in the `tasks` array 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 `callback` is immediately called with the value of the error. \nOtherwise, `callback` receives an array of results when `tasks` have completed.\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\n[`series`](#series).\n\n**Note** that while many implementations preserve the order of object properties, the\n[ECMAScript Language Specifcation](http://www.ecma-international.org/ecma-262/5.1/#sec-8.6) \nexplicitly states that\n\n> The mechanics and order of enumerating the properties is not specified.\n\nSo if you rely on the order in which your series of functions are executed, and want\nthis to work on all platforms, consider using an array. \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 `err` (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 the `tasks` 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\n[`parallel`](#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)` which it must call on completion with an error `err` \n (which can 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="parallelLimit" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as [`parallel`](#parallel), only `tasks` are executed in parallel \nwith a maximum of `limit` tasks 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 `err` (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 `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 which is called each time `test` passes. The function is\n passed a `callback(err)`, which must be called once it has completed with an \n optional `err` 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`](#whilst). To reflect the difference in \nthe order of operations, the arguments `test` and `fn` are switched. \n\n`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 `callback` when stopped,\nor an error occurs.\n\nThe inverse of [`whilst`](#whilst).\n\n---------------------------------------\n\n<a name="doUntil" />\n### doUntil(fn, test, callback)\n\nLike [`doWhilst`](#doWhilst), except the `test` is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name="forever" />\n### forever(fn, errback)\n\nCalls the asynchronous function `fn` with a callback parameter that allows it to\ncall itself again, in series, indefinitely.\n\nIf an error is passed to the callback then `errback` is called with the\nerror, and execution stops, otherwise it will never be called.\n\n```js\nasync.forever(\n function(next) {\n // next is suitable for passing to things that need a callback(err [, whatever]);\n // it will result in this function being called again.\n },\n function(err) {\n // if next is called with a value in its first parameter, it will appear\n // in here as \'err\', and execution will stop.\n }\n);\n```\n\n---------------------------------------\n\n<a name="waterfall" />\n### waterfall(tasks, [callback])\n\nRuns the `tasks` array of functions in series, each passing their results to the next in\nthe array. However, if any of the `tasks` pass an error to their own 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 // arg1 now equals \'one\' and arg2 now equals \'two\'\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\n`f(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="seq" />\n### seq(fn1, fn2...)\n\nVersion of the compose function that is more natural to read.\nEach following function consumes the return value of the latter function. \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\n// Requires lodash (or underscore), express3 and dresende\'s orm2.\n// Part of an app, that fetches cats of the logged user.\n// This example uses `seq` function to avoid overnesting and error \n// handling clutter.\napp.get(\'/cats\', function(request, response) {\n function handleError(err, data, callback) {\n if (err) {\n console.error(err);\n response.json({ status: \'error\', message: err.message });\n }\n else {\n callback(data);\n }\n }\n var User = request.models.User;\n async.seq(\n _.bind(User.get, User), // \'User.get\' has signature (id, callback(err, data))\n handleError,\n function(user, fn) {\n user.getCats(fn); // \'getCats\' has signature (callback(err, data))\n },\n handleError,\n function(cats) {\n response.json({ status: \'ok\', message: \'Cats found\', data: cats });\n }\n )(req.session.user_id);\n }\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 \n`callback` 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`](#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\n`queue` are processed in parallel (up to the `concurrency` limit). If all\n`worker`s are in progress, the task is queued until one becomes available. \nOnce a `worker` completes a `task`, that `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* `started` - a function returning whether or not any items have been pushed and processed by the queue\n* `running()` - a function returning the number of items currently being processed.\n* `idle()` - a function returning false if there are items waiting or being processed, or true if not.\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`. Calls `callback` once \n the `worker` has finished processing the task. Instead of a single task, a `tasks` array\n 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` limit, \n 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* `paused` - a boolean for determining whether the queue is in a paused state\n* `pause()` - a function that pauses the processing of tasks until `resume()` is called.\n* `resume()` - a function that resumes the processing of queued tasks when the queue is paused.\n* `kill()` - a function that empties remaining tasks from the queue forcing it to go idle.\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\n<a name="priorityQueue" />\n### priorityQueue(worker, concurrency)\n\nThe same as [`queue`](#queue) only tasks are assigned a priority and completed in ascending priority order. There are two differences between `queue` and `priorityQueue` objects:\n\n* `push(task, priority, [callback])` - `priority` should be a number. If an array of\n `tasks` is given, all tasks will be assigned the same priority.\n* The `unshift` method was removed.\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\n`worker` is in progress, the task is queued until it becomes available. Once\nthe `worker` has completed some tasks, each callback of those tasks is called.\nCheck out [this animation](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) for how `cargo` and `queue` work.\n\nWhile [queue](#queue) passes only one task to one of a group of workers\nat a time, cargo passes an array of tasks to a single worker, repeating\nwhen the worker is finished.\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 `err` 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])` - Adds `task` to the `queue`. The callback is called\n once the `worker` has finished processing the task. Instead of a single task, an array of `tasks` \n 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 the functions in `tasks`, based on their \nrequirements. Each function can optionally depend on other functions being completed \nfirst, and each function is run as soon as its requirements are satisfied. \n\nIf any of the functions pass an error to their callback, it will not \ncomplete (so any other functions depending on it will not run), and the main \n`callback` is immediately called with the error. Functions also receive an \nobject containing 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. \n\nFor 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 \n`results` 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. Each of its properties is either a function or an array of\n requirements, with the function itself the last item in the array. The object\'s key\n of a property serves as the name of the task defined by that property,\n i.e. can be used when specifying requirements for other tasks.\n The 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. It receives the `err` argument if any `tasks` \n pass an error to their callback. Results are always returned; however, if \n an error occurs, no further `tasks` will be performed, and the results\n object will only contain partial results.\n\n\n__Example__\n\n```js\nasync.auto({\n get_data: function(callback){\n console.log(\'in get_data\');\n // async code to get some data\n callback(null, \'data\', \'converted to array\');\n },\n make_folder: function(callback){\n console.log(\'in make_folder\');\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 callback(null, \'folder\');\n },\n write_file: [\'get_data\', \'make_folder\', function(callback, results){\n console.log(\'in write_file\', JSON.stringify(results));\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 console.log(\'in email_link\', JSON.stringify(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 callback(null, {\'file\':results.write_file, \'email\':\'user@example.com\'});\n }]\n}, function(err, results) {\n console.log(\'err = \', err);\n console.log(\'results = \', results);\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 console.log(\'in get_data\');\n // async code to get some data\n callback(null, \'data\', \'converted to array\');\n },\n function(callback){\n console.log(\'in make_folder\');\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 callback(null, \'folder\');\n }\n],\nfunction(err, results){\n async.series([\n function(callback){\n console.log(\'in write_file\', JSON.stringify(results));\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n results.push(\'filename\');\n callback(null);\n },\n function(callback){\n console.log(\'in email_link\', JSON.stringify(results));\n // once the file is written let\'s email a link to it...\n callback(null, {\'file\':results.pop(), \'email\':\'user@example.com\'});\n }\n ]);\n});\n```\n\nFor a complicated series of `async` tasks, using the [`auto`](#auto) function makes adding\nnew tasks much easier (and the code more readable).\n\n\n---------------------------------------\n\n<a name="retry" />\n### retry([times = 5], task, [callback])\n\nAttempts to get a successful response from `task` no more than `times` times before\nreturning an error. If the task is successful, the `callback` will be passed the result\nof the successfull task. If all attemps fail, the callback will be passed the error and\nresult (if any) of the final attempt.\n\n__Arguments__\n\n* `times` - An integer indicating how many times to attempt the `task` before giving up. Defaults to 5.\n* `task(callback, results)` - A function which receives two arguments: (1) a `callback(err, result)`\n which must be called when finished, passing `err` (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 (if nested inside another control flow).\n* `callback(err, results)` - An optional callback which is called when the\n task has succeeded, or after the final failed attempt. It receives the `err` and `result` arguments of the last attempt at completing the `task`.\n\nThe [`retry`](#retry) function can be used as a stand-alone control flow by passing a\ncallback, as shown below:\n\n```js\nasync.retry(3, apiMethod, function(err, result) {\n // do something with the result\n});\n```\n\nIt can also be embeded within other control flow functions to retry individual methods\nthat are not as reliable, like this:\n\n```js\nasync.auto({\n users: api.getUsers.bind(api),\n payments: async.retry(3, api.getPayments.bind(api))\n}, function(err, results) {\n // do something with the results\n});\n```\n\n\n---------------------------------------\n\n<a name="iterator" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the `tasks` array,\nreturning a continuation to call the next one after that. It\'s also possible to\n“peek” at the next iterator with `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. \n\nUseful as a shorthand 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 `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 `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` function `n` times, and accumulates results in the same manner\nyou would use with [`map`](#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`](#times), only the iterator is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThe 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 to proxy and cache results from.\n* `hasher` - Tn 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 [`memoize`](#memoize)d function, reverting it to the original, unmemoized\nform. Handy for testing.\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\n`async` object.\n',
3304 silly resolved readmeFilename: 'README.md',
3304 silly resolved homepage: 'https://github.com/caolan/async',
3304 silly resolved _id: 'async@0.9.0',
3304 silly resolved _from: 'async@~0.9.0' },
3304 silly resolved { author:
3304 silly resolved { name: 'Felix Geisendörfer',
3304 silly resolved email: 'felix@debuggable.com',
3304 silly resolved url: 'http://debuggable.com/' },
3304 silly resolved name: 'combined-stream',
3304 silly resolved description: 'A stream that emits multiple other streams one after another.',
3304 silly resolved version: '0.0.5',
3304 silly resolved homepage: 'https://github.com/felixge/node-combined-stream',
3304 silly resolved repository:
3304 silly resolved { type: 'git',
3304 silly resolved url: 'git://github.com/felixge/node-combined-stream.git' },
3304 silly resolved main: './lib/combined_stream',
3304 silly resolved scripts: { test: 'node test/run.js' },
3304 silly resolved engines: { node: '>= 0.8' },
3304 silly resolved dependencies: { 'delayed-stream': '0.0.5' },
3304 silly resolved devDependencies: { far: '~0.0.7' },
3304 silly resolved readme: '# combined-stream [![Build Status](https://travis-ci.org/felixge/node-combined-stream.svg?branch=master)](https://travis-ci.org/felixge/node-combined-stream)\n\nA stream that emits multiple other streams one after another.\n\n## Installation\n\n``` bash\nnpm install combined-stream\n```\n\n## Usage\n\nHere is a simple example that shows how you can use combined-stream to combine\ntwo files into one:\n\n``` javascript\nvar CombinedStream = require(\'combined-stream\');\nvar fs = require(\'fs\');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(fs.createReadStream(\'file1.txt\'));\ncombinedStream.append(fs.createReadStream(\'file2.txt\'));\n\ncombinedStream.pipe(fs.createWriteStream(\'combined.txt\'));\n```\n\nWhile the example above works great, it will pause all source streams until\nthey are needed. If you don\'t want that to happen, you can set `pauseStreams`\nto `false`:\n\n``` javascript\nvar CombinedStream = require(\'combined-stream\');\nvar fs = require(\'fs\');\n\nvar combinedStream = CombinedStream.create({pauseStreams: false});\ncombinedStream.append(fs.createReadStream(\'file1.txt\'));\ncombinedStream.append(fs.createReadStream(\'file2.txt\'));\n\ncombinedStream.pipe(fs.createWriteStream(\'combined.txt\'));\n```\n\nHowever, what if you don\'t have all the source streams yet, or you don\'t want\nto allocate the resources (file descriptors, memory, etc.) for them right away?\nWell, in that case you can simply provide a callback that supplies the stream\nby calling a `next()` function:\n\n``` javascript\nvar CombinedStream = require(\'combined-stream\');\nvar fs = require(\'fs\');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(function(next) {\n next(fs.createReadStream(\'file1.txt\'));\n});\ncombinedStream.append(function(next) {\n next(fs.createReadStream(\'file2.txt\'));\n});\n\ncombinedStream.pipe(fs.createWriteStream(\'combined.txt\'));\n```\n\n## API\n\n### CombinedStream.create([options])\n\nReturns a new combined stream object. Available options are:\n\n* `maxDataSize`\n* `pauseStreams`\n\nThe effect of those options is described below.\n\n### combinedStream.pauseStreams = `true`\n\nWhether to apply back pressure to the underlaying streams. If set to `false`,\nthe underlaying streams will never be paused. If set to `true`, the\nunderlaying streams will be paused right after being appended, as well as when\n`delayedStream.pipe()` wants to throttle.\n\n### combinedStream.maxDataSize = `2 * 1024 * 1024`\n\nThe maximum amount of bytes (or characters) to buffer for all source streams.\nIf this value is exceeded, `combinedStream` emits an `\'error\'` event.\n\n### combinedStream.dataSize = `0`\n\nThe amount of bytes (or characters) currently buffered by `combinedStream`.\n\n### combinedStream.append(stream)\n\nAppends the given `stream` to the combinedStream object. If `pauseStreams` is\nset to `true, this stream will also be paused right away.\n\n`streams` can also be a function that takes one parameter called `next`. `next`\nis a function that must be invoked in order to provide the `next` stream, see\nexample above.\n\nRegardless of how the `stream` is appended, combined-stream always attaches an\n`\'error\'` listener to it, so you don\'t have to do that manually.\n\nSpecial case: `stream` can also be a String or Buffer.\n\n### combinedStream.write(data)\n\nYou should not call this, `combinedStream` takes care of piping the appended\nstreams into itself for you.\n\n### combinedStream.resume()\n\nCauses `combinedStream` to start drain the streams it manages. The function is\nidempotent, and also emits a `\'resume\'` event each time which usually goes to\nthe stream that is currently being drained.\n\n### combinedStream.pause();\n\nIf `combinedStream.pauseStreams` is set to `false`, this does nothing.\nOtherwise a `\'pause\'` event is emitted, this goes to the stream that is\ncurrently being drained, so you can use it to apply back pressure.\n\n### combinedStream.end();\n\nSets `combinedStream.writable` to false, emits an `\'end\'` event, and removes\nall streams from the queue.\n\n### combinedStream.destroy();\n\nSame as `combinedStream.end()`, except it emits a `\'close\'` event instead of\n`\'end\'`.\n\n## License\n\ncombined-stream is licensed under the MIT license.\n',
3304 silly resolved readmeFilename: 'Readme.md',
3304 silly resolved bugs: { url: 'https://github.com/felixge/node-combined-stream/issues' },
3304 silly resolved _id: 'combined-stream@0.0.5',
3304 silly resolved _from: 'combined-stream@~0.0.4' } ]
3305 info install async@0.9.0 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data
3306 info install combined-stream@0.0.5 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data
3307 info installOne async@0.9.0
3308 info installOne combined-stream@0.0.5
3309 silly gunzTarPerm extractEntry test/ignore-unfound-file.js
3310 silly gunzTarPerm extractEntry test/ini.js
3311 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/async unbuild
3312 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream unbuild
3313 verbose tar unpack /Volumes/Storage/martincleaver/.npm/async/0.9.0/package.tgz
3314 silly lockFile 42066c11-les-form-data-node-modules-async tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/async
3315 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/async /Volumes/Storage/martincleaver/.npm/42066c11-les-form-data-node-modules-async.lock
3316 silly lockFile 1cecf294-aver-npm-async-0-9-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/async/0.9.0/package.tgz
3317 verbose lock tar:///Volumes/Storage/martincleaver/.npm/async/0.9.0/package.tgz /Volumes/Storage/martincleaver/.npm/1cecf294-aver-npm-async-0-9-0-package-tgz.lock
3318 verbose tar unpack /Volumes/Storage/martincleaver/.npm/combined-stream/0.0.5/package.tgz
3319 silly lockFile 43aa72ae-ata-node-modules-combined-stream tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream
3320 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream /Volumes/Storage/martincleaver/.npm/43aa72ae-ata-node-modules-combined-stream.lock
3321 silly lockFile b396a203-ombined-stream-0-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/combined-stream/0.0.5/package.tgz
3322 verbose lock tar:///Volumes/Storage/martincleaver/.npm/combined-stream/0.0.5/package.tgz /Volumes/Storage/martincleaver/.npm/b396a203-ombined-stream-0-0-5-package-tgz.lock
3323 silly lockFile 46222085-assert-plus-0-1-2 assert-plus@0.1.2
3324 silly lockFile 46222085-assert-plus-0-1-2 assert-plus@0.1.2
3325 silly gunzTarPerm modes [ '755', '644' ]
3326 silly gunzTarPerm modes [ '755', '644' ]
3327 silly lockFile f606b962-dules-npmconf-node-modules-osenv tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/osenv
3328 silly lockFile f606b962-dules-npmconf-node-modules-osenv tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/osenv
3329 silly lockFile 25a4d033-aver-npm-osenv-0-0-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/osenv/0.0.3/package.tgz
3330 silly lockFile 25a4d033-aver-npm-osenv-0-0-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/osenv/0.0.3/package.tgz
3331 silly gunzTarPerm extractEntry test/save.js
3332 silly gunzTarPerm extractEntry test/broken.json
3333 info preinstall osenv@0.0.3
3334 verbose readDependencies using package.json deps
3335 silly lockFile 0b299ab1-modules-npmconf-node-modules-ini tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/ini
3336 silly lockFile 0b299ab1-modules-npmconf-node-modules-ini tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/ini
3337 verbose readDependencies using package.json deps
3338 silly resolved []
3339 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/osenv
3340 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/osenv
3341 verbose linkStuff [ false,
3341 verbose linkStuff false,
3341 verbose linkStuff false,
3341 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules' ]
3342 info linkStuff osenv@0.0.3
3343 verbose linkBins osenv@0.0.3
3344 verbose linkMans osenv@0.0.3
3345 verbose rebuildBundles osenv@0.0.3
3346 silly lockFile 9f41a675-leaver-npm-ini-1-1-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
3347 silly lockFile 9f41a675-leaver-npm-ini-1-1-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ini/1.1.0/package.tgz
3348 info install osenv@0.0.3
3349 info postinstall osenv@0.0.3
3350 info preinstall ini@1.1.0
3351 verbose readDependencies using package.json deps
3352 verbose readDependencies using package.json deps
3353 silly resolved []
3354 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/ini
3355 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/ini
3356 verbose linkStuff [ false,
3356 verbose linkStuff false,
3356 verbose linkStuff false,
3356 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules' ]
3357 info linkStuff ini@1.1.0
3358 verbose linkBins ini@1.1.0
3359 verbose linkMans ini@1.1.0
3360 verbose rebuildBundles ini@1.1.0
3361 info install ini@1.1.0
3362 info postinstall ini@1.1.0
3363 http 200 https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz
3364 silly lockFile aff94ba4-ules-npmconf-node-modules-semver tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/semver
3365 silly lockFile aff94ba4-ules-npmconf-node-modules-semver tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/semver
3366 silly lockFile ccb0b235-ver-npm-semver-1-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/semver/1.1.4/package.tgz
3367 silly lockFile ccb0b235-ver-npm-semver-1-1-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/semver/1.1.4/package.tgz
3368 info preinstall semver@1.1.4
3369 silly gunzTarPerm extractEntry package.json
3370 verbose readDependencies using package.json deps
3371 verbose readDependencies using package.json deps
3372 silly resolved []
3373 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/semver
3374 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/semver
3375 verbose linkStuff [ false,
3375 verbose linkStuff false,
3375 verbose linkStuff false,
3375 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules' ]
3376 info linkStuff semver@1.1.4
3377 verbose linkBins semver@1.1.4
3378 verbose link bins [ { semver: './bin/semver' },
3378 verbose link bins '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/.bin',
3378 verbose link bins false ]
3379 verbose linkMans semver@1.1.4
3380 verbose rebuildBundles semver@1.1.4
3381 silly gunzTarPerm extractEntry License
3382 silly gunzTarPerm extractEntry Readme.md
3383 silly gunzTarPerm extractEntry test/browser.js
3384 silly gunzTarPerm extractEntry test/client.js
3385 http 200 https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
3386 silly gunzTarPerm extractEntry package.json
3387 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/tmp.tgz
3388 silly lockFile 63b3e858-237-0-007608939195051789-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/package
3389 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/package /Volumes/Storage/martincleaver/.npm/63b3e858-237-0-007608939195051789-package.lock
3390 silly lockFile 10c82bad-237-0-007608939195051789-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/tmp.tgz
3391 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/tmp.tgz /Volumes/Storage/martincleaver/.npm/10c82bad-237-0-007608939195051789-tmp-tgz.lock
3392 info install semver@1.1.4
3393 silly lockFile bd574634-odules-npmconf-node-modules-nopt tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt
3394 silly lockFile bd574634-odules-npmconf-node-modules-nopt tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt
3395 silly gunzTarPerm extractEntry test/crypto.js
3396 silly gunzTarPerm extractEntry test/index.js
3397 info postinstall semver@1.1.4
3398 silly lockFile 8caf3634-eaver-npm-nopt-2-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/nopt/2.2.1/package.tgz
3399 silly lockFile 8caf3634-eaver-npm-nopt-2-2-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/nopt/2.2.1/package.tgz
3400 silly gunzTarPerm extractEntry lib/combined_stream.js
3401 silly gunzTarPerm modes [ '755', '644' ]
3402 silly gunzTarPerm extractEntry README.md
3403 silly gunzTarPerm extractEntry LICENSE
3404 silly gunzTarPerm extractEntry .travis.yml
3405 silly gunzTarPerm extractEntry component.json
3406 silly gunzTarPerm extractEntry lib/async.js
3407 info preinstall nopt@2.2.1
3408 silly gunzTarPerm extractEntry .npmignore
3409 verbose readDependencies using package.json deps
3410 verbose readDependencies using package.json deps
3411 verbose cache add [ 'abbrev@1', null ]
3412 verbose cache add name=undefined spec="abbrev@1" args=["abbrev@1",null]
3413 verbose parsed url { protocol: null,
3413 verbose parsed url slashes: null,
3413 verbose parsed url auth: null,
3413 verbose parsed url host: null,
3413 verbose parsed url port: null,
3413 verbose parsed url hostname: null,
3413 verbose parsed url hash: null,
3413 verbose parsed url search: null,
3413 verbose parsed url query: null,
3413 verbose parsed url pathname: 'abbrev@1',
3413 verbose parsed url path: 'abbrev@1',
3413 verbose parsed url href: 'abbrev@1' }
3414 verbose cache add name="abbrev" spec="1" args=["abbrev","1"]
3415 verbose parsed url { protocol: null,
3415 verbose parsed url slashes: null,
3415 verbose parsed url auth: null,
3415 verbose parsed url host: null,
3415 verbose parsed url port: null,
3415 verbose parsed url hostname: null,
3415 verbose parsed url hash: null,
3415 verbose parsed url search: null,
3415 verbose parsed url query: null,
3415 verbose parsed url pathname: '1',
3415 verbose parsed url path: '1',
3415 verbose parsed url href: '1' }
3416 verbose addNamed [ 'abbrev', '1' ]
3417 verbose addNamed [ null, '>=1.0.0-0 <2.0.0-0' ]
3418 silly lockFile 6830b531-abbrev-1 abbrev@1
3419 verbose lock abbrev@1 /Volumes/Storage/martincleaver/.npm/6830b531-abbrev-1.lock
3420 silly gunzTarPerm extractEntry lib/
3421 silly gunzTarPerm extractEntry lib/ber/
3422 silly addNameRange { name: 'abbrev', range: '>=1.0.0-0 <2.0.0-0', hasData: false }
3423 silly gunzTarPerm extractEntry lib/ber/errors.js
3424 silly gunzTarPerm extractEntry lib/ber/index.js
3425 silly gunzTarPerm extractEntry lib/ber/reader.js
3426 silly lockFile b6268fd9-pmconf-node-modules-config-chain tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain
3427 silly lockFile b6268fd9-pmconf-node-modules-config-chain tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain
3428 silly gunzTarPerm extractEntry lib/ber/types.js
3429 silly gunzTarPerm extractEntry lib/ber/writer.js
3430 silly gunzTarPerm extractEntry lib/index.js
3431 silly gunzTarPerm extractEntry LICENSE
3432 silly gunzTarPerm extractEntry package.json
3433 silly gunzTarPerm extractEntry README.md
3434 silly gunzTarPerm extractEntry tst/
3435 silly gunzTarPerm extractEntry tst/ber/
3436 silly gunzTarPerm extractEntry tst/ber/reader.test.js
3437 silly gunzTarPerm extractEntry tst/ber/writer.test.js
3438 silly lockFile 9ed234b0-m-config-chain-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/config-chain/1.1.8/package.tgz
3439 silly lockFile 9ed234b0-m-config-chain-1-1-8-package-tgz tar:///Volumes/Storage/martincleaver/.npm/config-chain/1.1.8/package.tgz
3440 info preinstall config-chain@1.1.8
3441 verbose readDependencies using package.json deps
3442 verbose readDependencies using package.json deps
3443 verbose cache add [ 'proto-list@~1.2.1', null ]
3444 verbose cache add name=undefined spec="proto-list@~1.2.1" args=["proto-list@~1.2.1",null]
3445 verbose parsed url { protocol: null,
3445 verbose parsed url slashes: null,
3445 verbose parsed url auth: null,
3445 verbose parsed url host: null,
3445 verbose parsed url port: null,
3445 verbose parsed url hostname: null,
3445 verbose parsed url hash: null,
3445 verbose parsed url search: null,
3445 verbose parsed url query: null,
3445 verbose parsed url pathname: 'proto-list@~1.2.1',
3445 verbose parsed url path: 'proto-list@~1.2.1',
3445 verbose parsed url href: 'proto-list@~1.2.1' }
3446 verbose cache add name="proto-list" spec="~1.2.1" args=["proto-list","~1.2.1"]
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.2.1',
3447 verbose parsed url path: '~1.2.1',
3447 verbose parsed url href: '~1.2.1' }
3448 verbose addNamed [ 'proto-list', '~1.2.1' ]
3449 verbose addNamed [ null, '>=1.2.1-0 <1.3.0-0' ]
3450 silly lockFile 5d8d6d63-proto-list-1-2-1 proto-list@~1.2.1
3451 verbose lock proto-list@~1.2.1 /Volumes/Storage/martincleaver/.npm/5d8d6d63-proto-list-1-2-1.lock
3452 silly addNameRange { name: 'proto-list',
3452 silly addNameRange range: '>=1.2.1-0 <1.3.0-0',
3452 silly addNameRange hasData: false }
3453 silly gunzTarPerm extractEntry test/message.js
3454 silly gunzTarPerm extractEntry test/readme.js
3455 silly gunzTarPerm extractEntry test/server.js
3456 silly gunzTarPerm extractEntry test/uri.js
3457 silly gunzTarPerm extractEntry test/utils.js
3458 silly gunzTarPerm extractEntry example/usage.js
3459 verbose tar unpack /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/tmp.tgz
3460 silly lockFile 8e4f1741-915236-0-921419377438724-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/package
3461 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/package /Volumes/Storage/martincleaver/.npm/8e4f1741-915236-0-921419377438724-package.lock
3462 silly lockFile 1679c0f4-915236-0-921419377438724-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/tmp.tgz
3463 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/tmp.tgz /Volumes/Storage/martincleaver/.npm/1679c0f4-915236-0-921419377438724-tmp-tgz.lock
3464 silly gunzTarPerm modes [ '755', '644' ]
3465 silly gunzTarPerm extractEntry package.json
3466 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
3467 silly gunzTarPerm extractEntry README
3468 silly gunzTarPerm modified mode [ 'README', 438, 420 ]
3469 silly gunzTarPerm extractEntry LICENSE
3470 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
3471 silly gunzTarPerm extractEntry ctio.js
3472 silly gunzTarPerm modified mode [ 'ctio.js', 438, 420 ]
3473 silly gunzTarPerm extractEntry ctf.js
3474 silly gunzTarPerm modified mode [ 'ctf.js', 438, 420 ]
3475 verbose url raw abbrev
3476 verbose url resolving [ 'https://registry.npmjs.org/', './abbrev' ]
3477 verbose url resolved https://registry.npmjs.org/abbrev
3478 info trying registry request attempt 1 at 19:41:55
3479 verbose etag "D7EFU937SJBVELE2XOSSZEJ6S"
3480 http GET https://registry.npmjs.org/abbrev
3481 silly gunzTarPerm extractEntry ctype.js
3482 silly gunzTarPerm modified mode [ 'ctype.js', 438, 420 ]
3483 silly gunzTarPerm extractEntry man/man3ctype/ctio.3ctype
3484 silly gunzTarPerm modified mode [ 'man/man3ctype/ctio.3ctype', 438, 420 ]
3485 silly lockFile 43aa72ae-ata-node-modules-combined-stream tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream
3486 silly lockFile 43aa72ae-ata-node-modules-combined-stream tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream
3487 silly lockFile b396a203-ombined-stream-0-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/combined-stream/0.0.5/package.tgz
3488 silly lockFile b396a203-ombined-stream-0-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/combined-stream/0.0.5/package.tgz
3489 info preinstall combined-stream@0.0.5
3490 silly gunzTarPerm extractEntry tst/ctio/uint/tst.ruint.js
3491 silly gunzTarPerm modified mode [ 'tst/ctio/uint/tst.ruint.js', 438, 420 ]
3492 silly gunzTarPerm extractEntry tst/ctio/uint/tst.wuint.js
3493 silly gunzTarPerm modified mode [ 'tst/ctio/uint/tst.wuint.js', 438, 420 ]
3494 verbose readDependencies using package.json deps
3495 verbose readDependencies using package.json deps
3496 verbose cache add [ 'delayed-stream@0.0.5', null ]
3497 verbose cache add name=undefined spec="delayed-stream@0.0.5" args=["delayed-stream@0.0.5",null]
3498 verbose parsed url { protocol: null,
3498 verbose parsed url slashes: null,
3498 verbose parsed url auth: null,
3498 verbose parsed url host: null,
3498 verbose parsed url port: null,
3498 verbose parsed url hostname: null,
3498 verbose parsed url hash: null,
3498 verbose parsed url search: null,
3498 verbose parsed url query: null,
3498 verbose parsed url pathname: 'delayed-stream@0.0.5',
3498 verbose parsed url path: 'delayed-stream@0.0.5',
3498 verbose parsed url href: 'delayed-stream@0.0.5' }
3499 verbose cache add name="delayed-stream" spec="0.0.5" args=["delayed-stream","0.0.5"]
3500 verbose parsed url { protocol: null,
3500 verbose parsed url slashes: null,
3500 verbose parsed url auth: null,
3500 verbose parsed url host: null,
3500 verbose parsed url port: null,
3500 verbose parsed url hostname: null,
3500 verbose parsed url hash: null,
3500 verbose parsed url search: null,
3500 verbose parsed url query: null,
3500 verbose parsed url pathname: '0.0.5',
3500 verbose parsed url path: '0.0.5',
3500 verbose parsed url href: '0.0.5' }
3501 verbose addNamed [ 'delayed-stream', '0.0.5' ]
3502 verbose addNamed [ '0.0.5', '0.0.5' ]
3503 silly lockFile 1ace22b7-delayed-stream-0-0-5 delayed-stream@0.0.5
3504 verbose lock delayed-stream@0.0.5 /Volumes/Storage/martincleaver/.npm/1ace22b7-delayed-stream-0-0-5.lock
3505 verbose url raw proto-list
3506 verbose url resolving [ 'https://registry.npmjs.org/', './proto-list' ]
3507 verbose url resolved https://registry.npmjs.org/proto-list
3508 info trying registry request attempt 1 at 19:41:55
3509 verbose etag "1X4CSSZKBHUV99R8LFO2VTFFJ"
3510 http GET https://registry.npmjs.org/proto-list
3511 silly lockFile 63b3e858-237-0-007608939195051789-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/package
3512 silly lockFile 63b3e858-237-0-007608939195051789-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/package
3513 verbose url raw delayed-stream/0.0.5
3514 verbose url resolving [ 'https://registry.npmjs.org/', './delayed-stream/0.0.5' ]
3515 verbose url resolved https://registry.npmjs.org/delayed-stream/0.0.5
3516 info trying registry request attempt 1 at 19:41:55
3517 verbose etag "8D7X9NT4EDFDUK0KR4DC06IJ4"
3518 http GET https://registry.npmjs.org/delayed-stream/0.0.5
3519 silly lockFile 10c82bad-237-0-007608939195051789-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/tmp.tgz
3520 silly lockFile 10c82bad-237-0-007608939195051789-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/tmp.tgz
3521 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz',
3521 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/package' ]
3522 verbose tarball /Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz
3523 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/package
3524 silly lockFile 63b3e858-237-0-007608939195051789-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/package
3525 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/package /Volumes/Storage/martincleaver/.npm/63b3e858-237-0-007608939195051789-package.lock
3526 silly lockFile 04bfce91-aver-npm-asn1-0-1-11-package-tgz tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz
3527 verbose lock tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz /Volumes/Storage/martincleaver/.npm/04bfce91-aver-npm-asn1-0-1-11-package-tgz.lock
3528 http 200 https://registry.npmjs.org/abbrev
3529 silly registry.get cb [ 200,
3529 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:56 GMT',
3529 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
3529 silly registry.get etag: '"562MFFHMNLG6OBIB7FGGMIS35"',
3529 silly registry.get 'content-type': 'application/json',
3529 silly registry.get 'cache-control': 'max-age=1',
3529 silly registry.get via: '1.1 varnish',
3529 silly registry.get 'content-length': '3712',
3529 silly registry.get 'accept-ranges': 'bytes',
3529 silly registry.get age: '441002',
3529 silly registry.get 'x-served-by': 'cache-v42-ASH, cache-iad2121-IAD',
3529 silly registry.get 'x-cache': 'HIT, HIT',
3529 silly registry.get 'x-cache-hits': '4, 7',
3529 silly registry.get 'x-timer': 'S1407886916.094664,VS0,VE0',
3529 silly registry.get vary: 'Accept',
3529 silly registry.get 'keep-alive': 'timeout=10, max=50',
3529 silly registry.get connection: 'Keep-Alive' } ]
3530 silly addNameRange number 2 { name: 'abbrev', range: '>=1.0.0-0 <2.0.0-0', hasData: true }
3531 silly addNameRange versions [ 'abbrev', [ '1.0.3', '1.0.4', '1.0.5' ] ]
3532 verbose addNamed [ 'abbrev', '1.0.5' ]
3533 verbose addNamed [ '1.0.5', '1.0.5' ]
3534 silly lockFile 55d90b2f-abbrev-1-0-5 abbrev@1.0.5
3535 verbose lock abbrev@1.0.5 /Volumes/Storage/martincleaver/.npm/55d90b2f-abbrev-1-0-5.lock
3536 silly lockFile 42066c11-les-form-data-node-modules-async tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/async
3537 silly lockFile 42066c11-les-form-data-node-modules-async tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/async
3538 silly lockFile 1cecf294-aver-npm-async-0-9-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/async/0.9.0/package.tgz
3539 silly lockFile 1cecf294-aver-npm-async-0-9-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/async/0.9.0/package.tgz
3540 info preinstall async@0.9.0
3541 silly gunzTarPerm extractEntry tst/ctio/uint/tst.64.js
3542 silly gunzTarPerm modified mode [ 'tst/ctio/uint/tst.64.js', 438, 420 ]
3543 silly gunzTarPerm extractEntry tst/ctio/uint/tst.roundtrip.js
3544 silly gunzTarPerm modified mode [ 'tst/ctio/uint/tst.roundtrip.js', 438, 420 ]
3545 verbose readDependencies using package.json deps
3546 verbose readDependencies using package.json deps
3547 silly resolved []
3548 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/async
3549 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/async
3550 verbose linkStuff [ false,
3550 verbose linkStuff false,
3550 verbose linkStuff false,
3550 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules' ]
3551 info linkStuff async@0.9.0
3552 verbose linkBins async@0.9.0
3553 verbose linkMans async@0.9.0
3554 verbose rebuildBundles async@0.9.0
3555 info install async@0.9.0
3556 info postinstall async@0.9.0
3557 silly lockFile 55d90b2f-abbrev-1-0-5 abbrev@1.0.5
3558 silly lockFile 55d90b2f-abbrev-1-0-5 abbrev@1.0.5
3559 silly lockFile 6830b531-abbrev-1 abbrev@1
3560 silly lockFile 6830b531-abbrev-1 abbrev@1
3561 silly resolved [ { name: 'abbrev',
3561 silly resolved version: '1.0.5',
3561 silly resolved description: 'Like ruby\'s abbrev module, but in js',
3561 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
3561 silly resolved main: 'abbrev.js',
3561 silly resolved scripts: { test: 'node test.js' },
3561 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/abbrev-js' },
3561 silly resolved license:
3561 silly resolved { type: 'MIT',
3561 silly resolved url: 'https://github.com/isaacs/abbrev-js/raw/master/LICENSE' },
3561 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',
3561 silly resolved readmeFilename: 'README.md',
3561 silly resolved bugs: { url: 'https://github.com/isaacs/abbrev-js/issues' },
3561 silly resolved homepage: 'https://github.com/isaacs/abbrev-js',
3561 silly resolved _id: 'abbrev@1.0.5',
3561 silly resolved _from: 'abbrev@1' } ]
3562 info install abbrev@1.0.5 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt
3563 info installOne abbrev@1.0.5
3564 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt/node_modules/abbrev unbuild
3565 silly gunzTarPerm extractEntry tst/ctio/float/tst.wfloat.js
3566 silly gunzTarPerm modified mode [ 'tst/ctio/float/tst.wfloat.js', 438, 420 ]
3567 silly gunzTarPerm extractEntry tst/ctio/float/tst.rfloat.js
3568 silly gunzTarPerm modified mode [ 'tst/ctio/float/tst.rfloat.js', 438, 420 ]
3569 verbose tar unpack /Volumes/Storage/martincleaver/.npm/abbrev/1.0.5/package.tgz
3570 silly lockFile a3d8e382-modules-nopt-node-modules-abbrev tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt/node_modules/abbrev
3571 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt/node_modules/abbrev /Volumes/Storage/martincleaver/.npm/a3d8e382-modules-nopt-node-modules-abbrev.lock
3572 silly lockFile 3c6a1613-ver-npm-abbrev-1-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/abbrev/1.0.5/package.tgz
3573 verbose lock tar:///Volumes/Storage/martincleaver/.npm/abbrev/1.0.5/package.tgz /Volumes/Storage/martincleaver/.npm/3c6a1613-ver-npm-abbrev-1-0-5-package-tgz.lock
3574 silly gunzTarPerm modes [ '755', '644' ]
3575 silly gunzTarPerm extractEntry package.json
3576 silly gunzTarPerm extractEntry README.md
3577 silly gunzTarPerm extractEntry LICENSE
3578 silly lockFile 44c4fd32-leaver-npm-karma-0-12-21-package tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package
3579 silly lockFile 44c4fd32-leaver-npm-karma-0-12-21-package tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package
3580 silly lockFile 11feaccf-er-npm-karma-0-12-21-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
3581 silly lockFile 11feaccf-er-npm-karma-0-12-21-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
3582 verbose chmod /Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz 644
3583 verbose chown /Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz [ 501, 20 ]
3584 silly gunzTarPerm extractEntry abbrev.js
3585 silly gunzTarPerm extractEntry test.js
3586 silly lockFile 6989f714-pmjs-org-karma-karma-0-12-21-tgz https://registry.npmjs.org/karma/-/karma-0.12.21.tgz
3587 silly lockFile 6989f714-pmjs-org-karma-karma-0-12-21-tgz https://registry.npmjs.org/karma/-/karma-0.12.21.tgz
3588 silly lockFile ddd891ea-karma-0-12-21 karma@0.12.21
3589 silly lockFile ddd891ea-karma-0-12-21 karma@0.12.21
3590 silly lockFile 0ddc6e0a-karma-0-9 karma@>=0.9
3591 silly lockFile 0ddc6e0a-karma-0-9 karma@>=0.9
3592 silly lockFile 9f4f2022-karma-0-12-0 karma@~0.12.0
3593 silly lockFile 9f4f2022-karma-0-12-0 karma@~0.12.0
3594 silly resolved [ { name: 'karma',
3594 silly resolved description: 'Spectacular Test Runner for JavaScript.',
3594 silly resolved homepage: 'http://karma-runner.github.io/',
3594 silly resolved repository: { type: 'git', url: 'git://github.com/karma-runner/karma.git' },
3594 silly resolved bugs: { url: 'https://github.com/karma-runner/karma/issues' },
3594 silly resolved keywords:
3594 silly resolved [ 'karma',
3594 silly resolved 'spectacular',
3594 silly resolved 'runner',
3594 silly resolved 'karma',
3594 silly resolved 'js',
3594 silly resolved 'javascript',
3594 silly resolved 'testing',
3594 silly resolved 'test',
3594 silly resolved 'remote',
3594 silly resolved 'execution' ],
3594 silly resolved author: { name: 'Vojta Jína', email: 'vojta.jina@gmail.com' },
3594 silly resolved contributors:
3594 silly resolved [ [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object],
3594 silly resolved [Object] ],
3594 silly resolved dependencies:
3594 silly resolved { di: '~0.0.1',
3594 silly resolved 'socket.io': '~0.9.13',
3594 silly resolved chokidar: '>=0.8.2',
3594 silly resolved glob: '~3.2.7',
3594 silly resolved minimatch: '~0.2',
3594 silly resolved 'http-proxy': '~0.10',
3594 silly resolved optimist: '~0.6.0',
3594 silly resolved rimraf: '~2.2.5',
3594 silly resolved q: '~0.9.7',
3594 silly resolved colors: '~0.6.2',
3594 silly resolved lodash: '~2.4.1',
3594 silly resolved mime: '~1.2.11',
3594 silly resolved log4js: '~0.6.3',
3594 silly resolved useragent: '~2.0.4',
3594 silly resolved 'graceful-fs': '~2.0.1',
3594 silly resolved connect: '~2.12.0',
3594 silly resolved 'source-map': '~0.1.31' },
3594 silly resolved devDependencies:
3594 silly resolved { grunt: '~0.4',
3594 silly resolved 'grunt-simple-mocha': '*',
3594 silly resolved 'grunt-contrib-jshint': '~0.10.0',
3594 silly resolved 'grunt-contrib-watch': '~0.6.1',
3594 silly resolved 'grunt-coffeelint': '~0.0.6',
3594 silly resolved 'grunt-npm': '~0.0.1',
3594 silly resolved 'grunt-bump': '~0.0.10',
3594 silly resolved 'grunt-conventional-changelog': '~1.1.0',
3594 silly resolved 'grunt-auto-release': '~0.0.3',
3594 silly resolved 'grunt-browserify': '~2.1.3',
3594 silly resolved 'load-grunt-tasks': '~0.6.0',
3594 silly resolved mocks: '~0.0.10',
3594 silly resolved which: '~1.0',
3594 silly resolved mocha: '~1.20.1',
3594 silly resolved chai: '~1.9.1',
3594 silly resolved 'chai-as-promised': '~4.1.0',
3594 silly resolved sinon: '~1.10.3',
3594 silly resolved 'sinon-chai': '~2.5.0',
3594 silly resolved 'timer-shim': '~0.3.0',
3594 silly resolved 'karma-jasmine': '~0.1.0',
3594 silly resolved 'karma-mocha': '*',
3594 silly resolved 'karma-qunit': '*',
3594 silly resolved 'karma-coverage': '*',
3594 silly resolved 'karma-requirejs': '*',
3594 silly resolved 'karma-commonjs': '*',
3594 silly resolved 'karma-growl-reporter': '*',
3594 silly resolved 'karma-junit-reporter': '*',
3594 silly resolved 'karma-chrome-launcher': '*',
3594 silly resolved 'karma-firefox-launcher': '*',
3594 silly resolved 'karma-sauce-launcher': '*',
3594 silly resolved 'karma-phantomjs-launcher': '*',
3594 silly resolved 'karma-ng-scenario': '*',
3594 silly resolved 'karma-coffee-preprocessor': '*',
3594 silly resolved 'karma-live-preprocessor': '*',
3594 silly resolved 'karma-html2js-preprocessor': '*',
3594 silly resolved 'karma-browserstack-launcher': '*',
3594 silly resolved LiveScript: '~1.2.0',
3594 silly resolved 'coffee-errors': '~0.8.6',
3594 silly resolved 'coffee-script': '~1.7.1',
3594 silly resolved 'grunt-jscs-checker': '~0.6.1' },
3594 silly resolved main: './lib/index',
3594 silly resolved bin: {},
3594 silly resolved engines: { node: '~0.8 || ~0.10' },
3594 silly resolved version: '0.12.21',
3594 silly resolved license: 'MIT',
3594 silly resolved readme: '# Karma [![Build Status](https://secure.travis-ci.org/karma-runner/karma.png?branch=master)](http://travis-ci.org/karma-runner/karma) [![Dependency Status](https://david-dm.org/karma-runner/karma.png)](https://david-dm.org/karma-runner/karma) [![devDependency Status](https://david-dm.org/karma-runner/karma/dev-status.png)](https://david-dm.org/karma-runner/karma#info=devDependencies)\n\nA simple tool that allows you to execute JavaScript code in multiple\n_real_ browsers.\n\n> The main purpose of Karma is to make your TDD development easy,\n> fast, and fun.\n\n\n## When should I use Karma?\n\n* You want to test code in *real* browsers.\n* You want to test code in multiple browsers (desktop, mobile,\n tablets, etc.).\n* You want to execute your tests locally during development.\n* You want to execute your tests on a continuous integration server.\n* You want to execute your tests on every save.\n* You love your terminal.\n* You don\'t want your (testing) life to suck.\n* You want to use [Istanbul] to automagically generate coverage\n reports.\n* You want to use [RequireJS] for your source files.\n\n\n## But I still want to use \\_insert testing library\\_\n\nKarma is not a testing framework, nor an assertion library.\nKarma just launches a HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework.\nSo for testing purposes you can use pretty much anything you like. There are already plugins for most of the common testing frameworks:\n\n* [Jasmine]\n* [Mocha]\n* [QUnit]\n* and [many others](https://www.npmjs.org/browse/keyword/karma-adapter)\n\nIf you can\'t find an adapter for your favourite framework, don\'t worry and write your own.\nIt\'s not that hard and we are here to help.\n\n\n## Which Browsers can I use?\n\nAll the major browsers are supported, if you want to know more see the\n[browsers] page.\n\n\n## Troubleshooting\nSee [FAQ](http://karma-runner.github.io/0.12/intro/faq.html).\n\n\n## I want to use it. Where do I sign?\n\nYou don\'t need to sign anything but here are some resources to help\nyou to get started...\n\n\n### Obligatory Screencast.\n\nEvery serious project has a screencast, so here is ours. Just click\n[here] and let the show begin.\n\n\n### Installation.\n\nSee [installation](http://karma-runner.github.io/0.12/intro/installation.html).\n\n\n### Using it.\n\nSee [configuration](http://karma-runner.github.io/0.10/intro/configuration.html).\n\n\n## I still don\'t get it. Where can I get help?\n\n* [Docs]\n* [Mailing List]\n* [Issue Tracker]\n* [@JsKarma] on Twitter\n\n\n## This is so great. I want to help.\n\nPlease, see\n[contributing](http://karma-runner.github.io/0.12/dev/contributing.html).\n\n\n## Why did you create this?\n\nThroughout the development of [AngularJS], we\'ve been using [JSTD] for\ntesting. I really think that JSTD is a great idea. Unfortunately, we\nhad many problems with JSTD, so we decided to write our own test\nrunner based on the same idea. We wanted a simple tool just for\nexecuting JavaScript tests that is both stable and fast. That\'s why we\nuse the awesome [Socket.io] library and [Node.js].\n\n\n## My boss wants a license. So where is it?\n[MIT License](https://raw.github.com/karma-runner/karma/master/LICENSE)\n\n\n[AngularJS]: http://angularjs.org/\n[JSTD]: http://code.google.com/p/js-test-driver/\n[Socket.io]: http://socket.io/\n[Node.js]: http://nodejs.org/\n[Jasmine]: https://github.com/karma-runner/karma-jasmine\n[Mocha]: https://github.com/karma-runner/karma-mocha\n[QUnit]: https://github.com/karma-runner/karma-qunit\n[here]: http://www.youtube.com/watch?v=MVw8N3hTfCI\n[Mailing List]: https://groups.google.com/forum/#!forum/karma-users\n[Issue Tracker]: https://github.com/karma-runner/karma/issues\n[@JsKarma]: http://twitter.com/JsKarma\n[RequireJS]: http://requirejs.org/\n[Istanbul]: https://github.com/gotwarlost/istanbul\n\n[browsers]: http://karma-runner.github.io/0.8/config/browsers.html\n[Docs]: http://karma-runner.github.io\n',
3594 silly resolved readmeFilename: 'README.md',
3594 silly resolved _id: 'karma@0.12.21',
3594 silly resolved dist: { shasum: 'aa94ef47c1cef3f42c3205e546866ae3dd8ce506' },
3594 silly resolved _from: 'karma@~0.12.0',
3594 silly resolved _resolved: 'https://registry.npmjs.org/karma/-/karma-0.12.21.tgz' } ]
3595 info install karma@0.12.21 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman
3596 info installOne karma@0.12.21
3597 silly resolved [ { name: 'grunt',
3597 silly resolved description: 'The JavaScript Task Runner',
3597 silly resolved version: '0.4.5',
3597 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
3597 silly resolved homepage: 'http://gruntjs.com/',
3597 silly resolved repository: { type: 'git', url: 'git://github.com/gruntjs/grunt.git' },
3597 silly resolved bugs: { url: 'http://github.com/gruntjs/grunt/issues' },
3597 silly resolved licenses: [ [Object] ],
3597 silly resolved main: 'lib/grunt',
3597 silly resolved scripts: { test: 'grunt test' },
3597 silly resolved engines: { node: '>= 0.8.0' },
3597 silly resolved keywords:
3597 silly resolved [ 'task',
3597 silly resolved 'async',
3597 silly resolved 'cli',
3597 silly resolved 'minify',
3597 silly resolved 'uglify',
3597 silly resolved 'build',
3597 silly resolved 'lodash',
3597 silly resolved 'unit',
3597 silly resolved 'test',
3597 silly resolved 'qunit',
3597 silly resolved 'nodeunit',
3597 silly resolved 'server',
3597 silly resolved 'init',
3597 silly resolved 'scaffold',
3597 silly resolved 'make',
3597 silly resolved 'jake',
3597 silly resolved 'tool' ],
3597 silly resolved dependencies:
3597 silly resolved { async: '~0.1.22',
3597 silly resolved 'coffee-script': '~1.3.3',
3597 silly resolved colors: '~0.6.2',
3597 silly resolved dateformat: '1.0.2-1.2.3',
3597 silly resolved eventemitter2: '~0.4.13',
3597 silly resolved 'findup-sync': '~0.1.2',
3597 silly resolved glob: '~3.1.21',
3597 silly resolved hooker: '~0.2.3',
3597 silly resolved 'iconv-lite': '~0.2.11',
3597 silly resolved minimatch: '~0.2.12',
3597 silly resolved nopt: '~1.0.10',
3597 silly resolved rimraf: '~2.2.8',
3597 silly resolved lodash: '~0.9.2',
3597 silly resolved 'underscore.string': '~2.2.1',
3597 silly resolved which: '~1.0.5',
3597 silly resolved 'js-yaml': '~2.0.5',
3597 silly resolved exit: '~0.1.1',
3597 silly resolved getobject: '~0.1.0',
3597 silly resolved 'grunt-legacy-util': '~0.2.0',
3597 silly resolved 'grunt-legacy-log': '~0.1.0' },
3597 silly resolved devDependencies:
3597 silly resolved { temporary: '~0.0.4',
3597 silly resolved 'grunt-contrib-jshint': '~0.6.4',
3597 silly resolved 'grunt-contrib-nodeunit': '~0.2.0',
3597 silly resolved 'grunt-contrib-watch': '~0.5.3',
3597 silly resolved difflet: '~0.2.3',
3597 silly resolved semver: '2.1.0',
3597 silly resolved shelljs: '~0.2.5' },
3597 silly resolved readme: '# Grunt: The JavaScript Task Runner\n\n[![Build Status: Linux](https://secure.travis-ci.org/gruntjs/grunt.png?branch=master)](http://travis-ci.org/gruntjs/grunt)\n<a href="https://ci.appveyor.com/project/gruntjs/grunt"><img src="https://ci.appveyor.com/api/projects/status/32r7s2skrgm9ubva/branch/master" alt="Build Status: Windows" height="18" /></a>\n[![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)\n\n<img align="right" height="260" src="http://gruntjs.com/img/grunt-logo-no-wordmark.svg">\n\n\n### Documentation\n\nVisit the [gruntjs.com](http://gruntjs.com/) website for all the things.\n\n### Support / Contributing\nBefore you make an issue, please read our [Contributing](http://gruntjs.com/contributing) guide.\n\nYou can find the grunt team in [#grunt on irc.freenode.net](http://webchat.freenode.net/?channels=grunt).\n\n### Release History\nSee the [CHANGELOG](CHANGELOG).\n',
3597 silly resolved readmeFilename: 'README.md',
3597 silly resolved _id: 'grunt@0.4.5',
3597 silly resolved _from: 'grunt@0.4.x' },
3597 silly resolved { name: 'karma',
3597 silly resolved description: 'Spectacular Test Runner for JavaScript.',
3597 silly resolved homepage: 'http://karma-runner.github.io/',
3597 silly resolved repository: { type: 'git', url: 'git://github.com/karma-runner/karma.git' },
3597 silly resolved bugs: { url: 'https://github.com/karma-runner/karma/issues' },
3597 silly resolved keywords:
3597 silly resolved [ 'karma',
3597 silly resolved 'spectacular',
3597 silly resolved 'runner',
3597 silly resolved 'karma',
3597 silly resolved 'js',
3597 silly resolved 'javascript',
3597 silly resolved 'testing',
3597 silly resolved 'test',
3597 silly resolved 'remote',
3597 silly resolved 'execution' ],
3597 silly resolved author: { name: 'Vojta Jína', email: 'vojta.jina@gmail.com' },
3597 silly resolved contributors:
3597 silly resolved [ [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object],
3597 silly resolved [Object] ],
3597 silly resolved dependencies:
3597 silly resolved { di: '~0.0.1',
3597 silly resolved 'socket.io': '~0.9.13',
3597 silly resolved chokidar: '>=0.8.2',
3597 silly resolved glob: '~3.2.7',
3597 silly resolved minimatch: '~0.2',
3597 silly resolved 'http-proxy': '~0.10',
3597 silly resolved optimist: '~0.6.0',
3597 silly resolved rimraf: '~2.2.5',
3597 silly resolved q: '~0.9.7',
3597 silly resolved colors: '~0.6.2',
3597 silly resolved lodash: '~2.4.1',
3597 silly resolved mime: '~1.2.11',
3597 silly resolved log4js: '~0.6.3',
3597 silly resolved useragent: '~2.0.4',
3597 silly resolved 'graceful-fs': '~2.0.1',
3597 silly resolved connect: '~2.12.0',
3597 silly resolved 'source-map': '~0.1.31' },
3597 silly resolved devDependencies:
3597 silly resolved { grunt: '~0.4',
3597 silly resolved 'grunt-simple-mocha': '*',
3597 silly resolved 'grunt-contrib-jshint': '~0.10.0',
3597 silly resolved 'grunt-contrib-watch': '~0.6.1',
3597 silly resolved 'grunt-coffeelint': '~0.0.6',
3597 silly resolved 'grunt-npm': '~0.0.1',
3597 silly resolved 'grunt-bump': '~0.0.10',
3597 silly resolved 'grunt-conventional-changelog': '~1.1.0',
3597 silly resolved 'grunt-auto-release': '~0.0.3',
3597 silly resolved 'grunt-browserify': '~2.1.3',
3597 silly resolved 'load-grunt-tasks': '~0.6.0',
3597 silly resolved mocks: '~0.0.10',
3597 silly resolved which: '~1.0',
3597 silly resolved mocha: '~1.20.1',
3597 silly resolved chai: '~1.9.1',
3597 silly resolved 'chai-as-promised': '~4.1.0',
3597 silly resolved sinon: '~1.10.3',
3597 silly resolved 'sinon-chai': '~2.5.0',
3597 silly resolved 'timer-shim': '~0.3.0',
3597 silly resolved 'karma-jasmine': '~0.1.0',
3597 silly resolved 'karma-mocha': '*',
3597 silly resolved 'karma-qunit': '*',
3597 silly resolved 'karma-coverage': '*',
3597 silly resolved 'karma-requirejs': '*',
3597 silly resolved 'karma-commonjs': '*',
3597 silly resolved 'karma-growl-reporter': '*',
3597 silly resolved 'karma-junit-reporter': '*',
3597 silly resolved 'karma-chrome-launcher': '*',
3597 silly resolved 'karma-firefox-launcher': '*',
3597 silly resolved 'karma-sauce-launcher': '*',
3597 silly resolved 'karma-phantomjs-launcher': '*',
3597 silly resolved 'karma-ng-scenario': '*',
3597 silly resolved 'karma-coffee-preprocessor': '*',
3597 silly resolved 'karma-live-preprocessor': '*',
3597 silly resolved 'karma-html2js-preprocessor': '*',
3597 silly resolved 'karma-browserstack-launcher': '*',
3597 silly resolved LiveScript: '~1.2.0',
3597 silly resolved 'coffee-errors': '~0.8.6',
3597 silly resolved 'coffee-script': '~1.7.1',
3597 silly resolved 'grunt-jscs-checker': '~0.6.1' },
3597 silly resolved main: './lib/index',
3597 silly resolved bin: {},
3597 silly resolved engines: { node: '~0.8 || ~0.10' },
3597 silly resolved version: '0.12.21',
3597 silly resolved license: 'MIT',
3597 silly resolved readme: '# Karma [![Build Status](https://secure.travis-ci.org/karma-runner/karma.png?branch=master)](http://travis-ci.org/karma-runner/karma) [![Dependency Status](https://david-dm.org/karma-runner/karma.png)](https://david-dm.org/karma-runner/karma) [![devDependency Status](https://david-dm.org/karma-runner/karma/dev-status.png)](https://david-dm.org/karma-runner/karma#info=devDependencies)\n\nA simple tool that allows you to execute JavaScript code in multiple\n_real_ browsers.\n\n> The main purpose of Karma is to make your TDD development easy,\n> fast, and fun.\n\n\n## When should I use Karma?\n\n* You want to test code in *real* browsers.\n* You want to test code in multiple browsers (desktop, mobile,\n tablets, etc.).\n* You want to execute your tests locally during development.\n* You want to execute your tests on a continuous integration server.\n* You want to execute your tests on every save.\n* You love your terminal.\n* You don\'t want your (testing) life to suck.\n* You want to use [Istanbul] to automagically generate coverage\n reports.\n* You want to use [RequireJS] for your source files.\n\n\n## But I still want to use \\_insert testing library\\_\n\nKarma is not a testing framework, nor an assertion library.\nKarma just launches a HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework.\nSo for testing purposes you can use pretty much anything you like. There are already plugins for most of the common testing frameworks:\n\n* [Jasmine]\n* [Mocha]\n* [QUnit]\n* and [many others](https://www.npmjs.org/browse/keyword/karma-adapter)\n\nIf you can\'t find an adapter for your favourite framework, don\'t worry and write your own.\nIt\'s not that hard and we are here to help.\n\n\n## Which Browsers can I use?\n\nAll the major browsers are supported, if you want to know more see the\n[browsers] page.\n\n\n## Troubleshooting\nSee [FAQ](http://karma-runner.github.io/0.12/intro/faq.html).\n\n\n## I want to use it. Where do I sign?\n\nYou don\'t need to sign anything but here are some resources to help\nyou to get started...\n\n\n### Obligatory Screencast.\n\nEvery serious project has a screencast, so here is ours. Just click\n[here] and let the show begin.\n\n\n### Installation.\n\nSee [installation](http://karma-runner.github.io/0.12/intro/installation.html).\n\n\n### Using it.\n\nSee [configuration](http://karma-runner.github.io/0.10/intro/configuration.html).\n\n\n## I still don\'t get it. Where can I get help?\n\n* [Docs]\n* [Mailing List]\n* [Issue Tracker]\n* [@JsKarma] on Twitter\n\n\n## This is so great. I want to help.\n\nPlease, see\n[contributing](http://karma-runner.github.io/0.12/dev/contributing.html).\n\n\n## Why did you create this?\n\nThroughout the development of [AngularJS], we\'ve been using [JSTD] for\ntesting. I really think that JSTD is a great idea. Unfortunately, we\nhad many problems with JSTD, so we decided to write our own test\nrunner based on the same idea. We wanted a simple tool just for\nexecuting JavaScript tests that is both stable and fast. That\'s why we\nuse the awesome [Socket.io] library and [Node.js].\n\n\n## My boss wants a license. So where is it?\n[MIT License](https://raw.github.com/karma-runner/karma/master/LICENSE)\n\n\n[AngularJS]: http://angularjs.org/\n[JSTD]: http://code.google.com/p/js-test-driver/\n[Socket.io]: http://socket.io/\n[Node.js]: http://nodejs.org/\n[Jasmine]: https://github.com/karma-runner/karma-jasmine\n[Mocha]: https://github.com/karma-runner/karma-mocha\n[QUnit]: https://github.com/karma-runner/karma-qunit\n[here]: http://www.youtube.com/watch?v=MVw8N3hTfCI\n[Mailing List]: https://groups.google.com/forum/#!forum/karma-users\n[Issue Tracker]: https://github.com/karma-runner/karma/issues\n[@JsKarma]: http://twitter.com/JsKarma\n[RequireJS]: http://requirejs.org/\n[Istanbul]: https://github.com/gotwarlost/istanbul\n\n[browsers]: http://karma-runner.github.io/0.8/config/browsers.html\n[Docs]: http://karma-runner.github.io\n',
3597 silly resolved readmeFilename: 'README.md',
3597 silly resolved _id: 'karma@0.12.21',
3597 silly resolved dist: { shasum: 'aa94ef47c1cef3f42c3205e546866ae3dd8ce506' },
3597 silly resolved _from: 'karma@~0.12.0',
3597 silly resolved _resolved: 'https://registry.npmjs.org/karma/-/karma-0.12.21.tgz' } ]
3598 info install grunt@0.4.5 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman
3599 info install karma@0.12.21 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman
3600 info installOne grunt@0.4.5
3601 info installOne karma@0.12.21
3602 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma unbuild
3603 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt unbuild
3604 silly gunzTarPerm extractEntry CONTRIBUTING.md
3605 silly gunzTarPerm extractEntry tst/ctio/int/tst.rint.js
3606 silly gunzTarPerm modified mode [ 'tst/ctio/int/tst.rint.js', 438, 420 ]
3607 silly gunzTarPerm extractEntry tst/ctio/int/tst.wint.js
3608 silly gunzTarPerm modified mode [ 'tst/ctio/int/tst.wint.js', 438, 420 ]
3609 verbose tar unpack /Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
3610 silly lockFile 1c686bf5-opment-Yeoman-node-modules-karma tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma
3611 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma /Volumes/Storage/martincleaver/.npm/1c686bf5-opment-Yeoman-node-modules-karma.lock
3612 silly lockFile 11feaccf-er-npm-karma-0-12-21-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
3613 verbose lock tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz /Volumes/Storage/martincleaver/.npm/11feaccf-er-npm-karma-0-12-21-package-tgz.lock
3614 info preuninstall grunt@0.4.5
3615 silly gunzTarPerm modes [ '755', '644' ]
3616 info uninstall grunt@0.4.5
3617 verbose true,/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules,/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules unbuild grunt@0.4.5
3618 info postuninstall grunt@0.4.5
3619 silly gunzTarPerm extractEntry package.json
3620 silly gunzTarPerm extractEntry README.md
3621 silly gunzTarPerm extractEntry LICENSE
3622 silly lockFile 63b3e858-237-0-007608939195051789-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/package
3623 silly lockFile 63b3e858-237-0-007608939195051789-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915237-0.007608939195051789/package
3624 silly lockFile 04bfce91-aver-npm-asn1-0-1-11-package-tgz tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz
3625 silly lockFile 04bfce91-aver-npm-asn1-0-1-11-package-tgz tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz
3626 verbose tar unpack /Volumes/Storage/martincleaver/.npm/grunt/0.4.5/package.tgz
3627 silly lockFile 010e5fb5-opment-Yeoman-node-modules-grunt tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt
3628 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt /Volumes/Storage/martincleaver/.npm/010e5fb5-opment-Yeoman-node-modules-grunt.lock
3629 silly lockFile 758ae061-aver-npm-grunt-0-4-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt/0.4.5/package.tgz
3630 verbose lock tar:///Volumes/Storage/martincleaver/.npm/grunt/0.4.5/package.tgz /Volumes/Storage/martincleaver/.npm/758ae061-aver-npm-grunt-0-4-5-package-tgz.lock
3631 silly lockFile 9f0a1304-ncleaver-npm-asn1-0-1-11-package /Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package
3632 verbose lock /Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package /Volumes/Storage/martincleaver/.npm/9f0a1304-ncleaver-npm-asn1-0-1-11-package.lock
3633 silly gunzTarPerm modes [ '755', '644' ]
3634 silly gunzTarPerm extractEntry tst/ctio/int/tst.64.js
3635 silly gunzTarPerm modified mode [ 'tst/ctio/int/tst.64.js', 438, 420 ]
3636 silly gunzTarPerm extractEntry tst/ctio/int/tst.wbounds.js
3637 silly gunzTarPerm modified mode [ 'tst/ctio/int/tst.wbounds.js', 438, 420 ]
3638 http 304 https://registry.npmjs.org/proto-list
3639 silly registry.get cb [ 304,
3639 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:56 GMT',
3639 silly registry.get server: 'Apache',
3639 silly registry.get via: '1.1 varnish',
3639 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:40 GMT',
3639 silly registry.get 'cache-control': 'max-age=60',
3639 silly registry.get etag: '"1X4CSSZKBHUV99R8LFO2VTFFJ"',
3639 silly registry.get 'x-served-by': 'cache-iad2123-IAD',
3639 silly registry.get 'x-cache': 'HIT',
3639 silly registry.get 'x-cache-hits': '2',
3639 silly registry.get 'x-timer': 'S1407886916.225419,VS0,VE0',
3639 silly registry.get vary: 'Accept',
3639 silly registry.get 'content-length': '0',
3639 silly registry.get 'keep-alive': 'timeout=10, max=50',
3639 silly registry.get connection: 'Keep-Alive' } ]
3640 verbose etag proto-list from cache
3641 http 304 https://registry.npmjs.org/delayed-stream/0.0.5
3642 silly registry.get cb [ 304,
3642 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:56 GMT',
3642 silly registry.get server: 'Apache',
3642 silly registry.get via: '1.1 varnish',
3642 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:36:16 GMT',
3642 silly registry.get 'cache-control': 'max-age=60',
3642 silly registry.get etag: '"8D7X9NT4EDFDUK0KR4DC06IJ4"',
3642 silly registry.get 'x-served-by': 'cache-iad2123-IAD',
3642 silly registry.get 'x-cache': 'HIT',
3642 silly registry.get 'x-cache-hits': '48',
3642 silly registry.get 'x-timer': 'S1407886916.228602,VS0,VE0',
3642 silly registry.get vary: 'Accept',
3642 silly registry.get 'content-length': '0',
3642 silly registry.get 'keep-alive': 'timeout=10, max=50',
3642 silly registry.get connection: 'Keep-Alive' } ]
3643 verbose etag delayed-stream/0.0.5 from cache
3644 silly gunzTarPerm extractEntry package.json
3645 silly gunzTarPerm extractEntry config.tpl.js
3646 silly gunzTarPerm extractEntry requirejs.config.tpl.js
3647 silly gunzTarPerm extractEntry config.tpl.ls
3648 silly gunzTarPerm extractEntry bin/karma
3649 silly gunzTarPerm extractEntry karma-completion.sh
3650 silly gunzTarPerm extractEntry lib/browser.js
3651 silly gunzTarPerm extractEntry lib/events.js
3652 silly gunzTarPerm extractEntry lib/executor.js
3653 silly gunzTarPerm extractEntry lib/file_list.js
3654 silly gunzTarPerm extractEntry lib/helper.js
3655 silly gunzTarPerm extractEntry lib/emitter_wrapper.js
3656 silly gunzTarPerm extractEntry lib/watcher.js
3657 silly gunzTarPerm extractEntry lib/browser_collection.js
3658 silly gunzTarPerm extractEntry lib/launcher.js
3659 silly gunzTarPerm extractEntry lib/temp_dir.js
3660 silly gunzTarPerm extractEntry lib/logger.js
3661 silly gunzTarPerm extractEntry lib/constants.js
3662 silly gunzTarPerm extractEntry lib/server.js
3663 silly gunzTarPerm extractEntry lib/config.js
3664 silly gunzTarPerm extractEntry lib/plugin.js
3665 silly gunzTarPerm extractEntry lib/completion.js
3666 silly gunzTarPerm extractEntry lib/preprocessor.js
3667 silly gunzTarPerm extractEntry lib/cli.js
3668 silly gunzTarPerm extractEntry lib/reporter.js
3669 silly gunzTarPerm extractEntry lib/browser_result.js
3670 silly gunzTarPerm extractEntry lib/runner.js
3671 silly gunzTarPerm extractEntry lib/index.js
3672 silly gunzTarPerm extractEntry lib/web-server.js
3673 silly gunzTarPerm extractEntry lib/init.js
3674 silly gunzTarPerm extractEntry lib/reporters/base.js
3675 silly gunzTarPerm extractEntry lib/reporters/base_color.js
3676 silly gunzTarPerm extractEntry lib/reporters/dots.js
3677 silly gunzTarPerm extractEntry lib/reporters/dots_color.js
3678 silly gunzTarPerm extractEntry lib/reporters/multi.js
3679 silly gunzTarPerm extractEntry lib/reporters/progress.js
3680 silly gunzTarPerm extractEntry lib/reporters/progress_color.js
3681 silly gunzTarPerm extractEntry lib/middleware/common.js
3682 silly gunzTarPerm extractEntry lib/middleware/karma.js
3683 silly gunzTarPerm extractEntry lib/middleware/proxy.js
3684 silly gunzTarPerm extractEntry lib/middleware/runner.js
3685 silly gunzTarPerm extractEntry lib/middleware/source_files.js
3686 silly gunzTarPerm extractEntry lib/middleware/strip_host.js
3687 silly gunzTarPerm extractEntry lib/launchers/base.js
3688 silly gunzTarPerm extractEntry lib/launchers/capture_timeout.js
3689 silly gunzTarPerm extractEntry lib/launchers/process.js
3690 silly gunzTarPerm extractEntry lib/launchers/retry.js
3691 silly gunzTarPerm extractEntry lib/init/color_schemes.js
3692 silly gunzTarPerm extractEntry lib/init/formatters.js
3693 silly gunzTarPerm extractEntry lib/init/state_machine.js
3694 silly gunzTarPerm extractEntry config.tpl.coffee
3695 silly gunzTarPerm extractEntry requirejs.config.tpl.coffee
3696 silly gunzTarPerm extractEntry CHANGELOG.md
3697 silly gunzTarPerm extractEntry static/karma.js
3698 silly gunzTarPerm extractEntry static/client.html
3699 silly gunzTarPerm extractEntry static/context.html
3700 silly gunzTarPerm extractEntry static/debug.html
3701 silly gunzTarPerm extractEntry .npmignore
3702 silly gunzTarPerm extractEntry README.md
3703 silly addNameRange number 2 { name: 'proto-list',
3703 silly addNameRange range: '>=1.2.1-0 <1.3.0-0',
3703 silly addNameRange hasData: true }
3704 silly addNameRange versions [ 'proto-list',
3704 silly addNameRange [ '1.0.0', '1.1.0', '1.2.0', '1.2.1', '1.2.2', '1.2.3' ] ]
3705 verbose addNamed [ 'proto-list', '1.2.3' ]
3706 verbose addNamed [ '1.2.3', '1.2.3' ]
3707 silly lockFile be66faa0-proto-list-1-2-3 proto-list@1.2.3
3708 verbose lock proto-list@1.2.3 /Volumes/Storage/martincleaver/.npm/be66faa0-proto-list-1-2-3.lock
3709 silly lockFile 9f0a1304-ncleaver-npm-asn1-0-1-11-package /Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package
3710 silly lockFile 9f0a1304-ncleaver-npm-asn1-0-1-11-package /Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package
3711 silly lockFile 08df5e81-equest-node-modules-tough-cookie tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie
3712 silly lockFile 08df5e81-equest-node-modules-tough-cookie tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie
3713 verbose tar unpack /Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz
3714 silly lockFile caae33a6-ncleaver-npm-asn1-0-1-11-package tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package
3715 verbose lock tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package /Volumes/Storage/martincleaver/.npm/caae33a6-ncleaver-npm-asn1-0-1-11-package.lock
3716 silly lockFile 04bfce91-aver-npm-asn1-0-1-11-package-tgz tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz
3717 verbose lock tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz /Volumes/Storage/martincleaver/.npm/04bfce91-aver-npm-asn1-0-1-11-package-tgz.lock
3718 silly lockFile 49faec31--tough-cookie-0-12-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/tough-cookie/0.12.1/package.tgz
3719 silly lockFile 49faec31--tough-cookie-0-12-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/tough-cookie/0.12.1/package.tgz
3720 silly gunzTarPerm extractEntry CONTRIBUTING.md
3721 silly gunzTarPerm extractEntry LICENSE-MIT
3722 silly gunzTarPerm modes [ '755', '644' ]
3723 silly lockFile a3d8e382-modules-nopt-node-modules-abbrev tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt/node_modules/abbrev
3724 silly lockFile a3d8e382-modules-nopt-node-modules-abbrev tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt/node_modules/abbrev
3725 silly gunzTarPerm extractEntry tst/ctype/tst.basicw.js
3726 silly gunzTarPerm modified mode [ 'tst/ctype/tst.basicw.js', 438, 420 ]
3727 silly gunzTarPerm extractEntry tst/ctype/tst.writeStruct.js
3728 silly gunzTarPerm modified mode [ 'tst/ctype/tst.writeStruct.js', 438, 420 ]
3729 info preinstall tough-cookie@0.12.1
3730 silly lockFile 3c6a1613-ver-npm-abbrev-1-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/abbrev/1.0.5/package.tgz
3731 silly lockFile 3c6a1613-ver-npm-abbrev-1-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/abbrev/1.0.5/package.tgz
3732 verbose readDependencies using package.json deps
3733 verbose readDependencies using package.json deps
3734 silly gunzTarPerm extractEntry package.json
3735 info preinstall abbrev@1.0.5
3736 verbose cache add [ 'punycode@>=0.2.0', null ]
3737 verbose cache add name=undefined spec="punycode@>=0.2.0" args=["punycode@>=0.2.0",null]
3738 verbose parsed url { protocol: null,
3738 verbose parsed url slashes: null,
3738 verbose parsed url auth: null,
3738 verbose parsed url host: null,
3738 verbose parsed url port: null,
3738 verbose parsed url hostname: null,
3738 verbose parsed url hash: null,
3738 verbose parsed url search: null,
3738 verbose parsed url query: null,
3738 verbose parsed url pathname: 'punycode@%3E=0.2.0',
3738 verbose parsed url path: 'punycode@%3E=0.2.0',
3738 verbose parsed url href: 'punycode@%3E=0.2.0' }
3739 verbose cache add name="punycode" spec=">=0.2.0" args=["punycode",">=0.2.0"]
3740 verbose parsed url { protocol: null,
3740 verbose parsed url slashes: null,
3740 verbose parsed url auth: null,
3740 verbose parsed url host: null,
3740 verbose parsed url port: null,
3740 verbose parsed url hostname: null,
3740 verbose parsed url hash: null,
3740 verbose parsed url search: null,
3740 verbose parsed url query: null,
3740 verbose parsed url pathname: '%3E=0.2.0',
3740 verbose parsed url path: '%3E=0.2.0',
3740 verbose parsed url href: '%3E=0.2.0' }
3741 verbose addNamed [ 'punycode', '>=0.2.0' ]
3742 verbose addNamed [ null, '>=0.2.0' ]
3743 silly lockFile a6886041-punycode-0-2-0 punycode@>=0.2.0
3744 verbose lock punycode@>=0.2.0 /Volumes/Storage/martincleaver/.npm/a6886041-punycode-0-2-0.lock
3745 silly gunzTarPerm extractEntry appveyor.yml
3746 silly gunzTarPerm extractEntry internal-tasks/bump.js
3747 verbose readDependencies using package.json deps
3748 silly gunzTarPerm extractEntry .npmignore
3749 silly gunzTarPerm extractEntry README.md
3750 silly addNameRange { name: 'punycode', range: '>=0.2.0', hasData: false }
3751 verbose readDependencies using package.json deps
3752 silly resolved []
3753 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt/node_modules/abbrev
3754 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt/node_modules/abbrev
3755 verbose linkStuff [ false,
3755 verbose linkStuff false,
3755 verbose linkStuff false,
3755 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt/node_modules' ]
3756 info linkStuff abbrev@1.0.5
3757 verbose linkBins abbrev@1.0.5
3758 verbose linkMans abbrev@1.0.5
3759 verbose rebuildBundles abbrev@1.0.5
3760 info install abbrev@1.0.5
3761 info postinstall abbrev@1.0.5
3762 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt
3763 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/nopt
3764 verbose linkStuff [ false,
3764 verbose linkStuff false,
3764 verbose linkStuff false,
3764 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules' ]
3765 info linkStuff nopt@2.2.1
3766 verbose linkBins nopt@2.2.1
3767 verbose link bins [ { nopt: './bin/nopt.js' },
3767 verbose link bins '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/.bin',
3767 verbose link bins false ]
3768 verbose linkMans nopt@2.2.1
3769 verbose rebuildBundles nopt@2.2.1
3770 verbose rebuildBundles [ 'abbrev' ]
3771 silly gunzTarPerm extractEntry internal-tasks/subgrunt.js
3772 silly gunzTarPerm extractEntry tst/ctype/tst.basicr.js
3773 silly gunzTarPerm modified mode [ 'tst/ctype/tst.basicr.js', 438, 420 ]
3774 silly gunzTarPerm extractEntry tst/ctype/tst.readSize.js
3775 silly gunzTarPerm modified mode [ 'tst/ctype/tst.readSize.js', 438, 420 ]
3776 silly gunzTarPerm extractEntry LICENSE
3777 silly gunzTarPerm extractEntry lib/index.js
3778 info install nopt@2.2.1
3779 info postinstall nopt@2.2.1
3780 silly gunzTarPerm extractEntry lib/grunt.js
3781 silly gunzTarPerm extractEntry lib/grunt/cli.js
3782 silly gunzTarPerm extractEntry lib/ber/errors.js
3783 silly gunzTarPerm extractEntry lib/ber/index.js
3784 silly gunzTarPerm extractEntry lib/grunt/config.js
3785 silly gunzTarPerm extractEntry lib/grunt/event.js
3786 silly gunzTarPerm extractEntry lib/ber/reader.js
3787 silly gunzTarPerm extractEntry lib/ber/types.js
3788 silly gunzTarPerm extractEntry lib/ber/writer.js
3789 silly gunzTarPerm extractEntry tst/ber/reader.test.js
3790 silly gunzTarPerm extractEntry tst/ber/writer.test.js
3791 silly gunzTarPerm extractEntry lib/grunt/fail.js
3792 silly gunzTarPerm extractEntry lib/grunt/file.js
3793 silly lockFile 1ace22b7-delayed-stream-0-0-5 delayed-stream@0.0.5
3794 silly lockFile 1ace22b7-delayed-stream-0-0-5 delayed-stream@0.0.5
3795 verbose url raw punycode
3796 verbose url resolving [ 'https://registry.npmjs.org/', './punycode' ]
3797 verbose url resolved https://registry.npmjs.org/punycode
3798 info trying registry request attempt 1 at 19:41:56
3799 verbose etag "EK7KTYXCSCX682ZQKQJBNAHZU"
3800 http GET https://registry.npmjs.org/punycode
3801 silly lockFile be66faa0-proto-list-1-2-3 proto-list@1.2.3
3802 silly lockFile be66faa0-proto-list-1-2-3 proto-list@1.2.3
3803 silly resolved [ { author:
3803 silly resolved { name: 'Felix Geisendörfer',
3803 silly resolved email: 'felix@debuggable.com',
3803 silly resolved url: 'http://debuggable.com/' },
3803 silly resolved name: 'delayed-stream',
3803 silly resolved description: 'Buffers events from a stream until you are ready to handle them.',
3803 silly resolved version: '0.0.5',
3803 silly resolved homepage: 'https://github.com/felixge/node-delayed-stream',
3803 silly resolved repository:
3803 silly resolved { type: 'git',
3803 silly resolved url: 'git://github.com/felixge/node-delayed-stream.git' },
3803 silly resolved main: './lib/delayed_stream',
3803 silly resolved engines: { node: '>=0.4.0' },
3803 silly resolved dependencies: {},
3803 silly resolved devDependencies: { fake: '0.2.0', far: '0.0.1' },
3803 silly resolved readme: '# delayed-stream\n\nBuffers events from a stream until you are ready to handle them.\n\n## Installation\n\n``` bash\nnpm install delayed-stream\n```\n\n## Usage\n\nThe following example shows how to write a http echo server that delays its\nresponse by 1000 ms.\n\n``` javascript\nvar DelayedStream = require(\'delayed-stream\');\nvar http = require(\'http\');\n\nhttp.createServer(function(req, res) {\n var delayed = DelayedStream.create(req);\n\n setTimeout(function() {\n res.writeHead(200);\n delayed.pipe(res);\n }, 1000);\n});\n```\n\nIf you are not using `Stream#pipe`, you can also manually release the buffered\nevents by calling `delayedStream.resume()`:\n\n``` javascript\nvar delayed = DelayedStream.create(req);\n\nsetTimeout(function() {\n // Emit all buffered events and resume underlaying source\n delayed.resume();\n}, 1000);\n```\n\n## Implementation\n\nIn order to use this meta stream properly, here are a few things you should\nknow about the implementation.\n\n### Event Buffering / Proxying\n\nAll events of the `source` stream are hijacked by overwriting the `source.emit`\nmethod. Until node implements a catch-all event listener, this is the only way.\n\nHowever, delayed-stream still continues to emit all events it captures on the\n`source`, regardless of whether you have released the delayed stream yet or\nnot.\n\nUpon creation, delayed-stream captures all `source` events and stores them in\nan internal event buffer. Once `delayedStream.release()` is called, all\nbuffered events are emitted on the `delayedStream`, and the event buffer is\ncleared. After that, delayed-stream merely acts as a proxy for the underlaying\nsource.\n\n### Error handling\n\nError events on `source` are buffered / proxied just like any other events.\nHowever, `delayedStream.create` attaches a no-op `\'error\'` listener to the\n`source`. This way you only have to handle errors on the `delayedStream`\nobject, rather than in two places.\n\n### Buffer limits\n\ndelayed-stream provides a `maxDataSize` property that can be used to limit\nthe amount of data being buffered. In order to protect you from bad `source`\nstreams that don\'t react to `source.pause()`, this feature is enabled by\ndefault.\n\n## API\n\n### DelayedStream.create(source, [options])\n\nReturns a new `delayedStream`. Available options are:\n\n* `pauseStream`\n* `maxDataSize`\n\nThe description for those properties can be found below.\n\n### delayedStream.source\n\nThe `source` stream managed by this object. This is useful if you are\npassing your `delayedStream` around, and you still want to access properties\non the `source` object.\n\n### delayedStream.pauseStream = true\n\nWhether to pause the underlaying `source` when calling\n`DelayedStream.create()`. Modifying this property afterwards has no effect.\n\n### delayedStream.maxDataSize = 1024 * 1024\n\nThe amount of data to buffer before emitting an `error`.\n\nIf the underlaying source is emitting `Buffer` objects, the `maxDataSize`\nrefers to bytes.\n\nIf the underlaying source is emitting JavaScript strings, the size refers to\ncharacters.\n\nIf you know what you are doing, you can set this property to `Infinity` to\ndisable this feature. You can also modify this property during runtime.\n\n### delayedStream.maxDataSize = 1024 * 1024\n\nThe amount of data to buffer before emitting an `error`.\n\nIf the underlaying source is emitting `Buffer` objects, the `maxDataSize`\nrefers to bytes.\n\nIf the underlaying source is emitting JavaScript strings, the size refers to\ncharacters.\n\nIf you know what you are doing, you can set this property to `Infinity` to\ndisable this feature.\n\n### delayedStream.dataSize = 0\n\nThe amount of data buffered so far.\n\n### delayedStream.readable\n\nAn ECMA5 getter that returns the value of `source.readable`.\n\n### delayedStream.resume()\n\nIf the `delayedStream` has not been released so far, `delayedStream.release()`\nis called.\n\nIn either case, `source.resume()` is called.\n\n### delayedStream.pause()\n\nCalls `source.pause()`.\n\n### delayedStream.pipe(dest)\n\nCalls `delayedStream.resume()` and then proxies the arguments to `source.pipe`.\n\n### delayedStream.release()\n\nEmits and clears all events that have been buffered up so far. This does not\nresume the underlaying source, use `delayedStream.resume()` instead.\n\n## License\n\ndelayed-stream is licensed under the MIT license.\n',
3803 silly resolved readmeFilename: 'Readme.md',
3803 silly resolved bugs: { url: 'https://github.com/felixge/node-delayed-stream/issues' },
3803 silly resolved _id: 'delayed-stream@0.0.5',
3803 silly resolved _from: 'delayed-stream@0.0.5' } ]
3804 info install delayed-stream@0.0.5 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream
3805 info installOne delayed-stream@0.0.5
3806 silly gunzTarPerm extractEntry tst/ctype/tst.structw.js
3807 silly gunzTarPerm modified mode [ 'tst/ctype/tst.structw.js', 438, 420 ]
3808 silly gunzTarPerm extractEntry tst/ctype/tst.char.js
3809 silly gunzTarPerm modified mode [ 'tst/ctype/tst.char.js', 438, 420 ]
3810 silly lockFile 5d8d6d63-proto-list-1-2-1 proto-list@~1.2.1
3811 silly lockFile 5d8d6d63-proto-list-1-2-1 proto-list@~1.2.1
3812 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream unbuild
3813 verbose tar unpack /Volumes/Storage/martincleaver/.npm/delayed-stream/0.0.5/package.tgz
3814 silly lockFile be4da6a6-ream-node-modules-delayed-stream tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream
3815 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream /Volumes/Storage/martincleaver/.npm/be4da6a6-ream-node-modules-delayed-stream.lock
3816 silly lockFile 0cb9a45c-delayed-stream-0-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/delayed-stream/0.0.5/package.tgz
3817 verbose lock tar:///Volumes/Storage/martincleaver/.npm/delayed-stream/0.0.5/package.tgz /Volumes/Storage/martincleaver/.npm/0cb9a45c-delayed-stream-0-0-5-package-tgz.lock
3818 silly resolved [ { name: 'proto-list',
3818 silly resolved version: '1.2.3',
3818 silly resolved description: 'A utility for managing a prototype chain',
3818 silly resolved main: './proto-list.js',
3818 silly resolved author:
3818 silly resolved { name: 'Isaac Z. Schlueter',
3818 silly resolved email: 'i@izs.me',
3818 silly resolved url: 'http://blog.izs.me/' },
3818 silly resolved scripts: { test: 'tap test/*.js' },
3818 silly resolved repository: { type: 'git', url: 'https://github.com/isaacs/proto-list' },
3818 silly resolved license:
3818 silly resolved { type: 'MIT',
3818 silly resolved url: 'https://github.com/isaacs/proto-list/blob/master/LICENSE' },
3818 silly resolved devDependencies: { tap: '0' },
3818 silly resolved readme: 'A list of objects, bound by their prototype chain.\n\nUsed in npm\'s config stuff.\n',
3818 silly resolved readmeFilename: 'README.md',
3818 silly resolved bugs: { url: 'https://github.com/isaacs/proto-list/issues' },
3818 silly resolved homepage: 'https://github.com/isaacs/proto-list',
3818 silly resolved _id: 'proto-list@1.2.3',
3818 silly resolved _from: 'proto-list@~1.2.1' } ]
3819 info install proto-list@1.2.3 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain
3820 info installOne proto-list@1.2.3
3821 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list unbuild
3822 silly gunzTarPerm modes [ '755', '644' ]
3823 http 304 https://registry.npmjs.org/punycode
3824 silly registry.get cb [ 304,
3824 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:57 GMT',
3824 silly registry.get server: 'Apache',
3824 silly registry.get via: '1.1 varnish',
3824 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:39 GMT',
3824 silly registry.get 'cache-control': 'max-age=60',
3824 silly registry.get etag: '"EK7KTYXCSCX682ZQKQJBNAHZU"',
3824 silly registry.get 'x-served-by': 'cache-iad2124-IAD',
3824 silly registry.get 'x-cache': 'HIT',
3824 silly registry.get 'x-cache-hits': '4',
3824 silly registry.get 'x-timer': 'S1407886917.008917,VS0,VE0',
3824 silly registry.get vary: 'Accept',
3824 silly registry.get 'content-length': '0',
3824 silly registry.get 'keep-alive': 'timeout=10, max=50',
3824 silly registry.get connection: 'Keep-Alive' } ]
3825 verbose etag punycode from cache
3826 verbose tar unpack /Volumes/Storage/martincleaver/.npm/proto-list/1.2.3/package.tgz
3827 silly lockFile 0f1cd4b2-ig-chain-node-modules-proto-list tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list
3828 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list /Volumes/Storage/martincleaver/.npm/0f1cd4b2-ig-chain-node-modules-proto-list.lock
3829 silly lockFile a5a3bc31-npm-proto-list-1-2-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/proto-list/1.2.3/package.tgz
3830 verbose lock tar:///Volumes/Storage/martincleaver/.npm/proto-list/1.2.3/package.tgz /Volumes/Storage/martincleaver/.npm/a5a3bc31-npm-proto-list-1-2-3-package-tgz.lock
3831 silly gunzTarPerm extractEntry tst/ctype/tst.oldwrite.js
3832 silly gunzTarPerm modified mode [ 'tst/ctype/tst.oldwrite.js', 438, 420 ]
3833 silly gunzTarPerm extractEntry tst/ctype/tst.endian.js
3834 silly gunzTarPerm modified mode [ 'tst/ctype/tst.endian.js', 438, 420 ]
3835 silly gunzTarPerm modes [ '755', '644' ]
3836 silly addNameRange number 2 { name: 'punycode', range: '>=0.2.0', hasData: true }
3837 silly addNameRange versions [ 'punycode',
3837 silly addNameRange [ '0.0.1',
3837 silly addNameRange '0.0.2',
3837 silly addNameRange '0.0.1337',
3837 silly addNameRange '0.1.0',
3837 silly addNameRange '0.1.1',
3837 silly addNameRange '0.1.2',
3837 silly addNameRange '0.2.0',
3837 silly addNameRange '0.2.1',
3837 silly addNameRange '0.2.2',
3837 silly addNameRange '0.3.0',
3837 silly addNameRange '1.0.0',
3837 silly addNameRange '1.1.0',
3837 silly addNameRange '1.1.1',
3837 silly addNameRange '1.2.0',
3837 silly addNameRange '1.2.1',
3837 silly addNameRange '1.2.2',
3837 silly addNameRange '1.2.3',
3837 silly addNameRange '1.2.4',
3837 silly addNameRange '1.3.0',
3837 silly addNameRange '1.3.1' ] ]
3838 verbose addNamed [ 'punycode', '1.3.1' ]
3839 verbose addNamed [ '1.3.1', '1.3.1' ]
3840 silly lockFile 34162ebb-punycode-1-3-1 punycode@1.3.1
3841 verbose lock punycode@1.3.1 /Volumes/Storage/martincleaver/.npm/34162ebb-punycode-1-3-1.lock
3842 silly gunzTarPerm extractEntry lib/grunt/help.js
3843 silly gunzTarPerm extractEntry lib/grunt/option.js
3844 silly gunzTarPerm extractEntry lib/grunt/task.js
3845 silly gunzTarPerm extractEntry lib/grunt/template.js
3846 silly gunzTarPerm extractEntry lib/util/task.js
3847 silly gunzTarPerm extractEntry package.json
3848 silly gunzTarPerm extractEntry package.json
3849 silly gunzTarPerm extractEntry README.md
3850 silly gunzTarPerm extractEntry LICENSE
3851 silly gunzTarPerm extractEntry .npmignore
3852 silly gunzTarPerm extractEntry License
3853 silly lockFile a33ad648-odules-request-node-modules-hawk tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk
3854 silly lockFile a33ad648-odules-request-node-modules-hawk tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk
3855 silly gunzTarPerm extractEntry proto-list.js
3856 silly gunzTarPerm extractEntry test/basic.js
3857 silly lockFile e190a95c-eaver-npm-hawk-1-0-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/hawk/1.0.0/package.tgz
3858 silly lockFile e190a95c-eaver-npm-hawk-1-0-0-package-tgz tar:///Volumes/Storage/martincleaver/.npm/hawk/1.0.0/package.tgz
3859 silly gunzTarPerm extractEntry Makefile
3860 silly gunzTarPerm extractEntry Readme.md
3861 info preinstall hawk@1.0.0
3862 silly gunzTarPerm extractEntry tst/ctf/tst.struct.js
3863 silly gunzTarPerm modified mode [ 'tst/ctf/tst.struct.js', 438, 420 ]
3864 silly gunzTarPerm extractEntry tst/ctf/tst.fail.js
3865 silly gunzTarPerm modified mode [ 'tst/ctf/tst.fail.js', 438, 420 ]
3866 verbose readDependencies using package.json deps
3867 verbose readDependencies using package.json deps
3868 silly gunzTarPerm extractEntry lib/delayed_stream.js
3869 silly gunzTarPerm extractEntry test/common.js
3870 verbose cache add [ 'boom@0.4.x', null ]
3871 verbose cache add name=undefined spec="boom@0.4.x" args=["boom@0.4.x",null]
3872 verbose parsed url { protocol: null,
3872 verbose parsed url slashes: null,
3872 verbose parsed url auth: null,
3872 verbose parsed url host: null,
3872 verbose parsed url port: null,
3872 verbose parsed url hostname: null,
3872 verbose parsed url hash: null,
3872 verbose parsed url search: null,
3872 verbose parsed url query: null,
3872 verbose parsed url pathname: 'boom@0.4.x',
3872 verbose parsed url path: 'boom@0.4.x',
3872 verbose parsed url href: 'boom@0.4.x' }
3873 verbose cache add name="boom" spec="0.4.x" args=["boom","0.4.x"]
3874 verbose parsed url { protocol: null,
3874 verbose parsed url slashes: null,
3874 verbose parsed url auth: null,
3874 verbose parsed url host: null,
3874 verbose parsed url port: null,
3874 verbose parsed url hostname: null,
3874 verbose parsed url hash: null,
3874 verbose parsed url search: null,
3874 verbose parsed url query: null,
3874 verbose parsed url pathname: '0.4.x',
3874 verbose parsed url path: '0.4.x',
3874 verbose parsed url href: '0.4.x' }
3875 verbose addNamed [ 'boom', '0.4.x' ]
3876 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
3877 silly lockFile 225d04ea-boom-0-4-x boom@0.4.x
3878 verbose lock boom@0.4.x /Volumes/Storage/martincleaver/.npm/225d04ea-boom-0-4-x.lock
3879 verbose cache add [ 'cryptiles@0.2.x', null ]
3880 verbose cache add name=undefined spec="cryptiles@0.2.x" args=["cryptiles@0.2.x",null]
3881 verbose parsed url { protocol: null,
3881 verbose parsed url slashes: null,
3881 verbose parsed url auth: null,
3881 verbose parsed url host: null,
3881 verbose parsed url port: null,
3881 verbose parsed url hostname: null,
3881 verbose parsed url hash: null,
3881 verbose parsed url search: null,
3881 verbose parsed url query: null,
3881 verbose parsed url pathname: 'cryptiles@0.2.x',
3881 verbose parsed url path: 'cryptiles@0.2.x',
3881 verbose parsed url href: 'cryptiles@0.2.x' }
3882 verbose cache add name="cryptiles" spec="0.2.x" args=["cryptiles","0.2.x"]
3883 verbose parsed url { protocol: null,
3883 verbose parsed url slashes: null,
3883 verbose parsed url auth: null,
3883 verbose parsed url host: null,
3883 verbose parsed url port: null,
3883 verbose parsed url hostname: null,
3883 verbose parsed url hash: null,
3883 verbose parsed url search: null,
3883 verbose parsed url query: null,
3883 verbose parsed url pathname: '0.2.x',
3883 verbose parsed url path: '0.2.x',
3883 verbose parsed url href: '0.2.x' }
3884 verbose addNamed [ 'cryptiles', '0.2.x' ]
3885 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
3886 silly lockFile 75d7e584-cryptiles-0-2-x cryptiles@0.2.x
3887 verbose lock cryptiles@0.2.x /Volumes/Storage/martincleaver/.npm/75d7e584-cryptiles-0-2-x.lock
3888 verbose cache add [ 'sntp@0.2.x', null ]
3889 verbose cache add name=undefined spec="sntp@0.2.x" args=["sntp@0.2.x",null]
3890 verbose parsed url { protocol: null,
3890 verbose parsed url slashes: null,
3890 verbose parsed url auth: null,
3890 verbose parsed url host: null,
3890 verbose parsed url port: null,
3890 verbose parsed url hostname: null,
3890 verbose parsed url hash: null,
3890 verbose parsed url search: null,
3890 verbose parsed url query: null,
3890 verbose parsed url pathname: 'sntp@0.2.x',
3890 verbose parsed url path: 'sntp@0.2.x',
3890 verbose parsed url href: 'sntp@0.2.x' }
3891 verbose cache add name="sntp" spec="0.2.x" args=["sntp","0.2.x"]
3892 verbose parsed url { protocol: null,
3892 verbose parsed url slashes: null,
3892 verbose parsed url auth: null,
3892 verbose parsed url host: null,
3892 verbose parsed url port: null,
3892 verbose parsed url hostname: null,
3892 verbose parsed url hash: null,
3892 verbose parsed url search: null,
3892 verbose parsed url query: null,
3892 verbose parsed url pathname: '0.2.x',
3892 verbose parsed url path: '0.2.x',
3892 verbose parsed url href: '0.2.x' }
3893 verbose addNamed [ 'sntp', '0.2.x' ]
3894 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
3895 silly lockFile b35a0361-sntp-0-2-x sntp@0.2.x
3896 verbose lock sntp@0.2.x /Volumes/Storage/martincleaver/.npm/b35a0361-sntp-0-2-x.lock
3897 silly addNameRange { name: 'boom', range: '>=0.4.0-0 <0.5.0-0', hasData: false }
3898 verbose cache add [ 'hoek@0.9.x', null ]
3899 verbose cache add name=undefined spec="hoek@0.9.x" args=["hoek@0.9.x",null]
3900 verbose parsed url { protocol: null,
3900 verbose parsed url slashes: null,
3900 verbose parsed url auth: null,
3900 verbose parsed url host: null,
3900 verbose parsed url port: null,
3900 verbose parsed url hostname: null,
3900 verbose parsed url hash: null,
3900 verbose parsed url search: null,
3900 verbose parsed url query: null,
3900 verbose parsed url pathname: 'hoek@0.9.x',
3900 verbose parsed url path: 'hoek@0.9.x',
3900 verbose parsed url href: 'hoek@0.9.x' }
3901 verbose cache add name="hoek" spec="0.9.x" args=["hoek","0.9.x"]
3902 verbose parsed url { protocol: null,
3902 verbose parsed url slashes: null,
3902 verbose parsed url auth: null,
3902 verbose parsed url host: null,
3902 verbose parsed url port: null,
3902 verbose parsed url hostname: null,
3902 verbose parsed url hash: null,
3902 verbose parsed url search: null,
3902 verbose parsed url query: null,
3902 verbose parsed url pathname: '0.9.x',
3902 verbose parsed url path: '0.9.x',
3902 verbose parsed url href: '0.9.x' }
3903 verbose addNamed [ 'hoek', '0.9.x' ]
3904 verbose addNamed [ null, '>=0.9.0-0 <0.10.0-0' ]
3905 silly lockFile 58ccaf9a-hoek-0-9-x hoek@0.9.x
3906 verbose lock hoek@0.9.x /Volumes/Storage/martincleaver/.npm/58ccaf9a-hoek-0-9-x.lock
3907 silly addNameRange { name: 'cryptiles',
3907 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
3907 silly addNameRange hasData: false }
3908 silly addNameRange { name: 'sntp', range: '>=0.2.0-0 <0.3.0-0', hasData: false }
3909 silly addNameRange { name: 'hoek', range: '>=0.9.0-0 <0.10.0-0', hasData: false }
3910 silly gunzTarPerm extractEntry test/run.js
3911 silly gunzTarPerm extractEntry test/integration/test-delayed-http-upload.js
3912 silly lockFile 34162ebb-punycode-1-3-1 punycode@1.3.1
3913 silly lockFile 34162ebb-punycode-1-3-1 punycode@1.3.1
3914 verbose url raw cryptiles
3915 verbose url resolving [ 'https://registry.npmjs.org/', './cryptiles' ]
3916 verbose url resolved https://registry.npmjs.org/cryptiles
3917 info trying registry request attempt 1 at 19:41:56
3918 verbose etag "6PCNKSRLVESTIM95KCMO7COLR"
3919 http GET https://registry.npmjs.org/cryptiles
3920 silly lockFile a6886041-punycode-0-2-0 punycode@>=0.2.0
3921 silly lockFile a6886041-punycode-0-2-0 punycode@>=0.2.0
3922 verbose url raw sntp
3923 verbose url resolving [ 'https://registry.npmjs.org/', './sntp' ]
3924 verbose url resolved https://registry.npmjs.org/sntp
3925 info trying registry request attempt 1 at 19:41:56
3926 verbose etag "838XCCL6EQO8BK3UYWPXUPJKH"
3927 http GET https://registry.npmjs.org/sntp
3928 verbose url raw boom
3929 verbose url resolving [ 'https://registry.npmjs.org/', './boom' ]
3930 verbose url resolved https://registry.npmjs.org/boom
3931 info trying registry request attempt 1 at 19:41:56
3932 verbose etag "BFVTZZSQU775ZEHAW9917T75I"
3933 http GET https://registry.npmjs.org/boom
3934 verbose url raw hoek
3935 verbose url resolving [ 'https://registry.npmjs.org/', './hoek' ]
3936 verbose url resolved https://registry.npmjs.org/hoek
3937 info trying registry request attempt 1 at 19:41:56
3938 verbose etag "5TD9XRN8G60JFZXKBDOJCEAEG"
3939 http GET https://registry.npmjs.org/hoek
3940 silly resolved [ { name: 'punycode',
3940 silly resolved version: '1.3.1',
3940 silly resolved description: 'A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.',
3940 silly resolved homepage: 'http://mths.be/punycode',
3940 silly resolved main: 'punycode.js',
3940 silly resolved keywords: [ 'punycode', 'unicode', 'idn', 'idna', 'dns', 'url', 'domain' ],
3940 silly resolved licenses: [ [Object] ],
3940 silly resolved author: { name: 'Mathias Bynens', url: 'http://mathiasbynens.be/' },
3940 silly resolved contributors: [ [Object], [Object] ],
3940 silly resolved repository:
3940 silly resolved { type: 'git',
3940 silly resolved url: 'https://github.com/bestiejs/punycode.js.git' },
3940 silly resolved bugs: { url: 'https://github.com/bestiejs/punycode.js/issues' },
3940 silly resolved files: [ 'LICENSE-MIT.txt', 'punycode.js' ],
3940 silly resolved directories: { test: 'tests' },
3940 silly resolved scripts: { test: 'node tests/tests.js' },
3940 silly resolved devDependencies:
3940 silly resolved { coveralls: '^2.10.1',
3940 silly resolved grunt: '^0.4.5',
3940 silly resolved 'grunt-contrib-uglify': '^0.5.0',
3940 silly resolved 'grunt-shell': '^0.7.0',
3940 silly resolved istanbul: '^0.2.13',
3940 silly resolved 'qunit-extras': '^1.2.0',
3940 silly resolved qunitjs: '~1.11.0',
3940 silly resolved requirejs: '^2.1.14' },
3940 silly resolved readme: '# Punycode.js [![Build status](https://travis-ci.org/bestiejs/punycode.js.svg?branch=master)](https://travis-ci.org/bestiejs/punycode.js) [![Code coverage status](http://img.shields.io/coveralls/bestiejs/punycode.js/master.svg)](https://coveralls.io/r/bestiejs/punycode.js) [![Dependency status](https://gemnasium.com/bestiejs/punycode.js.svg)](https://gemnasium.com/bestiejs/punycode.js)\n\nA robust Punycode converter that fully complies to [RFC 3492](http://tools.ietf.org/html/rfc3492) and [RFC 5891](http://tools.ietf.org/html/rfc5891), and works on nearly all JavaScript platforms.\n\nThis JavaScript library is the result of comparing, optimizing and documenting different open-source implementations of the Punycode algorithm:\n\n* [The C example code from RFC 3492](http://tools.ietf.org/html/rfc3492#appendix-C)\n* [`punycode.c` by _Markus W. Scherer_ (IBM)](http://opensource.apple.com/source/ICU/ICU-400.42/icuSources/common/punycode.c)\n* [`punycode.c` by _Ben Noordhuis_](https://github.com/bnoordhuis/punycode/blob/master/punycode.c)\n* [JavaScript implementation by _some_](http://stackoverflow.com/questions/183485/can-anyone-recommend-a-good-free-javascript-for-punycode-to-unicode-conversion/301287#301287)\n* [`punycode.js` by _Ben Noordhuis_](https://github.com/joyent/node/blob/426298c8c1c0d5b5224ac3658c41e7c2a3fe9377/lib/punycode.js) (note: [not fully compliant](https://github.com/joyent/node/issues/2072))\n\nThis project is [bundled](https://github.com/joyent/node/blob/master/lib/punycode.js) with [Node.js v0.6.2+](https://github.com/joyent/node/compare/975f1930b1...61e796decc).\n\n## Installation\n\nVia [npm](http://npmjs.org/) (only required for Node.js releases older than v0.6.2):\n\n```bash\nnpm install punycode\n```\n\nVia [Bower](http://bower.io/):\n\n```bash\nbower install punycode\n```\n\nVia [Component](https://github.com/component/component):\n\n```bash\ncomponent install bestiejs/punycode.js\n```\n\nIn a browser:\n\n```html\n<script src="punycode.js"></script>\n```\n\nIn [Narwhal](http://narwhaljs.org/), [Node.js](http://nodejs.org/), and [RingoJS](http://ringojs.org/):\n\n```js\nvar punycode = require(\'punycode\');\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'punycode.js\');\n```\n\nUsing an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire(\n {\n \'paths\': {\n \'punycode\': \'path/to/punycode\'\n }\n },\n [\'punycode\'],\n function(punycode) {\n console.log(punycode);\n }\n);\n```\n\n## API\n\n### `punycode.decode(string)`\n\nConverts a Punycode string of ASCII symbols to a string of Unicode symbols.\n\n```js\n// decode domain name parts\npunycode.decode(\'maana-pta\'); // \'mañana\'\npunycode.decode(\'--dqo34k\'); // \'☃-⌘\'\n```\n\n### `punycode.encode(string)`\n\nConverts a string of Unicode symbols to a Punycode string of ASCII symbols.\n\n```js\n// encode domain name parts\npunycode.encode(\'mañana\'); // \'maana-pta\'\npunycode.encode(\'☃-⌘\'); // \'--dqo34k\'\n```\n\n### `punycode.toUnicode(input)`\n\nConverts a Punycode string representing a domain name or an email address to Unicode. Only the Punycoded parts of the input will be converted, i.e. it doesn’t matter if you call it on a string that has already been converted to Unicode.\n\n```js\n// decode domain names\npunycode.toUnicode(\'xn--maana-pta.com\');\n// → \'mañana.com\'\npunycode.toUnicode(\'xn----dqo34k.com\');\n// → \'☃-⌘.com\'\n\n// decode email addresses\npunycode.toUnicode(\'джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq\');\n// → \'джумла@джpумлатест.bрфa\'\n```\n\n### `punycode.toASCII(input)`\n\nConverts a Unicode string representing a domain name or an email address to Punycode. Only the non-ASCII parts of the input will be converted, i.e. it doesn’t matter if you call it with a domain that\'s already in ASCII.\n\n```js\n// encode domain names\npunycode.toASCII(\'mañana.com\');\n// → \'xn--maana-pta.com\'\npunycode.toASCII(\'☃-⌘.com\');\n// → \'xn----dqo34k.com\'\n\n// encode email addresses\npunycode.toASCII(\'джумла@джpумлатест.bрфa\');\n// → \'джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq\'\n```\n\n### `punycode.ucs2`\n\n#### `punycode.ucs2.decode(string)`\n\nCreates an array containing the numeric code point values of each Unicode symbol in the string. While [JavaScript uses UCS-2 internally](http://mathiasbynens.be/notes/javascript-encoding), this function will convert a pair of surrogate halves (each of which UCS-2 exposes as separate characters) into a single code point, matching UTF-16.\n\n```js\npunycode.ucs2.decode(\'abc\');\n// → [0x61, 0x62, 0x63]\n// surrogate pair for U+1D306 TETRAGRAM FOR CENTRE:\npunycode.ucs2.decode(\'\\uD834\\uDF06\');\n// → [0x1D306]\n```\n\n#### `punycode.ucs2.encode(codePoints)`\n\nCreates a string based on an array of numeric code point values.\n\n```js\npunycode.ucs2.encode([0x61, 0x62, 0x63]);\n// → \'abc\'\npunycode.ucs2.encode([0x1D306]);\n// → \'\\uD834\\uDF06\'\n```\n\n### `punycode.version`\n\nA string representing the current Punycode.js version number.\n\n## Unit tests & code coverage\n\nAfter cloning this repository, run `npm install --dev` to install the dependencies needed for Punycode.js development and testing. You may want to install Istanbul _globally_ using `npm install istanbul -g`.\n\nOnce that’s done, you can run the unit tests in Node using `npm test` or `node tests/tests.js`. To run the tests in Rhino, Ringo, Narwhal, PhantomJS, and web browsers as well, use `grunt test`.\n\nTo generate the code coverage report, use `grunt cover`.\n\nFeel free to fork if you see possible improvements!\n\n## Author\n\n| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|\n| [Mathias Bynens](http://mathiasbynens.be/) |\n\n## Contributors\n\n| [![twitter/jdalton](https://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## License\n\nPunycode.js is available under the [MIT](http://mths.be/mit) license.\n',
3940 silly resolved readmeFilename: 'README.md',
3940 silly resolved _id: 'punycode@1.3.1',
3940 silly resolved _from: 'punycode@>=0.2.0' } ]
3941 info install punycode@1.3.1 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie
3942 info installOne punycode@1.3.1
3943 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie/node_modules/punycode unbuild
3944 verbose tar unpack /Volumes/Storage/martincleaver/.npm/punycode/1.3.1/package.tgz
3945 silly lockFile 810f5424-ugh-cookie-node-modules-punycode tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie/node_modules/punycode
3946 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie/node_modules/punycode /Volumes/Storage/martincleaver/.npm/810f5424-ugh-cookie-node-modules-punycode.lock
3947 silly lockFile b2db47ff-r-npm-punycode-1-3-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/punycode/1.3.1/package.tgz
3948 verbose lock tar:///Volumes/Storage/martincleaver/.npm/punycode/1.3.1/package.tgz /Volumes/Storage/martincleaver/.npm/b2db47ff-r-npm-punycode-1-3-1-package-tgz.lock
3949 silly gunzTarPerm modes [ '755', '644' ]
3950 silly gunzTarPerm extractEntry test/integration/test-delayed-stream-auto-pause.js
3951 silly gunzTarPerm extractEntry test/integration/test-delayed-stream-pause.js
3952 silly gunzTarPerm extractEntry test/integration/test-delayed-stream.js
3953 silly gunzTarPerm extractEntry tst/ctf/tst.float.js
3954 silly gunzTarPerm modified mode [ 'tst/ctf/tst.float.js', 438, 420 ]
3955 silly gunzTarPerm extractEntry tst/ctf/tst.psinfo.js
3956 silly gunzTarPerm modified mode [ 'tst/ctf/tst.psinfo.js', 438, 420 ]
3957 silly lockFile 0f1cd4b2-ig-chain-node-modules-proto-list tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list
3958 silly lockFile 0f1cd4b2-ig-chain-node-modules-proto-list tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list
3959 silly lockFile a5a3bc31-npm-proto-list-1-2-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/proto-list/1.2.3/package.tgz
3960 silly lockFile a5a3bc31-npm-proto-list-1-2-3-package-tgz tar:///Volumes/Storage/martincleaver/.npm/proto-list/1.2.3/package.tgz
3961 info preinstall proto-list@1.2.3
3962 verbose readDependencies using package.json deps
3963 silly gunzTarPerm extractEntry test/integration/test-handle-source-errors.js
3964 silly gunzTarPerm extractEntry test/integration/test-max-data-size.js
3965 verbose readDependencies using package.json deps
3966 silly resolved []
3967 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list
3968 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list
3969 verbose linkStuff [ false,
3969 verbose linkStuff false,
3969 verbose linkStuff false,
3969 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain/node_modules' ]
3970 info linkStuff proto-list@1.2.3
3971 verbose linkBins proto-list@1.2.3
3972 verbose linkMans proto-list@1.2.3
3973 verbose rebuildBundles proto-list@1.2.3
3974 info install proto-list@1.2.3
3975 silly gunzTarPerm extractEntry tst/ctf/tst.typedef.js
3976 silly gunzTarPerm modified mode [ 'tst/ctf/tst.typedef.js', 438, 420 ]
3977 silly gunzTarPerm extractEntry tst/ctf/tst.int.js
3978 silly gunzTarPerm modified mode [ 'tst/ctf/tst.int.js', 438, 420 ]
3979 info postinstall proto-list@1.2.3
3980 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain
3981 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules/config-chain
3982 verbose linkStuff [ false,
3982 verbose linkStuff false,
3982 verbose linkStuff false,
3982 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf/node_modules' ]
3983 info linkStuff config-chain@1.1.8
3984 verbose linkBins config-chain@1.1.8
3985 verbose linkMans config-chain@1.1.8
3986 verbose rebuildBundles config-chain@1.1.8
3987 verbose rebuildBundles [ 'proto-list' ]
3988 info install config-chain@1.1.8
3989 info postinstall config-chain@1.1.8
3990 silly gunzTarPerm extractEntry test/integration/test-pipe-resumes.js
3991 silly gunzTarPerm extractEntry test/integration/test-proxy-readable.js
3992 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
3993 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/npmconf
3994 verbose linkStuff [ false,
3994 verbose linkStuff false,
3994 verbose linkStuff false,
3994 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules' ]
3995 info linkStuff npmconf@0.0.24
3996 verbose linkBins npmconf@0.0.24
3997 verbose linkMans npmconf@0.0.24
3998 verbose rebuildBundles npmconf@0.0.24
3999 verbose rebuildBundles [ '.bin',
3999 verbose rebuildBundles 'config-chain',
3999 verbose rebuildBundles 'inherits',
3999 verbose rebuildBundles 'ini',
3999 verbose rebuildBundles 'nopt',
3999 verbose rebuildBundles 'once',
3999 verbose rebuildBundles 'osenv',
3999 verbose rebuildBundles 'semver' ]
4000 info install npmconf@0.0.24
4001 info postinstall npmconf@0.0.24
4002 silly gunzTarPerm extractEntry tst/ctf/struct.json
4003 silly gunzTarPerm modified mode [ 'tst/ctf/struct.json', 438, 420 ]
4004 silly gunzTarPerm extractEntry tst/ctf/psinfo.json
4005 silly gunzTarPerm modified mode [ 'tst/ctf/psinfo.json', 438, 420 ]
4006 silly gunzTarPerm extractEntry package.json
4007 silly gunzTarPerm extractEntry README.md
4008 silly gunzTarPerm extractEntry punycode.js
4009 silly gunzTarPerm extractEntry LICENSE-MIT.txt
4010 silly gunzTarPerm extractEntry tst/ctf/int.json
4011 silly gunzTarPerm modified mode [ 'tst/ctf/int.json', 438, 420 ]
4012 silly gunzTarPerm extractEntry tst/ctf/float.json
4013 silly gunzTarPerm modified mode [ 'tst/ctf/float.json', 438, 420 ]
4014 silly gunzTarPerm extractEntry tst/ctf/typedef.json
4015 silly gunzTarPerm modified mode [ 'tst/ctf/typedef.json', 438, 420 ]
4016 silly gunzTarPerm extractEntry CHANGELOG
4017 silly gunzTarPerm modified mode [ 'CHANGELOG', 438, 420 ]
4018 http 304 https://registry.npmjs.org/sntp
4019 silly registry.get cb [ 304,
4019 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:57 GMT',
4019 silly registry.get server: 'Apache',
4019 silly registry.get via: '1.1 varnish',
4019 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:57 GMT',
4019 silly registry.get 'cache-control': 'max-age=60',
4019 silly registry.get etag: '"838XCCL6EQO8BK3UYWPXUPJKH"',
4019 silly registry.get 'x-served-by': 'cache-iad2123-IAD',
4019 silly registry.get 'x-cache': 'HIT',
4019 silly registry.get 'x-cache-hits': '1',
4019 silly registry.get 'x-timer': 'S1407886917.560619,VS0,VE0',
4019 silly registry.get vary: 'Accept',
4019 silly registry.get 'content-length': '0',
4019 silly registry.get 'keep-alive': 'timeout=10, max=50',
4019 silly registry.get connection: 'Keep-Alive' } ]
4020 verbose etag sntp from cache
4021 http 304 https://registry.npmjs.org/cryptiles
4022 silly registry.get cb [ 304,
4022 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:57 GMT',
4022 silly registry.get server: 'Apache',
4022 silly registry.get via: '1.1 varnish',
4022 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:40 GMT',
4022 silly registry.get 'cache-control': 'max-age=60',
4022 silly registry.get etag: '"6PCNKSRLVESTIM95KCMO7COLR"',
4022 silly registry.get 'x-served-by': 'cache-iad2126-IAD',
4022 silly registry.get 'x-cache': 'HIT',
4022 silly registry.get 'x-cache-hits': '4',
4022 silly registry.get 'x-timer': 'S1407886917.564692,VS0,VE0',
4022 silly registry.get vary: 'Accept',
4022 silly registry.get 'content-length': '0',
4022 silly registry.get 'keep-alive': 'timeout=10, max=50',
4022 silly registry.get connection: 'Keep-Alive' } ]
4023 verbose etag cryptiles from cache
4024 silly gunzTarPerm extractEntry tools/jsstyle
4025 silly gunzTarPerm modified mode [ 'tools/jsstyle', 511, 493 ]
4026 silly gunzTarPerm extractEntry tools/jsl.conf
4027 silly gunzTarPerm modified mode [ 'tools/jsl.conf', 511, 493 ]
4028 silly addNameRange number 2 { name: 'sntp', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
4029 silly addNameRange versions [ 'sntp',
4029 silly addNameRange [ '0.0.0',
4029 silly addNameRange '0.0.1',
4029 silly addNameRange '0.1.0',
4029 silly addNameRange '0.1.1',
4029 silly addNameRange '0.1.2',
4029 silly addNameRange '0.1.3',
4029 silly addNameRange '0.1.4',
4029 silly addNameRange '0.2.0',
4029 silly addNameRange '0.2.1',
4029 silly addNameRange '0.2.2',
4029 silly addNameRange '0.2.3',
4029 silly addNameRange '0.2.4',
4029 silly addNameRange '1.0.0',
4029 silly addNameRange '1.0.1',
4029 silly addNameRange '1.0.2',
4029 silly addNameRange '1.0.3',
4029 silly addNameRange '1.0.4',
4029 silly addNameRange '1.0.5',
4029 silly addNameRange '1.0.6',
4029 silly addNameRange '1.0.7' ] ]
4030 verbose addNamed [ 'sntp', '0.2.4' ]
4031 verbose addNamed [ '0.2.4', '0.2.4' ]
4032 silly lockFile 92c13a43-sntp-0-2-4 sntp@0.2.4
4033 verbose lock sntp@0.2.4 /Volumes/Storage/martincleaver/.npm/92c13a43-sntp-0-2-4.lock
4034 http 304 https://registry.npmjs.org/hoek
4035 silly registry.get cb [ 304,
4035 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:57 GMT',
4035 silly registry.get server: 'Apache',
4035 silly registry.get via: '1.1 varnish',
4035 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:15 GMT',
4035 silly registry.get 'cache-control': 'max-age=60',
4035 silly registry.get etag: '"5TD9XRN8G60JFZXKBDOJCEAEG"',
4035 silly registry.get 'x-served-by': 'cache-iad2128-IAD',
4035 silly registry.get 'x-cache': 'HIT',
4035 silly registry.get 'x-cache-hits': '3',
4035 silly registry.get 'x-timer': 'S1407886917.573110,VS0,VE0',
4035 silly registry.get vary: 'Accept',
4035 silly registry.get 'content-length': '0',
4035 silly registry.get 'keep-alive': 'timeout=10, max=50',
4035 silly registry.get connection: 'Keep-Alive' } ]
4036 verbose etag hoek from cache
4037 silly addNameRange number 2 { name: 'cryptiles', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
4038 silly addNameRange versions [ 'cryptiles',
4038 silly addNameRange [ '0.0.1',
4038 silly addNameRange '0.0.2',
4038 silly addNameRange '0.1.0',
4038 silly addNameRange '0.1.1',
4038 silly addNameRange '0.1.2',
4038 silly addNameRange '0.1.3',
4038 silly addNameRange '0.2.0',
4038 silly addNameRange '0.2.1',
4038 silly addNameRange '0.2.2',
4038 silly addNameRange '1.0.0',
4038 silly addNameRange '1.0.1',
4038 silly addNameRange '2.0.0',
4038 silly addNameRange '2.0.1',
4038 silly addNameRange '2.0.2' ] ]
4039 verbose addNamed [ 'cryptiles', '0.2.2' ]
4040 verbose addNamed [ '0.2.2', '0.2.2' ]
4041 silly lockFile d1e460c8-cryptiles-0-2-2 cryptiles@0.2.2
4042 verbose lock cryptiles@0.2.2 /Volumes/Storage/martincleaver/.npm/d1e460c8-cryptiles-0-2-2.lock
4043 http 304 https://registry.npmjs.org/boom
4044 silly registry.get cb [ 304,
4044 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:57 GMT',
4044 silly registry.get server: 'Apache',
4044 silly registry.get via: '1.1 varnish',
4044 silly registry.get 'last-modified': 'Tue, 12 Aug 2014 23:41:42 GMT',
4044 silly registry.get 'cache-control': 'max-age=60',
4044 silly registry.get etag: '"BFVTZZSQU775ZEHAW9917T75I"',
4044 silly registry.get 'x-served-by': 'cache-iad2129-IAD',
4044 silly registry.get 'x-cache': 'HIT',
4044 silly registry.get 'x-cache-hits': '4',
4044 silly registry.get 'x-timer': 'S1407886917.583501,VS0,VE0',
4044 silly registry.get vary: 'Accept',
4044 silly registry.get 'content-length': '0',
4044 silly registry.get 'keep-alive': 'timeout=10, max=50',
4044 silly registry.get connection: 'Keep-Alive' } ]
4045 verbose etag boom from cache
4046 silly gunzTarPerm extractEntry README.old
4047 silly gunzTarPerm modified mode [ 'README.old', 438, 420 ]
4048 silly addNameRange number 2 { name: 'hoek', range: '>=0.9.0-0 <0.10.0-0', hasData: true }
4049 silly addNameRange versions [ 'hoek',
4049 silly addNameRange [ '0.0.1',
4049 silly addNameRange '0.0.2',
4049 silly addNameRange '0.0.3',
4049 silly addNameRange '0.0.4',
4049 silly addNameRange '0.0.5',
4049 silly addNameRange '0.0.6',
4049 silly addNameRange '0.0.7',
4049 silly addNameRange '0.0.8',
4049 silly addNameRange '0.0.9',
4049 silly addNameRange '0.0.10',
4049 silly addNameRange '0.0.11',
4049 silly addNameRange '0.0.12',
4049 silly addNameRange '0.0.13',
4049 silly addNameRange '0.0.14',
4049 silly addNameRange '0.0.15',
4049 silly addNameRange '0.0.16',
4049 silly addNameRange '0.0.17',
4049 silly addNameRange '0.0.18',
4049 silly addNameRange '0.0.19',
4049 silly addNameRange '0.0.21',
4049 silly addNameRange '0.1.0',
4049 silly addNameRange '0.2.0',
4049 silly addNameRange '0.3.0',
4049 silly addNameRange '0.4.0',
4049 silly addNameRange '0.4.1',
4049 silly addNameRange '0.4.2',
4049 silly addNameRange '0.4.3',
4049 silly addNameRange '0.4.4',
4049 silly addNameRange '0.4.5',
4049 silly addNameRange '0.5.0',
4049 silly addNameRange '0.6.0',
4049 silly addNameRange '0.6.1',
4049 silly addNameRange '0.6.2',
4049 silly addNameRange '0.7.0',
4049 silly addNameRange '0.7.1',
4049 silly addNameRange '0.7.2',
4049 silly addNameRange '0.7.3',
4049 silly addNameRange '0.7.4',
4049 silly addNameRange '0.7.5',
4049 silly addNameRange '0.7.6',
4049 silly addNameRange '0.8.0',
4049 silly addNameRange '0.8.1',
4049 silly addNameRange '0.8.2',
4049 silly addNameRange '0.8.3',
4049 silly addNameRange '0.8.4',
4049 silly addNameRange '0.8.5',
4049 silly addNameRange '0.9.0',
4049 silly addNameRange '0.9.1',
4049 silly addNameRange '0.10.0',
4049 silly addNameRange '1.0.0',
4049 silly addNameRange '1.0.1',
4049 silly addNameRange '1.0.2',
4049 silly addNameRange '1.0.3',
4049 silly addNameRange '1.1.0',
4049 silly addNameRange '1.1.1',
4049 silly addNameRange '1.1.2',
4049 silly addNameRange '1.2.0',
4049 silly addNameRange '1.3.0',
4049 silly addNameRange '1.4.0',
4049 silly addNameRange '1.4.1',
4049 silly addNameRange '1.5.0',
4049 silly addNameRange '1.5.1',
4049 silly addNameRange '1.5.2',
4049 silly addNameRange '2.0.0',
4049 silly addNameRange '2.1.0',
4049 silly addNameRange '2.1.1',
4049 silly addNameRange '2.2.0',
4049 silly addNameRange '2.3.0',
4049 silly addNameRange '2.4.0',
4049 silly addNameRange '2.4.1' ] ]
4050 verbose addNamed [ 'hoek', '0.9.1' ]
4051 verbose addNamed [ '0.9.1', '0.9.1' ]
4052 silly lockFile 8ffbae6b-hoek-0-9-1 hoek@0.9.1
4053 verbose lock hoek@0.9.1 /Volumes/Storage/martincleaver/.npm/8ffbae6b-hoek-0-9-1.lock
4054 silly addNameRange number 2 { name: 'boom', range: '>=0.4.0-0 <0.5.0-0', hasData: true }
4055 silly addNameRange versions [ 'boom',
4055 silly addNameRange [ '0.0.1',
4055 silly addNameRange '0.0.2',
4055 silly addNameRange '0.1.0',
4055 silly addNameRange '0.2.0',
4055 silly addNameRange '0.2.1',
4055 silly addNameRange '0.3.0',
4055 silly addNameRange '0.3.1',
4055 silly addNameRange '0.3.2',
4055 silly addNameRange '0.3.3',
4055 silly addNameRange '0.3.4',
4055 silly addNameRange '0.3.5',
4055 silly addNameRange '0.3.6',
4055 silly addNameRange '0.3.7',
4055 silly addNameRange '0.3.8',
4055 silly addNameRange '0.4.0',
4055 silly addNameRange '0.4.1',
4055 silly addNameRange '0.4.2',
4055 silly addNameRange '1.0.0',
4055 silly addNameRange '1.0.1',
4055 silly addNameRange '1.0.2',
4055 silly addNameRange '1.1.0',
4055 silly addNameRange '1.1.1',
4055 silly addNameRange '1.1.2',
4055 silly addNameRange '1.2.0',
4055 silly addNameRange '1.2.1',
4055 silly addNameRange '2.0.0',
4055 silly addNameRange '2.1.0',
4055 silly addNameRange '2.2.0',
4055 silly addNameRange '2.2.1',
4055 silly addNameRange '2.2.2',
4055 silly addNameRange '2.3.0',
4055 silly addNameRange '2.4.0',
4055 silly addNameRange '2.4.1',
4055 silly addNameRange '2.4.2',
4055 silly addNameRange '2.5.0',
4055 silly addNameRange '2.5.1' ] ]
4056 verbose addNamed [ 'boom', '0.4.2' ]
4057 verbose addNamed [ '0.4.2', '0.4.2' ]
4058 silly lockFile 5b106bb4-boom-0-4-2 boom@0.4.2
4059 verbose lock boom@0.4.2 /Volumes/Storage/martincleaver/.npm/5b106bb4-boom-0-4-2.lock
4060 silly lockFile caae33a6-ncleaver-npm-asn1-0-1-11-package tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package
4061 silly lockFile caae33a6-ncleaver-npm-asn1-0-1-11-package tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package
4062 silly lockFile be4da6a6-ream-node-modules-delayed-stream tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream
4063 silly lockFile be4da6a6-ream-node-modules-delayed-stream tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream
4064 silly lockFile 04bfce91-aver-npm-asn1-0-1-11-package-tgz tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz
4065 silly lockFile 04bfce91-aver-npm-asn1-0-1-11-package-tgz tar:///Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz
4066 silly lockFile 0cb9a45c-delayed-stream-0-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/delayed-stream/0.0.5/package.tgz
4067 silly lockFile 0cb9a45c-delayed-stream-0-0-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/delayed-stream/0.0.5/package.tgz
4068 verbose chmod /Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz 644
4069 verbose chown /Volumes/Storage/martincleaver/.npm/asn1/0.1.11/package.tgz [ 501, 20 ]
4070 info preinstall delayed-stream@0.0.5
4071 silly lockFile 1acbaaf5-y-npmjs-org-asn1-asn1-0-1-11-tgz https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
4072 silly lockFile 1acbaaf5-y-npmjs-org-asn1-asn1-0-1-11-tgz https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
4073 silly lockFile 41ecb821-asn1-0-1-11 asn1@0.1.11
4074 silly lockFile 41ecb821-asn1-0-1-11 asn1@0.1.11
4075 verbose readDependencies using package.json deps
4076 verbose readDependencies using package.json deps
4077 silly resolved []
4078 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream
4079 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream
4080 verbose linkStuff [ false,
4080 verbose linkStuff false,
4080 verbose linkStuff false,
4080 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules' ]
4081 info linkStuff delayed-stream@0.0.5
4082 verbose linkBins delayed-stream@0.0.5
4083 verbose linkMans delayed-stream@0.0.5
4084 verbose rebuildBundles delayed-stream@0.0.5
4085 info install delayed-stream@0.0.5
4086 silly lockFile d1e460c8-cryptiles-0-2-2 cryptiles@0.2.2
4087 silly lockFile d1e460c8-cryptiles-0-2-2 cryptiles@0.2.2
4088 silly lockFile 75d7e584-cryptiles-0-2-x cryptiles@0.2.x
4089 silly lockFile 75d7e584-cryptiles-0-2-x cryptiles@0.2.x
4090 info postinstall delayed-stream@0.0.5
4091 silly lockFile 92c13a43-sntp-0-2-4 sntp@0.2.4
4092 silly lockFile 92c13a43-sntp-0-2-4 sntp@0.2.4
4093 silly lockFile 8ffbae6b-hoek-0-9-1 hoek@0.9.1
4094 silly lockFile 8ffbae6b-hoek-0-9-1 hoek@0.9.1
4095 silly lockFile b35a0361-sntp-0-2-x sntp@0.2.x
4096 silly lockFile b35a0361-sntp-0-2-x sntp@0.2.x
4097 silly lockFile 58ccaf9a-hoek-0-9-x hoek@0.9.x
4098 silly lockFile 58ccaf9a-hoek-0-9-x hoek@0.9.x
4099 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream
4100 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules/combined-stream
4101 verbose linkStuff [ false,
4101 verbose linkStuff false,
4101 verbose linkStuff false,
4101 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data/node_modules' ]
4102 info linkStuff combined-stream@0.0.5
4103 verbose linkBins combined-stream@0.0.5
4104 verbose linkMans combined-stream@0.0.5
4105 verbose rebuildBundles combined-stream@0.0.5
4106 verbose rebuildBundles [ 'delayed-stream' ]
4107 info install combined-stream@0.0.5
4108 info postinstall combined-stream@0.0.5
4109 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data
4110 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/form-data
4111 verbose linkStuff [ false,
4111 verbose linkStuff false,
4111 verbose linkStuff false,
4111 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
4112 info linkStuff form-data@0.1.4
4113 verbose linkBins form-data@0.1.4
4114 verbose linkMans form-data@0.1.4
4115 verbose rebuildBundles form-data@0.1.4
4116 verbose rebuildBundles [ 'async', 'combined-stream' ]
4117 info install form-data@0.1.4
4118 silly lockFile 810f5424-ugh-cookie-node-modules-punycode tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie/node_modules/punycode
4119 silly lockFile 810f5424-ugh-cookie-node-modules-punycode tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie/node_modules/punycode
4120 silly lockFile b2db47ff-r-npm-punycode-1-3-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/punycode/1.3.1/package.tgz
4121 silly lockFile b2db47ff-r-npm-punycode-1-3-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/punycode/1.3.1/package.tgz
4122 info postinstall form-data@0.1.4
4123 silly lockFile 010e5fb5-opment-Yeoman-node-modules-grunt tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt
4124 silly lockFile 010e5fb5-opment-Yeoman-node-modules-grunt tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/grunt
4125 silly lockFile 758ae061-aver-npm-grunt-0-4-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt/0.4.5/package.tgz
4126 silly lockFile 758ae061-aver-npm-grunt-0-4-5-package-tgz tar:///Volumes/Storage/martincleaver/.npm/grunt/0.4.5/package.tgz
4127 info preinstall punycode@1.3.1
4128 verbose readDependencies using package.json deps
4129 verbose readDependencies using package.json deps
4130 silly resolved []
4131 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie/node_modules/punycode
4132 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie/node_modules/punycode
4133 verbose linkStuff [ false,
4133 verbose linkStuff false,
4133 verbose linkStuff false,
4133 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie/node_modules' ]
4134 info linkStuff punycode@1.3.1
4135 verbose linkBins punycode@1.3.1
4136 verbose linkMans punycode@1.3.1
4137 verbose rebuildBundles punycode@1.3.1
4138 info preinstall grunt@0.4.5
4139 info install punycode@1.3.1
4140 info postinstall punycode@1.3.1
4141 verbose readDependencies using package.json deps
4142 verbose readDependencies using package.json deps
4143 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie
4144 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/tough-cookie
4145 verbose linkStuff [ false,
4145 verbose linkStuff false,
4145 verbose linkStuff false,
4145 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
4146 info linkStuff tough-cookie@0.12.1
4147 verbose linkBins tough-cookie@0.12.1
4148 verbose linkMans tough-cookie@0.12.1
4149 verbose rebuildBundles tough-cookie@0.12.1
4150 verbose rebuildBundles [ 'punycode' ]
4151 info install tough-cookie@0.12.1
4152 verbose cache add [ 'coffee-script@~1.3.3', null ]
4153 verbose cache add name=undefined spec="coffee-script@~1.3.3" args=["coffee-script@~1.3.3",null]
4154 verbose parsed url { protocol: null,
4154 verbose parsed url slashes: null,
4154 verbose parsed url auth: null,
4154 verbose parsed url host: null,
4154 verbose parsed url port: null,
4154 verbose parsed url hostname: null,
4154 verbose parsed url hash: null,
4154 verbose parsed url search: null,
4154 verbose parsed url query: null,
4154 verbose parsed url pathname: 'coffee-script@~1.3.3',
4154 verbose parsed url path: 'coffee-script@~1.3.3',
4154 verbose parsed url href: 'coffee-script@~1.3.3' }
4155 verbose cache add name="coffee-script" spec="~1.3.3" args=["coffee-script","~1.3.3"]
4156 verbose parsed url { protocol: null,
4156 verbose parsed url slashes: null,
4156 verbose parsed url auth: null,
4156 verbose parsed url host: null,
4156 verbose parsed url port: null,
4156 verbose parsed url hostname: null,
4156 verbose parsed url hash: null,
4156 verbose parsed url search: null,
4156 verbose parsed url query: null,
4156 verbose parsed url pathname: '~1.3.3',
4156 verbose parsed url path: '~1.3.3',
4156 verbose parsed url href: '~1.3.3' }
4157 verbose addNamed [ 'coffee-script', '~1.3.3' ]
4158 verbose addNamed [ null, '>=1.3.3-0 <1.4.0-0' ]
4159 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
4160 verbose lock coffee-script@~1.3.3 /Volumes/Storage/martincleaver/.npm/f72bb580-coffee-script-1-3-3.lock
4161 info postinstall tough-cookie@0.12.1
4162 verbose cache add [ 'colors@~0.6.2', null ]
4163 verbose cache add name=undefined spec="colors@~0.6.2" args=["colors@~0.6.2",null]
4164 verbose parsed url { protocol: null,
4164 verbose parsed url slashes: null,
4164 verbose parsed url auth: null,
4164 verbose parsed url host: null,
4164 verbose parsed url port: null,
4164 verbose parsed url hostname: null,
4164 verbose parsed url hash: null,
4164 verbose parsed url search: null,
4164 verbose parsed url query: null,
4164 verbose parsed url pathname: 'colors@~0.6.2',
4164 verbose parsed url path: 'colors@~0.6.2',
4164 verbose parsed url href: 'colors@~0.6.2' }
4165 verbose cache add name="colors" spec="~0.6.2" args=["colors","~0.6.2"]
4166 verbose parsed url { protocol: null,
4166 verbose parsed url slashes: null,
4166 verbose parsed url auth: null,
4166 verbose parsed url host: null,
4166 verbose parsed url port: null,
4166 verbose parsed url hostname: null,
4166 verbose parsed url hash: null,
4166 verbose parsed url search: null,
4166 verbose parsed url query: null,
4166 verbose parsed url pathname: '~0.6.2',
4166 verbose parsed url path: '~0.6.2',
4166 verbose parsed url href: '~0.6.2' }
4167 verbose addNamed [ 'colors', '~0.6.2' ]
4168 verbose addNamed [ null, '>=0.6.2-0 <0.7.0-0' ]
4169 silly lockFile f2380b4d-colors-0-6-2 colors@~0.6.2
4170 verbose lock colors@~0.6.2 /Volumes/Storage/martincleaver/.npm/f2380b4d-colors-0-6-2.lock
4171 verbose cache add [ 'dateformat@1.0.2-1.2.3', null ]
4172 verbose cache add name=undefined spec="dateformat@1.0.2-1.2.3" args=["dateformat@1.0.2-1.2.3",null]
4173 verbose parsed url { protocol: null,
4173 verbose parsed url slashes: null,
4173 verbose parsed url auth: null,
4173 verbose parsed url host: null,
4173 verbose parsed url port: null,
4173 verbose parsed url hostname: null,
4173 verbose parsed url hash: null,
4173 verbose parsed url search: null,
4173 verbose parsed url query: null,
4173 verbose parsed url pathname: 'dateformat@1.0.2-1.2.3',
4173 verbose parsed url path: 'dateformat@1.0.2-1.2.3',
4173 verbose parsed url href: 'dateformat@1.0.2-1.2.3' }
4174 verbose cache add name="dateformat" spec="1.0.2-1.2.3" args=["dateformat","1.0.2-1.2.3"]
4175 verbose parsed url { protocol: null,
4175 verbose parsed url slashes: null,
4175 verbose parsed url auth: null,
4175 verbose parsed url host: null,
4175 verbose parsed url port: null,
4175 verbose parsed url hostname: null,
4175 verbose parsed url hash: null,
4175 verbose parsed url search: null,
4175 verbose parsed url query: null,
4175 verbose parsed url pathname: '1.0.2-1.2.3',
4175 verbose parsed url path: '1.0.2-1.2.3',
4175 verbose parsed url href: '1.0.2-1.2.3' }
4176 verbose addNamed [ 'dateformat', '1.0.2-1.2.3' ]
4177 verbose addNamed [ '1.0.2-1.2.3', '1.0.2-1.2.3' ]
4178 silly lockFile 644d6e27-dateformat-1-0-2-1-2-3 dateformat@1.0.2-1.2.3
4179 verbose lock dateformat@1.0.2-1.2.3 /Volumes/Storage/martincleaver/.npm/644d6e27-dateformat-1-0-2-1-2-3.lock
4180 silly lockFile 5b106bb4-boom-0-4-2 boom@0.4.2
4181 silly lockFile 5b106bb4-boom-0-4-2 boom@0.4.2
4182 verbose cache add [ 'eventemitter2@~0.4.13', null ]
4183 verbose cache add name=undefined spec="eventemitter2@~0.4.13" args=["eventemitter2@~0.4.13",null]
4184 verbose parsed url { protocol: null,
4184 verbose parsed url slashes: null,
4184 verbose parsed url auth: null,
4184 verbose parsed url host: null,
4184 verbose parsed url port: null,
4184 verbose parsed url hostname: null,
4184 verbose parsed url hash: null,
4184 verbose parsed url search: null,
4184 verbose parsed url query: null,
4184 verbose parsed url pathname: 'eventemitter2@~0.4.13',
4184 verbose parsed url path: 'eventemitter2@~0.4.13',
4184 verbose parsed url href: 'eventemitter2@~0.4.13' }
4185 verbose cache add name="eventemitter2" spec="~0.4.13" args=["eventemitter2","~0.4.13"]
4186 verbose parsed url { protocol: null,
4186 verbose parsed url slashes: null,
4186 verbose parsed url auth: null,
4186 verbose parsed url host: null,
4186 verbose parsed url port: null,
4186 verbose parsed url hostname: null,
4186 verbose parsed url hash: null,
4186 verbose parsed url search: null,
4186 verbose parsed url query: null,
4186 verbose parsed url pathname: '~0.4.13',
4186 verbose parsed url path: '~0.4.13',
4186 verbose parsed url href: '~0.4.13' }
4187 verbose addNamed [ 'eventemitter2', '~0.4.13' ]
4188 verbose addNamed [ null, '>=0.4.13-0 <0.5.0-0' ]
4189 silly lockFile adbd1d63-eventemitter2-0-4-13 eventemitter2@~0.4.13
4190 verbose lock eventemitter2@~0.4.13 /Volumes/Storage/martincleaver/.npm/adbd1d63-eventemitter2-0-4-13.lock
4191 verbose cache add [ 'findup-sync@~0.1.2', null ]
4192 verbose cache add name=undefined spec="findup-sync@~0.1.2" args=["findup-sync@~0.1.2",null]
4193 verbose parsed url { protocol: null,
4193 verbose parsed url slashes: null,
4193 verbose parsed url auth: null,
4193 verbose parsed url host: null,
4193 verbose parsed url port: null,
4193 verbose parsed url hostname: null,
4193 verbose parsed url hash: null,
4193 verbose parsed url search: null,
4193 verbose parsed url query: null,
4193 verbose parsed url pathname: 'findup-sync@~0.1.2',
4193 verbose parsed url path: 'findup-sync@~0.1.2',
4193 verbose parsed url href: 'findup-sync@~0.1.2' }
4194 verbose cache add name="findup-sync" spec="~0.1.2" args=["findup-sync","~0.1.2"]
4195 verbose parsed url { protocol: null,
4195 verbose parsed url slashes: null,
4195 verbose parsed url auth: null,
4195 verbose parsed url host: null,
4195 verbose parsed url port: null,
4195 verbose parsed url hostname: null,
4195 verbose parsed url hash: null,
4195 verbose parsed url search: null,
4195 verbose parsed url query: null,
4195 verbose parsed url pathname: '~0.1.2',
4195 verbose parsed url path: '~0.1.2',
4195 verbose parsed url href: '~0.1.2' }
4196 verbose addNamed [ 'findup-sync', '~0.1.2' ]
4197 verbose addNamed [ null, '>=0.1.2-0 <0.2.0-0' ]
4198 silly lockFile 65f21183-findup-sync-0-1-2 findup-sync@~0.1.2
4199 verbose lock findup-sync@~0.1.2 /Volumes/Storage/martincleaver/.npm/65f21183-findup-sync-0-1-2.lock
4200 silly lockFile 225d04ea-boom-0-4-x boom@0.4.x
4201 silly lockFile 225d04ea-boom-0-4-x boom@0.4.x
4202 verbose cache add [ 'glob@~3.1.21', null ]
4203 verbose cache add name=undefined spec="glob@~3.1.21" args=["glob@~3.1.21",null]
4204 verbose parsed url { protocol: null,
4204 verbose parsed url slashes: null,
4204 verbose parsed url auth: null,
4204 verbose parsed url host: null,
4204 verbose parsed url port: null,
4204 verbose parsed url hostname: null,
4204 verbose parsed url hash: null,
4204 verbose parsed url search: null,
4204 verbose parsed url query: null,
4204 verbose parsed url pathname: 'glob@~3.1.21',
4204 verbose parsed url path: 'glob@~3.1.21',
4204 verbose parsed url href: 'glob@~3.1.21' }
4205 verbose cache add name="glob" spec="~3.1.21" args=["glob","~3.1.21"]
4206 verbose parsed url { protocol: null,
4206 verbose parsed url slashes: null,
4206 verbose parsed url auth: null,
4206 verbose parsed url host: null,
4206 verbose parsed url port: null,
4206 verbose parsed url hostname: null,
4206 verbose parsed url hash: null,
4206 verbose parsed url search: null,
4206 verbose parsed url query: null,
4206 verbose parsed url pathname: '~3.1.21',
4206 verbose parsed url path: '~3.1.21',
4206 verbose parsed url href: '~3.1.21' }
4207 verbose addNamed [ 'glob', '~3.1.21' ]
4208 verbose addNamed [ null, '>=3.1.21-0 <3.2.0-0' ]
4209 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
4210 verbose lock glob@~3.1.21 /Volumes/Storage/martincleaver/.npm/b5074ddc-glob-3-1-21.lock
4211 verbose cache add [ 'hooker@~0.2.3', null ]
4212 verbose cache add name=undefined spec="hooker@~0.2.3" args=["hooker@~0.2.3",null]
4213 verbose parsed url { protocol: null,
4213 verbose parsed url slashes: null,
4213 verbose parsed url auth: null,
4213 verbose parsed url host: null,
4213 verbose parsed url port: null,
4213 verbose parsed url hostname: null,
4213 verbose parsed url hash: null,
4213 verbose parsed url search: null,
4213 verbose parsed url query: null,
4213 verbose parsed url pathname: 'hooker@~0.2.3',
4213 verbose parsed url path: 'hooker@~0.2.3',
4213 verbose parsed url href: 'hooker@~0.2.3' }
4214 verbose cache add name="hooker" spec="~0.2.3" args=["hooker","~0.2.3"]
4215 verbose parsed url { protocol: null,
4215 verbose parsed url slashes: null,
4215 verbose parsed url auth: null,
4215 verbose parsed url host: null,
4215 verbose parsed url port: null,
4215 verbose parsed url hostname: null,
4215 verbose parsed url hash: null,
4215 verbose parsed url search: null,
4215 verbose parsed url query: null,
4215 verbose parsed url pathname: '~0.2.3',
4215 verbose parsed url path: '~0.2.3',
4215 verbose parsed url href: '~0.2.3' }
4216 verbose addNamed [ 'hooker', '~0.2.3' ]
4217 verbose addNamed [ null, '>=0.2.3-0 <0.3.0-0' ]
4218 silly lockFile 2bcd1457-hooker-0-2-3 hooker@~0.2.3
4219 verbose lock hooker@~0.2.3 /Volumes/Storage/martincleaver/.npm/2bcd1457-hooker-0-2-3.lock
4220 silly resolved [ { name: 'cryptiles',
4220 silly resolved description: 'General purpose crypto utilities',
4220 silly resolved version: '0.2.2',
4220 silly resolved author:
4220 silly resolved { name: 'Eran Hammer',
4220 silly resolved email: 'eran@hueniverse.com',
4220 silly resolved url: 'http://hueniverse.com' },
4220 silly resolved contributors: [],
4220 silly resolved repository: { type: 'git', url: 'git://github.com/hueniverse/cryptiles' },
4220 silly resolved main: 'index',
4220 silly resolved keywords: [ 'cryptography', 'security', 'utilites' ],
4220 silly resolved engines: { node: '>=0.8.0' },
4220 silly resolved dependencies: { boom: '0.4.x' },
4220 silly resolved devDependencies: { lab: '0.1.x', 'complexity-report': '0.x.x' },
4220 silly resolved scripts: { test: 'make test-cov' },
4220 silly resolved licenses: [ [Object] ],
4220 silly resolved readme: 'cryptiles\n=========\n\nGeneral purpose crypto utilities\n\n[![Build Status](https://secure.travis-ci.org/hueniverse/cryptiles.png)](http://travis-ci.org/hueniverse/cryptiles)\n',
4220 silly resolved readmeFilename: 'README.md',
4220 silly resolved bugs: { url: 'https://github.com/hueniverse/cryptiles/issues' },
4220 silly resolved homepage: 'https://github.com/hueniverse/cryptiles',
4220 silly resolved _id: 'cryptiles@0.2.2',
4220 silly resolved _from: 'cryptiles@0.2.x' },
4220 silly resolved { name: 'sntp',
4220 silly resolved description: 'SNTP Client',
4220 silly resolved version: '0.2.4',
4220 silly resolved author:
4220 silly resolved { name: 'Eran Hammer',
4220 silly resolved email: 'eran@hueniverse.com',
4220 silly resolved url: 'http://hueniverse.com' },
4220 silly resolved contributors: [],
4220 silly resolved repository: { type: 'git', url: 'git://github.com/hueniverse/sntp' },
4220 silly resolved main: 'index',
4220 silly resolved keywords: [ 'sntp', 'ntp', 'time' ],
4220 silly resolved engines: { node: '>=0.8.0' },
4220 silly resolved dependencies: { hoek: '0.9.x' },
4220 silly resolved devDependencies: { lab: '0.1.x', 'complexity-report': '0.x.x' },
4220 silly resolved scripts: { test: 'make test-cov' },
4220 silly resolved licenses: [ [Object] ],
4220 silly resolved readme: '# sntp\n\nAn SNTP v4 client (RFC4330) for node. Simpy connects to the NTP or SNTP server requested and returns the server time\nalong with the roundtrip duration and clock offset. To adjust the local time to the NTP time, add the returned `t` offset\nto the local time.\n\n[![Build Status](https://secure.travis-ci.org/hueniverse/sntp.png)](http://travis-ci.org/hueniverse/sntp)\n\n# Usage\n\n```javascript\nvar Sntp = require(\'sntp\');\n\n// All options are optional\n\nvar options = {\n host: \'nist1-sj.ustiming.org\', // Defaults to pool.ntp.org\n port: 123, // Defaults to 123 (NTP)\n resolveReference: true, // Default to false (not resolving)\n timeout: 1000 // Defaults to zero (no timeout)\n};\n\n// Request server time\n\nSntp.time(options, function (err, time) {\n\n if (err) {\n console.log(\'Failed: \' + err.message);\n process.exit(1);\n }\n\n console.log(\'Local clock is off by: \' + time.t + \' milliseconds\');\n process.exit(0);\n});\n```\n\nIf an application needs to maintain continuous time synchronization, the module provides a stateful method for\nquerying the current offset only when the last one is too old (defaults to daily).\n\n```javascript\n// Request offset once\n\nSntp.offset(function (err, offset) {\n\n console.log(offset); // New (served fresh)\n\n // Request offset again\n\n Sntp.offset(function (err, offset) {\n\n console.log(offset); // Identical (served from cache)\n });\n});\n```\n\nTo set a background offset refresh, start the interval and use the provided now() method. If for any reason the\nclient fails to obtain an up-to-date offset, the current system clock is used.\n\n```javascript\nvar before = Sntp.now(); // System time without offset\n\nSntp.start(function () {\n\n var now = Sntp.now(); // With offset\n Sntp.stop();\n});\n```\n\n',
4220 silly resolved readmeFilename: 'README.md',
4220 silly resolved bugs: { url: 'https://github.com/hueniverse/sntp/issues' },
4220 silly resolved homepage: 'https://github.com/hueniverse/sntp',
4220 silly resolved _id: 'sntp@0.2.4',
4220 silly resolved _from: 'sntp@0.2.x' },
4220 silly resolved { name: 'hoek',
4220 silly resolved description: 'General purpose node utilities',
4220 silly resolved version: '0.9.1',
4220 silly resolved author:
4220 silly resolved { name: 'Eran Hammer',
4220 silly resolved email: 'eran@hueniverse.com',
4220 silly resolved url: 'http://hueniverse.com' },
4220 silly resolved contributors: [ [Object] ],
4220 silly resolved repository: { type: 'git', url: 'git://github.com/spumko/hoek' },
4220 silly resolved main: 'index',
4220 silly resolved keywords: [ 'utilities' ],
4220 silly resolved engines: { node: '>=0.8.0' },
4220 silly resolved dependencies: {},
4220 silly resolved devDependencies: { lab: '0.1.x', 'complexity-report': '0.x.x' },
4220 silly resolved scripts: { test: 'make test-cov' },
4220 silly resolved licenses: [ [Object] ],
4220 silly resolved readme: '<a href="https://github.com/spumko"><img src="https://raw.github.com/spumko/spumko/master/images/from.png" align="right" /></a>\r\n![hoek Logo](https://raw.github.com/spumko/hoek/master/images/hoek.png)\r\n\r\nGeneral purpose node utilities\r\n\r\n[![Build Status](https://secure.travis-ci.org/spumko/hoek.png)](http://travis-ci.org/spumko/hoek)\r\n\r\n# Table of Contents\r\n\r\n* [Introduction](#introduction "Introduction")\r\n* [Object](#object "Object")\r\n * [clone](#cloneobj "clone")\r\n * [merge](#mergetarget-source-isnulloverride-ismergearrays "merge")\r\n * [applyToDefaults](#applytodefaultsdefaults-options "applyToDefaults")\r\n * [unique](#uniquearray-key "unique")\r\n * [mapToObject](#maptoobjectarray-key "mapToObject")\r\n * [intersect](#intersectarray1-array2 "intersect")\r\n * [matchKeys](#matchkeysobj-keys "matchKeys")\r\n * [flatten](#flattenarray-target "flatten")\r\n * [removeKeys](#removekeysobject-keys "removeKeys")\r\n * [reach](#reachobj-chain "reach")\r\n * [inheritAsync](#inheritasyncself-obj-keys "inheritAsync")\r\n * [rename](#renameobj-from-to "rename")\r\n* [Timer](#timer "Timer")\r\n* [Binary Encoding/Decoding](#binary "Binary Encoding/Decoding")\r\n * [base64urlEncode](#binary64urlEncodevalue "binary64urlEncode")\r\n * [base64urlDecode](#binary64urlDecodevalue "binary64urlDecode")\r\n* [Escaping Characters](#escaped "Escaping Characters")\r\n * [escapeHtml](#escapeHtmlstring "escapeHtml")\r\n * [escapeHeaderAttribute](#escapeHeaderAttributeattribute "escapeHeaderAttribute")\r\n * [escapeRegex](#escapeRegexstring "escapeRegex")\r\n* [Errors](#errors "Errors")\r\n * [assert](#assertmessage "assert")\r\n * [abort](#abortmessage "abort")\r\n * [displayStack](#displayStackslice "displayStack")\r\n * [callStack](#callStackslice "callStack")\r\n * [toss](#tosscondition "toss")\r\n* [Load files](#load-files "Load Files")\r\n * [loadPackage](#loadPackagedir "loadpackage")\r\n * [loadDirModules](#loadDirModulespath-excludefiles-target "loaddirmodules")\r\n\r\n\r\n\r\n# Introduction\r\n\r\nThe *Hoek* general purpose node utilities library is used to aid in a variety of manners. It comes with useful methods for Arrays (clone, merge, applyToDefaults), Objects (removeKeys, copy), Asserting and more. \r\n\r\nFor example, to use Hoek to set configuration with default options:\r\n```javascript\r\nvar Hoek = require(\'hoek\');\r\n\r\nvar default = {url : "www.github.com", port : "8000", debug : true}\r\n\r\nvar config = Hoek.applyToDefaults(default, {port : "3000", admin : true});\r\n\r\n// In this case, config would be { url: \'www.github.com\', port: \'3000\', debug: true, admin: true }\r\n```\r\n\r\nUnder each of the sections (such as Array), there are subsections which correspond to Hoek methods. Each subsection will explain how to use the corresponding method. In each js excerpt below, the var Hoek = require(\'hoek\') is omitted for brevity.\r\n\r\n## Object\r\n\r\nHoek provides several helpful methods for objects and arrays.\r\n\r\n### clone(obj)\r\n\r\nThis method is used to clone an object or an array. A *deep copy* is made (duplicates everything, including values that are objects). \r\n\r\n```javascript\r\n\r\nvar nestedObj = {\r\n w: /^something$/ig,\r\n x: {\r\n a: [1, 2, 3],\r\n b: 123456,\r\n c: new Date()\r\n },\r\n y: \'y\',\r\n z: new Date()\r\n };\r\n\r\nvar copy = Hoek.clone(nestedObj);\r\n\r\ncopy.x.b = 100;\r\n\r\nconsole.log(copy.y) // results in \'y\'\r\nconsole.log(nestedObj.x.b) // results in 123456\r\nconsole.log(copy.x.b) // results in 100\r\n```\r\n\r\n### merge(target, source, isNullOverride, isMergeArrays)\r\nisNullOverride, isMergeArrays default to true\r\n\r\nMerge all the properties of source into target, source wins in conflic, and by default null and undefined from source are applied\r\n\r\n\r\n```javascript\r\n\r\nvar target = {a: 1, b : 2}\r\nvar source = {a: 0, c: 5}\r\nvar source2 = {a: null, c: 5}\r\n\r\nvar targetArray = [1, 2, 3];\r\nvar sourceArray = [4, 5];\r\n\r\nvar newTarget = Hoek.merge(target, source); // results in {a: 0, b: 2, c: 5}\r\nnewTarget = Hoek.merge(target, source2); // results in {a: null, b: 2, c: 5}\r\nnewTarget = Hoek.merge(target, source2, false); // results in {a: 1, b: 2, c: 5}\r\n\r\nnewTarget = Hoek.merge(targetArray, sourceArray) // results in [1, 2, 3, 4, 5]\r\nnewTarget = Hoek.merge(targetArray, sourceArray, true, false) // results in [4, 5]\r\n\r\n\r\n\r\n\r\n```\r\n\r\n### applyToDefaults(defaults, options)\r\n\r\nApply options to a copy of the defaults\r\n\r\n```javascript\r\n\r\nvar defaults = {host: "localhost", port: 8000};\r\nvar options = {port: 8080};\r\n\r\nvar config = Hoek.applyToDefaults(defaults, options); // results in {host: "localhost", port: 8080};\r\n\r\n\r\n```\r\n\r\n### unique(array, key)\r\n\r\nRemove duplicate items from Array\r\n\r\n```javascript\r\n\r\nvar array = [1, 2, 2, 3, 3, 4, 5, 6];\r\n\r\nvar newArray = Hoek.unique(array); // results in [1,2,3,4,5,6];\r\n\r\narray = [{id: 1}, {id: 1}, {id: 2}];\r\n\r\nnewArray = Hoek.unique(array, "id") // results in [{id: 1}, {id: 2}]\r\n\r\n```\r\n\r\n### mapToObject(array, key)\r\n\r\nConvert an Array into an Object\r\n\r\n```javascript\r\n\r\nvar array = [1,2,3];\r\nvar newObject = Hoek.mapToObject(array); // results in [{"1": true}, {"2": true}, {"3": true}]\r\n\r\narray = [{id: 1}, {id: 2}];\r\nnewObject = Hoek.mapToObject(array, "id") // results in [{"id": 1}, {"id": 2}]\r\n\r\n```\r\n### intersect(array1, array2)\r\n\r\nFind the common unique items in two arrays\r\n\r\n```javascript\r\n\r\nvar array1 = [1, 2, 3];\r\nvar array2 = [1, 4, 5];\r\n\r\nvar newArray = Hoek.intersect(array1, array2) // results in [1]\r\n\r\n```\r\n\r\n### matchKeys(obj, keys) \r\n\r\nFind which keys are present\r\n\r\n```javascript\r\n\r\nvar obj = {a: 1, b: 2, c: 3};\r\nvar keys = ["a", "e"];\r\n\r\nHoek.matchKeys(obj, keys) // returns ["a"]\r\n\r\n```\r\n\r\n### flatten(array, target)\r\n\r\nFlatten an array\r\n\r\n```javascript\r\n\r\nvar array = [1, 2, 3];\r\nvar target = [4, 5]; \r\n\r\nvar flattenedArray = Hoek.flatten(array, target) // results in [4, 5, 1, 2, 3];\r\n\r\n```\r\n\r\n### removeKeys(object, keys)\r\n\r\nRemove keys\r\n\r\n```javascript\r\n\r\nvar object = {a: 1, b: 2, c: 3, d: 4};\r\n\r\nvar keys = ["a", "b"];\r\n\r\nHoek.removeKeys(object, keys) // object is now {c: 3, d: 4}\r\n\r\n```\r\n\r\n### reach(obj, chain)\r\n\r\nConverts an object key chain string to reference\r\n\r\n```javascript\r\n\r\nvar chain = \'a.b.c\';\r\nvar obj = {a : {b : { c : 1}}};\r\n\r\nHoek.reach(obj, chain) // returns 1\r\n\r\n```\r\n\r\n### inheritAsync(self, obj, keys) \r\n\r\nInherits a selected set of methods from an object, wrapping functions in asynchronous syntax and catching errors\r\n\r\n```javascript\r\n\r\nvar targetFunc = function () { };\r\n\r\nvar proto = {\r\n a: function () {\r\n return \'a!\';\r\n },\r\n b: function () {\r\n return \'b!\';\r\n },\r\n c: function () {\r\n throw new Error(\'c!\');\r\n }\r\n };\r\n\r\nvar keys = [\'a\', \'c\'];\r\n\r\nHoek.inheritAsync(targetFunc, proto, [\'a\', \'c\']);\r\n\r\nvar target = new targetFunc();\r\n\r\ntarget.a(function(err, result){console.log(result)} // returns \'a!\' \r\n\r\ntarget.c(function(err, result){console.log(result)} // returns undefined\r\n\r\ntarget.b(function(err, result){console.log(result)} // gives error: Object [object Object] has no method \'b\'\r\n\r\n```\r\n\r\n### rename(obj, from, to)\r\n\r\nRename a key of an object\r\n\r\n```javascript\r\n\r\nvar obj = {a : 1, b : 2};\r\n\r\nHoek.rename(obj, "a", "c"); // obj is now {c : 1, b : 2}\r\n\r\n```\r\n\r\n\r\n# Timer\r\n\r\nA Timer object. Initializing a new timer object sets the ts to the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC.\r\n\r\n```javascript\r\n\r\n\r\nexample : \r\n\r\n\r\nvar timerObj = new Hoek.Timer();\r\nconsole.log("Time is now: " + timerObj.ts)\r\nconsole.log("Elapsed time from initialization: " + timerObj.elapsed() + \'milliseconds\')\r\n\r\n```\r\n\r\n# Binary Encoding/Decoding\r\n\r\n### base64urlEncode(value)\r\n\r\nEncodes value in Base64 or URL encoding\r\n\r\n### base64urlDecode(value)\r\n\r\nDecodes data in Base64 or URL encoding.\r\n# Escaping Characters\r\n\r\nHoek provides convenient methods for escaping html characters. The escaped characters are as followed:\r\n\r\n```javascript\r\n\r\ninternals.htmlEscaped = {\r\n \'&\': \'&amp;\',\r\n \'<\': \'&lt;\',\r\n \'>\': \'&gt;\',\r\n \'"\': \'&quot;\',\r\n "\'": \'&#x27;\',\r\n \'`\': \'&#x60;\'\r\n};\r\n\r\n```\r\n\r\n### escapeHtml(string)\r\n\r\n```javascript\r\n\r\nvar string = \'<html> hey </html>\';\r\nvar escapedString = Hoek.escapeHtml(string); // returns &lt;html&gt; hey &lt;/html&gt;\r\n\r\n```\r\n\r\n### escapeHeaderAttribute(attribute)\r\n\r\nEscape attribute value for use in HTTP header\r\n\r\n```javascript\r\n\r\nvar a = Hoek.escapeHeaderAttribute(\'I said "go w\\\\o me"\'); //returns I said \\"go w\\\\o me\\"\r\n\r\n\r\n```\r\n\r\n\r\n### escapeRegex(string)\r\n\r\nEscape string for Regex construction\r\n\r\n```javascript\r\n\r\nvar a = Hoek.escapeRegex(\'4^f$s.4*5+-_?%=#!:@|~\\\\/`"(>)[<]d{}s,\'); // returns 4\\^f\\$s\\.4\\*5\\+\\-_\\?%\\=#\\!\\:@\\|~\\\\\\/`"\\(>\\)\\[<\\]d\\{\\}s\\,\r\n\r\n\r\n\r\n```\r\n\r\n# Errors\r\n\r\n### assert(message)\r\n\r\n```javascript\r\n\r\nvar a = 1, b =2;\r\n\r\nHoek.assert(a === b, \'a should equal b\'); // ABORT: a should equal b\r\n\r\n```\r\n\r\n### abort(message)\r\n\r\nFirst checks if process.env.NODE_ENV === \'test\', and if so, throws error message. Otherwise,\r\ndisplays most recent stack and then exits process.\r\n\r\n\r\n\r\n### displayStack(slice)\r\n\r\nDisplays the trace stack\r\n\r\n```javascript\r\n\r\nvar stack = Hoek.displayStack();\r\nconsole.log(stack) // returns something like:\r\n\r\n[ \'null (/Users/user/Desktop/hoek/test.js:4:18)\',\r\n \'Module._compile (module.js:449:26)\',\r\n \'Module._extensions..js (module.js:467:10)\',\r\n \'Module.load (module.js:356:32)\',\r\n \'Module._load (module.js:312:12)\',\r\n \'Module.runMain (module.js:492:10)\',\r\n \'startup.processNextTick.process._tickCallback (node.js:244:9)\' ]\r\n\r\n```\r\n\r\n### callStack(slice)\r\n\r\nReturns a trace stack array.\r\n\r\n```javascript\r\n\r\nvar stack = Hoek.callStack();\r\nconsole.log(stack) // returns something like:\r\n\r\n[ [ \'/Users/user/Desktop/hoek/test.js\', 4, 18, null, false ],\r\n [ \'module.js\', 449, 26, \'Module._compile\', false ],\r\n [ \'module.js\', 467, 10, \'Module._extensions..js\', false ],\r\n [ \'module.js\', 356, 32, \'Module.load\', false ],\r\n [ \'module.js\', 312, 12, \'Module._load\', false ],\r\n [ \'module.js\', 492, 10, \'Module.runMain\', false ],\r\n [ \'node.js\',\r\n 244,\r\n 9,\r\n \'startup.processNextTick.process._tickCallback\',\r\n false ] ]\r\n\r\n\r\n```\r\n\r\n### toss(condition)\r\n\r\ntoss(condition /*, [message], callback */)\r\n\r\nReturn an error as first argument of a callback\r\n\r\n\r\n# Load Files\r\n\r\n### loadPackage(dir)\r\n\r\nLoad and parse package.json process root or given directory\r\n\r\n```javascript\r\n\r\nvar pack = Hoek.loadPackage(); // pack.name === \'hoek\'\r\n\r\n```\r\n\r\n### loadDirModules(path, excludeFiles, target) \r\n\r\nLoads modules from a given path; option to exclude files (array).\r\n\r\n\r\n\r\n\r\n',
4220 silly resolved readmeFilename: 'README.md',
4220 silly resolved bugs: { url: 'https://github.com/spumko/hoek/issues' },
4220 silly resolved homepage: 'https://github.com/spumko/hoek',
4220 silly resolved _id: 'hoek@0.9.1',
4220 silly resolved _from: 'hoek@0.9.x' },
4220 silly resolved { name: 'boom',
4220 silly resolved description: 'HTTP-friendly error objects',
4220 silly resolved version: '0.4.2',
4220 silly resolved author:
4220 silly resolved { name: 'Eran Hammer',
4220 silly resolved email: 'eran@hueniverse.com',
4220 silly resolved url: 'http://hueniverse.com' },
4220 silly resolved contributors: [],
4220 silly resolved repository: { type: 'git', url: 'git://github.com/spumko/boom' },
4220 silly resolved main: 'index',
4220 silly resolved keywords: [ 'error', 'http' ],
4220 silly resolved engines: { node: '>=0.8.0' },
4220 silly resolved dependencies: { hoek: '0.9.x' },
4220 silly resolved devDependencies: { lab: '0.1.x', 'complexity-report': '0.x.x' },
4220 silly resolved scripts: { test: 'make test-cov' },
4220 silly resolved licenses: [ [Object] ],
4220 silly resolved readme: '<a href="https://github.com/spumko"><img src="https://raw.github.com/spumko/spumko/master/images/from.png" align="right" /></a>\n![boom Logo](https://raw.github.com/spumko/boom/master/images/boom.png)\n\nHTTP-friendly error objects\n\n[![Build Status](https://secure.travis-ci.org/spumko/boom.png)](http://travis-ci.org/spumko/boom)\n',
4220 silly resolved readmeFilename: 'README.md',
4220 silly resolved bugs: { url: 'https://github.com/spumko/boom/issues' },
4220 silly resolved homepage: 'https://github.com/spumko/boom',
4220 silly resolved _id: 'boom@0.4.2',
4220 silly resolved _from: 'boom@0.4.x' } ]
4221 info install cryptiles@0.2.2 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk
4222 info install sntp@0.2.4 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk
4223 info install hoek@0.9.1 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk
4224 info install boom@0.4.2 into /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk
4225 info installOne cryptiles@0.2.2
4226 info installOne sntp@0.2.4
4227 info installOne hoek@0.9.1
4228 info installOne boom@0.4.2
4229 verbose cache add [ 'nopt@~1.0.10', null ]
4230 verbose cache add name=undefined spec="nopt@~1.0.10" args=["nopt@~1.0.10",null]
4231 verbose parsed url { protocol: null,
4231 verbose parsed url slashes: null,
4231 verbose parsed url auth: null,
4231 verbose parsed url host: null,
4231 verbose parsed url port: null,
4231 verbose parsed url hostname: null,
4231 verbose parsed url hash: null,
4231 verbose parsed url search: null,
4231 verbose parsed url query: null,
4231 verbose parsed url pathname: 'nopt@~1.0.10',
4231 verbose parsed url path: 'nopt@~1.0.10',
4231 verbose parsed url href: 'nopt@~1.0.10' }
4232 verbose cache add name="nopt" spec="~1.0.10" args=["nopt","~1.0.10"]
4233 verbose parsed url { protocol: null,
4233 verbose parsed url slashes: null,
4233 verbose parsed url auth: null,
4233 verbose parsed url host: null,
4233 verbose parsed url port: null,
4233 verbose parsed url hostname: null,
4233 verbose parsed url hash: null,
4233 verbose parsed url search: null,
4233 verbose parsed url query: null,
4233 verbose parsed url pathname: '~1.0.10',
4233 verbose parsed url path: '~1.0.10',
4233 verbose parsed url href: '~1.0.10' }
4234 verbose addNamed [ 'nopt', '~1.0.10' ]
4235 verbose addNamed [ null, '>=1.0.10-0 <1.1.0-0' ]
4236 silly lockFile 79f78dba-nopt-1-0-10 nopt@~1.0.10
4237 verbose lock nopt@~1.0.10 /Volumes/Storage/martincleaver/.npm/79f78dba-nopt-1-0-10.lock
4238 verbose cache add [ 'iconv-lite@~0.2.11', null ]
4239 verbose cache add name=undefined spec="iconv-lite@~0.2.11" args=["iconv-lite@~0.2.11",null]
4240 verbose parsed url { protocol: null,
4240 verbose parsed url slashes: null,
4240 verbose parsed url auth: null,
4240 verbose parsed url host: null,
4240 verbose parsed url port: null,
4240 verbose parsed url hostname: null,
4240 verbose parsed url hash: null,
4240 verbose parsed url search: null,
4240 verbose parsed url query: null,
4240 verbose parsed url pathname: 'iconv-lite@~0.2.11',
4240 verbose parsed url path: 'iconv-lite@~0.2.11',
4240 verbose parsed url href: 'iconv-lite@~0.2.11' }
4241 verbose cache add name="iconv-lite" spec="~0.2.11" args=["iconv-lite","~0.2.11"]
4242 verbose parsed url { protocol: null,
4242 verbose parsed url slashes: null,
4242 verbose parsed url auth: null,
4242 verbose parsed url host: null,
4242 verbose parsed url port: null,
4242 verbose parsed url hostname: null,
4242 verbose parsed url hash: null,
4242 verbose parsed url search: null,
4242 verbose parsed url query: null,
4242 verbose parsed url pathname: '~0.2.11',
4242 verbose parsed url path: '~0.2.11',
4242 verbose parsed url href: '~0.2.11' }
4243 verbose addNamed [ 'iconv-lite', '~0.2.11' ]
4244 verbose addNamed [ null, '>=0.2.11-0 <0.3.0-0' ]
4245 silly lockFile 92090105-iconv-lite-0-2-11 iconv-lite@~0.2.11
4246 verbose lock iconv-lite@~0.2.11 /Volumes/Storage/martincleaver/.npm/92090105-iconv-lite-0-2-11.lock
4247 verbose cache add [ 'rimraf@~2.2.8', null ]
4248 verbose cache add name=undefined spec="rimraf@~2.2.8" args=["rimraf@~2.2.8",null]
4249 verbose parsed url { protocol: null,
4249 verbose parsed url slashes: null,
4249 verbose parsed url auth: null,
4249 verbose parsed url host: null,
4249 verbose parsed url port: null,
4249 verbose parsed url hostname: null,
4249 verbose parsed url hash: null,
4249 verbose parsed url search: null,
4249 verbose parsed url query: null,
4249 verbose parsed url pathname: 'rimraf@~2.2.8',
4249 verbose parsed url path: 'rimraf@~2.2.8',
4249 verbose parsed url href: 'rimraf@~2.2.8' }
4250 verbose cache add name="rimraf" spec="~2.2.8" args=["rimraf","~2.2.8"]
4251 verbose parsed url { protocol: null,
4251 verbose parsed url slashes: null,
4251 verbose parsed url auth: null,
4251 verbose parsed url host: null,
4251 verbose parsed url port: null,
4251 verbose parsed url hostname: null,
4251 verbose parsed url hash: null,
4251 verbose parsed url search: null,
4251 verbose parsed url query: null,
4251 verbose parsed url pathname: '~2.2.8',
4251 verbose parsed url path: '~2.2.8',
4251 verbose parsed url href: '~2.2.8' }
4252 verbose addNamed [ 'rimraf', '~2.2.8' ]
4253 verbose addNamed [ null, '>=2.2.8-0 <2.3.0-0' ]
4254 silly lockFile 63346313-rimraf-2-2-8 rimraf@~2.2.8
4255 verbose lock rimraf@~2.2.8 /Volumes/Storage/martincleaver/.npm/63346313-rimraf-2-2-8.lock
4256 verbose cache add [ 'minimatch@~0.2.12', null ]
4257 verbose cache add name=undefined spec="minimatch@~0.2.12" args=["minimatch@~0.2.12",null]
4258 verbose parsed url { protocol: null,
4258 verbose parsed url slashes: null,
4258 verbose parsed url auth: null,
4258 verbose parsed url host: null,
4258 verbose parsed url port: null,
4258 verbose parsed url hostname: null,
4258 verbose parsed url hash: null,
4258 verbose parsed url search: null,
4258 verbose parsed url query: null,
4258 verbose parsed url pathname: 'minimatch@~0.2.12',
4258 verbose parsed url path: 'minimatch@~0.2.12',
4258 verbose parsed url href: 'minimatch@~0.2.12' }
4259 verbose cache add name="minimatch" spec="~0.2.12" args=["minimatch","~0.2.12"]
4260 verbose parsed url { protocol: null,
4260 verbose parsed url slashes: null,
4260 verbose parsed url auth: null,
4260 verbose parsed url host: null,
4260 verbose parsed url port: null,
4260 verbose parsed url hostname: null,
4260 verbose parsed url hash: null,
4260 verbose parsed url search: null,
4260 verbose parsed url query: null,
4260 verbose parsed url pathname: '~0.2.12',
4260 verbose parsed url path: '~0.2.12',
4260 verbose parsed url href: '~0.2.12' }
4261 verbose addNamed [ 'minimatch', '~0.2.12' ]
4262 verbose addNamed [ null, '>=0.2.12-0 <0.3.0-0' ]
4263 silly lockFile 89ce5cca-minimatch-0-2-12 minimatch@~0.2.12
4264 verbose lock minimatch@~0.2.12 /Volumes/Storage/martincleaver/.npm/89ce5cca-minimatch-0-2-12.lock
4265 verbose cache add [ 'lodash@~0.9.2', null ]
4266 verbose cache add name=undefined spec="lodash@~0.9.2" args=["lodash@~0.9.2",null]
4267 verbose parsed url { protocol: null,
4267 verbose parsed url slashes: null,
4267 verbose parsed url auth: null,
4267 verbose parsed url host: null,
4267 verbose parsed url port: null,
4267 verbose parsed url hostname: null,
4267 verbose parsed url hash: null,
4267 verbose parsed url search: null,
4267 verbose parsed url query: null,
4267 verbose parsed url pathname: 'lodash@~0.9.2',
4267 verbose parsed url path: 'lodash@~0.9.2',
4267 verbose parsed url href: 'lodash@~0.9.2' }
4268 verbose cache add name="lodash" spec="~0.9.2" args=["lodash","~0.9.2"]
4269 verbose parsed url { protocol: null,
4269 verbose parsed url slashes: null,
4269 verbose parsed url auth: null,
4269 verbose parsed url host: null,
4269 verbose parsed url port: null,
4269 verbose parsed url hostname: null,
4269 verbose parsed url hash: null,
4269 verbose parsed url search: null,
4269 verbose parsed url query: null,
4269 verbose parsed url pathname: '~0.9.2',
4269 verbose parsed url path: '~0.9.2',
4269 verbose parsed url href: '~0.9.2' }
4270 verbose addNamed [ 'lodash', '~0.9.2' ]
4271 verbose addNamed [ null, '>=0.9.2-0 <0.10.0-0' ]
4272 silly lockFile 1fff9bf4-lodash-0-9-2 lodash@~0.9.2
4273 verbose lock lodash@~0.9.2 /Volumes/Storage/martincleaver/.npm/1fff9bf4-lodash-0-9-2.lock
4274 verbose cache add [ 'underscore.string@~2.2.1', null ]
4275 verbose cache add name=undefined spec="underscore.string@~2.2.1" args=["underscore.string@~2.2.1",null]
4276 verbose parsed url { protocol: null,
4276 verbose parsed url slashes: null,
4276 verbose parsed url auth: null,
4276 verbose parsed url host: null,
4276 verbose parsed url port: null,
4276 verbose parsed url hostname: null,
4276 verbose parsed url hash: null,
4276 verbose parsed url search: null,
4276 verbose parsed url query: null,
4276 verbose parsed url pathname: 'underscore.string@~2.2.1',
4276 verbose parsed url path: 'underscore.string@~2.2.1',
4276 verbose parsed url href: 'underscore.string@~2.2.1' }
4277 verbose cache add name="underscore.string" spec="~2.2.1" args=["underscore.string","~2.2.1"]
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: '~2.2.1',
4278 verbose parsed url path: '~2.2.1',
4278 verbose parsed url href: '~2.2.1' }
4279 verbose addNamed [ 'underscore.string', '~2.2.1' ]
4280 verbose addNamed [ null, '>=2.2.1-0 <2.3.0-0' ]
4281 silly lockFile 57acec0b-underscore-string-2-2-1 underscore.string@~2.2.1
4282 verbose lock underscore.string@~2.2.1 /Volumes/Storage/martincleaver/.npm/57acec0b-underscore-string-2-2-1.lock
4283 verbose cache add [ 'which@~1.0.5', null ]
4284 verbose cache add name=undefined spec="which@~1.0.5" args=["which@~1.0.5",null]
4285 verbose parsed url { protocol: null,
4285 verbose parsed url slashes: null,
4285 verbose parsed url auth: null,
4285 verbose parsed url host: null,
4285 verbose parsed url port: null,
4285 verbose parsed url hostname: null,
4285 verbose parsed url hash: null,
4285 verbose parsed url search: null,
4285 verbose parsed url query: null,
4285 verbose parsed url pathname: 'which@~1.0.5',
4285 verbose parsed url path: 'which@~1.0.5',
4285 verbose parsed url href: 'which@~1.0.5' }
4286 verbose cache add name="which" spec="~1.0.5" args=["which","~1.0.5"]
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: '~1.0.5',
4287 verbose parsed url path: '~1.0.5',
4287 verbose parsed url href: '~1.0.5' }
4288 verbose addNamed [ 'which', '~1.0.5' ]
4289 verbose addNamed [ null, '>=1.0.5-0 <1.1.0-0' ]
4290 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
4291 verbose lock which@~1.0.5 /Volumes/Storage/martincleaver/.npm/d158d65e-which-1-0-5.lock
4292 silly addNameRange { name: 'findup-sync',
4292 silly addNameRange range: '>=0.1.2-0 <0.2.0-0',
4292 silly addNameRange hasData: false }
4293 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/cryptiles unbuild
4294 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/sntp unbuild
4295 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/hoek unbuild
4296 info /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/boom unbuild
4297 verbose cache add [ 'js-yaml@~2.0.5', null ]
4298 verbose cache add name=undefined spec="js-yaml@~2.0.5" args=["js-yaml@~2.0.5",null]
4299 verbose parsed url { protocol: null,
4299 verbose parsed url slashes: null,
4299 verbose parsed url auth: null,
4299 verbose parsed url host: null,
4299 verbose parsed url port: null,
4299 verbose parsed url hostname: null,
4299 verbose parsed url hash: null,
4299 verbose parsed url search: null,
4299 verbose parsed url query: null,
4299 verbose parsed url pathname: 'js-yaml@~2.0.5',
4299 verbose parsed url path: 'js-yaml@~2.0.5',
4299 verbose parsed url href: 'js-yaml@~2.0.5' }
4300 verbose cache add name="js-yaml" spec="~2.0.5" args=["js-yaml","~2.0.5"]
4301 verbose parsed url { protocol: null,
4301 verbose parsed url slashes: null,
4301 verbose parsed url auth: null,
4301 verbose parsed url host: null,
4301 verbose parsed url port: null,
4301 verbose parsed url hostname: null,
4301 verbose parsed url hash: null,
4301 verbose parsed url search: null,
4301 verbose parsed url query: null,
4301 verbose parsed url pathname: '~2.0.5',
4301 verbose parsed url path: '~2.0.5',
4301 verbose parsed url href: '~2.0.5' }
4302 verbose addNamed [ 'js-yaml', '~2.0.5' ]
4303 verbose addNamed [ null, '>=2.0.5-0 <2.1.0-0' ]
4304 silly lockFile f87c51d5-js-yaml-2-0-5 js-yaml@~2.0.5
4305 verbose lock js-yaml@~2.0.5 /Volumes/Storage/martincleaver/.npm/f87c51d5-js-yaml-2-0-5.lock
4306 verbose cache add [ 'exit@~0.1.1', null ]
4307 verbose cache add name=undefined spec="exit@~0.1.1" args=["exit@~0.1.1",null]
4308 verbose parsed url { protocol: null,
4308 verbose parsed url slashes: null,
4308 verbose parsed url auth: null,
4308 verbose parsed url host: null,
4308 verbose parsed url port: null,
4308 verbose parsed url hostname: null,
4308 verbose parsed url hash: null,
4308 verbose parsed url search: null,
4308 verbose parsed url query: null,
4308 verbose parsed url pathname: 'exit@~0.1.1',
4308 verbose parsed url path: 'exit@~0.1.1',
4308 verbose parsed url href: 'exit@~0.1.1' }
4309 verbose cache add name="exit" spec="~0.1.1" args=["exit","~0.1.1"]
4310 verbose parsed url { protocol: null,
4310 verbose parsed url slashes: null,
4310 verbose parsed url auth: null,
4310 verbose parsed url host: null,
4310 verbose parsed url port: null,
4310 verbose parsed url hostname: null,
4310 verbose parsed url hash: null,
4310 verbose parsed url search: null,
4310 verbose parsed url query: null,
4310 verbose parsed url pathname: '~0.1.1',
4310 verbose parsed url path: '~0.1.1',
4310 verbose parsed url href: '~0.1.1' }
4311 verbose addNamed [ 'exit', '~0.1.1' ]
4312 verbose addNamed [ null, '>=0.1.1-0 <0.2.0-0' ]
4313 silly lockFile 36e7f3d8-exit-0-1-1 exit@~0.1.1
4314 verbose lock exit@~0.1.1 /Volumes/Storage/martincleaver/.npm/36e7f3d8-exit-0-1-1.lock
4315 verbose cache add [ 'getobject@~0.1.0', null ]
4316 verbose cache add name=undefined spec="getobject@~0.1.0" args=["getobject@~0.1.0",null]
4317 verbose parsed url { protocol: null,
4317 verbose parsed url slashes: null,
4317 verbose parsed url auth: null,
4317 verbose parsed url host: null,
4317 verbose parsed url port: null,
4317 verbose parsed url hostname: null,
4317 verbose parsed url hash: null,
4317 verbose parsed url search: null,
4317 verbose parsed url query: null,
4317 verbose parsed url pathname: 'getobject@~0.1.0',
4317 verbose parsed url path: 'getobject@~0.1.0',
4317 verbose parsed url href: 'getobject@~0.1.0' }
4318 verbose cache add name="getobject" spec="~0.1.0" args=["getobject","~0.1.0"]
4319 verbose parsed url { protocol: null,
4319 verbose parsed url slashes: null,
4319 verbose parsed url auth: null,
4319 verbose parsed url host: null,
4319 verbose parsed url port: null,
4319 verbose parsed url hostname: null,
4319 verbose parsed url hash: null,
4319 verbose parsed url search: null,
4319 verbose parsed url query: null,
4319 verbose parsed url pathname: '~0.1.0',
4319 verbose parsed url path: '~0.1.0',
4319 verbose parsed url href: '~0.1.0' }
4320 verbose addNamed [ 'getobject', '~0.1.0' ]
4321 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
4322 silly lockFile 6f3e7f10-getobject-0-1-0 getobject@~0.1.0
4323 verbose lock getobject@~0.1.0 /Volumes/Storage/martincleaver/.npm/6f3e7f10-getobject-0-1-0.lock
4324 verbose cache add [ 'grunt-legacy-util@~0.2.0', null ]
4325 verbose cache add name=undefined spec="grunt-legacy-util@~0.2.0" args=["grunt-legacy-util@~0.2.0",null]
4326 verbose parsed url { protocol: null,
4326 verbose parsed url slashes: null,
4326 verbose parsed url auth: null,
4326 verbose parsed url host: null,
4326 verbose parsed url port: null,
4326 verbose parsed url hostname: null,
4326 verbose parsed url hash: null,
4326 verbose parsed url search: null,
4326 verbose parsed url query: null,
4326 verbose parsed url pathname: 'grunt-legacy-util@~0.2.0',
4326 verbose parsed url path: 'grunt-legacy-util@~0.2.0',
4326 verbose parsed url href: 'grunt-legacy-util@~0.2.0' }
4327 verbose cache add name="grunt-legacy-util" spec="~0.2.0" args=["grunt-legacy-util","~0.2.0"]
4328 verbose parsed url { protocol: null,
4328 verbose parsed url slashes: null,
4328 verbose parsed url auth: null,
4328 verbose parsed url host: null,
4328 verbose parsed url port: null,
4328 verbose parsed url hostname: null,
4328 verbose parsed url hash: null,
4328 verbose parsed url search: null,
4328 verbose parsed url query: null,
4328 verbose parsed url pathname: '~0.2.0',
4328 verbose parsed url path: '~0.2.0',
4328 verbose parsed url href: '~0.2.0' }
4329 verbose addNamed [ 'grunt-legacy-util', '~0.2.0' ]
4330 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
4331 silly lockFile d7c85858-grunt-legacy-util-0-2-0 grunt-legacy-util@~0.2.0
4332 verbose lock grunt-legacy-util@~0.2.0 /Volumes/Storage/martincleaver/.npm/d7c85858-grunt-legacy-util-0-2-0.lock
4333 silly addNameRange { name: 'hooker', range: '>=0.2.3-0 <0.3.0-0', hasData: false }
4334 verbose cache add [ 'grunt-legacy-log@~0.1.0', null ]
4335 verbose cache add name=undefined spec="grunt-legacy-log@~0.1.0" args=["grunt-legacy-log@~0.1.0",null]
4336 verbose parsed url { protocol: null,
4336 verbose parsed url slashes: null,
4336 verbose parsed url auth: null,
4336 verbose parsed url host: null,
4336 verbose parsed url port: null,
4336 verbose parsed url hostname: null,
4336 verbose parsed url hash: null,
4336 verbose parsed url search: null,
4336 verbose parsed url query: null,
4336 verbose parsed url pathname: 'grunt-legacy-log@~0.1.0',
4336 verbose parsed url path: 'grunt-legacy-log@~0.1.0',
4336 verbose parsed url href: 'grunt-legacy-log@~0.1.0' }
4337 verbose cache add name="grunt-legacy-log" spec="~0.1.0" args=["grunt-legacy-log","~0.1.0"]
4338 verbose parsed url { protocol: null,
4338 verbose parsed url slashes: null,
4338 verbose parsed url auth: null,
4338 verbose parsed url host: null,
4338 verbose parsed url port: null,
4338 verbose parsed url hostname: null,
4338 verbose parsed url hash: null,
4338 verbose parsed url search: null,
4338 verbose parsed url query: null,
4338 verbose parsed url pathname: '~0.1.0',
4338 verbose parsed url path: '~0.1.0',
4338 verbose parsed url href: '~0.1.0' }
4339 verbose addNamed [ 'grunt-legacy-log', '~0.1.0' ]
4340 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
4341 silly lockFile 8e73aff5-grunt-legacy-log-0-1-0 grunt-legacy-log@~0.1.0
4342 verbose lock grunt-legacy-log@~0.1.0 /Volumes/Storage/martincleaver/.npm/8e73aff5-grunt-legacy-log-0-1-0.lock
4343 verbose cache add [ 'async@~0.1.22', null ]
4344 verbose cache add name=undefined spec="async@~0.1.22" args=["async@~0.1.22",null]
4345 verbose parsed url { protocol: null,
4345 verbose parsed url slashes: null,
4345 verbose parsed url auth: null,
4345 verbose parsed url host: null,
4345 verbose parsed url port: null,
4345 verbose parsed url hostname: null,
4345 verbose parsed url hash: null,
4345 verbose parsed url search: null,
4345 verbose parsed url query: null,
4345 verbose parsed url pathname: 'async@~0.1.22',
4345 verbose parsed url path: 'async@~0.1.22',
4345 verbose parsed url href: 'async@~0.1.22' }
4346 verbose cache add name="async" spec="~0.1.22" args=["async","~0.1.22"]
4347 verbose parsed url { protocol: null,
4347 verbose parsed url slashes: null,
4347 verbose parsed url auth: null,
4347 verbose parsed url host: null,
4347 verbose parsed url port: null,
4347 verbose parsed url hostname: null,
4347 verbose parsed url hash: null,
4347 verbose parsed url search: null,
4347 verbose parsed url query: null,
4347 verbose parsed url pathname: '~0.1.22',
4347 verbose parsed url path: '~0.1.22',
4347 verbose parsed url href: '~0.1.22' }
4348 verbose addNamed [ 'async', '~0.1.22' ]
4349 verbose addNamed [ null, '>=0.1.22-0 <0.2.0-0' ]
4350 silly lockFile 3af71045-async-0-1-22 async@~0.1.22
4351 verbose lock async@~0.1.22 /Volumes/Storage/martincleaver/.npm/3af71045-async-0-1-22.lock
4352 verbose tar unpack /Volumes/Storage/martincleaver/.npm/cryptiles/0.2.2/package.tgz
4353 silly lockFile 735b6a41-ules-hawk-node-modules-cryptiles tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/cryptiles
4354 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/cryptiles /Volumes/Storage/martincleaver/.npm/735b6a41-ules-hawk-node-modules-cryptiles.lock
4355 silly lockFile 69b87c6b--npm-cryptiles-0-2-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/cryptiles/0.2.2/package.tgz
4356 verbose lock tar:///Volumes/Storage/martincleaver/.npm/cryptiles/0.2.2/package.tgz /Volumes/Storage/martincleaver/.npm/69b87c6b--npm-cryptiles-0-2-2-package-tgz.lock
4357 verbose tar unpack /Volumes/Storage/martincleaver/.npm/sntp/0.2.4/package.tgz
4358 silly lockFile 55239ad6-e-modules-hawk-node-modules-sntp tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/sntp
4359 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/sntp /Volumes/Storage/martincleaver/.npm/55239ad6-e-modules-hawk-node-modules-sntp.lock
4360 silly lockFile 008acfdd-eaver-npm-sntp-0-2-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/sntp/0.2.4/package.tgz
4361 verbose lock tar:///Volumes/Storage/martincleaver/.npm/sntp/0.2.4/package.tgz /Volumes/Storage/martincleaver/.npm/008acfdd-eaver-npm-sntp-0-2-4-package-tgz.lock
4362 verbose tar unpack /Volumes/Storage/martincleaver/.npm/hoek/0.9.1/package.tgz
4363 silly lockFile 99cec9cd-e-modules-hawk-node-modules-hoek tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/hoek
4364 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/hoek /Volumes/Storage/martincleaver/.npm/99cec9cd-e-modules-hawk-node-modules-hoek.lock
4365 silly lockFile 295547e5-eaver-npm-hoek-0-9-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/hoek/0.9.1/package.tgz
4366 verbose lock tar:///Volumes/Storage/martincleaver/.npm/hoek/0.9.1/package.tgz /Volumes/Storage/martincleaver/.npm/295547e5-eaver-npm-hoek-0-9-1-package-tgz.lock
4367 verbose tar unpack /Volumes/Storage/martincleaver/.npm/boom/0.4.2/package.tgz
4368 silly lockFile 72c037f6-e-modules-hawk-node-modules-boom tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/boom
4369 verbose lock tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/boom /Volumes/Storage/martincleaver/.npm/72c037f6-e-modules-hawk-node-modules-boom.lock
4370 silly lockFile 44887eb8-eaver-npm-boom-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/boom/0.4.2/package.tgz
4371 verbose lock tar:///Volumes/Storage/martincleaver/.npm/boom/0.4.2/package.tgz /Volumes/Storage/martincleaver/.npm/44887eb8-eaver-npm-boom-0-4-2-package-tgz.lock
4372 verbose registry.get findup-sync not expired, no request
4373 silly addNameRange number 2 { name: 'findup-sync',
4373 silly addNameRange range: '>=0.1.2-0 <0.2.0-0',
4373 silly addNameRange hasData: true }
4374 silly addNameRange versions [ 'findup-sync', [ '0.1.0', '0.1.1', '0.1.2', '0.1.3' ] ]
4375 verbose addNamed [ 'findup-sync', '0.1.3' ]
4376 verbose addNamed [ '0.1.3', '0.1.3' ]
4377 silly lockFile 7d59adfa-findup-sync-0-1-3 findup-sync@0.1.3
4378 verbose lock findup-sync@0.1.3 /Volumes/Storage/martincleaver/.npm/7d59adfa-findup-sync-0-1-3.lock
4379 silly addNameRange { name: 'nopt', range: '>=1.0.10-0 <1.1.0-0', hasData: false }
4380 silly addNameRange { name: 'rimraf', range: '>=2.2.8-0 <2.3.0-0', hasData: false }
4381 verbose registry.get hooker not expired, no request
4382 silly addNameRange number 2 { name: 'hooker', range: '>=0.2.3-0 <0.3.0-0', hasData: true }
4383 silly addNameRange versions [ 'hooker', [ '0.2.3' ] ]
4384 verbose addNamed [ 'hooker', '0.2.3' ]
4385 verbose addNamed [ '0.2.3', '0.2.3' ]
4386 silly lockFile 97e6505f-hooker-0-2-3 hooker@0.2.3
4387 verbose lock hooker@0.2.3 /Volumes/Storage/martincleaver/.npm/97e6505f-hooker-0-2-3.lock
4388 silly gunzTarPerm modes [ '755', '644' ]
4389 silly gunzTarPerm modes [ '755', '644' ]
4390 silly gunzTarPerm modes [ '755', '644' ]
4391 silly gunzTarPerm modes [ '755', '644' ]
4392 verbose registry.get nopt not expired, no request
4393 silly addNameRange number 2 { name: 'nopt', range: '>=1.0.10-0 <1.1.0-0', hasData: true }
4394 silly addNameRange versions [ 'nopt',
4394 silly addNameRange [ '1.0.0',
4394 silly addNameRange '1.0.1',
4394 silly addNameRange '1.0.2',
4394 silly addNameRange '1.0.3',
4394 silly addNameRange '1.0.4',
4394 silly addNameRange '1.0.5',
4394 silly addNameRange '1.0.6',
4394 silly addNameRange '1.0.7',
4394 silly addNameRange '1.0.8',
4394 silly addNameRange '1.0.9',
4394 silly addNameRange '1.0.10',
4394 silly addNameRange '2.0.0',
4394 silly addNameRange '2.1.0',
4394 silly addNameRange '2.1.1',
4394 silly addNameRange '2.1.2',
4394 silly addNameRange '2.2.0',
4394 silly addNameRange '2.2.1',
4394 silly addNameRange '3.0.0',
4394 silly addNameRange '3.0.1' ] ]
4395 verbose addNamed [ 'nopt', '1.0.10' ]
4396 verbose addNamed [ '1.0.10', '1.0.10' ]
4397 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
4398 verbose lock nopt@1.0.10 /Volumes/Storage/martincleaver/.npm/1be903a1-nopt-1-0-10.lock
4399 verbose registry.get rimraf not expired, no request
4400 silly addNameRange number 2 { name: 'rimraf', range: '>=2.2.8-0 <2.3.0-0', hasData: true }
4401 silly addNameRange versions [ 'rimraf',
4401 silly addNameRange [ '1.0.0',
4401 silly addNameRange '1.0.1',
4401 silly addNameRange '1.0.2',
4401 silly addNameRange '1.0.4',
4401 silly addNameRange '1.0.5',
4401 silly addNameRange '1.0.6',
4401 silly addNameRange '1.0.7',
4401 silly addNameRange '1.0.8',
4401 silly addNameRange '1.0.9',
4401 silly addNameRange '2.0.0',
4401 silly addNameRange '2.0.1',
4401 silly addNameRange '2.0.2',
4401 silly addNameRange '2.0.3',
4401 silly addNameRange '2.1.0',
4401 silly addNameRange '2.1.1',
4401 silly addNameRange '2.1.2',
4401 silly addNameRange '2.1.3',
4401 silly addNameRange '2.1.4',
4401 silly addNameRange '2.2.0',
4401 silly addNameRange '2.2.1',
4401 silly addNameRange '2.2.2',
4401 silly addNameRange '2.2.3',
4401 silly addNameRange '2.2.4',
4401 silly addNameRange '2.2.5',
4401 silly addNameRange '2.2.6',
4401 silly addNameRange '2.2.8' ] ]
4402 verbose addNamed [ 'rimraf', '2.2.8' ]
4403 verbose addNamed [ '2.2.8', '2.2.8' ]
4404 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
4405 verbose lock rimraf@2.2.8 /Volumes/Storage/martincleaver/.npm/b87241a4-rimraf-2-2-8.lock
4406 silly gunzTarPerm extractEntry package.json
4407 silly gunzTarPerm extractEntry package.json
4408 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
4409 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
4410 silly lockFile 63346313-rimraf-2-2-8 rimraf@~2.2.8
4411 silly lockFile 63346313-rimraf-2-2-8 rimraf@~2.2.8
4412 silly gunzTarPerm extractEntry package.json
4413 silly gunzTarPerm extractEntry .npmignore
4414 silly gunzTarPerm extractEntry README.md
4415 silly gunzTarPerm extractEntry .npmignore
4416 silly gunzTarPerm extractEntry README.md
4417 silly gunzTarPerm extractEntry .npmignore
4418 silly gunzTarPerm extractEntry README.md
4419 silly lockFile 7d59adfa-findup-sync-0-1-3 findup-sync@0.1.3
4420 silly lockFile 7d59adfa-findup-sync-0-1-3 findup-sync@0.1.3
4421 silly lockFile 97e6505f-hooker-0-2-3 hooker@0.2.3
4422 silly lockFile 97e6505f-hooker-0-2-3 hooker@0.2.3
4423 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
4424 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
4425 silly lockFile 65f21183-findup-sync-0-1-2 findup-sync@~0.1.2
4426 silly lockFile 65f21183-findup-sync-0-1-2 findup-sync@~0.1.2
4427 silly lockFile 2bcd1457-hooker-0-2-3 hooker@~0.2.3
4428 silly lockFile 2bcd1457-hooker-0-2-3 hooker@~0.2.3
4429 silly lockFile 79f78dba-nopt-1-0-10 nopt@~1.0.10
4430 silly lockFile 79f78dba-nopt-1-0-10 nopt@~1.0.10
4431 silly gunzTarPerm extractEntry LICENSE
4432 silly gunzTarPerm extractEntry index.js
4433 silly gunzTarPerm extractEntry LICENSE
4434 silly gunzTarPerm extractEntry index.js
4435 silly gunzTarPerm extractEntry package.json
4436 silly gunzTarPerm extractEntry LICENSE
4437 silly gunzTarPerm extractEntry index.js
4438 silly gunzTarPerm extractEntry .travis.yml
4439 silly gunzTarPerm extractEntry Makefile
4440 silly gunzTarPerm extractEntry images/hoek.png
4441 silly gunzTarPerm extractEntry lib/escape.js
4442 silly gunzTarPerm extractEntry lib/index.js
4443 silly gunzTarPerm extractEntry test/escaper.js
4444 silly gunzTarPerm extractEntry test/index.js
4445 silly gunzTarPerm extractEntry test/modules/test1.js
4446 silly gunzTarPerm extractEntry test/modules/test2.js
4447 silly gunzTarPerm extractEntry test/modules/test3.js
4448 silly gunzTarPerm extractEntry .npmignore
4449 silly gunzTarPerm extractEntry README.md
4450 silly addNameRange { name: 'lodash', range: '>=0.9.2-0 <0.10.0-0', hasData: false }
4451 silly addNameRange { name: 'which', range: '>=1.0.5-0 <1.1.0-0', hasData: false }
4452 silly gunzTarPerm extractEntry .travis.yml
4453 silly gunzTarPerm extractEntry Makefile
4454 silly gunzTarPerm extractEntry .travis.yml
4455 silly gunzTarPerm extractEntry Makefile
4456 verbose registry.get lodash not expired, no request
4457 silly addNameRange number 2 { name: 'lodash', range: '>=0.9.2-0 <0.10.0-0', hasData: true }
4458 silly addNameRange versions [ 'lodash',
4458 silly addNameRange [ '0.1.0',
4458 silly addNameRange '0.2.0',
4458 silly addNameRange '0.2.1',
4458 silly addNameRange '0.2.2',
4458 silly addNameRange '0.3.0',
4458 silly addNameRange '0.3.1',
4458 silly addNameRange '0.3.2',
4458 silly addNameRange '0.4.0',
4458 silly addNameRange '0.4.1',
4458 silly addNameRange '0.4.2',
4458 silly addNameRange '0.5.0-rc.1',
4458 silly addNameRange '0.5.0',
4458 silly addNameRange '0.5.1',
4458 silly addNameRange '0.5.2',
4458 silly addNameRange '0.6.0',
4458 silly addNameRange '0.6.1',
4458 silly addNameRange '0.7.0',
4458 silly addNameRange '0.8.0',
4458 silly addNameRange '0.8.1',
4458 silly addNameRange '0.8.2',
4458 silly addNameRange '0.9.0',
4458 silly addNameRange '0.9.1',
4458 silly addNameRange '0.9.2',
4458 silly addNameRange '0.10.0',
4458 silly addNameRange '1.0.0-rc.1',
4458 silly addNameRange '1.0.0-rc.2',
4458 silly addNameRange '1.0.0-rc.3',
4458 silly addNameRange '1.0.0',
4458 silly addNameRange '1.0.1',
4458 silly addNameRange '1.1.0',
4458 silly addNameRange '1.1.1',
4458 silly addNameRange '1.2.0',
4458 silly addNameRange '1.2.1',
4458 silly addNameRange '1.3.0',
4458 silly addNameRange '1.3.1',
4458 silly addNameRange '2.0.0',
4458 silly addNameRange '2.1.0',
4458 silly addNameRange '2.2.0',
4458 silly addNameRange '2.2.1',
4458 silly addNameRange '2.3.0',
4458 silly addNameRange '2.4.0',
4458 silly addNameRange '2.4.1' ] ]
4459 verbose addNamed [ 'lodash', '0.9.2' ]
4460 verbose addNamed [ '0.9.2', '0.9.2' ]
4461 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
4462 verbose lock lodash@0.9.2 /Volumes/Storage/martincleaver/.npm/9802d919-lodash-0-9-2.lock
4463 verbose registry.get which not expired, no request
4464 silly addNameRange number 2 { name: 'which', range: '>=1.0.5-0 <1.1.0-0', hasData: true }
4465 silly addNameRange versions [ 'which', [ '1.0.0', '1.0.1', '1.0.2', '1.0.3', '1.0.5' ] ]
4466 verbose addNamed [ 'which', '1.0.5' ]
4467 verbose addNamed [ '1.0.5', '1.0.5' ]
4468 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
4469 verbose lock which@1.0.5 /Volumes/Storage/martincleaver/.npm/4aed4494-which-1-0-5.lock
4470 silly gunzTarPerm extractEntry LICENSE
4471 silly gunzTarPerm extractEntry index.js
4472 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
4473 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
4474 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
4475 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
4476 silly gunzTarPerm extractEntry lib/index.js
4477 silly gunzTarPerm extractEntry test/index.js
4478 silly gunzTarPerm extractEntry examples/offset.js
4479 silly gunzTarPerm extractEntry examples/time.js
4480 silly gunzTarPerm extractEntry .travis.yml
4481 silly gunzTarPerm extractEntry Makefile
4482 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
4483 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
4484 silly lockFile 1fff9bf4-lodash-0-9-2 lodash@~0.9.2
4485 silly lockFile 1fff9bf4-lodash-0-9-2 lodash@~0.9.2
4486 silly gunzTarPerm extractEntry lib/index.js
4487 silly gunzTarPerm extractEntry test/index.js
4488 silly gunzTarPerm extractEntry images/boom.png
4489 silly gunzTarPerm extractEntry lib/index.js
4490 silly gunzTarPerm extractEntry test/index.js
4491 silly addNameRange { name: 'async', range: '>=0.1.22-0 <0.2.0-0', hasData: false }
4492 verbose registry.get async not expired, no request
4493 silly addNameRange number 2 { name: 'async', range: '>=0.1.22-0 <0.2.0-0', hasData: true }
4494 silly addNameRange versions [ 'async',
4494 silly addNameRange [ '0.1.0',
4494 silly addNameRange '0.1.1',
4494 silly addNameRange '0.1.2',
4494 silly addNameRange '0.1.3',
4494 silly addNameRange '0.1.4',
4494 silly addNameRange '0.1.5',
4494 silly addNameRange '0.1.6',
4494 silly addNameRange '0.1.7',
4494 silly addNameRange '0.1.8',
4494 silly addNameRange '0.1.9',
4494 silly addNameRange '0.1.10',
4494 silly addNameRange '0.1.11',
4494 silly addNameRange '0.1.12',
4494 silly addNameRange '0.1.13',
4494 silly addNameRange '0.1.14',
4494 silly addNameRange '0.1.15',
4494 silly addNameRange '0.1.16',
4494 silly addNameRange '0.1.17',
4494 silly addNameRange '0.1.18',
4494 silly addNameRange '0.1.19',
4494 silly addNameRange '0.1.20',
4494 silly addNameRange '0.1.21',
4494 silly addNameRange '0.1.22',
4494 silly addNameRange '0.2.0',
4494 silly addNameRange '0.2.1',
4494 silly addNameRange '0.2.2',
4494 silly addNameRange '0.2.3',
4494 silly addNameRange '0.2.4',
4494 silly addNameRange '0.2.5',
4494 silly addNameRange '0.2.6',
4494 silly addNameRange '0.2.7',
4494 silly addNameRange '0.2.8',
4494 silly addNameRange '0.2.9',
4494 silly addNameRange '0.2.10',
4494 silly addNameRange '0.3.0',
4494 silly addNameRange '0.4.0',
4494 silly addNameRange '0.4.1',
4494 silly addNameRange '0.5.0',
4494 silly addNameRange '0.6.0',
4494 silly addNameRange '0.6.1',
4494 silly addNameRange '0.6.2',
4494 silly addNameRange '0.7.0',
4494 silly addNameRange '0.8.0',
4494 silly addNameRange '0.9.0' ] ]
4495 verbose addNamed [ 'async', '0.1.22' ]
4496 verbose addNamed [ '0.1.22', '0.1.22' ]
4497 silly lockFile 09d21715-async-0-1-22 async@0.1.22
4498 verbose lock async@0.1.22 /Volumes/Storage/martincleaver/.npm/09d21715-async-0-1-22.lock
4499 silly lockFile 09d21715-async-0-1-22 async@0.1.22
4500 silly lockFile 09d21715-async-0-1-22 async@0.1.22
4501 silly lockFile 3af71045-async-0-1-22 async@~0.1.22
4502 silly lockFile 3af71045-async-0-1-22 async@~0.1.22
4503 silly lockFile 735b6a41-ules-hawk-node-modules-cryptiles tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/cryptiles
4504 silly lockFile 735b6a41-ules-hawk-node-modules-cryptiles tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/cryptiles
4505 silly lockFile 69b87c6b--npm-cryptiles-0-2-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/cryptiles/0.2.2/package.tgz
4506 silly lockFile 69b87c6b--npm-cryptiles-0-2-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/cryptiles/0.2.2/package.tgz
4507 info preinstall cryptiles@0.2.2
4508 verbose readDependencies using package.json deps
4509 verbose readDependencies using package.json deps
4510 silly resolved []
4511 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/cryptiles
4512 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/cryptiles
4513 verbose linkStuff [ false,
4513 verbose linkStuff false,
4513 verbose linkStuff false,
4513 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules' ]
4514 info linkStuff cryptiles@0.2.2
4515 verbose linkBins cryptiles@0.2.2
4516 verbose linkMans cryptiles@0.2.2
4517 verbose rebuildBundles cryptiles@0.2.2
4518 info install cryptiles@0.2.2
4519 info postinstall cryptiles@0.2.2
4520 silly addNameRange { name: 'colors', range: '>=0.6.2-0 <0.7.0-0', hasData: false }
4521 verbose registry.get colors not expired, no request
4522 silly addNameRange number 2 { name: 'colors', range: '>=0.6.2-0 <0.7.0-0', hasData: true }
4523 silly addNameRange versions [ 'colors',
4523 silly addNameRange [ '0.3.0', '0.5.0', '0.5.1', '0.6.0', '0.6.0-1', '0.6.1', '0.6.2' ] ]
4524 verbose addNamed [ 'colors', '0.6.2' ]
4525 verbose addNamed [ '0.6.2', '0.6.2' ]
4526 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
4527 verbose lock colors@0.6.2 /Volumes/Storage/martincleaver/.npm/1ce149d5-colors-0-6-2.lock
4528 silly addNameRange { name: 'eventemitter2',
4528 silly addNameRange range: '>=0.4.13-0 <0.5.0-0',
4528 silly addNameRange hasData: false }
4529 silly lockFile 55239ad6-e-modules-hawk-node-modules-sntp tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/sntp
4530 silly lockFile 55239ad6-e-modules-hawk-node-modules-sntp tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/sntp
4531 silly lockFile 008acfdd-eaver-npm-sntp-0-2-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/sntp/0.2.4/package.tgz
4532 silly lockFile 008acfdd-eaver-npm-sntp-0-2-4-package-tgz tar:///Volumes/Storage/martincleaver/.npm/sntp/0.2.4/package.tgz
4533 verbose registry.get eventemitter2 not expired, no request
4534 silly addNameRange number 2 { name: 'eventemitter2',
4534 silly addNameRange range: '>=0.4.13-0 <0.5.0-0',
4534 silly addNameRange hasData: true }
4535 silly addNameRange versions [ 'eventemitter2',
4535 silly addNameRange [ '0.0.1',
4535 silly addNameRange '0.1.0',
4535 silly addNameRange '0.1.1',
4535 silly addNameRange '0.1.3',
4535 silly addNameRange '0.2.5',
4535 silly addNameRange '0.2.6',
4535 silly addNameRange '0.2.7',
4535 silly addNameRange '0.3.5',
4535 silly addNameRange '0.3.6',
4535 silly addNameRange '0.3.7',
4535 silly addNameRange '0.4.0',
4535 silly addNameRange '0.4.1',
4535 silly addNameRange '0.4.3',
4535 silly addNameRange '0.4.6',
4535 silly addNameRange '0.4.7',
4535 silly addNameRange '0.4.8',
4535 silly addNameRange '0.4.9',
4535 silly addNameRange '0.4.10',
4535 silly addNameRange '0.4.11',
4535 silly addNameRange '0.4.12',
4535 silly addNameRange '0.4.13',
4535 silly addNameRange '0.4.14' ] ]
4536 verbose addNamed [ 'eventemitter2', '0.4.14' ]
4537 verbose addNamed [ '0.4.14', '0.4.14' ]
4538 silly lockFile eeff59a2-eventemitter2-0-4-14 eventemitter2@0.4.14
4539 verbose lock eventemitter2@0.4.14 /Volumes/Storage/martincleaver/.npm/eeff59a2-eventemitter2-0-4-14.lock
4540 silly addNameRange { name: 'glob', range: '>=3.1.21-0 <3.2.0-0', hasData: false }
4541 silly addNameRange { name: 'minimatch',
4541 silly addNameRange range: '>=0.2.12-0 <0.3.0-0',
4541 silly addNameRange hasData: false }
4542 silly addNameRange { name: 'js-yaml', range: '>=2.0.5-0 <2.1.0-0', hasData: false }
4543 silly addNameRange { name: 'iconv-lite',
4543 silly addNameRange range: '>=0.2.11-0 <0.3.0-0',
4543 silly addNameRange hasData: false }
4544 silly addNameRange { name: 'underscore.string',
4544 silly addNameRange range: '>=2.2.1-0 <2.3.0-0',
4544 silly addNameRange hasData: false }
4545 info preinstall sntp@0.2.4
4546 silly addNameRange { name: 'exit', range: '>=0.1.1-0 <0.2.0-0', hasData: false }
4547 silly addNameRange { name: 'getobject',
4547 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
4547 silly addNameRange hasData: false }
4548 silly addNameRange { name: 'grunt-legacy-util',
4548 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
4548 silly addNameRange hasData: false }
4549 silly addNameRange { name: 'grunt-legacy-log',
4549 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
4549 silly addNameRange hasData: false }
4550 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
4551 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
4552 verbose readDependencies using package.json deps
4553 silly lockFile f2380b4d-colors-0-6-2 colors@~0.6.2
4554 silly lockFile f2380b4d-colors-0-6-2 colors@~0.6.2
4555 verbose readDependencies using package.json deps
4556 silly resolved []
4557 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/sntp
4558 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/sntp
4559 verbose linkStuff [ false,
4559 verbose linkStuff false,
4559 verbose linkStuff false,
4559 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules' ]
4560 info linkStuff sntp@0.2.4
4561 verbose linkBins sntp@0.2.4
4562 verbose linkMans sntp@0.2.4
4563 verbose rebuildBundles sntp@0.2.4
4564 verbose registry.get glob not expired, no request
4565 silly addNameRange number 2 { name: 'glob', range: '>=3.1.21-0 <3.2.0-0', hasData: true }
4566 silly addNameRange versions [ 'glob',
4566 silly addNameRange [ '1.1.0',
4566 silly addNameRange '2.0.9',
4566 silly addNameRange '2.0.8',
4566 silly addNameRange '2.0.7',
4566 silly addNameRange '2.1.0',
4566 silly addNameRange '3.0.0',
4566 silly addNameRange '3.0.1',
4566 silly addNameRange '3.1.0',
4566 silly addNameRange '3.1.1',
4566 silly addNameRange '3.1.2',
4566 silly addNameRange '3.1.3',
4566 silly addNameRange '3.1.4',
4566 silly addNameRange '3.1.5',
4566 silly addNameRange '3.1.6',
4566 silly addNameRange '3.1.7',
4566 silly addNameRange '3.1.9',
4566 silly addNameRange '3.1.10',
4566 silly addNameRange '3.1.11',
4566 silly addNameRange '3.1.12',
4566 silly addNameRange '3.1.13',
4566 silly addNameRange '3.1.14',
4566 silly addNameRange '3.1.15',
4566 silly addNameRange '3.1.16',
4566 silly addNameRange '3.1.17',
4566 silly addNameRange '3.1.18',
4566 silly addNameRange '3.1.19',
4566 silly addNameRange '3.1.20',
4566 silly addNameRange '3.1.21',
4566 silly addNameRange '3.2.0',
4566 silly addNameRange '3.2.1',
4566 silly addNameRange '3.2.3',
4566 silly addNameRange '3.2.4',
4566 silly addNameRange '3.2.5',
4566 silly addNameRange '3.2.6',
4566 silly addNameRange '3.2.7',
4566 silly addNameRange '3.2.8',
4566 silly addNameRange '3.2.9',
4566 silly addNameRange '3.2.10',
4566 silly addNameRange '3.2.11',
4566 silly addNameRange '4.0.0',
4566 silly addNameRange '4.0.1',
4566 silly addNameRange '4.0.2',
4566 silly addNameRange '4.0.3',
4566 silly addNameRange '4.0.4',
4566 silly addNameRange '4.0.5' ] ]
4567 verbose addNamed [ 'glob', '3.1.21' ]
4568 verbose addNamed [ '3.1.21', '3.1.21' ]
4569 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
4570 verbose lock glob@3.1.21 /Volumes/Storage/martincleaver/.npm/ab465912-glob-3-1-21.lock
4571 verbose registry.get minimatch not expired, no request
4572 silly addNameRange number 2 { name: 'minimatch',
4572 silly addNameRange range: '>=0.2.12-0 <0.3.0-0',
4572 silly addNameRange hasData: true }
4573 silly addNameRange versions [ 'minimatch',
4573 silly addNameRange [ '0.0.1',
4573 silly addNameRange '0.0.2',
4573 silly addNameRange '0.0.4',
4573 silly addNameRange '0.0.5',
4573 silly addNameRange '0.1.1',
4573 silly addNameRange '0.1.2',
4573 silly addNameRange '0.1.3',
4573 silly addNameRange '0.1.4',
4573 silly addNameRange '0.1.5',
4573 silly addNameRange '0.2.0',
4573 silly addNameRange '0.2.2',
4573 silly addNameRange '0.2.3',
4573 silly addNameRange '0.2.4',
4573 silly addNameRange '0.2.5',
4573 silly addNameRange '0.2.6',
4573 silly addNameRange '0.2.7',
4573 silly addNameRange '0.2.8',
4573 silly addNameRange '0.2.9',
4573 silly addNameRange '0.2.10',
4573 silly addNameRange '0.2.11',
4573 silly addNameRange '0.2.12',
4573 silly addNameRange '0.2.13',
4573 silly addNameRange '0.2.14',
4573 silly addNameRange '0.3.0',
4573 silly addNameRange '0.4.0',
4573 silly addNameRange '1.0.0' ] ]
4574 verbose addNamed [ 'minimatch', '0.2.14' ]
4575 verbose addNamed [ '0.2.14', '0.2.14' ]
4576 silly lockFile a72880d0-minimatch-0-2-14 minimatch@0.2.14
4577 verbose lock minimatch@0.2.14 /Volumes/Storage/martincleaver/.npm/a72880d0-minimatch-0-2-14.lock
4578 verbose registry.get js-yaml not expired, no request
4579 silly addNameRange number 2 { name: 'js-yaml', range: '>=2.0.5-0 <2.1.0-0', hasData: true }
4580 silly addNameRange versions [ 'js-yaml',
4580 silly addNameRange [ '0.2.0',
4580 silly addNameRange '0.2.1',
4580 silly addNameRange '0.2.2',
4580 silly addNameRange '0.3.0',
4580 silly addNameRange '0.3.1',
4580 silly addNameRange '0.3.2',
4580 silly addNameRange '0.3.3',
4580 silly addNameRange '0.3.4',
4580 silly addNameRange '0.3.5',
4580 silly addNameRange '0.3.6',
4580 silly addNameRange '0.3.7',
4580 silly addNameRange '1.0.0',
4580 silly addNameRange '1.0.1',
4580 silly addNameRange '1.0.2',
4580 silly addNameRange '1.0.3',
4580 silly addNameRange '2.0.0',
4580 silly addNameRange '2.0.1',
4580 silly addNameRange '2.0.2',
4580 silly addNameRange '2.0.3',
4580 silly addNameRange '2.0.4',
4580 silly addNameRange '2.0.5',
4580 silly addNameRange '2.1.0',
4580 silly addNameRange '2.1.1',
4580 silly addNameRange '2.1.2',
4580 silly addNameRange '2.1.3',
4580 silly addNameRange '3.0.0',
4580 silly addNameRange '3.0.1',
4580 silly addNameRange '3.0.2',
4580 silly addNameRange '3.1.0' ] ]
4581 verbose addNamed [ 'js-yaml', '2.0.5' ]
4582 verbose addNamed [ '2.0.5', '2.0.5' ]
4583 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
4584 verbose lock js-yaml@2.0.5 /Volumes/Storage/martincleaver/.npm/0aecb717-js-yaml-2-0-5.lock
4585 verbose registry.get iconv-lite not expired, no request
4586 silly addNameRange number 2 { name: 'iconv-lite',
4586 silly addNameRange range: '>=0.2.11-0 <0.3.0-0',
4586 silly addNameRange hasData: true }
4587 silly addNameRange versions [ 'iconv-lite',
4587 silly addNameRange [ '0.1.0',
4587 silly addNameRange '0.1.1',
4587 silly addNameRange '0.1.2',
4587 silly addNameRange '0.1.3',
4587 silly addNameRange '0.1.4',
4587 silly addNameRange '0.2.0',
4587 silly addNameRange '0.2.1',
4587 silly addNameRange '0.2.3',
4587 silly addNameRange '0.2.4',
4587 silly addNameRange '0.2.5',
4587 silly addNameRange '0.2.6',
4587 silly addNameRange '0.2.7',
4587 silly addNameRange '0.2.8',
4587 silly addNameRange '0.2.9',
4587 silly addNameRange '0.2.10',
4587 silly addNameRange '0.2.11',
4587 silly addNameRange '0.4.0-pre',
4587 silly addNameRange '0.4.0-pre2',
4587 silly addNameRange '0.4.0-pre3',
4587 silly addNameRange '0.4.0',
4587 silly addNameRange '0.4.1',
4587 silly addNameRange '0.4.2',
4587 silly addNameRange '0.4.3',
4587 silly addNameRange '0.4.4' ] ]
4588 verbose addNamed [ 'iconv-lite', '0.2.11' ]
4589 verbose addNamed [ '0.2.11', '0.2.11' ]
4590 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
4591 verbose lock iconv-lite@0.2.11 /Volumes/Storage/martincleaver/.npm/5d877021-iconv-lite-0-2-11.lock
4592 verbose registry.get underscore.string not expired, no request
4593 silly addNameRange number 2 { name: 'underscore.string',
4593 silly addNameRange range: '>=2.2.1-0 <2.3.0-0',
4593 silly addNameRange hasData: true }
4594 silly addNameRange versions [ 'underscore.string',
4594 silly addNameRange [ '0.9.2',
4594 silly addNameRange '1.0.0',
4594 silly addNameRange '1.1.3',
4594 silly addNameRange '1.1.4',
4594 silly addNameRange '1.1.5',
4594 silly addNameRange '1.1.6',
4594 silly addNameRange '2.0.0',
4594 silly addNameRange '2.1.0',
4594 silly addNameRange '2.1.1',
4594 silly addNameRange '2.3.0',
4594 silly addNameRange '2.3.1',
4594 silly addNameRange '2.3.2',
4594 silly addNameRange '2.2.1',
4594 silly addNameRange '2.2.0-rc',
4594 silly addNameRange '2.3.3' ] ]
4595 verbose addNamed [ 'underscore.string', '2.2.1' ]
4596 verbose addNamed [ '2.2.1', '2.2.1' ]
4597 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
4598 verbose lock underscore.string@2.2.1 /Volumes/Storage/martincleaver/.npm/5c083954-underscore-string-2-2-1.lock
4599 info install sntp@0.2.4
4600 verbose registry.get exit not expired, no request
4601 silly addNameRange number 2 { name: 'exit', range: '>=0.1.1-0 <0.2.0-0', hasData: true }
4602 silly addNameRange versions [ 'exit', [ '0.1.0', '0.1.1', '0.1.2' ] ]
4603 verbose addNamed [ 'exit', '0.1.2' ]
4604 verbose addNamed [ '0.1.2', '0.1.2' ]
4605 silly lockFile 7dd65db3-exit-0-1-2 exit@0.1.2
4606 verbose lock exit@0.1.2 /Volumes/Storage/martincleaver/.npm/7dd65db3-exit-0-1-2.lock
4607 verbose registry.get getobject not expired, no request
4608 silly addNameRange number 2 { name: 'getobject', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
4609 silly addNameRange versions [ 'getobject', [ '0.1.0' ] ]
4610 verbose addNamed [ 'getobject', '0.1.0' ]
4611 verbose addNamed [ '0.1.0', '0.1.0' ]
4612 silly lockFile c44ec3ff-getobject-0-1-0 getobject@0.1.0
4613 verbose lock getobject@0.1.0 /Volumes/Storage/martincleaver/.npm/c44ec3ff-getobject-0-1-0.lock
4614 verbose registry.get grunt-legacy-util not expired, no request
4615 silly addNameRange number 2 { name: 'grunt-legacy-util',
4615 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
4615 silly addNameRange hasData: true }
4616 silly addNameRange versions [ 'grunt-legacy-util', [ '0.1.0', '0.1.1', '0.1.2', '0.2.0' ] ]
4617 verbose addNamed [ 'grunt-legacy-util', '0.2.0' ]
4618 verbose addNamed [ '0.2.0', '0.2.0' ]
4619 silly lockFile 750f4d60-grunt-legacy-util-0-2-0 grunt-legacy-util@0.2.0
4620 verbose lock grunt-legacy-util@0.2.0 /Volumes/Storage/martincleaver/.npm/750f4d60-grunt-legacy-util-0-2-0.lock
4621 verbose registry.get grunt-legacy-log not expired, no request
4622 silly addNameRange number 2 { name: 'grunt-legacy-log',
4622 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
4622 silly addNameRange hasData: true }
4623 silly addNameRange versions [ 'grunt-legacy-log', [ '0.1.0', '0.1.1' ] ]
4624 verbose addNamed [ 'grunt-legacy-log', '0.1.1' ]
4625 verbose addNamed [ '0.1.1', '0.1.1' ]
4626 silly lockFile c92e6d04-grunt-legacy-log-0-1-1 grunt-legacy-log@0.1.1
4627 verbose lock grunt-legacy-log@0.1.1 /Volumes/Storage/martincleaver/.npm/c92e6d04-grunt-legacy-log-0-1-1.lock
4628 info postinstall sntp@0.2.4
4629 silly lockFile eeff59a2-eventemitter2-0-4-14 eventemitter2@0.4.14
4630 silly lockFile eeff59a2-eventemitter2-0-4-14 eventemitter2@0.4.14
4631 silly lockFile adbd1d63-eventemitter2-0-4-13 eventemitter2@~0.4.13
4632 silly lockFile adbd1d63-eventemitter2-0-4-13 eventemitter2@~0.4.13
4633 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
4634 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
4635 silly lockFile a72880d0-minimatch-0-2-14 minimatch@0.2.14
4636 silly lockFile a72880d0-minimatch-0-2-14 minimatch@0.2.14
4637 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
4638 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
4639 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
4640 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
4641 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
4642 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
4643 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
4644 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
4645 silly lockFile 7dd65db3-exit-0-1-2 exit@0.1.2
4646 silly lockFile 7dd65db3-exit-0-1-2 exit@0.1.2
4647 silly lockFile 89ce5cca-minimatch-0-2-12 minimatch@~0.2.12
4648 silly lockFile 89ce5cca-minimatch-0-2-12 minimatch@~0.2.12
4649 silly lockFile c44ec3ff-getobject-0-1-0 getobject@0.1.0
4650 silly lockFile c44ec3ff-getobject-0-1-0 getobject@0.1.0
4651 silly lockFile f87c51d5-js-yaml-2-0-5 js-yaml@~2.0.5
4652 silly lockFile f87c51d5-js-yaml-2-0-5 js-yaml@~2.0.5
4653 silly lockFile 750f4d60-grunt-legacy-util-0-2-0 grunt-legacy-util@0.2.0
4654 silly lockFile 750f4d60-grunt-legacy-util-0-2-0 grunt-legacy-util@0.2.0
4655 silly lockFile 92090105-iconv-lite-0-2-11 iconv-lite@~0.2.11
4656 silly lockFile 92090105-iconv-lite-0-2-11 iconv-lite@~0.2.11
4657 silly lockFile 57acec0b-underscore-string-2-2-1 underscore.string@~2.2.1
4658 silly lockFile 57acec0b-underscore-string-2-2-1 underscore.string@~2.2.1
4659 silly lockFile c92e6d04-grunt-legacy-log-0-1-1 grunt-legacy-log@0.1.1
4660 silly lockFile c92e6d04-grunt-legacy-log-0-1-1 grunt-legacy-log@0.1.1
4661 silly lockFile 36e7f3d8-exit-0-1-1 exit@~0.1.1
4662 silly lockFile 36e7f3d8-exit-0-1-1 exit@~0.1.1
4663 silly lockFile 6f3e7f10-getobject-0-1-0 getobject@~0.1.0
4664 silly lockFile 6f3e7f10-getobject-0-1-0 getobject@~0.1.0
4665 silly lockFile d7c85858-grunt-legacy-util-0-2-0 grunt-legacy-util@~0.2.0
4666 silly lockFile d7c85858-grunt-legacy-util-0-2-0 grunt-legacy-util@~0.2.0
4667 silly lockFile 8e73aff5-grunt-legacy-log-0-1-0 grunt-legacy-log@~0.1.0
4668 silly lockFile 8e73aff5-grunt-legacy-log-0-1-0 grunt-legacy-log@~0.1.0
4669 silly lockFile 72c037f6-e-modules-hawk-node-modules-boom tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/boom
4670 silly lockFile 72c037f6-e-modules-hawk-node-modules-boom tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/boom
4671 silly lockFile 44887eb8-eaver-npm-boom-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/boom/0.4.2/package.tgz
4672 silly lockFile 44887eb8-eaver-npm-boom-0-4-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/boom/0.4.2/package.tgz
4673 info preinstall boom@0.4.2
4674 verbose readDependencies using package.json deps
4675 verbose readDependencies using package.json deps
4676 silly resolved []
4677 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/boom
4678 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/boom
4679 verbose linkStuff [ false,
4679 verbose linkStuff false,
4679 verbose linkStuff false,
4679 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules' ]
4680 info linkStuff boom@0.4.2
4681 verbose linkBins boom@0.4.2
4682 verbose linkMans boom@0.4.2
4683 verbose rebuildBundles boom@0.4.2
4684 info install boom@0.4.2
4685 info postinstall boom@0.4.2
4686 silly lockFile 8e4f1741-915236-0-921419377438724-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/package
4687 silly lockFile 8e4f1741-915236-0-921419377438724-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/package
4688 silly lockFile 1679c0f4-915236-0-921419377438724-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/tmp.tgz
4689 silly lockFile 1679c0f4-915236-0-921419377438724-tmp-tgz tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/tmp.tgz
4690 verbose tar pack [ '/Volumes/Storage/martincleaver/.npm/ctype/0.5.2/package.tgz',
4690 verbose tar pack '/var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/package' ]
4691 verbose tarball /Volumes/Storage/martincleaver/.npm/ctype/0.5.2/package.tgz
4692 verbose folder /var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/package
4693 silly lockFile 8e4f1741-915236-0-921419377438724-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/package
4694 verbose lock tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/package /Volumes/Storage/martincleaver/.npm/8e4f1741-915236-0-921419377438724-package.lock
4695 silly lockFile 53ab9269-aver-npm-ctype-0-5-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ctype/0.5.2/package.tgz
4696 verbose lock tar:///Volumes/Storage/martincleaver/.npm/ctype/0.5.2/package.tgz /Volumes/Storage/martincleaver/.npm/53ab9269-aver-npm-ctype-0-5-2-package-tgz.lock
4697 silly addNameRange { name: 'coffee-script',
4697 silly addNameRange range: '>=1.3.3-0 <1.4.0-0',
4697 silly addNameRange hasData: false }
4698 verbose registry.get coffee-script not expired, no request
4699 silly addNameRange number 2 { name: 'coffee-script',
4699 silly addNameRange range: '>=1.3.3-0 <1.4.0-0',
4699 silly addNameRange hasData: true }
4700 silly addNameRange versions [ 'coffee-script',
4700 silly addNameRange [ '0.7.0',
4700 silly addNameRange '0.7.1',
4700 silly addNameRange '0.7.2',
4700 silly addNameRange '0.9.0',
4700 silly addNameRange '0.9.1',
4700 silly addNameRange '0.9.2',
4700 silly addNameRange '0.9.3',
4700 silly addNameRange '0.9.4',
4700 silly addNameRange '0.9.5',
4700 silly addNameRange '0.9.6',
4700 silly addNameRange '1.0.0',
4700 silly addNameRange '1.0.1',
4700 silly addNameRange '1.1.0',
4700 silly addNameRange '1.1.1',
4700 silly addNameRange '1.1.2',
4700 silly addNameRange '1.1.3',
4700 silly addNameRange '1.2.0',
4700 silly addNameRange '1.3.0',
4700 silly addNameRange '1.3.1',
4700 silly addNameRange '1.3.2',
4700 silly addNameRange '1.3.3',
4700 silly addNameRange '1.4.0',
4700 silly addNameRange '1.5.0',
4700 silly addNameRange '1.6.0',
4700 silly addNameRange '1.6.1',
4700 silly addNameRange '1.6.2',
4700 silly addNameRange '1.6.3',
4700 silly addNameRange '1.7.0',
4700 silly addNameRange '1.7.1' ] ]
4701 verbose addNamed [ 'coffee-script', '1.3.3' ]
4702 verbose addNamed [ '1.3.3', '1.3.3' ]
4703 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
4704 verbose lock coffee-script@1.3.3 /Volumes/Storage/martincleaver/.npm/022c8436-coffee-script-1-3-3.lock
4705 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
4706 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
4707 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
4708 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
4709 silly lockFile 99cec9cd-e-modules-hawk-node-modules-hoek tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/hoek
4710 silly lockFile 99cec9cd-e-modules-hawk-node-modules-hoek tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/hoek
4711 silly lockFile 295547e5-eaver-npm-hoek-0-9-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/hoek/0.9.1/package.tgz
4712 silly lockFile 295547e5-eaver-npm-hoek-0-9-1-package-tgz tar:///Volumes/Storage/martincleaver/.npm/hoek/0.9.1/package.tgz
4713 info preinstall hoek@0.9.1
4714 verbose readDependencies using package.json deps
4715 verbose readDependencies using package.json deps
4716 silly resolved []
4717 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/hoek
4718 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules/hoek
4719 verbose linkStuff [ false,
4719 verbose linkStuff false,
4719 verbose linkStuff false,
4719 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk/node_modules' ]
4720 info linkStuff hoek@0.9.1
4721 verbose linkBins hoek@0.9.1
4722 verbose linkMans hoek@0.9.1
4723 verbose rebuildBundles hoek@0.9.1
4724 info install hoek@0.9.1
4725 info postinstall hoek@0.9.1
4726 verbose about to build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk
4727 info build /Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules/hawk
4728 verbose linkStuff [ false,
4728 verbose linkStuff false,
4728 verbose linkStuff false,
4728 verbose linkStuff '/Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/node_modules/request/node_modules' ]
4729 info linkStuff hawk@1.0.0
4730 verbose linkBins hawk@1.0.0
4731 verbose linkMans hawk@1.0.0
4732 verbose rebuildBundles hawk@1.0.0
4733 verbose rebuildBundles [ 'boom', 'cryptiles', 'hoek', 'sntp' ]
4734 info install hawk@1.0.0
4735 info postinstall hawk@1.0.0
4736 silly lockFile 1c686bf5-opment-Yeoman-node-modules-karma tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma
4737 silly lockFile 1c686bf5-opment-Yeoman-node-modules-karma tar:///Volumes/Storage/martincleaver/SoftwareDevelopment/Yeoman/node_modules/karma
4738 silly lockFile 11feaccf-er-npm-karma-0-12-21-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
4739 silly lockFile 11feaccf-er-npm-karma-0-12-21-package-tgz tar:///Volumes/Storage/martincleaver/.npm/karma/0.12.21/package.tgz
4740 info preinstall karma@0.12.21
4741 verbose readDependencies using package.json deps
4742 verbose readDependencies using package.json deps
4743 verbose cache add [ 'chokidar@>=0.8.2', null ]
4744 verbose cache add name=undefined spec="chokidar@>=0.8.2" args=["chokidar@>=0.8.2",null]
4745 verbose parsed url { protocol: null,
4745 verbose parsed url slashes: null,
4745 verbose parsed url auth: null,
4745 verbose parsed url host: null,
4745 verbose parsed url port: null,
4745 verbose parsed url hostname: null,
4745 verbose parsed url hash: null,
4745 verbose parsed url search: null,
4745 verbose parsed url query: null,
4745 verbose parsed url pathname: 'chokidar@%3E=0.8.2',
4745 verbose parsed url path: 'chokidar@%3E=0.8.2',
4745 verbose parsed url href: 'chokidar@%3E=0.8.2' }
4746 verbose cache add name="chokidar" spec=">=0.8.2" args=["chokidar",">=0.8.2"]
4747 verbose parsed url { protocol: null,
4747 verbose parsed url slashes: null,
4747 verbose parsed url auth: null,
4747 verbose parsed url host: null,
4747 verbose parsed url port: null,
4747 verbose parsed url hostname: null,
4747 verbose parsed url hash: null,
4747 verbose parsed url search: null,
4747 verbose parsed url query: null,
4747 verbose parsed url pathname: '%3E=0.8.2',
4747 verbose parsed url path: '%3E=0.8.2',
4747 verbose parsed url href: '%3E=0.8.2' }
4748 verbose addNamed [ 'chokidar', '>=0.8.2' ]
4749 verbose addNamed [ null, '>=0.8.2' ]
4750 silly lockFile af541286-chokidar-0-8-2 chokidar@>=0.8.2
4751 verbose lock chokidar@>=0.8.2 /Volumes/Storage/martincleaver/.npm/af541286-chokidar-0-8-2.lock
4752 verbose cache add [ 'di@~0.0.1', null ]
4753 verbose cache add name=undefined spec="di@~0.0.1" args=["di@~0.0.1",null]
4754 verbose parsed url { protocol: null,
4754 verbose parsed url slashes: null,
4754 verbose parsed url auth: null,
4754 verbose parsed url host: null,
4754 verbose parsed url port: null,
4754 verbose parsed url hostname: null,
4754 verbose parsed url hash: null,
4754 verbose parsed url search: null,
4754 verbose parsed url query: null,
4754 verbose parsed url pathname: 'di@~0.0.1',
4754 verbose parsed url path: 'di@~0.0.1',
4754 verbose parsed url href: 'di@~0.0.1' }
4755 verbose cache add name="di" spec="~0.0.1" args=["di","~0.0.1"]
4756 verbose parsed url { protocol: null,
4756 verbose parsed url slashes: null,
4756 verbose parsed url auth: null,
4756 verbose parsed url host: null,
4756 verbose parsed url port: null,
4756 verbose parsed url hostname: null,
4756 verbose parsed url hash: null,
4756 verbose parsed url search: null,
4756 verbose parsed url query: null,
4756 verbose parsed url pathname: '~0.0.1',
4756 verbose parsed url path: '~0.0.1',
4756 verbose parsed url href: '~0.0.1' }
4757 verbose addNamed [ 'di', '~0.0.1' ]
4758 verbose addNamed [ null, '>=0.0.1-0 <0.1.0-0' ]
4759 silly lockFile 8333ef40-di-0-0-1 di@~0.0.1
4760 verbose lock di@~0.0.1 /Volumes/Storage/martincleaver/.npm/8333ef40-di-0-0-1.lock
4761 verbose cache add [ 'socket.io@~0.9.13', null ]
4762 verbose cache add name=undefined spec="socket.io@~0.9.13" args=["socket.io@~0.9.13",null]
4763 verbose parsed url { protocol: null,
4763 verbose parsed url slashes: null,
4763 verbose parsed url auth: null,
4763 verbose parsed url host: null,
4763 verbose parsed url port: null,
4763 verbose parsed url hostname: null,
4763 verbose parsed url hash: null,
4763 verbose parsed url search: null,
4763 verbose parsed url query: null,
4763 verbose parsed url pathname: 'socket.io@~0.9.13',
4763 verbose parsed url path: 'socket.io@~0.9.13',
4763 verbose parsed url href: 'socket.io@~0.9.13' }
4764 verbose cache add name="socket.io" spec="~0.9.13" args=["socket.io","~0.9.13"]
4765 verbose parsed url { protocol: null,
4765 verbose parsed url slashes: null,
4765 verbose parsed url auth: null,
4765 verbose parsed url host: null,
4765 verbose parsed url port: null,
4765 verbose parsed url hostname: null,
4765 verbose parsed url hash: null,
4765 verbose parsed url search: null,
4765 verbose parsed url query: null,
4765 verbose parsed url pathname: '~0.9.13',
4765 verbose parsed url path: '~0.9.13',
4765 verbose parsed url href: '~0.9.13' }
4766 verbose addNamed [ 'socket.io', '~0.9.13' ]
4767 verbose addNamed [ null, '>=0.9.13-0 <0.10.0-0' ]
4768 silly lockFile 729f5b40-socket-io-0-9-13 socket.io@~0.9.13
4769 verbose lock socket.io@~0.9.13 /Volumes/Storage/martincleaver/.npm/729f5b40-socket-io-0-9-13.lock
4770 verbose cache add [ 'glob@~3.2.7', null ]
4771 verbose cache add name=undefined spec="glob@~3.2.7" args=["glob@~3.2.7",null]
4772 verbose parsed url { protocol: null,
4772 verbose parsed url slashes: null,
4772 verbose parsed url auth: null,
4772 verbose parsed url host: null,
4772 verbose parsed url port: null,
4772 verbose parsed url hostname: null,
4772 verbose parsed url hash: null,
4772 verbose parsed url search: null,
4772 verbose parsed url query: null,
4772 verbose parsed url pathname: 'glob@~3.2.7',
4772 verbose parsed url path: 'glob@~3.2.7',
4772 verbose parsed url href: 'glob@~3.2.7' }
4773 verbose cache add name="glob" spec="~3.2.7" args=["glob","~3.2.7"]
4774 verbose parsed url { protocol: null,
4774 verbose parsed url slashes: null,
4774 verbose parsed url auth: null,
4774 verbose parsed url host: null,
4774 verbose parsed url port: null,
4774 verbose parsed url hostname: null,
4774 verbose parsed url hash: null,
4774 verbose parsed url search: null,
4774 verbose parsed url query: null,
4774 verbose parsed url pathname: '~3.2.7',
4774 verbose parsed url path: '~3.2.7',
4774 verbose parsed url href: '~3.2.7' }
4775 verbose addNamed [ 'glob', '~3.2.7' ]
4776 verbose addNamed [ null, '>=3.2.7-0 <3.3.0-0' ]
4777 silly lockFile 5ec7cbd7-glob-3-2-7 glob@~3.2.7
4778 verbose lock glob@~3.2.7 /Volumes/Storage/martincleaver/.npm/5ec7cbd7-glob-3-2-7.lock
4779 verbose cache add [ 'minimatch@~0.2', null ]
4780 verbose cache add name=undefined spec="minimatch@~0.2" args=["minimatch@~0.2",null]
4781 verbose parsed url { protocol: null,
4781 verbose parsed url slashes: null,
4781 verbose parsed url auth: null,
4781 verbose parsed url host: null,
4781 verbose parsed url port: null,
4781 verbose parsed url hostname: null,
4781 verbose parsed url hash: null,
4781 verbose parsed url search: null,
4781 verbose parsed url query: null,
4781 verbose parsed url pathname: 'minimatch@~0.2',
4781 verbose parsed url path: 'minimatch@~0.2',
4781 verbose parsed url href: 'minimatch@~0.2' }
4782 verbose cache add name="minimatch" spec="~0.2" args=["minimatch","~0.2"]
4783 verbose parsed url { protocol: null,
4783 verbose parsed url slashes: null,
4783 verbose parsed url auth: null,
4783 verbose parsed url host: null,
4783 verbose parsed url port: null,
4783 verbose parsed url hostname: null,
4783 verbose parsed url hash: null,
4783 verbose parsed url search: null,
4783 verbose parsed url query: null,
4783 verbose parsed url pathname: '~0.2',
4783 verbose parsed url path: '~0.2',
4783 verbose parsed url href: '~0.2' }
4784 verbose addNamed [ 'minimatch', '~0.2' ]
4785 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
4786 silly lockFile fe0ddac6-minimatch-0-2 minimatch@~0.2
4787 verbose lock minimatch@~0.2 /Volumes/Storage/martincleaver/.npm/fe0ddac6-minimatch-0-2.lock
4788 silly addNameRange { name: 'chokidar', range: '>=0.8.2', hasData: false }
4789 silly addNameRange { name: 'di', range: '>=0.0.1-0 <0.1.0-0', hasData: false }
4790 verbose cache add [ 'http-proxy@~0.10', null ]
4791 verbose cache add name=undefined spec="http-proxy@~0.10" args=["http-proxy@~0.10",null]
4792 verbose parsed url { protocol: null,
4792 verbose parsed url slashes: null,
4792 verbose parsed url auth: null,
4792 verbose parsed url host: null,
4792 verbose parsed url port: null,
4792 verbose parsed url hostname: null,
4792 verbose parsed url hash: null,
4792 verbose parsed url search: null,
4792 verbose parsed url query: null,
4792 verbose parsed url pathname: 'http-proxy@~0.10',
4792 verbose parsed url path: 'http-proxy@~0.10',
4792 verbose parsed url href: 'http-proxy@~0.10' }
4793 verbose cache add name="http-proxy" spec="~0.10" args=["http-proxy","~0.10"]
4794 verbose parsed url { protocol: null,
4794 verbose parsed url slashes: null,
4794 verbose parsed url auth: null,
4794 verbose parsed url host: null,
4794 verbose parsed url port: null,
4794 verbose parsed url hostname: null,
4794 verbose parsed url hash: null,
4794 verbose parsed url search: null,
4794 verbose parsed url query: null,
4794 verbose parsed url pathname: '~0.10',
4794 verbose parsed url path: '~0.10',
4794 verbose parsed url href: '~0.10' }
4795 verbose addNamed [ 'http-proxy', '~0.10' ]
4796 verbose addNamed [ null, '>=0.10.0-0 <0.11.0-0' ]
4797 silly lockFile 6486d2d0-http-proxy-0-10 http-proxy@~0.10
4798 verbose lock http-proxy@~0.10 /Volumes/Storage/martincleaver/.npm/6486d2d0-http-proxy-0-10.lock
4799 verbose cache add [ 'optimist@~0.6.0', null ]
4800 verbose cache add name=undefined spec="optimist@~0.6.0" args=["optimist@~0.6.0",null]
4801 verbose parsed url { protocol: null,
4801 verbose parsed url slashes: null,
4801 verbose parsed url auth: null,
4801 verbose parsed url host: null,
4801 verbose parsed url port: null,
4801 verbose parsed url hostname: null,
4801 verbose parsed url hash: null,
4801 verbose parsed url search: null,
4801 verbose parsed url query: null,
4801 verbose parsed url pathname: 'optimist@~0.6.0',
4801 verbose parsed url path: 'optimist@~0.6.0',
4801 verbose parsed url href: 'optimist@~0.6.0' }
4802 verbose cache add name="optimist" spec="~0.6.0" args=["optimist","~0.6.0"]
4803 verbose parsed url { protocol: null,
4803 verbose parsed url slashes: null,
4803 verbose parsed url auth: null,
4803 verbose parsed url host: null,
4803 verbose parsed url port: null,
4803 verbose parsed url hostname: null,
4803 verbose parsed url hash: null,
4803 verbose parsed url search: null,
4803 verbose parsed url query: null,
4803 verbose parsed url pathname: '~0.6.0',
4803 verbose parsed url path: '~0.6.0',
4803 verbose parsed url href: '~0.6.0' }
4804 verbose addNamed [ 'optimist', '~0.6.0' ]
4805 verbose addNamed [ null, '>=0.6.0-0 <0.7.0-0' ]
4806 silly lockFile 07193858-optimist-0-6-0 optimist@~0.6.0
4807 verbose lock optimist@~0.6.0 /Volumes/Storage/martincleaver/.npm/07193858-optimist-0-6-0.lock
4808 verbose cache add [ 'rimraf@~2.2.5', null ]
4809 verbose cache add name=undefined spec="rimraf@~2.2.5" args=["rimraf@~2.2.5",null]
4810 verbose parsed url { protocol: null,
4810 verbose parsed url slashes: null,
4810 verbose parsed url auth: null,
4810 verbose parsed url host: null,
4810 verbose parsed url port: null,
4810 verbose parsed url hostname: null,
4810 verbose parsed url hash: null,
4810 verbose parsed url search: null,
4810 verbose parsed url query: null,
4810 verbose parsed url pathname: 'rimraf@~2.2.5',
4810 verbose parsed url path: 'rimraf@~2.2.5',
4810 verbose parsed url href: 'rimraf@~2.2.5' }
4811 verbose cache add name="rimraf" spec="~2.2.5" args=["rimraf","~2.2.5"]
4812 verbose parsed url { protocol: null,
4812 verbose parsed url slashes: null,
4812 verbose parsed url auth: null,
4812 verbose parsed url host: null,
4812 verbose parsed url port: null,
4812 verbose parsed url hostname: null,
4812 verbose parsed url hash: null,
4812 verbose parsed url search: null,
4812 verbose parsed url query: null,
4812 verbose parsed url pathname: '~2.2.5',
4812 verbose parsed url path: '~2.2.5',
4812 verbose parsed url href: '~2.2.5' }
4813 verbose addNamed [ 'rimraf', '~2.2.5' ]
4814 verbose addNamed [ null, '>=2.2.5-0 <2.3.0-0' ]
4815 silly lockFile 8991dbdc-rimraf-2-2-5 rimraf@~2.2.5
4816 verbose lock rimraf@~2.2.5 /Volumes/Storage/martincleaver/.npm/8991dbdc-rimraf-2-2-5.lock
4817 silly lockFile 8e4f1741-915236-0-921419377438724-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/package
4818 silly lockFile 8e4f1741-915236-0-921419377438724-package tar:///var/folders/sn/z7374bjd6tg98d_b717fk91w0000gn/T/npm-15256-M3sv68bM/1407886915236-0.921419377438724/package
4819 verbose url raw chokidar
4820 verbose url resolving [ 'https://registry.npmjs.org/', './chokidar' ]
4821 verbose url resolved https://registry.npmjs.org/chokidar
4822 info trying registry request attempt 1 at 19:41:57
4823 http GET https://registry.npmjs.org/chokidar
4824 silly addNameRange { name: 'socket.io',
4824 silly addNameRange range: '>=0.9.13-0 <0.10.0-0',
4824 silly addNameRange hasData: false }
4825 verbose url raw di
4826 verbose url resolving [ 'https://registry.npmjs.org/', './di' ]
4827 verbose url resolved https://registry.npmjs.org/di
4828 info trying registry request attempt 1 at 19:41:57
4829 http GET https://registry.npmjs.org/di
4830 silly addNameRange { name: 'glob', range: '>=3.2.7-0 <3.3.0-0', hasData: false }
4831 verbose cache add [ 'q@~0.9.7', null ]
4832 verbose cache add name=undefined spec="q@~0.9.7" args=["q@~0.9.7",null]
4833 verbose parsed url { protocol: null,
4833 verbose parsed url slashes: null,
4833 verbose parsed url auth: null,
4833 verbose parsed url host: null,
4833 verbose parsed url port: null,
4833 verbose parsed url hostname: null,
4833 verbose parsed url hash: null,
4833 verbose parsed url search: null,
4833 verbose parsed url query: null,
4833 verbose parsed url pathname: 'q@~0.9.7',
4833 verbose parsed url path: 'q@~0.9.7',
4833 verbose parsed url href: 'q@~0.9.7' }
4834 verbose cache add name="q" spec="~0.9.7" args=["q","~0.9.7"]
4835 verbose parsed url { protocol: null,
4835 verbose parsed url slashes: null,
4835 verbose parsed url auth: null,
4835 verbose parsed url host: null,
4835 verbose parsed url port: null,
4835 verbose parsed url hostname: null,
4835 verbose parsed url hash: null,
4835 verbose parsed url search: null,
4835 verbose parsed url query: null,
4835 verbose parsed url pathname: '~0.9.7',
4835 verbose parsed url path: '~0.9.7',
4835 verbose parsed url href: '~0.9.7' }
4836 verbose addNamed [ 'q', '~0.9.7' ]
4837 verbose addNamed [ null, '>=0.9.7-0 <0.10.0-0' ]
4838 silly lockFile 9ea2316a-q-0-9-7 q@~0.9.7
4839 verbose lock q@~0.9.7 /Volumes/Storage/martincleaver/.npm/9ea2316a-q-0-9-7.lock
4840 verbose cache add [ 'colors@~0.6.2', null ]
4841 verbose cache add name=undefined spec="colors@~0.6.2" args=["colors@~0.6.2",null]
4842 verbose parsed url { protocol: null,
4842 verbose parsed url slashes: null,
4842 verbose parsed url auth: null,
4842 verbose parsed url host: null,
4842 verbose parsed url port: null,
4842 verbose parsed url hostname: null,
4842 verbose parsed url hash: null,
4842 verbose parsed url search: null,
4842 verbose parsed url query: null,
4842 verbose parsed url pathname: 'colors@~0.6.2',
4842 verbose parsed url path: 'colors@~0.6.2',
4842 verbose parsed url href: 'colors@~0.6.2' }
4843 verbose cache add name="colors" spec="~0.6.2" args=["colors","~0.6.2"]
4844 verbose parsed url { protocol: null,
4844 verbose parsed url slashes: null,
4844 verbose parsed url auth: null,
4844 verbose parsed url host: null,
4844 verbose parsed url port: null,
4844 verbose parsed url hostname: null,
4844 verbose parsed url hash: null,
4844 verbose parsed url search: null,
4844 verbose parsed url query: null,
4844 verbose parsed url pathname: '~0.6.2',
4844 verbose parsed url path: '~0.6.2',
4844 verbose parsed url href: '~0.6.2' }
4845 verbose addNamed [ 'colors', '~0.6.2' ]
4846 verbose addNamed [ null, '>=0.6.2-0 <0.7.0-0' ]
4847 silly lockFile f2380b4d-colors-0-6-2 colors@~0.6.2
4848 verbose lock colors@~0.6.2 /Volumes/Storage/martincleaver/.npm/f2380b4d-colors-0-6-2.lock
4849 verbose cache add [ 'lodash@~2.4.1', null ]
4850 verbose cache add name=undefined spec="lodash@~2.4.1" args=["lodash@~2.4.1",null]
4851 verbose parsed url { protocol: null,
4851 verbose parsed url slashes: null,
4851 verbose parsed url auth: null,
4851 verbose parsed url host: null,
4851 verbose parsed url port: null,
4851 verbose parsed url hostname: null,
4851 verbose parsed url hash: null,
4851 verbose parsed url search: null,
4851 verbose parsed url query: null,
4851 verbose parsed url pathname: 'lodash@~2.4.1',
4851 verbose parsed url path: 'lodash@~2.4.1',
4851 verbose parsed url href: 'lodash@~2.4.1' }
4852 verbose cache add name="lodash" spec="~2.4.1" args=["lodash","~2.4.1"]
4853 verbose parsed url { protocol: null,
4853 verbose parsed url slashes: null,
4853 verbose parsed url auth: null,
4853 verbose parsed url host: null,
4853 verbose parsed url port: null,
4853 verbose parsed url hostname: null,
4853 verbose parsed url hash: null,
4853 verbose parsed url search: null,
4853 verbose parsed url query: null,
4853 verbose parsed url pathname: '~2.4.1',
4853 verbose parsed url path: '~2.4.1',
4853 verbose parsed url href: '~2.4.1' }
4854 verbose addNamed [ 'lodash', '~2.4.1' ]
4855 verbose addNamed [ null, '>=2.4.1-0 <2.5.0-0' ]
4856 silly lockFile 257f9ab3-lodash-2-4-1 lodash@~2.4.1
4857 verbose lock lodash@~2.4.1 /Volumes/Storage/martincleaver/.npm/257f9ab3-lodash-2-4-1.lock
4858 verbose cache add [ 'mime@~1.2.11', null ]
4859 verbose cache add name=undefined spec="mime@~1.2.11" args=["mime@~1.2.11",null]
4860 verbose parsed url { protocol: null,
4860 verbose parsed url slashes: null,
4860 verbose parsed url auth: null,
4860 verbose parsed url host: null,
4860 verbose parsed url port: null,
4860 verbose parsed url hostname: null,
4860 verbose parsed url hash: null,
4860 verbose parsed url search: null,
4860 verbose parsed url query: null,
4860 verbose parsed url pathname: 'mime@~1.2.11',
4860 verbose parsed url path: 'mime@~1.2.11',
4860 verbose parsed url href: 'mime@~1.2.11' }
4861 verbose cache add name="mime" spec="~1.2.11" args=["mime","~1.2.11"]
4862 verbose parsed url { protocol: null,
4862 verbose parsed url slashes: null,
4862 verbose parsed url auth: null,
4862 verbose parsed url host: null,
4862 verbose parsed url port: null,
4862 verbose parsed url hostname: null,
4862 verbose parsed url hash: null,
4862 verbose parsed url search: null,
4862 verbose parsed url query: null,
4862 verbose parsed url pathname: '~1.2.11',
4862 verbose parsed url path: '~1.2.11',
4862 verbose parsed url href: '~1.2.11' }
4863 verbose addNamed [ 'mime', '~1.2.11' ]
4864 verbose addNamed [ null, '>=1.2.11-0 <1.3.0-0' ]
4865 silly lockFile be28297f-mime-1-2-11 mime@~1.2.11
4866 verbose lock mime@~1.2.11 /Volumes/Storage/martincleaver/.npm/be28297f-mime-1-2-11.lock
4867 verbose cache add [ 'log4js@~0.6.3', null ]
4868 verbose cache add name=undefined spec="log4js@~0.6.3" args=["log4js@~0.6.3",null]
4869 verbose parsed url { protocol: null,
4869 verbose parsed url slashes: null,
4869 verbose parsed url auth: null,
4869 verbose parsed url host: null,
4869 verbose parsed url port: null,
4869 verbose parsed url hostname: null,
4869 verbose parsed url hash: null,
4869 verbose parsed url search: null,
4869 verbose parsed url query: null,
4869 verbose parsed url pathname: 'log4js@~0.6.3',
4869 verbose parsed url path: 'log4js@~0.6.3',
4869 verbose parsed url href: 'log4js@~0.6.3' }
4870 verbose cache add name="log4js" spec="~0.6.3" args=["log4js","~0.6.3"]
4871 verbose parsed url { protocol: null,
4871 verbose parsed url slashes: null,
4871 verbose parsed url auth: null,
4871 verbose parsed url host: null,
4871 verbose parsed url port: null,
4871 verbose parsed url hostname: null,
4871 verbose parsed url hash: null,
4871 verbose parsed url search: null,
4871 verbose parsed url query: null,
4871 verbose parsed url pathname: '~0.6.3',
4871 verbose parsed url path: '~0.6.3',
4871 verbose parsed url href: '~0.6.3' }
4872 verbose addNamed [ 'log4js', '~0.6.3' ]
4873 verbose addNamed [ null, '>=0.6.3-0 <0.7.0-0' ]
4874 silly lockFile f3becdd9-log4js-0-6-3 log4js@~0.6.3
4875 verbose lock log4js@~0.6.3 /Volumes/Storage/martincleaver/.npm/f3becdd9-log4js-0-6-3.lock
4876 verbose cache add [ 'useragent@~2.0.4', null ]
4877 verbose cache add name=undefined spec="useragent@~2.0.4" args=["useragent@~2.0.4",null]
4878 verbose parsed url { protocol: null,
4878 verbose parsed url slashes: null,
4878 verbose parsed url auth: null,
4878 verbose parsed url host: null,
4878 verbose parsed url port: null,
4878 verbose parsed url hostname: null,
4878 verbose parsed url hash: null,
4878 verbose parsed url search: null,
4878 verbose parsed url query: null,
4878 verbose parsed url pathname: 'useragent@~2.0.4',
4878 verbose parsed url path: 'useragent@~2.0.4',
4878 verbose parsed url href: 'useragent@~2.0.4' }
4879 verbose cache add name="useragent" spec="~2.0.4" args=["useragent","~2.0.4"]
4880 verbose parsed url { protocol: null,
4880 verbose parsed url slashes: null,
4880 verbose parsed url auth: null,
4880 verbose parsed url host: null,
4880 verbose parsed url port: null,
4880 verbose parsed url hostname: null,
4880 verbose parsed url hash: null,
4880 verbose parsed url search: null,
4880 verbose parsed url query: null,
4880 verbose parsed url pathname: '~2.0.4',
4880 verbose parsed url path: '~2.0.4',
4880 verbose parsed url href: '~2.0.4' }
4881 verbose addNamed [ 'useragent', '~2.0.4' ]
4882 verbose addNamed [ null, '>=2.0.4-0 <2.1.0-0' ]
4883 silly lockFile beb780e8-useragent-2-0-4 useragent@~2.0.4
4884 verbose lock useragent@~2.0.4 /Volumes/Storage/martincleaver/.npm/beb780e8-useragent-2-0-4.lock
4885 verbose cache add [ 'graceful-fs@~2.0.1', null ]
4886 verbose cache add name=undefined spec="graceful-fs@~2.0.1" args=["graceful-fs@~2.0.1",null]
4887 verbose parsed url { protocol: null,
4887 verbose parsed url slashes: null,
4887 verbose parsed url auth: null,
4887 verbose parsed url host: null,
4887 verbose parsed url port: null,
4887 verbose parsed url hostname: null,
4887 verbose parsed url hash: null,
4887 verbose parsed url search: null,
4887 verbose parsed url query: null,
4887 verbose parsed url pathname: 'graceful-fs@~2.0.1',
4887 verbose parsed url path: 'graceful-fs@~2.0.1',
4887 verbose parsed url href: 'graceful-fs@~2.0.1' }
4888 verbose cache add name="graceful-fs" spec="~2.0.1" args=["graceful-fs","~2.0.1"]
4889 verbose parsed url { protocol: null,
4889 verbose parsed url slashes: null,
4889 verbose parsed url auth: null,
4889 verbose parsed url host: null,
4889 verbose parsed url port: null,
4889 verbose parsed url hostname: null,
4889 verbose parsed url hash: null,
4889 verbose parsed url search: null,
4889 verbose parsed url query: null,
4889 verbose parsed url pathname: '~2.0.1',
4889 verbose parsed url path: '~2.0.1',
4889 verbose parsed url href: '~2.0.1' }
4890 verbose addNamed [ 'graceful-fs', '~2.0.1' ]
4891 verbose addNamed [ null, '>=2.0.1-0 <2.1.0-0' ]
4892 silly lockFile 0ef4ef1b-graceful-fs-2-0-1 graceful-fs@~2.0.1
4893 verbose lock graceful-fs@~2.0.1 /Volumes/Storage/martincleaver/.npm/0ef4ef1b-graceful-fs-2-0-1.lock
4894 verbose cache add [ 'connect@~2.12.0', null ]
4895 verbose cache add name=undefined spec="connect@~2.12.0" args=["connect@~2.12.0",null]
4896 verbose parsed url { protocol: null,
4896 verbose parsed url slashes: null,
4896 verbose parsed url auth: null,
4896 verbose parsed url host: null,
4896 verbose parsed url port: null,
4896 verbose parsed url hostname: null,
4896 verbose parsed url hash: null,
4896 verbose parsed url search: null,
4896 verbose parsed url query: null,
4896 verbose parsed url pathname: 'connect@~2.12.0',
4896 verbose parsed url path: 'connect@~2.12.0',
4896 verbose parsed url href: 'connect@~2.12.0' }
4897 verbose cache add name="connect" spec="~2.12.0" args=["connect","~2.12.0"]
4898 verbose parsed url { protocol: null,
4898 verbose parsed url slashes: null,
4898 verbose parsed url auth: null,
4898 verbose parsed url host: null,
4898 verbose parsed url port: null,
4898 verbose parsed url hostname: null,
4898 verbose parsed url hash: null,
4898 verbose parsed url search: null,
4898 verbose parsed url query: null,
4898 verbose parsed url pathname: '~2.12.0',
4898 verbose parsed url path: '~2.12.0',
4898 verbose parsed url href: '~2.12.0' }
4899 verbose addNamed [ 'connect', '~2.12.0' ]
4900 verbose addNamed [ null, '>=2.12.0-0 <2.13.0-0' ]
4901 silly lockFile f7cd602c-connect-2-12-0 connect@~2.12.0
4902 verbose lock connect@~2.12.0 /Volumes/Storage/martincleaver/.npm/f7cd602c-connect-2-12-0.lock
4903 verbose cache add [ 'source-map@~0.1.31', null ]
4904 verbose cache add name=undefined spec="source-map@~0.1.31" args=["source-map@~0.1.31",null]
4905 verbose parsed url { protocol: null,
4905 verbose parsed url slashes: null,
4905 verbose parsed url auth: null,
4905 verbose parsed url host: null,
4905 verbose parsed url port: null,
4905 verbose parsed url hostname: null,
4905 verbose parsed url hash: null,
4905 verbose parsed url search: null,
4905 verbose parsed url query: null,
4905 verbose parsed url pathname: 'source-map@~0.1.31',
4905 verbose parsed url path: 'source-map@~0.1.31',
4905 verbose parsed url href: 'source-map@~0.1.31' }
4906 verbose cache add name="source-map" spec="~0.1.31" args=["source-map","~0.1.31"]
4907 verbose parsed url { protocol: null,
4907 verbose parsed url slashes: null,
4907 verbose parsed url auth: null,
4907 verbose parsed url host: null,
4907 verbose parsed url port: null,
4907 verbose parsed url hostname: null,
4907 verbose parsed url hash: null,
4907 verbose parsed url search: null,
4907 verbose parsed url query: null,
4907 verbose parsed url pathname: '~0.1.31',
4907 verbose parsed url path: '~0.1.31',
4907 verbose parsed url href: '~0.1.31' }
4908 verbose addNamed [ 'source-map', '~0.1.31' ]
4909 verbose addNamed [ null, '>=0.1.31-0 <0.2.0-0' ]
4910 silly lockFile 91bd5a85-source-map-0-1-31 source-map@~0.1.31
4911 verbose lock source-map@~0.1.31 /Volumes/Storage/martincleaver/.npm/91bd5a85-source-map-0-1-31.lock
4912 silly addNameRange { name: 'minimatch',
4912 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
4912 silly addNameRange hasData: false }
4913 silly lockFile 53ab9269-aver-npm-ctype-0-5-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ctype/0.5.2/package.tgz
4914 silly lockFile 53ab9269-aver-npm-ctype-0-5-2-package-tgz tar:///Volumes/Storage/martincleaver/.npm/ctype/0.5.2/package.tgz
4915 silly addNameRange { name: 'http-proxy',
4915 silly addNameRange range: '>=0.10.0-0 <0.11.0-0',
4915 silly addNameRange hasData: false }
4916 silly addNameRange { name: 'optimist', range: '>=0.6.0-0 <0.7.0-0', hasData: false }
4917 silly addNameRange { name: 'rimraf', range: '>=2.2.5-0 <2.3.0-0', hasData: false }
4918 verbose url raw http-proxy
4919 verbose url resolving [ 'https://registry.npmjs.org/', './http-proxy' ]
4920 verbose url resolved https://registry.npmjs.org/http-proxy
4921 info trying registry request attempt 1 at 19:41:57
4922 http GET https://registry.npmjs.org/http-proxy
4923 silly addNameRange { name: 'q', range: '>=0.9.7-0 <0.10.0-0', hasData: false }
4924 silly addNameRange { name: 'colors', range: '>=0.6.2-0 <0.7.0-0', hasData: false }
4925 silly addNameRange { name: 'log4js', range: '>=0.6.3-0 <0.7.0-0', hasData: false }
4926 silly addNameRange { name: 'lodash', range: '>=2.4.1-0 <2.5.0-0', hasData: false }
4927 silly addNameRange { name: 'mime', range: '>=1.2.11-0 <1.3.0-0', hasData: false }
4928 silly addNameRange { name: 'useragent',
4928 silly addNameRange range: '>=2.0.4-0 <2.1.0-0',
4928 silly addNameRange hasData: false }
4929 silly addNameRange { name: 'graceful-fs',
4929 silly addNameRange range: '>=2.0.1-0 <2.1.0-0',
4929 silly addNameRange hasData: false }
4930 silly addNameRange { name: 'source-map',
4930 silly addNameRange range: '>=0.1.31-0 <0.2.0-0',
4930 silly addNameRange hasData: false }
4931 silly addNameRange { name: 'connect',
4931 silly addNameRange range: '>=2.12.0-0 <2.13.0-0',
4931 silly addNameRange hasData: false }
4932 http 200 https://registry.npmjs.org/chokidar
4933 silly registry.get cb [ 200,
4933 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:58 GMT',
4933 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
4933 silly registry.get etag: '"2T2BCSYQPUIPB2R8TVD0J36EK"',
4933 silly registry.get 'content-type': 'application/json',
4933 silly registry.get 'cache-control': 'max-age=60',
4933 silly registry.get 'content-length': '33039',
4933 silly registry.get 'accept-ranges': 'bytes',
4933 silly registry.get via: '1.1 varnish',
4933 silly registry.get age: '230',
4933 silly registry.get 'x-served-by': 'cache-iad2135-IAD',
4933 silly registry.get 'x-cache': 'HIT',
4933 silly registry.get 'x-cache-hits': '2',
4933 silly registry.get 'x-timer': 'S1407886918.418188,VS0,VE0',
4933 silly registry.get vary: 'Accept',
4933 silly registry.get 'keep-alive': 'timeout=10, max=50',
4933 silly registry.get connection: 'Keep-Alive' } ]
4934 http 200 https://registry.npmjs.org/http-proxy
4935 silly registry.get cb [ 200,
4935 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:58 GMT',
4935 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
4935 silly registry.get etag: '"E2ZMZUZHWND7K85IT1FPDU5HB"',
4935 silly registry.get 'content-type': 'application/json',
4935 silly registry.get 'cache-control': 'max-age=60',
4935 silly registry.get 'content-length': '74949',
4935 silly registry.get 'accept-ranges': 'bytes',
4935 silly registry.get via: '1.1 varnish',
4935 silly registry.get age: '2230',
4935 silly registry.get 'x-served-by': 'cache-iad2129-IAD',
4935 silly registry.get 'x-cache': 'HIT',
4935 silly registry.get 'x-cache-hits': '3',
4935 silly registry.get 'x-timer': 'S1407886918.445022,VS0,VE0',
4935 silly registry.get vary: 'Accept',
4935 silly registry.get 'keep-alive': 'timeout=10, max=50',
4935 silly registry.get connection: 'Keep-Alive' } ]
4936 silly lockFile 039a8427-ncleaver-npm-ctype-0-5-2-package /Volumes/Storage/martincleaver/.npm/ctype/0.5.2/package
4937 verbose lock /Volumes/Storage/martincleaver/.npm/ctype/0.5.2/package /Volumes/Storage/martincleaver/.npm/039a8427-ncleaver-npm-ctype-0-5-2-package.lock
4938 verbose url raw useragent
4939 verbose url resolving [ 'https://registry.npmjs.org/', './useragent' ]
4940 verbose url resolved https://registry.npmjs.org/useragent
4941 info trying registry request attempt 1 at 19:41:58
4942 http GET https://registry.npmjs.org/useragent
4943 verbose registry.get glob not expired, no request
4944 silly addNameRange number 2 { name: 'glob', range: '>=3.2.7-0 <3.3.0-0', hasData: true }
4945 silly addNameRange versions [ 'glob',
4945 silly addNameRange [ '1.1.0',
4945 silly addNameRange '2.0.9',
4945 silly addNameRange '2.0.8',
4945 silly addNameRange '2.0.7',
4945 silly addNameRange '2.1.0',
4945 silly addNameRange '3.0.0',
4945 silly addNameRange '3.0.1',
4945 silly addNameRange '3.1.0',
4945 silly addNameRange '3.1.1',
4945 silly addNameRange '3.1.2',
4945 silly addNameRange '3.1.3',
4945 silly addNameRange '3.1.4',
4945 silly addNameRange '3.1.5',
4945 silly addNameRange '3.1.6',
4945 silly addNameRange '3.1.7',
4945 silly addNameRange '3.1.9',
4945 silly addNameRange '3.1.10',
4945 silly addNameRange '3.1.11',
4945 silly addNameRange '3.1.12',
4945 silly addNameRange '3.1.13',
4945 silly addNameRange '3.1.14',
4945 silly addNameRange '3.1.15',
4945 silly addNameRange '3.1.16',
4945 silly addNameRange '3.1.17',
4945 silly addNameRange '3.1.18',
4945 silly addNameRange '3.1.19',
4945 silly addNameRange '3.1.20',
4945 silly addNameRange '3.1.21',
4945 silly addNameRange '3.2.0',
4945 silly addNameRange '3.2.1',
4945 silly addNameRange '3.2.3',
4945 silly addNameRange '3.2.4',
4945 silly addNameRange '3.2.5',
4945 silly addNameRange '3.2.6',
4945 silly addNameRange '3.2.7',
4945 silly addNameRange '3.2.8',
4945 silly addNameRange '3.2.9',
4945 silly addNameRange '3.2.10',
4945 silly addNameRange '3.2.11',
4945 silly addNameRange '4.0.0',
4945 silly addNameRange '4.0.1',
4945 silly addNameRange '4.0.2',
4945 silly addNameRange '4.0.3',
4945 silly addNameRange '4.0.4',
4945 silly addNameRange '4.0.5' ] ]
4946 verbose addNamed [ 'glob', '3.2.11' ]
4947 verbose addNamed [ '3.2.11', '3.2.11' ]
4948 silly lockFile 3fffafa6-glob-3-2-11 glob@3.2.11
4949 verbose lock glob@3.2.11 /Volumes/Storage/martincleaver/.npm/3fffafa6-glob-3-2-11.lock
4950 verbose registry.get minimatch not expired, no request
4951 silly addNameRange number 2 { name: 'minimatch', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
4952 silly addNameRange versions [ 'minimatch',
4952 silly addNameRange [ '0.0.1',
4952 silly addNameRange '0.0.2',
4952 silly addNameRange '0.0.4',
4952 silly addNameRange '0.0.5',
4952 silly addNameRange '0.1.1',
4952 silly addNameRange '0.1.2',
4952 silly addNameRange '0.1.3',
4952 silly addNameRange '0.1.4',
4952 silly addNameRange '0.1.5',
4952 silly addNameRange '0.2.0',
4952 silly addNameRange '0.2.2',
4952 silly addNameRange '0.2.3',
4952 silly addNameRange '0.2.4',
4952 silly addNameRange '0.2.5',
4952 silly addNameRange '0.2.6',
4952 silly addNameRange '0.2.7',
4952 silly addNameRange '0.2.8',
4952 silly addNameRange '0.2.9',
4952 silly addNameRange '0.2.10',
4952 silly addNameRange '0.2.11',
4952 silly addNameRange '0.2.12',
4952 silly addNameRange '0.2.13',
4952 silly addNameRange '0.2.14',
4952 silly addNameRange '0.3.0',
4952 silly addNameRange '0.4.0',
4952 silly addNameRange '1.0.0' ] ]
4953 verbose addNamed [ 'minimatch', '0.2.14' ]
4954 verbose addNamed [ '0.2.14', '0.2.14' ]
4955 silly lockFile a72880d0-minimatch-0-2-14 minimatch@0.2.14
4956 verbose lock minimatch@0.2.14 /Volumes/Storage/martincleaver/.npm/a72880d0-minimatch-0-2-14.lock
4957 verbose registry.get rimraf not expired, no request
4958 silly addNameRange number 2 { name: 'rimraf', range: '>=2.2.5-0 <2.3.0-0', hasData: true }
4959 silly addNameRange versions [ 'rimraf',
4959 silly addNameRange [ '1.0.0',
4959 silly addNameRange '1.0.1',
4959 silly addNameRange '1.0.2',
4959 silly addNameRange '1.0.4',
4959 silly addNameRange '1.0.5',
4959 silly addNameRange '1.0.6',
4959 silly addNameRange '1.0.7',
4959 silly addNameRange '1.0.8',
4959 silly addNameRange '1.0.9',
4959 silly addNameRange '2.0.0',
4959 silly addNameRange '2.0.1',
4959 silly addNameRange '2.0.2',
4959 silly addNameRange '2.0.3',
4959 silly addNameRange '2.1.0',
4959 silly addNameRange '2.1.1',
4959 silly addNameRange '2.1.2',
4959 silly addNameRange '2.1.3',
4959 silly addNameRange '2.1.4',
4959 silly addNameRange '2.2.0',
4959 silly addNameRange '2.2.1',
4959 silly addNameRange '2.2.2',
4959 silly addNameRange '2.2.3',
4959 silly addNameRange '2.2.4',
4959 silly addNameRange '2.2.5',
4959 silly addNameRange '2.2.6',
4959 silly addNameRange '2.2.8' ] ]
4960 verbose addNamed [ 'rimraf', '2.2.8' ]
4961 verbose addNamed [ '2.2.8', '2.2.8' ]
4962 silly lockFile b87241a4-rimraf-2-2-8 rimraf@2.2.8
4963 verbose lock rimraf@2.2.8 /Volumes/Storage/martincleaver/.npm/b87241a4-rimraf-2-2-8.lock
4964 verbose registry.get colors not expired, no request
4965 silly addNameRange number 2 { name: 'colors', range: '>=0.6.2-0 <0.7.0-0', hasData: true }
4966 silly addNameRange versions [ 'colors',
4966 silly addNameRange [ '0.3.0', '0.5.0', '0.5.1', '0.6.0', '0.6.0-1', '0.6.1', '0.6.2' ] ]
4967 verbose addNamed [ 'colors', '0.6.2' ]
4968 verbose addNamed [ '0.6.2', '0.6.2' ]
4969 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
4970 verbose lock colors@0.6.2 /Volumes/Storage/martincleaver/.npm/1ce149d5-colors-0-6-2.lock
4971 verbose registry.get lodash not expired, no request
4972 silly addNameRange number 2 { name: 'lodash', range: '>=2.4.1-0 <2.5.0-0', hasData: true }
4973 silly addNameRange versions [ 'lodash',
4973 silly addNameRange [ '0.1.0',
4973 silly addNameRange '0.2.0',
4973 silly addNameRange '0.2.1',
4973 silly addNameRange '0.2.2',
4973 silly addNameRange '0.3.0',
4973 silly addNameRange '0.3.1',
4973 silly addNameRange '0.3.2',
4973 silly addNameRange '0.4.0',
4973 silly addNameRange '0.4.1',
4973 silly addNameRange '0.4.2',
4973 silly addNameRange '0.5.0-rc.1',
4973 silly addNameRange '0.5.0',
4973 silly addNameRange '0.5.1',
4973 silly addNameRange '0.5.2',
4973 silly addNameRange '0.6.0',
4973 silly addNameRange '0.6.1',
4973 silly addNameRange '0.7.0',
4973 silly addNameRange '0.8.0',
4973 silly addNameRange '0.8.1',
4973 silly addNameRange '0.8.2',
4973 silly addNameRange '0.9.0',
4973 silly addNameRange '0.9.1',
4973 silly addNameRange '0.9.2',
4973 silly addNameRange '0.10.0',
4973 silly addNameRange '1.0.0-rc.1',
4973 silly addNameRange '1.0.0-rc.2',
4973 silly addNameRange '1.0.0-rc.3',
4973 silly addNameRange '1.0.0',
4973 silly addNameRange '1.0.1',
4973 silly addNameRange '1.1.0',
4973 silly addNameRange '1.1.1',
4973 silly addNameRange '1.2.0',
4973 silly addNameRange '1.2.1',
4973 silly addNameRange '1.3.0',
4973 silly addNameRange '1.3.1',
4973 silly addNameRange '2.0.0',
4973 silly addNameRange '2.1.0',
4973 silly addNameRange '2.2.0',
4973 silly addNameRange '2.2.1',
4973 silly addNameRange '2.3.0',
4973 silly addNameRange '2.4.0',
4973 silly addNameRange '2.4.1' ] ]
4974 verbose addNamed [ 'lodash', '2.4.1' ]
4975 verbose addNamed [ '2.4.1', '2.4.1' ]
4976 silly lockFile 8502be2a-lodash-2-4-1 lodash@2.4.1
4977 verbose lock lodash@2.4.1 /Volumes/Storage/martincleaver/.npm/8502be2a-lodash-2-4-1.lock
4978 verbose registry.get mime not expired, no request
4979 silly addNameRange number 2 { name: 'mime', range: '>=1.2.11-0 <1.3.0-0', hasData: true }
4980 silly addNameRange versions [ 'mime',
4980 silly addNameRange [ '1.0.0',
4980 silly addNameRange '1.1.0',
4980 silly addNameRange '1.2.1',
4980 silly addNameRange '1.2.2',
4980 silly addNameRange '1.2.3',
4980 silly addNameRange '1.2.4',
4980 silly addNameRange '1.2.5',
4980 silly addNameRange '1.2.6',
4980 silly addNameRange '1.2.7',
4980 silly addNameRange '1.2.8',
4980 silly addNameRange '1.2.9',
4980 silly addNameRange '1.2.10',
4980 silly addNameRange '1.2.11' ] ]
4981 verbose addNamed [ 'mime', '1.2.11' ]
4982 verbose addNamed [ '1.2.11', '1.2.11' ]
4983 silly lockFile c4b0741f-mime-1-2-11 mime@1.2.11
4984 verbose lock mime@1.2.11 /Volumes/Storage/martincleaver/.npm/c4b0741f-mime-1-2-11.lock
4985 verbose url raw optimist
4986 verbose url resolving [ 'https://registry.npmjs.org/', './optimist' ]
4987 verbose url resolved https://registry.npmjs.org/optimist
4988 info trying registry request attempt 1 at 19:41:58
4989 verbose etag "2PCLK7LSR31LE5IWKN2IJPRGB"
4990 http GET https://registry.npmjs.org/optimist
4991 http 200 https://registry.npmjs.org/useragent
4992 silly registry.get cb [ 200,
4992 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:58 GMT',
4992 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
4992 silly registry.get etag: '"6GQPARZ8XHBYQ7FUQFX6II6E3"',
4992 silly registry.get 'content-type': 'application/json',
4992 silly registry.get 'cache-control': 'max-age=60',
4992 silly registry.get 'content-length': '39350',
4992 silly registry.get 'accept-ranges': 'bytes',
4992 silly registry.get via: '1.1 varnish',
4992 silly registry.get age: '279884',
4992 silly registry.get 'x-served-by': 'cache-iad2132-IAD',
4992 silly registry.get 'x-cache': 'HIT',
4992 silly registry.get 'x-cache-hits': '1',
4992 silly registry.get 'x-timer': 'S1407886918.796581,VS0,VE0',
4992 silly registry.get vary: 'Accept',
4992 silly registry.get 'keep-alive': 'timeout=10, max=50',
4992 silly registry.get connection: 'Keep-Alive' } ]
4993 http 200 https://registry.npmjs.org/di
4994 silly registry.get cb [ 200,
4994 silly registry.get { date: 'Tue, 12 Aug 2014 23:41:58 GMT',
4994 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R14B04)',
4994 silly registry.get etag: '"BA4F2RCBN202UYLA22QOEBTAM"',
4994 silly registry.get 'content-type': 'application/json',
4994 silly registry.get 'cache-control': 'max-age=60',
4994 silly registry.get 'content-length': '17464',
4994 silly registry.get 'accept-ranges': 'bytes',
4994 silly registry.get via: '1.1 varnish',
4994 silly registry.get age: '62',
4994 silly registry.get 'x-served-by': 'cache-iad2135-IAD',
4994 silly registry.get 'x-cache': 'HIT',
4994 silly registry.get 'x-cache-hits': '1',
4994 silly registry.get 'x-timer': 'S1407886918.423509,VS0,VE406',
4994 silly registry.get vary: 'Accept',
4994 silly registry.get 'keep-alive': 'timeout=10, max=50',
4994 silly registry.get connection: 'Keep-Alive' } ]
4995 verbose url raw socket.io
4996 verbose url resolving [ 'https://registry.npmjs.org/', './socket.io' ]
4997 verbose url resolved https://registry.npmjs.org/socket.io
4998 info trying registry request attempt 1 at 19:41:58
4999 verbose etag "ET2X0YFH6CAL7WWS9EW4FN2ER"
5000 http GET https://registry.npmjs.org/socket.io
5001 verbose url raw log4js
5002 verbose url resolving [ 'https://registry.npmjs.org/', './log4js' ]
5003 verbose url resolved https://registry.npmjs.org/log4js
5004 info trying registry request attempt 1 at 19:41:58
5005 verbose etag "87Z51EGS9HGTAKN7VCU8FZI5R"
5006 http GET https://registry.npmjs.org/log4js
5007 verbose registry.get connect not expired, no request
5008 silly addNameRange number 2 { name: 'connect', range: '>=2.12.0-0 <2.13.0-0', hasData: true }
5009 silly addNameRange versions [ 'connect',
5009 silly addNameRange [ '0.0.1',
5009 silly addNameRange '0.0.2',
5009 silly addNameRange '0.0.3',
5009 silly addNameRange '0.0.4',
5009 silly addNameRange '0.0.5',
5009 silly addNameRange '0.0.6',
5009 silly addNameRange '0.1.0',
5009 silly addNameRange '0.2.0',
5009 silly addNameRange '0.2.1',
5009 silly addNameRange '0.2.2',
5009 silly addNameRange '0.2.3',
5009 silly addNameRange '0.2.4',
5009 silly addNameRange '0.2.5',
5009 silly addNameRange '0.2.6',
5009 silly addNameRange '0.2.7',
5009 silly addNameRange '0.3.0',
5009 silly addNameRange '0.4.0',
5009 silly addNameRange '0.5.0',
5009 silly addNameRange '0.5.1',
5009 silly addNameRange '0.5.2',
5009 silly addNameRange '0.5.3',
5009 silly addNameRange '0.5.4',
5009 silly addNameRange '0.5.5',
5009 silly addNameRange '0.5.6',
5009 silly addNameRange '0.5.7',
5009 silly addNameRange '0.5.8',
5009 silly addNameRange '0.5.9',
5009 silly addNameRange '0.5.10',
5009 silly addNameRange '1.0.0',
5009 silly addNameRange '1.0.1',
5009 silly addNameRange '1.0.2',
5009 silly addNameRange '1.0.3',
5009 silly addNameRange '1.0.4',
5009 silly addNameRange '1.0.5',
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment